UNPKG

@o3r/core

Version:
45 lines 1.92 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.defaultPresetRuleFactory = defaultPresetRuleFactory; const fs = require("node:fs"); const path = require("node:path"); const schematics_1 = require("@angular-devkit/schematics"); const schematics_2 = require("@o3r/schematics"); /** * Default implementation of the preset rule * @param moduleToInstall * @param options */ function defaultPresetRuleFactory(moduleToInstall, options = {}) { return (tree) => { const corePackageJsonContent = JSON.parse(fs.readFileSync(path.resolve(__dirname, '..', '..', '..', 'package.json'), { encoding: 'utf8' })); const workspaceProject = options.projectName ? (0, schematics_2.getWorkspaceConfig)(tree)?.projects[options.projectName] : undefined; if (moduleToInstall.length === 0) { return tree; } const dependencies = moduleToInstall.reduce((acc, dep) => { acc[dep] = { inManifest: [{ range: `${options.exactO3rVersion ? '' : '~'}${corePackageJsonContent.version}`, types: (0, schematics_2.getProjectNewDependenciesTypes)(workspaceProject) }], ngAddOptions: { ...options.forwardOptions, exactO3rVersion: options.exactO3rVersion } }; return acc; }, {}); if (options.dependenciesSetupConfig) { options.dependenciesSetupConfig.dependencies = { ...options.dependenciesSetupConfig.dependencies, ...dependencies }; } return options.dependenciesSetupConfig ? schematics_1.noop : (0, schematics_2.setupDependencies)({ projectName: options.projectName, dependencies, ngAddToRun: moduleToInstall }); }; } //# sourceMappingURL=helpers.js.map