UNPKG

otus-localization

Version:

A translation tool for Angular i18n(angular-t9n)

37 lines (33 loc) 1.47 kB
'use strict'; var schematics = require('@angular-devkit/schematics'); var workspace = require('@schematics/angular/utility/workspace'); function ngAdd(_options) { return (tree, _context) => { const { project, packageScript, ...options } = _options; return workspace.updateWorkspace((workspace) => { const projectName = project || Array.from(workspace.projects.keys())[0]; const projectWorkspace = workspace.projects.get(projectName); if (!projectWorkspace) { throw new schematics.SchematicsException(`Project ${projectName} not found!`); } const target = projectWorkspace.targets.get('t9n'); if (target) { _context.logger.info(`Overwriting previous t9n entry in project ${projectName}.`); target.options = options; } else { projectWorkspace.targets.add({ name: 't9n', builder: 'otus-translation:t9n', options: options, }); } if (packageScript) { const packageJson = JSON.parse(tree.read('package.json').toString('utf8')); packageJson.scripts = { ...packageJson.scripts, t9n: `ng run ${projectName}:t9n` }; tree.overwrite('package.json', JSON.stringify(packageJson, null, 2)); } }); }; } exports.ngAdd = ngAdd;