UNPKG

@spartacus/schematics

Version:
47 lines 2.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setupStoreModules = void 0; const schematics_1 = require("@angular-devkit/schematics"); const constants_1 = require("../shared/constants"); const new_module_utils_1 = require("../shared/utils/new-module-utils"); const program_1 = require("../shared/utils/program"); const project_tsconfig_paths_1 = require("../shared/utils/project-tsconfig-paths"); /** Migration that ensures that we have correct Store modules set */ function setupStoreModules(project) { return (tree) => { const { buildPaths } = project_tsconfig_paths_1.getProjectTsConfigPaths(tree, project); if (!buildPaths.length) { throw new schematics_1.SchematicsException('Could not find any tsconfig file. Cannot set Store modules.'); } const basePath = process.cwd(); for (const tsconfigPath of buildPaths) { configureStoreModules(tree, tsconfigPath, basePath); } return tree; }; } exports.setupStoreModules = setupStoreModules; function configureStoreModules(tree, tsconfigPath, basePath) { const { appSourceFiles } = program_1.createProgram(tree, basePath, tsconfigPath); for (const sourceFile of appSourceFiles) { if (sourceFile.getFilePath().includes('app.module.ts')) { new_module_utils_1.addModuleImport(sourceFile, { import: { moduleSpecifier: constants_1.NGRX_STORE, namedImports: ['StoreModule'], }, content: `StoreModule.forRoot({})`, }); new_module_utils_1.addModuleImport(sourceFile, { import: { moduleSpecifier: constants_1.NGRX_EFFECTS, namedImports: ['EffectsModule'], }, content: `EffectsModule.forRoot([])`, }); program_1.saveAndFormat(sourceFile); break; } } } //# sourceMappingURL=store.js.map