Skip to content
This repository was archived by the owner on May 1, 2020. It is now read-only.

Commit c404ca0

Browse files
committed
feature(config): flags for experimental features
1 parent 1e8f57a commit c404ca0

File tree

3 files changed

+18
-14
lines changed

3 files changed

+18
-14
lines changed

src/util/config.ts

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -108,12 +108,6 @@ export function generateContext(context?: BuildContext): BuildContext {
108108
const cleanBeforeCopy = getConfigValue(context, '--cleanBeforeCopy', null, Constants.ENV_CLEAN_BEFORE_COPY, Constants.ENV_CLEAN_BEFORE_COPY.toLowerCase(), null);
109109
setProcessEnvVar(Constants.ENV_CLEAN_BEFORE_COPY, cleanBeforeCopy);
110110

111-
const closureEnabled = getConfigValue(context, '--useExperimentalClosure', null, Constants.ENV_USE_EXPERIMENTAL_CLOSURE, Constants.ENV_USE_EXPERIMENTAL_CLOSURE.toLowerCase(), null);
112-
setProcessEnvVar(Constants.ENV_USE_EXPERIMENTAL_CLOSURE, closureEnabled);
113-
114-
const babiliEnabled = getConfigValue(context, '--useExperimentalBabili', null, Constants.ENV_USE_EXPERIMENTAL_BABILI, Constants.ENV_USE_EXPERIMENTAL_BABILI.toLowerCase(), null);
115-
setProcessEnvVar(Constants.ENV_USE_EXPERIMENTAL_BABILI, babiliEnabled);
116-
117111
setProcessEnvVar(Constants.ENV_CLOSURE_JAR, join(getProcessEnvVar(Constants.ENV_VAR_APP_SCRIPTS_DIR), 'bin', 'closure-compiler.jar'));
118112

119113
const outputJsFileName = getConfigValue(context, '--outputJsFileName', null, Constants.ENV_OUTPUT_JS_FILE_NAME, Constants.ENV_OUTPUT_JS_FILE_NAME.toLowerCase(), 'main.js');
@@ -140,17 +134,26 @@ export function generateContext(context?: BuildContext): BuildContext {
140134
const bailOnLintError = getConfigValue(context, '--bailOnLintError', null, Constants.ENV_BAIL_ON_LINT_ERROR, Constants.ENV_BAIL_ON_LINT_ERROR.toLowerCase(), null);
141135
setProcessEnvVar(Constants.ENV_BAIL_ON_LINT_ERROR, bailOnLintError);
142136

143-
// default stand-alone builds to default to es5
144-
// if closure is being used, don't worry about this as it already automatically converts to ES5
145-
const buildToEs5 = getConfigValue(context, '--buildToEs5', null, Constants.ENV_BUILD_TO_ES5, Constants.ENV_BUILD_TO_ES5.toLowerCase(), closureEnabled ? null : 'true');
146-
setProcessEnvVar(Constants.ENV_BUILD_TO_ES5, buildToEs5);
147-
148137
const experimentalManualTreeshaking = getConfigValue(context, '--experimentalManualTreeshaking', null, Constants.ENV_EXPERIMENTAL_MANUAL_TREESHAKING, Constants.ENV_EXPERIMENTAL_MANUAL_TREESHAKING.toLowerCase(), null);
149138
setProcessEnvVar(Constants.ENV_EXPERIMENTAL_MANUAL_TREESHAKING, experimentalManualTreeshaking);
150139

151140
const experimentalPurgeDecorators = getConfigValue(context, '--experimentalPurgeDecorators', null, Constants.ENV_EXPERIMENTAL_PURGE_DECORATORS, Constants.ENV_EXPERIMENTAL_PURGE_DECORATORS.toLowerCase(), null);
152141
setProcessEnvVar(Constants.ENV_EXPERIMENTAL_PURGE_DECORATORS, experimentalPurgeDecorators);
153142

143+
const closureEnabled = getConfigValue(context, '--useExperimentalClosure', null, Constants.ENV_USE_EXPERIMENTAL_CLOSURE, Constants.ENV_USE_EXPERIMENTAL_CLOSURE.toLowerCase(), null);
144+
setProcessEnvVar(Constants.ENV_USE_EXPERIMENTAL_CLOSURE, closureEnabled);
145+
146+
const babiliEnabled = getConfigValue(context, '--useExperimentalBabili', null, Constants.ENV_USE_EXPERIMENTAL_BABILI, Constants.ENV_USE_EXPERIMENTAL_BABILI.toLowerCase(), null);
147+
setProcessEnvVar(Constants.ENV_USE_EXPERIMENTAL_BABILI, babiliEnabled);
148+
149+
const parseDeepLinks = getConfigValue(context, '--experimentalParseDeepLinks', null, Constants.ENV_EXPERIMENTAL_PARSE_DEEPLINKS, Constants.ENV_EXPERIMENTAL_PARSE_DEEPLINKS.toLowerCase(), null);
150+
setProcessEnvVar(Constants.ENV_EXPERIMENTAL_PARSE_DEEPLINKS, parseDeepLinks);
151+
152+
// default stand-alone builds to default to es5
153+
// if closure is being used, don't worry about this as it already automatically converts to ES5
154+
const buildToEs5 = getConfigValue(context, '--buildToEs5', null, Constants.ENV_BUILD_TO_ES5, Constants.ENV_BUILD_TO_ES5.toLowerCase(), closureEnabled ? null : 'true');
155+
setProcessEnvVar(Constants.ENV_BUILD_TO_ES5, buildToEs5);
156+
154157
if (!isValidBundler(context.bundler)) {
155158
context.bundler = bundlerStrategy(context);
156159
}

src/util/constants.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,7 @@ export const ENV_APP_NG_MODULE_CLASS = 'IONIC_APP_NG_MODULE_CLASS';
3636
export const ENV_GLOB_UTIL = 'IONIC_GLOB_UTIL';
3737
export const ENV_CLEAN_BEFORE_COPY = 'IONIC_CLEAN_BEFORE_COPY';
3838
export const ENV_CLOSURE_JAR = 'IONIC_CLOSURE_JAR';
39-
export const ENV_USE_EXPERIMENTAL_CLOSURE = 'IONIC_USE_EXPERIMENTAL_CLOSURE';
40-
export const ENV_USE_EXPERIMENTAL_BABILI = 'IONIC_USE_EXPERIMENTAL_BABILI';
39+
4140
export const ENV_OUTPUT_JS_FILE_NAME = 'IONIC_OUTPUT_JS_FILE_NAME';
4241
export const ENV_OUTPUT_JS_MAP_FILE_NAME = 'IONIC_OUTPUT_JS_MAP_FILE_NAME';
4342
export const ENV_OUTPUT_CSS_FILE_NAME = 'IONIC_OUTPUT_CSS_FILE_NAME';
@@ -49,8 +48,11 @@ export const ENV_AOT_WRITE_TO_DISK = 'IONIC_AOT_WRITE_TO_DISK';
4948
export const ENV_BAIL_ON_LINT_ERROR = 'IONIC_BAIL_ON_LINT_ERROR';
5049
export const ENV_BUILD_TO_ES5 = 'IONIC_BUILD_TO_ES5';
5150

51+
export const ENV_EXPERIMENTAL_PARSE_DEEPLINKS = 'IONIC_EXPERIMENTAL_PARSE_DEEPLINKS';
5252
export const ENV_EXPERIMENTAL_MANUAL_TREESHAKING = 'IONIC_EXPERIMENTAL_MANUAL_TREESHAKING';
5353
export const ENV_EXPERIMENTAL_PURGE_DECORATORS = 'IONIC_EXPERIMENTAL_PURGE_DECORATORS';
54+
export const ENV_USE_EXPERIMENTAL_CLOSURE = 'IONIC_USE_EXPERIMENTAL_CLOSURE';
55+
export const ENV_USE_EXPERIMENTAL_BABILI = 'IONIC_USE_EXPERIMENTAL_BABILI';
5456

5557
export const BUNDLER_ROLLUP = 'rollup';
5658
export const BUNDLER_WEBPACK = 'webpack';

src/webpack.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,6 @@ export function runWebpackFullBuild(config: WebpackConfig) {
109109
resolve(stats);
110110
}
111111
};
112-
113112
const compiler = webpackApi(config);
114113
compiler.run(callback);
115114
});

0 commit comments

Comments
 (0)