@form8ion/javascript 14.0.0-beta.4 → 14.1.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 +42 -40
- package/lib/index.js.map +1 -1
- package/package.json +7 -7
package/lib/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { questionNames as questionNames$2, questions } from '@travi/language-scaffolder-prompts';
|
|
2
2
|
import deepmerge from 'deepmerge';
|
|
3
3
|
import { fileTypes, fileExists, optionsSchemas, validateOptions, loadConfigFile, writeConfigFile, applyEnhancers } from '@form8ion/core';
|
|
4
|
-
import { scaffoldChoice, dialects as dialects$1, projectTypes as projectTypes$1, packageManagers as packageManagers$1, writePackageJson,
|
|
4
|
+
import { scaffoldChoice, dialects as dialects$1, projectTypes as projectTypes$1, packageManagers as packageManagers$1, writePackageJson, PROD_DEPENDENCY_TYPE, DEV_DEPENDENCY_TYPE, mergeIntoExistingPackageJson } from '@form8ion/javascript-core';
|
|
5
5
|
import { prompt as prompt$1 } from '@form8ion/overridable-prompts';
|
|
6
6
|
import joi from 'joi';
|
|
7
7
|
import { scaffold, lift as lift$3 } from '@form8ion/codecov';
|
|
@@ -13,7 +13,7 @@ import { execa } from 'execa';
|
|
|
13
13
|
import npmConf from 'npm-conf';
|
|
14
14
|
import { EOL } from 'os';
|
|
15
15
|
import validatePackageName from 'validate-npm-package-name';
|
|
16
|
-
import { promises } from 'fs';
|
|
16
|
+
import { promises as promises$1 } from 'fs';
|
|
17
17
|
import mustache from 'mustache';
|
|
18
18
|
import touch from 'touch';
|
|
19
19
|
import camelcase from 'camelcase';
|
|
@@ -21,7 +21,7 @@ import { resolve } from 'path';
|
|
|
21
21
|
import filedirname from 'filedirname';
|
|
22
22
|
import * as huskyPlugin from '@form8ion/husky';
|
|
23
23
|
import { scaffold as scaffold$1 } from '@form8ion/husky';
|
|
24
|
-
import { promises
|
|
24
|
+
import { promises } from 'node:fs';
|
|
25
25
|
import { stringify, parse } from 'ini';
|
|
26
26
|
import { scaffold as scaffold$3 } from '@form8ion/prettier';
|
|
27
27
|
import * as eslintPlugin from '@form8ion/eslint';
|
|
@@ -72,29 +72,33 @@ function nycIsConfigured ({projectRoot}) {
|
|
|
72
72
|
return fileExists(`${projectRoot}/.nycrc`);
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
async function
|
|
76
|
-
await execa(packageManager, ['remove', ...dependencies]);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
async function removeNyc ({projectRoot, packageManager}) {
|
|
75
|
+
async function removeNyc ({projectRoot}) {
|
|
80
76
|
await Promise.all([
|
|
81
77
|
promises.unlink(`${projectRoot}/.nycrc`),
|
|
82
|
-
promises.rm(`${projectRoot}/.nyc_output`, {recursive: true, force: true})
|
|
83
|
-
removeDependencies({packageManager, dependencies: ['nyc', '@istanbuljs/nyc-config-babel', 'babel-plugin-istanbul']})
|
|
78
|
+
promises.rm(`${projectRoot}/.nyc_output`, {recursive: true, force: true})
|
|
84
79
|
]);
|
|
80
|
+
|
|
81
|
+
return {
|
|
82
|
+
dependencies: {
|
|
83
|
+
javascript: {
|
|
84
|
+
remove: ['nyc', '@istanbuljs/nyc-config-babel', 'babel-plugin-istanbul']
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
};
|
|
85
88
|
}
|
|
86
89
|
|
|
87
90
|
async function lift$2({projectRoot, packageManager, vcs}) {
|
|
88
91
|
const codecovResults = await lift$3({projectRoot, packageManager, vcs});
|
|
89
92
|
|
|
90
93
|
if (await nycIsConfigured({projectRoot})) {
|
|
91
|
-
const [c8Results] = await Promise.all([
|
|
94
|
+
const [c8Results, nycResults] = await Promise.all([
|
|
92
95
|
scaffoldC8({projectRoot}),
|
|
93
|
-
removeNyc({projectRoot
|
|
96
|
+
removeNyc({projectRoot})
|
|
94
97
|
]);
|
|
95
98
|
|
|
96
99
|
return deepmerge.all([
|
|
97
100
|
c8Results,
|
|
101
|
+
nycResults,
|
|
98
102
|
codecovResults,
|
|
99
103
|
{
|
|
100
104
|
scripts: {'test:unit': 'cross-env NODE_ENV=test c8 run-s test:unit:base'},
|
|
@@ -490,7 +494,7 @@ var dialects = /*#__PURE__*/Object.freeze({
|
|
|
490
494
|
});
|
|
491
495
|
|
|
492
496
|
async function writeNpmConfig ({projectRoot, config}) {
|
|
493
|
-
await promises
|
|
497
|
+
await promises.writeFile(`${projectRoot}/.npmrc`, stringify(config));
|
|
494
498
|
}
|
|
495
499
|
|
|
496
500
|
function projectWillNotBeConsumed(projectType) {
|
|
@@ -515,7 +519,7 @@ async function readNpmConfig ({projectRoot}) {
|
|
|
515
519
|
|
|
516
520
|
if (!(await fileExists(pathToConfig))) return {};
|
|
517
521
|
|
|
518
|
-
return parse(await promises
|
|
522
|
+
return parse(await promises.readFile(pathToConfig, 'utf-8'));
|
|
519
523
|
}
|
|
520
524
|
|
|
521
525
|
async function lifter$4 ({projectRoot}) {
|
|
@@ -541,7 +545,7 @@ var npmConfigPlugin = /*#__PURE__*/Object.freeze({
|
|
|
541
545
|
|
|
542
546
|
async function scaffoldNpm ({projectRoot}) {
|
|
543
547
|
const [packageContents, {stdout}] = await Promise.all([
|
|
544
|
-
promises
|
|
548
|
+
promises.readFile(`${projectRoot}/package.json`, 'utf-8'),
|
|
545
549
|
execa('npm', ['--version'])
|
|
546
550
|
]);
|
|
547
551
|
const existingPackageJsonContents = JSON.parse(packageContents);
|
|
@@ -573,7 +577,7 @@ function npmIsUsed ({projectRoot, pinnedPackageManager = ''}) {
|
|
|
573
577
|
|
|
574
578
|
async function scaffoldYarn ({projectRoot}) {
|
|
575
579
|
const [packageContents, {stdout}] = await Promise.all([
|
|
576
|
-
promises
|
|
580
|
+
promises.readFile(`${projectRoot}/package.json`, 'utf-8'),
|
|
577
581
|
execa('yarn', ['--version'])
|
|
578
582
|
]);
|
|
579
583
|
const existingPackageJsonContents = JSON.parse(packageContents);
|
|
@@ -625,7 +629,7 @@ function scaffoldPackageManager ({projectRoot, packageManager}) {
|
|
|
625
629
|
async function resolvePackageManager ({projectRoot, packageManager}) {
|
|
626
630
|
if (packageManager) return packageManager;
|
|
627
631
|
|
|
628
|
-
const {packageManager: pinnedPackageManager} = JSON.parse(await promises
|
|
632
|
+
const {packageManager: pinnedPackageManager} = JSON.parse(await promises.readFile(`${projectRoot}/package.json`, 'utf-8'));
|
|
629
633
|
|
|
630
634
|
if (await npmIsUsed({projectRoot, pinnedPackageManager})) {
|
|
631
635
|
return packageManagers$1.NPM;
|
|
@@ -706,7 +710,7 @@ async function scaffoldNodeVersion ({projectRoot, nodeVersionCategory}) {
|
|
|
706
710
|
|
|
707
711
|
const version = await determineLatestVersionOf(nodeVersionCategory);
|
|
708
712
|
|
|
709
|
-
await promises
|
|
713
|
+
await promises.writeFile(`${projectRoot}/.nvmrc`, version);
|
|
710
714
|
|
|
711
715
|
await install$1(nodeVersionCategory);
|
|
712
716
|
|
|
@@ -875,6 +879,10 @@ async function install (dependencies, dependenciesType, projectRoot, packageMana
|
|
|
875
879
|
} else warn(`No ${dependenciesType} dependencies to install`);
|
|
876
880
|
}
|
|
877
881
|
|
|
882
|
+
async function remove ({packageManager, dependencies}) {
|
|
883
|
+
await execa(packageManager, ['remove', ...dependencies]);
|
|
884
|
+
}
|
|
885
|
+
|
|
878
886
|
async function processDependencies ({dependencies = {}, devDependencies, projectRoot, packageManager}) {
|
|
879
887
|
info('Processing dependencies');
|
|
880
888
|
|
|
@@ -888,11 +896,12 @@ async function processDependencies ({dependencies = {}, devDependencies, project
|
|
|
888
896
|
throw new Error(`Expected dependencies to be an object. Instead received: ${dependencies}`);
|
|
889
897
|
}
|
|
890
898
|
|
|
891
|
-
const {javascript: {production = [], development = []} = {}} = dependencies;
|
|
899
|
+
const {javascript: {production = [], development = [], remove: dependenciesToRemove = []} = {}} = dependencies;
|
|
892
900
|
|
|
893
901
|
try {
|
|
894
902
|
await install(production, PROD_DEPENDENCY_TYPE, projectRoot, packageManager);
|
|
895
903
|
await install(development, DEV_DEPENDENCY_TYPE, projectRoot, packageManager);
|
|
904
|
+
await remove({packageManager, dependencies: dependenciesToRemove});
|
|
896
905
|
} catch (e) {
|
|
897
906
|
error('Failed to update dependencies');
|
|
898
907
|
error(e, {level: 'secondary'});
|
|
@@ -937,7 +946,7 @@ async function liftPackage$1 ({
|
|
|
937
946
|
}) {
|
|
938
947
|
info('Updating `package.json`', {level: 'secondary'});
|
|
939
948
|
|
|
940
|
-
const existingPackageJsonContents = JSON.parse(await promises
|
|
949
|
+
const existingPackageJsonContents = JSON.parse(await promises.readFile(`${projectRoot}/package.json`, 'utf-8'));
|
|
941
950
|
const {scripts: liftedScripts, dependencies: scriptDependencies} = liftScripts({
|
|
942
951
|
existingScripts: existingPackageJsonContents.scripts,
|
|
943
952
|
scripts
|
|
@@ -1014,7 +1023,7 @@ function defineBadges (packageName, accessLevel) {
|
|
|
1014
1023
|
}
|
|
1015
1024
|
|
|
1016
1025
|
function enhanceSlsa ({provenance}) {
|
|
1017
|
-
|
|
1026
|
+
{
|
|
1018
1027
|
return {
|
|
1019
1028
|
badges: {
|
|
1020
1029
|
status: {
|
|
@@ -1027,8 +1036,6 @@ function enhanceSlsa ({provenance}) {
|
|
|
1027
1036
|
}
|
|
1028
1037
|
};
|
|
1029
1038
|
}
|
|
1030
|
-
|
|
1031
|
-
return {};
|
|
1032
1039
|
}
|
|
1033
1040
|
|
|
1034
1041
|
async function liftProvenance ({projectRoot, packageDetails}) {
|
|
@@ -1094,10 +1101,10 @@ function determinePathToTemplateFile (fileName) {
|
|
|
1094
1101
|
const defaultBuildDirectory$2 = 'lib';
|
|
1095
1102
|
|
|
1096
1103
|
async function createExample(projectRoot, projectName, dialect) {
|
|
1097
|
-
return promises.writeFile(
|
|
1104
|
+
return promises$1.writeFile(
|
|
1098
1105
|
`${projectRoot}/example.js`,
|
|
1099
1106
|
mustache.render(
|
|
1100
|
-
await promises.readFile(determinePathToTemplateFile('example.mustache'), 'utf8'),
|
|
1107
|
+
await promises$1.readFile(determinePathToTemplateFile('example.mustache'), 'utf8'),
|
|
1101
1108
|
{projectName: camelcase(projectName), esm: dialect === dialects$1.ESM}
|
|
1102
1109
|
)
|
|
1103
1110
|
);
|
|
@@ -1107,7 +1114,7 @@ async function buildDetailsForCommonJsProject({projectRoot, projectName, provide
|
|
|
1107
1114
|
await Promise.all([
|
|
1108
1115
|
touch(`${projectRoot}/index.js`),
|
|
1109
1116
|
provideExample
|
|
1110
|
-
? promises.writeFile(`${projectRoot}/example.js`, `const ${camelcase(projectName)} = require('.');\n`)
|
|
1117
|
+
? promises$1.writeFile(`${projectRoot}/example.js`, `const ${camelcase(projectName)} = require('.');\n`)
|
|
1111
1118
|
: Promise.resolve()
|
|
1112
1119
|
]);
|
|
1113
1120
|
|
|
@@ -1126,7 +1133,7 @@ async function buildDetails ({
|
|
|
1126
1133
|
}) {
|
|
1127
1134
|
if (dialects$1.COMMON_JS === dialect) return buildDetailsForCommonJsProject({projectRoot, projectName, provideExample});
|
|
1128
1135
|
|
|
1129
|
-
await promises.mkdir(`${projectRoot}/src`, {recursive: true});
|
|
1136
|
+
await promises$1.mkdir(`${projectRoot}/src`, {recursive: true});
|
|
1130
1137
|
const [bundlerResults] = await Promise.all([
|
|
1131
1138
|
scaffoldBundler({bundlers: packageBundlers, projectRoot, dialect, decisions, projectType: projectTypes$1.PACKAGE}),
|
|
1132
1139
|
provideExample ? await createExample(projectRoot, projectName, dialect) : Promise.resolve,
|
|
@@ -1393,9 +1400,9 @@ async function scaffoldProjectType ({
|
|
|
1393
1400
|
}
|
|
1394
1401
|
|
|
1395
1402
|
async function tester$3 ({projectRoot, packageDetails}) {
|
|
1396
|
-
return await isPackage({
|
|
1397
|
-
|| await isCli({
|
|
1398
|
-
|| isApplication({
|
|
1403
|
+
return await isPackage({packageDetails})
|
|
1404
|
+
|| await isCli({packageDetails})
|
|
1405
|
+
|| isApplication({packageDetails});
|
|
1399
1406
|
}
|
|
1400
1407
|
|
|
1401
1408
|
function vcsRepositoryHostedOnGithub(vcs) {
|
|
@@ -1403,8 +1410,8 @@ function vcsRepositoryHostedOnGithub(vcs) {
|
|
|
1403
1410
|
}
|
|
1404
1411
|
|
|
1405
1412
|
async function lifter$2 ({projectRoot, packageDetails, vcs}) {
|
|
1406
|
-
if (await isPackage({
|
|
1407
|
-
if (await isCli({
|
|
1413
|
+
if (await isPackage({packageDetails})) return liftPackage({projectRoot, packageDetails});
|
|
1414
|
+
if (await isCli({packageDetails})) return liftCli({projectRoot, packageDetails});
|
|
1408
1415
|
|
|
1409
1416
|
let homepage;
|
|
1410
1417
|
|
|
@@ -1570,7 +1577,7 @@ async function scaffoldVerification({
|
|
|
1570
1577
|
dialect,
|
|
1571
1578
|
pathWithinParent
|
|
1572
1579
|
}),
|
|
1573
|
-
scaffoldLinting({projectRoot, packageManager, registries
|
|
1580
|
+
scaffoldLinting({projectRoot, packageManager, registries}),
|
|
1574
1581
|
scaffold$1({projectRoot, packageManager, pathWithinParent})
|
|
1575
1582
|
]);
|
|
1576
1583
|
|
|
@@ -1703,13 +1710,8 @@ async function scaffolder (options) {
|
|
|
1703
1710
|
packageName,
|
|
1704
1711
|
packageManager,
|
|
1705
1712
|
visibility,
|
|
1706
|
-
applicationTypes,
|
|
1707
|
-
packageTypes,
|
|
1708
|
-
monorepoTypes,
|
|
1709
1713
|
packageBundlers,
|
|
1710
1714
|
scope,
|
|
1711
|
-
tests,
|
|
1712
|
-
vcs,
|
|
1713
1715
|
decisions,
|
|
1714
1716
|
dialect,
|
|
1715
1717
|
provideExample,
|
|
@@ -1838,7 +1840,7 @@ var registriesPlugin = /*#__PURE__*/Object.freeze({
|
|
|
1838
1840
|
});
|
|
1839
1841
|
|
|
1840
1842
|
async function test({projectRoot}) {
|
|
1841
|
-
const {engines} = JSON.parse(await promises.readFile(`${projectRoot}/package.json`, 'utf8'));
|
|
1843
|
+
const {engines} = JSON.parse(await promises$1.readFile(`${projectRoot}/package.json`, 'utf8'));
|
|
1842
1844
|
|
|
1843
1845
|
return !!engines?.node;
|
|
1844
1846
|
}
|
|
@@ -1862,7 +1864,7 @@ async function lift ({projectRoot, vcs, results, pathWithinParent, enhancers = {
|
|
|
1862
1864
|
|
|
1863
1865
|
const [packageManager, packageContents] = await Promise.all([
|
|
1864
1866
|
resolvePackageManager({projectRoot, packageManager: results.packageManager}),
|
|
1865
|
-
promises
|
|
1867
|
+
promises.readFile(`${projectRoot}/package.json`, 'utf8')
|
|
1866
1868
|
]);
|
|
1867
1869
|
|
|
1868
1870
|
const enhancerResults = await applyEnhancers({
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/prompts/question-names.js","../src/coverage/c8/scaffolder.js","../src/coverage/scaffolder.js","../src/coverage/nyc/tester.js","../src/dependencies/remover.js","../src/coverage/nyc/remover.js","../src/coverage/lifter.js","../src/coverage/c8/tester.js","../src/coverage/tester.js","../src/testing/prompt.js","../src/plugins-schemas.js","../src/testing/unit.js","../src/options/schemas.js","../src/vcs/schema.js","../src/options/validator.js","../src/dialects/prompt-choices.js","../src/prompts/conditionals.js","../src/prompts/validators.js","../src/prompts/questions.js","../src/dialects/babel/config/writer.js","../src/dialects/babel/config/loader.js","../src/dialects/babel/config/ignore-adder.js","../src/dialects/babel/scaffolder.js","../src/dialects/babel/lifter.js","../src/dialects/babel/predicate.js","../src/dialects/typescript/scaffolder.js","../src/dialects/scaffolder.js","../src/npm-config/writer.js","../src/npm-config/scaffolder.js","../src/npm-config/tester.js","../src/npm-config/reader.js","../src/npm-config/lifter.js","../src/package-managers/npm/scaffolder.js","../src/package-managers/lockfile-path-resolver.js","../src/package-managers/npm/tester.js","../src/package-managers/yarn/scaffolder.js","../src/package-managers/yarn/tester.js","../src/package-managers/tester.js","../src/corepack/lifter.js","../src/package-managers/lifter.js","../src/package-managers/scaffolder.js","../src/package-managers/current-manager-resolver.js","../src/documentation/generation-command.js","../src/documentation/scaffolder.js","../src/node-version/tasks.js","../src/node-version/scaffolder.js","../src/node-version/tester.js","../src/vcs/ignore-lists-builder.js","../src/package/package-name.js","../src/package/details.js","../src/package/scaffolder.js","../src/package/property-sorter.js","../src/package/vcs-host-details.js","../src/dependencies/package-managers.js","../src/dependencies/installer.js","../src/dependencies/processor.js","../src/package/scripts/test-script-updater.js","../src/package/scripts/lifter.js","../src/package/lifter.js","../src/project-type/package/documentation.js","../src/project-type/publishable/access-level.js","../src/project-type/publishable/badges.js","../src/project-type/publishable/provenance/slsa.js","../src/project-type/publishable/provenance/lifter.js","../src/project-type/publishable/lifter.js","../src/project-type/publishable/scaffolder.js","../src/project-type/publishable/bundler/prompt.js","../src/project-type/publishable/bundler/scaffolder.js","../src/template-path.js","../src/project-type/package/build-details.js","../src/project-type/package/scaffolder.js","../src/project-type/package/lifter.js","../src/project-type/package/tester.js","../src/project-type/application/scaffolder.js","../src/project-type/application/predicate.js","../src/project-type/monorepo/scaffolder.js","../src/project-type/cli/scaffolder.js","../src/project-type/cli/tester.js","../src/project-type/cli/lifter.js","../src/project-type/scaffolder.js","../src/project-type/tester.js","../src/project-type/lifter.js","../src/project-type-plugin/prompt.js","../src/project-type-plugin/scaffolder.js","../src/scaffolder/verification/testing/scaffolder.js","../src/lockfile-lint/allowed-hosts-builder.js","../src/lockfile-lint/scaffolder.js","../src/lockfile-lint/tester.js","../src/lockfile-lint/config.js","../src/linting/scaffolder.js","../src/scaffolder/verification/verifier.js","../src/code-style/remark/scaffolder.js","../src/code-style/scaffolder.js","../src/code-style/lifter.js","../src/code-style/tester.js","../src/scaffolder/scaffolder.js","../src/registries/tester.js","../src/registries/npm-config/list-builder.js","../src/registries/lifter.js","../src/lift/enhancers/engines.js","../src/lift/lift.js","../src/tester.js","../src/index.js"],"sourcesContent":["export const questionNames = {\n UNIT_TEST_FRAMEWORK: 'unitTestFramework',\n NODE_VERSION_CATEGORY: 'nodeVersionCategory',\n PACKAGE_MANAGER: 'packageManager',\n PACKAGE_BUNDLER: 'packageBundler',\n PROJECT_TYPE: 'projectType',\n PROJECT_TYPE_CHOICE: 'projectTypeChoice',\n SHOULD_BE_SCOPED: 'shouldBeScoped',\n SCOPE: 'scope',\n AUTHOR_NAME: 'authorName',\n AUTHOR_EMAIL: 'authorEmail',\n AUTHOR_URL: 'authorUrl',\n HOST: 'host',\n CONFIGURE_LINTING: 'configureLint',\n PROVIDE_EXAMPLE: 'provideExample',\n DIALECT: 'dialect'\n};\n","import {write} from '@form8ion/config-file';\nimport {fileTypes} from '@form8ion/core';\n\nexport default async function ({projectRoot}) {\n await write({\n name: 'c8',\n format: fileTypes.JSON,\n path: projectRoot,\n config: {\n reporter: ['lcov', 'text-summary', 'html'],\n exclude: ['src/**/*-test.js', 'test/', 'thirdparty-wrappers/', 'vendor/']\n }\n });\n\n return {\n dependencies: {javascript: {development: ['cross-env', 'c8']}},\n vcsIgnore: {files: [], directories: ['/coverage/']},\n eslint: {ignore: {directories: ['/coverage/']}}\n };\n}\n","import deepmerge from 'deepmerge';\nimport {scaffold as scaffoldCodecov} from '@form8ion/codecov';\n\nimport {scaffold as scaffoldC8} from './c8/index.js';\n\nexport default async function ({projectRoot, vcs, visibility, pathWithinParent}) {\n return deepmerge(await scaffoldC8({projectRoot}), await scaffoldCodecov({vcs, visibility, pathWithinParent}));\n}\n","import {fileExists} from '@form8ion/core';\n\nexport default function ({projectRoot}) {\n return fileExists(`${projectRoot}/.nycrc`);\n}\n","import {execa} from 'execa';\n\nexport default async function ({packageManager, dependencies}) {\n await execa(packageManager, ['remove', ...dependencies]);\n}\n","import {promises as fs} from 'fs';\n\nimport removeDependencies from '../../dependencies/remover.js';\n\nexport default async function ({projectRoot, packageManager}) {\n await Promise.all([\n fs.unlink(`${projectRoot}/.nycrc`),\n fs.rm(`${projectRoot}/.nyc_output`, {recursive: true, force: true}),\n removeDependencies({packageManager, dependencies: ['nyc', '@istanbuljs/nyc-config-babel', 'babel-plugin-istanbul']})\n ]);\n}\n","import deepmerge from 'deepmerge';\nimport {lift as liftCodecov} from '@form8ion/codecov';\n\nimport {scaffold as scaffoldC8} from './c8/index.js';\nimport {test as nycIsConfigured, remove as removeNyc} from './nyc/index.js';\n\nexport async function lift({projectRoot, packageManager, vcs}) {\n const codecovResults = await liftCodecov({projectRoot, packageManager, vcs});\n\n if (await nycIsConfigured({projectRoot})) {\n const [c8Results] = await Promise.all([\n scaffoldC8({projectRoot}),\n removeNyc({projectRoot, packageManager})\n ]);\n\n return deepmerge.all([\n c8Results,\n codecovResults,\n {\n scripts: {'test:unit': 'cross-env NODE_ENV=test c8 run-s test:unit:base'},\n nextSteps: [{\n summary: 'Remove use of `@istanbuljs/nyc-config-babel` from your babel config, if present,'\n + ' after the migration away from `nyc`'\n }]\n }\n ]);\n }\n\n return codecovResults;\n}\n","import {fileExists} from '@form8ion/core';\n\nexport default function ({projectRoot}) {\n return fileExists(`${projectRoot}/.c8rc.json`);\n}\n","import c8IsConfigured from './c8/tester.js';\nimport nycIsConfigured from './nyc/tester.js';\n\nexport default async function ({projectRoot}) {\n const [c8Exists, nycExists] = await Promise.all([c8IsConfigured({projectRoot}), nycIsConfigured({projectRoot})]);\n\n return c8Exists || nycExists;\n}\n","import {prompt} from '@form8ion/overridable-prompts';\nimport {questionNames} from '../prompts/question-names.js';\n\nexport default async function ({frameworks, decisions}) {\n if (!Object.keys(frameworks).length) return 'Other';\n\n const answers = await prompt([{\n name: questionNames.UNIT_TEST_FRAMEWORK,\n type: 'list',\n message: 'Which type of unit testing framework should be used?',\n choices: [...Object.keys(frameworks), 'Other']\n }], decisions);\n\n return answers[questionNames.UNIT_TEST_FRAMEWORK];\n}\n","import joi from 'joi';\nimport {optionsSchemas} from '@form8ion/core';\n\nexport const pluginsSchema = joi.object().pattern(/^/, optionsSchemas.form8ionPlugin).default({});\n","import deepmerge from 'deepmerge';\nimport {validateOptions} from '@form8ion/core';\nimport {scaffoldChoice as scaffoldFrameworkChoice} from '@form8ion/javascript-core';\n\nimport {scaffold as scaffoldCoverage} from '../coverage/index.js';\nimport chooseFramework from './prompt.js';\nimport {pluginsSchema} from '../plugins-schemas.js';\n\nexport default async function ({projectRoot, frameworks, decisions, visibility, vcs, pathWithinParent, dialect}) {\n const validatedFrameworks = validateOptions(pluginsSchema, frameworks);\n const [framework, coverage] = await Promise.all([\n chooseFramework({frameworks: validatedFrameworks, decisions})\n .then(chosenFramework => scaffoldFrameworkChoice(validatedFrameworks, chosenFramework, {projectRoot, dialect})),\n scaffoldCoverage({projectRoot, vcs, visibility, pathWithinParent})\n ]);\n\n return deepmerge.all([\n {scripts: {'test:unit': 'cross-env NODE_ENV=test c8 run-s test:unit:base'}},\n framework,\n coverage\n ]);\n}\n","import joi from 'joi';\n\nexport const scopeBasedConfigSchema = joi.object({scope: joi.string().regex(/^@[a-z0-9-]+$/i, 'scope').required()});\n\nexport const nameBasedConfigSchema = joi.object({\n packageName: joi.string().required(),\n name: joi.string().required()\n});\n\nexport const registriesSchema = joi.object().pattern(joi.string(), joi.string().uri()).default({});\n\nexport const visibilitySchema = joi.string().valid('Public', 'Private').required();\n\nexport const projectNameSchema = joi.string().regex(/^@\\w*\\//, {invert: true}).required();\n","import joi from 'joi';\n\nexport const vcsSchema = joi.object({\n host: joi.string().required(),\n owner: joi.string().required(),\n name: joi.string().required()\n});\n","import joi from 'joi';\nimport {validateOptions} from '@form8ion/core';\n\nimport {pluginsSchema} from '../plugins-schemas.js';\nimport {\n nameBasedConfigSchema,\n projectNameSchema,\n registriesSchema,\n scopeBasedConfigSchema,\n visibilitySchema\n} from './schemas.js';\nimport {vcsSchema} from '../vcs/schema.js';\n\nexport function validate(options) {\n const schema = joi.object({\n projectRoot: joi.string().required(),\n projectName: projectNameSchema,\n visibility: visibilitySchema,\n license: joi.string().required(),\n description: joi.string(),\n pathWithinParent: joi.string(),\n decisions: joi.object(),\n vcs: vcsSchema,\n configs: joi.object({\n eslint: scopeBasedConfigSchema,\n typescript: scopeBasedConfigSchema,\n prettier: scopeBasedConfigSchema,\n commitlint: nameBasedConfigSchema,\n babelPreset: nameBasedConfigSchema,\n remark: joi.string(),\n registries: registriesSchema\n }).default({registries: {}}),\n plugins: {\n unitTestFrameworks: pluginsSchema,\n packageBundlers: pluginsSchema,\n applicationTypes: pluginsSchema,\n packageTypes: pluginsSchema,\n monorepoTypes: pluginsSchema,\n hosts: pluginsSchema,\n ciServices: pluginsSchema\n }\n }).required();\n\n return validateOptions(schema, options);\n}\n","import {dialects} from '@form8ion/javascript-core';\n\nexport default function ({babelPreset, typescript}) {\n return [\n {name: 'Common JS (no transpilation)', value: dialects.COMMON_JS, short: 'cjs'},\n ...babelPreset ? [{name: 'Modern JavaScript (transpiled)', value: dialects.BABEL, short: 'modern'}] : [],\n {name: 'ESM-only (no transpilation)', value: dialects.ESM, short: 'esm'},\n ...typescript ? [{name: 'TypeScript', value: dialects.TYPESCRIPT, short: 'ts'}] : []\n ];\n}\n","import {projectTypes} from '@form8ion/javascript-core';\nimport {questionNames as commonQuestionNames} from '@travi/language-scaffolder-prompts';\n\nimport {questionNames} from './question-names.js';\n\nfunction projectIsCLI(answers) {\n return projectTypes.CLI === answers[questionNames.PROJECT_TYPE];\n}\n\nexport function projectIsPackage(answers) {\n return projectTypes.PACKAGE === answers[questionNames.PROJECT_TYPE];\n}\n\nexport function projectIsApplication(answers) {\n return projectTypes.APPLICATION === answers[questionNames.PROJECT_TYPE];\n}\n\nfunction packageShouldBeScoped(visibility, answers) {\n return 'Private' === visibility || answers[questionNames.SHOULD_BE_SCOPED];\n}\n\nfunction willBePublishedToNpm(answers) {\n return projectIsPackage(answers) || projectIsCLI(answers);\n}\n\nexport function shouldBeScopedPromptShouldBePresented(answers) {\n return willBePublishedToNpm(answers);\n}\n\nexport function scopePromptShouldBePresentedFactory(visibility) {\n return answers => willBePublishedToNpm(answers) && packageShouldBeScoped(visibility, answers);\n}\n\nexport function lintingPromptShouldBePresented({\n [commonQuestionNames.UNIT_TESTS]: unitTested,\n [commonQuestionNames.INTEGRATION_TESTS]: integrationTested\n}) {\n return !unitTested && !integrationTested;\n}\n","export function scope(visibility) {\n return input => {\n if (!input && 'Private' === visibility) {\n return 'Private packages must be scoped (https://docs.npmjs.com/private-modules/intro#setting-up-your-package)';\n }\n\n return true;\n };\n}\n","import {packageManagers, projectTypes} from '@form8ion/javascript-core';\nimport {prompt as promptWithInquirer} from '@form8ion/overridable-prompts';\nimport {questionNames as commonQuestionNames, questions as commonQuestions} from '@travi/language-scaffolder-prompts';\nimport {warn} from '@travi/cli-messages';\n\nimport {execa} from 'execa';\nimport npmConfFactory from '../../thirdparty-wrappers/npm-conf.js';\nimport buildDialectChoices from '../dialects/prompt-choices.js';\nimport {\n lintingPromptShouldBePresented,\n projectIsApplication,\n projectIsPackage,\n scopePromptShouldBePresentedFactory,\n shouldBeScopedPromptShouldBePresented\n} from './conditionals.js';\nimport {questionNames} from './question-names.js';\nimport {scope as validateScope} from './validators.js';\n\nfunction authorQuestions({name, email, url}) {\n return [\n {\n name: questionNames.AUTHOR_NAME,\n message: 'What is the author\\'s name?',\n default: name\n },\n {\n name: questionNames.AUTHOR_EMAIL,\n message: 'What is the author\\'s email?',\n default: email\n },\n {\n name: questionNames.AUTHOR_URL,\n message: 'What is the author\\'s website url?',\n default: url\n }\n ];\n}\n\nexport async function prompt(\n ciServices,\n hosts,\n visibility,\n vcs,\n decisions,\n configs,\n pathWithinParent\n) {\n const npmConf = npmConfFactory();\n\n let maybeLoggedInNpmUsername;\n try {\n maybeLoggedInNpmUsername = (await execa('npm', ['whoami'])).stdout;\n } catch (failedExecutionResult) {\n if (!decisions[questionNames.SCOPE]) {\n warn('No logged in user found with `npm whoami`. Login with `npm login` '\n + 'to use your npm account name as the package scope default.');\n }\n }\n\n const {\n [commonQuestionNames.UNIT_TESTS]: unitTested,\n [commonQuestionNames.INTEGRATION_TESTS]: integrationTested,\n [questionNames.PROJECT_TYPE]: projectType,\n [commonQuestionNames.CI_SERVICE]: ci,\n [questionNames.HOST]: chosenHost,\n [questionNames.SCOPE]: scope,\n [questionNames.NODE_VERSION_CATEGORY]: nodeVersionCategory,\n [questionNames.AUTHOR_NAME]: authorName,\n [questionNames.AUTHOR_EMAIL]: authorEmail,\n [questionNames.AUTHOR_URL]: authorUrl,\n [questionNames.CONFIGURE_LINTING]: configureLinting,\n [questionNames.PROVIDE_EXAMPLE]: provideExample,\n [questionNames.PACKAGE_MANAGER]: packageManager,\n [questionNames.DIALECT]: dialect\n } = await promptWithInquirer([\n {\n name: questionNames.DIALECT,\n message: 'Which JavaScript dialect should this project follow?',\n type: 'list',\n choices: buildDialectChoices(configs),\n default: 'babel'\n },\n ...pathWithinParent ? [] : [{\n name: questionNames.NODE_VERSION_CATEGORY,\n message: 'What node.js version should be used?',\n type: 'list',\n choices: ['LTS', 'Latest'],\n default: 'LTS'\n }],\n {\n name: questionNames.PACKAGE_MANAGER,\n message: 'Which package manager will be used with this project?',\n type: 'list',\n choices: Object.values(packageManagers),\n default: packageManagers.NPM\n },\n {\n name: questionNames.PROJECT_TYPE,\n message: 'What type of JavaScript project is this?',\n type: 'list',\n choices: [...Object.values(projectTypes), 'Other'],\n default: projectTypes.PACKAGE\n },\n ...'Private' === visibility ? [] : [{\n name: questionNames.SHOULD_BE_SCOPED,\n message: 'Should this package be scoped?',\n type: 'confirm',\n when: shouldBeScopedPromptShouldBePresented,\n default: true\n }],\n {\n name: questionNames.SCOPE,\n message: 'What is the scope?',\n when: scopePromptShouldBePresentedFactory(visibility),\n validate: validateScope(visibility),\n default: maybeLoggedInNpmUsername\n },\n ...authorQuestions({\n name: npmConf.get('init.author.name'),\n email: npmConf.get('init.author.email'),\n url: npmConf.get('init.author.url')\n }),\n ...commonQuestions(({vcs, ciServices, pathWithinParent})),\n {\n name: questionNames.CONFIGURE_LINTING,\n message: 'Will there be source code that should be linted?',\n type: 'confirm',\n when: lintingPromptShouldBePresented\n },\n {\n name: questionNames.PROVIDE_EXAMPLE,\n message: 'Should an example be provided in the README?',\n type: 'confirm',\n when: projectIsPackage\n },\n {\n name: questionNames.HOST,\n type: 'list',\n message: 'Where will the application be hosted?',\n when: projectIsApplication,\n choices: [...Object.keys(hosts), 'Other']\n }\n ], decisions);\n\n return {\n tests: {unit: unitTested, integration: integrationTested},\n projectType,\n ci,\n chosenHost,\n scope,\n nodeVersionCategory,\n author: {name: authorName, email: authorEmail, url: authorUrl},\n configureLinting: false !== configureLinting,\n provideExample,\n packageManager,\n dialect\n };\n}\n","import {fileTypes} from '@form8ion/core';\nimport {write} from '@form8ion/config-file';\n\nexport default function ({projectRoot, config}) {\n return write({path: projectRoot, name: 'babel', format: fileTypes.JSON, config});\n}\n","import {fileTypes, loadConfigFile} from '@form8ion/core';\n\nexport default function ({projectRoot}) {\n return loadConfigFile({path: projectRoot, name: '.babelrc', format: fileTypes.JSON});\n}\n","import writeConfig from './writer.js';\nimport loadConfig from './loader.js';\n\nexport default async function ({projectRoot, ignore}) {\n if (ignore) {\n const existingConfig = await loadConfig({projectRoot});\n\n await writeConfig({projectRoot, config: {...existingConfig, ignore: [`./${ignore}/`]}});\n }\n}\n","import {write} from './config/index.js';\n\nexport default async function ({projectRoot, preset}) {\n if (!preset) {\n throw new Error('No babel preset provided. Cannot configure babel transpilation');\n }\n\n await write({projectRoot, config: {presets: [preset.name]}});\n\n return {\n dependencies: {javascript: {development: ['@babel/register', preset.packageName]}},\n eslint: {}\n };\n}\n","import {addIgnore} from './config/index.js';\n\nexport default async function ({results, projectRoot}) {\n await addIgnore({ignore: results.buildDirectory, projectRoot});\n\n return {};\n}\n","import {fileExists} from '@form8ion/core';\n\nexport default function ({projectRoot}) {\n return fileExists(`${projectRoot}/.babelrc.json`);\n}\n","import {fileTypes, writeConfigFile} from '@form8ion/core';\nimport {projectTypes} from '@form8ion/javascript-core';\n\nexport default async function ({config, projectType, projectRoot, testFilenamePattern}) {\n const shareableTsConfigPackage = `${config.scope}/tsconfig`;\n\n await writeConfigFile({\n path: projectRoot,\n name: 'tsconfig',\n format: fileTypes.JSON,\n config: {\n $schema: 'https://json.schemastore.org/tsconfig',\n extends: shareableTsConfigPackage,\n compilerOptions: {\n rootDir: 'src',\n ...projectTypes.PACKAGE === projectType && {\n outDir: 'lib',\n declaration: true\n }\n },\n include: ['src/**/*.ts'],\n ...testFilenamePattern && {exclude: [testFilenamePattern]}\n }\n });\n\n return {\n eslint: {configs: ['typescript']},\n dependencies: {javascript: {development: ['typescript', shareableTsConfigPackage]}},\n vcsIgnore: {files: ['tsconfig.tsbuildinfo']}\n };\n}\n","import {dialects} from '@form8ion/javascript-core';\n\nimport {scaffold as scaffoldBabel} from './babel/index.js';\nimport {scaffold as scaffoldTypescript} from './typescript/index.js';\n\nexport default function ({dialect, projectType, projectRoot, configs, testFilenamePattern}) {\n switch (dialect) {\n case dialects.BABEL:\n return scaffoldBabel({preset: configs.babelPreset, projectRoot});\n case dialects.TYPESCRIPT:\n return scaffoldTypescript({config: configs.typescript, projectType, projectRoot, testFilenamePattern});\n default:\n return {};\n }\n}\n","import {promises as fs} from 'node:fs';\nimport {stringify} from 'ini';\n\nexport default async function ({projectRoot, config}) {\n await fs.writeFile(`${projectRoot}/.npmrc`, stringify(config));\n}\n","import {projectTypes} from '@form8ion/javascript-core';\n\nimport write from './writer.js';\n\nfunction projectWillNotBeConsumed(projectType) {\n return projectTypes.APPLICATION === projectType || projectTypes.CLI === projectType;\n}\n\nexport default async function ({projectRoot, projectType}) {\n await write({\n projectRoot,\n config: {'update-notifier': false, ...projectWillNotBeConsumed(projectType) && {'save-exact': true}}\n });\n\n return {scripts: {'lint:peer': 'npm ls >/dev/null'}};\n}\n","import {fileExists} from '@form8ion/core';\n\nexport default function ({projectRoot}) {\n return fileExists(`${projectRoot}/.npmrc`);\n}\n","import {parse} from 'ini';\nimport {promises as fs} from 'node:fs';\nimport {fileExists} from '@form8ion/core';\n\nexport default async function ({projectRoot}) {\n const pathToConfig = `${projectRoot}/.npmrc`;\n\n if (!(await fileExists(pathToConfig))) return {};\n\n return parse(await fs.readFile(pathToConfig, 'utf-8'));\n}\n","import read from './reader.js';\nimport write from './writer.js';\n\nexport default async function ({projectRoot}) {\n const {\n provenance,\n 'engines-strict': enginesStrict,\n ...remainingProperties\n } = await read({projectRoot});\n\n await write({projectRoot, config: remainingProperties});\n\n return {};\n}\n","import {promises as fs} from 'node:fs';\nimport {execa} from 'execa';\nimport {writePackageJson} from '@form8ion/javascript-core';\n\nexport default async function ({projectRoot}) {\n const [packageContents, {stdout}] = await Promise.all([\n fs.readFile(`${projectRoot}/package.json`, 'utf-8'),\n execa('npm', ['--version'])\n ]);\n const existingPackageJsonContents = JSON.parse(packageContents);\n\n await writePackageJson({\n projectRoot,\n config: {\n ...existingPackageJsonContents,\n packageManager: `npm@${stdout}`\n }\n });\n}\n","import {packageManagers} from '@form8ion/javascript-core';\n\nexport default function (packageManager) {\n const lockfilePaths = {\n [packageManagers.NPM]: 'package-lock.json',\n [packageManagers.YARN]: 'yarn.lock'\n };\n\n return lockfilePaths[packageManager];\n}\n","import {fileExists} from '@form8ion/core';\nimport {packageManagers} from '@form8ion/javascript-core';\n\nimport determineLockfilePath from '../lockfile-path-resolver.js';\n\nexport default function ({projectRoot, pinnedPackageManager = ''}) {\n const [packageManager] = pinnedPackageManager.split('@');\n\n return packageManagers.NPM === packageManager\n || fileExists(`${projectRoot}/${determineLockfilePath(packageManagers.NPM)}`);\n}\n","import {promises as fs} from 'node:fs';\nimport {execa} from 'execa';\nimport {writePackageJson} from '@form8ion/javascript-core';\n\nexport default async function ({projectRoot}) {\n const [packageContents, {stdout}] = await Promise.all([\n fs.readFile(`${projectRoot}/package.json`, 'utf-8'),\n execa('yarn', ['--version'])\n ]);\n const existingPackageJsonContents = JSON.parse(packageContents);\n\n await writePackageJson({\n projectRoot,\n config: {\n ...existingPackageJsonContents,\n packageManager: `yarn@${stdout}`\n }\n });\n}\n","import {fileExists} from '@form8ion/core';\nimport {packageManagers} from '@form8ion/javascript-core';\n\nimport determineLockfilePath from '../lockfile-path-resolver.js';\n\nexport default function ({projectRoot, pinnedPackageManager = ''}) {\n const [packageManager] = pinnedPackageManager.split('@');\n\n return packageManagers.YARN === packageManager\n || fileExists(`${projectRoot}/${determineLockfilePath(packageManagers.YARN)}`);\n}\n","import {test as npmIsUsed} from './npm/index.js';\nimport {test as yarnIsUsed} from './yarn/index.js';\n\nexport default async function ({projectRoot}) {\n const [npmFound, yarnFound] = await Promise.all([\n npmIsUsed({projectRoot}),\n yarnIsUsed({projectRoot})\n ]);\n\n return npmFound || yarnFound;\n}\n","import {execa} from 'execa';\n\nexport default async function () {\n await execa('corepack', ['use', 'npm@latest']);\n}\n","import {lift as liftCorepack} from '../corepack/index.js';\n\nexport default async function () {\n await liftCorepack();\n\n return {};\n}\n","import {scaffold as scaffoldNpm} from './npm/index.js';\nimport {scaffold as scaffoldYarn} from './yarn/index.js';\n\nconst scaffolders = {\n npm: scaffoldNpm,\n yarn: scaffoldYarn\n};\n\nexport default function ({projectRoot, packageManager}) {\n return scaffolders[packageManager]({projectRoot});\n}\n","import {promises as fs} from 'node:fs';\nimport {packageManagers} from '@form8ion/javascript-core';\n\nimport {test as npmIsUsed} from './npm/index.js';\nimport {test as yarnIsUsed} from './yarn/index.js';\n\nexport default async function ({projectRoot, packageManager}) {\n if (packageManager) return packageManager;\n\n const {packageManager: pinnedPackageManager} = JSON.parse(await fs.readFile(`${projectRoot}/package.json`, 'utf-8'));\n\n if (await npmIsUsed({projectRoot, pinnedPackageManager})) {\n return packageManagers.NPM;\n }\n\n if (await yarnIsUsed({projectRoot, pinnedPackageManager})) {\n return packageManagers.YARN;\n }\n\n throw new Error('Package-manager could not be determined');\n}\n","import {packageManagers} from '@form8ion/javascript-core';\n\nexport default function (packageManager) {\n if (packageManagers.NPM === packageManager) return 'npm run generate:md';\n if (packageManagers.YARN === packageManager) return 'yarn generate:md';\n\n throw new Error(\n `The ${packageManager} package manager is currently not supported. `\n + `Only ${Object.values(packageManagers).join(' and ')} are currently supported.`\n );\n}\n","import buildGenerationCommand from './generation-command.js';\n\nexport default function ({projectTypeResults, packageManager}) {\n return {\n toc: `Run \\`${buildGenerationCommand(packageManager)}\\` to generate a table of contents`,\n ...projectTypeResults.documentation,\n contributing: `### Dependencies\n\n\\`\\`\\`sh\n$ nvm install\n$ ${packageManager} install\n\\`\\`\\`\n\n### Verification\n\n\\`\\`\\`sh\n$ ${packageManager} test\n\\`\\`\\``\n };\n}\n","import {info} from '@travi/cli-messages';\n\nimport {execa} from 'execa';\n\nexport async function determineLatestVersionOf(nodeVersionCategory) {\n info('Determining version of node', {level: 'secondary'});\n\n const {stdout: nvmLsOutput} = await execa(\n `. ~/.nvm/nvm.sh && nvm ls-remote${('LTS' === nodeVersionCategory) ? ' --lts' : ''}`,\n {shell: true}\n );\n\n const lsLines = nvmLsOutput.split('\\n');\n const lsLine = lsLines[lsLines.length - 2];\n\n return lsLine.match(/(v[0-9]+)\\.[0-9]+\\.[0-9]+/)[1];\n}\n\nexport function install(nodeVersionCategory) {\n info(`Installing ${nodeVersionCategory} version of node using nvm`, {level: 'secondary'});\n\n const subprocess = execa('. ~/.nvm/nvm.sh && nvm install', {shell: true});\n subprocess.stdout.pipe(process.stdout);\n return subprocess;\n}\n","import {promises as fs} from 'node:fs';\nimport {info} from '@travi/cli-messages';\n\nimport {determineLatestVersionOf, install as installNodeVersion} from './tasks.js';\n\nexport default async function ({projectRoot, nodeVersionCategory}) {\n if (!nodeVersionCategory) return undefined;\n\n const lowerCaseCategory = nodeVersionCategory.toLowerCase();\n info(`Configuring ${lowerCaseCategory} version of node`);\n\n const version = await determineLatestVersionOf(nodeVersionCategory);\n\n await fs.writeFile(`${projectRoot}/.nvmrc`, version);\n\n await installNodeVersion(nodeVersionCategory);\n\n return version;\n}\n","import {fileExists} from '@form8ion/core';\n\nexport default function ({projectRoot}) {\n return fileExists(`${projectRoot}/.nvmrc`);\n}\n","export default function (vcsIgnoreLists = {}) {\n return {\n files: vcsIgnoreLists.files || [],\n directories: ['/node_modules/', ...vcsIgnoreLists.directories || []]\n };\n}\n","import {EOL} from 'os';\nimport validatePackageName from '../../thirdparty-wrappers/validate-npm-package-name.js';\n\nexport default function (projectName, scope) {\n const name = `${scope ? `@${scope}/` : ''}${projectName}`;\n\n const {validForNewPackages, errors} = validatePackageName(name);\n\n if (validForNewPackages) return name;\n if (1 === errors.length && errors.includes('name cannot start with a period')) return projectName.slice(1);\n\n throw new Error(`The package name ${name} is invalid:${EOL}\\t* ${errors.join(`${EOL}\\t* `)}`);\n}\n","import {dialects} from '@form8ion/javascript-core';\n\nexport default function ({\n packageName,\n dialect,\n license,\n author,\n description\n}) {\n return {\n name: packageName,\n description,\n license,\n type: dialects.ESM === dialect ? 'module' : 'commonjs',\n author: `${author.name}${author.email ? ` <${author.email}>` : ''}${author.url ? ` (${author.url})` : ''}`,\n scripts: {}\n };\n}\n","import {info} from '@travi/cli-messages';\nimport {writePackageJson} from '@form8ion/javascript-core';\n\nimport buildPackageName from './package-name.js';\nimport buildPackageDetails from './details.js';\n\nexport default async function ({\n projectRoot,\n projectName,\n scope,\n dialect,\n license,\n author,\n description\n}) {\n info('Configuring package.json');\n\n const packageName = buildPackageName(projectName, scope);\n\n await writePackageJson({\n projectRoot,\n config: await buildPackageDetails({\n packageName,\n dialect,\n license,\n author,\n description\n })\n });\n\n return {packageName};\n}\n","import sortProperties from 'sort-object-keys';\n\nexport default function (packageContents) {\n return sortProperties(\n packageContents,\n [\n 'name',\n 'description',\n 'license',\n 'version',\n 'private',\n 'type',\n 'engines',\n 'author',\n 'contributors',\n 'repository',\n 'bugs',\n 'homepage',\n 'funding',\n 'keywords',\n 'runkitExampleFilename',\n 'exports',\n 'bin',\n 'main',\n 'module',\n 'types',\n 'sideEffects',\n 'scripts',\n 'files',\n 'publishConfig',\n 'packageManager',\n 'config',\n 'dependencies',\n 'devDependencies',\n 'peerDependencies'\n ]\n );\n}\n","export default function (vcs, pathWithinParent) {\n return vcs && 'github' === vcs.host && {\n repository: pathWithinParent\n ? {\n type: 'git',\n url: `https://github.com/${vcs.owner}/${vcs.name}.git`,\n directory: pathWithinParent\n }\n : `${vcs.owner}/${vcs.name}`,\n bugs: `https://github.com/${vcs.owner}/${vcs.name}/issues`\n };\n}\n","import {DEV_DEPENDENCY_TYPE, PROD_DEPENDENCY_TYPE, packageManagers} from '@form8ion/javascript-core';\n\nexport const details = {\n [packageManagers.NPM]: {\n installationCommand: 'install',\n installationFlags: {\n [DEV_DEPENDENCY_TYPE]: `save-${DEV_DEPENDENCY_TYPE}`,\n [PROD_DEPENDENCY_TYPE]: `save-${PROD_DEPENDENCY_TYPE}`,\n exact: 'save-exact'\n }\n },\n [packageManagers.YARN]: {\n installationCommand: 'add',\n installationFlags: {\n [DEV_DEPENDENCY_TYPE]: DEV_DEPENDENCY_TYPE,\n [PROD_DEPENDENCY_TYPE]: PROD_DEPENDENCY_TYPE,\n exact: 'exact'\n }\n }\n};\n\nexport function getInstallationCommandFor(manager) {\n return details[manager].installationCommand;\n}\n\nexport function getDependencyTypeFlag(manager, type) {\n return details[manager].installationFlags[type];\n}\n\nexport function getExactFlag(manager) {\n return details[manager].installationFlags.exact;\n}\n","import {info, warn} from '@travi/cli-messages';\nimport {DEV_DEPENDENCY_TYPE, packageManagers} from '@form8ion/javascript-core';\n\nimport {execa} from 'execa';\nimport {getDependencyTypeFlag, getExactFlag, getInstallationCommandFor} from './package-managers.js';\n\nexport default async function (dependencies, dependenciesType, projectRoot, packageManager = packageManagers.NPM) {\n if (dependencies.length) {\n info(`Installing ${dependenciesType} dependencies`, {level: 'secondary'});\n\n await execa(\n `. ~/.nvm/nvm.sh && nvm use && ${packageManager} ${\n getInstallationCommandFor(packageManager)\n } ${[...new Set(dependencies)].join(' ')} --${getDependencyTypeFlag(packageManager, dependenciesType)}${\n DEV_DEPENDENCY_TYPE === dependenciesType ? ` --${getExactFlag(packageManager)}` : ''\n }`,\n {shell: true, cwd: projectRoot}\n );\n } else warn(`No ${dependenciesType} dependencies to install`);\n}\n","import {error, info} from '@travi/cli-messages';\nimport {DEV_DEPENDENCY_TYPE, PROD_DEPENDENCY_TYPE} from '@form8ion/javascript-core';\n\nimport install from './installer.js';\n\nexport default async function ({dependencies = {}, devDependencies, projectRoot, packageManager}) {\n info('Processing dependencies');\n\n if (Array.isArray(devDependencies)) {\n throw new Error(\n `devDependencies provided as: ${devDependencies}. Instead, provide under dependencies.javascript.development`\n );\n }\n\n if (Array.isArray(dependencies)) {\n throw new Error(`Expected dependencies to be an object. Instead received: ${dependencies}`);\n }\n\n const {javascript: {production = [], development = []} = {}} = dependencies;\n\n try {\n await install(production, PROD_DEPENDENCY_TYPE, projectRoot, packageManager);\n await install(development, DEV_DEPENDENCY_TYPE, projectRoot, packageManager);\n } catch (e) {\n error('Failed to update dependencies');\n error(e, {level: 'secondary'});\n }\n}\n","function projectWillBeTested(scripts) {\n return Object.keys(scripts).find(scriptName => scriptName.startsWith('test:'));\n}\n\nfunction projectShouldBeBuiltForVerification(scripts) {\n return 'run-s build' === scripts['pregenerate:md'];\n}\n\nexport default function (scripts) {\n return {\n ...scripts,\n test: `npm-run-all --print-label${\n projectShouldBeBuiltForVerification(scripts) ? ' build' : ''\n } --parallel lint:*${\n projectWillBeTested(scripts) ? ' --parallel test:*' : ''\n }`\n };\n}\n","import updateTestScript from './test-script-updater.js';\n\nexport default function ({existingScripts, scripts}) {\n return {\n scripts: updateTestScript({...existingScripts, ...scripts}),\n dependencies: {javascript: {development: ['npm-run-all2']}}\n };\n}\n","import {promises as fs} from 'node:fs';\nimport deepmerge from 'deepmerge';\nimport {info} from '@travi/cli-messages';\nimport {writePackageJson} from '@form8ion/javascript-core';\n\nimport sortPackageProperties from './property-sorter.js';\nimport defineVcsHostDetails from './vcs-host-details.js';\nimport {process as processDependencies} from '../dependencies/index.js';\nimport {lift as liftScripts} from './scripts/index.js';\n\nexport default async function ({\n projectRoot,\n scripts,\n tags,\n dependencies,\n devDependencies,\n packageManager,\n vcs,\n pathWithinParent\n}) {\n info('Updating `package.json`', {level: 'secondary'});\n\n const existingPackageJsonContents = JSON.parse(await fs.readFile(`${projectRoot}/package.json`, 'utf-8'));\n const {scripts: liftedScripts, dependencies: scriptDependencies} = liftScripts({\n existingScripts: existingPackageJsonContents.scripts,\n scripts\n });\n\n await writePackageJson({\n projectRoot,\n config: sortPackageProperties({\n ...existingPackageJsonContents,\n ...defineVcsHostDetails(vcs, pathWithinParent),\n scripts: liftedScripts,\n ...tags && {\n keywords: existingPackageJsonContents.keywords ? [...existingPackageJsonContents.keywords, ...tags] : tags\n }\n })\n });\n\n await processDependencies({\n dependencies: deepmerge(dependencies, scriptDependencies),\n devDependencies,\n projectRoot,\n packageManager\n });\n}\n","import {packageManagers} from '@form8ion/javascript-core';\n\nimport buildGenerationCommand from '../../documentation/generation-command.js';\n\nfunction getInstallationCommand(packageManager) {\n if (packageManagers.NPM === packageManager) return 'npm install';\n if (packageManagers.YARN === packageManager) return 'yarn add';\n\n throw new Error(\n `The ${packageManager} package manager is currently not supported. `\n + `Only ${Object.values(packageManagers).join(' and ')} are currently supported.`\n );\n}\n\nexport default function ({scope, packageName, packageManager, visibility, provideExample}) {\n return {\n usage: `### Installation\n${'Private' === visibility ? `\n:warning: this is a private package, so you will need to use an npm token with\naccess to private packages under \\`@${scope}\\`\n` : ''\n}\n\\`\\`\\`sh\n$ ${getInstallationCommand(packageManager)} ${packageName}\n\\`\\`\\`${provideExample\n ? `\n\n### Example\n\nrun \\`${buildGenerationCommand(packageManager)}\\` to inject the usage example`\n : ''\n}`\n };\n}\n","export default function ({projectVisibility}) {\n return 'Public' === projectVisibility ? 'public' : 'restricted';\n}\n","export default function (packageName, accessLevel) {\n return {\n consumer: {\n ...'public' === accessLevel && {\n npm: {\n img: `https://img.shields.io/npm/v/${packageName}?logo=npm`,\n text: 'npm',\n link: `https://www.npmjs.com/package/${packageName}`\n }\n }\n },\n status: {}\n };\n}\n","export default function ({provenance}) {\n if (provenance) {\n return {\n badges: {\n status: {\n slsa: {\n img: 'https://slsa.dev/images/gh-badge-level2.svg',\n url: 'https://slsa.dev',\n text: 'SLSA Level 2'\n }\n }\n }\n };\n }\n\n return {};\n}\n","import {mergeIntoExistingPackageJson} from '@form8ion/javascript-core';\n\nimport enhanceSlsa from './slsa.js';\n\nexport default async function ({projectRoot, packageDetails}) {\n const {publishConfig: {access}} = packageDetails;\n\n if ('public' === access) {\n await mergeIntoExistingPackageJson({projectRoot, config: {publishConfig: {provenance: true}}});\n\n return enhanceSlsa({provenance: true});\n }\n\n return {};\n}\n","import deepmerge from 'deepmerge';\nimport {mergeIntoExistingPackageJson} from '@form8ion/javascript-core';\n\nimport defineBadges from './badges.js';\nimport {lift as liftProvenance} from './provenance/index.js';\n\nexport default async function ({projectRoot, packageDetails}) {\n const {name: packageName, publishConfig: {access: packageAccessLevel}} = packageDetails;\n const homepage = `https://npm.im/${packageName}`;\n\n await mergeIntoExistingPackageJson({projectRoot, config: {homepage}});\n\n return deepmerge(\n await liftProvenance({packageDetails, projectRoot}),\n {\n homepage,\n dependencies: {javascript: {development: ['publint']}},\n scripts: {'lint:publish': 'publint --strict'},\n badges: defineBadges(packageName, packageAccessLevel)\n }\n );\n}\n","import defineBadges from './badges.js';\n\nexport default async function ({packageName, packageAccessLevel}) {\n return {\n badges: await defineBadges(packageName, packageAccessLevel)\n };\n}\n","import {prompt} from '@form8ion/overridable-prompts';\n\nimport {questionNames} from '../../../prompts/question-names.js';\n\nexport default async function ({bundlers, decisions}) {\n if (!Object.keys(bundlers).length) return 'Other';\n\n const answers = await prompt([{\n name: questionNames.PACKAGE_BUNDLER,\n type: 'list',\n message: 'Which bundler should be used?',\n choices: [...Object.keys(bundlers), 'Other']\n }], decisions);\n\n return answers[questionNames.PACKAGE_BUNDLER];\n}\n","import {scaffoldChoice as scaffoldChosenBundler} from '@form8ion/javascript-core';\nimport chooseBundler from './prompt.js';\n\nexport default async function ({projectRoot, projectType, bundlers, dialect, decisions}) {\n const chosenBundler = await chooseBundler({bundlers, decisions});\n\n return scaffoldChosenBundler(bundlers, chosenBundler, {projectRoot, projectType, dialect});\n}\n","import {resolve} from 'path';\nimport filedirname from 'filedirname';\n\nexport default function (fileName) {\n const [, __dirname] = filedirname();\n\n return resolve(__dirname, '..', 'templates', fileName);\n}\n","import {promises as fs} from 'fs';\nimport deepmerge from 'deepmerge';\nimport mustache from 'mustache';\nimport touch from 'touch';\nimport camelcase from 'camelcase';\nimport {dialects, projectTypes} from '@form8ion/javascript-core';\n\nimport {scaffold as scaffoldBundler} from '../publishable/bundler/index.js';\nimport determinePathToTemplateFile from '../../template-path.js';\n\nconst defaultBuildDirectory = 'lib';\n\nasync function createExample(projectRoot, projectName, dialect) {\n return fs.writeFile(\n `${projectRoot}/example.js`,\n mustache.render(\n await fs.readFile(determinePathToTemplateFile('example.mustache'), 'utf8'),\n {projectName: camelcase(projectName), esm: dialect === dialects.ESM}\n )\n );\n}\n\nasync function buildDetailsForCommonJsProject({projectRoot, projectName, provideExample}) {\n await Promise.all([\n touch(`${projectRoot}/index.js`),\n provideExample\n ? fs.writeFile(`${projectRoot}/example.js`, `const ${camelcase(projectName)} = require('.');\\n`)\n : Promise.resolve()\n ]);\n\n return {};\n}\n\nexport default async function ({\n projectRoot,\n projectName,\n visibility,\n packageName,\n packageBundlers,\n dialect,\n provideExample,\n decisions\n}) {\n if (dialects.COMMON_JS === dialect) return buildDetailsForCommonJsProject({projectRoot, projectName, provideExample});\n\n await fs.mkdir(`${projectRoot}/src`, {recursive: true});\n const [bundlerResults] = await Promise.all([\n scaffoldBundler({bundlers: packageBundlers, projectRoot, dialect, decisions, projectType: projectTypes.PACKAGE}),\n provideExample ? await createExample(projectRoot, projectName, dialect) : Promise.resolve,\n touch(`${projectRoot}/src/index.js`)\n ]);\n\n return deepmerge(\n bundlerResults,\n {\n dependencies: {javascript: {development: ['rimraf']}},\n scripts: {\n clean: `rimraf ./${defaultBuildDirectory}`,\n prebuild: 'run-s clean',\n build: 'npm-run-all --print-label --parallel build:*',\n prepack: 'run-s build',\n ...provideExample && {'pregenerate:md': 'run-s build'}\n },\n vcsIgnore: {directories: [`/${defaultBuildDirectory}/`]},\n buildDirectory: defaultBuildDirectory,\n badges: {\n consumer: {\n ...'Public' === visibility && {\n runkit: {\n img: `https://badge.runkitcdn.com/${packageName}.svg`,\n text: `Try ${packageName} on RunKit`,\n link: `https://npm.runkit.com/${packageName}`\n }\n }\n }\n }\n }\n );\n}\n","import deepmerge from 'deepmerge';\nimport {info} from '@travi/cli-messages';\nimport {dialects, mergeIntoExistingPackageJson} from '@form8ion/javascript-core';\n\nimport scaffoldPackageDocumentation from './documentation.js';\nimport determinePackageAccessLevelFromProjectVisibility from '../publishable/access-level.js';\nimport {scaffold as scaffoldPublishable} from '../publishable/index.js';\nimport buildDetails from './build-details.js';\n\nexport default async function ({\n projectRoot,\n projectName,\n packageName,\n packageManager,\n visibility,\n scope,\n packageBundlers,\n decisions,\n dialect,\n provideExample,\n publishRegistry\n}) {\n info('Scaffolding Package Details');\n\n const packageAccessLevel = determinePackageAccessLevelFromProjectVisibility({projectVisibility: visibility});\n const [detailsForBuild, publishableResults] = await Promise.all([\n buildDetails({\n projectRoot,\n projectName,\n packageBundlers,\n visibility,\n packageName,\n dialect,\n provideExample,\n decisions\n }),\n scaffoldPublishable({packageName, packageAccessLevel}),\n mergeIntoExistingPackageJson({\n projectRoot,\n config: {\n files: ['example.js', ...dialects.COMMON_JS === dialect ? ['index.js'] : ['lib/']],\n publishConfig: {\n access: packageAccessLevel,\n ...publishRegistry && {registry: publishRegistry}\n },\n sideEffects: false,\n ...'Public' === visibility && {runkitExampleFilename: './example.js'},\n ...dialects.BABEL === dialect && {\n main: './lib/index.js',\n module: './lib/index.mjs',\n exports: {\n module: './lib/index.mjs',\n require: './lib/index.js',\n import: './lib/index.mjs'\n }\n },\n ...dialects.ESM === dialect && {\n main: './lib/index.js',\n exports: './lib/index.js'\n },\n ...dialects.TYPESCRIPT === dialect && {\n main: './lib/index.js',\n module: './lib/index.mjs',\n types: './lib/index.d.ts',\n exports: {\n types: './lib/index.d.ts',\n require: './lib/index.js',\n import: './lib/index.mjs'\n }\n }\n }\n })\n ]);\n\n return deepmerge.all([\n publishableResults,\n {\n documentation: scaffoldPackageDocumentation({packageName, visibility, scope, packageManager, provideExample}),\n nextSteps: [\n {summary: 'Add the appropriate `save` flag to the installation instructions in the README'},\n {summary: 'Define supported node.js versions as `engines.node` in the `package.json` file'},\n {summary: 'Publish pre-release versions to npm until package is stable enough to publish v1.0.0'}\n ]\n },\n detailsForBuild\n ]);\n}\n","import {lift as liftPublishable} from '../publishable/index.js';\n\nexport default function ({projectRoot, packageDetails}) {\n return liftPublishable({projectRoot, packageDetails});\n}\n","export default async function ({packageDetails: {exports, publishConfig, bin}}) {\n return !!exports || (!!publishConfig && !bin);\n}\n","import {mergeIntoExistingPackageJson} from '@form8ion/javascript-core';\nimport {info} from '@travi/cli-messages';\n\nconst defaultBuildDirectory = 'public';\n\nexport default async function ({projectRoot}) {\n info('Scaffolding Application Details');\n\n await mergeIntoExistingPackageJson({projectRoot, config: {private: true}});\n\n const buildDirectory = defaultBuildDirectory;\n\n return {\n scripts: {\n clean: `rimraf ./${buildDirectory}`,\n start: `node ./${buildDirectory}/index.js`,\n prebuild: 'run-s clean'\n },\n dependencies: {javascript: {development: ['rimraf']}},\n vcsIgnore: {files: ['.env'], directories: [`/${buildDirectory}/`]},\n buildDirectory,\n nextSteps: []\n };\n}\n","export default function ({packageDetails}) {\n return !!packageDetails.private;\n}\n","import {mergeIntoExistingPackageJson} from '@form8ion/javascript-core';\nimport {info} from '@travi/cli-messages';\n\nexport default async function ({projectRoot}) {\n info('Scaffolding Monorepo Details');\n\n await mergeIntoExistingPackageJson({projectRoot, config: {private: true}});\n\n return {\n nextSteps: [{\n summary: 'Add packages to your new monorepo',\n description: 'Leverage [@form8ion/add-package-to-monorepo](https://npm.im/@form8ion/add-package-to-monorepo)'\n + ' to scaffold new packages into your new monorepo'\n }]\n };\n}\n","import deepmerge from 'deepmerge';\nimport {mergeIntoExistingPackageJson, projectTypes} from '@form8ion/javascript-core';\n\nimport determinePackageAccessLevelFromProjectVisibility from '../publishable/access-level.js';\nimport {scaffold as scaffoldPublishable} from '../publishable/index.js';\nimport {scaffold as scaffoldBundler} from '../publishable/bundler/index.js';\n\nconst defaultBuildDirectory = 'bin';\n\nexport default async function ({\n packageName,\n visibility,\n projectRoot,\n dialect,\n publishRegistry,\n decisions,\n packageBundlers\n}) {\n const packageAccessLevel = determinePackageAccessLevelFromProjectVisibility({projectVisibility: visibility});\n const [bundlerResults, publishableResults] = await Promise.all([\n scaffoldBundler({bundlers: packageBundlers, projectRoot, dialect, decisions, projectType: projectTypes.CLI}),\n scaffoldPublishable({packageName, packageAccessLevel}),\n mergeIntoExistingPackageJson({\n projectRoot,\n config: {\n bin: {},\n files: [`${defaultBuildDirectory}/`],\n publishConfig: {\n access: packageAccessLevel,\n ...publishRegistry && {registry: publishRegistry}\n }\n }\n })\n ]);\n\n return deepmerge.all([\n publishableResults,\n bundlerResults,\n {\n scripts: {\n clean: `rimraf ./${defaultBuildDirectory}`,\n prebuild: 'run-s clean',\n build: 'npm-run-all --print-label --parallel build:*',\n prepack: 'run-s build'\n },\n dependencies: {javascript: {production: ['update-notifier'], development: ['rimraf']}},\n vcsIgnore: {files: [], directories: [`/${defaultBuildDirectory}/`]},\n buildDirectory: defaultBuildDirectory,\n nextSteps: [{summary: 'Define supported node.js versions as `engines.node` in the `package.json` file'}]\n }\n ]);\n}\n","export default async function ({packageDetails: {bin}}) {\n return !!bin;\n}\n","import {lift as liftPublishable} from '../publishable/index.js';\n\nexport default function ({projectRoot, packageDetails}) {\n return liftPublishable({projectRoot, packageDetails});\n}\n","import {projectTypes} from '@form8ion/javascript-core';\n\nimport {scaffold as scaffoldPackageType} from './package/index.js';\nimport {scaffold as scaffoldApplicationType} from './application/index.js';\nimport {scaffold as scaffoldMonorepoType} from './monorepo/index.js';\nimport {scaffold as scaffoldCliType} from './cli/index.js';\n\nexport default async function ({\n projectType,\n projectRoot,\n projectName,\n packageName,\n packageManager,\n visibility,\n packageBundlers,\n scope,\n decisions,\n dialect,\n provideExample,\n publishRegistry\n}) {\n switch (projectType) {\n case projectTypes.PACKAGE:\n return scaffoldPackageType({\n projectRoot,\n projectName,\n packageName,\n packageManager,\n visibility,\n scope,\n packageBundlers,\n decisions,\n dialect,\n provideExample,\n publishRegistry\n });\n case projectTypes.APPLICATION:\n return scaffoldApplicationType({projectRoot});\n case projectTypes.CLI:\n return scaffoldCliType({\n packageName,\n visibility,\n projectRoot,\n dialect,\n publishRegistry,\n decisions,\n packageBundlers\n });\n case projectTypes.MONOREPO:\n return scaffoldMonorepoType({projectRoot});\n case 'Other':\n return {};\n default:\n throw new Error(`The project-type of ${projectType} is invalid`);\n }\n}\n","import {test as isPackage} from './package/index.js';\nimport {test as isCli} from './cli/index.js';\nimport {test as isApplication} from './application/index.js';\n\nexport default async function ({projectRoot, packageDetails}) {\n return await isPackage({projectRoot, packageDetails})\n || await isCli({projectRoot, packageDetails})\n || isApplication({projectRoot, packageDetails});\n}\n","import {mergeIntoExistingPackageJson} from '@form8ion/javascript-core';\n\nimport {test as isPackage, lift as liftPackage} from './package/index.js';\nimport {test as isCli, lift as liftCli} from './cli/index.js';\n\nfunction vcsRepositoryHostedOnGithub(vcs) {\n return vcs && 'github' === vcs.host;\n}\n\nexport default async function ({projectRoot, packageDetails, vcs}) {\n if (await isPackage({projectRoot, packageDetails})) return liftPackage({projectRoot, packageDetails});\n if (await isCli({projectRoot, packageDetails})) return liftCli({projectRoot, packageDetails});\n\n let homepage;\n\n if (vcsRepositoryHostedOnGithub(vcs)) {\n homepage = `https://github.com/${vcs.owner}/${vcs.name}#readme`;\n\n await mergeIntoExistingPackageJson({projectRoot, config: {homepage}});\n }\n\n return {homepage};\n}\n","import {prompt} from '@form8ion/overridable-prompts';\n\nimport {questionNames} from '../prompts/question-names.js';\n\nexport default async function ({types, projectType, decisions}) {\n if (!Object.keys(types).length) return 'Other';\n\n const answers = await prompt([{\n name: questionNames.PROJECT_TYPE_CHOICE,\n type: 'list',\n message: `What type of ${projectType} is this?`,\n choices: [...Object.keys(types), 'Other']\n }], decisions);\n\n return answers[questionNames.PROJECT_TYPE_CHOICE];\n}\n","import {scaffoldChoice} from '@form8ion/javascript-core';\n\nimport chooseProjectTypePlugin from './prompt.js';\n\nexport default async function ({\n projectRoot,\n projectType,\n projectName,\n packageName,\n packageManager,\n scope,\n dialect,\n tests,\n decisions,\n plugins\n}) {\n const pluginsForProjectType = plugins[projectType];\n\n if (!pluginsForProjectType) return {};\n\n const chosenType = await chooseProjectTypePlugin({types: pluginsForProjectType, decisions, projectType});\n\n return scaffoldChoice(\n pluginsForProjectType,\n chosenType,\n {projectRoot, projectName, packageName, packageManager, scope, tests, dialect}\n );\n}\n","import deepmerge from 'deepmerge';\n\nimport scaffoldUnitTesting from '../../../testing/unit.js';\n\nexport default async function ({\n projectRoot,\n visibility,\n tests: {unit, integration},\n vcs,\n unitTestFrameworks,\n decisions,\n dialect,\n pathWithinParent\n}) {\n const unitResults = unit\n ? await scaffoldUnitTesting({\n projectRoot,\n visibility,\n vcs,\n frameworks: unitTestFrameworks,\n decisions,\n dialect,\n pathWithinParent\n })\n : {};\n\n return deepmerge(\n {dependencies: {javascript: {development: [...(unit || integration) ? ['@travi/any'] : []]}}, eslint: {}},\n unitResults\n );\n}\n","export default function ({packageManager, registries = {}}) {\n return [\n ...!registries.registry ? [packageManager] : [],\n ...Object.values(Object.fromEntries(Object.entries(registries).filter(([scope]) => 'publish' !== scope)))\n ];\n}\n","import {fileTypes} from '@form8ion/core';\nimport {packageManagers} from '@form8ion/javascript-core';\nimport {write} from '@form8ion/config-file';\n\nimport buildAllowedHostsList from './allowed-hosts-builder.js';\nimport {defineLockfilePath as determineLockfilePathFor} from '../package-managers/index.js';\n\nconst lockfileLintSupportedPackageManagers = [packageManagers.NPM, packageManagers.YARN];\n\nfunction lockfileLintSupports(packageManager) {\n return lockfileLintSupportedPackageManagers.includes(packageManager);\n}\n\nexport default async function ({projectRoot, packageManager, registries}) {\n if (!lockfileLintSupports(packageManager)) {\n throw new Error(\n `The ${packageManager} package manager is currently not supported by lockfile-lint. `\n + `Only ${lockfileLintSupportedPackageManagers.join(' and ')} are currently supported.`\n );\n }\n\n await write({\n name: 'lockfile-lint',\n format: fileTypes.JSON,\n path: projectRoot,\n config: {\n path: determineLockfilePathFor(packageManager),\n type: packageManager,\n 'validate-https': true,\n 'allowed-hosts': buildAllowedHostsList({packageManager, registries})\n }\n });\n\n return {\n dependencies: {javascript: {development: ['lockfile-lint']}},\n scripts: {'lint:lockfile': 'lockfile-lint'}\n };\n}\n","import {fileExists} from '@form8ion/core';\n\nexport default function ({projectRoot}) {\n return fileExists(`${projectRoot}/.lockfile-lintrc.json`);\n}\n","import {fileTypes, loadConfigFile} from '@form8ion/core';\nimport {write as writeConfig} from '@form8ion/config-file';\n\nconst configName = 'lockfile-lint';\n\nexport function read({projectRoot}) {\n return loadConfigFile({name: `.${configName}rc`, format: fileTypes.JSON, path: projectRoot});\n}\n\nexport function write({projectRoot, config}) {\n return writeConfig({name: configName, format: fileTypes.JSON, path: projectRoot, config});\n}\n","import {scaffold as scaffoldLockfileLint} from '../lockfile-lint/index.js';\n\nexport default async function ({projectRoot, packageManager, registries}) {\n return scaffoldLockfileLint({projectRoot, packageManager, registries});\n}\n","import deepmerge from 'deepmerge';\nimport {scaffold as scaffoldHusky} from '@form8ion/husky';\n\nimport scaffoldTesting from './testing/index.js';\nimport {scaffold as scaffoldLinting} from '../../linting/index.js';\n\nexport async function scaffoldVerification({\n projectRoot,\n dialect,\n visibility,\n packageManager,\n vcs,\n registries,\n tests,\n unitTestFrameworks,\n decisions,\n pathWithinParent\n}) {\n const [testingResults, lintingResults, huskyResults] = await Promise.all([\n scaffoldTesting({\n projectRoot,\n tests,\n visibility,\n vcs,\n unitTestFrameworks,\n decisions,\n dialect,\n pathWithinParent\n }),\n scaffoldLinting({projectRoot, packageManager, registries, vcs, pathWithinParent}),\n scaffoldHusky({projectRoot, packageManager, pathWithinParent})\n ]);\n\n return deepmerge.all([testingResults, lintingResults, huskyResults]);\n}\n","import deepmerge from 'deepmerge';\nimport {fileTypes} from '@form8ion/core';\nimport {projectTypes} from '@form8ion/javascript-core';\nimport {write} from '@form8ion/config-file';\n\nexport default async function ({config, projectRoot, projectType, vcs}) {\n await write({\n format: fileTypes.JSON,\n path: projectRoot,\n name: 'remark',\n config: {\n settings: {\n listItemIndent: 'one',\n emphasis: '_',\n strong: '_',\n bullet: '*',\n incrementListMarker: false\n },\n plugins: [\n config,\n ['remark-toc', {tight: true}],\n ...projectTypes.PACKAGE === projectType ? [['remark-usage', {heading: 'example'}]] : [],\n ...!vcs ? [['validate-links', {repository: false}]] : []\n ]\n }\n });\n\n return deepmerge(\n {\n dependencies: {javascript: {development: [config, 'remark-cli', 'remark-toc']}},\n scripts: {\n 'lint:md': 'remark . --frail',\n 'generate:md': 'remark . --output'\n }\n },\n {...projectTypes.PACKAGE === projectType && {dependencies: {javascript: {development: ['remark-usage']}}}}\n );\n}\n","import deepmerge from 'deepmerge';\nimport {scaffold as scaffoldPrettier} from '@form8ion/prettier';\nimport {scaffold as scaffoldEslint} from '@form8ion/eslint';\n\nimport {scaffold as scaffoldRemark} from './remark/index.js';\n\nexport default async function ({\n projectRoot,\n projectType,\n configs,\n vcs,\n configureLinting\n}) {\n return deepmerge.all(await Promise.all([\n configs.eslint\n && configureLinting\n && scaffoldEslint({projectRoot, config: configs.eslint}),\n scaffoldRemark({\n projectRoot,\n projectType,\n vcs,\n config: configs.remark || '@form8ion/remark-lint-preset'\n }),\n scaffoldPrettier({projectRoot, config: configs.prettier})\n ].filter(Boolean)));\n}\n","import {applyEnhancers} from '@form8ion/core';\nimport * as eslintPlugin from '@form8ion/eslint';\n\nexport default function (options) {\n return applyEnhancers({options, enhancers: [eslintPlugin]});\n}\n","import {test as testForEslint} from '@form8ion/eslint';\n\nexport default function (options) {\n return testForEslint(options);\n}\n","import deepmerge from 'deepmerge';\nimport {info} from '@travi/cli-messages';\nimport {projectTypes, scaffoldChoice} from '@form8ion/javascript-core';\nimport {scaffold as scaffoldCommitConvention} from '@form8ion/commit-convention';\n\nimport {validate} from '../options/validator.js';\nimport {prompt} from '../prompts/questions.js';\nimport {scaffold as scaffoldDialect} from '../dialects/index.js';\nimport {scaffold as scaffoldNpmConfig} from '../npm-config/index.js';\nimport {scaffold as scaffoldPackageManager} from '../package-managers/index.js';\nimport scaffoldDocumentation from '../documentation/index.js';\nimport {scaffold as scaffoldNodeVersion} from '../node-version/index.js';\nimport buildVcsIgnoreLists from '../vcs/ignore-lists-builder.js';\nimport {scaffold as scaffoldPackage} from '../package/index.js';\nimport {scaffold as scaffoldProjectType} from '../project-type/index.js';\nimport {scaffold as scaffoldProjectTypePlugin} from '../project-type-plugin/index.js';\nimport buildDocumentationCommand from '../documentation/generation-command.js';\nimport {scaffold as scaffoldVerification} from './verification/index.js';\nimport {scaffold as scaffoldCodeStyle} from '../code-style/index.js';\n\nexport default async function (options) {\n info('Initializing JavaScript project');\n\n const {\n projectRoot,\n projectName,\n visibility,\n license,\n vcs,\n description,\n configs,\n decisions,\n pathWithinParent,\n plugins: {\n applicationTypes,\n packageTypes,\n monorepoTypes,\n packageBundlers,\n unitTestFrameworks,\n hosts,\n ciServices\n }\n } = validate(options);\n\n const {\n tests,\n projectType,\n ci,\n chosenHost,\n scope,\n nodeVersionCategory,\n author,\n configureLinting,\n provideExample,\n packageManager,\n dialect\n } = await prompt(ciServices, hosts, visibility, vcs, decisions, configs, pathWithinParent);\n\n info('Writing project files', {level: 'secondary'});\n\n const {packageName} = await scaffoldPackage({\n projectRoot,\n projectName,\n scope,\n dialect,\n license,\n author,\n description\n });\n const projectTypeResults = await scaffoldProjectType({\n projectType,\n projectRoot,\n projectName,\n packageName,\n packageManager,\n visibility,\n applicationTypes,\n packageTypes,\n monorepoTypes,\n packageBundlers,\n scope,\n tests,\n vcs,\n decisions,\n dialect,\n provideExample,\n publishRegistry: configs.registries.publish\n });\n const verificationResults = await scaffoldVerification({\n projectRoot,\n dialect,\n visibility,\n packageManager,\n vcs,\n registries: configs.registries,\n tests,\n unitTestFrameworks,\n decisions,\n pathWithinParent\n });\n const [nodeVersion, npmResults, dialectResults, codeStyleResults] = await Promise.all([\n scaffoldNodeVersion({projectRoot, nodeVersionCategory}),\n scaffoldNpmConfig({projectType, projectRoot}),\n scaffoldDialect({\n dialect,\n configs,\n projectRoot,\n projectType,\n testFilenamePattern: verificationResults.testFilenamePattern\n }),\n scaffoldCodeStyle({projectRoot, projectType, configs, vcs, configureLinting}),\n scaffoldPackageManager({projectRoot, packageManager})\n ]);\n const projectTypePluginResults = await scaffoldProjectTypePlugin({\n projectRoot,\n projectType,\n projectName,\n packageName,\n packageManager,\n scope,\n dialect,\n tests,\n decisions,\n plugins: {\n [projectTypes.PACKAGE]: packageTypes,\n [projectTypes.APPLICATION]: applicationTypes,\n [projectTypes.MONOREPO]: monorepoTypes\n }\n });\n const mergedContributions = deepmerge.all([\n ...(await Promise.all([\n scaffoldChoice(\n hosts,\n chosenHost,\n {buildDirectory: `./${projectTypeResults.buildDirectory}`, projectRoot, projectName, nodeVersion}\n ),\n scaffoldChoice(ciServices, ci, {projectRoot, vcs, visibility, projectType, projectName, nodeVersion, tests}),\n scaffoldCommitConvention({projectRoot, projectType, configs, pathWithinParent})\n ])),\n projectTypeResults,\n verificationResults,\n codeStyleResults,\n npmResults,\n dialectResults,\n projectTypePluginResults\n ]);\n\n return {\n ...mergedContributions,\n documentation: scaffoldDocumentation({projectTypeResults, packageManager}),\n tags: projectTypeResults.tags,\n vcsIgnore: buildVcsIgnoreLists(mergedContributions.vcsIgnore),\n verificationCommand: `${buildDocumentationCommand(packageManager)} && ${packageManager} test`\n };\n}\n","export default function () {\n return true;\n}\n","export default function (registries = {}) {\n return Object.entries(registries)\n .filter(([scope]) => 'publish' !== scope)\n .reduce((acc, [scope, url]) => {\n if ('registry' === scope) return {...acc, registry: url};\n\n return {...acc, [`@${scope}:registry`]: url};\n }, {registry: 'https://registry.npmjs.org'});\n}\n","import {\n scaffold as scaffoldLockfileLint,\n test as lockfileLintIsAlreadyConfigured,\n read as readLockfileLintConfig,\n write as writeLockfileLintConfig\n} from '../lockfile-lint/index.js';\nimport {read as readNpmConfig, write as writeNpmConfig} from '../npm-config/index.js';\nimport buildRegistriesConfig from './npm-config/list-builder.js';\nimport buildAllowedHostsList from '../lockfile-lint/allowed-hosts-builder.js';\n\nasync function updateRegistriesInNpmConfig(registries, projectRoot) {\n const registriesForNpmConfig = buildRegistriesConfig(registries);\n\n await writeNpmConfig({\n projectRoot,\n config: {\n ...(await readNpmConfig({projectRoot})),\n ...registriesForNpmConfig\n }\n });\n}\n\nasync function updateRegistriesInLockfileLintConfig(projectRoot, packageManager, registries) {\n await writeLockfileLintConfig({\n projectRoot,\n config: {\n ...await readLockfileLintConfig({projectRoot}),\n 'allowed-hosts': buildAllowedHostsList({packageManager, registries})\n }\n });\n}\n\nexport default async function ({projectRoot, packageManager, configs: {registries}}) {\n await updateRegistriesInNpmConfig(registries, projectRoot);\n\n if (!(await lockfileLintIsAlreadyConfigured({projectRoot}))) {\n return scaffoldLockfileLint({projectRoot, packageManager, registries});\n }\n\n await updateRegistriesInLockfileLintConfig(projectRoot, packageManager, registries);\n\n return {};\n}\n","import {promises as fs} from 'fs';\n\nexport async function test({projectRoot}) {\n const {engines} = JSON.parse(await fs.readFile(`${projectRoot}/package.json`, 'utf8'));\n\n return !!engines?.node;\n}\n\nexport async function lift({packageDetails: {name}}) {\n return {\n dependencies: {javascript: {development: ['ls-engines']}},\n scripts: {'lint:engines': 'ls-engines'},\n badges: {consumer: {node: {img: `https://img.shields.io/node/v/${name}?logo=node.js`, text: 'node'}}}\n };\n}\n","import {promises as fs} from 'node:fs';\nimport deepmerge from 'deepmerge';\nimport {info} from '@travi/cli-messages';\nimport {applyEnhancers} from '@form8ion/core';\nimport * as huskyPlugin from '@form8ion/husky';\nimport * as commitConventionPlugin from '@form8ion/commit-convention';\n\nimport * as registriesPlugin from '../registries/index.js';\nimport * as coveragePlugin from '../coverage/index.js';\nimport * as codeStylePlugin from '../code-style/index.js';\nimport * as npmConfigPlugin from '../npm-config/index.js';\nimport * as enginesEnhancer from './enhancers/engines.js';\nimport * as projectTypes from '../project-type/index.js';\nimport * as dialects from '../dialects/index.js';\nimport {lift as liftPackage} from '../package/index.js';\nimport * as packageManagers from '../package-managers/index.js';\nimport {determineCurrent as resolvePackageManager} from '../package-managers/index.js';\n\nexport default async function ({projectRoot, vcs, results, pathWithinParent, enhancers = {}, configs = {}}) {\n info('Lifting JavaScript-specific details');\n\n const [packageManager, packageContents] = await Promise.all([\n resolvePackageManager({projectRoot, packageManager: results.packageManager}),\n fs.readFile(`${projectRoot}/package.json`, 'utf8')\n ]);\n\n const enhancerResults = await applyEnhancers({\n results,\n enhancers: {\n ...enhancers,\n huskyPlugin,\n enginesEnhancer,\n coveragePlugin,\n commitConventionPlugin,\n dialects,\n codeStylePlugin,\n npmConfigPlugin,\n projectTypes,\n packageManagers,\n registriesPlugin\n },\n options: {packageManager, projectRoot, vcs, packageDetails: JSON.parse(packageContents), configs}\n });\n\n await liftPackage(deepmerge.all([{projectRoot, packageManager, vcs, pathWithinParent}, enhancerResults]));\n\n return enhancerResults;\n}\n","import {info} from '@travi/cli-messages';\n\nimport {test as nvmIsUsed} from './node-version/index.js';\nimport {test as jsPackageManagerIsUsed} from './package-managers/index.js';\n\nexport default async function ({projectRoot}) {\n const [nvmFound, jsPackageManagerFound] = await Promise.all([\n nvmIsUsed({projectRoot}),\n jsPackageManagerIsUsed({projectRoot})\n ]);\n\n const jsProjectFound = nvmFound || jsPackageManagerFound;\n\n if (jsProjectFound) info('JavaScript Project Detected');\n\n return jsProjectFound;\n}\n","import {questionNames as languageScaffolderPromptsQuestionNames} from '@travi/language-scaffolder-prompts';\n\nimport {questionNames as jsScaffolderQuestionNames} from './prompts/question-names.js';\n\nexport {default as scaffoldUnitTesting} from './testing/unit.js';\nexport {default as scaffold} from './scaffolder/index.js';\nexport {default as lift} from './lift/index.js';\nexport {default as test} from './tester.js';\nexport const questionNames = {...languageScaffolderPromptsQuestionNames, ...jsScaffolderQuestionNames};\n"],"names":["questionNames","write","scaffoldCodecov","fs","lift","liftCodecov","prompt","scaffoldFrameworkChoice","dialects","projectTypes","commonQuestionNames","npmConf","npmConfFactory","scope","promptWithInquirer","packageManagers","validateScope","commonQuestions","writeConfig","read","determineLockfilePath","buildGenerationCommand","install","installNodeVersion","scaffoldChosenBundler","defaultBuildDirectory","scaffoldHusky","scaffoldEslint","scaffoldPrettier","testForEslint","scaffoldCommitConvention","writeLockfileLintConfig","readLockfileLintConfig","liftPackage","languageScaffolderPromptsQuestionNames","jsScaffolderQuestionNames"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/prompts/question-names.js","../src/coverage/c8/scaffolder.js","../src/coverage/scaffolder.js","../src/coverage/nyc/tester.js","../src/coverage/nyc/remover.js","../src/coverage/lifter.js","../src/coverage/c8/tester.js","../src/coverage/tester.js","../src/testing/prompt.js","../src/plugins-schemas.js","../src/testing/unit.js","../src/options/schemas.js","../src/vcs/schema.js","../src/options/validator.js","../src/dialects/prompt-choices.js","../src/prompts/conditionals.js","../src/prompts/validators.js","../src/prompts/questions.js","../src/dialects/babel/config/writer.js","../src/dialects/babel/config/loader.js","../src/dialects/babel/config/ignore-adder.js","../src/dialects/babel/scaffolder.js","../src/dialects/babel/lifter.js","../src/dialects/babel/predicate.js","../src/dialects/typescript/scaffolder.js","../src/dialects/scaffolder.js","../src/npm-config/writer.js","../src/npm-config/scaffolder.js","../src/npm-config/tester.js","../src/npm-config/reader.js","../src/npm-config/lifter.js","../src/package-managers/npm/scaffolder.js","../src/package-managers/lockfile-path-resolver.js","../src/package-managers/npm/tester.js","../src/package-managers/yarn/scaffolder.js","../src/package-managers/yarn/tester.js","../src/package-managers/tester.js","../src/corepack/lifter.js","../src/package-managers/lifter.js","../src/package-managers/scaffolder.js","../src/package-managers/current-manager-resolver.js","../src/documentation/generation-command.js","../src/documentation/scaffolder.js","../src/node-version/tasks.js","../src/node-version/scaffolder.js","../src/node-version/tester.js","../src/vcs/ignore-lists-builder.js","../src/package/package-name.js","../src/package/details.js","../src/package/scaffolder.js","../src/package/property-sorter.js","../src/package/vcs-host-details.js","../src/dependencies/package-managers.js","../src/dependencies/installer.js","../src/dependencies/remover.js","../src/dependencies/processor.js","../src/package/scripts/test-script-updater.js","../src/package/scripts/lifter.js","../src/package/lifter.js","../src/project-type/package/documentation.js","../src/project-type/publishable/access-level.js","../src/project-type/publishable/badges.js","../src/project-type/publishable/provenance/slsa.js","../src/project-type/publishable/provenance/lifter.js","../src/project-type/publishable/lifter.js","../src/project-type/publishable/scaffolder.js","../src/project-type/publishable/bundler/prompt.js","../src/project-type/publishable/bundler/scaffolder.js","../src/template-path.js","../src/project-type/package/build-details.js","../src/project-type/package/scaffolder.js","../src/project-type/package/lifter.js","../src/project-type/package/tester.js","../src/project-type/application/scaffolder.js","../src/project-type/application/predicate.js","../src/project-type/monorepo/scaffolder.js","../src/project-type/cli/scaffolder.js","../src/project-type/cli/tester.js","../src/project-type/cli/lifter.js","../src/project-type/scaffolder.js","../src/project-type/tester.js","../src/project-type/lifter.js","../src/project-type-plugin/prompt.js","../src/project-type-plugin/scaffolder.js","../src/scaffolder/verification/testing/scaffolder.js","../src/lockfile-lint/allowed-hosts-builder.js","../src/lockfile-lint/scaffolder.js","../src/lockfile-lint/tester.js","../src/lockfile-lint/config.js","../src/linting/scaffolder.js","../src/scaffolder/verification/verifier.js","../src/code-style/remark/scaffolder.js","../src/code-style/scaffolder.js","../src/code-style/lifter.js","../src/code-style/tester.js","../src/scaffolder/scaffolder.js","../src/registries/tester.js","../src/registries/npm-config/list-builder.js","../src/registries/lifter.js","../src/lift/enhancers/engines.js","../src/lift/lift.js","../src/tester.js","../src/index.js"],"sourcesContent":["export const questionNames = {\n UNIT_TEST_FRAMEWORK: 'unitTestFramework',\n NODE_VERSION_CATEGORY: 'nodeVersionCategory',\n PACKAGE_MANAGER: 'packageManager',\n PACKAGE_BUNDLER: 'packageBundler',\n PROJECT_TYPE: 'projectType',\n PROJECT_TYPE_CHOICE: 'projectTypeChoice',\n SHOULD_BE_SCOPED: 'shouldBeScoped',\n SCOPE: 'scope',\n AUTHOR_NAME: 'authorName',\n AUTHOR_EMAIL: 'authorEmail',\n AUTHOR_URL: 'authorUrl',\n HOST: 'host',\n CONFIGURE_LINTING: 'configureLint',\n PROVIDE_EXAMPLE: 'provideExample',\n DIALECT: 'dialect'\n};\n","import {write} from '@form8ion/config-file';\nimport {fileTypes} from '@form8ion/core';\n\nexport default async function ({projectRoot}) {\n await write({\n name: 'c8',\n format: fileTypes.JSON,\n path: projectRoot,\n config: {\n reporter: ['lcov', 'text-summary', 'html'],\n exclude: ['src/**/*-test.js', 'test/', 'thirdparty-wrappers/', 'vendor/']\n }\n });\n\n return {\n dependencies: {javascript: {development: ['cross-env', 'c8']}},\n vcsIgnore: {files: [], directories: ['/coverage/']},\n eslint: {ignore: {directories: ['/coverage/']}}\n };\n}\n","import deepmerge from 'deepmerge';\nimport {scaffold as scaffoldCodecov} from '@form8ion/codecov';\n\nimport {scaffold as scaffoldC8} from './c8/index.js';\n\nexport default async function ({projectRoot, vcs, visibility, pathWithinParent}) {\n return deepmerge(await scaffoldC8({projectRoot}), await scaffoldCodecov({vcs, visibility, pathWithinParent}));\n}\n","import {fileExists} from '@form8ion/core';\n\nexport default function ({projectRoot}) {\n return fileExists(`${projectRoot}/.nycrc`);\n}\n","import {promises as fs} from 'node:fs';\n\nexport default async function ({projectRoot}) {\n await Promise.all([\n fs.unlink(`${projectRoot}/.nycrc`),\n fs.rm(`${projectRoot}/.nyc_output`, {recursive: true, force: true})\n ]);\n\n return {\n dependencies: {\n javascript: {\n remove: ['nyc', '@istanbuljs/nyc-config-babel', 'babel-plugin-istanbul']\n }\n }\n };\n}\n","import deepmerge from 'deepmerge';\nimport {lift as liftCodecov} from '@form8ion/codecov';\n\nimport {scaffold as scaffoldC8} from './c8/index.js';\nimport {test as nycIsConfigured, remove as removeNyc} from './nyc/index.js';\n\nexport async function lift({projectRoot, packageManager, vcs}) {\n const codecovResults = await liftCodecov({projectRoot, packageManager, vcs});\n\n if (await nycIsConfigured({projectRoot})) {\n const [c8Results, nycResults] = await Promise.all([\n scaffoldC8({projectRoot}),\n removeNyc({projectRoot})\n ]);\n\n return deepmerge.all([\n c8Results,\n nycResults,\n codecovResults,\n {\n scripts: {'test:unit': 'cross-env NODE_ENV=test c8 run-s test:unit:base'},\n nextSteps: [{\n summary: 'Remove use of `@istanbuljs/nyc-config-babel` from your babel config, if present,'\n + ' after the migration away from `nyc`'\n }]\n }\n ]);\n }\n\n return codecovResults;\n}\n","import {fileExists} from '@form8ion/core';\n\nexport default function ({projectRoot}) {\n return fileExists(`${projectRoot}/.c8rc.json`);\n}\n","import c8IsConfigured from './c8/tester.js';\nimport nycIsConfigured from './nyc/tester.js';\n\nexport default async function ({projectRoot}) {\n const [c8Exists, nycExists] = await Promise.all([c8IsConfigured({projectRoot}), nycIsConfigured({projectRoot})]);\n\n return c8Exists || nycExists;\n}\n","import {prompt} from '@form8ion/overridable-prompts';\nimport {questionNames} from '../prompts/question-names.js';\n\nexport default async function ({frameworks, decisions}) {\n if (!Object.keys(frameworks).length) return 'Other';\n\n const answers = await prompt([{\n name: questionNames.UNIT_TEST_FRAMEWORK,\n type: 'list',\n message: 'Which type of unit testing framework should be used?',\n choices: [...Object.keys(frameworks), 'Other']\n }], decisions);\n\n return answers[questionNames.UNIT_TEST_FRAMEWORK];\n}\n","import joi from 'joi';\nimport {optionsSchemas} from '@form8ion/core';\n\nexport const pluginsSchema = joi.object().pattern(/^/, optionsSchemas.form8ionPlugin).default({});\n","import deepmerge from 'deepmerge';\nimport {validateOptions} from '@form8ion/core';\nimport {scaffoldChoice as scaffoldFrameworkChoice} from '@form8ion/javascript-core';\n\nimport {scaffold as scaffoldCoverage} from '../coverage/index.js';\nimport chooseFramework from './prompt.js';\nimport {pluginsSchema} from '../plugins-schemas.js';\n\nexport default async function ({projectRoot, frameworks, decisions, visibility, vcs, pathWithinParent, dialect}) {\n const validatedFrameworks = validateOptions(pluginsSchema, frameworks);\n const [framework, coverage] = await Promise.all([\n chooseFramework({frameworks: validatedFrameworks, decisions})\n .then(chosenFramework => scaffoldFrameworkChoice(validatedFrameworks, chosenFramework, {projectRoot, dialect})),\n scaffoldCoverage({projectRoot, vcs, visibility, pathWithinParent})\n ]);\n\n return deepmerge.all([\n {scripts: {'test:unit': 'cross-env NODE_ENV=test c8 run-s test:unit:base'}},\n framework,\n coverage\n ]);\n}\n","import joi from 'joi';\n\nexport const scopeBasedConfigSchema = joi.object({scope: joi.string().regex(/^@[a-z0-9-]+$/i, 'scope').required()});\n\nexport const nameBasedConfigSchema = joi.object({\n packageName: joi.string().required(),\n name: joi.string().required()\n});\n\nexport const registriesSchema = joi.object().pattern(joi.string(), joi.string().uri()).default({});\n\nexport const visibilitySchema = joi.string().valid('Public', 'Private').required();\n\nexport const projectNameSchema = joi.string().regex(/^@\\w*\\//, {invert: true}).required();\n","import joi from 'joi';\n\nexport const vcsSchema = joi.object({\n host: joi.string().required(),\n owner: joi.string().required(),\n name: joi.string().required()\n});\n","import joi from 'joi';\nimport {validateOptions} from '@form8ion/core';\n\nimport {pluginsSchema} from '../plugins-schemas.js';\nimport {\n nameBasedConfigSchema,\n projectNameSchema,\n registriesSchema,\n scopeBasedConfigSchema,\n visibilitySchema\n} from './schemas.js';\nimport {vcsSchema} from '../vcs/schema.js';\n\nexport function validate(options) {\n const schema = joi.object({\n projectRoot: joi.string().required(),\n projectName: projectNameSchema,\n visibility: visibilitySchema,\n license: joi.string().required(),\n description: joi.string(),\n pathWithinParent: joi.string(),\n decisions: joi.object(),\n vcs: vcsSchema,\n configs: joi.object({\n eslint: scopeBasedConfigSchema,\n typescript: scopeBasedConfigSchema,\n prettier: scopeBasedConfigSchema,\n commitlint: nameBasedConfigSchema,\n babelPreset: nameBasedConfigSchema,\n remark: joi.string(),\n registries: registriesSchema\n }).default({registries: {}}),\n plugins: {\n unitTestFrameworks: pluginsSchema,\n packageBundlers: pluginsSchema,\n applicationTypes: pluginsSchema,\n packageTypes: pluginsSchema,\n monorepoTypes: pluginsSchema,\n hosts: pluginsSchema,\n ciServices: pluginsSchema\n }\n }).required();\n\n return validateOptions(schema, options);\n}\n","import {dialects} from '@form8ion/javascript-core';\n\nexport default function ({babelPreset, typescript}) {\n return [\n {name: 'Common JS (no transpilation)', value: dialects.COMMON_JS, short: 'cjs'},\n ...babelPreset ? [{name: 'Modern JavaScript (transpiled)', value: dialects.BABEL, short: 'modern'}] : [],\n {name: 'ESM-only (no transpilation)', value: dialects.ESM, short: 'esm'},\n ...typescript ? [{name: 'TypeScript', value: dialects.TYPESCRIPT, short: 'ts'}] : []\n ];\n}\n","import {projectTypes} from '@form8ion/javascript-core';\nimport {questionNames as commonQuestionNames} from '@travi/language-scaffolder-prompts';\n\nimport {questionNames} from './question-names.js';\n\nfunction projectIsCLI(answers) {\n return projectTypes.CLI === answers[questionNames.PROJECT_TYPE];\n}\n\nexport function projectIsPackage(answers) {\n return projectTypes.PACKAGE === answers[questionNames.PROJECT_TYPE];\n}\n\nexport function projectIsApplication(answers) {\n return projectTypes.APPLICATION === answers[questionNames.PROJECT_TYPE];\n}\n\nfunction packageShouldBeScoped(visibility, answers) {\n return 'Private' === visibility || answers[questionNames.SHOULD_BE_SCOPED];\n}\n\nfunction willBePublishedToNpm(answers) {\n return projectIsPackage(answers) || projectIsCLI(answers);\n}\n\nexport function shouldBeScopedPromptShouldBePresented(answers) {\n return willBePublishedToNpm(answers);\n}\n\nexport function scopePromptShouldBePresentedFactory(visibility) {\n return answers => willBePublishedToNpm(answers) && packageShouldBeScoped(visibility, answers);\n}\n\nexport function lintingPromptShouldBePresented({\n [commonQuestionNames.UNIT_TESTS]: unitTested,\n [commonQuestionNames.INTEGRATION_TESTS]: integrationTested\n}) {\n return !unitTested && !integrationTested;\n}\n","export function scope(visibility) {\n return input => {\n if (!input && 'Private' === visibility) {\n return 'Private packages must be scoped (https://docs.npmjs.com/private-modules/intro#setting-up-your-package)';\n }\n\n return true;\n };\n}\n","import {packageManagers, projectTypes} from '@form8ion/javascript-core';\nimport {prompt as promptWithInquirer} from '@form8ion/overridable-prompts';\nimport {questionNames as commonQuestionNames, questions as commonQuestions} from '@travi/language-scaffolder-prompts';\nimport {warn} from '@travi/cli-messages';\n\nimport {execa} from 'execa';\nimport npmConfFactory from '../../thirdparty-wrappers/npm-conf.js';\nimport buildDialectChoices from '../dialects/prompt-choices.js';\nimport {\n lintingPromptShouldBePresented,\n projectIsApplication,\n projectIsPackage,\n scopePromptShouldBePresentedFactory,\n shouldBeScopedPromptShouldBePresented\n} from './conditionals.js';\nimport {questionNames} from './question-names.js';\nimport {scope as validateScope} from './validators.js';\n\nfunction authorQuestions({name, email, url}) {\n return [\n {\n name: questionNames.AUTHOR_NAME,\n message: 'What is the author\\'s name?',\n default: name\n },\n {\n name: questionNames.AUTHOR_EMAIL,\n message: 'What is the author\\'s email?',\n default: email\n },\n {\n name: questionNames.AUTHOR_URL,\n message: 'What is the author\\'s website url?',\n default: url\n }\n ];\n}\n\nexport async function prompt(\n ciServices,\n hosts,\n visibility,\n vcs,\n decisions,\n configs,\n pathWithinParent\n) {\n const npmConf = npmConfFactory();\n\n let maybeLoggedInNpmUsername;\n try {\n maybeLoggedInNpmUsername = (await execa('npm', ['whoami'])).stdout;\n } catch (failedExecutionResult) {\n if (!decisions[questionNames.SCOPE]) {\n warn('No logged in user found with `npm whoami`. Login with `npm login` '\n + 'to use your npm account name as the package scope default.');\n }\n }\n\n const {\n [commonQuestionNames.UNIT_TESTS]: unitTested,\n [commonQuestionNames.INTEGRATION_TESTS]: integrationTested,\n [questionNames.PROJECT_TYPE]: projectType,\n [commonQuestionNames.CI_SERVICE]: ci,\n [questionNames.HOST]: chosenHost,\n [questionNames.SCOPE]: scope,\n [questionNames.NODE_VERSION_CATEGORY]: nodeVersionCategory,\n [questionNames.AUTHOR_NAME]: authorName,\n [questionNames.AUTHOR_EMAIL]: authorEmail,\n [questionNames.AUTHOR_URL]: authorUrl,\n [questionNames.CONFIGURE_LINTING]: configureLinting,\n [questionNames.PROVIDE_EXAMPLE]: provideExample,\n [questionNames.PACKAGE_MANAGER]: packageManager,\n [questionNames.DIALECT]: dialect\n } = await promptWithInquirer([\n {\n name: questionNames.DIALECT,\n message: 'Which JavaScript dialect should this project follow?',\n type: 'list',\n choices: buildDialectChoices(configs),\n default: 'babel'\n },\n ...pathWithinParent ? [] : [{\n name: questionNames.NODE_VERSION_CATEGORY,\n message: 'What node.js version should be used?',\n type: 'list',\n choices: ['LTS', 'Latest'],\n default: 'LTS'\n }],\n {\n name: questionNames.PACKAGE_MANAGER,\n message: 'Which package manager will be used with this project?',\n type: 'list',\n choices: Object.values(packageManagers),\n default: packageManagers.NPM\n },\n {\n name: questionNames.PROJECT_TYPE,\n message: 'What type of JavaScript project is this?',\n type: 'list',\n choices: [...Object.values(projectTypes), 'Other'],\n default: projectTypes.PACKAGE\n },\n ...'Private' === visibility ? [] : [{\n name: questionNames.SHOULD_BE_SCOPED,\n message: 'Should this package be scoped?',\n type: 'confirm',\n when: shouldBeScopedPromptShouldBePresented,\n default: true\n }],\n {\n name: questionNames.SCOPE,\n message: 'What is the scope?',\n when: scopePromptShouldBePresentedFactory(visibility),\n validate: validateScope(visibility),\n default: maybeLoggedInNpmUsername\n },\n ...authorQuestions({\n name: npmConf.get('init.author.name'),\n email: npmConf.get('init.author.email'),\n url: npmConf.get('init.author.url')\n }),\n ...commonQuestions(({vcs, ciServices, pathWithinParent})),\n {\n name: questionNames.CONFIGURE_LINTING,\n message: 'Will there be source code that should be linted?',\n type: 'confirm',\n when: lintingPromptShouldBePresented\n },\n {\n name: questionNames.PROVIDE_EXAMPLE,\n message: 'Should an example be provided in the README?',\n type: 'confirm',\n when: projectIsPackage\n },\n {\n name: questionNames.HOST,\n type: 'list',\n message: 'Where will the application be hosted?',\n when: projectIsApplication,\n choices: [...Object.keys(hosts), 'Other']\n }\n ], decisions);\n\n return {\n tests: {unit: unitTested, integration: integrationTested},\n projectType,\n ci,\n chosenHost,\n scope,\n nodeVersionCategory,\n author: {name: authorName, email: authorEmail, url: authorUrl},\n configureLinting: false !== configureLinting,\n provideExample,\n packageManager,\n dialect\n };\n}\n","import {fileTypes} from '@form8ion/core';\nimport {write} from '@form8ion/config-file';\n\nexport default function ({projectRoot, config}) {\n return write({path: projectRoot, name: 'babel', format: fileTypes.JSON, config});\n}\n","import {fileTypes, loadConfigFile} from '@form8ion/core';\n\nexport default function ({projectRoot}) {\n return loadConfigFile({path: projectRoot, name: '.babelrc', format: fileTypes.JSON});\n}\n","import writeConfig from './writer.js';\nimport loadConfig from './loader.js';\n\nexport default async function ({projectRoot, ignore}) {\n if (ignore) {\n const existingConfig = await loadConfig({projectRoot});\n\n await writeConfig({projectRoot, config: {...existingConfig, ignore: [`./${ignore}/`]}});\n }\n}\n","import {write} from './config/index.js';\n\nexport default async function ({projectRoot, preset}) {\n if (!preset) {\n throw new Error('No babel preset provided. Cannot configure babel transpilation');\n }\n\n await write({projectRoot, config: {presets: [preset.name]}});\n\n return {\n dependencies: {javascript: {development: ['@babel/register', preset.packageName]}},\n eslint: {}\n };\n}\n","import {addIgnore} from './config/index.js';\n\nexport default async function ({results, projectRoot}) {\n await addIgnore({ignore: results.buildDirectory, projectRoot});\n\n return {};\n}\n","import {fileExists} from '@form8ion/core';\n\nexport default function ({projectRoot}) {\n return fileExists(`${projectRoot}/.babelrc.json`);\n}\n","import {fileTypes, writeConfigFile} from '@form8ion/core';\nimport {projectTypes} from '@form8ion/javascript-core';\n\nexport default async function ({config, projectType, projectRoot, testFilenamePattern}) {\n const shareableTsConfigPackage = `${config.scope}/tsconfig`;\n\n await writeConfigFile({\n path: projectRoot,\n name: 'tsconfig',\n format: fileTypes.JSON,\n config: {\n $schema: 'https://json.schemastore.org/tsconfig',\n extends: shareableTsConfigPackage,\n compilerOptions: {\n rootDir: 'src',\n ...projectTypes.PACKAGE === projectType && {\n outDir: 'lib',\n declaration: true\n }\n },\n include: ['src/**/*.ts'],\n ...testFilenamePattern && {exclude: [testFilenamePattern]}\n }\n });\n\n return {\n eslint: {configs: ['typescript']},\n dependencies: {javascript: {development: ['typescript', shareableTsConfigPackage]}},\n vcsIgnore: {files: ['tsconfig.tsbuildinfo']}\n };\n}\n","import {dialects} from '@form8ion/javascript-core';\n\nimport {scaffold as scaffoldBabel} from './babel/index.js';\nimport {scaffold as scaffoldTypescript} from './typescript/index.js';\n\nexport default function ({dialect, projectType, projectRoot, configs, testFilenamePattern}) {\n switch (dialect) {\n case dialects.BABEL:\n return scaffoldBabel({preset: configs.babelPreset, projectRoot});\n case dialects.TYPESCRIPT:\n return scaffoldTypescript({config: configs.typescript, projectType, projectRoot, testFilenamePattern});\n default:\n return {};\n }\n}\n","import {promises as fs} from 'node:fs';\nimport {stringify} from 'ini';\n\nexport default async function ({projectRoot, config}) {\n await fs.writeFile(`${projectRoot}/.npmrc`, stringify(config));\n}\n","import {projectTypes} from '@form8ion/javascript-core';\n\nimport write from './writer.js';\n\nfunction projectWillNotBeConsumed(projectType) {\n return projectTypes.APPLICATION === projectType || projectTypes.CLI === projectType;\n}\n\nexport default async function ({projectRoot, projectType}) {\n await write({\n projectRoot,\n config: {'update-notifier': false, ...projectWillNotBeConsumed(projectType) && {'save-exact': true}}\n });\n\n return {scripts: {'lint:peer': 'npm ls >/dev/null'}};\n}\n","import {fileExists} from '@form8ion/core';\n\nexport default function ({projectRoot}) {\n return fileExists(`${projectRoot}/.npmrc`);\n}\n","import {parse} from 'ini';\nimport {promises as fs} from 'node:fs';\nimport {fileExists} from '@form8ion/core';\n\nexport default async function ({projectRoot}) {\n const pathToConfig = `${projectRoot}/.npmrc`;\n\n if (!(await fileExists(pathToConfig))) return {};\n\n return parse(await fs.readFile(pathToConfig, 'utf-8'));\n}\n","import read from './reader.js';\nimport write from './writer.js';\n\nexport default async function ({projectRoot}) {\n const {\n provenance,\n 'engines-strict': enginesStrict,\n ...remainingProperties\n } = await read({projectRoot});\n\n await write({projectRoot, config: remainingProperties});\n\n return {};\n}\n","import {promises as fs} from 'node:fs';\nimport {execa} from 'execa';\nimport {writePackageJson} from '@form8ion/javascript-core';\n\nexport default async function ({projectRoot}) {\n const [packageContents, {stdout}] = await Promise.all([\n fs.readFile(`${projectRoot}/package.json`, 'utf-8'),\n execa('npm', ['--version'])\n ]);\n const existingPackageJsonContents = JSON.parse(packageContents);\n\n await writePackageJson({\n projectRoot,\n config: {\n ...existingPackageJsonContents,\n packageManager: `npm@${stdout}`\n }\n });\n}\n","import {packageManagers} from '@form8ion/javascript-core';\n\nexport default function (packageManager) {\n const lockfilePaths = {\n [packageManagers.NPM]: 'package-lock.json',\n [packageManagers.YARN]: 'yarn.lock'\n };\n\n return lockfilePaths[packageManager];\n}\n","import {fileExists} from '@form8ion/core';\nimport {packageManagers} from '@form8ion/javascript-core';\n\nimport determineLockfilePath from '../lockfile-path-resolver.js';\n\nexport default function ({projectRoot, pinnedPackageManager = ''}) {\n const [packageManager] = pinnedPackageManager.split('@');\n\n return packageManagers.NPM === packageManager\n || fileExists(`${projectRoot}/${determineLockfilePath(packageManagers.NPM)}`);\n}\n","import {promises as fs} from 'node:fs';\nimport {execa} from 'execa';\nimport {writePackageJson} from '@form8ion/javascript-core';\n\nexport default async function ({projectRoot}) {\n const [packageContents, {stdout}] = await Promise.all([\n fs.readFile(`${projectRoot}/package.json`, 'utf-8'),\n execa('yarn', ['--version'])\n ]);\n const existingPackageJsonContents = JSON.parse(packageContents);\n\n await writePackageJson({\n projectRoot,\n config: {\n ...existingPackageJsonContents,\n packageManager: `yarn@${stdout}`\n }\n });\n}\n","import {fileExists} from '@form8ion/core';\nimport {packageManagers} from '@form8ion/javascript-core';\n\nimport determineLockfilePath from '../lockfile-path-resolver.js';\n\nexport default function ({projectRoot, pinnedPackageManager = ''}) {\n const [packageManager] = pinnedPackageManager.split('@');\n\n return packageManagers.YARN === packageManager\n || fileExists(`${projectRoot}/${determineLockfilePath(packageManagers.YARN)}`);\n}\n","import {test as npmIsUsed} from './npm/index.js';\nimport {test as yarnIsUsed} from './yarn/index.js';\n\nexport default async function ({projectRoot}) {\n const [npmFound, yarnFound] = await Promise.all([\n npmIsUsed({projectRoot}),\n yarnIsUsed({projectRoot})\n ]);\n\n return npmFound || yarnFound;\n}\n","import {execa} from 'execa';\n\nexport default async function () {\n await execa('corepack', ['use', 'npm@latest']);\n}\n","import {lift as liftCorepack} from '../corepack/index.js';\n\nexport default async function () {\n await liftCorepack();\n\n return {};\n}\n","import {scaffold as scaffoldNpm} from './npm/index.js';\nimport {scaffold as scaffoldYarn} from './yarn/index.js';\n\nconst scaffolders = {\n npm: scaffoldNpm,\n yarn: scaffoldYarn\n};\n\nexport default function ({projectRoot, packageManager}) {\n return scaffolders[packageManager]({projectRoot});\n}\n","import {promises as fs} from 'node:fs';\nimport {packageManagers} from '@form8ion/javascript-core';\n\nimport {test as npmIsUsed} from './npm/index.js';\nimport {test as yarnIsUsed} from './yarn/index.js';\n\nexport default async function ({projectRoot, packageManager}) {\n if (packageManager) return packageManager;\n\n const {packageManager: pinnedPackageManager} = JSON.parse(await fs.readFile(`${projectRoot}/package.json`, 'utf-8'));\n\n if (await npmIsUsed({projectRoot, pinnedPackageManager})) {\n return packageManagers.NPM;\n }\n\n if (await yarnIsUsed({projectRoot, pinnedPackageManager})) {\n return packageManagers.YARN;\n }\n\n throw new Error('Package-manager could not be determined');\n}\n","import {packageManagers} from '@form8ion/javascript-core';\n\nexport default function (packageManager) {\n if (packageManagers.NPM === packageManager) return 'npm run generate:md';\n if (packageManagers.YARN === packageManager) return 'yarn generate:md';\n\n throw new Error(\n `The ${packageManager} package manager is currently not supported. `\n + `Only ${Object.values(packageManagers).join(' and ')} are currently supported.`\n );\n}\n","import buildGenerationCommand from './generation-command.js';\n\nexport default function ({projectTypeResults, packageManager}) {\n return {\n toc: `Run \\`${buildGenerationCommand(packageManager)}\\` to generate a table of contents`,\n ...projectTypeResults.documentation,\n contributing: `### Dependencies\n\n\\`\\`\\`sh\n$ nvm install\n$ ${packageManager} install\n\\`\\`\\`\n\n### Verification\n\n\\`\\`\\`sh\n$ ${packageManager} test\n\\`\\`\\``\n };\n}\n","import {info} from '@travi/cli-messages';\n\nimport {execa} from 'execa';\n\nexport async function determineLatestVersionOf(nodeVersionCategory) {\n info('Determining version of node', {level: 'secondary'});\n\n const {stdout: nvmLsOutput} = await execa(\n `. ~/.nvm/nvm.sh && nvm ls-remote${('LTS' === nodeVersionCategory) ? ' --lts' : ''}`,\n {shell: true}\n );\n\n const lsLines = nvmLsOutput.split('\\n');\n const lsLine = lsLines[lsLines.length - 2];\n\n return lsLine.match(/(v[0-9]+)\\.[0-9]+\\.[0-9]+/)[1];\n}\n\nexport function install(nodeVersionCategory) {\n info(`Installing ${nodeVersionCategory} version of node using nvm`, {level: 'secondary'});\n\n const subprocess = execa('. ~/.nvm/nvm.sh && nvm install', {shell: true});\n subprocess.stdout.pipe(process.stdout);\n return subprocess;\n}\n","import {promises as fs} from 'node:fs';\nimport {info} from '@travi/cli-messages';\n\nimport {determineLatestVersionOf, install as installNodeVersion} from './tasks.js';\n\nexport default async function ({projectRoot, nodeVersionCategory}) {\n if (!nodeVersionCategory) return undefined;\n\n const lowerCaseCategory = nodeVersionCategory.toLowerCase();\n info(`Configuring ${lowerCaseCategory} version of node`);\n\n const version = await determineLatestVersionOf(nodeVersionCategory);\n\n await fs.writeFile(`${projectRoot}/.nvmrc`, version);\n\n await installNodeVersion(nodeVersionCategory);\n\n return version;\n}\n","import {fileExists} from '@form8ion/core';\n\nexport default function ({projectRoot}) {\n return fileExists(`${projectRoot}/.nvmrc`);\n}\n","export default function (vcsIgnoreLists = {}) {\n return {\n files: vcsIgnoreLists.files || [],\n directories: ['/node_modules/', ...vcsIgnoreLists.directories || []]\n };\n}\n","import {EOL} from 'os';\nimport validatePackageName from '../../thirdparty-wrappers/validate-npm-package-name.js';\n\nexport default function (projectName, scope) {\n const name = `${scope ? `@${scope}/` : ''}${projectName}`;\n\n const {validForNewPackages, errors} = validatePackageName(name);\n\n if (validForNewPackages) return name;\n if (1 === errors.length && errors.includes('name cannot start with a period')) return projectName.slice(1);\n\n throw new Error(`The package name ${name} is invalid:${EOL}\\t* ${errors.join(`${EOL}\\t* `)}`);\n}\n","import {dialects} from '@form8ion/javascript-core';\n\nexport default function ({\n packageName,\n dialect,\n license,\n author,\n description\n}) {\n return {\n name: packageName,\n description,\n license,\n type: dialects.ESM === dialect ? 'module' : 'commonjs',\n author: `${author.name}${author.email ? ` <${author.email}>` : ''}${author.url ? ` (${author.url})` : ''}`,\n scripts: {}\n };\n}\n","import {info} from '@travi/cli-messages';\nimport {writePackageJson} from '@form8ion/javascript-core';\n\nimport buildPackageName from './package-name.js';\nimport buildPackageDetails from './details.js';\n\nexport default async function ({\n projectRoot,\n projectName,\n scope,\n dialect,\n license,\n author,\n description\n}) {\n info('Configuring package.json');\n\n const packageName = buildPackageName(projectName, scope);\n\n await writePackageJson({\n projectRoot,\n config: await buildPackageDetails({\n packageName,\n dialect,\n license,\n author,\n description\n })\n });\n\n return {packageName};\n}\n","import sortProperties from 'sort-object-keys';\n\nexport default function (packageContents) {\n return sortProperties(\n packageContents,\n [\n 'name',\n 'description',\n 'license',\n 'version',\n 'private',\n 'type',\n 'engines',\n 'author',\n 'contributors',\n 'repository',\n 'bugs',\n 'homepage',\n 'funding',\n 'keywords',\n 'runkitExampleFilename',\n 'exports',\n 'bin',\n 'main',\n 'module',\n 'types',\n 'sideEffects',\n 'scripts',\n 'files',\n 'publishConfig',\n 'packageManager',\n 'config',\n 'dependencies',\n 'devDependencies',\n 'peerDependencies'\n ]\n );\n}\n","export default function (vcs, pathWithinParent) {\n return vcs && 'github' === vcs.host && {\n repository: pathWithinParent\n ? {\n type: 'git',\n url: `https://github.com/${vcs.owner}/${vcs.name}.git`,\n directory: pathWithinParent\n }\n : `${vcs.owner}/${vcs.name}`,\n bugs: `https://github.com/${vcs.owner}/${vcs.name}/issues`\n };\n}\n","import {DEV_DEPENDENCY_TYPE, PROD_DEPENDENCY_TYPE, packageManagers} from '@form8ion/javascript-core';\n\nexport const details = {\n [packageManagers.NPM]: {\n installationCommand: 'install',\n installationFlags: {\n [DEV_DEPENDENCY_TYPE]: `save-${DEV_DEPENDENCY_TYPE}`,\n [PROD_DEPENDENCY_TYPE]: `save-${PROD_DEPENDENCY_TYPE}`,\n exact: 'save-exact'\n }\n },\n [packageManagers.YARN]: {\n installationCommand: 'add',\n installationFlags: {\n [DEV_DEPENDENCY_TYPE]: DEV_DEPENDENCY_TYPE,\n [PROD_DEPENDENCY_TYPE]: PROD_DEPENDENCY_TYPE,\n exact: 'exact'\n }\n }\n};\n\nexport function getInstallationCommandFor(manager) {\n return details[manager].installationCommand;\n}\n\nexport function getDependencyTypeFlag(manager, type) {\n return details[manager].installationFlags[type];\n}\n\nexport function getExactFlag(manager) {\n return details[manager].installationFlags.exact;\n}\n","import {info, warn} from '@travi/cli-messages';\nimport {DEV_DEPENDENCY_TYPE, packageManagers} from '@form8ion/javascript-core';\n\nimport {execa} from 'execa';\nimport {getDependencyTypeFlag, getExactFlag, getInstallationCommandFor} from './package-managers.js';\n\nexport default async function (dependencies, dependenciesType, projectRoot, packageManager = packageManagers.NPM) {\n if (dependencies.length) {\n info(`Installing ${dependenciesType} dependencies`, {level: 'secondary'});\n\n await execa(\n `. ~/.nvm/nvm.sh && nvm use && ${packageManager} ${\n getInstallationCommandFor(packageManager)\n } ${[...new Set(dependencies)].join(' ')} --${getDependencyTypeFlag(packageManager, dependenciesType)}${\n DEV_DEPENDENCY_TYPE === dependenciesType ? ` --${getExactFlag(packageManager)}` : ''\n }`,\n {shell: true, cwd: projectRoot}\n );\n } else warn(`No ${dependenciesType} dependencies to install`);\n}\n","import {execa} from 'execa';\n\nexport default async function ({packageManager, dependencies}) {\n await execa(packageManager, ['remove', ...dependencies]);\n}\n","import {error, info} from '@travi/cli-messages';\nimport {DEV_DEPENDENCY_TYPE, PROD_DEPENDENCY_TYPE} from '@form8ion/javascript-core';\n\nimport install from './installer.js';\nimport remove from './remover.js';\n\nexport default async function ({dependencies = {}, devDependencies, projectRoot, packageManager}) {\n info('Processing dependencies');\n\n if (Array.isArray(devDependencies)) {\n throw new Error(\n `devDependencies provided as: ${devDependencies}. Instead, provide under dependencies.javascript.development`\n );\n }\n\n if (Array.isArray(dependencies)) {\n throw new Error(`Expected dependencies to be an object. Instead received: ${dependencies}`);\n }\n\n const {javascript: {production = [], development = [], remove: dependenciesToRemove = []} = {}} = dependencies;\n\n try {\n await install(production, PROD_DEPENDENCY_TYPE, projectRoot, packageManager);\n await install(development, DEV_DEPENDENCY_TYPE, projectRoot, packageManager);\n await remove({packageManager, dependencies: dependenciesToRemove});\n } catch (e) {\n error('Failed to update dependencies');\n error(e, {level: 'secondary'});\n }\n}\n","function projectWillBeTested(scripts) {\n return Object.keys(scripts).find(scriptName => scriptName.startsWith('test:'));\n}\n\nfunction projectShouldBeBuiltForVerification(scripts) {\n return 'run-s build' === scripts['pregenerate:md'];\n}\n\nexport default function (scripts) {\n return {\n ...scripts,\n test: `npm-run-all --print-label${\n projectShouldBeBuiltForVerification(scripts) ? ' build' : ''\n } --parallel lint:*${\n projectWillBeTested(scripts) ? ' --parallel test:*' : ''\n }`\n };\n}\n","import updateTestScript from './test-script-updater.js';\n\nexport default function ({existingScripts, scripts}) {\n return {\n scripts: updateTestScript({...existingScripts, ...scripts}),\n dependencies: {javascript: {development: ['npm-run-all2']}}\n };\n}\n","import {promises as fs} from 'node:fs';\nimport deepmerge from 'deepmerge';\nimport {info} from '@travi/cli-messages';\nimport {writePackageJson} from '@form8ion/javascript-core';\n\nimport sortPackageProperties from './property-sorter.js';\nimport defineVcsHostDetails from './vcs-host-details.js';\nimport {process as processDependencies} from '../dependencies/index.js';\nimport {lift as liftScripts} from './scripts/index.js';\n\nexport default async function ({\n projectRoot,\n scripts,\n tags,\n dependencies,\n devDependencies,\n packageManager,\n vcs,\n pathWithinParent\n}) {\n info('Updating `package.json`', {level: 'secondary'});\n\n const existingPackageJsonContents = JSON.parse(await fs.readFile(`${projectRoot}/package.json`, 'utf-8'));\n const {scripts: liftedScripts, dependencies: scriptDependencies} = liftScripts({\n existingScripts: existingPackageJsonContents.scripts,\n scripts\n });\n\n await writePackageJson({\n projectRoot,\n config: sortPackageProperties({\n ...existingPackageJsonContents,\n ...defineVcsHostDetails(vcs, pathWithinParent),\n scripts: liftedScripts,\n ...tags && {\n keywords: existingPackageJsonContents.keywords ? [...existingPackageJsonContents.keywords, ...tags] : tags\n }\n })\n });\n\n await processDependencies({\n dependencies: deepmerge(dependencies, scriptDependencies),\n devDependencies,\n projectRoot,\n packageManager\n });\n}\n","import {packageManagers} from '@form8ion/javascript-core';\n\nimport buildGenerationCommand from '../../documentation/generation-command.js';\n\nfunction getInstallationCommand(packageManager) {\n if (packageManagers.NPM === packageManager) return 'npm install';\n if (packageManagers.YARN === packageManager) return 'yarn add';\n\n throw new Error(\n `The ${packageManager} package manager is currently not supported. `\n + `Only ${Object.values(packageManagers).join(' and ')} are currently supported.`\n );\n}\n\nexport default function ({scope, packageName, packageManager, visibility, provideExample}) {\n return {\n usage: `### Installation\n${'Private' === visibility ? `\n:warning: this is a private package, so you will need to use an npm token with\naccess to private packages under \\`@${scope}\\`\n` : ''\n}\n\\`\\`\\`sh\n$ ${getInstallationCommand(packageManager)} ${packageName}\n\\`\\`\\`${provideExample\n ? `\n\n### Example\n\nrun \\`${buildGenerationCommand(packageManager)}\\` to inject the usage example`\n : ''\n}`\n };\n}\n","export default function ({projectVisibility}) {\n return 'Public' === projectVisibility ? 'public' : 'restricted';\n}\n","export default function (packageName, accessLevel) {\n return {\n consumer: {\n ...'public' === accessLevel && {\n npm: {\n img: `https://img.shields.io/npm/v/${packageName}?logo=npm`,\n text: 'npm',\n link: `https://www.npmjs.com/package/${packageName}`\n }\n }\n },\n status: {}\n };\n}\n","export default function ({provenance}) {\n if (provenance) {\n return {\n badges: {\n status: {\n slsa: {\n img: 'https://slsa.dev/images/gh-badge-level2.svg',\n url: 'https://slsa.dev',\n text: 'SLSA Level 2'\n }\n }\n }\n };\n }\n\n return {};\n}\n","import {mergeIntoExistingPackageJson} from '@form8ion/javascript-core';\n\nimport enhanceSlsa from './slsa.js';\n\nexport default async function ({projectRoot, packageDetails}) {\n const {publishConfig: {access}} = packageDetails;\n\n if ('public' === access) {\n await mergeIntoExistingPackageJson({projectRoot, config: {publishConfig: {provenance: true}}});\n\n return enhanceSlsa({provenance: true});\n }\n\n return {};\n}\n","import deepmerge from 'deepmerge';\nimport {mergeIntoExistingPackageJson} from '@form8ion/javascript-core';\n\nimport defineBadges from './badges.js';\nimport {lift as liftProvenance} from './provenance/index.js';\n\nexport default async function ({projectRoot, packageDetails}) {\n const {name: packageName, publishConfig: {access: packageAccessLevel}} = packageDetails;\n const homepage = `https://npm.im/${packageName}`;\n\n await mergeIntoExistingPackageJson({projectRoot, config: {homepage}});\n\n return deepmerge(\n await liftProvenance({packageDetails, projectRoot}),\n {\n homepage,\n dependencies: {javascript: {development: ['publint']}},\n scripts: {'lint:publish': 'publint --strict'},\n badges: defineBadges(packageName, packageAccessLevel)\n }\n );\n}\n","import defineBadges from './badges.js';\n\nexport default async function ({packageName, packageAccessLevel}) {\n return {\n badges: await defineBadges(packageName, packageAccessLevel)\n };\n}\n","import {prompt} from '@form8ion/overridable-prompts';\n\nimport {questionNames} from '../../../prompts/question-names.js';\n\nexport default async function ({bundlers, decisions}) {\n if (!Object.keys(bundlers).length) return 'Other';\n\n const answers = await prompt([{\n name: questionNames.PACKAGE_BUNDLER,\n type: 'list',\n message: 'Which bundler should be used?',\n choices: [...Object.keys(bundlers), 'Other']\n }], decisions);\n\n return answers[questionNames.PACKAGE_BUNDLER];\n}\n","import {scaffoldChoice as scaffoldChosenBundler} from '@form8ion/javascript-core';\nimport chooseBundler from './prompt.js';\n\nexport default async function ({projectRoot, projectType, bundlers, dialect, decisions}) {\n const chosenBundler = await chooseBundler({bundlers, decisions});\n\n return scaffoldChosenBundler(bundlers, chosenBundler, {projectRoot, projectType, dialect});\n}\n","import {resolve} from 'path';\nimport filedirname from 'filedirname';\n\nexport default function (fileName) {\n const [, __dirname] = filedirname();\n\n return resolve(__dirname, '..', 'templates', fileName);\n}\n","import {promises as fs} from 'fs';\nimport deepmerge from 'deepmerge';\nimport mustache from 'mustache';\nimport touch from 'touch';\nimport camelcase from 'camelcase';\nimport {dialects, projectTypes} from '@form8ion/javascript-core';\n\nimport {scaffold as scaffoldBundler} from '../publishable/bundler/index.js';\nimport determinePathToTemplateFile from '../../template-path.js';\n\nconst defaultBuildDirectory = 'lib';\n\nasync function createExample(projectRoot, projectName, dialect) {\n return fs.writeFile(\n `${projectRoot}/example.js`,\n mustache.render(\n await fs.readFile(determinePathToTemplateFile('example.mustache'), 'utf8'),\n {projectName: camelcase(projectName), esm: dialect === dialects.ESM}\n )\n );\n}\n\nasync function buildDetailsForCommonJsProject({projectRoot, projectName, provideExample}) {\n await Promise.all([\n touch(`${projectRoot}/index.js`),\n provideExample\n ? fs.writeFile(`${projectRoot}/example.js`, `const ${camelcase(projectName)} = require('.');\\n`)\n : Promise.resolve()\n ]);\n\n return {};\n}\n\nexport default async function ({\n projectRoot,\n projectName,\n visibility,\n packageName,\n packageBundlers,\n dialect,\n provideExample,\n decisions\n}) {\n if (dialects.COMMON_JS === dialect) return buildDetailsForCommonJsProject({projectRoot, projectName, provideExample});\n\n await fs.mkdir(`${projectRoot}/src`, {recursive: true});\n const [bundlerResults] = await Promise.all([\n scaffoldBundler({bundlers: packageBundlers, projectRoot, dialect, decisions, projectType: projectTypes.PACKAGE}),\n provideExample ? await createExample(projectRoot, projectName, dialect) : Promise.resolve,\n touch(`${projectRoot}/src/index.js`)\n ]);\n\n return deepmerge(\n bundlerResults,\n {\n dependencies: {javascript: {development: ['rimraf']}},\n scripts: {\n clean: `rimraf ./${defaultBuildDirectory}`,\n prebuild: 'run-s clean',\n build: 'npm-run-all --print-label --parallel build:*',\n prepack: 'run-s build',\n ...provideExample && {'pregenerate:md': 'run-s build'}\n },\n vcsIgnore: {directories: [`/${defaultBuildDirectory}/`]},\n buildDirectory: defaultBuildDirectory,\n badges: {\n consumer: {\n ...'Public' === visibility && {\n runkit: {\n img: `https://badge.runkitcdn.com/${packageName}.svg`,\n text: `Try ${packageName} on RunKit`,\n link: `https://npm.runkit.com/${packageName}`\n }\n }\n }\n }\n }\n );\n}\n","import deepmerge from 'deepmerge';\nimport {info} from '@travi/cli-messages';\nimport {dialects, mergeIntoExistingPackageJson} from '@form8ion/javascript-core';\n\nimport scaffoldPackageDocumentation from './documentation.js';\nimport determinePackageAccessLevelFromProjectVisibility from '../publishable/access-level.js';\nimport {scaffold as scaffoldPublishable} from '../publishable/index.js';\nimport buildDetails from './build-details.js';\n\nexport default async function ({\n projectRoot,\n projectName,\n packageName,\n packageManager,\n visibility,\n scope,\n packageBundlers,\n decisions,\n dialect,\n provideExample,\n publishRegistry\n}) {\n info('Scaffolding Package Details');\n\n const packageAccessLevel = determinePackageAccessLevelFromProjectVisibility({projectVisibility: visibility});\n const [detailsForBuild, publishableResults] = await Promise.all([\n buildDetails({\n projectRoot,\n projectName,\n packageBundlers,\n visibility,\n packageName,\n dialect,\n provideExample,\n decisions\n }),\n scaffoldPublishable({packageName, packageAccessLevel}),\n mergeIntoExistingPackageJson({\n projectRoot,\n config: {\n files: ['example.js', ...dialects.COMMON_JS === dialect ? ['index.js'] : ['lib/']],\n publishConfig: {\n access: packageAccessLevel,\n ...publishRegistry && {registry: publishRegistry}\n },\n sideEffects: false,\n ...'Public' === visibility && {runkitExampleFilename: './example.js'},\n ...dialects.BABEL === dialect && {\n main: './lib/index.js',\n module: './lib/index.mjs',\n exports: {\n module: './lib/index.mjs',\n require: './lib/index.js',\n import: './lib/index.mjs'\n }\n },\n ...dialects.ESM === dialect && {\n main: './lib/index.js',\n exports: './lib/index.js'\n },\n ...dialects.TYPESCRIPT === dialect && {\n main: './lib/index.js',\n module: './lib/index.mjs',\n types: './lib/index.d.ts',\n exports: {\n types: './lib/index.d.ts',\n require: './lib/index.js',\n import: './lib/index.mjs'\n }\n }\n }\n })\n ]);\n\n return deepmerge.all([\n publishableResults,\n {\n documentation: scaffoldPackageDocumentation({packageName, visibility, scope, packageManager, provideExample}),\n nextSteps: [\n {summary: 'Add the appropriate `save` flag to the installation instructions in the README'},\n {summary: 'Define supported node.js versions as `engines.node` in the `package.json` file'},\n {summary: 'Publish pre-release versions to npm until package is stable enough to publish v1.0.0'}\n ]\n },\n detailsForBuild\n ]);\n}\n","import {lift as liftPublishable} from '../publishable/index.js';\n\nexport default function ({projectRoot, packageDetails}) {\n return liftPublishable({projectRoot, packageDetails});\n}\n","export default async function ({packageDetails: {exports, publishConfig, bin}}) {\n return !!exports || (!!publishConfig && !bin);\n}\n","import {mergeIntoExistingPackageJson} from '@form8ion/javascript-core';\nimport {info} from '@travi/cli-messages';\n\nconst defaultBuildDirectory = 'public';\n\nexport default async function ({projectRoot}) {\n info('Scaffolding Application Details');\n\n await mergeIntoExistingPackageJson({projectRoot, config: {private: true}});\n\n const buildDirectory = defaultBuildDirectory;\n\n return {\n scripts: {\n clean: `rimraf ./${buildDirectory}`,\n start: `node ./${buildDirectory}/index.js`,\n prebuild: 'run-s clean'\n },\n dependencies: {javascript: {development: ['rimraf']}},\n vcsIgnore: {files: ['.env'], directories: [`/${buildDirectory}/`]},\n buildDirectory,\n nextSteps: []\n };\n}\n","export default function ({packageDetails}) {\n return !!packageDetails.private;\n}\n","import {mergeIntoExistingPackageJson} from '@form8ion/javascript-core';\nimport {info} from '@travi/cli-messages';\n\nexport default async function ({projectRoot}) {\n info('Scaffolding Monorepo Details');\n\n await mergeIntoExistingPackageJson({projectRoot, config: {private: true}});\n\n return {\n nextSteps: [{\n summary: 'Add packages to your new monorepo',\n description: 'Leverage [@form8ion/add-package-to-monorepo](https://npm.im/@form8ion/add-package-to-monorepo)'\n + ' to scaffold new packages into your new monorepo'\n }]\n };\n}\n","import deepmerge from 'deepmerge';\nimport {mergeIntoExistingPackageJson, projectTypes} from '@form8ion/javascript-core';\n\nimport determinePackageAccessLevelFromProjectVisibility from '../publishable/access-level.js';\nimport {scaffold as scaffoldPublishable} from '../publishable/index.js';\nimport {scaffold as scaffoldBundler} from '../publishable/bundler/index.js';\n\nconst defaultBuildDirectory = 'bin';\n\nexport default async function ({\n packageName,\n visibility,\n projectRoot,\n dialect,\n publishRegistry,\n decisions,\n packageBundlers\n}) {\n const packageAccessLevel = determinePackageAccessLevelFromProjectVisibility({projectVisibility: visibility});\n const [bundlerResults, publishableResults] = await Promise.all([\n scaffoldBundler({bundlers: packageBundlers, projectRoot, dialect, decisions, projectType: projectTypes.CLI}),\n scaffoldPublishable({packageName, packageAccessLevel}),\n mergeIntoExistingPackageJson({\n projectRoot,\n config: {\n bin: {},\n files: [`${defaultBuildDirectory}/`],\n publishConfig: {\n access: packageAccessLevel,\n ...publishRegistry && {registry: publishRegistry}\n }\n }\n })\n ]);\n\n return deepmerge.all([\n publishableResults,\n bundlerResults,\n {\n scripts: {\n clean: `rimraf ./${defaultBuildDirectory}`,\n prebuild: 'run-s clean',\n build: 'npm-run-all --print-label --parallel build:*',\n prepack: 'run-s build'\n },\n dependencies: {javascript: {production: ['update-notifier'], development: ['rimraf']}},\n vcsIgnore: {files: [], directories: [`/${defaultBuildDirectory}/`]},\n buildDirectory: defaultBuildDirectory,\n nextSteps: [{summary: 'Define supported node.js versions as `engines.node` in the `package.json` file'}]\n }\n ]);\n}\n","export default async function ({packageDetails: {bin}}) {\n return !!bin;\n}\n","import {lift as liftPublishable} from '../publishable/index.js';\n\nexport default function ({projectRoot, packageDetails}) {\n return liftPublishable({projectRoot, packageDetails});\n}\n","import {projectTypes} from '@form8ion/javascript-core';\n\nimport {scaffold as scaffoldPackageType} from './package/index.js';\nimport {scaffold as scaffoldApplicationType} from './application/index.js';\nimport {scaffold as scaffoldMonorepoType} from './monorepo/index.js';\nimport {scaffold as scaffoldCliType} from './cli/index.js';\n\nexport default async function ({\n projectType,\n projectRoot,\n projectName,\n packageName,\n packageManager,\n visibility,\n packageBundlers,\n scope,\n decisions,\n dialect,\n provideExample,\n publishRegistry\n}) {\n switch (projectType) {\n case projectTypes.PACKAGE:\n return scaffoldPackageType({\n projectRoot,\n projectName,\n packageName,\n packageManager,\n visibility,\n scope,\n packageBundlers,\n decisions,\n dialect,\n provideExample,\n publishRegistry\n });\n case projectTypes.APPLICATION:\n return scaffoldApplicationType({projectRoot});\n case projectTypes.CLI:\n return scaffoldCliType({\n packageName,\n visibility,\n projectRoot,\n dialect,\n publishRegistry,\n decisions,\n packageBundlers\n });\n case projectTypes.MONOREPO:\n return scaffoldMonorepoType({projectRoot});\n case 'Other':\n return {};\n default:\n throw new Error(`The project-type of ${projectType} is invalid`);\n }\n}\n","import {test as isPackage} from './package/index.js';\nimport {test as isCli} from './cli/index.js';\nimport {test as isApplication} from './application/index.js';\n\nexport default async function ({projectRoot, packageDetails}) {\n return await isPackage({projectRoot, packageDetails})\n || await isCli({projectRoot, packageDetails})\n || isApplication({projectRoot, packageDetails});\n}\n","import {mergeIntoExistingPackageJson} from '@form8ion/javascript-core';\n\nimport {test as isPackage, lift as liftPackage} from './package/index.js';\nimport {test as isCli, lift as liftCli} from './cli/index.js';\n\nfunction vcsRepositoryHostedOnGithub(vcs) {\n return vcs && 'github' === vcs.host;\n}\n\nexport default async function ({projectRoot, packageDetails, vcs}) {\n if (await isPackage({projectRoot, packageDetails})) return liftPackage({projectRoot, packageDetails});\n if (await isCli({projectRoot, packageDetails})) return liftCli({projectRoot, packageDetails});\n\n let homepage;\n\n if (vcsRepositoryHostedOnGithub(vcs)) {\n homepage = `https://github.com/${vcs.owner}/${vcs.name}#readme`;\n\n await mergeIntoExistingPackageJson({projectRoot, config: {homepage}});\n }\n\n return {homepage};\n}\n","import {prompt} from '@form8ion/overridable-prompts';\n\nimport {questionNames} from '../prompts/question-names.js';\n\nexport default async function ({types, projectType, decisions}) {\n if (!Object.keys(types).length) return 'Other';\n\n const answers = await prompt([{\n name: questionNames.PROJECT_TYPE_CHOICE,\n type: 'list',\n message: `What type of ${projectType} is this?`,\n choices: [...Object.keys(types), 'Other']\n }], decisions);\n\n return answers[questionNames.PROJECT_TYPE_CHOICE];\n}\n","import {scaffoldChoice} from '@form8ion/javascript-core';\n\nimport chooseProjectTypePlugin from './prompt.js';\n\nexport default async function ({\n projectRoot,\n projectType,\n projectName,\n packageName,\n packageManager,\n scope,\n dialect,\n tests,\n decisions,\n plugins\n}) {\n const pluginsForProjectType = plugins[projectType];\n\n if (!pluginsForProjectType) return {};\n\n const chosenType = await chooseProjectTypePlugin({types: pluginsForProjectType, decisions, projectType});\n\n return scaffoldChoice(\n pluginsForProjectType,\n chosenType,\n {projectRoot, projectName, packageName, packageManager, scope, tests, dialect}\n );\n}\n","import deepmerge from 'deepmerge';\n\nimport scaffoldUnitTesting from '../../../testing/unit.js';\n\nexport default async function ({\n projectRoot,\n visibility,\n tests: {unit, integration},\n vcs,\n unitTestFrameworks,\n decisions,\n dialect,\n pathWithinParent\n}) {\n const unitResults = unit\n ? await scaffoldUnitTesting({\n projectRoot,\n visibility,\n vcs,\n frameworks: unitTestFrameworks,\n decisions,\n dialect,\n pathWithinParent\n })\n : {};\n\n return deepmerge(\n {dependencies: {javascript: {development: [...(unit || integration) ? ['@travi/any'] : []]}}, eslint: {}},\n unitResults\n );\n}\n","export default function ({packageManager, registries = {}}) {\n return [\n ...!registries.registry ? [packageManager] : [],\n ...Object.values(Object.fromEntries(Object.entries(registries).filter(([scope]) => 'publish' !== scope)))\n ];\n}\n","import {fileTypes} from '@form8ion/core';\nimport {packageManagers} from '@form8ion/javascript-core';\nimport {write} from '@form8ion/config-file';\n\nimport buildAllowedHostsList from './allowed-hosts-builder.js';\nimport {defineLockfilePath as determineLockfilePathFor} from '../package-managers/index.js';\n\nconst lockfileLintSupportedPackageManagers = [packageManagers.NPM, packageManagers.YARN];\n\nfunction lockfileLintSupports(packageManager) {\n return lockfileLintSupportedPackageManagers.includes(packageManager);\n}\n\nexport default async function ({projectRoot, packageManager, registries}) {\n if (!lockfileLintSupports(packageManager)) {\n throw new Error(\n `The ${packageManager} package manager is currently not supported by lockfile-lint. `\n + `Only ${lockfileLintSupportedPackageManagers.join(' and ')} are currently supported.`\n );\n }\n\n await write({\n name: 'lockfile-lint',\n format: fileTypes.JSON,\n path: projectRoot,\n config: {\n path: determineLockfilePathFor(packageManager),\n type: packageManager,\n 'validate-https': true,\n 'allowed-hosts': buildAllowedHostsList({packageManager, registries})\n }\n });\n\n return {\n dependencies: {javascript: {development: ['lockfile-lint']}},\n scripts: {'lint:lockfile': 'lockfile-lint'}\n };\n}\n","import {fileExists} from '@form8ion/core';\n\nexport default function ({projectRoot}) {\n return fileExists(`${projectRoot}/.lockfile-lintrc.json`);\n}\n","import {fileTypes, loadConfigFile} from '@form8ion/core';\nimport {write as writeConfig} from '@form8ion/config-file';\n\nconst configName = 'lockfile-lint';\n\nexport function read({projectRoot}) {\n return loadConfigFile({name: `.${configName}rc`, format: fileTypes.JSON, path: projectRoot});\n}\n\nexport function write({projectRoot, config}) {\n return writeConfig({name: configName, format: fileTypes.JSON, path: projectRoot, config});\n}\n","import {scaffold as scaffoldLockfileLint} from '../lockfile-lint/index.js';\n\nexport default async function ({projectRoot, packageManager, registries}) {\n return scaffoldLockfileLint({projectRoot, packageManager, registries});\n}\n","import deepmerge from 'deepmerge';\nimport {scaffold as scaffoldHusky} from '@form8ion/husky';\n\nimport scaffoldTesting from './testing/index.js';\nimport {scaffold as scaffoldLinting} from '../../linting/index.js';\n\nexport async function scaffoldVerification({\n projectRoot,\n dialect,\n visibility,\n packageManager,\n vcs,\n registries,\n tests,\n unitTestFrameworks,\n decisions,\n pathWithinParent\n}) {\n const [testingResults, lintingResults, huskyResults] = await Promise.all([\n scaffoldTesting({\n projectRoot,\n tests,\n visibility,\n vcs,\n unitTestFrameworks,\n decisions,\n dialect,\n pathWithinParent\n }),\n scaffoldLinting({projectRoot, packageManager, registries, vcs, pathWithinParent}),\n scaffoldHusky({projectRoot, packageManager, pathWithinParent})\n ]);\n\n return deepmerge.all([testingResults, lintingResults, huskyResults]);\n}\n","import deepmerge from 'deepmerge';\nimport {fileTypes} from '@form8ion/core';\nimport {projectTypes} from '@form8ion/javascript-core';\nimport {write} from '@form8ion/config-file';\n\nexport default async function ({config, projectRoot, projectType, vcs}) {\n await write({\n format: fileTypes.JSON,\n path: projectRoot,\n name: 'remark',\n config: {\n settings: {\n listItemIndent: 'one',\n emphasis: '_',\n strong: '_',\n bullet: '*',\n incrementListMarker: false\n },\n plugins: [\n config,\n ['remark-toc', {tight: true}],\n ...projectTypes.PACKAGE === projectType ? [['remark-usage', {heading: 'example'}]] : [],\n ...!vcs ? [['validate-links', {repository: false}]] : []\n ]\n }\n });\n\n return deepmerge(\n {\n dependencies: {javascript: {development: [config, 'remark-cli', 'remark-toc']}},\n scripts: {\n 'lint:md': 'remark . --frail',\n 'generate:md': 'remark . --output'\n }\n },\n {...projectTypes.PACKAGE === projectType && {dependencies: {javascript: {development: ['remark-usage']}}}}\n );\n}\n","import deepmerge from 'deepmerge';\nimport {scaffold as scaffoldPrettier} from '@form8ion/prettier';\nimport {scaffold as scaffoldEslint} from '@form8ion/eslint';\n\nimport {scaffold as scaffoldRemark} from './remark/index.js';\n\nexport default async function ({\n projectRoot,\n projectType,\n configs,\n vcs,\n configureLinting\n}) {\n return deepmerge.all(await Promise.all([\n configs.eslint\n && configureLinting\n && scaffoldEslint({projectRoot, config: configs.eslint}),\n scaffoldRemark({\n projectRoot,\n projectType,\n vcs,\n config: configs.remark || '@form8ion/remark-lint-preset'\n }),\n scaffoldPrettier({projectRoot, config: configs.prettier})\n ].filter(Boolean)));\n}\n","import {applyEnhancers} from '@form8ion/core';\nimport * as eslintPlugin from '@form8ion/eslint';\n\nexport default function (options) {\n return applyEnhancers({options, enhancers: [eslintPlugin]});\n}\n","import {test as testForEslint} from '@form8ion/eslint';\n\nexport default function (options) {\n return testForEslint(options);\n}\n","import deepmerge from 'deepmerge';\nimport {info} from '@travi/cli-messages';\nimport {projectTypes, scaffoldChoice} from '@form8ion/javascript-core';\nimport {scaffold as scaffoldCommitConvention} from '@form8ion/commit-convention';\n\nimport {validate} from '../options/validator.js';\nimport {prompt} from '../prompts/questions.js';\nimport {scaffold as scaffoldDialect} from '../dialects/index.js';\nimport {scaffold as scaffoldNpmConfig} from '../npm-config/index.js';\nimport {scaffold as scaffoldPackageManager} from '../package-managers/index.js';\nimport scaffoldDocumentation from '../documentation/index.js';\nimport {scaffold as scaffoldNodeVersion} from '../node-version/index.js';\nimport buildVcsIgnoreLists from '../vcs/ignore-lists-builder.js';\nimport {scaffold as scaffoldPackage} from '../package/index.js';\nimport {scaffold as scaffoldProjectType} from '../project-type/index.js';\nimport {scaffold as scaffoldProjectTypePlugin} from '../project-type-plugin/index.js';\nimport buildDocumentationCommand from '../documentation/generation-command.js';\nimport {scaffold as scaffoldVerification} from './verification/index.js';\nimport {scaffold as scaffoldCodeStyle} from '../code-style/index.js';\n\nexport default async function (options) {\n info('Initializing JavaScript project');\n\n const {\n projectRoot,\n projectName,\n visibility,\n license,\n vcs,\n description,\n configs,\n decisions,\n pathWithinParent,\n plugins: {\n applicationTypes,\n packageTypes,\n monorepoTypes,\n packageBundlers,\n unitTestFrameworks,\n hosts,\n ciServices\n }\n } = validate(options);\n\n const {\n tests,\n projectType,\n ci,\n chosenHost,\n scope,\n nodeVersionCategory,\n author,\n configureLinting,\n provideExample,\n packageManager,\n dialect\n } = await prompt(ciServices, hosts, visibility, vcs, decisions, configs, pathWithinParent);\n\n info('Writing project files', {level: 'secondary'});\n\n const {packageName} = await scaffoldPackage({\n projectRoot,\n projectName,\n scope,\n dialect,\n license,\n author,\n description\n });\n const projectTypeResults = await scaffoldProjectType({\n projectType,\n projectRoot,\n projectName,\n packageName,\n packageManager,\n visibility,\n applicationTypes,\n packageTypes,\n monorepoTypes,\n packageBundlers,\n scope,\n tests,\n vcs,\n decisions,\n dialect,\n provideExample,\n publishRegistry: configs.registries.publish\n });\n const verificationResults = await scaffoldVerification({\n projectRoot,\n dialect,\n visibility,\n packageManager,\n vcs,\n registries: configs.registries,\n tests,\n unitTestFrameworks,\n decisions,\n pathWithinParent\n });\n const [nodeVersion, npmResults, dialectResults, codeStyleResults] = await Promise.all([\n scaffoldNodeVersion({projectRoot, nodeVersionCategory}),\n scaffoldNpmConfig({projectType, projectRoot}),\n scaffoldDialect({\n dialect,\n configs,\n projectRoot,\n projectType,\n testFilenamePattern: verificationResults.testFilenamePattern\n }),\n scaffoldCodeStyle({projectRoot, projectType, configs, vcs, configureLinting}),\n scaffoldPackageManager({projectRoot, packageManager})\n ]);\n const projectTypePluginResults = await scaffoldProjectTypePlugin({\n projectRoot,\n projectType,\n projectName,\n packageName,\n packageManager,\n scope,\n dialect,\n tests,\n decisions,\n plugins: {\n [projectTypes.PACKAGE]: packageTypes,\n [projectTypes.APPLICATION]: applicationTypes,\n [projectTypes.MONOREPO]: monorepoTypes\n }\n });\n const mergedContributions = deepmerge.all([\n ...(await Promise.all([\n scaffoldChoice(\n hosts,\n chosenHost,\n {buildDirectory: `./${projectTypeResults.buildDirectory}`, projectRoot, projectName, nodeVersion}\n ),\n scaffoldChoice(ciServices, ci, {projectRoot, vcs, visibility, projectType, projectName, nodeVersion, tests}),\n scaffoldCommitConvention({projectRoot, projectType, configs, pathWithinParent})\n ])),\n projectTypeResults,\n verificationResults,\n codeStyleResults,\n npmResults,\n dialectResults,\n projectTypePluginResults\n ]);\n\n return {\n ...mergedContributions,\n documentation: scaffoldDocumentation({projectTypeResults, packageManager}),\n tags: projectTypeResults.tags,\n vcsIgnore: buildVcsIgnoreLists(mergedContributions.vcsIgnore),\n verificationCommand: `${buildDocumentationCommand(packageManager)} && ${packageManager} test`\n };\n}\n","export default function () {\n return true;\n}\n","export default function (registries = {}) {\n return Object.entries(registries)\n .filter(([scope]) => 'publish' !== scope)\n .reduce((acc, [scope, url]) => {\n if ('registry' === scope) return {...acc, registry: url};\n\n return {...acc, [`@${scope}:registry`]: url};\n }, {registry: 'https://registry.npmjs.org'});\n}\n","import {\n scaffold as scaffoldLockfileLint,\n test as lockfileLintIsAlreadyConfigured,\n read as readLockfileLintConfig,\n write as writeLockfileLintConfig\n} from '../lockfile-lint/index.js';\nimport {read as readNpmConfig, write as writeNpmConfig} from '../npm-config/index.js';\nimport buildRegistriesConfig from './npm-config/list-builder.js';\nimport buildAllowedHostsList from '../lockfile-lint/allowed-hosts-builder.js';\n\nasync function updateRegistriesInNpmConfig(registries, projectRoot) {\n const registriesForNpmConfig = buildRegistriesConfig(registries);\n\n await writeNpmConfig({\n projectRoot,\n config: {\n ...(await readNpmConfig({projectRoot})),\n ...registriesForNpmConfig\n }\n });\n}\n\nasync function updateRegistriesInLockfileLintConfig(projectRoot, packageManager, registries) {\n await writeLockfileLintConfig({\n projectRoot,\n config: {\n ...await readLockfileLintConfig({projectRoot}),\n 'allowed-hosts': buildAllowedHostsList({packageManager, registries})\n }\n });\n}\n\nexport default async function ({projectRoot, packageManager, configs: {registries}}) {\n await updateRegistriesInNpmConfig(registries, projectRoot);\n\n if (!(await lockfileLintIsAlreadyConfigured({projectRoot}))) {\n return scaffoldLockfileLint({projectRoot, packageManager, registries});\n }\n\n await updateRegistriesInLockfileLintConfig(projectRoot, packageManager, registries);\n\n return {};\n}\n","import {promises as fs} from 'fs';\n\nexport async function test({projectRoot}) {\n const {engines} = JSON.parse(await fs.readFile(`${projectRoot}/package.json`, 'utf8'));\n\n return !!engines?.node;\n}\n\nexport async function lift({packageDetails: {name}}) {\n return {\n dependencies: {javascript: {development: ['ls-engines']}},\n scripts: {'lint:engines': 'ls-engines'},\n badges: {consumer: {node: {img: `https://img.shields.io/node/v/${name}?logo=node.js`, text: 'node'}}}\n };\n}\n","import {promises as fs} from 'node:fs';\nimport deepmerge from 'deepmerge';\nimport {info} from '@travi/cli-messages';\nimport {applyEnhancers} from '@form8ion/core';\nimport * as huskyPlugin from '@form8ion/husky';\nimport * as commitConventionPlugin from '@form8ion/commit-convention';\n\nimport * as registriesPlugin from '../registries/index.js';\nimport * as coveragePlugin from '../coverage/index.js';\nimport * as codeStylePlugin from '../code-style/index.js';\nimport * as npmConfigPlugin from '../npm-config/index.js';\nimport * as enginesEnhancer from './enhancers/engines.js';\nimport * as projectTypes from '../project-type/index.js';\nimport * as dialects from '../dialects/index.js';\nimport {lift as liftPackage} from '../package/index.js';\nimport * as packageManagers from '../package-managers/index.js';\nimport {determineCurrent as resolvePackageManager} from '../package-managers/index.js';\n\nexport default async function ({projectRoot, vcs, results, pathWithinParent, enhancers = {}, configs = {}}) {\n info('Lifting JavaScript-specific details');\n\n const [packageManager, packageContents] = await Promise.all([\n resolvePackageManager({projectRoot, packageManager: results.packageManager}),\n fs.readFile(`${projectRoot}/package.json`, 'utf8')\n ]);\n\n const enhancerResults = await applyEnhancers({\n results,\n enhancers: {\n ...enhancers,\n huskyPlugin,\n enginesEnhancer,\n coveragePlugin,\n commitConventionPlugin,\n dialects,\n codeStylePlugin,\n npmConfigPlugin,\n projectTypes,\n packageManagers,\n registriesPlugin\n },\n options: {packageManager, projectRoot, vcs, packageDetails: JSON.parse(packageContents), configs}\n });\n\n await liftPackage(deepmerge.all([{projectRoot, packageManager, vcs, pathWithinParent}, enhancerResults]));\n\n return enhancerResults;\n}\n","import {info} from '@travi/cli-messages';\n\nimport {test as nvmIsUsed} from './node-version/index.js';\nimport {test as jsPackageManagerIsUsed} from './package-managers/index.js';\n\nexport default async function ({projectRoot}) {\n const [nvmFound, jsPackageManagerFound] = await Promise.all([\n nvmIsUsed({projectRoot}),\n jsPackageManagerIsUsed({projectRoot})\n ]);\n\n const jsProjectFound = nvmFound || jsPackageManagerFound;\n\n if (jsProjectFound) info('JavaScript Project Detected');\n\n return jsProjectFound;\n}\n","import {questionNames as languageScaffolderPromptsQuestionNames} from '@travi/language-scaffolder-prompts';\n\nimport {questionNames as jsScaffolderQuestionNames} from './prompts/question-names.js';\n\nexport {default as scaffoldUnitTesting} from './testing/unit.js';\nexport {default as scaffold} from './scaffolder/index.js';\nexport {default as lift} from './lift/index.js';\nexport {default as test} from './tester.js';\nexport const questionNames = {...languageScaffolderPromptsQuestionNames, ...jsScaffolderQuestionNames};\n"],"names":["questionNames","write","scaffoldCodecov","fs","lift","liftCodecov","prompt","scaffoldFrameworkChoice","dialects","projectTypes","commonQuestionNames","npmConf","npmConfFactory","scope","promptWithInquirer","packageManagers","validateScope","commonQuestions","writeConfig","read","determineLockfilePath","buildGenerationCommand","install","installNodeVersion","scaffoldChosenBundler","defaultBuildDirectory","scaffoldHusky","scaffoldEslint","scaffoldPrettier","testForEslint","scaffoldCommitConvention","writeLockfileLintConfig","readLockfileLintConfig","liftPackage","languageScaffolderPromptsQuestionNames","jsScaffolderQuestionNames"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@form8ion/javascript",
|
|
3
3
|
"description": "JavaScript language plugin for the @form8ion toolset",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"version": "14.
|
|
5
|
+
"version": "14.1.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"engines": {
|
|
8
8
|
"node": "^18.19.0 || ^20.9.0 || >=22.11.0"
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"access": "public",
|
|
58
58
|
"provenance": true
|
|
59
59
|
},
|
|
60
|
-
"packageManager": "npm@11.
|
|
60
|
+
"packageManager": "npm@11.1.0+sha512.acf301ad9b9ddba948fcb72341e2f0fcae477f56a95cc2a092934d133a7461062633cefbf93d5934a3dc0768674e2edee9f04dcfcc4bb4c327ff0e3a7d552a1b",
|
|
61
61
|
"dependencies": {
|
|
62
62
|
"@form8ion/codecov": "^6.0.0",
|
|
63
63
|
"@form8ion/commit-convention": "^8.0.0-beta.6",
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
},
|
|
86
86
|
"devDependencies": {
|
|
87
87
|
"@cucumber/cucumber": "11.2.0",
|
|
88
|
-
"@form8ion/commitlint-config": "2.0.
|
|
88
|
+
"@form8ion/commitlint-config": "2.0.4",
|
|
89
89
|
"@form8ion/eslint-config": "7.0.12",
|
|
90
90
|
"@form8ion/eslint-config-cucumber": "1.4.1",
|
|
91
91
|
"@form8ion/eslint-config-mocha": "3.0.6",
|
|
@@ -103,16 +103,16 @@
|
|
|
103
103
|
"js-yaml": "4.1.0",
|
|
104
104
|
"lockfile-lint": "4.14.0",
|
|
105
105
|
"ls-engines": "0.9.3",
|
|
106
|
-
"mock-fs": "5.
|
|
106
|
+
"mock-fs": "5.5.0",
|
|
107
107
|
"npm-run-all2": "7.0.2",
|
|
108
|
-
"publint": "0.3.
|
|
108
|
+
"publint": "0.3.4",
|
|
109
109
|
"remark-cli": "12.0.1",
|
|
110
110
|
"remark-toc": "9.0.0",
|
|
111
111
|
"remark-usage": "11.0.1",
|
|
112
112
|
"rimraf": "6.0.1",
|
|
113
|
-
"rollup": "4.
|
|
113
|
+
"rollup": "4.34.6",
|
|
114
114
|
"rollup-plugin-auto-external": "2.0.0",
|
|
115
115
|
"testdouble": "3.20.2",
|
|
116
|
-
"vitest": "3.0.
|
|
116
|
+
"vitest": "3.0.5"
|
|
117
117
|
}
|
|
118
118
|
}
|