@form8ion/hapi-scaffolder 4.0.5 → 4.0.8
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} +9 -17
- package/lib/index.js.map +1 -0
- package/lib/{index.es.js → index.mjs} +4 -4
- package/lib/index.mjs.map +1 -0
- package/package.json +47 -43
- package/templates/{server.js → server.mjs} +2 -1
- package/lib/index.cjs.js.map +0 -1
- package/lib/index.es.js.map +0 -1
- /package/templates/{webpack.config.server.js → webpack.config.server.mjs} +0 -0
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var deepmerge = require('deepmerge');
|
|
6
4
|
var fs = require('fs');
|
|
7
5
|
var path = require('path');
|
|
@@ -9,28 +7,22 @@ var mustache = require('mustache');
|
|
|
9
7
|
var makeDir = require('make-dir');
|
|
10
8
|
var cucumberScaffolder = require('@form8ion/cucumber-scaffolder');
|
|
11
9
|
|
|
12
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
|
-
|
|
14
|
-
var deepmerge__default = /*#__PURE__*/_interopDefaultLegacy(deepmerge);
|
|
15
|
-
var mustache__default = /*#__PURE__*/_interopDefaultLegacy(mustache);
|
|
16
|
-
var makeDir__default = /*#__PURE__*/_interopDefaultLegacy(makeDir);
|
|
17
|
-
|
|
18
10
|
async function scaffoldServer ({projectRoot, projectName}) {
|
|
19
|
-
const serverDirectory = await
|
|
11
|
+
const serverDirectory = await makeDir(`${projectRoot}/src/server`);
|
|
20
12
|
|
|
21
13
|
await Promise.all([
|
|
22
|
-
fs.promises.copyFile(path.resolve(__dirname, '..', 'templates', 'server.
|
|
14
|
+
fs.promises.copyFile(path.resolve(__dirname, '..', 'templates', 'server.mjs'), `${serverDirectory}/server.js`),
|
|
23
15
|
fs.promises.copyFile(path.resolve(__dirname, '..', 'templates', '.env.example'), `${projectRoot}/.env.example`),
|
|
24
16
|
fs.promises.writeFile(
|
|
25
17
|
`${serverDirectory}/manifest.js`,
|
|
26
|
-
|
|
18
|
+
mustache.render(
|
|
27
19
|
await fs.promises.readFile(path.resolve(__dirname, '..', 'templates', 'manifest.mustache'), 'utf8'),
|
|
28
20
|
{projectName}
|
|
29
21
|
)
|
|
30
22
|
),
|
|
31
|
-
fs.promises.writeFile(`${serverDirectory}/index.js`, 'export {default} from \'./server\';\n'),
|
|
23
|
+
fs.promises.writeFile(`${serverDirectory}/index.js`, 'export {default} from \'./server.js\';\n'),
|
|
32
24
|
fs.promises.copyFile(
|
|
33
|
-
path.resolve(__dirname, '..', 'templates', 'webpack.config.server.
|
|
25
|
+
path.resolve(__dirname, '..', 'templates', 'webpack.config.server.mjs'),
|
|
34
26
|
`${projectRoot}/webpack.config.server.babel.js`
|
|
35
27
|
)
|
|
36
28
|
]);
|
|
@@ -55,7 +47,7 @@ $ npm start
|
|
|
55
47
|
async function scaffoldTesting ({projectRoot, tests}) {
|
|
56
48
|
if (tests.integration) {
|
|
57
49
|
const [stepDefinitionsDirectory, cucumberResults] = await Promise.all([
|
|
58
|
-
|
|
50
|
+
makeDir(`${projectRoot}/test/integration/features/step_definitions`),
|
|
59
51
|
cucumberScaffolder.scaffold({projectRoot})
|
|
60
52
|
]);
|
|
61
53
|
|
|
@@ -70,7 +62,7 @@ async function scaffoldTesting ({projectRoot, tests}) {
|
|
|
70
62
|
)
|
|
71
63
|
]);
|
|
72
64
|
|
|
73
|
-
return
|
|
65
|
+
return deepmerge.all([
|
|
74
66
|
{devDependencies: ['@travi/any', 'http-status-codes']},
|
|
75
67
|
cucumberResults
|
|
76
68
|
]);
|
|
@@ -85,7 +77,7 @@ async function scaffold({projectRoot, projectName, tests}) {
|
|
|
85
77
|
scaffoldServer({projectRoot, projectName})
|
|
86
78
|
]);
|
|
87
79
|
|
|
88
|
-
return
|
|
80
|
+
return deepmerge.all([
|
|
89
81
|
{
|
|
90
82
|
dependencies: [
|
|
91
83
|
'@hapi/glue',
|
|
@@ -109,4 +101,4 @@ async function scaffold({projectRoot, projectName, tests}) {
|
|
|
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';\n\nimport mkdir from '../thirdparty-wrappers/make-dir.js';\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.js\\';\\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';\n\nimport {scaffold as scaffoldCucumber} from '@form8ion/cucumber-scaffolder';\n\nimport mkdir from '../thirdparty-wrappers/make-dir.js';\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.js';\nimport scaffoldDocumentation from './documentation.js';\nimport scaffoldTesting from './testing.js';\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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"}
|
|
@@ -9,7 +9,7 @@ async function scaffoldServer ({projectRoot, projectName}) {
|
|
|
9
9
|
const serverDirectory = await makeDir(`${projectRoot}/src/server`);
|
|
10
10
|
|
|
11
11
|
await Promise.all([
|
|
12
|
-
promises.copyFile(resolve(__dirname, '..', 'templates', 'server.
|
|
12
|
+
promises.copyFile(resolve(__dirname, '..', 'templates', 'server.mjs'), `${serverDirectory}/server.js`),
|
|
13
13
|
promises.copyFile(resolve(__dirname, '..', 'templates', '.env.example'), `${projectRoot}/.env.example`),
|
|
14
14
|
promises.writeFile(
|
|
15
15
|
`${serverDirectory}/manifest.js`,
|
|
@@ -18,9 +18,9 @@ async function scaffoldServer ({projectRoot, projectName}) {
|
|
|
18
18
|
{projectName}
|
|
19
19
|
)
|
|
20
20
|
),
|
|
21
|
-
promises.writeFile(`${serverDirectory}/index.js`, 'export {default} from \'./server\';\n'),
|
|
21
|
+
promises.writeFile(`${serverDirectory}/index.js`, 'export {default} from \'./server.js\';\n'),
|
|
22
22
|
promises.copyFile(
|
|
23
|
-
resolve(__dirname, '..', 'templates', 'webpack.config.server.
|
|
23
|
+
resolve(__dirname, '..', 'templates', 'webpack.config.server.mjs'),
|
|
24
24
|
`${projectRoot}/webpack.config.server.babel.js`
|
|
25
25
|
)
|
|
26
26
|
]);
|
|
@@ -99,4 +99,4 @@ async function scaffold({projectRoot, projectName, tests}) {
|
|
|
99
99
|
}
|
|
100
100
|
|
|
101
101
|
export { scaffold };
|
|
102
|
-
//# 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';\n\nimport mkdir from '../thirdparty-wrappers/make-dir.js';\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.js\\';\\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';\n\nimport {scaffold as scaffoldCucumber} from '@form8ion/cucumber-scaffolder';\n\nimport mkdir from '../thirdparty-wrappers/make-dir.js';\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.js';\nimport scaffoldDocumentation from './documentation.js';\nimport scaffoldTesting from './testing.js';\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.8",
|
|
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,50 +24,60 @@
|
|
|
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"
|
|
42
36
|
},
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"@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",
|
|
55
|
-
"bdd-stdin": "0.2.0",
|
|
56
|
-
"chai": "4.3.6",
|
|
57
|
-
"codecov": "3.8.3",
|
|
58
|
-
"cz-conventional-changelog": "3.3.0",
|
|
59
|
-
"gherkin-lint": "4.2.2",
|
|
60
|
-
"husky": "8.0.1",
|
|
61
|
-
"mocha": "10.0.0",
|
|
62
|
-
"mock-fs": "5.1.2",
|
|
63
|
-
"npm-run-all": "4.1.5",
|
|
64
|
-
"nyc": "15.1.0",
|
|
65
|
-
"remark-cli": "11.0.0",
|
|
66
|
-
"rimraf": "3.0.2",
|
|
67
|
-
"rollup": "2.77.2",
|
|
68
|
-
"rollup-plugin-auto-external": "2.0.0",
|
|
69
|
-
"sinon": "14.0.0"
|
|
37
|
+
"files": [
|
|
38
|
+
"lib/",
|
|
39
|
+
"templates/"
|
|
40
|
+
],
|
|
41
|
+
"publishConfig": {
|
|
42
|
+
"access": "public",
|
|
43
|
+
"provenance": true
|
|
70
44
|
},
|
|
71
45
|
"dependencies": {
|
|
72
46
|
"@form8ion/cucumber-scaffolder": "^2.1.0",
|
|
73
47
|
"deepmerge": "^4.2.2",
|
|
74
|
-
"make-dir": "^
|
|
48
|
+
"make-dir": "^4.0.0",
|
|
75
49
|
"mustache": "^4.0.0"
|
|
76
50
|
},
|
|
51
|
+
"devDependencies": {
|
|
52
|
+
"@babel/register": "7.23.7",
|
|
53
|
+
"@cucumber/cucumber": "10.6.0",
|
|
54
|
+
"@form8ion/babel-preset": "1.6.127",
|
|
55
|
+
"@form8ion/commitlint-config": "1.0.76",
|
|
56
|
+
"@form8ion/core": "4.2.1",
|
|
57
|
+
"@form8ion/eslint-config": "7.0.9",
|
|
58
|
+
"@form8ion/eslint-config-cucumber": "1.4.1",
|
|
59
|
+
"@form8ion/eslint-config-mocha": "3.0.5",
|
|
60
|
+
"@form8ion/javascript": "12.6.0",
|
|
61
|
+
"@form8ion/remark-lint-preset": "6.0.3",
|
|
62
|
+
"@travi/any": "3.1.0",
|
|
63
|
+
"ban-sensitive-files": "1.10.2",
|
|
64
|
+
"bdd-stdin": "0.2.0",
|
|
65
|
+
"c8": "9.1.0",
|
|
66
|
+
"chai": "4.4.1",
|
|
67
|
+
"cross-env": "7.0.3",
|
|
68
|
+
"cz-conventional-changelog": "3.3.0",
|
|
69
|
+
"gherkin-lint": "4.2.4",
|
|
70
|
+
"husky": "9.0.11",
|
|
71
|
+
"mocha": "10.4.0",
|
|
72
|
+
"mock-fs": "5.2.0",
|
|
73
|
+
"npm-run-all2": "6.1.2",
|
|
74
|
+
"publint": "0.2.7",
|
|
75
|
+
"remark-cli": "12.0.1",
|
|
76
|
+
"rimraf": "5.0.5",
|
|
77
|
+
"rollup": "4.17.2",
|
|
78
|
+
"rollup-plugin-auto-external": "2.0.0",
|
|
79
|
+
"sinon": "17.0.1"
|
|
80
|
+
},
|
|
77
81
|
"peerDependencies": {
|
|
78
82
|
"@form8ion/javascript": ">=2.0.0"
|
|
79
83
|
}
|
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 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","mustache","scaffoldCucumber","deepmerge"],"mappings":"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"}
|
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 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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"}
|
|
File without changes
|