skuba 3.15.1 → 3.15.2
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 +61 -2
- package/lib/api/jest/index.d.ts +1 -1
- package/lib/api/jest/index.js.map +1 -1
- package/lib/cli/adapter/prettier.d.ts +1 -4
- package/lib/cli/adapter/prettier.js +13 -16
- package/lib/cli/adapter/prettier.js.map +1 -1
- package/lib/cli/configure/analysis/git.d.ts +1 -1
- package/lib/cli/configure/analysis/git.js +11 -17
- package/lib/cli/configure/analysis/git.js.map +1 -1
- package/lib/cli/configure/index.js +2 -2
- package/lib/cli/configure/index.js.map +1 -1
- package/lib/cli/configure/processing/record.d.ts +2 -2
- package/lib/cli/configure/processing/record.js +2 -2
- package/lib/cli/configure/processing/record.js.map +1 -1
- package/lib/cli/init/git.d.ts +2 -3
- package/lib/cli/init/git.js +41 -10
- package/lib/cli/init/git.js.map +1 -1
- package/lib/cli/init/index.js +3 -3
- package/lib/cli/init/index.js.map +1 -1
- package/lib/cli/lint/external.js +25 -5
- package/lib/cli/lint/external.js.map +1 -1
- package/lib/cli/lint/index.d.ts +1 -1
- package/lib/cli/lint/index.js +2 -1
- package/lib/cli/lint/index.js.map +1 -1
- package/lib/cli/lint/types.d.ts +9 -0
- package/lib/utils/exec.d.ts +2 -1
- package/lib/utils/exec.js.map +1 -1
- package/lib/wrapper/functionHandler.js +5 -0
- package/lib/wrapper/functionHandler.js.map +1 -1
- package/lib/wrapper/http.js +11 -7
- package/lib/wrapper/http.js.map +1 -1
- package/package.json +4 -4
- package/template/express-rest-api/.buildkite/pipeline.yml +3 -3
- package/template/express-rest-api/README.md +0 -12
- package/template/express-rest-api/package.json +1 -1
- package/template/greeter/README.md +0 -12
- package/template/koa-rest-api/.buildkite/pipeline.yml +3 -3
- package/template/koa-rest-api/README.md +0 -12
- package/template/koa-rest-api/package.json +1 -1
- package/template/lambda-sqs-worker/README.md +0 -12
- package/template/lambda-sqs-worker/package.json +1 -1
- package/template/lambda-sqs-worker/serverless.yml +5 -2
- package/template/oss-npm-package/README.md +0 -14
- package/template/private-npm-package/README.md +0 -14
package/README.md
CHANGED
|
@@ -1,8 +1,67 @@
|
|
|
1
|
-
# 
|
|
1
|
+
# [](https://seek-oss.github.io/skuba)
|
|
2
|
+
|
|
3
|
+
---
|
|
2
4
|
|
|
3
5
|
[](https://github.com/seek-oss/skuba/actions?query=workflow%3ARelease)
|
|
4
6
|
[](https://github.com/seek-oss/skuba/actions?query=workflow%3AValidate)
|
|
5
7
|
[](https://nodejs.org/en/)
|
|
6
8
|
[](https://www.npmjs.com/package/skuba)
|
|
7
9
|
|
|
8
|
-
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
**skuba** is a toolkit for backend application and package development on SEEK's gravel and paved roads:
|
|
13
|
+
|
|
14
|
+
- Write in [TypeScript]
|
|
15
|
+
- Enforce coding standards with [ESLint] and [Prettier]
|
|
16
|
+
- Test with [Jest]
|
|
17
|
+
- Deploy with [Gantry], [Serverless] or the [AWS CDK]
|
|
18
|
+
|
|
19
|
+
[aws cdk]: https://docs.aws.amazon.com/cdk/latest/guide/work-with-cdk-typescript.html
|
|
20
|
+
[gantry]: https://gantry.ssod.skinfra.xyz
|
|
21
|
+
[serverless]: https://serverless.com/
|
|
22
|
+
|
|
23
|
+
It provides you with:
|
|
24
|
+
|
|
25
|
+
- [CLI] commands for developing your project
|
|
26
|
+
- [Templates] to base your backend application or package on
|
|
27
|
+
- [Development] and optional [runtime] APIs for cross-cutting concerns
|
|
28
|
+
|
|
29
|
+
Learn more [about](docs/about.md) **skuba** and [contribute](CONTRIBUTING.md) to it.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
**skuba** is distributed as an npm package.
|
|
34
|
+
|
|
35
|
+
In projects that list it as a `devDependency`,
|
|
36
|
+
usage may look something like this:
|
|
37
|
+
|
|
38
|
+
```shell
|
|
39
|
+
# Install project dependencies.
|
|
40
|
+
yarn
|
|
41
|
+
|
|
42
|
+
# Run the skuba CLI.
|
|
43
|
+
yarn skuba help
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Global installations are also supported to speed up local development:
|
|
47
|
+
|
|
48
|
+
```shell
|
|
49
|
+
# Install skuba globally.
|
|
50
|
+
yarn global add skuba
|
|
51
|
+
|
|
52
|
+
# Look, no `npx`!
|
|
53
|
+
skuba help
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
If you're new here, jump ahead to the [CLI] section to [create a new project] or [update an existing one].
|
|
57
|
+
|
|
58
|
+
[cli]: ./docs/cli
|
|
59
|
+
[create a new project]: ./docs/cli/init.md
|
|
60
|
+
[development]: ./docs/development-api
|
|
61
|
+
[eslint]: https://eslint.org/
|
|
62
|
+
[jest]: https://jestjs.io
|
|
63
|
+
[prettier]: https://prettier.io/
|
|
64
|
+
[runtime]: ./docs/runtime-api
|
|
65
|
+
[templates]: ./docs/templates
|
|
66
|
+
[typescript]: https://www.typescriptlang.org/
|
|
67
|
+
[update an existing one]: ./docs/cli/configure.md
|
package/lib/api/jest/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Config } from '@jest/types';
|
|
2
|
-
declare type Props = Pick<Config.InitialOptions, 'collectCoverage' | 'collectCoverageFrom' | 'collectCoverageOnlyFrom' | 'coveragePathIgnorePatterns' | 'coverageThreshold' | 'globals' | 'globalSetup' | 'globalTeardown' | 'setupFiles' | 'setupFilesAfterEnv' | 'snapshotSerializers' | 'testPathIgnorePatterns' | 'testTimeout' | 'watchPathIgnorePatterns'>;
|
|
2
|
+
declare type Props = Pick<Config.InitialOptions, 'collectCoverage' | 'collectCoverageFrom' | 'collectCoverageOnlyFrom' | 'coveragePathIgnorePatterns' | 'coverageThreshold' | 'globals' | 'globalSetup' | 'globalTeardown' | 'setupFiles' | 'setupFilesAfterEnv' | 'snapshotSerializers' | 'testEnvironment' | 'testPathIgnorePatterns' | 'testTimeout' | 'watchPathIgnorePatterns'>;
|
|
3
3
|
/**
|
|
4
4
|
* Merge additional Jest options into the **skuba** preset.
|
|
5
5
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/jest/index.ts"],"names":[],"mappings":";;;;;;AAEA,uEAA8C;AAC9C,kEAAiE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/jest/index.ts"],"names":[],"mappings":";;;;;;AAEA,uEAA8C;AAC9C,kEAAiE;AAqBjE;;;;GAIG;AACI,MAAM,WAAW,GAAG,CAAC,KAAY,EAAyB,EAAE,CACjE,IAAA,iBAAQ,EAAC,qBAAU,EAAE,KAAK,CAAC,CAAC;AADjB,QAAA,WAAW,eACM"}
|
|
@@ -15,11 +15,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.runPrettier = void 0;
|
|
16
16
|
const path_1 = __importDefault(require("path"));
|
|
17
17
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
18
|
-
const p_limit_1 = __importDefault(require("p-limit"));
|
|
19
18
|
const prettier_1 = require("prettier");
|
|
20
19
|
const dir_1 = require("../../utils/dir");
|
|
21
20
|
const manifest_1 = require("../../utils/manifest");
|
|
22
|
-
const fsLimit = (0, p_limit_1.default)(25);
|
|
23
21
|
const formatOrLintFile = ({ data, filepath, options, parser }, logger, mode, result) => {
|
|
24
22
|
logger.debug(filepath);
|
|
25
23
|
logger.debug(' parser:', parser !== null && parser !== void 0 ? parser : '-');
|
|
@@ -52,7 +50,8 @@ const formatOrLintFile = ({ data, filepath, options, parser }, logger, mode, res
|
|
|
52
50
|
if (formatted === data) {
|
|
53
51
|
return;
|
|
54
52
|
}
|
|
55
|
-
result.touched.push(
|
|
53
|
+
result.touched.push(filepath);
|
|
54
|
+
return formatted;
|
|
56
55
|
};
|
|
57
56
|
/**
|
|
58
57
|
* Formats/lints files with Prettier.
|
|
@@ -83,32 +82,30 @@ const runPrettier = (mode, logger) => __awaiter(void 0, void 0, void 0, function
|
|
|
83
82
|
touched: [],
|
|
84
83
|
unparsed: [],
|
|
85
84
|
};
|
|
86
|
-
logger.debug('
|
|
87
|
-
const
|
|
85
|
+
logger.debug(mode === 'format' ? 'Formatting' : 'Linting', 'files...');
|
|
86
|
+
for (const filepath of filepaths) {
|
|
88
87
|
const [config, data, fileInfo] = yield Promise.all([
|
|
89
|
-
|
|
90
|
-
|
|
88
|
+
(0, prettier_1.resolveConfig)(filepath),
|
|
89
|
+
fs_extra_1.default.promises.readFile(filepath, 'utf-8'),
|
|
91
90
|
// Infer parser upfront so we can know to ignore unsupported file types.
|
|
92
|
-
|
|
91
|
+
(0, prettier_1.getFileInfo)(filepath, { resolveConfig: false }),
|
|
93
92
|
]);
|
|
94
|
-
|
|
93
|
+
const file = {
|
|
95
94
|
data,
|
|
96
95
|
filepath,
|
|
97
96
|
options: Object.assign(Object.assign({}, config), { filepath }),
|
|
98
97
|
parser: fileInfo.inferredParser,
|
|
99
98
|
};
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
99
|
+
const formatted = formatOrLintFile(file, logger, mode, result);
|
|
100
|
+
if (typeof formatted === 'string') {
|
|
101
|
+
yield fs_extra_1.default.promises.writeFile(filepath, formatted);
|
|
102
|
+
}
|
|
104
103
|
}
|
|
105
|
-
logger.debug(`Writing ${logger.pluralise(result.touched.length, 'file')}...`);
|
|
106
|
-
yield Promise.all(result.touched.map(({ data, filepath }) => fsLimit(() => fs_extra_1.default.promises.writeFile(filepath, data))));
|
|
107
104
|
const end = process.hrtime.bigint();
|
|
108
105
|
logger.plain(`Processed ${logger.pluralise(result.count - result.unparsed.length, 'file')} in ${logger.timing(start, end)}.`);
|
|
109
106
|
if (result.touched.length) {
|
|
110
107
|
logger.plain(`Formatted ${logger.pluralise(result.touched.length, 'file')}:`);
|
|
111
|
-
for (const
|
|
108
|
+
for (const filepath of result.touched) {
|
|
112
109
|
logger.warn(filepath);
|
|
113
110
|
}
|
|
114
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prettier.js","sourceRoot":"","sources":["../../../src/cli/adapter/prettier.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,wDAA0B;AAC1B,
|
|
1
|
+
{"version":3,"file":"prettier.js","sourceRoot":"","sources":["../../../src/cli/adapter/prettier.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const auditWorkingTree: () => Promise<void>;
|
|
1
|
+
export declare const auditWorkingTree: (dir: string) => Promise<void>;
|
|
@@ -8,27 +8,21 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
15
|
exports.auditWorkingTree = void 0;
|
|
13
|
-
const
|
|
16
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
17
|
+
const isomorphic_git_1 = __importDefault(require("isomorphic-git"));
|
|
18
|
+
const dir_1 = require("../../../utils/dir");
|
|
14
19
|
const logging_1 = require("../../../utils/logging");
|
|
15
|
-
const auditWorkingTree = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
exec('git', 'status', '--short'),
|
|
20
|
-
]);
|
|
21
|
-
const workingTree = {
|
|
22
|
-
dirty: Boolean(diff.stdout),
|
|
23
|
-
untracked: Boolean(status.stdout),
|
|
24
|
-
};
|
|
25
|
-
if (workingTree.dirty || workingTree.untracked) {
|
|
26
|
-
const fileTypes = Object.entries(workingTree)
|
|
27
|
-
.filter(([, value]) => value)
|
|
28
|
-
.map(([key]) => key)
|
|
29
|
-
.join('/');
|
|
20
|
+
const auditWorkingTree = (dir) => __awaiter(void 0, void 0, void 0, function* () {
|
|
21
|
+
const filepaths = yield (0, dir_1.crawlDirectory)(dir);
|
|
22
|
+
const statuses = yield Promise.all(filepaths.map((filepath) => isomorphic_git_1.default.status({ dir, fs: fs_extra_1.default, filepath })));
|
|
23
|
+
if (statuses.some((status) => status !== 'absent' && status !== 'ignored' && status !== 'unmodified')) {
|
|
30
24
|
logging_1.log.newline();
|
|
31
|
-
logging_1.log.warn('You have
|
|
25
|
+
logging_1.log.warn('You have dirty/untracked files that may be overwritten.');
|
|
32
26
|
}
|
|
33
27
|
});
|
|
34
28
|
exports.auditWorkingTree = auditWorkingTree;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../../src/cli/configure/analysis/git.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../../src/cli/configure/analysis/git.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wDAA0B;AAC1B,oEAAiC;AAEjC,4CAAoD;AACpD,oDAA6C;AAEtC,MAAM,gBAAgB,GAAG,CAAO,GAAW,EAAE,EAAE;IACpD,MAAM,SAAS,GAAG,MAAM,IAAA,oBAAc,EAAC,GAAG,CAAC,CAAC;IAE5C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,wBAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,EAAF,kBAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAC/D,CAAC;IAEF,IACE,QAAQ,CAAC,IAAI,CACX,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,YAAY,CACzE,EACD;QACA,aAAG,CAAC,OAAO,EAAE,CAAC;QACd,aAAG,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;KACrE;AACH,CAAC,CAAA,CAAC;AAhBW,QAAA,gBAAgB,oBAgB3B"}
|
|
@@ -41,7 +41,7 @@ const configure = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
41
41
|
yield (0, logo_1.showLogoAndVersionInfo)();
|
|
42
42
|
const [manifest] = yield Promise.all([
|
|
43
43
|
(0, package_1.getDestinationManifest)(),
|
|
44
|
-
(0, exec_1.ensureCommands)('
|
|
44
|
+
(0, exec_1.ensureCommands)('yarn'),
|
|
45
45
|
]);
|
|
46
46
|
const destinationRoot = path_1.default.dirname(manifest.path);
|
|
47
47
|
logging_1.log.plain('Detected project root:', logging_1.log.bold(destinationRoot));
|
|
@@ -50,7 +50,7 @@ const configure = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
50
50
|
path_1.default.join(destinationRoot, '.gitignore'),
|
|
51
51
|
path_1.default.join(template_1.BASE_TEMPLATE_DIR, '_.gitignore'),
|
|
52
52
|
]),
|
|
53
|
-
(0, git_1.auditWorkingTree)(),
|
|
53
|
+
(0, git_1.auditWorkingTree)(destinationRoot),
|
|
54
54
|
]);
|
|
55
55
|
const templateConfig = yield (0, ensureTemplateCompletion_1.ensureTemplateCompletion)({
|
|
56
56
|
destinationRoot,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/configure/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,uCAAkC;AAElC,yCAAwD;AACxD,2CAA8D;AAC9D,iDAA0C;AAC1C,2CAA0D;AAC1D,mDAAyD;AACzD,uDAAiD;AAEjD,iEAA8D;AAC9D,+DAA4D;AAC5D,wCAAkD;AAClD,gDAA4D;AAC5D,yEAAsE;AACtE,mDAAgD;AAChD,qDAAkD;AAElD,MAAM,WAAW,GAAG,CAAO,IAAY,EAAE,EAAE;IACzC,MAAM,MAAM,GAAG,IAAI,iBAAM,CAAC;QACxB,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,CAAU;QAC/B,OAAO,EAAE,gBAAgB;QACzB,IAAI;KACL,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;IAElC,OAAO,MAAM,KAAK,KAAK,CAAC;AAC1B,CAAC,CAAA,CAAC;AAEK,MAAM,SAAS,GAAG,GAAS,EAAE;IAClC,MAAM,IAAA,6BAAsB,GAAE,CAAC;IAE/B,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACnC,IAAA,gCAAsB,GAAE;QACxB,IAAA,qBAAc,EAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/configure/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,8 @@ export declare const getFirstDefined: <T>(record: Record<string, T | undefined>,
|
|
|
4
4
|
*
|
|
5
5
|
* Array properties are sorted and deduped.
|
|
6
6
|
*/
|
|
7
|
-
export declare const merge: <A, B>(obj: A, src: B) => A & B;
|
|
7
|
+
export declare const merge: <A, B>(obj: A, src: B) => {} & A & B;
|
|
8
8
|
/**
|
|
9
9
|
* Like `merge`, but arrays are not deduped or sorted to preserve order.
|
|
10
10
|
*/
|
|
11
|
-
export declare const mergeRaw: <A, B>(obj: A, src: B) => A & B;
|
|
11
|
+
export declare const mergeRaw: <A, B>(obj: A, src: B) => {} & A & B;
|
|
@@ -21,7 +21,7 @@ exports.getFirstDefined = getFirstDefined;
|
|
|
21
21
|
*
|
|
22
22
|
* Array properties are sorted and deduped.
|
|
23
23
|
*/
|
|
24
|
-
const merge = (obj, src) => (0, lodash_mergewith_1.default)(obj, src, (objValue, srcValue) => {
|
|
24
|
+
const merge = (obj, src) => (0, lodash_mergewith_1.default)({}, obj, src, (objValue, srcValue) => {
|
|
25
25
|
if (isArray(objValue) && isArray(srcValue)) {
|
|
26
26
|
return [...new Set(objValue.concat(srcValue))].sort();
|
|
27
27
|
}
|
|
@@ -31,7 +31,7 @@ exports.merge = merge;
|
|
|
31
31
|
/**
|
|
32
32
|
* Like `merge`, but arrays are not deduped or sorted to preserve order.
|
|
33
33
|
*/
|
|
34
|
-
const mergeRaw = (obj, src) => (0, lodash_mergewith_1.default)(obj, src, (objValue, srcValue) => isArray(objValue) && isArray(srcValue)
|
|
34
|
+
const mergeRaw = (obj, src) => (0, lodash_mergewith_1.default)({}, obj, src, (objValue, srcValue) => isArray(objValue) && isArray(srcValue)
|
|
35
35
|
? objValue.concat(srcValue)
|
|
36
36
|
: undefined);
|
|
37
37
|
exports.mergeRaw = mergeRaw;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../../../src/cli/configure/processing/record.ts"],"names":[],"mappings":";;;;;;AAAA,wEAAyC;AAEzC,MAAM,OAAO,GAAG,CAAC,KAAc,EAAsB,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEtE,MAAM,eAAe,GAAG,CAC7B,MAAqC,EACrC,IAAc,EACC,EAAE;IACjB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACtB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,OAAO,KAAK,CAAC;SACd;KACF;IAED,OAAO;AACT,CAAC,CAAC;AAZW,QAAA,eAAe,mBAY1B;AAEF;;;;GAIG;AACI,MAAM,KAAK,GAAG,CAAO,GAAM,EAAE,GAAM,EAAE,EAAE,CAC5C,IAAA,0BAAS,EAAC,GAAG,EAAE,GAAG,EAAE,CAAC,QAAiB,EAAE,QAAiB,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../../../src/cli/configure/processing/record.ts"],"names":[],"mappings":";;;;;;AAAA,wEAAyC;AAEzC,MAAM,OAAO,GAAG,CAAC,KAAc,EAAsB,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEtE,MAAM,eAAe,GAAG,CAC7B,MAAqC,EACrC,IAAc,EACC,EAAE;IACjB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACtB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,OAAO,KAAK,CAAC;SACd;KACF;IAED,OAAO;AACT,CAAC,CAAC;AAZW,QAAA,eAAe,mBAY1B;AAEF;;;;GAIG;AACI,MAAM,KAAK,GAAG,CAAO,GAAM,EAAE,GAAM,EAAE,EAAE,CAC5C,IAAA,0BAAS,EAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,QAAiB,EAAE,QAAiB,EAAE,EAAE;IAC/D,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC1C,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;KACvD;IAED,OAAO;AACT,CAAC,CAAC,CAAC;AAPQ,QAAA,KAAK,SAOb;AAEL;;GAEG;AACI,MAAM,QAAQ,GAAG,CAAO,GAAM,EAAE,GAAM,EAAE,EAAE,CAC/C,IAAA,0BAAS,EAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,QAAiB,EAAE,QAAiB,EAAE,EAAE,CAC/D,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC;IACpC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC3B,CAAC,CAAC,SAAS,CACd,CAAC;AALS,QAAA,QAAQ,YAKjB"}
|
package/lib/cli/init/git.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { Exec } from '../../utils/exec';
|
|
2
1
|
interface GitHubProject {
|
|
3
2
|
orgName: string;
|
|
4
3
|
repoName: string;
|
|
5
4
|
}
|
|
6
|
-
export declare const initialiseRepo: (
|
|
7
|
-
export declare const commitChanges: (
|
|
5
|
+
export declare const initialiseRepo: (dir: string, { orgName, repoName }: GitHubProject) => Promise<void>;
|
|
6
|
+
export declare const commitChanges: (dir: string, message: string) => Promise<void>;
|
|
8
7
|
export declare const downloadGitHubTemplate: (gitHubPath: string, destinationDir: string) => Promise<void>;
|
|
9
8
|
export {};
|
package/lib/cli/init/git.js
CHANGED
|
@@ -15,24 +15,55 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.downloadGitHubTemplate = exports.commitChanges = exports.initialiseRepo = void 0;
|
|
16
16
|
const path_1 = __importDefault(require("path"));
|
|
17
17
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
18
|
-
const
|
|
18
|
+
const isomorphic_git_1 = __importDefault(require("isomorphic-git"));
|
|
19
|
+
const node_1 = __importDefault(require("isomorphic-git/http/node"));
|
|
20
|
+
const dir_1 = require("../../utils/dir");
|
|
19
21
|
const logging_1 = require("../../utils/logging");
|
|
20
|
-
const initialiseRepo = (
|
|
21
|
-
yield
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
const initialiseRepo = (dir, { orgName, repoName }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
23
|
+
yield isomorphic_git_1.default.init({
|
|
24
|
+
// TODO: support main as an alternative.
|
|
25
|
+
defaultBranch: 'master',
|
|
26
|
+
dir,
|
|
27
|
+
fs: fs_extra_1.default,
|
|
28
|
+
});
|
|
29
|
+
yield isomorphic_git_1.default.commit({
|
|
30
|
+
author: { name: 'skuba' },
|
|
31
|
+
committer: { name: 'skuba' },
|
|
32
|
+
dir,
|
|
33
|
+
fs: fs_extra_1.default,
|
|
34
|
+
message: 'Initial commit',
|
|
35
|
+
});
|
|
36
|
+
yield isomorphic_git_1.default.addRemote({
|
|
37
|
+
dir,
|
|
38
|
+
fs: fs_extra_1.default,
|
|
39
|
+
remote: 'origin',
|
|
40
|
+
url: `git@github.com:${orgName}/${repoName}.git`,
|
|
41
|
+
});
|
|
24
42
|
});
|
|
25
43
|
exports.initialiseRepo = initialiseRepo;
|
|
26
|
-
const commitChanges = (
|
|
27
|
-
yield
|
|
28
|
-
yield
|
|
44
|
+
const commitChanges = (dir, message) => __awaiter(void 0, void 0, void 0, function* () {
|
|
45
|
+
const filepaths = yield (0, dir_1.crawlDirectory)(dir);
|
|
46
|
+
yield Promise.all(filepaths.map((filepath) => isomorphic_git_1.default.add({ dir, filepath, fs: fs_extra_1.default })));
|
|
47
|
+
yield isomorphic_git_1.default.commit({
|
|
48
|
+
author: { name: 'skuba' },
|
|
49
|
+
committer: { name: 'skuba' },
|
|
50
|
+
dir,
|
|
51
|
+
fs: fs_extra_1.default,
|
|
52
|
+
message,
|
|
53
|
+
});
|
|
29
54
|
});
|
|
30
55
|
exports.commitChanges = commitChanges;
|
|
31
56
|
const downloadGitHubTemplate = (gitHubPath, destinationDir) => __awaiter(void 0, void 0, void 0, function* () {
|
|
32
|
-
const exec = (0, exec_1.createExec)({ cwd: destinationDir });
|
|
33
57
|
logging_1.log.newline();
|
|
34
58
|
logging_1.log.plain('Downloading', logging_1.log.bold(gitHubPath), 'from GitHub...');
|
|
35
|
-
yield
|
|
59
|
+
yield isomorphic_git_1.default.clone({
|
|
60
|
+
depth: 1,
|
|
61
|
+
dir: destinationDir,
|
|
62
|
+
fs: fs_extra_1.default,
|
|
63
|
+
http: node_1.default,
|
|
64
|
+
singleBranch: true,
|
|
65
|
+
url: `git@github.com:${gitHubPath}.git`,
|
|
66
|
+
});
|
|
36
67
|
yield fs_extra_1.default.promises.rm(path_1.default.join(destinationDir, '.git'), {
|
|
37
68
|
force: true,
|
|
38
69
|
recursive: true,
|
package/lib/cli/init/git.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/cli/init/git.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,wDAA0B;
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/cli/init/git.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,wDAA0B;AAC1B,oEAAiC;AACjC,oEAA4C;AAE5C,yCAAiD;AACjD,iDAA0C;AAOnC,MAAM,cAAc,GAAG,CAC5B,GAAW,EACX,EAAE,OAAO,EAAE,QAAQ,EAAiB,EACpC,EAAE;IACF,MAAM,wBAAG,CAAC,IAAI,CAAC;QACb,wCAAwC;QACxC,aAAa,EAAE,QAAQ;QACvB,GAAG;QACH,EAAE,EAAF,kBAAE;KACH,CAAC,CAAC;IAEH,MAAM,wBAAG,CAAC,MAAM,CAAC;QACf,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QACzB,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QAC5B,GAAG;QACH,EAAE,EAAF,kBAAE;QACF,OAAO,EAAE,gBAAgB;KAC1B,CAAC,CAAC;IAEH,MAAM,wBAAG,CAAC,SAAS,CAAC;QAClB,GAAG;QACH,EAAE,EAAF,kBAAE;QACF,MAAM,EAAE,QAAQ;QAChB,GAAG,EAAE,kBAAkB,OAAO,IAAI,QAAQ,MAAM;KACjD,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAzBW,QAAA,cAAc,kBAyBzB;AAEK,MAAM,aAAa,GAAG,CAAO,GAAW,EAAE,OAAe,EAAE,EAAE;IAClE,MAAM,SAAS,GAAG,MAAM,IAAA,oBAAc,EAAC,GAAG,CAAC,CAAC;IAE5C,MAAM,OAAO,CAAC,GAAG,CACf,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,wBAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAF,kBAAE,EAAE,CAAC,CAAC,CAC5D,CAAC;IAEF,MAAM,wBAAG,CAAC,MAAM,CAAC;QACf,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QACzB,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QAC5B,GAAG;QACH,EAAE,EAAF,kBAAE;QACF,OAAO;KACR,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAdW,QAAA,aAAa,iBAcxB;AAEK,MAAM,sBAAsB,GAAG,CACpC,UAAkB,EAClB,cAAsB,EACtB,EAAE;IACF,aAAG,CAAC,OAAO,EAAE,CAAC;IACd,aAAG,CAAC,KAAK,CAAC,aAAa,EAAE,aAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAEjE,MAAM,wBAAG,CAAC,KAAK,CAAC;QACd,KAAK,EAAE,CAAC;QACR,GAAG,EAAE,cAAc;QACnB,EAAE,EAAF,kBAAE;QACF,IAAI,EAAJ,cAAI;QACJ,YAAY,EAAE,IAAI;QAClB,GAAG,EAAE,kBAAkB,UAAU,MAAM;KACxC,CAAC,CAAC;IAEH,MAAM,kBAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,EAAE;QACtD,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IAEH,aAAG,CAAC,OAAO,EAAE,CAAC;IACd,aAAG,CAAC,IAAI,CACN,qBAAqB,EACrB,aAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAChC,oBAAoB,CACrB,CAAC;AACJ,CAAC,CAAA,CAAC;AA3BW,QAAA,sBAAsB,0BA2BjC"}
|
package/lib/cli/init/index.js
CHANGED
|
@@ -25,7 +25,7 @@ const git_1 = require("./git");
|
|
|
25
25
|
const writePackageJson_1 = require("./writePackageJson");
|
|
26
26
|
const init = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
27
27
|
const skubaVersionInfo = yield (0, logo_1.showLogoAndVersionInfo)();
|
|
28
|
-
yield (0, exec_1.ensureCommands)('
|
|
28
|
+
yield (0, exec_1.ensureCommands)('yarn');
|
|
29
29
|
const { destinationDir, entryPoint, templateComplete, templateData, templateName, type, } = yield (0, getConfig_1.getConfig)();
|
|
30
30
|
const include = yield (0, dir_1.createInclusionFilter)([
|
|
31
31
|
path_1.default.join(destinationDir, '.gitignore'),
|
|
@@ -66,7 +66,7 @@ const init = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
66
66
|
streamStdio: 'yarn',
|
|
67
67
|
});
|
|
68
68
|
logging_1.log.newline();
|
|
69
|
-
yield (0, git_1.initialiseRepo)(
|
|
69
|
+
yield (0, git_1.initialiseRepo)(destinationDir, templateData);
|
|
70
70
|
const skubaSlug = `skuba@${skubaVersionInfo.local}`;
|
|
71
71
|
let depsInstalled = false;
|
|
72
72
|
try {
|
|
@@ -75,7 +75,7 @@ const init = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
75
75
|
yield exec('npx', 'yarn-deduplicate', '--strategy=highest');
|
|
76
76
|
}
|
|
77
77
|
catch (_a) { }
|
|
78
|
-
yield (0, git_1.commitChanges)(
|
|
78
|
+
yield (0, git_1.commitChanges)(destinationDir, `Clone ${templateName}`);
|
|
79
79
|
const logGitHubRepoCreation = () => {
|
|
80
80
|
logging_1.log.plain('Next, create an empty', logging_1.log.bold(`${templateData.orgName}/${templateData.repoName}`), 'repository:');
|
|
81
81
|
logging_1.log.ok('https://github.com/new');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/init/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,2CAAgE;AAChE,yCAAwD;AACxD,2CAA8D;AAC9D,iDAA0C;AAC1C,2CAA0D;AAC1D,mDAG8B;AAE9B,2CAAwC;AACxC,+BAAsD;AACtD,yDAAsD;AAE/C,MAAM,IAAI,GAAG,GAAS,EAAE;IAC7B,MAAM,gBAAgB,GAAG,MAAM,IAAA,6BAAsB,GAAE,CAAC;IAExD,MAAM,IAAA,qBAAc,EAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/init/index.ts"],"names":[],"mappings":"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"}
|
package/lib/cli/lint/external.js
CHANGED
|
@@ -52,19 +52,39 @@ const lintConcurrently = (_a) => __awaiter(void 0, void 0, void 0, function* ()
|
|
|
52
52
|
]);
|
|
53
53
|
return { eslint, prettier, tscOk };
|
|
54
54
|
});
|
|
55
|
-
|
|
55
|
+
/**
|
|
56
|
+
* Run linting tools `--serial`ly for resource-constrained environments.
|
|
57
|
+
*
|
|
58
|
+
* Note that we still run ESLint and Prettier in worker threads as a
|
|
59
|
+
* counterintuitive optimisation. Memory can be more readily freed on worker
|
|
60
|
+
* thread exit, which isn't as easy with a monolithic main thread.
|
|
61
|
+
*/
|
|
62
|
+
const lintSerially = (_b) => __awaiter(void 0, void 0, void 0, function* () {
|
|
63
|
+
var { tscOutputStream } = _b, input = __rest(_b, ["tscOutputStream"]);
|
|
64
|
+
const eslint = yield (0, eslint_1.runESLintInWorkerThread)(input);
|
|
65
|
+
const prettier = yield (0, prettier_1.runPrettierInWorkerThread)(input);
|
|
66
|
+
const tscOk = yield (0, tsc_1.runTscInNewProcess)(Object.assign(Object.assign({}, input), { tscOutputStream }));
|
|
67
|
+
return { eslint, prettier, tscOk };
|
|
68
|
+
});
|
|
69
|
+
const lintSeriallyWithoutWorkerThreads = (input) => __awaiter(void 0, void 0, void 0, function* () {
|
|
56
70
|
const eslint = yield (0, eslint_1.runESLintInCurrentThread)(input);
|
|
57
71
|
const prettier = yield (0, prettier_1.runPrettierInCurrentThread)(input);
|
|
58
72
|
const tscOk = yield (0, tsc_1.runTscInNewProcess)(input);
|
|
59
73
|
return { eslint, prettier, tscOk };
|
|
60
74
|
});
|
|
61
|
-
const
|
|
62
|
-
|
|
75
|
+
const selectLintFunction = (input) => {
|
|
76
|
+
if (!input.workerThreads) {
|
|
77
|
+
return lintSeriallyWithoutWorkerThreads;
|
|
78
|
+
}
|
|
63
79
|
// `--debug` implies `--serial`.
|
|
64
80
|
const isSerial = input.debug || input.serial;
|
|
65
|
-
|
|
81
|
+
return isSerial ? lintSerially : lintConcurrently;
|
|
82
|
+
};
|
|
83
|
+
const externalLint = (input) => __awaiter(void 0, void 0, void 0, function* () {
|
|
84
|
+
var _c;
|
|
85
|
+
const lint = selectLintFunction(input);
|
|
66
86
|
const tscOutputStream = new StreamInterceptor();
|
|
67
|
-
tscOutputStream.pipe((
|
|
87
|
+
tscOutputStream.pipe((_c = input.tscOutputStream) !== null && _c !== void 0 ? _c : process.stdout);
|
|
68
88
|
const { eslint, prettier, tscOk } = yield lint(Object.assign(Object.assign({}, input), { tscOutputStream }));
|
|
69
89
|
if (eslint.ok && prettier.ok && tscOk) {
|
|
70
90
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external.js","sourceRoot":"","sources":["../../../src/cli/lint/external.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAA4B;AAE5B,6BAAkC;AAClC,iDAA0C;AAE1C,qCAA6E;AAC7E,yCAGoB;AACpB,+BAA2C;AAG3C,MAAM,iBAAkB,SAAQ,gBAAM,CAAC,SAAS;IAAhD;;QACU,WAAM,GAAiB,EAAE,CAAC;IAepC,CAAC;IAbQ,MAAM;QACX,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC/C,CAAC;IAED,UAAU,CACR,KAAU,EACV,SAAyB,EACzB,QAAkC;QAElC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAExB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxB,CAAC;CACF;AAED,MAAM,gBAAgB,GAAG,CAAO,EAAoC,EAAE,EAAE;QAAxC,EAAE,eAAe,OAAmB,EAAd,KAAK,cAA3B,mBAA6B,CAAF;IACzD,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAClD,IAAA,gCAAuB,EAAC,KAAK,CAAC;QAC9B,IAAA,oCAAyB,EAAC,KAAK,CAAC;QAChC,IAAA,wBAAkB,kCAAM,KAAK,KAAE,eAAe,IAAG;KAClD,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACrC,CAAC,CAAA,CAAC;AAEF,MAAM,YAAY,GAAG,CAAO,KAAY,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"external.js","sourceRoot":"","sources":["../../../src/cli/lint/external.ts"],"names":[],"mappings":"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"}
|
package/lib/cli/lint/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const lint: (args?: string[], tscOutputStream?: NodeJS.WritableStream | undefined) => Promise<void>;
|
|
1
|
+
export declare const lint: (args?: string[], tscOutputStream?: NodeJS.WritableStream | undefined, workerThreads?: boolean) => Promise<void>;
|
package/lib/cli/lint/index.js
CHANGED
|
@@ -13,11 +13,12 @@ exports.lint = void 0;
|
|
|
13
13
|
const args_1 = require("../../utils/args");
|
|
14
14
|
const external_1 = require("./external");
|
|
15
15
|
const internal_1 = require("./internal");
|
|
16
|
-
const lint = (args = process.argv, tscOutputStream = undefined) => __awaiter(void 0, void 0, void 0, function* () {
|
|
16
|
+
const lint = (args = process.argv, tscOutputStream = undefined, workerThreads = true) => __awaiter(void 0, void 0, void 0, function* () {
|
|
17
17
|
const opts = {
|
|
18
18
|
debug: (0, args_1.hasDebugFlag)(args),
|
|
19
19
|
serial: (0, args_1.hasSerialFlag)(args),
|
|
20
20
|
tscOutputStream,
|
|
21
|
+
workerThreads,
|
|
21
22
|
};
|
|
22
23
|
yield (0, external_1.externalLint)(opts);
|
|
23
24
|
yield (0, internal_1.internalLint)();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/lint/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA+D;AAE/D,yCAA0C;AAC1C,yCAA0C;AAGnC,MAAM,IAAI,GAAG,CAClB,IAAI,GAAG,OAAO,CAAC,IAAI,EACnB,kBAAqD,SAAS,EAC9D,EAAE;IACF,MAAM,IAAI,GAAU;QAClB,KAAK,EAAE,IAAA,mBAAY,EAAC,IAAI,CAAC;QACzB,MAAM,EAAE,IAAA,oBAAa,EAAC,IAAI,CAAC;QAC3B,eAAe;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/lint/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA+D;AAE/D,yCAA0C;AAC1C,yCAA0C;AAGnC,MAAM,IAAI,GAAG,CAClB,IAAI,GAAG,OAAO,CAAC,IAAI,EACnB,kBAAqD,SAAS,EAC9D,aAAa,GAAG,IAAI,EACpB,EAAE;IACF,MAAM,IAAI,GAAU;QAClB,KAAK,EAAE,IAAA,mBAAY,EAAC,IAAI,CAAC;QACzB,MAAM,EAAE,IAAA,oBAAa,EAAC,IAAI,CAAC;QAC3B,eAAe;QACf,aAAa;KACd,CAAC;IAEF,MAAM,IAAA,uBAAY,EAAC,IAAI,CAAC,CAAC;IAEzB,MAAM,IAAA,uBAAY,GAAE,CAAC;AACvB,CAAC,CAAA,CAAC;AAfW,QAAA,IAAI,QAef"}
|
package/lib/cli/lint/types.d.ts
CHANGED
|
@@ -21,4 +21,13 @@ export interface Input {
|
|
|
21
21
|
* Defaults to `process.stdout`.
|
|
22
22
|
*/
|
|
23
23
|
tscOutputStream?: NodeJS.WritableStream;
|
|
24
|
+
/**
|
|
25
|
+
* Whether to allow usage of Node.js worker threads.
|
|
26
|
+
*
|
|
27
|
+
* This may be set to `false` when there is a worker thread incompatibility,
|
|
28
|
+
* such as calling in from a TypeScript context in our Jest tests.
|
|
29
|
+
*
|
|
30
|
+
* Defaults to `true`.
|
|
31
|
+
*/
|
|
32
|
+
workerThreads?: boolean;
|
|
24
33
|
}
|
package/lib/utils/exec.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
+
import type { Color } from 'chalk';
|
|
2
3
|
import execa, { ExecaChildProcess } from 'execa';
|
|
3
4
|
export declare type Exec = (command: string, ...args: string[]) => ExecaChildProcess<string>;
|
|
4
5
|
interface ExecConcurrentlyCommand {
|
|
5
6
|
command: string;
|
|
6
7
|
name: string;
|
|
7
|
-
prefixColor?:
|
|
8
|
+
prefixColor?: typeof Color;
|
|
8
9
|
}
|
|
9
10
|
interface ExecConcurrentlyOptions {
|
|
10
11
|
/**
|
package/lib/utils/exec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/utils/exec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2BAA0B;AAC1B,oDAA4B;AAC5B,gDAAwB;
|
|
1
|
+
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/utils/exec.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,8 +8,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
15
|
exports.runFunctionHandler = void 0;
|
|
16
|
+
const function_arguments_1 = __importDefault(require("function-arguments"));
|
|
13
17
|
const logging_1 = require("../utils/logging");
|
|
14
18
|
const validation_1 = require("../utils/validation");
|
|
15
19
|
const http_1 = require("./http");
|
|
@@ -26,6 +30,7 @@ const runFunctionHandler = ({ availablePort, entryPoint, functionName, }) => __a
|
|
|
26
30
|
logging_1.log.subtle(logging_1.log.bold(functionName), 'is not a function');
|
|
27
31
|
return;
|
|
28
32
|
}
|
|
33
|
+
logging_1.log.warn(logging_1.log.bold(functionName), `(${(0, function_arguments_1.default)(fn).join(', ')})`);
|
|
29
34
|
const requestListener = (0, http_1.createRequestListenerFromFunction)(fn);
|
|
30
35
|
return (0, http_1.serveRequestListener)(requestListener, availablePort);
|
|
31
36
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functionHandler.js","sourceRoot":"","sources":["../../src/wrapper/functionHandler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"functionHandler.js","sourceRoot":"","sources":["../../src/wrapper/functionHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4EAAwC;AAExC,8CAAuC;AACvC,oDAA2D;AAE3D,iCAGgB;AAQhB;;GAEG;AACI,MAAM,kBAAkB,GAAG,CAAO,EACvC,aAAa,EACb,UAAU,EACV,YAAY,GACP,EAAiB,EAAE;IACxB,IAAI,CAAC,IAAA,qBAAQ,EAAC,UAAU,CAAC,EAAE;QACzB,aAAG,CAAC,MAAM,CAAC,aAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC,CAAC;QACtD,OAAO;KACR;IAED,MAAM,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAEpC,IAAI,CAAC,IAAA,uBAAU,EAAC,EAAE,CAAC,EAAE;QACnB,aAAG,CAAC,MAAM,CAAC,aAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC,CAAC;QACxD,OAAO;KACR;IAED,aAAG,CAAC,IAAI,CAAC,aAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,IAAA,4BAAM,EAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE/D,MAAM,eAAe,GAAG,IAAA,wCAAiC,EAAC,EAAE,CAAC,CAAC;IAE9D,OAAO,IAAA,2BAAoB,EAAC,eAAe,EAAE,aAAa,CAAC,CAAC;AAC9D,CAAC,CAAA,CAAC;AAtBW,QAAA,kBAAkB,sBAsB7B"}
|
package/lib/wrapper/http.js
CHANGED
|
@@ -23,18 +23,22 @@ const logging_1 = require("../utils/logging");
|
|
|
23
23
|
* - The function's return value is JSON stringified into the response body.
|
|
24
24
|
*/
|
|
25
25
|
const createRequestListenerFromFunction = (fn) => (req, res) => __awaiter(void 0, void 0, void 0, function* () {
|
|
26
|
-
const writeJsonResponse = (statusCode, jsonResponse) =>
|
|
27
|
-
.writeHead(statusCode, { 'Content-Type': 'application/json' })
|
|
28
|
-
|
|
26
|
+
const writeJsonResponse = (statusCode, jsonResponse) => {
|
|
27
|
+
res.writeHead(statusCode, { 'Content-Type': 'application/json' });
|
|
28
|
+
return new Promise((resolve, reject) => jsonResponse === undefined
|
|
29
|
+
? res.end(resolve)
|
|
30
|
+
: res.write(JSON.stringify(jsonResponse, null, 2), 'utf8', (err) => err ? reject(err) : res.end(resolve)));
|
|
31
|
+
};
|
|
29
32
|
try {
|
|
30
33
|
const requestBody = yield new Promise((resolve, reject) => {
|
|
31
|
-
|
|
34
|
+
const data = [];
|
|
32
35
|
req
|
|
33
|
-
.on('data', (chunk) => (
|
|
34
|
-
.on('end', () => resolve(data))
|
|
36
|
+
.on('data', (chunk) => data.push(chunk))
|
|
37
|
+
.on('end', () => resolve(Buffer.concat(data).toString()))
|
|
35
38
|
.on('error', (err) => reject(err));
|
|
36
39
|
});
|
|
37
|
-
|
|
40
|
+
// Treat an empty body as no arguments
|
|
41
|
+
const jsonRequest = requestBody ? JSON.parse(requestBody) : [];
|
|
38
42
|
// Pass a non-array request body as the first parameter
|
|
39
43
|
const args = Array.isArray(jsonRequest) ? jsonRequest : [jsonRequest];
|
|
40
44
|
const response = yield fn(...args);
|
package/lib/wrapper/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/wrapper/http.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAwB;AAGxB,qDAAiD;AAEjD,8CAAuC;AAEvC;;;;;GAKG;AACI,MAAM,iCAAiC,GAC5C,CACE,EAAsD,EAChC,EAAE,CAC1B,CAAO,GAAG,EAAE,GAAG,EAAE,EAAE;IACjB,MAAM,iBAAiB,GAAG,CAAC,UAAkB,EAAE,YAAqB,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/wrapper/http.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"engines": {
|
|
8
8
|
"node": ">=12"
|
|
9
9
|
},
|
|
10
|
-
"version": "3.15.
|
|
10
|
+
"version": "3.15.2",
|
|
11
11
|
"main": "lib/index.js",
|
|
12
12
|
"typings": "lib/index.d.ts",
|
|
13
13
|
"files": [
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@changesets/cli": "2.17.0",
|
|
43
43
|
"@changesets/get-github-info": "0.5.0",
|
|
44
|
-
"@types/concurrently": "6.
|
|
44
|
+
"@types/concurrently": "6.3.0",
|
|
45
45
|
"@types/ejs": "3.1.0",
|
|
46
46
|
"@types/express": "4.17.13",
|
|
47
47
|
"@types/fs-extra": "9.0.13",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"@types/lodash.mergewith": "4.6.6",
|
|
50
50
|
"@types/module-alias": "2.0.1",
|
|
51
51
|
"@types/npm-which": "3.0.1",
|
|
52
|
-
"@types/picomatch": "2.
|
|
52
|
+
"@types/picomatch": "2.3.0",
|
|
53
53
|
"@types/supertest": "2.0.11",
|
|
54
54
|
"express": "4.17.1",
|
|
55
55
|
"koa": "2.13.3",
|
|
@@ -68,6 +68,7 @@
|
|
|
68
68
|
"execa": "^5.0.0",
|
|
69
69
|
"fdir": "^5.0.0",
|
|
70
70
|
"fs-extra": "^10.0.0",
|
|
71
|
+
"function-arguments": "^1.0.9",
|
|
71
72
|
"get-port": "^5.1.1",
|
|
72
73
|
"ignore": "^5.1.8",
|
|
73
74
|
"is-installed-globally": "^0.4.0",
|
|
@@ -79,7 +80,6 @@
|
|
|
79
80
|
"normalize-package-data": "^3.0.0",
|
|
80
81
|
"npm-run-path": "^4.0.1",
|
|
81
82
|
"npm-which": "^3.0.1",
|
|
82
|
-
"p-limit": "3.1.0",
|
|
83
83
|
"picomatch": "^2.2.2",
|
|
84
84
|
"prettier": "2.4.1",
|
|
85
85
|
"read-pkg-up": "^7.0.1",
|
|
@@ -67,7 +67,7 @@ steps:
|
|
|
67
67
|
- *aws-sm
|
|
68
68
|
- *private-npm
|
|
69
69
|
- *docker-ecr-cache
|
|
70
|
-
- seek-jobs/gantry#v1.
|
|
70
|
+
- seek-jobs/gantry#v1.5.1:
|
|
71
71
|
command: build
|
|
72
72
|
file: gantry.build.yml
|
|
73
73
|
region: <%- region %>
|
|
@@ -83,7 +83,7 @@ steps:
|
|
|
83
83
|
concurrency_group: <%- teamName %>/deploy/gantry/<%- devGantryEnvironmentName %>
|
|
84
84
|
key: deploy-dev
|
|
85
85
|
plugins:
|
|
86
|
-
- seek-jobs/gantry#v1.
|
|
86
|
+
- seek-jobs/gantry#v1.5.1:
|
|
87
87
|
command: apply
|
|
88
88
|
environment: <%- devGantryEnvironmentName %>
|
|
89
89
|
file: gantry.apply.yml
|
|
@@ -99,7 +99,7 @@ steps:
|
|
|
99
99
|
concurrency_group: <%- teamName %>/deploy/gantry/<%- prodGantryEnvironmentName %>
|
|
100
100
|
depends_on: deploy-dev
|
|
101
101
|
plugins:
|
|
102
|
-
- seek-jobs/gantry#v1.
|
|
102
|
+
- seek-jobs/gantry#v1.5.1:
|
|
103
103
|
command: apply
|
|
104
104
|
environment: <%- prodGantryEnvironmentName %>
|
|
105
105
|
file: gantry.apply.yml
|
|
@@ -23,18 +23,6 @@ Next steps:
|
|
|
23
23
|
request installation in [SEEK-Jobs/renovate].
|
|
24
24
|
9. [ ] Delete this checklist 😌.
|
|
25
25
|
|
|
26
|
-
## Table of contents
|
|
27
|
-
|
|
28
|
-
- [Design](#design)
|
|
29
|
-
- [Development](#development)
|
|
30
|
-
- [Test](#test)
|
|
31
|
-
- [Lint](#lint)
|
|
32
|
-
- [Start](#start)
|
|
33
|
-
- [Deploy](#deploy)
|
|
34
|
-
- [Support](#support)
|
|
35
|
-
- [Dev](#dev)
|
|
36
|
-
- [Prod](#prod)
|
|
37
|
-
|
|
38
26
|
## Design
|
|
39
27
|
|
|
40
28
|
<%-repoName %> is a Node.js HTTP server built in line with our [technology strategy].
|
|
@@ -21,18 +21,6 @@ Next steps:
|
|
|
21
21
|
request installation in [SEEK-Jobs/renovate].
|
|
22
22
|
8. [ ] Delete this checklist 😌.
|
|
23
23
|
|
|
24
|
-
## Table of contents
|
|
25
|
-
|
|
26
|
-
- [Design](#design)
|
|
27
|
-
- [Development](#development)
|
|
28
|
-
- [Test](#test)
|
|
29
|
-
- [Lint](#lint)
|
|
30
|
-
- [Start](#start)
|
|
31
|
-
- [Deploy](#deploy)
|
|
32
|
-
- [Support](#support)
|
|
33
|
-
- [Dev](#dev)
|
|
34
|
-
- [Prod](#prod)
|
|
35
|
-
|
|
36
24
|
## Design
|
|
37
25
|
|
|
38
26
|
The `greeter` template is the prototypical _hello world_ project.
|
|
@@ -67,7 +67,7 @@ steps:
|
|
|
67
67
|
- *aws-sm
|
|
68
68
|
- *private-npm
|
|
69
69
|
- *docker-ecr-cache
|
|
70
|
-
- seek-jobs/gantry#v1.
|
|
70
|
+
- seek-jobs/gantry#v1.5.1:
|
|
71
71
|
command: build
|
|
72
72
|
file: gantry.build.yml
|
|
73
73
|
region: <%- region %>
|
|
@@ -83,7 +83,7 @@ steps:
|
|
|
83
83
|
concurrency_group: <%- teamName %>/deploy/gantry/<%- devGantryEnvironmentName %>
|
|
84
84
|
key: deploy-dev
|
|
85
85
|
plugins:
|
|
86
|
-
- seek-jobs/gantry#v1.
|
|
86
|
+
- seek-jobs/gantry#v1.5.1:
|
|
87
87
|
command: apply
|
|
88
88
|
environment: <%- devGantryEnvironmentName %>
|
|
89
89
|
file: gantry.apply.yml
|
|
@@ -99,7 +99,7 @@ steps:
|
|
|
99
99
|
concurrency_group: <%- teamName %>/deploy/gantry/<%- prodGantryEnvironmentName %>
|
|
100
100
|
depends_on: deploy-dev
|
|
101
101
|
plugins:
|
|
102
|
-
- seek-jobs/gantry#v1.
|
|
102
|
+
- seek-jobs/gantry#v1.5.1:
|
|
103
103
|
command: apply
|
|
104
104
|
environment: <%- prodGantryEnvironmentName %>
|
|
105
105
|
file: gantry.apply.yml
|
|
@@ -23,18 +23,6 @@ Next steps:
|
|
|
23
23
|
request installation in [SEEK-Jobs/renovate].
|
|
24
24
|
9. [ ] Delete this checklist 😌.
|
|
25
25
|
|
|
26
|
-
## Table of contents
|
|
27
|
-
|
|
28
|
-
- [Design](#design)
|
|
29
|
-
- [Development](#development)
|
|
30
|
-
- [Test](#test)
|
|
31
|
-
- [Lint](#lint)
|
|
32
|
-
- [Start](#start)
|
|
33
|
-
- [Deploy](#deploy)
|
|
34
|
-
- [Support](#support)
|
|
35
|
-
- [Dev](#dev)
|
|
36
|
-
- [Prod](#prod)
|
|
37
|
-
|
|
38
26
|
## Design
|
|
39
27
|
|
|
40
28
|
<%-repoName %> is a Node.js HTTP server built in line with our [technology strategy].
|
|
@@ -22,18 +22,6 @@ Next steps:
|
|
|
22
22
|
request installation in [SEEK-Jobs/renovate].
|
|
23
23
|
9. [ ] Delete this checklist 😌.
|
|
24
24
|
|
|
25
|
-
## Table of contents
|
|
26
|
-
|
|
27
|
-
- [Design](#design)
|
|
28
|
-
- [Development](#development)
|
|
29
|
-
- [Test](#test)
|
|
30
|
-
- [Lint](#lint)
|
|
31
|
-
- [Start](#start)
|
|
32
|
-
- [Deploy](#deploy)
|
|
33
|
-
- [Support](#support)
|
|
34
|
-
- [Dev](#dev)
|
|
35
|
-
- [Prod](#prod)
|
|
36
|
-
|
|
37
25
|
## Design
|
|
38
26
|
|
|
39
27
|
<%-repoName %> is a Node.js [Lambda] application built in line with our [technology strategy].
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
service: <%- serviceName %>
|
|
2
2
|
|
|
3
|
+
configValidationMode: error
|
|
4
|
+
variablesResolutionMode: 20210326
|
|
5
|
+
|
|
3
6
|
custom:
|
|
4
7
|
description: <%- description %>
|
|
5
8
|
env: ${self:custom.envs.${env:ENVIRONMENT}}
|
|
6
9
|
envs:
|
|
7
10
|
dev:
|
|
8
11
|
deploymentBucket: 'TODO: deploymentBucketName'
|
|
9
|
-
isProduction:
|
|
12
|
+
isProduction: false
|
|
10
13
|
prod:
|
|
11
14
|
deploymentBucket: 'TODO: deploymentBucketName'
|
|
12
|
-
isProduction:
|
|
15
|
+
isProduction: true
|
|
13
16
|
prune:
|
|
14
17
|
automatic: true
|
|
15
18
|
number: 3
|
|
@@ -18,20 +18,6 @@ Next steps:
|
|
|
18
18
|
request installation in [#open-source].
|
|
19
19
|
7. [ ] Delete this checklist 😌.
|
|
20
20
|
|
|
21
|
-
## Table of contents
|
|
22
|
-
|
|
23
|
-
- [API](#api)
|
|
24
|
-
- [`log`](#log)
|
|
25
|
-
- [Development](#development)
|
|
26
|
-
- [Prerequisites](#prerequisites)
|
|
27
|
-
- [Test](#test)
|
|
28
|
-
- [Lint](#lint)
|
|
29
|
-
- [Package](#package)
|
|
30
|
-
- [Release](#release)
|
|
31
|
-
- [Commit messages](#commit-messages)
|
|
32
|
-
- [Releasing latest](#releasing-latest)
|
|
33
|
-
- [Releasing other dist-tags](#releasing-other-dist-tags)
|
|
34
|
-
|
|
35
21
|
## API
|
|
36
22
|
|
|
37
23
|
### `log`
|
|
@@ -18,20 +18,6 @@ Next steps:
|
|
|
18
18
|
request installation in [SEEK-Jobs/renovate].
|
|
19
19
|
7. [ ] Delete this checklist 😌.
|
|
20
20
|
|
|
21
|
-
## Table of contents
|
|
22
|
-
|
|
23
|
-
- [API](#api)
|
|
24
|
-
- [`log`](#log)
|
|
25
|
-
- [Development](#development)
|
|
26
|
-
- [Prerequisites](#prerequisites)
|
|
27
|
-
- [Test](#test)
|
|
28
|
-
- [Lint](#lint)
|
|
29
|
-
- [Package](#package)
|
|
30
|
-
- [Release](#release)
|
|
31
|
-
- [Commit messages](#commit-messages)
|
|
32
|
-
- [Releasing latest](#releasing-latest)
|
|
33
|
-
- [Releasing other dist-tags](#releasing-other-dist-tags)
|
|
34
|
-
|
|
35
21
|
## API
|
|
36
22
|
|
|
37
23
|
### `log`
|