@rxap/plugin-localazy
Version:
This package provides executors and generators for integrating Localazy, a translation management platform, into Nx workspaces. It allows for downloading and uploading translations, managing configuration, and initializing Localazy within a project. The p
46 lines • 2.39 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.configGenerator = configGenerator;
const tslib_1 = require("tslib");
const devkit_1 = require("@nx/devkit");
const workspace_utilities_1 = require("@rxap/workspace-utilities");
const path_1 = require("path");
function configGenerator(tree, options) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
var _a;
var _b;
const projectSourceRoot = (0, workspace_utilities_1.GetProjectSourceRoot)(tree, options.project);
if (!projectSourceRoot) {
throw new Error(`Could not find project source root for project: ${options.project}`);
}
const projectRoot = (0, workspace_utilities_1.GetProjectRoot)(tree, options.project);
if (!projectRoot) {
throw new Error(`Could not find project root for project: ${options.project}`);
}
(0, workspace_utilities_1.CoerceFilesStructure)(tree, {
srcFolder: (0, path_1.join)(__dirname, 'files'),
target: projectRoot,
overwrite: options.overwrite,
});
const projectConfiguration = (0, devkit_1.readProjectConfiguration)(tree, options.project);
if (projectConfiguration.targets['extract-i18n']) {
(_a = (_b = projectConfiguration.targets['extract-i18n']).options) !== null && _a !== void 0 ? _a : (_b.options = {});
projectConfiguration.targets['extract-i18n'].options.format = 'xliff2';
projectConfiguration.targets['extract-i18n'].options.outputPath = (0, path_1.join)(projectSourceRoot, 'i18n');
}
if (options.readKey) {
(0, workspace_utilities_1.CoerceTarget)(projectConfiguration, 'localazy-download', {
options: {
readKey: options.readKey,
}
});
}
(0, devkit_1.updateProjectConfiguration)(tree, options.project, projectConfiguration);
(0, workspace_utilities_1.UpdateNxJson)(tree, nxJson => {
(0, workspace_utilities_1.CoerceTargetDefaultsDependency)(nxJson, '@angular-devkit/build-angular:browser', 'localazy-download');
});
(0, workspace_utilities_1.CoerceIgnorePattern)(tree, (0, path_1.join)(projectSourceRoot, '.gitignore'), ['/i18n']);
});
}
exports.default = configGenerator;
//# sourceMappingURL=generator.js.map