Skip to content

Commit c057e74

Browse files
committed
ref: disamibugate module name from file path and basename
1 parent 7c1c0c8 commit c057e74

File tree

1 file changed

+23
-23
lines changed

1 file changed

+23
-23
lines changed

bin/jswt-init.js

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,13 @@ async function main() {
2727
process.argv.includes("-g") || process.argv.includes("--global");
2828

2929
let pkg = await readPackageJson();
30-
let pkgName = pkg.name;
31-
if (pkgName.includes("/")) {
30+
let mainBasename = pkg.name;
31+
if (mainBasename.includes("/")) {
3232
let index = 1;
33-
index += pkgName.lastIndexOf("/");
34-
pkgName = pkgName.slice(index);
33+
index += mainBasename.lastIndexOf("/");
34+
mainBasename = mainBasename.slice(index);
3535
}
36+
let moduleName = toTitleCase(mainBasename);
3637

3738
// await Fs.mkdir("./docs", { recursive: true });
3839
// let fh = await Fs.open("./docs/.gitkeep", "a");
@@ -81,9 +82,9 @@ async function main() {
8182
"// auto-generated by `jswt reexport`",
8283
"// DO NOT EDIT",
8384
"",
84-
`import ${pkgName} from "${prefix}/${pkgName}.js";`,
85+
`import ${moduleName} from "${prefix}/${mainBasename}.js";`,
8586
"",
86-
`export default ${pkgName};`,
87+
`export default ${moduleName};`,
8788
"",
8889
].join("\n"),
8990
);
@@ -95,7 +96,7 @@ async function main() {
9596
jsconfig = await createJsConfig(
9697
pkg,
9798
tsconfigTxt,
98-
`${prefix}/${pkgName}.js`,
99+
`${prefix}/${mainBasename}.js`,
99100
);
100101
}
101102

@@ -215,23 +216,22 @@ async function main() {
215216

216217
let indexNames = ["index.js", "./index.js"];
217218
let mainIsIndex = indexNames.includes(pkg.main);
218-
let mainPath = `${prefix}/${pkgName}.js`;
219+
let mainFilePath = `${prefix}/${mainBasename}.js`;
219220
if (!mainIsIndex) {
220221
// ensures that filepath has leading './'
221-
mainPath = Path.relative(".", pkg.main);
222-
mainPath = `./${mainPath}`;
222+
mainFilePath = Path.relative(".", pkg.main);
223+
mainFilePath = `./${mainFilePath}`;
223224
}
224225

225226
{
226-
let mainName = toTitleCase(pkgName);
227227
await initFile(
228-
mainPath,
228+
mainFilePath,
229229
[
230-
`let ${mainName} = {};`,
230+
`let ${moduleName} = {};`,
231231
"",
232-
`${mainName}.answer = 42;`,
232+
`${moduleName}.answer = 42;`,
233233
"",
234-
`export default ${mainName};`,
234+
`export default ${moduleName};`,
235235
"",
236236
].join("\n"),
237237
);
@@ -240,7 +240,7 @@ async function main() {
240240
let hasIndex = await fileExists("./index.js");
241241
if (!hasIndex) {
242242
if (mainIsIndex) {
243-
let allArgs = ["pkg", "set", `main=${mainPath}`];
243+
let allArgs = ["pkg", "set", `main=${mainFilePath}`];
244244
await exec("npm", allArgs);
245245
await sortAndWritePackageJson();
246246
}
@@ -286,7 +286,7 @@ async function main() {
286286
let allArgs = [
287287
"pkg",
288288
"set",
289-
`files[]=${mainPath}`,
289+
`files[]=${mainFilePath}`,
290290
`files[]=./bin/*.js`,
291291
`files[]=./lib/*.js`,
292292
`files[]=./tests/*.js`,
@@ -317,7 +317,7 @@ async function main() {
317317
"pkg",
318318
"set",
319319
"type=module",
320-
`exports[.]=${mainPath}`,
320+
`exports[.]=${mainFilePath}`,
321321
`exports[./*]=./*`,
322322
];
323323
await exec("npm", allArgs);
@@ -333,7 +333,7 @@ async function main() {
333333
"pkg",
334334
"set",
335335
"type=module",
336-
`imports[${pkg.name}]=${mainPath}`,
336+
`imports[${pkg.name}]=${mainFilePath}`,
337337
];
338338
await exec("npm", allArgs);
339339
await sortAndWritePackageJson();
@@ -344,7 +344,7 @@ async function main() {
344344
`<script type="importmap">`,
345345
` {`,
346346
` "imports": {`,
347-
` "${pkg.name}": "${mainPath}",`,
347+
` "${pkg.name}": "${mainFilePath}",`,
348348
` "${pkg.name}/": "./"`,
349349
` }`,
350350
` }`,
@@ -628,10 +628,10 @@ async function getLatest20xx() {
628628
* @param {Object} pkg
629629
* @param {String} pkg.name
630630
* @param {String} tsconfigTxt
631-
* @param {String} mainPath
631+
* @param {String} mainFilePath
632632
* @returns
633633
*/
634-
async function createJsConfig(pkg, tsconfigTxt, mainPath) {
634+
async function createJsConfig(pkg, tsconfigTxt, mainFilePath) {
635635
if (!tsconfigTxt.includes(`"include":`)) {
636636
let includables = [
637637
"*.js",
@@ -650,7 +650,7 @@ async function createJsConfig(pkg, tsconfigTxt, mainPath) {
650650

651651
{
652652
let lines = [
653-
` "${pkg.name}": ["${mainPath}"]`,
653+
` "${pkg.name}": ["${mainFilePath}"]`,
654654
` "${pkg.name}/*": ["./*"]`,
655655
];
656656
let str = lines.join(`,\n`);

0 commit comments

Comments
 (0)