@backstage/cli 0.28.1 → 0.29.0-next.1
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/CHANGELOG.md +67 -2
- package/config/jest.js +57 -29
- package/config/jestRejectNetworkRequests.js +59 -0
- package/config/nodeTransform.cjs +33 -0
- package/dist/commands/build/buildFrontend.cjs.js +8 -11
- package/dist/commands/buildWorkspace.cjs.js +1 -1
- package/dist/commands/index.cjs.js +9 -3
- package/dist/commands/repo/lint.cjs.js +15 -33
- package/dist/commands/repo/test.cjs.js +35 -33
- package/dist/commands/start/command.cjs.js +1 -0
- package/dist/commands/start/startBackend.cjs.js +23 -92
- package/dist/commands/start/startFrontend.cjs.js +6 -8
- package/dist/commands/versions/bump.cjs.js +9 -3
- package/dist/lib/bundler/config.cjs.js +20 -138
- package/dist/lib/bundler/linkWorkspaces.cjs.js +31 -0
- package/dist/lib/cache/SuccessCache.cjs.js +79 -0
- package/dist/lib/packager/createDistWorkspace.cjs.js +3 -3
- package/dist/lib/{experimental/startBackendExperimental.cjs.js → runner/runBackend.cjs.js} +6 -5
- package/dist/packages/backend-defaults/package.json.cjs.js +1 -1
- package/dist/packages/backend-plugin-api/package.json.cjs.js +1 -1
- package/dist/packages/backend-test-utils/package.json.cjs.js +1 -1
- package/dist/packages/catalog-client/package.json.cjs.js +1 -1
- package/dist/packages/cli/package.json.cjs.js +4 -6
- package/dist/packages/core-components/package.json.cjs.js +1 -1
- package/dist/packages/dev-utils/package.json.cjs.js +1 -1
- package/dist/packages/test-utils/package.json.cjs.js +1 -1
- package/dist/packages/theme/package.json.cjs.js +1 -1
- package/dist/plugins/auth-backend/package.json.cjs.js +1 -1
- package/dist/plugins/auth-backend-module-guest-provider/package.json.cjs.js +1 -1
- package/dist/plugins/catalog-node/package.json.cjs.js +1 -1
- package/dist/plugins/scaffolder-node/package.json.cjs.js +1 -1
- package/dist/plugins/scaffolder-node-test-utils/package.json.cjs.js +1 -1
- package/package.json +30 -32
- package/dist/lib/bundler/LinkedPackageResolvePlugin.cjs.js +0 -47
- package/dist/lib/bundler/backend.cjs.js +0 -36
- /package/dist/lib/{experimental → ipc}/IpcServer.cjs.js +0 -0
- /package/dist/lib/{experimental → ipc}/ServerDataStore.cjs.js +0 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var fs = require('fs-extra');
|
|
4
|
+
var node_path = require('node:path');
|
|
5
|
+
var paths = require('../paths.cjs.js');
|
|
6
|
+
|
|
7
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
8
|
+
|
|
9
|
+
var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
|
|
10
|
+
|
|
11
|
+
const DEFAULT_CACHE_BASE_PATH = "node_modules/.cache/backstage-cli";
|
|
12
|
+
const CACHE_MAX_AGE_MS = 7 * 24 * 36e5;
|
|
13
|
+
class SuccessCache {
|
|
14
|
+
#path;
|
|
15
|
+
/**
|
|
16
|
+
* Trim any occurrences of the workspace root path from the input string. This
|
|
17
|
+
* is useful to ensure stable hashes that don't vary based on the workspace
|
|
18
|
+
* location.
|
|
19
|
+
*/
|
|
20
|
+
static trimPaths(input) {
|
|
21
|
+
return input.replaceAll(paths.paths.targetRoot, "");
|
|
22
|
+
}
|
|
23
|
+
constructor(name, basePath) {
|
|
24
|
+
this.#path = node_path.resolve(basePath ?? DEFAULT_CACHE_BASE_PATH, name);
|
|
25
|
+
}
|
|
26
|
+
async read() {
|
|
27
|
+
try {
|
|
28
|
+
const stat = await fs__default.default.stat(this.#path);
|
|
29
|
+
if (!stat.isDirectory()) {
|
|
30
|
+
await fs__default.default.rm(this.#path);
|
|
31
|
+
return /* @__PURE__ */ new Set();
|
|
32
|
+
}
|
|
33
|
+
} catch (error) {
|
|
34
|
+
if (error.code === "ENOENT") {
|
|
35
|
+
return /* @__PURE__ */ new Set();
|
|
36
|
+
}
|
|
37
|
+
throw error;
|
|
38
|
+
}
|
|
39
|
+
const items = await fs__default.default.readdir(this.#path);
|
|
40
|
+
const returned = /* @__PURE__ */ new Set();
|
|
41
|
+
const removed = /* @__PURE__ */ new Set();
|
|
42
|
+
const now = Date.now();
|
|
43
|
+
for (const item of items) {
|
|
44
|
+
const split = item.split("_");
|
|
45
|
+
if (split.length !== 2) {
|
|
46
|
+
removed.add(item);
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
const createdAt = parseInt(split[0], 10);
|
|
50
|
+
if (Number.isNaN(createdAt) || now - createdAt > CACHE_MAX_AGE_MS) {
|
|
51
|
+
removed.add(item);
|
|
52
|
+
} else {
|
|
53
|
+
returned.add(split[1]);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
for (const item of removed) {
|
|
57
|
+
await fs__default.default.unlink(node_path.resolve(this.#path, item));
|
|
58
|
+
}
|
|
59
|
+
return returned;
|
|
60
|
+
}
|
|
61
|
+
async write(newEntries) {
|
|
62
|
+
const now = Date.now();
|
|
63
|
+
await fs__default.default.ensureDir(this.#path);
|
|
64
|
+
const existingItems = await fs__default.default.readdir(this.#path);
|
|
65
|
+
const empty = Buffer.alloc(0);
|
|
66
|
+
for (const key of newEntries) {
|
|
67
|
+
const trimmedItems = existingItems.filter(
|
|
68
|
+
(item) => item.endsWith(`_${key}`)
|
|
69
|
+
);
|
|
70
|
+
for (const trimmedItem of trimmedItems) {
|
|
71
|
+
await fs__default.default.unlink(node_path.resolve(this.#path, trimmedItem));
|
|
72
|
+
}
|
|
73
|
+
await fs__default.default.writeFile(node_path.resolve(this.#path, `${now}_${key}`), empty);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
exports.SuccessCache = SuccessCache;
|
|
79
|
+
//# sourceMappingURL=SuccessCache.cjs.js.map
|
|
@@ -118,7 +118,7 @@ async function createDistWorkspace(packageNames, options = {}) {
|
|
|
118
118
|
await moveToDistWorkspace(
|
|
119
119
|
targetDir,
|
|
120
120
|
targets,
|
|
121
|
-
Boolean(options.
|
|
121
|
+
Boolean(options.alwaysPack),
|
|
122
122
|
Boolean(options.enableFeatureDetection)
|
|
123
123
|
);
|
|
124
124
|
const files = options.files ?? ["yarn.lock", "package.json"];
|
|
@@ -150,10 +150,10 @@ const FAST_PACK_SCRIPTS = [
|
|
|
150
150
|
"backstage-cli prepack",
|
|
151
151
|
"backstage-cli package prepack"
|
|
152
152
|
];
|
|
153
|
-
async function moveToDistWorkspace(workspaceDir, localPackages,
|
|
153
|
+
async function moveToDistWorkspace(workspaceDir, localPackages, alwaysPack, enableFeatureDetection) {
|
|
154
154
|
const [fastPackPackages, slowPackPackages] = partition__default.default(
|
|
155
155
|
localPackages,
|
|
156
|
-
(pkg) => !
|
|
156
|
+
(pkg) => !alwaysPack && FAST_PACK_SCRIPTS.includes(pkg.packageJson.scripts?.prepack)
|
|
157
157
|
);
|
|
158
158
|
const featureDetectionProject = fastPackPackages.length > 0 && enableFeatureDetection ? await typeDistProject.createTypeDistProject() : void 0;
|
|
159
159
|
await Promise.all(
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
var chokidar = require('chokidar');
|
|
4
4
|
var ctrlcWindows = require('ctrlc-windows');
|
|
5
|
-
var IpcServer = require('
|
|
6
|
-
var ServerDataStore = require('
|
|
5
|
+
var IpcServer = require('../ipc/IpcServer.cjs.js');
|
|
6
|
+
var ServerDataStore = require('../ipc/ServerDataStore.cjs.js');
|
|
7
7
|
var debounce = require('lodash/debounce');
|
|
8
8
|
var url = require('url');
|
|
9
9
|
var path = require('path');
|
|
@@ -21,7 +21,7 @@ const loaderArgs = [
|
|
|
21
21
|
require.resolve("@backstage/cli/config/nodeTransform.cjs")
|
|
22
22
|
// TODO: Support modules, although there's currently no way to load them since import() is transpiled tp require()
|
|
23
23
|
];
|
|
24
|
-
async function
|
|
24
|
+
async function runBackend(options) {
|
|
25
25
|
const envEnv = process.env;
|
|
26
26
|
if (!envEnv.NODE_ENV) {
|
|
27
27
|
envEnv.NODE_ENV = "development";
|
|
@@ -77,6 +77,7 @@ async function startBackendExperimental(options) {
|
|
|
77
77
|
stdio: ["ignore", "inherit", "inherit", "ipc"],
|
|
78
78
|
env: {
|
|
79
79
|
...process.env,
|
|
80
|
+
BACKSTAGE_CLI_LINKED_WORKSPACE: options.linkedWorkspace,
|
|
80
81
|
BACKSTAGE_CLI_CHANNEL: "1",
|
|
81
82
|
ESBK_TSCONFIG_PATH: paths.paths.resolveTargetRoot("tsconfig.json")
|
|
82
83
|
},
|
|
@@ -124,5 +125,5 @@ async function startBackendExperimental(options) {
|
|
|
124
125
|
return () => exitPromise;
|
|
125
126
|
}
|
|
126
127
|
|
|
127
|
-
exports.
|
|
128
|
-
//# sourceMappingURL=
|
|
128
|
+
exports.runBackend = runBackend;
|
|
129
|
+
//# sourceMappingURL=runBackend.cjs.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var version = "0.
|
|
3
|
+
var version = "0.29.0-next.1";
|
|
4
4
|
var dependencies = {
|
|
5
5
|
"@backstage/catalog-model": "workspace:^",
|
|
6
6
|
"@backstage/cli-common": "workspace:^",
|
|
@@ -101,7 +101,6 @@ var dependencies = {
|
|
|
101
101
|
"rollup-plugin-esbuild": "^6.1.1",
|
|
102
102
|
"rollup-plugin-postcss": "^4.0.0",
|
|
103
103
|
"rollup-pluginutils": "^2.8.2",
|
|
104
|
-
"run-script-webpack-plugin": "^0.2.0",
|
|
105
104
|
semver: "^7.5.3",
|
|
106
105
|
"style-loader": "^3.3.1",
|
|
107
106
|
sucrase: "^3.20.2",
|
|
@@ -110,9 +109,8 @@ var dependencies = {
|
|
|
110
109
|
"terser-webpack-plugin": "^5.1.3",
|
|
111
110
|
"ts-morph": "^23.0.0",
|
|
112
111
|
util: "^0.12.3",
|
|
113
|
-
webpack: "^5.
|
|
112
|
+
webpack: "^5.94.0",
|
|
114
113
|
"webpack-dev-server": "^5.0.0",
|
|
115
|
-
"webpack-node-externals": "^3.0.0",
|
|
116
114
|
yaml: "^2.0.0",
|
|
117
115
|
yargs: "^16.2.0",
|
|
118
116
|
"yml-loader": "^2.1.0",
|
|
@@ -146,7 +144,7 @@ var devDependencies = {
|
|
|
146
144
|
"@types/fs-extra": "^11.0.0",
|
|
147
145
|
"@types/http-proxy": "^1.17.4",
|
|
148
146
|
"@types/inquirer": "^8.1.3",
|
|
149
|
-
"@types/node": "^
|
|
147
|
+
"@types/node": "^20.16.0",
|
|
150
148
|
"@types/npm-packlist": "^3.0.0",
|
|
151
149
|
"@types/recursive-readdir": "^2.2.0",
|
|
152
150
|
"@types/rollup-plugin-peer-deps-external": "^2.2.0",
|
|
@@ -157,7 +155,7 @@ var devDependencies = {
|
|
|
157
155
|
"@types/webpack-sources": "^3.2.3",
|
|
158
156
|
"@types/yarnpkg__lockfile": "^1.1.4",
|
|
159
157
|
"@vitejs/plugin-react": "^4.3.1",
|
|
160
|
-
del: "^
|
|
158
|
+
del: "^8.0.0",
|
|
161
159
|
msw: "^1.0.0",
|
|
162
160
|
nodemon: "^3.0.1",
|
|
163
161
|
vite: "^5.0.0",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@backstage/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.29.0-next.1",
|
|
4
4
|
"description": "CLI for developing Backstage plugins and apps",
|
|
5
5
|
"backstage": {
|
|
6
6
|
"role": "cli"
|
|
@@ -42,16 +42,16 @@
|
|
|
42
42
|
"watch": "./src"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@backstage/catalog-model": "
|
|
46
|
-
"@backstage/cli-common": "
|
|
47
|
-
"@backstage/cli-node": "
|
|
48
|
-
"@backstage/config": "
|
|
49
|
-
"@backstage/config-loader": "
|
|
50
|
-
"@backstage/errors": "
|
|
51
|
-
"@backstage/eslint-plugin": "
|
|
52
|
-
"@backstage/integration": "
|
|
53
|
-
"@backstage/release-manifests": "
|
|
54
|
-
"@backstage/types": "
|
|
45
|
+
"@backstage/catalog-model": "1.7.0",
|
|
46
|
+
"@backstage/cli-common": "0.1.15-next.0",
|
|
47
|
+
"@backstage/cli-node": "0.2.10-next.0",
|
|
48
|
+
"@backstage/config": "1.2.0",
|
|
49
|
+
"@backstage/config-loader": "1.9.2-next.0",
|
|
50
|
+
"@backstage/errors": "1.2.4",
|
|
51
|
+
"@backstage/eslint-plugin": "0.1.10",
|
|
52
|
+
"@backstage/integration": "1.15.1",
|
|
53
|
+
"@backstage/release-manifests": "0.0.11",
|
|
54
|
+
"@backstage/types": "1.1.1",
|
|
55
55
|
"@manypkg/get-packages": "^1.1.3",
|
|
56
56
|
"@module-federation/enhanced": "^0.6.0",
|
|
57
57
|
"@octokit/graphql": "^5.0.0",
|
|
@@ -141,7 +141,6 @@
|
|
|
141
141
|
"rollup-plugin-esbuild": "^6.1.1",
|
|
142
142
|
"rollup-plugin-postcss": "^4.0.0",
|
|
143
143
|
"rollup-pluginutils": "^2.8.2",
|
|
144
|
-
"run-script-webpack-plugin": "^0.2.0",
|
|
145
144
|
"semver": "^7.5.3",
|
|
146
145
|
"style-loader": "^3.3.1",
|
|
147
146
|
"sucrase": "^3.20.2",
|
|
@@ -150,9 +149,8 @@
|
|
|
150
149
|
"terser-webpack-plugin": "^5.1.3",
|
|
151
150
|
"ts-morph": "^23.0.0",
|
|
152
151
|
"util": "^0.12.3",
|
|
153
|
-
"webpack": "^5.
|
|
152
|
+
"webpack": "^5.94.0",
|
|
154
153
|
"webpack-dev-server": "^5.0.0",
|
|
155
|
-
"webpack-node-externals": "^3.0.0",
|
|
156
154
|
"yaml": "^2.0.0",
|
|
157
155
|
"yargs": "^16.2.0",
|
|
158
156
|
"yml-loader": "^2.1.0",
|
|
@@ -161,22 +159,22 @@
|
|
|
161
159
|
},
|
|
162
160
|
"devDependencies": {
|
|
163
161
|
"@backstage/backend-common": "^0.25.0",
|
|
164
|
-
"@backstage/backend-plugin-api": "
|
|
165
|
-
"@backstage/backend-test-utils": "
|
|
166
|
-
"@backstage/catalog-client": "
|
|
167
|
-
"@backstage/config": "
|
|
168
|
-
"@backstage/core-app-api": "
|
|
169
|
-
"@backstage/core-components": "
|
|
170
|
-
"@backstage/core-plugin-api": "
|
|
171
|
-
"@backstage/dev-utils": "
|
|
172
|
-
"@backstage/errors": "
|
|
173
|
-
"@backstage/plugin-auth-backend": "
|
|
174
|
-
"@backstage/plugin-auth-backend-module-guest-provider": "
|
|
175
|
-
"@backstage/plugin-catalog-node": "
|
|
176
|
-
"@backstage/plugin-scaffolder-node": "
|
|
177
|
-
"@backstage/plugin-scaffolder-node-test-utils": "
|
|
178
|
-
"@backstage/test-utils": "
|
|
179
|
-
"@backstage/theme": "
|
|
162
|
+
"@backstage/backend-plugin-api": "1.0.2-next.1",
|
|
163
|
+
"@backstage/backend-test-utils": "1.0.3-next.1",
|
|
164
|
+
"@backstage/catalog-client": "1.8.0-next.0",
|
|
165
|
+
"@backstage/config": "1.2.0",
|
|
166
|
+
"@backstage/core-app-api": "1.15.1",
|
|
167
|
+
"@backstage/core-components": "0.16.0-next.1",
|
|
168
|
+
"@backstage/core-plugin-api": "1.10.0",
|
|
169
|
+
"@backstage/dev-utils": "1.1.3-next.1",
|
|
170
|
+
"@backstage/errors": "1.2.4",
|
|
171
|
+
"@backstage/plugin-auth-backend": "0.24.0-next.1",
|
|
172
|
+
"@backstage/plugin-auth-backend-module-guest-provider": "0.2.2-next.1",
|
|
173
|
+
"@backstage/plugin-catalog-node": "1.14.0-next.1",
|
|
174
|
+
"@backstage/plugin-scaffolder-node": "0.5.1-next.1",
|
|
175
|
+
"@backstage/plugin-scaffolder-node-test-utils": "0.1.15-next.1",
|
|
176
|
+
"@backstage/test-utils": "1.7.1-next.0",
|
|
177
|
+
"@backstage/theme": "0.6.1-next.0",
|
|
180
178
|
"@rspack/core": "^1.0.10",
|
|
181
179
|
"@rspack/dev-server": "^1.0.9",
|
|
182
180
|
"@rspack/plugin-react-refresh": "^1.0.0",
|
|
@@ -186,7 +184,7 @@
|
|
|
186
184
|
"@types/fs-extra": "^11.0.0",
|
|
187
185
|
"@types/http-proxy": "^1.17.4",
|
|
188
186
|
"@types/inquirer": "^8.1.3",
|
|
189
|
-
"@types/node": "^
|
|
187
|
+
"@types/node": "^20.16.0",
|
|
190
188
|
"@types/npm-packlist": "^3.0.0",
|
|
191
189
|
"@types/recursive-readdir": "^2.2.0",
|
|
192
190
|
"@types/rollup-plugin-peer-deps-external": "^2.2.0",
|
|
@@ -197,7 +195,7 @@
|
|
|
197
195
|
"@types/webpack-sources": "^3.2.3",
|
|
198
196
|
"@types/yarnpkg__lockfile": "^1.1.4",
|
|
199
197
|
"@vitejs/plugin-react": "^4.3.1",
|
|
200
|
-
"del": "^
|
|
198
|
+
"del": "^8.0.0",
|
|
201
199
|
"msw": "^1.0.0",
|
|
202
200
|
"nodemon": "^3.0.1",
|
|
203
201
|
"vite": "^5.0.0",
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var path = require('path');
|
|
4
|
-
var cliCommon = require('@backstage/cli-common');
|
|
5
|
-
|
|
6
|
-
class LinkedPackageResolvePlugin {
|
|
7
|
-
constructor(targetModules, packages) {
|
|
8
|
-
this.targetModules = targetModules;
|
|
9
|
-
this.packages = packages;
|
|
10
|
-
}
|
|
11
|
-
apply(resolver) {
|
|
12
|
-
resolver.hooks.resolve.tapAsync(
|
|
13
|
-
"LinkedPackageResolvePlugin",
|
|
14
|
-
(data, context, callback) => {
|
|
15
|
-
const pkg = this.packages.find(
|
|
16
|
-
(pkge) => data.path && cliCommon.isChildPath(pkge.dir, data.path)
|
|
17
|
-
);
|
|
18
|
-
if (!pkg) {
|
|
19
|
-
callback();
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
const modulesLocation = path.resolve(
|
|
23
|
-
this.targetModules,
|
|
24
|
-
pkg.packageJson.name
|
|
25
|
-
);
|
|
26
|
-
const newContext = data.context?.issuer ? {
|
|
27
|
-
...data.context,
|
|
28
|
-
issuer: data.context.issuer.replace(pkg.dir, modulesLocation)
|
|
29
|
-
} : data.context;
|
|
30
|
-
resolver.doResolve(
|
|
31
|
-
resolver.hooks.resolve,
|
|
32
|
-
{
|
|
33
|
-
...data,
|
|
34
|
-
context: newContext,
|
|
35
|
-
path: data.path && data.path.replace(pkg.dir, modulesLocation)
|
|
36
|
-
},
|
|
37
|
-
`resolve ${data.request} in ${modulesLocation}`,
|
|
38
|
-
context,
|
|
39
|
-
callback
|
|
40
|
-
);
|
|
41
|
-
}
|
|
42
|
-
);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
exports.LinkedPackageResolvePlugin = LinkedPackageResolvePlugin;
|
|
47
|
-
//# sourceMappingURL=LinkedPackageResolvePlugin.cjs.js.map
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var webpack = require('webpack');
|
|
4
|
-
var config = require('./config.cjs.js');
|
|
5
|
-
var paths = require('./paths.cjs.js');
|
|
6
|
-
|
|
7
|
-
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
8
|
-
|
|
9
|
-
var webpack__default = /*#__PURE__*/_interopDefaultCompat(webpack);
|
|
10
|
-
|
|
11
|
-
async function serveBackend(options) {
|
|
12
|
-
const paths$1 = paths.resolveBundlingPaths(options);
|
|
13
|
-
const config$1 = await config.createBackendConfig(paths$1, {
|
|
14
|
-
...options,
|
|
15
|
-
isDev: true
|
|
16
|
-
});
|
|
17
|
-
process.env.NODE_ENV = "development";
|
|
18
|
-
const compiler = webpack__default.default(config$1, (err) => {
|
|
19
|
-
if (err) {
|
|
20
|
-
console.error(err);
|
|
21
|
-
} else console.log("Build succeeded");
|
|
22
|
-
});
|
|
23
|
-
const waitForExit = async () => {
|
|
24
|
-
for (const signal of ["SIGINT", "SIGTERM"]) {
|
|
25
|
-
process.on(signal, () => {
|
|
26
|
-
compiler.close(() => process.exit());
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
return new Promise(() => {
|
|
30
|
-
});
|
|
31
|
-
};
|
|
32
|
-
return waitForExit;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
exports.serveBackend = serveBackend;
|
|
36
|
-
//# sourceMappingURL=backend.cjs.js.map
|
|
File without changes
|
|
File without changes
|