gladvn 0.2.31 → 0.2.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cli.js +29 -7
- package/package.json +1 -1
package/bin/cli.js
CHANGED
|
@@ -456,23 +456,45 @@ async function main() {
|
|
|
456
456
|
|
|
457
457
|
if (tsconfigPath) {
|
|
458
458
|
let content = fs.readFileSync(tsconfigPath, 'utf8');
|
|
459
|
-
|
|
459
|
+
let modified = false;
|
|
460
|
+
|
|
461
|
+
// 3a. Ensure baseUrl is set (required for paths to work)
|
|
462
|
+
if (!content.includes('"baseUrl"')) {
|
|
463
|
+
if (content.match(/"compilerOptions"\s*:\s*\{/)) {
|
|
464
|
+
content = content.replace(/"compilerOptions"\s*:\s*\{/, `"compilerOptions": {\n "baseUrl": ".",`);
|
|
465
|
+
modified = true;
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
// 3b. Add path aliases: both @gladvn (barrel) and @gladvn/* (deep imports)
|
|
470
|
+
if (!content.includes('@gladvn')) {
|
|
471
|
+
const pathsBlock = `"paths": {\n "@gladvn": ["./${userDest}/index.ts"],\n "@gladvn/*": ["./${userDest}/*"]\n }`;
|
|
460
472
|
const pathsEmptyRegex = /"paths"\s*:\s*\{\s*\}/;
|
|
461
473
|
const compilerOptionsEmptyRegex = /"compilerOptions"\s*:\s*\{\s*\}/;
|
|
462
474
|
|
|
463
475
|
if (pathsEmptyRegex.test(content)) {
|
|
464
|
-
content = content.replace(pathsEmptyRegex,
|
|
476
|
+
content = content.replace(pathsEmptyRegex, pathsBlock);
|
|
465
477
|
} else if (content.match(/"paths"\s*:\s*\{/)) {
|
|
466
|
-
content = content.replace(/"paths"\s*:\s*\{/, `"paths": {\n "@gladvn/*": ["./${userDest}/*"],`);
|
|
478
|
+
content = content.replace(/"paths"\s*:\s*\{/, `"paths": {\n "@gladvn": ["./${userDest}/index.ts"],\n "@gladvn/*": ["./${userDest}/*"],`);
|
|
467
479
|
} else if (compilerOptionsEmptyRegex.test(content)) {
|
|
468
|
-
content = content.replace(compilerOptionsEmptyRegex, `"compilerOptions": {\n
|
|
480
|
+
content = content.replace(compilerOptionsEmptyRegex, `"compilerOptions": {\n ${pathsBlock}\n }`);
|
|
469
481
|
} else if (content.match(/"compilerOptions"\s*:\s*\{/)) {
|
|
470
|
-
content = content.replace(/"compilerOptions"\s*:\s*\{/, `"compilerOptions": {\n
|
|
482
|
+
content = content.replace(/"compilerOptions"\s*:\s*\{/, `"compilerOptions": {\n ${pathsBlock},`);
|
|
471
483
|
} else if (!content.includes('"compilerOptions"')) {
|
|
472
|
-
content = content.replace(/\{/, `{\n "compilerOptions": {\n
|
|
484
|
+
content = content.replace(/\{/, `{\n "compilerOptions": {\n ${pathsBlock}\n },`);
|
|
473
485
|
}
|
|
486
|
+
modified = true;
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
// 3c. Add destination folder to "include" so TS can see files outside src/
|
|
490
|
+
if (content.includes('"include"') && !content.includes(`"${userDest}"`)) {
|
|
491
|
+
content = content.replace(/"include"\s*:\s*\[/, `"include": [\n "${userDest}",`);
|
|
492
|
+
modified = true;
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
if (modified) {
|
|
474
496
|
fs.writeFileSync(tsconfigPath, content);
|
|
475
|
-
console.log(`\x1b[32m✔ Configured path alias @gladvn
|
|
497
|
+
console.log(`\x1b[32m✔ Configured path alias @gladvn in ${path.basename(tsconfigPath)}\x1b[0m`);
|
|
476
498
|
}
|
|
477
499
|
}
|
|
478
500
|
|
package/package.json
CHANGED