UNPKG

6.91 kBJavaScriptView Raw
1#!/usr/bin/env node
2/**
3 * @license
4 * Copyright Google LLC All Rights Reserved.
5 *
6 * Use of this source code is governed by an MIT-style license that can be
7 * found in the LICENSE file at https://angular.io/license
8 */
9(function (factory) {
10 if (typeof module === "object" && typeof module.exports === "object") {
11 var v = factory(require, exports);
12 if (v !== undefined) module.exports = v;
13 }
14 else if (typeof define === "function" && define.amd) {
15 define("@angular/compiler-cli/src/extract_i18n", ["require", "exports", "tslib", "reflect-metadata", "@angular/compiler-cli/src/transformers/api", "@angular/compiler-cli/src/main", "@angular/compiler-cli/src/ngtsc/file_system"], factory);
16 }
17})(function (require, exports) {
18 "use strict";
19 Object.defineProperty(exports, "__esModule", { value: true });
20 exports.mainXi18n = void 0;
21 var tslib_1 = require("tslib");
22 /**
23 * Extract i18n messages from source code
24 */
25 // Must be imported first, because Angular decorators throw on load.
26 require("reflect-metadata");
27 var api = require("@angular/compiler-cli/src/transformers/api");
28 var main_1 = require("@angular/compiler-cli/src/main");
29 var file_system_1 = require("@angular/compiler-cli/src/ngtsc/file_system");
30 function mainXi18n(args, consoleError) {
31 if (consoleError === void 0) { consoleError = console.error; }
32 var config = readXi18nCommandLineAndConfiguration(args);
33 return main_1.main(args, consoleError, config, undefined, undefined, undefined);
34 }
35 exports.mainXi18n = mainXi18n;
36 function readXi18nCommandLineAndConfiguration(args) {
37 var options = {};
38 var parsedArgs = require('minimist')(args);
39 if (parsedArgs.outFile)
40 options.i18nOutFile = parsedArgs.outFile;
41 if (parsedArgs.i18nFormat)
42 options.i18nOutFormat = parsedArgs.i18nFormat;
43 if (parsedArgs.locale)
44 options.i18nOutLocale = parsedArgs.locale;
45 var config = main_1.readCommandLineAndConfiguration(args, options, [
46 'outFile',
47 'i18nFormat',
48 'locale',
49 ]);
50 // only emit the i18nBundle but nothing else.
51 return tslib_1.__assign(tslib_1.__assign({}, config), { emitFlags: api.EmitFlags.I18nBundle });
52 }
53 // Entry point
54 if (require.main === module) {
55 process.title = 'Angular i18n Message Extractor (ng-xi18n)';
56 var args = process.argv.slice(2);
57 // We are running the real compiler so run against the real file-system
58 file_system_1.setFileSystem(new file_system_1.NodeJSFileSystem());
59 process.exitCode = mainXi18n(args);
60 }
61});
62//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmFjdF9pMThuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL3NyYy9leHRyYWN0X2kxOG4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7Ozs7SUFFSDs7T0FFRztJQUNILG9FQUFvRTtJQUNwRSw0QkFBMEI7SUFDMUIsZ0VBQTBDO0lBRTFDLHVEQUE2RDtJQUM3RCwyRUFBb0U7SUFFcEUsU0FBZ0IsU0FBUyxDQUNyQixJQUFjLEVBQUUsWUFBbUQ7UUFBbkQsNkJBQUEsRUFBQSxlQUFzQyxPQUFPLENBQUMsS0FBSztRQUNyRSxJQUFNLE1BQU0sR0FBRyxvQ0FBb0MsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxRCxPQUFPLFdBQUksQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFKRCw4QkFJQztJQUVELFNBQVMsb0NBQW9DLENBQUMsSUFBYztRQUMxRCxJQUFNLE9BQU8sR0FBd0IsRUFBRSxDQUFDO1FBQ3hDLElBQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QyxJQUFJLFVBQVUsQ0FBQyxPQUFPO1lBQUUsT0FBTyxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDO1FBQ2pFLElBQUksVUFBVSxDQUFDLFVBQVU7WUFBRSxPQUFPLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUM7UUFDekUsSUFBSSxVQUFVLENBQUMsTUFBTTtZQUFFLE9BQU8sQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztRQUVqRSxJQUFNLE1BQU0sR0FBRyxzQ0FBK0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQzVELFNBQVM7WUFDVCxZQUFZO1lBQ1osUUFBUTtTQUNULENBQUMsQ0FBQztRQUNILDZDQUE2QztRQUM3Qyw2Q0FBVyxNQUFNLEtBQUUsU0FBUyxFQUFFLEdBQUcsQ0FBQyxTQUFTLENBQUMsVUFBVSxJQUFFO0lBQzFELENBQUM7SUFFRCxjQUFjO0lBQ2QsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtRQUMzQixPQUFPLENBQUMsS0FBSyxHQUFHLDJDQUEyQyxDQUFDO1FBQzVELElBQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25DLHVFQUF1RTtRQUN2RSwyQkFBYSxDQUFDLElBQUksOEJBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3BDIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbi8qKlxuICogRXh0cmFjdCBpMThuIG1lc3NhZ2VzIGZyb20gc291cmNlIGNvZGVcbiAqL1xuLy8gTXVzdCBiZSBpbXBvcnRlZCBmaXJzdCwgYmVjYXVzZSBBbmd1bGFyIGRlY29yYXRvcnMgdGhyb3cgb24gbG9hZC5cbmltcG9ydCAncmVmbGVjdC1tZXRhZGF0YSc7XG5pbXBvcnQgKiBhcyBhcGkgZnJvbSAnLi90cmFuc2Zvcm1lcnMvYXBpJztcbmltcG9ydCB7UGFyc2VkQ29uZmlndXJhdGlvbn0gZnJvbSAnLi9wZXJmb3JtX2NvbXBpbGUnO1xuaW1wb3J0IHttYWluLCByZWFkQ29tbWFuZExpbmVBbmRDb25maWd1cmF0aW9ufSBmcm9tICcuL21haW4nO1xuaW1wb3J0IHtzZXRGaWxlU3lzdGVtLCBOb2RlSlNGaWxlU3lzdGVtfSBmcm9tICcuL25ndHNjL2ZpbGVfc3lzdGVtJztcblxuZXhwb3J0IGZ1bmN0aW9uIG1haW5YaTE4bihcbiAgICBhcmdzOiBzdHJpbmdbXSwgY29uc29sZUVycm9yOiAobXNnOiBzdHJpbmcpID0+IHZvaWQgPSBjb25zb2xlLmVycm9yKTogbnVtYmVyIHtcbiAgY29uc3QgY29uZmlnID0gcmVhZFhpMThuQ29tbWFuZExpbmVBbmRDb25maWd1cmF0aW9uKGFyZ3MpO1xuICByZXR1cm4gbWFpbihhcmdzLCBjb25zb2xlRXJyb3IsIGNvbmZpZywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG59XG5cbmZ1bmN0aW9uIHJlYWRYaTE4bkNvbW1hbmRMaW5lQW5kQ29uZmlndXJhdGlvbihhcmdzOiBzdHJpbmdbXSk6IFBhcnNlZENvbmZpZ3VyYXRpb24ge1xuICBjb25zdCBvcHRpb25zOiBhcGkuQ29tcGlsZXJPcHRpb25zID0ge307XG4gIGNvbnN0IHBhcnNlZEFyZ3MgPSByZXF1aXJlKCdtaW5pbWlzdCcpKGFyZ3MpO1xuICBpZiAocGFyc2VkQXJncy5vdXRGaWxlKSBvcHRpb25zLmkxOG5PdXRGaWxlID0gcGFyc2VkQXJncy5vdXRGaWxlO1xuICBpZiAocGFyc2VkQXJncy5pMThuRm9ybWF0KSBvcHRpb25zLmkxOG5PdXRGb3JtYXQgPSBwYXJzZWRBcmdzLmkxOG5Gb3JtYXQ7XG4gIGlmIChwYXJzZWRBcmdzLmxvY2FsZSkgb3B0aW9ucy5pMThuT3V0TG9jYWxlID0gcGFyc2VkQXJncy5sb2NhbGU7XG5cbiAgY29uc3QgY29uZmlnID0gcmVhZENvbW1hbmRMaW5lQW5kQ29uZmlndXJhdGlvbihhcmdzLCBvcHRpb25zLCBbXG4gICAgJ291dEZpbGUnLFxuICAgICdpMThuRm9ybWF0JyxcbiAgICAnbG9jYWxlJyxcbiAgXSk7XG4gIC8vIG9ubHkgZW1pdCB0aGUgaTE4bkJ1bmRsZSBidXQgbm90aGluZyBlbHNlLlxuICByZXR1cm4gey4uLmNvbmZpZywgZW1pdEZsYWdzOiBhcGkuRW1pdEZsYWdzLkkxOG5CdW5kbGV9O1xufVxuXG4vLyBFbnRyeSBwb2ludFxuaWYgKHJlcXVpcmUubWFpbiA9PT0gbW9kdWxlKSB7XG4gIHByb2Nlc3MudGl0bGUgPSAnQW5ndWxhciBpMThuIE1lc3NhZ2UgRXh0cmFjdG9yIChuZy14aTE4biknO1xuICBjb25zdCBhcmdzID0gcHJvY2Vzcy5hcmd2LnNsaWNlKDIpO1xuICAvLyBXZSBhcmUgcnVubmluZyB0aGUgcmVhbCBjb21waWxlciBzbyBydW4gYWdhaW5zdCB0aGUgcmVhbCBmaWxlLXN5c3RlbVxuICBzZXRGaWxlU3lzdGVtKG5ldyBOb2RlSlNGaWxlU3lzdGVtKCkpO1xuICBwcm9jZXNzLmV4aXRDb2RlID0gbWFpblhpMThuKGFyZ3MpO1xufVxuIl19
\No newline at end of file