@plaudit/webpack-extensions 2.59.0 → 2.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/plugins/BrowserSyncPlugin.d.ts +2 -3
- package/build/plugins/BrowserSyncPlugin.js +22 -12
- package/build/plugins/SpecialAssetHandlingPlugin.d.ts +3 -3
- package/build/plugins/SpecialAssetHandlingPlugin.js +13 -12
- package/build/plugins/UnifiedLoaderGenerator.d.ts +3 -1
- package/build/plugins/UnifiedLoaderGenerator.js +8 -3
- package/build/plugins/VariablesJSMonitorPlugin.d.ts +3 -2
- package/build/plugins/VariablesJSMonitorPlugin.js +11 -8
- package/build/shared.d.ts +2 -0
- package/build/shared.js +14 -0
- package/build/utils/common-config-helpers.js +6 -7
- package/build/wordpress-scripts-wrapper.js +5 -13
- package/package.json +1 -1
|
@@ -9,8 +9,7 @@ export type PluginOptions = {
|
|
|
9
9
|
};
|
|
10
10
|
export declare class BrowserSyncPlugin implements WebpackPluginInstance {
|
|
11
11
|
private static isBrowserSyncRunning;
|
|
12
|
-
private static browserSyncPluginOptions
|
|
13
|
-
private static envFileContents;
|
|
12
|
+
private static browserSyncPluginOptions?;
|
|
14
13
|
private readonly pluginOptions;
|
|
15
14
|
private readonly browserSyncInstance;
|
|
16
15
|
private isWebpackWatching;
|
|
@@ -18,7 +17,7 @@ export declare class BrowserSyncPlugin implements WebpackPluginInstance {
|
|
|
18
17
|
private shouldNotify;
|
|
19
18
|
constructor(pluginOptions?: Partial<PluginOptions>);
|
|
20
19
|
private static getBrowserSyncPluginOptions;
|
|
21
|
-
private static
|
|
20
|
+
private static findEnvFile;
|
|
22
21
|
apply(compiler: Compiler): void;
|
|
23
22
|
private getCssOnlyEmittedAssetsNames;
|
|
24
23
|
private static getSiteUrls;
|
|
@@ -7,13 +7,13 @@ exports.BrowserSyncPlugin = void 0;
|
|
|
7
7
|
const node_child_process_1 = __importDefault(require("node:child_process"));
|
|
8
8
|
const node_fs_1 = __importDefault(require("node:fs"));
|
|
9
9
|
const node_path_1 = __importDefault(require("node:path"));
|
|
10
|
+
const shared_1 = require("../shared");
|
|
10
11
|
const browser_sync_1 = __importDefault(require("browser-sync"));
|
|
11
12
|
const http_proxy_middleware_1 = require("http-proxy-middleware");
|
|
12
13
|
const open_1 = __importDefault(require("open"));
|
|
13
14
|
class BrowserSyncPlugin {
|
|
14
15
|
static isBrowserSyncRunning = false;
|
|
15
|
-
static browserSyncPluginOptions
|
|
16
|
-
static envFileContents = undefined;
|
|
16
|
+
static browserSyncPluginOptions;
|
|
17
17
|
pluginOptions;
|
|
18
18
|
browserSyncInstance;
|
|
19
19
|
isWebpackWatching = false;
|
|
@@ -24,11 +24,11 @@ class BrowserSyncPlugin {
|
|
|
24
24
|
this.browserSyncInstance = browser_sync_1.default.has(this.pluginOptions.name) ? browser_sync_1.default.get(this.pluginOptions.name) : browser_sync_1.default.create(this.pluginOptions.name);
|
|
25
25
|
}
|
|
26
26
|
static getBrowserSyncPluginOptions() {
|
|
27
|
-
return BrowserSyncPlugin.browserSyncPluginOptions ?? (BrowserSyncPlugin.browserSyncPluginOptions = new Promise(resolve => {
|
|
28
|
-
const
|
|
29
|
-
|
|
27
|
+
return BrowserSyncPlugin.browserSyncPluginOptions ?? (BrowserSyncPlugin.browserSyncPluginOptions = new Promise(async (resolve) => {
|
|
28
|
+
const envFilePath = BrowserSyncPlugin.findEnvFile();
|
|
29
|
+
const envFile = envFilePath ? await (0, shared_1.loadEnvFile)(envFilePath) : {};
|
|
30
30
|
const prefixes = BrowserSyncPlugin.getSiteUrls();
|
|
31
|
-
const targetPort = envFile
|
|
31
|
+
const targetPort = envFile["WEB_PORT_SSL"]?.match(/^\d+$/) ? envFile["WEB_PORT_SSL"] : "8443";
|
|
32
32
|
const targetHost = targetPort === "443" ? "localhost" : `localhost:${targetPort}`;
|
|
33
33
|
if (prefixes.length === 0 || prefixes.every(prefix => prefix.startsWith("localhost"))) {
|
|
34
34
|
resolve([{
|
|
@@ -88,18 +88,28 @@ class BrowserSyncPlugin {
|
|
|
88
88
|
}
|
|
89
89
|
}));
|
|
90
90
|
}
|
|
91
|
-
static
|
|
92
|
-
if (BrowserSyncPlugin.envFileContents !== undefined) {
|
|
93
|
-
return BrowserSyncPlugin.envFileContents;
|
|
94
|
-
}
|
|
91
|
+
static findEnvFile() {
|
|
95
92
|
for (let envFileHolderPath = process.cwd(); envFileHolderPath.length > 5; envFileHolderPath = node_path_1.default.dirname(envFileHolderPath)) {
|
|
96
93
|
if (node_fs_1.default.existsSync(node_path_1.default.join(envFileHolderPath, ".env"))) {
|
|
97
|
-
return
|
|
94
|
+
return node_path_1.default.join(envFileHolderPath, ".env");
|
|
98
95
|
}
|
|
99
96
|
}
|
|
100
|
-
return
|
|
97
|
+
return undefined;
|
|
101
98
|
}
|
|
102
99
|
apply(compiler) {
|
|
100
|
+
if (!process.argv.includes('--browser-sync') && process.env['BROWSER_SYNC'] !== 'true') {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
let devTarget = process.env['DEV_TARGET'] ?? process.argv.find(a => a.startsWith("--dev-target="))?.substring(13);
|
|
104
|
+
if (devTarget === undefined) {
|
|
105
|
+
const flagIndex = process.argv.findIndex(a => a === "--dev-target");
|
|
106
|
+
if (flagIndex > -1) {
|
|
107
|
+
devTarget = process.argv[flagIndex + 1];
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
if (devTarget !== undefined && devTarget !== node_path_1.default.basename(process.cwd()) && !(devTarget === "theme" && node_fs_1.default.existsSync(node_path_1.default.join(process.cwd(), "style.css")))) {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
103
113
|
compiler.hooks.watchRun.tap(BrowserSyncPlugin.name, () => {
|
|
104
114
|
this.isWebpackWatching = true;
|
|
105
115
|
});
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
+
import type { VerifiedPlauditWordpressWebpackConfig } from "../utils/common-config-helpers";
|
|
1
2
|
import { type Compiler, type WebpackPluginInstance } from "webpack";
|
|
2
3
|
export declare class SpecialAssetHandlingPlugin implements WebpackPluginInstance {
|
|
3
|
-
private readonly
|
|
4
|
-
private readonly useUnifiedLoader;
|
|
4
|
+
private readonly config;
|
|
5
5
|
private static readonly semaphore;
|
|
6
6
|
private static hasAttachedAssetCollatorForCurrentBatch;
|
|
7
7
|
private static validPathname?;
|
|
8
8
|
private readonly id;
|
|
9
|
-
constructor(
|
|
9
|
+
constructor(config: VerifiedPlauditWordpressWebpackConfig);
|
|
10
10
|
apply(compiler: Compiler): void;
|
|
11
11
|
private collateAssets;
|
|
12
12
|
}
|
|
@@ -5,26 +5,27 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.SpecialAssetHandlingPlugin = void 0;
|
|
7
7
|
const node_path_1 = __importDefault(require("node:path"));
|
|
8
|
-
const PlainEntrypointsConfigFileGeneratorPlugin_1 = require("./PlainEntrypointsConfigFileGeneratorPlugin");
|
|
9
8
|
const php_writer_1 = require("../utils/php-writer");
|
|
10
9
|
const pseduo_semaphore_1 = require("../utils/pseduo-semaphore");
|
|
11
|
-
const
|
|
10
|
+
const PlainEntrypointsConfigFileGeneratorPlugin_1 = require("./PlainEntrypointsConfigFileGeneratorPlugin");
|
|
12
11
|
const UnifiedLoaderGenerator_1 = require("./UnifiedLoaderGenerator");
|
|
12
|
+
const webpack_1 = require("webpack");
|
|
13
13
|
class SpecialAssetHandlingPlugin {
|
|
14
|
-
|
|
15
|
-
useUnifiedLoader;
|
|
14
|
+
config;
|
|
16
15
|
static semaphore = new pseduo_semaphore_1.PseudoSemaphore({}, "Special");
|
|
17
16
|
static hasAttachedAssetCollatorForCurrentBatch = false;
|
|
18
17
|
static validPathname = undefined;
|
|
19
18
|
id;
|
|
20
|
-
constructor(
|
|
21
|
-
this.
|
|
22
|
-
this.useUnifiedLoader = useUnifiedLoader;
|
|
19
|
+
constructor(config) {
|
|
20
|
+
this.config = config;
|
|
23
21
|
this.id = Math.random().toString();
|
|
24
|
-
SpecialAssetHandlingPlugin.semaphore.register(this.id);
|
|
25
|
-
UnifiedLoaderGenerator_1.UnifiedLoaderGenerator.semaphore.register(this.id);
|
|
26
22
|
}
|
|
27
23
|
apply(compiler) {
|
|
24
|
+
if (!this.config.useWebpackResourceFiltering) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
SpecialAssetHandlingPlugin.semaphore.register(this.id);
|
|
28
|
+
UnifiedLoaderGenerator_1.UnifiedLoaderGenerator.semaphore.register(this.id);
|
|
28
29
|
compiler.hooks.compilation.tap(this.constructor.name, compilation => {
|
|
29
30
|
SpecialAssetHandlingPlugin.hasAttachedAssetCollatorForCurrentBatch = false;
|
|
30
31
|
SpecialAssetHandlingPlugin.semaphore.reset(this.id);
|
|
@@ -81,15 +82,15 @@ class SpecialAssetHandlingPlugin {
|
|
|
81
82
|
const preloadedAssets = Object.entries(collatedSpecialAssetData)
|
|
82
83
|
.filter(([_, { preload }]) => preload)
|
|
83
84
|
.sort(([a], [b]) => a.localeCompare(b));
|
|
84
|
-
const outputFile = this.outputDir ? "special-assets.php" : node_path_1.default.join(node_path_1.default.dirname(node_path_1.default.dirname(SpecialAssetHandlingPlugin.validPathname)), "special-assets.php");
|
|
85
|
+
const outputFile = this.config.outputDir ? "special-assets.php" : node_path_1.default.join(node_path_1.default.dirname(node_path_1.default.dirname(SpecialAssetHandlingPlugin.validPathname)), "special-assets.php");
|
|
85
86
|
const writer = new php_writer_1.PHPWriter();
|
|
86
87
|
if (!preloadedAssets.length) {
|
|
87
|
-
if (!this.useUnifiedLoader) {
|
|
88
|
+
if (!this.config.useUnifiedLoader) {
|
|
88
89
|
writer.emitAsset(compilation, outputFile);
|
|
89
90
|
}
|
|
90
91
|
return;
|
|
91
92
|
}
|
|
92
|
-
if (!this.useUnifiedLoader) {
|
|
93
|
+
if (!this.config.useUnifiedLoader) {
|
|
93
94
|
PlainEntrypointsConfigFileGeneratorPlugin_1.PlainEntrypointsConfigFileGeneratorPlugin.emitResolveBaseUriFunction(writer);
|
|
94
95
|
}
|
|
95
96
|
writer.action("wp_head", writer => {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { VerifiedPlauditWordpressWebpackConfig } from "../utils/common-config-helpers";
|
|
1
2
|
import { PseudoSemaphore } from "../utils/pseduo-semaphore";
|
|
2
3
|
import { PHPWriter } from "../utils/php-writer";
|
|
3
4
|
import { Compiler, WebpackPluginInstance } from "webpack";
|
|
@@ -8,10 +9,11 @@ type LoaderInfo = {
|
|
|
8
9
|
priority?: number;
|
|
9
10
|
};
|
|
10
11
|
export declare class UnifiedLoaderGenerator implements WebpackPluginInstance {
|
|
12
|
+
private readonly config;
|
|
11
13
|
static readonly semaphore: PseudoSemaphore<LoaderInfo | undefined>;
|
|
12
14
|
private static attached;
|
|
13
15
|
private readonly id;
|
|
14
|
-
constructor();
|
|
16
|
+
constructor(config: VerifiedPlauditWordpressWebpackConfig);
|
|
15
17
|
apply(compiler: Compiler): void;
|
|
16
18
|
}
|
|
17
19
|
export {};
|
|
@@ -3,17 +3,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.UnifiedLoaderGenerator = void 0;
|
|
4
4
|
const pseduo_semaphore_1 = require("../utils/pseduo-semaphore");
|
|
5
5
|
const php_writer_1 = require("../utils/php-writer");
|
|
6
|
-
const webpack_1 = require("webpack");
|
|
7
6
|
const PlainEntrypointsConfigFileGeneratorPlugin_1 = require("./PlainEntrypointsConfigFileGeneratorPlugin");
|
|
7
|
+
const webpack_1 = require("webpack");
|
|
8
8
|
class UnifiedLoaderGenerator {
|
|
9
|
+
config;
|
|
9
10
|
static semaphore = new pseduo_semaphore_1.PseudoSemaphore(undefined, "Unified");
|
|
10
11
|
static attached = false;
|
|
11
12
|
id;
|
|
12
|
-
constructor() {
|
|
13
|
+
constructor(config) {
|
|
14
|
+
this.config = config;
|
|
13
15
|
this.id = Math.random().toString();
|
|
14
|
-
UnifiedLoaderGenerator.semaphore.register(this.id);
|
|
15
16
|
}
|
|
16
17
|
apply(compiler) {
|
|
18
|
+
if (!this.config.useUnifiedLoader) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
UnifiedLoaderGenerator.semaphore.register(this.id);
|
|
17
22
|
const tapName = { name: this.constructor.name, stage: webpack_1.Compilation.PROCESS_ASSETS_STAGE_REPORT };
|
|
18
23
|
compiler.hooks.compilation.tap(this.constructor.name, compilation => {
|
|
19
24
|
UnifiedLoaderGenerator.attached = false;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import type { VerifiedPlauditWordpressWebpackConfig } from "../utils/common-config-helpers";
|
|
1
2
|
import type { Compiler, WebpackPluginInstance } from "webpack";
|
|
2
3
|
export declare class VariablesJSMonitorPlugin implements WebpackPluginInstance {
|
|
3
|
-
private readonly
|
|
4
|
-
constructor(
|
|
4
|
+
private readonly config;
|
|
5
|
+
constructor(config: VerifiedPlauditWordpressWebpackConfig);
|
|
5
6
|
apply(compiler: Compiler): void;
|
|
6
7
|
}
|
|
@@ -2,16 +2,19 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.VariablesJSMonitorPlugin = void 0;
|
|
4
4
|
class VariablesJSMonitorPlugin {
|
|
5
|
-
|
|
6
|
-
constructor(
|
|
7
|
-
this.
|
|
5
|
+
config;
|
|
6
|
+
constructor(config) {
|
|
7
|
+
this.config = config;
|
|
8
8
|
}
|
|
9
9
|
apply(compiler) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
const variablesFilePath = this.config.variablesFilePath;
|
|
11
|
+
if (variablesFilePath) {
|
|
12
|
+
compiler.hooks.make.tap(this.constructor.name, compilation => {
|
|
13
|
+
if (!compilation.fileDependencies.has(variablesFilePath)) {
|
|
14
|
+
compilation.fileDependencies.add(variablesFilePath);
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
}
|
|
15
18
|
}
|
|
16
19
|
}
|
|
17
20
|
exports.VariablesJSMonitorPlugin = VariablesJSMonitorPlugin;
|
package/build/shared.d.ts
CHANGED
|
@@ -95,4 +95,6 @@ export declare const styleExtension: RegExp;
|
|
|
95
95
|
export declare function scriptOrStyleTest(entryPath: string, scriptExtension: RegExp): "" | "script" | "style";
|
|
96
96
|
export declare function hasAtLeastOneItem<T>(list: T[]): list is [T, ...T[]];
|
|
97
97
|
export declare function kebabCase(value: string): string;
|
|
98
|
+
export declare function loadEnvFile(filePath: string): Promise<Record<string, string>>;
|
|
99
|
+
export declare function parseEnvFile(contents: string): Record<string, string>;
|
|
98
100
|
export {};
|
package/build/shared.js
CHANGED
|
@@ -11,7 +11,10 @@ exports.leadingSlashIt = leadingSlashIt;
|
|
|
11
11
|
exports.scriptOrStyleTest = scriptOrStyleTest;
|
|
12
12
|
exports.hasAtLeastOneItem = hasAtLeastOneItem;
|
|
13
13
|
exports.kebabCase = kebabCase;
|
|
14
|
+
exports.loadEnvFile = loadEnvFile;
|
|
15
|
+
exports.parseEnvFile = parseEnvFile;
|
|
14
16
|
const json_to_php_but_with____injection_1 = __importDefault(require("./utils/json-to-php-but-with-__-injection"));
|
|
17
|
+
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
15
18
|
function isRawAssetData(thing) {
|
|
16
19
|
if (!thing || typeof thing !== 'object') {
|
|
17
20
|
return false;
|
|
@@ -87,3 +90,14 @@ function kebabCase(value) {
|
|
|
87
90
|
const kebabCaseRegexes = [[/([a-z])([A-Z])/g, "$1-$2"], [/[\s_.\-]+/g, "-"]];
|
|
88
91
|
return kebabCaseRegexes.reduce((str, [pattern, replacement]) => str.replace(pattern, replacement), value).toLowerCase();
|
|
89
92
|
}
|
|
93
|
+
async function loadEnvFile(filePath) {
|
|
94
|
+
return promises_1.default.readFile(filePath, 'utf-8').then(parseEnvFile, () => ({}));
|
|
95
|
+
}
|
|
96
|
+
function parseEnvFile(contents) {
|
|
97
|
+
return Object.fromEntries(contents.split(/(\r?\n)+/).map(line => line.trim())
|
|
98
|
+
.filter(line => line.length > 0 && !line.startsWith("#") && !line.startsWith("//"))
|
|
99
|
+
.map(line => {
|
|
100
|
+
const equalsPos = line.indexOf('=');
|
|
101
|
+
return equalsPos === -1 ? [line, ""] : [line.substring(0, equalsPos), line.substring(equalsPos + 1)];
|
|
102
|
+
}));
|
|
103
|
+
}
|
|
@@ -8,11 +8,11 @@ exports.groupEntrypointsByAssetFile = groupEntrypointsByAssetFile;
|
|
|
8
8
|
exports.resolveEntryFromDirectory = resolveEntryFromDirectory;
|
|
9
9
|
exports.commonMakeWebpackConfig = commonMakeWebpackConfig;
|
|
10
10
|
const node_fs_1 = __importDefault(require("node:fs"));
|
|
11
|
+
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
11
12
|
const node_path_1 = __importDefault(require("node:path"));
|
|
13
|
+
const BlockJSONManagingPlugin_1 = require("../plugins/BlockJSONManagingPlugin");
|
|
12
14
|
const shared_1 = require("../shared");
|
|
13
15
|
const copy_webpack_plugin_1 = __importDefault(require("copy-webpack-plugin"));
|
|
14
|
-
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
15
|
-
const BlockJSONManagingPlugin_1 = require("../plugins/BlockJSONManagingPlugin");
|
|
16
16
|
let isInThemeCache = undefined;
|
|
17
17
|
function isInTheme() {
|
|
18
18
|
return isInThemeCache ?? (isInThemeCache = node_fs_1.default.existsSync(node_path_1.default.join(process.cwd(), "theme.json")));
|
|
@@ -256,7 +256,8 @@ function commonMakeWebpackConfig(config, commonConfig, webpackConfig, srcIsDirec
|
|
|
256
256
|
}
|
|
257
257
|
const canCopyFiles = srcIsDirectory && src !== dest.destination;
|
|
258
258
|
const possiblePlugins = canCopyFiles
|
|
259
|
-
? plugins.
|
|
259
|
+
? plugins.filter(plugin => plugin.constructor.name !== 'CleanWebpackPlugin')
|
|
260
|
+
.map(plugin => !processingModules && plugin.constructor.name === 'CopyPlugin'
|
|
260
261
|
? new copy_webpack_plugin_1.default({
|
|
261
262
|
patterns: [{
|
|
262
263
|
from: standaloneBlocks ? '**/(block.json|*.(php|twig|svg))' : '**/(block.json|*.(asset\.php|svg))',
|
|
@@ -265,9 +266,7 @@ function commonMakeWebpackConfig(config, commonConfig, webpackConfig, srcIsDirec
|
|
|
265
266
|
}]
|
|
266
267
|
})
|
|
267
268
|
: plugin)
|
|
268
|
-
: (
|
|
269
|
-
? plugins.filter(plugin => plugin.constructor.name !== 'CopyPlugin' && plugin.constructor.name !== 'CleanWebpackPlugin')
|
|
270
|
-
: plugins.filter(plugin => plugin.constructor.name !== 'CopyPlugin'));
|
|
269
|
+
: plugins.filter(plugin => plugin.constructor.name !== 'CopyPlugin' && plugin.constructor.name !== 'CleanWebpackPlugin');
|
|
271
270
|
const extensions = processingModules ? ['.mjsx', '.mjs', '.mtsx', '.mts', '...'] : ['.jsx', '.tsx', '.ts', '...'];
|
|
272
271
|
return {
|
|
273
272
|
...webpackConfig,
|
|
@@ -312,7 +311,7 @@ function commonMakeWebpackConfig(config, commonConfig, webpackConfig, srcIsDirec
|
|
|
312
311
|
extensions
|
|
313
312
|
},
|
|
314
313
|
stats: config.stats,
|
|
315
|
-
plugins:
|
|
314
|
+
plugins: possiblePlugins,
|
|
316
315
|
entry() {
|
|
317
316
|
if (variablesFilePath) {
|
|
318
317
|
delete require.cache[require.resolve(variablesFilePath)];
|
|
@@ -354,7 +354,7 @@ function handleDisablingTSCheckerIfNecessary(srcRoot, scriptExtension, plugins)
|
|
|
354
354
|
}
|
|
355
355
|
}
|
|
356
356
|
function buildCommonPluginConfig(srcRoot, scriptExtension, webpackConfig, dest, config, sourceType) {
|
|
357
|
-
const { assumeGlobalizedPlauditLibraries, combineAssetMetadata, externals, extensionsVersion, plainEntrypointsVersion,
|
|
357
|
+
const { assumeGlobalizedPlauditLibraries, combineAssetMetadata, externals, extensionsVersion, plainEntrypointsVersion, } = config;
|
|
358
358
|
const processingModules = webpackConfig.output?.module ?? false;
|
|
359
359
|
const plugins = webpackConfig.plugins?.filter(v => !!v)
|
|
360
360
|
.filter(plugin => plugin.constructor.name !== 'RtlCssPlugin')
|
|
@@ -380,15 +380,9 @@ function buildCommonPluginConfig(srcRoot, scriptExtension, webpackConfig, dest,
|
|
|
380
380
|
extensions: ['css', 'scss', 'sass', 'less', 'styl', 'pcss']
|
|
381
381
|
});
|
|
382
382
|
plugins.push(removeEmptyScriptsPlugin, new MiniCSSExtractPluginErrorCleaner_1.MiniCSSExtractPluginErrorCleaner());
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
if (config.useWebpackResourceFiltering) {
|
|
387
|
-
plugins.push(new SpecialAssetHandlingPlugin_1.SpecialAssetHandlingPlugin(config.outputDir, config.useUnifiedLoader));
|
|
388
|
-
}
|
|
389
|
-
if (variablesFilePath) {
|
|
390
|
-
plugins.push(new VariablesJSMonitorPlugin_1.VariablesJSMonitorPlugin(variablesFilePath));
|
|
391
|
-
}
|
|
383
|
+
plugins.push(new UnifiedLoaderGenerator_1.UnifiedLoaderGenerator(config));
|
|
384
|
+
plugins.push(new SpecialAssetHandlingPlugin_1.SpecialAssetHandlingPlugin(config));
|
|
385
|
+
plugins.push(new VariablesJSMonitorPlugin_1.VariablesJSMonitorPlugin(config));
|
|
392
386
|
const dependencyExtractionPluginIndex = plugins.findIndex(plugin => plugin instanceof dependency_extraction_webpack_plugin_1.default);
|
|
393
387
|
if (dependencyExtractionPluginIndex === -1) {
|
|
394
388
|
console.error("Cannot apply externals when they have been disabled via CLI flag. This will greatly increase bundle size and will likely cause the build to fail");
|
|
@@ -403,9 +397,7 @@ function buildCommonPluginConfig(srcRoot, scriptExtension, webpackConfig, dest,
|
|
|
403
397
|
plugins[dependencyExtractionPluginIndex] = builtDependencyExtractionWebpackPlugin.instance;
|
|
404
398
|
plugins.push(new AdditionalDependencyInjectorPlugin_1.AdditionalDependencyInjectorPlugin(dest.additionalDependencies ? dest.additionalDependencies : [], processingModules, builtDependencyExtractionWebpackPlugin.addExternalizedDep));
|
|
405
399
|
}
|
|
406
|
-
|
|
407
|
-
plugins.push(new BrowserSyncPlugin_1.BrowserSyncPlugin());
|
|
408
|
-
}
|
|
400
|
+
plugins.push(new BrowserSyncPlugin_1.BrowserSyncPlugin());
|
|
409
401
|
return { plugins, removeEmptyScriptsPlugin };
|
|
410
402
|
}
|
|
411
403
|
function commonConfigProcessingPrep(config, webpackConfig) {
|