UNPKG

@o3r/stylelint-plugin

Version:

In-house stylelint plugin to use in your own eslint configuration

51 lines 2.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ngAdd = void 0; const path = require("node:path"); const schematics_1 = require("@o3r/schematics"); const packageJsonPath = path.resolve(__dirname, '..', '..', 'package.json'); const dependenciesToInstall = [ 'postcss', 'postcss-scss', 'stylelint' ]; /** * Add Otter stylelint-plugin to an Angular Project * @param options */ function ngAddFn(options) { /* ng add rules */ return async (tree, context) => { const { NodeDependencyType } = await Promise.resolve().then(() => require('@schematics/angular/utility/dependencies')); const depsInfo = (0, schematics_1.getO3rPeerDeps)(packageJsonPath); const workspaceProject = options.projectName ? (0, schematics_1.getWorkspaceConfig)(tree)?.projects[options.projectName] : undefined; const dependencies = depsInfo.o3rPeerDeps.reduce((acc, dep) => { acc[dep] = { inManifest: [{ range: `~${depsInfo.packageVersion}`, types: (0, schematics_1.getProjectNewDependenciesTypes)(workspaceProject) }] }; return acc; }, (0, schematics_1.getPackageInstallConfig)(packageJsonPath, tree, options.projectName, true, !!options.exactO3rVersion)); Object.entries((0, schematics_1.getExternalDependenciesVersionRange)(dependenciesToInstall, packageJsonPath, context.logger)).forEach(([dep, range]) => { dependencies[dep] = { inManifest: [{ range, types: [NodeDependencyType.Dev] }] }; }); return (0, schematics_1.setupDependencies)({ projectName: options.projectName, dependencies }); }; } /** * Add Otter stylelint-plugin to an Angular Project * @param options */ const ngAdd = (options) => (0, schematics_1.createOtterSchematic)(ngAddFn)(options); exports.ngAdd = ngAdd; //# sourceMappingURL=index.js.map