UNPKG

@spartacus/schematics

Version:
47 lines 2.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setupSpartacusModule = 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 which ensures the spartacus is being correctly set up */ function setupSpartacusModule(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 configure SpartacusModule.'); } const basePath = process.cwd(); for (const tsconfigPath of buildPaths) { configureSpartacusModules(tree, tsconfigPath, basePath); } return tree; }; } exports.setupSpartacusModule = setupSpartacusModule; function configureSpartacusModules(tree, tsconfigPath, basePath) { const { appSourceFiles } = program_1.createProgram(tree, basePath, tsconfigPath); for (const sourceFile of appSourceFiles) { if (sourceFile.getFilePath().includes(`${constants_1.SPARTACUS_MODULE}.module.ts`)) { new_module_utils_1.addModuleImport(sourceFile, { import: { moduleSpecifier: constants_1.SPARTACUS_STOREFRONTLIB, namedImports: [constants_1.BASE_STOREFRONT_MODULE], }, content: constants_1.BASE_STOREFRONT_MODULE, }); new_module_utils_1.addModuleExport(sourceFile, { import: { moduleSpecifier: constants_1.SPARTACUS_STOREFRONTLIB, namedImports: [constants_1.BASE_STOREFRONT_MODULE], }, content: constants_1.BASE_STOREFRONT_MODULE, }); program_1.saveAndFormat(sourceFile); break; } } } //# sourceMappingURL=spartacus.js.map