@vercel/fun 1.0.1 → 1.0.4
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/dist/src/install-node.d.ts +3 -2
- package/dist/src/install-node.js +8 -0
- package/dist/src/install-node.js.map +1 -1
- package/dist/src/install-python.d.ts +3 -2
- package/dist/src/install-python.js +5 -1
- package/dist/src/install-python.js.map +1 -1
- package/dist/src/runtimes/go1.x/bootstrap.go +1 -1
- package/dist/src/runtimes/nodejs/bootstrap.js +4 -2
- package/dist/src/runtimes/nodejs/bootstrap.js.map +1 -1
- package/dist/src/runtimes/python3/bootstrap.js +17 -3
- package/dist/src/runtimes/python3/bootstrap.js.map +1 -1
- package/package.json +18 -5
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
export declare function generateNodeTarballUrl(version: string, platform?: NodeJS.Platform, arch?: string): string;
|
|
3
|
+
export declare function installNode(dest: string, version: string, platform?: NodeJS.Platform, arch?: string): Promise<void>;
|
package/dist/src/install-node.js
CHANGED
|
@@ -20,6 +20,7 @@ const debug_1 = __importDefault(require("debug"));
|
|
|
20
20
|
const zlib_1 = require("zlib");
|
|
21
21
|
const path_1 = require("path");
|
|
22
22
|
const fs_extra_1 = require("fs-extra");
|
|
23
|
+
const semver_1 = require("semver");
|
|
23
24
|
const unzip_1 = require("./unzip");
|
|
24
25
|
const debug = (0, debug_1.default)('@vercel/fun:install-node');
|
|
25
26
|
function generateNodeTarballUrl(version, platform = process.platform, arch = process.arch) {
|
|
@@ -40,6 +41,13 @@ function generateNodeTarballUrl(version, platform = process.platform, arch = pro
|
|
|
40
41
|
exports.generateNodeTarballUrl = generateNodeTarballUrl;
|
|
41
42
|
function installNode(dest, version, platform = process.platform, arch = process.arch) {
|
|
42
43
|
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
+
// For Apple M1, use the x64 binaries for v14 or less,
|
|
45
|
+
// since there are no arm64 binaries for these versions
|
|
46
|
+
if (platform === 'darwin' &&
|
|
47
|
+
arch === 'arm64' &&
|
|
48
|
+
(0, semver_1.satisfies)(version, '<= 14')) {
|
|
49
|
+
arch = 'x64';
|
|
50
|
+
}
|
|
43
51
|
const tarballUrl = generateNodeTarballUrl(version, platform, arch);
|
|
44
52
|
debug('Downloading Node.js %s tarball %o', version, tarballUrl);
|
|
45
53
|
const res = yield (0, node_fetch_1.default)(tarballUrl);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-node.js","sourceRoot":"","sources":["../../src/install-node.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6BAA8B;AAC9B,8DAA+B;AAC/B,4DAA+B;AAC/B,kDAAgC;AAChC,+BAAoC;AACpC,+BAAsC;AACtC,
|
|
1
|
+
{"version":3,"file":"install-node.js","sourceRoot":"","sources":["../../src/install-node.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6BAA8B;AAC9B,8DAA+B;AAC/B,4DAA+B;AAC/B,kDAAgC;AAChC,+BAAoC;AACpC,+BAAsC;AACtC,uCAA6C;AAC7C,mCAAmC;AACnC,mCAA6C;AAE7C,MAAM,KAAK,GAAG,IAAA,eAAW,EAAC,0BAA0B,CAAC,CAAC;AAEtD,SAAgB,sBAAsB,CACrC,OAAe,EACf,WAA4B,OAAO,CAAC,QAAQ,EAC5C,OAAe,OAAO,CAAC,IAAI;IAE3B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QAC7B,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;KACxB;IACD,IAAI,GAAW,CAAC;IAChB,IAAI,IAAI,GAAW,QAAQ,CAAC;IAC5B,IAAI,QAAQ,KAAK,OAAO,EAAE;QACzB,GAAG,GAAG,KAAK,CAAC;QACZ,IAAI,GAAG,KAAK,CAAC;KACb;SAAM;QACN,GAAG,GAAG,QAAQ,CAAC;KACf;IACD,OAAO,2BAA2B,OAAO,SAAS,OAAO,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;AACpF,CAAC;AAjBD,wDAiBC;AAED,SAAsB,WAAW,CAChC,IAAY,EACZ,OAAe,EACf,WAA4B,OAAO,CAAC,QAAQ,EAC5C,OAAe,OAAO,CAAC,IAAI;;QAE3B,sDAAsD;QACtD,uDAAuD;QACvD,IACC,QAAQ,KAAK,QAAQ;YACrB,IAAI,KAAK,OAAO;YAChB,IAAA,kBAAS,EAAC,OAAO,EAAE,OAAO,CAAC,EAC1B;YACD,IAAI,GAAG,KAAK,CAAC;SACb;QAED,MAAM,UAAU,GAAG,sBAAsB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,mCAAmC,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,MAAM,IAAA,oBAAK,EAAC,UAAU,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;SACtD;QACD,IAAI,QAAQ,KAAK,OAAO,EAAE;YACzB,4DAA4D;YAC5D,MAAM,SAAS,GAAG,IAAA,WAAI,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,IAAA,eAAQ,EAAC,UAAU,CAAC,CAAC;YACrC,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAEpC,KAAK,CAAC,kCAAkC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5D,MAAM,IAAA,qBAAI,EACT,GAAG,CAAC,IAAI,EACR,IAAA,4BAAiB,EAAC,OAAO,CAAC,CAC1B,CAAC;YAEF,KAAK,CAAC,sCAAsC,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAClE,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAW,EAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,IAAA,aAAK,EAAC,OAAO,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;SAC9C;aAAM;YACN,KAAK,CAAC,qCAAqC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YAC5D,MAAM,IAAA,qBAAI,EACT,GAAG,CAAC,IAAI,EACR,IAAA,mBAAY,GAAE,EACd,IAAA,aAAO,EAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAC9B,CAAC;SACF;IACF,CAAC;CAAA;AA7CD,kCA6CC"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
export declare function generatePythonTarballUrl(version: string, platform?: NodeJS.Platform, arch?: string): string;
|
|
3
|
+
export declare function installPython(dest: string, version: string, platform?: NodeJS.Platform, arch?: string): Promise<void>;
|
|
@@ -24,11 +24,15 @@ function generatePythonTarballUrl(version, platform = process.platform, arch = p
|
|
|
24
24
|
exports.generatePythonTarballUrl = generatePythonTarballUrl;
|
|
25
25
|
function installPython(dest, version, platform = process.platform, arch = process.arch) {
|
|
26
26
|
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
+
// For Apple M1 use the x64 binaries
|
|
28
|
+
if (platform === 'darwin' && arch === 'arm64') {
|
|
29
|
+
arch = 'x64';
|
|
30
|
+
}
|
|
27
31
|
const tarballUrl = generatePythonTarballUrl(version, platform, arch);
|
|
28
32
|
debug('Downloading Python %s tarball %o', version, tarballUrl);
|
|
29
33
|
const res = yield (0, node_fetch_1.default)(tarballUrl);
|
|
30
34
|
if (!res.ok) {
|
|
31
|
-
throw new Error(`HTTP request failed: ${res.status}`);
|
|
35
|
+
throw new Error(`HTTP request ${tarballUrl} failed: ${res.status}`);
|
|
32
36
|
}
|
|
33
37
|
return new Promise((resolve, reject) => {
|
|
34
38
|
debug('Extracting Python %s tarball to %o', version, dest);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-python.js","sourceRoot":"","sources":["../../src/install-python.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6BAA8B;AAC9B,4DAA+B;AAC/B,kDAAgC;AAChC,+BAAoC;AAEpC,MAAM,KAAK,GAAG,IAAA,eAAW,EAAC,4BAA4B,CAAC,CAAC;AAExD,SAAgB,wBAAwB,CACvC,OAAe,EACf,
|
|
1
|
+
{"version":3,"file":"install-python.js","sourceRoot":"","sources":["../../src/install-python.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6BAA8B;AAC9B,4DAA+B;AAC/B,kDAAgC;AAChC,+BAAoC;AAEpC,MAAM,KAAK,GAAG,IAAA,eAAW,EAAC,4BAA4B,CAAC,CAAC;AAExD,SAAgB,wBAAwB,CACvC,OAAe,EACf,WAA4B,OAAO,CAAC,QAAQ,EAC5C,OAAe,OAAO,CAAC,IAAI;IAE3B,OAAO,0CAA0C,OAAO,IAAI,QAAQ,IAAI,IAAI,SAAS,CAAC;AACvF,CAAC;AAND,4DAMC;AAED,SAAsB,aAAa,CAClC,IAAY,EACZ,OAAe,EACf,WAA4B,OAAO,CAAC,QAAQ,EAC5C,OAAe,OAAO,CAAC,IAAI;;QAE3B,oCAAoC;QACpC,IAAI,QAAQ,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO,EAAE;YAC9C,IAAI,GAAG,KAAK,CAAC;SACb;QAED,MAAM,UAAU,GAAG,wBAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACrE,KAAK,CAAC,kCAAkC,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAC/D,MAAM,GAAG,GAAG,MAAM,IAAA,oBAAK,EAAC,UAAU,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,gBAAgB,UAAU,YAAY,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;SACpE;QACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,KAAK,CAAC,oCAAoC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YAC3D,GAAG,CAAC,IAAI;iBACN,IAAI,CAAC,IAAA,mBAAY,GAAE,CAAC;iBACpB,IAAI,CAAC,IAAA,aAAO,EAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;iBACpC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;iBACnB,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACJ,CAAC;CAAA;AAzBD,sCAyBC"}
|
|
@@ -148,11 +148,13 @@ function postError(path, err) {
|
|
|
148
148
|
});
|
|
149
149
|
}
|
|
150
150
|
function getHandler() {
|
|
151
|
-
const
|
|
151
|
+
const segments = _HANDLER.split('/');
|
|
152
|
+
const appParts = segments[segments.length - 1].split('.');
|
|
152
153
|
if (appParts.length !== 2) {
|
|
153
154
|
throw new Error(`Bad handler ${_HANDLER}`);
|
|
154
155
|
}
|
|
155
|
-
const [
|
|
156
|
+
const [moduleFile, handlerName] = appParts;
|
|
157
|
+
const modulePath = [...segments.slice(0, -1), moduleFile].join('/');
|
|
156
158
|
let app;
|
|
157
159
|
try {
|
|
158
160
|
app = require(`${LAMBDA_TASK_ROOT}/${modulePath}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../../src/runtimes/nodejs/bootstrap.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../../src/runtimes/nodejs/bootstrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ function fallback() {
|
|
|
12
12
|
pythonBin = 'python';
|
|
13
13
|
}
|
|
14
14
|
function handler(data) {
|
|
15
|
-
const isPython3 = data && data.
|
|
15
|
+
const isPython3 = data && data.startsWith('Python 3');
|
|
16
16
|
if (!isPython3) {
|
|
17
17
|
fallback();
|
|
18
18
|
}
|
|
@@ -21,6 +21,20 @@ function handler(data) {
|
|
|
21
21
|
}
|
|
22
22
|
const child = (0, child_process_1.spawn)(pythonBin, ['--version']);
|
|
23
23
|
child.on('error', fallback);
|
|
24
|
-
child.stderr.
|
|
25
|
-
|
|
24
|
+
Promise.all([child.stdout, child.stderr].map(stream2Promise)).then(([stdout, stderr]) => {
|
|
25
|
+
// if there are stderr messages, then we know the python version is not 3
|
|
26
|
+
if (stderr.length) {
|
|
27
|
+
handler();
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
handler(stdout.toString());
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
function stream2Promise(stream) {
|
|
34
|
+
const buffers = [];
|
|
35
|
+
return new Promise(resolve => {
|
|
36
|
+
stream.on('data', data => buffers.push(data));
|
|
37
|
+
stream.on('end', () => resolve(Buffer.concat(buffers)));
|
|
38
|
+
});
|
|
39
|
+
}
|
|
26
40
|
//# sourceMappingURL=bootstrap.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../../src/runtimes/python3/bootstrap.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,iDAAsC;AAEtC,8DAA8D;AAC9D,2DAA2D;AAC3D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE;IAC5B,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;CACxD;AAED,IAAI,SAAS,GAAG,SAAS,CAAC;AAC1B,SAAS,QAAQ;IAChB,SAAS,GAAG,QAAQ,CAAC;AACtB,CAAC;AACD,SAAS,OAAO,CAAC,IAAa;IAC7B,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../../src/runtimes/python3/bootstrap.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,iDAAsC;AAEtC,8DAA8D;AAC9D,2DAA2D;AAC3D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE;IAC5B,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;CACxD;AAED,IAAI,SAAS,GAAG,SAAS,CAAC;AAC1B,SAAS,QAAQ;IAChB,SAAS,GAAG,QAAQ,CAAC;AACtB,CAAC;AACD,SAAS,OAAO,CAAC,IAAa;IAC7B,MAAM,SAAS,GAAG,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAEtD,IAAI,CAAC,SAAS,EAAE;QACf,QAAQ,EAAE,CAAC;KACX;IAED,MAAM,SAAS,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IAClE,IAAA,qBAAK,EAAC,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;AACrD,CAAC;AACD,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,SAAS,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;AAC9C,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAE5B,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CACjE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE;IACpB,yEAAyE;IACzE,IAAI,MAAM,CAAC,MAAM,EAAE;QAClB,OAAO,EAAE,CAAC;KACV;SAAM;QACN,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;KAC3B;AACF,CAAC,CACD,CAAC;AAEF,SAAS,cAAc,CAAC,MAA6B;IACpD,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC5B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vercel/fun",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "Local Lambda development environment",
|
|
5
5
|
"main": "dist/src/index",
|
|
6
6
|
"typings": "dist/src/index",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"prebuild": "rimraf dist",
|
|
11
11
|
"build": "tsc",
|
|
12
12
|
"postbuild": "cpy --parents src test '!**/*.ts' dist",
|
|
13
|
-
"test": "echo \"Node.js version: $(node -v)\\n\" && yarn build &&
|
|
13
|
+
"test": "echo \"Node.js version: $(node -v)\\n\" && yarn build && jest --verbose test/test.js",
|
|
14
14
|
"test-codecov": "nyc npm test",
|
|
15
15
|
"report-codecov": "nyc report --reporter=text-lcov > coverage.lcov && codecov",
|
|
16
16
|
"lint:staged": "lint-staged",
|
|
@@ -22,16 +22,17 @@
|
|
|
22
22
|
],
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@tootallnate/once": "2.0.0",
|
|
25
|
-
"async-listen": "1.
|
|
25
|
+
"async-listen": "1.2.0",
|
|
26
26
|
"debug": "4.1.1",
|
|
27
27
|
"execa": "3.2.0",
|
|
28
28
|
"fs-extra": "8.1.0",
|
|
29
29
|
"generic-pool": "3.4.2",
|
|
30
30
|
"micro": "9.3.5-canary.3",
|
|
31
31
|
"ms": "2.1.1",
|
|
32
|
-
"node-fetch": "2.6.
|
|
32
|
+
"node-fetch": "2.6.7",
|
|
33
33
|
"path-match": "1.2.4",
|
|
34
34
|
"promisepipe": "3.0.0",
|
|
35
|
+
"semver": "7.3.5",
|
|
35
36
|
"stat-mode": "0.3.0",
|
|
36
37
|
"stream-to-promise": "2.2.0",
|
|
37
38
|
"tar": "4.4.18",
|
|
@@ -45,15 +46,16 @@
|
|
|
45
46
|
"@types/debug": "4.1.7",
|
|
46
47
|
"@types/fs-extra": "8.1.0",
|
|
47
48
|
"@types/generic-pool": "3.1.9",
|
|
49
|
+
"@types/jest": "27.0.2",
|
|
48
50
|
"@types/micro": "7.3.6",
|
|
49
51
|
"@types/node": "10.12.29",
|
|
50
52
|
"@types/node-fetch": "2.5.0",
|
|
51
53
|
"@types/tar": "4.0.0",
|
|
52
54
|
"@types/uuid": "8.3.1",
|
|
53
55
|
"@types/yauzl-promise": "2.1.0",
|
|
54
|
-
"@zeit/best": "0.5.1",
|
|
55
56
|
"codecov": "3.7.1",
|
|
56
57
|
"cpy-cli": "2.0.0",
|
|
58
|
+
"jest": "27.3.1",
|
|
57
59
|
"lint-staged": "9.2.5",
|
|
58
60
|
"nyc": "14.1.1",
|
|
59
61
|
"pkg": "4.3.7",
|
|
@@ -61,9 +63,20 @@
|
|
|
61
63
|
"prettier": "1.15.3",
|
|
62
64
|
"rimraf": "2.6.3",
|
|
63
65
|
"source-map-support": "0.5.10",
|
|
66
|
+
"ts-jest": "27.0.7",
|
|
64
67
|
"typescript": "4.4.4"
|
|
65
68
|
},
|
|
66
69
|
"pre-commit": "lint:staged",
|
|
70
|
+
"jest": {
|
|
71
|
+
"preset": "ts-jest",
|
|
72
|
+
"globals": {
|
|
73
|
+
"ts-jest": {
|
|
74
|
+
"diagnostics": false,
|
|
75
|
+
"isolatedModules": true
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
"testEnvironment": "node"
|
|
79
|
+
},
|
|
67
80
|
"lint-staged": {
|
|
68
81
|
"*.ts": [
|
|
69
82
|
"prettier --write --single-quote",
|