@form8ion/javascript 11.2.1 → 11.3.1
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/lib/index.js +146 -122
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +146 -122
- package/lib/index.mjs.map +1 -1
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -503,7 +503,7 @@ async function scaffoldPackageType ({
|
|
|
503
503
|
]);
|
|
504
504
|
}
|
|
505
505
|
|
|
506
|
-
async function
|
|
506
|
+
async function liftPublishable ({projectRoot}) {
|
|
507
507
|
await javascriptCore.mergeIntoExistingPackageJson({projectRoot, config: {publishConfig: {provenance: true}}});
|
|
508
508
|
|
|
509
509
|
return {
|
|
@@ -512,15 +512,158 @@ async function lifter$1 ({projectRoot}) {
|
|
|
512
512
|
};
|
|
513
513
|
}
|
|
514
514
|
|
|
515
|
-
|
|
515
|
+
function liftPackage$1 ({projectRoot}) {
|
|
516
|
+
return liftPublishable({projectRoot});
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
async function isPackage ({projectRoot}) {
|
|
516
520
|
const {exports, publishConfig, bin} = JSON.parse(await node_fs.promises.readFile(`${projectRoot}/package.json`, 'utf-8'));
|
|
517
521
|
|
|
518
522
|
return !!exports || (!!publishConfig && !bin);
|
|
519
523
|
}
|
|
520
524
|
|
|
525
|
+
const defaultBuildDirectory$1 = 'public';
|
|
526
|
+
|
|
527
|
+
async function scaffoldApplicationType ({projectRoot}) {
|
|
528
|
+
cliMessages.info('Scaffolding Application Details');
|
|
529
|
+
|
|
530
|
+
await javascriptCore.mergeIntoExistingPackageJson({projectRoot, config: {private: true}});
|
|
531
|
+
|
|
532
|
+
const buildDirectory = defaultBuildDirectory$1;
|
|
533
|
+
|
|
534
|
+
return {
|
|
535
|
+
scripts: {
|
|
536
|
+
clean: `rimraf ./${buildDirectory}`,
|
|
537
|
+
start: `node ./${buildDirectory}/index.js`,
|
|
538
|
+
prebuild: 'run-s clean'
|
|
539
|
+
},
|
|
540
|
+
dependencies: [],
|
|
541
|
+
devDependencies: ['rimraf'],
|
|
542
|
+
vcsIgnore: {files: ['.env'], directories: [`/${buildDirectory}/`]},
|
|
543
|
+
buildDirectory,
|
|
544
|
+
nextSteps: []
|
|
545
|
+
};
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
async function scaffoldMonorepoType ({projectRoot}) {
|
|
549
|
+
cliMessages.info('Scaffolding Monorepo Details');
|
|
550
|
+
|
|
551
|
+
await javascriptCore.mergeIntoExistingPackageJson({projectRoot, config: {private: true}});
|
|
552
|
+
|
|
553
|
+
return {
|
|
554
|
+
nextSteps: [{
|
|
555
|
+
summary: 'Add packages to your new monorepo',
|
|
556
|
+
description: 'Leverage [@form8ion/add-package-to-monorepo](https://npm.im/@form8ion/add-package-to-monorepo)'
|
|
557
|
+
+ ' to scaffold new packages into your new monorepo'
|
|
558
|
+
}]
|
|
559
|
+
};
|
|
560
|
+
}
|
|
561
|
+
|
|
562
|
+
const defaultBuildDirectory = 'bin';
|
|
563
|
+
|
|
564
|
+
async function scaffoldCliType ({packageName, visibility, projectRoot, dialect, publishRegistry}) {
|
|
565
|
+
const [rollupResults] = await Promise.all([
|
|
566
|
+
rollup.scaffold({projectRoot, dialect, projectType: javascriptCore.projectTypes.CLI}),
|
|
567
|
+
javascriptCore.mergeIntoExistingPackageJson({
|
|
568
|
+
projectRoot,
|
|
569
|
+
config: {
|
|
570
|
+
bin: {},
|
|
571
|
+
files: [`${defaultBuildDirectory}/`],
|
|
572
|
+
publishConfig: {
|
|
573
|
+
access: 'Public' === visibility ? 'public' : 'restricted',
|
|
574
|
+
...publishRegistry && {registry: publishRegistry}
|
|
575
|
+
}
|
|
576
|
+
}
|
|
577
|
+
})
|
|
578
|
+
]);
|
|
579
|
+
|
|
580
|
+
return deepmerge__default["default"](
|
|
581
|
+
rollupResults,
|
|
582
|
+
{
|
|
583
|
+
scripts: {
|
|
584
|
+
clean: `rimraf ./${defaultBuildDirectory}`,
|
|
585
|
+
prebuild: 'run-s clean',
|
|
586
|
+
build: 'npm-run-all --print-label --parallel build:*',
|
|
587
|
+
prepack: 'run-s build'
|
|
588
|
+
},
|
|
589
|
+
dependencies: ['update-notifier'],
|
|
590
|
+
devDependencies: ['rimraf'],
|
|
591
|
+
vcsIgnore: {files: [], directories: [`/${defaultBuildDirectory}/`]},
|
|
592
|
+
buildDirectory: defaultBuildDirectory,
|
|
593
|
+
badges: defineBadges(packageName, visibility),
|
|
594
|
+
nextSteps: []
|
|
595
|
+
}
|
|
596
|
+
);
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
async function isCli ({projectRoot}) {
|
|
600
|
+
const {bin} = JSON.parse(await node_fs.promises.readFile(`${projectRoot}/package.json`, 'utf-8'));
|
|
601
|
+
|
|
602
|
+
return !!bin;
|
|
603
|
+
}
|
|
604
|
+
|
|
605
|
+
function liftCli ({projectRoot}) {
|
|
606
|
+
return liftPublishable({projectRoot});
|
|
607
|
+
}
|
|
608
|
+
|
|
609
|
+
async function scaffoldProjectType ({
|
|
610
|
+
projectType,
|
|
611
|
+
projectRoot,
|
|
612
|
+
projectName,
|
|
613
|
+
packageName,
|
|
614
|
+
packageManager,
|
|
615
|
+
visibility,
|
|
616
|
+
packageBundlers,
|
|
617
|
+
scope,
|
|
618
|
+
vcs,
|
|
619
|
+
decisions,
|
|
620
|
+
dialect,
|
|
621
|
+
provideExample,
|
|
622
|
+
publishRegistry
|
|
623
|
+
}) {
|
|
624
|
+
switch (projectType) {
|
|
625
|
+
case javascriptCore.projectTypes.PACKAGE:
|
|
626
|
+
return scaffoldPackageType({
|
|
627
|
+
projectRoot,
|
|
628
|
+
projectName,
|
|
629
|
+
packageName,
|
|
630
|
+
packageManager,
|
|
631
|
+
visibility,
|
|
632
|
+
scope,
|
|
633
|
+
packageBundlers,
|
|
634
|
+
vcs,
|
|
635
|
+
decisions,
|
|
636
|
+
dialect,
|
|
637
|
+
provideExample,
|
|
638
|
+
publishRegistry
|
|
639
|
+
});
|
|
640
|
+
case javascriptCore.projectTypes.APPLICATION:
|
|
641
|
+
return scaffoldApplicationType({projectRoot});
|
|
642
|
+
case javascriptCore.projectTypes.CLI:
|
|
643
|
+
return scaffoldCliType({packageName, visibility, projectRoot, dialect, publishRegistry});
|
|
644
|
+
case javascriptCore.projectTypes.MONOREPO:
|
|
645
|
+
return scaffoldMonorepoType({projectRoot});
|
|
646
|
+
case 'Other':
|
|
647
|
+
return {};
|
|
648
|
+
default:
|
|
649
|
+
throw new Error(`The project-type of ${projectType} is invalid`);
|
|
650
|
+
}
|
|
651
|
+
}
|
|
652
|
+
|
|
653
|
+
async function lifter$1 ({projectRoot}) {
|
|
654
|
+
if (await isPackage({projectRoot})) return liftPackage$1({projectRoot});
|
|
655
|
+
if (await isCli({projectRoot})) return liftCli({projectRoot});
|
|
656
|
+
|
|
657
|
+
return {};
|
|
658
|
+
}
|
|
659
|
+
|
|
660
|
+
async function tester$1 ({projectRoot}) {
|
|
661
|
+
return await isPackage({projectRoot}) || isCli({projectRoot});
|
|
662
|
+
}
|
|
663
|
+
|
|
521
664
|
var projectTypes = /*#__PURE__*/Object.freeze({
|
|
522
665
|
__proto__: null,
|
|
523
|
-
scaffold:
|
|
666
|
+
scaffold: scaffoldProjectType,
|
|
524
667
|
lift: lifter$1,
|
|
525
668
|
test: tester$1
|
|
526
669
|
});
|
|
@@ -1257,125 +1400,6 @@ function buildPackageName (projectName, scope) {
|
|
|
1257
1400
|
throw new Error(`The package name ${name} is invalid:${os.EOL}\t* ${errors.join(`${os.EOL}\t* `)}`);
|
|
1258
1401
|
}
|
|
1259
1402
|
|
|
1260
|
-
const defaultBuildDirectory$1 = 'public';
|
|
1261
|
-
|
|
1262
|
-
async function scaffoldApplicationType ({projectRoot}) {
|
|
1263
|
-
cliMessages.info('Scaffolding Application Details');
|
|
1264
|
-
|
|
1265
|
-
await javascriptCore.mergeIntoExistingPackageJson({projectRoot, config: {private: true}});
|
|
1266
|
-
|
|
1267
|
-
const buildDirectory = defaultBuildDirectory$1;
|
|
1268
|
-
|
|
1269
|
-
return {
|
|
1270
|
-
scripts: {
|
|
1271
|
-
clean: `rimraf ./${buildDirectory}`,
|
|
1272
|
-
start: `node ./${buildDirectory}/index.js`,
|
|
1273
|
-
prebuild: 'run-s clean'
|
|
1274
|
-
},
|
|
1275
|
-
dependencies: [],
|
|
1276
|
-
devDependencies: ['rimraf'],
|
|
1277
|
-
vcsIgnore: {files: ['.env'], directories: [`/${buildDirectory}/`]},
|
|
1278
|
-
buildDirectory,
|
|
1279
|
-
nextSteps: []
|
|
1280
|
-
};
|
|
1281
|
-
}
|
|
1282
|
-
|
|
1283
|
-
async function scaffoldMonorepoType ({projectRoot}) {
|
|
1284
|
-
cliMessages.info('Scaffolding Monorepo Details');
|
|
1285
|
-
|
|
1286
|
-
await javascriptCore.mergeIntoExistingPackageJson({projectRoot, config: {private: true}});
|
|
1287
|
-
|
|
1288
|
-
return {
|
|
1289
|
-
nextSteps: [{
|
|
1290
|
-
summary: 'Add packages to your new monorepo',
|
|
1291
|
-
description: 'Leverage [@form8ion/add-package-to-monorepo](https://npm.im/@form8ion/add-package-to-monorepo)'
|
|
1292
|
-
+ ' to scaffold new packages into your new monorepo'
|
|
1293
|
-
}]
|
|
1294
|
-
};
|
|
1295
|
-
}
|
|
1296
|
-
|
|
1297
|
-
const defaultBuildDirectory = 'bin';
|
|
1298
|
-
|
|
1299
|
-
async function scaffoldCliType ({packageName, visibility, projectRoot, dialect, publishRegistry}) {
|
|
1300
|
-
const [rollupResults] = await Promise.all([
|
|
1301
|
-
rollup.scaffold({projectRoot, dialect, projectType: javascriptCore.projectTypes.CLI}),
|
|
1302
|
-
javascriptCore.mergeIntoExistingPackageJson({
|
|
1303
|
-
projectRoot,
|
|
1304
|
-
config: {
|
|
1305
|
-
bin: {},
|
|
1306
|
-
files: [`${defaultBuildDirectory}/`],
|
|
1307
|
-
publishConfig: {
|
|
1308
|
-
access: 'Public' === visibility ? 'public' : 'restricted',
|
|
1309
|
-
provenance: true,
|
|
1310
|
-
...publishRegistry && {registry: publishRegistry}
|
|
1311
|
-
}
|
|
1312
|
-
}
|
|
1313
|
-
})
|
|
1314
|
-
]);
|
|
1315
|
-
|
|
1316
|
-
return deepmerge__default["default"](
|
|
1317
|
-
rollupResults,
|
|
1318
|
-
{
|
|
1319
|
-
scripts: {
|
|
1320
|
-
clean: `rimraf ./${defaultBuildDirectory}`,
|
|
1321
|
-
prebuild: 'run-s clean',
|
|
1322
|
-
build: 'npm-run-all --print-label --parallel build:*',
|
|
1323
|
-
prepack: 'run-s build'
|
|
1324
|
-
},
|
|
1325
|
-
dependencies: ['update-notifier'],
|
|
1326
|
-
devDependencies: ['rimraf'],
|
|
1327
|
-
vcsIgnore: {files: [], directories: [`/${defaultBuildDirectory}/`]},
|
|
1328
|
-
buildDirectory: defaultBuildDirectory,
|
|
1329
|
-
badges: defineBadges(packageName, visibility),
|
|
1330
|
-
nextSteps: []
|
|
1331
|
-
}
|
|
1332
|
-
);
|
|
1333
|
-
}
|
|
1334
|
-
|
|
1335
|
-
async function scaffoldProjectType ({
|
|
1336
|
-
projectType,
|
|
1337
|
-
projectRoot,
|
|
1338
|
-
projectName,
|
|
1339
|
-
packageName,
|
|
1340
|
-
packageManager,
|
|
1341
|
-
visibility,
|
|
1342
|
-
packageBundlers,
|
|
1343
|
-
scope,
|
|
1344
|
-
vcs,
|
|
1345
|
-
decisions,
|
|
1346
|
-
dialect,
|
|
1347
|
-
provideExample,
|
|
1348
|
-
publishRegistry
|
|
1349
|
-
}) {
|
|
1350
|
-
switch (projectType) {
|
|
1351
|
-
case javascriptCore.projectTypes.PACKAGE:
|
|
1352
|
-
return scaffoldPackageType({
|
|
1353
|
-
projectRoot,
|
|
1354
|
-
projectName,
|
|
1355
|
-
packageName,
|
|
1356
|
-
packageManager,
|
|
1357
|
-
visibility,
|
|
1358
|
-
scope,
|
|
1359
|
-
packageBundlers,
|
|
1360
|
-
vcs,
|
|
1361
|
-
decisions,
|
|
1362
|
-
dialect,
|
|
1363
|
-
provideExample,
|
|
1364
|
-
publishRegistry
|
|
1365
|
-
});
|
|
1366
|
-
case javascriptCore.projectTypes.APPLICATION:
|
|
1367
|
-
return scaffoldApplicationType({projectRoot});
|
|
1368
|
-
case javascriptCore.projectTypes.CLI:
|
|
1369
|
-
return scaffoldCliType({packageName, visibility, projectRoot, dialect, publishRegistry});
|
|
1370
|
-
case javascriptCore.projectTypes.MONOREPO:
|
|
1371
|
-
return scaffoldMonorepoType({projectRoot});
|
|
1372
|
-
case 'Other':
|
|
1373
|
-
return {};
|
|
1374
|
-
default:
|
|
1375
|
-
throw new Error(`The project-type of ${projectType} is invalid`);
|
|
1376
|
-
}
|
|
1377
|
-
}
|
|
1378
|
-
|
|
1379
1403
|
async function chooseProjectTypePlugin ({types, projectType, decisions}) {
|
|
1380
1404
|
if (!Object.keys(types).length) return 'Other';
|
|
1381
1405
|
|