@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.
@@ -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
- .call("trailingslashit", [new php_writer_1.Expr(`__DIR__.${php_writer_1.Expr.convertJsonToPHP("/" + this.extensionsDest)}`)], { assignTo: "$filePathPrefix" })
60
- .call("plaudit_webpack_extensions__resolve_base_uri", [new php_writer_1.Expr(`__DIR__.'/${this.extensionsDest}'`)], { assignTo: "$fileUriPrefix" })
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(`$filePathPrefix.'mapping.config.php'`), new php_writer_1.Expr("$filePathPrefix"), new php_writer_1.Expr("$fileUriPrefix"),
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
- .return("$base_uris[$dir] = trailingslashit(home_url($path))");
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 line = `${func}(${args.map(Expr.convertJsonToPHP).join(", ")})${opts.chain === true ? "" : ";"}`;
68
- return this.append(opts.assignTo ? `${opts.assignTo} = ${line}` : line);
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('${name}')`);
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
- plugins.push(new PlainEntrypointsConfigFileGeneratorPlugin_1.PlainEntrypointsConfigFileGeneratorPlugin(process.cwd(), config.outputDir, dest.locations ?? {}, config.plainEntrypointsHandlePrefix, config.useUnifiedLoader));
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)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plaudit/webpack-extensions",
3
- "version": "2.57.2",
3
+ "version": "2.58.0",
4
4
  "license": "UNLICENSED",
5
5
  "files": [
6
6
  "/build"