UNPKG

@spartacus/schematics

Version:
54 lines 2.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.migrate = void 0; const schematics_1 = require("@angular-devkit/schematics"); const ast_utils_1 = require("@schematics/angular/utility/ast-utils"); const dependencies_1 = require("@schematics/angular/utility/dependencies"); const constants_1 = require("../../../shared/constants"); const file_utils_1 = require("../../../shared/utils/file-utils"); const lib_utils_1 = require("../../../shared/utils/lib-utils"); const module_file_utils_1 = require("../../../shared/utils/module-file-utils"); const package_utils_1 = require("../../../shared/utils/package-utils"); function migrate() { return (tree, _context) => { const packageJson = package_utils_1.readPackageJson(tree); return package_utils_1.checkIfSSRIsUsed(tree) ? schematics_1.chain([ updateImport(), addSetupPackageJsonDependencies(packageJson), lib_utils_1.installPackageJsonDependencies(), ]) : schematics_1.noop(); }; } exports.migrate = migrate; function updateImport() { return (tree, _context) => { const serverFilePath = file_utils_1.getServerTsPath(tree); if (!serverFilePath) { return tree; } if (ast_utils_1.isImported(file_utils_1.getTsSourceFile(tree, serverFilePath), constants_1.NG_EXPRESS_ENGINE_DECORATOR, constants_1.SPARTACUS_CORE)) { const importRemovalChange = file_utils_1.removeImport(file_utils_1.getTsSourceFile(tree, serverFilePath), { className: constants_1.NG_EXPRESS_ENGINE_DECORATOR, importPath: constants_1.SPARTACUS_CORE, }); file_utils_1.commitChanges(tree, serverFilePath, [importRemovalChange]); const addImportChange = module_file_utils_1.createImportChange(tree, serverFilePath, constants_1.NG_EXPRESS_ENGINE_DECORATOR, constants_1.SPARTACUS_SETUP_SSR); file_utils_1.commitChanges(tree, serverFilePath, [addImportChange]); } return tree; }; } function addSetupPackageJsonDependencies(packageJson) { const spartacusVersion = `^${package_utils_1.getSpartacusSchematicsVersion()}`; const dependencies = [ { type: dependencies_1.NodeDependencyType.Default, version: spartacusVersion, name: constants_1.SPARTACUS_SETUP, }, ]; return lib_utils_1.addPackageJsonDependencies(dependencies, packageJson); } //# sourceMappingURL=ssr.js.map