@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 @@
|
|
|
1
|
+
{"version":3,"file":"RootCoordinatorPluginImpl.js","sourceRoot":"","sources":["../../src/plugins/RootCoordinatorPluginImpl.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { VerifiedPlauditWordpressWebpackConfig } from "../shared";
|
|
2
1
|
import type { Compiler, WebpackPluginInstance } from "webpack";
|
|
2
|
+
import type { VerifiedPlauditWordpressWebpackConfig } from "../api";
|
|
3
3
|
export declare class VariablesJSMonitorPlugin implements WebpackPluginInstance {
|
|
4
4
|
private readonly config;
|
|
5
5
|
constructor(config: VerifiedPlauditWordpressWebpackConfig);
|
|
6
6
|
apply(compiler: Compiler): void;
|
|
7
7
|
}
|
|
8
|
+
//# sourceMappingURL=VariablesJSMonitorPlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VariablesJSMonitorPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/VariablesJSMonitorPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAE,qBAAqB,EAAC,MAAM,SAAS,CAAC;AAE7D,OAAO,KAAK,EAAC,qCAAqC,EAAC,MAAM,QAAQ,CAAC;AAElE,qBAAa,wBAAyB,YAAW,qBAAqB;IACzD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAnC,YAA6B,MAAM,EAAE,qCAAqC,EAAI;IAE9E,KAAK,CAAC,QAAQ,EAAE,QAAQ,QASvB;CACD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VariablesJSMonitorPlugin.js","sourceRoot":"","sources":["../../src/plugins/VariablesJSMonitorPlugin.ts"],"names":[],"mappings":";;;AAIA;IAC8B,MAAM;IAAnC,YAA6B,MAA6C;sBAA7C,MAAM;IAA0C,CAAC;IAE9E,KAAK,CAAC,QAAkB;QACvB,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;QACxD,IAAI,iBAAiB,EAAE,CAAC;YACvB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE;gBAC5D,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBAC1D,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBACrD,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,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 declare class BlocksDirectoryLoaderEmitterPlugin 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 [`blocks-directory:${string}`];
|
|
10
|
+
get defaultCompilationName(): string;
|
|
11
|
+
apply(compiler: Compiler): void;
|
|
12
|
+
private emitBlockdirLoaderPHP;
|
|
13
|
+
private static readonly THEME_JSON_FLAG_PROPS;
|
|
14
|
+
private static pickOutFlagPropsFromBlockSupports;
|
|
15
|
+
private static doFileOrHandleReplacements;
|
|
16
|
+
private static hashThingForAsset;
|
|
17
|
+
static findCommonAncestor(...paths: string[]): string[];
|
|
18
|
+
static findRelativeRouteBetween(path1: string, path2: string): string;
|
|
19
|
+
private static remapReferencedPHPFilesOnKey;
|
|
20
|
+
private static normalizeRenderTemplate;
|
|
21
|
+
private static readonly knownExperimentalProperties;
|
|
22
|
+
private static handleExperimentalBlockSupportsFlags;
|
|
23
|
+
getCoordinatedEmissionTargets(): CoordinatedEmissionTargetBuilder[];
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=BlocksDirectoryLoaderEmitterPlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlocksDirectoryLoaderEmitterPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/blocks/BlocksDirectoryLoaderEmitterPlugin.ts"],"names":[],"mappings":"AASA,OAAO,EAAc,KAAK,QAAQ,EAAU,MAAM,SAAS,CAAC;AAE5D,OAAO,EAKN,oBAAoB,EACpB,KAAK,gCAAgC,EAIrC,KAAK,qBAAqB,EAE1B,KAAK,iCAAiC,EACtC,KAAK,qCAAqC,EAC1C,MAAM,WAAW,CAAC;AAcnB,qBAAa,kCAAmC,SAAQ,oBAAoB;IAE1E,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,4CAElB;IACD,IAAW,sBAAsB,WAEhC;IAED,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAqF9B;IAED,OAAO,CAAC,qBAAqB;IA8J7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAe3C;IACF,OAAO,CAAC,MAAM,CAAC,iCAAiC;IAyBhD,OAAO,CAAC,MAAM,CAAC,0BAA0B;IAqCzC,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAIhC,MAAM,CAAC,kBAAkB,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,YAS3C;IACD,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,UAG3D;IAED,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAqD3C,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAmDtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CAEuD;IAC1G,OAAO,CAAC,MAAM,CAAC,oCAAoC;IAsBnD,6BAA6B,IAAI,gCAAgC,EAAE,CAElE;CACD"}
|
|
@@ -0,0 +1,458 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BlocksDirectoryLoaderEmitterPlugin = void 0;
|
|
4
|
+
const node_crypto_1 = require("node:crypto");
|
|
5
|
+
const node_fs_1 = require("node:fs");
|
|
6
|
+
const node_path_1 = require("node:path");
|
|
7
|
+
const php_writer_1 = require("@plaudit/php-writer");
|
|
8
|
+
const expressions_1 = require("@plaudit/php-writer/expressions");
|
|
9
|
+
const webpack_1 = require("webpack");
|
|
10
|
+
const api_1 = require("../../api");
|
|
11
|
+
const utils_1 = require("../../utils");
|
|
12
|
+
const UnifiedLoaderGenerator_1 = require("../unified-loader/UnifiedLoaderGenerator");
|
|
13
|
+
class BlocksDirectoryLoaderEmitterPlugin extends api_1.CoordinatableEmitter {
|
|
14
|
+
coordinator;
|
|
15
|
+
config;
|
|
16
|
+
dest;
|
|
17
|
+
constructor(coordinator, config, dest) {
|
|
18
|
+
super();
|
|
19
|
+
this.coordinator = coordinator;
|
|
20
|
+
this.config = config;
|
|
21
|
+
this.dest = dest;
|
|
22
|
+
}
|
|
23
|
+
provides = ["unified-loader"];
|
|
24
|
+
get requires() {
|
|
25
|
+
return [`blocks-directory:${this.dest.destination}`];
|
|
26
|
+
}
|
|
27
|
+
get defaultCompilationName() {
|
|
28
|
+
return `blockdir-loader:${this.dest.destination}`;
|
|
29
|
+
}
|
|
30
|
+
apply(compiler) {
|
|
31
|
+
super.apply(compiler);
|
|
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
|
+
const blockData = Object.create(null);
|
|
35
|
+
const bindableBlockAttributes = Object.create(null);
|
|
36
|
+
const collectedHandles = { script: [], script_module: [], style: [] };
|
|
37
|
+
const emittedBlocks = Object.fromEntries(this.coordinator.getData(`blocks-directory:${this.dest.destination}`)
|
|
38
|
+
.flatMap(Object.entries)
|
|
39
|
+
.sort(([a], [b]) => a.localeCompare(b)));
|
|
40
|
+
const relevantAssetToEntryMapping = Object.create(null);
|
|
41
|
+
for (const [asset, data] of Object.entries(await this.coordinator.getHandles(compilation))) {
|
|
42
|
+
if ((0, api_1.isBlockEntryOptionsHolder)(data) && emittedBlocks[data.options.blockJsonAssetAbsoluteSrc]) {
|
|
43
|
+
(relevantAssetToEntryMapping[data.options.blockJsonAssetAbsoluteSrc] ??= []).push([asset, data]);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
for (const [blockJsonAbsoluteSrc, { blockJsonAssetName, blockJson }] of Object.entries(emittedBlocks)) {
|
|
47
|
+
const sourceDir = (0, node_path_1.dirname)(blockJsonAbsoluteSrc);
|
|
48
|
+
const outputDir = (0, node_path_1.join)(compilation.compiler.outputPath, (0, node_path_1.dirname)(blockJsonAssetName));
|
|
49
|
+
const pathsNeedRemapping = !this.config.standaloneBlocks && blockJson.plaudit !== "simple";
|
|
50
|
+
const preppedBlockJson = utils_1.nonFreezingImmer.produce(blockJson, draftBlockJson => {
|
|
51
|
+
BlocksDirectoryLoaderEmitterPlugin.remapReferencedPHPFilesOnKey(draftBlockJson, "setup", pathsNeedRemapping, sourceDir, outputDir, compilation, true);
|
|
52
|
+
BlocksDirectoryLoaderEmitterPlugin.remapReferencedPHPFilesOnKey(draftBlockJson, "variations", pathsNeedRemapping, sourceDir, outputDir, compilation, false);
|
|
53
|
+
BlocksDirectoryLoaderEmitterPlugin.handleExperimentalBlockSupportsFlags(draftBlockJson);
|
|
54
|
+
const hashes = relevantAssetToEntryMapping[blockJsonAbsoluteSrc]?.map(v => v[1].finalizedHandleMetadata.version) ?? [];
|
|
55
|
+
const hashForVersion = BlocksDirectoryLoaderEmitterPlugin.hashThingForAsset([JSON.stringify(draftBlockJson), ...hashes].join("~"));
|
|
56
|
+
if (draftBlockJson["version"]) {
|
|
57
|
+
draftBlockJson["version"] = `${draftBlockJson["version"]}-${hashForVersion}`;
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
draftBlockJson["version"] = hashForVersion;
|
|
61
|
+
}
|
|
62
|
+
for (const [name, attr] of Object.entries(draftBlockJson.attributes ?? {})) {
|
|
63
|
+
if ("supports-bindings" in attr) {
|
|
64
|
+
const supportsBindings = attr["supports-bindings"];
|
|
65
|
+
delete attr["supports-bindings"];
|
|
66
|
+
if (supportsBindings) {
|
|
67
|
+
if (!bindableBlockAttributes[draftBlockJson["name"]]?.push(name)) { // This will "return" a falsey value if push fails or is not available
|
|
68
|
+
bindableBlockAttributes[draftBlockJson["name"]] = [name];
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
BlocksDirectoryLoaderEmitterPlugin.normalizeRenderTemplate(draftBlockJson, pathsNeedRemapping, sourceDir, outputDir, compilation);
|
|
74
|
+
});
|
|
75
|
+
const blockDirName = (0, node_path_1.dirname)((0, node_path_1.relative)(this.dest.destination, blockJsonAssetName));
|
|
76
|
+
const assetDataForReplacement = relevantAssetToEntryMapping[blockJsonAbsoluteSrc] ?? [];
|
|
77
|
+
blockData[blockDirName] = utils_1.nonFreezingImmer.produce(Object.fromEntries(Object.entries(preppedBlockJson).filter(e => e[0] !== '$schema')), draftBlockJson => {
|
|
78
|
+
BlocksDirectoryLoaderEmitterPlugin.doFileOrHandleReplacements(compilation, draftBlockJson, assetDataForReplacement, (_, data) => data.handle);
|
|
79
|
+
});
|
|
80
|
+
const blockJsonAssetPathPrefix = (0, node_path_1.join)(this.dest.destination, blockDirName);
|
|
81
|
+
const emittableBlockJson = utils_1.nonFreezingImmer.produce(preppedBlockJson, draftBlockJson => {
|
|
82
|
+
BlocksDirectoryLoaderEmitterPlugin.doFileOrHandleReplacements(compilation, draftBlockJson, assetDataForReplacement, asset => `file:./${(0, node_path_1.relative)(blockJsonAssetPathPrefix, asset)}`);
|
|
83
|
+
});
|
|
84
|
+
compilation[blockJsonAssetName in compilation.assets ? 'updateAsset' : 'emitAsset'](blockJsonAssetName, new webpack_1.sources.RawSource(JSON.stringify(emittableBlockJson, undefined, " ")));
|
|
85
|
+
for (const [, data] of assetDataForReplacement) {
|
|
86
|
+
collectedHandles[data.type].push((0, api_1.convertToFinalHandleData)(data, this.dest.destination));
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
this.emitBlockdirLoaderPHP(compilation, bindableBlockAttributes, blockData, collectedHandles);
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
emitBlockdirLoaderPHP(compilation, bindableBlockAttributes, blockData, collectedHandles) {
|
|
94
|
+
const emitLoader = (writer) => {
|
|
95
|
+
(0, api_1.appendBlockManagerInitCall)(writer);
|
|
96
|
+
(0, api_1.appendAssetRegistrations)(compilation, writer, collectedHandles);
|
|
97
|
+
const entries = Object.entries(bindableBlockAttributes);
|
|
98
|
+
const supportedAttributes = new expressions_1.Var("supported_block_attributes", "?array");
|
|
99
|
+
if ((0, utils_1.arrayIsLength)(entries, 1)) {
|
|
100
|
+
writer.filter(`block_bindings_supported_attributes_${entries[0][0]}`, writer => {
|
|
101
|
+
const parameters = entries[0][1];
|
|
102
|
+
if (parameters.length === 1) {
|
|
103
|
+
writer.appendExpr(new expressions_1.Assignment(supportedAttributes, parameters[0], true));
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
writer.call("array_push", [supportedAttributes, ...parameters]);
|
|
107
|
+
}
|
|
108
|
+
writer.return(supportedAttributes);
|
|
109
|
+
}, { functionArgParameters: [supportedAttributes] });
|
|
110
|
+
}
|
|
111
|
+
else if (entries.length > 1) {
|
|
112
|
+
const compiledBindingSupportingAttributes = new expressions_1.Var("compiled_binding_supporting_attributes");
|
|
113
|
+
writer.assignment("compiled_binding_supporting_attributes", new expressions_1.PHPArray(bindableBlockAttributes));
|
|
114
|
+
const blockType = new expressions_1.Var("block_type", "?string");
|
|
115
|
+
writer.filter(`block_bindings_supported_attributes`, writer => {
|
|
116
|
+
writer
|
|
117
|
+
.if(expressions_1.Op.or(expressions_1.Expr.call("empty", [blockType]), expressions_1.Expr.call("empty", [new expressions_1.ArrayAccess(compiledBindingSupportingAttributes, blockType)])))
|
|
118
|
+
.return(supportedAttributes)
|
|
119
|
+
.endIf()
|
|
120
|
+
.call("array_push", [supportedAttributes, new expressions_1.Op("...", new expressions_1.ArrayAccess(compiledBindingSupportingAttributes, blockType))])
|
|
121
|
+
.return(supportedAttributes);
|
|
122
|
+
}, { functionArgParameters: [supportedAttributes, blockType], useVars: [compiledBindingSupportingAttributes] });
|
|
123
|
+
}
|
|
124
|
+
const blockdirConfig = new expressions_1.Var("blockdirConfig", "array");
|
|
125
|
+
writer.assign(blockdirConfig, new expressions_1.EnclosedLiteral((0, api_1.makeEmittableConfigPHP)(blockData, false, "\t")));
|
|
126
|
+
const reflectionClass = expressions_1.Expr.namespacedRef("ReflectionClass");
|
|
127
|
+
const targetClass = expressions_1.Expr.namespacedRef("WP_Block_Metadata_Registry");
|
|
128
|
+
const reflectedClass = new expressions_1.Var("reflectedClass", targetClass);
|
|
129
|
+
const collections = new expressions_1.Var("collections", "?array");
|
|
130
|
+
writer
|
|
131
|
+
.if(targetClass.isAvailable())
|
|
132
|
+
.assign(reflectedClass, reflectionClass.construct(targetClass.toTestableName()))
|
|
133
|
+
.assign(collections, new expressions_1.InstanceAccess(reflectedClass, expressions_1.Expr.call('getStaticPropertyValue', [expressions_1.Literal.primitive('collections')])))
|
|
134
|
+
.assign(new expressions_1.ArrayAccess(collections, expressions_1.Constants.__DIR__), new expressions_1.PHPArray({ metadata: blockdirConfig, manifest: expressions_1.Constants.__FILE__ }))
|
|
135
|
+
.appendExpr(new expressions_1.InstanceAccess(reflectedClass, expressions_1.Expr.call('setStaticPropertyValue', [expressions_1.Literal.primitive('collections'), collections])))
|
|
136
|
+
.endIf();
|
|
137
|
+
//TODO: Consider unrolling this if there are less than 5 blocks
|
|
138
|
+
const blockInfo = new expressions_1.Var("blockInfo");
|
|
139
|
+
const blockJSONFile = new expressions_1.Var("blockJSONFile");
|
|
140
|
+
writer
|
|
141
|
+
.foreach(blockdirConfig, blockInfo, blockJSONFile, writer => {
|
|
142
|
+
const skipInnerBlocks = new expressions_1.ArrayAccess(blockInfo, expressions_1.Literal.primitive('skipInnerBlocks'));
|
|
143
|
+
const jsonFilePath = expressions_1.Op.concat(expressions_1.Constants.__DIR__, expressions_1.Literal.primitive('/'), blockJSONFile);
|
|
144
|
+
const additionalMetadata = expressions_1.Expr.ternary(expressions_1.Expr.isset(skipInnerBlocks), new expressions_1.PHPArray({ skip_inner_blocks: skipInnerBlocks }), new expressions_1.PHPArray([]));
|
|
145
|
+
const errorMessage = expressions_1.Literal.interpolatedString(`The block.json file ${blockJSONFile} is listed in the blockdir.config, but does not represent a valid block.`);
|
|
146
|
+
writer
|
|
147
|
+
.if(expressions_1.Expr.call('register_block_type', [jsonFilePath, additionalMetadata]).not())
|
|
148
|
+
.call(expressions_1.Literal.name("trigger_error"), [errorMessage, expressions_1.Constants.E_USER_WARNING])
|
|
149
|
+
.endIf();
|
|
150
|
+
}, { enforceScope: 'none' });
|
|
151
|
+
};
|
|
152
|
+
const emitThemeJsonInjector = (writer) => {
|
|
153
|
+
if (this.config.useBlockSupportsAsThemeJsonDefaults) {
|
|
154
|
+
const copyableBlockSupports = [];
|
|
155
|
+
for (const { name, supports } of Object.values(blockData)) {
|
|
156
|
+
if (typeof name === 'string' && name && typeof supports === 'object' && supports && !Array.isArray(supports)) {
|
|
157
|
+
const flagProps = BlocksDirectoryLoaderEmitterPlugin.pickOutFlagPropsFromBlockSupports(supports);
|
|
158
|
+
if (flagProps) {
|
|
159
|
+
copyableBlockSupports.push([name, flagProps]);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
if (copyableBlockSupports.length > 0) {
|
|
164
|
+
const themeJsonBlockSettings = new expressions_1.EnclosedLiteral((0, api_1.makeEmittableConfigPHP)({
|
|
165
|
+
version: 3,
|
|
166
|
+
settings: {
|
|
167
|
+
blocks: Object.fromEntries(copyableBlockSupports)
|
|
168
|
+
}
|
|
169
|
+
}, false, "\t"));
|
|
170
|
+
const theme_json = new expressions_1.Var("theme_json");
|
|
171
|
+
writer.filter('wp_theme_json_data_blocks', writer => {
|
|
172
|
+
const updateCall = new expressions_1.Call(expressions_1.Literal.name("update_with"), [themeJsonBlockSettings]);
|
|
173
|
+
writer.return(new expressions_1.InstanceAccess(theme_json, [updateCall]));
|
|
174
|
+
}, { functionArgParameters: [theme_json] });
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
const file = new php_writer_1.PHPFile();
|
|
179
|
+
const compatibilityMode = !this.config.useUnifiedLoader;
|
|
180
|
+
if (compatibilityMode) {
|
|
181
|
+
(0, utils_1.emitResolveBaseUriFunction)(file);
|
|
182
|
+
}
|
|
183
|
+
let writer;
|
|
184
|
+
if (this.dest.locations.lazyLoader) {
|
|
185
|
+
if (compatibilityMode) {
|
|
186
|
+
(0, utils_1.emitError)("Cannot use the lazyLoader while useUnifiedLoader is false", { compilation, rawIdentifier: this.dest.destination });
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
writer = file.getWriter(this.config.targetNamespace);
|
|
190
|
+
for (const functionName of this.dest.locations.lazyLoader) {
|
|
191
|
+
writer.function(functionName, [], emitLoader);
|
|
192
|
+
}
|
|
193
|
+
emitThemeJsonInjector(writer);
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
writer = file.getWriter("");
|
|
197
|
+
if (compatibilityMode) {
|
|
198
|
+
const dedupeHash = (0, node_crypto_1.createHash)('md5').update(this.dest.destination).digest("hex");
|
|
199
|
+
writer.function(`plaudit_compat_mode_blocks_loader_${dedupeHash}`, [], writer => {
|
|
200
|
+
const has_run_check = new expressions_1.Var("has_run_check", 'bool');
|
|
201
|
+
writer
|
|
202
|
+
.append(`static ${has_run_check} = false;`)
|
|
203
|
+
.if(has_run_check)
|
|
204
|
+
.append("return;")
|
|
205
|
+
.endIf()
|
|
206
|
+
.assign(has_run_check, expressions_1.Literal.primitive(true))
|
|
207
|
+
.action("init", emitLoader, { accountForAlreadyDoing: this.config.includePostInitFallback });
|
|
208
|
+
emitThemeJsonInjector(writer);
|
|
209
|
+
}, { returnType: 'void', includeExistenceCheck: true });
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
writer.action("init", emitLoader, { accountForAlreadyDoing: this.config.includePostInitFallback });
|
|
213
|
+
emitThemeJsonInjector(writer);
|
|
214
|
+
}
|
|
215
|
+
if (compatibilityMode) {
|
|
216
|
+
writer.return(new expressions_1.PHPArray({ __metadata: { version: 3, scriptHandles: [], styleHandles: [] } }));
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
const assetName = (0, node_path_1.join)(this.dest.destination, compatibilityMode ? "blockdir.config.php" : "blockdir-loader.php");
|
|
220
|
+
(0, utils_1.emitPHPWriterAsAsset)(file, compilation, assetName);
|
|
221
|
+
this.coordinator.reportData(compilation, this, "unified-loader", {
|
|
222
|
+
group: `blocks-directory:${this.dest.destination}`,
|
|
223
|
+
requiresBaseURI: true,
|
|
224
|
+
action: file => file.require(assetName, { dirRelative: true, once: true }),
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
/*
|
|
228
|
+
* The block supports that have a boolean counterpart under theme.json's settings, as
|
|
229
|
+
* `settings key -> {support prop: settings prop}`. This is an allow-list rather than an ignore-list
|
|
230
|
+
* because most supports (align, alignWide, anchor, contentRole, inserter, interactivity, listView,
|
|
231
|
+
* plaudit, ...) have no theme.json settings equivalent at all, and the ones that do don't always
|
|
232
|
+
* share a name: typography's fontSize is settings.typography.customFontSize, and Gutenberg still
|
|
233
|
+
* ships several of these under an __experimental prefix.
|
|
234
|
+
*/
|
|
235
|
+
static THEME_JSON_FLAG_PROPS = {
|
|
236
|
+
color: { background: 'background', link: 'link', text: 'text' },
|
|
237
|
+
dimensions: { aspectRatio: 'aspectRatio', minHeight: 'minHeight' },
|
|
238
|
+
spacing: { blockGap: 'blockGap', margin: 'margin', padding: 'padding' },
|
|
239
|
+
typography: {
|
|
240
|
+
fontSize: 'customFontSize',
|
|
241
|
+
lineHeight: 'lineHeight',
|
|
242
|
+
textAlign: 'textAlign',
|
|
243
|
+
fontStyle: 'fontStyle', __experimentalFontStyle: 'fontStyle',
|
|
244
|
+
fontWeight: 'fontWeight', __experimentalFontWeight: 'fontWeight',
|
|
245
|
+
letterSpacing: 'letterSpacing', __experimentalLetterSpacing: 'letterSpacing',
|
|
246
|
+
textDecoration: 'textDecoration', __experimentalTextDecoration: 'textDecoration',
|
|
247
|
+
textTransform: 'textTransform', __experimentalTextTransform: 'textTransform',
|
|
248
|
+
writingMode: 'writingMode', __experimentalWritingMode: 'writingMode'
|
|
249
|
+
}
|
|
250
|
+
};
|
|
251
|
+
static pickOutFlagPropsFromBlockSupports(supports) {
|
|
252
|
+
function isRecord(value) {
|
|
253
|
+
return typeof value === 'object' && !!value && !Array.isArray(value);
|
|
254
|
+
}
|
|
255
|
+
let addedProp = false;
|
|
256
|
+
const res = {};
|
|
257
|
+
for (const [settingsKey, props] of Object.entries(BlocksDirectoryLoaderEmitterPlugin.THEME_JSON_FLAG_PROPS)) {
|
|
258
|
+
const support = supports[settingsKey];
|
|
259
|
+
if (!isRecord(support)) {
|
|
260
|
+
continue;
|
|
261
|
+
}
|
|
262
|
+
const flags = {};
|
|
263
|
+
for (const [supportProp, settingsProp] of Object.entries(props)) {
|
|
264
|
+
// A sided support such as `"margin": ["top", "bottom"]` is still just "on" as far as theme.json is concerned
|
|
265
|
+
if (support[supportProp]) {
|
|
266
|
+
flags[settingsProp] = true;
|
|
267
|
+
res[settingsKey] = flags;
|
|
268
|
+
addedProp = true;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
return addedProp ? res : undefined;
|
|
273
|
+
}
|
|
274
|
+
static doFileOrHandleReplacements(compilation, blockJson, assetDataForReplacement, getter) {
|
|
275
|
+
for (const [asset, data] of assetDataForReplacement) {
|
|
276
|
+
const { blockJsonAssetAbsoluteSrc, entrypointField, originalEntrypointFieldValue } = data.options;
|
|
277
|
+
const fieldValue = blockJson[entrypointField];
|
|
278
|
+
if (originalEntrypointFieldValue !== undefined) {
|
|
279
|
+
if (originalEntrypointFieldValue === fieldValue) {
|
|
280
|
+
blockJson[entrypointField] = getter(asset, data);
|
|
281
|
+
}
|
|
282
|
+
else if (typeof fieldValue === 'string') {
|
|
283
|
+
blockJson[entrypointField] = [fieldValue, getter(asset, data)];
|
|
284
|
+
}
|
|
285
|
+
else if (Array.isArray(fieldValue)) {
|
|
286
|
+
const replacementPos = fieldValue.indexOf(originalEntrypointFieldValue);
|
|
287
|
+
if (replacementPos === -1) {
|
|
288
|
+
compilation.warnings.push((0, utils_1.newWebpackErrorForFile)(`Unable to find ${originalEntrypointFieldValue} in ${entrypointField}`, blockJsonAssetAbsoluteSrc));
|
|
289
|
+
blockJson[entrypointField] = fieldValue.concat(getter(asset, data));
|
|
290
|
+
}
|
|
291
|
+
else {
|
|
292
|
+
blockJson[entrypointField] = fieldValue.toSpliced(replacementPos, 1, getter(asset, data));
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
else {
|
|
296
|
+
blockJson[entrypointField] = getter(asset, data);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
else {
|
|
300
|
+
if (typeof fieldValue === 'string') {
|
|
301
|
+
blockJson[entrypointField] = [fieldValue, getter(asset, data)];
|
|
302
|
+
}
|
|
303
|
+
else if (Array.isArray(fieldValue)) {
|
|
304
|
+
blockJson[entrypointField] = fieldValue.concat(getter(asset, data));
|
|
305
|
+
}
|
|
306
|
+
else {
|
|
307
|
+
blockJson[entrypointField] = getter(asset, data);
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
static hashThingForAsset(thing) {
|
|
313
|
+
return (0, node_crypto_1.createHash)('md5').update(thing).digest("hex").substring(0, 20).toLowerCase();
|
|
314
|
+
}
|
|
315
|
+
static findCommonAncestor(...paths) {
|
|
316
|
+
return paths.map(p => (0, node_path_1.normalize)(p).split(node_path_1.sep)).reduce((prior, current) => {
|
|
317
|
+
for (let i = 0, limit = Math.min(prior.length, current.length); i < limit; i++) {
|
|
318
|
+
if (prior[i] !== current[i]) {
|
|
319
|
+
return prior.slice(0, i);
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
return current.length < prior.length ? current : prior;
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
static findRelativeRouteBetween(path1, path2) {
|
|
326
|
+
const commonAncestor = BlocksDirectoryLoaderEmitterPlugin.findCommonAncestor(path1, path2);
|
|
327
|
+
return (".." + node_path_1.sep).repeat(path1.split(node_path_1.sep).length - commonAncestor.length) + (0, node_path_1.relative)(commonAncestor.join(node_path_1.sep), path2);
|
|
328
|
+
}
|
|
329
|
+
static remapReferencedPHPFilesOnKey(blockJson, key, pathsNeedRemapping, sourceDir, outputDir, compilation, inPlaudit) {
|
|
330
|
+
const rawValue = (inPlaudit ? blockJson["plaudit"] : blockJson)?.[key];
|
|
331
|
+
let rawFiles;
|
|
332
|
+
let deleteOnEmpty = true;
|
|
333
|
+
if (typeof rawValue === 'string') {
|
|
334
|
+
rawFiles = [rawValue];
|
|
335
|
+
}
|
|
336
|
+
else if (Array.isArray(rawValue) && rawValue.length > 0) {
|
|
337
|
+
const fileReferences = rawValue.filter((value) => typeof value === 'string' && value.startsWith("file:./"));
|
|
338
|
+
if (fileReferences.length === rawValue.length) {
|
|
339
|
+
rawFiles = fileReferences;
|
|
340
|
+
}
|
|
341
|
+
else {
|
|
342
|
+
if (fileReferences.length !== 0) {
|
|
343
|
+
compilation.warnings.push((0, utils_1.newWebpackErrorForFile)(`Encountered a block with a mixture of file-reference and non-file-reference elements in the "${inPlaudit ? 'plaudit.' : ''}${key}" property`, (0, node_path_1.join)(sourceDir, 'block.json')));
|
|
344
|
+
rawFiles = fileReferences;
|
|
345
|
+
}
|
|
346
|
+
else {
|
|
347
|
+
rawFiles = [`${key}.php`]; // We want to emit an error if both an appropriately-named file AND an incompatible value exist, so we still need to do the check
|
|
348
|
+
}
|
|
349
|
+
deleteOnEmpty = false;
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
else {
|
|
353
|
+
if (rawValue && (!Array.isArray(rawValue) || rawValue.length === 0)) {
|
|
354
|
+
deleteOnEmpty = false;
|
|
355
|
+
}
|
|
356
|
+
rawFiles = [`${key}.php`];
|
|
357
|
+
}
|
|
358
|
+
const mappedFiles = pathsNeedRemapping
|
|
359
|
+
? rawFiles
|
|
360
|
+
.map(p => (0, node_path_1.normalize)((0, node_path_1.join)(sourceDir, (0, utils_1.stripFilePrefix)(p))))
|
|
361
|
+
.filter(node_fs_1.existsSync)
|
|
362
|
+
.map(p => `file:./${BlocksDirectoryLoaderEmitterPlugin.findRelativeRouteBetween(outputDir, p)}`)
|
|
363
|
+
: rawFiles
|
|
364
|
+
.filter(p => (0, node_fs_1.existsSync)((0, node_path_1.normalize)((0, node_path_1.join)(sourceDir, (0, utils_1.stripFilePrefix)(p)))));
|
|
365
|
+
if (mappedFiles.length === 0) {
|
|
366
|
+
if (deleteOnEmpty && rawValue !== undefined) {
|
|
367
|
+
delete (inPlaudit ? blockJson["plaudit"] : blockJson)[key];
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
else {
|
|
371
|
+
if (inPlaudit && typeof blockJson["plaudit"] !== 'object') {
|
|
372
|
+
if (blockJson["plaudit"] === "native") {
|
|
373
|
+
blockJson["plaudit"] = { type: "native" };
|
|
374
|
+
}
|
|
375
|
+
else {
|
|
376
|
+
blockJson["plaudit"] = {};
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
(inPlaudit ? blockJson["plaudit"] : blockJson)[key] = mappedFiles.length === 1 ? mappedFiles[0] : mappedFiles;
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
static normalizeRenderTemplate(blockJson, pathsNeedRemapping, sourceDir, outputDir, compilation) {
|
|
383
|
+
if (blockJson["acf"]) {
|
|
384
|
+
if (blockJson["acf"]["renderTemplate"]) {
|
|
385
|
+
blockJson["render_template"] = blockJson["acf"]["renderTemplate"];
|
|
386
|
+
delete blockJson["acf"]["renderTemplate"];
|
|
387
|
+
}
|
|
388
|
+
else if (blockJson["acf"]["render_template"]) {
|
|
389
|
+
blockJson["render_template"] = blockJson["acf"]["render_template"];
|
|
390
|
+
delete blockJson["acf"]["render_template"];
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
const blockName = blockJson["name"]?.toString() || "non-existent/block-name";
|
|
394
|
+
let rawRenderTemplate = blockJson["render"] ?? blockJson["render_template"];
|
|
395
|
+
rawRenderTemplate = (rawRenderTemplate
|
|
396
|
+
? (typeof rawRenderTemplate === 'string' ? [rawRenderTemplate] : rawRenderTemplate)
|
|
397
|
+
: [`${blockName.substring(blockName.indexOf('/') + 1)}.php`, "template.php", "template.twig"]);
|
|
398
|
+
const renderTemplate = pathsNeedRemapping
|
|
399
|
+
? rawRenderTemplate
|
|
400
|
+
.map(p => (0, node_path_1.normalize)((0, node_path_1.join)(sourceDir, (0, utils_1.stripFilePrefix)(p))))
|
|
401
|
+
.filter(node_fs_1.existsSync)
|
|
402
|
+
.map(p => `file:./${BlocksDirectoryLoaderEmitterPlugin.findRelativeRouteBetween(outputDir, p)}`)
|
|
403
|
+
: rawRenderTemplate
|
|
404
|
+
.filter(p => (0, node_fs_1.existsSync)((0, node_path_1.normalize)((0, node_path_1.join)(sourceDir, (0, utils_1.stripFilePrefix)(p)))));
|
|
405
|
+
if (renderTemplate.length === 0) {
|
|
406
|
+
delete blockJson["render_template"];
|
|
407
|
+
delete blockJson["render"];
|
|
408
|
+
}
|
|
409
|
+
else {
|
|
410
|
+
let validTemplateLocation, invalidTemplateLocation;
|
|
411
|
+
if (blockJson["acf"] || (blockJson["plaudit"] && (blockJson["plaudit"] !== "native" && (typeof blockJson["plaudit"] !== 'object' || blockJson["plaudit"]?.["type"] !== "native")))) {
|
|
412
|
+
// ACF-like blocks need to have the template stored in render_template.
|
|
413
|
+
// Because we can statically detect ACF-like blocks, we can make the move here instead of at run-time.
|
|
414
|
+
validTemplateLocation = "render_template";
|
|
415
|
+
invalidTemplateLocation = "render";
|
|
416
|
+
}
|
|
417
|
+
else {
|
|
418
|
+
validTemplateLocation = "render";
|
|
419
|
+
invalidTemplateLocation = "render_template";
|
|
420
|
+
}
|
|
421
|
+
delete blockJson[invalidTemplateLocation];
|
|
422
|
+
if (renderTemplate.length > 1) {
|
|
423
|
+
compilation.warnings.push((0, utils_1.newWebpackErrorForFile)("Encountered a block with multiple possible render files. Please set the render key in block.json to the intended one", (0, node_path_1.join)(sourceDir, 'block.json')));
|
|
424
|
+
blockJson[validTemplateLocation] = renderTemplate.find(p => p.endsWith(".php")) ?? renderTemplate[0];
|
|
425
|
+
}
|
|
426
|
+
else {
|
|
427
|
+
blockJson[validTemplateLocation] = renderTemplate[0];
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
static knownExperimentalProperties = ['border', 'defaultControls', 'fontFamily', 'fontWeight', 'fontStyle', 'letterSpacing', 'textTransform', 'textDecoration']
|
|
432
|
+
.map(prop => [prop, "__experimental" + prop.substring(0, 1).toUpperCase() + prop.substring(1)]);
|
|
433
|
+
static handleExperimentalBlockSupportsFlags(blockSupports) {
|
|
434
|
+
for (const [key, value] of Object.entries(blockSupports)) {
|
|
435
|
+
if (typeof value === 'object' && value && !Array.isArray(value)) {
|
|
436
|
+
BlocksDirectoryLoaderEmitterPlugin.handleExperimentalBlockSupportsFlags(value);
|
|
437
|
+
}
|
|
438
|
+
if (!key.startsWith("__experimental")) {
|
|
439
|
+
continue;
|
|
440
|
+
}
|
|
441
|
+
const realKey = key.substring(14, 15).toLowerCase() + key.substring(15);
|
|
442
|
+
if (!(realKey in blockSupports)) {
|
|
443
|
+
blockSupports[realKey] = value;
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
// This handles known currently-experimental properties
|
|
447
|
+
for (const [eventualKey, experimentalKey] of BlocksDirectoryLoaderEmitterPlugin.knownExperimentalProperties) {
|
|
448
|
+
if (eventualKey in blockSupports && !(experimentalKey in blockSupports)) {
|
|
449
|
+
blockSupports[experimentalKey] = blockSupports[eventualKey];
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
getCoordinatedEmissionTargets() {
|
|
454
|
+
return [UnifiedLoaderGenerator_1.UnifiedLoaderGenerator.emissionTarget(this.config)];
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
exports.BlocksDirectoryLoaderEmitterPlugin = BlocksDirectoryLoaderEmitterPlugin;
|
|
458
|
+
//# sourceMappingURL=BlocksDirectoryLoaderEmitterPlugin.js.map
|