@form8ion/hapi-scaffolder 4.0.4 → 4.0.7

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.
@@ -1,34 +1,28 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
3
+ var deepmerge = require('deepmerge');
5
4
  var fs = require('fs');
6
5
  var path = require('path');
7
6
  var mustache = require('mustache');
8
7
  var makeDir = require('make-dir');
9
8
  var cucumberScaffolder = require('@form8ion/cucumber-scaffolder');
10
9
 
11
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
-
13
- var mustache__default = /*#__PURE__*/_interopDefaultLegacy(mustache);
14
- var makeDir__default = /*#__PURE__*/_interopDefaultLegacy(makeDir);
15
-
16
10
  async function scaffoldServer ({projectRoot, projectName}) {
17
- const serverDirectory = await makeDir__default["default"](`${projectRoot}/src/server`);
11
+ const serverDirectory = await makeDir(`${projectRoot}/src/server`);
18
12
 
19
13
  await Promise.all([
20
- fs.promises.copyFile(path.resolve(__dirname, '..', 'templates', 'server.js'), `${serverDirectory}/server.js`),
14
+ fs.promises.copyFile(path.resolve(__dirname, '..', 'templates', 'server.mjs'), `${serverDirectory}/server.js`),
21
15
  fs.promises.copyFile(path.resolve(__dirname, '..', 'templates', '.env.example'), `${projectRoot}/.env.example`),
22
16
  fs.promises.writeFile(
23
17
  `${serverDirectory}/manifest.js`,
24
- mustache__default["default"].render(
18
+ mustache.render(
25
19
  await fs.promises.readFile(path.resolve(__dirname, '..', 'templates', 'manifest.mustache'), 'utf8'),
26
20
  {projectName}
27
21
  )
28
22
  ),
29
23
  fs.promises.writeFile(`${serverDirectory}/index.js`, 'export {default} from \'./server\';\n'),
30
24
  fs.promises.copyFile(
31
- path.resolve(__dirname, '..', 'templates', 'webpack.config.server.js'),
25
+ path.resolve(__dirname, '..', 'templates', 'webpack.config.server.mjs'),
32
26
  `${projectRoot}/webpack.config.server.babel.js`
33
27
  )
34
28
  ]);
@@ -53,7 +47,7 @@ $ npm start
53
47
  async function scaffoldTesting ({projectRoot, tests}) {
54
48
  if (tests.integration) {
55
49
  const [stepDefinitionsDirectory, cucumberResults] = await Promise.all([
56
- makeDir__default["default"](`${projectRoot}/test/integration/features/step_definitions`),
50
+ makeDir(`${projectRoot}/test/integration/features/step_definitions`),
57
51
  cucumberScaffolder.scaffold({projectRoot})
58
52
  ]);
59
53
 
@@ -68,11 +62,10 @@ async function scaffoldTesting ({projectRoot, tests}) {
68
62
  )
69
63
  ]);
70
64
 
71
- return {
72
- scripts: cucumberResults.scripts,
73
- devDependencies: ['@travi/any', 'http-status-codes', ...cucumberResults.devDependencies],
74
- eslintConfigs: cucumberResults.eslintConfigs
75
- };
65
+ return deepmerge.all([
66
+ {devDependencies: ['@travi/any', 'http-status-codes']},
67
+ cucumberResults
68
+ ]);
76
69
  }
77
70
 
78
71
  return {};
@@ -84,29 +77,28 @@ async function scaffold({projectRoot, projectName, tests}) {
84
77
  scaffoldServer({projectRoot, projectName})
85
78
  ]);
86
79
 
87
- return {
88
- dependencies: [
89
- '@hapi/glue',
90
- '@hapi/good',
91
- 'hapi-graceful-shutdown-plugin',
92
- 'dotenv-safe',
93
- 'good-bunyan',
94
- 'bunyan'
95
- ],
96
- devDependencies: [
97
- 'webpack',
98
- 'webpack-cli',
99
- ...testingResults.devDependencies
100
- ],
101
- scripts: {
102
- build: 'npm-run-all --print-label --parallel build:*',
103
- 'build:server': 'webpack --env production --config webpack.config.server.babel.js',
104
- start: 'node ./lib/server',
105
- 'pretest:integration': 'run-s build'
80
+ return deepmerge.all([
81
+ {
82
+ dependencies: [
83
+ '@hapi/glue',
84
+ '@hapi/good',
85
+ 'hapi-graceful-shutdown-plugin',
86
+ 'dotenv-safe',
87
+ 'good-bunyan',
88
+ 'bunyan'
89
+ ],
90
+ devDependencies: ['webpack', 'webpack-cli'],
91
+ scripts: {
92
+ build: 'npm-run-all --print-label --parallel build:*',
93
+ 'build:server': 'webpack --env production --config webpack.config.server.babel.js',
94
+ start: 'node ./lib/server',
95
+ 'pretest:integration': 'run-s build'
96
+ },
97
+ documentation: scaffoldDocumentation()
106
98
  },
107
- documentation: scaffoldDocumentation()
108
- };
99
+ testingResults
100
+ ]);
109
101
  }
110
102
 
111
103
  exports.scaffold = scaffold;
112
- //# sourceMappingURL=index.cjs.js.map
104
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/server.js","../src/documentation.js","../src/testing.js","../src/scaffolder.js"],"sourcesContent":["import {promises} from 'fs';\nimport {resolve} from 'path';\nimport mustache from 'mustache';\nimport mkdir from '../thirdparty-wrappers/make-dir';\n\nexport default async function ({projectRoot, projectName}) {\n const serverDirectory = await mkdir(`${projectRoot}/src/server`);\n\n await Promise.all([\n promises.copyFile(resolve(__dirname, '..', 'templates', 'server.mjs'), `${serverDirectory}/server.js`),\n promises.copyFile(resolve(__dirname, '..', 'templates', '.env.example'), `${projectRoot}/.env.example`),\n promises.writeFile(\n `${serverDirectory}/manifest.js`,\n mustache.render(\n await promises.readFile(resolve(__dirname, '..', 'templates', 'manifest.mustache'), 'utf8'),\n {projectName}\n )\n ),\n promises.writeFile(`${serverDirectory}/index.js`, 'export {default} from \\'./server\\';\\n'),\n promises.copyFile(\n resolve(__dirname, '..', 'templates', 'webpack.config.server.mjs'),\n `${projectRoot}/webpack.config.server.babel.js`\n )\n ]);\n}\n","export default function () {\n return {\n usage: `### Build the Bundle\n\n\\`\\`\\`sh\n$ npm run build\n\\`\\`\\`\n\n### Start the Server\n\n\\`\\`\\`sh\n$ npm start\n\\`\\`\\``\n };\n}\n","import {resolve} from 'path';\nimport {promises} from 'fs';\nimport deepmerge from 'deepmerge';\nimport {scaffold as scaffoldCucumber} from '@form8ion/cucumber-scaffolder';\n\nimport mkdir from '../thirdparty-wrappers/make-dir';\n\nexport default async function ({projectRoot, tests}) {\n if (tests.integration) {\n const [stepDefinitionsDirectory, cucumberResults] = await Promise.all([\n mkdir(`${projectRoot}/test/integration/features/step_definitions`),\n scaffoldCucumber({projectRoot})\n ]);\n\n await Promise.all([\n promises.copyFile(\n resolve(__dirname, '..', 'templates', 'canary.feature'),\n `${stepDefinitionsDirectory}/../canary.feature`\n ),\n promises.copyFile(\n resolve(__dirname, '..', 'templates', 'server-steps.js'),\n `${stepDefinitionsDirectory}/server-steps.js`\n )\n ]);\n\n return deepmerge.all([\n {devDependencies: ['@travi/any', 'http-status-codes']},\n cucumberResults\n ]);\n }\n\n return {};\n}\n","import deepmerge from 'deepmerge';\n\nimport scaffoldServer from './server';\nimport scaffoldDocumentation from './documentation';\nimport scaffoldTesting from './testing';\n\nexport async function scaffold({projectRoot, projectName, tests}) {\n const [testingResults] = await Promise.all([\n scaffoldTesting({projectRoot, tests}),\n scaffoldServer({projectRoot, projectName})\n ]);\n\n return deepmerge.all([\n {\n dependencies: [\n '@hapi/glue',\n '@hapi/good',\n 'hapi-graceful-shutdown-plugin',\n 'dotenv-safe',\n 'good-bunyan',\n 'bunyan'\n ],\n devDependencies: ['webpack', 'webpack-cli'],\n scripts: {\n build: 'npm-run-all --print-label --parallel build:*',\n 'build:server': 'webpack --env production --config webpack.config.server.babel.js',\n start: 'node ./lib/server',\n 'pretest:integration': 'run-s build'\n },\n documentation: scaffoldDocumentation()\n },\n testingResults\n ]);\n}\n"],"names":["mkdir","promises","resolve","scaffoldCucumber"],"mappings":";;;;;;;;;AAKe,6BAAc,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE;AAC3D,EAAE,MAAM,eAAe,GAAG,MAAMA,OAAK,CAAC,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;AACnE;AACA,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC;AACpB,IAAIC,WAAQ,CAAC,QAAQ,CAACC,YAAO,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;AAC1G,IAAID,WAAQ,CAAC,QAAQ,CAACC,YAAO,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;AAC3G,IAAID,WAAQ,CAAC,SAAS;AACtB,MAAM,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC;AACtC,MAAM,QAAQ,CAAC,MAAM;AACrB,QAAQ,MAAMA,WAAQ,CAAC,QAAQ,CAACC,YAAO,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,mBAAmB,CAAC,EAAE,MAAM,CAAC;AACnG,QAAQ,CAAC,WAAW,CAAC;AACrB,OAAO;AACP,KAAK;AACL,IAAID,WAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,EAAE,uCAAuC,CAAC;AAC9F,IAAIA,WAAQ,CAAC,QAAQ;AACrB,MAAMC,YAAO,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,2BAA2B,CAAC;AACxE,MAAM,CAAC,EAAE,WAAW,CAAC,+BAA+B,CAAC;AACrD,KAAK;AACL,GAAG,CAAC,CAAC;AACL;;ACxBe,8BAAQ,IAAI;AAC3B,EAAE,OAAO;AACT,IAAI,KAAK,EAAE,CAAC;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,CAAC;AACP,GAAG,CAAC;AACJ;;ACPe,8BAAc,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE;AACrD,EAAE,IAAI,KAAK,CAAC,WAAW,EAAE;AACzB,IAAI,MAAM,CAAC,wBAAwB,EAAE,eAAe,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AAC1E,MAAMF,OAAK,CAAC,CAAC,EAAE,WAAW,CAAC,2CAA2C,CAAC,CAAC;AACxE,MAAMG,2BAAgB,CAAC,CAAC,WAAW,CAAC,CAAC;AACrC,KAAK,CAAC,CAAC;AACP;AACA,IAAI,MAAM,OAAO,CAAC,GAAG,CAAC;AACtB,MAAMF,WAAQ,CAAC,QAAQ;AACvB,QAAQC,YAAO,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC;AAC/D,QAAQ,CAAC,EAAE,wBAAwB,CAAC,kBAAkB,CAAC;AACvD,OAAO;AACP,MAAMD,WAAQ,CAAC,QAAQ;AACvB,QAAQC,YAAO,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,iBAAiB,CAAC;AAChE,QAAQ,CAAC,EAAE,wBAAwB,CAAC,gBAAgB,CAAC;AACrD,OAAO;AACP,KAAK,CAAC,CAAC;AACP;AACA,IAAI,OAAO,SAAS,CAAC,GAAG,CAAC;AACzB,MAAM,CAAC,eAAe,EAAE,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;AAC5D,MAAM,eAAe;AACrB,KAAK,CAAC,CAAC;AACP,GAAG;AACH;AACA,EAAE,OAAO,EAAE,CAAC;AACZ;;AC1BO,eAAe,QAAQ,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE;AAClE,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AAC7C,IAAI,eAAe,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AACzC,IAAI,cAAc,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAC9C,GAAG,CAAC,CAAC;AACL;AACA,EAAE,OAAO,SAAS,CAAC,GAAG,CAAC;AACvB,IAAI;AACJ,MAAM,YAAY,EAAE;AACpB,QAAQ,YAAY;AACpB,QAAQ,YAAY;AACpB,QAAQ,+BAA+B;AACvC,QAAQ,aAAa;AACrB,QAAQ,aAAa;AACrB,QAAQ,QAAQ;AAChB,OAAO;AACP,MAAM,eAAe,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;AACjD,MAAM,OAAO,EAAE;AACf,QAAQ,KAAK,EAAE,8CAA8C;AAC7D,QAAQ,cAAc,EAAE,kEAAkE;AAC1F,QAAQ,KAAK,EAAE,mBAAmB;AAClC,QAAQ,qBAAqB,EAAE,aAAa;AAC5C,OAAO;AACP,MAAM,aAAa,EAAE,qBAAqB,EAAE;AAC5C,KAAK;AACL,IAAI,cAAc;AAClB,GAAG,CAAC,CAAC;AACL;;;;"}
@@ -1,3 +1,4 @@
1
+ import deepmerge from 'deepmerge';
1
2
  import { promises } from 'fs';
2
3
  import { resolve } from 'path';
3
4
  import mustache from 'mustache';
@@ -8,7 +9,7 @@ async function scaffoldServer ({projectRoot, projectName}) {
8
9
  const serverDirectory = await makeDir(`${projectRoot}/src/server`);
9
10
 
10
11
  await Promise.all([
11
- promises.copyFile(resolve(__dirname, '..', 'templates', 'server.js'), `${serverDirectory}/server.js`),
12
+ promises.copyFile(resolve(__dirname, '..', 'templates', 'server.mjs'), `${serverDirectory}/server.js`),
12
13
  promises.copyFile(resolve(__dirname, '..', 'templates', '.env.example'), `${projectRoot}/.env.example`),
13
14
  promises.writeFile(
14
15
  `${serverDirectory}/manifest.js`,
@@ -19,7 +20,7 @@ async function scaffoldServer ({projectRoot, projectName}) {
19
20
  ),
20
21
  promises.writeFile(`${serverDirectory}/index.js`, 'export {default} from \'./server\';\n'),
21
22
  promises.copyFile(
22
- resolve(__dirname, '..', 'templates', 'webpack.config.server.js'),
23
+ resolve(__dirname, '..', 'templates', 'webpack.config.server.mjs'),
23
24
  `${projectRoot}/webpack.config.server.babel.js`
24
25
  )
25
26
  ]);
@@ -59,11 +60,10 @@ async function scaffoldTesting ({projectRoot, tests}) {
59
60
  )
60
61
  ]);
61
62
 
62
- return {
63
- scripts: cucumberResults.scripts,
64
- devDependencies: ['@travi/any', 'http-status-codes', ...cucumberResults.devDependencies],
65
- eslintConfigs: cucumberResults.eslintConfigs
66
- };
63
+ return deepmerge.all([
64
+ {devDependencies: ['@travi/any', 'http-status-codes']},
65
+ cucumberResults
66
+ ]);
67
67
  }
68
68
 
69
69
  return {};
@@ -75,29 +75,28 @@ async function scaffold({projectRoot, projectName, tests}) {
75
75
  scaffoldServer({projectRoot, projectName})
76
76
  ]);
77
77
 
78
- return {
79
- dependencies: [
80
- '@hapi/glue',
81
- '@hapi/good',
82
- 'hapi-graceful-shutdown-plugin',
83
- 'dotenv-safe',
84
- 'good-bunyan',
85
- 'bunyan'
86
- ],
87
- devDependencies: [
88
- 'webpack',
89
- 'webpack-cli',
90
- ...testingResults.devDependencies
91
- ],
92
- scripts: {
93
- build: 'npm-run-all --print-label --parallel build:*',
94
- 'build:server': 'webpack --env production --config webpack.config.server.babel.js',
95
- start: 'node ./lib/server',
96
- 'pretest:integration': 'run-s build'
78
+ return deepmerge.all([
79
+ {
80
+ dependencies: [
81
+ '@hapi/glue',
82
+ '@hapi/good',
83
+ 'hapi-graceful-shutdown-plugin',
84
+ 'dotenv-safe',
85
+ 'good-bunyan',
86
+ 'bunyan'
87
+ ],
88
+ devDependencies: ['webpack', 'webpack-cli'],
89
+ scripts: {
90
+ build: 'npm-run-all --print-label --parallel build:*',
91
+ 'build:server': 'webpack --env production --config webpack.config.server.babel.js',
92
+ start: 'node ./lib/server',
93
+ 'pretest:integration': 'run-s build'
94
+ },
95
+ documentation: scaffoldDocumentation()
97
96
  },
98
- documentation: scaffoldDocumentation()
99
- };
97
+ testingResults
98
+ ]);
100
99
  }
101
100
 
102
101
  export { scaffold };
103
- //# sourceMappingURL=index.es.js.map
102
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../src/server.js","../src/documentation.js","../src/testing.js","../src/scaffolder.js"],"sourcesContent":["import {promises} from 'fs';\nimport {resolve} from 'path';\nimport mustache from 'mustache';\nimport mkdir from '../thirdparty-wrappers/make-dir';\n\nexport default async function ({projectRoot, projectName}) {\n const serverDirectory = await mkdir(`${projectRoot}/src/server`);\n\n await Promise.all([\n promises.copyFile(resolve(__dirname, '..', 'templates', 'server.mjs'), `${serverDirectory}/server.js`),\n promises.copyFile(resolve(__dirname, '..', 'templates', '.env.example'), `${projectRoot}/.env.example`),\n promises.writeFile(\n `${serverDirectory}/manifest.js`,\n mustache.render(\n await promises.readFile(resolve(__dirname, '..', 'templates', 'manifest.mustache'), 'utf8'),\n {projectName}\n )\n ),\n promises.writeFile(`${serverDirectory}/index.js`, 'export {default} from \\'./server\\';\\n'),\n promises.copyFile(\n resolve(__dirname, '..', 'templates', 'webpack.config.server.mjs'),\n `${projectRoot}/webpack.config.server.babel.js`\n )\n ]);\n}\n","export default function () {\n return {\n usage: `### Build the Bundle\n\n\\`\\`\\`sh\n$ npm run build\n\\`\\`\\`\n\n### Start the Server\n\n\\`\\`\\`sh\n$ npm start\n\\`\\`\\``\n };\n}\n","import {resolve} from 'path';\nimport {promises} from 'fs';\nimport deepmerge from 'deepmerge';\nimport {scaffold as scaffoldCucumber} from '@form8ion/cucumber-scaffolder';\n\nimport mkdir from '../thirdparty-wrappers/make-dir';\n\nexport default async function ({projectRoot, tests}) {\n if (tests.integration) {\n const [stepDefinitionsDirectory, cucumberResults] = await Promise.all([\n mkdir(`${projectRoot}/test/integration/features/step_definitions`),\n scaffoldCucumber({projectRoot})\n ]);\n\n await Promise.all([\n promises.copyFile(\n resolve(__dirname, '..', 'templates', 'canary.feature'),\n `${stepDefinitionsDirectory}/../canary.feature`\n ),\n promises.copyFile(\n resolve(__dirname, '..', 'templates', 'server-steps.js'),\n `${stepDefinitionsDirectory}/server-steps.js`\n )\n ]);\n\n return deepmerge.all([\n {devDependencies: ['@travi/any', 'http-status-codes']},\n cucumberResults\n ]);\n }\n\n return {};\n}\n","import deepmerge from 'deepmerge';\n\nimport scaffoldServer from './server';\nimport scaffoldDocumentation from './documentation';\nimport scaffoldTesting from './testing';\n\nexport async function scaffold({projectRoot, projectName, tests}) {\n const [testingResults] = await Promise.all([\n scaffoldTesting({projectRoot, tests}),\n scaffoldServer({projectRoot, projectName})\n ]);\n\n return deepmerge.all([\n {\n dependencies: [\n '@hapi/glue',\n '@hapi/good',\n 'hapi-graceful-shutdown-plugin',\n 'dotenv-safe',\n 'good-bunyan',\n 'bunyan'\n ],\n devDependencies: ['webpack', 'webpack-cli'],\n scripts: {\n build: 'npm-run-all --print-label --parallel build:*',\n 'build:server': 'webpack --env production --config webpack.config.server.babel.js',\n start: 'node ./lib/server',\n 'pretest:integration': 'run-s build'\n },\n documentation: scaffoldDocumentation()\n },\n testingResults\n ]);\n}\n"],"names":["mkdir","scaffoldCucumber"],"mappings":"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"}
package/package.json CHANGED
@@ -2,22 +2,16 @@
2
2
  "name": "@form8ion/hapi-scaffolder",
3
3
  "description": "opinionated scaffolder for hapi.js projects",
4
4
  "license": "MIT",
5
- "version": "4.0.4",
6
- "main": "lib/index.cjs.js",
7
- "module": "lib/index.es.js",
8
- "sideEffects": false,
9
- "files": [
10
- "lib/",
11
- "templates/"
12
- ],
13
- "publishConfig": {
14
- "access": "public"
15
- },
5
+ "version": "4.0.7",
6
+ "author": "Matt Travi <npm@travi.org> (https://matt.travi.org/)",
16
7
  "repository": "form8ion/hapi-scaffolder",
17
8
  "bugs": "https://github.com/form8ion/hapi-scaffolder/issues",
18
9
  "homepage": "https://npm.im/@form8ion/hapi-scaffolder",
19
- "author": "Matt Travi <npm@travi.org> (https://matt.travi.org/)",
10
+ "main": "./lib/index.js",
11
+ "module": "lib/index.mjs",
12
+ "sideEffects": false,
20
13
  "scripts": {
14
+ "pretest": "run-s build",
21
15
  "test": "npm-run-all --print-label --parallel lint:* --parallel test:*",
22
16
  "lint:js": "eslint . --cache",
23
17
  "lint:gherkin": "gherkin-lint",
@@ -30,48 +24,58 @@
30
24
  "build:js": "rollup --config",
31
25
  "watch": "run-s 'build:js -- --watch'",
32
26
  "prepack": "run-s build",
33
- "test:unit": "nyc run-s test:unit:base",
27
+ "test:unit": "cross-env NODE_ENV=test c8 run-s test:unit:base",
34
28
  "test:unit:base": "DEBUG=any mocha src/**/*-test.js",
35
29
  "test:integration": "run-s 'test:integration:base -- --profile noWip'",
36
30
  "test:integration:base": "DEBUG=any cucumber-js test/integration --profile base",
37
31
  "test:integration:debug": "DEBUG=test run-s test:integration",
38
32
  "test:integration:wip": "run-s 'test:integration:base -- --profile wip'",
39
33
  "test:integration:focus": "run-s 'test:integration:base -- --profile focus'",
40
- "coverage:report": "nyc report --reporter=text-lcov > coverage.lcov && codecov",
41
- "prepare": "husky install"
34
+ "prepare": "husky install",
35
+ "lint:publish": "publint --strict"
36
+ },
37
+ "files": [
38
+ "lib/",
39
+ "templates/"
40
+ ],
41
+ "publishConfig": {
42
+ "access": "public",
43
+ "provenance": true
44
+ },
45
+ "dependencies": {
46
+ "@form8ion/cucumber-scaffolder": "^2.1.0",
47
+ "deepmerge": "^4.2.2",
48
+ "make-dir": "^4.0.0",
49
+ "mustache": "^4.0.0"
42
50
  },
43
51
  "devDependencies": {
44
- "@babel/register": "7.18.9",
45
- "@cucumber/cucumber": "8.5.1",
46
- "@form8ion/babel-preset": "1.6.93",
47
- "@form8ion/commitlint-config": "1.0.36",
48
- "@form8ion/eslint-config": "5.0.7",
52
+ "@babel/register": "7.22.5",
53
+ "@cucumber/cucumber": "9.3.0",
54
+ "@form8ion/babel-preset": "1.6.107",
55
+ "@form8ion/commitlint-config": "1.0.53",
56
+ "@form8ion/eslint-config": "5.0.38",
49
57
  "@form8ion/eslint-config-cucumber": "1.4.1",
50
58
  "@form8ion/eslint-config-mocha": "2.0.3",
51
- "@form8ion/javascript": "7.3.0",
52
- "@form8ion/remark-lint-preset": "4.0.1",
53
- "@travi/any": "2.1.5",
54
- "ban-sensitive-files": "1.9.18",
59
+ "@form8ion/javascript": "11.5.5",
60
+ "@form8ion/remark-lint-preset": "5.0.9",
61
+ "@travi/any": "2.1.8",
62
+ "ban-sensitive-files": "1.9.19",
55
63
  "bdd-stdin": "0.2.0",
56
- "chai": "4.3.6",
57
- "codecov": "3.8.3",
64
+ "c8": "8.0.1",
65
+ "chai": "4.3.7",
66
+ "cross-env": "7.0.3",
58
67
  "cz-conventional-changelog": "3.3.0",
59
68
  "gherkin-lint": "4.2.2",
60
- "husky": "8.0.1",
61
- "mocha": "10.0.0",
62
- "mock-fs": "5.1.2",
69
+ "husky": "8.0.3",
70
+ "mocha": "10.2.0",
71
+ "mock-fs": "5.2.0",
63
72
  "npm-run-all": "4.1.5",
64
- "nyc": "15.1.0",
73
+ "publint": "0.2.0",
65
74
  "remark-cli": "11.0.0",
66
- "rimraf": "3.0.2",
67
- "rollup": "2.77.2",
75
+ "rimraf": "5.0.1",
76
+ "rollup": "3.27.0",
68
77
  "rollup-plugin-auto-external": "2.0.0",
69
- "sinon": "14.0.0"
70
- },
71
- "dependencies": {
72
- "@form8ion/cucumber-scaffolder": "2.1.0",
73
- "make-dir": "^3.0.0",
74
- "mustache": "^4.0.0"
78
+ "sinon": "15.2.0"
75
79
  },
76
80
  "peerDependencies": {
77
81
  "@form8ion/javascript": ">=2.0.0"
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../src/server.js","../src/documentation.js","../src/testing.js","../src/scaffolder.js"],"sourcesContent":["import {promises} from 'fs';\nimport {resolve} from 'path';\nimport mustache from 'mustache';\nimport mkdir from '../thirdparty-wrappers/make-dir';\n\nexport default async function ({projectRoot, projectName}) {\n const serverDirectory = await mkdir(`${projectRoot}/src/server`);\n\n await Promise.all([\n promises.copyFile(resolve(__dirname, '..', 'templates', 'server.js'), `${serverDirectory}/server.js`),\n promises.copyFile(resolve(__dirname, '..', 'templates', '.env.example'), `${projectRoot}/.env.example`),\n promises.writeFile(\n `${serverDirectory}/manifest.js`,\n mustache.render(\n await promises.readFile(resolve(__dirname, '..', 'templates', 'manifest.mustache'), 'utf8'),\n {projectName}\n )\n ),\n promises.writeFile(`${serverDirectory}/index.js`, 'export {default} from \\'./server\\';\\n'),\n promises.copyFile(\n resolve(__dirname, '..', 'templates', 'webpack.config.server.js'),\n `${projectRoot}/webpack.config.server.babel.js`\n )\n ]);\n}\n","export default function () {\n return {\n usage: `### Build the Bundle\n\n\\`\\`\\`sh\n$ npm run build\n\\`\\`\\`\n\n### Start the Server\n\n\\`\\`\\`sh\n$ npm start\n\\`\\`\\``\n };\n}\n","import {resolve} from 'path';\nimport {promises} from 'fs';\nimport {scaffold as scaffoldCucumber} from '@form8ion/cucumber-scaffolder';\nimport mkdir from '../thirdparty-wrappers/make-dir';\n\nexport default async function ({projectRoot, tests}) {\n if (tests.integration) {\n const [stepDefinitionsDirectory, cucumberResults] = await Promise.all([\n mkdir(`${projectRoot}/test/integration/features/step_definitions`),\n scaffoldCucumber({projectRoot})\n ]);\n\n await Promise.all([\n promises.copyFile(\n resolve(__dirname, '..', 'templates', 'canary.feature'),\n `${stepDefinitionsDirectory}/../canary.feature`\n ),\n promises.copyFile(\n resolve(__dirname, '..', 'templates', 'server-steps.js'),\n `${stepDefinitionsDirectory}/server-steps.js`\n )\n ]);\n\n return {\n scripts: cucumberResults.scripts,\n devDependencies: ['@travi/any', 'http-status-codes', ...cucumberResults.devDependencies],\n eslintConfigs: cucumberResults.eslintConfigs\n };\n }\n\n return {};\n}\n","import scaffoldServer from './server';\nimport scaffoldDocumentation from './documentation';\nimport scaffoldTesting from './testing';\n\nexport async function scaffold({projectRoot, projectName, tests}) {\n const [testingResults] = await Promise.all([\n scaffoldTesting({projectRoot, tests}),\n scaffoldServer({projectRoot, projectName})\n ]);\n\n return {\n dependencies: [\n '@hapi/glue',\n '@hapi/good',\n 'hapi-graceful-shutdown-plugin',\n 'dotenv-safe',\n 'good-bunyan',\n 'bunyan'\n ],\n devDependencies: [\n 'webpack',\n 'webpack-cli',\n ...testingResults.devDependencies\n ],\n scripts: {\n build: 'npm-run-all --print-label --parallel build:*',\n 'build:server': 'webpack --env production --config webpack.config.server.babel.js',\n start: 'node ./lib/server',\n 'pretest:integration': 'run-s build'\n },\n documentation: scaffoldDocumentation()\n };\n}\n"],"names":["mkdir","promises","resolve","mustache","scaffoldCucumber"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.es.js","sources":["../src/server.js","../src/documentation.js","../src/testing.js","../src/scaffolder.js"],"sourcesContent":["import {promises} from 'fs';\nimport {resolve} from 'path';\nimport mustache from 'mustache';\nimport mkdir from '../thirdparty-wrappers/make-dir';\n\nexport default async function ({projectRoot, projectName}) {\n const serverDirectory = await mkdir(`${projectRoot}/src/server`);\n\n await Promise.all([\n promises.copyFile(resolve(__dirname, '..', 'templates', 'server.js'), `${serverDirectory}/server.js`),\n promises.copyFile(resolve(__dirname, '..', 'templates', '.env.example'), `${projectRoot}/.env.example`),\n promises.writeFile(\n `${serverDirectory}/manifest.js`,\n mustache.render(\n await promises.readFile(resolve(__dirname, '..', 'templates', 'manifest.mustache'), 'utf8'),\n {projectName}\n )\n ),\n promises.writeFile(`${serverDirectory}/index.js`, 'export {default} from \\'./server\\';\\n'),\n promises.copyFile(\n resolve(__dirname, '..', 'templates', 'webpack.config.server.js'),\n `${projectRoot}/webpack.config.server.babel.js`\n )\n ]);\n}\n","export default function () {\n return {\n usage: `### Build the Bundle\n\n\\`\\`\\`sh\n$ npm run build\n\\`\\`\\`\n\n### Start the Server\n\n\\`\\`\\`sh\n$ npm start\n\\`\\`\\``\n };\n}\n","import {resolve} from 'path';\nimport {promises} from 'fs';\nimport {scaffold as scaffoldCucumber} from '@form8ion/cucumber-scaffolder';\nimport mkdir from '../thirdparty-wrappers/make-dir';\n\nexport default async function ({projectRoot, tests}) {\n if (tests.integration) {\n const [stepDefinitionsDirectory, cucumberResults] = await Promise.all([\n mkdir(`${projectRoot}/test/integration/features/step_definitions`),\n scaffoldCucumber({projectRoot})\n ]);\n\n await Promise.all([\n promises.copyFile(\n resolve(__dirname, '..', 'templates', 'canary.feature'),\n `${stepDefinitionsDirectory}/../canary.feature`\n ),\n promises.copyFile(\n resolve(__dirname, '..', 'templates', 'server-steps.js'),\n `${stepDefinitionsDirectory}/server-steps.js`\n )\n ]);\n\n return {\n scripts: cucumberResults.scripts,\n devDependencies: ['@travi/any', 'http-status-codes', ...cucumberResults.devDependencies],\n eslintConfigs: cucumberResults.eslintConfigs\n };\n }\n\n return {};\n}\n","import scaffoldServer from './server';\nimport scaffoldDocumentation from './documentation';\nimport scaffoldTesting from './testing';\n\nexport async function scaffold({projectRoot, projectName, tests}) {\n const [testingResults] = await Promise.all([\n scaffoldTesting({projectRoot, tests}),\n scaffoldServer({projectRoot, projectName})\n ]);\n\n return {\n dependencies: [\n '@hapi/glue',\n '@hapi/good',\n 'hapi-graceful-shutdown-plugin',\n 'dotenv-safe',\n 'good-bunyan',\n 'bunyan'\n ],\n devDependencies: [\n 'webpack',\n 'webpack-cli',\n ...testingResults.devDependencies\n ],\n scripts: {\n build: 'npm-run-all --print-label --parallel build:*',\n 'build:server': 'webpack --env production --config webpack.config.server.babel.js',\n start: 'node ./lib/server',\n 'pretest:integration': 'run-s build'\n },\n documentation: scaffoldDocumentation()\n };\n}\n"],"names":["mkdir","scaffoldCucumber"],"mappings":"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"}
File without changes