@form8ion/javascript 2.0.1 → 2.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.cjs.js CHANGED
@@ -62,14 +62,9 @@ function ownKeys(object, enumerableOnly) {
62
62
 
63
63
  if (Object.getOwnPropertySymbols) {
64
64
  var symbols = Object.getOwnPropertySymbols(object);
65
-
66
- if (enumerableOnly) {
67
- symbols = symbols.filter(function (sym) {
68
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
69
- });
70
- }
71
-
72
- keys.push.apply(keys, symbols);
65
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
66
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
67
+ })), keys.push.apply(keys, symbols);
73
68
  }
74
69
 
75
70
  return keys;
@@ -77,19 +72,12 @@ function ownKeys(object, enumerableOnly) {
77
72
 
78
73
  function _objectSpread2(target) {
79
74
  for (var i = 1; i < arguments.length; i++) {
80
- var source = arguments[i] != null ? arguments[i] : {};
81
-
82
- if (i % 2) {
83
- ownKeys(Object(source), true).forEach(function (key) {
84
- _defineProperty(target, key, source[key]);
85
- });
86
- } else if (Object.getOwnPropertyDescriptors) {
87
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
88
- } else {
89
- ownKeys(Object(source)).forEach(function (key) {
90
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
91
- });
92
- }
75
+ var source = null != arguments[i] ? arguments[i] : {};
76
+ i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
77
+ _defineProperty(target, key, source[key]);
78
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
79
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
80
+ });
93
81
  }
94
82
 
95
83
  return target;
@@ -150,13 +138,15 @@ async function scaffoldC8 ({
150
138
  async function scaffoldCoverage ({
151
139
  projectRoot,
152
140
  vcs,
153
- visibility
141
+ visibility,
142
+ pathWithinParent
154
143
  }) {
155
144
  return deepmerge__default["default"](await scaffoldC8({
156
145
  projectRoot
157
146
  }), await codecov.scaffold({
158
147
  vcs,
159
- visibility
148
+ visibility,
149
+ pathWithinParent
160
150
  }));
161
151
  }
162
152
 
@@ -183,7 +173,8 @@ async function scaffoldUnitTesting ({
183
173
  frameworks,
184
174
  decisions,
185
175
  visibility,
186
- vcs
176
+ vcs,
177
+ pathWithinParent
187
178
  }) {
188
179
  const validatedFrameworks = javascriptCore.validateOptions(unitTestFrameworksSchema, frameworks);
189
180
  const [framework, coverage] = await Promise.all([chooseFramework({
@@ -194,7 +185,8 @@ async function scaffoldUnitTesting ({
194
185
  })), scaffoldCoverage({
195
186
  projectRoot,
196
187
  vcs,
197
- visibility
188
+ visibility,
189
+ pathWithinParent
198
190
  })]);
199
191
  return deepmerge__default["default"].all([{
200
192
  scripts: {
@@ -1171,7 +1163,8 @@ async function scaffoldTesting ({
1171
1163
  vcs,
1172
1164
  unitTestFrameworks,
1173
1165
  decisions,
1174
- dialect
1166
+ dialect,
1167
+ pathWithinParent
1175
1168
  }) {
1176
1169
  const unitResults = unit ? await scaffoldUnitTesting({
1177
1170
  projectRoot,
@@ -1179,7 +1172,8 @@ async function scaffoldTesting ({
1179
1172
  vcs,
1180
1173
  frameworks: unitTestFrameworks,
1181
1174
  decisions,
1182
- dialect
1175
+ dialect,
1176
+ pathWithinParent
1183
1177
  }) : {};
1184
1178
  return deepmerge__default["default"]({
1185
1179
  devDependencies: [...(unit || integration ? ['@travi/any'] : [])],
@@ -1328,7 +1322,8 @@ async function scaffoldVerification({
1328
1322
  unitTestFrameworks,
1329
1323
  decisions,
1330
1324
  buildDirectory,
1331
- eslintConfigs
1325
+ eslintConfigs,
1326
+ pathWithinParent
1332
1327
  }) {
1333
1328
  const [testingResults, huskyResults] = await Promise.all([scaffoldTesting({
1334
1329
  projectRoot,
@@ -1337,7 +1332,8 @@ async function scaffoldVerification({
1337
1332
  vcs,
1338
1333
  unitTestFrameworks,
1339
1334
  decisions,
1340
- dialect
1335
+ dialect,
1336
+ pathWithinParent
1341
1337
  }), husky.scaffold({
1342
1338
  projectRoot,
1343
1339
  packageManager
@@ -1361,7 +1357,7 @@ async function scaffoldVerification({
1361
1357
  return deepmerge__default["default"].all([testingResults, lintingResults, huskyResults]);
1362
1358
  }
1363
1359
 
1364
- async function scaffold(options) {
1360
+ async function scaffolder (options) {
1365
1361
  cliMessages.info('Initializing JavaScript project');
1366
1362
  const {
1367
1363
  projectRoot,
@@ -1427,6 +1423,7 @@ async function scaffold(options) {
1427
1423
  tests,
1428
1424
  unitTestFrameworks,
1429
1425
  decisions,
1426
+ pathWithinParent,
1430
1427
  buildDirectory: projectTypeResults.buildDirectory,
1431
1428
  eslintConfigs: projectTypeResults.eslintConfigs
1432
1429
  });
@@ -1507,6 +1504,6 @@ async function scaffold(options) {
1507
1504
  const questionNames = _objectSpread2(_objectSpread2({}, languageScaffolderPrompts.questionNames), questionNames$1);
1508
1505
 
1509
1506
  exports.questionNames = questionNames;
1510
- exports.scaffold = scaffold;
1507
+ exports.scaffold = scaffolder;
1511
1508
  exports.scaffoldUnitTesting = scaffoldUnitTesting;
1512
1509
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../src/prompts/question-names.js","../src/coverage/c8.js","../src/coverage/scaffolder.js","../src/testing/options-schemas.js","../src/testing/prompt.js","../src/testing/unit.js","../src/options-validator.js","../third-party-wrappers/npm-conf.js","../src/dialects/prompt-choices.js","../src/prompts/conditionals.js","../src/prompts/validators.js","../src/prompts/questions.js","../src/dialects/babel.js","../src/dialects/typescript.js","../src/dialects/esm.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/details.js","../src/package/scaffolder.js","../src/package-name.js","../src/project-type/prompt.js","../src/project-type/package/documentation.js","../src/project-type/package/badges.js","../src/template-path.js","../src/project-type/package/build-details.js","../src/project-type/package/scaffolder.js","../src/project-type/application.js","../src/project-type/monorepo.js","../src/project-type/cli.js","../src/project-type/scaffolder.js","../src/verification/testing/scaffolder.js","../src/verification/linting/eslint.js","../src/verification/linting/remark.js","../src/verification/linting/ban-sensitive-files.js","../src/verification/linting/lockfile.js","../src/verification/linting/scaffolder.js","../src/verification/verifier.js","../src/scaffolder.js","../src/index.js"],"sourcesContent":["export const questionNames = {\n UNIT_TEST_FRAMEWORK: 'unitTestFramework',\n NODE_VERSION_CATEGORY: 'nodeVersionCategory',\n PACKAGE_MANAGER: 'packageManager',\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 scaffoldC8 from './c8';\n\nexport default async function ({projectRoot, vcs, visibility}) {\n return deepmerge(await scaffoldC8({projectRoot}), await scaffoldCodecov({vcs, visibility}));\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 scaffoldCoverage from '../coverage/scaffolder';\nimport {unitTestFrameworksSchema} from './options-schemas';\nimport chooseFramework from './prompt';\n\nexport default async function ({projectRoot, frameworks, decisions, visibility, vcs}) {\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})),\n scaffoldCoverage({projectRoot, vcs, visibility})\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 * as joi from 'joi';\nimport hoek from '@hapi/hoek';\nimport {unitTestFrameworksSchema} from './testing/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 decisions: joi.object()\n })\n .keys({unitTestFrameworks: unitTestFrameworksSchema})\n .keys({registries: joi.object().pattern(joi.string(), joi.string().uri())});\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 '../../third-party-wrappers/execa';\nimport npmConfFactory from '../../third-party-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 {promises as fsPromises} from 'fs';\n\nexport default async function ({projectRoot, preset, tests, buildDirectory}) {\n if (!preset) {\n throw new Error('No babel preset provided. Cannot configure babel transpilation');\n }\n\n await fsPromises.writeFile(\n `${projectRoot}/.babelrc`,\n JSON.stringify({\n presets: [preset.name],\n ignore: [`./${buildDirectory}/`],\n ...tests.unit && {env: {test: {plugins: ['istanbul']}}}\n })\n );\n\n return {\n devDependencies: [\n '@babel/register',\n preset.packageName,\n ...tests.unit ? ['babel-plugin-istanbul'] : []\n ],\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 packageProperties: {types: 'lib/index.d.ts'},\n vcsIgnore: {files: ['tsconfig.tsbuildinfo']}\n };\n}\n","export default function () {\n return {packageProperties: {engines: {node: '>=12.20'}}};\n}\n","import {dialects} from '@form8ion/javascript-core';\n\nimport scaffoldBabel from './babel';\nimport scaffoldTypescript from './typescript';\nimport scaffoldEsm from './esm';\n\nexport default function ({dialect, projectType, projectRoot, configs, tests, buildDirectory, testFilenamePattern}) {\n switch (dialect) {\n case dialects.BABEL:\n return scaffoldBabel({preset: configs.babelPreset, projectRoot, tests, buildDirectory});\n case dialects.TYPESCRIPT:\n return scaffoldTypescript({config: configs.typescript, projectType, projectRoot, testFilenamePattern});\n case dialects.ESM:\n return scaffoldEsm();\n default:\n return {eslint: {}};\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 ({projectRoot, projectType, registries}) {\n await fs.writeFile(\n `${projectRoot}/.npmrc`,\n stringify({\n 'update-notifier': false,\n 'engine-strict': true,\n ...projectWillNotBeConsumed(projectType) && {'save-exact': true},\n ...registries\n && Object.fromEntries(Object.entries(registries).map(([scope, url]) => ([`@${scope}:registry`, url])))\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 '../../third-party-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 {dialects, projectTypes} from '@form8ion/javascript-core';\n\nfunction 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\nfunction defineScripts(scripts) {\n return {\n test: `npm-run-all --print-label${\n projectShouldBeBuiltForVerification(scripts) ? ' build' : ''\n } --parallel lint:*${\n projectWillBeTested(scripts) ? ' --parallel test:*' : ''\n }`\n };\n}\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 scripts,\n packageProperties,\n pathWithinParent\n}) {\n return {\n name: packageName,\n description,\n license,\n type: dialects.ESM === dialect ? 'module' : 'commonjs',\n ...packageProperties,\n ...defineVcsHostDetails(vcs, projectType, packageName, pathWithinParent),\n author: `${author.name}${author.email ? ` <${author.email}>` : ''}${author.url ? ` (${author.url})` : ''}`,\n scripts: defineScripts(scripts)\n };\n}\n","import {promises as fs} from 'fs';\nimport {info} from '@travi/cli-messages';\nimport buildPackageDetails from './details';\n\nexport default async function ({\n projectRoot,\n projectType,\n dialect,\n scripts,\n packageName,\n license,\n vcs,\n author,\n description,\n packageProperties,\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 scripts,\n packageProperties,\n pathWithinParent\n });\n\n await fs.writeFile(`${projectRoot}/package.json`, JSON.stringify(packageData));\n\n return {homepage: packageData.homepage};\n}\n","import {EOL} from 'os';\nimport validatePackageName from '../third-party-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}.svg`,\n text: 'npm',\n link: `https://www.npmjs.com/package/${packageName}`\n }\n }\n },\n status: {}\n };\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} from '@form8ion/javascript-core';\nimport {scaffold as scaffoldRollup} from '@form8ion/rollup';\n\nimport camelcase from '../../../third-party-wrappers/camelcase';\nimport mkdir from '../../../third-party-wrappers/make-dir';\nimport touch from '../../../third-party-wrappers/touch';\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 ({projectRoot, projectName, visibility, packageName, dialect}) {\n if (dialects.COMMON_JS === dialect) return buildDetailsForCommonJsProject({projectRoot, projectName});\n\n const pathToCreatedSrcDirectory = await mkdir(`${projectRoot}/src`);\n const [rollupResults] = await Promise.all([\n scaffoldRollup({projectRoot, dialect, projectType: projectTypes.PACKAGE}),\n await createExample(projectRoot, projectName),\n touch(`${pathToCreatedSrcDirectory}/index.js`)\n ]);\n\n return deepmerge(\n rollupResults,\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 {dialects, scaffoldChoice as scaffoldChosenPackageType} from '@form8ion/javascript-core';\nimport {info} from '@travi/cli-messages';\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 tests,\n decisions,\n dialect\n}) {\n info('Scaffolding Package Details');\n\n const detailsForBuild = await buildDetails({projectRoot, projectName, visibility, packageName, dialect});\n const details = {\n ...dialects.BABEL === dialect && {\n packageProperties: {\n main: 'lib/index.cjs.js',\n module: 'lib/index.es.js',\n sideEffects: false,\n files: ['lib/']\n },\n ...detailsForBuild\n },\n ...dialects.ESM === dialect && {\n packageProperties: {\n main: 'lib/index.es.js',\n sideEffects: false,\n files: ['lib/']\n },\n ...detailsForBuild\n },\n ...dialects.TYPESCRIPT === dialect && {\n packageProperties: {\n main: 'lib/index.cjs.js',\n module: 'lib/index.es.js',\n sideEffects: false,\n files: ['lib/']\n },\n ...detailsForBuild\n },\n ...dialects.COMMON_JS === dialect && {\n packageProperties: {files: ['index.js']},\n ...detailsForBuild\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 packageProperties: {\n files: ['example.js'],\n publishConfig: {access: 'Public' === visibility ? 'public' : 'restricted'},\n ...'Public' === visibility && {runkitExampleFilename: './example.js'}\n },\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 details\n ]);\n}\n","import deepmerge from 'deepmerge';\nimport {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 chooseApplicationType({types: applicationTypes, projectType: 'application', decisions});\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 packageProperties: {private: true},\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 {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}) {\n const rollupResults = await scaffoldRollup({projectRoot, dialect, projectType: projectTypes.CLI});\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 packageProperties: {\n version: '0.0.0-semantically-released',\n bin: {},\n files: [`${defaultBuildDirectory}/`],\n publishConfig: {access: 'Public' === visibility ? 'public' : 'restricted'}\n },\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 monorepoTypes,\n scope,\n tests,\n vcs,\n decisions,\n dialect\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 tests,\n vcs,\n decisions,\n dialect\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});\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}) {\n const unitResults = unit\n ? await scaffoldUnitTesting({projectRoot, visibility, vcs, frameworks: unitTestFrameworks, decisions, dialect})\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 {promises as fsPromises} from 'fs';\nimport deepmerge from 'deepmerge';\nimport {dialects, projectTypes} from '@form8ion/javascript-core';\n\nexport default async function ({config, projectRoot, projectType, vcs, dialect}) {\n await fsPromises.writeFile(\n `${projectRoot}/.remarkrc.json`,\n JSON.stringify({\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 () {\n return {scripts: {'lint:sensitive': 'ban'}, devDependencies: ['ban-sensitive-files']};\n}\n","import {promises as fs} from 'fs';\nimport {packageManagers} from '@form8ion/javascript-core';\n\nfunction determineLockfilePathFor(packageManager) {\n if (packageManagers.NPM === packageManager) return 'package-lock.json';\n if (packageManagers.YARN === packageManager) return 'yarn.lock';\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 async function ({projectRoot, packageManager, registries}) {\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': [packageManager, ...registries ? Object.values(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 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 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() : {}\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}) {\n const [testingResults, huskyResults] = await Promise.all([\n scaffoldTesting({\n projectRoot,\n tests,\n visibility,\n vcs,\n unitTestFrameworks,\n decisions,\n dialect\n }),\n scaffoldHusky({projectRoot, packageManager})\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 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 {lift} from '@form8ion/lift-javascript';\nimport {scaffold as scaffoldCommitConvention} from '@form8ion/commit-convention';\n\nimport {validate} from './options-validator';\nimport {prompt} from './prompts/questions';\nimport 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 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 async function scaffold(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 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 projectTypeResults = await scaffoldProjectType({\n projectType,\n projectRoot,\n projectName,\n packageName,\n packageManager,\n visibility,\n applicationTypes,\n packageTypes,\n monorepoTypes,\n scope,\n tests,\n vcs,\n decisions,\n dialect\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 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 tests,\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 {homepage: projectHomepage} = await scaffoldPackage({\n projectRoot,\n projectType,\n dialect,\n packageName,\n license,\n vcs,\n author,\n description,\n packageProperties: mergedContributions.packageProperties,\n scripts: mergedContributions.scripts,\n pathWithinParent\n });\n\n const liftResults = await lift({\n results: deepmerge({devDependencies: ['npm-run-all'], packageManager}, mergedContributions),\n projectRoot,\n configs\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 {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 * from './scaffolder';\nexport const questionNames = {...languageScaffolderPromptsQuestionNames, ...jsScaffolderQuestionNames};\n"],"names":["questionNames","UNIT_TEST_FRAMEWORK","NODE_VERSION_CATEGORY","PACKAGE_MANAGER","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","deepmerge","scaffoldC8","scaffoldCodecov","unitTestFrameworksSchema","joi","object","required","pattern","scaffolder","func","arity","frameworks","decisions","Object","keys","length","answers","prompt","name","type","message","choices","Separator","validatedFrameworks","validateOptions","framework","coverage","Promise","all","chooseFramework","then","chosenFramework","scaffoldFrameworkChoice","scaffoldCoverage","scripts","validate","options","schema","string","projectName","regex","invert","valid","license","description","pathWithinParent","host","owner","configs","scope","typescript","commitlint","packageName","babelPreset","remark","default","overrides","npmAccount","author","email","url","uri","ciServices","public","boolean","private","hosts","projectTypes","array","items","applicationTypes","packageTypes","monorepoTypes","unitTestFrameworks","registries","error","value","hoek","assert","npmConf","require","dialects","COMMON_JS","short","BABEL","ESM","TYPESCRIPT","projectIsPackage","PACKAGE","projectIsCLI","CLI","projectIsApplication","APPLICATION","packageShouldBeScoped","willBePublishedToNpm","shouldBeScopedPromptShouldBePresented","scopePromptShouldBePresentedFactory","lintingPromptShouldBePresented","commonQuestionNames","UNIT_TESTS","unitTested","INTEGRATION_TESTS","integrationTested","input","authorQuestions","npmConfFactory","maybeLoggedInNpmUsername","execa","stdout","failedExecutionResult","warn","projectType","CI_SERVICE","ci","chosenHost","nodeVersionCategory","authorName","authorEmail","authorUrl","configureLinting","packageManager","dialect","promptWithInquirer","buildDialectChoices","values","packageManagers","NPM","when","validateScope","get","commonQuestions","tests","unit","integration","preset","buildDirectory","Error","fsPromises","presets","env","test","plugins","config","testFilenamePattern","eslintConfigs","shareableTsConfigPackage","fs","$schema","extends","compilerOptions","rootDir","outDir","declaration","include","packageProperties","types","engines","node","scaffoldBabel","scaffoldTypescript","scaffoldEsm","projectWillNotBeConsumed","fromEntries","entries","map","YARN","join","projectTypeResults","toc","buildGenerationCommand","documentation","contributing","determineLatestVersionOf","info","level","nvmLsOutput","shell","lsLines","split","lsLine","match","install","subprocess","pipe","process","undefined","lowerCaseCategory","toLowerCase","version","installNodeVersion","contributors","badges","vcsIgnoreLists","projectWillBeTested","find","scriptName","startsWith","projectShouldBeBuiltForVerification","defineScripts","defineVcsHostDetails","packageType","repository","directory","bugs","homepage","packageData","buildPackageDetails","validForNewPackages","errors","validatePackageName","includes","slice","EOL","getInstallationCommand","usage","consumer","npm","img","text","link","status","fileName","resolve","__dirname","defaultBuildDirectory","createExample","mustache","render","readFile","determinePathToTemplateFile","camelcase","buildDetailsForCommonJsProject","touch","pathToCreatedSrcDirectory","mkdir","rollupResults","scaffoldRollup","clean","prebuild","build","prepack","runkit","detailsForBuild","buildDetails","details","main","module","sideEffects","chosenType","choosePackageType","results","scaffoldChosenPackageType","publishConfig","access","runkitExampleFilename","scaffoldPackageDocumentation","nextSteps","summary","defineBadges","chooseApplicationType","scaffoldChosenApplicationType","start","dependencies","MONOREPO","bin","scaffoldPackageType","scaffoldApplicationType","scaffoldCliType","scaffoldMonorepoType","unitResults","scaffoldUnitTesting","additionalConfiguration","ignores","scaffold","settings","listItemIndent","emphasis","strong","bullet","incrementListMarker","tight","heading","determineLockfilePathFor","path","scaffoldLockfileLint","scaffoldEslint","scaffoldRemark","scaffoldBanSensitiveFiles","scaffoldVerification","testingResults","huskyResults","scaffoldTesting","scaffoldHusky","lintingResults","scaffoldLinting","buildPackageName","scaffoldProjectType","verificationResults","nodeVersion","npmResults","dialectResults","scaffoldNodeVersion","scaffoldNpmConfig","scaffoldDialect","mergedContributions","scaffoldChoice","scaffoldCommitConvention","projectHomepage","scaffoldPackage","liftResults","lift","buildBadgesDetails","scaffoldDocumentation","tags","buildVcsIgnoreLists","verificationCommand","buildDocumentationCommand","projectDetails","languageScaffolderPromptsQuestionNames","jsScaffolderQuestionNames"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../src/prompts/question-names.js","../src/coverage/c8.js","../src/coverage/scaffolder.js","../src/testing/options-schemas.js","../src/testing/prompt.js","../src/testing/unit.js","../src/options-validator.js","../thirdparty-wrappers/npm-conf.js","../src/scaffolder/dialects/prompt-choices.js","../src/prompts/conditionals.js","../src/prompts/validators.js","../src/prompts/questions.js","../src/scaffolder/dialects/babel.js","../src/scaffolder/dialects/typescript.js","../src/scaffolder/dialects/esm.js","../src/scaffolder/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/scaffolder/package/details.js","../src/scaffolder/package/scaffolder.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/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.js","../src/scaffolder/verification/linting/scaffolder.js","../src/scaffolder/verification/verifier.js","../src/scaffolder/scaffolder.js","../src/index.js"],"sourcesContent":["export const questionNames = {\n UNIT_TEST_FRAMEWORK: 'unitTestFramework',\n NODE_VERSION_CATEGORY: 'nodeVersionCategory',\n PACKAGE_MANAGER: 'packageManager',\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 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 * 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 scaffoldCoverage from '../coverage/scaffolder';\nimport {unitTestFrameworksSchema} from './options-schemas';\nimport chooseFramework from './prompt';\n\nexport default async function ({projectRoot, frameworks, decisions, visibility, vcs, pathWithinParent}) {\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})),\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 * as joi from 'joi';\nimport hoek from '@hapi/hoek';\nimport {unitTestFrameworksSchema} from './testing/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 decisions: joi.object()\n })\n .keys({unitTestFrameworks: unitTestFrameworksSchema})\n .keys({registries: joi.object().pattern(joi.string(), joi.string().uri())});\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 '../scaffolder/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 {promises as fsPromises} from 'fs';\n\nexport default async function ({projectRoot, preset, tests, buildDirectory}) {\n if (!preset) {\n throw new Error('No babel preset provided. Cannot configure babel transpilation');\n }\n\n await fsPromises.writeFile(\n `${projectRoot}/.babelrc`,\n JSON.stringify({\n presets: [preset.name],\n ignore: [`./${buildDirectory}/`],\n ...tests.unit && {env: {test: {plugins: ['istanbul']}}}\n })\n );\n\n return {\n devDependencies: [\n '@babel/register',\n preset.packageName,\n ...tests.unit ? ['babel-plugin-istanbul'] : []\n ],\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 packageProperties: {types: 'lib/index.d.ts'},\n vcsIgnore: {files: ['tsconfig.tsbuildinfo']}\n };\n}\n","export default function () {\n return {packageProperties: {engines: {node: '>=12.20'}}};\n}\n","import {dialects} from '@form8ion/javascript-core';\n\nimport scaffoldBabel from './babel';\nimport scaffoldTypescript from './typescript';\nimport scaffoldEsm from './esm';\n\nexport default function ({dialect, projectType, projectRoot, configs, tests, buildDirectory, testFilenamePattern}) {\n switch (dialect) {\n case dialects.BABEL:\n return scaffoldBabel({preset: configs.babelPreset, projectRoot, tests, buildDirectory});\n case dialects.TYPESCRIPT:\n return scaffoldTypescript({config: configs.typescript, projectType, projectRoot, testFilenamePattern});\n case dialects.ESM:\n return scaffoldEsm();\n default:\n return {eslint: {}};\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 ({projectRoot, projectType, registries}) {\n await fs.writeFile(\n `${projectRoot}/.npmrc`,\n stringify({\n 'update-notifier': false,\n 'engine-strict': true,\n ...projectWillNotBeConsumed(projectType) && {'save-exact': true},\n ...registries\n && Object.fromEntries(Object.entries(registries).map(([scope, url]) => ([`@${scope}:registry`, url])))\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 {dialects, projectTypes} from '@form8ion/javascript-core';\n\nfunction 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\nfunction defineScripts(scripts) {\n return {\n test: `npm-run-all --print-label${\n projectShouldBeBuiltForVerification(scripts) ? ' build' : ''\n } --parallel lint:*${\n projectWillBeTested(scripts) ? ' --parallel test:*' : ''\n }`\n };\n}\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 scripts,\n packageProperties,\n pathWithinParent\n}) {\n return {\n name: packageName,\n description,\n license,\n type: dialects.ESM === dialect ? 'module' : 'commonjs',\n ...packageProperties,\n ...defineVcsHostDetails(vcs, projectType, packageName, pathWithinParent),\n author: `${author.name}${author.email ? ` <${author.email}>` : ''}${author.url ? ` (${author.url})` : ''}`,\n scripts: defineScripts(scripts)\n };\n}\n","import {promises as fs} from 'fs';\nimport {info} from '@travi/cli-messages';\nimport buildPackageDetails from './details';\n\nexport default async function ({\n projectRoot,\n projectType,\n dialect,\n scripts,\n packageName,\n license,\n vcs,\n author,\n description,\n packageProperties,\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 scripts,\n packageProperties,\n pathWithinParent\n });\n\n await fs.writeFile(`${projectRoot}/package.json`, JSON.stringify(packageData));\n\n return {homepage: packageData.homepage};\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}.svg`,\n text: 'npm',\n link: `https://www.npmjs.com/package/${packageName}`\n }\n }\n },\n status: {}\n };\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} from '@form8ion/javascript-core';\nimport {scaffold as scaffoldRollup} from '@form8ion/rollup';\n\nimport camelcase from '../../../../thirdparty-wrappers/camelcase';\nimport mkdir from '../../../../thirdparty-wrappers/make-dir';\nimport touch from '../../../../thirdparty-wrappers/touch';\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 ({projectRoot, projectName, visibility, packageName, dialect}) {\n if (dialects.COMMON_JS === dialect) return buildDetailsForCommonJsProject({projectRoot, projectName});\n\n const pathToCreatedSrcDirectory = await mkdir(`${projectRoot}/src`);\n const [rollupResults] = await Promise.all([\n scaffoldRollup({projectRoot, dialect, projectType: projectTypes.PACKAGE}),\n await createExample(projectRoot, projectName),\n touch(`${pathToCreatedSrcDirectory}/index.js`)\n ]);\n\n return deepmerge(\n rollupResults,\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 {dialects, scaffoldChoice as scaffoldChosenPackageType} from '@form8ion/javascript-core';\nimport {info} from '@travi/cli-messages';\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 tests,\n decisions,\n dialect\n}) {\n info('Scaffolding Package Details');\n\n const detailsForBuild = await buildDetails({projectRoot, projectName, visibility, packageName, dialect});\n const details = {\n ...dialects.BABEL === dialect && {\n packageProperties: {\n main: 'lib/index.cjs.js',\n module: 'lib/index.es.js',\n sideEffects: false,\n files: ['lib/']\n },\n ...detailsForBuild\n },\n ...dialects.ESM === dialect && {\n packageProperties: {\n main: 'lib/index.es.js',\n sideEffects: false,\n files: ['lib/']\n },\n ...detailsForBuild\n },\n ...dialects.TYPESCRIPT === dialect && {\n packageProperties: {\n main: 'lib/index.cjs.js',\n module: 'lib/index.es.js',\n sideEffects: false,\n files: ['lib/']\n },\n ...detailsForBuild\n },\n ...dialects.COMMON_JS === dialect && {\n packageProperties: {files: ['index.js']},\n ...detailsForBuild\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 packageProperties: {\n files: ['example.js'],\n publishConfig: {access: 'Public' === visibility ? 'public' : 'restricted'},\n ...'Public' === visibility && {runkitExampleFilename: './example.js'}\n },\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 details\n ]);\n}\n","import deepmerge from 'deepmerge';\nimport {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 chooseApplicationType({types: applicationTypes, projectType: 'application', decisions});\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 packageProperties: {private: true},\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 {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}) {\n const rollupResults = await scaffoldRollup({projectRoot, dialect, projectType: projectTypes.CLI});\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 packageProperties: {\n version: '0.0.0-semantically-released',\n bin: {},\n files: [`${defaultBuildDirectory}/`],\n publishConfig: {access: 'Public' === visibility ? 'public' : 'restricted'}\n },\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 monorepoTypes,\n scope,\n tests,\n vcs,\n decisions,\n dialect\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 tests,\n vcs,\n decisions,\n dialect\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});\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 {promises as fsPromises} from 'fs';\nimport deepmerge from 'deepmerge';\nimport {dialects, projectTypes} from '@form8ion/javascript-core';\n\nexport default async function ({config, projectRoot, projectType, vcs, dialect}) {\n await fsPromises.writeFile(\n `${projectRoot}/.remarkrc.json`,\n JSON.stringify({\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 () {\n return {scripts: {'lint:sensitive': 'ban'}, devDependencies: ['ban-sensitive-files']};\n}\n","import {promises as fs} from 'fs';\nimport {packageManagers} from '@form8ion/javascript-core';\n\nfunction determineLockfilePathFor(packageManager) {\n if (packageManagers.NPM === packageManager) return 'package-lock.json';\n if (packageManagers.YARN === packageManager) return 'yarn.lock';\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 async function ({projectRoot, packageManager, registries}) {\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': [packageManager, ...registries ? Object.values(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 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 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() : {}\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})\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 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 {lift} from '@form8ion/lift-javascript';\nimport {scaffold as scaffoldCommitConvention} from '@form8ion/commit-convention';\n\nimport {validate} from '../options-validator';\nimport {prompt} from '../prompts/questions';\nimport 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 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 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 projectTypeResults = await scaffoldProjectType({\n projectType,\n projectRoot,\n projectName,\n packageName,\n packageManager,\n visibility,\n applicationTypes,\n packageTypes,\n monorepoTypes,\n scope,\n tests,\n vcs,\n decisions,\n dialect\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 tests,\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 {homepage: projectHomepage} = await scaffoldPackage({\n projectRoot,\n projectType,\n dialect,\n packageName,\n license,\n vcs,\n author,\n description,\n packageProperties: mergedContributions.packageProperties,\n scripts: mergedContributions.scripts,\n pathWithinParent\n });\n\n const liftResults = await lift({\n results: deepmerge({devDependencies: ['npm-run-all'], packageManager}, mergedContributions),\n projectRoot,\n configs\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 {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 const questionNames = {...languageScaffolderPromptsQuestionNames, ...jsScaffolderQuestionNames};\n"],"names":["questionNames","UNIT_TEST_FRAMEWORK","NODE_VERSION_CATEGORY","PACKAGE_MANAGER","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","unitTestFrameworksSchema","joi","object","required","pattern","scaffolder","func","arity","frameworks","decisions","Object","keys","length","answers","prompt","name","type","message","choices","Separator","validatedFrameworks","validateOptions","framework","coverage","Promise","all","chooseFramework","then","chosenFramework","scaffoldFrameworkChoice","scaffoldCoverage","scripts","validate","options","schema","string","projectName","regex","invert","valid","license","description","host","owner","configs","scope","typescript","commitlint","packageName","babelPreset","remark","default","overrides","npmAccount","author","email","url","uri","ciServices","public","boolean","private","hosts","projectTypes","array","items","applicationTypes","packageTypes","monorepoTypes","unitTestFrameworks","registries","error","value","hoek","assert","npmConf","require","dialects","COMMON_JS","short","BABEL","ESM","TYPESCRIPT","projectIsPackage","PACKAGE","projectIsCLI","CLI","projectIsApplication","APPLICATION","packageShouldBeScoped","willBePublishedToNpm","shouldBeScopedPromptShouldBePresented","scopePromptShouldBePresentedFactory","lintingPromptShouldBePresented","commonQuestionNames","UNIT_TESTS","unitTested","INTEGRATION_TESTS","integrationTested","input","authorQuestions","npmConfFactory","maybeLoggedInNpmUsername","execa","stdout","failedExecutionResult","warn","projectType","CI_SERVICE","ci","chosenHost","nodeVersionCategory","authorName","authorEmail","authorUrl","configureLinting","packageManager","dialect","promptWithInquirer","buildDialectChoices","values","packageManagers","NPM","when","validateScope","get","commonQuestions","tests","unit","integration","preset","buildDirectory","Error","fsPromises","presets","env","test","plugins","config","testFilenamePattern","eslintConfigs","shareableTsConfigPackage","fs","$schema","extends","compilerOptions","rootDir","outDir","declaration","include","packageProperties","types","engines","node","scaffoldBabel","scaffoldTypescript","scaffoldEsm","projectWillNotBeConsumed","fromEntries","entries","map","YARN","join","projectTypeResults","toc","buildGenerationCommand","documentation","contributing","determineLatestVersionOf","info","level","nvmLsOutput","shell","lsLines","split","lsLine","match","install","subprocess","pipe","process","undefined","lowerCaseCategory","toLowerCase","version","installNodeVersion","contributors","badges","vcsIgnoreLists","projectWillBeTested","find","scriptName","startsWith","projectShouldBeBuiltForVerification","defineScripts","defineVcsHostDetails","packageType","repository","directory","bugs","homepage","packageData","buildPackageDetails","validForNewPackages","errors","validatePackageName","includes","slice","EOL","getInstallationCommand","usage","consumer","npm","img","text","link","status","fileName","resolve","__dirname","defaultBuildDirectory","createExample","mustache","render","readFile","determinePathToTemplateFile","camelcase","buildDetailsForCommonJsProject","touch","pathToCreatedSrcDirectory","mkdir","rollupResults","scaffoldRollup","clean","prebuild","build","prepack","runkit","detailsForBuild","buildDetails","details","main","module","sideEffects","chosenType","choosePackageType","results","scaffoldChosenPackageType","publishConfig","access","runkitExampleFilename","scaffoldPackageDocumentation","nextSteps","summary","defineBadges","chooseApplicationType","scaffoldChosenApplicationType","start","dependencies","MONOREPO","bin","scaffoldPackageType","scaffoldApplicationType","scaffoldCliType","scaffoldMonorepoType","unitResults","scaffoldUnitTesting","additionalConfiguration","ignores","scaffold","settings","listItemIndent","emphasis","strong","bullet","incrementListMarker","tight","heading","determineLockfilePathFor","path","scaffoldLockfileLint","scaffoldEslint","scaffoldRemark","scaffoldBanSensitiveFiles","scaffoldVerification","testingResults","huskyResults","scaffoldTesting","scaffoldHusky","lintingResults","scaffoldLinting","buildPackageName","scaffoldProjectType","verificationResults","nodeVersion","npmResults","dialectResults","scaffoldNodeVersion","scaffoldNpmConfig","scaffoldDialect","mergedContributions","scaffoldChoice","scaffoldCommitConvention","projectHomepage","scaffoldPackage","liftResults","lift","buildBadgesDetails","scaffoldDocumentation","tags","buildVcsIgnoreLists","verificationCommand","buildDocumentationCommand","projectDetails","languageScaffolderPromptsQuestionNames","jsScaffolderQuestionNames"],"mappings":"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"}