fixup: remove fix-imports

This commit is contained in:
Sainan 2025-08-27 22:35:23 +02:00
parent f13de810e5
commit 6771a129f5
3 changed files with 1 additions and 78 deletions

View File

@ -19,7 +19,6 @@ jobs:
- run: npm run lint:ci
- run: npm run prettier
- run: npm run update-translations
- run: npm run fix-imports
- name: Fail if there are uncommitted changes
run: |
if [[ -n "$(git status --porcelain)" ]]; then

View File

@ -22,8 +22,7 @@
"lint:fix": "eslint --fix --ext .ts .",
"prettier": "prettier --write .",
"update-translations": "cd scripts && node update-translations.cjs",
"fix-imports": "cd scripts && node fix-imports.cjs",
"fix": "npm run update-translations && npm run fix-imports && npm run lint:fix"
"fix": "npm run update-translations && npm run lint:fix"
},
"license": "GNU",
"type": "module",

View File

@ -1,75 +0,0 @@
/* eslint-disable */
const fs = require("fs");
const path = require("path");
const root = path.join(process.cwd(), "..");
function listFiles(dir) {
const entries = fs.readdirSync(dir, { withFileTypes: true });
let results = [];
for (const entry of entries) {
const fullPath = path.join(dir, entry.name);
if (entry.isDirectory()) {
results = results.concat(listFiles(fullPath));
} else {
results.push(fullPath);
}
}
return results;
}
const files = listFiles(path.join(root, "src"));
for (const file of files) {
let content;
try {
content = fs.readFileSync(file, "utf8");
} catch (e) {
continue;
}
const dir = path.dirname(file);
const fixedContent = content.replaceAll(/from "([^"]+)";/g, (sub, importPath) => {
if (importPath.startsWith("@/") || importPath.startsWith(".")) {
const base = importPath.startsWith("@/")
? path.join(root, importPath.slice(2))
: path.resolve(dir, importPath);
let target = base;
if (fs.existsSync(target)) {
const stat = fs.statSync(target);
if (stat.isDirectory()) {
if (fs.existsSync(path.join(target, "index.ts"))) {
target = path.join(target, "index.ts");
} else {
return sub;
}
} else {
const ext = path.extname(target);
if (!ext) {
target += ".ts";
}
}
} else if (fs.existsSync(target + ".ts")) {
target += ".ts";
} else if (fs.existsSync(path.join(target, "index.ts"))) {
target = path.join(target, "index.ts");
} else {
return sub;
}
let relative = path.relative(dir, target).replace(/\\/g, "/");
if (!path.extname(relative)) {
relative += ".ts";
}
if (!relative.startsWith(".")) {
relative = "./" + relative;
}
console.log(`${importPath} -> ${relative}`);
return sub.split(importPath).join(relative);
}
return sub;
});
if (content != fixedContent) {
fs.writeFileSync(file, fixedContent, "utf8");
}
}