Sha256: 158ad3c9939f4b13ddc395d562ebad9b64012d8a1decdddb1c36f59124be19f6

Contents?: true

Size: 1.38 KB

Versions: 26

Compression:

Stored size: 1.38 KB

Contents

/*
	MIT License http://www.opensource.org/licenses/mit-license.php
	Author Tobias Koppers @sokra
*/
"use strict";
const NullDependency = require("./NullDependency");

class HarmonyExportExpressionDependency extends NullDependency {
	constructor(originModule, range, rangeStatement, prefix) {
		super();
		this.originModule = originModule;
		this.range = range;
		this.rangeStatement = rangeStatement;
		this.prefix = prefix;
	}

	get type() {
		return "harmony export expression";
	}

	getExports() {
		return {
			exports: ["default"],
			dependencies: undefined
		};
	}
}

HarmonyExportExpressionDependency.Template = class HarmonyExportDependencyTemplate {
	apply(dep, source) {
		const used = dep.originModule.isUsed("default");
		const content = this.getContent(dep.originModule, used);

		if (dep.range) {
			source.replace(
				dep.rangeStatement[0],
				dep.range[0] - 1,
				content + "(" + dep.prefix
			);
			source.replace(dep.range[1], dep.rangeStatement[1] - 1, ");");
			return;
		}

		source.replace(dep.rangeStatement[0], dep.rangeStatement[1] - 1, content);
	}

	getContent(module, used) {
		const exportsName = module.exportsArgument;
		if (used) {
			return `/* harmony default export */ ${exportsName}[${JSON.stringify(
				used
			)}] = `;
		}
		return "/* unused harmony default export */ var _unused_webpack_default_export = ";
	}
};

module.exports = HarmonyExportExpressionDependency;

Version data entries

26 entries across 25 versions & 8 rubygems

Version Path
optimacms-0.1.61 spec/dummy/node_modules/webpack/lib/dependencies/HarmonyExportExpressionDependency.js
disco_app-0.18.0 test/dummy/node_modules/webpack/lib/dependencies/HarmonyExportExpressionDependency.js
disco_app-0.18.2 test/dummy/node_modules/webpack/lib/dependencies/HarmonyExportExpressionDependency.js
disco_app-0.16.1 test/dummy/node_modules/webpack/lib/dependencies/HarmonyExportExpressionDependency.js
disco_app-0.15.2 test/dummy/node_modules/webpack/lib/dependencies/HarmonyExportExpressionDependency.js
disco_app-0.18.4 test/dummy/node_modules/webpack/lib/dependencies/HarmonyExportExpressionDependency.js
disco_app-0.18.1 test/dummy/node_modules/webpack/lib/dependencies/HarmonyExportExpressionDependency.js
disco_app-0.12.7.pre.puma.pre.3 test/dummy/node_modules/webpack/lib/dependencies/HarmonyExportExpressionDependency.js
disco_app-0.14.0 test/dummy/node_modules/webpack/lib/dependencies/HarmonyExportExpressionDependency.js
disco_app-0.13.6.pre.puma.pre.3 test/dummy/node_modules/webpack/lib/dependencies/HarmonyExportExpressionDependency.js
tang-0.2.1 spec/tang_app/node_modules/webpack/lib/dependencies/HarmonyExportExpressionDependency.js
groonga-client-model-6.0.0 test/apps/rails6.0.3.5/node_modules/webpack/lib/dependencies/HarmonyExportExpressionDependency.js
groonga-client-model-6.0.0 test/apps/rails6.1.3/node_modules/webpack/lib/dependencies/HarmonyExportExpressionDependency.js
ruby2js-4.0.4 lib/tasks/testrails/node_modules/webpack/lib/dependencies/HarmonyExportExpressionDependency.js
ruby2js-4.0.3 lib/tasks/testrails/node_modules/webpack/lib/dependencies/HarmonyExportExpressionDependency.js
tang-0.2.0 spec/tang_app/node_modules/webpack/lib/dependencies/HarmonyExportExpressionDependency.js
tang-0.1.0 spec/tang_app/node_modules/webpack/lib/dependencies/HarmonyExportExpressionDependency.js
tang-0.0.9 spec/tang_app/node_modules/webpack/lib/dependencies/HarmonyExportExpressionDependency.js
enju_library-0.3.8 spec/dummy/node_modules/webpack/lib/dependencies/HarmonyExportExpressionDependency.js
jester-data-8.0.0 node_modules/webpack/lib/dependencies/HarmonyExportExpressionDependency.js