@backstage/cli
Version:
CLI for developing Backstage plugins and apps
83 lines (77 loc) • 2.57 kB
JavaScript
var fs = require('fs-extra');
var path = require('path');
var cliNode = require('@backstage/cli-node');
var run = require('./run-a0658306.cjs.js');
require('child_process');
require('./index-ce56dce5.cjs.js');
require('commander');
require('chalk');
require('semver');
require('@backstage/cli-common');
require('@backstage/errors');
require('util');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
const PREFIX = `module.exports = require('@backstage/cli/config/eslint-factory')`;
async function command() {
const packages = await cliNode.PackageGraph.listTargetPackages();
const oldConfigs = [
require.resolve("@backstage/cli/config/eslint.js"),
require.resolve("@backstage/cli/config/eslint.backend.js")
];
const configPaths = new Array();
await Promise.all(
packages.map(async ({ dir, packageJson }) => {
var _a;
const configPath = path.resolve(dir, ".eslintrc.js");
if (!await fs__default["default"].pathExists(configPath)) {
console.log(`Skipping ${packageJson.name}, missing .eslintrc.js`);
return;
}
let existingConfig;
try {
existingConfig = require(configPath);
} catch (error) {
console.log(
`Skipping ${packageJson.name}, failed to load .eslintrc.js, ${error}`
);
return;
}
const extendsArray = (_a = existingConfig.extends) != null ? _a : [];
const extendIndex = extendsArray.findIndex((p) => oldConfigs.includes(p));
if (extendIndex === -1) {
console.log(
`Skipping ${packageJson.name}, .eslintrc.js does not extend the legacy config`
);
return;
}
extendsArray.splice(extendIndex, 1);
if (extendsArray.length === 0) {
delete existingConfig.extends;
}
if (Object.keys(existingConfig).length > 0) {
await fs__default["default"].writeFile(
configPath,
`${PREFIX}(__dirname, ${JSON.stringify(existingConfig, null, 2)});
`
);
} else {
await fs__default["default"].writeFile(configPath, `${PREFIX}(__dirname);
`);
}
configPaths.push(configPath);
})
);
let hasPrettier = false;
try {
require.resolve("prettier");
hasPrettier = true;
} catch {
}
if (hasPrettier) {
await run.runPlain("prettier", "--write", ...configPaths);
}
}
exports.command = command;
//# sourceMappingURL=packageLintConfigs-9fe45eed.cjs.js.map
;