@plaudit/webpack-extensions 4.0.0-rc.1 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -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/api/entries/index.js +22 -0
- 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 +5 -0
- package/dist/plugins/AdditionalDependencyInjectorPlugin.d.ts.map +1 -0
- package/dist/plugins/AdditionalDependencyInjectorPlugin.js +59 -0
- package/dist/plugins/AdditionalDependencyInjectorPlugin.js.map +1 -0
- package/dist/plugins/MiniCSSExtractPluginErrorCleaner.d.ts +5 -0
- package/dist/plugins/MiniCSSExtractPluginErrorCleaner.d.ts.map +1 -0
- package/dist/plugins/MiniCSSExtractPluginErrorCleaner.js +16 -0
- package/dist/plugins/MiniCSSExtractPluginErrorCleaner.js.map +1 -0
- package/dist/plugins/PackageConfigSanityChecker.d.ts +5 -0
- package/dist/plugins/PackageConfigSanityChecker.d.ts.map +1 -0
- package/dist/plugins/PackageConfigSanityChecker.js +31 -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 +8 -0
- package/dist/plugins/VariablesJSMonitorPlugin.d.ts.map +1 -0
- package/dist/plugins/VariablesJSMonitorPlugin.js +21 -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 +5 -0
- package/dist/plugins/dependency-extraction-webpack-plugin-config-builder.d.ts.map +1 -0
- package/dist/plugins/dependency-extraction-webpack-plugin-config-builder.js +148 -0
- 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/index.d.ts +11 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +27 -0
- package/dist/plugins/index.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/wpml-config/WPMLConfigBuilder.js +542 -0
- 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 +38 -0
- package/dist/shared.d.ts.map +1 -0
- package/dist/shared.js +163 -0
- 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 +15 -0
- package/dist/utils/pseudo-semaphore.d.ts.map +1 -0
- package/dist/utils/pseudo-semaphore.js +77 -0
- 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 +73 -0
- package/dist/wordpress-ports/dependency-extraction-webpack-plugin/index.d.ts.map +1 -0
- package/dist/wordpress-ports/dependency-extraction-webpack-plugin/index.js +516 -0
- package/dist/wordpress-ports/dependency-extraction-webpack-plugin/index.js.map +1 -0
- package/dist/wordpress-ports/dependency-extraction-webpack-plugin/util.d.ts +57 -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 +156 -0
- package/dist/wordpress-ports/dependency-extraction-webpack-plugin/util.js.map +1 -0
- package/dist/wordpress-scripts-wrapper.d.ts +5 -0
- package/dist/wordpress-scripts-wrapper.d.ts.map +1 -0
- package/dist/wordpress-scripts-wrapper.js +444 -0
- package/dist/wordpress-scripts-wrapper.js.map +1 -0
- package/package.json +7 -3
package/CHANGELOG.md
CHANGED
|
@@ -5,10 +5,18 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [4.1.0] - 2026-10-15
|
|
9
|
+
### Added
|
|
10
|
+
- An updated `plugins` export
|
|
11
|
+
|
|
12
|
+
## [4.0.0] - 2026-10-15
|
|
13
|
+
### Fixed
|
|
14
|
+
- The package not having any built files when published
|
|
15
|
+
- The Unified Loader getting double-registered
|
|
16
|
+
|
|
8
17
|
## [4.0.0-rc.1] - 2026-10-15
|
|
9
18
|
### Changed
|
|
10
19
|
- Refactored this into a modular system
|
|
11
|
-
- Updated the
|
|
12
20
|
|
|
13
21
|
### Fixed
|
|
14
22
|
- Mountains of bugs
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { PHPFile, PHPWriter } from "@plaudit/php-writer";
|
|
2
|
+
import { HereOrNowDoc, Var } from "@plaudit/php-writer/expressions";
|
|
3
|
+
import type { Compilation } from "webpack";
|
|
4
|
+
import type { AssociationMechanism } from "../plugins/RootCoordinatorPluginImpl";
|
|
5
|
+
import { type EnqueuedAssetType, type EntrypointField, type InliningPosition, type LocationsWithActionAndHookNameSupport, type LocationsWithActionSupport, type LocationsWithHookNameSupport, type NormalizedUsageLocations, type PlauditEntryOptions, type ProcessedEntrypointIdentifier } from "./entries";
|
|
6
|
+
import type { HandleAndDerivationMechanism } from "./handle-derivation";
|
|
7
|
+
import type { DelegateContext, VerifiedPlauditWordpressWebpackConfig, WPModuleDependency } from "./shared-types";
|
|
8
|
+
export type FinalizedHandleMetadata = {
|
|
9
|
+
src: string;
|
|
10
|
+
dependencies: WPModuleDependency[];
|
|
11
|
+
version: string;
|
|
12
|
+
scriptArgsObject?: ScriptArgsObject | string;
|
|
13
|
+
contents?: string;
|
|
14
|
+
};
|
|
15
|
+
export type UnifiedAssetsCacheEntry<O extends PlauditEntryOptions = PlauditEntryOptions> = {
|
|
16
|
+
handle: HandleAndDerivationMechanism['handle'];
|
|
17
|
+
omitRegistration?: true;
|
|
18
|
+
associatedAssets?: UnifiedAssetsCacheEntry[];
|
|
19
|
+
associationMechanism?: AssociationMechanism;
|
|
20
|
+
finalizedHandleMetadata: FinalizedHandleMetadata;
|
|
21
|
+
options: O;
|
|
22
|
+
type: EnqueuedAssetType;
|
|
23
|
+
};
|
|
24
|
+
type BaseRestType = Readonly<[/* dependencies: */ WPModuleDependency[], /* version: */ string]>;
|
|
25
|
+
export type BaseHandleData = {
|
|
26
|
+
src: string;
|
|
27
|
+
rest: BaseRestType | [...BaseRestType, ScriptArgsObject | string];
|
|
28
|
+
};
|
|
29
|
+
export type ScriptArgsObject = {
|
|
30
|
+
strategy?: 'defer' | 'async';
|
|
31
|
+
in_footer?: boolean;
|
|
32
|
+
fetchpriority?: 'auto' | 'low' | 'high';
|
|
33
|
+
module_dependencies?: WPModuleDependency[];
|
|
34
|
+
};
|
|
35
|
+
export type FinalHandleData = BaseHandleData & {
|
|
36
|
+
type: EnqueuedAssetType;
|
|
37
|
+
handle: string;
|
|
38
|
+
omitRegistration: boolean;
|
|
39
|
+
inline?: {
|
|
40
|
+
position: InliningPosition;
|
|
41
|
+
contents: string;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
export type CollectedHandles = Record<EnqueuedAssetType, FinalHandleData[]>;
|
|
45
|
+
export declare function convertToFinalHandleData(entry: UnifiedAssetsCacheEntry, srcRelative?: string): FinalHandleData;
|
|
46
|
+
export declare function assetShouldBeInlined(handleData: FinalHandleData): handleData is Required<FinalHandleData>;
|
|
47
|
+
export declare function appendBlockManagerInitCall(writer: PHPWriter): void;
|
|
48
|
+
export declare function appendAssetRegistrations(compilation: Compilation, writer: PHPWriter, collectedHandles: CollectedHandles, baseUriVar?: Var): Var;
|
|
49
|
+
export declare function appendAssetEnqueues(writer: PHPWriter, collectedHandles: CollectedHandles): void;
|
|
50
|
+
type AdditionalHandleContentItem = Readonly<[(writer: PHPWriter) => void, number] | [(writer: PHPWriter) => void]>;
|
|
51
|
+
type AdditionalHookContents = Partial<Record<keyof SplitOutAssets, ReadonlyArray<AdditionalHandleContentItem>>>;
|
|
52
|
+
type Config = {
|
|
53
|
+
additionalHookContents?: AdditionalHookContents;
|
|
54
|
+
registerOnly?: boolean;
|
|
55
|
+
useBlockEditorSettingsInjectionHack?: boolean;
|
|
56
|
+
};
|
|
57
|
+
export declare function appendAssetHooks(compilation: Compilation, assets: UnifiedAssetsCacheEntry[], webpackConfig: VerifiedPlauditWordpressWebpackConfig, file: PHPFile, config?: Config): void;
|
|
58
|
+
type SplitOutHandleItem = [UnifiedAssetsCacheEntry[], ((writer: PHPWriter) => void)[]];
|
|
59
|
+
type StandardLocationSplitOutAssets = Partial<Record<Exclude<LocationsWithActionSupport, LocationsWithHookNameSupport> | 'register', Record<number, SplitOutHandleItem>>>;
|
|
60
|
+
type SplitOutAssets = StandardLocationSplitOutAssets & Partial<Record<LocationsWithActionAndHookNameSupport, Record<number, [Record<string, UnifiedAssetsCacheEntry[]>, SplitOutHandleItem[1]]>>> & Partial<Record<Exclude<LocationsWithHookNameSupport, LocationsWithActionSupport>, Record<string, UnifiedAssetsCacheEntry[]>>>;
|
|
61
|
+
/**
|
|
62
|
+
* @param compilation
|
|
63
|
+
* @param writer
|
|
64
|
+
* @param type 'script_module' is NOT supported at this time; however, it is *handled* in this function
|
|
65
|
+
* @param handleData
|
|
66
|
+
*/
|
|
67
|
+
export declare function appendAddInlineAssetCall(compilation: Compilation, writer: PHPWriter, type: EnqueuedAssetType, handleData: Required<FinalHandleData>): void;
|
|
68
|
+
export declare function wrapInlineAssetContents(compilation: Compilation, wrapperIdPrefix: string, handle: string, contents: string): HereOrNowDoc;
|
|
69
|
+
export declare function deriveEntrypointFieldAndBlockSafeLocations({ locations, type }: ProcessedEntrypointIdentifier, processingModules: boolean, delegateContext?: DelegateContext): {
|
|
70
|
+
locations: NormalizedUsageLocations;
|
|
71
|
+
entrypointField: EntrypointField | undefined;
|
|
72
|
+
};
|
|
73
|
+
export {};
|
|
74
|
+
//# sourceMappingURL=asset-information-emission.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset-information-emission.d.ts","sourceRoot":"","sources":["../../src/api/asset-information-emission.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,398 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertToFinalHandleData = convertToFinalHandleData;
|
|
4
|
+
exports.assetShouldBeInlined = assetShouldBeInlined;
|
|
5
|
+
exports.appendBlockManagerInitCall = appendBlockManagerInitCall;
|
|
6
|
+
exports.appendAssetRegistrations = appendAssetRegistrations;
|
|
7
|
+
exports.appendAssetEnqueues = appendAssetEnqueues;
|
|
8
|
+
exports.appendAssetHooks = appendAssetHooks;
|
|
9
|
+
exports.appendAddInlineAssetCall = appendAddInlineAssetCall;
|
|
10
|
+
exports.wrapInlineAssetContents = wrapInlineAssetContents;
|
|
11
|
+
exports.deriveEntrypointFieldAndBlockSafeLocations = deriveEntrypointFieldAndBlockSafeLocations;
|
|
12
|
+
const node_crypto_1 = require("node:crypto");
|
|
13
|
+
const node_path_1 = require("node:path");
|
|
14
|
+
const useful_types_1 = require("@plaudit/gutenberg-api-extensions/lib/useful-types");
|
|
15
|
+
const expressions_1 = require("@plaudit/php-writer/expressions");
|
|
16
|
+
const utils_1 = require("../utils");
|
|
17
|
+
const entries_1 = require("./entries");
|
|
18
|
+
function convertToFinalHandleData(entry, srcRelative) {
|
|
19
|
+
let mergedDeps;
|
|
20
|
+
if (entry.associatedAssets?.length) {
|
|
21
|
+
mergedDeps = [...entry.finalizedHandleMetadata.dependencies, ...entry.associatedAssets.map(aa => aa.handle)];
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
mergedDeps = entry.finalizedHandleMetadata.dependencies;
|
|
25
|
+
}
|
|
26
|
+
const baseRest = [mergedDeps.filter(makeUniquenessFilter()), entry.finalizedHandleMetadata.version];
|
|
27
|
+
return {
|
|
28
|
+
type: entry.type,
|
|
29
|
+
handle: entry.handle,
|
|
30
|
+
omitRegistration: entry.omitRegistration ?? false,
|
|
31
|
+
inline: entry.options.flags.inline !== undefined ? { position: entry.options.flags.inline, contents: entry.finalizedHandleMetadata.contents ?? "" } : undefined,
|
|
32
|
+
src: srcRelative ? (0, node_path_1.relative)(srcRelative, entry.finalizedHandleMetadata.src) : entry.finalizedHandleMetadata.src,
|
|
33
|
+
rest: entry.finalizedHandleMetadata.scriptArgsObject !== undefined ? [...baseRest, entry.finalizedHandleMetadata.scriptArgsObject] : baseRest
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
function assetShouldBeInlined(handleData) {
|
|
37
|
+
return handleData.inline !== undefined;
|
|
38
|
+
}
|
|
39
|
+
function appendBlockManagerInitCall(writer) {
|
|
40
|
+
const blockManagerClass = expressions_1.Expr.namespacedRef("Plaudit\\Common\\ACF\\BlockManager");
|
|
41
|
+
writer
|
|
42
|
+
.if(blockManagerClass.isAvailable())
|
|
43
|
+
.call(new expressions_1.StaticAccess(blockManagerClass, 'init'), [])
|
|
44
|
+
.endIf();
|
|
45
|
+
}
|
|
46
|
+
function appendAssetRegistrations(compilation, writer, collectedHandles, baseUriVar) {
|
|
47
|
+
if (baseUriVar === undefined) {
|
|
48
|
+
baseUriVar = new expressions_1.Var("base_uri");
|
|
49
|
+
if (Object.values(collectedHandles).some(ch => ch.find(h => h.inline === undefined))) {
|
|
50
|
+
writer.call("plaudit_webpack_extensions__resolve_base_uri", [expressions_1.Constants.__DIR__], { assignTo: baseUriVar });
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
let isFirstSet = true;
|
|
54
|
+
for (const [type, assets] of (0, utils_1.constantEntries)(collectedHandles)) {
|
|
55
|
+
if (assets.length < 1) {
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
if (isFirstSet) {
|
|
59
|
+
isFirstSet = false;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
writer.linebreak();
|
|
63
|
+
}
|
|
64
|
+
const sortedAssets = assets.sort((a, b) => a.handle.localeCompare(b.handle));
|
|
65
|
+
for (const data of sortedAssets) {
|
|
66
|
+
if (!data.omitRegistration) {
|
|
67
|
+
const src = data.inline ? false : expressions_1.Op.concat(baseUriVar, data.src);
|
|
68
|
+
let rest = data.rest;
|
|
69
|
+
if (src === false && rest[2] && typeof rest[2] !== 'string') {
|
|
70
|
+
if ((0, entries_1.isDeferringLoadingStrategy)(rest[2].strategy)) {
|
|
71
|
+
const { strategy, ...clean } = rest[2];
|
|
72
|
+
rest = (Object.keys(clean).length > 0 ? rest.toSpliced(2, 1, clean) : rest.toSpliced(2, 1));
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
writer.call(`wp_register_${type}`, [data.handle, src, ...rest]);
|
|
76
|
+
}
|
|
77
|
+
if (assetShouldBeInlined(data)) {
|
|
78
|
+
appendAddInlineAssetCall(compilation, writer, type, data);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return baseUriVar;
|
|
83
|
+
}
|
|
84
|
+
function appendAssetEnqueues(writer, collectedHandles) {
|
|
85
|
+
for (const [type, assets] of Object.entries(collectedHandles)) {
|
|
86
|
+
const sortedAssets = assets.sort((a, b) => a.handle.localeCompare(b.handle));
|
|
87
|
+
for (const data of sortedAssets) {
|
|
88
|
+
writer.call(`wp_enqueue_${type}`, [data.handle]);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
function appendAssetHooks(compilation, assets, webpackConfig, file, config = {}) {
|
|
93
|
+
// We make a deep copy so that we can safely pop items
|
|
94
|
+
const additionalHookContents = Object.fromEntries(Object.entries(config.additionalHookContents ?? {})
|
|
95
|
+
.map(([k, v]) => {
|
|
96
|
+
return [
|
|
97
|
+
k,
|
|
98
|
+
v.map((e) => [e[0], e[1] ?? entries_1.DEFAULT_WP_HOOK_PRIORITY])
|
|
99
|
+
.sort((a, b) => a[1] - b[1])
|
|
100
|
+
];
|
|
101
|
+
}));
|
|
102
|
+
const { lazyLoader, admin, register, ...standard } = splitOutAssetsByPriority(assets, additionalHookContents);
|
|
103
|
+
const writer = file.getWriter("");
|
|
104
|
+
let emitNewline = false;
|
|
105
|
+
if (register !== undefined) {
|
|
106
|
+
if (emitNewline) {
|
|
107
|
+
writer.linebreak();
|
|
108
|
+
emitNewline = false;
|
|
109
|
+
}
|
|
110
|
+
for (const [priority, hooks] of Object.entries(register)) {
|
|
111
|
+
writer.action("init", writer => {
|
|
112
|
+
if (hooks[0].length > 0) {
|
|
113
|
+
appendAssetRegistrations(compilation, writer, convertToCollectedHandles(hooks[0]));
|
|
114
|
+
}
|
|
115
|
+
for (const addition of hooks[1]) {
|
|
116
|
+
const lineCount = writer.getLineCount();
|
|
117
|
+
addition(writer);
|
|
118
|
+
if (writer.getLineCount() > lineCount) { // Only add a linebreak before the addition if it actually added things
|
|
119
|
+
writer.linebreak(lineCount);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}, { priority: parseInt(priority, 10), accountForAlreadyDoing: webpackConfig.includePostInitFallback });
|
|
123
|
+
}
|
|
124
|
+
emitNewline = true;
|
|
125
|
+
}
|
|
126
|
+
const blockEditorSettingsHackItems = {};
|
|
127
|
+
for (const [location, enqueued] of Object.entries(standard)) {
|
|
128
|
+
if (emitNewline) {
|
|
129
|
+
writer.linebreak();
|
|
130
|
+
emitNewline = false;
|
|
131
|
+
}
|
|
132
|
+
for (const [priority, [hooks, additions]] of sortEnqueuedItemsByPriority(enqueued)) {
|
|
133
|
+
let remainingHandles;
|
|
134
|
+
if (config.useBlockEditorSettingsInjectionHack && location === 'clientEditor') {
|
|
135
|
+
const itemsNeedingHack = hooks.filter(item => item.type === 'style');
|
|
136
|
+
if ((0, useful_types_1.arrayIsNotEmpty)(itemsNeedingHack)) {
|
|
137
|
+
if (blockEditorSettingsHackItems[priority]) {
|
|
138
|
+
blockEditorSettingsHackItems[priority].push(...itemsNeedingHack);
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
blockEditorSettingsHackItems[priority] = itemsNeedingHack;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
remainingHandles = hooks.filter(item => item.type !== 'style');
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
remainingHandles = hooks;
|
|
148
|
+
}
|
|
149
|
+
if (remainingHandles.length > 0 || additions.length > 0) {
|
|
150
|
+
writer.action(entries_1.standardLocationNamesMeta[location].action, writer => {
|
|
151
|
+
if (remainingHandles.length > 0) {
|
|
152
|
+
appendAssetEnqueues(writer, convertToCollectedHandles(remainingHandles));
|
|
153
|
+
}
|
|
154
|
+
for (const addition of additions) {
|
|
155
|
+
const lineCount = writer.getLineCount();
|
|
156
|
+
addition(writer);
|
|
157
|
+
if (writer.getLineCount() > lineCount) { // Only add a linebreak before the addition if it actually added things
|
|
158
|
+
writer.linebreak(lineCount);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}, { priority, accountForAlreadyDoing: webpackConfig.includePostInitFallback });
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
emitNewline = true;
|
|
165
|
+
}
|
|
166
|
+
if (admin !== undefined) {
|
|
167
|
+
if (emitNewline) {
|
|
168
|
+
writer.linebreak();
|
|
169
|
+
emitNewline = false;
|
|
170
|
+
}
|
|
171
|
+
for (const [priority, hooks] of sortEnqueuedItemsByPriority(admin)) {
|
|
172
|
+
const hook_name_var = new expressions_1.Var("hook_name", "?string");
|
|
173
|
+
const functionArgParameters = Object.keys(hooks[0]).find(k => k !== "") ? [hook_name_var] : [];
|
|
174
|
+
writer.action(entries_1.standardLocationNamesMeta.admin.action, writer => {
|
|
175
|
+
const { "": global, ...rest } = hooks[0];
|
|
176
|
+
const nonGlobalHooks = Object.entries(rest)
|
|
177
|
+
.sort(([a], [b]) => a.localeCompare(b));
|
|
178
|
+
if (global?.length) {
|
|
179
|
+
appendAssetEnqueues(writer, convertToCollectedHandles(global));
|
|
180
|
+
if (nonGlobalHooks.length > 0) {
|
|
181
|
+
writer.linebreak();
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
for (const [hook_name, items] of nonGlobalHooks) {
|
|
185
|
+
writer.if(expressions_1.Op.binary(hook_name_var, " === ", hook_name));
|
|
186
|
+
appendAssetEnqueues(writer, convertToCollectedHandles(items));
|
|
187
|
+
writer.endIf();
|
|
188
|
+
}
|
|
189
|
+
for (const addition of hooks[1]) {
|
|
190
|
+
const lineCount = writer.getLineCount();
|
|
191
|
+
addition(writer);
|
|
192
|
+
if (writer.getLineCount() > lineCount) { // Only add a linebreak before the addition if it actually added things
|
|
193
|
+
writer.linebreak(lineCount);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}, { priority, accountForAlreadyDoing: webpackConfig.includePostInitFallback, functionArgParameters });
|
|
197
|
+
}
|
|
198
|
+
emitNewline = true;
|
|
199
|
+
}
|
|
200
|
+
if (lazyLoader !== undefined) {
|
|
201
|
+
// We don't add a linebreak here because this segment is emitted as part of a different namespace
|
|
202
|
+
const lazyLoaderWriter = file.getWriter(webpackConfig.targetNamespace);
|
|
203
|
+
for (const [functionName, items] of Object.entries(lazyLoader).sort(([a], [b]) => a.localeCompare(b))) {
|
|
204
|
+
lazyLoaderWriter.function(functionName, [], writer => {
|
|
205
|
+
appendAssetEnqueues(writer, convertToCollectedHandles(items));
|
|
206
|
+
}, { returnType: 'void' });
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
const itemsNeedingHack = sortEnqueuedItemsByPriority(blockEditorSettingsHackItems);
|
|
210
|
+
if (itemsNeedingHack.length > 0) {
|
|
211
|
+
if (emitNewline) {
|
|
212
|
+
writer.linebreak();
|
|
213
|
+
emitNewline = false;
|
|
214
|
+
}
|
|
215
|
+
for (const [priority, items] of itemsNeedingHack) {
|
|
216
|
+
items.sort((a, b) => a.handle.localeCompare(b.handle));
|
|
217
|
+
const editorSettings = new expressions_1.Var("editor_settings");
|
|
218
|
+
writer.filter("block_editor_settings_all", writer => {
|
|
219
|
+
//TODO: See if there's a way to rewrite the relative URLs to be site-relative? Probably going to need to use a PHP variable or something?
|
|
220
|
+
for (const data of items) {
|
|
221
|
+
const contents = data.finalizedHandleMetadata.contents ?? "";
|
|
222
|
+
writer.appendExpr(new expressions_1.Assignment(new expressions_1.ArrayAccess(editorSettings, "styles"), new expressions_1.PHPArray({ css: wrapInlineAssetContents(compilation, "plaudit_editor_style", data.handle, contents) }), true));
|
|
223
|
+
}
|
|
224
|
+
writer.return(editorSettings);
|
|
225
|
+
}, { priority, functionArgParameters: [editorSettings], accountForAlreadyDoing: false });
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
function sortEnqueuedItemsByPriority(enqueued) {
|
|
230
|
+
return Object.entries(enqueued)
|
|
231
|
+
.map(v => [typeof v[0] === 'number' ? v[0] : parseInt(v[0], 10), v[1]])
|
|
232
|
+
.sort(([a], [b]) => a - b);
|
|
233
|
+
}
|
|
234
|
+
// A blank hook name means, "do not rely on hook name"
|
|
235
|
+
function splitOutAssetsByPriority(assets, additionalHookContents) {
|
|
236
|
+
const res = {};
|
|
237
|
+
const additionalHookContentsOffset = {};
|
|
238
|
+
for (const asset of assets) {
|
|
239
|
+
let locations = (0, utils_1.constantEntries)(asset.options.locations);
|
|
240
|
+
if (asset.options.flags.inline === undefined) {
|
|
241
|
+
if (asset.omitRegistration) {
|
|
242
|
+
locations = locations.filter(([loc]) => loc !== 'register');
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
if (!locations.some(([loc]) => loc === 'register')) {
|
|
247
|
+
locations.push(['register', entries_1.DEFAULT_WP_HOOK_PRIORITY]);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
if (asset.omitRegistration && asset.options.flags.inline === undefined) {
|
|
251
|
+
locations = locations.filter(([loc]) => loc !== 'register');
|
|
252
|
+
}
|
|
253
|
+
if (asset.associationMechanism !== undefined) {
|
|
254
|
+
locations = locations.filter(([loc]) => loc === 'register');
|
|
255
|
+
}
|
|
256
|
+
for (const [location, value] of locations) {
|
|
257
|
+
if ((0, entries_1.isLocationNameWithHookNameSupport)(location)) {
|
|
258
|
+
if ((0, entries_1.isLocationNameWithActionSupport)(location)) {
|
|
259
|
+
const { hook_name = [""], priority } = value;
|
|
260
|
+
const additionalHookContentsForLoc = additionalHookContents[location];
|
|
261
|
+
if (additionalHookContentsForLoc) {
|
|
262
|
+
let i = additionalHookContentsOffset[location] ?? 0;
|
|
263
|
+
for (let item = additionalHookContentsForLoc[i]; item !== undefined && (item[1] ?? entries_1.DEFAULT_WP_HOOK_PRIORITY) < priority; i++) {
|
|
264
|
+
((res[location] ??= {})[priority] ??= [{}, []])[1].push(item[0]);
|
|
265
|
+
}
|
|
266
|
+
additionalHookContentsOffset[location] = i;
|
|
267
|
+
}
|
|
268
|
+
for (const hn of hook_name) {
|
|
269
|
+
(((res[location] ??= {})[priority] ??= [{}, []])[0][hn] ??= []).push(asset);
|
|
270
|
+
}
|
|
271
|
+
if (additionalHookContentsForLoc) {
|
|
272
|
+
let i = additionalHookContentsOffset[location] ?? 0;
|
|
273
|
+
for (let item = additionalHookContentsForLoc[i]; item !== undefined && (item[1] ?? entries_1.DEFAULT_WP_HOOK_PRIORITY) === priority; i++) {
|
|
274
|
+
((res[location] ??= {})[priority] ??= [{}, []])[1].push(item[0]);
|
|
275
|
+
}
|
|
276
|
+
additionalHookContentsOffset[location] = i;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
else {
|
|
280
|
+
for (const callback of value) {
|
|
281
|
+
((res[location] ??= {})[callback] ??= []).push(asset);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
else if ((0, entries_1.isLocationNameWithActionSupport)(location) || location === 'register') {
|
|
286
|
+
const priority = value;
|
|
287
|
+
const additionalHookContentsForLoc = additionalHookContents[location];
|
|
288
|
+
if (additionalHookContentsForLoc) {
|
|
289
|
+
let i = additionalHookContentsOffset[location] ?? 0;
|
|
290
|
+
for (let item = additionalHookContentsForLoc[i]; item !== undefined && (item[1] ?? entries_1.DEFAULT_WP_HOOK_PRIORITY) < priority; i++) {
|
|
291
|
+
((res[location] ??= {})[priority] ??= [[], []])[1].push(item[0]);
|
|
292
|
+
}
|
|
293
|
+
additionalHookContentsOffset[location] = i;
|
|
294
|
+
}
|
|
295
|
+
((res[location] ??= {})[priority] ??= [[], []])[0].push(asset);
|
|
296
|
+
if (additionalHookContentsForLoc) {
|
|
297
|
+
let i = additionalHookContentsOffset[location] ?? 0;
|
|
298
|
+
for (let item = additionalHookContentsForLoc[i]; item !== undefined && (item[1] ?? entries_1.DEFAULT_WP_HOOK_PRIORITY) === priority; i++) {
|
|
299
|
+
((res[location] ??= {})[priority] ??= [[], []])[1].push(item[0]);
|
|
300
|
+
}
|
|
301
|
+
additionalHookContentsOffset[location] = i;
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
else {
|
|
305
|
+
throw new TypeError(`Unrecognized enqueuing location: ${location}`);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
return res;
|
|
310
|
+
}
|
|
311
|
+
function convertToCollectedHandles(assets) {
|
|
312
|
+
const res = { script: [], script_module: [], style: [] };
|
|
313
|
+
for (const asset of assets) {
|
|
314
|
+
res[asset.type].push(convertToFinalHandleData(asset));
|
|
315
|
+
}
|
|
316
|
+
return res;
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* @param compilation
|
|
320
|
+
* @param writer
|
|
321
|
+
* @param type 'script_module' is NOT supported at this time; however, it is *handled* in this function
|
|
322
|
+
* @param handleData
|
|
323
|
+
*/
|
|
324
|
+
function appendAddInlineAssetCall(compilation, writer, type, handleData) {
|
|
325
|
+
if (type === 'script_module') {
|
|
326
|
+
throw (0, utils_1.newWebpackErrorForFile)("WordPress does not support inlining script modules", handleData.src);
|
|
327
|
+
}
|
|
328
|
+
if (handleData.rest[0]?.length) { // If there are any dependencies
|
|
329
|
+
compilation.errors.push((0, utils_1.newWebpackErrorForFile)("Inlined scripts MUST NOT have dependencies. It WILL cause runtime inconsistencies and potentially cause sever performance issues", handleData.src));
|
|
330
|
+
}
|
|
331
|
+
const { handle, inline: { position, contents } } = handleData;
|
|
332
|
+
const args = [handle, wrapInlineAssetContents(compilation, `plaudit_inlined_${type}`, handle, contents)];
|
|
333
|
+
if (type === 'script' && position === 'before') {
|
|
334
|
+
args.push('before');
|
|
335
|
+
}
|
|
336
|
+
writer.call(`wp_add_inline_${type}`, args);
|
|
337
|
+
}
|
|
338
|
+
function wrapInlineAssetContents(compilation, wrapperIdPrefix, handle, contents) {
|
|
339
|
+
if (!compilation.outputOptions.path?.endsWith("-dev")) {
|
|
340
|
+
contents = contents.replaceAll(/\/\*#\s+sourceMappingURL=.*?\*\/|\/\/#\s+sourceMappingURL=[^\r\n]*?([\r\n]|$)/gis, "$1");
|
|
341
|
+
}
|
|
342
|
+
return new expressions_1.HereOrNowDoc(`${wrapperIdPrefix}_${(0, node_crypto_1.createHash)('md5').update(handle).digest("hex")}`, contents.trim(), false);
|
|
343
|
+
}
|
|
344
|
+
function deriveEntrypointFieldAndBlockSafeLocations({ locations, type }, processingModules, delegateContext) {
|
|
345
|
+
//TODO: This needs a rework for my sanity and to be able to support the full spectrum of configuration options that are available
|
|
346
|
+
let entrypointField;
|
|
347
|
+
const { register, lazyLoader, ...unsafeLocations } = locations;
|
|
348
|
+
const locationKeys = (0, utils_1.constantKeys)(unsafeLocations);
|
|
349
|
+
if (locationKeys.length === 2) {
|
|
350
|
+
if (type === 'script_module') {
|
|
351
|
+
if (processingModules) {
|
|
352
|
+
(0, utils_1.emitWarning)(`Blocks cannot have script modules enqueued in editor mode. Found one enqueued in both editor and view. It will be enqueued in view alone.`, delegateContext);
|
|
353
|
+
}
|
|
354
|
+
delete unsafeLocations.clientEditor;
|
|
355
|
+
return { entrypointField: 'viewScriptModule', locations: { register, lazyLoader, ...unsafeLocations } };
|
|
356
|
+
}
|
|
357
|
+
return { entrypointField: type, locations };
|
|
358
|
+
}
|
|
359
|
+
else {
|
|
360
|
+
const location = locationKeys[0];
|
|
361
|
+
if (type === 'script_module') {
|
|
362
|
+
if (location !== 'clientView') {
|
|
363
|
+
if (processingModules) {
|
|
364
|
+
(0, utils_1.emitWarning)(`Blocks cannot have script modules enqueued in editor mode. Found one enqueued in the editor. It will be ignored.`, delegateContext);
|
|
365
|
+
}
|
|
366
|
+
return { entrypointField: undefined, locations: { register, lazyLoader } };
|
|
367
|
+
}
|
|
368
|
+
return { entrypointField: 'viewScriptModule', locations };
|
|
369
|
+
}
|
|
370
|
+
else if (location !== undefined) {
|
|
371
|
+
entrypointField = (location.substring(6).toLowerCase() + type.substring(0, 1).toUpperCase() + type.substring(1));
|
|
372
|
+
return { entrypointField, locations };
|
|
373
|
+
}
|
|
374
|
+
else if (register !== undefined || lazyLoader !== undefined) {
|
|
375
|
+
return { entrypointField: undefined, locations };
|
|
376
|
+
}
|
|
377
|
+
else {
|
|
378
|
+
throw new TypeError("This should be unreachable");
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
function makeUniquenessFilter() {
|
|
383
|
+
const seenDeps = new Set();
|
|
384
|
+
return dep => {
|
|
385
|
+
if (typeof dep === 'string') {
|
|
386
|
+
dep += "::<was-string>";
|
|
387
|
+
}
|
|
388
|
+
else {
|
|
389
|
+
dep = dep.id + "::" + (dep.import ?? "<unset-import>");
|
|
390
|
+
}
|
|
391
|
+
if (!seenDeps.has(dep)) {
|
|
392
|
+
seenDeps.add(dep);
|
|
393
|
+
return true;
|
|
394
|
+
}
|
|
395
|
+
return false;
|
|
396
|
+
};
|
|
397
|
+
}
|
|
398
|
+
//# sourceMappingURL=asset-information-emission.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset-information-emission.js","sourceRoot":"","sources":["../../src/api/asset-information-emission.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { AsyncParallelHook, AsyncSeriesHook, SyncBailHook } from "tapable";
|
|
2
|
+
import type { Configuration, WebpackPluginInstance } from "webpack";
|
|
3
|
+
import type { RootCoordinatorPlugin } from "./coordinatable-emitter";
|
|
4
|
+
import type { EntrypointField } from "./entries";
|
|
5
|
+
import type { VerifiedAdvancedDestinationConfig, VerifiedPlauditWordpressWebpackConfig } from "./shared-types";
|
|
6
|
+
export interface AutoRegisteringPlugin {
|
|
7
|
+
readonly plauditWebpackExtensionsPlugin: true;
|
|
8
|
+
register(wrapperManager: WrapperManager): void | Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
export declare function isAutoRegisteringPlugin(thing: unknown): thing is AutoRegisteringPlugin;
|
|
11
|
+
export type ResolvedDestination = {
|
|
12
|
+
srcRoots: string[];
|
|
13
|
+
src: string;
|
|
14
|
+
dest: VerifiedAdvancedDestinationConfig;
|
|
15
|
+
} & ({
|
|
16
|
+
srcRoot: string | [string, ...string[]];
|
|
17
|
+
srcIsDirectory: false;
|
|
18
|
+
} | {
|
|
19
|
+
srcRoot: string;
|
|
20
|
+
srcIsDirectory: true;
|
|
21
|
+
});
|
|
22
|
+
export type ConfigLevelProps = {
|
|
23
|
+
config: VerifiedPlauditWordpressWebpackConfig;
|
|
24
|
+
hasAnyNonModuleBuilds: boolean;
|
|
25
|
+
webpackConfig: Omit<Configuration, 'plugins'>;
|
|
26
|
+
};
|
|
27
|
+
export type WPConfigFinalizeProps = Omit<ConfigLevelProps, 'webpackConfig'> & {
|
|
28
|
+
isProductionBuild: boolean;
|
|
29
|
+
};
|
|
30
|
+
export declare class WrapperManager {
|
|
31
|
+
readonly coordinator: RootCoordinatorPlugin;
|
|
32
|
+
readonly config: Readonly<VerifiedPlauditWordpressWebpackConfig>;
|
|
33
|
+
readonly hooks: {
|
|
34
|
+
readonly webpackConfig: {
|
|
35
|
+
/**
|
|
36
|
+
* This is used to modify the module rules for Webpack.
|
|
37
|
+
* It is intended to allow plugins to fix up issues that can come from how WordPress configures the rules by default and to patch in additional file handling.
|
|
38
|
+
* It uses immer to ensure that the changes cannot be leaked to other {@link Configuration} instances.
|
|
39
|
+
* It fires once per Webpack {@link Configuration}.
|
|
40
|
+
*/
|
|
41
|
+
readonly rules: AsyncSeriesHook<[("" | "..." | 0 | false | import("webpack").RuleSetRule | null | undefined)[], ConfigLevelProps & RulesTimeConfig], import("tapable").UnsetAdditionalOptions>;
|
|
42
|
+
/**
|
|
43
|
+
* This is used to allow for modifying the Webpack {@link Configuration} after everything else is done.
|
|
44
|
+
* It uses immer to ensure that the changes cannot be leaked to other {@link Configuration} instances.
|
|
45
|
+
* It fires once per Webpack {@link Configuration}.
|
|
46
|
+
*/
|
|
47
|
+
readonly finalize: AsyncSeriesHook<[Configuration, WPConfigFinalizeProps], import("tapable").UnsetAdditionalOptions>;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* This is used to set up the taps for each batch. It fires once per {@link IndividualBatchProcessor}
|
|
51
|
+
*/
|
|
52
|
+
readonly batch: AsyncSeriesHook<[IndividualBatchProcessor, ConfigLevelProps], import("tapable").UnsetAdditionalOptions>;
|
|
53
|
+
};
|
|
54
|
+
readonly emitterPlugins: ((props: ConfigLevelProps, item: ResolvedDestination, destinationHandler: DestinationHandler) => undefined | WebpackPluginInstance | WebpackPluginInstance[])[];
|
|
55
|
+
readonly supportedSourceTypes: Set<string>;
|
|
56
|
+
constructor(coordinator: RootCoordinatorPlugin, config: Readonly<VerifiedPlauditWordpressWebpackConfig>);
|
|
57
|
+
}
|
|
58
|
+
export type WebpackRules = NonNullable<NonNullable<Configuration['module']>['rules']>;
|
|
59
|
+
export type RulesTimeConfig = {
|
|
60
|
+
getVariableValue: (name: string) => unknown;
|
|
61
|
+
entrypointFields: ReadonlyArray<EntrypointField>;
|
|
62
|
+
scriptExtension: RegExp;
|
|
63
|
+
};
|
|
64
|
+
export type DestinationHandler = {
|
|
65
|
+
sourceType: string;
|
|
66
|
+
plugin?: WebpackPluginInstance | WebpackPluginInstance[];
|
|
67
|
+
supportsAssetCopying?: boolean;
|
|
68
|
+
};
|
|
69
|
+
export declare class IndividualBatchProcessor {
|
|
70
|
+
readonly plugins: readonly WebpackPluginInstance[];
|
|
71
|
+
readonly canClean: boolean;
|
|
72
|
+
readonly hasAnyNonModuleBuilds: boolean;
|
|
73
|
+
readonly entrypointFields: ReadonlyArray<EntrypointField>;
|
|
74
|
+
readonly scriptExtension: RegExp;
|
|
75
|
+
readonly hooks: {
|
|
76
|
+
/**
|
|
77
|
+
* This fires before the batch has been processed to allow logic that should be executed in parallel to be used without making the batch hook parallel
|
|
78
|
+
*/
|
|
79
|
+
readonly beforeBatch: AsyncParallelHook<[], import("tapable").UnsetAdditionalOptions>;
|
|
80
|
+
/**
|
|
81
|
+
* Fires before the destination handler has been resolved. This fires regardless of whether the resolution is successful.
|
|
82
|
+
*/
|
|
83
|
+
readonly beforeDestinationHandler: AsyncParallelHook<[ResolvedDestination], import("tapable").UnsetAdditionalOptions>;
|
|
84
|
+
/**
|
|
85
|
+
* Used to determine the logic that will handle the ResolvedDestination. If none of the taps returns anything, the destination is skipped.
|
|
86
|
+
*/
|
|
87
|
+
readonly destinationHandler: SyncBailHook<[ResolvedDestination], DestinationHandler | undefined, import("tapable").UnsetAdditionalOptions>;
|
|
88
|
+
/**
|
|
89
|
+
* Fires after the destination handler has been resolved. This DOES NOT fire if the resolution was unsuccessful.
|
|
90
|
+
* This is intended for use in adding plugins that do additional processing work like {@link CopyPlugin}
|
|
91
|
+
*/
|
|
92
|
+
readonly afterDestinationHandler: AsyncSeriesHook<[ResolvedDestination, DestinationHandler | undefined], import("tapable").UnsetAdditionalOptions>;
|
|
93
|
+
/**
|
|
94
|
+
* Fires after the batch has been processed, but before it is finalized into a single config object.
|
|
95
|
+
* This is intended to allow logic that collects data over the course of the batch being processed to use it
|
|
96
|
+
*/
|
|
97
|
+
readonly afterBatch: AsyncSeriesHook<[WebpackPluginInstance[]], import("tapable").UnsetAdditionalOptions>;
|
|
98
|
+
};
|
|
99
|
+
readonly metadata: Map<unknown, unknown>;
|
|
100
|
+
constructor(plugins: readonly WebpackPluginInstance[], canClean: boolean, hasAnyNonModuleBuilds: boolean, entrypointFields: ReadonlyArray<EntrypointField>, scriptExtension: RegExp);
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=configuration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../src/api/configuration.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,iBAAiB,EAAE,eAAe,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AACzE,OAAO,KAAK,EAAC,aAAa,EAAE,qBAAqB,EAAC,MAAM,SAAS,CAAC;AAElE,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAC,iCAAiC,EAAE,qCAAqC,EAAC,MAAM,gBAAgB,CAAC;AAE7G,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,8BAA8B,EAAE,IAAI,CAAC;IAC9C,QAAQ,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI,GAAC,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7D;AACD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,qBAAqB,CAItF;AAED,MAAM,MAAM,mBAAmB,GAAG;IACjC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,iCAAiC,CAAC;CACxC,GAAC,CAAC;IAAC,OAAO,EAAE,MAAM,GAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IAAC,cAAc,EAAE,KAAK,CAAA;CAAC,GAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,IAAI,CAAA;CAAC,CAAC,CAAC;AAE3G,MAAM,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,qCAAqC,CAAC;IAC9C,qBAAqB,EAAE,OAAO,CAAC;IAC/B,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,GAAC;IAAC,iBAAiB,EAAE,OAAO,CAAA;CAAC,CAAC;AAEzG,qBAAa,cAAc;aA2BT,WAAW,EAAE,qBAAqB;aAClC,MAAM,EAAE,QAAQ,CAAC,qCAAqC,CAAC;IA3BxE,SAAgB,KAAK;iBACpB,aAAa;YACZ;;;;;eAKG;qBACH,KAAK;YACL;;;;eAIG;qBACH,QAAQ;;QAET;;WAEG;iBACH,KAAK;MACK;IAEX,SAAgB,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,kBAAkB,KAAK,SAAS,GAAC,qBAAqB,GAAC,qBAAqB,EAAE,CAAC,EAAE,CAAM;IACjM,SAAgB,oBAAoB,cAAqB;IAEzD,YACiB,WAAW,EAAE,qBAAqB,EAClC,MAAM,EAAE,QAAQ,CAAC,qCAAqC,CAAC,EACpE;CACJ;AAED,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACtF,MAAM,MAAM,eAAe,GAAG;IAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAAC,gBAAgB,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAC,CAAC;AAEvJ,MAAM,MAAM,kBAAkB,GAAG;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,qBAAqB,GAAC,qBAAqB,EAAE,CAAC;IACvD,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,qBAAa,wBAAwB;aA8BnB,OAAO,EAAE,SAAS,qBAAqB,EAAE;aACzC,QAAQ,EAAE,OAAO;aACjB,qBAAqB,EAAE,OAAO;aAC9B,gBAAgB,EAAE,aAAa,CAAC,eAAe,CAAC;aAChD,eAAe,EAAE,MAAM;IAjCxC,SAAgB,KAAK;QACpB;;WAEG;iBACH,WAAW;QAEX;;WAEG;iBACH,wBAAwB;QACxB;;WAEG;iBACH,kBAAkB;QAClB;;;WAGG;iBACH,uBAAuB;QAEvB;;;WAGG;iBACH,UAAU;MACA;IACX,SAAgB,QAAQ,wBAA+B;IAEvD,YACiB,OAAO,EAAE,SAAS,qBAAqB,EAAE,EACzC,QAAQ,EAAE,OAAO,EACjB,qBAAqB,EAAE,OAAO,EAC9B,gBAAgB,EAAE,aAAa,CAAC,eAAe,CAAC,EAChD,eAAe,EAAE,MAAM,EACpC;CACJ"}
|