@nxext/stencil
Version:
Nx plugin for stenciljs
34 lines • 1.72 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");
function addLinting(host, options) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
if (options.linter !== eslint_1.Linter.EsLint) {
// eslint-disable-next-line @typescript-eslint/no-empty-function
return () => { };
}
yield (0, devkit_1.ensurePackage)('@nx/eslint', devkit_1.NX_VERSION);
const { lintProjectGenerator } = yield Promise.resolve().then(() => require('@nx/eslint'));
const tasks = [];
const lintTask = yield lintProjectGenerator(host, {
linter: options.linter,
project: options.projectName,
tsConfigPaths: [
(0, devkit_1.joinPathFragments)(options.projectRoot, 'tsconfig.lib.json'),
],
eslintFilePatterns: [`${options.projectRoot}/**/*.{ts,tsx}`],
skipFormat: true,
});
tasks.push(lintTask);
const stencilEslintJson = (0, lint_1.createStencilEslintJson)(options.projectRoot);
(0, devkit_1.updateJson)(host, (0, devkit_1.joinPathFragments)(options.projectRoot, '.eslintrc.json'), () => stencilEslintJson);
const installTask = yield (0, devkit_1.addDependenciesToPackageJson)(host, lint_1.extraEslintDependencies.dependencies, lint_1.extraEslintDependencies.devDependencies);
tasks.push(installTask);
return (0, devkit_1.runTasksInSerial)(...tasks);
});
}
//# sourceMappingURL=add-linting.js.map