Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) Safe-mode: OFF (not secure) /var/www/html/queuepro/node_modules/laravel-mix/src/webpackPlugins/Css/ drwxrwxr-x | |
| Viewing file: Select action/file-type: // @ts-check
/**
* This plugin ensures that vue styles are always appended to the end of CSS files
*/
class AppendVueStylesPlugin {
/** @param {import("webpack").Compiler} compiler */
apply(compiler) {
const name = 'AppendVueStylesPlugin';
compiler.hooks.compilation.tap(name, compilation => {
compilation.hooks.optimizeChunks.tap(name, chunks => {
this.reorderModules(compilation.chunkGraph, chunks);
});
});
}
/**
*
* @param {import("webpack").ChunkGraph} graph
* @param {Iterable<import("webpack").Chunk>} chunks
*/
reorderModules(graph, chunks) {
const queue = this.collectCssChunks(graph, chunks);
// Find the last module in the bundle
let largestIndex = 0;
for (const { module, group } of queue) {
largestIndex = Math.max(largestIndex, group.getModulePostOrderIndex(module));
}
// Push all vue assets after it in their original order
for (const { module, group } of queue) {
if (module.identifier().includes('?vue')) {
group.setModulePostOrderIndex(
module,
largestIndex + group.getModulePostOrderIndex(module)
);
}
}
}
/**
* @param {import("webpack").ChunkGraph} graph
* @param {Iterable<import("webpack").Chunk>} chunks
*/
collectCssChunks(graph, chunks) {
const queue = [];
for (const chunk of chunks) {
for (const module of graph.getChunkModulesIterable(chunk)) {
if (module.type !== 'css/mini-extract') {
continue;
}
for (const group of chunk.groupsIterable) {
queue.push({ module, chunk, group });
}
}
}
return queue;
}
}
module.exports = AppendVueStylesPlugin;
|
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0226 ]-- |