@pragmatic-divops/cli 1.7.172 → 1.8.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -9,6 +9,8 @@ cli for various organization tools
9
9
 
10
10
  <!--status-badges end -->
11
11
 
12
+ ## Usage
13
+
12
14
  <!--consumer-badges start -->
13
15
 
14
16
  [![MIT license][license-badge]][license-link]
@@ -16,6 +18,12 @@ cli for various organization tools
16
18
 
17
19
  <!--consumer-badges end -->
18
20
 
21
+ ### Installation
22
+
23
+ ```sh
24
+ $ npm install @pragmatic-divops/cli --global
25
+ ```
26
+
19
27
  ## Table of Contents
20
28
 
21
29
  * [Contributing](#contributing)
@@ -1,31 +1,24 @@
1
1
  #!/usr/bin/env node
2
- 'use strict';
3
-
4
- var yargs = require('yargs');
5
- var updateNotifier = require('update-notifier');
6
- require('source-map-support/register');
7
- var project = require('@form8ion/project');
8
- var renovateScaffolder = require('@form8ion/renovate-scaffolder');
9
- var javascript = require('@form8ion/javascript');
10
- var javascriptCore = require('@form8ion/javascript-core');
11
- var githubScaffolder = require('@travi/github-scaffolder');
12
- var githubActionsNodeCi = require('@form8ion/github-actions-node-ci');
13
- var mochaScaffolder = require('@form8ion/mocha-scaffolder');
14
- var eslintConfigExtender = require('@form8ion/eslint-config-extender');
15
- var gatsby = require('@form8ion/gatsby');
16
- var netlifyScaffolder = require('@travi/netlify-scaffolder');
17
-
18
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
19
-
20
- var yargs__default = /*#__PURE__*/_interopDefaultLegacy(yargs);
21
- var updateNotifier__default = /*#__PURE__*/_interopDefaultLegacy(updateNotifier);
2
+ import yargs from 'yargs';
3
+ import updateNotifier from 'update-notifier';
4
+ import { questionNames, scaffold as scaffold$8 } from '@form8ion/project';
5
+ import { scaffold as scaffold$7 } from '@form8ion/renovate-scaffolder';
6
+ import { scaffold, questionNames as questionNames$1 } from '@form8ion/javascript';
7
+ import { packageManagers } from '@form8ion/javascript-core';
8
+ import { prompt, scaffold as scaffold$6 } from '@travi/github-scaffolder';
9
+ import { scaffold as scaffold$1 } from '@form8ion/github-actions-node-ci';
10
+ import { scaffold as scaffold$5 } from '@form8ion/mocha-scaffolder';
11
+ import { scaffold as scaffold$4, extendEslintConfig } from '@form8ion/eslint-config-extender';
12
+ import { scaffold as scaffold$3 } from '@form8ion/gatsby';
13
+ import { scaffold as scaffold$2 } from '@travi/netlify-scaffolder';
22
14
 
23
15
  var name = "@pragmatic-divops/cli";
24
16
  var description = "cli for various organization tools";
25
17
  var license = "MIT";
26
- var version = "1.7.172";
18
+ var version = "1.8.0-alpha.1";
19
+ var type = "module";
27
20
  var bin = {
28
- "pragmatic-divops": "bin/pragmatic-divops.js"
21
+ "pragmatic-divops": "bin/pragmatic-divops.mjs"
29
22
  };
30
23
  var files = [
31
24
  "bin/"
@@ -52,11 +45,11 @@ var scripts = {
52
45
  prepack: "run-s build",
53
46
  "test:unit": "nyc run-s test:unit:base",
54
47
  "coverage:report": "nyc report --reporter=text-lcov > coverage.lcov && codecov",
55
- "test:unit:base": "DEBUG=any mocha 'src/**/*-test.js'",
48
+ "test:unit:base": "DEBUG=any mocha --loader=testdouble 'src/**/*-test.js'",
56
49
  "lint:peer": "npm ls >/dev/null",
57
50
  "lint:gherkin": "gherkin-lint",
58
51
  "test:integration": "run-s 'test:integration:base -- --profile noWip'",
59
- "test:integration:base": "DEBUG=any cucumber-js test/integration --profile base",
52
+ "test:integration:base": "NODE_OPTIONS=\"--loader=testdouble\" DEBUG=any cucumber-js test/integration",
60
53
  "test:integration:debug": "DEBUG=test run-s test:integration",
61
54
  "test:integration:wip": "run-s 'test:integration:base -- --profile wip'",
62
55
  "test:integration:wip:debug": "DEBUG=test run-s 'test:integration:wip'",
@@ -67,31 +60,26 @@ var dependencies = {
67
60
  "@form8ion/eslint-config-extender": "3.1.2",
68
61
  "@form8ion/gatsby": "1.0.0",
69
62
  "@form8ion/github-actions-node-ci": "3.6.3",
70
- "@form8ion/javascript": "6.0.6",
63
+ "@form8ion/javascript": "6.0.9",
71
64
  "@form8ion/javascript-core": "6.0.1",
72
- "@form8ion/mocha-scaffolder": "2.0.1",
65
+ "@form8ion/mocha-scaffolder": "2.0.2",
73
66
  "@form8ion/project": "13.2.1",
74
67
  "@form8ion/renovate-scaffolder": "1.7.0",
75
68
  "@travi/github-scaffolder": "8.0.1",
76
69
  "@travi/netlify-scaffolder": "1.6.0",
77
- "source-map-support": "0.5.21",
78
70
  "update-notifier": "6.0.2",
79
71
  yargs: "17.5.1"
80
72
  };
81
73
  var devDependencies = {
82
- "@babel/register": "7.17.7",
83
74
  "@cucumber/cucumber": "8.3.1",
84
75
  "@form8ion/core": "1.8.0",
85
- "@istanbuljs/nyc-config-babel": "3.0.0",
86
- "@pragmatic-divops/commitlint-config": "1.0.22",
87
- "@pragmatic-divops/eslint-config": "1.0.44",
88
- "@pragmatic-divops/eslint-config-cucumber": "1.0.1",
89
- "@pragmatic-divops/eslint-config-mocha": "1.0.8",
90
- "@pragmatic-divops/remark-preset": "2.0.10",
76
+ "@pragmatic-divops/commitlint-config": "1.0.8",
77
+ "@pragmatic-divops/eslint-config": "1.0.28",
78
+ "@pragmatic-divops/eslint-config-cucumber": "1.0.0",
79
+ "@pragmatic-divops/eslint-config-mocha": "1.0.2",
80
+ "@pragmatic-divops/remark-preset": "2.0.6",
91
81
  "@rollup/plugin-node-resolve": "13.3.0",
92
- "@travi/any": "2.1.2",
93
- "@travi/babel-preset": "3.0.88",
94
- "babel-plugin-istanbul": "6.1.1",
82
+ "@travi/any": "2.0.18",
95
83
  "ban-sensitive-files": "1.9.18",
96
84
  chai: "4.3.6",
97
85
  codecov: "3.8.3",
@@ -120,6 +108,7 @@ var pkg = {
120
108
  description: description,
121
109
  license: license,
122
110
  version: version,
111
+ type: type,
123
112
  bin: bin,
124
113
  files: files,
125
114
  publishConfig: publishConfig,
@@ -135,7 +124,7 @@ var pkg = {
135
124
  function javascriptScaffolderFactory(decisions) {
136
125
  const scope = '@pragmatic-divops';
137
126
 
138
- return options => javascript.scaffold({
127
+ return options => scaffold({
139
128
  ...options,
140
129
  configs: {
141
130
  eslint: {scope},
@@ -144,17 +133,17 @@ function javascriptScaffolderFactory(decisions) {
144
133
  commitlint: {name: scope, packageName: `${scope}/commitlint-config`}
145
134
  },
146
135
  overrides: {npmAccount: 'form8ion'},
147
- ciServices: {'GitHub Actions': {scaffolder: githubActionsNodeCi.scaffold, public: true}},
148
- hosts: {Netlify: {projectTypes: ['static'], scaffolder: netlifyScaffolder.scaffold}},
149
- applicationTypes: {Gatsby: {scaffolder: gatsby.scaffold}},
150
- packageTypes: {'ESLint Config': {scaffolder: eslintConfigExtender.scaffold}},
151
- unitTestFrameworks: {mocha: {scaffolder: mochaScaffolder.scaffold}},
136
+ ciServices: {'GitHub Actions': {scaffolder: scaffold$1, public: true}},
137
+ hosts: {Netlify: {projectTypes: ['static'], scaffolder: scaffold$2}},
138
+ applicationTypes: {Gatsby: {scaffolder: scaffold$3}},
139
+ packageTypes: {'ESLint Config': {scaffolder: scaffold$4}},
140
+ unitTestFrameworks: {mocha: {scaffolder: scaffold$5}},
152
141
  decisions
153
142
  });
154
143
  }
155
144
 
156
145
  function githubPromptFactory(decisions) {
157
- return () => githubScaffolder.prompt({account: 'pragmatic-divops', decisions});
146
+ return () => prompt({account: 'pragmatic-divops', decisions});
158
147
  }
159
148
 
160
149
  const traviName = 'Matt Travi';
@@ -163,32 +152,32 @@ const orgName = 'pragmatic-divops';
163
152
  function defineDecisions(providedDecisions) {
164
153
  return {
165
154
  ...providedDecisions,
166
- [project.questionNames.COPYRIGHT_HOLDER]: traviName,
167
- [project.questionNames.REPO_HOST]: 'GitHub',
168
- [project.questionNames.REPO_OWNER]: orgName,
169
- [project.questionNames.DEPENDENCY_UPDATER]: 'Renovate',
170
- [javascript.questionNames.AUTHOR_NAME]: traviName,
171
- [javascript.questionNames.AUTHOR_EMAIL]: 'npm@travi.org',
172
- [javascript.questionNames.AUTHOR_URL]: 'https://matt.travi.org',
173
- [javascript.questionNames.UNIT_TEST_FRAMEWORK]: 'mocha',
174
- [javascript.questionNames.SCOPE]: orgName,
175
- [javascript.questionNames.CI_SERVICE]: 'GitHub Actions',
176
- [javascript.questionNames.PACKAGE_MANAGER]: javascriptCore.packageManagers.NPM
155
+ [questionNames.COPYRIGHT_HOLDER]: traviName,
156
+ [questionNames.REPO_HOST]: 'GitHub',
157
+ [questionNames.REPO_OWNER]: orgName,
158
+ [questionNames.DEPENDENCY_UPDATER]: 'Renovate',
159
+ [questionNames$1.AUTHOR_NAME]: traviName,
160
+ [questionNames$1.AUTHOR_EMAIL]: 'npm@travi.org',
161
+ [questionNames$1.AUTHOR_URL]: 'https://matt.travi.org',
162
+ [questionNames$1.UNIT_TEST_FRAMEWORK]: 'mocha',
163
+ [questionNames$1.SCOPE]: orgName,
164
+ [questionNames$1.CI_SERVICE]: 'GitHub Actions',
165
+ [questionNames$1.PACKAGE_MANAGER]: packageManagers.NPM
177
166
  };
178
167
  }
179
168
 
180
169
  function defineScaffoldOptions(decisions) {
181
170
  return {
182
171
  languages: {JavaScript: javascriptScaffolderFactory(decisions)},
183
- vcsHosts: {GitHub: {scaffolder: githubScaffolder.scaffold, prompt: githubPromptFactory(decisions), public: true}},
172
+ vcsHosts: {GitHub: {scaffolder: scaffold$6, prompt: githubPromptFactory(decisions), public: true}},
184
173
  overrides: {copyrightHolder: traviName},
185
- dependencyUpdaters: {Renovate: {scaffolder: renovateScaffolder.scaffold}},
174
+ dependencyUpdaters: {Renovate: {scaffolder: scaffold$7}},
186
175
  decisions
187
176
  };
188
177
  }
189
178
 
190
179
  function handler$1(providedDecisions) {
191
- return project.scaffold(defineScaffoldOptions(defineDecisions(providedDecisions)));
180
+ return scaffold$8(defineScaffoldOptions(defineDecisions(providedDecisions)));
192
181
  }
193
182
 
194
183
  const command$1 = 'scaffold';
@@ -202,7 +191,9 @@ var scaffoldCommand = /*#__PURE__*/Object.freeze({
202
191
  });
203
192
 
204
193
  function handler(providedDecisions) {
205
- return eslintConfigExtender.extendEslintConfig(defineScaffoldOptions(defineDecisions(providedDecisions)), javascriptScaffolderFactory);
194
+ // return extendEslintConfig(defineScaffoldOptions(defineDecisions(providedDecisions)), javascriptScaffolderFactory);
195
+
196
+ return extendEslintConfig(defineScaffoldOptions(defineDecisions(providedDecisions)), javascriptScaffolderFactory);
206
197
  }
207
198
 
208
199
  const command = 'extend-eslint-config';
@@ -227,7 +218,7 @@ function cli (yargs) {
227
218
  .argv;
228
219
  }
229
220
 
230
- cli(yargs__default["default"]);
221
+ cli(yargs);
231
222
 
232
- updateNotifier__default["default"]({pkg}).notify();
233
- //# sourceMappingURL=pragmatic-divops.js.map
223
+ updateNotifier({pkg}).notify();
224
+ //# sourceMappingURL=pragmatic-divops.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pragmatic-divops.mjs","sources":["../src/common/enhanced-scaffolders.js","../src/common/options.js","../src/commands/scaffold/command.js","../src/commands/extend-eslint-config/command.js","../src/cli.js","../src/index.js"],"sourcesContent":["import {scaffold as scaffoldJavaScript} from '@form8ion/javascript';\nimport {scaffold as scaffoldGitHubActionsCi} from '@form8ion/github-actions-node-ci';\nimport {scaffold as scaffoldMocha} from '@form8ion/mocha-scaffolder';\nimport {scaffold as scaffoldEslintConfig} from '@form8ion/eslint-config-extender';\nimport {scaffold as scaffoldGatsby} from '@form8ion/gatsby';\nimport {scaffold as scaffoldNetlify} from '@travi/netlify-scaffolder';\nimport {prompt} from '@travi/github-scaffolder';\n\nexport function javascriptScaffolderFactory(decisions) {\n const scope = '@pragmatic-divops';\n\n return options => scaffoldJavaScript({\n ...options,\n configs: {\n eslint: {scope},\n remark: `${scope}/remark-preset`,\n babelPreset: {name: '@form8ion', packageName: '@form8ion/babel-preset'},\n commitlint: {name: scope, packageName: `${scope}/commitlint-config`}\n },\n overrides: {npmAccount: 'form8ion'},\n ciServices: {'GitHub Actions': {scaffolder: scaffoldGitHubActionsCi, public: true}},\n hosts: {Netlify: {projectTypes: ['static'], scaffolder: scaffoldNetlify}},\n applicationTypes: {Gatsby: {scaffolder: scaffoldGatsby}},\n packageTypes: {'ESLint Config': {scaffolder: scaffoldEslintConfig}},\n unitTestFrameworks: {mocha: {scaffolder: scaffoldMocha}},\n decisions\n });\n}\n\nexport function githubPromptFactory(decisions) {\n return () => prompt({account: 'pragmatic-divops', decisions});\n}\n","import {scaffold as scaffoldRenovate} from '@form8ion/renovate-scaffolder';\nimport {questionNames as projectQuestionNames} from '@form8ion/project';\nimport {questionNames as jsQuestionNames} from '@form8ion/javascript';\nimport {packageManagers} from '@form8ion/javascript-core';\nimport {scaffold as scaffoldGithub} from '@travi/github-scaffolder';\nimport {githubPromptFactory, javascriptScaffolderFactory} from './enhanced-scaffolders.js';\n\nconst traviName = 'Matt Travi';\nconst orgName = 'pragmatic-divops';\n\nexport function defineDecisions(providedDecisions) {\n return {\n ...providedDecisions,\n [projectQuestionNames.COPYRIGHT_HOLDER]: traviName,\n [projectQuestionNames.REPO_HOST]: 'GitHub',\n [projectQuestionNames.REPO_OWNER]: orgName,\n [projectQuestionNames.DEPENDENCY_UPDATER]: 'Renovate',\n [jsQuestionNames.AUTHOR_NAME]: traviName,\n [jsQuestionNames.AUTHOR_EMAIL]: 'npm@travi.org',\n [jsQuestionNames.AUTHOR_URL]: 'https://matt.travi.org',\n [jsQuestionNames.UNIT_TEST_FRAMEWORK]: 'mocha',\n [jsQuestionNames.SCOPE]: orgName,\n [jsQuestionNames.CI_SERVICE]: 'GitHub Actions',\n [jsQuestionNames.PACKAGE_MANAGER]: packageManagers.NPM\n };\n}\n\nexport function defineScaffoldOptions(decisions) {\n return {\n languages: {JavaScript: javascriptScaffolderFactory(decisions)},\n vcsHosts: {GitHub: {scaffolder: scaffoldGithub, prompt: githubPromptFactory(decisions), public: true}},\n overrides: {copyrightHolder: traviName},\n dependencyUpdaters: {Renovate: {scaffolder: scaffoldRenovate}},\n decisions\n };\n}\n","import {scaffold} from '@form8ion/project';\nimport {defineDecisions, defineScaffoldOptions} from '../../common/options.js';\n\nexport function handler(providedDecisions) {\n return scaffold(defineScaffoldOptions(defineDecisions(providedDecisions)));\n}\n\nexport const command = 'scaffold';\nexport const describe = 'Scaffold a new project';\n","import {extendEslintConfig} from '@form8ion/eslint-config-extender';\n\nimport {defineDecisions, defineScaffoldOptions} from '../../common/options.js';\nimport {javascriptScaffolderFactory} from '../../common/enhanced-scaffolders.js';\n\nexport function handler(providedDecisions) {\n // return extendEslintConfig(defineScaffoldOptions(defineDecisions(providedDecisions)), javascriptScaffolderFactory);\n\n return extendEslintConfig(defineScaffoldOptions(defineDecisions(providedDecisions)), javascriptScaffolderFactory);\n}\n\nexport const command = 'extend-eslint-config';\nexport const describe = 'Extend a @form8ion shareable ESLint config';\n","import * as scaffoldCommand from './commands/scaffold/index.js';\nimport * as extendEslintConfigCommand from './commands/extend-eslint-config/index.js';\n\nexport default function (yargs) {\n return yargs\n .scriptName('pragmatic-divops')\n .usage('Usage: $0 <cmd> [args]')\n .command(scaffoldCommand)\n .command(extendEslintConfigCommand)\n .demandCommand(1, 'You need at least one command before moving on')\n .help('h')\n .alias('h', 'help')\n .argv;\n}\n","import yargs from 'yargs';\nimport updateNotifier from 'update-notifier';\nimport pkg from '../package.json';\nimport cli from './cli';\n\ncli(yargs);\n\nupdateNotifier({pkg}).notify();\n"],"names":["scaffoldJavaScript","scaffoldGitHubActionsCi","scaffoldNetlify","scaffoldGatsby","scaffoldEslintConfig","scaffoldMocha","projectQuestionNames","jsQuestionNames","scaffoldGithub","scaffoldRenovate","handler","scaffold","command","describe"],"mappings":"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"}
package/package.json CHANGED
@@ -2,9 +2,10 @@
2
2
  "name": "@pragmatic-divops/cli",
3
3
  "description": "cli for various organization tools",
4
4
  "license": "MIT",
5
- "version": "1.7.172",
5
+ "version": "1.8.0-alpha.1",
6
+ "type": "module",
6
7
  "bin": {
7
- "pragmatic-divops": "bin/pragmatic-divops.js"
8
+ "pragmatic-divops": "bin/pragmatic-divops.mjs"
8
9
  },
9
10
  "files": [
10
11
  "bin/"
@@ -31,11 +32,11 @@
31
32
  "prepack": "run-s build",
32
33
  "test:unit": "nyc run-s test:unit:base",
33
34
  "coverage:report": "nyc report --reporter=text-lcov > coverage.lcov && codecov",
34
- "test:unit:base": "DEBUG=any mocha 'src/**/*-test.js'",
35
+ "test:unit:base": "DEBUG=any mocha --loader=testdouble 'src/**/*-test.js'",
35
36
  "lint:peer": "npm ls >/dev/null",
36
37
  "lint:gherkin": "gherkin-lint",
37
38
  "test:integration": "run-s 'test:integration:base -- --profile noWip'",
38
- "test:integration:base": "DEBUG=any cucumber-js test/integration --profile base",
39
+ "test:integration:base": "NODE_OPTIONS=\"--loader=testdouble\" DEBUG=any cucumber-js test/integration",
39
40
  "test:integration:debug": "DEBUG=test run-s test:integration",
40
41
  "test:integration:wip": "run-s 'test:integration:base -- --profile wip'",
41
42
  "test:integration:wip:debug": "DEBUG=test run-s 'test:integration:wip'",
@@ -46,31 +47,26 @@
46
47
  "@form8ion/eslint-config-extender": "3.1.2",
47
48
  "@form8ion/gatsby": "1.0.0",
48
49
  "@form8ion/github-actions-node-ci": "3.6.3",
49
- "@form8ion/javascript": "6.0.6",
50
+ "@form8ion/javascript": "6.0.9",
50
51
  "@form8ion/javascript-core": "6.0.1",
51
- "@form8ion/mocha-scaffolder": "2.0.1",
52
+ "@form8ion/mocha-scaffolder": "2.0.2",
52
53
  "@form8ion/project": "13.2.1",
53
54
  "@form8ion/renovate-scaffolder": "1.7.0",
54
55
  "@travi/github-scaffolder": "8.0.1",
55
56
  "@travi/netlify-scaffolder": "1.6.0",
56
- "source-map-support": "0.5.21",
57
57
  "update-notifier": "6.0.2",
58
58
  "yargs": "17.5.1"
59
59
  },
60
60
  "devDependencies": {
61
- "@babel/register": "7.17.7",
62
61
  "@cucumber/cucumber": "8.3.1",
63
62
  "@form8ion/core": "1.8.0",
64
- "@istanbuljs/nyc-config-babel": "3.0.0",
65
- "@pragmatic-divops/commitlint-config": "1.0.22",
66
- "@pragmatic-divops/eslint-config": "1.0.44",
67
- "@pragmatic-divops/eslint-config-cucumber": "1.0.1",
68
- "@pragmatic-divops/eslint-config-mocha": "1.0.8",
69
- "@pragmatic-divops/remark-preset": "2.0.10",
63
+ "@pragmatic-divops/commitlint-config": "1.0.8",
64
+ "@pragmatic-divops/eslint-config": "1.0.28",
65
+ "@pragmatic-divops/eslint-config-cucumber": "1.0.0",
66
+ "@pragmatic-divops/eslint-config-mocha": "1.0.2",
67
+ "@pragmatic-divops/remark-preset": "2.0.6",
70
68
  "@rollup/plugin-node-resolve": "13.3.0",
71
- "@travi/any": "2.1.2",
72
- "@travi/babel-preset": "3.0.88",
73
- "babel-plugin-istanbul": "6.1.1",
69
+ "@travi/any": "2.0.18",
74
70
  "ban-sensitive-files": "1.9.18",
75
71
  "chai": "4.3.6",
76
72
  "codecov": "3.8.3",
@@ -1 +0,0 @@
1
- {"version":3,"file":"pragmatic-divops.js","sources":["../src/common/enhanced-scaffolders.js","../src/common/options.js","../src/commands/scaffold/command.js","../src/commands/extend-eslint-config/command.js","../src/cli.js","../src/index.js"],"sourcesContent":["import {scaffold as scaffoldJavaScript} from '@form8ion/javascript';\nimport {scaffold as scaffoldGitHubActionsCi} from '@form8ion/github-actions-node-ci';\nimport {scaffold as scaffoldMocha} from '@form8ion/mocha-scaffolder';\nimport {scaffold as scaffoldEslintConfig} from '@form8ion/eslint-config-extender';\nimport {scaffold as scaffoldGatsby} from '@form8ion/gatsby';\nimport {scaffold as scaffoldNetlify} from '@travi/netlify-scaffolder';\nimport {prompt} from '@travi/github-scaffolder';\n\nexport function javascriptScaffolderFactory(decisions) {\n const scope = '@pragmatic-divops';\n\n return options => scaffoldJavaScript({\n ...options,\n configs: {\n eslint: {scope},\n remark: `${scope}/remark-preset`,\n babelPreset: {name: '@form8ion', packageName: '@form8ion/babel-preset'},\n commitlint: {name: scope, packageName: `${scope}/commitlint-config`}\n },\n overrides: {npmAccount: 'form8ion'},\n ciServices: {'GitHub Actions': {scaffolder: scaffoldGitHubActionsCi, public: true}},\n hosts: {Netlify: {projectTypes: ['static'], scaffolder: scaffoldNetlify}},\n applicationTypes: {Gatsby: {scaffolder: scaffoldGatsby}},\n packageTypes: {'ESLint Config': {scaffolder: scaffoldEslintConfig}},\n unitTestFrameworks: {mocha: {scaffolder: scaffoldMocha}},\n decisions\n });\n}\n\nexport function githubPromptFactory(decisions) {\n return () => prompt({account: 'pragmatic-divops', decisions});\n}\n","import {scaffold as scaffoldRenovate} from '@form8ion/renovate-scaffolder';\nimport {questionNames as projectQuestionNames} from '@form8ion/project';\nimport {questionNames as jsQuestionNames} from '@form8ion/javascript';\nimport {packageManagers} from '@form8ion/javascript-core';\nimport {scaffold as scaffoldGithub} from '@travi/github-scaffolder';\nimport {githubPromptFactory, javascriptScaffolderFactory} from './enhanced-scaffolders';\n\nconst traviName = 'Matt Travi';\nconst orgName = 'pragmatic-divops';\n\nexport function defineDecisions(providedDecisions) {\n return {\n ...providedDecisions,\n [projectQuestionNames.COPYRIGHT_HOLDER]: traviName,\n [projectQuestionNames.REPO_HOST]: 'GitHub',\n [projectQuestionNames.REPO_OWNER]: orgName,\n [projectQuestionNames.DEPENDENCY_UPDATER]: 'Renovate',\n [jsQuestionNames.AUTHOR_NAME]: traviName,\n [jsQuestionNames.AUTHOR_EMAIL]: 'npm@travi.org',\n [jsQuestionNames.AUTHOR_URL]: 'https://matt.travi.org',\n [jsQuestionNames.UNIT_TEST_FRAMEWORK]: 'mocha',\n [jsQuestionNames.SCOPE]: orgName,\n [jsQuestionNames.CI_SERVICE]: 'GitHub Actions',\n [jsQuestionNames.PACKAGE_MANAGER]: packageManagers.NPM\n };\n}\n\nexport function defineScaffoldOptions(decisions) {\n return {\n languages: {JavaScript: javascriptScaffolderFactory(decisions)},\n vcsHosts: {GitHub: {scaffolder: scaffoldGithub, prompt: githubPromptFactory(decisions), public: true}},\n overrides: {copyrightHolder: traviName},\n dependencyUpdaters: {Renovate: {scaffolder: scaffoldRenovate}},\n decisions\n };\n}\n","import {scaffold} from '@form8ion/project';\nimport {defineDecisions, defineScaffoldOptions} from '../../common/options';\n\nexport function handler(providedDecisions) {\n return scaffold(defineScaffoldOptions(defineDecisions(providedDecisions)));\n}\n\nexport const command = 'scaffold';\nexport const describe = 'Scaffold a new project';\n","import {extendEslintConfig} from '@form8ion/eslint-config-extender';\nimport {defineDecisions, defineScaffoldOptions} from '../../common/options';\nimport {javascriptScaffolderFactory} from '../../common/enhanced-scaffolders';\n\nexport function handler(providedDecisions) {\n return extendEslintConfig(defineScaffoldOptions(defineDecisions(providedDecisions)), javascriptScaffolderFactory);\n}\n\nexport const command = 'extend-eslint-config';\nexport const describe = 'Extend a @form8ion shareable ESLint config';\n","import 'source-map-support/register';\nimport * as scaffoldCommand from './commands/scaffold';\nimport * as extendEslintConfigCommand from './commands/extend-eslint-config';\n\nexport default function (yargs) {\n return yargs\n .scriptName('pragmatic-divops')\n .usage('Usage: $0 <cmd> [args]')\n .command(scaffoldCommand)\n .command(extendEslintConfigCommand)\n .demandCommand(1, 'You need at least one command before moving on')\n .help('h')\n .alias('h', 'help')\n .argv;\n}\n","import yargs from 'yargs';\nimport updateNotifier from 'update-notifier';\nimport pkg from '../package.json';\nimport cli from './cli';\n\ncli(yargs);\n\nupdateNotifier({pkg}).notify();\n"],"names":["scaffoldJavaScript","scaffoldGitHubActionsCi","scaffoldNetlify","scaffoldGatsby","scaffoldEslintConfig","scaffoldMocha","prompt","projectQuestionNames","jsQuestionNames","packageManagers","scaffoldGithub","scaffoldRenovate","handler","scaffold","command","describe","extendEslintConfig","yargs","updateNotifier"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQO,SAAS,2BAA2B,CAAC,SAAS,EAAE;AACvD,EAAE,MAAM,KAAK,GAAG,mBAAmB,CAAC;AACpC;AACA,EAAE,OAAO,OAAO,IAAIA,mBAAkB,CAAC;AACvC,IAAI,GAAG,OAAO;AACd,IAAI,OAAO,EAAE;AACb,MAAM,MAAM,EAAE,CAAC,KAAK,CAAC;AACrB,MAAM,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC;AACtC,MAAM,WAAW,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,wBAAwB,CAAC;AAC7E,MAAM,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAC1E,KAAK;AACL,IAAI,SAAS,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;AACvC,IAAI,UAAU,EAAE,CAAC,gBAAgB,EAAE,CAAC,UAAU,EAAEC,4BAAuB,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AACvF,IAAI,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAEC,0BAAe,CAAC,CAAC;AAC7E,IAAI,gBAAgB,EAAE,CAAC,MAAM,EAAE,CAAC,UAAU,EAAEC,eAAc,CAAC,CAAC;AAC5D,IAAI,YAAY,EAAE,CAAC,eAAe,EAAE,CAAC,UAAU,EAAEC,6BAAoB,CAAC,CAAC;AACvE,IAAI,kBAAkB,EAAE,CAAC,KAAK,EAAE,CAAC,UAAU,EAAEC,wBAAa,CAAC,CAAC;AAC5D,IAAI,SAAS;AACb,GAAG,CAAC,CAAC;AACL,CAAC;AACD;AACO,SAAS,mBAAmB,CAAC,SAAS,EAAE;AAC/C,EAAE,OAAO,MAAMC,uBAAM,CAAC,CAAC,OAAO,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC,CAAC;AAChE;;ACxBA,MAAM,SAAS,GAAG,YAAY,CAAC;AAC/B,MAAM,OAAO,GAAG,kBAAkB,CAAC;AACnC;AACO,SAAS,eAAe,CAAC,iBAAiB,EAAE;AACnD,EAAE,OAAO;AACT,IAAI,GAAG,iBAAiB;AACxB,IAAI,CAACC,qBAAoB,CAAC,gBAAgB,GAAG,SAAS;AACtD,IAAI,CAACA,qBAAoB,CAAC,SAAS,GAAG,QAAQ;AAC9C,IAAI,CAACA,qBAAoB,CAAC,UAAU,GAAG,OAAO;AAC9C,IAAI,CAACA,qBAAoB,CAAC,kBAAkB,GAAG,UAAU;AACzD,IAAI,CAACC,wBAAe,CAAC,WAAW,GAAG,SAAS;AAC5C,IAAI,CAACA,wBAAe,CAAC,YAAY,GAAG,eAAe;AACnD,IAAI,CAACA,wBAAe,CAAC,UAAU,GAAG,wBAAwB;AAC1D,IAAI,CAACA,wBAAe,CAAC,mBAAmB,GAAG,OAAO;AAClD,IAAI,CAACA,wBAAe,CAAC,KAAK,GAAG,OAAO;AACpC,IAAI,CAACA,wBAAe,CAAC,UAAU,GAAG,gBAAgB;AAClD,IAAI,CAACA,wBAAe,CAAC,eAAe,GAAGC,8BAAe,CAAC,GAAG;AAC1D,GAAG,CAAC;AACJ,CAAC;AACD;AACO,SAAS,qBAAqB,CAAC,SAAS,EAAE;AACjD,EAAE,OAAO;AACT,IAAI,SAAS,EAAE,CAAC,UAAU,EAAE,2BAA2B,CAAC,SAAS,CAAC,CAAC;AACnE,IAAI,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,UAAU,EAAEC,yBAAc,EAAE,MAAM,EAAE,mBAAmB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC1G,IAAI,SAAS,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC;AAC3C,IAAI,kBAAkB,EAAE,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAEC,2BAAgB,CAAC,CAAC;AAClE,IAAI,SAAS;AACb,GAAG,CAAC;AACJ;;AChCO,SAASC,SAAO,CAAC,iBAAiB,EAAE;AAC3C,EAAE,OAAOC,gBAAQ,CAAC,qBAAqB,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC;AACD;AACO,MAAMC,SAAO,GAAG,UAAU,CAAC;AAC3B,MAAMC,UAAQ,GAAG,wBAAwB;;;;;;;;;ACJzC,SAAS,OAAO,CAAC,iBAAiB,EAAE;AAC3C,EAAE,OAAOC,uCAAkB,CAAC,qBAAqB,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,EAAE,2BAA2B,CAAC,CAAC;AACpH,CAAC;AACD;AACO,MAAM,OAAO,GAAG,sBAAsB,CAAC;AACvC,MAAM,QAAQ,GAAG,4CAA4C;;;;;;;;;ACLrD,YAAQ,EAAE,KAAK,EAAE;AAChC,EAAE,OAAO,KAAK;AACd,KAAK,UAAU,CAAC,kBAAkB,CAAC;AACnC,KAAK,KAAK,CAAC,wBAAwB,CAAC;AACpC,KAAK,OAAO,CAAC,eAAe,CAAC;AAC7B,KAAK,OAAO,CAAC,yBAAyB,CAAC;AACvC,KAAK,aAAa,CAAC,CAAC,EAAE,gDAAgD,CAAC;AACvE,KAAK,IAAI,CAAC,GAAG,CAAC;AACd,KAAK,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC;AACvB,KAAK,IAAI,CAAC;AACV;;ACTA,GAAG,CAACC,yBAAK,CAAC,CAAC;AACX;AACAC,kCAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE;;"}