mirror of
https://github.com/flarum/core.git
synced 2025-08-05 07:57:46 +02:00
chore: yarn format
This commit is contained in:
@@ -1,27 +1,27 @@
|
||||
const path = require("path");
|
||||
const extensionId = require("./extensionId.cjs");
|
||||
const {Compilation} = require("webpack");
|
||||
const path = require('path');
|
||||
const extensionId = require('./extensionId.cjs');
|
||||
const { Compilation } = require('webpack');
|
||||
|
||||
class RegisterAsyncChunksPlugin {
|
||||
static registry = {};
|
||||
|
||||
apply(compiler) {
|
||||
compiler.hooks.thisCompilation.tap("RegisterAsyncChunksPlugin", (compilation) => {
|
||||
compiler.hooks.thisCompilation.tap('RegisterAsyncChunksPlugin', (compilation) => {
|
||||
let alreadyOptimized = false;
|
||||
|
||||
compilation.hooks.unseal.tap("RegisterAsyncChunksPlugin", () => {
|
||||
compilation.hooks.unseal.tap('RegisterAsyncChunksPlugin', () => {
|
||||
alreadyOptimized = false;
|
||||
RegisterAsyncChunksPlugin.registry = {};
|
||||
});
|
||||
|
||||
compilation.hooks.finishModules.tap("RegisterAsyncChunksPlugin", () => {
|
||||
compilation.hooks.finishModules.tap('RegisterAsyncChunksPlugin', () => {
|
||||
alreadyOptimized = false;
|
||||
RegisterAsyncChunksPlugin.registry = {};
|
||||
});
|
||||
|
||||
compilation.hooks.processAssets.tap(
|
||||
{
|
||||
name: "RegisterAsyncChunksPlugin",
|
||||
name: 'RegisterAsyncChunksPlugin',
|
||||
stage: Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL,
|
||||
},
|
||||
() => {
|
||||
@@ -37,14 +37,14 @@ class RegisterAsyncChunksPlugin {
|
||||
modulesToCheck[chunk.id] = modulesToCheck[chunk.id] || [];
|
||||
|
||||
// A normal module.
|
||||
if (module?.resource && module.resource.split(path.sep).includes('src') && module._source?._value.includes("webpackChunkName: ")) {
|
||||
if (module?.resource && module.resource.split(path.sep).includes('src') && module._source?._value.includes('webpackChunkName: ')) {
|
||||
modulesToCheck[chunk.id].push(module);
|
||||
}
|
||||
|
||||
// A ConcatenatedModule.
|
||||
if (module?.modules) {
|
||||
module.modules.forEach((module) => {
|
||||
if (module.resource && module.resource.split(path.sep).includes('src') && module._source?._value.includes("webpackChunkName: ")) {
|
||||
if (module.resource && module.resource.split(path.sep).includes('src') && module._source?._value.includes('webpackChunkName: ')) {
|
||||
modulesToCheck[chunk.id].push(module);
|
||||
}
|
||||
});
|
||||
@@ -61,8 +61,7 @@ class RegisterAsyncChunksPlugin {
|
||||
|
||||
// Each line that has a webpackChunkName comment.
|
||||
[...module._source._value.matchAll(/.*\/\* webpackChunkName: .* \*\/.*/gm)].forEach(([match]) => {
|
||||
[...match.matchAll(/(.*?) webpackChunkName: '([^']*)'.*? \*\/ '([^']+)'.*?/gm)]
|
||||
.forEach(([match, _, urlPath, importPath]) => {
|
||||
[...match.matchAll(/(.*?) webpackChunkName: '([^']*)'.*? \*\/ '([^']+)'.*?/gm)].forEach(([match, _, urlPath, importPath]) => {
|
||||
// Import path is relative to module.resource, so we need to resolve it
|
||||
const importPathResolved = path.resolve(path.dirname(module.resource), importPath);
|
||||
const thisComposerJson = require(path.resolve(process.cwd(), '../composer.json'));
|
||||
@@ -70,9 +69,10 @@ class RegisterAsyncChunksPlugin {
|
||||
|
||||
const chunkModules = (c) => Array.from(compilation.chunkGraph.getChunkModulesIterable(c));
|
||||
|
||||
const relevantChunk = chunks.find(
|
||||
(chunk) => chunkModules(chunk)?.find(
|
||||
(module) => module.resource?.split('.')[0] === importPathResolved || module.rootModule?.resource?.split('.')[0] === importPathResolved
|
||||
const relevantChunk = chunks.find((chunk) =>
|
||||
chunkModules(chunk)?.find(
|
||||
(module) =>
|
||||
module.resource?.split('.')[0] === importPathResolved || module.rootModule?.resource?.split('.')[0] === importPathResolved
|
||||
)
|
||||
);
|
||||
|
||||
@@ -106,7 +106,10 @@ class RegisterAsyncChunksPlugin {
|
||||
registrableModulesUrlPaths.forEach(([chunkId, moduleId, namespace, urlPath]) => {
|
||||
chunkModuleMemory[sourceChunkId] = chunkModuleMemory[sourceChunkId] || [];
|
||||
|
||||
if (! chunkModuleMemory[sourceChunkId].includes(urlPath) && ! RegisterAsyncChunksPlugin.registry[`${chunkId}:${moduleId}:${namespace}`]?.includes(urlPath)) {
|
||||
if (
|
||||
!chunkModuleMemory[sourceChunkId].includes(urlPath) &&
|
||||
!RegisterAsyncChunksPlugin.registry[`${chunkId}:${moduleId}:${namespace}`]?.includes(urlPath)
|
||||
) {
|
||||
reg.push(`flarum.reg.addChunkModule('${chunkId}', '${moduleId}', '${namespace}', '${urlPath}');`);
|
||||
chunkModuleMemory[sourceChunkId].push(urlPath);
|
||||
RegisterAsyncChunksPlugin.registry[`${chunkId}:${moduleId}:${namespace}`] ||= [];
|
||||
|
Reference in New Issue
Block a user