@backstage/cli-module-maintenance 0.1.2 → 0.1.3
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 +9 -0
- package/bin/backstage-cli-module-maintenance +2 -2
- package/dist/cli-module-maintenance/package.json.cjs.js +2 -2
- package/dist/commands/repo/fix.cjs.js +1 -1
- package/dist/commands/repo/fix.cjs.js.map +1 -1
- package/dist/commands/repo/list-deprecations.cjs.js +1 -1
- package/dist/commands/repo/list-deprecations.cjs.js.map +1 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# @backstage/cli-module-maintenance
|
|
2
2
|
|
|
3
|
+
## 0.1.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 696c78c: The `--help` output for commands now shows a generated usage line that lists the available flags and any positional arguments the command accepts.
|
|
8
|
+
- 2e6ffe6: Updated the standalone CLI executable to use the new CLI module runner.
|
|
9
|
+
- Updated dependencies
|
|
10
|
+
- @backstage/cli-node@0.3.3
|
|
11
|
+
|
|
3
12
|
## 0.1.2
|
|
4
13
|
|
|
5
14
|
### Patch Changes
|
|
@@ -26,7 +26,7 @@ if (isLocal) {
|
|
|
26
26
|
require('@backstage/cli-node/config/nodeTransform.cjs');
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
const {
|
|
29
|
+
const { runCli } = require('@backstage/cli-node');
|
|
30
30
|
const cliModule = require(isLocal ? '../src/index' : '..').default;
|
|
31
31
|
const pkg = require('../package.json');
|
|
32
|
-
|
|
32
|
+
runCli({ modules: [cliModule], name: pkg.name, version: pkg.version });
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var name = "@backstage/cli-module-maintenance";
|
|
6
|
-
var version = "0.1.
|
|
6
|
+
var version = "0.1.3";
|
|
7
7
|
var description = "CLI module for Backstage CLI";
|
|
8
8
|
var backstage = {
|
|
9
9
|
role: "cli-module"
|
|
@@ -39,7 +39,7 @@ var dependencies = {
|
|
|
39
39
|
"@backstage/cli-common": "workspace:^",
|
|
40
40
|
"@backstage/cli-node": "workspace:^",
|
|
41
41
|
chalk: "^4.0.0",
|
|
42
|
-
cleye: "^2.
|
|
42
|
+
cleye: "^2.6.0",
|
|
43
43
|
eslint: "^8.6.0",
|
|
44
44
|
"fs-extra": "^11.2.0"
|
|
45
45
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fix.cjs.js","sources":["../../../src/commands/repo/fix.ts"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n BackstagePackage,\n BackstagePackageJson,\n PackageGraph,\n PackageRole,\n PackageRoles,\n} from '@backstage/cli-node';\nimport { cli } from 'cleye';\nimport fs from 'fs-extra';\nimport {\n resolve as resolvePath,\n posix,\n relative as relativePath,\n extname,\n} from 'node:path';\nimport { targetPaths } from '@backstage/cli-common';\nimport {\n knownBackendPluginPackageNameByPluginId,\n knownFrontendPluginPackageNameByPluginId,\n} from '@internal/cli';\n\nconst SCRIPT_EXTS = ['.js', '.jsx', '.ts', '.tsx', '.json'];\n\n/**\n * A mutable object representing a package.json file with potential fixes.\n */\nexport interface FixablePackage extends BackstagePackage {\n changed: boolean;\n}\n\nexport async function readFixablePackages(): Promise<FixablePackage[]> {\n const packages = await PackageGraph.listTargetPackages();\n return packages.map(pkg => ({ ...pkg, changed: false }));\n}\n\nexport function printPackageFixHint(packages: FixablePackage[]) {\n const changed = packages.filter(pkg => pkg.changed);\n if (changed.length > 0) {\n const rootPkg = require(targetPaths.resolveRoot('package.json'));\n const fixCmd =\n rootPkg.scripts?.fix === 'backstage-cli repo fix'\n ? 'fix'\n : 'backstage-cli repo fix';\n console.log(\n `The following packages are out of sync, run 'yarn ${fixCmd}' to fix them:`,\n );\n for (const pkg of changed) {\n console.log(` ${pkg.packageJson.name}`);\n }\n return true;\n }\n return false;\n}\n\nexport async function writeFixedPackages(\n packages: FixablePackage[],\n): Promise<void> {\n await Promise.all(\n packages.map(async pkg => {\n if (!pkg.changed) {\n return;\n }\n\n await fs.writeJson(\n resolvePath(pkg.dir, 'package.json'),\n pkg.packageJson,\n {\n spaces: 2,\n },\n );\n }),\n );\n}\n\nfunction trimRelative(path: string): string {\n if (path.startsWith('./')) {\n return path.slice(2);\n }\n return path;\n}\n\nexport function fixPackageExports(pkg: FixablePackage) {\n let { exports: exp } = pkg.packageJson;\n if (!exp) {\n return;\n }\n if (Array.isArray(exp)) {\n throw new Error('Unexpected array in package.json exports field');\n }\n\n // If exports is a string we rewrite it to an object to add package.json\n if (typeof exp === 'string') {\n pkg.changed = true;\n exp = { '.': exp };\n pkg.packageJson.exports = exp;\n } else if (typeof exp !== 'object') {\n return;\n }\n\n if (!exp['./package.json']) {\n pkg.changed = true;\n exp['./package.json'] = './package.json';\n }\n\n const existingTypesVersions = JSON.stringify(pkg.packageJson.typesVersions);\n\n const typeEntries: Record<string, [string]> = {};\n for (const [path, value] of Object.entries(exp)) {\n // Main entry point does not need to be listed\n if (path === '.') {\n continue;\n }\n const newPath = trimRelative(path);\n\n // Only script files and package.json should be added to typesVersions\n if (typeof value === 'string') {\n if (SCRIPT_EXTS.includes(extname(value))) {\n typeEntries[newPath] = [trimRelative(value)];\n }\n } else if (value && typeof value === 'object' && !Array.isArray(value)) {\n if (typeof value.types === 'string') {\n typeEntries[newPath] = [trimRelative(value.types)];\n } else if (\n typeof value.default === 'string' &&\n SCRIPT_EXTS.includes(extname(value.default))\n ) {\n typeEntries[newPath] = [trimRelative(value.default)];\n }\n }\n }\n\n const hasTypeEntries = Object.keys(typeEntries).length > 0;\n const typesVersions = hasTypeEntries ? { '*': typeEntries } : undefined;\n\n if (existingTypesVersions !== JSON.stringify(typesVersions)) {\n if (pkg.packageJson.typesVersions) {\n // Update in place to preserve field order\n if (typesVersions) {\n pkg.packageJson.typesVersions = typesVersions;\n } else {\n delete pkg.packageJson.typesVersions;\n }\n } else if (typesVersions) {\n // Insert after exports when adding for the first time\n const newPkgEntries = Object.entries(pkg.packageJson);\n newPkgEntries.splice(\n newPkgEntries.findIndex(([name]) => name === 'exports') + 1,\n 0,\n ['typesVersions', typesVersions],\n );\n pkg.packageJson = Object.fromEntries(\n newPkgEntries,\n ) as BackstagePackageJson;\n }\n pkg.changed = true;\n }\n\n // Remove the legacy fields from publishConfig, which are no longer needed\n const publishConfig = pkg.packageJson.publishConfig as\n | Record<string, string>\n | undefined;\n if (publishConfig) {\n for (const field of ['main', 'module', 'browser', 'types']) {\n if (publishConfig[field]) {\n delete publishConfig[field];\n pkg.changed = true;\n }\n }\n }\n}\n\nexport function fixSideEffects(pkg: FixablePackage) {\n const role = PackageRoles.getRoleFromPackage(pkg.packageJson);\n if (!role) {\n return;\n }\n\n const roleInfo = PackageRoles.getRoleInfo(role);\n\n // Only web and common packages benefit from being marked as side effect free\n if (roleInfo.platform === 'node') {\n return;\n }\n // Bundled packages don't need to mark themselves as having no side effects\n if (roleInfo.output.length === 1 && roleInfo.output[0] === 'bundle') {\n return;\n }\n\n // Already declared\n if ('sideEffects' in pkg.packageJson) {\n return;\n }\n\n const pkgEntries = Object.entries(pkg.packageJson);\n pkgEntries.splice(\n // Place it just above the scripts field\n pkgEntries.findIndex(([name]) => name === 'scripts'),\n 0,\n ['sideEffects', false],\n );\n pkg.packageJson = Object.fromEntries(pkgEntries) as BackstagePackageJson;\n pkg.changed = true;\n}\n\nexport function createRepositoryFieldFixer() {\n const rootPkg = require(targetPaths.resolveRoot('package.json'));\n const rootRepoField = rootPkg.repository;\n if (!rootRepoField) {\n return () => {};\n }\n\n const rootType = rootRepoField.type || 'git';\n const rootUrl = rootRepoField.url;\n const rootDir = rootRepoField.directory || '';\n\n return (pkg: FixablePackage) => {\n const expectedPath = posix.join(\n rootDir,\n relativePath(targetPaths.rootDir, pkg.dir),\n );\n const repoField = pkg.packageJson.repository;\n\n if (!repoField || typeof repoField === 'string') {\n const pkgEntries = Object.entries(pkg.packageJson);\n pkgEntries.splice(\n // Place it just above the backstage field\n pkgEntries.findIndex(([name]) => name === 'backstage'),\n 0,\n [\n 'repository',\n {\n type: rootType,\n url: rootUrl,\n directory: expectedPath,\n },\n ],\n );\n pkg.packageJson = Object.fromEntries(pkgEntries) as BackstagePackageJson;\n pkg.changed = true;\n return;\n }\n\n // If there's a type or URL mismatch, leave the field as is\n if (repoField.type !== rootType || repoField.url !== rootUrl) {\n return;\n }\n\n if (repoField.directory !== expectedPath) {\n repoField.directory = expectedPath;\n pkg.changed = true;\n }\n };\n}\n\nfunction guessPluginId(role: PackageRole, pkgName: string): string | undefined {\n switch (role) {\n case 'frontend':\n case 'frontend-plugin':\n return pkgName.match(/plugin-(.*)/)?.[1];\n case 'frontend-plugin-module':\n return pkgName.match(/plugin-(.*)-module-/)?.[1];\n case 'backend-plugin':\n return pkgName.match(/plugin-(.*)-backend$/)?.[1];\n case 'backend-plugin-module':\n return pkgName.match(/plugin-(.*)-backend-module-/)?.[1];\n case 'common-library':\n return pkgName.match(/plugin-(.*)-(?:common)$/)?.[1];\n case 'web-library':\n return pkgName.match(/plugin-(.*)-(?:react|test-utils)/)?.[1];\n case 'node-library':\n return pkgName.match(/plugin-(.*)-(?:node|backend)-?/)?.[1];\n default:\n throw new Error(\n `Invalid 'backstage.role' field in \"${pkgName}\", got '${role}'`,\n );\n }\n}\n\nexport function fixPluginId(pkg: FixablePackage) {\n const role = pkg.packageJson.backstage?.role;\n if (!role) {\n return;\n }\n\n if (\n role === 'backend' ||\n role === 'frontend' ||\n role === 'cli' ||\n role === 'cli-module'\n ) {\n return;\n }\n\n const currentId = pkg.packageJson.backstage?.pluginId;\n if (currentId !== undefined) {\n if (typeof currentId !== 'string' && currentId !== null) {\n throw new Error(\n `Invalid 'backstage.pluginId' field in \"${pkg.packageJson.name}\", must be a string`,\n );\n }\n return;\n }\n\n const guessedPluginId = guessPluginId(role, pkg.packageJson.name);\n if (\n !guessedPluginId &&\n (role === 'frontend-plugin' ||\n role === 'frontend-plugin-module' ||\n role === 'backend-plugin' ||\n role === 'backend-plugin-module')\n ) {\n const path = relativePath(\n targetPaths.rootDir,\n resolvePath(pkg.dir, 'package.json'),\n );\n const msg = `Failed to guess plugin ID for \"${pkg.packageJson.name}\", please set the 'backstage.pluginId' field manually in \"${path}\"`;\n if (role.endsWith('module')) {\n const suggestedRole = role.startsWith('frontend')\n ? 'web-library'\n : 'node-library';\n throw new Error(\n `${msg}. It is also possible that this package is not a module, and should use the '${suggestedRole}' role instead.`,\n );\n } else {\n throw new Error(msg);\n }\n }\n\n if (guessedPluginId) {\n pkg.packageJson.backstage = {\n ...pkg.packageJson.backstage,\n pluginId: guessedPluginId,\n };\n pkg.changed = true;\n }\n}\n\nconst pluginPackageRoles: Array<string | undefined> = [\n 'frontend-plugin',\n 'backend-plugin',\n 'common-library',\n 'web-library',\n 'node-library',\n];\n\nexport function fixPluginPackages(\n pkg: FixablePackage,\n repoPackages: FixablePackage[],\n) {\n const pkgBackstage = pkg.packageJson.backstage;\n const role = pkgBackstage?.role;\n if (!role) {\n return;\n }\n\n if (\n role === 'backend' ||\n role === 'frontend' ||\n role === 'cli' ||\n role === 'cli-module'\n ) {\n return;\n }\n\n const pluginId = pkgBackstage.pluginId;\n if (!pluginId) {\n // Might be a plugin-less library, skip\n if (\n role === 'common-library' ||\n role === 'web-library' ||\n role === 'node-library' ||\n role === 'frontend-plugin-module' // TODO(Rugvip): Remove this once frontend modules are required to have a plugin ID\n ) {\n return;\n }\n throw new Error(\n `Missing 'backstage.pluginId' field in \"${pkg.packageJson.name}\"`,\n );\n }\n\n if (role === 'backend-plugin-module' || role === 'frontend-plugin-module') {\n const targetRole = role.replace('-module', '');\n\n // Try to find a plugin package in the same repo, but otherwise fall back to looking up the package name by ID of @backstage/* plugins\n const pluginPkgName =\n repoPackages.find(\n p =>\n p.packageJson.backstage?.pluginId === pluginId &&\n p.packageJson.backstage?.role === targetRole,\n )?.packageJson.name ??\n (role === 'backend-plugin-module'\n ? knownBackendPluginPackageNameByPluginId[pluginId]\n : knownFrontendPluginPackageNameByPluginId[pluginId]);\n if (!pluginPkgName) {\n // If we can't find a matching package in the repo but one is declared, skip\n if (pkgBackstage.pluginPackage) {\n return;\n }\n const path = relativePath(\n targetPaths.rootDir,\n resolvePath(pkg.dir, 'package.json'),\n );\n const suggestedRole =\n role === 'frontend-plugin-module' ? 'web-library' : 'node-library';\n throw new Error(\n `Failed to find plugin package for \"${pkg.packageJson.name}\", please declare the name of the plugin package that this package is a module for in the 'backstage.pluginPackage' field in \"${path}\". ` +\n `It is also possible that this package is not a module, and should use the '${suggestedRole}' role instead.`,\n );\n }\n\n if (pkgBackstage.pluginPackage !== pluginPkgName) {\n pkgBackstage.pluginPackage = pluginPkgName;\n pkg.changed = true;\n }\n } else {\n let pluginPackages: string[] | undefined = repoPackages\n .filter(\n p =>\n p.packageJson.backstage?.pluginId === pluginId &&\n pluginPackageRoles.includes(p.packageJson.backstage?.role),\n )\n .map(p => p.packageJson.name)\n .sort();\n\n if (pluginPackages.length === 0) {\n pluginPackages = undefined;\n }\n\n if (pkgBackstage.pluginPackages?.join(',') !== pluginPackages?.join(',')) {\n pkgBackstage.pluginPackages = pluginPackages;\n pkg.changed = true;\n }\n }\n}\n\nexport function fixPeerModules(pkg: FixablePackage) {\n const pkgBackstage = pkg.packageJson.backstage;\n const role = pkgBackstage?.role;\n if (!role) {\n return;\n }\n\n const peerModules = pkgBackstage.peerModules;\n if (peerModules === undefined) {\n return;\n }\n\n const packagePath = relativePath(\n targetPaths.rootDir,\n resolvePath(pkg.dir, 'package.json'),\n );\n\n // Validate that peerModules is only used on plugin packages\n if (role !== 'backend-plugin' && role !== 'frontend-plugin') {\n throw new Error(\n `The 'backstage.peerModules' field in \"${pkg.packageJson.name}\" can only be used on plugin packages (backend-plugin or frontend-plugin), but package has role '${role}' in \"${packagePath}\"`,\n );\n }\n\n // Validate that peerModules is an array\n if (!Array.isArray(peerModules)) {\n throw new Error(\n `Invalid 'backstage.peerModules' field in \"${pkg.packageJson.name}\", must be an array of package names in \"${packagePath}\"`,\n );\n }\n\n // Validate that all entries are non-empty strings\n for (const entry of peerModules) {\n if (typeof entry !== 'string' || entry.length === 0) {\n throw new Error(\n `Invalid entry in 'backstage.peerModules' field in \"${pkg.packageJson.name}\", all entries must be non-empty package name strings in \"${packagePath}\"`,\n );\n }\n }\n}\n\ntype PackageFixer = (pkg: FixablePackage, packages: FixablePackage[]) => void;\n\nexport default async ({\n args,\n info,\n}: import('@backstage/cli-node').CliCommandContext) => {\n const {\n flags: { publish, check },\n } = cli(\n {\n help: info,\n booleanFlagNegation: true,\n flags: {\n publish: {\n type: Boolean,\n description:\n 'Enable additional fixes that only apply when publishing packages',\n },\n check: {\n type: Boolean,\n description:\n 'Fail if any packages would have been changed by the command',\n },\n },\n },\n undefined,\n args,\n );\n\n const packages = await readFixablePackages();\n const fixRepositoryField = createRepositoryFieldFixer();\n\n const fixers: PackageFixer[] = [fixPackageExports, fixSideEffects];\n\n if (publish) {\n fixers.push(\n fixRepositoryField,\n fixPluginId,\n fixPluginPackages,\n fixPeerModules,\n );\n }\n\n for (const fixer of fixers) {\n for (const pkg of packages) {\n fixer(pkg, packages);\n }\n }\n\n if (check) {\n if (printPackageFixHint(packages)) {\n process.exit(1);\n }\n } else {\n await writeFixedPackages(packages);\n }\n};\n"],"names":["PackageGraph","targetPaths","fs","resolvePath","path","extname","PackageRoles","posix","relativePath","knownBackendPluginPackageNameByPluginId","knownFrontendPluginPackageNameByPluginId","cli"],"mappings":";;;;;;;;;;;;;;;;;;;AAqCA,MAAM,cAAc,CAAC,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,QAAQ,OAAO,CAAA;AAS1D,eAAsB,mBAAA,GAAiD;AACrE,EAAA,MAAM,QAAA,GAAW,MAAMA,oBAAA,CAAa,kBAAA,EAAmB;AACvD,EAAA,OAAO,QAAA,CAAS,IAAI,CAAA,GAAA,MAAQ,EAAE,GAAG,GAAA,EAAK,OAAA,EAAS,OAAM,CAAE,CAAA;AACzD;AAEO,SAAS,oBAAoB,QAAA,EAA4B;AAC9D,EAAA,MAAM,OAAA,GAAU,QAAA,CAAS,MAAA,CAAO,CAAA,GAAA,KAAO,IAAI,OAAO,CAAA;AAClD,EAAA,IAAI,OAAA,CAAQ,SAAS,CAAA,EAAG;AACtB,IAAA,MAAM,OAAA,GAAU,OAAA,CAAQC,qBAAA,CAAY,WAAA,CAAY,cAAc,CAAC,CAAA;AAC/D,IAAA,MAAM,MAAA,GACJ,OAAA,CAAQ,OAAA,EAAS,GAAA,KAAQ,2BACrB,KAAA,GACA,wBAAA;AACN,IAAA,OAAA,CAAQ,GAAA;AAAA,MACN,qDAAqD,MAAM,CAAA,cAAA;AAAA,KAC7D;AACA,IAAA,KAAA,MAAW,OAAO,OAAA,EAAS;AACzB,MAAA,OAAA,CAAQ,GAAA,CAAI,CAAA,EAAA,EAAK,GAAA,CAAI,WAAA,CAAY,IAAI,CAAA,CAAE,CAAA;AAAA,IACzC;AACA,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAA,OAAO,KAAA;AACT;AAEA,eAAsB,mBACpB,QAAA,EACe;AACf,EAAA,MAAM,OAAA,CAAQ,GAAA;AAAA,IACZ,QAAA,CAAS,GAAA,CAAI,OAAM,GAAA,KAAO;AACxB,MAAA,IAAI,CAAC,IAAI,OAAA,EAAS;AAChB,QAAA;AAAA,MACF;AAEA,MAAA,MAAMC,mBAAA,CAAG,SAAA;AAAA,QACPC,YAAA,CAAY,GAAA,CAAI,GAAA,EAAK,cAAc,CAAA;AAAA,QACnC,GAAA,CAAI,WAAA;AAAA,QACJ;AAAA,UACE,MAAA,EAAQ;AAAA;AACV,OACF;AAAA,IACF,CAAC;AAAA,GACH;AACF;AAEA,SAAS,aAAa,IAAA,EAAsB;AAC1C,EAAA,IAAI,IAAA,CAAK,UAAA,CAAW,IAAI,CAAA,EAAG;AACzB,IAAA,OAAO,IAAA,CAAK,MAAM,CAAC,CAAA;AAAA,EACrB;AACA,EAAA,OAAO,IAAA;AACT;AAEO,SAAS,kBAAkB,GAAA,EAAqB;AACrD,EAAA,IAAI,EAAE,OAAA,EAAS,GAAA,EAAI,GAAI,GAAA,CAAI,WAAA;AAC3B,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA;AAAA,EACF;AACA,EAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,GAAG,CAAA,EAAG;AACtB,IAAA,MAAM,IAAI,MAAM,gDAAgD,CAAA;AAAA,EAClE;AAGA,EAAA,IAAI,OAAO,QAAQ,QAAA,EAAU;AAC3B,IAAA,GAAA,CAAI,OAAA,GAAU,IAAA;AACd,IAAA,GAAA,GAAM,EAAE,KAAK,GAAA,EAAI;AACjB,IAAA,GAAA,CAAI,YAAY,OAAA,GAAU,GAAA;AAAA,EAC5B,CAAA,MAAA,IAAW,OAAO,GAAA,KAAQ,QAAA,EAAU;AAClC,IAAA;AAAA,EACF;AAEA,EAAA,IAAI,CAAC,GAAA,CAAI,gBAAgB,CAAA,EAAG;AAC1B,IAAA,GAAA,CAAI,OAAA,GAAU,IAAA;AACd,IAAA,GAAA,CAAI,gBAAgB,CAAA,GAAI,gBAAA;AAAA,EAC1B;AAEA,EAAA,MAAM,qBAAA,GAAwB,IAAA,CAAK,SAAA,CAAU,GAAA,CAAI,YAAY,aAAa,CAAA;AAE1E,EAAA,MAAM,cAAwC,EAAC;AAC/C,EAAA,KAAA,MAAW,CAACC,MAAA,EAAM,KAAK,KAAK,MAAA,CAAO,OAAA,CAAQ,GAAG,CAAA,EAAG;AAE/C,IAAA,IAAIA,WAAS,GAAA,EAAK;AAChB,MAAA;AAAA,IACF;AACA,IAAA,MAAM,OAAA,GAAU,aAAaA,MAAI,CAAA;AAGjC,IAAA,IAAI,OAAO,UAAU,QAAA,EAAU;AAC7B,MAAA,IAAI,WAAA,CAAY,QAAA,CAASC,YAAA,CAAQ,KAAK,CAAC,CAAA,EAAG;AACxC,QAAA,WAAA,CAAY,OAAO,CAAA,GAAI,CAAC,YAAA,CAAa,KAAK,CAAC,CAAA;AAAA,MAC7C;AAAA,IACF,CAAA,MAAA,IAAW,SAAS,OAAO,KAAA,KAAU,YAAY,CAAC,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG;AACtE,MAAA,IAAI,OAAO,KAAA,CAAM,KAAA,KAAU,QAAA,EAAU;AACnC,QAAA,WAAA,CAAY,OAAO,CAAA,GAAI,CAAC,YAAA,CAAa,KAAA,CAAM,KAAK,CAAC,CAAA;AAAA,MACnD,CAAA,MAAA,IACE,OAAO,KAAA,CAAM,OAAA,KAAY,QAAA,IACzB,WAAA,CAAY,QAAA,CAASA,YAAA,CAAQ,KAAA,CAAM,OAAO,CAAC,CAAA,EAC3C;AACA,QAAA,WAAA,CAAY,OAAO,CAAA,GAAI,CAAC,YAAA,CAAa,KAAA,CAAM,OAAO,CAAC,CAAA;AAAA,MACrD;AAAA,IACF;AAAA,EACF;AAEA,EAAA,MAAM,cAAA,GAAiB,MAAA,CAAO,IAAA,CAAK,WAAW,EAAE,MAAA,GAAS,CAAA;AACzD,EAAA,MAAM,aAAA,GAAgB,cAAA,GAAiB,EAAE,GAAA,EAAK,aAAY,GAAI,MAAA;AAE9D,EAAA,IAAI,qBAAA,KAA0B,IAAA,CAAK,SAAA,CAAU,aAAa,CAAA,EAAG;AAC3D,IAAA,IAAI,GAAA,CAAI,YAAY,aAAA,EAAe;AAEjC,MAAA,IAAI,aAAA,EAAe;AACjB,QAAA,GAAA,CAAI,YAAY,aAAA,GAAgB,aAAA;AAAA,MAClC,CAAA,MAAO;AACL,QAAA,OAAO,IAAI,WAAA,CAAY,aAAA;AAAA,MACzB;AAAA,IACF,WAAW,aAAA,EAAe;AAExB,MAAA,MAAM,aAAA,GAAgB,MAAA,CAAO,OAAA,CAAQ,GAAA,CAAI,WAAW,CAAA;AACpD,MAAA,aAAA,CAAc,MAAA;AAAA,QACZ,aAAA,CAAc,UAAU,CAAC,CAAC,IAAI,CAAA,KAAM,IAAA,KAAS,SAAS,CAAA,GAAI,CAAA;AAAA,QAC1D,CAAA;AAAA,QACA,CAAC,iBAAiB,aAAa;AAAA,OACjC;AACA,MAAA,GAAA,CAAI,cAAc,MAAA,CAAO,WAAA;AAAA,QACvB;AAAA,OACF;AAAA,IACF;AACA,IAAA,GAAA,CAAI,OAAA,GAAU,IAAA;AAAA,EAChB;AAGA,EAAA,MAAM,aAAA,GAAgB,IAAI,WAAA,CAAY,aAAA;AAGtC,EAAA,IAAI,aAAA,EAAe;AACjB,IAAA,KAAA,MAAW,SAAS,CAAC,MAAA,EAAQ,QAAA,EAAU,SAAA,EAAW,OAAO,CAAA,EAAG;AAC1D,MAAA,IAAI,aAAA,CAAc,KAAK,CAAA,EAAG;AACxB,QAAA,OAAO,cAAc,KAAK,CAAA;AAC1B,QAAA,GAAA,CAAI,OAAA,GAAU,IAAA;AAAA,MAChB;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,eAAe,GAAA,EAAqB;AAClD,EAAA,MAAM,IAAA,GAAOC,oBAAA,CAAa,kBAAA,CAAmB,GAAA,CAAI,WAAW,CAAA;AAC5D,EAAA,IAAI,CAAC,IAAA,EAAM;AACT,IAAA;AAAA,EACF;AAEA,EAAA,MAAM,QAAA,GAAWA,oBAAA,CAAa,WAAA,CAAY,IAAI,CAAA;AAG9C,EAAA,IAAI,QAAA,CAAS,aAAa,MAAA,EAAQ;AAChC,IAAA;AAAA,EACF;AAEA,EAAA,IAAI,QAAA,CAAS,OAAO,MAAA,KAAW,CAAA,IAAK,SAAS,MAAA,CAAO,CAAC,MAAM,QAAA,EAAU;AACnE,IAAA;AAAA,EACF;AAGA,EAAA,IAAI,aAAA,IAAiB,IAAI,WAAA,EAAa;AACpC,IAAA;AAAA,EACF;AAEA,EAAA,MAAM,UAAA,GAAa,MAAA,CAAO,OAAA,CAAQ,GAAA,CAAI,WAAW,CAAA;AACjD,EAAA,UAAA,CAAW,MAAA;AAAA;AAAA,IAET,WAAW,SAAA,CAAU,CAAC,CAAC,IAAI,CAAA,KAAM,SAAS,SAAS,CAAA;AAAA,IACnD,CAAA;AAAA,IACA,CAAC,eAAe,KAAK;AAAA,GACvB;AACA,EAAA,GAAA,CAAI,WAAA,GAAc,MAAA,CAAO,WAAA,CAAY,UAAU,CAAA;AAC/C,EAAA,GAAA,CAAI,OAAA,GAAU,IAAA;AAChB;AAEO,SAAS,0BAAA,GAA6B;AAC3C,EAAA,MAAM,OAAA,GAAU,OAAA,CAAQL,qBAAA,CAAY,WAAA,CAAY,cAAc,CAAC,CAAA;AAC/D,EAAA,MAAM,gBAAgB,OAAA,CAAQ,UAAA;AAC9B,EAAA,IAAI,CAAC,aAAA,EAAe;AAClB,IAAA,OAAO,MAAM;AAAA,IAAC,CAAA;AAAA,EAChB;AAEA,EAAA,MAAM,QAAA,GAAW,cAAc,IAAA,IAAQ,KAAA;AACvC,EAAA,MAAM,UAAU,aAAA,CAAc,GAAA;AAC9B,EAAA,MAAM,OAAA,GAAU,cAAc,SAAA,IAAa,EAAA;AAE3C,EAAA,OAAO,CAAC,GAAA,KAAwB;AAC9B,IAAA,MAAM,eAAeM,UAAA,CAAM,IAAA;AAAA,MACzB,OAAA;AAAA,MACAC,aAAA,CAAaP,qBAAA,CAAY,OAAA,EAAS,GAAA,CAAI,GAAG;AAAA,KAC3C;AACA,IAAA,MAAM,SAAA,GAAY,IAAI,WAAA,CAAY,UAAA;AAElC,IAAA,IAAI,CAAC,SAAA,IAAa,OAAO,SAAA,KAAc,QAAA,EAAU;AAC/C,MAAA,MAAM,UAAA,GAAa,MAAA,CAAO,OAAA,CAAQ,GAAA,CAAI,WAAW,CAAA;AACjD,MAAA,UAAA,CAAW,MAAA;AAAA;AAAA,QAET,WAAW,SAAA,CAAU,CAAC,CAAC,IAAI,CAAA,KAAM,SAAS,WAAW,CAAA;AAAA,QACrD,CAAA;AAAA,QACA;AAAA,UACE,YAAA;AAAA,UACA;AAAA,YACE,IAAA,EAAM,QAAA;AAAA,YACN,GAAA,EAAK,OAAA;AAAA,YACL,SAAA,EAAW;AAAA;AACb;AACF,OACF;AACA,MAAA,GAAA,CAAI,WAAA,GAAc,MAAA,CAAO,WAAA,CAAY,UAAU,CAAA;AAC/C,MAAA,GAAA,CAAI,OAAA,GAAU,IAAA;AACd,MAAA;AAAA,IACF;AAGA,IAAA,IAAI,SAAA,CAAU,IAAA,KAAS,QAAA,IAAY,SAAA,CAAU,QAAQ,OAAA,EAAS;AAC5D,MAAA;AAAA,IACF;AAEA,IAAA,IAAI,SAAA,CAAU,cAAc,YAAA,EAAc;AACxC,MAAA,SAAA,CAAU,SAAA,GAAY,YAAA;AACtB,MAAA,GAAA,CAAI,OAAA,GAAU,IAAA;AAAA,IAChB;AAAA,EACF,CAAA;AACF;AAEA,SAAS,aAAA,CAAc,MAAmB,OAAA,EAAqC;AAC7E,EAAA,QAAQ,IAAA;AAAM,IACZ,KAAK,UAAA;AAAA,IACL,KAAK,iBAAA;AACH,MAAA,OAAO,OAAA,CAAQ,KAAA,CAAM,aAAa,CAAA,GAAI,CAAC,CAAA;AAAA,IACzC,KAAK,wBAAA;AACH,MAAA,OAAO,OAAA,CAAQ,KAAA,CAAM,qBAAqB,CAAA,GAAI,CAAC,CAAA;AAAA,IACjD,KAAK,gBAAA;AACH,MAAA,OAAO,OAAA,CAAQ,KAAA,CAAM,sBAAsB,CAAA,GAAI,CAAC,CAAA;AAAA,IAClD,KAAK,uBAAA;AACH,MAAA,OAAO,OAAA,CAAQ,KAAA,CAAM,6BAA6B,CAAA,GAAI,CAAC,CAAA;AAAA,IACzD,KAAK,gBAAA;AACH,MAAA,OAAO,OAAA,CAAQ,KAAA,CAAM,yBAAyB,CAAA,GAAI,CAAC,CAAA;AAAA,IACrD,KAAK,aAAA;AACH,MAAA,OAAO,OAAA,CAAQ,KAAA,CAAM,kCAAkC,CAAA,GAAI,CAAC,CAAA;AAAA,IAC9D,KAAK,cAAA;AACH,MAAA,OAAO,OAAA,CAAQ,KAAA,CAAM,gCAAgC,CAAA,GAAI,CAAC,CAAA;AAAA,IAC5D;AACE,MAAA,MAAM,IAAI,KAAA;AAAA,QACR,CAAA,mCAAA,EAAsC,OAAO,CAAA,QAAA,EAAW,IAAI,CAAA,CAAA;AAAA,OAC9D;AAAA;AAEN;AAEO,SAAS,YAAY,GAAA,EAAqB;AAC/C,EAAA,MAAM,IAAA,GAAO,GAAA,CAAI,WAAA,CAAY,SAAA,EAAW,IAAA;AACxC,EAAA,IAAI,CAAC,IAAA,EAAM;AACT,IAAA;AAAA,EACF;AAEA,EAAA,IACE,SAAS,SAAA,IACT,IAAA,KAAS,cACT,IAAA,KAAS,KAAA,IACT,SAAS,YAAA,EACT;AACA,IAAA;AAAA,EACF;AAEA,EAAA,MAAM,SAAA,GAAY,GAAA,CAAI,WAAA,CAAY,SAAA,EAAW,QAAA;AAC7C,EAAA,IAAI,cAAc,MAAA,EAAW;AAC3B,IAAA,IAAI,OAAO,SAAA,KAAc,QAAA,IAAY,SAAA,KAAc,IAAA,EAAM;AACvD,MAAA,MAAM,IAAI,KAAA;AAAA,QACR,CAAA,uCAAA,EAA0C,GAAA,CAAI,WAAA,CAAY,IAAI,CAAA,mBAAA;AAAA,OAChE;AAAA,IACF;AACA,IAAA;AAAA,EACF;AAEA,EAAA,MAAM,eAAA,GAAkB,aAAA,CAAc,IAAA,EAAM,GAAA,CAAI,YAAY,IAAI,CAAA;AAChE,EAAA,IACE,CAAC,oBACA,IAAA,KAAS,iBAAA,IACR,SAAS,wBAAA,IACT,IAAA,KAAS,gBAAA,IACT,IAAA,KAAS,uBAAA,CAAA,EACX;AACA,IAAA,MAAMG,MAAA,GAAOI,aAAA;AAAA,MACXP,qBAAA,CAAY,OAAA;AAAA,MACZE,YAAA,CAAY,GAAA,CAAI,GAAA,EAAK,cAAc;AAAA,KACrC;AACA,IAAA,MAAM,MAAM,CAAA,+BAAA,EAAkC,GAAA,CAAI,WAAA,CAAY,IAAI,6DAA6DC,MAAI,CAAA,CAAA,CAAA;AACnI,IAAA,IAAI,IAAA,CAAK,QAAA,CAAS,QAAQ,CAAA,EAAG;AAC3B,MAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,UAAA,CAAW,UAAU,IAC5C,aAAA,GACA,cAAA;AACJ,MAAA,MAAM,IAAI,KAAA;AAAA,QACR,CAAA,EAAG,GAAG,CAAA,6EAAA,EAAgF,aAAa,CAAA,eAAA;AAAA,OACrG;AAAA,IACF,CAAA,MAAO;AACL,MAAA,MAAM,IAAI,MAAM,GAAG,CAAA;AAAA,IACrB;AAAA,EACF;AAEA,EAAA,IAAI,eAAA,EAAiB;AACnB,IAAA,GAAA,CAAI,YAAY,SAAA,GAAY;AAAA,MAC1B,GAAG,IAAI,WAAA,CAAY,SAAA;AAAA,MACnB,QAAA,EAAU;AAAA,KACZ;AACA,IAAA,GAAA,CAAI,OAAA,GAAU,IAAA;AAAA,EAChB;AACF;AAEA,MAAM,kBAAA,GAAgD;AAAA,EACpD,iBAAA;AAAA,EACA,gBAAA;AAAA,EACA,gBAAA;AAAA,EACA,aAAA;AAAA,EACA;AACF,CAAA;AAEO,SAAS,iBAAA,CACd,KACA,YAAA,EACA;AACA,EAAA,MAAM,YAAA,GAAe,IAAI,WAAA,CAAY,SAAA;AACrC,EAAA,MAAM,OAAO,YAAA,EAAc,IAAA;AAC3B,EAAA,IAAI,CAAC,IAAA,EAAM;AACT,IAAA;AAAA,EACF;AAEA,EAAA,IACE,SAAS,SAAA,IACT,IAAA,KAAS,cACT,IAAA,KAAS,KAAA,IACT,SAAS,YAAA,EACT;AACA,IAAA;AAAA,EACF;AAEA,EAAA,MAAM,WAAW,YAAA,CAAa,QAAA;AAC9B,EAAA,IAAI,CAAC,QAAA,EAAU;AAEb,IAAA,IACE,SAAS,gBAAA,IACT,IAAA,KAAS,iBACT,IAAA,KAAS,cAAA,IACT,SAAS,wBAAA,EACT;AACA,MAAA;AAAA,IACF;AACA,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA,uCAAA,EAA0C,GAAA,CAAI,WAAA,CAAY,IAAI,CAAA,CAAA;AAAA,KAChE;AAAA,EACF;AAEA,EAAA,IAAI,IAAA,KAAS,uBAAA,IAA2B,IAAA,KAAS,wBAAA,EAA0B;AACzE,IAAA,MAAM,UAAA,GAAa,IAAA,CAAK,OAAA,CAAQ,SAAA,EAAW,EAAE,CAAA;AAG7C,IAAA,MAAM,gBACJ,YAAA,CAAa,IAAA;AAAA,MACX,CAAA,CAAA,KACE,EAAE,WAAA,CAAY,SAAA,EAAW,aAAa,QAAA,IACtC,CAAA,CAAE,WAAA,CAAY,SAAA,EAAW,IAAA,KAAS;AAAA,KACtC,EAAG,YAAY,IAAA,KACd,IAAA,KAAS,0BACNK,2DAAA,CAAwC,QAAQ,CAAA,GAChDC,4DAAA,CAAyC,QAAQ,CAAA,CAAA;AACvD,IAAA,IAAI,CAAC,aAAA,EAAe;AAElB,MAAA,IAAI,aAAa,aAAA,EAAe;AAC9B,QAAA;AAAA,MACF;AACA,MAAA,MAAMN,MAAA,GAAOI,aAAA;AAAA,QACXP,qBAAA,CAAY,OAAA;AAAA,QACZE,YAAA,CAAY,GAAA,CAAI,GAAA,EAAK,cAAc;AAAA,OACrC;AACA,MAAA,MAAM,aAAA,GACJ,IAAA,KAAS,wBAAA,GAA2B,aAAA,GAAgB,cAAA;AACtD,MAAA,MAAM,IAAI,KAAA;AAAA,QACR,sCAAsC,GAAA,CAAI,WAAA,CAAY,IAAI,CAAA,8HAAA,EAAiIC,MAAI,iFAC/G,aAAa,CAAA,eAAA;AAAA,OAC/F;AAAA,IACF;AAEA,IAAA,IAAI,YAAA,CAAa,kBAAkB,aAAA,EAAe;AAChD,MAAA,YAAA,CAAa,aAAA,GAAgB,aAAA;AAC7B,MAAA,GAAA,CAAI,OAAA,GAAU,IAAA;AAAA,IAChB;AAAA,EACF,CAAA,MAAO;AACL,IAAA,IAAI,iBAAuC,YAAA,CACxC,MAAA;AAAA,MACC,CAAA,CAAA,KACE,CAAA,CAAE,WAAA,CAAY,SAAA,EAAW,QAAA,KAAa,QAAA,IACtC,kBAAA,CAAmB,QAAA,CAAS,CAAA,CAAE,WAAA,CAAY,SAAA,EAAW,IAAI;AAAA,MAE5D,GAAA,CAAI,CAAA,CAAA,KAAK,EAAE,WAAA,CAAY,IAAI,EAC3B,IAAA,EAAK;AAER,IAAA,IAAI,cAAA,CAAe,WAAW,CAAA,EAAG;AAC/B,MAAA,cAAA,GAAiB,MAAA;AAAA,IACnB;AAEA,IAAA,IAAI,YAAA,CAAa,gBAAgB,IAAA,CAAK,GAAG,MAAM,cAAA,EAAgB,IAAA,CAAK,GAAG,CAAA,EAAG;AACxE,MAAA,YAAA,CAAa,cAAA,GAAiB,cAAA;AAC9B,MAAA,GAAA,CAAI,OAAA,GAAU,IAAA;AAAA,IAChB;AAAA,EACF;AACF;AAEO,SAAS,eAAe,GAAA,EAAqB;AAClD,EAAA,MAAM,YAAA,GAAe,IAAI,WAAA,CAAY,SAAA;AACrC,EAAA,MAAM,OAAO,YAAA,EAAc,IAAA;AAC3B,EAAA,IAAI,CAAC,IAAA,EAAM;AACT,IAAA;AAAA,EACF;AAEA,EAAA,MAAM,cAAc,YAAA,CAAa,WAAA;AACjC,EAAA,IAAI,gBAAgB,MAAA,EAAW;AAC7B,IAAA;AAAA,EACF;AAEA,EAAA,MAAM,WAAA,GAAcI,aAAA;AAAA,IAClBP,qBAAA,CAAY,OAAA;AAAA,IACZE,YAAA,CAAY,GAAA,CAAI,GAAA,EAAK,cAAc;AAAA,GACrC;AAGA,EAAA,IAAI,IAAA,KAAS,gBAAA,IAAoB,IAAA,KAAS,iBAAA,EAAmB;AAC3D,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,yCAAyC,GAAA,CAAI,WAAA,CAAY,IAAI,CAAA,iGAAA,EAAoG,IAAI,SAAS,WAAW,CAAA,CAAA;AAAA,KAC3L;AAAA,EACF;AAGA,EAAA,IAAI,CAAC,KAAA,CAAM,OAAA,CAAQ,WAAW,CAAA,EAAG;AAC/B,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA,0CAAA,EAA6C,GAAA,CAAI,WAAA,CAAY,IAAI,4CAA4C,WAAW,CAAA,CAAA;AAAA,KAC1H;AAAA,EACF;AAGA,EAAA,KAAA,MAAW,SAAS,WAAA,EAAa;AAC/B,IAAA,IAAI,OAAO,KAAA,KAAU,QAAA,IAAY,KAAA,CAAM,WAAW,CAAA,EAAG;AACnD,MAAA,MAAM,IAAI,KAAA;AAAA,QACR,CAAA,mDAAA,EAAsD,GAAA,CAAI,WAAA,CAAY,IAAI,6DAA6D,WAAW,CAAA,CAAA;AAAA,OACpJ;AAAA,IACF;AAAA,EACF;AACF;AAIA,UAAe,OAAO;AAAA,EACpB,IAAA;AAAA,EACA;AACF,CAAA,KAAuD;AACrD,EAAA,MAAM;AAAA,IACJ,KAAA,EAAO,EAAE,OAAA,EAAS,KAAA;AAAM,GAC1B,GAAIQ,SAAA;AAAA,IACF;AAAA,MACE,IAAA,EAAM,IAAA;AAAA,MACN,mBAAA,EAAqB,IAAA;AAAA,MACrB,KAAA,EAAO;AAAA,QACL,OAAA,EAAS;AAAA,UACP,IAAA,EAAM,OAAA;AAAA,UACN,WAAA,EACE;AAAA,SACJ;AAAA,QACA,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,OAAA;AAAA,UACN,WAAA,EACE;AAAA;AACJ;AACF,KACF;AAAA,IACA,MAAA;AAAA,IACA;AAAA,GACF;AAEA,EAAA,MAAM,QAAA,GAAW,MAAM,mBAAA,EAAoB;AAC3C,EAAA,MAAM,qBAAqB,0BAAA,EAA2B;AAEtD,EAAA,MAAM,MAAA,GAAyB,CAAC,iBAAA,EAAmB,cAAc,CAAA;AAEjE,EAAA,IAAI,OAAA,EAAS;AACX,IAAA,MAAA,CAAO,IAAA;AAAA,MACL,kBAAA;AAAA,MACA,WAAA;AAAA,MACA,iBAAA;AAAA,MACA;AAAA,KACF;AAAA,EACF;AAEA,EAAA,KAAA,MAAW,SAAS,MAAA,EAAQ;AAC1B,IAAA,KAAA,MAAW,OAAO,QAAA,EAAU;AAC1B,MAAA,KAAA,CAAM,KAAK,QAAQ,CAAA;AAAA,IACrB;AAAA,EACF;AAEA,EAAA,IAAI,KAAA,EAAO;AACT,IAAA,IAAI,mBAAA,CAAoB,QAAQ,CAAA,EAAG;AACjC,MAAA,OAAA,CAAQ,KAAK,CAAC,CAAA;AAAA,IAChB;AAAA,EACF,CAAA,MAAO;AACL,IAAA,MAAM,mBAAmB,QAAQ,CAAA;AAAA,EACnC;AACF,CAAA;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"fix.cjs.js","sources":["../../../src/commands/repo/fix.ts"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n BackstagePackage,\n BackstagePackageJson,\n PackageGraph,\n PackageRole,\n PackageRoles,\n} from '@backstage/cli-node';\nimport { cli } from 'cleye';\nimport fs from 'fs-extra';\nimport {\n resolve as resolvePath,\n posix,\n relative as relativePath,\n extname,\n} from 'node:path';\nimport { targetPaths } from '@backstage/cli-common';\nimport {\n knownBackendPluginPackageNameByPluginId,\n knownFrontendPluginPackageNameByPluginId,\n} from '@internal/cli';\n\nconst SCRIPT_EXTS = ['.js', '.jsx', '.ts', '.tsx', '.json'];\n\n/**\n * A mutable object representing a package.json file with potential fixes.\n */\nexport interface FixablePackage extends BackstagePackage {\n changed: boolean;\n}\n\nexport async function readFixablePackages(): Promise<FixablePackage[]> {\n const packages = await PackageGraph.listTargetPackages();\n return packages.map(pkg => ({ ...pkg, changed: false }));\n}\n\nexport function printPackageFixHint(packages: FixablePackage[]) {\n const changed = packages.filter(pkg => pkg.changed);\n if (changed.length > 0) {\n const rootPkg = require(targetPaths.resolveRoot('package.json'));\n const fixCmd =\n rootPkg.scripts?.fix === 'backstage-cli repo fix'\n ? 'fix'\n : 'backstage-cli repo fix';\n console.log(\n `The following packages are out of sync, run 'yarn ${fixCmd}' to fix them:`,\n );\n for (const pkg of changed) {\n console.log(` ${pkg.packageJson.name}`);\n }\n return true;\n }\n return false;\n}\n\nexport async function writeFixedPackages(\n packages: FixablePackage[],\n): Promise<void> {\n await Promise.all(\n packages.map(async pkg => {\n if (!pkg.changed) {\n return;\n }\n\n await fs.writeJson(\n resolvePath(pkg.dir, 'package.json'),\n pkg.packageJson,\n {\n spaces: 2,\n },\n );\n }),\n );\n}\n\nfunction trimRelative(path: string): string {\n if (path.startsWith('./')) {\n return path.slice(2);\n }\n return path;\n}\n\nexport function fixPackageExports(pkg: FixablePackage) {\n let { exports: exp } = pkg.packageJson;\n if (!exp) {\n return;\n }\n if (Array.isArray(exp)) {\n throw new Error('Unexpected array in package.json exports field');\n }\n\n // If exports is a string we rewrite it to an object to add package.json\n if (typeof exp === 'string') {\n pkg.changed = true;\n exp = { '.': exp };\n pkg.packageJson.exports = exp;\n } else if (typeof exp !== 'object') {\n return;\n }\n\n if (!exp['./package.json']) {\n pkg.changed = true;\n exp['./package.json'] = './package.json';\n }\n\n const existingTypesVersions = JSON.stringify(pkg.packageJson.typesVersions);\n\n const typeEntries: Record<string, [string]> = {};\n for (const [path, value] of Object.entries(exp)) {\n // Main entry point does not need to be listed\n if (path === '.') {\n continue;\n }\n const newPath = trimRelative(path);\n\n // Only script files and package.json should be added to typesVersions\n if (typeof value === 'string') {\n if (SCRIPT_EXTS.includes(extname(value))) {\n typeEntries[newPath] = [trimRelative(value)];\n }\n } else if (value && typeof value === 'object' && !Array.isArray(value)) {\n if (typeof value.types === 'string') {\n typeEntries[newPath] = [trimRelative(value.types)];\n } else if (\n typeof value.default === 'string' &&\n SCRIPT_EXTS.includes(extname(value.default))\n ) {\n typeEntries[newPath] = [trimRelative(value.default)];\n }\n }\n }\n\n const hasTypeEntries = Object.keys(typeEntries).length > 0;\n const typesVersions = hasTypeEntries ? { '*': typeEntries } : undefined;\n\n if (existingTypesVersions !== JSON.stringify(typesVersions)) {\n if (pkg.packageJson.typesVersions) {\n // Update in place to preserve field order\n if (typesVersions) {\n pkg.packageJson.typesVersions = typesVersions;\n } else {\n delete pkg.packageJson.typesVersions;\n }\n } else if (typesVersions) {\n // Insert after exports when adding for the first time\n const newPkgEntries = Object.entries(pkg.packageJson);\n newPkgEntries.splice(\n newPkgEntries.findIndex(([name]) => name === 'exports') + 1,\n 0,\n ['typesVersions', typesVersions],\n );\n pkg.packageJson = Object.fromEntries(\n newPkgEntries,\n ) as BackstagePackageJson;\n }\n pkg.changed = true;\n }\n\n // Remove the legacy fields from publishConfig, which are no longer needed\n const publishConfig = pkg.packageJson.publishConfig as\n | Record<string, string>\n | undefined;\n if (publishConfig) {\n for (const field of ['main', 'module', 'browser', 'types']) {\n if (publishConfig[field]) {\n delete publishConfig[field];\n pkg.changed = true;\n }\n }\n }\n}\n\nexport function fixSideEffects(pkg: FixablePackage) {\n const role = PackageRoles.getRoleFromPackage(pkg.packageJson);\n if (!role) {\n return;\n }\n\n const roleInfo = PackageRoles.getRoleInfo(role);\n\n // Only web and common packages benefit from being marked as side effect free\n if (roleInfo.platform === 'node') {\n return;\n }\n // Bundled packages don't need to mark themselves as having no side effects\n if (roleInfo.output.length === 1 && roleInfo.output[0] === 'bundle') {\n return;\n }\n\n // Already declared\n if ('sideEffects' in pkg.packageJson) {\n return;\n }\n\n const pkgEntries = Object.entries(pkg.packageJson);\n pkgEntries.splice(\n // Place it just above the scripts field\n pkgEntries.findIndex(([name]) => name === 'scripts'),\n 0,\n ['sideEffects', false],\n );\n pkg.packageJson = Object.fromEntries(pkgEntries) as BackstagePackageJson;\n pkg.changed = true;\n}\n\nexport function createRepositoryFieldFixer() {\n const rootPkg = require(targetPaths.resolveRoot('package.json'));\n const rootRepoField = rootPkg.repository;\n if (!rootRepoField) {\n return () => {};\n }\n\n const rootType = rootRepoField.type || 'git';\n const rootUrl = rootRepoField.url;\n const rootDir = rootRepoField.directory || '';\n\n return (pkg: FixablePackage) => {\n const expectedPath = posix.join(\n rootDir,\n relativePath(targetPaths.rootDir, pkg.dir),\n );\n const repoField = pkg.packageJson.repository;\n\n if (!repoField || typeof repoField === 'string') {\n const pkgEntries = Object.entries(pkg.packageJson);\n pkgEntries.splice(\n // Place it just above the backstage field\n pkgEntries.findIndex(([name]) => name === 'backstage'),\n 0,\n [\n 'repository',\n {\n type: rootType,\n url: rootUrl,\n directory: expectedPath,\n },\n ],\n );\n pkg.packageJson = Object.fromEntries(pkgEntries) as BackstagePackageJson;\n pkg.changed = true;\n return;\n }\n\n // If there's a type or URL mismatch, leave the field as is\n if (repoField.type !== rootType || repoField.url !== rootUrl) {\n return;\n }\n\n if (repoField.directory !== expectedPath) {\n repoField.directory = expectedPath;\n pkg.changed = true;\n }\n };\n}\n\nfunction guessPluginId(role: PackageRole, pkgName: string): string | undefined {\n switch (role) {\n case 'frontend':\n case 'frontend-plugin':\n return pkgName.match(/plugin-(.*)/)?.[1];\n case 'frontend-plugin-module':\n return pkgName.match(/plugin-(.*)-module-/)?.[1];\n case 'backend-plugin':\n return pkgName.match(/plugin-(.*)-backend$/)?.[1];\n case 'backend-plugin-module':\n return pkgName.match(/plugin-(.*)-backend-module-/)?.[1];\n case 'common-library':\n return pkgName.match(/plugin-(.*)-(?:common)$/)?.[1];\n case 'web-library':\n return pkgName.match(/plugin-(.*)-(?:react|test-utils)/)?.[1];\n case 'node-library':\n return pkgName.match(/plugin-(.*)-(?:node|backend)-?/)?.[1];\n default:\n throw new Error(\n `Invalid 'backstage.role' field in \"${pkgName}\", got '${role}'`,\n );\n }\n}\n\nexport function fixPluginId(pkg: FixablePackage) {\n const role = pkg.packageJson.backstage?.role;\n if (!role) {\n return;\n }\n\n if (\n role === 'backend' ||\n role === 'frontend' ||\n role === 'cli' ||\n role === 'cli-module'\n ) {\n return;\n }\n\n const currentId = pkg.packageJson.backstage?.pluginId;\n if (currentId !== undefined) {\n if (typeof currentId !== 'string' && currentId !== null) {\n throw new Error(\n `Invalid 'backstage.pluginId' field in \"${pkg.packageJson.name}\", must be a string`,\n );\n }\n return;\n }\n\n const guessedPluginId = guessPluginId(role, pkg.packageJson.name);\n if (\n !guessedPluginId &&\n (role === 'frontend-plugin' ||\n role === 'frontend-plugin-module' ||\n role === 'backend-plugin' ||\n role === 'backend-plugin-module')\n ) {\n const path = relativePath(\n targetPaths.rootDir,\n resolvePath(pkg.dir, 'package.json'),\n );\n const msg = `Failed to guess plugin ID for \"${pkg.packageJson.name}\", please set the 'backstage.pluginId' field manually in \"${path}\"`;\n if (role.endsWith('module')) {\n const suggestedRole = role.startsWith('frontend')\n ? 'web-library'\n : 'node-library';\n throw new Error(\n `${msg}. It is also possible that this package is not a module, and should use the '${suggestedRole}' role instead.`,\n );\n } else {\n throw new Error(msg);\n }\n }\n\n if (guessedPluginId) {\n pkg.packageJson.backstage = {\n ...pkg.packageJson.backstage,\n pluginId: guessedPluginId,\n };\n pkg.changed = true;\n }\n}\n\nconst pluginPackageRoles: Array<string | undefined> = [\n 'frontend-plugin',\n 'backend-plugin',\n 'common-library',\n 'web-library',\n 'node-library',\n];\n\nexport function fixPluginPackages(\n pkg: FixablePackage,\n repoPackages: FixablePackage[],\n) {\n const pkgBackstage = pkg.packageJson.backstage;\n const role = pkgBackstage?.role;\n if (!role) {\n return;\n }\n\n if (\n role === 'backend' ||\n role === 'frontend' ||\n role === 'cli' ||\n role === 'cli-module'\n ) {\n return;\n }\n\n const pluginId = pkgBackstage.pluginId;\n if (!pluginId) {\n // Might be a plugin-less library, skip\n if (\n role === 'common-library' ||\n role === 'web-library' ||\n role === 'node-library' ||\n role === 'frontend-plugin-module' // TODO(Rugvip): Remove this once frontend modules are required to have a plugin ID\n ) {\n return;\n }\n throw new Error(\n `Missing 'backstage.pluginId' field in \"${pkg.packageJson.name}\"`,\n );\n }\n\n if (role === 'backend-plugin-module' || role === 'frontend-plugin-module') {\n const targetRole = role.replace('-module', '');\n\n // Try to find a plugin package in the same repo, but otherwise fall back to looking up the package name by ID of @backstage/* plugins\n const pluginPkgName =\n repoPackages.find(\n p =>\n p.packageJson.backstage?.pluginId === pluginId &&\n p.packageJson.backstage?.role === targetRole,\n )?.packageJson.name ??\n (role === 'backend-plugin-module'\n ? knownBackendPluginPackageNameByPluginId[pluginId]\n : knownFrontendPluginPackageNameByPluginId[pluginId]);\n if (!pluginPkgName) {\n // If we can't find a matching package in the repo but one is declared, skip\n if (pkgBackstage.pluginPackage) {\n return;\n }\n const path = relativePath(\n targetPaths.rootDir,\n resolvePath(pkg.dir, 'package.json'),\n );\n const suggestedRole =\n role === 'frontend-plugin-module' ? 'web-library' : 'node-library';\n throw new Error(\n `Failed to find plugin package for \"${pkg.packageJson.name}\", please declare the name of the plugin package that this package is a module for in the 'backstage.pluginPackage' field in \"${path}\". ` +\n `It is also possible that this package is not a module, and should use the '${suggestedRole}' role instead.`,\n );\n }\n\n if (pkgBackstage.pluginPackage !== pluginPkgName) {\n pkgBackstage.pluginPackage = pluginPkgName;\n pkg.changed = true;\n }\n } else {\n let pluginPackages: string[] | undefined = repoPackages\n .filter(\n p =>\n p.packageJson.backstage?.pluginId === pluginId &&\n pluginPackageRoles.includes(p.packageJson.backstage?.role),\n )\n .map(p => p.packageJson.name)\n .sort();\n\n if (pluginPackages.length === 0) {\n pluginPackages = undefined;\n }\n\n if (pkgBackstage.pluginPackages?.join(',') !== pluginPackages?.join(',')) {\n pkgBackstage.pluginPackages = pluginPackages;\n pkg.changed = true;\n }\n }\n}\n\nexport function fixPeerModules(pkg: FixablePackage) {\n const pkgBackstage = pkg.packageJson.backstage;\n const role = pkgBackstage?.role;\n if (!role) {\n return;\n }\n\n const peerModules = pkgBackstage.peerModules;\n if (peerModules === undefined) {\n return;\n }\n\n const packagePath = relativePath(\n targetPaths.rootDir,\n resolvePath(pkg.dir, 'package.json'),\n );\n\n // Validate that peerModules is only used on plugin packages\n if (role !== 'backend-plugin' && role !== 'frontend-plugin') {\n throw new Error(\n `The 'backstage.peerModules' field in \"${pkg.packageJson.name}\" can only be used on plugin packages (backend-plugin or frontend-plugin), but package has role '${role}' in \"${packagePath}\"`,\n );\n }\n\n // Validate that peerModules is an array\n if (!Array.isArray(peerModules)) {\n throw new Error(\n `Invalid 'backstage.peerModules' field in \"${pkg.packageJson.name}\", must be an array of package names in \"${packagePath}\"`,\n );\n }\n\n // Validate that all entries are non-empty strings\n for (const entry of peerModules) {\n if (typeof entry !== 'string' || entry.length === 0) {\n throw new Error(\n `Invalid entry in 'backstage.peerModules' field in \"${pkg.packageJson.name}\", all entries must be non-empty package name strings in \"${packagePath}\"`,\n );\n }\n }\n}\n\ntype PackageFixer = (pkg: FixablePackage, packages: FixablePackage[]) => void;\n\nexport default async ({\n args,\n info,\n}: import('@backstage/cli-node').CliCommandContext) => {\n const {\n flags: { publish, check },\n } = cli(\n {\n name: info.usage,\n booleanFlagNegation: true,\n flags: {\n publish: {\n type: Boolean,\n description:\n 'Enable additional fixes that only apply when publishing packages',\n },\n check: {\n type: Boolean,\n description:\n 'Fail if any packages would have been changed by the command',\n },\n },\n },\n undefined,\n args,\n );\n\n const packages = await readFixablePackages();\n const fixRepositoryField = createRepositoryFieldFixer();\n\n const fixers: PackageFixer[] = [fixPackageExports, fixSideEffects];\n\n if (publish) {\n fixers.push(\n fixRepositoryField,\n fixPluginId,\n fixPluginPackages,\n fixPeerModules,\n );\n }\n\n for (const fixer of fixers) {\n for (const pkg of packages) {\n fixer(pkg, packages);\n }\n }\n\n if (check) {\n if (printPackageFixHint(packages)) {\n process.exit(1);\n }\n } else {\n await writeFixedPackages(packages);\n }\n};\n"],"names":["PackageGraph","targetPaths","fs","resolvePath","path","extname","PackageRoles","posix","relativePath","knownBackendPluginPackageNameByPluginId","knownFrontendPluginPackageNameByPluginId","cli"],"mappings":";;;;;;;;;;;;;;;;;;;AAqCA,MAAM,cAAc,CAAC,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,QAAQ,OAAO,CAAA;AAS1D,eAAsB,mBAAA,GAAiD;AACrE,EAAA,MAAM,QAAA,GAAW,MAAMA,oBAAA,CAAa,kBAAA,EAAmB;AACvD,EAAA,OAAO,QAAA,CAAS,IAAI,CAAA,GAAA,MAAQ,EAAE,GAAG,GAAA,EAAK,OAAA,EAAS,OAAM,CAAE,CAAA;AACzD;AAEO,SAAS,oBAAoB,QAAA,EAA4B;AAC9D,EAAA,MAAM,OAAA,GAAU,QAAA,CAAS,MAAA,CAAO,CAAA,GAAA,KAAO,IAAI,OAAO,CAAA;AAClD,EAAA,IAAI,OAAA,CAAQ,SAAS,CAAA,EAAG;AACtB,IAAA,MAAM,OAAA,GAAU,OAAA,CAAQC,qBAAA,CAAY,WAAA,CAAY,cAAc,CAAC,CAAA;AAC/D,IAAA,MAAM,MAAA,GACJ,OAAA,CAAQ,OAAA,EAAS,GAAA,KAAQ,2BACrB,KAAA,GACA,wBAAA;AACN,IAAA,OAAA,CAAQ,GAAA;AAAA,MACN,qDAAqD,MAAM,CAAA,cAAA;AAAA,KAC7D;AACA,IAAA,KAAA,MAAW,OAAO,OAAA,EAAS;AACzB,MAAA,OAAA,CAAQ,GAAA,CAAI,CAAA,EAAA,EAAK,GAAA,CAAI,WAAA,CAAY,IAAI,CAAA,CAAE,CAAA;AAAA,IACzC;AACA,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAA,OAAO,KAAA;AACT;AAEA,eAAsB,mBACpB,QAAA,EACe;AACf,EAAA,MAAM,OAAA,CAAQ,GAAA;AAAA,IACZ,QAAA,CAAS,GAAA,CAAI,OAAM,GAAA,KAAO;AACxB,MAAA,IAAI,CAAC,IAAI,OAAA,EAAS;AAChB,QAAA;AAAA,MACF;AAEA,MAAA,MAAMC,mBAAA,CAAG,SAAA;AAAA,QACPC,YAAA,CAAY,GAAA,CAAI,GAAA,EAAK,cAAc,CAAA;AAAA,QACnC,GAAA,CAAI,WAAA;AAAA,QACJ;AAAA,UACE,MAAA,EAAQ;AAAA;AACV,OACF;AAAA,IACF,CAAC;AAAA,GACH;AACF;AAEA,SAAS,aAAa,IAAA,EAAsB;AAC1C,EAAA,IAAI,IAAA,CAAK,UAAA,CAAW,IAAI,CAAA,EAAG;AACzB,IAAA,OAAO,IAAA,CAAK,MAAM,CAAC,CAAA;AAAA,EACrB;AACA,EAAA,OAAO,IAAA;AACT;AAEO,SAAS,kBAAkB,GAAA,EAAqB;AACrD,EAAA,IAAI,EAAE,OAAA,EAAS,GAAA,EAAI,GAAI,GAAA,CAAI,WAAA;AAC3B,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA;AAAA,EACF;AACA,EAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,GAAG,CAAA,EAAG;AACtB,IAAA,MAAM,IAAI,MAAM,gDAAgD,CAAA;AAAA,EAClE;AAGA,EAAA,IAAI,OAAO,QAAQ,QAAA,EAAU;AAC3B,IAAA,GAAA,CAAI,OAAA,GAAU,IAAA;AACd,IAAA,GAAA,GAAM,EAAE,KAAK,GAAA,EAAI;AACjB,IAAA,GAAA,CAAI,YAAY,OAAA,GAAU,GAAA;AAAA,EAC5B,CAAA,MAAA,IAAW,OAAO,GAAA,KAAQ,QAAA,EAAU;AAClC,IAAA;AAAA,EACF;AAEA,EAAA,IAAI,CAAC,GAAA,CAAI,gBAAgB,CAAA,EAAG;AAC1B,IAAA,GAAA,CAAI,OAAA,GAAU,IAAA;AACd,IAAA,GAAA,CAAI,gBAAgB,CAAA,GAAI,gBAAA;AAAA,EAC1B;AAEA,EAAA,MAAM,qBAAA,GAAwB,IAAA,CAAK,SAAA,CAAU,GAAA,CAAI,YAAY,aAAa,CAAA;AAE1E,EAAA,MAAM,cAAwC,EAAC;AAC/C,EAAA,KAAA,MAAW,CAACC,MAAA,EAAM,KAAK,KAAK,MAAA,CAAO,OAAA,CAAQ,GAAG,CAAA,EAAG;AAE/C,IAAA,IAAIA,WAAS,GAAA,EAAK;AAChB,MAAA;AAAA,IACF;AACA,IAAA,MAAM,OAAA,GAAU,aAAaA,MAAI,CAAA;AAGjC,IAAA,IAAI,OAAO,UAAU,QAAA,EAAU;AAC7B,MAAA,IAAI,WAAA,CAAY,QAAA,CAASC,YAAA,CAAQ,KAAK,CAAC,CAAA,EAAG;AACxC,QAAA,WAAA,CAAY,OAAO,CAAA,GAAI,CAAC,YAAA,CAAa,KAAK,CAAC,CAAA;AAAA,MAC7C;AAAA,IACF,CAAA,MAAA,IAAW,SAAS,OAAO,KAAA,KAAU,YAAY,CAAC,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG;AACtE,MAAA,IAAI,OAAO,KAAA,CAAM,KAAA,KAAU,QAAA,EAAU;AACnC,QAAA,WAAA,CAAY,OAAO,CAAA,GAAI,CAAC,YAAA,CAAa,KAAA,CAAM,KAAK,CAAC,CAAA;AAAA,MACnD,CAAA,MAAA,IACE,OAAO,KAAA,CAAM,OAAA,KAAY,QAAA,IACzB,WAAA,CAAY,QAAA,CAASA,YAAA,CAAQ,KAAA,CAAM,OAAO,CAAC,CAAA,EAC3C;AACA,QAAA,WAAA,CAAY,OAAO,CAAA,GAAI,CAAC,YAAA,CAAa,KAAA,CAAM,OAAO,CAAC,CAAA;AAAA,MACrD;AAAA,IACF;AAAA,EACF;AAEA,EAAA,MAAM,cAAA,GAAiB,MAAA,CAAO,IAAA,CAAK,WAAW,EAAE,MAAA,GAAS,CAAA;AACzD,EAAA,MAAM,aAAA,GAAgB,cAAA,GAAiB,EAAE,GAAA,EAAK,aAAY,GAAI,MAAA;AAE9D,EAAA,IAAI,qBAAA,KAA0B,IAAA,CAAK,SAAA,CAAU,aAAa,CAAA,EAAG;AAC3D,IAAA,IAAI,GAAA,CAAI,YAAY,aAAA,EAAe;AAEjC,MAAA,IAAI,aAAA,EAAe;AACjB,QAAA,GAAA,CAAI,YAAY,aAAA,GAAgB,aAAA;AAAA,MAClC,CAAA,MAAO;AACL,QAAA,OAAO,IAAI,WAAA,CAAY,aAAA;AAAA,MACzB;AAAA,IACF,WAAW,aAAA,EAAe;AAExB,MAAA,MAAM,aAAA,GAAgB,MAAA,CAAO,OAAA,CAAQ,GAAA,CAAI,WAAW,CAAA;AACpD,MAAA,aAAA,CAAc,MAAA;AAAA,QACZ,aAAA,CAAc,UAAU,CAAC,CAAC,IAAI,CAAA,KAAM,IAAA,KAAS,SAAS,CAAA,GAAI,CAAA;AAAA,QAC1D,CAAA;AAAA,QACA,CAAC,iBAAiB,aAAa;AAAA,OACjC;AACA,MAAA,GAAA,CAAI,cAAc,MAAA,CAAO,WAAA;AAAA,QACvB;AAAA,OACF;AAAA,IACF;AACA,IAAA,GAAA,CAAI,OAAA,GAAU,IAAA;AAAA,EAChB;AAGA,EAAA,MAAM,aAAA,GAAgB,IAAI,WAAA,CAAY,aAAA;AAGtC,EAAA,IAAI,aAAA,EAAe;AACjB,IAAA,KAAA,MAAW,SAAS,CAAC,MAAA,EAAQ,QAAA,EAAU,SAAA,EAAW,OAAO,CAAA,EAAG;AAC1D,MAAA,IAAI,aAAA,CAAc,KAAK,CAAA,EAAG;AACxB,QAAA,OAAO,cAAc,KAAK,CAAA;AAC1B,QAAA,GAAA,CAAI,OAAA,GAAU,IAAA;AAAA,MAChB;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,eAAe,GAAA,EAAqB;AAClD,EAAA,MAAM,IAAA,GAAOC,oBAAA,CAAa,kBAAA,CAAmB,GAAA,CAAI,WAAW,CAAA;AAC5D,EAAA,IAAI,CAAC,IAAA,EAAM;AACT,IAAA;AAAA,EACF;AAEA,EAAA,MAAM,QAAA,GAAWA,oBAAA,CAAa,WAAA,CAAY,IAAI,CAAA;AAG9C,EAAA,IAAI,QAAA,CAAS,aAAa,MAAA,EAAQ;AAChC,IAAA;AAAA,EACF;AAEA,EAAA,IAAI,QAAA,CAAS,OAAO,MAAA,KAAW,CAAA,IAAK,SAAS,MAAA,CAAO,CAAC,MAAM,QAAA,EAAU;AACnE,IAAA;AAAA,EACF;AAGA,EAAA,IAAI,aAAA,IAAiB,IAAI,WAAA,EAAa;AACpC,IAAA;AAAA,EACF;AAEA,EAAA,MAAM,UAAA,GAAa,MAAA,CAAO,OAAA,CAAQ,GAAA,CAAI,WAAW,CAAA;AACjD,EAAA,UAAA,CAAW,MAAA;AAAA;AAAA,IAET,WAAW,SAAA,CAAU,CAAC,CAAC,IAAI,CAAA,KAAM,SAAS,SAAS,CAAA;AAAA,IACnD,CAAA;AAAA,IACA,CAAC,eAAe,KAAK;AAAA,GACvB;AACA,EAAA,GAAA,CAAI,WAAA,GAAc,MAAA,CAAO,WAAA,CAAY,UAAU,CAAA;AAC/C,EAAA,GAAA,CAAI,OAAA,GAAU,IAAA;AAChB;AAEO,SAAS,0BAAA,GAA6B;AAC3C,EAAA,MAAM,OAAA,GAAU,OAAA,CAAQL,qBAAA,CAAY,WAAA,CAAY,cAAc,CAAC,CAAA;AAC/D,EAAA,MAAM,gBAAgB,OAAA,CAAQ,UAAA;AAC9B,EAAA,IAAI,CAAC,aAAA,EAAe;AAClB,IAAA,OAAO,MAAM;AAAA,IAAC,CAAA;AAAA,EAChB;AAEA,EAAA,MAAM,QAAA,GAAW,cAAc,IAAA,IAAQ,KAAA;AACvC,EAAA,MAAM,UAAU,aAAA,CAAc,GAAA;AAC9B,EAAA,MAAM,OAAA,GAAU,cAAc,SAAA,IAAa,EAAA;AAE3C,EAAA,OAAO,CAAC,GAAA,KAAwB;AAC9B,IAAA,MAAM,eAAeM,UAAA,CAAM,IAAA;AAAA,MACzB,OAAA;AAAA,MACAC,aAAA,CAAaP,qBAAA,CAAY,OAAA,EAAS,GAAA,CAAI,GAAG;AAAA,KAC3C;AACA,IAAA,MAAM,SAAA,GAAY,IAAI,WAAA,CAAY,UAAA;AAElC,IAAA,IAAI,CAAC,SAAA,IAAa,OAAO,SAAA,KAAc,QAAA,EAAU;AAC/C,MAAA,MAAM,UAAA,GAAa,MAAA,CAAO,OAAA,CAAQ,GAAA,CAAI,WAAW,CAAA;AACjD,MAAA,UAAA,CAAW,MAAA;AAAA;AAAA,QAET,WAAW,SAAA,CAAU,CAAC,CAAC,IAAI,CAAA,KAAM,SAAS,WAAW,CAAA;AAAA,QACrD,CAAA;AAAA,QACA;AAAA,UACE,YAAA;AAAA,UACA;AAAA,YACE,IAAA,EAAM,QAAA;AAAA,YACN,GAAA,EAAK,OAAA;AAAA,YACL,SAAA,EAAW;AAAA;AACb;AACF,OACF;AACA,MAAA,GAAA,CAAI,WAAA,GAAc,MAAA,CAAO,WAAA,CAAY,UAAU,CAAA;AAC/C,MAAA,GAAA,CAAI,OAAA,GAAU,IAAA;AACd,MAAA;AAAA,IACF;AAGA,IAAA,IAAI,SAAA,CAAU,IAAA,KAAS,QAAA,IAAY,SAAA,CAAU,QAAQ,OAAA,EAAS;AAC5D,MAAA;AAAA,IACF;AAEA,IAAA,IAAI,SAAA,CAAU,cAAc,YAAA,EAAc;AACxC,MAAA,SAAA,CAAU,SAAA,GAAY,YAAA;AACtB,MAAA,GAAA,CAAI,OAAA,GAAU,IAAA;AAAA,IAChB;AAAA,EACF,CAAA;AACF;AAEA,SAAS,aAAA,CAAc,MAAmB,OAAA,EAAqC;AAC7E,EAAA,QAAQ,IAAA;AAAM,IACZ,KAAK,UAAA;AAAA,IACL,KAAK,iBAAA;AACH,MAAA,OAAO,OAAA,CAAQ,KAAA,CAAM,aAAa,CAAA,GAAI,CAAC,CAAA;AAAA,IACzC,KAAK,wBAAA;AACH,MAAA,OAAO,OAAA,CAAQ,KAAA,CAAM,qBAAqB,CAAA,GAAI,CAAC,CAAA;AAAA,IACjD,KAAK,gBAAA;AACH,MAAA,OAAO,OAAA,CAAQ,KAAA,CAAM,sBAAsB,CAAA,GAAI,CAAC,CAAA;AAAA,IAClD,KAAK,uBAAA;AACH,MAAA,OAAO,OAAA,CAAQ,KAAA,CAAM,6BAA6B,CAAA,GAAI,CAAC,CAAA;AAAA,IACzD,KAAK,gBAAA;AACH,MAAA,OAAO,OAAA,CAAQ,KAAA,CAAM,yBAAyB,CAAA,GAAI,CAAC,CAAA;AAAA,IACrD,KAAK,aAAA;AACH,MAAA,OAAO,OAAA,CAAQ,KAAA,CAAM,kCAAkC,CAAA,GAAI,CAAC,CAAA;AAAA,IAC9D,KAAK,cAAA;AACH,MAAA,OAAO,OAAA,CAAQ,KAAA,CAAM,gCAAgC,CAAA,GAAI,CAAC,CAAA;AAAA,IAC5D;AACE,MAAA,MAAM,IAAI,KAAA;AAAA,QACR,CAAA,mCAAA,EAAsC,OAAO,CAAA,QAAA,EAAW,IAAI,CAAA,CAAA;AAAA,OAC9D;AAAA;AAEN;AAEO,SAAS,YAAY,GAAA,EAAqB;AAC/C,EAAA,MAAM,IAAA,GAAO,GAAA,CAAI,WAAA,CAAY,SAAA,EAAW,IAAA;AACxC,EAAA,IAAI,CAAC,IAAA,EAAM;AACT,IAAA;AAAA,EACF;AAEA,EAAA,IACE,SAAS,SAAA,IACT,IAAA,KAAS,cACT,IAAA,KAAS,KAAA,IACT,SAAS,YAAA,EACT;AACA,IAAA;AAAA,EACF;AAEA,EAAA,MAAM,SAAA,GAAY,GAAA,CAAI,WAAA,CAAY,SAAA,EAAW,QAAA;AAC7C,EAAA,IAAI,cAAc,MAAA,EAAW;AAC3B,IAAA,IAAI,OAAO,SAAA,KAAc,QAAA,IAAY,SAAA,KAAc,IAAA,EAAM;AACvD,MAAA,MAAM,IAAI,KAAA;AAAA,QACR,CAAA,uCAAA,EAA0C,GAAA,CAAI,WAAA,CAAY,IAAI,CAAA,mBAAA;AAAA,OAChE;AAAA,IACF;AACA,IAAA;AAAA,EACF;AAEA,EAAA,MAAM,eAAA,GAAkB,aAAA,CAAc,IAAA,EAAM,GAAA,CAAI,YAAY,IAAI,CAAA;AAChE,EAAA,IACE,CAAC,oBACA,IAAA,KAAS,iBAAA,IACR,SAAS,wBAAA,IACT,IAAA,KAAS,gBAAA,IACT,IAAA,KAAS,uBAAA,CAAA,EACX;AACA,IAAA,MAAMG,MAAA,GAAOI,aAAA;AAAA,MACXP,qBAAA,CAAY,OAAA;AAAA,MACZE,YAAA,CAAY,GAAA,CAAI,GAAA,EAAK,cAAc;AAAA,KACrC;AACA,IAAA,MAAM,MAAM,CAAA,+BAAA,EAAkC,GAAA,CAAI,WAAA,CAAY,IAAI,6DAA6DC,MAAI,CAAA,CAAA,CAAA;AACnI,IAAA,IAAI,IAAA,CAAK,QAAA,CAAS,QAAQ,CAAA,EAAG;AAC3B,MAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,UAAA,CAAW,UAAU,IAC5C,aAAA,GACA,cAAA;AACJ,MAAA,MAAM,IAAI,KAAA;AAAA,QACR,CAAA,EAAG,GAAG,CAAA,6EAAA,EAAgF,aAAa,CAAA,eAAA;AAAA,OACrG;AAAA,IACF,CAAA,MAAO;AACL,MAAA,MAAM,IAAI,MAAM,GAAG,CAAA;AAAA,IACrB;AAAA,EACF;AAEA,EAAA,IAAI,eAAA,EAAiB;AACnB,IAAA,GAAA,CAAI,YAAY,SAAA,GAAY;AAAA,MAC1B,GAAG,IAAI,WAAA,CAAY,SAAA;AAAA,MACnB,QAAA,EAAU;AAAA,KACZ;AACA,IAAA,GAAA,CAAI,OAAA,GAAU,IAAA;AAAA,EAChB;AACF;AAEA,MAAM,kBAAA,GAAgD;AAAA,EACpD,iBAAA;AAAA,EACA,gBAAA;AAAA,EACA,gBAAA;AAAA,EACA,aAAA;AAAA,EACA;AACF,CAAA;AAEO,SAAS,iBAAA,CACd,KACA,YAAA,EACA;AACA,EAAA,MAAM,YAAA,GAAe,IAAI,WAAA,CAAY,SAAA;AACrC,EAAA,MAAM,OAAO,YAAA,EAAc,IAAA;AAC3B,EAAA,IAAI,CAAC,IAAA,EAAM;AACT,IAAA;AAAA,EACF;AAEA,EAAA,IACE,SAAS,SAAA,IACT,IAAA,KAAS,cACT,IAAA,KAAS,KAAA,IACT,SAAS,YAAA,EACT;AACA,IAAA;AAAA,EACF;AAEA,EAAA,MAAM,WAAW,YAAA,CAAa,QAAA;AAC9B,EAAA,IAAI,CAAC,QAAA,EAAU;AAEb,IAAA,IACE,SAAS,gBAAA,IACT,IAAA,KAAS,iBACT,IAAA,KAAS,cAAA,IACT,SAAS,wBAAA,EACT;AACA,MAAA;AAAA,IACF;AACA,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA,uCAAA,EAA0C,GAAA,CAAI,WAAA,CAAY,IAAI,CAAA,CAAA;AAAA,KAChE;AAAA,EACF;AAEA,EAAA,IAAI,IAAA,KAAS,uBAAA,IAA2B,IAAA,KAAS,wBAAA,EAA0B;AACzE,IAAA,MAAM,UAAA,GAAa,IAAA,CAAK,OAAA,CAAQ,SAAA,EAAW,EAAE,CAAA;AAG7C,IAAA,MAAM,gBACJ,YAAA,CAAa,IAAA;AAAA,MACX,CAAA,CAAA,KACE,EAAE,WAAA,CAAY,SAAA,EAAW,aAAa,QAAA,IACtC,CAAA,CAAE,WAAA,CAAY,SAAA,EAAW,IAAA,KAAS;AAAA,KACtC,EAAG,YAAY,IAAA,KACd,IAAA,KAAS,0BACNK,2DAAA,CAAwC,QAAQ,CAAA,GAChDC,4DAAA,CAAyC,QAAQ,CAAA,CAAA;AACvD,IAAA,IAAI,CAAC,aAAA,EAAe;AAElB,MAAA,IAAI,aAAa,aAAA,EAAe;AAC9B,QAAA;AAAA,MACF;AACA,MAAA,MAAMN,MAAA,GAAOI,aAAA;AAAA,QACXP,qBAAA,CAAY,OAAA;AAAA,QACZE,YAAA,CAAY,GAAA,CAAI,GAAA,EAAK,cAAc;AAAA,OACrC;AACA,MAAA,MAAM,aAAA,GACJ,IAAA,KAAS,wBAAA,GAA2B,aAAA,GAAgB,cAAA;AACtD,MAAA,MAAM,IAAI,KAAA;AAAA,QACR,sCAAsC,GAAA,CAAI,WAAA,CAAY,IAAI,CAAA,8HAAA,EAAiIC,MAAI,iFAC/G,aAAa,CAAA,eAAA;AAAA,OAC/F;AAAA,IACF;AAEA,IAAA,IAAI,YAAA,CAAa,kBAAkB,aAAA,EAAe;AAChD,MAAA,YAAA,CAAa,aAAA,GAAgB,aAAA;AAC7B,MAAA,GAAA,CAAI,OAAA,GAAU,IAAA;AAAA,IAChB;AAAA,EACF,CAAA,MAAO;AACL,IAAA,IAAI,iBAAuC,YAAA,CACxC,MAAA;AAAA,MACC,CAAA,CAAA,KACE,CAAA,CAAE,WAAA,CAAY,SAAA,EAAW,QAAA,KAAa,QAAA,IACtC,kBAAA,CAAmB,QAAA,CAAS,CAAA,CAAE,WAAA,CAAY,SAAA,EAAW,IAAI;AAAA,MAE5D,GAAA,CAAI,CAAA,CAAA,KAAK,EAAE,WAAA,CAAY,IAAI,EAC3B,IAAA,EAAK;AAER,IAAA,IAAI,cAAA,CAAe,WAAW,CAAA,EAAG;AAC/B,MAAA,cAAA,GAAiB,MAAA;AAAA,IACnB;AAEA,IAAA,IAAI,YAAA,CAAa,gBAAgB,IAAA,CAAK,GAAG,MAAM,cAAA,EAAgB,IAAA,CAAK,GAAG,CAAA,EAAG;AACxE,MAAA,YAAA,CAAa,cAAA,GAAiB,cAAA;AAC9B,MAAA,GAAA,CAAI,OAAA,GAAU,IAAA;AAAA,IAChB;AAAA,EACF;AACF;AAEO,SAAS,eAAe,GAAA,EAAqB;AAClD,EAAA,MAAM,YAAA,GAAe,IAAI,WAAA,CAAY,SAAA;AACrC,EAAA,MAAM,OAAO,YAAA,EAAc,IAAA;AAC3B,EAAA,IAAI,CAAC,IAAA,EAAM;AACT,IAAA;AAAA,EACF;AAEA,EAAA,MAAM,cAAc,YAAA,CAAa,WAAA;AACjC,EAAA,IAAI,gBAAgB,MAAA,EAAW;AAC7B,IAAA;AAAA,EACF;AAEA,EAAA,MAAM,WAAA,GAAcI,aAAA;AAAA,IAClBP,qBAAA,CAAY,OAAA;AAAA,IACZE,YAAA,CAAY,GAAA,CAAI,GAAA,EAAK,cAAc;AAAA,GACrC;AAGA,EAAA,IAAI,IAAA,KAAS,gBAAA,IAAoB,IAAA,KAAS,iBAAA,EAAmB;AAC3D,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,yCAAyC,GAAA,CAAI,WAAA,CAAY,IAAI,CAAA,iGAAA,EAAoG,IAAI,SAAS,WAAW,CAAA,CAAA;AAAA,KAC3L;AAAA,EACF;AAGA,EAAA,IAAI,CAAC,KAAA,CAAM,OAAA,CAAQ,WAAW,CAAA,EAAG;AAC/B,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA,0CAAA,EAA6C,GAAA,CAAI,WAAA,CAAY,IAAI,4CAA4C,WAAW,CAAA,CAAA;AAAA,KAC1H;AAAA,EACF;AAGA,EAAA,KAAA,MAAW,SAAS,WAAA,EAAa;AAC/B,IAAA,IAAI,OAAO,KAAA,KAAU,QAAA,IAAY,KAAA,CAAM,WAAW,CAAA,EAAG;AACnD,MAAA,MAAM,IAAI,KAAA;AAAA,QACR,CAAA,mDAAA,EAAsD,GAAA,CAAI,WAAA,CAAY,IAAI,6DAA6D,WAAW,CAAA,CAAA;AAAA,OACpJ;AAAA,IACF;AAAA,EACF;AACF;AAIA,UAAe,OAAO;AAAA,EACpB,IAAA;AAAA,EACA;AACF,CAAA,KAAuD;AACrD,EAAA,MAAM;AAAA,IACJ,KAAA,EAAO,EAAE,OAAA,EAAS,KAAA;AAAM,GAC1B,GAAIQ,SAAA;AAAA,IACF;AAAA,MACE,MAAM,IAAA,CAAK,KAAA;AAAA,MACX,mBAAA,EAAqB,IAAA;AAAA,MACrB,KAAA,EAAO;AAAA,QACL,OAAA,EAAS;AAAA,UACP,IAAA,EAAM,OAAA;AAAA,UACN,WAAA,EACE;AAAA,SACJ;AAAA,QACA,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,OAAA;AAAA,UACN,WAAA,EACE;AAAA;AACJ;AACF,KACF;AAAA,IACA,MAAA;AAAA,IACA;AAAA,GACF;AAEA,EAAA,MAAM,QAAA,GAAW,MAAM,mBAAA,EAAoB;AAC3C,EAAA,MAAM,qBAAqB,0BAAA,EAA2B;AAEtD,EAAA,MAAM,MAAA,GAAyB,CAAC,iBAAA,EAAmB,cAAc,CAAA;AAEjE,EAAA,IAAI,OAAA,EAAS;AACX,IAAA,MAAA,CAAO,IAAA;AAAA,MACL,kBAAA;AAAA,MACA,WAAA;AAAA,MACA,iBAAA;AAAA,MACA;AAAA,KACF;AAAA,EACF;AAEA,EAAA,KAAA,MAAW,SAAS,MAAA,EAAQ;AAC1B,IAAA,KAAA,MAAW,OAAO,QAAA,EAAU;AAC1B,MAAA,KAAA,CAAM,KAAK,QAAQ,CAAA;AAAA,IACrB;AAAA,EACF;AAEA,EAAA,IAAI,KAAA,EAAO;AACT,IAAA,IAAI,mBAAA,CAAoB,QAAQ,CAAA,EAAG;AACjC,MAAA,OAAA,CAAQ,KAAK,CAAC,CAAA;AAAA,IAChB;AAAA,EACF,CAAA,MAAO;AACL,IAAA,MAAM,mBAAmB,QAAQ,CAAA;AAAA,EACnC;AACF,CAAA;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-deprecations.cjs.js","sources":["../../../src/commands/repo/list-deprecations.ts"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport chalk from 'chalk';\nimport { ESLint } from 'eslint';\nimport { cli } from 'cleye';\nimport { relative as relativePath } from 'node:path';\nimport { PackageGraph } from '@backstage/cli-node';\nimport { targetPaths } from '@backstage/cli-common';\nimport type { CliCommandContext } from '@backstage/cli-node';\n\nexport default async ({ args, info }: CliCommandContext) => {\n const {\n flags: { json },\n } = cli(\n {\n
|
|
1
|
+
{"version":3,"file":"list-deprecations.cjs.js","sources":["../../../src/commands/repo/list-deprecations.ts"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport chalk from 'chalk';\nimport { ESLint } from 'eslint';\nimport { cli } from 'cleye';\nimport { relative as relativePath } from 'node:path';\nimport { PackageGraph } from '@backstage/cli-node';\nimport { targetPaths } from '@backstage/cli-common';\nimport type { CliCommandContext } from '@backstage/cli-node';\n\nexport default async ({ args, info }: CliCommandContext) => {\n const {\n flags: { json },\n } = cli(\n {\n name: info.usage,\n booleanFlagNegation: true,\n flags: {\n json: { type: Boolean, description: 'Output as JSON' },\n },\n },\n undefined,\n args,\n );\n\n const packages = await PackageGraph.listTargetPackages();\n\n const eslint = new ESLint({\n cwd: targetPaths.dir,\n overrideConfig: {\n plugins: ['deprecation'],\n rules: {\n 'deprecation/deprecation': 'error',\n },\n parserOptions: {\n project: [targetPaths.resolveRoot('tsconfig.json')],\n },\n },\n extensions: ['jsx', 'ts', 'tsx', 'mjs', 'cjs'],\n });\n\n const { stderr } = process;\n if (stderr.isTTY) {\n stderr.write('Initializing TypeScript...');\n }\n\n const deprecations = [];\n for (const [index, pkg] of packages.entries()) {\n const results = await eslint.lintFiles(pkg.dir);\n for (const result of results) {\n for (const message of result.messages) {\n if (message.ruleId !== 'deprecation/deprecation') {\n continue;\n }\n\n const path = relativePath(targetPaths.rootDir, result.filePath);\n deprecations.push({\n path,\n message: message.message,\n line: message.line,\n column: message.column,\n });\n }\n }\n\n if (stderr.isTTY) {\n stderr.clearLine(0);\n stderr.cursorTo(0);\n stderr.write(`Scanning packages ${index + 1}/${packages.length}`);\n }\n }\n\n if (stderr.isTTY) {\n stderr.clearLine(0);\n stderr.cursorTo(0);\n }\n\n if (json) {\n console.log(JSON.stringify(deprecations, null, 2));\n } else {\n for (const d of deprecations) {\n const location = `${d.path}:${d.line}:${d.column}`;\n const wrappedMessage = d.message.replace(/\\r?\\n\\s*/g, ' ');\n console.log(`${location} - ${chalk.yellow(wrappedMessage)}`);\n }\n }\n\n if (deprecations.length > 0) {\n process.exit(1);\n }\n};\n"],"names":["cli","PackageGraph","eslint","ESLint","targetPaths","path","relativePath","chalk"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@backstage/cli-module-maintenance",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "CLI module for Backstage CLI",
|
|
5
5
|
"backstage": {
|
|
6
6
|
"role": "cli-module"
|
|
@@ -34,14 +34,14 @@
|
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@backstage/cli-common": "^0.2.2",
|
|
37
|
-
"@backstage/cli-node": "^0.3.
|
|
37
|
+
"@backstage/cli-node": "^0.3.3",
|
|
38
38
|
"chalk": "^4.0.0",
|
|
39
|
-
"cleye": "^2.
|
|
39
|
+
"cleye": "^2.6.0",
|
|
40
40
|
"eslint": "^8.6.0",
|
|
41
41
|
"fs-extra": "^11.2.0"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
|
-
"@backstage/cli": "^0.36.
|
|
44
|
+
"@backstage/cli": "^0.36.3",
|
|
45
45
|
"@types/fs-extra": "^11.0.0"
|
|
46
46
|
},
|
|
47
47
|
"typesVersions": {
|