@backstage/cli 0.27.1-next.1 → 0.27.1-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.
Files changed (42) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/config/webpack-public-path.js +31 -0
  3. package/dist/cjs/{build-CWgSfGa7.cjs.js → build-4xYS_mRN.cjs.js} +9 -8
  4. package/dist/cjs/{buildBackend-DEbegAOg.cjs.js → buildBackend-tihc2jXI.cjs.js} +9 -7
  5. package/dist/cjs/{buildWorkspace-B0z3tt9J.cjs.js → buildWorkspace-DzGmnLIA.cjs.js} +4 -4
  6. package/dist/cjs/{bump-D04QfqBe.cjs.js → bump-D7bCh9so.cjs.js} +76 -10
  7. package/dist/cjs/{clean-BZ-rt4Vi.cjs.js → clean-CC3Mt_l3.cjs.js} +2 -2
  8. package/dist/cjs/{clean-BEdAwrl-.cjs.js → clean-o78W1uJm.cjs.js} +2 -2
  9. package/dist/cjs/{codeowners-BnjPN0mh.cjs.js → codeowners-DOH0XAJ6.cjs.js} +2 -2
  10. package/dist/cjs/{config-qklGM2Df.cjs.js → config-l0OM68oC.cjs.js} +2 -2
  11. package/dist/cjs/{createDistWorkspace-CHXweXXc.cjs.js → createDistWorkspace-BKOuT4y9.cjs.js} +26 -16
  12. package/dist/cjs/{createPlugin-BL6IF-2G.cjs.js → createPlugin-BjaWNEr7.cjs.js} +5 -5
  13. package/dist/cjs/{diff-BFp1ykNI.cjs.js → diff-qR_Krjfe.cjs.js} +2 -2
  14. package/dist/cjs/{docs-BJyeZtmo.cjs.js → docs-SFsAHMuR.cjs.js} +3 -3
  15. package/dist/cjs/{fix-CuhmjiSh.cjs.js → fix-CO-_RT-P.cjs.js} +2 -2
  16. package/dist/cjs/{index-Ksgor-FS.cjs.js → index-BCv17c0S.cjs.js} +6 -6
  17. package/dist/cjs/{index-Dphv9YXX.cjs.js → index-DM0DxIJs.cjs.js} +4 -4
  18. package/dist/cjs/{index-wx4GtlYP.cjs.js → index-DMR3AyQl.cjs.js} +10 -9
  19. package/dist/cjs/{index-olkGK6rW.cjs.js → index-DjaukhiC.cjs.js} +2 -2
  20. package/dist/cjs/{index-C_GzNGdx.cjs.js → index-DnKsJMXl.cjs.js} +53 -52
  21. package/dist/cjs/{info-D4GxuCW1.cjs.js → info-qvh6nVXW.cjs.js} +3 -3
  22. package/dist/cjs/{install-CYgWqCNS.cjs.js → install-B40PDdfZ.cjs.js} +4 -4
  23. package/dist/cjs/{lint-BscdoMED.cjs.js → lint-Bi9nq5Vm.cjs.js} +2 -2
  24. package/dist/cjs/{lint-BrDrGUOd.cjs.js → lint-CYb5eR4F.cjs.js} +2 -2
  25. package/dist/cjs/{list-deprecations-B8UfuXLT.cjs.js → list-deprecations-BNbOuUo4.cjs.js} +2 -2
  26. package/dist/cjs/{moduleFederation-CQz_OcQD.cjs.js → moduleFederation-BHgfCDl2.cjs.js} +21 -4
  27. package/dist/cjs/{new-x7QFaSET.cjs.js → new-Dhd6Pd1w.cjs.js} +23 -8
  28. package/dist/cjs/{pack-BshFfDf0.cjs.js → pack-JD01KVjk.cjs.js} +2 -2
  29. package/dist/cjs/{packageExports-B_7Tw8EV.cjs.js → packageExports-B5-mokCQ.cjs.js} +3 -3
  30. package/dist/cjs/{packageLintConfigs-R-QHBO2s.cjs.js → packageLintConfigs-4_zdCGPD.cjs.js} +3 -3
  31. package/dist/cjs/{packageRole-CgKhe_aD.cjs.js → packageRole-C_9jXdSu.cjs.js} +2 -2
  32. package/dist/cjs/{packages-D3xm8yrG.cjs.js → packages-DAN7bURf.cjs.js} +3 -3
  33. package/dist/cjs/{print-DcrUhffw.cjs.js → print-B5DqDsG6.cjs.js} +3 -3
  34. package/dist/cjs/{role-Cz4_y0Am.cjs.js → role-AqzuEJaH.cjs.js} +2 -2
  35. package/dist/cjs/{run-COGwx638.cjs.js → run-TuUxKRac.cjs.js} +2 -2
  36. package/dist/cjs/{schema-DD-nctmp.cjs.js → schema-BQdbH61z.cjs.js} +3 -3
  37. package/dist/cjs/{tasks-1Jzu2AFr.cjs.js → tasks-knkf4kMY.cjs.js} +2 -2
  38. package/dist/cjs/{test-C_-fQX7I.cjs.js → test-C7TgF1oU.cjs.js} +3 -3
  39. package/dist/cjs/{test-BbPSX6DE.cjs.js → test-DHxhB9qW.cjs.js} +3 -3
  40. package/dist/cjs/{validate-BO_SPC57.cjs.js → validate-DNEzV9o_.cjs.js} +3 -3
  41. package/dist/index.cjs.js +1 -1
  42. package/package.json +22 -21
package/CHANGELOG.md CHANGED
@@ -1,5 +1,31 @@
1
1
  # @backstage/cli
2
2
 
3
+ ## 0.27.1-next.2
4
+
5
+ ### Patch Changes
6
+
7
+ - 16ffdd6: Remove direct `vite` dependency
8
+ - 8069f4a: Update Scaffolder module template to add itself to the backend
9
+ - 0e1a817: The app build process now outputs an additional `index.html.tmpl` file. This is an non-templated version of the `index.html` file, which can be used to delay templating until runtime.
10
+
11
+ The new `index.html.tmpl` file also sets a `backstage-public-path` meta tag to be templated at runtime. The meta tag is in turn picked up by the new `@backstage/cli/config/webpack-public-path.js` entry point script, which uses it to set the runtime public path of the Webpack bundle.
12
+
13
+ - d29fc1b: Updated dependency `@module-federation/enhanced` to `^0.6.0`.
14
+ - 4ebf36f: Upgrade to `vite@v5`
15
+ - 2d3caaf: The build commands now support the new `backstage.inline` flag in `package.json`, which causes the contents of private packages to be inlined into the consuming package, rather than be treated as an external dependency.
16
+ - 3d88455: Add support for `backstage:^` version ranges to versions:bump when using the experimental yarn plugin
17
+ - Updated dependencies
18
+ - @backstage/cli-node@0.2.8-next.0
19
+ - @backstage/integration@1.15.0-next.0
20
+ - @backstage/config-loader@1.9.1-next.0
21
+ - @backstage/eslint-plugin@0.1.9-next.0
22
+ - @backstage/catalog-model@1.6.0
23
+ - @backstage/cli-common@0.1.14
24
+ - @backstage/config@1.2.0
25
+ - @backstage/errors@1.2.4
26
+ - @backstage/release-manifests@0.0.11
27
+ - @backstage/types@1.1.1
28
+
3
29
  ## 0.27.1-next.1
4
30
 
5
31
  ### Patch Changes
@@ -0,0 +1,31 @@
1
+ /*
2
+ * Copyright 2024 The Backstage Authors
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ // This script is used to pick up and set the public path of the Webpack bundle
18
+ // at runtime. The meta tag is injected by the app build, but only present in
19
+ // the `index.html.tmpl` file. The runtime value of the meta tag is populated by
20
+ // the app backend, when it templates the final `index.html` file.
21
+ //
22
+ // This is needed for additional chunks to use the correct public path, and it
23
+ // is not possible to set the `__webpack_public_path__` variable outside of the
24
+ // build itself. The Webpack output also does not read any <base> tags or
25
+ // similar, this seems to be the only way to dynamically configure the public
26
+ // path at runtime.
27
+ const el = document.querySelector('meta[name="backstage-public-path"]');
28
+ const path = el?.getAttribute('content');
29
+ if (path) {
30
+ __webpack_public_path__ = path;
31
+ }
@@ -2,17 +2,17 @@
2
2
 
3
3
  var chalk = require('chalk');
4
4
  var path = require('path');
5
- var createDistWorkspace = require('./createDistWorkspace-CHXweXXc.cjs.js');
6
- var index = require('./index-C_GzNGdx.cjs.js');
5
+ var createDistWorkspace = require('./createDistWorkspace-BKOuT4y9.cjs.js');
6
+ var index = require('./index-DnKsJMXl.cjs.js');
7
7
  var cliNode = require('@backstage/cli-node');
8
8
  var parallel = require('./parallel-BszNaKyc.cjs.js');
9
- var buildBackend = require('./buildBackend-DEbegAOg.cjs.js');
9
+ var buildBackend = require('./buildBackend-tihc2jXI.cjs.js');
10
10
  require('fs-extra');
11
11
  require('p-limit');
12
12
  require('os');
13
13
  require('tar');
14
14
  require('lodash/partition');
15
- require('./run-COGwx638.cjs.js');
15
+ require('./run-TuUxKRac.cjs.js');
16
16
  require('child_process');
17
17
  require('util');
18
18
  require('@backstage/errors');
@@ -44,7 +44,7 @@ require('run-script-webpack-plugin');
44
44
  require('@pmmmwh/react-refresh-webpack-plugin');
45
45
  require('@manypkg/get-packages');
46
46
  require('webpack-node-externals');
47
- require('./moduleFederation-CQz_OcQD.cjs.js');
47
+ require('./moduleFederation-BHgfCDl2.cjs.js');
48
48
  require('lodash/pickBy');
49
49
  require('mini-css-extract-plugin');
50
50
  require('yn');
@@ -55,7 +55,7 @@ require('react-dev-utils/FileSizeReporter');
55
55
  require('react-dev-utils/formatWebpackMessages');
56
56
  require('react-dev-utils/openBrowser');
57
57
  require('webpack-dev-server');
58
- require('./config-qklGM2Df.cjs.js');
58
+ require('./config-l0OM68oC.cjs.js');
59
59
  require('@backstage/config-loader');
60
60
 
61
61
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
@@ -141,7 +141,8 @@ async function command(opts, cmd) {
141
141
  packageJson: pkg.packageJson,
142
142
  outputs,
143
143
  logPrefix: `${chalk__default.default.cyan(path.relative(index.paths.targetRoot, pkg.dir))}: `,
144
- minify: buildOptions.minify
144
+ minify: buildOptions.minify,
145
+ workspacePackages: packages
145
146
  };
146
147
  });
147
148
  console.log("Building packages");
@@ -189,4 +190,4 @@ async function command(opts, cmd) {
189
190
  }
190
191
 
191
192
  exports.command = command;
192
- //# sourceMappingURL=build-CWgSfGa7.cjs.js.map
193
+ //# sourceMappingURL=build-4xYS_mRN.cjs.js.map
@@ -12,23 +12,24 @@ require('@backstage/cli-common');
12
12
  require('react-dev-utils/ModuleScopePlugin');
13
13
  require('run-script-webpack-plugin');
14
14
  require('@pmmmwh/react-refresh-webpack-plugin');
15
- require('./index-C_GzNGdx.cjs.js');
15
+ require('./index-DnKsJMXl.cjs.js');
16
16
  require('@manypkg/get-packages');
17
17
  require('webpack-node-externals');
18
- var moduleFederation = require('./moduleFederation-CQz_OcQD.cjs.js');
18
+ var moduleFederation = require('./moduleFederation-BHgfCDl2.cjs.js');
19
19
  require('lodash/pickBy');
20
- require('./run-COGwx638.cjs.js');
20
+ require('./run-TuUxKRac.cjs.js');
21
21
  require('mini-css-extract-plugin');
22
22
  var yn = require('yn');
23
23
  var FileSizeReporter = require('react-dev-utils/FileSizeReporter');
24
24
  var formatWebpackMessages = require('react-dev-utils/formatWebpackMessages');
25
25
  require('react-dev-utils/openBrowser');
26
26
  require('webpack-dev-server');
27
- var config = require('./config-qklGM2Df.cjs.js');
27
+ var config = require('./config-l0OM68oC.cjs.js');
28
28
  var parallel = require('./parallel-BszNaKyc.cjs.js');
29
29
  var os = require('os');
30
30
  var tar = require('tar');
31
- var createDistWorkspace = require('./createDistWorkspace-CHXweXXc.cjs.js');
31
+ var createDistWorkspace = require('./createDistWorkspace-BKOuT4y9.cjs.js');
32
+ var cliNode = require('@backstage/cli-node');
32
33
 
33
34
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
34
35
 
@@ -226,7 +227,8 @@ async function buildBackend(options) {
226
227
  targetDir,
227
228
  packageJson: pkg,
228
229
  outputs: /* @__PURE__ */ new Set([createDistWorkspace.Output.cjs]),
229
- minify
230
+ minify,
231
+ workspacePackages: await cliNode.PackageGraph.listTargetPackages()
230
232
  });
231
233
  const tmpDir = await fs__default.default.mkdtemp(path.resolve(os__default.default.tmpdir(), "backstage-bundle"));
232
234
  try {
@@ -263,4 +265,4 @@ async function buildBackend(options) {
263
265
 
264
266
  exports.buildBackend = buildBackend;
265
267
  exports.buildFrontend = buildFrontend;
266
- //# sourceMappingURL=buildBackend-DEbegAOg.cjs.js.map
268
+ //# sourceMappingURL=buildBackend-tihc2jXI.cjs.js.map
@@ -1,19 +1,19 @@
1
1
  'use strict';
2
2
 
3
3
  var fs = require('fs-extra');
4
- var createDistWorkspace = require('./createDistWorkspace-CHXweXXc.cjs.js');
4
+ var createDistWorkspace = require('./createDistWorkspace-BKOuT4y9.cjs.js');
5
5
  require('chalk');
6
6
  require('path');
7
7
  require('p-limit');
8
8
  require('os');
9
9
  require('tar');
10
10
  require('lodash/partition');
11
- require('./index-C_GzNGdx.cjs.js');
11
+ require('./index-DnKsJMXl.cjs.js');
12
12
  require('commander');
13
13
  require('semver');
14
14
  require('@backstage/cli-common');
15
15
  require('@backstage/errors');
16
- require('./run-COGwx638.cjs.js');
16
+ require('./run-TuUxKRac.cjs.js');
17
17
  require('child_process');
18
18
  require('util');
19
19
  require('rollup');
@@ -49,4 +49,4 @@ var buildWorkspace = async (dir, packages, options) => {
49
49
  };
50
50
 
51
51
  exports.default = buildWorkspace;
52
- //# sourceMappingURL=buildWorkspace-B0z3tt9J.cjs.js.map
52
+ //# sourceMappingURL=buildWorkspace-DzGmnLIA.cjs.js.map
@@ -5,12 +5,14 @@ var fs = require('fs-extra');
5
5
  var chalk = require('chalk');
6
6
  var ora = require('ora');
7
7
  var semver = require('semver');
8
+ var yaml = require('yaml');
9
+ var z = require('zod');
8
10
  var errors = require('@backstage/errors');
9
11
  var path = require('path');
10
- var run = require('./run-COGwx638.cjs.js');
11
- var index = require('./index-C_GzNGdx.cjs.js');
12
+ var run = require('./run-TuUxKRac.cjs.js');
13
+ var index = require('./index-DnKsJMXl.cjs.js');
12
14
  var Lockfile = require('./Lockfile-B4mqBkH6.cjs.js');
13
- var packages = require('./packages-D3xm8yrG.cjs.js');
15
+ var packages = require('./packages-DAN7bURf.cjs.js');
14
16
  var cliCommon = require('@backstage/cli-common');
15
17
  var parallel = require('./parallel-BszNaKyc.cjs.js');
16
18
  var releaseManifests = require('@backstage/release-manifests');
@@ -24,6 +26,8 @@ var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
24
26
  var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
25
27
  var ora__default = /*#__PURE__*/_interopDefaultCompat(ora);
26
28
  var semver__default = /*#__PURE__*/_interopDefaultCompat(semver);
29
+ var yaml__default = /*#__PURE__*/_interopDefaultCompat(yaml);
30
+ var z__default = /*#__PURE__*/_interopDefaultCompat(z);
27
31
  var replace__default = /*#__PURE__*/_interopDefaultCompat(replace);
28
32
 
29
33
  var migrate = async (options) => {
@@ -144,6 +148,7 @@ const DEFAULT_PATTERN_GLOB = "@backstage/*";
144
148
  var bump = async (opts) => {
145
149
  const lockfilePath = index.paths.resolveTargetRoot("yarn.lock");
146
150
  const lockfile = await Lockfile.Lockfile.load(lockfilePath);
151
+ const hasYarnPlugin = await getHasYarnPlugin();
147
152
  let pattern = opts.pattern;
148
153
  if (!pattern) {
149
154
  console.log(`Using default pattern glob ${DEFAULT_PATTERN_GLOB}`);
@@ -228,8 +233,17 @@ var bump = async (opts) => {
228
233
  for (const depType of DEP_TYPES) {
229
234
  if (depType in pkgJson && dep.name in pkgJson[depType]) {
230
235
  const oldRange = pkgJson[depType][dep.name];
231
- pkgJson[depType][dep.name] = dep.range;
232
- const lockfileEntry = lockfile.get(dep.name)?.find((entry) => entry.range === oldRange);
236
+ const oldLockfileRange = await asLockfileVersion(oldRange);
237
+ const useBackstageRange = hasYarnPlugin && // Only use backstage:^ versions if the package is present in
238
+ // the manifest for the release we're bumping to.
239
+ releaseManifest.packages.find(
240
+ ({ name: manifestPackageName }) => dep.name === manifestPackageName
241
+ ) && // Don't use backstage:^ versions for peerDependencies; they only
242
+ // support npm and workspace: versions.
243
+ depType !== "peerDependencies";
244
+ const newRange = useBackstageRange ? "backstage:^" : dep.range;
245
+ pkgJson[depType][dep.name] = newRange;
246
+ const lockfileEntry = lockfile.get(dep.name)?.find((entry) => entry.range === oldLockfileRange);
233
247
  if (lockfileEntry) {
234
248
  const from = lockfileEntry.version;
235
249
  const to = dep.target;
@@ -298,6 +312,17 @@ var bump = async (opts) => {
298
312
  } else {
299
313
  console.log();
300
314
  }
315
+ if (hasYarnPlugin) {
316
+ console.log();
317
+ console.log(
318
+ chalk__default.default.blue(
319
+ `${chalk__default.default.bold(
320
+ "NOTE"
321
+ )}: this bump used backstage:^ versions in package.json files, since the Backstage yarn plugin was detected in the repository. To migrate back to explicit npm versions, remove the plugin by running "yarn plugin remove @yarnpkg/plugin-backstage", then repeat this command.`
322
+ )
323
+ );
324
+ console.log();
325
+ }
301
326
  console.log(chalk__default.default.green("Version bump complete!"));
302
327
  }
303
328
  console.log();
@@ -368,14 +393,20 @@ function createVersionFinder(options) {
368
393
  return taggedVersion;
369
394
  };
370
395
  }
371
- async function bumpBackstageJsonVersion(version) {
372
- const backstageJsonPath = index.paths.resolveTargetRoot(cliCommon.BACKSTAGE_JSON);
373
- const backstageJson = await fs__default.default.readJSON(backstageJsonPath).catch((e) => {
396
+ function getBackstageJsonPath() {
397
+ return index.paths.resolveTargetRoot(cliCommon.BACKSTAGE_JSON);
398
+ }
399
+ async function getBackstageJson() {
400
+ const backstageJsonPath = getBackstageJsonPath();
401
+ return fs__default.default.readJSON(backstageJsonPath).catch((e) => {
374
402
  if (e.code === "ENOENT") {
375
403
  return;
376
404
  }
377
405
  throw e;
378
406
  });
407
+ }
408
+ async function bumpBackstageJsonVersion(version) {
409
+ const backstageJson = await getBackstageJson();
379
410
  const prevVersion = backstageJson?.version;
380
411
  if (prevVersion === version) {
381
412
  return;
@@ -403,7 +434,7 @@ async function bumpBackstageJsonVersion(version) {
403
434
  );
404
435
  }
405
436
  await fs__default.default.writeJson(
406
- backstageJsonPath,
437
+ getBackstageJsonPath(),
407
438
  { ...backstageJson, version },
408
439
  {
409
440
  spaces: 2,
@@ -411,6 +442,41 @@ async function bumpBackstageJsonVersion(version) {
411
442
  }
412
443
  );
413
444
  }
445
+ async function asLockfileVersion(version) {
446
+ if (version === "backstage:^") {
447
+ return `backstage:${(await getBackstageJson())?.version}`;
448
+ }
449
+ return version;
450
+ }
451
+ const yarnRcSchema = z__default.default.object({
452
+ plugins: z__default.default.array(
453
+ z__default.default.object({
454
+ path: z__default.default.string()
455
+ })
456
+ ).optional()
457
+ });
458
+ async function getHasYarnPlugin() {
459
+ const yarnRcPath = index.paths.resolveTargetRoot(".yarnrc.yml");
460
+ const yarnRcContent = await fs__default.default.readFile(yarnRcPath, "utf-8").catch((e) => {
461
+ if (e.code === "ENOENT") {
462
+ return "";
463
+ }
464
+ throw e;
465
+ });
466
+ if (!yarnRcContent) {
467
+ return false;
468
+ }
469
+ const parseResult = yarnRcSchema.safeParse(yaml__default.default.parse(yarnRcContent));
470
+ if (!parseResult.success) {
471
+ throw new Error(
472
+ `Unexpected content in .yarnrc.yml: ${parseResult.error.toString()}`
473
+ );
474
+ }
475
+ const yarnRc = parseResult.data;
476
+ return yarnRc.plugins?.some(
477
+ (plugin) => plugin.path === ".yarn/plugins/@yarnpkg/plugin-backstage.cjs"
478
+ );
479
+ }
414
480
  async function runYarnInstall() {
415
481
  const spinner = ora__default.default({
416
482
  prefixText: `Running ${chalk__default.default.blue("yarn install")} to install new versions`,
@@ -453,4 +519,4 @@ var bump$1 = /*#__PURE__*/Object.freeze({
453
519
 
454
520
  exports.bump = bump$1;
455
521
  exports.migrate = migrate$1;
456
- //# sourceMappingURL=bump-D04QfqBe.cjs.js.map
522
+ //# sourceMappingURL=bump-D7bCh9so.cjs.js.map
@@ -5,7 +5,7 @@ var fs = require('fs-extra');
5
5
  var path = require('path');
6
6
  var util = require('util');
7
7
  var cliNode = require('@backstage/cli-node');
8
- var index = require('./index-C_GzNGdx.cjs.js');
8
+ var index = require('./index-DnKsJMXl.cjs.js');
9
9
  require('commander');
10
10
  require('chalk');
11
11
  require('semver');
@@ -45,4 +45,4 @@ async function command() {
45
45
  }
46
46
 
47
47
  exports.command = command;
48
- //# sourceMappingURL=clean-BZ-rt4Vi.cjs.js.map
48
+ //# sourceMappingURL=clean-CC3Mt_l3.cjs.js.map
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var fs = require('fs-extra');
4
- var index = require('./index-C_GzNGdx.cjs.js');
4
+ var index = require('./index-DnKsJMXl.cjs.js');
5
5
  require('commander');
6
6
  require('chalk');
7
7
  require('semver');
@@ -19,4 +19,4 @@ async function clean() {
19
19
  }
20
20
 
21
21
  exports.default = clean;
22
- //# sourceMappingURL=clean-BEdAwrl-.cjs.js.map
22
+ //# sourceMappingURL=clean-o78W1uJm.cjs.js.map
@@ -2,7 +2,7 @@
2
2
 
3
3
  var fs = require('fs-extra');
4
4
  var path = require('path');
5
- var index = require('./index-C_GzNGdx.cjs.js');
5
+ var index = require('./index-DnKsJMXl.cjs.js');
6
6
 
7
7
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
8
8
 
@@ -88,4 +88,4 @@ async function addCodeownersEntry(ownedPath, ownerStr, codeownersFilePath) {
88
88
  exports.addCodeownersEntry = addCodeownersEntry;
89
89
  exports.getCodeownersFilePath = getCodeownersFilePath;
90
90
  exports.parseOwnerIds = parseOwnerIds;
91
- //# sourceMappingURL=codeowners-BnjPN0mh.cjs.js.map
91
+ //# sourceMappingURL=codeowners-DOH0XAJ6.cjs.js.map
@@ -2,7 +2,7 @@
2
2
 
3
3
  var configLoader = require('@backstage/config-loader');
4
4
  var config = require('@backstage/config');
5
- var index = require('./index-C_GzNGdx.cjs.js');
5
+ var index = require('./index-DnKsJMXl.cjs.js');
6
6
  var getPackages = require('@manypkg/get-packages');
7
7
  var cliNode = require('@backstage/cli-node');
8
8
 
@@ -105,4 +105,4 @@ async function loadCliConfig(options) {
105
105
  }
106
106
 
107
107
  exports.loadCliConfig = loadCliConfig;
108
- //# sourceMappingURL=config-qklGM2Df.cjs.js.map
108
+ //# sourceMappingURL=config-l0OM68oC.cjs.js.map
@@ -7,8 +7,8 @@ var pLimit = require('p-limit');
7
7
  var os = require('os');
8
8
  var tar = require('tar');
9
9
  var partition = require('lodash/partition');
10
- var index = require('./index-C_GzNGdx.cjs.js');
11
- var run = require('./run-COGwx638.cjs.js');
10
+ var index = require('./index-DnKsJMXl.cjs.js');
11
+ var run = require('./run-TuUxKRac.cjs.js');
12
12
  var rollup = require('rollup');
13
13
  var commonjs = require('@rollup/plugin-commonjs');
14
14
  var resolve = require('@rollup/plugin-node-resolve');
@@ -120,6 +120,20 @@ function isFileImport(source) {
120
120
  }
121
121
  return false;
122
122
  }
123
+ function buildInternalImportPattern(options) {
124
+ const inlinedPackages = options.workspacePackages.filter(
125
+ (pkg) => pkg.packageJson.backstage?.inline
126
+ );
127
+ for (const { packageJson } of inlinedPackages) {
128
+ if (!packageJson.private) {
129
+ throw new Error(
130
+ `Inlined package ${packageJson.name} must be marked as private`
131
+ );
132
+ }
133
+ }
134
+ const names = inlinedPackages.map((pkg) => pkg.packageJson.name);
135
+ return new RegExp(`^(?:${names.join("|")})(?:$|/)`);
136
+ }
123
137
  async function makeRollupConfigs(options) {
124
138
  const configs = new Array();
125
139
  const targetDir = options.targetDir ?? index.paths.targetDir;
@@ -143,6 +157,10 @@ async function makeRollupConfigs(options) {
143
157
  const scriptEntryPoints = entryPoints$1.filter(
144
158
  (e) => SCRIPT_EXTS.includes(e.ext)
145
159
  );
160
+ const internalImportPattern = buildInternalImportPattern(options);
161
+ const external = (source, importer, isResolved) => Boolean(
162
+ importer && !isResolved && !internalImportPattern.test(source) && !isFileImport(source)
163
+ );
146
164
  if (options.outputs.has(Output.cjs) || options.outputs.has(Output.esm)) {
147
165
  const output = new Array();
148
166
  const mainFields = ["module", "main"];
@@ -178,7 +196,7 @@ async function makeRollupConfigs(options) {
178
196
  makeAbsoluteExternalsRelative: false,
179
197
  preserveEntrySignatures: "strict",
180
198
  // All module imports are always marked as external
181
- external: (source, importer, isResolved) => Boolean(importer && !isResolved && !isFileImport(source)),
199
+ external,
182
200
  plugins: [
183
201
  resolve__default.default({ mainFields }),
184
202
  commonjs__default.default({
@@ -244,18 +262,9 @@ async function makeRollupConfigs(options) {
244
262
  chunkFileNames: `types/[name]-[hash].d.ts`,
245
263
  format: "es"
246
264
  },
247
- external: [
248
- /\.css$/,
249
- /\.scss$/,
250
- /\.sass$/,
251
- /\.svg$/,
252
- /\.eot$/,
253
- /\.woff$/,
254
- /\.woff2$/,
255
- /\.ttf$/
256
- ],
265
+ external: (source, importer, isResolved) => /\.css|scss|sass|svg|eot|woff|woff2|ttf$/.test(source) || external(source, importer, isResolved),
257
266
  onwarn,
258
- plugins: [dts__default.default()]
267
+ plugins: [dts__default.default({ respectExternal: true })]
259
268
  });
260
269
  }
261
270
  return configs;
@@ -441,7 +450,8 @@ async function createDistWorkspace(packageNames, options = {}) {
441
450
  packageJson: pkg.packageJson,
442
451
  outputs,
443
452
  logPrefix: `${chalk__default.default.cyan(path.relative(index.paths.targetRoot, pkg.dir))}: `,
444
- minify: options.minify
453
+ minify: options.minify,
454
+ workspacePackages: packages
445
455
  });
446
456
  }
447
457
  }
@@ -561,4 +571,4 @@ exports.buildPackage = buildPackage;
561
571
  exports.buildPackages = buildPackages;
562
572
  exports.createDistWorkspace = createDistWorkspace;
563
573
  exports.getOutputsForRole = getOutputsForRole;
564
- //# sourceMappingURL=createDistWorkspace-CHXweXXc.cjs.js.map
574
+ //# sourceMappingURL=createDistWorkspace-BKOuT4y9.cjs.js.map
@@ -10,14 +10,14 @@ var camelCase = require('lodash/camelCase');
10
10
  var upperFirst = require('lodash/upperFirst');
11
11
  var os = require('os');
12
12
  var errors = require('@backstage/errors');
13
- var codeowners = require('./codeowners-BnjPN0mh.cjs.js');
14
- var index = require('./index-C_GzNGdx.cjs.js');
15
- var tasks = require('./tasks-1Jzu2AFr.cjs.js');
13
+ var codeowners = require('./codeowners-DOH0XAJ6.cjs.js');
14
+ var index = require('./index-DnKsJMXl.cjs.js');
15
+ var tasks = require('./tasks-knkf4kMY.cjs.js');
16
16
  var Lockfile = require('./Lockfile-B4mqBkH6.cjs.js');
17
17
  require('minimatch');
18
18
  require('@manypkg/get-packages');
19
19
  require('./yarn-Ukl9MOS0.cjs.js');
20
- require('./run-COGwx638.cjs.js');
20
+ require('./run-TuUxKRac.cjs.js');
21
21
  require('commander');
22
22
  require('semver');
23
23
  require('@backstage/cli-common');
@@ -277,4 +277,4 @@ exports.addPluginExtensionToApp = addPluginExtensionToApp;
277
277
  exports.capitalize = capitalize;
278
278
  exports.default = createPlugin;
279
279
  exports.movePlugin = movePlugin;
280
- //# sourceMappingURL=createPlugin-BL6IF-2G.cjs.js.map
280
+ //# sourceMappingURL=createPlugin-BjaWNEr7.cjs.js.map
@@ -7,7 +7,7 @@ var path = require('path');
7
7
  var inquirer = require('inquirer');
8
8
  var handlebars = require('handlebars');
9
9
  var recursive = require('recursive-readdir');
10
- var index = require('./index-C_GzNGdx.cjs.js');
10
+ var index = require('./index-DnKsJMXl.cjs.js');
11
11
  require('commander');
12
12
  require('semver');
13
13
  require('@backstage/cli-common');
@@ -433,4 +433,4 @@ async function readPluginData() {
433
433
  }
434
434
 
435
435
  exports.default = diff;
436
- //# sourceMappingURL=diff-BFp1ykNI.cjs.js.map
436
+ //# sourceMappingURL=diff-qR_Krjfe.cjs.js.map
@@ -2,9 +2,9 @@
2
2
 
3
3
  var configLoader = require('@backstage/config-loader');
4
4
  var openBrowser = require('react-dev-utils/openBrowser');
5
- var config = require('./config-qklGM2Df.cjs.js');
5
+ var config = require('./config-l0OM68oC.cjs.js');
6
6
  require('@backstage/config');
7
- require('./index-C_GzNGdx.cjs.js');
7
+ require('./index-DnKsJMXl.cjs.js');
8
8
  require('commander');
9
9
  require('chalk');
10
10
  require('fs-extra');
@@ -34,4 +34,4 @@ var docs = async (opts) => {
34
34
  };
35
35
 
36
36
  exports.default = docs;
37
- //# sourceMappingURL=docs-BJyeZtmo.cjs.js.map
37
+ //# sourceMappingURL=docs-SFsAHMuR.cjs.js.map
@@ -3,7 +3,7 @@
3
3
  var cliNode = require('@backstage/cli-node');
4
4
  var fs = require('fs-extra');
5
5
  var path = require('path');
6
- var index = require('./index-C_GzNGdx.cjs.js');
6
+ var index = require('./index-DnKsJMXl.cjs.js');
7
7
  var publishing = require('./publishing-DQtsKTbc.cjs.js');
8
8
  require('commander');
9
9
  require('chalk');
@@ -359,4 +359,4 @@ exports.fixSideEffects = fixSideEffects;
359
359
  exports.printPackageFixHint = printPackageFixHint;
360
360
  exports.readFixablePackages = readFixablePackages;
361
361
  exports.writeFixedPackages = writeFixedPackages;
362
- //# sourceMappingURL=fix-CuhmjiSh.cjs.js.map
362
+ //# sourceMappingURL=fix-CO-_RT-P.cjs.js.map
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var role = require('./role-Cz4_y0Am.cjs.js');
3
+ var role = require('./role-AqzuEJaH.cjs.js');
4
4
  var fs = require('fs-extra');
5
- var index = require('./index-C_GzNGdx.cjs.js');
5
+ var index = require('./index-DnKsJMXl.cjs.js');
6
6
  var webpack = require('webpack');
7
- var moduleFederation = require('./moduleFederation-CQz_OcQD.cjs.js');
7
+ var moduleFederation = require('./moduleFederation-BHgfCDl2.cjs.js');
8
8
  require('yn');
9
9
  var path = require('path');
10
10
  require('react-dev-utils/FileSizeReporter');
@@ -21,7 +21,7 @@ require('@pmmmwh/react-refresh-webpack-plugin');
21
21
  require('@manypkg/get-packages');
22
22
  require('webpack-node-externals');
23
23
  require('lodash/pickBy');
24
- require('./run-COGwx638.cjs.js');
24
+ require('./run-TuUxKRac.cjs.js');
25
25
  require('mini-css-extract-plugin');
26
26
  var openBrowser = require('react-dev-utils/openBrowser');
27
27
  var WebpackDevServer = require('webpack-dev-server');
@@ -34,7 +34,7 @@ var errors = require('@backstage/errors');
34
34
  var debounce = require('lodash/debounce');
35
35
  var url = require('url');
36
36
  var spawn = require('cross-spawn');
37
- var config = require('./config-qklGM2Df.cjs.js');
37
+ var config = require('./config-l0OM68oC.cjs.js');
38
38
  require('commander');
39
39
  require('semver');
40
40
  require('./entryPoints-CoHH4lBA.cjs.js');
@@ -619,4 +619,4 @@ async function command(opts) {
619
619
  }
620
620
 
621
621
  exports.command = command;
622
- //# sourceMappingURL=index-Ksgor-FS.cjs.js.map
622
+ //# sourceMappingURL=index-BCv17c0S.cjs.js.map
@@ -2,14 +2,14 @@
2
2
 
3
3
  var chalk = require('chalk');
4
4
  var inquirer = require('inquirer');
5
- var tasks = require('./tasks-1Jzu2AFr.cjs.js');
5
+ var tasks = require('./tasks-knkf4kMY.cjs.js');
6
6
  var oauthApp = require('@octokit/oauth-app');
7
7
  var fs = require('fs-extra');
8
8
  var yaml = require('yaml');
9
9
  var cliCommon = require('@backstage/cli-common');
10
10
  var path = require('path');
11
11
  var differ = require('diff');
12
- var config = require('./config-qklGM2Df.cjs.js');
12
+ var config = require('./config-l0OM68oC.cjs.js');
13
13
  var catalogModel = require('@backstage/catalog-model');
14
14
  var z = require('zod');
15
15
  var integration = require('@backstage/integration');
@@ -22,7 +22,7 @@ require('util');
22
22
  require('recursive-readdir');
23
23
  require('child_process');
24
24
  require('@backstage/errors');
25
- require('./index-C_GzNGdx.cjs.js');
25
+ require('./index-DnKsJMXl.cjs.js');
26
26
  require('commander');
27
27
  require('semver');
28
28
  require('@backstage/config-loader');
@@ -1024,4 +1024,4 @@ async function command() {
1024
1024
  }
1025
1025
 
1026
1026
  exports.command = command;
1027
- //# sourceMappingURL=index-Dphv9YXX.cjs.js.map
1027
+ //# sourceMappingURL=index-DM0DxIJs.cjs.js.map