UNPKG

2.33 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3var aot_compiler_1 = require("./aot/aot-compiler");
4var util_1 = require("./deep-linking/util");
5var logger_1 = require("./logger/logger");
6var config_1 = require("./util/config");
7var Constants = require("./util/constants");
8var helpers_1 = require("./util/helpers");
9function ngc(context, configFile) {
10 configFile = config_1.getUserConfigFile(context, taskInfo, configFile);
11 var logger = new logger_1.Logger('ngc');
12 return ngcWorker(context, configFile)
13 .then(function () {
14 logger.finish();
15 })
16 .catch(function (err) {
17 throw logger.fail(err);
18 });
19}
20exports.ngc = ngc;
21function ngcWorker(context, configFile) {
22 return transformTsForDeepLinking(context).then(function () {
23 return runNgc(context, configFile);
24 });
25}
26exports.ngcWorker = ngcWorker;
27function runNgc(context, configFile) {
28 return aot_compiler_1.runAot(context, { entryPoint: process.env[Constants.ENV_APP_ENTRY_POINT],
29 rootDir: context.rootDir,
30 tsConfigPath: process.env[Constants.ENV_TS_CONFIG],
31 appNgModuleClass: process.env[Constants.ENV_APP_NG_MODULE_CLASS],
32 appNgModulePath: process.env[Constants.ENV_APP_NG_MODULE_PATH]
33 });
34}
35exports.runNgc = runNgc;
36function transformTsForDeepLinking(context) {
37 if (helpers_1.getBooleanPropertyValue(Constants.ENV_PARSE_DEEPLINKS)) {
38 var tsFiles = util_1.filterTypescriptFilesForDeepLinks(context.fileCache);
39 tsFiles.forEach(function (tsFile) {
40 tsFile.content = util_1.purgeDeepLinkDecorator(tsFile.content);
41 });
42 var tsFile = context.fileCache.get(helpers_1.getStringPropertyValue(Constants.ENV_APP_NG_MODULE_PATH));
43 if (!util_1.hasExistingDeepLinkConfig(tsFile.path, tsFile.content)) {
44 var deepLinkString = util_1.convertDeepLinkConfigEntriesToString(helpers_1.getParsedDeepLinkConfig());
45 tsFile.content = util_1.getUpdatedAppNgModuleContentWithDeepLinkConfig(tsFile.path, tsFile.content, deepLinkString);
46 }
47 }
48 return Promise.resolve();
49}
50exports.transformTsForDeepLinking = transformTsForDeepLinking;
51var taskInfo = {
52 fullArg: '--ngc',
53 shortArg: '-n',
54 envVar: 'IONIC_NGC',
55 packageConfig: 'ionic_ngc',
56 defaultConfigFile: null
57};