@nxext/stencil
Version:
Nx plugin for stenciljs
46 lines • 2.64 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.addLinting = addLinting;
const tslib_1 = require("tslib");
const devkit_1 = require("@nx/devkit");
const eslint_1 = require("@nx/eslint");
const lint_1 = require("../../../utils/lint");
const eslint_file_1 = require("@nx/eslint/src/generators/utils/eslint-file");
const flat_config_1 = require("@nx/eslint/src/utils/flat-config");
function addLinting(host, options) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
if (options.linter === eslint_1.Linter.EsLint) {
yield (0, devkit_1.ensurePackage)('@nx/eslint', devkit_1.NX_VERSION);
const { lintProjectGenerator } = yield Promise.resolve().then(() => require('@nx/eslint'));
const tasks = [];
tasks.push(yield lintProjectGenerator(host, {
linter: options.linter,
project: options.projectName,
tsConfigPaths: [
(0, devkit_1.joinPathFragments)(options.projectRoot, 'tsconfig.app.json'),
],
eslintFilePatterns: [`${options.projectRoot}/**/*.{ts,tsx}`],
unitTestRunner: options.unitTestRunner,
skipFormat: true,
setParserOptionsProject: void 0, // this sets the default value,
addPlugin: void 0, // this sets the default value,
}));
const eslintFile = (0, eslint_file_1.findEslintFile)(host, options.projectRoot);
let eslintFlatConfigTask = () => { };
if ((0, flat_config_1.useFlatConfig)(host)) {
const eslintFlatConfigFilePath = (0, devkit_1.joinPathFragments)(options.projectRoot, eslintFile);
let eslintFlatConfigFileContent = host.read(eslintFlatConfigFilePath, 'utf8');
eslintFlatConfigTask = (0, lint_1.augmentStencilEslintFlatConfig)(host, eslintFlatConfigFileContent, eslintFlatConfigFilePath);
}
else {
const stencilEslintJson = (0, lint_1.createStencilEslintJson)(options.projectRoot);
(0, devkit_1.updateJson)(host, (0, devkit_1.joinPathFragments)(options.projectRoot, eslintFile), () => stencilEslintJson);
}
const installTask = (0, devkit_1.addDependenciesToPackageJson)(host, lint_1.extraEslintDependencies.dependencies, lint_1.extraEslintDependencies.devDependencies);
tasks.push(installTask);
return (0, devkit_1.runTasksInSerial)(...tasks, eslintFlatConfigTask);
}
return () => { };
});
}
//# sourceMappingURL=add-linting.js.map