UNPKG

rucken

Version:

Console tools and scripts for nx and not only that I (EndyKaufman) use to automate the workflow and speed up the development process

141 lines (140 loc) 8.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PrepareCommands = void 0; const tslib_1 = require("tslib"); const nestjs_console_1 = require("../../nestjs-console"); const extract_i18n_config_1 = require("../extract-i18n/extract-i18n.config"); const extract_i18n_service_1 = require("../extract-i18n/extract-i18n.service"); const gettext_config_1 = require("../gettext/gettext.config"); const gettext_service_1 = require("../gettext/gettext.service"); const make_ts_list_service_1 = require("../tools/make-ts-list.service"); const tools_config_1 = require("../tools/tools.config"); const version_updater_service_1 = require("../tools/version-updater.service"); const utils_service_1 = require("../utils/utils.service"); let PrepareCommands = class PrepareCommands { constructor(gettextService, extracti18nService, versionUpdaterService, makeTsListService, utilsService) { this.gettextService = gettextService; this.extracti18nService = extracti18nService; this.versionUpdaterService = versionUpdaterService; this.makeTsListService = makeTsListService; this.utilsService = utilsService; this.extracti18nConfig = this.utilsService.getRuckenConfig(extract_i18n_config_1.DEFAULT_EXTRACT_I18N_CONFIG).extracti18n; this.gettextConfig = this.utilsService.getRuckenConfig(gettext_config_1.DEFAULT_GETTEXT_CONFIG).gettext; this.makeTsListConfig = this.utilsService.getRuckenConfig(tools_config_1.DEFAULT_TOOLS_CONFIG).makeTsList; this.versionUpdaterConfig = this.utilsService.getRuckenConfig(tools_config_1.DEFAULT_TOOLS_CONFIG).versionUpdater; } prepare({ defaultLocale, locales, resetUnusedTranslates, updatePackageVersion, updateDependenciesVersion, clientProjectNameParts, e2eProjectNameParts, serverProjectNameParts, }) { return tslib_1.__awaiter(this, void 0, void 0, function* () { const resetUnusedTranslatesBoolean = (resetUnusedTranslates || this.gettextConfig.resetUnusedTranslates || 'false').toLowerCase() === 'true'; this.makeTsListService.setLogger(`prepare: ${make_ts_list_service_1.MakeTsListService.title}`); yield this.makeTsListService.makeTsListHandler({ indexFileName: this.makeTsListConfig.indexFileName, excludes: this.makeTsListConfig.excludes, }); this.versionUpdaterService.setLogger(`prepare: ${version_updater_service_1.VersionUpdaterService.title}`); this.versionUpdaterService.versionUpdaterHandler({ updatePackageVersion: updatePackageVersion ? updatePackageVersion.toUpperCase().trim() === 'TRUE' : this.versionUpdaterConfig.updatePackageVersion, updateDependenciesVersion: updateDependenciesVersion ? updateDependenciesVersion.toUpperCase().trim() === 'TRUE' ? true : false : this.versionUpdaterConfig.updateDependenciesVersion, }); this.extracti18nService.setLogger(`prepare: ${extract_i18n_service_1.Extracti18nService.title}`); this.gettextService.setLogger(`prepare: ${gettext_service_1.GettextService.title}`); if (resetUnusedTranslatesBoolean) { yield this.gettextService.extractTranslatesFromSourcesForLibraries({ po2jsonOptions: this.gettextConfig.po2jsonOptions, pattern: this.gettextConfig.gettextExtractorOptions.pattern, locales: locales ? locales.split(',') : this.gettextConfig.locales, defaultLocale: defaultLocale || this.gettextConfig.defaultLocale, markers: this.gettextConfig.markers, }); } this.extracti18nService.extract({ locales: locales ? locales.split(',') : this.extracti18nConfig.locales, markers: this.extracti18nConfig.markers, resetUnusedTranslates: resetUnusedTranslatesBoolean, clientProjectNameParts: (clientProjectNameParts === null || clientProjectNameParts === void 0 ? void 0 : clientProjectNameParts.split(',')) || this.extracti18nConfig.clientProjectNameParts, e2eProjectNameParts: (e2eProjectNameParts === null || e2eProjectNameParts === void 0 ? void 0 : e2eProjectNameParts.split(',')) || this.extracti18nConfig.e2eProjectNameParts, serverProjectNameParts: (serverProjectNameParts === null || serverProjectNameParts === void 0 ? void 0 : serverProjectNameParts.split(',')) || this.extracti18nConfig.serverProjectNameParts, }); yield this.gettextService.extractTranslatesFromSourcesForLibraries({ po2jsonOptions: this.gettextConfig.po2jsonOptions, pattern: this.gettextConfig.gettextExtractorOptions.pattern, locales: locales ? locales.split(',') : this.gettextConfig.locales, defaultLocale: defaultLocale || this.gettextConfig.defaultLocale, markers: this.gettextConfig.markers, }); this.extracti18nService.extract({ locales: locales ? locales.split(',') : this.extracti18nConfig.locales, markers: this.extracti18nConfig.markers, resetUnusedTranslates: resetUnusedTranslatesBoolean, noExtract: true, clientProjectNameParts: (clientProjectNameParts === null || clientProjectNameParts === void 0 ? void 0 : clientProjectNameParts.split(',')) || this.extracti18nConfig.clientProjectNameParts, e2eProjectNameParts: (e2eProjectNameParts === null || e2eProjectNameParts === void 0 ? void 0 : e2eProjectNameParts.split(',')) || this.extracti18nConfig.e2eProjectNameParts, serverProjectNameParts: (serverProjectNameParts === null || serverProjectNameParts === void 0 ? void 0 : serverProjectNameParts.split(',')) || this.extracti18nConfig.serverProjectNameParts, }); }); } }; tslib_1.__decorate([ (0, nestjs_console_1.Command)({ command: 'prepare', description: 'make-ts-list + version-update + translate', options: [ { flags: '-l,--locales [strings]', description: 'list of available languages (example: ru,en)', }, { flags: '-dl,--default-locale [string]', description: 'default locale (default: en)', }, { flags: '-rut,--reset-unused-translates [boolean]', description: 'remove all translates if they not found in source code (default: true)', defaultValue: 'true', }, { flags: '-upv,--update-package-version [boolean]', description: 'update package version (default: true)', }, { flags: '-udv,--update-dependencies-version [boolean]', description: 'update dependencies version (default: true)', }, { flags: '-epnp,--e2e-project-name-parts [string]', }, { flags: '-cpnp,--client-project-name-parts [string]', }, { flags: '-spnp,--server-project-name-parts [string]', }, ], }), tslib_1.__metadata("design:type", Function), tslib_1.__metadata("design:paramtypes", [Object]), tslib_1.__metadata("design:returntype", Promise) ], PrepareCommands.prototype, "prepare", null); PrepareCommands = tslib_1.__decorate([ (0, nestjs_console_1.Console)(), tslib_1.__metadata("design:paramtypes", [gettext_service_1.GettextService, extract_i18n_service_1.Extracti18nService, version_updater_service_1.VersionUpdaterService, make_ts_list_service_1.MakeTsListService, utils_service_1.UtilsService]) ], PrepareCommands); exports.PrepareCommands = PrepareCommands;