@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.
- package/lib/{index.cjs.js → index.js} +31 -39
- package/lib/index.js.map +1 -0
- package/lib/{index.es.js → index.mjs} +28 -29
- package/lib/index.mjs.map +1 -0
- package/package.json +42 -38
- package/lib/index.cjs.js.map +0 -1
- package/lib/index.es.js.map +0 -1
- /package/templates/{server.js → server.mjs} +0 -0
- /package/templates/{webpack.config.server.js → webpack.config.server.mjs} +0 -0
|
@@ -1,34 +1,28 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
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
|
|
11
|
+
const serverDirectory = await makeDir(`${projectRoot}/src/server`);
|
|
18
12
|
|
|
19
13
|
await Promise.all([
|
|
20
|
-
fs.promises.copyFile(path.resolve(__dirname, '..', 'templates', 'server.
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
73
|
-
|
|
74
|
-
|
|
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
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
'webpack',
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
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
|
-
|
|
108
|
-
|
|
99
|
+
testingResults
|
|
100
|
+
]);
|
|
109
101
|
}
|
|
110
102
|
|
|
111
103
|
exports.scaffold = scaffold;
|
|
112
|
-
//# sourceMappingURL=index.
|
|
104
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
|
@@ -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":"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"}
|
|
@@ -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.
|
|
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.
|
|
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
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
'webpack',
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
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
|
-
|
|
99
|
-
|
|
97
|
+
testingResults
|
|
98
|
+
]);
|
|
100
99
|
}
|
|
101
100
|
|
|
102
101
|
export { scaffold };
|
|
103
|
-
//# sourceMappingURL=index.
|
|
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.
|
|
6
|
-
"
|
|
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
|
-
"
|
|
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": "
|
|
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
|
-
"
|
|
41
|
-
"
|
|
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.
|
|
45
|
-
"@cucumber/cucumber": "
|
|
46
|
-
"@form8ion/babel-preset": "1.6.
|
|
47
|
-
"@form8ion/commitlint-config": "1.0.
|
|
48
|
-
"@form8ion/eslint-config": "5.0.
|
|
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": "
|
|
52
|
-
"@form8ion/remark-lint-preset": "
|
|
53
|
-
"@travi/any": "2.1.
|
|
54
|
-
"ban-sensitive-files": "1.9.
|
|
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
|
-
"
|
|
57
|
-
"
|
|
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.
|
|
61
|
-
"mocha": "10.
|
|
62
|
-
"mock-fs": "5.
|
|
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
|
-
"
|
|
73
|
+
"publint": "0.2.0",
|
|
65
74
|
"remark-cli": "11.0.0",
|
|
66
|
-
"rimraf": "
|
|
67
|
-
"rollup": "
|
|
75
|
+
"rimraf": "5.0.1",
|
|
76
|
+
"rollup": "3.27.0",
|
|
68
77
|
"rollup-plugin-auto-external": "2.0.0",
|
|
69
|
-
"sinon": "
|
|
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"
|
package/lib/index.cjs.js.map
DELETED
|
@@ -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":";;;;;;;;;;;;;;;AAKe,6BAAc,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE;AAC3D,EAAE,MAAM,eAAe,GAAG,MAAMA,2BAAK,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,WAAW,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;AACzG,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,MAAME,4BAAQ,CAAC,MAAM;AACrB,QAAQ,MAAMF,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,0BAA0B,CAAC;AACvE,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;;ACTe,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,2BAAK,CAAC,CAAC,EAAE,WAAW,CAAC,2CAA2C,CAAC,CAAC;AACxE,MAAMI,2BAAgB,CAAC,CAAC,WAAW,CAAC,CAAC;AACrC,KAAK,CAAC,CAAC;AACP;AACA,IAAI,MAAM,OAAO,CAAC,GAAG,CAAC;AACtB,MAAMH,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;AACX,MAAM,OAAO,EAAE,eAAe,CAAC,OAAO;AACtC,MAAM,eAAe,EAAE,CAAC,YAAY,EAAE,mBAAmB,EAAE,GAAG,eAAe,CAAC,eAAe,CAAC;AAC9F,MAAM,aAAa,EAAE,eAAe,CAAC,aAAa;AAClD,KAAK,CAAC;AACN,GAAG;AACH;AACA,EAAE,OAAO,EAAE,CAAC;AACZ;;AC3BO,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;AACT,IAAI,YAAY,EAAE;AAClB,MAAM,YAAY;AAClB,MAAM,YAAY;AAClB,MAAM,+BAA+B;AACrC,MAAM,aAAa;AACnB,MAAM,aAAa;AACnB,MAAM,QAAQ;AACd,KAAK;AACL,IAAI,eAAe,EAAE;AACrB,MAAM,SAAS;AACf,MAAM,aAAa;AACnB,MAAM,GAAG,cAAc,CAAC,eAAe;AACvC,KAAK;AACL,IAAI,OAAO,EAAE;AACb,MAAM,KAAK,EAAE,8CAA8C;AAC3D,MAAM,cAAc,EAAE,kEAAkE;AACxF,MAAM,KAAK,EAAE,mBAAmB;AAChC,MAAM,qBAAqB,EAAE,aAAa;AAC1C,KAAK;AACL,IAAI,aAAa,EAAE,qBAAqB,EAAE;AAC1C,GAAG,CAAC;AACJ;;;;"}
|
package/lib/index.es.js.map
DELETED
|
@@ -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
|
|
File without changes
|