@plaudit/webpack-extensions 4.0.0-rc.1 → 4.1.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.
Files changed (246) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/dist/api/asset-information-emission.d.ts +74 -0
  3. package/dist/api/asset-information-emission.d.ts.map +1 -0
  4. package/dist/api/asset-information-emission.js +398 -0
  5. package/dist/api/asset-information-emission.js.map +1 -0
  6. package/dist/api/configuration.d.ts +102 -0
  7. package/dist/api/configuration.d.ts.map +1 -0
  8. package/dist/api/configuration.js +83 -0
  9. package/dist/api/configuration.js.map +1 -0
  10. package/dist/api/coordinatable-emitter.d.ts +27 -0
  11. package/dist/api/coordinatable-emitter.d.ts.map +1 -0
  12. package/dist/api/coordinatable-emitter.js +20 -0
  13. package/dist/api/coordinatable-emitter.js.map +1 -0
  14. package/dist/api/entries/dependencies.d.ts +69 -0
  15. package/dist/api/entries/dependencies.d.ts.map +1 -0
  16. package/dist/api/entries/dependencies.js +61 -0
  17. package/dist/api/entries/dependencies.js.map +1 -0
  18. package/dist/api/entries/flag-logic.d.ts +37 -0
  19. package/dist/api/entries/flag-logic.d.ts.map +1 -0
  20. package/dist/api/entries/flag-logic.js +110 -0
  21. package/dist/api/entries/flag-logic.js.map +1 -0
  22. package/dist/api/entries/identifiers.d.ts +84 -0
  23. package/dist/api/entries/identifiers.d.ts.map +1 -0
  24. package/dist/api/entries/identifiers.js +590 -0
  25. package/dist/api/entries/identifiers.js.map +1 -0
  26. package/dist/api/entries/index.d.ts +6 -0
  27. package/dist/api/entries/index.d.ts.map +1 -0
  28. package/dist/api/entries/index.js +22 -0
  29. package/dist/api/entries/index.js.map +1 -0
  30. package/dist/api/entries/locations.d.ts +135 -0
  31. package/dist/api/entries/locations.d.ts.map +1 -0
  32. package/dist/api/entries/locations.js +174 -0
  33. package/dist/api/entries/locations.js.map +1 -0
  34. package/dist/api/entries/manager.d.ts +12 -0
  35. package/dist/api/entries/manager.d.ts.map +1 -0
  36. package/dist/api/entries/manager.js +35 -0
  37. package/dist/api/entries/manager.js.map +1 -0
  38. package/dist/api/handle-derivation.d.ts +32 -0
  39. package/dist/api/handle-derivation.d.ts.map +1 -0
  40. package/dist/api/handle-derivation.js +77 -0
  41. package/dist/api/handle-derivation.js.map +1 -0
  42. package/dist/api/index.d.ts +7 -0
  43. package/dist/api/index.d.ts.map +1 -0
  44. package/dist/api/index.js +23 -0
  45. package/dist/api/index.js.map +1 -0
  46. package/dist/api/shared-types.d.ts +86 -0
  47. package/dist/api/shared-types.d.ts.map +1 -0
  48. package/dist/api/shared-types.js +3 -0
  49. package/dist/api/shared-types.js.map +1 -0
  50. package/dist/internal-utils/auto-registering-plugins-loader.d.ts +3 -0
  51. package/dist/internal-utils/auto-registering-plugins-loader.d.ts.map +1 -0
  52. package/dist/internal-utils/auto-registering-plugins-loader.js +42 -0
  53. package/dist/internal-utils/auto-registering-plugins-loader.js.map +1 -0
  54. package/dist/internal-utils/common-config-helpers.d.ts +14 -0
  55. package/dist/internal-utils/common-config-helpers.d.ts.map +1 -0
  56. package/dist/internal-utils/common-config-helpers.js +140 -0
  57. package/dist/internal-utils/common-config-helpers.js.map +1 -0
  58. package/dist/internal-utils/entrypoint-resolution-logic.d.ts +14 -0
  59. package/dist/internal-utils/entrypoint-resolution-logic.d.ts.map +1 -0
  60. package/dist/internal-utils/entrypoint-resolution-logic.js +223 -0
  61. package/dist/internal-utils/entrypoint-resolution-logic.js.map +1 -0
  62. package/dist/internal-utils/internal-pseudo-plugin.d.ts +6 -0
  63. package/dist/internal-utils/internal-pseudo-plugin.d.ts.map +1 -0
  64. package/dist/internal-utils/internal-pseudo-plugin.js +46 -0
  65. package/dist/internal-utils/internal-pseudo-plugin.js.map +1 -0
  66. package/dist/mocks/blocks.d.ts +32 -0
  67. package/dist/mocks/blocks.d.ts.map +1 -0
  68. package/dist/mocks/blocks.js +3 -0
  69. package/dist/mocks/blocks.js.map +1 -0
  70. package/dist/mocks/index.d.ts +2 -0
  71. package/dist/mocks/index.d.ts.map +1 -0
  72. package/dist/mocks/index.js +18 -0
  73. package/dist/mocks/index.js.map +1 -0
  74. package/dist/plugins/AdditionalDependencyInjectorPlugin.d.ts +5 -0
  75. package/dist/plugins/AdditionalDependencyInjectorPlugin.d.ts.map +1 -0
  76. package/dist/plugins/AdditionalDependencyInjectorPlugin.js +59 -0
  77. package/dist/plugins/AdditionalDependencyInjectorPlugin.js.map +1 -0
  78. package/dist/plugins/MiniCSSExtractPluginErrorCleaner.d.ts +5 -0
  79. package/dist/plugins/MiniCSSExtractPluginErrorCleaner.d.ts.map +1 -0
  80. package/dist/plugins/MiniCSSExtractPluginErrorCleaner.js +16 -0
  81. package/dist/plugins/MiniCSSExtractPluginErrorCleaner.js.map +1 -0
  82. package/dist/plugins/PackageConfigSanityChecker.d.ts +5 -0
  83. package/dist/plugins/PackageConfigSanityChecker.d.ts.map +1 -0
  84. package/dist/plugins/PackageConfigSanityChecker.js +31 -0
  85. package/dist/plugins/PackageConfigSanityChecker.js.map +1 -0
  86. package/dist/plugins/RootCoordinatorPluginImpl.d.ts +56 -0
  87. package/dist/plugins/RootCoordinatorPluginImpl.d.ts.map +1 -0
  88. package/dist/plugins/RootCoordinatorPluginImpl.js +767 -0
  89. package/dist/plugins/RootCoordinatorPluginImpl.js.map +1 -0
  90. package/dist/plugins/VariablesJSMonitorPlugin.d.ts +8 -0
  91. package/dist/plugins/VariablesJSMonitorPlugin.d.ts.map +1 -0
  92. package/dist/plugins/VariablesJSMonitorPlugin.js +21 -0
  93. package/dist/plugins/VariablesJSMonitorPlugin.js.map +1 -0
  94. package/dist/plugins/blocks/BlocksDirectoryLoaderEmitterPlugin.d.ts +25 -0
  95. package/dist/plugins/blocks/BlocksDirectoryLoaderEmitterPlugin.d.ts.map +1 -0
  96. package/dist/plugins/blocks/BlocksDirectoryLoaderEmitterPlugin.js +458 -0
  97. package/dist/plugins/blocks/BlocksDirectoryLoaderEmitterPlugin.js.map +1 -0
  98. package/dist/plugins/blocks/BlocksDirectoryProcessingPlugin.d.ts +29 -0
  99. package/dist/plugins/blocks/BlocksDirectoryProcessingPlugin.d.ts.map +1 -0
  100. package/dist/plugins/blocks/BlocksDirectoryProcessingPlugin.js +290 -0
  101. package/dist/plugins/blocks/BlocksDirectoryProcessingPlugin.js.map +1 -0
  102. package/dist/plugins/blocks/register.d.ts +6 -0
  103. package/dist/plugins/blocks/register.d.ts.map +1 -0
  104. package/dist/plugins/blocks/register.js +14 -0
  105. package/dist/plugins/blocks/register.js.map +1 -0
  106. package/dist/plugins/blocks/registerEmitter.d.ts +4 -0
  107. package/dist/plugins/blocks/registerEmitter.d.ts.map +1 -0
  108. package/dist/plugins/blocks/registerEmitter.js +13 -0
  109. package/dist/plugins/blocks/registerEmitter.js.map +1 -0
  110. package/dist/plugins/blocks/registerProcessor.d.ts +4 -0
  111. package/dist/plugins/blocks/registerProcessor.d.ts.map +1 -0
  112. package/dist/plugins/blocks/registerProcessor.js +46 -0
  113. package/dist/plugins/blocks/registerProcessor.js.map +1 -0
  114. package/dist/plugins/dependency-extraction-webpack-plugin-config-builder.d.ts +5 -0
  115. package/dist/plugins/dependency-extraction-webpack-plugin-config-builder.d.ts.map +1 -0
  116. package/dist/plugins/dependency-extraction-webpack-plugin-config-builder.js +148 -0
  117. package/dist/plugins/dependency-extraction-webpack-plugin-config-builder.js.map +1 -0
  118. package/dist/plugins/extensions/ExtensionsDirectoryLoaderEmitterPlugin.d.ts +14 -0
  119. package/dist/plugins/extensions/ExtensionsDirectoryLoaderEmitterPlugin.d.ts.map +1 -0
  120. package/dist/plugins/extensions/ExtensionsDirectoryLoaderEmitterPlugin.js +191 -0
  121. package/dist/plugins/extensions/ExtensionsDirectoryLoaderEmitterPlugin.js.map +1 -0
  122. package/dist/plugins/extensions/ExtensionsDirectoryLoaderEmitterPluginV1.d.ts +14 -0
  123. package/dist/plugins/extensions/ExtensionsDirectoryLoaderEmitterPluginV1.d.ts.map +1 -0
  124. package/dist/plugins/extensions/ExtensionsDirectoryLoaderEmitterPluginV1.js +102 -0
  125. package/dist/plugins/extensions/ExtensionsDirectoryLoaderEmitterPluginV1.js.map +1 -0
  126. package/dist/plugins/extensions/ExtensionsDirectoryProcessingPlugin.d.ts +25 -0
  127. package/dist/plugins/extensions/ExtensionsDirectoryProcessingPlugin.d.ts.map +1 -0
  128. package/dist/plugins/extensions/ExtensionsDirectoryProcessingPlugin.js +229 -0
  129. package/dist/plugins/extensions/ExtensionsDirectoryProcessingPlugin.js.map +1 -0
  130. package/dist/plugins/extensions/register.d.ts +6 -0
  131. package/dist/plugins/extensions/register.d.ts.map +1 -0
  132. package/dist/plugins/extensions/register.js +14 -0
  133. package/dist/plugins/extensions/register.js.map +1 -0
  134. package/dist/plugins/extensions/registerEmitter.d.ts +4 -0
  135. package/dist/plugins/extensions/registerEmitter.d.ts.map +1 -0
  136. package/dist/plugins/extensions/registerEmitter.js +18 -0
  137. package/dist/plugins/extensions/registerEmitter.js.map +1 -0
  138. package/dist/plugins/extensions/registerProcessor.d.ts +4 -0
  139. package/dist/plugins/extensions/registerProcessor.d.ts.map +1 -0
  140. package/dist/plugins/extensions/registerProcessor.js +42 -0
  141. package/dist/plugins/extensions/registerProcessor.js.map +1 -0
  142. package/dist/plugins/index.d.ts +11 -0
  143. package/dist/plugins/index.d.ts.map +1 -0
  144. package/dist/plugins/index.js +27 -0
  145. package/dist/plugins/index.js.map +1 -0
  146. package/dist/plugins/plain/PlainEntrypointProcessingPlugin.d.ts +18 -0
  147. package/dist/plugins/plain/PlainEntrypointProcessingPlugin.d.ts.map +1 -0
  148. package/dist/plugins/plain/PlainEntrypointProcessingPlugin.js +203 -0
  149. package/dist/plugins/plain/PlainEntrypointProcessingPlugin.js.map +1 -0
  150. package/dist/plugins/plain/PlainEntrypointsConfigEmitterPlugin.d.ts +13 -0
  151. package/dist/plugins/plain/PlainEntrypointsConfigEmitterPlugin.d.ts.map +1 -0
  152. package/dist/plugins/plain/PlainEntrypointsConfigEmitterPlugin.js +51 -0
  153. package/dist/plugins/plain/PlainEntrypointsConfigEmitterPlugin.js.map +1 -0
  154. package/dist/plugins/plain/register.d.ts +6 -0
  155. package/dist/plugins/plain/register.d.ts.map +1 -0
  156. package/dist/plugins/plain/register.js +14 -0
  157. package/dist/plugins/plain/register.js.map +1 -0
  158. package/dist/plugins/plain/registerEmitter.d.ts +4 -0
  159. package/dist/plugins/plain/registerEmitter.d.ts.map +1 -0
  160. package/dist/plugins/plain/registerEmitter.js +21 -0
  161. package/dist/plugins/plain/registerEmitter.js.map +1 -0
  162. package/dist/plugins/plain/registerProcessor.d.ts +4 -0
  163. package/dist/plugins/plain/registerProcessor.d.ts.map +1 -0
  164. package/dist/plugins/plain/registerProcessor.js +34 -0
  165. package/dist/plugins/plain/registerProcessor.js.map +1 -0
  166. package/dist/plugins/register.d.ts +3 -0
  167. package/dist/plugins/register.d.ts.map +1 -0
  168. package/dist/plugins/register.js +17 -0
  169. package/dist/plugins/register.js.map +1 -0
  170. package/dist/plugins/special-assets/SpecialAssetsCollectorPlugin.d.ts +20 -0
  171. package/dist/plugins/special-assets/SpecialAssetsCollectorPlugin.d.ts.map +1 -0
  172. package/dist/plugins/special-assets/SpecialAssetsCollectorPlugin.js +56 -0
  173. package/dist/plugins/special-assets/SpecialAssetsCollectorPlugin.js.map +1 -0
  174. package/dist/plugins/special-assets/SpecialAssetsLoaderEmitterPlugin.d.ts +13 -0
  175. package/dist/plugins/special-assets/SpecialAssetsLoaderEmitterPlugin.d.ts.map +1 -0
  176. package/dist/plugins/special-assets/SpecialAssetsLoaderEmitterPlugin.js +105 -0
  177. package/dist/plugins/special-assets/SpecialAssetsLoaderEmitterPlugin.js.map +1 -0
  178. package/dist/plugins/special-assets/register.d.ts +6 -0
  179. package/dist/plugins/special-assets/register.d.ts.map +1 -0
  180. package/dist/plugins/special-assets/register.js +14 -0
  181. package/dist/plugins/special-assets/register.js.map +1 -0
  182. package/dist/plugins/special-assets/registerEmitter.d.ts +4 -0
  183. package/dist/plugins/special-assets/registerEmitter.d.ts.map +1 -0
  184. package/dist/plugins/special-assets/registerEmitter.js +15 -0
  185. package/dist/plugins/special-assets/registerEmitter.js.map +1 -0
  186. package/dist/plugins/special-assets/registerProcessor.d.ts +4 -0
  187. package/dist/plugins/special-assets/registerProcessor.d.ts.map +1 -0
  188. package/dist/plugins/special-assets/registerProcessor.js +15 -0
  189. package/dist/plugins/special-assets/registerProcessor.js.map +1 -0
  190. package/dist/plugins/unified-loader/UnifiedLoaderGenerator.d.ts +22 -0
  191. package/dist/plugins/unified-loader/UnifiedLoaderGenerator.d.ts.map +1 -0
  192. package/dist/plugins/unified-loader/UnifiedLoaderGenerator.js +95 -0
  193. package/dist/plugins/unified-loader/UnifiedLoaderGenerator.js.map +1 -0
  194. package/dist/plugins/wpml-config/WPMLConfigBuilder.d.ts +24 -0
  195. package/dist/plugins/wpml-config/WPMLConfigBuilder.d.ts.map +1 -0
  196. package/dist/plugins/wpml-config/WPMLConfigBuilder.js +542 -0
  197. package/dist/plugins/wpml-config/WPMLConfigBuilder.js.map +1 -0
  198. package/dist/plugins/wpml-config/register.d.ts +6 -0
  199. package/dist/plugins/wpml-config/register.d.ts.map +1 -0
  200. package/dist/plugins/wpml-config/register.js +25 -0
  201. package/dist/plugins/wpml-config/register.js.map +1 -0
  202. package/dist/shared.d.ts +38 -0
  203. package/dist/shared.d.ts.map +1 -0
  204. package/dist/shared.js +163 -0
  205. package/dist/shared.js.map +1 -0
  206. package/dist/utils/error-helpers.d.ts +7 -0
  207. package/dist/utils/error-helpers.d.ts.map +1 -0
  208. package/dist/utils/error-helpers.js +73 -0
  209. package/dist/utils/error-helpers.js.map +1 -0
  210. package/dist/utils/index.d.ts +6 -0
  211. package/dist/utils/index.d.ts.map +1 -0
  212. package/dist/utils/index.js +22 -0
  213. package/dist/utils/index.js.map +1 -0
  214. package/dist/utils/misc.d.ts +4 -0
  215. package/dist/utils/misc.d.ts.map +1 -0
  216. package/dist/utils/misc.js +18 -0
  217. package/dist/utils/misc.js.map +1 -0
  218. package/dist/utils/path-helpers.d.ts +16 -0
  219. package/dist/utils/path-helpers.d.ts.map +1 -0
  220. package/dist/utils/path-helpers.js +115 -0
  221. package/dist/utils/path-helpers.js.map +1 -0
  222. package/dist/utils/pseudo-semaphore.d.ts +15 -0
  223. package/dist/utils/pseudo-semaphore.d.ts.map +1 -0
  224. package/dist/utils/pseudo-semaphore.js +77 -0
  225. package/dist/utils/pseudo-semaphore.js.map +1 -0
  226. package/dist/utils/type-helpers.d.ts +27 -0
  227. package/dist/utils/type-helpers.d.ts.map +1 -0
  228. package/dist/utils/type-helpers.js +33 -0
  229. package/dist/utils/type-helpers.js.map +1 -0
  230. package/dist/utils/writer-utils.d.ts +8 -0
  231. package/dist/utils/writer-utils.d.ts.map +1 -0
  232. package/dist/utils/writer-utils.js +35 -0
  233. package/dist/utils/writer-utils.js.map +1 -0
  234. package/dist/wordpress-ports/dependency-extraction-webpack-plugin/index.d.ts +73 -0
  235. package/dist/wordpress-ports/dependency-extraction-webpack-plugin/index.d.ts.map +1 -0
  236. package/dist/wordpress-ports/dependency-extraction-webpack-plugin/index.js +516 -0
  237. package/dist/wordpress-ports/dependency-extraction-webpack-plugin/index.js.map +1 -0
  238. package/dist/wordpress-ports/dependency-extraction-webpack-plugin/util.d.ts +57 -0
  239. package/dist/wordpress-ports/dependency-extraction-webpack-plugin/util.d.ts.map +1 -0
  240. package/dist/wordpress-ports/dependency-extraction-webpack-plugin/util.js +156 -0
  241. package/dist/wordpress-ports/dependency-extraction-webpack-plugin/util.js.map +1 -0
  242. package/dist/wordpress-scripts-wrapper.d.ts +5 -0
  243. package/dist/wordpress-scripts-wrapper.d.ts.map +1 -0
  244. package/dist/wordpress-scripts-wrapper.js +444 -0
  245. package/dist/wordpress-scripts-wrapper.js.map +1 -0
  246. package/package.json +7 -3
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeDependencyExtractionPlugin = makeDependencyExtractionPlugin;
4
+ const dependency_extraction_webpack_plugin_1 = require("../wordpress-ports/dependency-extraction-webpack-plugin");
5
+ const util_1 = require("../wordpress-ports/dependency-extraction-webpack-plugin/util");
6
+ function makeDependencyExtractionPlugin(externals, assumeGlobalizedPlauditLibraries, externalizing) {
7
+ return new dependency_extraction_webpack_plugin_1.EnhancedDependencyExtractionWebpackPlugin(makeDependencyExtractionPluginProps(externals, assumeGlobalizedPlauditLibraries, externalizing));
8
+ }
9
+ function makeDependencyExtractionPluginProps(externals, assumeGlobalizedPlauditLibraries, externalizing) {
10
+ if (!externals) {
11
+ if (assumeGlobalizedPlauditLibraries) {
12
+ return {
13
+ requestToExternal: plauditRequestToExternal(externalizing),
14
+ requestToHandle: plauditRequestToHandle
15
+ };
16
+ }
17
+ return {};
18
+ }
19
+ const exactExternals = {};
20
+ const suffixExternals = [];
21
+ for (const [key, value] of Object.entries(externals)) {
22
+ const normalizedValue = typeof value !== 'string' && value.import === undefined ? { ...value, import: key } : value;
23
+ if (key.startsWith("*/")) {
24
+ suffixExternals.push([key.substring(1), typeof normalizedValue === 'string' ? { import: normalizedValue, handle: key.substring(2) } : normalizedValue]);
25
+ }
26
+ else {
27
+ exactExternals[key] = normalizedValue;
28
+ }
29
+ }
30
+ const resolvePossibleExternal = (request) => {
31
+ if (request in exactExternals) {
32
+ return handleExternalizingEqualsPossibleExternal(exactExternals[request], externalizing);
33
+ }
34
+ for (const [key, value] of suffixExternals) {
35
+ if (request.endsWith(key)) {
36
+ return handleExternalizingEqualsPossibleExternal(value, externalizing);
37
+ }
38
+ }
39
+ return undefined;
40
+ };
41
+ const baselineRequestToExternal = request => {
42
+ const possibleExternal = resolvePossibleExternal(request);
43
+ if (typeof possibleExternal === 'string') {
44
+ return possibleExternal;
45
+ }
46
+ else if (possibleExternal !== undefined) {
47
+ return possibleExternal['import'];
48
+ }
49
+ return undefined;
50
+ };
51
+ const baselineRequestToHandle = request => {
52
+ const possibleExternal = resolvePossibleExternal(request);
53
+ if (possibleExternal !== undefined && typeof possibleExternal !== 'string') {
54
+ return possibleExternal.handle;
55
+ }
56
+ return undefined;
57
+ };
58
+ if (assumeGlobalizedPlauditLibraries) {
59
+ return {
60
+ requestToExternal: curryRequestHandlers(baselineRequestToExternal, plauditRequestToExternal(externalizing)),
61
+ requestToHandle: curryRequestHandlers(baselineRequestToHandle, plauditRequestToHandle),
62
+ };
63
+ }
64
+ else {
65
+ return {
66
+ requestToExternal: baselineRequestToExternal,
67
+ requestToHandle: baselineRequestToHandle,
68
+ };
69
+ }
70
+ }
71
+ function firstLayersEqual(first, second) {
72
+ if (first.length !== second.length) {
73
+ return false;
74
+ }
75
+ for (let i = 0; i < first.length; i++) {
76
+ if (first[i] !== second[i]) {
77
+ return false;
78
+ }
79
+ }
80
+ return true;
81
+ }
82
+ const PLAUDIT_NAMESPACE = '@plaudit/';
83
+ const EXTERNALIZABLE_PLAUDIT_LIBRARIES = {
84
+ ...Object.fromEntries(['@plaudit/frontend-apis', '@plaudit/library-extensions', '@plaudit/block-supports', '@plaudit/gutenberg-api-extensions']
85
+ .map(req => {
86
+ return [req, {
87
+ import: ['plaudit', (0, util_1.camelCaseDash)(req.substring(PLAUDIT_NAMESPACE.length))],
88
+ handle: `plaudit-${req.substring(PLAUDIT_NAMESPACE.length)}`
89
+ }];
90
+ })),
91
+ "@plaudit/wp-consent-api": { handle: "wp-consent-api", import: ['plaudit'] },
92
+ "@plaudit/analytics-integrations-api": { handle: "plaudit/analytics-integrations/api", import: ['plaudit', 'analyticsIntegrations', 'api'] },
93
+ "google.maps": { handle: "plaudit-base/google-maps-api", import: 'google.maps' } // This import is completely fake. As a result, it must be a single string in order to prevent a NPE
94
+ };
95
+ function plauditRequestToExternal(ext) {
96
+ return (request) => {
97
+ const req = EXTERNALIZABLE_PLAUDIT_LIBRARIES[normalizeRequest(request)];
98
+ return req ? handleExternalizingEqualsPossibleExternal(req, ext)?.import : undefined;
99
+ };
100
+ }
101
+ function plauditRequestToHandle(request) {
102
+ return EXTERNALIZABLE_PLAUDIT_LIBRARIES[normalizeRequest(request)]?.handle;
103
+ }
104
+ function normalizeRequest(request) {
105
+ return request.startsWith("@plaudit/gutenberg-api-extensions/") ? "@plaudit/gutenberg-api-extensions" : request;
106
+ }
107
+ function curryRequestHandlers(primary, secondary) {
108
+ return (...args) => primary(...args) ?? secondary(...args);
109
+ }
110
+ function handleExternalizingEqualsPossibleExternal(possibleExternal, ext) {
111
+ if (!ext || !possibleExternal) {
112
+ return possibleExternal;
113
+ }
114
+ const possibleImport = typeof possibleExternal === 'string' ? possibleExternal : possibleExternal['import'];
115
+ if (!possibleImport) {
116
+ return possibleExternal;
117
+ }
118
+ if (typeof ext === 'string') {
119
+ if (typeof possibleImport === 'string') {
120
+ return ext !== possibleImport ? possibleExternal : undefined;
121
+ }
122
+ else {
123
+ return possibleImport.length !== 1 || ext !== possibleImport[0] ? possibleExternal : undefined;
124
+ }
125
+ }
126
+ else if (Array.isArray(ext)) {
127
+ if (typeof possibleImport === 'string') {
128
+ return ext.length !== 1 || ext[0] !== possibleImport ? possibleExternal : undefined;
129
+ }
130
+ else {
131
+ return !firstLayersEqual(ext, possibleImport) ? possibleExternal : undefined;
132
+ }
133
+ }
134
+ else if ('name' in ext) {
135
+ return handleExternalizingEqualsPossibleExternal(possibleExternal, ext.name);
136
+ }
137
+ else {
138
+ for (const key of ['amd', 'commonjs', 'root']) {
139
+ // The recursion returns the external when it should be kept and undefined when it matched, so
140
+ // only an undefined result means this umd name is the thing being built and must not externalize.
141
+ if (key in ext && handleExternalizingEqualsPossibleExternal(possibleExternal, ext[key]) === undefined) {
142
+ return undefined;
143
+ }
144
+ }
145
+ }
146
+ return possibleExternal;
147
+ }
148
+ //# sourceMappingURL=dependency-extraction-webpack-plugin-config-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-extraction-webpack-plugin-config-builder.js","sourceRoot":"","sources":["../../src/plugins/dependency-extraction-webpack-plugin-config-builder.ts"],"names":[],"mappings":";;;AAGA,kHAAyK;AACzK,uFAA2F;AAE3F,wCACC,SAA8B,EAAE,gCAAyC,EAAE,aAA2D;IAEtI,OAAO,IAAI,gFAAyC,CAAC,mCAAmC,CAAC,SAAS,EAAE,gCAAgC,EAAE,aAAa,CAAC,CAAC,CAAC;AACvJ,CAAC;AACD,SAAS,mCAAmC,CAC3C,SAA8B,EAAE,gCAAyC,EAAE,aAA2D;IAEtI,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,IAAI,gCAAgC,EAAE,CAAC;YACtC,OAAO;gBACN,iBAAiB,EAAE,wBAAwB,CAAC,aAAa,CAAC;gBAC1D,eAAe,EAAE,sBAAsB;aACvC,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAC;IACX,CAAC;IACD,MAAM,cAAc,GAAc,EAAE,CAAC;IACrC,MAAM,eAAe,GAA4C,EAAE,CAAC;IACpE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACtD,MAAM,eAAe,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,EAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAClH,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;QACvJ,CAAC;aAAM,CAAC;YACP,cAAc,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC;QACvC,CAAC;IACF,CAAC;IAED,MAAM,uBAAuB,GAAG,CAAC,OAAe,EAAE,EAAE;QACnD,IAAI,OAAO,IAAI,cAAc,EAAE,CAAC;YAC/B,OAAO,yCAAyC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC;QAC1F,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,eAAe,EAAE,CAAC;YAC5C,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,yCAAyC,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YACxE,CAAC;QACF,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC,CAAC;IACF,MAAM,yBAAyB,GAA0E,OAAO,CAAC,EAAE;QAClH,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YAC1C,OAAO,gBAAgB,CAAC;QACzB,CAAC;aAAM,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YAC3C,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC,CAAC;IACF,MAAM,uBAAuB,GAAwE,OAAO,CAAC,EAAE;QAC9G,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,gBAAgB,KAAK,SAAS,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YAC5E,OAAO,gBAAgB,CAAC,MAAM,CAAC;QAChC,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC,CAAC;IAEF,IAAI,gCAAgC,EAAE,CAAC;QACtC,OAAO;YACN,iBAAiB,EAAE,oBAAoB,CAAC,yBAAyB,EAAE,wBAAwB,CAAC,aAAa,CAAC,CAAC;YAC3G,eAAe,EAAE,oBAAoB,CAAC,uBAAuB,EAAE,sBAAsB,CAAC;SACtF,CAAC;IACH,CAAC;SAAM,CAAC;QACP,OAAO;YACN,iBAAiB,EAAE,yBAAyB;YAC5C,eAAe,EAAE,uBAAuB;SACxC,CAAC;IACH,CAAC;AACF,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAgB,EAAE,MAAiB;IAC5D,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACd,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,iBAAiB,GAAG,WAAW,CAAC;AACtC,MAAM,gCAAgC,GAAqD;IAC1F,GAAG,MAAM,CAAC,WAAW,CACpB,CAAC,wBAAwB,EAAE,6BAA6B,EAAE,yBAAyB,EAAE,mCAAmC,CAAC;SACvH,GAAG,CAA8C,GAAG,CAAC,EAAE;QACvD,OAAO,CAAC,GAAG,EAAE;gBACZ,MAAM,EAAE,CAAC,SAAS,EAAE,IAAA,oBAAa,EAAC,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC3E,MAAM,EAAE,WAAW,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE;aAC5D,CAAC,CAAA;IACH,CAAC,CAAC,CACH;IACD,yBAAyB,EAAE,EAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAC;IAC1E,qCAAqC,EAAE,EAAC,MAAM,EAAE,oCAAoC,EAAE,MAAM,EAAE,CAAC,SAAS,EAAE,uBAAuB,EAAE,KAAK,CAAC,EAAC;IAC1I,aAAa,EAAE,EAAC,MAAM,EAAE,8BAA8B,EAAE,MAAM,EAAE,aAAa,EAAC,CAAC,oGAAoG;CACnL,CAAC;AACF,SAAS,wBAAwB,CAAC,GAAiD;IAClF,OAAO,CAAC,OAAe,EAAE,EAAE;QAC1B,MAAM,GAAG,GAAG,gCAAgC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;QACxE,OAAO,GAAG,CAAC,CAAC,CAAC,yCAAyC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACtF,CAAC,CAAC;AACH,CAAC;AACD,SAAS,sBAAsB,CAAC,OAAe;IAC9C,OAAO,gCAAgC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC;AAC5E,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe;IACxC,OAAO,OAAO,CAAC,UAAU,CAAC,oCAAoC,CAAC,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,OAAO,CAAC;AACjH,CAAC;AAED,SAAS,oBAAoB,CAAyB,OAA0B,EAAE,SAAyB;IAC1G,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,yCAAyC,CACjD,gBAA6B,EAAE,GAAiD;IAEhF,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC/B,OAAO,gBAAgB,CAAC;IACzB,CAAC;IACD,MAAM,cAAc,GAAG,OAAO,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC5G,IAAI,CAAC,cAAc,EAAE,CAAC;QACrB,OAAO,gBAAgB,CAAC;IACzB,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC7B,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;YACxC,OAAO,GAAG,KAAK,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9D,CAAC;aAAM,CAAC;YACP,OAAO,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;QAChG,CAAC;IACF,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;YACxC,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;QACrF,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9E,CAAC;IACF,CAAC;SAAM,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;QAC1B,OAAO,yCAAyC,CAAC,gBAAgB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9E,CAAC;SAAM,CAAC;QAEP,KAAK,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAU,EAAE,CAAC;YACxD,8FAA8F;YAC9F,kGAAkG;YAClG,IAAI,GAAG,IAAI,GAAG,IAAI,yCAAyC,CAAC,gBAAgB,EAAG,GAAmB,CAAC,GAAG,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBACxH,OAAO,SAAS,CAAC;YAClB,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,gBAAgB,CAAC;AACzB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { type Compiler } from "webpack";
2
+ import { CoordinatableEmitter, type CoordinatedEmissionTargetBuilder, type RootCoordinatorPlugin, type VerifiedAdvancedDestinationConfig, type VerifiedPlauditWordpressWebpackConfig } from "../../api";
3
+ export declare class ExtensionsDirectoryLoaderEmitterPlugin extends CoordinatableEmitter {
4
+ protected readonly coordinator: RootCoordinatorPlugin;
5
+ private readonly config;
6
+ private readonly dest;
7
+ constructor(coordinator: RootCoordinatorPlugin, config: VerifiedPlauditWordpressWebpackConfig, dest: VerifiedAdvancedDestinationConfig);
8
+ readonly provides: readonly ["unified-loader"];
9
+ get requires(): readonly [`extensions-directory:${string}`];
10
+ get defaultCompilationName(): string;
11
+ apply(compiler: Compiler): void;
12
+ getCoordinatedEmissionTargets(): CoordinatedEmissionTargetBuilder[];
13
+ }
14
+ //# sourceMappingURL=ExtensionsDirectoryLoaderEmitterPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtensionsDirectoryLoaderEmitterPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/extensions/ExtensionsDirectoryLoaderEmitterPlugin.ts"],"names":[],"mappings":"AAKA,OAAO,EAAc,KAAK,QAAQ,EAAC,MAAM,SAAS,CAAC;AAEnD,OAAO,EAC2C,oBAAoB,EAAE,KAAK,gCAAgC,EACvD,KAAK,qBAAqB,EAAE,KAAK,iCAAiC,EACvH,KAAK,qCAAqC,EAC1C,MAAM,WAAW,CAAC;AAMnB,qBAAa,sCAAuC,SAAQ,oBAAoB;IAE9E,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,qBAAqB;IACrD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHtB,YACoB,WAAW,EAAE,qBAAqB,EACpC,MAAM,EAAE,qCAAqC,EAC7C,IAAI,EAAE,iCAAiC,EAGxD;IAED,SAAgB,QAAQ,YAAI,gBAAgB,EAAW;IAEvD,IAAW,QAAQ,gDAElB;IACD,IAAW,sBAAsB,WAEhC;IAED,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CA4K9B;IAED,6BAA6B,IAAI,gCAAgC,EAAE,CAElE;CACD"}
@@ -0,0 +1,191 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExtensionsDirectoryLoaderEmitterPlugin = void 0;
4
+ const node_path_1 = require("node:path");
5
+ const php_writer_1 = require("@plaudit/php-writer");
6
+ const expressions_1 = require("@plaudit/php-writer/expressions");
7
+ const webpack_1 = require("webpack");
8
+ const api_1 = require("../../api");
9
+ const utils_1 = require("../../utils");
10
+ const UnifiedLoaderGenerator_1 = require("../unified-loader/UnifiedLoaderGenerator");
11
+ class ExtensionsDirectoryLoaderEmitterPlugin extends api_1.CoordinatableEmitter {
12
+ coordinator;
13
+ config;
14
+ dest;
15
+ constructor(coordinator, config, dest) {
16
+ super();
17
+ this.coordinator = coordinator;
18
+ this.config = config;
19
+ this.dest = dest;
20
+ }
21
+ provides = ["unified-loader"];
22
+ get requires() {
23
+ return [`extensions-directory:${this.dest.destination}`];
24
+ }
25
+ get defaultCompilationName() {
26
+ return `extensionsdir-loader:${this.dest.destination}`;
27
+ }
28
+ apply(compiler) {
29
+ super.apply(compiler);
30
+ const targetDestination = this.dest.destination;
31
+ compiler.hooks.thisCompilation.tap(this.constructor.name, compilation => {
32
+ compilation.hooks.processAssets.tapPromise({ name: this.constructor.name, stage: webpack_1.Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL }, async () => {
33
+ /**
34
+ * setupFiles from here on out is a mapping from blockSlug -> list of setup file destinations
35
+ */
36
+ const emittedExtensions = this.coordinator.getData(`extensions-directory:${targetDestination}`)
37
+ .reduce((collector, current) => {
38
+ collector.assets.push(...current.assets);
39
+ for (const [file, target] of Object.entries(current.setupFiles)) {
40
+ if (collector.setupFiles[target]) {
41
+ collector.setupFiles[target].push(file);
42
+ }
43
+ else {
44
+ collector.setupFiles[target] = [file];
45
+ }
46
+ }
47
+ return collector;
48
+ }, { setupFiles: {}, assets: [] });
49
+ const emittedExtensionsAssets = new Set(emittedExtensions.assets);
50
+ for (const setupFilesForBlockSlug of Object.values(emittedExtensions.setupFiles)) {
51
+ setupFilesForBlockSlug.sort();
52
+ }
53
+ const coordinatedHandles = await this.coordinator.getHandles(compilation);
54
+ const blockSlugToHandleMapping = {};
55
+ const collectedHandles = { script: [], script_module: [], style: [] };
56
+ for (const data of Object.values(coordinatedHandles)) {
57
+ if ((0, api_1.isExtensionEntryOptionsHolder)(data) && data.options.baseDestination === targetDestination && emittedExtensionsAssets.has(data.options.absoluteSrc)) {
58
+ collectedHandles[data.type].push((0, api_1.convertToFinalHandleData)(data, targetDestination));
59
+ (blockSlugToHandleMapping[data.options.blockSlug] ??= []).push([data.options.entrypointField, data.handle]);
60
+ }
61
+ }
62
+ const emitLoader = (writer) => {
63
+ //TODO: CONSIDER: Implement an alternate version that is more efficient when there is only one setup file extension per block
64
+ //TODO: CONSIDER: Update the logic to support referencing setup.php files in the original directories
65
+ if (Object.values(collectedHandles).some(c => c.length > 0)) {
66
+ writer.action("init", writer => {
67
+ (0, api_1.appendAssetRegistrations)(compilation, writer, collectedHandles);
68
+ }, { accountForAlreadyDoing: this.config.includePostInitFallback });
69
+ }
70
+ const prefixedPath = (...args) => expressions_1.Op.concat(expressions_1.Constants.__DIR__, '/', ...args);
71
+ const metadata = new expressions_1.Var("metadata", "array");
72
+ writer
73
+ .filter("block_type_metadata", writer => {
74
+ const blockSlug = new expressions_1.Var("block_slug", "string");
75
+ writer.assign(blockSlug, expressions_1.Expr.call("str_replace", ['/', '-', metadata.access('name')]));
76
+ if (Object.keys(blockSlugToHandleMapping).length > 0) {
77
+ const blockHandles = new expressions_1.Var("blockHandles");
78
+ writer.matchArray(blockSlug, blockSlugToHandleMapping, { assignTo: blockHandles });
79
+ const index = new expressions_1.Var("index", "int");
80
+ const extension = new expressions_1.Var("extension", "string");
81
+ const handle = new expressions_1.Var("handle", "string");
82
+ writer
83
+ .if(blockHandles);
84
+ writer.foreach(blockHandles, new expressions_1.PHPArray([extension, handle]), writer => {
85
+ const metaExtension = metadata.access(extension);
86
+ // WordPress unilaterally forces the asset handles of core blocks to be specific ones if they are the first item in the asset list.
87
+ // We account for that here by creating an alias from WordPress' generated asset handle to the handle that we're actually using
88
+ writer
89
+ .if(expressions_1.Expr.call('str_starts_with', [metadata.access('name'), expressions_1.Literal.primitive('core/')]), writer => {
90
+ const blockName = writer.assignment("blockName", expressions_1.Expr.call('substr', [metadata.access('name'), 5])); // This removes the "core/" prefix
91
+ const wp_generated_handle = new expressions_1.Var("wp_generated_handle", "string");
92
+ writer
93
+ .if(expressions_1.Expr.isset(metaExtension), writer => {
94
+ writer.assign(index, new expressions_1.Ternary(expressions_1.Expr.call('is_array', [metaExtension]), expressions_1.Expr.call('count', [metaExtension]), expressions_1.Literal.primitive(1)));
95
+ })
96
+ .else(writer => writer
97
+ .if(expressions_1.Op.binary(extension, " === ", expressions_1.Literal.primitive('style')), writer => {
98
+ writer.assign(metadata.access('style'), new expressions_1.PHPArray([expressions_1.Literal.interpolatedString(`wp-block-${blockName}`)]));
99
+ writer.assign(index, expressions_1.Literal.primitive(1));
100
+ })
101
+ .elseIf(expressions_1.Op.binary(extension, " === ", expressions_1.Literal.primitive('editorStyle')), writer => {
102
+ writer.assign(metadata.access('editorStyle'), new expressions_1.PHPArray([expressions_1.Literal.interpolatedString(`wp-block-${blockName}-editor`)]));
103
+ writer.assign(index, expressions_1.Literal.primitive(1));
104
+ })
105
+ .else(writer => {
106
+ writer.assign(index, expressions_1.Literal.primitive(0));
107
+ }))
108
+ .linebreak()
109
+ // The rest of this should not matter, but WordPress doesn't properly enqueue assets in the editor if it isn't present
110
+ .assign(wp_generated_handle, new expressions_1.Call(expressions_1.Expr.namespacedRef("generate_block_asset_handle"), [metadata.access('name'), extension, index]))
111
+ .if(expressions_1.Expr.call('str_ends_with', [extension, expressions_1.Literal.primitive('tyle')])) //A cheap case-insensitive check for ends with 'style'
112
+ .call('wp_register_style', [wp_generated_handle, expressions_1.Literal.primitive(false), handle])
113
+ .endIf();
114
+ }, true)
115
+ .endIf()
116
+ .if(expressions_1.Expr.isset(metaExtension).not())
117
+ .assign(metaExtension, new expressions_1.PHPArray([]))
118
+ .elseIf(expressions_1.Expr.call("is_array", [metaExtension]).not())
119
+ .assign(metaExtension, new expressions_1.Ternary(expressions_1.Expr.empty(metaExtension), new expressions_1.PHPArray([]), new expressions_1.PHPArray([metaExtension])))
120
+ .endIf()
121
+ .assign(metaExtension, handle, { push: true });
122
+ }, { enforceScope: 'none' })
123
+ .endIf();
124
+ }
125
+ if (Object.keys(emittedExtensions.setupFiles).length > 0) {
126
+ const blockSetupFiles = new expressions_1.Var("blockSetupFiles");
127
+ writer.matchArray(blockSlug, emittedExtensions.setupFiles, { assignTo: blockSetupFiles });
128
+ const filePathSuffix = new expressions_1.Var("file_path_suffix", "string");
129
+ writer
130
+ .if(blockSetupFiles)
131
+ .foreach(blockSetupFiles, filePathSuffix, writer => {
132
+ const plauditSetupMeta = metadata.access(['plaudit', 'setup']);
133
+ writer.structuredIf([
134
+ [expressions_1.Expr.empty(metadata.access('plaudit')), writer => {
135
+ writer.require(prefixedPath(filePathSuffix), { once: true });
136
+ }],
137
+ [expressions_1.Expr.empty(plauditSetupMeta), writer => {
138
+ writer.structuredIf([
139
+ [expressions_1.Expr.call("is_array", [metadata.access('plaudit')]), writer => {
140
+ writer.assign(plauditSetupMeta, prefixedPath(filePathSuffix));
141
+ }],
142
+ [undefined, writer => {
143
+ writer.assign(metadata.access('plaudit'), new expressions_1.PHPArray({ setup: prefixedPath(filePathSuffix) }));
144
+ }],
145
+ ]);
146
+ }],
147
+ [expressions_1.Expr.call("is_array", [metadata.access('plaudit')]).not(), writer => {
148
+ writer.assign(metadata.access('plaudit'), new expressions_1.PHPArray({ setup: prefixedPath(filePathSuffix) }));
149
+ }],
150
+ [expressions_1.Expr.call("is_array", [plauditSetupMeta]), writer => {
151
+ writer.assign(plauditSetupMeta, prefixedPath(filePathSuffix), { push: true });
152
+ }],
153
+ [undefined, writer => {
154
+ writer.assign(plauditSetupMeta, new expressions_1.PHPArray([plauditSetupMeta, prefixedPath(filePathSuffix)]));
155
+ }],
156
+ ]);
157
+ }, { enforceScope: 'none' })
158
+ .endIf();
159
+ }
160
+ writer.return(metadata);
161
+ }, { functionArgParameters: [metadata] });
162
+ };
163
+ const file = new php_writer_1.PHPFile();
164
+ if (!this.config.useUnifiedLoader) {
165
+ (0, utils_1.emitResolveBaseUriFunction)(file);
166
+ }
167
+ if (this.dest.locations.lazyLoader) {
168
+ const writer = file.getWriter(this.config.targetNamespace);
169
+ for (const functionName of this.dest.locations.lazyLoader) {
170
+ writer.function(functionName, [], emitLoader, { returnType: 'void' });
171
+ }
172
+ }
173
+ else {
174
+ file.getWriter("").withScope(emitLoader);
175
+ }
176
+ const destination = (0, node_path_1.join)(targetDestination, "extensions-loader.php");
177
+ (0, utils_1.emitPHPWriterAsAsset)(file, compilation, destination);
178
+ this.coordinator.reportData(compilation, this, "unified-loader", {
179
+ group: `extensions-directory:${targetDestination}`,
180
+ requiresBaseURI: true,
181
+ action: file => file.require("/" + destination, { dirRelative: true, once: true }),
182
+ });
183
+ });
184
+ });
185
+ }
186
+ getCoordinatedEmissionTargets() {
187
+ return [UnifiedLoaderGenerator_1.UnifiedLoaderGenerator.emissionTarget(this.config)];
188
+ }
189
+ }
190
+ exports.ExtensionsDirectoryLoaderEmitterPlugin = ExtensionsDirectoryLoaderEmitterPlugin;
191
+ //# sourceMappingURL=ExtensionsDirectoryLoaderEmitterPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtensionsDirectoryLoaderEmitterPlugin.js","sourceRoot":"","sources":["../../../src/plugins/extensions/ExtensionsDirectoryLoaderEmitterPlugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { type Compiler } from "webpack";
2
+ import { CoordinatableEmitter, type CoordinatedEmissionTargetBuilder, type RootCoordinatorPlugin, type VerifiedAdvancedDestinationConfig, type VerifiedPlauditWordpressWebpackConfig } from "../../api";
3
+ export declare class ExtensionsDirectoryLoaderEmitterPluginV1 extends CoordinatableEmitter {
4
+ protected readonly coordinator: RootCoordinatorPlugin;
5
+ private readonly config;
6
+ private readonly dest;
7
+ constructor(coordinator: RootCoordinatorPlugin, config: VerifiedPlauditWordpressWebpackConfig, dest: VerifiedAdvancedDestinationConfig);
8
+ readonly provides: readonly ["unified-loader"];
9
+ get requires(): readonly [`extensions-directory:${string}`];
10
+ get defaultCompilationName(): string;
11
+ apply(compiler: Compiler): void;
12
+ getCoordinatedEmissionTargets(): CoordinatedEmissionTargetBuilder[];
13
+ }
14
+ //# sourceMappingURL=ExtensionsDirectoryLoaderEmitterPluginV1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtensionsDirectoryLoaderEmitterPluginV1.d.ts","sourceRoot":"","sources":["../../../src/plugins/extensions/ExtensionsDirectoryLoaderEmitterPluginV1.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,KAAK,QAAQ,EAAU,MAAM,SAAS,CAAC;AAE5D,OAAO,EACiB,oBAAoB,EAAE,KAAK,gCAAgC,EACnD,KAAK,qBAAqB,EAAE,KAAK,iCAAiC,EAAE,KAAK,qCAAqC,EAC7I,MAAM,WAAW,CAAC;AAQnB,qBAAa,wCAAyC,SAAQ,oBAAoB;IAEhF,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,qBAAqB;IACrD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHtB,YACoB,WAAW,EAAE,qBAAqB,EACpC,MAAM,EAAE,qCAAqC,EAC7C,IAAI,EAAE,iCAAiC,EAGxD;IAED,SAAgB,QAAQ,YAAI,gBAAgB,EAAW;IAEvD,IAAW,QAAQ,gDAElB;IACD,IAAW,sBAAsB,WAEhC;IAED,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAuE9B;IAED,6BAA6B,IAAI,gCAAgC,EAAE,CAElE;CACD"}
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ExtensionsDirectoryLoaderEmitterPluginV1 = void 0;
7
+ const node_path_1 = __importDefault(require("node:path"));
8
+ const php_writer_1 = require("@plaudit/php-writer");
9
+ const webpack_1 = require("webpack");
10
+ const api_1 = require("../../api");
11
+ const UnifiedLoaderGenerator_1 = require("../unified-loader/UnifiedLoaderGenerator");
12
+ class ExtensionsDirectoryLoaderEmitterPluginV1 extends api_1.CoordinatableEmitter {
13
+ coordinator;
14
+ config;
15
+ dest;
16
+ constructor(coordinator, config, dest) {
17
+ super();
18
+ this.coordinator = coordinator;
19
+ this.config = config;
20
+ this.dest = dest;
21
+ }
22
+ provides = ["unified-loader"];
23
+ get requires() {
24
+ return [`extensions-directory:${this.dest.destination}`];
25
+ }
26
+ get defaultCompilationName() {
27
+ return `extensionsdir-loader:${this.dest.destination}`;
28
+ }
29
+ apply(compiler) {
30
+ super.apply(compiler);
31
+ const targetDestination = this.dest.destination;
32
+ compiler.hooks.thisCompilation.tap(this.constructor.name, compilation => {
33
+ compilation.hooks.processAssets.tapPromise({ name: this.constructor.name, stage: webpack_1.Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL }, async () => {
34
+ /**
35
+ * setupFiles from here on out is a mapping from blockSlug -> list of setup file destinations
36
+ */
37
+ const emittedExtensions = this.coordinator.getData(`extensions-directory:${targetDestination}`)
38
+ .reduce((collector, current) => {
39
+ collector.assets.push(...current.assets);
40
+ for (const [file, target] of Object.entries(current.setupFiles)) {
41
+ if (collector.setupFiles[target]) {
42
+ collector.setupFiles[target].push(file);
43
+ }
44
+ else {
45
+ collector.setupFiles[target] = [file];
46
+ }
47
+ }
48
+ return collector;
49
+ }, { setupFiles: {}, assets: [] });
50
+ const emittedExtensionsAssets = new Set(emittedExtensions.assets);
51
+ for (const setupFilesForBlockSlug of Object.values(emittedExtensions.setupFiles)) {
52
+ setupFilesForBlockSlug.sort();
53
+ }
54
+ const mapping = {};
55
+ // const coordinatedHandles = Object
56
+ // .values(await this.coordinator.getHandles(compilation))
57
+ // .filter(data => {
58
+ // return isExtensionEntryOptionsHolder(data) && data.options.baseDestination === targetDestination
59
+ // && emittedExtensionsAssets.has(data.options.absoluteSrc);
60
+ // });
61
+ const coordinatedHandles = await this.coordinator.getHandles(compilation);
62
+ for (const data of Object.values(coordinatedHandles)) {
63
+ if ((0, api_1.isExtensionEntryOptionsHolder)(data) && data.options.baseDestination === targetDestination && emittedExtensionsAssets.has(data.options.absoluteSrc)) {
64
+ ((mapping[data.options.blockSlug] ??= [{}])[0][data.options.entrypointField] ??= []).push([data.handle, data.finalizedHandleMetadata.src]);
65
+ // collectedHandles[data.type].push(convertToFinalHandleData(data, targetDestination));
66
+ // (blockSlugToHandleMapping[data.options.blockSlug] ??= []).push([data.options.entrypointField, data.handle] as const);
67
+ }
68
+ }
69
+ const blockSlugToHandleMapping = {};
70
+ const collectedHandles = { script: [], script_module: [], style: [] };
71
+ for (const data of Object.values(coordinatedHandles)) {
72
+ if ((0, api_1.isExtensionEntryOptionsHolder)(data) && data.options.baseDestination === targetDestination && emittedExtensionsAssets.has(data.options.absoluteSrc)) {
73
+ collectedHandles[data.type].push((0, api_1.convertToFinalHandleData)(data, targetDestination));
74
+ (blockSlugToHandleMapping[data.options.blockSlug] ??= []).push([data.options.entrypointField, data.handle]);
75
+ }
76
+ }
77
+ const regex = /^(.+?)-((?<prefix>editor-|view-|)(?<type>style|script|script-module))\.(?<extension>css|m?js)$/i;
78
+ const prefix = targetDestination + node_path_1.default.sep;
79
+ for (let fileWithAssetData of emittedExtensions.assets) {
80
+ let match;
81
+ if (fileWithAssetData.startsWith(prefix)) {
82
+ fileWithAssetData = fileWithAssetData.substring(prefix.length);
83
+ }
84
+ if ((match = regex.exec(fileWithAssetData)) && match[1] && match[2]) {
85
+ if (match.groups?.['type'] === 'style' && match.groups['extension'] !== 'css') {
86
+ fileWithAssetData = fileWithAssetData.replace(/\.m?js$/i, ".css");
87
+ }
88
+ const resourceInfo = (mapping[match[1]] ?? (mapping[match[1]] = [{}]))[0];
89
+ const key = match[2].replace(/-[sm]/gi, chars => chars.substring(1).toUpperCase());
90
+ (resourceInfo[key] ?? (resourceInfo[key] = [])).push([`plaudit_block-extension_${match[1]}-${match[2]}`, fileWithAssetData]);
91
+ }
92
+ }
93
+ compilation.emitAsset(node_path_1.default.join(targetDestination, "mapping.config"), new webpack_1.sources.RawSource((0, php_writer_1.phpSerialize)(mapping)));
94
+ });
95
+ });
96
+ }
97
+ getCoordinatedEmissionTargets() {
98
+ return [UnifiedLoaderGenerator_1.UnifiedLoaderGenerator.emissionTarget(this.config)];
99
+ }
100
+ }
101
+ exports.ExtensionsDirectoryLoaderEmitterPluginV1 = ExtensionsDirectoryLoaderEmitterPluginV1;
102
+ //# sourceMappingURL=ExtensionsDirectoryLoaderEmitterPluginV1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtensionsDirectoryLoaderEmitterPluginV1.js","sourceRoot":"","sources":["../../../src/plugins/extensions/ExtensionsDirectoryLoaderEmitterPluginV1.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { type Compiler } from "webpack";
2
+ import { CoordinatableEmitter, type CoordinatedEmissionTargetBuilder, type RootCoordinatorPlugin, type VerifiedAdvancedDestinationConfig, type VerifiedPlauditWordpressWebpackConfig } from "../../api";
3
+ export type EmittedExtensionsData = {
4
+ assets: string[];
5
+ /**
6
+ * This is a mapping from destination -> blockSlug
7
+ */
8
+ setupFiles: Record<string, string>;
9
+ };
10
+ export declare class ExtensionsDirectoryProcessingPlugin extends CoordinatableEmitter {
11
+ protected readonly coordinator: RootCoordinatorPlugin;
12
+ private readonly config;
13
+ private readonly dest;
14
+ private readonly context;
15
+ private readonly srcRoot;
16
+ private readonly hasAnyNonModuleBuilds;
17
+ constructor(coordinator: RootCoordinatorPlugin, config: VerifiedPlauditWordpressWebpackConfig, dest: VerifiedAdvancedDestinationConfig, context: string, srcRoot: string, hasAnyNonModuleBuilds: boolean);
18
+ readonly requires: readonly [];
19
+ readonly defaultCompilationName: undefined;
20
+ get provides(): readonly [`extensions-directory:${string}`];
21
+ apply(compiler: Compiler): void;
22
+ private recurseThroughDirectories;
23
+ getCoordinatedEmissionTargets(): CoordinatedEmissionTargetBuilder[];
24
+ }
25
+ //# sourceMappingURL=ExtensionsDirectoryProcessingPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtensionsDirectoryProcessingPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/extensions/ExtensionsDirectoryProcessingPlugin.ts"],"names":[],"mappings":"AAGA,OAAO,EAAc,KAAK,QAAQ,EAAU,MAAM,SAAS,CAAC;AAE5D,OAAO,EACN,oBAAoB,EAAE,KAAK,gCAAgC,EAGxB,KAAK,qBAAqB,EAAE,KAAK,iCAAiC,EAAE,KAAK,qCAAqC,EACjJ,MAAM,WAAW,CAAC;AAGnB,MAAM,MAAM,qBAAqB,GAAG;IACnC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC,CAAA;AAID,qBAAa,mCAAoC,SAAQ,oBAAoB;IAE3E,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,qBAAqB;IACrD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IANvC,YACoB,WAAW,EAAE,qBAAqB,EACpC,MAAM,EAAE,qCAAqC,EAC7C,IAAI,EAAE,iCAAiC,EACvC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,qBAAqB,EAAE,OAAO,EAG/C;IAED,SAAgB,QAAQ,cAAe;IACvC,SAAgB,sBAAsB,YAAa;IAEnD,IAAW,QAAQ,gDAElB;IAED,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAqH9B;YAEa,yBAAyB;IAgDvC,6BAA6B,IAAI,gCAAgC,EAAE,CAElE;CACD"}