@pragmatic-divops/cli 1.8.0-alpha.8 → 1.8.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/README.md CHANGED
@@ -9,8 +9,6 @@ cli for various organization tools
9
9
 
10
10
  <!--status-badges end -->
11
11
 
12
- ## Usage
13
-
14
12
  <!--consumer-badges start -->
15
13
 
16
14
  [![MIT license][license-badge]][license-link]
@@ -18,12 +16,6 @@ cli for various organization tools
18
16
 
19
17
  <!--consumer-badges end -->
20
18
 
21
- ### Installation
22
-
23
- ```sh
24
- $ npm install @pragmatic-divops/cli --global
25
- ```
26
-
27
19
  ## Table of Contents
28
20
 
29
21
  * [Contributing](#contributing)
@@ -0,0 +1,288 @@
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$1 = 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
+ var lift = require('@form8ion/lift');
18
+ var cucumberScaffolder = require('@form8ion/cucumber-scaffolder');
19
+ var codecov = require('@form8ion/codecov');
20
+
21
+ var name = "@pragmatic-divops/cli";
22
+ var description = "cli for various organization tools";
23
+ var license = "MIT";
24
+ var version = "1.8.0";
25
+ var author = "Matt Travi <npm@travi.org> (https://matt.travi.org/)";
26
+ var repository = "pragmatic-divops/cli";
27
+ var bugs = "https://github.com/pragmatic-divops/cli/issues";
28
+ var homepage = "https://github.com/pragmatic-divops/cli#readme";
29
+ var bin = {
30
+ "pragmatic-divops": "./bin/pragmatic-divops.js"
31
+ };
32
+ var scripts = {
33
+ test: "npm-run-all --print-label --parallel lint:* --parallel test:*",
34
+ "lint:lockfile": "lockfile-lint --path package-lock.json --type npm --validate-https --allowed-hosts npm",
35
+ "lint:js": "eslint . --cache",
36
+ "lint:md": "remark . --frail",
37
+ "generate:md": "remark . --output",
38
+ "lint:sensitive": "ban",
39
+ clean: "rimraf ./bin",
40
+ prebuild: "run-s clean",
41
+ build: "npm-run-all --print-label --parallel build:*",
42
+ "build:js": "rollup --config",
43
+ watch: "run-s 'build:js -- --watch'",
44
+ prepack: "run-s build",
45
+ "test:unit": "cross-env NODE_ENV=test c8 run-s test:unit:base",
46
+ "test:unit:base": "npm-run-all --print-label --parallel test:unit:mocha test:unit:vitest",
47
+ "test:unit:vitest": "DEBUG=any vitest run",
48
+ "test:unit:mocha": "mocha 'src/**/*-test.js'",
49
+ "lint:peer": "npm ls >/dev/null",
50
+ "lint:gherkin": "gherkin-lint",
51
+ "test:integration": "run-s 'test:integration:base -- --profile noWip'",
52
+ "test:integration:base": "DEBUG=any cucumber-js test/integration --profile base",
53
+ "test:integration:debug": "DEBUG=test run-s test:integration",
54
+ "test:integration:wip": "run-s 'test:integration:base -- --profile wip'",
55
+ "test:integration:wip:debug": "DEBUG=test run-s 'test:integration:wip'",
56
+ "test:integration:focus": "run-s 'test:integration:base -- --profile focus'",
57
+ "pretest:e2e": "run-s build",
58
+ "test:e2e": "node ./test/e2e/smoke-test.mjs",
59
+ prepare: "husky install"
60
+ };
61
+ var files = [
62
+ "bin/"
63
+ ];
64
+ var publishConfig = {
65
+ access: "public"
66
+ };
67
+ var dependencies = {
68
+ "@form8ion/codecov": "4.0.1",
69
+ "@form8ion/cucumber-scaffolder": "2.1.0",
70
+ "@form8ion/eslint-config-extender": "6.1.0",
71
+ "@form8ion/gatsby": "1.0.2",
72
+ "@form8ion/github-actions-node-ci": "3.13.0",
73
+ "@form8ion/javascript": "10.6.0",
74
+ "@form8ion/javascript-core": "8.3.2",
75
+ "@form8ion/lift": "6.2.0",
76
+ "@form8ion/mocha-scaffolder": "3.0.1",
77
+ "@form8ion/project": "15.2.0",
78
+ "@form8ion/renovate-scaffolder": "1.8.0",
79
+ "@travi/github-scaffolder": "8.0.4",
80
+ "@travi/netlify-scaffolder": "1.6.0",
81
+ "source-map-support": "0.5.21",
82
+ "update-notifier": "5.1.0",
83
+ yargs: "17.7.1"
84
+ };
85
+ var devDependencies = {
86
+ "@babel/register": "7.21.0",
87
+ "@cucumber/cucumber": "9.0.1",
88
+ "@form8ion/core": "2.0.0",
89
+ "@pragmatic-divops/commitlint-config": "1.0.31",
90
+ "@pragmatic-divops/eslint-config": "1.0.66",
91
+ "@pragmatic-divops/eslint-config-cucumber": "1.0.1",
92
+ "@pragmatic-divops/eslint-config-mocha": "1.0.9",
93
+ "@pragmatic-divops/remark-preset": "3.0.2",
94
+ "@rollup/plugin-node-resolve": "15.0.1",
95
+ "@travi/any": "2.1.8",
96
+ "@travi/babel-preset": "3.0.96",
97
+ "ban-sensitive-files": "1.9.18",
98
+ c8: "7.13.0",
99
+ chai: "4.3.7",
100
+ "cross-env": "7.0.3",
101
+ "cz-conventional-changelog": "3.3.0",
102
+ execa: "7.1.1",
103
+ "gherkin-lint": "4.2.2",
104
+ "http-status-codes": "2.2.0",
105
+ husky: "8.0.3",
106
+ "jest-when": "3.5.2",
107
+ "lockfile-lint": "4.10.1",
108
+ mocha: "10.2.0",
109
+ "mock-fs": "5.2.0",
110
+ nock: "13.3.0",
111
+ "npm-run-all": "4.1.5",
112
+ "remark-cli": "11.0.0",
113
+ "remark-toc": "8.0.1",
114
+ rimraf: "4.4.0",
115
+ rollup: "3.19.1",
116
+ "rollup-plugin-auto-external": "2.0.0",
117
+ "rollup-plugin-executable": "1.6.3",
118
+ "rollup-plugin-json": "4.0.0",
119
+ sinon: "15.0.2",
120
+ testdouble: "3.17.0",
121
+ vitest: "0.29.3"
122
+ };
123
+ var pkg = {
124
+ name: name,
125
+ description: description,
126
+ license: license,
127
+ version: version,
128
+ author: author,
129
+ repository: repository,
130
+ bugs: bugs,
131
+ homepage: homepage,
132
+ bin: bin,
133
+ scripts: scripts,
134
+ files: files,
135
+ publishConfig: publishConfig,
136
+ dependencies: dependencies,
137
+ devDependencies: devDependencies
138
+ };
139
+
140
+ function javascriptScaffolderFactory(decisions) {
141
+ const scope = '@pragmatic-divops';
142
+
143
+ return options => javascript$1.scaffold({
144
+ ...options,
145
+ configs: {
146
+ eslint: {scope},
147
+ remark: `${scope}/remark-preset`,
148
+ babelPreset: {name: '@form8ion', packageName: '@form8ion/babel-preset'},
149
+ commitlint: {name: scope, packageName: `${scope}/commitlint-config`}
150
+ },
151
+ overrides: {npmAccount: 'form8ion'},
152
+ ciServices: {'GitHub Actions': {scaffolder: githubActionsNodeCi.scaffold, public: true}},
153
+ hosts: {Netlify: {projectTypes: ['static'], scaffolder: netlifyScaffolder.scaffold}},
154
+ applicationTypes: {Gatsby: {scaffolder: gatsby.scaffold}},
155
+ packageTypes: {'ESLint Config': {scaffolder: eslintConfigExtender.scaffold}},
156
+ unitTestFrameworks: {mocha: {scaffolder: mochaScaffolder.scaffold}},
157
+ decisions
158
+ });
159
+ }
160
+
161
+ function githubPromptFactory(decisions) {
162
+ return () => githubScaffolder.prompt({account: 'pragmatic-divops', decisions});
163
+ }
164
+
165
+ const traviName = 'Matt Travi';
166
+ const orgName = 'pragmatic-divops';
167
+
168
+ function defineDecisions(providedDecisions) {
169
+ return {
170
+ ...providedDecisions,
171
+ [project.questionNames.COPYRIGHT_HOLDER]: traviName,
172
+ [project.questionNames.REPO_HOST]: 'GitHub',
173
+ [project.questionNames.REPO_OWNER]: orgName,
174
+ [project.questionNames.DEPENDENCY_UPDATER]: 'Renovate',
175
+ [javascript$1.questionNames.AUTHOR_NAME]: traviName,
176
+ [javascript$1.questionNames.AUTHOR_EMAIL]: 'npm@travi.org',
177
+ [javascript$1.questionNames.AUTHOR_URL]: 'https://matt.travi.org',
178
+ [javascript$1.questionNames.UNIT_TEST_FRAMEWORK]: 'mocha',
179
+ [javascript$1.questionNames.SCOPE]: orgName,
180
+ [javascript$1.questionNames.CI_SERVICE]: 'GitHub Actions',
181
+ [javascript$1.questionNames.PACKAGE_MANAGER]: javascriptCore.packageManagers.NPM
182
+ };
183
+ }
184
+
185
+ function defineScaffoldOptions(decisions) {
186
+ return {
187
+ languages: {JavaScript: javascriptScaffolderFactory(decisions)},
188
+ vcsHosts: {GitHub: {scaffolder: githubScaffolder.scaffold, prompt: githubPromptFactory(decisions), public: true}},
189
+ overrides: {copyrightHolder: traviName},
190
+ dependencyUpdaters: {Renovate: {scaffolder: renovateScaffolder.scaffold}},
191
+ decisions
192
+ };
193
+ }
194
+
195
+ function handler$2(providedDecisions) {
196
+ return project.scaffold(defineScaffoldOptions(defineDecisions(providedDecisions)));
197
+ }
198
+
199
+ const command$2 = 'scaffold';
200
+ const describe$2 = 'Scaffold a new project';
201
+
202
+ var scaffoldCommand = /*#__PURE__*/Object.freeze({
203
+ __proto__: null,
204
+ command: command$2,
205
+ describe: describe$2,
206
+ handler: handler$2
207
+ });
208
+
209
+ const packageScope = '@pragmatic-divops';
210
+
211
+ const javascriptConfigs = {
212
+ eslint: {scope: packageScope},
213
+ remark: `${packageScope}/remark-lint-preset`,
214
+ babelPreset: {
215
+ name: packageScope,
216
+ packageName: `${packageScope}/babel-preset`
217
+ },
218
+ commitlint: {
219
+ name: packageScope,
220
+ packageName: `${packageScope}/commitlint-config`
221
+ }
222
+ };
223
+
224
+ function javascript(options) {
225
+ return javascript$1.lift({...options, configs: javascriptConfigs});
226
+ }
227
+
228
+ function getEnhancedCodecovScaffolder() {
229
+ return options => codecov.scaffold({...options, visibility: 'Public'});
230
+ }
231
+
232
+ function handler$1({decisions}) {
233
+ return lift.lift({
234
+ decisions,
235
+ scaffolders: {
236
+ Renovate: renovateScaffolder.scaffold,
237
+ Cucumber: cucumberScaffolder.scaffold,
238
+ Codecov: getEnhancedCodecovScaffolder()
239
+ },
240
+ enhancers: {
241
+ JavaScript: {test: javascript$1.test, lift: javascript},
242
+ Renovate: {test: renovateScaffolder.predicate, lift: renovateScaffolder.lift},
243
+ 'GitHub Actions CI': {test: githubActionsNodeCi.test, lift: githubActionsNodeCi.lift}
244
+ }
245
+ });
246
+ }
247
+
248
+ const command$1 = 'lift';
249
+ const describe$1 = 'Lift an existing project with additional functionality';
250
+
251
+ var liftCommand = /*#__PURE__*/Object.freeze({
252
+ __proto__: null,
253
+ command: command$1,
254
+ describe: describe$1,
255
+ handler: handler$1
256
+ });
257
+
258
+ function handler(providedDecisions) {
259
+ return eslintConfigExtender.extendEslintConfig(defineScaffoldOptions(defineDecisions(providedDecisions)), javascriptScaffolderFactory);
260
+ }
261
+
262
+ const command = 'extend-eslint-config';
263
+ const describe = 'Extend a @form8ion shareable ESLint config';
264
+
265
+ var extendEslintConfigCommand = /*#__PURE__*/Object.freeze({
266
+ __proto__: null,
267
+ command: command,
268
+ describe: describe,
269
+ handler: handler
270
+ });
271
+
272
+ function cli (yargs) {
273
+ return yargs
274
+ .scriptName('pragmatic-divops')
275
+ .usage('Usage: $0 <cmd> [args]')
276
+ .command(scaffoldCommand)
277
+ .command(liftCommand)
278
+ .command(extendEslintConfigCommand)
279
+ .demandCommand(1, 'You need at least one command before moving on')
280
+ .help('h')
281
+ .alias('h', 'help')
282
+ .argv;
283
+ }
284
+
285
+ cli(yargs);
286
+
287
+ updateNotifier({pkg}).notify();
288
+ //# sourceMappingURL=pragmatic-divops.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pragmatic-divops.js","sources":["../src/common/enhanced-scaffolders.js","../src/common/options.js","../src/commands/scaffold/command.js","../src/commands/common.js","../src/commands/lift/enhanced-lifters.js","../src/commands/lift/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","const packageScope = '@pragmatic-divops';\n\nexport const javascriptConfigs = {\n eslint: {scope: packageScope},\n remark: `${packageScope}/remark-lint-preset`,\n babelPreset: {\n name: packageScope,\n packageName: `${packageScope}/babel-preset`\n },\n commitlint: {\n name: packageScope,\n packageName: `${packageScope}/commitlint-config`\n }\n};\n","import {lift} from '@form8ion/javascript';\nimport {scaffold as codecovScaffolder} from '@form8ion/codecov';\n\nimport {javascriptConfigs} from '../common';\n\nexport function javascript(options) {\n return lift({...options, configs: javascriptConfigs});\n}\n\nexport function getEnhancedCodecovScaffolder() {\n return options => codecovScaffolder({...options, visibility: 'Public'});\n}\n","import {lift} from '@form8ion/lift';\nimport {\n lift as liftRenovate,\n predicate as renovatePredicate,\n scaffold as scaffoldRenovate\n} from '@form8ion/renovate-scaffolder';\nimport {scaffold as scaffoldCucumber} from '@form8ion/cucumber-scaffolder';\nimport {test as jsApplicabilityTest} from '@form8ion/javascript';\nimport {lift as liftGithubActionsCI, test as githubActionsCiApplicabilityTest} from '@form8ion/github-actions-node-ci';\n\nimport {getEnhancedCodecovScaffolder, javascript as liftJavascript} from './enhanced-lifters.js';\n\nexport function handler({decisions}) {\n return lift({\n decisions,\n scaffolders: {\n Renovate: scaffoldRenovate,\n Cucumber: scaffoldCucumber,\n Codecov: getEnhancedCodecovScaffolder()\n },\n enhancers: {\n JavaScript: {test: jsApplicabilityTest, lift: liftJavascript},\n Renovate: {test: renovatePredicate, lift: liftRenovate},\n 'GitHub Actions CI': {test: githubActionsCiApplicabilityTest, lift: liftGithubActionsCI}\n }\n });\n}\n\nexport const command = 'lift';\nexport const describe = 'Lift an existing project with additional functionality';\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 liftCommand from './commands/lift/index.js';\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(liftCommand)\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","lift","codecovScaffolder","scaffoldCucumber","jsApplicabilityTest","liftJavascript","renovatePredicate","liftRenovate","githubActionsCiApplicabilityTest","liftGithubActionsCI","extendEslintConfig"],"mappings":"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"}
package/package.json CHANGED
@@ -2,21 +2,14 @@
2
2
  "name": "@pragmatic-divops/cli",
3
3
  "description": "cli for various organization tools",
4
4
  "license": "MIT",
5
- "version": "1.8.0-alpha.8",
6
- "type": "module",
7
- "bin": {
8
- "pragmatic-divops": "bin/pragmatic-divops.mjs"
9
- },
10
- "files": [
11
- "bin/"
12
- ],
13
- "publishConfig": {
14
- "access": "public"
15
- },
5
+ "version": "1.8.0",
6
+ "author": "Matt Travi <npm@travi.org> (https://matt.travi.org/)",
16
7
  "repository": "pragmatic-divops/cli",
17
8
  "bugs": "https://github.com/pragmatic-divops/cli/issues",
18
9
  "homepage": "https://github.com/pragmatic-divops/cli#readme",
19
- "author": "Matt Travi <npm@travi.org> (https://matt.travi.org/)",
10
+ "bin": {
11
+ "pragmatic-divops": "./bin/pragmatic-divops.js"
12
+ },
20
13
  "scripts": {
21
14
  "test": "npm-run-all --print-label --parallel lint:* --parallel test:*",
22
15
  "lint:lockfile": "lockfile-lint --path package-lock.json --type npm --validate-https --allowed-hosts npm",
@@ -31,65 +24,81 @@
31
24
  "watch": "run-s 'build:js -- --watch'",
32
25
  "prepack": "run-s build",
33
26
  "test:unit": "cross-env NODE_ENV=test c8 run-s test:unit:base",
34
- "test:unit:base": "DEBUG=any mocha --loader=testdouble 'src/**/*-test.js'",
27
+ "test:unit:base": "npm-run-all --print-label --parallel test:unit:mocha test:unit:vitest",
28
+ "test:unit:vitest": "DEBUG=any vitest run",
29
+ "test:unit:mocha": "mocha 'src/**/*-test.js'",
35
30
  "lint:peer": "npm ls >/dev/null",
36
31
  "lint:gherkin": "gherkin-lint",
37
32
  "test:integration": "run-s 'test:integration:base -- --profile noWip'",
38
- "test:integration:base": "NODE_OPTIONS=\"--loader=testdouble\" DEBUG=any cucumber-js test/integration",
33
+ "test:integration:base": "DEBUG=any cucumber-js test/integration --profile base",
39
34
  "test:integration:debug": "DEBUG=test run-s test:integration",
40
35
  "test:integration:wip": "run-s 'test:integration:base -- --profile wip'",
41
36
  "test:integration:wip:debug": "DEBUG=test run-s 'test:integration:wip'",
42
37
  "test:integration:focus": "run-s 'test:integration:base -- --profile focus'",
38
+ "pretest:e2e": "run-s build",
39
+ "test:e2e": "node ./test/e2e/smoke-test.mjs",
43
40
  "prepare": "husky install"
44
41
  },
42
+ "files": [
43
+ "bin/"
44
+ ],
45
+ "publishConfig": {
46
+ "access": "public"
47
+ },
45
48
  "dependencies": {
46
- "@form8ion/codecov": "3.0.1",
47
- "@form8ion/cucumber-scaffolder": "2.0.0",
48
- "@form8ion/eslint-config-extender": "3.1.2",
49
- "@form8ion/gatsby": "1.0.1",
50
- "@form8ion/github-actions-node-ci": "3.8.0",
51
- "@form8ion/javascript": "7.0.3",
52
- "@form8ion/javascript-core": "6.0.1",
53
- "@form8ion/lift": "4.0.0",
54
- "@form8ion/mocha-scaffolder": "2.0.2",
55
- "@form8ion/project": "13.2.1",
56
- "@form8ion/renovate-scaffolder": "1.7.0",
57
- "@travi/github-scaffolder": "8.0.2",
49
+ "@form8ion/codecov": "4.0.1",
50
+ "@form8ion/cucumber-scaffolder": "2.1.0",
51
+ "@form8ion/eslint-config-extender": "6.1.0",
52
+ "@form8ion/gatsby": "1.0.2",
53
+ "@form8ion/github-actions-node-ci": "3.13.0",
54
+ "@form8ion/javascript": "10.6.0",
55
+ "@form8ion/javascript-core": "8.3.2",
56
+ "@form8ion/lift": "6.2.0",
57
+ "@form8ion/mocha-scaffolder": "3.0.1",
58
+ "@form8ion/project": "15.2.0",
59
+ "@form8ion/renovate-scaffolder": "1.8.0",
60
+ "@travi/github-scaffolder": "8.0.4",
58
61
  "@travi/netlify-scaffolder": "1.6.0",
59
- "update-notifier": "6.0.2",
60
- "yargs": "17.5.1"
62
+ "source-map-support": "0.5.21",
63
+ "update-notifier": "5.1.0",
64
+ "yargs": "17.7.1"
61
65
  },
62
66
  "devDependencies": {
63
- "@cucumber/cucumber": "8.4.0",
64
- "@form8ion/core": "1.8.0",
65
- "@pragmatic-divops/commitlint-config": "1.0.22",
66
- "@pragmatic-divops/eslint-config": "1.0.45",
67
+ "@babel/register": "7.21.0",
68
+ "@cucumber/cucumber": "9.0.1",
69
+ "@form8ion/core": "2.0.0",
70
+ "@pragmatic-divops/commitlint-config": "1.0.31",
71
+ "@pragmatic-divops/eslint-config": "1.0.66",
67
72
  "@pragmatic-divops/eslint-config-cucumber": "1.0.1",
68
- "@pragmatic-divops/eslint-config-mocha": "1.0.8",
69
- "@pragmatic-divops/remark-preset": "2.0.11",
70
- "@rollup/plugin-node-resolve": "13.3.0",
71
- "@travi/any": "2.1.5",
73
+ "@pragmatic-divops/eslint-config-mocha": "1.0.9",
74
+ "@pragmatic-divops/remark-preset": "3.0.2",
75
+ "@rollup/plugin-node-resolve": "15.0.1",
76
+ "@travi/any": "2.1.8",
77
+ "@travi/babel-preset": "3.0.96",
72
78
  "ban-sensitive-files": "1.9.18",
73
- "c8": "7.11.3",
74
- "chai": "4.3.6",
79
+ "c8": "7.13.0",
80
+ "chai": "4.3.7",
75
81
  "cross-env": "7.0.3",
76
82
  "cz-conventional-changelog": "3.3.0",
83
+ "execa": "7.1.1",
77
84
  "gherkin-lint": "4.2.2",
78
85
  "http-status-codes": "2.2.0",
79
- "husky": "8.0.1",
80
- "lockfile-lint": "4.7.6",
81
- "mocha": "10.0.0",
82
- "mock-fs": "5.1.2",
83
- "nock": "13.2.8",
86
+ "husky": "8.0.3",
87
+ "jest-when": "3.5.2",
88
+ "lockfile-lint": "4.10.1",
89
+ "mocha": "10.2.0",
90
+ "mock-fs": "5.2.0",
91
+ "nock": "13.3.0",
84
92
  "npm-run-all": "4.1.5",
85
93
  "remark-cli": "11.0.0",
86
94
  "remark-toc": "8.0.1",
87
- "rimraf": "3.0.2",
88
- "rollup": "2.76.0",
95
+ "rimraf": "4.4.0",
96
+ "rollup": "3.19.1",
89
97
  "rollup-plugin-auto-external": "2.0.0",
90
98
  "rollup-plugin-executable": "1.6.3",
91
99
  "rollup-plugin-json": "4.0.0",
92
- "sinon": "14.0.0",
93
- "testdouble": "3.16.6"
100
+ "sinon": "15.0.2",
101
+ "testdouble": "3.17.0",
102
+ "vitest": "0.29.3"
94
103
  }
95
104
  }