@form8ion/javascript 5.9.1 → 6.0.0-alpha.3

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/example.js CHANGED
@@ -24,7 +24,7 @@ const {
24
24
  test: thisIsAJavaScriptProject,
25
25
  scaffoldUnitTesting,
26
26
  questionNames
27
- } = require('./lib/index.cjs');
27
+ } = require('./lib/index.js');
28
28
 
29
29
  // #### Execute
30
30
  (async () => {
@@ -318,18 +318,6 @@ var enginesEnhancer = /*#__PURE__*/Object.freeze({
318
318
  lift: lift$1
319
319
  });
320
320
 
321
- function write({
322
- projectRoot,
323
- config
324
- }) {
325
- return core.writeConfigFile({
326
- format: core.fileTypes.JSON,
327
- name: 'package',
328
- path: projectRoot,
329
- config
330
- });
331
- }
332
-
333
321
  function scaffoldScripts () {
334
322
  return {};
335
323
  }
@@ -375,15 +363,14 @@ function buildPackageDetails ({
375
363
  vcs,
376
364
  author,
377
365
  description,
378
- packageProperties,
379
366
  pathWithinParent
380
367
  }) {
381
- return _objectSpread2(_objectSpread2(_objectSpread2({
368
+ return _objectSpread2(_objectSpread2({
382
369
  name: packageName,
383
370
  description,
384
371
  license,
385
372
  type: javascriptCore.dialects.ESM === dialect ? 'module' : 'commonjs'
386
- }, packageProperties), defineVcsHostDetails(vcs, projectType, packageName, pathWithinParent)), {}, {
373
+ }, defineVcsHostDetails(vcs, projectType, packageName, pathWithinParent)), {}, {
387
374
  author: `${author.name}${author.email ? ` <${author.email}>` : ''}${author.url ? ` (${author.url})` : ''}`,
388
375
  scripts: scaffoldScripts()
389
376
  });
@@ -398,7 +385,6 @@ async function scaffoldPackage ({
398
385
  vcs,
399
386
  author,
400
387
  description,
401
- packageProperties,
402
388
  pathWithinParent
403
389
  }) {
404
390
  cliMessages.info('Configuring package.json');
@@ -410,10 +396,9 @@ async function scaffoldPackage ({
410
396
  vcs,
411
397
  author,
412
398
  description,
413
- packageProperties,
414
399
  pathWithinParent
415
400
  });
416
- await write({
401
+ await javascriptCore.writePackageJson({
417
402
  projectRoot,
418
403
  config: packageData
419
404
  });
@@ -436,7 +421,7 @@ async function liftPackage ({
436
421
  });
437
422
  const pathToPackageJson = `${projectRoot}/package.json`;
438
423
  const existingPackageJsonContents = JSON.parse(await fs.promises.readFile(pathToPackageJson, 'utf8'));
439
- await write({
424
+ await javascriptCore.writePackageJson({
440
425
  projectRoot,
441
426
  config: _objectSpread2(_objectSpread2({}, existingPackageJsonContents), {}, {
442
427
  scripts: liftScripts({
@@ -856,16 +841,6 @@ async function scaffoldTypescript ({
856
841
  };
857
842
  }
858
843
 
859
- function scaffoldEsm () {
860
- return {
861
- packageProperties: {
862
- engines: {
863
- node: '>=12.20'
864
- }
865
- }
866
- };
867
- }
868
-
869
844
  function scaffoldDialect ({
870
845
  dialect,
871
846
  projectType,
@@ -890,13 +865,8 @@ function scaffoldDialect ({
890
865
  testFilenamePattern
891
866
  });
892
867
 
893
- case javascriptCore.dialects.ESM:
894
- return scaffoldEsm();
895
-
896
868
  default:
897
- return {
898
- eslint: {}
899
- };
869
+ return {};
900
870
  }
901
871
  }
902
872
 
@@ -1163,7 +1133,7 @@ async function scaffoldPackageType ({
1163
1133
  publishRegistry
1164
1134
  }) {
1165
1135
  cliMessages.info('Scaffolding Package Details');
1166
- const detailsForBuild = await buildDetails({
1136
+ const [detailsForBuild] = await Promise.all([buildDetails({
1167
1137
  projectRoot,
1168
1138
  projectName,
1169
1139
  packageBundlers,
@@ -1171,28 +1141,29 @@ async function scaffoldPackageType ({
1171
1141
  packageName,
1172
1142
  dialect,
1173
1143
  decisions
1174
- });
1175
-
1176
- const details = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, javascriptCore.dialects.BABEL === dialect && _objectSpread2({
1177
- packageProperties: {
1144
+ }), javascriptCore.mergeIntoExistingPackageJson({
1145
+ projectRoot,
1146
+ config: _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({
1147
+ files: ['example.js', ...(javascriptCore.dialects.COMMON_JS === dialect ? ['index.js'] : ['lib/'])],
1148
+ publishConfig: _objectSpread2({
1149
+ access: 'Public' === visibility ? 'public' : 'restricted'
1150
+ }, publishRegistry && {
1151
+ registry: publishRegistry
1152
+ }),
1153
+ sideEffects: false
1154
+ }, 'Public' === visibility && {
1155
+ runkitExampleFilename: './example.js'
1156
+ }), javascriptCore.dialects.BABEL === dialect && {
1178
1157
  main: './lib/index.cjs.js',
1179
1158
  module: './lib/index.es.js',
1180
1159
  exports: {
1181
1160
  require: './lib/index.cjs.js',
1182
1161
  import: './lib/index.es.js'
1183
- },
1184
- sideEffects: false,
1185
- files: ['lib/']
1186
- }
1187
- }, detailsForBuild)), javascriptCore.dialects.ESM === dialect && _objectSpread2({
1188
- packageProperties: {
1162
+ }
1163
+ }), javascriptCore.dialects.ESM === dialect && {
1189
1164
  main: './lib/index.es.js',
1190
- exports: './lib/index.es.js',
1191
- sideEffects: false,
1192
- files: ['lib/']
1193
- }
1194
- }, detailsForBuild)), javascriptCore.dialects.TYPESCRIPT === dialect && _objectSpread2({
1195
- packageProperties: {
1165
+ exports: './lib/index.es.js'
1166
+ }), javascriptCore.dialects.TYPESCRIPT === dialect && {
1196
1167
  main: './lib/index.cjs.js',
1197
1168
  module: './lib/index.es.js',
1198
1169
  types: './lib/index.d.ts',
@@ -1200,16 +1171,9 @@ async function scaffoldPackageType ({
1200
1171
  types: './lib/index.d.ts',
1201
1172
  require: './lib/index.cjs.js',
1202
1173
  import: './lib/index.es.js'
1203
- },
1204
- sideEffects: false,
1205
- files: ['lib/']
1206
- }
1207
- }, detailsForBuild)), javascriptCore.dialects.COMMON_JS === dialect && _objectSpread2({
1208
- packageProperties: {
1209
- files: ['index.js']
1210
- }
1211
- }, detailsForBuild));
1212
-
1174
+ }
1175
+ })
1176
+ })]);
1213
1177
  const chosenType = await chooseApplicationType({
1214
1178
  types: packageTypes,
1215
1179
  projectType: 'package',
@@ -1222,17 +1186,7 @@ async function scaffoldPackageType ({
1222
1186
  tests,
1223
1187
  scope
1224
1188
  });
1225
- return deepmerge__default["default"].all([{
1226
- packageProperties: _objectSpread2({
1227
- files: ['example.js'],
1228
- publishConfig: _objectSpread2({
1229
- access: 'Public' === visibility ? 'public' : 'restricted'
1230
- }, publishRegistry && {
1231
- registry: publishRegistry
1232
- })
1233
- }, 'Public' === visibility && {
1234
- runkitExampleFilename: './example.js'
1235
- }),
1189
+ return deepmerge__default["default"].all([_objectSpread2(_objectSpread2({}, detailsForBuild), {}, {
1236
1190
  documentation: scaffoldPackageDocumentation({
1237
1191
  packageName,
1238
1192
  visibility,
@@ -1247,7 +1201,7 @@ async function scaffoldPackageType ({
1247
1201
  }],
1248
1202
  scripts: {},
1249
1203
  badges: defineBadges(packageName, visibility)
1250
- }, results, details]);
1204
+ }), results]);
1251
1205
  }
1252
1206
 
1253
1207
  const defaultBuildDirectory$1 = 'lib';
@@ -1261,11 +1215,16 @@ async function scaffoldApplicationType ({
1261
1215
  decisions
1262
1216
  }) {
1263
1217
  cliMessages.info('Scaffolding Application Details');
1264
- const chosenType = await chooseApplicationType({
1218
+ const [chosenType] = await Promise.all([chooseApplicationType({
1265
1219
  types: applicationTypes,
1266
1220
  projectType: 'application',
1267
1221
  decisions
1268
- });
1222
+ }), javascriptCore.mergeIntoExistingPackageJson({
1223
+ projectRoot,
1224
+ config: {
1225
+ private: true
1226
+ }
1227
+ })]);
1269
1228
  const results = await javascriptCore.scaffoldChoice(applicationTypes, chosenType, {
1270
1229
  projectRoot,
1271
1230
  projectName,
@@ -1287,9 +1246,6 @@ async function scaffoldApplicationType ({
1287
1246
  directories: [`/${buildDirectory}/`]
1288
1247
  },
1289
1248
  buildDirectory,
1290
- packageProperties: {
1291
- private: true
1292
- },
1293
1249
  eslintConfigs: [],
1294
1250
  nextSteps: []
1295
1251
  }, results);
@@ -1331,11 +1287,22 @@ async function scaffoldCliType ({
1331
1287
  dialect,
1332
1288
  publishRegistry
1333
1289
  }) {
1334
- const rollupResults = await rollup.scaffold({
1290
+ const [rollupResults] = await Promise.all([rollup.scaffold({
1335
1291
  projectRoot,
1336
1292
  dialect,
1337
1293
  projectType: javascriptCore.projectTypes.CLI
1338
- });
1294
+ }), javascriptCore.mergeIntoExistingPackageJson({
1295
+ projectRoot,
1296
+ config: {
1297
+ bin: {},
1298
+ files: [`${defaultBuildDirectory}/`],
1299
+ publishConfig: _objectSpread2({
1300
+ access: 'Public' === visibility ? 'public' : 'restricted'
1301
+ }, publishRegistry && {
1302
+ registry: publishRegistry
1303
+ })
1304
+ }
1305
+ })]);
1339
1306
  return deepmerge__default["default"](rollupResults, {
1340
1307
  scripts: {
1341
1308
  clean: `rimraf ./${defaultBuildDirectory}`,
@@ -1351,16 +1318,6 @@ async function scaffoldCliType ({
1351
1318
  },
1352
1319
  buildDirectory: defaultBuildDirectory,
1353
1320
  badges: defineBadges(packageName, visibility),
1354
- packageProperties: {
1355
- version: '0.0.0-semantically-released',
1356
- bin: {},
1357
- files: [`${defaultBuildDirectory}/`],
1358
- publishConfig: _objectSpread2({
1359
- access: 'Public' === visibility ? 'public' : 'restricted'
1360
- }, publishRegistry && {
1361
- registry: publishRegistry
1362
- })
1363
- },
1364
1321
  eslintConfigs: [],
1365
1322
  nextSteps: []
1366
1323
  });
@@ -1717,6 +1674,19 @@ async function scaffolder (options) {
1717
1674
  level: 'secondary'
1718
1675
  });
1719
1676
  const packageName = buildPackageName(projectName, scope);
1677
+ const {
1678
+ homepage: projectHomepage
1679
+ } = await scaffoldPackage({
1680
+ projectRoot,
1681
+ projectType,
1682
+ dialect,
1683
+ packageName,
1684
+ license,
1685
+ vcs,
1686
+ author,
1687
+ description,
1688
+ pathWithinParent
1689
+ });
1720
1690
  const projectTypeResults = await scaffoldProjectType({
1721
1691
  projectType,
1722
1692
  projectRoot,
@@ -1786,20 +1756,6 @@ async function scaffolder (options) {
1786
1756
  configs,
1787
1757
  pathWithinParent
1788
1758
  })])), projectTypeResults, verificationResults, npmResults, dialectResults]);
1789
- const {
1790
- homepage: projectHomepage
1791
- } = await scaffoldPackage({
1792
- projectRoot,
1793
- projectType,
1794
- dialect,
1795
- packageName,
1796
- license,
1797
- vcs,
1798
- author,
1799
- description,
1800
- packageProperties: mergedContributions.packageProperties,
1801
- pathWithinParent
1802
- });
1803
1759
  const liftResults = await lift({
1804
1760
  results: deepmerge__default["default"]({
1805
1761
  devDependencies: ['npm-run-all'],
@@ -1839,4 +1795,4 @@ exports.questionNames = questionNames;
1839
1795
  exports.scaffold = scaffolder;
1840
1796
  exports.scaffoldUnitTesting = scaffoldUnitTesting;
1841
1797
  exports.test = test;
1842
- //# sourceMappingURL=index.cjs.js.map
1798
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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/options-schemas.js","../src/testing/prompt.js","../src/testing/unit.js","../src/lift/enhancers/engines.js","../src/package/scripts/scaffolder.js","../src/package/scripts/test-script-updater.js","../src/package/scripts/lifter.js","../src/package/details.js","../src/package/scaffolder.js","../src/package/lifter.js","../src/lift/package-manager.js","../src/lift/lift.js","../src/scaffolder/project-type/options-schemas.js","../src/options-validator.js","../thirdparty-wrappers/npm-conf.js","../src/dialects/prompt-choices.js","../src/prompts/conditionals.js","../src/prompts/validators.js","../src/prompts/questions.js","../src/dialects/babel/scaffolder.js","../src/dialects/typescript/scaffolder.js","../src/dialects/scaffolder.js","../src/config/npm.js","../src/documentation/generation-command.js","../src/documentation/scaffolder.js","../src/node-version/tasks.js","../src/node-version/scaffolder.js","../src/badges.js","../src/vcs-ignore.js","../src/package-name.js","../src/scaffolder/project-type/prompt.js","../src/scaffolder/project-type/package/documentation.js","../src/scaffolder/project-type/package/badges.js","../src/scaffolder/project-type/package/prompt.js","../src/template-path.js","../src/scaffolder/project-type/package/build-details.js","../src/scaffolder/project-type/package/scaffolder.js","../src/scaffolder/project-type/application.js","../src/scaffolder/project-type/monorepo.js","../src/scaffolder/project-type/cli.js","../src/scaffolder/project-type/scaffolder.js","../src/scaffolder/verification/testing/scaffolder.js","../src/scaffolder/verification/linting/eslint.js","../src/scaffolder/verification/linting/remark.js","../src/scaffolder/verification/linting/ban-sensitive-files.js","../src/scaffolder/verification/linting/lockfile/allowed-hosts-builder.js","../src/scaffolder/verification/linting/lockfile/scaffolder.js","../src/scaffolder/verification/linting/scaffolder.js","../src/scaffolder/verification/verifier.js","../src/scaffolder/scaffolder.js","../src/test.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 DIALECT: 'dialect'\n};\n","import {promises} from 'fs';\n\nexport default async function ({projectRoot}) {\n await promises.writeFile(\n `${projectRoot}/.c8rc.json`,\n JSON.stringify({\n reporter: ['lcov', 'text-summary', 'html'],\n exclude: ['src/**/*-test.js', 'test/', 'thirdparty-wrappers/', 'vendor/']\n })\n );\n\n return {\n devDependencies: ['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';\nimport {scaffold as scaffoldC8} from './c8';\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 '../../thirdparty-wrappers/execa';\n\nexport default async function ({packageManager, dependencies}) {\n await execa(packageManager, ['remove', ...dependencies]);\n}\n","import {promises as fs} from 'fs';\nimport removeDependencies from '../../dependencies/remover';\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';\nimport {test as nycIsConfigured, remove as removeNyc} from './nyc';\n\nexport async function lift({projectRoot, packageManager}) {\n const codecovResults = await liftCodecov({projectRoot, packageManager});\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 {};\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';\nimport nycIsConfigured from './nyc/tester';\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 * as joi from 'joi';\n\nexport const unitTestFrameworksSchema = joi.object().required().pattern(/^/, joi.object({\n scaffolder: joi.func().arity(1).required()\n}));\n","import {Separator} from 'inquirer';\nimport {prompt} from '@form8ion/overridable-prompts';\nimport {questionNames} from '../prompts/question-names';\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), new Separator(), 'Other']\n }], decisions);\n\n return answers[questionNames.UNIT_TEST_FRAMEWORK];\n}\n","import deepmerge from 'deepmerge';\nimport {scaffoldChoice as scaffoldFrameworkChoice, validateOptions} from '@form8ion/javascript-core';\nimport {scaffold as scaffoldCoverage} from '../coverage';\nimport {unitTestFrameworksSchema} from './options-schemas';\nimport chooseFramework from './prompt';\n\nexport default async function ({projectRoot, frameworks, decisions, visibility, vcs, pathWithinParent, dialect}) {\n const validatedFrameworks = validateOptions(unitTestFrameworksSchema, 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 {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({projectRoot}) {\n const {name} = JSON.parse(await fs.readFile(`${projectRoot}/package.json`, 'utf8'));\n\n return {\n devDependencies: ['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","export default function () {\n return {};\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';\n\nexport default function ({existingScripts, scripts}) {\n return updateTestScript({...existingScripts, ...scripts});\n}\n","import {dialects, projectTypes} from '@form8ion/javascript-core';\n\nimport {scaffold as scaffoldScripts} from './scripts';\n\nfunction defineVcsHostDetails(vcs, packageType, packageName, 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 homepage: (projectTypes.PACKAGE === packageType)\n ? `https://npm.im/${packageName}`\n : `https://github.com/${vcs.owner}/${vcs.name}#readme`\n };\n}\n\nexport default function ({\n packageName,\n projectType,\n dialect,\n license,\n vcs,\n author,\n description,\n pathWithinParent\n}) {\n return {\n name: packageName,\n description,\n license,\n type: dialects.ESM === dialect ? 'module' : 'commonjs',\n ...defineVcsHostDetails(vcs, projectType, packageName, pathWithinParent),\n author: `${author.name}${author.email ? ` <${author.email}>` : ''}${author.url ? ` (${author.url})` : ''}`,\n scripts: scaffoldScripts()\n };\n}\n","import {info} from '@travi/cli-messages';\nimport {writePackageJson} from '@form8ion/javascript-core';\n\nimport buildPackageDetails from './details';\n\nexport default async function ({\n projectRoot,\n projectType,\n dialect,\n packageName,\n license,\n vcs,\n author,\n description,\n pathWithinParent\n}) {\n info('Configuring package.json');\n\n const packageData = await buildPackageDetails({\n packageName,\n projectType,\n dialect,\n license,\n vcs,\n author,\n description,\n pathWithinParent\n });\n\n await writePackageJson({projectRoot, config: packageData});\n\n return {homepage: packageData.homepage};\n}\n","import {promises as fs} from 'fs';\nimport {error, info} from '@travi/cli-messages';\nimport {\n DEV_DEPENDENCY_TYPE,\n PROD_DEPENDENCY_TYPE,\n installDependencies,\n writePackageJson\n} from '@form8ion/javascript-core';\n\nimport {lift as liftScripts} from './scripts';\n\nexport default async function ({\n projectRoot,\n scripts,\n tags,\n dependencies,\n devDependencies,\n packageManager\n}) {\n if (scripts || tags) {\n info('Updating `package.json`', {level: 'secondary'});\n\n const pathToPackageJson = `${projectRoot}/package.json`;\n\n const existingPackageJsonContents = JSON.parse(await fs.readFile(pathToPackageJson, 'utf8'));\n\n await writePackageJson({\n projectRoot,\n config: {\n ...existingPackageJsonContents,\n scripts: liftScripts({existingScripts: existingPackageJsonContents.scripts, scripts}),\n ...tags && {\n keywords: existingPackageJsonContents.keywords ? [...existingPackageJsonContents.keywords, ...tags] : tags\n }\n }\n });\n }\n\n info('Installing dependencies');\n\n try {\n await installDependencies(dependencies || [], PROD_DEPENDENCY_TYPE, projectRoot, packageManager);\n await installDependencies([...devDependencies || []], DEV_DEPENDENCY_TYPE, projectRoot, packageManager);\n } catch (e) {\n error('Failed to install dependencies');\n }\n}\n","import {fileExists} from '@form8ion/core';\nimport {packageManagers} from '@form8ion/javascript-core';\n\nexport default async function ({projectRoot, packageManager}) {\n if (packageManager) return packageManager;\n\n if (await fileExists(`${projectRoot}/package-lock.json`)) {\n return packageManagers.NPM;\n }\n\n if (await fileExists(`${projectRoot}/yarn.lock`)) {\n return packageManagers.YARN;\n }\n\n throw new Error('Package-manager could not be determined');\n}\n","import deepmerge from 'deepmerge';\nimport {info} from '@travi/cli-messages';\nimport {applyEnhancers} from '@form8ion/core';\nimport {lift as liftEslint} from '@form8ion/eslint';\nimport * as huskyPlugin from '@form8ion/husky';\nimport * as commitConventionPlugin from '@form8ion/commit-convention';\n\nimport * as coveragePlugin from '../coverage';\nimport * as enginesEnhancer from './enhancers/engines';\nimport {lift as liftPackage} from '../package';\nimport resolvePackageManager from './package-manager';\n\nexport default async function ({projectRoot, vcs, results}) {\n info('Lifting JavaScript-specific details');\n\n const {scripts, tags, eslintConfigs, dependencies, devDependencies, packageManager: manager} = results;\n\n const packageManager = await resolvePackageManager({projectRoot, packageManager: manager});\n\n const eslintResults = await liftEslint({projectRoot, configs: eslintConfigs});\n const enhancerResults = await applyEnhancers({\n results,\n enhancers: [huskyPlugin, enginesEnhancer, coveragePlugin, commitConventionPlugin],\n options: {packageManager, projectRoot, vcs}\n });\n\n await liftPackage(\n deepmerge.all([\n {projectRoot, scripts, tags, dependencies, devDependencies, packageManager},\n enhancerResults,\n eslintResults\n ])\n );\n\n return enhancerResults;\n}\n","import * as joi from 'joi';\n\nexport const packageBundlersSchema = joi.object().pattern(/^/, joi.object({\n scaffolder: joi.func().arity(1).required()\n})).default({});\n","import * as joi from 'joi';\nimport hoek from '@hapi/hoek';\nimport {unitTestFrameworksSchema} from './testing/options-schemas';\nimport {packageBundlersSchema} from './scaffolder/project-type/options-schemas';\n\nexport function validate(options) {\n const schema = joi.object().required()\n .keys({\n projectRoot: joi.string().required(),\n projectName: joi.string().regex(/^@\\w*\\//, {invert: true}).required(),\n visibility: joi.string().valid('Public', 'Private').required(),\n license: joi.string().required(),\n description: joi.string(),\n pathWithinParent: joi.string()\n })\n .keys({\n vcs: joi.object({\n host: joi.string().required(),\n owner: joi.string().required(),\n name: joi.string().required()\n })\n })\n .keys({\n configs: joi.object({\n eslint: joi.object({scope: joi.string().regex(/^@[a-z0-9-]+$/i, 'scope').required()}),\n typescript: joi.object({scope: joi.string().regex(/^@[a-z0-9-]+$/i, 'scope').required()}),\n commitlint: joi.object({\n packageName: joi.string().required(),\n name: joi.string().required()\n }),\n babelPreset: joi.object({\n packageName: joi.string().required(),\n name: joi.string().required()\n }),\n remark: joi.string()\n }).default({})\n })\n .keys({\n overrides: joi.object({\n npmAccount: joi.string(),\n author: joi.object({\n name: joi.string().required(),\n email: joi.string().email(),\n url: joi.string().uri()\n })\n }).default({})\n })\n .keys({\n ciServices: joi.object().pattern(/^/, joi.object({\n scaffolder: joi.func().arity(1).required(),\n public: joi.boolean(),\n private: joi.boolean()\n })).default({})\n })\n .keys({\n hosts: joi.object().pattern(/^/, joi.object({\n scaffolder: joi.func().arity(1).required(),\n projectTypes: joi.array().items(joi.string().valid('static', 'node')).default([])\n })).default({})\n })\n .keys({\n applicationTypes: joi.object().pattern(/^/, joi.object({\n scaffolder: joi.func().arity(1).required()\n })).default({}),\n packageTypes: joi.object().pattern(/^/, joi.object({\n scaffolder: joi.func().arity(1).required()\n })).default({}),\n monorepoTypes: joi.object().pattern(/^/, joi.object({\n scaffolder: joi.func().arity(1).required()\n }))\n })\n .keys({\n unitTestFrameworks: unitTestFrameworksSchema,\n packageBundlers: packageBundlersSchema\n })\n .keys({\n decisions: joi.object()\n })\n .keys({registries: joi.object().pattern(joi.string(), joi.string().uri()).default({})});\n const {error, value} = schema.validate(options);\n\n hoek.assert(!error, error);\n\n return value;\n}\n","const npmConf = require('npm-conf');\n\nexport default npmConf;\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';\nimport {questionNames} from './question-names';\n\nfunction projectIsPackage(answers) {\n return projectTypes.PACKAGE === answers[questionNames.PROJECT_TYPE];\n}\n\nfunction projectIsCLI(answers) {\n return projectTypes.CLI === 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 {Separator} from 'inquirer';\nimport {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';\nimport execa from '../../thirdparty-wrappers/execa';\nimport npmConfFactory from '../../thirdparty-wrappers/npm-conf';\nimport buildDialectChoices from '../dialects/prompt-choices';\nimport {\n lintingPromptShouldBePresented,\n projectIsApplication,\n scopePromptShouldBePresentedFactory,\n shouldBeScopedPromptShouldBePresented\n} from './conditionals';\nimport {questionNames} from './question-names';\nimport {scope as validateScope} from './validators';\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 {npmAccount, author},\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.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), new Separator(), '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: npmAccount || maybeLoggedInNpmUsername\n },\n ...authorQuestions(author || {\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, visibility, 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.HOST,\n type: 'list',\n message: 'Where will the application be hosted?',\n when: projectIsApplication,\n choices: [...Object.keys(hosts), new Separator(), '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 packageManager,\n dialect\n };\n}\n","import {write} from '@form8ion/config-file';\nimport {fileTypes} from '@form8ion/core';\n\nexport default async function ({projectRoot, preset, buildDirectory}) {\n if (!preset) {\n throw new Error('No babel preset provided. Cannot configure babel transpilation');\n }\n\n await write({\n path: projectRoot,\n name: 'babel',\n format: fileTypes.JSON,\n config: {presets: [preset.name], ignore: [`./${buildDirectory}/`]}\n });\n\n return {\n devDependencies: ['@babel/register', preset.packageName],\n eslint: {}\n };\n}\n","import {promises as fs} from 'fs';\nimport {projectTypes} from '@form8ion/javascript-core';\n\nexport default async function ({config, projectType, projectRoot, testFilenamePattern}) {\n const eslintConfigs = ['typescript'];\n const shareableTsConfigPackage = `${config.scope}/tsconfig`;\n\n await fs.writeFile(\n `${projectRoot}/tsconfig.json`,\n JSON.stringify({\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: eslintConfigs},\n eslintConfigs,\n devDependencies: ['typescript', shareableTsConfigPackage],\n vcsIgnore: {files: ['tsconfig.tsbuildinfo']}\n };\n}\n","import {dialects} from '@form8ion/javascript-core';\n\nimport {scaffold as scaffoldBabel} from './babel';\nimport {scaffold as scaffoldTypescript} from './typescript';\n\nexport default function ({dialect, projectType, projectRoot, configs, buildDirectory, testFilenamePattern}) {\n switch (dialect) {\n case dialects.BABEL:\n return scaffoldBabel({preset: configs.babelPreset, projectRoot, buildDirectory});\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 'fs';\nimport {stringify} from 'ini';\nimport {projectTypes} from '@form8ion/javascript-core';\n\nfunction projectWillNotBeConsumed(projectType) {\n return projectTypes.APPLICATION === projectType || projectTypes.CLI === projectType;\n}\n\nexport default async function ({\n projectRoot,\n projectType,\n registries\n}) {\n await fs.writeFile(\n `${projectRoot}/.npmrc`,\n stringify({\n 'update-notifier': false,\n ...projectWillNotBeConsumed(projectType) && {'save-exact': true},\n ...Object.fromEntries(Object.entries(registries)\n .filter(([scope]) => 'publish' !== scope)\n .map(([scope, url]) => {\n if ('registry' === scope) return ['registry', url];\n\n return [`@${scope}:registry`, url];\n }))\n })\n );\n\n return {scripts: {'lint:peer': 'npm ls >/dev/null'}};\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';\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';\nimport execa from '../../thirdparty-wrappers/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 fsPromises} from 'fs';\nimport {info} from '@travi/cli-messages';\nimport {determineLatestVersionOf, install as installNodeVersion} from './tasks';\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 fsPromises.writeFile(`${projectRoot}/.nvmrc`, version);\n\n await installNodeVersion(nodeVersionCategory);\n\n return version;\n}\n","import deepmerge from 'deepmerge';\n\nexport default function (contributors) {\n return deepmerge.all(contributors).badges;\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';\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 {Separator} from 'inquirer';\nimport {prompt} from '@form8ion/overridable-prompts';\nimport {questionNames} from '../../prompts/question-names';\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), new Separator(), 'Other']\n }], decisions);\n\n return answers[questionNames.PROJECT_TYPE_CHOICE];\n}\n","import {packageManagers} from '@form8ion/javascript-core';\nimport buildGenerationCommand from '../../../documentation/generation-command';\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}) {\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\\`\\`\\`\n\n### Example\n\nrun \\`${buildGenerationCommand(packageManager)}\\` to inject the usage example`\n };\n}\n","export default function (packageName, visibility) {\n return {\n consumer: {\n ...'Public' === visibility && {\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","import {Separator} from 'inquirer';\nimport {prompt} from '@form8ion/overridable-prompts';\nimport {questionNames} from '../../../prompts/question-names';\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), new Separator(), 'Other']\n }], decisions);\n\n return answers[questionNames.PACKAGE_BUNDLER];\n}\n","import {resolve} from 'path';\n\nexport default function (fileName) {\n return resolve(__dirname, '..', 'templates', fileName);\n}\n","import {promises as fs} from 'fs';\nimport deepmerge from 'deepmerge';\nimport mustache from 'mustache';\nimport {dialects, projectTypes, scaffoldChoice as scaffoldChosenBundler} from '@form8ion/javascript-core';\n\nimport camelcase from '../../../../thirdparty-wrappers/camelcase';\nimport mkdir from '../../../../thirdparty-wrappers/make-dir';\nimport touch from '../../../../thirdparty-wrappers/touch';\nimport chooseBundler from './prompt';\nimport determinePathToTemplateFile from '../../../template-path';\n\nconst defaultBuildDirectory = 'lib';\n\nasync function createExample(projectRoot, projectName) {\n return fs.writeFile(\n `${projectRoot}/example.js`,\n mustache.render(\n await fs.readFile(determinePathToTemplateFile('example.mustache'), 'utf8'),\n {projectName: camelcase(projectName)}\n )\n );\n}\n\nasync function buildDetailsForCommonJsProject({projectRoot, projectName}) {\n await Promise.all([\n touch(`${projectRoot}/index.js`),\n fs.writeFile(`${projectRoot}/example.js`, `const ${camelcase(projectName)} = require('.');\\n`)\n ]);\n\n return {};\n}\n\nexport default async function ({\n projectRoot,\n projectName,\n visibility,\n packageName,\n packageBundlers,\n dialect,\n decisions\n}) {\n if (dialects.COMMON_JS === dialect) return buildDetailsForCommonJsProject({projectRoot, projectName});\n\n const chosenBundler = await chooseBundler({bundlers: packageBundlers, decisions});\n\n const pathToCreatedSrcDirectory = await mkdir(`${projectRoot}/src`);\n const [bundlerResults] = await Promise.all([\n scaffoldChosenBundler(packageBundlers, chosenBundler, {projectRoot, dialect, projectType: projectTypes.PACKAGE}),\n await createExample(projectRoot, projectName),\n touch(`${pathToCreatedSrcDirectory}/index.js`)\n ]);\n\n return deepmerge(\n bundlerResults,\n {\n devDependencies: ['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 },\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 {\n dialects,\n mergeIntoExistingPackageJson,\n scaffoldChoice as scaffoldChosenPackageType\n} from '@form8ion/javascript-core';\n\nimport choosePackageType from '../prompt';\nimport scaffoldPackageDocumentation from './documentation';\nimport defineBadges from './badges';\nimport buildDetails from './build-details';\n\nexport default async function ({\n projectRoot,\n projectName,\n packageName,\n packageManager,\n visibility,\n scope,\n packageTypes,\n packageBundlers,\n tests,\n decisions,\n dialect,\n publishRegistry\n}) {\n info('Scaffolding Package Details');\n\n const [detailsForBuild] = await Promise.all([\n buildDetails({projectRoot, projectName, packageBundlers, visibility, packageName, dialect, decisions}),\n mergeIntoExistingPackageJson({\n projectRoot,\n config: {\n files: ['example.js', ...dialects.COMMON_JS === dialect ? ['index.js'] : ['lib/']],\n publishConfig: {\n access: 'Public' === visibility ? 'public' : 'restricted',\n ...publishRegistry && {registry: publishRegistry}\n },\n sideEffects: false,\n ...'Public' === visibility && {runkitExampleFilename: './example.js'},\n ...dialects.BABEL === dialect && {\n main: './lib/index.cjs.js',\n module: './lib/index.es.js',\n exports: {\n require: './lib/index.cjs.js',\n import: './lib/index.es.js'\n }\n },\n ...dialects.ESM === dialect && {\n main: './lib/index.es.js',\n exports: './lib/index.es.js'\n },\n ...dialects.TYPESCRIPT === dialect && {\n main: './lib/index.cjs.js',\n module: './lib/index.es.js',\n types: './lib/index.d.ts',\n exports: {\n types: './lib/index.d.ts',\n require: './lib/index.cjs.js',\n import: './lib/index.es.js'\n }\n }\n }\n })\n ]);\n\n const chosenType = await choosePackageType({types: packageTypes, projectType: 'package', decisions});\n const results = await scaffoldChosenPackageType(\n packageTypes,\n chosenType,\n {projectRoot, projectName, packageName, tests, scope}\n );\n\n return deepmerge.all([\n {\n ...detailsForBuild,\n documentation: scaffoldPackageDocumentation({packageName, visibility, scope, packageManager}),\n eslintConfigs: [],\n nextSteps: [\n {summary: 'Add the appropriate `save` flag to the installation instructions in the README'},\n {summary: 'Publish pre-release versions to npm until package is stable enough to publish v1.0.0'}\n ],\n scripts: {},\n badges: defineBadges(packageName, visibility)\n },\n results\n ]);\n}\n","import deepmerge from 'deepmerge';\nimport {mergeIntoExistingPackageJson, scaffoldChoice as scaffoldChosenApplicationType} from '@form8ion/javascript-core';\nimport {info} from '@travi/cli-messages';\nimport chooseApplicationType from './prompt';\n\nconst defaultBuildDirectory = 'lib';\n\nexport default async function ({\n applicationTypes,\n projectRoot,\n projectName,\n packageName,\n packageManager,\n tests,\n decisions\n}) {\n info('Scaffolding Application Details');\n\n const [chosenType] = await Promise.all([\n chooseApplicationType({types: applicationTypes, projectType: 'application', decisions}),\n mergeIntoExistingPackageJson({projectRoot, config: {private: true}})\n ]);\n\n const results = await scaffoldChosenApplicationType(\n applicationTypes,\n chosenType,\n {projectRoot, projectName, packageName, packageManager, tests}\n );\n\n const buildDirectory = results.buildDirectory || defaultBuildDirectory;\n\n return deepmerge(\n {\n scripts: {\n clean: `rimraf ./${buildDirectory}`,\n start: `node ./${buildDirectory}/index.js`,\n prebuild: 'run-s clean'\n },\n dependencies: [],\n devDependencies: ['rimraf'],\n vcsIgnore: {files: ['.env'], directories: [`/${buildDirectory}/`]},\n buildDirectory,\n eslintConfigs: [],\n nextSteps: []\n },\n results\n );\n}\n","import deepmerge from 'deepmerge';\nimport {projectTypes, scaffoldChoice as scaffoldChosenApplicationType} from '@form8ion/javascript-core';\nimport {info} from '@travi/cli-messages';\nimport chooseApplicationType from './prompt';\n\nexport default async function ({monorepoTypes, projectRoot, packageManager, decisions}) {\n info('Scaffolding Monorepo Details');\n\n const chosenType = await chooseApplicationType({types: monorepoTypes, projectType: projectTypes.MONOREPO, decisions});\n const results = await scaffoldChosenApplicationType(monorepoTypes, chosenType, {projectRoot, packageManager});\n\n return deepmerge(\n {\n eslintConfigs: [],\n packageProperties: {private: true},\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 results\n );\n}\n","import deepmerge from 'deepmerge';\nimport {mergeIntoExistingPackageJson, projectTypes} from '@form8ion/javascript-core';\nimport {scaffold as scaffoldRollup} from '@form8ion/rollup';\n\nimport defineBadges from './package/badges';\n\nconst defaultBuildDirectory = 'bin';\n\nexport default async function ({packageName, visibility, projectRoot, dialect, publishRegistry}) {\n const [rollupResults] = await Promise.all([\n scaffoldRollup({projectRoot, dialect, projectType: projectTypes.CLI}),\n mergeIntoExistingPackageJson({\n projectRoot,\n config: {\n bin: {},\n files: [`${defaultBuildDirectory}/`],\n publishConfig: {\n access: 'Public' === visibility ? 'public' : 'restricted',\n ...publishRegistry && {registry: publishRegistry}\n }\n }\n })\n ]);\n\n return deepmerge(\n rollupResults,\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: ['update-notifier'],\n devDependencies: ['rimraf'],\n vcsIgnore: {files: [], directories: [`/${defaultBuildDirectory}/`]},\n buildDirectory: defaultBuildDirectory,\n badges: defineBadges(packageName, visibility),\n eslintConfigs: [],\n nextSteps: []\n }\n );\n}\n","import {projectTypes} from '@form8ion/javascript-core';\nimport scaffoldPackageType from './package';\nimport scaffoldApplicationType from './application';\nimport scaffoldMonorepoType from './monorepo';\nimport scaffoldCliType from './cli';\n\nexport default async function ({\n projectType,\n projectRoot,\n projectName,\n packageName,\n packageManager,\n visibility,\n applicationTypes,\n packageTypes,\n packageBundlers,\n monorepoTypes,\n scope,\n tests,\n vcs,\n decisions,\n dialect,\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 packageTypes,\n packageBundlers,\n tests,\n vcs,\n decisions,\n dialect,\n publishRegistry\n });\n case projectTypes.APPLICATION:\n return scaffoldApplicationType({\n projectRoot,\n projectName,\n packageName,\n packageManager,\n applicationTypes,\n tests,\n decisions\n });\n case projectTypes.CLI:\n return scaffoldCliType({packageName, visibility, projectRoot, dialect, publishRegistry});\n case projectTypes.MONOREPO:\n return scaffoldMonorepoType({monorepoTypes, projectRoot, packageManager, decisions});\n case 'Other':\n return {\n eslintConfigs: []\n };\n default:\n throw new Error(`The project-type of ${projectType} is invalid`);\n }\n}\n","import deepmerge from 'deepmerge';\nimport scaffoldUnitTesting from '../../../testing/unit';\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 {devDependencies: [...(unit || integration) ? ['@travi/any'] : []], eslint: [], eslintConfigs: []},\n unitResults\n );\n}\n","import {scaffold} from '@form8ion/eslint';\nimport deepmerge from 'deepmerge';\n\nexport default async function ({config, projectRoot, buildDirectory, additionalConfiguration}) {\n const {scope} = config;\n const {ignore} = additionalConfiguration;\n const ignores = deepmerge(ignore, {directories: [`/${buildDirectory}/`]});\n\n return scaffold({scope, projectRoot, ignore: {directories: ignores.directories}});\n}\n","import deepmerge from 'deepmerge';\nimport {fileTypes} from '@form8ion/core';\nimport {dialects, projectTypes} from '@form8ion/javascript-core';\nimport {write} from '@form8ion/config-file';\n\nexport default async function ({config, projectRoot, projectType, vcs, dialect}) {\n await write({\n format: fileTypes.JSON,\n path: projectRoot,\n name: 'remark',\n config: {\n settings: {\n listItemIndent: 1,\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 devDependencies: [config, 'remark-cli', 'remark-toc'],\n scripts: {\n 'lint:md': 'remark . --frail',\n 'generate:md': 'remark . --output'\n }\n },\n {\n ...projectTypes.PACKAGE === projectType && {\n devDependencies: ['remark-usage'],\n ...dialects.COMMON_JS !== dialect && {scripts: {'pregenerate:md': 'run-s build'}}\n }\n }\n );\n}\n","export default function ({pathWithinParent}) {\n if (pathWithinParent) return {};\n\n return {scripts: {'lint:sensitive': 'ban'}, devDependencies: ['ban-sensitive-files']};\n}\n","export default function ({packageManager, registries}) {\n return [\n ...(!registries || (registries && !registries.registry)) ? [packageManager] : [],\n ...Object.values(Object.fromEntries(Object.entries(registries).filter(([scope]) => 'publish' !== scope)))\n ];\n}\n","import {promises as fs} from 'fs';\nimport {packageManagers} from '@form8ion/javascript-core';\n\nimport buildAllowedHostsList from './allowed-hosts-builder';\n\nconst lockfileLintSupportedPackageManagers = [packageManagers.NPM, packageManagers.YARN];\n\nfunction determineLockfilePathFor(packageManager) {\n const lockfilePaths = {\n [packageManagers.NPM]: 'package-lock.json',\n [packageManagers.YARN]: 'yarn.lock'\n };\n\n return lockfilePaths[packageManager];\n}\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 fs.writeFile(\n `${projectRoot}/.lockfile-lintrc.json`,\n JSON.stringify({\n path: determineLockfilePathFor(packageManager),\n type: packageManager,\n 'validate-https': true,\n 'allowed-hosts': buildAllowedHostsList({packageManager, registries})\n })\n );\n\n return {\n devDependencies: ['lockfile-lint'],\n scripts: {'lint:lockfile': 'lockfile-lint'}\n };\n}\n","import deepmerge from 'deepmerge';\nimport scaffoldEslint from './eslint';\nimport scaffoldRemark from './remark';\nimport scaffoldBanSensitiveFiles from './ban-sensitive-files';\nimport {scaffold as scaffoldLockfileLint} from './lockfile';\n\nexport default async function ({\n projectRoot,\n projectType,\n packageManager,\n dialect,\n registries,\n configs,\n vcs,\n configureLinting,\n buildDirectory,\n pathWithinParent,\n eslint\n}) {\n return deepmerge.all(await Promise.all([\n scaffoldLockfileLint({projectRoot, packageManager, registries}),\n configs.eslint && configureLinting\n ? scaffoldEslint({\n projectRoot,\n config: configs.eslint,\n buildDirectory,\n additionalConfiguration: eslint\n })\n : {},\n scaffoldRemark({\n projectRoot,\n projectType,\n dialect,\n vcs,\n config: configs.remark || '@form8ion/remark-lint-preset'\n }),\n vcs ? scaffoldBanSensitiveFiles({pathWithinParent}) : {}\n ]));\n}\n","import deepmerge from 'deepmerge';\nimport {scaffold as scaffoldHusky} from '@form8ion/husky';\n\nimport scaffoldTesting from './testing';\nimport scaffoldLinting from './linting';\n\nexport async function scaffoldVerification({\n projectRoot,\n projectType,\n dialect,\n visibility,\n packageManager,\n vcs,\n configs,\n registries,\n configureLinting,\n tests,\n unitTestFrameworks,\n decisions,\n buildDirectory,\n eslintConfigs,\n pathWithinParent\n}) {\n const [testingResults, huskyResults] = await Promise.all([\n scaffoldTesting({\n projectRoot,\n tests,\n visibility,\n vcs,\n unitTestFrameworks,\n decisions,\n dialect,\n pathWithinParent\n }),\n scaffoldHusky({projectRoot, packageManager, pathWithinParent})\n ]);\n\n const lintingResults = await scaffoldLinting({\n projectRoot,\n projectType,\n packageManager,\n dialect,\n configs,\n registries,\n vcs,\n configureLinting,\n buildDirectory,\n pathWithinParent,\n eslint: deepmerge.all([testingResults.eslint, {configs: testingResults.eslintConfigs}, {configs: eslintConfigs}])\n });\n\n return deepmerge.all([testingResults, lintingResults, huskyResults]);\n}\n","import deepmerge from 'deepmerge';\nimport {info} from '@travi/cli-messages';\nimport {scaffoldChoice} from '@form8ion/javascript-core';\nimport {scaffold as scaffoldCommitConvention} from '@form8ion/commit-convention';\n\nimport lift from '../lift';\nimport {validate} from '../options-validator';\nimport {prompt} from '../prompts/questions';\nimport {scaffold as scaffoldDialect} from '../dialects';\nimport scaffoldNpmConfig from '../config/npm';\nimport scaffoldDocumentation from '../documentation';\nimport scaffoldNodeVersion from '../node-version';\nimport buildBadgesDetails from '../badges';\nimport buildVcsIgnoreLists from '../vcs-ignore';\nimport {scaffold as scaffoldPackage} from '../package';\nimport buildPackageName from '../package-name';\nimport scaffoldProjectType from './project-type';\nimport buildDocumentationCommand from '../documentation/generation-command';\nimport {scaffoldVerification} from './verification';\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 overrides,\n ciServices,\n hosts,\n applicationTypes,\n packageTypes,\n packageBundlers,\n monorepoTypes,\n decisions,\n unitTestFrameworks,\n pathWithinParent,\n registries\n } = validate(options);\n\n const {\n tests,\n projectType,\n ci,\n chosenHost,\n scope,\n nodeVersionCategory,\n author,\n configureLinting,\n packageManager,\n dialect\n } = await prompt(overrides, ciServices, hosts, visibility, vcs, decisions, configs, pathWithinParent);\n\n info('Writing project files', {level: 'secondary'});\n\n const packageName = buildPackageName(projectName, scope);\n const {homepage: projectHomepage} = await scaffoldPackage({\n projectRoot,\n projectType,\n dialect,\n packageName,\n license,\n vcs,\n author,\n description,\n pathWithinParent\n });\n const projectTypeResults = await scaffoldProjectType({\n projectType,\n projectRoot,\n projectName,\n packageName,\n packageManager,\n visibility,\n applicationTypes,\n packageTypes,\n packageBundlers,\n monorepoTypes,\n scope,\n tests,\n vcs,\n decisions,\n dialect,\n publishRegistry: registries.publish\n });\n const verificationResults = await scaffoldVerification({\n projectRoot,\n projectType,\n dialect,\n packageManager,\n visibility,\n vcs,\n configs,\n registries,\n configureLinting,\n tests,\n unitTestFrameworks,\n decisions,\n pathWithinParent,\n buildDirectory: projectTypeResults.buildDirectory,\n eslintConfigs: projectTypeResults.eslintConfigs\n });\n const [nodeVersion, npmResults, dialectResults] = await Promise.all([\n scaffoldNodeVersion({projectRoot, nodeVersionCategory}),\n scaffoldNpmConfig({projectType, projectRoot, registries}),\n scaffoldDialect({\n dialect,\n configs,\n projectRoot,\n projectType,\n buildDirectory: projectTypeResults.buildDirectory,\n testFilenamePattern: verificationResults.testFilenamePattern\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 npmResults,\n dialectResults\n ]);\n\n const liftResults = await lift({\n results: deepmerge({devDependencies: ['npm-run-all'], packageManager}, mergedContributions),\n projectRoot,\n configs,\n vcs\n });\n\n return {\n badges: buildBadgesDetails([mergedContributions, liftResults]),\n documentation: scaffoldDocumentation({projectTypeResults, packageManager}),\n tags: projectTypeResults.tags,\n vcsIgnore: buildVcsIgnoreLists(mergedContributions.vcsIgnore),\n verificationCommand: `${buildDocumentationCommand(packageManager)} && ${packageManager} test`,\n projectDetails: {...projectHomepage && {homepage: projectHomepage}},\n nextSteps: mergedContributions.nextSteps\n };\n}\n","import {fileExists} from '@form8ion/core';\n\nexport default async function ({projectRoot}) {\n const [nvmIsConfigured, packageLockExists, yarnLockExists] = await Promise.all([\n fileExists(`${projectRoot}/.nvmrc`),\n fileExists(`${projectRoot}/package-lock.json`),\n fileExists(`${projectRoot}/yarn.lock`)\n ]);\n\n return nvmIsConfigured || packageLockExists || yarnLockExists;\n}\n","import {questionNames as languageScaffolderPromptsQuestionNames} from '@travi/language-scaffolder-prompts';\nimport {questionNames as jsScaffolderQuestionNames} from './prompts/question-names';\n\nexport {default as scaffoldUnitTesting} from './testing/unit';\nexport {default as scaffold} from './scaffolder';\nexport {default as lift} from './lift';\nexport {default as test} from './test';\nexport const questionNames = {...languageScaffolderPromptsQuestionNames, ...jsScaffolderQuestionNames};\n"],"names":["questionNames","UNIT_TEST_FRAMEWORK","NODE_VERSION_CATEGORY","PACKAGE_MANAGER","PACKAGE_BUNDLER","PROJECT_TYPE","PROJECT_TYPE_CHOICE","SHOULD_BE_SCOPED","SCOPE","AUTHOR_NAME","AUTHOR_EMAIL","AUTHOR_URL","HOST","CONFIGURE_LINTING","DIALECT","projectRoot","promises","writeFile","JSON","stringify","reporter","exclude","devDependencies","vcsIgnore","files","directories","eslint","ignore","vcs","visibility","pathWithinParent","deepmerge","scaffoldC8","scaffoldCodecov","fileExists","packageManager","dependencies","execa","Promise","all","fs","unlink","rm","recursive","force","removeDependencies","lift","codecovResults","liftCodecov","nycIsConfigured","c8Results","removeNyc","scripts","nextSteps","summary","c8Exists","nycExists","c8IsConfigured","unitTestFrameworksSchema","joi","object","required","pattern","scaffolder","func","arity","frameworks","decisions","Object","keys","length","answers","prompt","name","type","message","choices","Separator","dialect","validatedFrameworks","validateOptions","framework","coverage","chooseFramework","then","chosenFramework","scaffoldFrameworkChoice","scaffoldCoverage","test","engines","parse","readFile","node","badges","consumer","img","text","projectWillBeTested","find","scriptName","startsWith","projectShouldBeBuiltForVerification","_objectSpread","existingScripts","updateTestScript","defineVcsHostDetails","packageType","packageName","host","repository","url","owner","directory","bugs","homepage","projectTypes","PACKAGE","projectType","license","author","description","dialects","ESM","email","scaffoldScripts","info","packageData","buildPackageDetails","writePackageJson","config","tags","level","pathToPackageJson","existingPackageJsonContents","liftScripts","keywords","installDependencies","PROD_DEPENDENCY_TYPE","DEV_DEPENDENCY_TYPE","e","error","packageManagers","NPM","YARN","Error","results","eslintConfigs","manager","resolvePackageManager","eslintResults","liftEslint","configs","enhancerResults","applyEnhancers","enhancers","huskyPlugin","enginesEnhancer","coveragePlugin","commitConventionPlugin","options","liftPackage","packageBundlersSchema","default","validate","schema","string","projectName","regex","invert","valid","scope","typescript","commitlint","babelPreset","remark","overrides","npmAccount","uri","ciServices","public","boolean","private","hosts","array","items","applicationTypes","packageTypes","monorepoTypes","unitTestFrameworks","packageBundlers","registries","value","hoek","assert","npmConf","require","COMMON_JS","short","BABEL","TYPESCRIPT","projectIsPackage","projectIsCLI","CLI","projectIsApplication","APPLICATION","packageShouldBeScoped","willBePublishedToNpm","shouldBeScopedPromptShouldBePresented","scopePromptShouldBePresentedFactory","lintingPromptShouldBePresented","commonQuestionNames","UNIT_TESTS","unitTested","INTEGRATION_TESTS","integrationTested","input","authorQuestions","npmConfFactory","maybeLoggedInNpmUsername","stdout","failedExecutionResult","warn","CI_SERVICE","ci","chosenHost","nodeVersionCategory","authorName","authorEmail","authorUrl","configureLinting","promptWithInquirer","buildDialectChoices","values","when","validateScope","get","commonQuestions","tests","unit","integration","preset","buildDirectory","write","path","format","fileTypes","presets","testFilenamePattern","shareableTsConfigPackage","$schema","extends","compilerOptions","rootDir","outDir","declaration","include","scaffoldBabel","scaffoldTypescript","projectWillNotBeConsumed","fromEntries","entries","filter","map","join","projectTypeResults","toc","buildGenerationCommand","documentation","contributing","determineLatestVersionOf","nvmLsOutput","shell","lsLines","split","lsLine","match","install","subprocess","pipe","process","undefined","lowerCaseCategory","toLowerCase","version","fsPromises","installNodeVersion","contributors","vcsIgnoreLists","validForNewPackages","errors","validatePackageName","includes","slice","EOL","types","getInstallationCommand","usage","npm","link","status","bundlers","fileName","resolve","__dirname","defaultBuildDirectory","createExample","mustache","render","determinePathToTemplateFile","camelcase","buildDetailsForCommonJsProject","touch","chosenBundler","chooseBundler","pathToCreatedSrcDirectory","mkdir","bundlerResults","scaffoldChosenBundler","clean","prebuild","build","prepack","runkit","publishRegistry","detailsForBuild","buildDetails","mergeIntoExistingPackageJson","publishConfig","access","registry","sideEffects","runkitExampleFilename","main","module","exports","import","chosenType","choosePackageType","scaffoldChosenPackageType","scaffoldPackageDocumentation","defineBadges","chooseApplicationType","scaffoldChosenApplicationType","start","MONOREPO","packageProperties","rollupResults","scaffoldRollup","bin","scaffoldPackageType","scaffoldApplicationType","scaffoldCliType","scaffoldMonorepoType","unitResults","scaffoldUnitTesting","additionalConfiguration","ignores","scaffold","settings","listItemIndent","emphasis","strong","bullet","incrementListMarker","plugins","tight","heading","lockfileLintSupportedPackageManagers","determineLockfilePathFor","lockfilePaths","lockfileLintSupports","buildAllowedHostsList","scaffoldLockfileLint","scaffoldEslint","scaffoldRemark","scaffoldBanSensitiveFiles","scaffoldVerification","testingResults","huskyResults","scaffoldTesting","scaffoldHusky","lintingResults","scaffoldLinting","buildPackageName","projectHomepage","scaffoldPackage","scaffoldProjectType","publish","verificationResults","nodeVersion","npmResults","dialectResults","scaffoldNodeVersion","scaffoldNpmConfig","scaffoldDialect","mergedContributions","scaffoldChoice","scaffoldCommitConvention","liftResults","buildBadgesDetails","scaffoldDocumentation","buildVcsIgnoreLists","verificationCommand","buildDocumentationCommand","projectDetails","nvmIsConfigured","packageLockExists","yarnLockExists","languageScaffolderPromptsQuestionNames","jsScaffolderQuestionNames"],"mappings":"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"}