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