UNPKG

react-router-ga

Version:

[![Downloads](https://img.shields.io/npm/dm/react-router-ga)](https://npm.im/react-router-ga) [![Version](https://img.shields.io/npm/v/react-router-ga)](https://npm.im/react-router-ga) [![License](https://img.shields.io/npm/l/react-router-ga)](https://ope

42 lines (38 loc) 1.13 kB
/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; /** @typedef {import("../Compiler")} Compiler */ class NaturalChunkOrderPlugin { /** * @param {Compiler} compiler webpack compiler * @returns {void} */ apply(compiler) { compiler.hooks.compilation.tap("NaturalChunkOrderPlugin", compilation => { compilation.hooks.optimizeChunkOrder.tap( "NaturalChunkOrderPlugin", chunks => { chunks.sort((chunkA, chunkB) => { const a = chunkA.modulesIterable[Symbol.iterator](); const b = chunkB.modulesIterable[Symbol.iterator](); // eslint-disable-next-line no-constant-condition while (true) { const aItem = a.next(); const bItem = b.next(); if (aItem.done && bItem.done) return 0; if (aItem.done) return -1; if (bItem.done) return 1; const aModuleId = aItem.value.id; const bModuleId = bItem.value.id; if (aModuleId < bModuleId) return -1; if (aModuleId > bModuleId) return 1; } }); } ); }); } } module.exports = NaturalChunkOrderPlugin;