d3ro-voice/apps/desktop/fix_imports.js
Yun Chan 708e20f747
Some checks failed
CI Pipeline / Code Quality & Typecheck (push) Waiting to run
CI Pipeline / Test Suite (macos-latest) (push) Blocked by required conditions
CI Pipeline / Test Suite (ubuntu-latest) (push) Blocked by required conditions
CI Pipeline / Test Suite (windows-latest) (push) Blocked by required conditions
CI Pipeline / Build Validation (admin) (push) Blocked by required conditions
CI Pipeline / Build Validation (desktop) (push) Blocked by required conditions
Deploy Landing Page / deploy (push) Blocked by required conditions
Deploy Landing Page / build (push) Waiting to run
Release & Packaging Pipeline / Build & Publish Admin Docker Image (push) Failing after 8s
Release & Code Signing CA Pipeline / build-and-sign-windows (push) Failing after 1m51s
Build macOS / Build & Package (macOS) (push) Failing after 4s
Build macOS / Build & Package (macOS)-1 (push) Failing after 5s
Release & Code Signing CA Pipeline / build-and-sign-macos (push) Failing after 3s
Release & Packaging Pipeline / Package macOS Desktop App (push) Failing after 4s
Release & Packaging Pipeline / Package Windows Desktop App (push) Failing after 2m28s
Release & Packaging Pipeline / Publish Official GitHub Release (push) Has been skipped
feat: complete release preparation, 10+ ad mediation, CI/CD, and docker deployment
2026-08-20 11:12:05 +09:00

45 lines
1.4 KiB
JavaScript

const fs = require('fs');
const path = require('path');
function walk(dir) {
let results = [];
const list = fs.readdirSync(dir);
list.forEach(function(file) {
file = path.join(dir, file);
const stat = fs.statSync(file);
if (stat && stat.isDirectory()) {
results = results.concat(walk(file));
} else {
if (file.endsWith('.tsx') || file.endsWith('.ts')) {
results.push(file);
}
}
});
return results;
}
const files = walk(path.join(__dirname, 'src/renderer'));
let count = 0;
files.forEach(file => {
let content = fs.readFileSync(file, 'utf8');
if (content.includes('d3roRadius')) {
// Check if it's actually imported
const importRegex = /import\s+\{([^}]*)\}\s+from\s+['"]@d3ro\/ui\/theme['"]/;
const match = importRegex.exec(content);
if (match && !match[1].includes('d3roRadius')) {
content = content.replace(importRegex, (fullMatch, p1) => {
return import {, d3roRadius } from '@d3ro/ui/theme';
});
fs.writeFileSync(file, content, 'utf8');
console.log('Fixed', file);
count++;
} else if (!match) {
// missing import entirely
content = import { d3roRadius } from '@d3ro/ui/theme';\n + content;
fs.writeFileSync(file, content, 'utf8');
console.log('Added new import to', file);
count++;
}
}
});
console.log('Total fixed:', count);