Sha256: 02ad52ab451c336d3c216bac78e9bc1c12f8597cc8fc34d9fc11f6976e87fe43

Contents?: true

Size: 1.26 KB

Versions: 28

Compression:

Stored size: 1.26 KB

Contents

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

const NullDependency = require("./NullDependency");

class HarmonyInitDependency extends NullDependency {
	constructor(originModule) {
		super();
		this.originModule = originModule;
	}

	get type() {
		return "harmony init";
	}
}

module.exports = HarmonyInitDependency;

HarmonyInitDependency.Template = class HarmonyInitDependencyTemplate {
	apply(dep, source, runtime, dependencyTemplates) {
		const module = dep.originModule;
		const list = [];
		for (const dependency of module.dependencies) {
			const template = dependencyTemplates.get(dependency.constructor);
			if (
				template &&
				typeof template.harmonyInit === "function" &&
				typeof template.getHarmonyInitOrder === "function"
			) {
				const order = template.getHarmonyInitOrder(dependency);
				if (!isNaN(order)) {
					list.push({
						order,
						listOrder: list.length,
						dependency,
						template
					});
				}
			}
		}

		list.sort((a, b) => {
			const x = a.order - b.order;
			if (x) return x;
			return a.listOrder - b.listOrder;
		});

		for (const item of list) {
			item.template.harmonyInit(
				item.dependency,
				source,
				runtime,
				dependencyTemplates
			);
		}
	}
};

Version data entries

28 entries across 27 versions & 9 rubygems

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