@spartacus/cart
Version:
`@spartacus/cart` is a package that you can include in your application, which allows you to use various cart features.
108 lines • 4.58 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.addCartFeatures = 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 addCartFeatures(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_CART_SAVED_CART_FEATURE, options.features)
? addSavedCartFeature(options)
: schematics_1.noop(),
schematics_2.shouldAddFeature(schematics_2.CLI_CART_QUICK_ORDER_FEATURE, options.features)
? addQuickOrderFeature(options)
: schematics_1.noop(),
schematics_2.shouldAddFeature(schematics_2.CLI_CART_IMPORT_EXPORT_FEATURE, options.features)
? addCartImportExportFeature(options)
: schematics_1.noop(),
]);
};
}
exports.addCartFeatures = addCartFeatures;
function addSavedCartFeature(options) {
return schematics_2.addLibraryFeature(options, {
folderName: constants_1.CART_FOLDER_NAME,
moduleName: constants_1.CART_SAVED_CART_MODULE_NAME,
featureModule: {
name: constants_1.SAVED_CART_MODULE,
importPath: constants_1.SPARTACUS_SAVED_CART,
},
rootModule: {
name: constants_1.SAVED_CART_ROOT_MODULE,
importPath: constants_1.SPARTACUS_SAVED_CART_ROOT,
},
lazyLoadingChunk: {
moduleSpecifier: constants_1.SPARTACUS_SAVED_CART_ROOT,
namedImports: [constants_1.CART_SAVED_CART_FEATURE_NAME_CONSTANT],
},
i18n: {
resources: constants_1.SAVED_CART_TRANSLATIONS,
chunks: constants_1.SAVED_CART_TRANSLATION_CHUNKS_CONFIG,
importPath: constants_1.SPARTACUS_SAVED_CART_ASSETS,
},
styles: {
scssFileName: constants_1.SCSS_FILE_NAME,
importStyle: schematics_2.SPARTACUS_CART,
},
});
}
function addQuickOrderFeature(options) {
return schematics_2.addLibraryFeature(options, {
folderName: constants_1.CART_FOLDER_NAME,
moduleName: constants_1.CART_QUICK_ORDER_MODULE_NAME,
featureModule: {
name: constants_1.QUICK_ORDER_MODULE,
importPath: constants_1.SPARTACUS_QUICK_ORDER,
},
rootModule: {
name: constants_1.QUICK_ORDER_ROOT_MODULE,
importPath: constants_1.SPARTACUS_QUICK_ORDER_ROOT,
},
lazyLoadingChunk: {
moduleSpecifier: constants_1.SPARTACUS_QUICK_ORDER_ROOT,
namedImports: [constants_1.CART_QUICK_ORDER_FEATURE_NAME_CONSTANT],
},
i18n: {
resources: constants_1.QUICK_ORDER_TRANSLATIONS,
chunks: constants_1.QUICK_ORDER_TRANSLATION_CHUNKS_CONFIG,
importPath: constants_1.SPARTACUS_QUICK_ORDER_ASSETS,
},
styles: {
scssFileName: constants_1.SCSS_FILE_NAME,
importStyle: schematics_2.SPARTACUS_CART,
},
});
}
function addCartImportExportFeature(options) {
return schematics_2.addLibraryFeature(options, {
folderName: constants_1.CART_FOLDER_NAME,
moduleName: constants_1.CART_IMPORT_EXPORT_MODULE_NAME,
featureModule: {
name: constants_1.CART_IMPORT_EXPORT_MODULE,
importPath: constants_1.SPARTACUS_CART_IMPORT_EXPORT,
},
rootModule: {
name: constants_1.CART_IMPORT_EXPORT_ROOT_MODULE,
importPath: constants_1.SPARTACUS_CART_IMPORT_EXPORT_ROOT,
},
lazyLoadingChunk: {
moduleSpecifier: constants_1.SPARTACUS_CART_IMPORT_EXPORT_ROOT,
namedImports: [constants_1.CART_IMPORT_EXPORT_FEATURE_NAME_CONSTANT],
},
i18n: {
resources: constants_1.CART_IMPORT_EXPORT_TRANSLATIONS,
chunks: constants_1.CART_IMPORT_EXPORT_TRANSLATION_CHUNKS_CONFIG,
importPath: constants_1.SPARTACUS_CART_IMPORT_EXPORT_ASSETS,
},
styles: {
scssFileName: constants_1.SCSS_FILE_NAME,
importStyle: schematics_2.SPARTACUS_CART,
},
});
}
//# sourceMappingURL=index.js.map