UNPKG

@nxext/stencil

Version:

Nx plugin for stenciljs

46 lines 2.64 kB
"use strict"; 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