1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | 1x 7x 7x 7x 7x 7x 1x 7x 7x 7x 7x 7x 7x 14x 7x 7x 7x 7x 7x 7x 7x 3x 7x 7x 7x 7x 4x 4x 7x 7x 7x 1x | 'use strict'; const NullDependency = require('webpack/lib/dependencies/NullDependency'); class OpenUI5DefineDependency extends NullDependency { constructor(range, arrayRange, functionRange, namedModule) { super(); this.range = range; this.arrayRange = arrayRange; this.functionRange = functionRange; this.namedModule = namedModule; } get type() { return 'openui5 define'; } } OpenUI5DefineDependency.Template = class UI5DefineDependencyTemplate { get definitions() { return { f: [ 'var __WEBPACK_UI5_DEFINE_RESULT__;', `!(__WEBPACK_UI5_DEFINE_RESULT__ = #.call(exports, __webpack_require__, exports, module), __WEBPACK_UI5_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_UI5_DEFINE_RESULT__))`, ], af: [ 'var __WEBPACK_UI5_DEFINE_ARRAY__, __WEBPACK_UI5_DEFINE_RESULT__;', `!(__WEBPACK_UI5_DEFINE_ARRAY__ = #, __WEBPACK_UI5_DEFINE_RESULT__ = #.apply(exports, __WEBPACK_UI5_DEFINE_ARRAY__), __WEBPACK_UI5_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_UI5_DEFINE_RESULT__))`, ], lf: [ "var XXX, XXXmodule;", "!(XXXmodule = { id: YYY, exports: {}, loaded: false }, XXX = #.call(XXXmodule.exports, __webpack_require__, XXXmodule.exports, XXXmodule), XXXmodule.loaded = true, XXX === undefined && (XXX = XXXmodule.exports))" ], laf: [ "var __WEBPACK_UI5_DEFINE_ARRAY__, XXX;", "!(__WEBPACK_UI5_DEFINE_ARRAY__ = #, XXX = (#.apply(exports, __WEBPACK_UI5_DEFINE_ARRAY__)))" ], }; } apply(dependency, source) { const branch = this.branch(dependency); const defAndText = this.definitions[branch]; const definitions = defAndText[0]; const text = defAndText[1]; this.replace(dependency, source, definitions, text); } localModuleVar(dependency) { return dependency.localModule && dependency.localModule.used && dependency.localModule.variableName(); } branch(dependency) { const localModuleVar = this.localModuleVar(dependency) ? "l" : ""; const arrayRange = dependency.arrayRange ? 'a' : ''; const functionRange = dependency.functionRange ? 'f' : ''; return localModuleVar + arrayRange + functionRange; } replace(dependency, source, definition, text) { const localModuleVar = this.localModuleVar(dependency); Iif(localModuleVar) { text = text.replace(/XXX/g, localModuleVar.replace(/\$/g, "$$$$")); definition = definition.replace(/XXX/g, localModuleVar.replace(/\$/g, "$$$$")); } if(dependency.namedModule) { text = text.replace(/YYY/g, JSON.stringify(dependency.namedModule)); } const texts = text.split('#'); Eif (definition) source.insert(0, definition); let current = dependency.range[0]; if (dependency.arrayRange) { source.replace(current, dependency.arrayRange[0] - 1, texts.shift()); current = dependency.arrayRange[1]; } source.replace(current, dependency.functionRange[0] - 1, texts.shift()); current = dependency.functionRange[1]; source.replace(current, dependency.range[1] - 1, texts.shift()); /* istanbul ignore next */ if (texts.length > 0) { throw new Error('Implementation error'); } } }; module.exports = OpenUI5DefineDependency; |