Blame view

node_modules/webpack/lib/dependencies/HarmonyCompatibilityDependency.js 824 Bytes
aaac7fed   liuqimichale   add
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
  /*
  	MIT License http://www.opensource.org/licenses/mit-license.php
  	Author Tobias Koppers @sokra
  */
  "use strict";
  const NullDependency = require("./NullDependency");
  
  class HarmonyCompatibilityDependency extends NullDependency {
  	constructor(originModule) {
  		super();
  		this.originModule = originModule;
  	}
  
  	get type() {
  		return "harmony export header";
  	}
  }
  
  HarmonyCompatibilityDependency.Template = class HarmonyExportDependencyTemplate {
  	apply(dep, source) {
  		const usedExports = dep.originModule.usedExports;
  		if(usedExports && !Array.isArray(usedExports)) {
  			const exportName = dep.originModule.exportsArgument || "exports";
  			const content = `Object.defineProperty(${exportName}, "__esModule", { value: true });\n`;
  			source.insert(-10, content);
  		}
  	}
  };
  
  module.exports = HarmonyCompatibilityDependency;