fix: don’t use the global ng
at all with closure enhanced optimizations
This is needed as: - closure declares globals itself for minified names, which sometimes clobber our `ng` global - we can't declare a closure extern as the namespace `ng` is already used within Google for typings for angularJS (via `goog.provide('ng....')`).
This commit is contained in:

committed by
Victor Berchet

parent
b21a1d1961
commit
a7798f2a93
@ -28,10 +28,12 @@ export function dashCaseToCamelCase(input: string): string {
|
||||
* @param value The value to export.
|
||||
*/
|
||||
export function exportNgVar(name: string, value: any): void {
|
||||
if (!ng) {
|
||||
global['ng'] = ng = (global['ng'] as{[key: string]: any} | undefined) || {};
|
||||
if (typeof goog === 'undefined' || goog.DEBUG) {
|
||||
// Note: we can't export `ng` when using closure enhanced optimization as:
|
||||
// - closure declares globals itself for minified names, which sometimes clobber our `ng` global
|
||||
// - we can't declare a closure extern as the namespace `ng` is already used within Google
|
||||
// for typings for angularJS (via `goog.provide('ng....')`).
|
||||
const ng = global['ng'] = (global['ng'] as{[key: string]: any} | undefined) || {};
|
||||
ng[name] = value;
|
||||
}
|
||||
ng[name] = value;
|
||||
}
|
||||
|
||||
let ng: {[key: string]: any}|undefined;
|
||||
|
Reference in New Issue
Block a user