@plaudit/webpack-extensions 2.57.2 → 2.58.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/ExtensionsConfigFileGeneratorPlugin.js +8 -3
- package/build/plugins/PlainEntrypointsConfigFileGeneratorPlugin.js +1 -1
- package/build/shared.d.ts +1 -1
- package/build/utils/php-writer.d.ts +4 -0
- package/build/utils/php-writer.js +18 -3
- package/build/wordpress-scripts-wrapper.js +2 -1
- package/package.json +1 -1
|
@@ -54,12 +54,17 @@ class ExtensionsConfigFileGeneratorPlugin {
|
|
|
54
54
|
UnifiedLoaderGenerator_1.UnifiedLoaderGenerator.semaphore.reset(this.id);
|
|
55
55
|
compilation.hooks.processAssets.tap({ name: `${this.constructor.name}_UnifiedLoaderGeneratorIntegration`, stage: webpack_1.Compilation.PROCESS_ASSETS_STAGE_DERIVED }, () => {
|
|
56
56
|
UnifiedLoaderGenerator_1.UnifiedLoaderGenerator.semaphore.resolve(this.id, ['extensions-config-v2', writer => {
|
|
57
|
+
let finalExtensionsDest = this.extensionsDest.endsWith("/") ? this.extensionsDest : this.extensionsDest + "/";
|
|
58
|
+
if (!finalExtensionsDest.startsWith("/")) {
|
|
59
|
+
finalExtensionsDest = "/" + finalExtensionsDest;
|
|
60
|
+
}
|
|
57
61
|
writer
|
|
58
62
|
.use("Plaudit\\Base\\API\\ThemeUtils")
|
|
59
|
-
.
|
|
60
|
-
.call("plaudit_webpack_extensions__resolve_base_uri", [new php_writer_1.Expr(
|
|
63
|
+
.assign("$filePathPrefix", new php_writer_1.Expr(`__DIR__.${php_writer_1.Expr.convertJsonToPHP(finalExtensionsDest)}`))
|
|
64
|
+
.call("plaudit_webpack_extensions__resolve_base_uri", [new php_writer_1.Expr("$filePathPrefix")], { assignTo: "$fileUriPrefix" })
|
|
61
65
|
.call("ThemeUtils::loadExtensionsV2", [
|
|
62
|
-
new php_writer_1.Expr(
|
|
66
|
+
new php_writer_1.Expr(`__DIR__.${php_writer_1.Expr.convertJsonToPHP(finalExtensionsDest + "mapping.config.php")}`),
|
|
67
|
+
new php_writer_1.Expr(`$filePathPrefix`), new php_writer_1.Expr("$fileUriPrefix"),
|
|
63
68
|
`${this.handlePrefix ? this.handlePrefix : node_path_1.default.basename(process.cwd())}_extension_`
|
|
64
69
|
])
|
|
65
70
|
.call("unset", [new php_writer_1.Expr("$filePathPrefix"), new php_writer_1.Expr("$fileUriPrefix")]);
|
|
@@ -266,7 +266,7 @@ class PlainEntrypointsConfigFileGeneratorPlugin {
|
|
|
266
266
|
.call("error_log", ["UNABLE TO FIGURE OUT WHAT THE RELATIVE PATH TO THE BUILT FILES DIRECTORY SHOULD BE"])
|
|
267
267
|
.append("$path = '';")
|
|
268
268
|
.endIf()
|
|
269
|
-
.
|
|
269
|
+
.call("trailingslashit", [new php_writer_1.Expr("home_url($path)")], { return: true, assignTo: "$base_uris[$dir]" });
|
|
270
270
|
}, { returnType: "string", includeExistenceCheck: true });
|
|
271
271
|
}
|
|
272
272
|
}
|
package/build/shared.d.ts
CHANGED
|
@@ -46,7 +46,7 @@ export type AdvancedOutputConfig = {
|
|
|
46
46
|
assumeGlobalizedPlauditLibraries?: boolean;
|
|
47
47
|
externalize?: Required<Configuration>['output']['library'];
|
|
48
48
|
bundleAnalyzer?: boolean;
|
|
49
|
-
locations?: UsageLocations;
|
|
49
|
+
locations?: UsageLocations | string;
|
|
50
50
|
};
|
|
51
51
|
export type VerifiedAdvancedOutputConfig = Omit<AdvancedOutputConfig, 'destination'> & Required<Pick<AdvancedOutputConfig, 'destination'>>;
|
|
52
52
|
export type PlauditWordpressWebpackConfig = {
|
|
@@ -28,6 +28,9 @@ export declare class PHPWriter {
|
|
|
28
28
|
indent(): this;
|
|
29
29
|
outdent(): this;
|
|
30
30
|
append(...lines: (string | Expr)[]): this;
|
|
31
|
+
assign(variable: string | string[], expression: unknown | Expr, opts?: {
|
|
32
|
+
return?: boolean;
|
|
33
|
+
}): this;
|
|
31
34
|
return(line: string | Expr): this;
|
|
32
35
|
static(variable: string, opts?: {
|
|
33
36
|
initializer?: unknown | Expr;
|
|
@@ -37,6 +40,7 @@ export declare class PHPWriter {
|
|
|
37
40
|
call(func: string, args: unknown[], opts?: {
|
|
38
41
|
chain?: boolean;
|
|
39
42
|
assignTo?: string;
|
|
43
|
+
return?: boolean;
|
|
40
44
|
}): this;
|
|
41
45
|
action(name: string | Expr, contents: (writer: this) => void, args?: ActionOrFilterArgs): this;
|
|
42
46
|
filter(name: string | Expr, contents: (writer: this) => void, args?: ActionOrFilterArgs): this;
|
|
@@ -44,6 +44,14 @@ class PHPWriter {
|
|
|
44
44
|
}
|
|
45
45
|
return this;
|
|
46
46
|
}
|
|
47
|
+
assign(variable, expression, opts = {}) {
|
|
48
|
+
const lineComponents = (typeof variable === 'string' ? [variable] : variable).map(v => `${v} =`);
|
|
49
|
+
if (opts.return) {
|
|
50
|
+
lineComponents.splice(0, 0, "return");
|
|
51
|
+
}
|
|
52
|
+
lineComponents.push(Expr.convertJsonToPHP(expression));
|
|
53
|
+
return this.append(lineComponents.join(" ") + ';');
|
|
54
|
+
}
|
|
47
55
|
return(line) {
|
|
48
56
|
return this.append(`return ${line};`);
|
|
49
57
|
}
|
|
@@ -64,8 +72,15 @@ class PHPWriter {
|
|
|
64
72
|
return this;
|
|
65
73
|
}
|
|
66
74
|
call(func, args, opts = {}) {
|
|
67
|
-
const
|
|
68
|
-
|
|
75
|
+
const lineComponents = [];
|
|
76
|
+
if (opts.return) {
|
|
77
|
+
lineComponents.push("return");
|
|
78
|
+
}
|
|
79
|
+
if (opts.assignTo) {
|
|
80
|
+
lineComponents.push(`${opts.assignTo} =`);
|
|
81
|
+
}
|
|
82
|
+
lineComponents.push(`${func}(${args.map(Expr.convertJsonToPHP).join(", ")})${opts.chain === true ? "" : ";"}`);
|
|
83
|
+
return this.append(lineComponents.join(" "));
|
|
69
84
|
}
|
|
70
85
|
action(name, contents, args = {}) {
|
|
71
86
|
return this.actionOrFilter('action', name, contents, args);
|
|
@@ -112,7 +127,7 @@ class PHPWriter {
|
|
|
112
127
|
}
|
|
113
128
|
function(name, parameters, body, args = {}) {
|
|
114
129
|
if (args.includeExistenceCheck) {
|
|
115
|
-
this.if(`!function_exists(
|
|
130
|
+
this.if(`!function_exists(${Expr.convertJsonToPHP(name)})`);
|
|
116
131
|
}
|
|
117
132
|
else {
|
|
118
133
|
this.openPHP();
|
|
@@ -520,7 +520,8 @@ function makePlainV1WebpackConfig(config, commonConfig, webpackConfig, dest, src
|
|
|
520
520
|
return (0, common_config_helpers_1.commonMakeWebpackConfig)(config, commonConfig, webpackConfig, srcIsDirectory, dest, src, srcRoot, entry, plugins);
|
|
521
521
|
}
|
|
522
522
|
function makePlainV2WebpackConfig(config, commonConfig, webpackConfig, dest, src, srcRoot, plugins, srcIsDirectory) {
|
|
523
|
-
|
|
523
|
+
const locations = typeof dest.locations === 'string' ? { handle: dest.locations } : dest.locations ?? {};
|
|
524
|
+
plugins.push(new PlainEntrypointsConfigFileGeneratorPlugin_1.PlainEntrypointsConfigFileGeneratorPlugin(process.cwd(), config.outputDir, locations, config.plainEntrypointsHandlePrefix, config.useUnifiedLoader));
|
|
524
525
|
const baseDest = stripExtension(dest.destination);
|
|
525
526
|
const entry = srcIsDirectory // This being true implies that srcRoot is not an array
|
|
526
527
|
? (0, common_config_helpers_1.resolveEntryFromDirectory)(commonConfig, srcRoot, dest)
|