@backstage/cli 0.28.0-next.1 → 0.28.0-next.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/CHANGELOG.md +25 -0
- package/config/jest.js +9 -1
- package/config/jestCacheResultProcessor.cjs +23 -0
- package/config/jestSwcTransform.js +4 -1
- package/dist/commands/build/buildBackend.cjs.js +65 -0
- package/dist/commands/build/buildFrontend.cjs.js +56 -0
- package/dist/commands/build/command.cjs.js +72 -0
- package/dist/commands/build/index.cjs.js +8 -0
- package/dist/commands/buildWorkspace.cjs.js +24 -0
- package/dist/commands/clean/clean.cjs.js +19 -0
- package/dist/{cjs/docs-BGyA6jwW.cjs.js → commands/config/docs.cjs.js} +4 -12
- package/dist/{cjs/print-Dd6aChXU.cjs.js → commands/config/print.cjs.js} +4 -12
- package/dist/{cjs/schema-D93FRhBL.cjs.js → commands/config/schema.cjs.js} +4 -12
- package/dist/commands/config/validate.cjs.js +19 -0
- package/dist/{cjs/index-j193pV_Y.cjs.js → commands/create-github-app/GithubCreateAppServer.cjs.js} +2 -110
- package/dist/commands/create-github-app/index.cjs.js +117 -0
- package/dist/commands/index.cjs.js +231 -0
- package/dist/{cjs/info-DuAv1Tsx.cjs.js → commands/info.cjs.js} +13 -17
- package/dist/{cjs/lint-BwiDJkjE.cjs.js → commands/lint.cjs.js} +10 -10
- package/dist/commands/migrate/packageExports.cjs.js +17 -0
- package/dist/{cjs/packageLintConfigs-DeUGBP17.cjs.js → commands/migrate/packageLintConfigs.cjs.js} +2 -10
- package/dist/{cjs/packageRole-Iuv9NRii.cjs.js → commands/migrate/packageRole.cjs.js} +5 -8
- package/dist/{cjs/packageScripts-DX6dilK6.cjs.js → commands/migrate/packageScripts.cjs.js} +1 -1
- package/dist/{cjs/reactRouterDeps-CR-hjviw.cjs.js → commands/migrate/reactRouterDeps.cjs.js} +1 -1
- package/dist/commands/new/new.cjs.js +101 -0
- package/dist/commands/pack.cjs.js +29 -0
- package/dist/commands/repo/build.cjs.js +113 -0
- package/dist/{cjs/clean-a6Q4k9Vm.cjs.js → commands/repo/clean.cjs.js} +5 -10
- package/dist/{cjs/fix-COitqgqm.cjs.js → commands/repo/fix.cjs.js} +8 -13
- package/dist/commands/repo/lint.cjs.js +193 -0
- package/dist/{cjs/list-deprecations-CtUaQgaP.cjs.js → commands/repo/list-deprecations.cjs.js} +7 -12
- package/dist/commands/repo/optionsParser.cjs.js +37 -0
- package/dist/commands/repo/test.cjs.js +274 -0
- package/dist/commands/start/command.cjs.js +48 -0
- package/dist/commands/start/index.cjs.js +8 -0
- package/dist/commands/start/startBackend.cjs.js +112 -0
- package/dist/commands/start/startFrontend.cjs.js +47 -0
- package/dist/{cjs/test-COxIko8N.cjs.js → commands/test.cjs.js} +6 -12
- package/dist/{cjs/bump-BHEh5ytx.cjs.js → commands/versions/bump.cjs.js} +21 -190
- package/dist/commands/versions/migrate.cjs.js +112 -0
- package/dist/index.cjs.js +29 -7
- package/dist/lib/builder/config.cjs.js +199 -0
- package/dist/lib/builder/packager.cjs.js +131 -0
- package/dist/lib/builder/plugins.cjs.js +71 -0
- package/dist/lib/builder/types.cjs.js +11 -0
- package/dist/lib/bundler/LinkedPackageResolvePlugin.cjs.js +47 -0
- package/dist/lib/bundler/backend.cjs.js +36 -0
- package/dist/{cjs/buildBackend-CkhZWCz1.cjs.js → lib/bundler/bundle.cjs.js} +26 -113
- package/dist/lib/bundler/config.cjs.js +469 -0
- package/dist/lib/bundler/hasReactDomClient.cjs.js +13 -0
- package/dist/lib/bundler/moduleFederation.cjs.js +28 -0
- package/dist/lib/bundler/optimization.cjs.js +63 -0
- package/dist/lib/bundler/packageDetection.cjs.js +117 -0
- package/dist/lib/bundler/paths.cjs.js +60 -0
- package/dist/lib/bundler/server.cjs.js +246 -0
- package/dist/lib/bundler/transforms.cjs.js +171 -0
- package/dist/lib/codeowners/codeowners.cjs.js +92 -0
- package/dist/{cjs/config-DBpmZirN.cjs.js → lib/config.cjs.js} +6 -6
- package/dist/{cjs/entryPoints-coip0t-x.cjs.js → lib/entryPoints.cjs.js} +1 -1
- package/dist/lib/errors.cjs.js +45 -0
- package/dist/lib/experimental/IpcServer.cjs.js +60 -0
- package/dist/lib/experimental/ServerDataStore.cjs.js +36 -0
- package/dist/lib/experimental/startBackendExperimental.cjs.js +128 -0
- package/dist/lib/new/FactoryRegistry.cjs.js +96 -0
- package/dist/lib/new/factories/backendModule.cjs.js +82 -0
- package/dist/lib/new/factories/backendPlugin.cjs.js +78 -0
- package/dist/lib/new/factories/common/prompts.cjs.js +57 -0
- package/dist/lib/new/factories/common/tasks.cjs.js +66 -0
- package/dist/lib/new/factories/common/util.cjs.js +16 -0
- package/dist/lib/new/factories/frontendPlugin.cjs.js +107 -0
- package/dist/lib/new/factories/index.cjs.js +24 -0
- package/dist/lib/new/factories/nodeLibraryPackage.cjs.js +57 -0
- package/dist/lib/new/factories/pluginCommon.cjs.js +58 -0
- package/dist/lib/new/factories/pluginNode.cjs.js +58 -0
- package/dist/lib/new/factories/pluginWeb.cjs.js +58 -0
- package/dist/lib/new/factories/scaffolderModule.cjs.js +90 -0
- package/dist/lib/new/factories/webLibraryPackage.cjs.js +57 -0
- package/dist/lib/new/types.cjs.js +8 -0
- package/dist/lib/packager/createDistWorkspace.cjs.js +219 -0
- package/dist/{cjs/productionPack-BxoMbBkH.cjs.js → lib/packager/productionPack.cjs.js} +8 -96
- package/dist/{cjs/parallel-BszNaKyc.cjs.js → lib/parallel.cjs.js} +2 -1
- package/dist/lib/paths.cjs.js +8 -0
- package/dist/{cjs/publishing-DQtsKTbc.cjs.js → lib/publishing.cjs.js} +1 -1
- package/dist/{cjs/role-BjiBExhi.cjs.js → lib/role.cjs.js} +3 -3
- package/dist/{cjs/run-CpZGNJQr.cjs.js → lib/run.cjs.js} +6 -5
- package/dist/{cjs/svgrTemplate-BTjBQ3by.cjs.js → lib/svgrTemplate.cjs.js} +1 -1
- package/dist/lib/tasks.cjs.js +188 -0
- package/dist/lib/typeDistProject.cjs.js +94 -0
- package/dist/lib/urls.cjs.js +13 -0
- package/dist/lib/version.cjs.js +86 -0
- package/dist/{cjs/yarn-6FNAgNBK.cjs.js → lib/versioning/Lockfile.cjs.js} +1 -31
- package/dist/lib/versioning/packages.cjs.js +75 -0
- package/dist/lib/yarn.cjs.js +34 -0
- package/dist/packages/backend-defaults/package.json.cjs.js +6 -0
- package/dist/packages/backend-plugin-api/package.json.cjs.js +6 -0
- package/dist/packages/backend-test-utils/package.json.cjs.js +6 -0
- package/dist/packages/cli/package.json.cjs.js +159 -0
- package/dist/packages/config/package.json.cjs.js +6 -0
- package/dist/packages/core-app-api/package.json.cjs.js +6 -0
- package/dist/packages/core-components/package.json.cjs.js +6 -0
- package/dist/packages/core-plugin-api/package.json.cjs.js +6 -0
- package/dist/packages/dev-utils/package.json.cjs.js +6 -0
- package/dist/packages/test-utils/package.json.cjs.js +6 -0
- package/dist/packages/theme/package.json.cjs.js +6 -0
- package/dist/plugins/auth-backend/package.json.cjs.js +6 -0
- package/dist/plugins/auth-backend-module-guest-provider/package.json.cjs.js +6 -0
- package/dist/plugins/scaffolder-node/package.json.cjs.js +6 -0
- package/package.json +13 -11
- package/dist/cjs/build-CQdcGuBr.cjs.js +0 -194
- package/dist/cjs/buildWorkspace-CZPp9oRm.cjs.js +0 -53
- package/dist/cjs/clean-W6nxsHeK.cjs.js +0 -22
- package/dist/cjs/createDistWorkspace-DdHPGSMS.cjs.js +0 -576
- package/dist/cjs/index-BXv4Xa2e.cjs.js +0 -625
- package/dist/cjs/index-CGuAP7nv.cjs.js +0 -131
- package/dist/cjs/index-b1ouG3q6.cjs.js +0 -518
- package/dist/cjs/lint-Dsiocf9K.cjs.js +0 -91
- package/dist/cjs/moduleFederation-DmStnvEg.cjs.js +0 -910
- package/dist/cjs/new-CEnFhTT-.cjs.js +0 -1043
- package/dist/cjs/pack-XLRcGJqH.cjs.js +0 -34
- package/dist/cjs/packageExports-BJBwdvUH.cjs.js +0 -27
- package/dist/cjs/test-JcLI2pPM.cjs.js +0 -126
- package/dist/cjs/validate-CELljsEX.cjs.js +0 -28
- /package/templates/default-backend-module/{.eslintrc.js → .eslintrc.js.hbs} +0 -0
- /package/templates/default-backend-plugin/{.eslintrc.js → .eslintrc.js.hbs} +0 -0
- /package/templates/default-common-plugin-package/{.eslintrc.js → .eslintrc.js.hbs} +0 -0
- /package/templates/default-node-plugin-package/{.eslintrc.js → .eslintrc.js.hbs} +0 -0
- /package/templates/default-plugin/{.eslintrc.js → .eslintrc.js.hbs} +0 -0
- /package/templates/default-react-plugin-package/{.eslintrc.js → .eslintrc.js.hbs} +0 -0
- /package/templates/node-library-package/{.eslintrc.js → .eslintrc.js.hbs} +0 -0
- /package/templates/scaffolder-module/{.eslintrc.js → .eslintrc.js.hbs} +0 -0
- /package/templates/web-library-package/{.eslintrc.js → .eslintrc.js.hbs} +0 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var fs = require('fs-extra');
|
|
4
|
+
var rollup = require('rollup');
|
|
5
|
+
var chalk = require('chalk');
|
|
6
|
+
var path = require('path');
|
|
7
|
+
var paths = require('../paths.cjs.js');
|
|
8
|
+
var config = require('./config.cjs.js');
|
|
9
|
+
var types = require('./types.cjs.js');
|
|
10
|
+
var cliNode = require('@backstage/cli-node');
|
|
11
|
+
var parallel = require('../parallel.cjs.js');
|
|
12
|
+
|
|
13
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
14
|
+
|
|
15
|
+
var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
|
|
16
|
+
var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
|
|
17
|
+
|
|
18
|
+
function formatErrorMessage(error) {
|
|
19
|
+
let msg = "";
|
|
20
|
+
if (error.code === "PLUGIN_ERROR") {
|
|
21
|
+
if (error.plugin === "esbuild") {
|
|
22
|
+
msg += `${error.message}`;
|
|
23
|
+
if (error.errors?.length) {
|
|
24
|
+
msg += `
|
|
25
|
+
|
|
26
|
+
`;
|
|
27
|
+
for (const { text, location } of error.errors) {
|
|
28
|
+
const { line, column } = location;
|
|
29
|
+
const path$1 = path.relative(paths.paths.targetDir, error.id);
|
|
30
|
+
const loc = chalk__default.default.cyan(`${path$1}:${line}:${column}`);
|
|
31
|
+
if (text === 'Unexpected "<"' && error.id.endsWith(".js")) {
|
|
32
|
+
msg += `${loc}: ${text}, JavaScript files with JSX should use a .jsx extension`;
|
|
33
|
+
} else {
|
|
34
|
+
msg += `${loc}: ${text}`;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
} else {
|
|
39
|
+
msg += `(plugin ${error.plugin}) ${error}
|
|
40
|
+
`;
|
|
41
|
+
}
|
|
42
|
+
} else {
|
|
43
|
+
if (error.loc) {
|
|
44
|
+
const file = `${paths.paths.resolveTarget(error.loc.file || error.id)}`;
|
|
45
|
+
const pos = `${error.loc.line}:${error.loc.column}`;
|
|
46
|
+
msg += `${file} [${pos}]
|
|
47
|
+
`;
|
|
48
|
+
} else if (error.id) {
|
|
49
|
+
msg += `${paths.paths.resolveTarget(error.id)}
|
|
50
|
+
`;
|
|
51
|
+
}
|
|
52
|
+
msg += `${error}
|
|
53
|
+
`;
|
|
54
|
+
if (error.url) {
|
|
55
|
+
msg += `${chalk__default.default.cyan(error.url)}
|
|
56
|
+
`;
|
|
57
|
+
}
|
|
58
|
+
if (error.frame) {
|
|
59
|
+
msg += `${chalk__default.default.dim(error.frame)}
|
|
60
|
+
`;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return msg;
|
|
64
|
+
}
|
|
65
|
+
async function rollupBuild(config) {
|
|
66
|
+
try {
|
|
67
|
+
const bundle = await rollup.rollup(config);
|
|
68
|
+
if (config.output) {
|
|
69
|
+
for (const output of [config.output].flat()) {
|
|
70
|
+
await bundle.generate(output);
|
|
71
|
+
await bundle.write(output);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
} catch (error) {
|
|
75
|
+
throw new Error(formatErrorMessage(error));
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
const buildPackage = async (options) => {
|
|
79
|
+
try {
|
|
80
|
+
const { resolutions } = await fs__default.default.readJson(
|
|
81
|
+
paths.paths.resolveTargetRoot("package.json")
|
|
82
|
+
);
|
|
83
|
+
if (resolutions?.esbuild) {
|
|
84
|
+
console.warn(
|
|
85
|
+
chalk__default.default.red(
|
|
86
|
+
'Your root package.json contains a "resolutions" entry for "esbuild". This was included in older @backstage/create-app templates in order to work around build issues that have since been fixed. Please remove the entry and run `yarn install`'
|
|
87
|
+
)
|
|
88
|
+
);
|
|
89
|
+
}
|
|
90
|
+
} catch {
|
|
91
|
+
}
|
|
92
|
+
const rollupConfigs = await config.makeRollupConfigs(options);
|
|
93
|
+
await fs__default.default.remove(paths.paths.resolveTarget("dist"));
|
|
94
|
+
const buildTasks = rollupConfigs.map(rollupBuild);
|
|
95
|
+
await Promise.all(buildTasks);
|
|
96
|
+
};
|
|
97
|
+
const buildPackages = async (options) => {
|
|
98
|
+
if (options.some((opt) => !opt.targetDir)) {
|
|
99
|
+
throw new Error("targetDir must be set for all build options");
|
|
100
|
+
}
|
|
101
|
+
const rollupConfigs = await Promise.all(options.map(config.makeRollupConfigs));
|
|
102
|
+
await Promise.all(
|
|
103
|
+
options.map(({ targetDir }) => fs__default.default.remove(path.resolve(targetDir, "dist")))
|
|
104
|
+
);
|
|
105
|
+
const buildTasks = rollupConfigs.flat().map((opts) => () => rollupBuild(opts));
|
|
106
|
+
await parallel.runParallelWorkers({
|
|
107
|
+
items: buildTasks,
|
|
108
|
+
worker: async (task) => task()
|
|
109
|
+
});
|
|
110
|
+
};
|
|
111
|
+
function getOutputsForRole(role) {
|
|
112
|
+
const outputs = /* @__PURE__ */ new Set();
|
|
113
|
+
for (const output of cliNode.PackageRoles.getRoleInfo(role).output) {
|
|
114
|
+
if (output === "cjs") {
|
|
115
|
+
outputs.add(types.Output.cjs);
|
|
116
|
+
}
|
|
117
|
+
if (output === "esm") {
|
|
118
|
+
outputs.add(types.Output.esm);
|
|
119
|
+
}
|
|
120
|
+
if (output === "types") {
|
|
121
|
+
outputs.add(types.Output.types);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return outputs;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
exports.buildPackage = buildPackage;
|
|
128
|
+
exports.buildPackages = buildPackages;
|
|
129
|
+
exports.formatErrorMessage = formatErrorMessage;
|
|
130
|
+
exports.getOutputsForRole = getOutputsForRole;
|
|
131
|
+
//# sourceMappingURL=packager.cjs.js.map
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var fs = require('fs-extra');
|
|
4
|
+
var path = require('path');
|
|
5
|
+
var rollupPluginutils = require('rollup-pluginutils');
|
|
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
|
+
function forwardFileImports(options) {
|
|
12
|
+
const filter = rollupPluginutils.createFilter(options.include, options.exclude);
|
|
13
|
+
const exportedFiles = /* @__PURE__ */ new Set();
|
|
14
|
+
const generatedFor = /* @__PURE__ */ new Set();
|
|
15
|
+
return {
|
|
16
|
+
name: "forward-file-imports",
|
|
17
|
+
async generateBundle(outputOptions, bundle, isWrite) {
|
|
18
|
+
if (!isWrite) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
const dir = outputOptions.dir || path.dirname(outputOptions.file);
|
|
22
|
+
if (generatedFor.has(dir)) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
for (const output of Object.values(bundle)) {
|
|
26
|
+
if (output.type !== "chunk") {
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
const chunk = output;
|
|
30
|
+
if (!chunk.facadeModuleId) {
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
generatedFor.add(dir);
|
|
34
|
+
const srcRoot = path.dirname(chunk.facadeModuleId);
|
|
35
|
+
await Promise.all(
|
|
36
|
+
Array.from(exportedFiles).map(async (exportedFile) => {
|
|
37
|
+
const outputPath = path.relative(srcRoot, exportedFile);
|
|
38
|
+
const targetFile = path.resolve(dir, outputPath);
|
|
39
|
+
await fs__default.default.ensureDir(path.dirname(targetFile));
|
|
40
|
+
await fs__default.default.copyFile(exportedFile, targetFile);
|
|
41
|
+
})
|
|
42
|
+
);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
options(inputOptions) {
|
|
47
|
+
const origExternal = inputOptions.external;
|
|
48
|
+
const external = (id, importer, isResolved) => {
|
|
49
|
+
if (typeof origExternal === "function" && origExternal(id, importer, isResolved)) {
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
if (Array.isArray(origExternal) && origExternal.includes(id)) {
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
if (!filter(id)) {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
if (!importer) {
|
|
59
|
+
throw new Error(`Unknown importer of file module ${id}`);
|
|
60
|
+
}
|
|
61
|
+
const fullId = isResolved ? id : path.resolve(path.dirname(importer), id);
|
|
62
|
+
exportedFiles.add(fullId);
|
|
63
|
+
return true;
|
|
64
|
+
};
|
|
65
|
+
return { ...inputOptions, external };
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
exports.forwardFileImports = forwardFileImports;
|
|
71
|
+
//# sourceMappingURL=plugins.cjs.js.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var Output = /* @__PURE__ */ ((Output2) => {
|
|
4
|
+
Output2[Output2["esm"] = 0] = "esm";
|
|
5
|
+
Output2[Output2["cjs"] = 1] = "cjs";
|
|
6
|
+
Output2[Output2["types"] = 2] = "types";
|
|
7
|
+
return Output2;
|
|
8
|
+
})(Output || {});
|
|
9
|
+
|
|
10
|
+
exports.Output = Output;
|
|
11
|
+
//# sourceMappingURL=types.cjs.js.map
|
|
@@ -0,0 +1,47 @@
|
|
|
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
|
|
@@ -0,0 +1,36 @@
|
|
|
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
|
|
@@ -1,45 +1,23 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var yn = require('yn');
|
|
3
4
|
var fs = require('fs-extra');
|
|
4
5
|
var path = require('path');
|
|
5
6
|
var webpack = require('webpack');
|
|
6
|
-
var chalk = require('chalk');
|
|
7
|
-
require('eslint-webpack-plugin');
|
|
8
|
-
require('fork-ts-checker-webpack-plugin');
|
|
9
|
-
require('html-webpack-plugin');
|
|
10
|
-
require('@module-federation/enhanced/webpack');
|
|
11
|
-
require('@backstage/cli-common');
|
|
12
|
-
require('react-dev-utils/ModuleScopePlugin');
|
|
13
|
-
require('run-script-webpack-plugin');
|
|
14
|
-
require('@pmmmwh/react-refresh-webpack-plugin');
|
|
15
|
-
require('./index-b1ouG3q6.cjs.js');
|
|
16
|
-
require('@manypkg/get-packages');
|
|
17
|
-
require('webpack-node-externals');
|
|
18
|
-
var moduleFederation = require('./moduleFederation-DmStnvEg.cjs.js');
|
|
19
|
-
require('lodash/pickBy');
|
|
20
|
-
require('./run-CpZGNJQr.cjs.js');
|
|
21
|
-
require('mini-css-extract-plugin');
|
|
22
|
-
var yn = require('yn');
|
|
23
7
|
var FileSizeReporter = require('react-dev-utils/FileSizeReporter');
|
|
24
8
|
var formatWebpackMessages = require('react-dev-utils/formatWebpackMessages');
|
|
25
|
-
require('
|
|
26
|
-
require('
|
|
27
|
-
var
|
|
28
|
-
var
|
|
29
|
-
var os = require('os');
|
|
30
|
-
var tar = require('tar');
|
|
31
|
-
var createDistWorkspace = require('./createDistWorkspace-DdHPGSMS.cjs.js');
|
|
32
|
-
var cliNode = require('@backstage/cli-node');
|
|
9
|
+
var config = require('./config.cjs.js');
|
|
10
|
+
var paths = require('./paths.cjs.js');
|
|
11
|
+
var chalk = require('chalk');
|
|
12
|
+
var packageDetection = require('./packageDetection.cjs.js');
|
|
33
13
|
|
|
34
14
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
35
15
|
|
|
16
|
+
var yn__default = /*#__PURE__*/_interopDefaultCompat(yn);
|
|
36
17
|
var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
|
|
37
18
|
var webpack__default = /*#__PURE__*/_interopDefaultCompat(webpack);
|
|
38
|
-
var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
|
|
39
|
-
var yn__default = /*#__PURE__*/_interopDefaultCompat(yn);
|
|
40
19
|
var formatWebpackMessages__default = /*#__PURE__*/_interopDefaultCompat(formatWebpackMessages);
|
|
41
|
-
var
|
|
42
|
-
var tar__default = /*#__PURE__*/_interopDefaultCompat(tar);
|
|
20
|
+
var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
|
|
43
21
|
|
|
44
22
|
const WARN_AFTER_BUNDLE_GZIP_SIZE = 512 * 1024;
|
|
45
23
|
const WARN_AFTER_CHUNK_GZIP_SIZE = 1024 * 1024;
|
|
@@ -49,8 +27,8 @@ function applyContextToError(error, moduleName) {
|
|
|
49
27
|
}
|
|
50
28
|
async function buildBundle(options) {
|
|
51
29
|
const { statsJsonEnabled, schema: configSchema } = options;
|
|
52
|
-
const paths =
|
|
53
|
-
const publicPaths = await
|
|
30
|
+
const paths$1 = paths.resolveBundlingPaths(options);
|
|
31
|
+
const publicPaths = await paths.resolveOptionalBundlingPaths({
|
|
54
32
|
targetDir: options.targetDir,
|
|
55
33
|
entry: "src/index-public-experimental",
|
|
56
34
|
dist: "dist/public"
|
|
@@ -63,14 +41,14 @@ async function buildBundle(options) {
|
|
|
63
41
|
};
|
|
64
42
|
const configs = [];
|
|
65
43
|
if (options.moduleFederation?.mode === "remote") {
|
|
66
|
-
configs.push(await
|
|
44
|
+
configs.push(await config.createConfig(paths$1, commonConfigOptions));
|
|
67
45
|
} else {
|
|
68
|
-
const detectedModulesEntryPoint = await
|
|
46
|
+
const detectedModulesEntryPoint = await packageDetection.createDetectedModulesEntryPoint({
|
|
69
47
|
config: options.fullConfig,
|
|
70
|
-
targetPath: paths.targetPath
|
|
48
|
+
targetPath: paths$1.targetPath
|
|
71
49
|
});
|
|
72
50
|
configs.push(
|
|
73
|
-
await
|
|
51
|
+
await config.createConfig(paths$1, {
|
|
74
52
|
...commonConfigOptions,
|
|
75
53
|
additionalEntryPoints: detectedModulesEntryPoint,
|
|
76
54
|
appMode: publicPaths ? "protected" : "public"
|
|
@@ -83,7 +61,7 @@ async function buildBundle(options) {
|
|
|
83
61
|
)
|
|
84
62
|
);
|
|
85
63
|
configs.push(
|
|
86
|
-
await
|
|
64
|
+
await config.createConfig(publicPaths, {
|
|
87
65
|
...commonConfigOptions,
|
|
88
66
|
appMode: "public"
|
|
89
67
|
})
|
|
@@ -91,24 +69,24 @@ async function buildBundle(options) {
|
|
|
91
69
|
}
|
|
92
70
|
}
|
|
93
71
|
const isCi = yn__default.default(process.env.CI, { default: false });
|
|
94
|
-
const previousFileSizes = await FileSizeReporter.measureFileSizesBeforeBuild(paths.targetDist);
|
|
72
|
+
const previousFileSizes = await FileSizeReporter.measureFileSizesBeforeBuild(paths$1.targetDist);
|
|
95
73
|
const previousAuthSizes = publicPaths ? await FileSizeReporter.measureFileSizesBeforeBuild(publicPaths.targetDist) : void 0;
|
|
96
|
-
await fs__default.default.emptyDir(paths.targetDist);
|
|
97
|
-
if (paths.targetPublic) {
|
|
98
|
-
await fs__default.default.copy(paths.targetPublic, paths.targetDist, {
|
|
74
|
+
await fs__default.default.emptyDir(paths$1.targetDist);
|
|
75
|
+
if (paths$1.targetPublic) {
|
|
76
|
+
await fs__default.default.copy(paths$1.targetPublic, paths$1.targetDist, {
|
|
99
77
|
dereference: true,
|
|
100
|
-
filter: (file) => file !== paths.targetHtml
|
|
78
|
+
filter: (file) => file !== paths$1.targetHtml
|
|
101
79
|
});
|
|
102
80
|
if (publicPaths) {
|
|
103
|
-
await fs__default.default.copy(paths.targetPublic, publicPaths.targetDist, {
|
|
81
|
+
await fs__default.default.copy(paths$1.targetPublic, publicPaths.targetDist, {
|
|
104
82
|
dereference: true,
|
|
105
|
-
filter: (file) => file !== paths.targetHtml
|
|
83
|
+
filter: (file) => file !== paths$1.targetHtml
|
|
106
84
|
});
|
|
107
85
|
}
|
|
108
86
|
}
|
|
109
87
|
if (configSchema) {
|
|
110
88
|
await fs__default.default.writeJson(
|
|
111
|
-
path.resolve(paths.targetDist, ".config-schema.json"),
|
|
89
|
+
path.resolve(paths$1.targetDist, ".config-schema.json"),
|
|
112
90
|
configSchema.serialize(),
|
|
113
91
|
{ spaces: 2 }
|
|
114
92
|
);
|
|
@@ -120,14 +98,14 @@ async function buildBundle(options) {
|
|
|
120
98
|
const [mainStats, authStats] = stats.stats;
|
|
121
99
|
if (statsJsonEnabled) {
|
|
122
100
|
await require("bfj").write(
|
|
123
|
-
path.resolve(paths.targetDist, "bundle-stats.json"),
|
|
101
|
+
path.resolve(paths$1.targetDist, "bundle-stats.json"),
|
|
124
102
|
mainStats.toJson()
|
|
125
103
|
);
|
|
126
104
|
}
|
|
127
105
|
FileSizeReporter.printFileSizesAfterBuild(
|
|
128
106
|
mainStats,
|
|
129
107
|
previousFileSizes,
|
|
130
|
-
paths.targetDist,
|
|
108
|
+
paths$1.targetDist,
|
|
131
109
|
WARN_AFTER_BUNDLE_GZIP_SIZE,
|
|
132
110
|
WARN_AFTER_CHUNK_GZIP_SIZE
|
|
133
111
|
);
|
|
@@ -199,70 +177,5 @@ async function build(configs, isCi) {
|
|
|
199
177
|
return { stats };
|
|
200
178
|
}
|
|
201
179
|
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
const { name } = await fs__default.default.readJson(path.resolve(targetDir, "package.json"));
|
|
205
|
-
await buildBundle({
|
|
206
|
-
targetDir,
|
|
207
|
-
entry: "src/index",
|
|
208
|
-
parallelism: parallel.getEnvironmentParallelism(),
|
|
209
|
-
statsJsonEnabled: writeStats,
|
|
210
|
-
moduleFederation: moduleFederation.getModuleFederationOptions(
|
|
211
|
-
name,
|
|
212
|
-
options.isModuleFederationRemote
|
|
213
|
-
),
|
|
214
|
-
...await config.loadCliConfig({
|
|
215
|
-
args: configPaths,
|
|
216
|
-
fromPackage: name
|
|
217
|
-
})
|
|
218
|
-
});
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
const BUNDLE_FILE = "bundle.tar.gz";
|
|
222
|
-
const SKELETON_FILE = "skeleton.tar.gz";
|
|
223
|
-
async function buildBackend(options) {
|
|
224
|
-
const { targetDir, skipBuildDependencies, configPaths, minify } = options;
|
|
225
|
-
const pkg = await fs__default.default.readJson(path.resolve(targetDir, "package.json"));
|
|
226
|
-
await createDistWorkspace.buildPackage({
|
|
227
|
-
targetDir,
|
|
228
|
-
packageJson: pkg,
|
|
229
|
-
outputs: /* @__PURE__ */ new Set([createDistWorkspace.Output.cjs]),
|
|
230
|
-
minify,
|
|
231
|
-
workspacePackages: await cliNode.PackageGraph.listTargetPackages()
|
|
232
|
-
});
|
|
233
|
-
const tmpDir = await fs__default.default.mkdtemp(path.resolve(os__default.default.tmpdir(), "backstage-bundle"));
|
|
234
|
-
try {
|
|
235
|
-
await createDistWorkspace.createDistWorkspace([pkg.name], {
|
|
236
|
-
targetDir: tmpDir,
|
|
237
|
-
configPaths,
|
|
238
|
-
buildDependencies: !skipBuildDependencies,
|
|
239
|
-
buildExcludes: [pkg.name],
|
|
240
|
-
parallelism: parallel.getEnvironmentParallelism(),
|
|
241
|
-
skeleton: SKELETON_FILE,
|
|
242
|
-
minify
|
|
243
|
-
});
|
|
244
|
-
const distDir = path.resolve(targetDir, "dist");
|
|
245
|
-
await fs__default.default.remove(distDir);
|
|
246
|
-
await fs__default.default.mkdir(distDir);
|
|
247
|
-
await fs__default.default.move(
|
|
248
|
-
path.resolve(tmpDir, SKELETON_FILE),
|
|
249
|
-
path.resolve(distDir, SKELETON_FILE)
|
|
250
|
-
);
|
|
251
|
-
await tar__default.default.create(
|
|
252
|
-
{
|
|
253
|
-
file: path.resolve(distDir, BUNDLE_FILE),
|
|
254
|
-
cwd: tmpDir,
|
|
255
|
-
portable: true,
|
|
256
|
-
noMtime: true,
|
|
257
|
-
gzip: true
|
|
258
|
-
},
|
|
259
|
-
[""]
|
|
260
|
-
);
|
|
261
|
-
} finally {
|
|
262
|
-
await fs__default.default.remove(tmpDir);
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
exports.buildBackend = buildBackend;
|
|
267
|
-
exports.buildFrontend = buildFrontend;
|
|
268
|
-
//# sourceMappingURL=buildBackend-CkhZWCz1.cjs.js.map
|
|
180
|
+
exports.buildBundle = buildBundle;
|
|
181
|
+
//# sourceMappingURL=bundle.cjs.js.map
|