UNPKG

@valantic/spartacus-mock

Version:

This project offers you the possibility to mock the OCC Endpoints of your Composable Storefront (Spartacus). It uses the Mock Service Worker to mock the API calls.

67 lines 4.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.boilerplate = boilerplate; const core_1 = require("@angular-devkit/core"); const schematics_1 = require("@angular-devkit/schematics"); const parse_name_1 = require("@schematics/angular/utility/parse-name"); function getParsedPath(workspaceConfigBuffer, name, relativePath) { let parsedPath = (0, parse_name_1.parseName)('', name); if (parsedPath.path === '/') { const workspaceConfig = JSON.parse(workspaceConfigBuffer.toString()); const projectName = Object.keys(workspaceConfig.projects)[0]; const defaultProject = workspaceConfig.projects[projectName]; const sourceRoot = defaultProject.sourceRoot; parsedPath = (0, parse_name_1.parseName)(`${sourceRoot}/${relativePath}`, name); } return parsedPath; } function getTemplate(options, tree, name, relativePath) { const workspaceConfigBuffer = tree.read('angular.json'); if (!workspaceConfigBuffer) { throw new schematics_1.SchematicsException('Not an Angular CLI Workspace'); } const sourceTemplate = (0, schematics_1.url)(`./files/${name}`); const { name: parsedName, path } = getParsedPath(workspaceConfigBuffer, name, relativePath); return (0, schematics_1.apply)(sourceTemplate, [ (0, schematics_1.template)({ ...options, ...core_1.strings, name: parsedName, }), (0, schematics_1.move)(path), ]); } function logMessage() { return (tree, context) => { context.logger.info('⌛️ Waiting for file copy and package installation to finish..'); return tree; }; } function boilerplate(options) { return (tree, context) => { context.logger.info('🔧️ Enhance main.ts file..'); context.logger.info('🔧️ Enhance environment.ts file..'); context.logger.info('🔧️ Add environment.model.ts file..'); context.logger.info('🔧️ Add boilerplate src/mock-server folder and files..'); return (0, schematics_1.chain)([ // override main file with additional logic (0, schematics_1.branchAndMerge)((0, schematics_1.chain)([(0, schematics_1.mergeWith)(getTemplate(options, tree, 'main', ''), schematics_1.MergeStrategy.Overwrite)]), schematics_1.MergeStrategy.Overwrite), // override environment files with additional logic (0, schematics_1.branchAndMerge)((0, schematics_1.chain)([(0, schematics_1.mergeWith)(getTemplate(options, tree, 'environments', 'environments'), schematics_1.MergeStrategy.Overwrite)]), schematics_1.MergeStrategy.Overwrite), // add mock-server files with some boilerplate code (0, schematics_1.branchAndMerge)((0, schematics_1.chain)([(0, schematics_1.mergeWith)(getTemplate(options, tree, 'mock-server', 'mock-server'), schematics_1.MergeStrategy.Overwrite)]), schematics_1.MergeStrategy.Overwrite), // add mock-data files with readme (0, schematics_1.branchAndMerge)((0, schematics_1.chain)([(0, schematics_1.mergeWith)(getTemplate(options, tree, 'mock-data', 'mock-server/mock-data'), schematics_1.MergeStrategy.Overwrite)]), schematics_1.MergeStrategy.Overwrite), // add languages files with languages generate method (0, schematics_1.branchAndMerge)((0, schematics_1.chain)([ (0, schematics_1.mergeWith)(getTemplate(options, tree, 'mock-data--languages', 'mock-server/mock-data/languages'), schematics_1.MergeStrategy.Overwrite), ]), schematics_1.MergeStrategy.Overwrite), // add translation files with default en translations from spartacus (0, schematics_1.branchAndMerge)((0, schematics_1.chain)([ (0, schematics_1.mergeWith)(getTemplate(options, tree, 'mock-data--translations', 'mock-server/mock-data/translations'), schematics_1.MergeStrategy.Overwrite), ]), schematics_1.MergeStrategy.Overwrite), logMessage(), ])(tree, context); }; } //# sourceMappingURL=index.js.map