@plaudit/webpack-extensions 3.21.2 → 4.0.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/CHANGELOG.md +13 -1
- package/USER-GUIDE.md +2 -1
- package/dist/api/asset-information-emission.d.ts +74 -0
- package/dist/api/asset-information-emission.d.ts.map +1 -0
- package/dist/api/asset-information-emission.js +398 -0
- package/dist/api/asset-information-emission.js.map +1 -0
- package/dist/api/configuration.d.ts +102 -0
- package/dist/api/configuration.d.ts.map +1 -0
- package/dist/api/configuration.js +83 -0
- package/dist/api/configuration.js.map +1 -0
- package/dist/api/coordinatable-emitter.d.ts +27 -0
- package/dist/api/coordinatable-emitter.d.ts.map +1 -0
- package/dist/api/coordinatable-emitter.js +20 -0
- package/dist/api/coordinatable-emitter.js.map +1 -0
- package/dist/api/entries/dependencies.d.ts +69 -0
- package/dist/api/entries/dependencies.d.ts.map +1 -0
- package/dist/api/entries/dependencies.js +61 -0
- package/dist/api/entries/dependencies.js.map +1 -0
- package/dist/api/entries/flag-logic.d.ts +37 -0
- package/dist/api/entries/flag-logic.d.ts.map +1 -0
- package/dist/api/entries/flag-logic.js +110 -0
- package/dist/api/entries/flag-logic.js.map +1 -0
- package/dist/api/entries/identifiers.d.ts +84 -0
- package/dist/api/entries/identifiers.d.ts.map +1 -0
- package/dist/api/entries/identifiers.js +590 -0
- package/dist/api/entries/identifiers.js.map +1 -0
- package/dist/api/entries/index.d.ts +6 -0
- package/dist/api/entries/index.d.ts.map +1 -0
- package/dist/{plugins → api/entries}/index.js +6 -8
- package/dist/api/entries/index.js.map +1 -0
- package/dist/api/entries/locations.d.ts +135 -0
- package/dist/api/entries/locations.d.ts.map +1 -0
- package/dist/api/entries/locations.js +174 -0
- package/dist/api/entries/locations.js.map +1 -0
- package/dist/api/entries/manager.d.ts +12 -0
- package/dist/api/entries/manager.d.ts.map +1 -0
- package/dist/api/entries/manager.js +35 -0
- package/dist/api/entries/manager.js.map +1 -0
- package/dist/api/handle-derivation.d.ts +32 -0
- package/dist/api/handle-derivation.d.ts.map +1 -0
- package/dist/api/handle-derivation.js +77 -0
- package/dist/api/handle-derivation.js.map +1 -0
- package/dist/api/index.d.ts +7 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +23 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/shared-types.d.ts +86 -0
- package/dist/api/shared-types.d.ts.map +1 -0
- package/dist/api/shared-types.js +3 -0
- package/dist/api/shared-types.js.map +1 -0
- package/dist/internal-utils/auto-registering-plugins-loader.d.ts +3 -0
- package/dist/internal-utils/auto-registering-plugins-loader.d.ts.map +1 -0
- package/dist/internal-utils/auto-registering-plugins-loader.js +42 -0
- package/dist/internal-utils/auto-registering-plugins-loader.js.map +1 -0
- package/dist/internal-utils/common-config-helpers.d.ts +14 -0
- package/dist/internal-utils/common-config-helpers.d.ts.map +1 -0
- package/dist/internal-utils/common-config-helpers.js +140 -0
- package/dist/internal-utils/common-config-helpers.js.map +1 -0
- package/dist/internal-utils/entrypoint-resolution-logic.d.ts +14 -0
- package/dist/internal-utils/entrypoint-resolution-logic.d.ts.map +1 -0
- package/dist/internal-utils/entrypoint-resolution-logic.js +223 -0
- package/dist/internal-utils/entrypoint-resolution-logic.js.map +1 -0
- package/dist/internal-utils/internal-pseudo-plugin.d.ts +6 -0
- package/dist/internal-utils/internal-pseudo-plugin.d.ts.map +1 -0
- package/dist/internal-utils/internal-pseudo-plugin.js +46 -0
- package/dist/internal-utils/internal-pseudo-plugin.js.map +1 -0
- package/dist/mocks/blocks.d.ts +32 -0
- package/dist/mocks/blocks.d.ts.map +1 -0
- package/dist/mocks/blocks.js +3 -0
- package/dist/mocks/blocks.js.map +1 -0
- package/dist/mocks/index.d.ts +2 -0
- package/dist/mocks/index.d.ts.map +1 -0
- package/dist/mocks/index.js +18 -0
- package/dist/mocks/index.js.map +1 -0
- package/dist/plugins/AdditionalDependencyInjectorPlugin.d.ts +4 -10
- package/dist/plugins/AdditionalDependencyInjectorPlugin.d.ts.map +1 -0
- package/dist/plugins/AdditionalDependencyInjectorPlugin.js +48 -47
- package/dist/plugins/AdditionalDependencyInjectorPlugin.js.map +1 -0
- package/dist/plugins/MiniCSSExtractPluginErrorCleaner.d.ts +1 -0
- package/dist/plugins/MiniCSSExtractPluginErrorCleaner.d.ts.map +1 -0
- package/dist/plugins/MiniCSSExtractPluginErrorCleaner.js +1 -0
- package/dist/plugins/MiniCSSExtractPluginErrorCleaner.js.map +1 -0
- package/dist/plugins/PackageConfigSanityChecker.d.ts +1 -0
- package/dist/plugins/PackageConfigSanityChecker.d.ts.map +1 -0
- package/dist/plugins/PackageConfigSanityChecker.js +1 -0
- package/dist/plugins/PackageConfigSanityChecker.js.map +1 -0
- package/dist/plugins/RootCoordinatorPluginImpl.d.ts +56 -0
- package/dist/plugins/RootCoordinatorPluginImpl.d.ts.map +1 -0
- package/dist/plugins/RootCoordinatorPluginImpl.js +767 -0
- package/dist/plugins/RootCoordinatorPluginImpl.js.map +1 -0
- package/dist/plugins/VariablesJSMonitorPlugin.d.ts +2 -1
- package/dist/plugins/VariablesJSMonitorPlugin.d.ts.map +1 -0
- package/dist/plugins/VariablesJSMonitorPlugin.js +1 -0
- package/dist/plugins/VariablesJSMonitorPlugin.js.map +1 -0
- package/dist/plugins/blocks/BlocksDirectoryLoaderEmitterPlugin.d.ts +25 -0
- package/dist/plugins/blocks/BlocksDirectoryLoaderEmitterPlugin.d.ts.map +1 -0
- package/dist/plugins/blocks/BlocksDirectoryLoaderEmitterPlugin.js +458 -0
- package/dist/plugins/blocks/BlocksDirectoryLoaderEmitterPlugin.js.map +1 -0
- package/dist/plugins/blocks/BlocksDirectoryProcessingPlugin.d.ts +29 -0
- package/dist/plugins/blocks/BlocksDirectoryProcessingPlugin.d.ts.map +1 -0
- package/dist/plugins/blocks/BlocksDirectoryProcessingPlugin.js +290 -0
- package/dist/plugins/blocks/BlocksDirectoryProcessingPlugin.js.map +1 -0
- package/dist/plugins/blocks/register.d.ts +6 -0
- package/dist/plugins/blocks/register.d.ts.map +1 -0
- package/dist/plugins/blocks/register.js +14 -0
- package/dist/plugins/blocks/register.js.map +1 -0
- package/dist/plugins/blocks/registerEmitter.d.ts +4 -0
- package/dist/plugins/blocks/registerEmitter.d.ts.map +1 -0
- package/dist/plugins/blocks/registerEmitter.js +13 -0
- package/dist/plugins/blocks/registerEmitter.js.map +1 -0
- package/dist/plugins/blocks/registerProcessor.d.ts +4 -0
- package/dist/plugins/blocks/registerProcessor.d.ts.map +1 -0
- package/dist/plugins/blocks/registerProcessor.js +46 -0
- package/dist/plugins/blocks/registerProcessor.js.map +1 -0
- package/dist/plugins/dependency-extraction-webpack-plugin-config-builder.d.ts +3 -2
- package/dist/plugins/dependency-extraction-webpack-plugin-config-builder.d.ts.map +1 -0
- package/dist/plugins/dependency-extraction-webpack-plugin-config-builder.js +2 -1
- package/dist/plugins/dependency-extraction-webpack-plugin-config-builder.js.map +1 -0
- package/dist/plugins/extensions/ExtensionsDirectoryLoaderEmitterPlugin.d.ts +14 -0
- package/dist/plugins/extensions/ExtensionsDirectoryLoaderEmitterPlugin.d.ts.map +1 -0
- package/dist/plugins/extensions/ExtensionsDirectoryLoaderEmitterPlugin.js +191 -0
- package/dist/plugins/extensions/ExtensionsDirectoryLoaderEmitterPlugin.js.map +1 -0
- package/dist/plugins/extensions/ExtensionsDirectoryLoaderEmitterPluginV1.d.ts +14 -0
- package/dist/plugins/extensions/ExtensionsDirectoryLoaderEmitterPluginV1.d.ts.map +1 -0
- package/dist/plugins/extensions/ExtensionsDirectoryLoaderEmitterPluginV1.js +102 -0
- package/dist/plugins/extensions/ExtensionsDirectoryLoaderEmitterPluginV1.js.map +1 -0
- package/dist/plugins/extensions/ExtensionsDirectoryProcessingPlugin.d.ts +25 -0
- package/dist/plugins/extensions/ExtensionsDirectoryProcessingPlugin.d.ts.map +1 -0
- package/dist/plugins/extensions/ExtensionsDirectoryProcessingPlugin.js +229 -0
- package/dist/plugins/extensions/ExtensionsDirectoryProcessingPlugin.js.map +1 -0
- package/dist/plugins/extensions/register.d.ts +6 -0
- package/dist/plugins/extensions/register.d.ts.map +1 -0
- package/dist/plugins/extensions/register.js +14 -0
- package/dist/plugins/extensions/register.js.map +1 -0
- package/dist/plugins/extensions/registerEmitter.d.ts +4 -0
- package/dist/plugins/extensions/registerEmitter.d.ts.map +1 -0
- package/dist/plugins/extensions/registerEmitter.js +18 -0
- package/dist/plugins/extensions/registerEmitter.js.map +1 -0
- package/dist/plugins/extensions/registerProcessor.d.ts +4 -0
- package/dist/plugins/extensions/registerProcessor.d.ts.map +1 -0
- package/dist/plugins/extensions/registerProcessor.js +42 -0
- package/dist/plugins/extensions/registerProcessor.js.map +1 -0
- package/dist/plugins/plain/PlainEntrypointProcessingPlugin.d.ts +18 -0
- package/dist/plugins/plain/PlainEntrypointProcessingPlugin.d.ts.map +1 -0
- package/dist/plugins/plain/PlainEntrypointProcessingPlugin.js +203 -0
- package/dist/plugins/plain/PlainEntrypointProcessingPlugin.js.map +1 -0
- package/dist/plugins/plain/PlainEntrypointsConfigEmitterPlugin.d.ts +13 -0
- package/dist/plugins/plain/PlainEntrypointsConfigEmitterPlugin.d.ts.map +1 -0
- package/dist/plugins/plain/PlainEntrypointsConfigEmitterPlugin.js +51 -0
- package/dist/plugins/plain/PlainEntrypointsConfigEmitterPlugin.js.map +1 -0
- package/dist/plugins/plain/register.d.ts +6 -0
- package/dist/plugins/plain/register.d.ts.map +1 -0
- package/dist/plugins/plain/register.js +14 -0
- package/dist/plugins/plain/register.js.map +1 -0
- package/dist/plugins/plain/registerEmitter.d.ts +4 -0
- package/dist/plugins/plain/registerEmitter.d.ts.map +1 -0
- package/dist/plugins/plain/registerEmitter.js +21 -0
- package/dist/plugins/plain/registerEmitter.js.map +1 -0
- package/dist/plugins/plain/registerProcessor.d.ts +4 -0
- package/dist/plugins/plain/registerProcessor.d.ts.map +1 -0
- package/dist/plugins/plain/registerProcessor.js +34 -0
- package/dist/plugins/plain/registerProcessor.js.map +1 -0
- package/dist/plugins/register.d.ts +3 -0
- package/dist/plugins/register.d.ts.map +1 -0
- package/dist/plugins/register.js +17 -0
- package/dist/plugins/register.js.map +1 -0
- package/dist/plugins/special-assets/SpecialAssetsCollectorPlugin.d.ts +20 -0
- package/dist/plugins/special-assets/SpecialAssetsCollectorPlugin.d.ts.map +1 -0
- package/dist/plugins/special-assets/SpecialAssetsCollectorPlugin.js +56 -0
- package/dist/plugins/special-assets/SpecialAssetsCollectorPlugin.js.map +1 -0
- package/dist/plugins/special-assets/SpecialAssetsLoaderEmitterPlugin.d.ts +13 -0
- package/dist/plugins/special-assets/SpecialAssetsLoaderEmitterPlugin.d.ts.map +1 -0
- package/dist/plugins/special-assets/SpecialAssetsLoaderEmitterPlugin.js +105 -0
- package/dist/plugins/special-assets/SpecialAssetsLoaderEmitterPlugin.js.map +1 -0
- package/dist/plugins/special-assets/register.d.ts +6 -0
- package/dist/plugins/special-assets/register.d.ts.map +1 -0
- package/dist/plugins/special-assets/register.js +14 -0
- package/dist/plugins/special-assets/register.js.map +1 -0
- package/dist/plugins/special-assets/registerEmitter.d.ts +4 -0
- package/dist/plugins/special-assets/registerEmitter.d.ts.map +1 -0
- package/dist/plugins/special-assets/registerEmitter.js +15 -0
- package/dist/plugins/special-assets/registerEmitter.js.map +1 -0
- package/dist/plugins/special-assets/registerProcessor.d.ts +4 -0
- package/dist/plugins/special-assets/registerProcessor.d.ts.map +1 -0
- package/dist/plugins/special-assets/registerProcessor.js +15 -0
- package/dist/plugins/special-assets/registerProcessor.js.map +1 -0
- package/dist/plugins/unified-loader/UnifiedLoaderGenerator.d.ts +22 -0
- package/dist/plugins/unified-loader/UnifiedLoaderGenerator.d.ts.map +1 -0
- package/dist/plugins/unified-loader/UnifiedLoaderGenerator.js +95 -0
- package/dist/plugins/unified-loader/UnifiedLoaderGenerator.js.map +1 -0
- package/dist/plugins/wpml-config/WPMLConfigBuilder.d.ts +24 -0
- package/dist/plugins/wpml-config/WPMLConfigBuilder.d.ts.map +1 -0
- package/dist/plugins/{WPMLConfigBuilder.js → wpml-config/WPMLConfigBuilder.js} +123 -53
- package/dist/plugins/wpml-config/WPMLConfigBuilder.js.map +1 -0
- package/dist/plugins/wpml-config/register.d.ts +6 -0
- package/dist/plugins/wpml-config/register.d.ts.map +1 -0
- package/dist/plugins/wpml-config/register.js +25 -0
- package/dist/plugins/wpml-config/register.js.map +1 -0
- package/dist/shared.d.ts +10 -283
- package/dist/shared.d.ts.map +1 -0
- package/dist/shared.js +32 -405
- package/dist/shared.js.map +1 -0
- package/dist/utils/error-helpers.d.ts +7 -0
- package/dist/utils/error-helpers.d.ts.map +1 -0
- package/dist/utils/error-helpers.js +73 -0
- package/dist/utils/error-helpers.js.map +1 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +22 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/misc.d.ts +4 -0
- package/dist/utils/misc.d.ts.map +1 -0
- package/dist/utils/misc.js +18 -0
- package/dist/utils/misc.js.map +1 -0
- package/dist/utils/path-helpers.d.ts +16 -0
- package/dist/utils/path-helpers.d.ts.map +1 -0
- package/dist/utils/path-helpers.js +115 -0
- package/dist/utils/path-helpers.js.map +1 -0
- package/dist/utils/pseudo-semaphore.d.ts +1 -0
- package/dist/utils/pseudo-semaphore.d.ts.map +1 -0
- package/dist/utils/pseudo-semaphore.js +3 -5
- package/dist/utils/pseudo-semaphore.js.map +1 -0
- package/dist/utils/type-helpers.d.ts +27 -0
- package/dist/utils/type-helpers.d.ts.map +1 -0
- package/dist/utils/type-helpers.js +33 -0
- package/dist/utils/type-helpers.js.map +1 -0
- package/dist/utils/writer-utils.d.ts +8 -0
- package/dist/utils/writer-utils.d.ts.map +1 -0
- package/dist/utils/writer-utils.js +35 -0
- package/dist/utils/writer-utils.js.map +1 -0
- package/dist/wordpress-ports/dependency-extraction-webpack-plugin/index.d.ts +2 -1
- package/dist/wordpress-ports/dependency-extraction-webpack-plugin/index.d.ts.map +1 -0
- package/dist/wordpress-ports/dependency-extraction-webpack-plugin/index.js +5 -7
- package/dist/wordpress-ports/dependency-extraction-webpack-plugin/index.js.map +1 -0
- package/dist/wordpress-ports/dependency-extraction-webpack-plugin/util.d.ts +1 -0
- package/dist/wordpress-ports/dependency-extraction-webpack-plugin/util.d.ts.map +1 -0
- package/dist/wordpress-ports/dependency-extraction-webpack-plugin/util.js +1 -0
- package/dist/wordpress-ports/dependency-extraction-webpack-plugin/util.js.map +1 -0
- package/dist/wordpress-scripts-wrapper.d.ts +3 -2
- package/dist/wordpress-scripts-wrapper.d.ts.map +1 -0
- package/dist/wordpress-scripts-wrapper.js +137 -391
- package/dist/wordpress-scripts-wrapper.js.map +1 -0
- package/package.json +28 -50
- package/dist/plugins/AbstractBiPhasicGroupAndEntryPlugin.d.ts +0 -25
- package/dist/plugins/AbstractBiPhasicGroupAndEntryPlugin.js +0 -86
- package/dist/plugins/AbstractBiPhasicGroupPlugin.d.ts +0 -31
- package/dist/plugins/AbstractBiPhasicGroupPlugin.js +0 -91
- package/dist/plugins/EnhancedBlockJSONPlugin.d.ts +0 -47
- package/dist/plugins/EnhancedBlockJSONPlugin.js +0 -657
- package/dist/plugins/EnhancedDynamicEntryPlugin.d.ts +0 -8
- package/dist/plugins/EnhancedDynamicEntryPlugin.js +0 -14
- package/dist/plugins/ExtensionsConfigFileGeneratorPlugin.d.ts +0 -20
- package/dist/plugins/ExtensionsConfigFileGeneratorPlugin.js +0 -191
- package/dist/plugins/ExtensionsConfigFileGeneratorPluginV1.d.ts +0 -9
- package/dist/plugins/ExtensionsConfigFileGeneratorPluginV1.js +0 -45
- package/dist/plugins/MixableBiPhasicGroupAndEntryPlugin.d.ts +0 -6
- package/dist/plugins/MixableBiPhasicGroupAndEntryPlugin.js +0 -13
- package/dist/plugins/MixableBiPhasicGroupPlugin.d.ts +0 -6
- package/dist/plugins/MixableBiPhasicGroupPlugin.js +0 -13
- package/dist/plugins/PlainEntrypointsConfigFileGeneratorPlugin.d.ts +0 -26
- package/dist/plugins/PlainEntrypointsConfigFileGeneratorPlugin.js +0 -392
- package/dist/plugins/SpecialAssetHandlingPlugin.d.ts +0 -12
- package/dist/plugins/SpecialAssetHandlingPlugin.js +0 -134
- package/dist/plugins/UnifiedLoaderGenerator.d.ts +0 -21
- package/dist/plugins/UnifiedLoaderGenerator.js +0 -144
- package/dist/plugins/WPMLConfigBuilder.d.ts +0 -17
- package/dist/plugins/index.d.ts +0 -8
- package/dist/plugins/static-configs.d.ts +0 -3
- package/dist/plugins/static-configs.js +0 -44
- package/dist/utils/common-config-helpers.d.ts +0 -28
- package/dist/utils/common-config-helpers.js +0 -489
- package/dist/utils/css-writer.d.ts +0 -4
- package/dist/utils/css-writer.js +0 -46
- package/dist/utils/entrypoint-resolution-logic.d.ts +0 -13
- package/dist/utils/entrypoint-resolution-logic.js +0 -82
- package/dist/utils/location-encoding-filename-parser.d.ts +0 -30
- package/dist/utils/location-encoding-filename-parser.js +0 -120
- package/dist/utils/path-query-and-related-helpers.d.ts +0 -64
- package/dist/utils/path-query-and-related-helpers.js +0 -269
|
@@ -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":";;;;;;AAAA,0DAA6B;AAE7B,oDAAiD;AAEjD,qCAA4D;AAE5D,mCAGmB;AACnB,qFAAgF;AAOhF,8CAAsD,SAAQ,0BAAoB;IAE7D,WAAW;IACb,MAAM;IACN,IAAI;IAHtB,YACoB,WAAkC,EACpC,MAA6C,EAC7C,IAAuC;QAExD,KAAK,EAAE,CAAC;2BAJW,WAAW;sBACb,MAAM;oBACN,IAAI;IAGtB,CAAC;IAEe,QAAQ,GAAG,CAAC,gBAAgB,CAAU,CAAC;IAEvD,IAAW,QAAQ;QAClB,OAAO,CAAC,wBAAwB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAU,CAAC;IACnE,CAAC;IACD,IAAW,sBAAsB;QAChC,OAAO,wBAAwB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,QAAkB;QACvB,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;QAChD,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE;YACvE,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,qBAAW,CAAC,+BAA+B,EAAC,EAAE,KAAK,IAAI,EAAE;gBACxI;;mBAEG;gBACH,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAwB,wBAAwB,iBAAiB,EAAE,CAAC;qBACpH,MAAM,CAAgG,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE;oBAC7H,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;oBACzC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;wBACjE,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;4BAClC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACzC,CAAC;6BAAM,CAAC;4BACP,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBACvC,CAAC;oBACF,CAAC;oBACD,OAAO,SAAS,CAAC;gBAClB,CAAC,EAAE,EAAC,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAC,CAAC,CAAC;gBAElC,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAClE,KAAK,MAAM,sBAAsB,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;oBAClF,sBAAsB,CAAC,IAAI,EAAE,CAAC;gBAC/B,CAAC;gBAED,MAAM,OAAO,GAA0B,EAAE,CAAC;gBAC1C,oCAAoC;gBACpC,2DAA2D;gBAC3D,qBAAqB;gBACrB,qGAAqG;gBACrG,+DAA+D;gBAC/D,OAAO;gBACP,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;gBAC1E,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;oBACtD,IAAI,IAAA,mCAA6B,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,KAAK,iBAAiB,IAAI,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;wBACxJ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC3I,uFAAuF;wBACvF,wHAAwH;oBACzH,CAAC;gBACF,CAAC;gBACD,MAAM,wBAAwB,GAAgD,EAAE,CAAC;gBACjF,MAAM,gBAAgB,GAAqB,EAAC,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAC,CAAC;gBACtF,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;oBACtD,IAAI,IAAA,mCAA6B,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,KAAK,iBAAiB,IAAI,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;wBACxJ,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAA,8BAAwB,EAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC;wBACpF,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAU,CAAC,CAAC;oBACtH,CAAC;gBACF,CAAC;gBAED,MAAM,KAAK,GAAG,iGAAiG,CAAC;gBAEhH,MAAM,MAAM,GAAG,iBAAiB,GAAG,mBAAI,CAAC,GAAG,CAAC;gBAC5C,KAAK,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;oBACxD,IAAI,KAA4B,CAAC;oBACjC,IAAI,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC1C,iBAAiB,GAAG,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAChE,CAAC;oBACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrE,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE,CAAC;4BAC/E,iBAAiB,GAAG,iBAAiB,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;wBACnE,CAAC;wBACD,MAAM,YAAY,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC1E,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAA8B,CAAC;wBAChH,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,2BAA2B,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC;oBAC9H,CAAC;gBACF,CAAC;gBAED,WAAW,CAAC,SAAS,CAAC,mBAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,EAAE,IAAI,iBAAO,CAAC,SAAS,CAAC,IAAA,yBAAY,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACrH,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,6BAA6B;QAC5B,OAAO,CAAC,+CAAsB,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAU,CAAC;IACtE,CAAC;CACD"}
|
|
@@ -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"}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ExtensionsDirectoryProcessingPlugin = void 0;
|
|
4
|
+
const promises_1 = require("node:fs/promises");
|
|
5
|
+
const node_path_1 = require("node:path");
|
|
6
|
+
const webpack_1 = require("webpack");
|
|
7
|
+
const api_1 = require("../../api");
|
|
8
|
+
const utils_1 = require("../../utils");
|
|
9
|
+
class ExtensionsDirectoryProcessingPlugin extends api_1.CoordinatableEmitter {
|
|
10
|
+
coordinator;
|
|
11
|
+
config;
|
|
12
|
+
dest;
|
|
13
|
+
context;
|
|
14
|
+
srcRoot;
|
|
15
|
+
hasAnyNonModuleBuilds;
|
|
16
|
+
constructor(coordinator, config, dest, context, srcRoot, hasAnyNonModuleBuilds) {
|
|
17
|
+
super();
|
|
18
|
+
this.coordinator = coordinator;
|
|
19
|
+
this.config = config;
|
|
20
|
+
this.dest = dest;
|
|
21
|
+
this.context = context;
|
|
22
|
+
this.srcRoot = srcRoot;
|
|
23
|
+
this.hasAnyNonModuleBuilds = hasAnyNonModuleBuilds;
|
|
24
|
+
}
|
|
25
|
+
requires = [];
|
|
26
|
+
defaultCompilationName = undefined;
|
|
27
|
+
get provides() {
|
|
28
|
+
return [`extensions-directory:${this.dest.destination}`];
|
|
29
|
+
}
|
|
30
|
+
apply(compiler) {
|
|
31
|
+
super.apply(compiler);
|
|
32
|
+
const processingModules = !!compiler.options.output.module;
|
|
33
|
+
const canProcessAlternateAssets = !processingModules || !this.hasAnyNonModuleBuilds;
|
|
34
|
+
const handleConfig = this.dest.handle;
|
|
35
|
+
compiler.hooks.make.tapPromise(this.constructor.name, async (compilation) => {
|
|
36
|
+
if (!compilation.contextDependencies.has(this.srcRoot)) {
|
|
37
|
+
compilation.contextDependencies.add(this.srcRoot);
|
|
38
|
+
}
|
|
39
|
+
const myMeta = compilation.moduleGraph.getMeta(this);
|
|
40
|
+
const setupFiles = myMeta["plaudit/setup-files"] ??= {};
|
|
41
|
+
const delegateContext = { compilation };
|
|
42
|
+
const overallHandlePrefix = `${this.config.targetHandlePrefix}/extensions/`;
|
|
43
|
+
const { addEntry, addEntryInjectionPromise, waitHook } = this.makeEntryManager(compiler, compilation, this.context);
|
|
44
|
+
const makeEntryOptions = (blockSlug, handleSuffix, options) => {
|
|
45
|
+
const { dir, name } = (0, node_path_1.parse)((0, node_path_1.normalize)((0, node_path_1.join)(this.dest.destination, (0, node_path_1.relative)(this.srcRoot, options.absoluteSrc))));
|
|
46
|
+
return (0, api_1.makePlauditEntryOptions)(handleConfig, overallHandlePrefix + blockSlug, handleSuffix, {
|
|
47
|
+
...options,
|
|
48
|
+
additionalDependencies: this.dest.additionalDependencies,
|
|
49
|
+
baseDestination: this.dest.destination,
|
|
50
|
+
name: (0, node_path_1.join)(dir, name),
|
|
51
|
+
blockSlug: blockSlug
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
const extensionsJsonProcessingPromises = [];
|
|
55
|
+
for await (const dirent of await (0, promises_1.opendir)(this.srcRoot)) {
|
|
56
|
+
if ((0, utils_1.shouldBeSkipped)(dirent.name)) {
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
if (dirent.isFile()) {
|
|
60
|
+
const lcName = dirent.name.toLowerCase();
|
|
61
|
+
if (lcName.endsWith("-setup.php")) {
|
|
62
|
+
if (canProcessAlternateAssets) {
|
|
63
|
+
const absoluteSrc = (0, utils_1.joinPossiblyAbsolutePaths)(this.srcRoot, dirent.name);
|
|
64
|
+
addEntryInjectionPromise((0, promises_1.readFile)(absoluteSrc).then(contents => {
|
|
65
|
+
const destination = (0, node_path_1.join)(this.dest.destination, dirent.name);
|
|
66
|
+
compilation.emitAsset(destination, new webpack_1.sources.RawSource(contents), { size: Buffer.byteLength(contents) });
|
|
67
|
+
// We need to record that this is a setup file that we are managing
|
|
68
|
+
setupFiles[dirent.name] = dirent.name.slice(0, -10);
|
|
69
|
+
}));
|
|
70
|
+
}
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
const { name } = (0, node_path_1.parse)(lcName);
|
|
74
|
+
const { blockSlug, rawEpField } = /^(?<blockSlug>.+)-(?<rawEpField>(?:view|editor)(?:-(?:script|script[-_]module|style))?|script|script[-_]module|style|both)$/i.exec(name)?.groups ?? {};
|
|
75
|
+
if (blockSlug === undefined || rawEpField === undefined) {
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
const absoluteSrc = (0, utils_1.joinPossiblyAbsolutePaths)(this.srcRoot, dirent.name);
|
|
79
|
+
const conversionRes = safeConversionToEntrypointField(compilation, absoluteSrc, rawEpField);
|
|
80
|
+
if (conversionRes === false) {
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
const [entrypointField, type] = conversionRes;
|
|
84
|
+
const locations = { register: api_1.DEFAULT_WP_HOOK_PRIORITY };
|
|
85
|
+
if (entrypointField.startsWith("editor")) {
|
|
86
|
+
locations.clientEditor = api_1.DEFAULT_WP_HOOK_PRIORITY;
|
|
87
|
+
}
|
|
88
|
+
else if (entrypointField.startsWith("view")) {
|
|
89
|
+
locations.clientView = api_1.DEFAULT_WP_HOOK_PRIORITY;
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
locations.clientEditor = api_1.DEFAULT_WP_HOOK_PRIORITY;
|
|
93
|
+
locations.clientView = api_1.DEFAULT_WP_HOOK_PRIORITY;
|
|
94
|
+
}
|
|
95
|
+
extensionsJsonProcessingPromises.push(makeEntryOptions(blockSlug, rawEpField, {
|
|
96
|
+
type,
|
|
97
|
+
flags: {},
|
|
98
|
+
absoluteSrc,
|
|
99
|
+
entrypointField,
|
|
100
|
+
locations,
|
|
101
|
+
}));
|
|
102
|
+
}
|
|
103
|
+
else if (dirent.isDirectory()) {
|
|
104
|
+
extensionsJsonProcessingPromises.push(this.recurseThroughDirectories(compilation, this.srcRoot, [dirent.name], makeEntryOptions, canProcessAlternateAssets, setupFiles, addEntryInjectionPromise, delegateContext));
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
for (const ep of (0, utils_1.dedupeEntrypointOutputPaths)((await Promise.all(extensionsJsonProcessingPromises)).flat())) {
|
|
108
|
+
if (processingModules === (ep.type === "script_module")) {
|
|
109
|
+
addEntry(ep.absoluteSrc, ep);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
await waitHook();
|
|
113
|
+
});
|
|
114
|
+
compiler.hooks.thisCompilation.tap(this.constructor.name, compilation => {
|
|
115
|
+
compilation.hooks.processAssets.tap({ name: this.constructor.name, stage: webpack_1.Compilation.PROCESS_ASSETS_STAGE_REPORT }, () => {
|
|
116
|
+
const myMeta = compilation.moduleGraph.getMeta(this);
|
|
117
|
+
const setupFiles = myMeta["plaudit/setup-files"] ??= {};
|
|
118
|
+
const reportableData = {
|
|
119
|
+
assets: [],
|
|
120
|
+
setupFiles,
|
|
121
|
+
};
|
|
122
|
+
for (const entrypoint of compilation.entrypoints.values()) {
|
|
123
|
+
if ((0, api_1.isPlauditEntryOptions)(entrypoint.options) && this.dest.destination === entrypoint.options.baseDestination && (0, api_1.isExtensionEntryOptions)(entrypoint.options)) {
|
|
124
|
+
reportableData.assets.push(entrypoint.options.absoluteSrc);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
this.coordinator.reportData(compilation, this, `extensions-directory:${this.dest.destination}`, reportableData);
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
//TODO: CONSIDER: If all files are two levels deep (i.e. core/group/view.ts), assume slash in middle. Use that to cut down on a few string ops
|
|
131
|
+
}
|
|
132
|
+
async recurseThroughDirectories(compilation, srcRoot, parent, makeEntryOptions, canProcessAlternateAssets, setupFiles, addEntryInjectionPromise, delegateContext) {
|
|
133
|
+
const res = [];
|
|
134
|
+
for await (const dirent of await (0, promises_1.opendir)((0, node_path_1.join)(srcRoot, ...parent))) {
|
|
135
|
+
if ((0, utils_1.shouldBeSkipped)(dirent.name)) {
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
138
|
+
if (dirent.isDirectory()) {
|
|
139
|
+
res.push(this.recurseThroughDirectories(compilation, srcRoot, [...parent, dirent.name], makeEntryOptions, canProcessAlternateAssets, setupFiles, addEntryInjectionPromise, delegateContext));
|
|
140
|
+
}
|
|
141
|
+
else if (dirent.isFile()) {
|
|
142
|
+
const lcName = dirent.name.toLowerCase();
|
|
143
|
+
if (lcName === 'setup.php' || lcName.endsWith("-setup.php") || lcName.endsWith(".setup.php")) {
|
|
144
|
+
if (canProcessAlternateAssets) {
|
|
145
|
+
const absoluteSrc = (0, node_path_1.join)(srcRoot, ...parent, dirent.name);
|
|
146
|
+
addEntryInjectionPromise((0, promises_1.readFile)(absoluteSrc).then(contents => {
|
|
147
|
+
const managedName = (0, node_path_1.join)(...parent, dirent.name);
|
|
148
|
+
const destination = (0, node_path_1.join)(this.dest.destination, managedName);
|
|
149
|
+
compilation.emitAsset(destination, new webpack_1.sources.RawSource(contents), { size: Buffer.byteLength(contents) });
|
|
150
|
+
// We need to record that this is a setup file that we are managing
|
|
151
|
+
setupFiles[managedName] = parent.join("-");
|
|
152
|
+
}));
|
|
153
|
+
}
|
|
154
|
+
continue;
|
|
155
|
+
}
|
|
156
|
+
const identifier = (0, api_1.parseEntrypointIdentifierForBlock)(dirent.name, false, delegateContext);
|
|
157
|
+
if (identifier === undefined) {
|
|
158
|
+
continue;
|
|
159
|
+
}
|
|
160
|
+
const { filePath, niceName, ...pluginOptions } = identifier;
|
|
161
|
+
const { entrypointField, locations } = (0, api_1.deriveEntrypointFieldAndBlockSafeLocations)(identifier, compilation.options.output.module, delegateContext);
|
|
162
|
+
if (entrypointField !== undefined) {
|
|
163
|
+
const handleSuffix = niceName ?? (0, node_path_1.parse)(filePath).name;
|
|
164
|
+
res.push(makeEntryOptions(parent.join("-"), handleSuffix, {
|
|
165
|
+
...pluginOptions,
|
|
166
|
+
absoluteSrc: (0, node_path_1.join)(srcRoot, ...parent, dirent.name),
|
|
167
|
+
entrypointField,
|
|
168
|
+
locations,
|
|
169
|
+
}));
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
return (await Promise.all(res)).flat();
|
|
174
|
+
}
|
|
175
|
+
getCoordinatedEmissionTargets() {
|
|
176
|
+
return [];
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
exports.ExtensionsDirectoryProcessingPlugin = ExtensionsDirectoryProcessingPlugin;
|
|
180
|
+
/**
|
|
181
|
+
*
|
|
182
|
+
* @param compilation
|
|
183
|
+
* @param absoluteSrc
|
|
184
|
+
* @param value {string} this MUST match /^(?:view|editor)(?:-(?:script|script[-_]module|style))?|script|script[-_]module|style|both)$/
|
|
185
|
+
*/
|
|
186
|
+
function safeConversionToEntrypointField(compilation, absoluteSrc, value) {
|
|
187
|
+
switch (value) {
|
|
188
|
+
case 'script':
|
|
189
|
+
return ['script', 'script'];
|
|
190
|
+
case 'script-module':
|
|
191
|
+
case 'script_module':
|
|
192
|
+
(0, utils_1.emitError)("Cannot enqueue script modules anywhere other than the view", { rawIdentifier: absoluteSrc, compilation });
|
|
193
|
+
return false;
|
|
194
|
+
case 'style':
|
|
195
|
+
return ['style', 'style'];
|
|
196
|
+
case 'both': {
|
|
197
|
+
const type = (0, api_1.getAssetType)(absoluteSrc);
|
|
198
|
+
return type === false || type === 'script_module' ? false : [type, type];
|
|
199
|
+
}
|
|
200
|
+
case 'editor':
|
|
201
|
+
case 'view': {
|
|
202
|
+
const type = (0, api_1.getAssetType)(absoluteSrc);
|
|
203
|
+
if (type === false) {
|
|
204
|
+
//TODO: Should we emit a warning here?
|
|
205
|
+
return false;
|
|
206
|
+
}
|
|
207
|
+
else if (value === 'editor' && type === 'script_module') {
|
|
208
|
+
(0, utils_1.emitError)("Cannot enqueue script modules for blocks anywhere other than the view", { rawIdentifier: absoluteSrc, compilation });
|
|
209
|
+
return false;
|
|
210
|
+
}
|
|
211
|
+
return [(value + "S" + type.substring(1)), type];
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
const firstDash = value.indexOf("-");
|
|
215
|
+
const prefix = value.substring(0, firstDash);
|
|
216
|
+
const suffix = value.substring(firstDash + 1);
|
|
217
|
+
if (prefix !== 'view' && prefix !== 'editor') {
|
|
218
|
+
return false;
|
|
219
|
+
}
|
|
220
|
+
if (suffix === 'script-module' || suffix === 'script_module') {
|
|
221
|
+
if (prefix === 'view') {
|
|
222
|
+
return ['viewScriptModule', 'script_module'];
|
|
223
|
+
}
|
|
224
|
+
(0, utils_1.emitError)("Cannot enqueue script modules for blocks anywhere other than the view", { rawIdentifier: absoluteSrc, compilation });
|
|
225
|
+
return false;
|
|
226
|
+
}
|
|
227
|
+
return [(prefix + "S" + suffix.substring(1)), suffix];
|
|
228
|
+
}
|
|
229
|
+
//# sourceMappingURL=ExtensionsDirectoryProcessingPlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExtensionsDirectoryProcessingPlugin.js","sourceRoot":"","sources":["../../../src/plugins/extensions/ExtensionsDirectoryProcessingPlugin.ts"],"names":[],"mappings":"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"}
|