@form8ion/javascript 11.10.0 → 11.10.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 +66 -58
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +67 -59
- package/lib/index.mjs.map +1 -1
- package/package.json +23 -23
package/lib/index.js
CHANGED
|
@@ -378,6 +378,10 @@ run \`${buildDocumentationCommand(packageManager)}\` to inject the usage example
|
|
|
378
378
|
};
|
|
379
379
|
}
|
|
380
380
|
|
|
381
|
+
function determinePackageAccessLevelFromProjectVisibility ({projectVisibility}) {
|
|
382
|
+
return 'Public' === projectVisibility ? 'public' : 'restricted';
|
|
383
|
+
}
|
|
384
|
+
|
|
381
385
|
function defineBadges (packageName, accessLevel) {
|
|
382
386
|
return {
|
|
383
387
|
consumer: {
|
|
@@ -393,8 +397,53 @@ function defineBadges (packageName, accessLevel) {
|
|
|
393
397
|
};
|
|
394
398
|
}
|
|
395
399
|
|
|
396
|
-
function
|
|
397
|
-
|
|
400
|
+
function enhanceSlsa ({provenance}) {
|
|
401
|
+
if (provenance) {
|
|
402
|
+
return {
|
|
403
|
+
badges: {
|
|
404
|
+
status: {
|
|
405
|
+
slsa: {
|
|
406
|
+
img: 'https://slsa.dev/images/gh-badge-level2.svg',
|
|
407
|
+
url: 'https://slsa.dev',
|
|
408
|
+
text: 'SLSA Level 2'
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
};
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
return {};
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
async function liftProvenance ({projectRoot, packageDetails}) {
|
|
419
|
+
const {publishConfig: {access}} = packageDetails;
|
|
420
|
+
|
|
421
|
+
if ('public' === access) {
|
|
422
|
+
await javascriptCore.mergeIntoExistingPackageJson({projectRoot, config: {publishConfig: {provenance: true}}});
|
|
423
|
+
|
|
424
|
+
return enhanceSlsa({provenance: true});
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
return {};
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
async function liftPublishable ({projectRoot, packageDetails}) {
|
|
431
|
+
const {name: packageName, publishConfig: {access: pacakgeAccessLevel}} = packageDetails;
|
|
432
|
+
|
|
433
|
+
return deepmerge__default["default"](
|
|
434
|
+
await liftProvenance({packageDetails, projectRoot}),
|
|
435
|
+
{
|
|
436
|
+
devDependencies: ['publint'],
|
|
437
|
+
scripts: {'lint:publish': 'publint --strict'},
|
|
438
|
+
badges: defineBadges(packageName, pacakgeAccessLevel)
|
|
439
|
+
}
|
|
440
|
+
);
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
async function scaffoldPublishable ({packageName, packageAccessLevel}) {
|
|
444
|
+
return {
|
|
445
|
+
badges: await defineBadges(packageName, packageAccessLevel)
|
|
446
|
+
};
|
|
398
447
|
}
|
|
399
448
|
|
|
400
449
|
async function chooseBundler ({bundlers, decisions}) {
|
|
@@ -508,7 +557,7 @@ async function scaffoldPackageType ({
|
|
|
508
557
|
cliMessages.info('Scaffolding Package Details');
|
|
509
558
|
|
|
510
559
|
const packageAccessLevel = determinePackageAccessLevelFromProjectVisibility({projectVisibility: visibility});
|
|
511
|
-
const [detailsForBuild] = await Promise.all([
|
|
560
|
+
const [detailsForBuild, publishableResults] = await Promise.all([
|
|
512
561
|
buildDetails({
|
|
513
562
|
projectRoot,
|
|
514
563
|
projectName,
|
|
@@ -519,6 +568,7 @@ async function scaffoldPackageType ({
|
|
|
519
568
|
provideExample,
|
|
520
569
|
decisions
|
|
521
570
|
}),
|
|
571
|
+
scaffoldPublishable({packageName, packageAccessLevel}),
|
|
522
572
|
javascriptCore.mergeIntoExistingPackageJson({
|
|
523
573
|
projectRoot,
|
|
524
574
|
config: {
|
|
@@ -557,61 +607,18 @@ async function scaffoldPackageType ({
|
|
|
557
607
|
]);
|
|
558
608
|
|
|
559
609
|
return deepmerge__default["default"].all([
|
|
610
|
+
publishableResults,
|
|
560
611
|
{
|
|
561
612
|
documentation: scaffoldPackageDocumentation({packageName, visibility, scope, packageManager, provideExample}),
|
|
562
613
|
nextSteps: [
|
|
563
614
|
{summary: 'Add the appropriate `save` flag to the installation instructions in the README'},
|
|
564
615
|
{summary: 'Publish pre-release versions to npm until package is stable enough to publish v1.0.0'}
|
|
565
|
-
]
|
|
566
|
-
badges: defineBadges(packageName, packageAccessLevel)
|
|
616
|
+
]
|
|
567
617
|
},
|
|
568
618
|
detailsForBuild
|
|
569
619
|
]);
|
|
570
620
|
}
|
|
571
621
|
|
|
572
|
-
function enhanceSlsa ({provenance}) {
|
|
573
|
-
if (provenance) {
|
|
574
|
-
return {
|
|
575
|
-
badges: {
|
|
576
|
-
status: {
|
|
577
|
-
slsa: {
|
|
578
|
-
img: 'https://slsa.dev/images/gh-badge-level2.svg',
|
|
579
|
-
url: 'https://slsa.dev',
|
|
580
|
-
text: 'SLSA Level 2'
|
|
581
|
-
}
|
|
582
|
-
}
|
|
583
|
-
}
|
|
584
|
-
};
|
|
585
|
-
}
|
|
586
|
-
|
|
587
|
-
return {};
|
|
588
|
-
}
|
|
589
|
-
|
|
590
|
-
async function liftProvenance ({projectRoot, packageDetails}) {
|
|
591
|
-
const {publishConfig: {access}} = packageDetails;
|
|
592
|
-
|
|
593
|
-
if ('public' === access) {
|
|
594
|
-
await javascriptCore.mergeIntoExistingPackageJson({projectRoot, config: {publishConfig: {provenance: true}}});
|
|
595
|
-
|
|
596
|
-
return enhanceSlsa({provenance: true});
|
|
597
|
-
}
|
|
598
|
-
|
|
599
|
-
return {};
|
|
600
|
-
}
|
|
601
|
-
|
|
602
|
-
async function liftPublishable ({projectRoot, packageDetails}) {
|
|
603
|
-
const {name: packageName, publishConfig: {access: pacakgeAccessLevel}} = packageDetails;
|
|
604
|
-
|
|
605
|
-
return deepmerge__default["default"](
|
|
606
|
-
await liftProvenance({packageDetails, projectRoot}),
|
|
607
|
-
{
|
|
608
|
-
devDependencies: ['publint'],
|
|
609
|
-
scripts: {'lint:publish': 'publint --strict'},
|
|
610
|
-
badges: defineBadges(packageName, pacakgeAccessLevel)
|
|
611
|
-
}
|
|
612
|
-
);
|
|
613
|
-
}
|
|
614
|
-
|
|
615
622
|
function liftPackage$1 ({projectRoot, packageDetails}) {
|
|
616
623
|
return liftPublishable({projectRoot, packageDetails});
|
|
617
624
|
}
|
|
@@ -661,8 +668,9 @@ const defaultBuildDirectory = 'bin';
|
|
|
661
668
|
|
|
662
669
|
async function scaffoldCliType ({packageName, visibility, projectRoot, dialect, publishRegistry}) {
|
|
663
670
|
const packageAccessLevel = determinePackageAccessLevelFromProjectVisibility({projectVisibility: visibility});
|
|
664
|
-
const [rollupResults] = await Promise.all([
|
|
671
|
+
const [rollupResults, publishableResults] = await Promise.all([
|
|
665
672
|
rollup.scaffold({projectRoot, dialect, projectType: javascriptCore.projectTypes.CLI}),
|
|
673
|
+
scaffoldPublishable({packageName, packageAccessLevel}),
|
|
666
674
|
javascriptCore.mergeIntoExistingPackageJson({
|
|
667
675
|
projectRoot,
|
|
668
676
|
config: {
|
|
@@ -676,7 +684,8 @@ async function scaffoldCliType ({packageName, visibility, projectRoot, dialect,
|
|
|
676
684
|
})
|
|
677
685
|
]);
|
|
678
686
|
|
|
679
|
-
return deepmerge__default["default"](
|
|
687
|
+
return deepmerge__default["default"].all([
|
|
688
|
+
publishableResults,
|
|
680
689
|
rollupResults,
|
|
681
690
|
{
|
|
682
691
|
scripts: {
|
|
@@ -689,10 +698,9 @@ async function scaffoldCliType ({packageName, visibility, projectRoot, dialect,
|
|
|
689
698
|
devDependencies: ['rimraf'],
|
|
690
699
|
vcsIgnore: {files: [], directories: [`/${defaultBuildDirectory}/`]},
|
|
691
700
|
buildDirectory: defaultBuildDirectory,
|
|
692
|
-
badges: defineBadges(packageName, packageAccessLevel),
|
|
693
701
|
nextSteps: []
|
|
694
702
|
}
|
|
695
|
-
);
|
|
703
|
+
]);
|
|
696
704
|
}
|
|
697
705
|
|
|
698
706
|
async function isCli ({packageDetails: {bin}}) {
|
|
@@ -747,6 +755,10 @@ async function scaffoldProjectType ({
|
|
|
747
755
|
}
|
|
748
756
|
}
|
|
749
757
|
|
|
758
|
+
async function tester$1 ({projectRoot, packageDetails}) {
|
|
759
|
+
return await isPackage({projectRoot, packageDetails}) || isCli({projectRoot, packageDetails});
|
|
760
|
+
}
|
|
761
|
+
|
|
750
762
|
async function lifter$1 ({projectRoot, packageDetails}) {
|
|
751
763
|
if (await isPackage({projectRoot, packageDetails})) return liftPackage$1({projectRoot, packageDetails});
|
|
752
764
|
if (await isCli({projectRoot, packageDetails})) return liftCli({projectRoot, packageDetails});
|
|
@@ -754,15 +766,11 @@ async function lifter$1 ({projectRoot, packageDetails}) {
|
|
|
754
766
|
return {};
|
|
755
767
|
}
|
|
756
768
|
|
|
757
|
-
async function tester$1 ({projectRoot, packageDetails}) {
|
|
758
|
-
return await isPackage({projectRoot, packageDetails}) || isCli({projectRoot, packageDetails});
|
|
759
|
-
}
|
|
760
|
-
|
|
761
769
|
var projectTypes = /*#__PURE__*/Object.freeze({
|
|
762
770
|
__proto__: null,
|
|
763
771
|
scaffold: scaffoldProjectType,
|
|
764
|
-
|
|
765
|
-
|
|
772
|
+
test: tester$1,
|
|
773
|
+
lift: lifter$1
|
|
766
774
|
});
|
|
767
775
|
|
|
768
776
|
function write ({projectRoot, config}) {
|