UNPKG

@spartacus/cdc

Version:

Customer Data Cloud Integration library for Spartacus

66 lines 2.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.addCdcFeature = void 0; const schematics_1 = require("@angular-devkit/schematics"); const schematics_2 = require("@spartacus/schematics"); const package_json_1 = require("../../package.json"); const constants_1 = require("../constants"); function addCdcFeature(options) { return (tree, context) => { const packageJson = schematics_2.readPackageJson(tree); schematics_2.validateSpartacusInstallation(packageJson); return schematics_1.chain([ schematics_2.addPackageJsonDependenciesForLibrary(package_json_1.peerDependencies, options), schematics_2.shouldAddFeature(schematics_2.CLI_CDC_FEATURE, options.features) ? addCdc(options, context) : schematics_1.noop(), ]); }; } exports.addCdcFeature = addCdcFeature; function addCdc(options, context) { if (!options.javascriptUrl) { context.logger.warn(`CDC JS SDK URL is not provided. Please run the schematic again, or make sure you update the javascriptUrl.`); } return schematics_2.addLibraryFeature(options, { folderName: constants_1.CDC_FOLDER_NAME, moduleName: constants_1.CDC_MODULE_NAME, rootModule: { importPath: constants_1.SPARTACUS_CDC_ROOT, name: constants_1.CDC_ROOT_MODULE, content: `${constants_1.CDC_ROOT_MODULE}`, }, featureModule: { importPath: schematics_2.SPARTACUS_CDC, name: constants_1.CDC_MODULE, }, lazyLoadingChunk: { moduleSpecifier: constants_1.SPARTACUS_CDC_ROOT, namedImports: [constants_1.CDC_FEATURE_CONSTANT], }, customConfig: { import: [ { moduleSpecifier: constants_1.SPARTACUS_CDC_ROOT, namedImports: [constants_1.CDC_CONFIG], }, ], content: `<${constants_1.CDC_CONFIG}>{ cdc: [ { baseSite: '${options.baseSite}', javascriptUrl: '${options.javascriptUrl || 'JS_SDK_URL_PLACEHOLDER'}', sessionExpiration: ${options.sessionExpiration} }, ], }`, }, dependencyManagement: { featureName: schematics_2.CLI_CDC_FEATURE, featureDependencies: { [schematics_2.SPARTACUS_USER]: [schematics_2.CLI_USER_PROFILE_FEATURE], }, }, }); } //# sourceMappingURL=index.js.map