weapp-tailwindcss 5.1.15 → 5.2.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/README.en.md +6 -0
- package/README.md +6 -0
- package/bin/{weapp-tailwindcss.js → weapp-tailwindcss.cjs} +1 -1
- package/dist/bundlers/framework-selector.d.ts +2 -2
- package/dist/bundlers/gulp/asset-emission-plan.d.ts +10 -0
- package/dist/bundlers/gulp/frameworks/native/index.d.ts +10 -3
- package/dist/bundlers/gulp/index.d.ts +10 -3
- package/dist/bundlers/gulp/module-graph.d.ts +1 -1
- package/dist/bundlers/gulp/runtime-snapshot.d.ts +4 -2
- package/dist/bundlers/gulp/shared/create-native-framework-plugins/cache-state.d.ts +71 -0
- package/dist/bundlers/gulp/shared/create-native-framework-plugins/file-transforms.d.ts +45 -0
- package/dist/bundlers/gulp/shared/create-native-framework-plugins.d.ts +9 -2
- package/dist/bundlers/rspack/index.d.ts +2 -2
- package/dist/bundlers/shared/cache.d.ts +1 -1
- package/dist/bundlers/shared/css-imports.d.ts +1 -1
- package/dist/bundlers/shared/css-source-trace.d.ts +2 -2
- package/dist/bundlers/shared/framework-postcss.d.ts +21 -0
- package/dist/bundlers/shared/generator-css/candidates.d.ts +2 -0
- package/dist/bundlers/shared/generator-css/generation-helpers/preflight.d.ts +19 -0
- package/dist/bundlers/shared/generator-css/generation-helpers/results.d.ts +25 -0
- package/dist/bundlers/shared/generator-css/generation-helpers/runtime-isolation.d.ts +30 -0
- package/dist/bundlers/shared/generator-css/generation-helpers/source-order.d.ts +2 -0
- package/dist/bundlers/shared/generator-css/generation-helpers.d.ts +4 -72
- package/dist/bundlers/shared/generator-css/legacy-compat.d.ts +5 -3
- package/dist/bundlers/shared/generator-css/pipeline/context.d.ts +58 -0
- package/dist/bundlers/shared/generator-css/pipeline/deferred-output.d.ts +3 -0
- package/dist/bundlers/shared/generator-css/pipeline/execution.d.ts +3 -0
- package/dist/bundlers/shared/generator-css/pipeline/fallback-output.d.ts +3 -0
- package/dist/bundlers/shared/generator-css/pipeline/ordered-output.d.ts +3 -0
- package/dist/bundlers/shared/generator-css/pipeline.d.ts +2 -0
- package/dist/bundlers/shared/generator-css/result-helpers.d.ts +6 -0
- package/dist/bundlers/shared/generator-css/scoped-rules.d.ts +1 -0
- package/dist/bundlers/shared/generator-css/source-resolver/configuration.d.ts +32 -0
- package/dist/bundlers/shared/generator-css/source-resolver/matching.d.ts +1 -1
- package/dist/bundlers/shared/generator-css/source-resolver/metadata.d.ts +13 -5
- package/dist/bundlers/shared/generator-css/source-resolver/postcss-source.d.ts +1 -1
- package/dist/bundlers/shared/generator-css/source-resolver/resolve-source.d.ts +4 -0
- package/dist/bundlers/shared/generator-css/source-resolver/resolve-sources.d.ts +5 -0
- package/dist/bundlers/shared/generator-css/source-resolver/single-source.d.ts +16 -0
- package/dist/bundlers/shared/generator-css/source-resolver/source-entries.d.ts +3 -0
- package/dist/bundlers/shared/generator-css/source-resolver/source-matching.d.ts +5 -0
- package/dist/bundlers/shared/generator-css/source-resolver/types.d.ts +4 -4
- package/dist/bundlers/shared/generator-css/source-resolver.d.ts +7 -9
- package/dist/bundlers/shared/generator-css/types.d.ts +12 -3
- package/dist/bundlers/shared/generator-css/user-css/apply-only.d.ts +9 -0
- package/dist/bundlers/shared/generator-css/user-css/at-rules.d.ts +3 -0
- package/dist/bundlers/shared/generator-css/user-css/generated-cleanup.d.ts +4 -0
- package/dist/bundlers/shared/generator-css/user-css/source-fragments.d.ts +9 -0
- package/dist/bundlers/shared/generator-css/user-css/transform.d.ts +10 -0
- package/dist/bundlers/shared/generator-css/user-css/user-layers.d.ts +15 -0
- package/dist/bundlers/shared/generator-css/user-css.d.ts +5 -33
- package/dist/bundlers/shared/generator-css/validate.d.ts +1 -1
- package/dist/bundlers/shared/generator-css.d.ts +9 -10
- package/dist/bundlers/shared/runtime-class-set/entries.d.ts +4 -0
- package/dist/bundlers/shared/runtime-class-set/escaped-candidates.d.ts +9 -0
- package/dist/bundlers/shared/runtime-class-set.d.ts +30 -0
- package/dist/bundlers/shared/runtime-entry-type.d.ts +8 -0
- package/dist/bundlers/shared/runtime-signatures.d.ts +8 -0
- package/dist/bundlers/shared/source-candidate-scan-signature.d.ts +13 -0
- package/dist/bundlers/shared/source-candidates/collector.d.ts +8 -0
- package/dist/bundlers/shared/source-candidates/scan-root.d.ts +10 -0
- package/dist/bundlers/{vite → shared}/source-candidates/script.d.ts +1 -1
- package/dist/bundlers/shared/source-candidates/store.d.ts +2 -0
- package/dist/bundlers/shared/source-candidates/types-and-cache.d.ts +69 -0
- package/dist/bundlers/shared/source-candidates.d.ts +4 -0
- package/dist/bundlers/shared/source-scan/css-entries.d.ts +18 -0
- package/dist/bundlers/shared/source-scan.d.ts +16 -0
- package/dist/bundlers/shared/static-config-content.d.ts +5 -0
- package/dist/bundlers/shared/v4-generation-core.d.ts +9 -1
- package/dist/bundlers/vite/bundle-entries.d.ts +1 -1
- package/dist/bundlers/vite/bundle-state.d.ts +11 -38
- package/dist/bundlers/vite/css-asset-identity.d.ts +11 -0
- package/dist/bundlers/vite/css-finalizer/options.d.ts +54 -0
- package/dist/bundlers/vite/css-finalizer/plugin.d.ts +3 -0
- package/dist/bundlers/vite/css-finalizer.d.ts +1 -43
- package/dist/bundlers/vite/css-memory.d.ts +1 -2
- package/dist/bundlers/vite/frameworks/generic/index.d.ts +2 -2
- package/dist/bundlers/vite/frameworks/taro/index.d.ts +2 -2
- package/dist/bundlers/vite/frameworks/uni-app/index.d.ts +3 -3
- package/dist/bundlers/vite/frameworks/uni-app-x/index.d.ts +3 -3
- package/dist/bundlers/vite/frameworks/weapp-vite/index.d.ts +2 -2
- package/dist/bundlers/vite/generate-bundle/asset-emission-plan.d.ts +8 -0
- package/dist/bundlers/vite/generate-bundle/bundle-markup-candidates.d.ts +4 -4
- package/dist/bundlers/vite/generate-bundle/configured-css-sources.d.ts +1 -1
- package/dist/bundlers/vite/generate-bundle/css-assets.d.ts +1 -1
- package/dist/bundlers/vite/generate-bundle/css-cache-task.d.ts +34 -0
- package/dist/bundlers/vite/generate-bundle/css-composition-plan.d.ts +58 -0
- package/dist/bundlers/vite/generate-bundle/css-config-directives.d.ts +1 -1
- package/dist/bundlers/vite/generate-bundle/css-entry-processing.d.ts +1 -0
- package/dist/bundlers/vite/generate-bundle/css-handler-options.d.ts +1 -1
- package/dist/bundlers/vite/generate-bundle/css-output-helpers.d.ts +21 -2
- package/dist/bundlers/vite/generate-bundle/css-output.d.ts +1 -1
- package/dist/bundlers/vite/generate-bundle/css-share-scope.d.ts +1 -1
- package/dist/bundlers/vite/generate-bundle/css-source-plan.d.ts +19 -0
- package/dist/bundlers/vite/generate-bundle/css-transform-decision-plan.d.ts +61 -0
- package/dist/bundlers/vite/generate-bundle/css-transform-result.d.ts +23 -0
- package/dist/bundlers/vite/generate-bundle/css-transform-task.d.ts +42 -0
- package/dist/bundlers/vite/generate-bundle/final-css-assets.d.ts +3 -2
- package/dist/bundlers/vite/generate-bundle/finalize/bundle.d.ts +2 -0
- package/dist/bundlers/vite/generate-bundle/finalize/root-import-shell.d.ts +69 -0
- package/dist/bundlers/vite/generate-bundle/finalize.d.ts +2 -70
- package/dist/bundlers/vite/generate-bundle/html-processing.d.ts +2 -2
- package/dist/bundlers/vite/generate-bundle/js-entries.d.ts +1 -1
- package/dist/bundlers/vite/generate-bundle/js-handler-options.d.ts +2 -1
- package/dist/bundlers/vite/generate-bundle/js-linking.d.ts +2 -2
- package/dist/bundlers/vite/generate-bundle/js-processing.d.ts +6 -5
- package/dist/bundlers/vite/generate-bundle/memory-debug.d.ts +1 -1
- package/dist/bundlers/vite/generate-bundle/process-plan.d.ts +1 -1
- package/dist/bundlers/vite/generate-bundle/remembered-css-plan.d.ts +35 -0
- package/dist/bundlers/vite/generate-bundle/remembered-css-replay.d.ts +5 -6
- package/dist/bundlers/vite/generate-bundle/remembered-css.d.ts +2 -2
- package/dist/bundlers/vite/generate-bundle/root-style-output.d.ts +20 -0
- package/dist/bundlers/vite/generate-bundle/runtime-configured-css.d.ts +54 -0
- package/dist/bundlers/vite/generate-bundle/runtime-linked-css.d.ts +1 -1
- package/dist/bundlers/vite/generate-bundle/runtime-linked-source-memory.d.ts +3 -3
- package/dist/bundlers/vite/generate-bundle/runtime.d.ts +6 -0
- package/dist/bundlers/vite/generate-bundle/scoped-generator.d.ts +2 -2
- package/dist/bundlers/vite/generate-bundle/sfc-style-source.d.ts +2 -2
- package/dist/bundlers/vite/generate-bundle/signatures.d.ts +1 -8
- package/dist/bundlers/vite/generate-bundle/source-candidate-scope.d.ts +3 -3
- package/dist/bundlers/vite/generate-bundle/source-candidate-source.d.ts +5 -0
- package/dist/bundlers/vite/generate-bundle/subpackages.d.ts +2 -2
- package/dist/bundlers/vite/generate-bundle/temporary-css-assets.d.ts +14 -1
- package/dist/bundlers/vite/generate-bundle/transform-filter.d.ts +1 -1
- package/dist/bundlers/vite/generate-bundle/transform-scheduling.d.ts +1 -0
- package/dist/bundlers/vite/generate-bundle/types.d.ts +8 -7
- package/dist/bundlers/vite/generate-bundle/uni-app-x-postprocess.d.ts +3 -2
- package/dist/bundlers/vite/generate-bundle/validate-runtime-candidates.d.ts +22 -0
- package/dist/bundlers/vite/generate-bundle.d.ts +7 -7
- package/dist/bundlers/vite/incremental-runtime-class-set/entries.d.ts +1 -4
- package/dist/bundlers/vite/incremental-runtime-class-set/escaped-candidates.d.ts +1 -3
- package/dist/bundlers/vite/incremental-runtime-class-set.d.ts +2 -30
- package/dist/bundlers/vite/index.d.ts +3 -3
- package/dist/bundlers/vite/js-precheck.d.ts +1 -1
- package/dist/bundlers/vite/processed-css-assets/cleanup.d.ts +13 -0
- package/dist/bundlers/vite/processed-css-assets/collector.d.ts +4 -0
- package/dist/bundlers/vite/processed-css-assets/coverage.d.ts +34 -0
- package/dist/bundlers/vite/processed-css-assets/empty-at-rule.d.ts +1 -0
- package/dist/bundlers/vite/processed-css-assets/injection-plan.d.ts +42 -0
- package/dist/bundlers/vite/processed-css-assets/markers-imports.d.ts +89 -0
- package/dist/bundlers/vite/processed-css-assets/style-files.d.ts +3 -0
- package/dist/bundlers/vite/processed-css-assets.d.ts +4 -71
- package/dist/bundlers/vite/resolve-app-type.d.ts +1 -1
- package/dist/bundlers/vite/rewrite-css-imports.d.ts +3 -1
- package/dist/bundlers/vite/runtime-affecting-signature.d.ts +1 -2
- package/dist/bundlers/vite/runtime-candidate-entry.d.ts +9 -0
- package/dist/bundlers/vite/runtime-class-set.d.ts +4 -4
- package/dist/bundlers/vite/serve-css-generation.d.ts +2 -0
- package/dist/bundlers/vite/serve-js-transform.d.ts +1 -1
- package/dist/bundlers/vite/serve-root-import-shell.d.ts +1 -1
- package/dist/bundlers/vite/shared/create-framework-plugins-runtime.d.ts +2 -0
- package/dist/bundlers/vite/shared/create-framework-plugins.d.ts +8 -8
- package/dist/bundlers/vite/shared/framework-hmr-candidate-state.d.ts +45 -0
- package/dist/bundlers/vite/shared/framework-post-plugin.d.ts +2 -0
- package/dist/bundlers/vite/shared/framework-processed-css-registry.d.ts +22 -0
- package/dist/bundlers/vite/shared/framework-runtime-options.d.ts +1 -0
- package/dist/bundlers/vite/shared/framework-source-candidates-plugin.d.ts +2 -0
- package/dist/bundlers/vite/shared/framework-source-scan-session.d.ts +38 -0
- package/dist/bundlers/vite/shared/framework-strategy.d.ts +4 -4
- package/dist/bundlers/vite/source-candidate-scan-signature.d.ts +2 -13
- package/dist/bundlers/vite/source-candidates/scan-root.d.ts +1 -10
- package/dist/bundlers/vite/source-candidates.d.ts +1 -68
- package/dist/bundlers/vite/source-output-relations.d.ts +24 -0
- package/dist/bundlers/vite/source-scan/css-entries.d.ts +2 -18
- package/dist/bundlers/vite/source-scan.d.ts +2 -16
- package/dist/bundlers/vite/static-config-content.d.ts +1 -5
- package/dist/bundlers/vite/uni-app-x-css-options.d.ts +1 -1
- package/dist/bundlers/vite/web-css-compat.d.ts +1 -1
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/asset-emission-plan.d.ts +18 -0
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/css-source-resolvers.d.ts +2 -2
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/finalize-assets.d.ts +2 -0
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/generated-css-result.d.ts +3 -0
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/generated-css-task.d.ts +2 -0
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/helpers.d.ts +11 -41
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/html-js-tasks.d.ts +5 -0
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/js-module-graph.d.ts +4 -10
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/pipeline-helpers/finalize.d.ts +30 -0
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/pipeline-helpers/generated-css.d.ts +8 -0
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/pipeline-helpers/memory-trace.d.ts +78 -0
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/pipeline-helpers/preflight-runtime.d.ts +43 -0
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/pipeline-helpers/resources.d.ts +30 -0
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/pipeline-helpers/runtime-candidates.d.ts +1 -0
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/pipeline-helpers/sources.d.ts +28 -0
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/pipeline-helpers/user-css-markers.d.ts +1 -0
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/pipeline-helpers/user-css.d.ts +21 -0
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/pipeline-helpers.d.ts +9 -219
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/processed-css-task.d.ts +4 -0
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/source-candidate-cache.d.ts +3 -3
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/source-candidate-refresh.d.ts +3 -3
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets.d.ts +2 -2
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-loaders.d.ts +8 -4
- package/dist/bundlers/webpack/BaseUnifiedPlugin/v5.d.ts +2 -2
- package/dist/bundlers/webpack/frameworks/generic/index.d.ts +2 -2
- package/dist/bundlers/webpack/frameworks/index.d.ts +7 -7
- package/dist/bundlers/webpack/frameworks/mpx/index.d.ts +2 -2
- package/dist/bundlers/webpack/frameworks/taro/index.d.ts +2 -2
- package/dist/bundlers/webpack/frameworks/uni-app/index.d.ts +2 -2
- package/dist/bundlers/webpack/frameworks/weapp-vite/index.d.ts +2 -2
- package/dist/bundlers/webpack/index.d.ts +1 -1
- package/dist/bundlers/webpack/loaders/runtime-registry.d.ts +7 -2
- package/dist/bundlers/webpack/loaders/weapp-tw-css-generation-loader.d.ts +1 -1
- package/dist/bundlers/webpack/loaders/weapp-tw-css-import-rewrite-loader.d.ts +1 -1
- package/dist/bundlers/webpack/loaders/weapp-tw-runtime-classset-loader.d.ts +1 -1
- package/dist/bundlers/webpack/shared/create-framework-plugin/plugin.d.ts +20 -0
- package/dist/bundlers/webpack/shared/create-framework-plugin/watch-output.d.ts +13 -0
- package/dist/bundlers/webpack/shared/create-framework-plugin.d.ts +3 -21
- package/dist/cli/context.d.ts +2 -2
- package/dist/cli/doctor.d.ts +1 -1
- package/dist/cli/helpers/options.d.ts +3 -3
- package/dist/cli/helpers.d.ts +1 -1
- package/dist/cli.cjs +37012 -0
- package/dist/cli.js +145 -176
- package/dist/compiler/artifact.d.ts +14 -0
- package/dist/compiler/candidate-index.d.ts +10 -0
- package/dist/compiler/compilation-change-coordinator.d.ts +28 -0
- package/dist/compiler/compilation-dependency-state.d.ts +16 -0
- package/dist/compiler/compilation-scope-graph.d.ts +31 -0
- package/dist/compiler/compilation-session-pool.d.ts +54 -0
- package/dist/compiler/compiler-owner-state.d.ts +3 -0
- package/dist/compiler/composition.d.ts +8 -0
- package/dist/compiler/emission-plan.d.ts +26 -0
- package/dist/compiler/index.d.ts +23 -0
- package/dist/compiler/invalidation.d.ts +3 -0
- package/dist/compiler/mode.d.ts +3 -0
- package/dist/compiler/owner-lifecycle.d.ts +1 -0
- package/dist/compiler/platform-adapter.d.ts +9 -0
- package/dist/compiler/runtime-affecting-signature.d.ts +2 -0
- package/dist/compiler/runtime-build-state.d.ts +6 -0
- package/dist/compiler/runtime-snapshot.d.ts +53 -0
- package/dist/compiler/scope-planner.d.ts +6 -0
- package/dist/compiler/semantic-css.d.ts +66 -0
- package/dist/compiler/session.d.ts +13 -0
- package/dist/compiler/shadow-gate.d.ts +26 -0
- package/dist/compiler/shadow-report-session.d.ts +37 -0
- package/dist/compiler/shadow-report.d.ts +15 -0
- package/dist/compiler/source-graph.d.ts +32 -0
- package/dist/compiler/tailwind-generation-session-pool.d.ts +22 -0
- package/dist/compiler/types.d.ts +95 -0
- package/dist/constants.d.ts +2 -2
- package/dist/context/compiler-context-cache.d.ts +1 -1
- package/dist/context/custom-attributes.d.ts +1 -1
- package/dist/context/handlers.d.ts +3 -3
- package/dist/context/index.d.ts +1 -1
- package/dist/context/runtime-package-replacements.d.ts +1 -1
- package/dist/context/style-options.d.ts +1 -1
- package/dist/context/tailwindcss.d.ts +3 -3
- package/dist/{context-VeFq_8vW.js → context-PZXBqrAJ.cjs} +32 -94
- package/dist/{context-BgGWVAmN.mjs → context-oTkxC5aZ.js} +23 -12
- package/dist/{core.mjs → core.cjs} +13 -12
- package/dist/core.d.ts +2 -2
- package/dist/core.js +12 -13
- package/dist/css-imports-DfNC3e6a.cjs +43 -0
- package/dist/css-loader-runtime-CSv0lKqV.cjs +11 -0
- package/dist/css-macro/postcss.cjs +19 -0
- package/dist/css-macro/postcss.js +2 -19
- package/dist/{css-macro.mjs → css-macro.cjs} +11 -8
- package/dist/css-macro.d.ts +2 -2
- package/dist/css-macro.js +8 -11
- package/dist/{defaults.mjs → defaults.cjs} +16 -11
- package/dist/defaults.d.ts +1 -1
- package/dist/defaults.js +11 -16
- package/dist/{escape.mjs → escape.cjs} +18 -4
- package/dist/escape.js +4 -18
- package/dist/framework/platform.d.ts +1 -1
- package/dist/{framework.mjs → framework.cjs} +47 -25
- package/dist/framework.d.ts +1 -1
- package/dist/framework.js +25 -47
- package/dist/generator/index.d.ts +6 -6
- package/dist/generator/options.d.ts +3 -3
- package/dist/generator/types.d.ts +2 -2
- package/dist/{generator-CEnUsjed.js → generator-C8D5cnbe.cjs} +730 -468
- package/dist/{generator-CEo920So.mjs → generator-CDdzqf1S.js} +747 -497
- package/dist/generator.cjs +12 -0
- package/dist/generator.d.ts +1 -1
- package/dist/generator.js +2 -12
- package/dist/{gulp-3m1dAiig.js → gulp-Cjcss8T_.cjs} +326 -241
- package/dist/{gulp-DP71z1jG.mjs → gulp-DNXQvDUw.js} +316 -234
- package/dist/gulp.cjs +5 -0
- package/dist/gulp.d.ts +4 -4
- package/dist/gulp.js +2 -5
- package/dist/{hmr-timing-1aS6--U7.mjs → hmr-timing-CuJwQzDc.js} +5230 -3259
- package/dist/hmr-timing-DMLfNfGG.cjs +555 -0
- package/dist/index.cjs +45 -0
- package/dist/index.d.ts +9 -9
- package/dist/index.js +9 -45
- package/dist/js/JsTokenUpdater.d.ts +1 -1
- package/dist/js/ModuleGraph.d.ts +3 -3
- package/dist/js/NodePathWalker.d.ts +2 -2
- package/dist/js/babel/process.d.ts +2 -2
- package/dist/js/babel.d.ts +8 -8
- package/dist/js/evalTransforms.d.ts +2 -2
- package/dist/js/fast-path/oxc.d.ts +1 -1
- package/dist/js/handlers.d.ts +2 -2
- package/dist/js/index.d.ts +3 -3
- package/dist/js/literal-transform.d.ts +1 -1
- package/dist/js/module-graph/ignored-exports.d.ts +4 -4
- package/dist/js/module-graph/types.d.ts +2 -2
- package/dist/js/node-path-walker/export-handlers.d.ts +1 -1
- package/dist/js/precheck.d.ts +1 -1
- package/dist/js/replacement-cache.d.ts +1 -1
- package/dist/js/sourceAnalysis.d.ts +3 -3
- package/dist/js/taggedTemplateIgnore.d.ts +1 -1
- package/dist/object-Bvy6-w9r.js +47 -0
- package/dist/object-C_Vr6_S5.cjs +58 -0
- package/dist/options-DlvhQwWB.cjs +775 -0
- package/dist/pipeline-helpers-XtUmUlci.cjs +955 -0
- package/dist/postcss-html-transform.cjs +7 -0
- package/dist/postcss-html-transform.js +3 -5
- package/dist/postcss.cjs +15 -0
- package/dist/postcss.js +7 -11
- package/dist/presets/hbuilderx.d.ts +2 -2
- package/dist/presets/index.d.ts +4 -4
- package/dist/presets/shared.d.ts +1 -1
- package/dist/presets/taro.d.ts +2 -2
- package/dist/presets/uni-app-x.d.ts +1 -1
- package/dist/presets/uni-app.d.ts +2 -2
- package/dist/{presets.mjs → presets.cjs} +37 -24
- package/dist/presets.d.ts +1 -1
- package/dist/presets.js +24 -36
- package/dist/reset.cjs +19 -0
- package/dist/reset.d.ts +2 -2
- package/dist/reset.js +2 -19
- package/dist/{rolldown-runtime-emK7D4bc.js → rolldown-runtime-CVvi-lCc.cjs} +15 -0
- package/dist/{rspack.mjs → rspack.cjs} +10 -4
- package/dist/rspack.d.ts +3 -3
- package/dist/rspack.js +4 -10
- package/dist/runtime-branch/create-branch.d.ts +1 -1
- package/dist/runtime-branch/generator-target-env.d.ts +1 -1
- package/dist/runtime-branch/index.d.ts +2 -2
- package/dist/runtime-branch/mini-program.d.ts +1 -1
- package/dist/runtime-branch/native-app.d.ts +1 -1
- package/dist/runtime-branch/platform.d.ts +2 -2
- package/dist/runtime-branch/tailwind-version.d.ts +1 -1
- package/dist/runtime-branch/types.d.ts +2 -2
- package/dist/runtime-branch/web.d.ts +1 -1
- package/dist/runtime-branch.d.ts +1 -1
- package/dist/runtime-registry-Y7NrD2WH.cjs +31 -0
- package/dist/shared/classname-transform.d.ts +1 -1
- package/dist/shared/mpx-plugin-owner.d.ts +2 -0
- package/dist/shared/mpx.d.ts +1 -1
- package/dist/{source-candidate-scan-signature-Cf7259PR.mjs → source-candidate-scan-signature-B0S7f5P7.js} +26 -336
- package/dist/{source-candidate-scan-signature-BAahhiwb.js → source-candidate-scan-signature-BmSuoxR9.cjs} +31 -414
- package/dist/style-injector/internal.d.ts +6 -6
- package/dist/style-options-CEfXwZzX.cjs +75 -0
- package/dist/tailwindcss/candidates.d.ts +2 -2
- package/dist/tailwindcss/index.d.ts +1 -1
- package/dist/tailwindcss/runtime/cache.d.ts +1 -1
- package/dist/tailwindcss/runtime-factory.d.ts +2 -2
- package/dist/tailwindcss/runtime-options.d.ts +1 -1
- package/dist/tailwindcss/runtime-types.d.ts +2 -2
- package/dist/tailwindcss/runtime.d.ts +2 -2
- package/dist/tailwindcss/source-scan.d.ts +2 -2
- package/dist/tailwindcss/targets.d.ts +1 -1
- package/dist/tailwindcss/v4/config.d.ts +1 -1
- package/dist/tailwindcss/v4/css-sources.d.ts +2 -1
- package/dist/tailwindcss/v4/index.d.ts +2 -2
- package/dist/tailwindcss/v4/multi-runtime.d.ts +1 -1
- package/dist/tailwindcss/v4/runtime-factory.d.ts +5 -5
- package/dist/tailwindcss/v4/runtime-options.d.ts +1 -1
- package/dist/tailwindcss/v4-engine/css-macro-source.d.ts +1 -1
- package/dist/tailwindcss/v4-engine/generator/cache-stats.d.ts +26 -0
- package/dist/tailwindcss/v4-engine/generator/css-compat.d.ts +1 -1
- package/dist/tailwindcss/v4-engine/generator/engine.d.ts +2 -0
- package/dist/tailwindcss/v4-engine/generator/incremental-cache.d.ts +51 -0
- package/dist/tailwindcss/v4-engine/generator/native-session.d.ts +17 -0
- package/dist/tailwindcss/v4-engine/generator/scan-sources.d.ts +2 -1
- package/dist/tailwindcss/v4-engine/generator.d.ts +2 -28
- package/dist/tailwindcss/v4-engine/index.d.ts +5 -5
- package/dist/tailwindcss/v4-engine/miniprogram.d.ts +2 -2
- package/dist/tailwindcss/v4-engine/source.d.ts +2 -2
- package/dist/tailwindcss/v4-engine/types.d.ts +1 -0
- package/dist/{tailwindcss-KBYPJ2DW.js → tailwindcss-Cs94gJgf.cjs} +10 -770
- package/dist/{tailwindcss-xs704TRw.mjs → tailwindcss-D7TGiZR2.js} +23 -23
- package/dist/transform-BUEyOCT7.cjs +341 -0
- package/dist/transform-BbaPIji9.js +342 -0
- package/dist/typedoc.export.d.ts +4 -4
- package/dist/types/index.d.ts +7 -7
- package/dist/types/shared.d.ts +1 -1
- package/dist/types/typedoc-tailwindcss-runtime.d.ts +3 -3
- package/dist/types/user-defined-options/general.d.ts +5 -5
- package/dist/types/user-defined-options/important.d.ts +2 -2
- package/dist/types/user-defined-options/index.d.ts +9 -9
- package/dist/types/user-defined-options/matcher.d.ts +2 -2
- package/dist/types.cjs +0 -0
- package/dist/types.d.ts +1 -1
- package/dist/types.js +1 -0
- package/dist/uni-app-x/harmony.d.ts +1 -0
- package/dist/uni-app-x/index.d.ts +2 -2
- package/dist/uni-app-x/options.d.ts +1 -1
- package/dist/uni-app-x/style-asset/harmony-apply.d.ts +1 -0
- package/dist/uni-app-x/style-asset/style-value.d.ts +3 -0
- package/dist/uni-app-x/style-asset.d.ts +5 -4
- package/dist/uni-app-x/transform.d.ts +1 -1
- package/dist/uni-app-x/vite/harmony-apply.d.ts +19 -0
- package/dist/uni-app-x/vite/native-target.d.ts +2 -0
- package/dist/uni-app-x/vite.d.ts +5 -2
- package/dist/unocss/index.d.ts +1 -1
- package/dist/utils/disabled.d.ts +1 -1
- package/dist/utils/index.d.ts +3 -3
- package/dist/{hmr-timing-B8p4f0ca.js → v4-generation-core-D7MuR5ZF.cjs} +4886 -3330
- package/dist/{vite-nXZEiwG0.mjs → vite-BI1TeUPO.js} +6148 -4522
- package/dist/{vite-DUVjMduj.js → vite-CBzmUTu-.cjs} +6267 -4666
- package/dist/vite.cjs +4 -0
- package/dist/vite.d.ts +3 -3
- package/dist/vite.js +2 -4
- package/dist/watch-dependencies-BZGubvuJ.cjs +40 -0
- package/dist/{weapp-tw-css-generation-loader.js → weapp-tw-css-generation-loader.cjs} +3 -2
- package/dist/weapp-tw-css-import-rewrite-loader.cjs +201 -0
- package/dist/{weapp-tw-runtime-classset-loader.js → weapp-tw-runtime-classset-loader.cjs} +19 -15
- package/dist/{webpack-nppysF4B.js → webpack-Dao6bWEj.cjs} +1000 -1473
- package/dist/{webpack-C_UUFRgj.mjs → webpack-dAY9h8r8.js} +1462 -1185
- package/dist/webpack.cjs +5 -0
- package/dist/webpack.d.ts +2 -2
- package/dist/webpack.js +2 -5
- package/dist/wxml/Tokenizer.d.ts +2 -2
- package/dist/wxml/custom-attributes.d.ts +1 -1
- package/dist/wxml/index.d.ts +2 -2
- package/dist/wxml/shared.d.ts +1 -1
- package/dist/wxml/utils/codegen/legacy-rewriter.d.ts +1 -1
- package/dist/wxml/utils/codegen/legacy-visitor.d.ts +2 -2
- package/dist/wxml/utils/codegen.d.ts +1 -1
- package/dist/wxml/utils/custom-template.d.ts +2 -2
- package/dist/wxml/utils/fragment-helpers.d.ts +2 -2
- package/dist/wxml/utils/fragment-updater.d.ts +2 -2
- package/dist/wxml/utils/template-fragments.d.ts +2 -2
- package/dist/wxml/utils.d.ts +5 -5
- package/dist/wxml-DSMNuUaP.cjs +38609 -0
- package/dist/{cli.mjs → wxml-IBzZSaQC.js} +237 -718
- package/package.json +59 -54
- package/dist/css-macro/postcss.mjs +0 -2
- package/dist/generator.mjs +0 -2
- package/dist/gulp.mjs +0 -2
- package/dist/index.mjs +0 -9
- package/dist/object-BJSWl-E5.mjs +0 -9
- package/dist/object-COs_Mw6p.js +0 -14
- package/dist/postcss-html-transform.mjs +0 -5
- package/dist/postcss.mjs +0 -11
- package/dist/reset.mjs +0 -2
- package/dist/transform-B_KM9sLX.mjs +0 -14930
- package/dist/transform-CcYptivi.js +0 -14927
- package/dist/types.mjs +0 -1
- package/dist/vite.mjs +0 -2
- package/dist/watch-dependencies-bpG6kmAf.js +0 -80
- package/dist/weapp-tw-css-import-rewrite-loader-DNk0IxAt.js +0 -10198
- package/dist/weapp-tw-css-import-rewrite-loader.js +0 -10
- package/dist/webpack.mjs +0 -2
- package/dist/wxml-Ce10eREX.js +0 -3979
- package/dist/wxml-DdGdeqaH.mjs +0 -3861
- /package/dist/{auto-2dg_uhEJ.mjs → auto-2dg_uhEJ.js} +0 -0
- /package/dist/{auto-DtU6f3X6.js → auto-DtU6f3X6.cjs} +0 -0
- /package/dist/bundlers/{vite → shared}/source-scan/dependencies.d.ts +0 -0
- /package/dist/{cache-options-DavPxrhC.js → cache-options-DavPxrhC.cjs} +0 -0
- /package/dist/{cache-options-DwBtLwQe.mjs → cache-options-DwBtLwQe.js} +0 -0
- /package/dist/{logger-BNzxZbZj.mjs → logger-BNzxZbZj.js} +0 -0
- /package/dist/{logger-TlKT3xmR.js → logger-TlKT3xmR.cjs} +0 -0
- /package/dist/{utils-CuKLf1Zv.js → utils-CuKLf1Zv.cjs} +0 -0
- /package/dist/{utils-MVwpU07P.mjs → utils-MVwpU07P.js} +0 -0
|
@@ -1,24 +1,30 @@
|
|
|
1
|
-
const require_rolldown_runtime = require("./rolldown-runtime-
|
|
2
|
-
const require_generator = require("./generator-
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const require_hmr_timing = require("./hmr-timing-
|
|
9
|
-
const
|
|
1
|
+
const require_rolldown_runtime = require("./rolldown-runtime-CVvi-lCc.cjs");
|
|
2
|
+
const require_generator = require("./generator-C8D5cnbe.cjs");
|
|
3
|
+
const require_object = require("./object-C_Vr6_S5.cjs");
|
|
4
|
+
const require_options = require("./options-DlvhQwWB.cjs");
|
|
5
|
+
const require_utils = require("./utils-CuKLf1Zv.cjs");
|
|
6
|
+
const require_v4_generation_core = require("./v4-generation-core-D7MuR5ZF.cjs");
|
|
7
|
+
const require_wxml = require("./wxml-DSMNuUaP.cjs");
|
|
8
|
+
const require_hmr_timing = require("./hmr-timing-DMLfNfGG.cjs");
|
|
9
|
+
const require_context = require("./context-PZXBqrAJ.cjs");
|
|
10
|
+
const require_tailwindcss = require("./tailwindcss-Cs94gJgf.cjs");
|
|
11
|
+
const require_style_options = require("./style-options-CEfXwZzX.cjs");
|
|
12
|
+
const require_source_candidate_scan_signature = require("./source-candidate-scan-signature-BmSuoxR9.cjs");
|
|
13
|
+
const require_pipeline_helpers = require("./pipeline-helpers-XtUmUlci.cjs");
|
|
14
|
+
const require_css_loader_runtime = require("./css-loader-runtime-CSv0lKqV.cjs");
|
|
15
|
+
const require_runtime_registry = require("./runtime-registry-Y7NrD2WH.cjs");
|
|
10
16
|
let node_fs = require("node:fs");
|
|
11
|
-
node_fs = require_rolldown_runtime.__toESM(node_fs);
|
|
17
|
+
node_fs = require_rolldown_runtime.__toESM(node_fs, 1);
|
|
12
18
|
let node_path = require("node:path");
|
|
13
|
-
node_path = require_rolldown_runtime.__toESM(node_path);
|
|
19
|
+
node_path = require_rolldown_runtime.__toESM(node_path, 1);
|
|
14
20
|
let node_process = require("node:process");
|
|
15
|
-
node_process = require_rolldown_runtime.__toESM(node_process);
|
|
21
|
+
node_process = require_rolldown_runtime.__toESM(node_process, 1);
|
|
16
22
|
let _weapp_tailwindcss_postcss = require("@weapp-tailwindcss/postcss");
|
|
17
23
|
let node_module = require("node:module");
|
|
18
|
-
node_module = require_rolldown_runtime.__toESM(node_module);
|
|
24
|
+
node_module = require_rolldown_runtime.__toESM(node_module, 1);
|
|
19
25
|
let node_fs_promises = require("node:fs/promises");
|
|
20
26
|
let micromatch = require("micromatch");
|
|
21
|
-
micromatch = require_rolldown_runtime.__toESM(micromatch);
|
|
27
|
+
micromatch = require_rolldown_runtime.__toESM(micromatch, 1);
|
|
22
28
|
let _weapp_core_escape = require("@weapp-core/escape");
|
|
23
29
|
let _weapp_tailwindcss_shared_node = require("@weapp-tailwindcss/shared/node");
|
|
24
30
|
//#region src/bundlers/webpack/BaseUnifiedPlugin/shared.ts
|
|
@@ -27,13 +33,13 @@ function getCacheKey(filename) {
|
|
|
27
33
|
}
|
|
28
34
|
function stripResourceQuery(resource) {
|
|
29
35
|
if (typeof resource !== "string") return resource;
|
|
30
|
-
return
|
|
36
|
+
return require_v4_generation_core.stripRequestQuery(resource);
|
|
31
37
|
}
|
|
32
38
|
function isCssLikeModuleResource(resource, cssMatcher) {
|
|
33
39
|
if (typeof resource !== "string") return false;
|
|
34
40
|
const normalizedResource = stripResourceQuery(resource);
|
|
35
41
|
if (normalizedResource && cssMatcher(normalizedResource)) return true;
|
|
36
|
-
if (
|
|
42
|
+
if (require_v4_generation_core.isSourceStyleRequest(resource)) return true;
|
|
37
43
|
return false;
|
|
38
44
|
}
|
|
39
45
|
function hasLoaderEntry(entries, target) {
|
|
@@ -159,659 +165,7 @@ function isWatchFileInRuntimeDependencies(file, dependencies) {
|
|
|
159
165
|
return false;
|
|
160
166
|
}
|
|
161
167
|
//#endregion
|
|
162
|
-
//#region src/bundlers/webpack/
|
|
163
|
-
function isWebpackCssLoaderRuntimeSource(source) {
|
|
164
|
-
return source.includes("___CSS_LOADER_EXPORT___") && source.includes("___CSS_LOADER_API_IMPORT___") && source.includes("module.exports = ___CSS_LOADER_EXPORT___");
|
|
165
|
-
}
|
|
166
|
-
//#endregion
|
|
167
|
-
//#region src/bundlers/webpack/BaseUnifiedPlugin/v5-assets/pipeline-helpers.ts
|
|
168
|
-
const WEBPACK_CSS_HANDLER_OPTIONS_CACHE_MAX = 128;
|
|
169
|
-
function resolveConfiguredWebpackCssPreflight(compilerOptions, styleOptions) {
|
|
170
|
-
return styleOptions.cssPreflight ?? compilerOptions.cssPreflight ?? require_defaults.getDefaultCssPreflight();
|
|
171
|
-
}
|
|
172
|
-
function resolveExistingWebpackCssPreflight(compilerOptions, styleOptions, source) {
|
|
173
|
-
return hasMiniProgramPreflightSelector(source) ? resolveConfiguredWebpackCssPreflight(compilerOptions, styleOptions) : void 0;
|
|
174
|
-
}
|
|
175
|
-
function removeMiniProgramPreflightSelectorRule(source) {
|
|
176
|
-
try {
|
|
177
|
-
const root = _weapp_tailwindcss_postcss.postcss.parse(source);
|
|
178
|
-
let changed = false;
|
|
179
|
-
root.walkRules((rule) => {
|
|
180
|
-
const selectors = new Set((rule.selectors ?? [rule.selector]).map((selector) => selector.trim().replace(/^:before$/, "::before").replace(/^:after$/, "::after")));
|
|
181
|
-
if (selectors.has("view") && selectors.has("text") && selectors.has("::before") && selectors.has("::after")) {
|
|
182
|
-
rule.remove();
|
|
183
|
-
changed = true;
|
|
184
|
-
}
|
|
185
|
-
});
|
|
186
|
-
return changed ? root.toString() : source;
|
|
187
|
-
} catch {
|
|
188
|
-
return source.replace(/(?:^|[}\s])\s*view\s*,\s*text\s*,\s*::after\s*,\s*::before\s*\{[^}]*\}/g, "");
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
function dedupeMiniProgramPreflightSelectorRules(source) {
|
|
192
|
-
try {
|
|
193
|
-
const root = _weapp_tailwindcss_postcss.postcss.parse(source);
|
|
194
|
-
let firstRule;
|
|
195
|
-
let changed = false;
|
|
196
|
-
root.walkRules((rule) => {
|
|
197
|
-
const selectors = new Set((rule.selectors ?? [rule.selector]).map((selector) => selector.trim().replace(/^:before$/, "::before").replace(/^:after$/, "::after")));
|
|
198
|
-
if (!selectors.has("view") || !selectors.has("text") || !selectors.has("::before") || !selectors.has("::after")) return;
|
|
199
|
-
if (!firstRule) {
|
|
200
|
-
firstRule = rule;
|
|
201
|
-
return;
|
|
202
|
-
}
|
|
203
|
-
const existingProps = /* @__PURE__ */ new Set();
|
|
204
|
-
firstRule.walkDecls((decl) => {
|
|
205
|
-
existingProps.add(decl.prop);
|
|
206
|
-
});
|
|
207
|
-
rule.walkDecls((decl) => {
|
|
208
|
-
if (!existingProps.has(decl.prop)) {
|
|
209
|
-
firstRule?.append(decl.clone());
|
|
210
|
-
existingProps.add(decl.prop);
|
|
211
|
-
}
|
|
212
|
-
});
|
|
213
|
-
rule.remove();
|
|
214
|
-
changed = true;
|
|
215
|
-
});
|
|
216
|
-
return changed ? root.toString() : source;
|
|
217
|
-
} catch {
|
|
218
|
-
return source;
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
function hasMiniProgramPreflightSelector(source) {
|
|
222
|
-
try {
|
|
223
|
-
let found = false;
|
|
224
|
-
_weapp_tailwindcss_postcss.postcss.parse(source).walkRules((rule) => {
|
|
225
|
-
const selectors = new Set((rule.selectors ?? [rule.selector]).map((selector) => selector.trim().replace(/^:before$/, "::before").replace(/^:after$/, "::after")));
|
|
226
|
-
if (selectors.has("view") && selectors.has("text") && selectors.has("::before") && selectors.has("::after")) {
|
|
227
|
-
found = true;
|
|
228
|
-
return false;
|
|
229
|
-
}
|
|
230
|
-
});
|
|
231
|
-
return found;
|
|
232
|
-
} catch {
|
|
233
|
-
return /(?:^|[},])\s*view\s*,\s*text\s*,\s*::after\s*,\s*::before\s*\{/.test(source);
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
function ensureWebpackMiniProgramTwContentInit(source) {
|
|
237
|
-
if (!source.includes("var(--tw-content)")) return source;
|
|
238
|
-
try {
|
|
239
|
-
const root = _weapp_tailwindcss_postcss.postcss.parse(source);
|
|
240
|
-
let changed = false;
|
|
241
|
-
root.walkRules((rule) => {
|
|
242
|
-
const selectors = new Set((rule.selectors ?? [rule.selector]).map((selector) => selector.trim().replace(/^:before$/, "::before").replace(/^:after$/, "::after")));
|
|
243
|
-
if (!selectors.has("view") || !selectors.has("text") || !selectors.has("::before") || !selectors.has("::after")) return;
|
|
244
|
-
let hasContentInit = false;
|
|
245
|
-
rule.walkDecls("--tw-content", () => {
|
|
246
|
-
hasContentInit = true;
|
|
247
|
-
});
|
|
248
|
-
if (!hasContentInit) {
|
|
249
|
-
rule.append(_weapp_tailwindcss_postcss.postcss.decl({
|
|
250
|
-
prop: "--tw-content",
|
|
251
|
-
value: "''"
|
|
252
|
-
}));
|
|
253
|
-
changed = true;
|
|
254
|
-
}
|
|
255
|
-
return false;
|
|
256
|
-
});
|
|
257
|
-
return changed ? root.toString() : source;
|
|
258
|
-
} catch {
|
|
259
|
-
return source;
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
function removeTailwindV4StandaloneHostPreflightRule(source) {
|
|
263
|
-
if (!source.includes("--theme(")) return source;
|
|
264
|
-
try {
|
|
265
|
-
const root = _weapp_tailwindcss_postcss.postcss.parse(source);
|
|
266
|
-
let changed = false;
|
|
267
|
-
root.walkRules((rule) => {
|
|
268
|
-
if (rule.selector.trim() !== ":host") return;
|
|
269
|
-
if (!rule.nodes?.some((node) => node.type === "decl" && node.value?.includes("--theme("))) return;
|
|
270
|
-
rule.remove();
|
|
271
|
-
changed = true;
|
|
272
|
-
});
|
|
273
|
-
return changed ? root.toString() : source;
|
|
274
|
-
} catch {
|
|
275
|
-
return source;
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
function isRuntimeTransformCandidate(candidate) {
|
|
279
|
-
return candidate.length > 0 && !candidate.includes("=") && !candidate.includes("<") && !candidate.includes(">") && !candidate.includes("${");
|
|
280
|
-
}
|
|
281
|
-
function collectRuntimeTokenSignatureParts(source) {
|
|
282
|
-
return source.match(/[\w-]+_[A-Z][\w-]*/gi) ?? [];
|
|
283
|
-
}
|
|
284
|
-
function hasMissingRuntimeCandidates(classSet, candidates) {
|
|
285
|
-
if (!classSet || !candidates?.size) return false;
|
|
286
|
-
for (const candidate of candidates) if (isRuntimeTransformCandidate(candidate) && !classSet.has(candidate)) return true;
|
|
287
|
-
return false;
|
|
288
|
-
}
|
|
289
|
-
function hasStaleRuntimeCandidates(classSet, candidates) {
|
|
290
|
-
if (!classSet || !candidates) return false;
|
|
291
|
-
for (const candidate of classSet) if (isRuntimeTransformCandidate(candidate) && !candidates.has(candidate)) return true;
|
|
292
|
-
return false;
|
|
293
|
-
}
|
|
294
|
-
function resolveGeneratedCssRuntimeCandidates(source, fallbackClassSet) {
|
|
295
|
-
const classSet = collectGeneratedCssRuntimeCandidates(source);
|
|
296
|
-
if (classSet.size > 0 || fallbackClassSet === void 0) return classSet;
|
|
297
|
-
return fallbackClassSet;
|
|
298
|
-
}
|
|
299
|
-
function getRuntimeClassSetSync(tailwindRuntime) {
|
|
300
|
-
if (typeof tailwindRuntime.getClassSetSync !== "function") return /* @__PURE__ */ new Set();
|
|
301
|
-
try {
|
|
302
|
-
return new Set(tailwindRuntime.getClassSetSync() ?? []);
|
|
303
|
-
} catch {
|
|
304
|
-
return /* @__PURE__ */ new Set();
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
function toMb(bytes) {
|
|
308
|
-
return Math.round(bytes / 1024 / 1024);
|
|
309
|
-
}
|
|
310
|
-
function pruneMapToMaxSize(map, maxSize) {
|
|
311
|
-
while (map.size > maxSize) {
|
|
312
|
-
const oldestKey = map.keys().next().value;
|
|
313
|
-
if (oldestKey === void 0) break;
|
|
314
|
-
map.delete(oldestKey);
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
function stripTrailingLineWhitespace(source) {
|
|
318
|
-
return source.replace(/[ \t]+$/gm, "");
|
|
319
|
-
}
|
|
320
|
-
function pruneWebpackCssHandlerOptionCaches(cssHandlerOptionsCache, cssUserHandlerOptionsCache, activeCssFiles) {
|
|
321
|
-
const activeSuffixes = [...activeCssFiles].map((file) => `:${file}`);
|
|
322
|
-
for (const key of cssHandlerOptionsCache.keys()) if (!activeSuffixes.some((suffix) => key.endsWith(suffix))) cssHandlerOptionsCache.delete(key);
|
|
323
|
-
for (const key of cssUserHandlerOptionsCache.keys()) if (!activeSuffixes.some((suffix) => key.endsWith(suffix))) cssUserHandlerOptionsCache.delete(key);
|
|
324
|
-
pruneMapToMaxSize(cssHandlerOptionsCache, WEBPACK_CSS_HANDLER_OPTIONS_CACHE_MAX);
|
|
325
|
-
pruneMapToMaxSize(cssUserHandlerOptionsCache, WEBPACK_CSS_HANDLER_OPTIONS_CACHE_MAX);
|
|
326
|
-
}
|
|
327
|
-
function resolveWebpackGeneratorRawSource(rawSource, cssHandlerOptions) {
|
|
328
|
-
const sourceCss = cssHandlerOptions.sourceOptions?.sourceCss;
|
|
329
|
-
if (sourceCss && (require_generator.hasTailwindRootDirectives(sourceCss, { importFallback: true }) || require_generator.hasTailwindSourceDirectives(sourceCss, { importFallback: true }) || require_generator.hasTailwindApplyDirective(sourceCss) || require_generator.hasTailwindGeneratedCss(sourceCss) || require_generator.hasTailwindGeneratedCssMarkers(sourceCss))) return sourceCss;
|
|
330
|
-
return rawSource;
|
|
331
|
-
}
|
|
332
|
-
function shouldConsumeWebpackLoaderGeneratedCss(options) {
|
|
333
|
-
if (!options.shouldRegenerateExplicitTailwindV4CssSource) return true;
|
|
334
|
-
if (options.watchMode === true && options.loaderGeneratedClassSet && options.sourceCandidates && hasStaleRuntimeCandidates(options.loaderGeneratedClassSet, options.sourceCandidates)) return false;
|
|
335
|
-
if (options.hasBundlerGeneratedCssMarker) return true;
|
|
336
|
-
if (options.watchMode === true && options.loaderGeneratedClassSet && options.sourceCandidates && hasMissingRuntimeCandidates(options.loaderGeneratedClassSet, options.sourceCandidates)) return false;
|
|
337
|
-
return Boolean(options.allowMarkerlessRegistryMatch && options.loaderGeneratedClassSet && options.sourceCandidates && !hasMissingRuntimeCandidates(options.loaderGeneratedClassSet, options.sourceCandidates) && !hasStaleRuntimeCandidates(options.loaderGeneratedClassSet, options.sourceCandidates));
|
|
338
|
-
}
|
|
339
|
-
function hasDeferredWebpackGeneratedCss(source, generatedClassSets) {
|
|
340
|
-
const selectors = require_hmr_timing.collectRawSourceClassSelectors(source);
|
|
341
|
-
for (const classSet of generatedClassSets) for (const candidate of classSet) if (selectors.has(candidate)) return true;
|
|
342
|
-
return false;
|
|
343
|
-
}
|
|
344
|
-
function hasUsableWebpackGeneratorCssSources(cssSources) {
|
|
345
|
-
return Array.isArray(cssSources) && cssSources.some((source) => typeof source?.css === "string" && source.css.length > 0);
|
|
346
|
-
}
|
|
347
|
-
function normalizeWebpackGeneratorCssSources(cssSources) {
|
|
348
|
-
if (!Array.isArray(cssSources)) return;
|
|
349
|
-
const normalized = cssSources.filter((source) => typeof source?.css === "string" && source.css.length > 0);
|
|
350
|
-
return normalized.length > 0 ? normalized : void 0;
|
|
351
|
-
}
|
|
352
|
-
function scopeWebpackGeneratorOptionsToCssSource(compilerOptions, sourceFile, options = {}) {
|
|
353
|
-
const withoutCssEntries = () => ({
|
|
354
|
-
...compilerOptions,
|
|
355
|
-
...compilerOptions.cssEntries?.length ? { cssEntries: [] } : {},
|
|
356
|
-
tailwindcss: {
|
|
357
|
-
...compilerOptions.tailwindcss,
|
|
358
|
-
v4: {
|
|
359
|
-
...compilerOptions.tailwindcss?.v4,
|
|
360
|
-
...compilerOptions.tailwindcss?.v4?.cssEntries?.length || compilerOptions.cssEntries?.length ? { cssEntries: [] } : {}
|
|
361
|
-
}
|
|
362
|
-
}
|
|
363
|
-
});
|
|
364
|
-
if (!sourceFile) {
|
|
365
|
-
if (options.disableUnmatchedCssEntries !== true) return compilerOptions;
|
|
366
|
-
if (!compilerOptions.cssEntries?.length && !compilerOptions.tailwindcss?.v4?.cssEntries?.length) return compilerOptions;
|
|
367
|
-
return withoutCssEntries();
|
|
368
|
-
}
|
|
369
|
-
const resolvedSourceFile = node_path.default.resolve(sourceFile);
|
|
370
|
-
if (options.disableUnmatchedCssEntries === true) {
|
|
371
|
-
const configuredEntries = [...compilerOptions.cssEntries ?? [], ...compilerOptions.tailwindcss?.v4?.cssEntries ?? []];
|
|
372
|
-
if (configuredEntries.length > 0 && !configuredEntries.some((entry) => node_path.default.resolve(entry) === resolvedSourceFile)) return withoutCssEntries();
|
|
373
|
-
}
|
|
374
|
-
const cssEntries = compilerOptions.cssEntries?.filter((entry) => node_path.default.resolve(entry) === resolvedSourceFile);
|
|
375
|
-
const runtimeCssEntries = compilerOptions.tailwindcss?.v4?.cssEntries?.filter((entry) => node_path.default.resolve(entry) === resolvedSourceFile);
|
|
376
|
-
const hasScopedCssEntries = Boolean(cssEntries?.length);
|
|
377
|
-
const hasScopedRuntimeCssEntries = Boolean(runtimeCssEntries?.length);
|
|
378
|
-
if (!hasScopedCssEntries && !hasScopedRuntimeCssEntries) return compilerOptions;
|
|
379
|
-
return {
|
|
380
|
-
...compilerOptions,
|
|
381
|
-
...hasScopedCssEntries ? { cssEntries } : {},
|
|
382
|
-
tailwindcss: {
|
|
383
|
-
...compilerOptions.tailwindcss,
|
|
384
|
-
v4: {
|
|
385
|
-
...compilerOptions.tailwindcss?.v4,
|
|
386
|
-
...hasScopedRuntimeCssEntries ? { cssEntries: runtimeCssEntries } : hasScopedCssEntries ? { cssEntries } : {}
|
|
387
|
-
}
|
|
388
|
-
}
|
|
389
|
-
};
|
|
390
|
-
}
|
|
391
|
-
function hasProcessedCssAssetUrl(css) {
|
|
392
|
-
return /url\(\s*["']?data:/i.test(css);
|
|
393
|
-
}
|
|
394
|
-
function shouldUseWebpackAssetAsGeneratorUserCss(rawSource, generatorRawSource, options = {}) {
|
|
395
|
-
const rawMarkers = collectWebpackAssetUserCssMarkers(rawSource);
|
|
396
|
-
return rawSource !== generatorRawSource && (options.processed === true || !rawSource.includes("data:")) && !require_generator.hasTailwindRootDirectives(rawSource, { importFallback: true }) && !require_generator.hasTailwindSourceDirectives(rawSource, { importFallback: true }) && !require_generator.hasTailwindApplyDirective(rawSource) && rawMarkers.size > 0 && !isOnlyWebpackTailwindGeneratedPreflightCss(rawSource) && (!require_generator.hasTailwindGeneratedCssMarkers(rawSource) || hasAdditionalWebpackAssetUserCssMarkers(rawSource, generatorRawSource));
|
|
397
|
-
}
|
|
398
|
-
function collectWebpackAssetUserCssMarkers(source) {
|
|
399
|
-
const markers = /* @__PURE__ */ new Set();
|
|
400
|
-
for (const match of source.matchAll(/\.((?:\\.|[_a-z\u00A0-\uFFFF-])(?:\\.|[\w\u00A0-\uFFFF-])*)/gi)) markers.add(`class:${match[1]}`);
|
|
401
|
-
for (const match of source.matchAll(/@(?:-[\w-]+-)?keyframes\s+((?:\\.|[-\w\u00A0-\uFFFF])+)/gi)) markers.add(`keyframes:${match[1]}`);
|
|
402
|
-
try {
|
|
403
|
-
const root = _weapp_tailwindcss_postcss.postcss.parse(source);
|
|
404
|
-
root.walkRules((rule) => {
|
|
405
|
-
for (const selector of rule.selectors) if (!/(?:^|[^\w-])\.[_a-z\u00A0-\uFFFF\\-]/i.test(selector)) markers.add(`selector:${selector.trim().replace(/\s+/g, " ")}`);
|
|
406
|
-
rule.walkDecls((decl) => {
|
|
407
|
-
if (decl.prop.startsWith("--")) markers.add(`custom-property:${decl.prop}`);
|
|
408
|
-
});
|
|
409
|
-
});
|
|
410
|
-
root.walkAtRules("font-face", (rule) => {
|
|
411
|
-
rule.walkDecls("font-family", (decl) => {
|
|
412
|
-
markers.add(`font-face:${decl.value.trim()}`);
|
|
413
|
-
});
|
|
414
|
-
});
|
|
415
|
-
} catch {}
|
|
416
|
-
return markers;
|
|
417
|
-
}
|
|
418
|
-
function hasWebpackClassSelector(selector) {
|
|
419
|
-
return /(?:^|[^\w-])\.[_a-z\u00A0-\uFFFF\\-]/i.test(selector);
|
|
420
|
-
}
|
|
421
|
-
function isWebpackKeyframesRule(rule) {
|
|
422
|
-
let parent = rule.parent;
|
|
423
|
-
while (parent) {
|
|
424
|
-
if (parent.type === "atrule" && parent.name.endsWith("keyframes")) return true;
|
|
425
|
-
parent = parent.parent;
|
|
426
|
-
}
|
|
427
|
-
return false;
|
|
428
|
-
}
|
|
429
|
-
function collectWebpackBareSelectorUserCss(source) {
|
|
430
|
-
try {
|
|
431
|
-
const normalizedSource = require_generator.removeTailwindSourceDirectives(require_generator.stripTailwindSourceMediaFragments(require_generator.removeTailwindV4GeneratorAtRules(source)), { importFallback: true });
|
|
432
|
-
const root = _weapp_tailwindcss_postcss.postcss.parse(normalizedSource);
|
|
433
|
-
let changed = false;
|
|
434
|
-
root.walkAtRules((rule) => {
|
|
435
|
-
if (rule.name === "import" || rule.name === "font-face" || rule.name.endsWith("keyframes")) {
|
|
436
|
-
rule.remove();
|
|
437
|
-
changed = true;
|
|
438
|
-
}
|
|
439
|
-
});
|
|
440
|
-
root.walkRules((rule) => {
|
|
441
|
-
if (isWebpackKeyframesRule(rule) || rule.selectors.some((selector) => hasWebpackClassSelector(selector))) {
|
|
442
|
-
rule.remove();
|
|
443
|
-
changed = true;
|
|
444
|
-
}
|
|
445
|
-
});
|
|
446
|
-
root.walkAtRules((rule) => {
|
|
447
|
-
if (rule.nodes !== void 0 && rule.nodes.length === 0) {
|
|
448
|
-
rule.remove();
|
|
449
|
-
changed = true;
|
|
450
|
-
}
|
|
451
|
-
});
|
|
452
|
-
return changed ? root.toString() : normalizedSource;
|
|
453
|
-
} catch {
|
|
454
|
-
return "";
|
|
455
|
-
}
|
|
456
|
-
}
|
|
457
|
-
const WEBPACK_TAILWIND_GENERATED_LAYER_NAMES = /* @__PURE__ */ new Set([
|
|
458
|
-
"theme",
|
|
459
|
-
"base",
|
|
460
|
-
"utilities"
|
|
461
|
-
]);
|
|
462
|
-
const WEBPACK_TAILWIND_UTILITY_RULE_MARKER_RE = /(?:^|[^\w-])\.[^,{]{0,512}(?:\\:|\\\[|\\#)/;
|
|
463
|
-
const WEBPACK_TAILWIND_UTILITY_PREFIX_RE = /^\.(?:-?(?:bg|text|border|ring|shadow|drop-shadow|[pmwhz]|px|py|pt|pr|pb|pl|mx|my|mt|mr|mb|ml|min-w|min-h|max-w|max-h|flex|grid|inline|block|hidden|rounded|opacity|translate|scale|rotate|skew|top|right|bottom|left|inset|gap|font|leading|tracking|underline|container)(?:[\-\\{]|$)|\\\[)/;
|
|
464
|
-
const WEBPACK_TAILWIND_BANNER_RE = /tailwindcss v4\./;
|
|
465
|
-
const WEBPACK_TAILWIND_PREFLIGHT_SELECTORS = /* @__PURE__ */ new Set([
|
|
466
|
-
"*",
|
|
467
|
-
":after",
|
|
468
|
-
":before",
|
|
469
|
-
"::after",
|
|
470
|
-
"::before",
|
|
471
|
-
"::backdrop",
|
|
472
|
-
"view",
|
|
473
|
-
"text"
|
|
474
|
-
]);
|
|
475
|
-
const WEBPACK_TAILWIND_PREFLIGHT_PROPS = /* @__PURE__ */ new Set([
|
|
476
|
-
"box-sizing",
|
|
477
|
-
"border",
|
|
478
|
-
"border-width",
|
|
479
|
-
"border-style",
|
|
480
|
-
"border-color",
|
|
481
|
-
"margin",
|
|
482
|
-
"padding"
|
|
483
|
-
]);
|
|
484
|
-
const WEBPACK_TAILWIND_THEME_TOKEN_RE = /^--(?:tw-|color-|spacing|breakpoint-|container-|text-|font-|tracking-|leading-|radius-|shadow-|inset-shadow-|drop-shadow-|ease-|animate-|blur-|perspective-|aspect-|default-)/;
|
|
485
|
-
function parseWebpackCssLayerNames(params) {
|
|
486
|
-
return params.split(",").map((name) => name.trim()).filter(Boolean);
|
|
487
|
-
}
|
|
488
|
-
function removeWebpackTailwindGeneratedAssetCss(source) {
|
|
489
|
-
const cleaned = require_generator.removeTailwindV4GeneratedUserCssArtifacts(source);
|
|
490
|
-
try {
|
|
491
|
-
const root = _weapp_tailwindcss_postcss.postcss.parse(cleaned);
|
|
492
|
-
let changed = false;
|
|
493
|
-
let removingBannerPrefix = false;
|
|
494
|
-
for (const node of [...root.nodes]) {
|
|
495
|
-
if (node.type === "comment" && WEBPACK_TAILWIND_BANNER_RE.test(node.text)) {
|
|
496
|
-
node.remove();
|
|
497
|
-
changed = true;
|
|
498
|
-
removingBannerPrefix = true;
|
|
499
|
-
continue;
|
|
500
|
-
}
|
|
501
|
-
if (!removingBannerPrefix) continue;
|
|
502
|
-
if (isWebpackTailwindGeneratedPrefixNode(node)) {
|
|
503
|
-
node.remove();
|
|
504
|
-
changed = true;
|
|
505
|
-
continue;
|
|
506
|
-
}
|
|
507
|
-
removingBannerPrefix = false;
|
|
508
|
-
}
|
|
509
|
-
root.walkAtRules("layer", (rule) => {
|
|
510
|
-
const names = parseWebpackCssLayerNames(rule.params);
|
|
511
|
-
const hasGeneratedLayerName = names.some((name) => WEBPACK_TAILWIND_GENERATED_LAYER_NAMES.has(name));
|
|
512
|
-
const isLayerDeclaration = rule.nodes === void 0;
|
|
513
|
-
const shouldRemoveLayer = isLayerDeclaration ? hasGeneratedLayerName : names.length > 0 && names.every((name) => WEBPACK_TAILWIND_GENERATED_LAYER_NAMES.has(name));
|
|
514
|
-
if (shouldRemoveLayer && isLayerDeclaration) {
|
|
515
|
-
rule.remove();
|
|
516
|
-
changed = true;
|
|
517
|
-
return;
|
|
518
|
-
}
|
|
519
|
-
if (shouldRemoveLayer && !names.includes("utilities")) {
|
|
520
|
-
for (const child of [...rule.nodes ?? []]) if (isWebpackTailwindGeneratedLayerNode(child, names)) {
|
|
521
|
-
child.remove();
|
|
522
|
-
changed = true;
|
|
523
|
-
}
|
|
524
|
-
if (rule.nodes?.length === 0) {
|
|
525
|
-
rule.remove();
|
|
526
|
-
changed = true;
|
|
527
|
-
}
|
|
528
|
-
return;
|
|
529
|
-
}
|
|
530
|
-
if (shouldRemoveLayer) {
|
|
531
|
-
for (const child of [...rule.nodes ?? []]) if (isWebpackTailwindGeneratedLayerNode(child, names)) {
|
|
532
|
-
child.remove();
|
|
533
|
-
changed = true;
|
|
534
|
-
}
|
|
535
|
-
if (rule.nodes?.length === 0) {
|
|
536
|
-
rule.remove();
|
|
537
|
-
changed = true;
|
|
538
|
-
}
|
|
539
|
-
}
|
|
540
|
-
});
|
|
541
|
-
root.walkRules((rule) => {
|
|
542
|
-
if (rule.parent?.type === "atrule" && rule.parent.name === "layer") return;
|
|
543
|
-
const selector = rule.selector.trim();
|
|
544
|
-
if (WEBPACK_TAILWIND_UTILITY_RULE_MARKER_RE.test(selector) || isWebpackTailwindGeneratedPreflightRule(rule)) {
|
|
545
|
-
rule.remove();
|
|
546
|
-
changed = true;
|
|
547
|
-
}
|
|
548
|
-
});
|
|
549
|
-
root.walkComments((comment) => {
|
|
550
|
-
if (WEBPACK_TAILWIND_BANNER_RE.test(comment.text)) {
|
|
551
|
-
comment.remove();
|
|
552
|
-
changed = true;
|
|
553
|
-
}
|
|
554
|
-
});
|
|
555
|
-
root.walkAtRules((rule) => {
|
|
556
|
-
if (rule.nodes !== void 0 && rule.nodes.length === 0) {
|
|
557
|
-
rule.remove();
|
|
558
|
-
changed = true;
|
|
559
|
-
}
|
|
560
|
-
});
|
|
561
|
-
return changed ? root.toString() : cleaned;
|
|
562
|
-
} catch {
|
|
563
|
-
return cleaned;
|
|
564
|
-
}
|
|
565
|
-
}
|
|
566
|
-
function isWebpackTailwindGeneratedPrefixNode(node) {
|
|
567
|
-
if (node.type === "rule") return isWebpackTailwindGeneratedRule(node, [
|
|
568
|
-
"theme",
|
|
569
|
-
"base",
|
|
570
|
-
"utilities"
|
|
571
|
-
], true);
|
|
572
|
-
if (node.type !== "atrule") return false;
|
|
573
|
-
const names = node.name === "layer" ? parseWebpackCssLayerNames(node.params) : [];
|
|
574
|
-
if (node.name === "property" && node.params.trim().startsWith("--tw-")) return true;
|
|
575
|
-
if (names.length > 0 && names.every((name) => WEBPACK_TAILWIND_GENERATED_LAYER_NAMES.has(name))) {
|
|
576
|
-
if (node.nodes === void 0) return true;
|
|
577
|
-
return node.nodes.length > 0 && node.nodes.every((child) => isWebpackTailwindGeneratedLayerNode(child, names));
|
|
578
|
-
}
|
|
579
|
-
if (node.nodes === void 0 || node.nodes.length === 0) return false;
|
|
580
|
-
return node.nodes.every((child) => isWebpackTailwindGeneratedPrefixNode(child));
|
|
581
|
-
}
|
|
582
|
-
function isWebpackTailwindGeneratedLayerNode(node, layerNames) {
|
|
583
|
-
if (node.type === "rule") return isWebpackTailwindGeneratedRule(node, layerNames, false);
|
|
584
|
-
if (node.type !== "atrule") return false;
|
|
585
|
-
if (node.name === "property" && node.params.trim().startsWith("--tw-")) return true;
|
|
586
|
-
if (node.nodes === void 0 || node.nodes.length === 0) return false;
|
|
587
|
-
return node.nodes.every((child) => isWebpackTailwindGeneratedLayerNode(child, layerNames));
|
|
588
|
-
}
|
|
589
|
-
function isWebpackTailwindGeneratedRule(rule, layerNames, includePrefix) {
|
|
590
|
-
const selectors = rule.selectors ?? [rule.selector];
|
|
591
|
-
if (selectors.every((selector) => isWebpackTailwindGeneratedUtilitySelector(selector.trim(), includePrefix))) return true;
|
|
592
|
-
if (selectors.every((selector) => isWebpackTailwindGeneratedUtilitySelector(selector.trim(), true))) return true;
|
|
593
|
-
if (layerNames.includes("theme") && isWebpackTailwindGeneratedThemeRule(rule)) return true;
|
|
594
|
-
if (layerNames.includes("base") && isWebpackTailwindGeneratedPreflightRule(rule)) return true;
|
|
595
|
-
return false;
|
|
596
|
-
}
|
|
597
|
-
function isWebpackTailwindGeneratedThemeRule(rule) {
|
|
598
|
-
const declarations = (rule.nodes ?? []).filter((node) => node.type === "decl");
|
|
599
|
-
return declarations.length > 0 && declarations.every((decl) => WEBPACK_TAILWIND_THEME_TOKEN_RE.test(decl.prop) || decl.value.includes("--theme("));
|
|
600
|
-
}
|
|
601
|
-
function isWebpackTailwindGeneratedPreflightRule(rule) {
|
|
602
|
-
const selectors = rule.selectors ?? [rule.selector];
|
|
603
|
-
const declarations = (rule.nodes ?? []).filter((node) => node.type === "decl");
|
|
604
|
-
return selectors.length > 0 && declarations.length > 0 && selectors.every((selector) => {
|
|
605
|
-
const normalized = selector.trim().replace(/\s+/g, " ");
|
|
606
|
-
return WEBPACK_TAILWIND_PREFLIGHT_SELECTORS.has(normalized);
|
|
607
|
-
}) && declarations.every((decl) => WEBPACK_TAILWIND_PREFLIGHT_PROPS.has(decl.prop));
|
|
608
|
-
}
|
|
609
|
-
function isOnlyWebpackTailwindGeneratedPreflightCss(source) {
|
|
610
|
-
try {
|
|
611
|
-
const nodes = _weapp_tailwindcss_postcss.postcss.parse(source).nodes ?? [];
|
|
612
|
-
return nodes.length > 0 && nodes.every((node) => {
|
|
613
|
-
if (node.type === "rule") return isWebpackTailwindGeneratedPreflightRule(node);
|
|
614
|
-
return node.type === "atrule" && (node.nodes === void 0 || node.nodes.length === 0);
|
|
615
|
-
});
|
|
616
|
-
} catch {
|
|
617
|
-
return false;
|
|
618
|
-
}
|
|
619
|
-
}
|
|
620
|
-
function isWebpackTailwindGeneratedUtilitySelector(selector, includePrefix) {
|
|
621
|
-
return WEBPACK_TAILWIND_UTILITY_RULE_MARKER_RE.test(selector) || includePrefix && WEBPACK_TAILWIND_UTILITY_PREFIX_RE.test(selector);
|
|
622
|
-
}
|
|
623
|
-
function collectWebpackCssRuleIdentityMarkers(source) {
|
|
624
|
-
const markers = /* @__PURE__ */ new Set();
|
|
625
|
-
try {
|
|
626
|
-
const root = _weapp_tailwindcss_postcss.postcss.parse(source);
|
|
627
|
-
root.walkRules((rule) => {
|
|
628
|
-
for (const selector of rule.selectors) for (const match of selector.matchAll(/\.((?:\\.|[_a-z\u00A0-\uFFFF-])(?:\\.|[\w\u00A0-\uFFFF-])*)/gi)) markers.add(`class:${match[1]}`);
|
|
629
|
-
});
|
|
630
|
-
root.walkAtRules("keyframes", (rule) => {
|
|
631
|
-
if (rule.params) markers.add(`keyframes:${rule.params}`);
|
|
632
|
-
});
|
|
633
|
-
} catch {}
|
|
634
|
-
return markers;
|
|
635
|
-
}
|
|
636
|
-
function unescapeCssIdentifier(value) {
|
|
637
|
-
return value.replace(/\\([0-9a-f]{1,6}\s?|.)/gi, (_match, escaped) => {
|
|
638
|
-
const hex = escaped.trim();
|
|
639
|
-
if (/^[0-9a-f]+$/i.test(hex)) return String.fromCodePoint(Number.parseInt(hex, 16));
|
|
640
|
-
return escaped;
|
|
641
|
-
});
|
|
642
|
-
}
|
|
643
|
-
function collectGeneratedCssRuntimeCandidates(source) {
|
|
644
|
-
const candidates = /* @__PURE__ */ new Set();
|
|
645
|
-
if (require_hmr_timing.hasBundlerGeneratedCssMarker(source) || !require_generator.hasTailwindGeneratedCss(source) && !require_generator.hasTailwindGeneratedCssMarkers(source)) return candidates;
|
|
646
|
-
try {
|
|
647
|
-
_weapp_tailwindcss_postcss.postcss.parse(source).walkRules((rule) => {
|
|
648
|
-
for (const selector of rule.selectors) for (const match of selector.matchAll(/\.((?:\\.|[\w\u00A0-\uFFFF-])(?:\\.|[\w\u00A0-\uFFFF-])*)/g)) {
|
|
649
|
-
const candidate = unescapeCssIdentifier(match[1]);
|
|
650
|
-
if (isRuntimeTransformCandidate(candidate)) candidates.add(candidate);
|
|
651
|
-
}
|
|
652
|
-
});
|
|
653
|
-
} catch {}
|
|
654
|
-
return candidates;
|
|
655
|
-
}
|
|
656
|
-
function hasAdditionalWebpackAssetUserCssMarkers(rawSource, generatorRawSource) {
|
|
657
|
-
const rawMarkers = collectWebpackAssetUserCssMarkers(rawSource);
|
|
658
|
-
if (rawMarkers.size === 0) return false;
|
|
659
|
-
const generatorMarkers = collectWebpackAssetUserCssMarkers(generatorRawSource);
|
|
660
|
-
for (const marker of rawMarkers) if (!generatorMarkers.has(marker)) return true;
|
|
661
|
-
return false;
|
|
662
|
-
}
|
|
663
|
-
function hasWebpackTailwindSourceDirectives(source) {
|
|
664
|
-
return Boolean(source) && (require_generator.hasTailwindRootDirectives(source, { importFallback: true }) || require_generator.hasTailwindSourceDirectives(source, { importFallback: true }) || require_generator.hasTailwindApplyDirective(source) || require_generator.hasTailwindGeneratedCss(source) || require_generator.hasTailwindGeneratedCssMarkers(source));
|
|
665
|
-
}
|
|
666
|
-
function isWebpackTailwindImportRequest(request) {
|
|
667
|
-
return request === "tailwindcss" || request === "tailwindcss4" || request?.startsWith("tailwindcss/") || request?.startsWith("tailwindcss4/") || request === "weapp-tailwindcss" || request?.startsWith("weapp-tailwindcss/");
|
|
668
|
-
}
|
|
669
|
-
function removeWebpackGeneratorNonTailwindImports(source) {
|
|
670
|
-
if (!source?.includes("@import")) return source;
|
|
671
|
-
try {
|
|
672
|
-
const root = _weapp_tailwindcss_postcss.postcss.parse(source);
|
|
673
|
-
let changed = false;
|
|
674
|
-
root.walkAtRules("import", (rule) => {
|
|
675
|
-
if (isWebpackTailwindImportRequest(require_generator.parseImportRequest(rule.params))) return;
|
|
676
|
-
rule.remove();
|
|
677
|
-
changed = true;
|
|
678
|
-
});
|
|
679
|
-
return changed ? root.toString() : source;
|
|
680
|
-
} catch {
|
|
681
|
-
return source;
|
|
682
|
-
}
|
|
683
|
-
}
|
|
684
|
-
function isWebpackCssSourceRepresentedInAsset(rawSource, sourceCss) {
|
|
685
|
-
if (!sourceCss || !hasWebpackTailwindSourceDirectives(sourceCss)) return false;
|
|
686
|
-
const sourceMarkers = collectWebpackCssRuleIdentityMarkers(sourceCss);
|
|
687
|
-
if (sourceMarkers.size === 0) return false;
|
|
688
|
-
const rawMarkers = collectWebpackCssRuleIdentityMarkers(rawSource);
|
|
689
|
-
for (const marker of sourceMarkers) if (!rawMarkers.has(marker)) return false;
|
|
690
|
-
return true;
|
|
691
|
-
}
|
|
692
|
-
function createWebpackGeneratorCssSource(file, css) {
|
|
693
|
-
if (!file || !css || !hasWebpackTailwindSourceDirectives(css)) return;
|
|
694
|
-
return {
|
|
695
|
-
file,
|
|
696
|
-
base: node_path.default.dirname(file),
|
|
697
|
-
css,
|
|
698
|
-
dependencies: [file]
|
|
699
|
-
};
|
|
700
|
-
}
|
|
701
|
-
function createWebpackUserCssSourceAppend(sources, generatorRawSource, currentSourceFile, shouldIncludeSource) {
|
|
702
|
-
const matchedSources = [];
|
|
703
|
-
const seen = /* @__PURE__ */ new Set();
|
|
704
|
-
for (const source of sources) {
|
|
705
|
-
const css = source.css;
|
|
706
|
-
if (!css || seen.has(css)) continue;
|
|
707
|
-
if (shouldIncludeSource && !shouldIncludeSource(source.file)) continue;
|
|
708
|
-
seen.add(css);
|
|
709
|
-
if ((source.processed === true || !css.includes("data:")) && hasAdditionalWebpackAssetUserCssMarkers(css, generatorRawSource)) matchedSources.push({
|
|
710
|
-
css,
|
|
711
|
-
file: source.file,
|
|
712
|
-
processed: source.processed === true
|
|
713
|
-
});
|
|
714
|
-
}
|
|
715
|
-
const currentFile = currentSourceFile ? node_path.default.resolve(currentSourceFile) : void 0;
|
|
716
|
-
const parts = matchedSources.sort((a, b) => {
|
|
717
|
-
const aCurrent = currentFile !== void 0 && node_path.default.resolve(a.file) === currentFile;
|
|
718
|
-
if (aCurrent !== (currentFile !== void 0 && node_path.default.resolve(b.file) === currentFile)) return aCurrent ? -1 : 1;
|
|
719
|
-
return a.file.localeCompare(b.file);
|
|
720
|
-
}).map((source) => source.css);
|
|
721
|
-
return parts.length > 0 ? {
|
|
722
|
-
css: parts.join("\n"),
|
|
723
|
-
processed: matchedSources.every((source) => source.processed)
|
|
724
|
-
} : void 0;
|
|
725
|
-
}
|
|
726
|
-
function createWebpackGeneratorUserCssSourceAppend(...sources) {
|
|
727
|
-
const parts = sources.filter((source) => source !== void 0 && source.css.trim().length > 0);
|
|
728
|
-
if (parts.length === 0) return;
|
|
729
|
-
let css = "";
|
|
730
|
-
const usedParts = [];
|
|
731
|
-
for (const source of parts) {
|
|
732
|
-
const merged = css.trim().length > 0 ? (0, _weapp_tailwindcss_postcss.mergeCoveredCssRuleDeclarations)(css, source.css) : void 0;
|
|
733
|
-
if (merged?.changed) css = merged.baseCss;
|
|
734
|
-
const nextCss = css.trim().length > 0 ? (0, _weapp_tailwindcss_postcss.filterExistingCssRules)(css, merged?.css ?? source.css) : source.css;
|
|
735
|
-
if (!(nextCss.trim().length > 0)) continue;
|
|
736
|
-
css = require_hmr_timing.createCssSourceOrderAppend(css, nextCss);
|
|
737
|
-
usedParts.push(source);
|
|
738
|
-
}
|
|
739
|
-
return {
|
|
740
|
-
css,
|
|
741
|
-
processed: usedParts.every((source) => source.processed)
|
|
742
|
-
};
|
|
743
|
-
}
|
|
744
|
-
function resolveWebpackMemoryDebugStats(context) {
|
|
745
|
-
if (node_process.default.env["WEAPP_TW_HMR_MEMORY_DEBUG"] !== "1") return;
|
|
746
|
-
const memory = node_process.default.memoryUsage();
|
|
747
|
-
const processCacheInstanceSize = context.cache.instance.size;
|
|
748
|
-
const processCacheHashMapSize = context.cache.hashMap.size;
|
|
749
|
-
return {
|
|
750
|
-
phase: context.phase,
|
|
751
|
-
process: {
|
|
752
|
-
rssMb: toMb(memory.rss),
|
|
753
|
-
heapTotalMb: toMb(memory.heapTotal),
|
|
754
|
-
heapUsedMb: toMb(memory.heapUsed),
|
|
755
|
-
externalMb: toMb(memory.external),
|
|
756
|
-
arrayBuffersMb: toMb(memory.arrayBuffers)
|
|
757
|
-
},
|
|
758
|
-
assets: {
|
|
759
|
-
active: context.activeAssetFiles,
|
|
760
|
-
activeCss: context.activeCssFiles
|
|
761
|
-
},
|
|
762
|
-
processCache: {
|
|
763
|
-
instance: processCacheInstanceSize,
|
|
764
|
-
hashMap: processCacheHashMapSize,
|
|
765
|
-
activeCacheKeys: context.activeProcessCacheKeys.size,
|
|
766
|
-
activeHashKeys: context.activeProcessHashKeys.size,
|
|
767
|
-
staleCacheKeys: Math.max(0, processCacheInstanceSize - context.activeProcessCacheKeys.size),
|
|
768
|
-
staleHashKeys: Math.max(0, processCacheHashMapSize - context.activeProcessHashKeys.size),
|
|
769
|
-
pruned: true,
|
|
770
|
-
pruneSkipped: false
|
|
771
|
-
},
|
|
772
|
-
webpackCss: {
|
|
773
|
-
handlerOptions: context.cssHandlerOptionsCache.size,
|
|
774
|
-
userHandlerOptions: context.cssUserHandlerOptionsCache.size,
|
|
775
|
-
maxHandlerOptions: WEBPACK_CSS_HANDLER_OPTIONS_CACHE_MAX
|
|
776
|
-
},
|
|
777
|
-
sourceCandidateScan: context.sourceCandidateScan,
|
|
778
|
-
tailwind: { v4: require_generator.getTailwindV4IncrementalGenerateCacheStats() }
|
|
779
|
-
};
|
|
780
|
-
}
|
|
781
|
-
function shouldInjectWebpackCssTracePreflight(_appType, cssHandlerOptions) {
|
|
782
|
-
if (includesTailwindPreflightImport(cssHandlerOptions.sourceOptions?.sourceCss)) return true;
|
|
783
|
-
return cssHandlerOptions.isMainChunk !== false;
|
|
784
|
-
}
|
|
785
|
-
function includesTailwindPreflightImport(source) {
|
|
786
|
-
if (!source) return false;
|
|
787
|
-
try {
|
|
788
|
-
let includesPreflight = false;
|
|
789
|
-
_weapp_tailwindcss_postcss.postcss.parse(source).walkAtRules((rule) => {
|
|
790
|
-
if (rule.name === "tailwind") {
|
|
791
|
-
includesPreflight || (includesPreflight = rule.params.trim() === "base");
|
|
792
|
-
return;
|
|
793
|
-
}
|
|
794
|
-
if (rule.name !== "import") return;
|
|
795
|
-
const request = require_generator.parseImportRequest(rule.params)?.replaceAll("\\", "/");
|
|
796
|
-
includesPreflight || (includesPreflight = request === "tailwindcss" || request === "tailwindcss/preflight.css" || request?.endsWith("/tailwindcss/index.css") === true || request?.endsWith("/tailwindcss/preflight.css") === true);
|
|
797
|
-
});
|
|
798
|
-
return includesPreflight;
|
|
799
|
-
} catch {
|
|
800
|
-
return false;
|
|
801
|
-
}
|
|
802
|
-
}
|
|
803
|
-
function finalizeMiniProgramUserCssAssetSource(source, compilerOptions, isWebGeneratorTarget, options = {}) {
|
|
804
|
-
const styleOptions = require_context.resolveStyleOptionsFromContext(compilerOptions);
|
|
805
|
-
if (isWebGeneratorTarget) return source;
|
|
806
|
-
return (0, _weapp_tailwindcss_postcss.stripMiniProgramCssSpecificityPlaceholders)(removeTailwindV4StandaloneHostPreflightRule((0, _weapp_tailwindcss_postcss.finalizeMiniProgramCss)(require_generator.removeMiniProgramHoverSelectors(source, styleOptions.cssRemoveHoverPseudoClass), {
|
|
807
|
-
cssPreflight: options.cssPreflight === false ? false : !require_hmr_timing.hasMiniProgramTailwindV4PreflightReset(source) ? resolveConfiguredWebpackCssPreflight(compilerOptions, styleOptions) : void 0,
|
|
808
|
-
isTailwindcssV4: true,
|
|
809
|
-
tailwindcssV4GradientFallback: styleOptions.tailwindcssV4GradientFallback
|
|
810
|
-
})));
|
|
811
|
-
}
|
|
812
|
-
function shouldFallbackToWebpackUserCssOnGeneratorError(options) {
|
|
813
|
-
return !require_generator.hasTailwindRootDirectives(options.generatorRawSource, { importFallback: true }) && !require_generator.hasTailwindSourceDirectives(options.generatorRawSource, { importFallback: true }) && !require_generator.hasTailwindApplyDirective(options.generatorRawSource) && !options.hasExplicitTailwindV4SourceCss && options.configuredMainCssEntryFilesLength === 0;
|
|
814
|
-
}
|
|
168
|
+
//#region src/bundlers/webpack/BaseUnifiedPlugin/v5-assets/pipeline-helpers/resources.ts
|
|
815
169
|
function isWindowsAbsoluteResourcePath(file) {
|
|
816
170
|
return /^[a-z]:[\\/]/i.test(file) || /^[/\\]{2}[^/\\]/.test(file);
|
|
817
171
|
}
|
|
@@ -868,86 +222,6 @@ function createWebpackCurrentAssetUserRawSource(options) {
|
|
|
868
222
|
processed: options.currentAssetLooksGenerated
|
|
869
223
|
};
|
|
870
224
|
}
|
|
871
|
-
function finalizeTracedWebpackCssAsset(css, cssHandlerOptions, options) {
|
|
872
|
-
if (options.finalized === true) return options.annotateCss(css);
|
|
873
|
-
if (options.isWebGeneratorTarget || !require_hmr_timing.isCssSourceTraceEnabled(options.compilerOptions)) return options.annotateCss(css);
|
|
874
|
-
const finalized = finalizeMiniProgramUserCssAssetSource(css, options.compilerOptions, options.isWebGeneratorTarget, { cssPreflight: shouldInjectWebpackCssTracePreflight(options.compilerOptions.appType, cssHandlerOptions) });
|
|
875
|
-
return options.annotateCss(finalized);
|
|
876
|
-
}
|
|
877
|
-
function finalizeWebpackCssAssetSource(source, compilerOptions, isWebGeneratorTarget, options = {}) {
|
|
878
|
-
const styleOptions = require_context.resolveStyleOptionsFromContext(compilerOptions);
|
|
879
|
-
if (isWebGeneratorTarget) {
|
|
880
|
-
if (options.generatedCss === true) return stripTrailingLineWhitespace(require_generator.stripUnmatchedTailwindSourceMediaCloseFragments(require_generator.stripTailwindSourceMediaFragments(require_hmr_timing.stripBundlerGeneratedCssMarkers(source))));
|
|
881
|
-
return stripTrailingLineWhitespace(require_generator.stripUnmatchedTailwindSourceMediaCloseFragments(require_generator.stripTailwindSourceMediaFragments(require_generator.removeTailwindV4GeneratorAtRules(require_generator.removeTailwindSourceDirectives(require_hmr_timing.stripBundlerGeneratedCssMarkers(source), { importFallback: true })))));
|
|
882
|
-
}
|
|
883
|
-
let finalized = require_generator.removeTailwindSourceDirectives(require_hmr_timing.stripBundlerGeneratedCssMarkers(source), { importFallback: true });
|
|
884
|
-
if (options.generatedCss !== true) {
|
|
885
|
-
finalized = (0, _weapp_tailwindcss_postcss.finalizeMiniProgramCss)(finalized, {
|
|
886
|
-
cssPreflight: false,
|
|
887
|
-
isTailwindcssV4: true,
|
|
888
|
-
tailwindcssV4GradientFallback: styleOptions.tailwindcssV4GradientFallback
|
|
889
|
-
});
|
|
890
|
-
finalized = dedupeMiniProgramPreflightSelectorRules(finalized);
|
|
891
|
-
return (0, _weapp_tailwindcss_postcss.stripMiniProgramCssSpecificityPlaceholders)(require_generator.removeMiniProgramHoverSelectors(finalized, styleOptions.cssRemoveHoverPseudoClass));
|
|
892
|
-
}
|
|
893
|
-
try {
|
|
894
|
-
finalized = (0, _weapp_tailwindcss_postcss.pruneMiniProgramGeneratedCss)(finalized, { preservePreflight: options.cssPreflight !== false });
|
|
895
|
-
} catch {}
|
|
896
|
-
const shouldRemoveExistingPreflight = options.cssPreflight === false && options.preserveExistingPreflight === false;
|
|
897
|
-
if (shouldRemoveExistingPreflight) finalized = removeMiniProgramPreflightSelectorRule(finalized);
|
|
898
|
-
const hasExistingMiniProgramPreflight = options.preserveExistingPreflight !== false && hasMiniProgramPreflightSelector(source);
|
|
899
|
-
finalized = (0, _weapp_tailwindcss_postcss.finalizeMiniProgramCss)(finalized, {
|
|
900
|
-
cssPreflight: options.cssPreflight === false && !hasExistingMiniProgramPreflight ? false : !require_hmr_timing.hasMiniProgramTailwindV4PreflightReset(finalized) ? resolveExistingWebpackCssPreflight(compilerOptions, styleOptions, source) : void 0,
|
|
901
|
-
isTailwindcssV4: true,
|
|
902
|
-
tailwindcssV4GradientFallback: styleOptions.tailwindcssV4GradientFallback
|
|
903
|
-
});
|
|
904
|
-
finalized = ensureWebpackMiniProgramTwContentInit(finalized);
|
|
905
|
-
if (shouldRemoveExistingPreflight) finalized = removeMiniProgramPreflightSelectorRule(finalized);
|
|
906
|
-
else finalized = dedupeMiniProgramPreflightSelectorRules(finalized);
|
|
907
|
-
return (0, _weapp_tailwindcss_postcss.stripMiniProgramCssSpecificityPlaceholders)(require_generator.removeMiniProgramHoverSelectors(finalized, styleOptions.cssRemoveHoverPseudoClass));
|
|
908
|
-
}
|
|
909
|
-
function finalizeWebpackCssAssetOutputSource(source, compilerOptions, isWebGeneratorTarget) {
|
|
910
|
-
if (isWebGeneratorTarget) return source;
|
|
911
|
-
const styleOptions = require_context.resolveStyleOptionsFromContext(compilerOptions);
|
|
912
|
-
return (0, _weapp_tailwindcss_postcss.stripMiniProgramCssSpecificityPlaceholders)(require_generator.removeMiniProgramHoverSelectors((0, _weapp_tailwindcss_postcss.dedupeCoveredCssRules)(dedupeMiniProgramPreflightSelectorRules(source)), styleOptions.cssRemoveHoverPseudoClass));
|
|
913
|
-
}
|
|
914
|
-
function collectWebpackJsRuntimeCandidatesFromAssets(options) {
|
|
915
|
-
if (options.isWebGeneratorTarget) return;
|
|
916
|
-
const candidates = /* @__PURE__ */ new Set();
|
|
917
|
-
for (const file of options.jsAssets) {
|
|
918
|
-
const sourceLike = options.getAssetSource(file);
|
|
919
|
-
if (sourceLike === void 0) continue;
|
|
920
|
-
const source = stringifyWebpackSourceLike(sourceLike);
|
|
921
|
-
for (const candidate of require_hmr_timing.collectStrictEscapedRuntimeCandidates(source, _weapp_core_escape.MappingChars2String, options.escapeFragments)) if (isRuntimeTransformCandidate(candidate)) candidates.add(candidate);
|
|
922
|
-
}
|
|
923
|
-
return candidates;
|
|
924
|
-
}
|
|
925
|
-
function collectWebpackJsRuntimeTokenSignature(options) {
|
|
926
|
-
if (options.isWebGeneratorTarget) return "";
|
|
927
|
-
const tokens = [];
|
|
928
|
-
for (const file of options.jsAssets) {
|
|
929
|
-
const sourceLike = options.getAssetSource(file);
|
|
930
|
-
if (sourceLike === void 0) continue;
|
|
931
|
-
tokens.push(...collectRuntimeTokenSignatureParts(stringifyWebpackSourceLike(sourceLike)));
|
|
932
|
-
}
|
|
933
|
-
return tokens.sort().join("\n");
|
|
934
|
-
}
|
|
935
|
-
function addRuntimeTransformCandidates(target, candidates) {
|
|
936
|
-
if (!candidates?.size) return;
|
|
937
|
-
for (const candidate of candidates) if (isRuntimeTransformCandidate(candidate)) target.add(candidate);
|
|
938
|
-
}
|
|
939
|
-
function createWebpackCssSourceTraceTokenSources(compilerOptions, webpackSourceCandidates) {
|
|
940
|
-
if (!require_hmr_timing.isCssSourceTraceEnabled(compilerOptions) || !webpackSourceCandidates) return;
|
|
941
|
-
return require_hmr_timing.createCssTokenSourceMap(webpackSourceCandidates.tokenSources, compilerOptions);
|
|
942
|
-
}
|
|
943
|
-
function stringifyOptionalWebpackSourceValue(value) {
|
|
944
|
-
return typeof value === "string" ? value : value?.toString() ?? "";
|
|
945
|
-
}
|
|
946
|
-
function stringifyWebpackSourceLike(source) {
|
|
947
|
-
if (typeof source === "string") return source;
|
|
948
|
-
const value = source.source();
|
|
949
|
-
return typeof value === "string" ? value : value.toString();
|
|
950
|
-
}
|
|
951
225
|
//#endregion
|
|
952
226
|
//#region src/bundlers/webpack/BaseUnifiedPlugin/v5-assets/css-source-resolvers.ts
|
|
953
227
|
function normalizeWebpackCssSourceRef(file) {
|
|
@@ -1011,7 +285,7 @@ function createWebpackCssSourceResolvers(options) {
|
|
|
1011
285
|
return [...new Set(entries)];
|
|
1012
286
|
})();
|
|
1013
287
|
const configuredMainCssEntryFiles = configuredCssEntryFiles.slice(0, 1);
|
|
1014
|
-
const scoreCssSourceOutputMatch = (file, sourceFile) =>
|
|
288
|
+
const scoreCssSourceOutputMatch = (file, sourceFile) => require_v4_generation_core.scoreTailwindV4CssSourceFileMatch(file, sourceFile, {
|
|
1015
289
|
outputRoot: outputDir,
|
|
1016
290
|
projectRoot: compilerOptions.tailwindcssBasedir,
|
|
1017
291
|
cwd: compilerOptions.tailwindcssBasedir
|
|
@@ -1096,9 +370,9 @@ function createWebpackCssSourceResolvers(options) {
|
|
|
1096
370
|
return sourceFile;
|
|
1097
371
|
}
|
|
1098
372
|
}
|
|
1099
|
-
const representedTailwindSourceMatches = [...cssSources.entries()].filter(([, source]) => isWebpackCssSourceRepresentedInAsset(rawSource, source.css)).map(([sourceFile]) => ({
|
|
373
|
+
const representedTailwindSourceMatches = [...cssSources.entries()].filter(([, source]) => require_pipeline_helpers.isWebpackCssSourceRepresentedInAsset(rawSource, source.css)).map(([sourceFile]) => ({
|
|
1100
374
|
sourceFile,
|
|
1101
|
-
score:
|
|
375
|
+
score: require_v4_generation_core.scoreTailwindV4CssSourceFileMatch(file, sourceFile, {
|
|
1102
376
|
outputRoot: outputDir,
|
|
1103
377
|
projectRoot: compilerOptions.tailwindcssBasedir,
|
|
1104
378
|
cwd: compilerOptions.tailwindcssBasedir
|
|
@@ -1114,7 +388,7 @@ function createWebpackCssSourceResolvers(options) {
|
|
|
1114
388
|
}
|
|
1115
389
|
const pathMatches = [...cssSources.keys()].map((sourceFile) => ({
|
|
1116
390
|
sourceFile,
|
|
1117
|
-
score:
|
|
391
|
+
score: require_v4_generation_core.scoreTailwindV4CssSourceFileMatch(file, sourceFile, {
|
|
1118
392
|
outputRoot: outputDir,
|
|
1119
393
|
projectRoot: compilerOptions.tailwindcssBasedir,
|
|
1120
394
|
cwd: compilerOptions.tailwindcssBasedir
|
|
@@ -1143,8 +417,8 @@ function createWebpackCssSourceResolvers(options) {
|
|
|
1143
417
|
const sourceMatchedMainCssEntry = sourceFile !== void 0 && isConfiguredMainCssEntryFile(sourceFile) && isCssSourceAllowedForOutput(file, sourceFile);
|
|
1144
418
|
const isMainChunk = isMainCssAsset || sourceMatchedMainCssEntry;
|
|
1145
419
|
const sourceCss = sourceFile ? cssSources.get(sourceFile)?.css : void 0;
|
|
1146
|
-
const generatorSourceCss = removeWebpackGeneratorNonTailwindImports(sourceCss);
|
|
1147
|
-
const generatorCssSource = createWebpackGeneratorCssSource(sourceFile, generatorSourceCss);
|
|
420
|
+
const generatorSourceCss = require_pipeline_helpers.removeWebpackGeneratorNonTailwindImports(sourceCss);
|
|
421
|
+
const generatorCssSource = require_pipeline_helpers.createWebpackGeneratorCssSource(sourceFile, generatorSourceCss);
|
|
1148
422
|
const cacheKey = [
|
|
1149
423
|
majorVersion ?? "unknown",
|
|
1150
424
|
isMainChunk ? "1" : "0",
|
|
@@ -1164,7 +438,7 @@ function createWebpackCssSourceResolvers(options) {
|
|
|
1164
438
|
...generatorSourceCss === void 0 ? {} : { sourceCss: generatorSourceCss },
|
|
1165
439
|
...sourceFile === void 0 ? {} : { sourceFile }
|
|
1166
440
|
},
|
|
1167
|
-
...
|
|
441
|
+
...require_style_options.normalizeStyleHandlerMajorVersion(majorVersion) === void 0 ? {} : { majorVersion: 4 }
|
|
1168
442
|
};
|
|
1169
443
|
cssHandlerOptionsCache.set(cacheKey, created);
|
|
1170
444
|
return created;
|
|
@@ -1173,7 +447,7 @@ function createWebpackCssSourceResolvers(options) {
|
|
|
1173
447
|
const majorVersion = runtimeState.tailwindRuntime.majorVersion;
|
|
1174
448
|
const sourceFile = resolveWebpackCssSourceFile(file);
|
|
1175
449
|
const sourceCss = sourceFile ? cssSources.get(sourceFile)?.css : void 0;
|
|
1176
|
-
const generatorSourceCss = removeWebpackGeneratorNonTailwindImports(sourceCss);
|
|
450
|
+
const generatorSourceCss = require_pipeline_helpers.removeWebpackGeneratorNonTailwindImports(sourceCss);
|
|
1177
451
|
const cacheKey = [
|
|
1178
452
|
majorVersion ?? "unknown",
|
|
1179
453
|
sourceFile ?? "asset",
|
|
@@ -1202,89 +476,390 @@ function createWebpackCssSourceResolvers(options) {
|
|
|
1202
476
|
};
|
|
1203
477
|
}
|
|
1204
478
|
//#endregion
|
|
1205
|
-
//#region src/bundlers/webpack/BaseUnifiedPlugin/v5-assets/
|
|
1206
|
-
function
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
479
|
+
//#region src/bundlers/webpack/BaseUnifiedPlugin/v5-assets/finalize-assets.ts
|
|
480
|
+
async function finalizeWebpackProcessAssets(context) {
|
|
481
|
+
const { activeProcessCacheKeys, activeProcessHashKeys, activeWebpackCssSourceFiles, compilerOptions, cssAssetResources, cssHandlerOptionsCache, cssTaskFactories, cssUserHandlerOptionsCache, debug, entries, groupedEntries, hmrTimingStartedAt, htmlTaskFactories, jsTaskFactories, pruneWebpackCssSources, recordTimingDetail, registeredWebpackCssSourceFiles, taskConcurrency, tasks, timingDetails, watchMode, webpackSourceCandidateScanCache } = context;
|
|
482
|
+
if (!watchMode) {
|
|
483
|
+
require_v4_generation_core.pushConcurrentTaskFactories(tasks, htmlTaskFactories, taskConcurrency);
|
|
484
|
+
await Promise.all(tasks);
|
|
485
|
+
tasks.length = 0;
|
|
486
|
+
require_v4_generation_core.pushConcurrentTaskFactories(tasks, jsTaskFactories, taskConcurrency);
|
|
487
|
+
await Promise.all(tasks);
|
|
488
|
+
tasks.length = 0;
|
|
489
|
+
require_v4_generation_core.pushConcurrentTaskFactories(tasks, cssTaskFactories, taskConcurrency);
|
|
490
|
+
}
|
|
491
|
+
const taskWaitStartedAt = performance.now();
|
|
492
|
+
await Promise.all(tasks);
|
|
493
|
+
recordTimingDetail("tasks.wait", taskWaitStartedAt);
|
|
494
|
+
const pruneStartedAt = performance.now();
|
|
495
|
+
compilerOptions.cache.prune?.({
|
|
496
|
+
cacheKeys: activeProcessCacheKeys,
|
|
497
|
+
hashKeys: activeProcessHashKeys
|
|
498
|
+
});
|
|
499
|
+
const activeCssFiles = new Set(groupedEntries.css.map(([file]) => file));
|
|
500
|
+
require_pipeline_helpers.pruneWebpackCssHandlerOptionCaches(cssHandlerOptionsCache, cssUserHandlerOptionsCache, activeCssFiles);
|
|
501
|
+
if (activeCssFiles.size > 0) pruneWebpackCssSources?.(/* @__PURE__ */ new Set([
|
|
502
|
+
...registeredWebpackCssSourceFiles,
|
|
503
|
+
...activeWebpackCssSourceFiles,
|
|
504
|
+
...[...cssAssetResources.values()].flatMap((resources) => [...resources])
|
|
505
|
+
]), { watchMode });
|
|
506
|
+
recordTimingDetail("cache.prune", pruneStartedAt);
|
|
507
|
+
debug("end");
|
|
508
|
+
require_hmr_timing.emitHmrTiming("webpack", "processAssets", performance.now() - hmrTimingStartedAt, {
|
|
509
|
+
...timingDetails,
|
|
510
|
+
memoryDebug: require_pipeline_helpers.resolveWebpackMemoryDebugStats({
|
|
511
|
+
activeAssetFiles: entries.length,
|
|
512
|
+
activeCssFiles: activeCssFiles.size,
|
|
513
|
+
activeProcessCacheKeys,
|
|
514
|
+
activeProcessHashKeys,
|
|
515
|
+
cache: compilerOptions.cache,
|
|
516
|
+
cssHandlerOptionsCache,
|
|
517
|
+
cssUserHandlerOptionsCache,
|
|
518
|
+
phase: "processAssets",
|
|
519
|
+
sourceCandidateScan: webpackSourceCandidateScanCache.getMemoryStats()
|
|
520
|
+
})
|
|
521
|
+
});
|
|
522
|
+
compilerOptions.onEnd();
|
|
1213
523
|
}
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
524
|
+
//#endregion
|
|
525
|
+
//#region src/bundlers/webpack/BaseUnifiedPlugin/v5-assets/generated-css-result.ts
|
|
526
|
+
async function finalizeWebpackGeneratedCssResult(context) {
|
|
527
|
+
const { ConcatSource, compilerOptions, cssHandlerOptions, currentRawSource, debug, file, finalizeCssAssetSource, finalizeTracedCss, generated, generatorRawSource, generatorRuntimeSet, isWebGeneratorTarget, runtimeState, shouldPreserveExistingPreflight, sourceCss, sourceCssProcessed, userRawSource } = context;
|
|
528
|
+
const finalizedGeneratedCss = generated ? finalizeCssAssetSource(isWebGeneratorTarget && currentRawSource.includes("tailwindcss v4.") ? require_pipeline_helpers.createWebpackGeneratorUserCssSourceAppend({
|
|
529
|
+
css: generated.css,
|
|
530
|
+
processed: true
|
|
531
|
+
}, {
|
|
532
|
+
css: require_pipeline_helpers.removeWebpackTailwindGeneratedAssetCss(currentRawSource),
|
|
533
|
+
processed: true
|
|
534
|
+
})?.css ?? generated.css : generated.css, {
|
|
535
|
+
cssPreflight: cssHandlerOptions.isMainChunk,
|
|
536
|
+
generatedCss: true,
|
|
537
|
+
preserveExistingPreflight: shouldPreserveExistingPreflight
|
|
538
|
+
}) : isWebGeneratorTarget ? finalizeCssAssetSource(generatorRawSource, { generatedCss: false }) : finalizeCssAssetSource((await compilerOptions.styleHandler(generatorRawSource, cssHandlerOptions)).css, { generatedCss: false });
|
|
539
|
+
const sourceBareUserCss = isWebGeneratorTarget ? void 0 : require_pipeline_helpers.createWebpackGeneratorUserCssSourceAppend(...[
|
|
540
|
+
userRawSource,
|
|
541
|
+
sourceCss === void 0 ? void 0 : {
|
|
542
|
+
css: sourceCss,
|
|
543
|
+
processed: sourceCssProcessed
|
|
544
|
+
},
|
|
545
|
+
{
|
|
546
|
+
css: generatorRawSource,
|
|
547
|
+
processed: false
|
|
548
|
+
}
|
|
549
|
+
].map((source) => {
|
|
550
|
+
if (source === void 0) return;
|
|
551
|
+
return {
|
|
552
|
+
css: require_pipeline_helpers.collectWebpackBareSelectorUserCss(source.css),
|
|
553
|
+
processed: source.processed
|
|
554
|
+
};
|
|
555
|
+
}));
|
|
556
|
+
const handledSourceBareUserCss = sourceBareUserCss === void 0 ? "" : sourceBareUserCss.processed ? sourceBareUserCss.css : (await compilerOptions.styleHandler(sourceBareUserCss.css, cssHandlerOptions)).css;
|
|
557
|
+
const finalizedSourceBareUserCss = handledSourceBareUserCss.trim().length === 0 ? "" : finalizeCssAssetSource(handledSourceBareUserCss, {
|
|
558
|
+
cssPreflight: false,
|
|
559
|
+
generatedCss: false
|
|
560
|
+
});
|
|
561
|
+
const missingSourceBareUserCss = finalizedSourceBareUserCss.trim().length === 0 ? "" : (0, _weapp_tailwindcss_postcss.filterExistingCssRules)(finalizedGeneratedCss, finalizedSourceBareUserCss);
|
|
562
|
+
const source = new ConcatSource(finalizeTracedCss(missingSourceBareUserCss.trim().length === 0 ? finalizedGeneratedCss : require_pipeline_helpers.createWebpackGeneratorUserCssSourceAppend({
|
|
563
|
+
css: finalizedGeneratedCss,
|
|
564
|
+
processed: true
|
|
565
|
+
}, {
|
|
566
|
+
css: missingSourceBareUserCss,
|
|
567
|
+
processed: true
|
|
568
|
+
}).css, cssHandlerOptions, { finalized: true }));
|
|
569
|
+
if (generated) {
|
|
570
|
+
for (const className of generated.classSet) generatorRuntimeSet.add(className);
|
|
571
|
+
debug("css handle via tailwind v%s engine(%s): %s", runtimeState.tailwindRuntime.majorVersion, generated.target, file);
|
|
572
|
+
} else debug("css handle: %s", file);
|
|
573
|
+
return { result: source };
|
|
574
|
+
}
|
|
575
|
+
//#endregion
|
|
576
|
+
//#region src/bundlers/webpack/BaseUnifiedPlugin/v5-assets/generated-css-task.ts
|
|
577
|
+
async function processWebpackGeneratedCssAsset(element, context) {
|
|
578
|
+
const { ConcatSource, affectedCompilationScopes, assetHashByChunk, compilation, compilationChanges, compilerOptions, configuredCssEntryFiles, configuredMainCssEntryFiles, createRuntimeSetHash, cssSourceTraceSignature, cssSources, cssTaskFactories, debug, enqueueTask, finalizeCssAssetSource, finalizeTracedCss, generatedCssSources, generatorRuntimeSet, getCompilationDependencyRevision, getCssHandlerOptions, getCssUserHandlerOptions, getGeneratorRuntimeSet, hasConfiguredTailwindV4SourceRoots, isSameWebpackSourceScope, isWebGeneratorTarget, rememberProcessCacheKey, resolveWebpackCssSourceFile, runtimeAffectingSourceHash, runtimeState, transformRuntimeSet, updateAssetIfChanged, watchMode, webpackSourceCandidateValueSignature, webpackSourceCandidates } = context;
|
|
579
|
+
const [file, originalSource] = element;
|
|
580
|
+
const currentRawSource = originalSource.source().toString();
|
|
581
|
+
const chunkHash = assetHashByChunk.get(file);
|
|
582
|
+
const cacheKey = file;
|
|
583
|
+
const hashKey = `${file}:asset`;
|
|
584
|
+
rememberProcessCacheKey(cacheKey, hashKey);
|
|
585
|
+
const cssHandlerOptionsForHash = getCssHandlerOptions(file, currentRawSource);
|
|
586
|
+
const compilationScope = {
|
|
587
|
+
id: file,
|
|
588
|
+
kind: cssHandlerOptionsForHash.isMainChunk ? "global" : "component"
|
|
1219
589
|
};
|
|
590
|
+
const scopeCompilationChanges = affectedCompilationScopes.has(compilationScope.id) ? compilationChanges : void 0;
|
|
591
|
+
const compilationDependencyRevision = getCompilationDependencyRevision(compilationScope.id);
|
|
592
|
+
const cssChunkHash = watchMode && cssHandlerOptionsForHash.isMainChunk ? void 0 : chunkHash;
|
|
593
|
+
const cssSourceHash = (() => {
|
|
594
|
+
const sourceFile = resolveWebpackCssSourceFile(file, currentRawSource);
|
|
595
|
+
const sourceCss = sourceFile ? cssSources.get(sourceFile)?.css : void 0;
|
|
596
|
+
const generatorSourceCss = require_pipeline_helpers.removeWebpackGeneratorNonTailwindImports(sourceCss);
|
|
597
|
+
if (sourceCss === void 0) return sourceFile === void 0 ? "webpack-css-source:0" : `webpack-css-source:0:${sourceFile}`;
|
|
598
|
+
return `webpack-css-source:1:${compilerOptions.cache.computeHash(sourceCss)}:${generatorSourceCss === sourceCss || generatorSourceCss === void 0 ? "generator-source:0" : compilerOptions.cache.computeHash(generatorSourceCss)}`;
|
|
599
|
+
})();
|
|
600
|
+
const runtimeAwareHash = createRuntimeAwareCssHash(cssChunkHash, compilerOptions.cache.computeHash(currentRawSource), `${createRuntimeSetHash(getGeneratorRuntimeSet())}:${runtimeAffectingSourceHash}:${webpackSourceCandidates?.signatureHash ?? "source-candidates:0"}:${webpackSourceCandidateValueSignature}:${cssSourceTraceSignature}:${cssSourceHash}:compiler-dependencies:${compilationDependencyRevision}`);
|
|
601
|
+
await enqueueTask(async () => {
|
|
602
|
+
await require_hmr_timing.processCachedTask({
|
|
603
|
+
cache: compilerOptions.cache,
|
|
604
|
+
cacheKey,
|
|
605
|
+
hashKey,
|
|
606
|
+
rawSource: currentRawSource,
|
|
607
|
+
hash: runtimeAwareHash,
|
|
608
|
+
applyResult(source, { cacheHit }) {
|
|
609
|
+
updateAssetIfChanged(file, source, {
|
|
610
|
+
compare: !cacheHit,
|
|
611
|
+
notifyUpdate: !cacheHit
|
|
612
|
+
});
|
|
613
|
+
},
|
|
614
|
+
onCacheHit() {
|
|
615
|
+
debug("css cache hit: %s", file);
|
|
616
|
+
},
|
|
617
|
+
transform: async () => {
|
|
618
|
+
await runtimeState.readyPromise;
|
|
619
|
+
const cssHandlerOptions = getCssHandlerOptions(file, currentRawSource);
|
|
620
|
+
const generatorRawSource = require_pipeline_helpers.resolveWebpackGeneratorRawSource(currentRawSource, cssHandlerOptions);
|
|
621
|
+
if (require_css_loader_runtime.isWebpackCssLoaderRuntimeSource(generatorRawSource)) return { result: new ConcatSource(currentRawSource) };
|
|
622
|
+
const sourceFile = cssHandlerOptions.sourceOptions?.sourceFile;
|
|
623
|
+
const sourceCss = sourceFile ? cssSources.get(node_path.default.resolve(sourceFile))?.css : void 0;
|
|
624
|
+
const isConfiguredCssSource = sourceFile !== void 0 && configuredCssEntryFiles.some((entry) => node_path.default.resolve(entry) === node_path.default.resolve(sourceFile));
|
|
625
|
+
const isConfiguredMainCssSource = sourceFile !== void 0 && configuredMainCssEntryFiles.some((entry) => node_path.default.resolve(entry) === node_path.default.resolve(sourceFile));
|
|
626
|
+
const sourceCssHasTailwindRoot = sourceCss !== void 0 && require_generator.hasTailwindRootDirectives(sourceCss, { importFallback: true });
|
|
627
|
+
const shouldPreserveExistingPreflight = cssHandlerOptions.isMainChunk || !isConfiguredMainCssSource && (isConfiguredCssSource || sourceCssHasTailwindRoot);
|
|
628
|
+
const loaderGeneratedCss = sourceFile ? generatedCssSources.get(node_path.default.resolve(sourceFile)) : void 0;
|
|
629
|
+
const shouldRegenerateExplicitTailwindV4CssSource = sourceCss !== void 0 && (require_generator.hasTailwindSourceDirectives(sourceCss, { importFallback: true }) || sourceCss.includes("@config"));
|
|
630
|
+
const explicitTailwindV4SourceCandidates = shouldRegenerateExplicitTailwindV4CssSource && sourceCss && sourceFile && webpackSourceCandidates?.getSourceCandidatesForEntries ? await require_options.resolveTailwindV4EntriesFromCssCached(sourceCss, node_path.default.dirname(sourceFile)).then((resolved) => resolved?.entries ? webpackSourceCandidates.getSourceCandidatesForEntries(resolved.entries) : void 0) : void 0;
|
|
631
|
+
if (loaderGeneratedCss && require_pipeline_helpers.shouldConsumeWebpackLoaderGeneratedCss({
|
|
632
|
+
allowMarkerlessRegistryMatch: configuredCssEntryFiles.length === 1,
|
|
633
|
+
hasBundlerGeneratedCssMarker: require_v4_generation_core.hasBundlerGeneratedCssMarker(currentRawSource),
|
|
634
|
+
loaderGeneratedClassSet: loaderGeneratedCss.classSet,
|
|
635
|
+
sourceCandidates: explicitTailwindV4SourceCandidates,
|
|
636
|
+
shouldRegenerateExplicitTailwindV4CssSource,
|
|
637
|
+
watchMode
|
|
638
|
+
})) {
|
|
639
|
+
for (const className of loaderGeneratedCss.classSet) {
|
|
640
|
+
generatorRuntimeSet.add(className);
|
|
641
|
+
transformRuntimeSet.add(className);
|
|
642
|
+
}
|
|
643
|
+
for (const dependency of loaderGeneratedCss.dependencies) compilation.fileDependencies?.add?.(dependency);
|
|
644
|
+
const currentRawSourceWithoutBundlerMarkers = require_v4_generation_core.stripBundlerGeneratedCssMarkers(currentRawSource);
|
|
645
|
+
const currentAssetHasProcessedUrl = require_pipeline_helpers.hasProcessedCssAssetUrl(currentRawSourceWithoutBundlerMarkers) && currentRawSourceWithoutBundlerMarkers !== loaderGeneratedCss.css;
|
|
646
|
+
const currentAssetUserCss = currentAssetHasProcessedUrl ? currentRawSourceWithoutBundlerMarkers : require_pipeline_helpers.shouldUseWebpackAssetAsGeneratorUserCss(currentRawSourceWithoutBundlerMarkers, loaderGeneratedCss.css, { processed: true }) ? require_v4_generation_core.removeGeneratedSelectorCompatCss(currentRawSourceWithoutBundlerMarkers, loaderGeneratedCss.css) : void 0;
|
|
647
|
+
const loaderGeneratedCssWithoutMarkers = require_v4_generation_core.stripBundlerGeneratedCssMarkers(loaderGeneratedCss.css);
|
|
648
|
+
const currentAssetUserCssWithoutMarkers = currentAssetUserCss === void 0 ? "" : require_v4_generation_core.stripBundlerGeneratedCssMarkers(currentAssetUserCss);
|
|
649
|
+
const currentAssetMissingUserCss = !(currentAssetUserCssWithoutMarkers.trim().length > 0 && !require_generator.isCommentOnlyCss(currentAssetUserCssWithoutMarkers)) ? "" : (0, _weapp_tailwindcss_postcss.filterExistingCssRules)(currentAssetUserCssWithoutMarkers, loaderGeneratedCssWithoutMarkers);
|
|
650
|
+
if (isConfiguredMainCssSource && !cssHandlerOptions.isMainChunk) {
|
|
651
|
+
debug("css skip duplicate webpack loader main generation: %s <- %s", file, sourceFile);
|
|
652
|
+
const userCss = currentAssetMissingUserCss.trim().length === 0 || require_generator.isCommentOnlyCss(currentAssetMissingUserCss) ? "" : finalizeCssAssetSource(currentAssetMissingUserCss, {
|
|
653
|
+
cssPreflight: false,
|
|
654
|
+
generatedCss: false
|
|
655
|
+
});
|
|
656
|
+
return { result: new ConcatSource(finalizeTracedCss(userCss, cssHandlerOptions)) };
|
|
657
|
+
}
|
|
658
|
+
const mergedLoaderCss = currentAssetUserCss === void 0 ? loaderGeneratedCss.css : require_pipeline_helpers.createWebpackGeneratorUserCssSourceAppend({
|
|
659
|
+
css: currentAssetUserCss === void 0 ? loaderGeneratedCss.css : currentAssetHasProcessedUrl ? require_v4_generation_core.removeGeneratedSelectorCompatCss(loaderGeneratedCss.css, currentAssetUserCss) : (0, _weapp_tailwindcss_postcss.filterExistingCssRules)(currentAssetUserCss, loaderGeneratedCss.css),
|
|
660
|
+
processed: true
|
|
661
|
+
}, currentAssetUserCss === void 0 ? void 0 : {
|
|
662
|
+
css: currentAssetUserCss,
|
|
663
|
+
processed: true
|
|
664
|
+
}).css;
|
|
665
|
+
const handledLoaderCss = isWebGeneratorTarget ? mergedLoaderCss : (await compilerOptions.styleHandler(mergedLoaderCss, cssHandlerOptions)).css;
|
|
666
|
+
const finalizedLoaderCss = finalizeCssAssetSource(handledLoaderCss, {
|
|
667
|
+
cssPreflight: cssHandlerOptions.isMainChunk,
|
|
668
|
+
generatedCss: true,
|
|
669
|
+
preserveExistingPreflight: shouldPreserveExistingPreflight
|
|
670
|
+
});
|
|
671
|
+
const loaderSourceBareUserCss = isWebGeneratorTarget ? void 0 : require_pipeline_helpers.createWebpackGeneratorUserCssSourceAppend(...[currentAssetUserCss === void 0 ? void 0 : {
|
|
672
|
+
css: currentAssetUserCss,
|
|
673
|
+
processed: true
|
|
674
|
+
}, sourceCss === void 0 ? void 0 : {
|
|
675
|
+
css: sourceCss,
|
|
676
|
+
processed: false
|
|
677
|
+
}].map((source) => {
|
|
678
|
+
if (source === void 0) return;
|
|
679
|
+
return {
|
|
680
|
+
css: require_pipeline_helpers.collectWebpackBareSelectorUserCss(source.css),
|
|
681
|
+
processed: source.processed
|
|
682
|
+
};
|
|
683
|
+
}));
|
|
684
|
+
const handledLoaderSourceBareUserCss = loaderSourceBareUserCss === void 0 ? "" : loaderSourceBareUserCss.processed ? loaderSourceBareUserCss.css : (await compilerOptions.styleHandler(loaderSourceBareUserCss.css, cssHandlerOptions)).css;
|
|
685
|
+
const finalizedLoaderSourceBareUserCss = handledLoaderSourceBareUserCss.trim().length === 0 ? "" : finalizeCssAssetSource(handledLoaderSourceBareUserCss, {
|
|
686
|
+
cssPreflight: false,
|
|
687
|
+
generatedCss: false
|
|
688
|
+
});
|
|
689
|
+
const missingLoaderSourceBareUserCss = finalizedLoaderSourceBareUserCss.trim().length === 0 ? "" : (0, _weapp_tailwindcss_postcss.filterExistingCssRules)(finalizedLoaderCss, finalizedLoaderSourceBareUserCss);
|
|
690
|
+
const css = finalizeTracedCss(missingLoaderSourceBareUserCss.trim().length === 0 ? finalizedLoaderCss : require_pipeline_helpers.createWebpackGeneratorUserCssSourceAppend({
|
|
691
|
+
css: finalizedLoaderCss,
|
|
692
|
+
processed: true
|
|
693
|
+
}, {
|
|
694
|
+
css: missingLoaderSourceBareUserCss,
|
|
695
|
+
processed: true
|
|
696
|
+
}).css, cssHandlerOptions, { finalized: true });
|
|
697
|
+
debug("css consume webpack loader generation: %s <- %s", file, sourceFile);
|
|
698
|
+
return { result: new ConcatSource(css) };
|
|
699
|
+
}
|
|
700
|
+
const sourceCssProcessed = sourceFile ? cssSources.get(node_path.default.resolve(sourceFile))?.processed === true : false;
|
|
701
|
+
const registeredUserRawSource = require_pipeline_helpers.createWebpackUserCssSourceAppend([...cssSources.entries()].map(([registeredSourceFile, source]) => ({
|
|
702
|
+
...source,
|
|
703
|
+
file: registeredSourceFile
|
|
704
|
+
})), generatorRawSource, sourceFile, (registeredSourceFile) => isSameWebpackSourceScope(file, registeredSourceFile, sourceFile));
|
|
705
|
+
const currentAssetLooksGenerated = require_generator.hasTailwindGeneratedCss(currentRawSource) || require_generator.hasTailwindGeneratedCssMarkers(currentRawSource);
|
|
706
|
+
const currentAssetHasBundlerGeneratedMarker = require_v4_generation_core.hasBundlerGeneratedCssMarker(currentRawSource);
|
|
707
|
+
const currentAssetUserCssSource = currentAssetLooksGenerated ? require_pipeline_helpers.removeWebpackTailwindGeneratedAssetCss(currentRawSource) : currentRawSource;
|
|
708
|
+
if (sourceFile === void 0 && currentAssetHasBundlerGeneratedMarker && (currentAssetUserCssSource.trim().length === 0 || require_generator.isCommentOnlyCss(currentAssetUserCssSource))) return { result: new ConcatSource(finalizeTracedCss("", cssHandlerOptions)) };
|
|
709
|
+
const currentAssetHasAdditionalUserCss = currentAssetLooksGenerated && (require_pipeline_helpers.hasAdditionalWebpackAssetUserCssMarkers(currentAssetUserCssSource, generatorRawSource) || currentAssetUserCssSource.trim().length > 0);
|
|
710
|
+
const shouldPreserveGeneratedWebAssetUserCss = isWebGeneratorTarget && currentAssetLooksGenerated && !currentAssetHasBundlerGeneratedMarker && !currentAssetHasAdditionalUserCss;
|
|
711
|
+
const hasExplicitSourceCssForCurrentAsset = sourceCss !== void 0 && (require_generator.hasTailwindRootDirectives(sourceCss, { importFallback: true }) || require_generator.hasTailwindSourceDirectives(sourceCss, { importFallback: true }) || require_generator.hasTailwindApplyDirective(sourceCss));
|
|
712
|
+
const currentAssetHasUserCss = (sourceCssProcessed || hasExplicitSourceCssForCurrentAsset) && currentAssetLooksGenerated && !shouldPreserveGeneratedWebAssetUserCss ? currentAssetHasAdditionalUserCss : require_pipeline_helpers.shouldUseWebpackAssetAsGeneratorUserCss(currentAssetUserCssSource, generatorRawSource, { processed: sourceCssProcessed || shouldPreserveGeneratedWebAssetUserCss });
|
|
713
|
+
const userRawSource = require_pipeline_helpers.createWebpackGeneratorUserCssSourceAppend(createWebpackCurrentAssetUserRawSource({
|
|
714
|
+
currentAssetHasUserCss,
|
|
715
|
+
currentAssetLooksGenerated,
|
|
716
|
+
currentAssetUserCssSource,
|
|
717
|
+
shouldAppendCurrentAssetUserCss: shouldAppendCurrentWebpackAssetUserCss({
|
|
718
|
+
currentAssetHasBundlerGeneratedMarker,
|
|
719
|
+
currentAssetHasUserCss,
|
|
720
|
+
currentAssetLooksGenerated,
|
|
721
|
+
registeredUserRawSource,
|
|
722
|
+
shouldPreserveGeneratedWebAssetUserCss,
|
|
723
|
+
sourceCssProcessed
|
|
724
|
+
}),
|
|
725
|
+
sourceCssProcessed
|
|
726
|
+
}), registeredUserRawSource);
|
|
727
|
+
if ((0, _weapp_tailwindcss_postcss.isPureLocalCssImportWrapper)(currentRawSource)) return { result: new ConcatSource(require_generator.removeTailwindSourceDirectives(require_v4_generation_core.stripBundlerGeneratedCssMarkers(currentRawSource), { importFallback: true })) };
|
|
728
|
+
const fallbackGeneratorRuntimeSet = getGeneratorRuntimeSet();
|
|
729
|
+
const hasExplicitTailwindV4SourceCss = sourceCss !== void 0 && (require_generator.hasTailwindSourceDirectives(sourceCss, { importFallback: true }) || sourceCss.includes("@config"));
|
|
730
|
+
const currentAssetHasTailwindDirectives = require_generator.hasTailwindRootDirectives(generatorRawSource, { importFallback: true }) || require_generator.hasTailwindSourceDirectives(generatorRawSource, { importFallback: true }) || require_generator.hasTailwindApplyDirective(generatorRawSource);
|
|
731
|
+
const shouldForceTailwindV4Generation = hasConfiguredTailwindV4SourceRoots() && (configuredMainCssEntryFiles.length > 0 && sourceFile !== void 0 || currentAssetHasTailwindDirectives || hasExplicitTailwindV4SourceCss);
|
|
732
|
+
const shouldSkipUnmatchedMainCssGeneration = !isWebGeneratorTarget && cssHandlerOptions.isMainChunk && sourceFile === void 0 && configuredMainCssEntryFiles.length > 0 && !currentAssetHasTailwindDirectives;
|
|
733
|
+
const shouldSkipPlainNonMainCssGeneration = !cssHandlerOptions.isMainChunk && sourceCss !== void 0 && !hasExplicitSourceCssForCurrentAsset && !hasExplicitTailwindV4SourceCss && !currentAssetHasTailwindDirectives;
|
|
734
|
+
const shouldMergeFallbackGeneratorRuntime = cssHandlerOptions.isMainChunk || currentAssetHasTailwindDirectives || hasExplicitSourceCssForCurrentAsset;
|
|
735
|
+
const scopedFallbackGeneratorRuntimeSet = hasExplicitTailwindV4SourceCss || !shouldMergeFallbackGeneratorRuntime ? /* @__PURE__ */ new Set() : fallbackGeneratorRuntimeSet;
|
|
736
|
+
const resolvedScopedGeneratorRuntimeSet = await require_source_candidate_scan_signature.createScopedGeneratorRuntime({
|
|
737
|
+
cssHandlerOptions,
|
|
738
|
+
fallbackRuntime: scopedFallbackGeneratorRuntimeSet,
|
|
739
|
+
getSourceCandidatesForEntries: webpackSourceCandidates?.getSourceCandidatesForEntries,
|
|
740
|
+
majorVersion: runtimeState.tailwindRuntime.majorVersion,
|
|
741
|
+
outputFile: file,
|
|
742
|
+
rawSource: sourceFile ? cssSources.get(node_path.default.resolve(sourceFile))?.css ?? generatorRawSource : generatorRawSource,
|
|
743
|
+
shouldExcludeSubpackageSourceCandidates: () => false,
|
|
744
|
+
sourceFile: sourceFile ?? file,
|
|
745
|
+
scopedSourceCandidateGetter: webpackSourceCandidates?.getSourceCandidatesForEntries
|
|
746
|
+
});
|
|
747
|
+
const scopedGeneratorRuntimeSet = !hasExplicitTailwindV4SourceCss && resolvedScopedGeneratorRuntimeSet !== scopedFallbackGeneratorRuntimeSet && shouldMergeFallbackGeneratorRuntime ? /* @__PURE__ */ new Set([...fallbackGeneratorRuntimeSet, ...resolvedScopedGeneratorRuntimeSet]) : resolvedScopedGeneratorRuntimeSet;
|
|
748
|
+
const generatorCssSources = require_pipeline_helpers.normalizeWebpackGeneratorCssSources(cssHandlerOptions.sourceOptions?.cssSources);
|
|
749
|
+
const scopedGeneratorCompilerOptions = require_pipeline_helpers.scopeWebpackGeneratorOptionsToCssSource(compilerOptions, sourceFile, { disableUnmatchedCssEntries: !isWebGeneratorTarget && cssHandlerOptions.isMainChunk });
|
|
750
|
+
const generatorCssHandlerOptions = generatorCssSources === void 0 ? cssHandlerOptions : {
|
|
751
|
+
...cssHandlerOptions,
|
|
752
|
+
sourceOptions: {
|
|
753
|
+
...cssHandlerOptions.sourceOptions,
|
|
754
|
+
cssSources: generatorCssSources
|
|
755
|
+
}
|
|
756
|
+
};
|
|
757
|
+
const generatorOptions = {
|
|
758
|
+
opts: scopedGeneratorCompilerOptions,
|
|
759
|
+
runtimeState,
|
|
760
|
+
runtime: scopedGeneratorRuntimeSet,
|
|
761
|
+
rawSource: generatorRawSource,
|
|
762
|
+
forceGenerator: shouldForceTailwindV4Generation,
|
|
763
|
+
...require_pipeline_helpers.hasUsableWebpackGeneratorCssSources(generatorCssSources) ? { cssSources: generatorCssSources } : {},
|
|
764
|
+
...userRawSource === void 0 ? {} : { userRawSource: userRawSource.css },
|
|
765
|
+
...userRawSource?.processed === true ? { userRawSourceProcessed: true } : {},
|
|
766
|
+
file,
|
|
767
|
+
cssHandlerOptions: generatorCssHandlerOptions,
|
|
768
|
+
cssUserHandlerOptions: getCssUserHandlerOptions(file),
|
|
769
|
+
compilationChanges: scopeCompilationChanges,
|
|
770
|
+
frameworkPostcssOwner: compilerOptions,
|
|
771
|
+
cssStage: "framework-processed",
|
|
772
|
+
getSourceCandidatesForEntries: webpackSourceCandidates?.getSourceCandidatesForEntries,
|
|
773
|
+
sourceCandidates: scopedGeneratorRuntimeSet,
|
|
774
|
+
restoreLocalCssImports: false,
|
|
775
|
+
scope: compilationScope,
|
|
776
|
+
styleHandler: compilerOptions.styleHandler,
|
|
777
|
+
debug
|
|
778
|
+
};
|
|
779
|
+
let generated;
|
|
780
|
+
if (!shouldSkipUnmatchedMainCssGeneration && !shouldSkipPlainNonMainCssGeneration) try {
|
|
781
|
+
generated = await require_v4_generation_core.generateTailwindV4Css({
|
|
782
|
+
...generatorOptions,
|
|
783
|
+
outputFile: file
|
|
784
|
+
});
|
|
785
|
+
} catch (error) {
|
|
786
|
+
if (!require_pipeline_helpers.shouldFallbackToWebpackUserCssOnGeneratorError({
|
|
787
|
+
configuredMainCssEntryFilesLength: configuredMainCssEntryFiles.length,
|
|
788
|
+
generatorRawSource,
|
|
789
|
+
hasExplicitTailwindV4SourceCss
|
|
790
|
+
})) throw error;
|
|
791
|
+
debug("css generator skipped for plain webpack css asset: %s %O", file, error);
|
|
792
|
+
generated = void 0;
|
|
793
|
+
}
|
|
794
|
+
else debug("css generator skipped for plain webpack css asset: %s", file);
|
|
795
|
+
for (const dependency of generated?.dependencies ?? []) compilation.fileDependencies?.add?.(dependency);
|
|
796
|
+
return finalizeWebpackGeneratedCssResult({
|
|
797
|
+
ConcatSource,
|
|
798
|
+
compilerOptions,
|
|
799
|
+
cssHandlerOptions,
|
|
800
|
+
currentRawSource,
|
|
801
|
+
debug,
|
|
802
|
+
file,
|
|
803
|
+
finalizeCssAssetSource,
|
|
804
|
+
finalizeTracedCss,
|
|
805
|
+
generated,
|
|
806
|
+
generatorRawSource,
|
|
807
|
+
generatorRuntimeSet,
|
|
808
|
+
isWebGeneratorTarget,
|
|
809
|
+
runtimeState,
|
|
810
|
+
shouldPreserveExistingPreflight,
|
|
811
|
+
sourceCss,
|
|
812
|
+
sourceCssProcessed,
|
|
813
|
+
userRawSource
|
|
814
|
+
});
|
|
815
|
+
}
|
|
816
|
+
});
|
|
817
|
+
}, cssTaskFactories, "tasks.css");
|
|
1220
818
|
}
|
|
1221
|
-
|
|
1222
|
-
|
|
819
|
+
//#endregion
|
|
820
|
+
//#region src/bundlers/webpack/BaseUnifiedPlugin/v5-assets/asset-emission-plan.ts
|
|
821
|
+
function applyWebpackAssetEmissionPlan(plan, options) {
|
|
822
|
+
for (const operation of plan.operations()) {
|
|
823
|
+
if (operation.kind === "delete") {
|
|
824
|
+
options.compilation.deleteAsset?.(operation.assetId);
|
|
825
|
+
continue;
|
|
826
|
+
}
|
|
827
|
+
const source = typeof operation.source === "string" ? new options.ConcatSource(operation.source) : operation.source;
|
|
828
|
+
if (options.writeMode !== "update" && !options.compilation.getAsset(operation.assetId)) {
|
|
829
|
+
if (options.compilation.emitAsset) {
|
|
830
|
+
options.compilation.emitAsset(operation.assetId, source);
|
|
831
|
+
continue;
|
|
832
|
+
}
|
|
833
|
+
}
|
|
834
|
+
options.compilation.updateAsset(operation.assetId, source);
|
|
835
|
+
}
|
|
1223
836
|
}
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
const runtimeAffectingHashByFile = /* @__PURE__ */ new Map();
|
|
1228
|
-
const changedByType = createChangedByType();
|
|
1229
|
-
const runtimeAffectingChangedByType = createChangedByType();
|
|
1230
|
-
const processFiles = createProcessFiles();
|
|
837
|
+
//#endregion
|
|
838
|
+
//#region src/bundlers/webpack/BaseUnifiedPlugin/v5-assets/helpers.ts
|
|
839
|
+
function buildWebpackBundleSnapshot(assets, opts, state, compilation, options = {}) {
|
|
1231
840
|
const entries = [];
|
|
1232
|
-
const firstRun = state.iteration === 0 && state.sourceHashByFile.size === 0;
|
|
1233
841
|
for (const [file, asset] of Object.entries(assets)) {
|
|
1234
|
-
const type = require_source_candidate_scan_signature.
|
|
842
|
+
const type = require_source_candidate_scan_signature.classifyRuntimeEntry(file, opts);
|
|
1235
843
|
if (type !== "html" && type !== "js") continue;
|
|
1236
844
|
const source = stringifyWebpackSource(compilation?.getAsset(file)?.source.source() ?? asset.source());
|
|
1237
|
-
const hash = opts.cache.computeHash(source);
|
|
1238
|
-
sourceHashByFile.set(file, hash);
|
|
1239
|
-
const previousHash = state.sourceHashByFile.get(file);
|
|
1240
|
-
const changed = previousHash == null || previousHash !== hash;
|
|
1241
|
-
const previousRuntimeAffectingHash = state.runtimeAffectingHashByFile.get(file);
|
|
1242
|
-
const runtimeAffectingHash = !changed && previousRuntimeAffectingHash != null ? previousRuntimeAffectingHash : (() => {
|
|
1243
|
-
const runtimeAffectingSignature = require_source_candidate_scan_signature.createRuntimeAffectingSourceSignature(source, type);
|
|
1244
|
-
runtimeAffectingSignatureByFile.set(file, runtimeAffectingSignature);
|
|
1245
|
-
return opts.cache.computeHash(runtimeAffectingSignature);
|
|
1246
|
-
})();
|
|
1247
|
-
runtimeAffectingHashByFile.set(file, runtimeAffectingHash);
|
|
1248
|
-
if (changed) changedByType[type].add(file);
|
|
1249
|
-
if (previousRuntimeAffectingHash == null || previousRuntimeAffectingHash !== runtimeAffectingHash) runtimeAffectingChangedByType[type].add(file);
|
|
1250
|
-
if (firstRun) markProcessFile(type, file, processFiles);
|
|
1251
|
-
else if (type === "html") processFiles.html.add(file);
|
|
1252
|
-
else if (changed) processFiles.js.add(file);
|
|
1253
845
|
entries.push({
|
|
1254
846
|
file,
|
|
1255
|
-
|
|
1256
|
-
fileName: file,
|
|
1257
|
-
name: void 0,
|
|
1258
|
-
names: [],
|
|
1259
|
-
needsCodeReference: false,
|
|
1260
|
-
originalFileName: null,
|
|
1261
|
-
originalFileNames: [],
|
|
1262
|
-
source,
|
|
1263
|
-
type: "asset"
|
|
1264
|
-
},
|
|
847
|
+
runtimeCandidate: true,
|
|
1265
848
|
source,
|
|
1266
849
|
type
|
|
1267
850
|
});
|
|
1268
851
|
}
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
runtimeAffectingChangedByType,
|
|
1278
|
-
processFiles,
|
|
1279
|
-
linkedImpactsByEntry: /* @__PURE__ */ new Map()
|
|
1280
|
-
};
|
|
852
|
+
const currentFiles = new Set(entries.map((entry) => entry.file));
|
|
853
|
+
const removedFiles = new Set(options.removedFiles);
|
|
854
|
+
for (const file of state.sourceHashByFile.keys()) if (!currentFiles.has(file)) removedFiles.add(file);
|
|
855
|
+
return require_hmr_timing.buildRuntimeCompilationSnapshot(entries, state, {
|
|
856
|
+
computeHash: (source) => opts.cache.computeHash(source),
|
|
857
|
+
createRuntimeAffectingSignature: require_v4_generation_core.createRuntimeAffectingSourceSignature,
|
|
858
|
+
removedFiles
|
|
859
|
+
});
|
|
1281
860
|
}
|
|
1282
861
|
function releaseWebpackBundleSnapshotSources(snapshot) {
|
|
1283
|
-
for (const entry of snapshot.entries)
|
|
1284
|
-
entry.source = "";
|
|
1285
|
-
if (entry.output.type === "asset") entry.output.source = "";
|
|
1286
|
-
else entry.output.code = "";
|
|
1287
|
-
}
|
|
862
|
+
for (const entry of snapshot.entries) entry.source = "";
|
|
1288
863
|
}
|
|
1289
864
|
function stringifyWebpackSource(source) {
|
|
1290
865
|
if (typeof source === "string") return source;
|
|
@@ -1297,8 +872,14 @@ function createWebpackAssetUpdater(options) {
|
|
|
1297
872
|
return stringifyWebpackSource(asset.source.source());
|
|
1298
873
|
};
|
|
1299
874
|
const updateAssetIfChanged = (file, source, { compare = true, notifyUpdate = true } = {}) => {
|
|
875
|
+
const plan = new require_v4_generation_core.AssetEmissionPlan();
|
|
876
|
+
plan.write(file, source);
|
|
1300
877
|
if (!compare) {
|
|
1301
|
-
|
|
878
|
+
applyWebpackAssetEmissionPlan(plan, {
|
|
879
|
+
compilation: options.compilation,
|
|
880
|
+
ConcatSource: options.ConcatSource,
|
|
881
|
+
writeMode: "update"
|
|
882
|
+
});
|
|
1302
883
|
return true;
|
|
1303
884
|
}
|
|
1304
885
|
const nextSource = typeof source === "string" ? source : stringifyWebpackSource(source.source());
|
|
@@ -1307,7 +888,11 @@ function createWebpackAssetUpdater(options) {
|
|
|
1307
888
|
options.debug("asset unchanged, skip update: %s", file);
|
|
1308
889
|
return false;
|
|
1309
890
|
}
|
|
1310
|
-
|
|
891
|
+
applyWebpackAssetEmissionPlan(plan, {
|
|
892
|
+
compilation: options.compilation,
|
|
893
|
+
ConcatSource: options.ConcatSource,
|
|
894
|
+
writeMode: "update"
|
|
895
|
+
});
|
|
1311
896
|
if (notifyUpdate) options.onUpdate(file, previousSource ?? "", nextSource);
|
|
1312
897
|
return true;
|
|
1313
898
|
};
|
|
@@ -1317,6 +902,114 @@ function createWebpackAssetUpdater(options) {
|
|
|
1317
902
|
};
|
|
1318
903
|
}
|
|
1319
904
|
//#endregion
|
|
905
|
+
//#region src/bundlers/webpack/BaseUnifiedPlugin/v5-assets/html-js-tasks.ts
|
|
906
|
+
async function enqueueWebpackHtmlAndJsTasks(context) {
|
|
907
|
+
const { ConcatSource, applyWebpackLinkedJsResults, assetHashByChunk, compilation, compilerOptions, debug, defaultTemplateHandlerOptions, enqueueTask, groupedEntries, isWebGeneratorTarget, jsAssets, moduleGraphOptions, outputDir, rememberProcessCacheKey, rememberTransformedRuntimeCandidates, runtimeState, transformRuntimeSet, updateAssetIfChanged, watchMode } = context;
|
|
908
|
+
const htmlTaskFactories = [];
|
|
909
|
+
if (!isWebGeneratorTarget && Array.isArray(groupedEntries.html)) for (const element of groupedEntries.html) {
|
|
910
|
+
const [file, originalSource] = element;
|
|
911
|
+
let rawSource;
|
|
912
|
+
const readRawSource = () => {
|
|
913
|
+
rawSource ?? (rawSource = originalSource.source().toString());
|
|
914
|
+
return rawSource;
|
|
915
|
+
};
|
|
916
|
+
const cacheKey = file;
|
|
917
|
+
const hashKey = `${file}:asset`;
|
|
918
|
+
rememberProcessCacheKey(cacheKey, hashKey);
|
|
919
|
+
const chunkHash = assetHashByChunk.get(file);
|
|
920
|
+
await enqueueTask(async () => {
|
|
921
|
+
await require_hmr_timing.processCachedTask({
|
|
922
|
+
cache: compilerOptions.cache,
|
|
923
|
+
cacheKey,
|
|
924
|
+
hashKey,
|
|
925
|
+
rawSource: chunkHash === void 0 ? readRawSource() : void 0,
|
|
926
|
+
hash: chunkHash,
|
|
927
|
+
applyResult(source, { cacheHit }) {
|
|
928
|
+
updateAssetIfChanged(file, source, {
|
|
929
|
+
compare: !cacheHit,
|
|
930
|
+
notifyUpdate: !cacheHit
|
|
931
|
+
});
|
|
932
|
+
},
|
|
933
|
+
onCacheHit() {
|
|
934
|
+
debug("html cache hit: %s", file);
|
|
935
|
+
},
|
|
936
|
+
transform: async () => {
|
|
937
|
+
const wxml = await compilerOptions.templateHandler(readRawSource(), defaultTemplateHandlerOptions);
|
|
938
|
+
const source = new ConcatSource(wxml);
|
|
939
|
+
debug("html handle: %s", file);
|
|
940
|
+
return { result: source };
|
|
941
|
+
}
|
|
942
|
+
});
|
|
943
|
+
}, htmlTaskFactories, "tasks.html");
|
|
944
|
+
}
|
|
945
|
+
const jsTaskFactories = [];
|
|
946
|
+
const enqueueJsTask = async (factory) => {
|
|
947
|
+
await enqueueTask(factory, jsTaskFactories, "tasks.js");
|
|
948
|
+
};
|
|
949
|
+
if (!isWebGeneratorTarget && Array.isArray(groupedEntries.js)) for (const [file] of groupedEntries.js) {
|
|
950
|
+
const cacheKey = getCacheKey(file);
|
|
951
|
+
const asset = compilation.getAsset(file);
|
|
952
|
+
if (!asset) continue;
|
|
953
|
+
const hashKey = `${file}:asset`;
|
|
954
|
+
rememberProcessCacheKey(cacheKey, hashKey);
|
|
955
|
+
const absoluteFile = require_source_candidate_scan_signature.toAbsoluteOutputPath(file, outputDir);
|
|
956
|
+
const initialSource = asset.source.source();
|
|
957
|
+
const initialRawSource = typeof initialSource === "string" ? initialSource : initialSource.toString();
|
|
958
|
+
const chunkHash = assetHashByChunk.get(file);
|
|
959
|
+
const outputModuleGraphOptions = chunkHash === void 0 ? moduleGraphOptions : void 0;
|
|
960
|
+
await enqueueJsTask(async () => {
|
|
961
|
+
await require_hmr_timing.processCachedTask({
|
|
962
|
+
cache: compilerOptions.cache,
|
|
963
|
+
cacheKey,
|
|
964
|
+
hashKey,
|
|
965
|
+
rawSource: chunkHash === void 0 ? initialRawSource : void 0,
|
|
966
|
+
hash: chunkHash,
|
|
967
|
+
applyResult(source, { cacheHit }) {
|
|
968
|
+
if (updateAssetIfChanged(file, source, {
|
|
969
|
+
compare: !cacheHit,
|
|
970
|
+
notifyUpdate: !cacheHit
|
|
971
|
+
})) rememberTransformedRuntimeCandidates(source);
|
|
972
|
+
},
|
|
973
|
+
onCacheHit() {
|
|
974
|
+
debug("js cache hit: %s", file);
|
|
975
|
+
},
|
|
976
|
+
transform: async () => {
|
|
977
|
+
const currentSourceValue = compilation.getAsset(file)?.source.source();
|
|
978
|
+
const currentSource = require_pipeline_helpers.stringifyOptionalWebpackSourceValue(currentSourceValue);
|
|
979
|
+
const handlerOptions = {
|
|
980
|
+
tailwindcssMajorVersion: runtimeState.tailwindRuntime.majorVersion,
|
|
981
|
+
generateMap: false,
|
|
982
|
+
experimentalJsFastPath: compilerOptions.experimentalJsFastPath ?? (watchMode ? "oxc" : false),
|
|
983
|
+
filename: absoluteFile,
|
|
984
|
+
moduleGraph: outputModuleGraphOptions,
|
|
985
|
+
babelParserOptions: { sourceFilename: absoluteFile }
|
|
986
|
+
};
|
|
987
|
+
if (require_context.shouldSkipJsTransform(currentSource, {
|
|
988
|
+
...handlerOptions,
|
|
989
|
+
classNameSet: transformRuntimeSet
|
|
990
|
+
})) return { result: new ConcatSource(currentSource) };
|
|
991
|
+
const { code, linked } = await compilerOptions.jsHandler(currentSource, transformRuntimeSet, handlerOptions);
|
|
992
|
+
const source = new ConcatSource(code);
|
|
993
|
+
debug("js handle: %s", file);
|
|
994
|
+
applyWebpackLinkedJsResults({
|
|
995
|
+
ConcatSource,
|
|
996
|
+
compilation,
|
|
997
|
+
compilerOptions,
|
|
998
|
+
debug,
|
|
999
|
+
jsAssets,
|
|
1000
|
+
linked
|
|
1001
|
+
});
|
|
1002
|
+
return { result: source };
|
|
1003
|
+
}
|
|
1004
|
+
});
|
|
1005
|
+
});
|
|
1006
|
+
}
|
|
1007
|
+
return {
|
|
1008
|
+
htmlTaskFactories,
|
|
1009
|
+
jsTaskFactories
|
|
1010
|
+
};
|
|
1011
|
+
}
|
|
1012
|
+
//#endregion
|
|
1320
1013
|
//#region src/bundlers/webpack/BaseUnifiedPlugin/v5-assets/js-module-graph.ts
|
|
1321
1014
|
function createWebpackJsAssetModuleGraph(options) {
|
|
1322
1015
|
const jsAssets = /* @__PURE__ */ new Map();
|
|
@@ -1346,6 +1039,8 @@ function createWebpackJsAssetModuleGraph(options) {
|
|
|
1346
1039
|
}
|
|
1347
1040
|
function applyWebpackLinkedJsResults(options) {
|
|
1348
1041
|
if (!options.linked) return;
|
|
1042
|
+
const plan = new require_v4_generation_core.AssetEmissionPlan();
|
|
1043
|
+
const updates = [];
|
|
1349
1044
|
for (const [id, { code }] of Object.entries(options.linked)) {
|
|
1350
1045
|
const assetName = options.jsAssets.get(id);
|
|
1351
1046
|
if (!assetName) continue;
|
|
@@ -1354,13 +1049,163 @@ function applyWebpackLinkedJsResults(options) {
|
|
|
1354
1049
|
const previousSource = asset.source.source();
|
|
1355
1050
|
const previous = previousSource == null ? "" : String(previousSource);
|
|
1356
1051
|
if (previous === code) continue;
|
|
1357
|
-
|
|
1358
|
-
|
|
1052
|
+
plan.write(assetName, code);
|
|
1053
|
+
updates.push({
|
|
1054
|
+
assetName,
|
|
1055
|
+
code,
|
|
1056
|
+
previous
|
|
1057
|
+
});
|
|
1058
|
+
}
|
|
1059
|
+
if (updates.length === 0) return;
|
|
1060
|
+
applyWebpackAssetEmissionPlan(plan, {
|
|
1061
|
+
compilation: options.compilation,
|
|
1062
|
+
ConcatSource: options.ConcatSource,
|
|
1063
|
+
writeMode: "update"
|
|
1064
|
+
});
|
|
1065
|
+
for (const { assetName, code, previous } of updates) {
|
|
1359
1066
|
options.compilerOptions.onUpdate(assetName, previous, code);
|
|
1360
1067
|
options.debug("js linked handle: %s", assetName);
|
|
1361
1068
|
}
|
|
1362
1069
|
}
|
|
1363
1070
|
//#endregion
|
|
1071
|
+
//#region src/bundlers/webpack/BaseUnifiedPlugin/v5-assets/processed-css-task.ts
|
|
1072
|
+
async function processWebpackProcessedCssAsset(element, context) {
|
|
1073
|
+
const { ConcatSource, assetHashByChunk, compilerOptions, configuredMainCssEntryFiles, createRuntimeSetHash, cssSourceTraceSignature, cssSources, cssTaskFactories, debug, enqueueTask, finalizeCssAssetSource, finalizeTracedCss, generatedCssSources, getCssHandlerOptions, getGeneratorRuntimeSet, hasConfiguredTailwindV4SourceRoots, isKnownWebpackProcessedCssAsset, isWebGeneratorTarget, isWebpackProcessedCssAsset, processedCssAssetSkipDecisionCache, rememberProcessCacheKey, runtimeAffectingSourceHash, updateAssetIfChanged, watchMode, webpackSourceCandidateSet, webpackSourceCandidateValueSignature, webpackSourceCandidates } = context;
|
|
1074
|
+
const [file, originalSource] = element;
|
|
1075
|
+
let rawSource;
|
|
1076
|
+
const readRawSource = () => {
|
|
1077
|
+
rawSource ?? (rawSource = originalSource.source().toString());
|
|
1078
|
+
return rawSource;
|
|
1079
|
+
};
|
|
1080
|
+
const chunkHash = assetHashByChunk.get(file);
|
|
1081
|
+
const cssHandlerOptionsForProcessedAsset = getCssHandlerOptions(file, readRawSource());
|
|
1082
|
+
const processedCssAssetMetadata = { isMainCssChunk: cssHandlerOptionsForProcessedAsset.isMainChunk };
|
|
1083
|
+
const processedSourceFile = cssHandlerOptionsForProcessedAsset.sourceOptions?.sourceFile;
|
|
1084
|
+
const processedSourceCss = processedSourceFile ? cssSources.get(node_path.default.resolve(processedSourceFile))?.css : void 0;
|
|
1085
|
+
const shouldRegenerateProcessedTailwindV4SourceCss = processedSourceCss !== void 0 && (require_generator.hasTailwindSourceDirectives(processedSourceCss, { importFallback: true }) || processedSourceCss.includes("@config"));
|
|
1086
|
+
const processedCssAssetKnown = isKnownWebpackProcessedCssAsset?.(file, processedCssAssetMetadata) === true;
|
|
1087
|
+
const processedLoaderGeneratedCss = processedSourceFile ? generatedCssSources.get(node_path.default.resolve(processedSourceFile)) : void 0;
|
|
1088
|
+
const processedAssetSourceHash = watchMode && isWebGeneratorTarget && cssHandlerOptionsForProcessedAsset.isMainChunk ? compilerOptions.cache.computeHash(readRawSource()) : chunkHash === void 0 ? processedCssAssetKnown ? "webpack-css-asset:known" : compilerOptions.cache.computeHash(readRawSource()) : "webpack-css-asset:chunk";
|
|
1089
|
+
const processedCssDecisionCacheKey = `${file}:${createRuntimeAwareCssHash(chunkHash, processedAssetSourceHash, `${createRuntimeSetHash(getGeneratorRuntimeSet())}:${runtimeAffectingSourceHash}:${webpackSourceCandidates?.signatureHash ?? "source-candidates:0"}:${webpackSourceCandidateValueSignature}:${cssSourceTraceSignature}`)}`;
|
|
1090
|
+
let currentProcessedRawSource;
|
|
1091
|
+
let hasGeneratedCssMarker = false;
|
|
1092
|
+
let hasTailwindGeneratedAssetCss = false;
|
|
1093
|
+
const readCurrentProcessedRawSource = () => {
|
|
1094
|
+
currentProcessedRawSource ?? (currentProcessedRawSource = readRawSource());
|
|
1095
|
+
return currentProcessedRawSource;
|
|
1096
|
+
};
|
|
1097
|
+
const cachedSkipProcessedCssAsset = processedCssAssetKnown ? processedCssAssetSkipDecisionCache.get(processedCssDecisionCacheKey) : void 0;
|
|
1098
|
+
const shouldRegenerateStaleProcessedWebCssAsset = isWebGeneratorTarget && !processedCssAssetKnown && cachedSkipProcessedCssAsset === void 0 && cssHandlerOptionsForProcessedAsset.isMainChunk && webpackSourceCandidateSet !== void 0 && (require_pipeline_helpers.hasMissingRuntimeCandidates(processedLoaderGeneratedCss?.classSet, webpackSourceCandidateSet) || require_pipeline_helpers.hasMissingRuntimeCandidates(require_pipeline_helpers.resolveGeneratedCssRuntimeCandidates(readCurrentProcessedRawSource(), processedLoaderGeneratedCss?.classSet), webpackSourceCandidateSet));
|
|
1099
|
+
if (cachedSkipProcessedCssAsset !== void 0) {
|
|
1100
|
+
hasGeneratedCssMarker = cachedSkipProcessedCssAsset && cssHandlerOptionsForProcessedAsset.isMainChunk;
|
|
1101
|
+
hasTailwindGeneratedAssetCss = hasGeneratedCssMarker;
|
|
1102
|
+
} else {
|
|
1103
|
+
const source = readCurrentProcessedRawSource();
|
|
1104
|
+
hasGeneratedCssMarker = require_v4_generation_core.hasBundlerGeneratedCssMarker(source);
|
|
1105
|
+
hasTailwindGeneratedAssetCss = require_generator.hasTailwindGeneratedCss(source) || require_generator.hasTailwindGeneratedCssMarkers(source);
|
|
1106
|
+
}
|
|
1107
|
+
const hasProcessedAssetTailwindDirectives = () => {
|
|
1108
|
+
const source = readCurrentProcessedRawSource();
|
|
1109
|
+
return require_generator.hasTailwindRootDirectives(source, { importFallback: true }) || require_generator.hasTailwindSourceDirectives(source, { importFallback: true }) || require_generator.hasTailwindApplyDirective(source);
|
|
1110
|
+
};
|
|
1111
|
+
const shouldForceConfiguredMainCssGeneration = cssHandlerOptionsForProcessedAsset.isMainChunk && hasConfiguredTailwindV4SourceRoots() && !hasGeneratedCssMarker && (configuredMainCssEntryFiles.length > 0 || shouldRegenerateProcessedTailwindV4SourceCss || hasProcessedAssetTailwindDirectives());
|
|
1112
|
+
const hasProcessedMainAssetUserCss = cachedSkipProcessedCssAsset === void 0 && cssHandlerOptionsForProcessedAsset.isMainChunk && (hasGeneratedCssMarker || hasTailwindGeneratedAssetCss) && require_pipeline_helpers.createWebpackUserCssSourceAppend([...cssSources.entries()].map(([sourceFile, source]) => ({
|
|
1113
|
+
...source,
|
|
1114
|
+
file: sourceFile
|
|
1115
|
+
})), readCurrentProcessedRawSource()) !== void 0;
|
|
1116
|
+
const hasProcessedLoaderGeneratedUserCss = cachedSkipProcessedCssAsset === void 0 && processedLoaderGeneratedCss !== void 0 && require_pipeline_helpers.hasAdditionalWebpackAssetUserCssMarkers(processedLoaderGeneratedCss.css, readCurrentProcessedRawSource());
|
|
1117
|
+
const shouldFinalizeProcessedWebCssAsset = isWebGeneratorTarget && !shouldForceConfiguredMainCssGeneration && !shouldRegenerateProcessedTailwindV4SourceCss && require_generator.hasTailwindSourceDirectives(readCurrentProcessedRawSource(), { importFallback: true });
|
|
1118
|
+
const shouldPreserveFinalWebCssAsset = isWebGeneratorTarget && processedSourceFile === void 0 && !shouldForceConfiguredMainCssGeneration && (hasGeneratedCssMarker || hasTailwindGeneratedAssetCss);
|
|
1119
|
+
const shouldSkipKnownProcessedCssAsset = !shouldForceConfiguredMainCssGeneration && !shouldRegenerateProcessedTailwindV4SourceCss && !shouldRegenerateStaleProcessedWebCssAsset && (processedCssAssetKnown || isWebpackProcessedCssAsset?.(file, readCurrentProcessedRawSource(), processedCssAssetMetadata)) && !hasProcessedMainAssetUserCss && !hasProcessedLoaderGeneratedUserCss && (!cssHandlerOptionsForProcessedAsset.isMainChunk || hasGeneratedCssMarker || hasTailwindGeneratedAssetCss);
|
|
1120
|
+
const shouldSkipProcessedCssAsset = cachedSkipProcessedCssAsset ?? (shouldFinalizeProcessedWebCssAsset || shouldPreserveFinalWebCssAsset || shouldSkipKnownProcessedCssAsset);
|
|
1121
|
+
if (processedCssAssetKnown && cachedSkipProcessedCssAsset === void 0 && !shouldFinalizeProcessedWebCssAsset && !shouldPreserveFinalWebCssAsset) processedCssAssetSkipDecisionCache.set(processedCssDecisionCacheKey, shouldSkipProcessedCssAsset === true);
|
|
1122
|
+
if (shouldSkipProcessedCssAsset) {
|
|
1123
|
+
const hashKey = `${file}:asset`;
|
|
1124
|
+
const sourceHash = processedAssetSourceHash;
|
|
1125
|
+
rememberProcessCacheKey(file, hashKey);
|
|
1126
|
+
await enqueueTask(async () => {
|
|
1127
|
+
await require_hmr_timing.processCachedTask({
|
|
1128
|
+
cache: compilerOptions.cache,
|
|
1129
|
+
cacheKey: file,
|
|
1130
|
+
hashKey,
|
|
1131
|
+
rawSource: chunkHash === void 0 && !processedCssAssetKnown ? readCurrentProcessedRawSource() : void 0,
|
|
1132
|
+
hash: createRuntimeAwareCssHash(chunkHash, sourceHash, `${createRuntimeSetHash(getGeneratorRuntimeSet())}:${runtimeAffectingSourceHash}:${webpackSourceCandidates?.signatureHash ?? "source-candidates:0"}:${webpackSourceCandidateValueSignature}:${cssSourceTraceSignature}`),
|
|
1133
|
+
applyResult(source, { cacheHit }) {
|
|
1134
|
+
updateAssetIfChanged(file, source, {
|
|
1135
|
+
compare: !cacheHit,
|
|
1136
|
+
notifyUpdate: !cacheHit
|
|
1137
|
+
});
|
|
1138
|
+
},
|
|
1139
|
+
onCacheHit() {
|
|
1140
|
+
debug("css webpack-loader-pipeline cache hit: %s", file);
|
|
1141
|
+
},
|
|
1142
|
+
transform: async () => {
|
|
1143
|
+
const source = readCurrentProcessedRawSource();
|
|
1144
|
+
const missingProcessedLoaderGeneratedCss = isWebGeneratorTarget && processedLoaderGeneratedCss ? (0, _weapp_tailwindcss_postcss.filterExistingCssRules)(source, require_v4_generation_core.stripBundlerGeneratedCssMarkers(processedLoaderGeneratedCss.css)) : "";
|
|
1145
|
+
const sourceWithLoaderGeneratedCss = missingProcessedLoaderGeneratedCss.trim().length === 0 ? source : require_pipeline_helpers.createWebpackGeneratorUserCssSourceAppend({
|
|
1146
|
+
css: source,
|
|
1147
|
+
processed: true
|
|
1148
|
+
}, {
|
|
1149
|
+
css: missingProcessedLoaderGeneratedCss,
|
|
1150
|
+
processed: true
|
|
1151
|
+
}).css;
|
|
1152
|
+
const processedBareSelectorSourceCss = processedSourceCss ?? (hasTailwindGeneratedAssetCss ? require_pipeline_helpers.removeWebpackTailwindGeneratedAssetCss(sourceWithLoaderGeneratedCss) : void 0);
|
|
1153
|
+
const handledCss = hasTailwindGeneratedAssetCss && (!hasGeneratedCssMarker || !isWebGeneratorTarget && require_pipeline_helpers.hasDeferredWebpackGeneratedCss(source, [...generatedCssSources.values()].map((item) => item.classSet))) ? isWebGeneratorTarget ? sourceWithLoaderGeneratedCss : (await compilerOptions.styleHandler(sourceWithLoaderGeneratedCss, cssHandlerOptionsForProcessedAsset)).css : sourceWithLoaderGeneratedCss;
|
|
1154
|
+
const nextCss = require_pipeline_helpers.stripTrailingLineWhitespace(finalizeCssAssetSource(handledCss, {
|
|
1155
|
+
cssPreflight: cssHandlerOptionsForProcessedAsset.isMainChunk,
|
|
1156
|
+
generatedCss: hasGeneratedCssMarker || hasTailwindGeneratedAssetCss
|
|
1157
|
+
}));
|
|
1158
|
+
const processedSourceBareUserCss = isWebGeneratorTarget || processedBareSelectorSourceCss === void 0 ? void 0 : require_pipeline_helpers.createWebpackGeneratorUserCssSourceAppend({
|
|
1159
|
+
css: require_pipeline_helpers.collectWebpackBareSelectorUserCss(processedBareSelectorSourceCss),
|
|
1160
|
+
processed: false
|
|
1161
|
+
});
|
|
1162
|
+
const finalizedProcessedSourceBareUserCss = processedSourceBareUserCss === void 0 ? "" : finalizeCssAssetSource(processedSourceBareUserCss.css, {
|
|
1163
|
+
cssPreflight: false,
|
|
1164
|
+
generatedCss: false
|
|
1165
|
+
});
|
|
1166
|
+
const missingProcessedSourceBareUserCss = finalizedProcessedSourceBareUserCss.trim().length === 0 ? "" : (0, _weapp_tailwindcss_postcss.filterExistingCssRules)(nextCss, finalizedProcessedSourceBareUserCss);
|
|
1167
|
+
const css = missingProcessedSourceBareUserCss.trim().length === 0 ? nextCss : require_pipeline_helpers.createWebpackGeneratorUserCssSourceAppend({
|
|
1168
|
+
css: nextCss,
|
|
1169
|
+
processed: true
|
|
1170
|
+
}, {
|
|
1171
|
+
css: missingProcessedSourceBareUserCss,
|
|
1172
|
+
processed: true
|
|
1173
|
+
}).css;
|
|
1174
|
+
debug("css skip webpack-loader-pipeline asset: %s", file);
|
|
1175
|
+
return { result: new ConcatSource(finalizeTracedCss(css, cssHandlerOptionsForProcessedAsset, { finalized: true })) };
|
|
1176
|
+
}
|
|
1177
|
+
});
|
|
1178
|
+
}, cssTaskFactories, "tasks.css");
|
|
1179
|
+
return true;
|
|
1180
|
+
}
|
|
1181
|
+
const currentRawSource = readRawSource();
|
|
1182
|
+
if (require_css_loader_runtime.isWebpackCssLoaderRuntimeSource(currentRawSource)) {
|
|
1183
|
+
const hashKey = `${file}:asset`;
|
|
1184
|
+
rememberProcessCacheKey(file, hashKey);
|
|
1185
|
+
await enqueueTask(async () => {
|
|
1186
|
+
await require_hmr_timing.processCachedTask({
|
|
1187
|
+
cache: compilerOptions.cache,
|
|
1188
|
+
cacheKey: file,
|
|
1189
|
+
hashKey,
|
|
1190
|
+
rawSource: currentRawSource,
|
|
1191
|
+
hash: createRuntimeAwareCssHash(chunkHash, compilerOptions.cache.computeHash(currentRawSource), "webpack-css-loader-runtime"),
|
|
1192
|
+
applyResult(source, { cacheHit }) {
|
|
1193
|
+
updateAssetIfChanged(file, source, {
|
|
1194
|
+
compare: !cacheHit,
|
|
1195
|
+
notifyUpdate: !cacheHit
|
|
1196
|
+
});
|
|
1197
|
+
},
|
|
1198
|
+
onCacheHit() {
|
|
1199
|
+
debug("css-loader runtime cache hit: %s", file);
|
|
1200
|
+
},
|
|
1201
|
+
transform: async () => ({ result: new ConcatSource(currentRawSource) })
|
|
1202
|
+
});
|
|
1203
|
+
}, cssTaskFactories, "tasks.css");
|
|
1204
|
+
return true;
|
|
1205
|
+
}
|
|
1206
|
+
return false;
|
|
1207
|
+
}
|
|
1208
|
+
//#endregion
|
|
1364
1209
|
//#region src/bundlers/webpack/BaseUnifiedPlugin/v5-assets/source-candidate-cache.ts
|
|
1365
1210
|
const WEBPACK_SOURCE_CANDIDATE_SCAN_CACHE_MAX = 2;
|
|
1366
1211
|
function trimScanCache(cache) {
|
|
@@ -1443,10 +1288,10 @@ function isSameFileMeta(left, right) {
|
|
|
1443
1288
|
async function resolveScanFiles(roots, outDir) {
|
|
1444
1289
|
const files = /* @__PURE__ */ new Set();
|
|
1445
1290
|
await Promise.all(roots.map(async (root) => {
|
|
1446
|
-
const rootFiles = await
|
|
1291
|
+
const rootFiles = await require_v4_generation_core.resolveSourceCandidateScanFiles({
|
|
1447
1292
|
entries: root.entries,
|
|
1448
1293
|
explicit: root.explicit,
|
|
1449
|
-
filter:
|
|
1294
|
+
filter: require_v4_generation_core.isSourceCandidateRequest,
|
|
1450
1295
|
outDir,
|
|
1451
1296
|
root: root.root
|
|
1452
1297
|
});
|
|
@@ -1538,7 +1383,7 @@ async function refreshWebpackSourceCandidates(options) {
|
|
|
1538
1383
|
const root = options.compilerOptions.tailwindcssBasedir ?? node_process.default.cwd();
|
|
1539
1384
|
let sourceScan;
|
|
1540
1385
|
try {
|
|
1541
|
-
sourceScan = await
|
|
1386
|
+
sourceScan = await require_options.resolveSourceScanEntries(options.compilerOptions, options.runtimeState.tailwindRuntime, {
|
|
1542
1387
|
root,
|
|
1543
1388
|
outDir: options.outputDir
|
|
1544
1389
|
});
|
|
@@ -1549,7 +1394,7 @@ async function refreshWebpackSourceCandidates(options) {
|
|
|
1549
1394
|
if (!sourceScan || !sourceScan.explicit && !sourceScan.entries?.length && !sourceScan.inlineCandidates) return;
|
|
1550
1395
|
return options.scanCache.resolve({
|
|
1551
1396
|
changedFiles: options.watchChangedFiles,
|
|
1552
|
-
collector:
|
|
1397
|
+
collector: require_v4_generation_core.createSourceCandidateStore({
|
|
1553
1398
|
bareArbitraryValues: options.compilerOptions.arbitraryValues?.bareArbitraryValues,
|
|
1554
1399
|
customAttributesEntities: options.compilerOptions.customAttributesEntities,
|
|
1555
1400
|
disabledDefaultTemplateHandler: options.compilerOptions.disabledDefaultTemplateHandler
|
|
@@ -1575,11 +1420,10 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1575
1420
|
const cssHandlerOptionsCache = /* @__PURE__ */ new Map();
|
|
1576
1421
|
const cssUserHandlerOptionsCache = /* @__PURE__ */ new Map();
|
|
1577
1422
|
const webpackSourceCandidateScanCache = createWebpackSourceCandidateScanCache();
|
|
1578
|
-
const bundleBuildState =
|
|
1579
|
-
const bundleRuntimeClassSetManager = runtimeClassSetManager ?? require_hmr_timing.
|
|
1580
|
-
const escapeFragments =
|
|
1423
|
+
const bundleBuildState = require_hmr_timing.createRuntimeCompilationBuildState();
|
|
1424
|
+
const bundleRuntimeClassSetManager = runtimeClassSetManager ?? require_hmr_timing.createRuntimeClassSetManager();
|
|
1425
|
+
const escapeFragments = require_v4_generation_core.createEscapeFragments(_weapp_core_escape.MappingChars2String);
|
|
1581
1426
|
const processedCssAssetSkipDecisionCache = /* @__PURE__ */ new Map();
|
|
1582
|
-
let webpackWatchRuntimeScanInitialized = false;
|
|
1583
1427
|
compiler.hooks.compilation.tap(require_context.pluginName, (compilation) => {
|
|
1584
1428
|
compilation.hooks.processAssets.tapPromise({
|
|
1585
1429
|
name: require_context.pluginName,
|
|
@@ -1589,10 +1433,16 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1589
1433
|
if (entries.length === 0) return;
|
|
1590
1434
|
const groupedEntries = require_utils.getGroupedEntries(entries, compilerOptions);
|
|
1591
1435
|
if (isWebGeneratorTarget && groupedEntries.css.length === 0) return;
|
|
1436
|
+
require_v4_generation_core.beginCompilerShadowRun(runtimeState);
|
|
1592
1437
|
compilerOptions.onStart();
|
|
1593
1438
|
debug("start");
|
|
1594
1439
|
await runtimeState.readyPromise;
|
|
1595
1440
|
const hmrTimingStartedAt = performance.now();
|
|
1441
|
+
const timingDetails = {};
|
|
1442
|
+
const recordTimingDetail = (name, startedAt) => {
|
|
1443
|
+
timingDetails[name] = (timingDetails[name] ?? 0) + Math.max(0, performance.now() - startedAt);
|
|
1444
|
+
};
|
|
1445
|
+
const setupStartedAt = performance.now();
|
|
1596
1446
|
for (const chunk of compilation.chunks) if (chunk.id && chunk.hash) compilerOptions.cache.calcHashValueChanged(chunk.id, chunk.hash);
|
|
1597
1447
|
const assetHashByChunk = createAssetHashByChunkMap(compilation.chunks);
|
|
1598
1448
|
const { updateAssetIfChanged } = createWebpackAssetUpdater({
|
|
@@ -1619,7 +1469,10 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1619
1469
|
cssMatcher: compilerOptions.cssMatcher
|
|
1620
1470
|
}));
|
|
1621
1471
|
const watchChangedFiles = new Set([...getWatchChangedFiles?.() ?? []].map((file) => node_path.default.resolve(file)));
|
|
1622
|
-
const
|
|
1472
|
+
const compilationChanges = require_v4_generation_core.createCompilationDependencyChanges(watchChangedFiles);
|
|
1473
|
+
const affectedCompilationScopes = require_v4_generation_core.recordCompilationDependencyChanges(runtimeState, compilationChanges);
|
|
1474
|
+
const getCompilationDependencyRevision = (scopeId) => require_v4_generation_core.getCompilationScopeDependencyRevision(runtimeState, scopeId);
|
|
1475
|
+
const taskConcurrency = watchMode ? require_v4_generation_core.resolveTaskConcurrency(1) : void 0;
|
|
1623
1476
|
const activeProcessCacheKeys = /* @__PURE__ */ new Set();
|
|
1624
1477
|
const activeProcessHashKeys = /* @__PURE__ */ new Set();
|
|
1625
1478
|
const rememberProcessCacheKey = (cacheKey, hashKey = cacheKey) => {
|
|
@@ -1648,8 +1501,11 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1648
1501
|
outputDir,
|
|
1649
1502
|
runtimeState
|
|
1650
1503
|
});
|
|
1651
|
-
const finalizeCssAssetSource = (source, options = {}) => finalizeWebpackCssAssetSource(source, compilerOptions, isWebGeneratorTarget, options);
|
|
1652
|
-
const
|
|
1504
|
+
const finalizeCssAssetSource = (source, options = {}) => require_pipeline_helpers.finalizeWebpackCssAssetSource(source, compilerOptions, isWebGeneratorTarget, options);
|
|
1505
|
+
const shouldRefreshWebpackSourceCandidates = !isWebGeneratorTarget && groupedEntries.css.length > 0 || cssSources.size > 0 || generatedCssSources.size > 0 || require_v4_generation_core.isCssSourceTraceEnabled(compilerOptions);
|
|
1506
|
+
recordTimingDetail("setup", setupStartedAt);
|
|
1507
|
+
const sourceCandidatesStartedAt = performance.now();
|
|
1508
|
+
const webpackSourceCandidates = shouldRefreshWebpackSourceCandidates ? await refreshWebpackSourceCandidates({
|
|
1653
1509
|
compilerOptions,
|
|
1654
1510
|
debug,
|
|
1655
1511
|
outputDir,
|
|
@@ -1659,29 +1515,31 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1659
1515
|
watchMode
|
|
1660
1516
|
}) : void 0;
|
|
1661
1517
|
const webpackSourceCandidateValueSignature = webpackSourceCandidates ? require_source_candidate_scan_signature.createCandidateSignature(webpackSourceCandidates.getSourceCandidatesForEntries(void 0)) : "source-candidates:0";
|
|
1662
|
-
|
|
1663
|
-
const
|
|
1664
|
-
const
|
|
1518
|
+
recordTimingDetail("sourceCandidates", sourceCandidatesStartedAt);
|
|
1519
|
+
const cssSourceTraceTokenSources = require_pipeline_helpers.createWebpackCssSourceTraceTokenSources(compilerOptions, webpackSourceCandidates);
|
|
1520
|
+
const cssSourceTraceSignature = require_v4_generation_core.createCssSourceTraceCacheSignature(cssSourceTraceTokenSources, compilerOptions);
|
|
1521
|
+
const annotateCss = (css) => require_v4_generation_core.annotateCssSourceTrace(css, {
|
|
1665
1522
|
opts: compilerOptions,
|
|
1666
1523
|
tokenSources: cssSourceTraceTokenSources
|
|
1667
1524
|
});
|
|
1668
|
-
const finalizeTracedCss = (css, cssHandlerOptions, options = {}) => finalizeTracedWebpackCssAsset(css, cssHandlerOptions, {
|
|
1525
|
+
const finalizeTracedCss = (css, cssHandlerOptions, options = {}) => require_pipeline_helpers.finalizeTracedWebpackCssAsset(css, cssHandlerOptions, {
|
|
1669
1526
|
annotateCss,
|
|
1670
1527
|
compilerOptions,
|
|
1671
1528
|
...options,
|
|
1672
1529
|
isWebGeneratorTarget
|
|
1673
1530
|
});
|
|
1674
1531
|
const hasRuntimeTransformAssets = Boolean(!isWebGeneratorTarget && ((groupedEntries.html?.length ?? 0) > 0 || (groupedEntries.js?.length ?? 0) > 0));
|
|
1532
|
+
const runtimeStartedAt = performance.now();
|
|
1675
1533
|
const forceRuntimeRefresh = getRuntimeRefreshRequirement();
|
|
1676
1534
|
debug("processAssets ensure runtime set forceRefresh=%s major=%s", forceRuntimeRefresh, runtimeState.tailwindRuntime.majorVersion ?? "unknown");
|
|
1677
1535
|
let runtimeSet;
|
|
1678
1536
|
let runtimeAffectingSourceHash = "runtime-affecting:0";
|
|
1679
|
-
if (isWebGeneratorTarget && !hasRuntimeTransformAssets && !forceRuntimeRefresh) runtimeSet = getRuntimeClassSetSync(runtimeState.tailwindRuntime);
|
|
1537
|
+
if (isWebGeneratorTarget && !hasRuntimeTransformAssets && !forceRuntimeRefresh) runtimeSet = require_pipeline_helpers.getRuntimeClassSetSync(runtimeState.tailwindRuntime);
|
|
1680
1538
|
else if (watchMode && !forceRuntimeRefresh) {
|
|
1681
|
-
const baseRuntimeSet = getRuntimeClassSetSync(runtimeState.tailwindRuntime);
|
|
1539
|
+
const baseRuntimeSet = require_pipeline_helpers.getRuntimeClassSetSync(runtimeState.tailwindRuntime);
|
|
1682
1540
|
const snapshot = buildWebpackBundleSnapshot(assets, compilerOptions, bundleBuildState, compilation);
|
|
1683
|
-
if (
|
|
1684
|
-
runtimeAffectingSourceHash =
|
|
1541
|
+
if (bundleBuildState.iteration === 0) for (const entry of snapshot.entries) snapshot.runtimeAffectingChangedByType[entry.type].add(entry.file);
|
|
1542
|
+
runtimeAffectingSourceHash = require_hmr_timing.createRuntimeCompilationAffectingSignature(snapshot, (source) => compilerOptions.cache.computeHash(source));
|
|
1685
1543
|
try {
|
|
1686
1544
|
runtimeSet = await bundleRuntimeClassSetManager.sync(runtimeState.tailwindRuntime, snapshot, {
|
|
1687
1545
|
baseClassSet: baseRuntimeSet,
|
|
@@ -1690,15 +1548,14 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1690
1548
|
} catch (error) {
|
|
1691
1549
|
debug("webpack incremental runtime set sync failed, fallback to full collect: %O", error);
|
|
1692
1550
|
await bundleRuntimeClassSetManager.reset();
|
|
1693
|
-
runtimeSet = getRuntimeClassSetSync(runtimeState.tailwindRuntime);
|
|
1551
|
+
runtimeSet = require_pipeline_helpers.getRuntimeClassSetSync(runtimeState.tailwindRuntime);
|
|
1694
1552
|
}
|
|
1695
1553
|
releaseWebpackBundleSnapshotSources(snapshot);
|
|
1696
|
-
|
|
1697
|
-
webpackWatchRuntimeScanInitialized = true;
|
|
1554
|
+
require_hmr_timing.updateRuntimeCompilationBuildState(bundleBuildState, snapshot, /* @__PURE__ */ new Map(), { incremental: true });
|
|
1698
1555
|
} else {
|
|
1699
1556
|
if (forceRuntimeRefresh) {
|
|
1700
1557
|
await bundleRuntimeClassSetManager.reset();
|
|
1701
|
-
|
|
1558
|
+
require_hmr_timing.resetRuntimeCompilationBuildState(bundleBuildState);
|
|
1702
1559
|
}
|
|
1703
1560
|
runtimeSet = await require_context.ensureRuntimeClassSet(runtimeState, {
|
|
1704
1561
|
forceRefresh: forceRuntimeRefresh,
|
|
@@ -1709,11 +1566,12 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1709
1566
|
}
|
|
1710
1567
|
await refreshRuntimeMetadata(forceRuntimeRefresh);
|
|
1711
1568
|
consumeRuntimeRefreshRequirement();
|
|
1569
|
+
recordTimingDetail("runtime", runtimeStartedAt);
|
|
1712
1570
|
const webpackSourceCandidateSet = webpackSourceCandidates?.getSourceCandidatesForEntries(void 0);
|
|
1713
1571
|
const generatorRuntimeSet = new Set(runtimeSet);
|
|
1714
|
-
addRuntimeTransformCandidates(generatorRuntimeSet, webpackSourceCandidateSet);
|
|
1572
|
+
require_pipeline_helpers.addRuntimeTransformCandidates(generatorRuntimeSet, webpackSourceCandidateSet);
|
|
1715
1573
|
const transformRuntimeSet = new Set(runtimeSet);
|
|
1716
|
-
if (hasRuntimeTransformAssets) for (const [, originalSource] of groupedEntries.css) for (const candidate of collectGeneratedCssRuntimeCandidates(originalSource.source().toString())) transformRuntimeSet.add(candidate);
|
|
1574
|
+
if (hasRuntimeTransformAssets) for (const [, originalSource] of groupedEntries.css) for (const candidate of require_pipeline_helpers.collectGeneratedCssRuntimeCandidates(originalSource.source().toString())) transformRuntimeSet.add(candidate);
|
|
1717
1575
|
const transformedJsRuntimeCandidates = /* @__PURE__ */ new Set();
|
|
1718
1576
|
let currentJsRuntimeCandidates;
|
|
1719
1577
|
let currentJsRuntimeTokenSignature;
|
|
@@ -1722,7 +1580,7 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1722
1580
|
};
|
|
1723
1581
|
const getCurrentJsRuntimeCandidates = () => {
|
|
1724
1582
|
if (currentJsRuntimeCandidates) return currentJsRuntimeCandidates;
|
|
1725
|
-
currentJsRuntimeCandidates = collectWebpackJsRuntimeCandidatesFromAssets({
|
|
1583
|
+
currentJsRuntimeCandidates = require_pipeline_helpers.collectWebpackJsRuntimeCandidatesFromAssets({
|
|
1726
1584
|
escapeFragments,
|
|
1727
1585
|
getAssetSource: getWebpackAssetSource,
|
|
1728
1586
|
isWebGeneratorTarget,
|
|
@@ -1732,7 +1590,7 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1732
1590
|
};
|
|
1733
1591
|
const getCurrentJsRuntimeTokenSignature = () => {
|
|
1734
1592
|
if (currentJsRuntimeTokenSignature !== void 0) return currentJsRuntimeTokenSignature;
|
|
1735
|
-
currentJsRuntimeTokenSignature = collectWebpackJsRuntimeTokenSignature({
|
|
1593
|
+
currentJsRuntimeTokenSignature = require_pipeline_helpers.collectWebpackJsRuntimeTokenSignature({
|
|
1736
1594
|
getAssetSource: getWebpackAssetSource,
|
|
1737
1595
|
isWebGeneratorTarget,
|
|
1738
1596
|
jsAssets: jsAssets.values()
|
|
@@ -1742,8 +1600,8 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1742
1600
|
const rememberTransformedRuntimeCandidates = (source) => {
|
|
1743
1601
|
currentJsRuntimeCandidates = void 0;
|
|
1744
1602
|
currentJsRuntimeTokenSignature = void 0;
|
|
1745
|
-
const code = stringifyWebpackSourceLike(source);
|
|
1746
|
-
for (const candidate of
|
|
1603
|
+
const code = require_pipeline_helpers.stringifyWebpackSourceLike(source);
|
|
1604
|
+
for (const candidate of require_v4_generation_core.collectStrictEscapedRuntimeCandidates(code, _weapp_core_escape.MappingChars2String, escapeFragments)) if (require_pipeline_helpers.isRuntimeTransformCandidate(candidate)) transformedJsRuntimeCandidates.add(candidate);
|
|
1747
1605
|
};
|
|
1748
1606
|
const createRuntimeSetHash = (generatorRuntimeSet) => compilerOptions.cache.computeHash([
|
|
1749
1607
|
require_tailwindcss.getRuntimeClassSetSignature(runtimeState.tailwindRuntime),
|
|
@@ -1763,532 +1621,112 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
1763
1621
|
const defaultTemplateHandlerOptions = { runtimeSet: transformRuntimeSet };
|
|
1764
1622
|
debug("get runtimeSet, class count: %d, transform class count: %d", runtimeSet.size, transformRuntimeSet.size);
|
|
1765
1623
|
const tasks = [];
|
|
1766
|
-
const htmlTaskFactories = [];
|
|
1767
1624
|
const cssTaskFactories = [];
|
|
1768
|
-
const enqueueTask = async (factory, target) => {
|
|
1625
|
+
const enqueueTask = async (factory, target, phase) => {
|
|
1626
|
+
const timedFactory = async () => {
|
|
1627
|
+
const startedAt = performance.now();
|
|
1628
|
+
try {
|
|
1629
|
+
await factory();
|
|
1630
|
+
} finally {
|
|
1631
|
+
recordTimingDetail(phase, startedAt);
|
|
1632
|
+
}
|
|
1633
|
+
};
|
|
1769
1634
|
if (watchMode) {
|
|
1770
|
-
await
|
|
1635
|
+
await timedFactory();
|
|
1771
1636
|
return;
|
|
1772
1637
|
}
|
|
1773
|
-
target.push(
|
|
1638
|
+
target.push(timedFactory);
|
|
1774
1639
|
};
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1640
|
+
const { htmlTaskFactories, jsTaskFactories } = await enqueueWebpackHtmlAndJsTasks({
|
|
1641
|
+
ConcatSource,
|
|
1642
|
+
applyWebpackLinkedJsResults,
|
|
1643
|
+
assetHashByChunk,
|
|
1644
|
+
compilation,
|
|
1645
|
+
compilerOptions,
|
|
1646
|
+
debug,
|
|
1647
|
+
defaultTemplateHandlerOptions,
|
|
1648
|
+
enqueueTask,
|
|
1649
|
+
groupedEntries,
|
|
1650
|
+
isWebGeneratorTarget,
|
|
1651
|
+
jsAssets,
|
|
1652
|
+
moduleGraphOptions,
|
|
1653
|
+
outputDir,
|
|
1654
|
+
rememberProcessCacheKey,
|
|
1655
|
+
rememberTransformedRuntimeCandidates,
|
|
1656
|
+
runtimeState,
|
|
1657
|
+
transformRuntimeSet,
|
|
1658
|
+
updateAssetIfChanged,
|
|
1659
|
+
watchMode
|
|
1660
|
+
});
|
|
1661
|
+
const cssTaskContext = {
|
|
1662
|
+
ConcatSource,
|
|
1663
|
+
affectedCompilationScopes,
|
|
1664
|
+
assetHashByChunk,
|
|
1665
|
+
compilation,
|
|
1666
|
+
compilationChanges,
|
|
1667
|
+
compilerOptions,
|
|
1668
|
+
configuredCssEntryFiles,
|
|
1669
|
+
configuredMainCssEntryFiles,
|
|
1670
|
+
createRuntimeSetHash,
|
|
1671
|
+
cssSourceTraceSignature,
|
|
1672
|
+
cssSources,
|
|
1673
|
+
cssTaskFactories,
|
|
1674
|
+
debug,
|
|
1675
|
+
enqueueTask,
|
|
1676
|
+
finalizeCssAssetSource,
|
|
1677
|
+
finalizeTracedCss,
|
|
1678
|
+
generatedCssSources,
|
|
1679
|
+
generatorRuntimeSet,
|
|
1680
|
+
getCompilationDependencyRevision,
|
|
1681
|
+
getCssHandlerOptions,
|
|
1682
|
+
getCssUserHandlerOptions,
|
|
1683
|
+
getGeneratorRuntimeSet,
|
|
1684
|
+
hasConfiguredTailwindV4SourceRoots,
|
|
1685
|
+
isKnownWebpackProcessedCssAsset,
|
|
1686
|
+
isSameWebpackSourceScope,
|
|
1687
|
+
isWebGeneratorTarget,
|
|
1688
|
+
isWebpackProcessedCssAsset,
|
|
1689
|
+
processedCssAssetSkipDecisionCache,
|
|
1690
|
+
rememberProcessCacheKey,
|
|
1691
|
+
resolveWebpackCssSourceFile,
|
|
1692
|
+
runtimeAffectingSourceHash,
|
|
1693
|
+
runtimeState,
|
|
1694
|
+
transformRuntimeSet,
|
|
1695
|
+
updateAssetIfChanged,
|
|
1696
|
+
watchMode,
|
|
1697
|
+
webpackSourceCandidateSet,
|
|
1698
|
+
webpackSourceCandidateValueSignature,
|
|
1699
|
+
webpackSourceCandidates
|
|
1814
1700
|
};
|
|
1815
|
-
if (!isWebGeneratorTarget && Array.isArray(groupedEntries.js)) for (const [file] of groupedEntries.js) {
|
|
1816
|
-
const cacheKey = getCacheKey(file);
|
|
1817
|
-
const asset = compilation.getAsset(file);
|
|
1818
|
-
if (!asset) continue;
|
|
1819
|
-
const hashKey = `${file}:asset`;
|
|
1820
|
-
rememberProcessCacheKey(cacheKey, hashKey);
|
|
1821
|
-
const absoluteFile = require_source_candidate_scan_signature.toAbsoluteOutputPath(file, outputDir);
|
|
1822
|
-
const initialSource = asset.source.source();
|
|
1823
|
-
const initialRawSource = typeof initialSource === "string" ? initialSource : initialSource.toString();
|
|
1824
|
-
const chunkHash = assetHashByChunk.get(file);
|
|
1825
|
-
await enqueueJsTask(async () => {
|
|
1826
|
-
await require_hmr_timing.processCachedTask({
|
|
1827
|
-
cache: compilerOptions.cache,
|
|
1828
|
-
cacheKey,
|
|
1829
|
-
hashKey,
|
|
1830
|
-
rawSource: chunkHash === void 0 ? initialRawSource : void 0,
|
|
1831
|
-
hash: chunkHash,
|
|
1832
|
-
applyResult(source, { cacheHit }) {
|
|
1833
|
-
if (updateAssetIfChanged(file, source, {
|
|
1834
|
-
compare: !cacheHit,
|
|
1835
|
-
notifyUpdate: !cacheHit
|
|
1836
|
-
})) rememberTransformedRuntimeCandidates(source);
|
|
1837
|
-
},
|
|
1838
|
-
onCacheHit() {
|
|
1839
|
-
debug("js cache hit: %s", file);
|
|
1840
|
-
},
|
|
1841
|
-
transform: async () => {
|
|
1842
|
-
const currentSourceValue = compilation.getAsset(file)?.source.source();
|
|
1843
|
-
const currentSource = stringifyOptionalWebpackSourceValue(currentSourceValue);
|
|
1844
|
-
const handlerOptions = {
|
|
1845
|
-
tailwindcssMajorVersion: runtimeState.tailwindRuntime.majorVersion,
|
|
1846
|
-
generateMap: false,
|
|
1847
|
-
filename: absoluteFile,
|
|
1848
|
-
moduleGraph: moduleGraphOptions,
|
|
1849
|
-
babelParserOptions: { sourceFilename: absoluteFile }
|
|
1850
|
-
};
|
|
1851
|
-
if (require_context.shouldSkipJsTransform(currentSource, {
|
|
1852
|
-
...handlerOptions,
|
|
1853
|
-
classNameSet: transformRuntimeSet
|
|
1854
|
-
})) return { result: new ConcatSource(currentSource) };
|
|
1855
|
-
const { code, linked } = await compilerOptions.jsHandler(currentSource, transformRuntimeSet, handlerOptions);
|
|
1856
|
-
const source = new ConcatSource(code);
|
|
1857
|
-
debug("js handle: %s", file);
|
|
1858
|
-
applyWebpackLinkedJsResults({
|
|
1859
|
-
ConcatSource,
|
|
1860
|
-
compilation,
|
|
1861
|
-
compilerOptions,
|
|
1862
|
-
debug,
|
|
1863
|
-
jsAssets,
|
|
1864
|
-
linked
|
|
1865
|
-
});
|
|
1866
|
-
return { result: source };
|
|
1867
|
-
}
|
|
1868
|
-
});
|
|
1869
|
-
});
|
|
1870
|
-
}
|
|
1871
1701
|
for (const element of groupedEntries.css) {
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
const readRawSource = () => {
|
|
1875
|
-
rawSource ?? (rawSource = originalSource.source().toString());
|
|
1876
|
-
return rawSource;
|
|
1877
|
-
};
|
|
1878
|
-
const chunkHash = assetHashByChunk.get(file);
|
|
1879
|
-
const cssHandlerOptionsForProcessedAsset = getCssHandlerOptions(file, readRawSource());
|
|
1880
|
-
const processedCssAssetMetadata = { isMainCssChunk: cssHandlerOptionsForProcessedAsset.isMainChunk };
|
|
1881
|
-
const processedSourceFile = cssHandlerOptionsForProcessedAsset.sourceOptions?.sourceFile;
|
|
1882
|
-
const processedSourceCss = processedSourceFile ? cssSources.get(node_path.default.resolve(processedSourceFile))?.css : void 0;
|
|
1883
|
-
const shouldRegenerateProcessedTailwindV4SourceCss = processedSourceCss !== void 0 && (require_generator.hasTailwindSourceDirectives(processedSourceCss, { importFallback: true }) || processedSourceCss.includes("@config"));
|
|
1884
|
-
const processedCssAssetKnown = isKnownWebpackProcessedCssAsset?.(file, processedCssAssetMetadata) === true;
|
|
1885
|
-
const processedLoaderGeneratedCss = processedSourceFile ? generatedCssSources.get(node_path.default.resolve(processedSourceFile)) : void 0;
|
|
1886
|
-
const processedAssetSourceHash = watchMode && isWebGeneratorTarget && cssHandlerOptionsForProcessedAsset.isMainChunk ? compilerOptions.cache.computeHash(readRawSource()) : chunkHash === void 0 ? processedCssAssetKnown ? "webpack-css-asset:known" : compilerOptions.cache.computeHash(readRawSource()) : "webpack-css-asset:chunk";
|
|
1887
|
-
const processedCssDecisionCacheKey = `${file}:${createRuntimeAwareCssHash(chunkHash, processedAssetSourceHash, `${createRuntimeSetHash(getGeneratorRuntimeSet())}:${runtimeAffectingSourceHash}:${webpackSourceCandidates?.signatureHash ?? "source-candidates:0"}:${webpackSourceCandidateValueSignature}:${cssSourceTraceSignature}`)}`;
|
|
1888
|
-
let currentProcessedRawSource;
|
|
1889
|
-
let hasGeneratedCssMarker = false;
|
|
1890
|
-
let hasTailwindGeneratedAssetCss = false;
|
|
1891
|
-
const readCurrentProcessedRawSource = () => {
|
|
1892
|
-
currentProcessedRawSource ?? (currentProcessedRawSource = readRawSource());
|
|
1893
|
-
return currentProcessedRawSource;
|
|
1894
|
-
};
|
|
1895
|
-
const cachedSkipProcessedCssAsset = processedCssAssetKnown ? processedCssAssetSkipDecisionCache.get(processedCssDecisionCacheKey) : void 0;
|
|
1896
|
-
const shouldRegenerateStaleProcessedWebCssAsset = isWebGeneratorTarget && !processedCssAssetKnown && cachedSkipProcessedCssAsset === void 0 && cssHandlerOptionsForProcessedAsset.isMainChunk && webpackSourceCandidateSet !== void 0 && (hasMissingRuntimeCandidates(processedLoaderGeneratedCss?.classSet, webpackSourceCandidateSet) || hasMissingRuntimeCandidates(resolveGeneratedCssRuntimeCandidates(readCurrentProcessedRawSource(), processedLoaderGeneratedCss?.classSet), webpackSourceCandidateSet));
|
|
1897
|
-
if (cachedSkipProcessedCssAsset !== void 0) {
|
|
1898
|
-
hasGeneratedCssMarker = cachedSkipProcessedCssAsset && cssHandlerOptionsForProcessedAsset.isMainChunk;
|
|
1899
|
-
hasTailwindGeneratedAssetCss = hasGeneratedCssMarker;
|
|
1900
|
-
} else {
|
|
1901
|
-
const source = readCurrentProcessedRawSource();
|
|
1902
|
-
hasGeneratedCssMarker = require_hmr_timing.hasBundlerGeneratedCssMarker(source);
|
|
1903
|
-
hasTailwindGeneratedAssetCss = require_generator.hasTailwindGeneratedCss(source) || require_generator.hasTailwindGeneratedCssMarkers(source);
|
|
1904
|
-
}
|
|
1905
|
-
const hasProcessedAssetTailwindDirectives = () => {
|
|
1906
|
-
const source = readCurrentProcessedRawSource();
|
|
1907
|
-
return require_generator.hasTailwindRootDirectives(source, { importFallback: true }) || require_generator.hasTailwindSourceDirectives(source, { importFallback: true }) || require_generator.hasTailwindApplyDirective(source);
|
|
1908
|
-
};
|
|
1909
|
-
const shouldForceConfiguredMainCssGeneration = cssHandlerOptionsForProcessedAsset.isMainChunk && hasConfiguredTailwindV4SourceRoots() && !hasGeneratedCssMarker && (configuredMainCssEntryFiles.length > 0 || shouldRegenerateProcessedTailwindV4SourceCss || hasProcessedAssetTailwindDirectives());
|
|
1910
|
-
const hasProcessedMainAssetUserCss = cachedSkipProcessedCssAsset === void 0 && cssHandlerOptionsForProcessedAsset.isMainChunk && (hasGeneratedCssMarker || hasTailwindGeneratedAssetCss) && createWebpackUserCssSourceAppend([...cssSources.entries()].map(([sourceFile, source]) => ({
|
|
1911
|
-
...source,
|
|
1912
|
-
file: sourceFile
|
|
1913
|
-
})), readCurrentProcessedRawSource()) !== void 0;
|
|
1914
|
-
const hasProcessedLoaderGeneratedUserCss = cachedSkipProcessedCssAsset === void 0 && processedLoaderGeneratedCss !== void 0 && hasAdditionalWebpackAssetUserCssMarkers(processedLoaderGeneratedCss.css, readCurrentProcessedRawSource());
|
|
1915
|
-
const shouldFinalizeProcessedWebCssAsset = isWebGeneratorTarget && !shouldForceConfiguredMainCssGeneration && !shouldRegenerateProcessedTailwindV4SourceCss && require_generator.hasTailwindSourceDirectives(readCurrentProcessedRawSource(), { importFallback: true });
|
|
1916
|
-
const shouldPreserveFinalWebCssAsset = isWebGeneratorTarget && processedSourceFile === void 0 && !shouldForceConfiguredMainCssGeneration && (hasGeneratedCssMarker || hasTailwindGeneratedAssetCss);
|
|
1917
|
-
const shouldSkipKnownProcessedCssAsset = !shouldForceConfiguredMainCssGeneration && !shouldRegenerateProcessedTailwindV4SourceCss && !shouldRegenerateStaleProcessedWebCssAsset && (processedCssAssetKnown || isWebpackProcessedCssAsset?.(file, readCurrentProcessedRawSource(), processedCssAssetMetadata)) && !hasProcessedMainAssetUserCss && !hasProcessedLoaderGeneratedUserCss && (!cssHandlerOptionsForProcessedAsset.isMainChunk || hasGeneratedCssMarker || hasTailwindGeneratedAssetCss);
|
|
1918
|
-
const shouldSkipProcessedCssAsset = cachedSkipProcessedCssAsset ?? (shouldFinalizeProcessedWebCssAsset || shouldPreserveFinalWebCssAsset || shouldSkipKnownProcessedCssAsset);
|
|
1919
|
-
if (processedCssAssetKnown && cachedSkipProcessedCssAsset === void 0 && !shouldFinalizeProcessedWebCssAsset && !shouldPreserveFinalWebCssAsset) processedCssAssetSkipDecisionCache.set(processedCssDecisionCacheKey, shouldSkipProcessedCssAsset === true);
|
|
1920
|
-
if (shouldSkipProcessedCssAsset) {
|
|
1921
|
-
const hashKey = `${file}:asset`;
|
|
1922
|
-
const sourceHash = processedAssetSourceHash;
|
|
1923
|
-
rememberProcessCacheKey(file, hashKey);
|
|
1924
|
-
await enqueueTask(async () => {
|
|
1925
|
-
await require_hmr_timing.processCachedTask({
|
|
1926
|
-
cache: compilerOptions.cache,
|
|
1927
|
-
cacheKey: file,
|
|
1928
|
-
hashKey,
|
|
1929
|
-
rawSource: chunkHash === void 0 && !processedCssAssetKnown ? readCurrentProcessedRawSource() : void 0,
|
|
1930
|
-
hash: createRuntimeAwareCssHash(chunkHash, sourceHash, `${createRuntimeSetHash(getGeneratorRuntimeSet())}:${runtimeAffectingSourceHash}:${webpackSourceCandidates?.signatureHash ?? "source-candidates:0"}:${webpackSourceCandidateValueSignature}:${cssSourceTraceSignature}`),
|
|
1931
|
-
applyResult(source, { cacheHit }) {
|
|
1932
|
-
updateAssetIfChanged(file, source, {
|
|
1933
|
-
compare: !cacheHit,
|
|
1934
|
-
notifyUpdate: !cacheHit
|
|
1935
|
-
});
|
|
1936
|
-
},
|
|
1937
|
-
onCacheHit() {
|
|
1938
|
-
debug("css webpack-loader-pipeline cache hit: %s", file);
|
|
1939
|
-
},
|
|
1940
|
-
transform: async () => {
|
|
1941
|
-
const source = readCurrentProcessedRawSource();
|
|
1942
|
-
const missingProcessedLoaderGeneratedCss = isWebGeneratorTarget && processedLoaderGeneratedCss ? (0, _weapp_tailwindcss_postcss.filterExistingCssRules)(source, require_hmr_timing.stripBundlerGeneratedCssMarkers(processedLoaderGeneratedCss.css)) : "";
|
|
1943
|
-
const sourceWithLoaderGeneratedCss = missingProcessedLoaderGeneratedCss.trim().length === 0 ? source : createWebpackGeneratorUserCssSourceAppend({
|
|
1944
|
-
css: source,
|
|
1945
|
-
processed: true
|
|
1946
|
-
}, {
|
|
1947
|
-
css: missingProcessedLoaderGeneratedCss,
|
|
1948
|
-
processed: true
|
|
1949
|
-
}).css;
|
|
1950
|
-
const processedBareSelectorSourceCss = processedSourceCss ?? (hasTailwindGeneratedAssetCss ? removeWebpackTailwindGeneratedAssetCss(sourceWithLoaderGeneratedCss) : void 0);
|
|
1951
|
-
const handledCss = hasTailwindGeneratedAssetCss && (!hasGeneratedCssMarker || !isWebGeneratorTarget && hasDeferredWebpackGeneratedCss(source, [...generatedCssSources.values()].map((item) => item.classSet))) ? isWebGeneratorTarget ? sourceWithLoaderGeneratedCss : (await compilerOptions.styleHandler(sourceWithLoaderGeneratedCss, cssHandlerOptionsForProcessedAsset)).css : sourceWithLoaderGeneratedCss;
|
|
1952
|
-
const nextCss = stripTrailingLineWhitespace(finalizeCssAssetSource(handledCss, {
|
|
1953
|
-
cssPreflight: cssHandlerOptionsForProcessedAsset.isMainChunk,
|
|
1954
|
-
generatedCss: hasGeneratedCssMarker || hasTailwindGeneratedAssetCss
|
|
1955
|
-
}));
|
|
1956
|
-
const processedSourceBareUserCss = isWebGeneratorTarget || processedBareSelectorSourceCss === void 0 ? void 0 : createWebpackGeneratorUserCssSourceAppend({
|
|
1957
|
-
css: collectWebpackBareSelectorUserCss(processedBareSelectorSourceCss),
|
|
1958
|
-
processed: false
|
|
1959
|
-
});
|
|
1960
|
-
const finalizedProcessedSourceBareUserCss = processedSourceBareUserCss === void 0 ? "" : finalizeCssAssetSource(processedSourceBareUserCss.css, {
|
|
1961
|
-
cssPreflight: false,
|
|
1962
|
-
generatedCss: false
|
|
1963
|
-
});
|
|
1964
|
-
const missingProcessedSourceBareUserCss = finalizedProcessedSourceBareUserCss.trim().length === 0 ? "" : (0, _weapp_tailwindcss_postcss.filterExistingCssRules)(nextCss, finalizedProcessedSourceBareUserCss);
|
|
1965
|
-
const css = missingProcessedSourceBareUserCss.trim().length === 0 ? nextCss : createWebpackGeneratorUserCssSourceAppend({
|
|
1966
|
-
css: nextCss,
|
|
1967
|
-
processed: true
|
|
1968
|
-
}, {
|
|
1969
|
-
css: missingProcessedSourceBareUserCss,
|
|
1970
|
-
processed: true
|
|
1971
|
-
}).css;
|
|
1972
|
-
debug("css skip webpack-loader-pipeline asset: %s", file);
|
|
1973
|
-
return { result: new ConcatSource(finalizeTracedCss(css, cssHandlerOptionsForProcessedAsset, { finalized: true })) };
|
|
1974
|
-
}
|
|
1975
|
-
});
|
|
1976
|
-
}, cssTaskFactories);
|
|
1977
|
-
continue;
|
|
1978
|
-
}
|
|
1979
|
-
const currentRawSource = readRawSource();
|
|
1980
|
-
if (isWebpackCssLoaderRuntimeSource(currentRawSource)) {
|
|
1981
|
-
const hashKey = `${file}:asset`;
|
|
1982
|
-
rememberProcessCacheKey(file, hashKey);
|
|
1983
|
-
await enqueueTask(async () => {
|
|
1984
|
-
await require_hmr_timing.processCachedTask({
|
|
1985
|
-
cache: compilerOptions.cache,
|
|
1986
|
-
cacheKey: file,
|
|
1987
|
-
hashKey,
|
|
1988
|
-
rawSource: currentRawSource,
|
|
1989
|
-
hash: createRuntimeAwareCssHash(chunkHash, compilerOptions.cache.computeHash(currentRawSource), "webpack-css-loader-runtime"),
|
|
1990
|
-
applyResult(source, { cacheHit }) {
|
|
1991
|
-
updateAssetIfChanged(file, source, {
|
|
1992
|
-
compare: !cacheHit,
|
|
1993
|
-
notifyUpdate: !cacheHit
|
|
1994
|
-
});
|
|
1995
|
-
},
|
|
1996
|
-
onCacheHit() {
|
|
1997
|
-
debug("css-loader runtime cache hit: %s", file);
|
|
1998
|
-
},
|
|
1999
|
-
transform: async () => ({ result: new ConcatSource(currentRawSource) })
|
|
2000
|
-
});
|
|
2001
|
-
}, cssTaskFactories);
|
|
2002
|
-
continue;
|
|
2003
|
-
}
|
|
2004
|
-
const cacheKey = file;
|
|
2005
|
-
const hashKey = `${file}:asset`;
|
|
2006
|
-
rememberProcessCacheKey(cacheKey, hashKey);
|
|
2007
|
-
const cssHandlerOptionsForHash = getCssHandlerOptions(file, currentRawSource);
|
|
2008
|
-
const cssChunkHash = watchMode && cssHandlerOptionsForHash.isMainChunk ? void 0 : chunkHash;
|
|
2009
|
-
const cssSourceHash = (() => {
|
|
2010
|
-
const sourceFile = resolveWebpackCssSourceFile(file, currentRawSource);
|
|
2011
|
-
const sourceCss = sourceFile ? cssSources.get(sourceFile)?.css : void 0;
|
|
2012
|
-
const generatorSourceCss = removeWebpackGeneratorNonTailwindImports(sourceCss);
|
|
2013
|
-
if (sourceCss === void 0) return sourceFile === void 0 ? "webpack-css-source:0" : `webpack-css-source:0:${sourceFile}`;
|
|
2014
|
-
return `webpack-css-source:1:${compilerOptions.cache.computeHash(sourceCss)}:${generatorSourceCss === sourceCss || generatorSourceCss === void 0 ? "generator-source:0" : compilerOptions.cache.computeHash(generatorSourceCss)}`;
|
|
2015
|
-
})();
|
|
2016
|
-
const runtimeAwareHash = createRuntimeAwareCssHash(cssChunkHash, compilerOptions.cache.computeHash(currentRawSource), `${createRuntimeSetHash(getGeneratorRuntimeSet())}:${runtimeAffectingSourceHash}:${webpackSourceCandidates?.signatureHash ?? "source-candidates:0"}:${webpackSourceCandidateValueSignature}:${cssSourceTraceSignature}:${cssSourceHash}`);
|
|
2017
|
-
await enqueueTask(async () => {
|
|
2018
|
-
await require_hmr_timing.processCachedTask({
|
|
2019
|
-
cache: compilerOptions.cache,
|
|
2020
|
-
cacheKey,
|
|
2021
|
-
hashKey,
|
|
2022
|
-
rawSource: currentRawSource,
|
|
2023
|
-
hash: runtimeAwareHash,
|
|
2024
|
-
applyResult(source, { cacheHit }) {
|
|
2025
|
-
updateAssetIfChanged(file, source, {
|
|
2026
|
-
compare: !cacheHit,
|
|
2027
|
-
notifyUpdate: !cacheHit
|
|
2028
|
-
});
|
|
2029
|
-
},
|
|
2030
|
-
onCacheHit() {
|
|
2031
|
-
debug("css cache hit: %s", file);
|
|
2032
|
-
},
|
|
2033
|
-
transform: async () => {
|
|
2034
|
-
await runtimeState.readyPromise;
|
|
2035
|
-
const cssHandlerOptions = getCssHandlerOptions(file, currentRawSource);
|
|
2036
|
-
const generatorRawSource = resolveWebpackGeneratorRawSource(currentRawSource, cssHandlerOptions);
|
|
2037
|
-
if (isWebpackCssLoaderRuntimeSource(generatorRawSource)) return { result: new ConcatSource(currentRawSource) };
|
|
2038
|
-
const sourceFile = cssHandlerOptions.sourceOptions?.sourceFile;
|
|
2039
|
-
const sourceCss = sourceFile ? cssSources.get(node_path.default.resolve(sourceFile))?.css : void 0;
|
|
2040
|
-
const isConfiguredCssSource = sourceFile !== void 0 && configuredCssEntryFiles.some((entry) => node_path.default.resolve(entry) === node_path.default.resolve(sourceFile));
|
|
2041
|
-
const isConfiguredMainCssSource = sourceFile !== void 0 && configuredMainCssEntryFiles.some((entry) => node_path.default.resolve(entry) === node_path.default.resolve(sourceFile));
|
|
2042
|
-
const sourceCssHasTailwindRoot = sourceCss !== void 0 && require_generator.hasTailwindRootDirectives(sourceCss, { importFallback: true });
|
|
2043
|
-
const shouldPreserveExistingPreflight = cssHandlerOptions.isMainChunk || !isConfiguredMainCssSource && (isConfiguredCssSource || sourceCssHasTailwindRoot);
|
|
2044
|
-
const loaderGeneratedCss = sourceFile ? generatedCssSources.get(node_path.default.resolve(sourceFile)) : void 0;
|
|
2045
|
-
const shouldRegenerateExplicitTailwindV4CssSource = sourceCss !== void 0 && (require_generator.hasTailwindSourceDirectives(sourceCss, { importFallback: true }) || sourceCss.includes("@config"));
|
|
2046
|
-
const explicitTailwindV4SourceCandidates = shouldRegenerateExplicitTailwindV4CssSource && sourceCss && sourceFile && webpackSourceCandidates?.getSourceCandidatesForEntries ? await require_tailwindcss.resolveTailwindV4EntriesFromCssCached(sourceCss, node_path.default.dirname(sourceFile)).then((resolved) => resolved?.entries ? webpackSourceCandidates.getSourceCandidatesForEntries(resolved.entries) : void 0) : void 0;
|
|
2047
|
-
if (loaderGeneratedCss && shouldConsumeWebpackLoaderGeneratedCss({
|
|
2048
|
-
allowMarkerlessRegistryMatch: configuredCssEntryFiles.length === 1,
|
|
2049
|
-
hasBundlerGeneratedCssMarker: require_hmr_timing.hasBundlerGeneratedCssMarker(currentRawSource),
|
|
2050
|
-
loaderGeneratedClassSet: loaderGeneratedCss.classSet,
|
|
2051
|
-
sourceCandidates: explicitTailwindV4SourceCandidates,
|
|
2052
|
-
shouldRegenerateExplicitTailwindV4CssSource,
|
|
2053
|
-
watchMode
|
|
2054
|
-
})) {
|
|
2055
|
-
for (const className of loaderGeneratedCss.classSet) {
|
|
2056
|
-
generatorRuntimeSet.add(className);
|
|
2057
|
-
transformRuntimeSet.add(className);
|
|
2058
|
-
}
|
|
2059
|
-
for (const dependency of loaderGeneratedCss.dependencies) compilation.fileDependencies?.add?.(dependency);
|
|
2060
|
-
const currentRawSourceWithoutBundlerMarkers = require_hmr_timing.stripBundlerGeneratedCssMarkers(currentRawSource);
|
|
2061
|
-
const currentAssetHasProcessedUrl = hasProcessedCssAssetUrl(currentRawSourceWithoutBundlerMarkers) && currentRawSourceWithoutBundlerMarkers !== loaderGeneratedCss.css;
|
|
2062
|
-
const currentAssetUserCss = currentAssetHasProcessedUrl ? currentRawSourceWithoutBundlerMarkers : shouldUseWebpackAssetAsGeneratorUserCss(currentRawSourceWithoutBundlerMarkers, loaderGeneratedCss.css, { processed: true }) ? require_hmr_timing.removeGeneratedSelectorCompatCss(currentRawSourceWithoutBundlerMarkers, loaderGeneratedCss.css) : void 0;
|
|
2063
|
-
const loaderGeneratedCssWithoutMarkers = require_hmr_timing.stripBundlerGeneratedCssMarkers(loaderGeneratedCss.css);
|
|
2064
|
-
const currentAssetUserCssWithoutMarkers = currentAssetUserCss === void 0 ? "" : require_hmr_timing.stripBundlerGeneratedCssMarkers(currentAssetUserCss);
|
|
2065
|
-
const currentAssetMissingUserCss = !(currentAssetUserCssWithoutMarkers.trim().length > 0 && !require_generator.isCommentOnlyCss(currentAssetUserCssWithoutMarkers)) ? "" : (0, _weapp_tailwindcss_postcss.filterExistingCssRules)(currentAssetUserCssWithoutMarkers, loaderGeneratedCssWithoutMarkers);
|
|
2066
|
-
if (isConfiguredMainCssSource && !cssHandlerOptions.isMainChunk) {
|
|
2067
|
-
debug("css skip duplicate webpack loader main generation: %s <- %s", file, sourceFile);
|
|
2068
|
-
const userCss = currentAssetMissingUserCss.trim().length === 0 || require_generator.isCommentOnlyCss(currentAssetMissingUserCss) ? "" : finalizeCssAssetSource(currentAssetMissingUserCss, {
|
|
2069
|
-
cssPreflight: false,
|
|
2070
|
-
generatedCss: false
|
|
2071
|
-
});
|
|
2072
|
-
return { result: new ConcatSource(finalizeTracedCss(userCss, cssHandlerOptions)) };
|
|
2073
|
-
}
|
|
2074
|
-
const mergedLoaderCss = currentAssetUserCss === void 0 ? loaderGeneratedCss.css : createWebpackGeneratorUserCssSourceAppend({
|
|
2075
|
-
css: currentAssetUserCss === void 0 ? loaderGeneratedCss.css : currentAssetHasProcessedUrl ? require_hmr_timing.removeGeneratedSelectorCompatCss(loaderGeneratedCss.css, currentAssetUserCss) : (0, _weapp_tailwindcss_postcss.filterExistingCssRules)(currentAssetUserCss, loaderGeneratedCss.css),
|
|
2076
|
-
processed: true
|
|
2077
|
-
}, currentAssetUserCss === void 0 ? void 0 : {
|
|
2078
|
-
css: currentAssetUserCss,
|
|
2079
|
-
processed: true
|
|
2080
|
-
}).css;
|
|
2081
|
-
const handledLoaderCss = isWebGeneratorTarget ? mergedLoaderCss : (await compilerOptions.styleHandler(mergedLoaderCss, cssHandlerOptions)).css;
|
|
2082
|
-
const finalizedLoaderCss = finalizeCssAssetSource(handledLoaderCss, {
|
|
2083
|
-
cssPreflight: cssHandlerOptions.isMainChunk,
|
|
2084
|
-
generatedCss: true,
|
|
2085
|
-
preserveExistingPreflight: shouldPreserveExistingPreflight
|
|
2086
|
-
});
|
|
2087
|
-
const loaderSourceBareUserCss = isWebGeneratorTarget ? void 0 : createWebpackGeneratorUserCssSourceAppend(...[currentAssetUserCss === void 0 ? void 0 : {
|
|
2088
|
-
css: currentAssetUserCss,
|
|
2089
|
-
processed: true
|
|
2090
|
-
}, sourceCss === void 0 ? void 0 : {
|
|
2091
|
-
css: sourceCss,
|
|
2092
|
-
processed: false
|
|
2093
|
-
}].map((source) => {
|
|
2094
|
-
if (source === void 0) return;
|
|
2095
|
-
return {
|
|
2096
|
-
css: collectWebpackBareSelectorUserCss(source.css),
|
|
2097
|
-
processed: source.processed
|
|
2098
|
-
};
|
|
2099
|
-
}));
|
|
2100
|
-
const handledLoaderSourceBareUserCss = loaderSourceBareUserCss === void 0 ? "" : loaderSourceBareUserCss.processed ? loaderSourceBareUserCss.css : (await compilerOptions.styleHandler(loaderSourceBareUserCss.css, cssHandlerOptions)).css;
|
|
2101
|
-
const finalizedLoaderSourceBareUserCss = handledLoaderSourceBareUserCss.trim().length === 0 ? "" : finalizeCssAssetSource(handledLoaderSourceBareUserCss, {
|
|
2102
|
-
cssPreflight: false,
|
|
2103
|
-
generatedCss: false
|
|
2104
|
-
});
|
|
2105
|
-
const missingLoaderSourceBareUserCss = finalizedLoaderSourceBareUserCss.trim().length === 0 ? "" : (0, _weapp_tailwindcss_postcss.filterExistingCssRules)(finalizedLoaderCss, finalizedLoaderSourceBareUserCss);
|
|
2106
|
-
const css = finalizeTracedCss(missingLoaderSourceBareUserCss.trim().length === 0 ? finalizedLoaderCss : createWebpackGeneratorUserCssSourceAppend({
|
|
2107
|
-
css: finalizedLoaderCss,
|
|
2108
|
-
processed: true
|
|
2109
|
-
}, {
|
|
2110
|
-
css: missingLoaderSourceBareUserCss,
|
|
2111
|
-
processed: true
|
|
2112
|
-
}).css, cssHandlerOptions, { finalized: true });
|
|
2113
|
-
debug("css consume webpack loader generation: %s <- %s", file, sourceFile);
|
|
2114
|
-
return { result: new ConcatSource(css) };
|
|
2115
|
-
}
|
|
2116
|
-
const sourceCssProcessed = sourceFile ? cssSources.get(node_path.default.resolve(sourceFile))?.processed === true : false;
|
|
2117
|
-
const registeredUserRawSource = createWebpackUserCssSourceAppend([...cssSources.entries()].map(([registeredSourceFile, source]) => ({
|
|
2118
|
-
...source,
|
|
2119
|
-
file: registeredSourceFile
|
|
2120
|
-
})), generatorRawSource, sourceFile, (registeredSourceFile) => isSameWebpackSourceScope(file, registeredSourceFile, sourceFile));
|
|
2121
|
-
const currentAssetLooksGenerated = require_generator.hasTailwindGeneratedCss(currentRawSource) || require_generator.hasTailwindGeneratedCssMarkers(currentRawSource);
|
|
2122
|
-
const currentAssetHasBundlerGeneratedMarker = require_hmr_timing.hasBundlerGeneratedCssMarker(currentRawSource);
|
|
2123
|
-
const currentAssetUserCssSource = currentAssetLooksGenerated ? removeWebpackTailwindGeneratedAssetCss(currentRawSource) : currentRawSource;
|
|
2124
|
-
if (sourceFile === void 0 && currentAssetHasBundlerGeneratedMarker && (currentAssetUserCssSource.trim().length === 0 || require_generator.isCommentOnlyCss(currentAssetUserCssSource))) return { result: new ConcatSource(finalizeTracedCss("", cssHandlerOptions)) };
|
|
2125
|
-
const currentAssetHasAdditionalUserCss = currentAssetLooksGenerated && (hasAdditionalWebpackAssetUserCssMarkers(currentAssetUserCssSource, generatorRawSource) || currentAssetUserCssSource.trim().length > 0);
|
|
2126
|
-
const shouldPreserveGeneratedWebAssetUserCss = isWebGeneratorTarget && currentAssetLooksGenerated && !currentAssetHasBundlerGeneratedMarker && !currentAssetHasAdditionalUserCss;
|
|
2127
|
-
const hasExplicitSourceCssForCurrentAsset = sourceCss !== void 0 && (require_generator.hasTailwindRootDirectives(sourceCss, { importFallback: true }) || require_generator.hasTailwindSourceDirectives(sourceCss, { importFallback: true }) || require_generator.hasTailwindApplyDirective(sourceCss));
|
|
2128
|
-
const currentAssetHasUserCss = (sourceCssProcessed || hasExplicitSourceCssForCurrentAsset) && currentAssetLooksGenerated && !shouldPreserveGeneratedWebAssetUserCss ? currentAssetHasAdditionalUserCss : shouldUseWebpackAssetAsGeneratorUserCss(currentAssetUserCssSource, generatorRawSource, { processed: sourceCssProcessed || shouldPreserveGeneratedWebAssetUserCss });
|
|
2129
|
-
const userRawSource = createWebpackGeneratorUserCssSourceAppend(createWebpackCurrentAssetUserRawSource({
|
|
2130
|
-
currentAssetHasUserCss,
|
|
2131
|
-
currentAssetLooksGenerated,
|
|
2132
|
-
currentAssetUserCssSource,
|
|
2133
|
-
shouldAppendCurrentAssetUserCss: shouldAppendCurrentWebpackAssetUserCss({
|
|
2134
|
-
currentAssetHasBundlerGeneratedMarker,
|
|
2135
|
-
currentAssetHasUserCss,
|
|
2136
|
-
currentAssetLooksGenerated,
|
|
2137
|
-
registeredUserRawSource,
|
|
2138
|
-
shouldPreserveGeneratedWebAssetUserCss,
|
|
2139
|
-
sourceCssProcessed
|
|
2140
|
-
}),
|
|
2141
|
-
sourceCssProcessed
|
|
2142
|
-
}), registeredUserRawSource);
|
|
2143
|
-
if ((0, _weapp_tailwindcss_postcss.isPureLocalCssImportWrapper)(currentRawSource)) return { result: new ConcatSource(require_generator.removeTailwindSourceDirectives(require_hmr_timing.stripBundlerGeneratedCssMarkers(currentRawSource), { importFallback: true })) };
|
|
2144
|
-
const fallbackGeneratorRuntimeSet = getGeneratorRuntimeSet();
|
|
2145
|
-
const hasExplicitTailwindV4SourceCss = sourceCss !== void 0 && (require_generator.hasTailwindSourceDirectives(sourceCss, { importFallback: true }) || sourceCss.includes("@config"));
|
|
2146
|
-
const currentAssetHasTailwindDirectives = require_generator.hasTailwindRootDirectives(generatorRawSource, { importFallback: true }) || require_generator.hasTailwindSourceDirectives(generatorRawSource, { importFallback: true }) || require_generator.hasTailwindApplyDirective(generatorRawSource);
|
|
2147
|
-
const shouldForceTailwindV4Generation = hasConfiguredTailwindV4SourceRoots() && (configuredMainCssEntryFiles.length > 0 && sourceFile !== void 0 || currentAssetHasTailwindDirectives || hasExplicitTailwindV4SourceCss);
|
|
2148
|
-
const shouldSkipUnmatchedMainCssGeneration = !isWebGeneratorTarget && cssHandlerOptions.isMainChunk && sourceFile === void 0 && configuredMainCssEntryFiles.length > 0 && !currentAssetHasTailwindDirectives;
|
|
2149
|
-
const shouldSkipPlainNonMainCssGeneration = !cssHandlerOptions.isMainChunk && sourceCss !== void 0 && !hasExplicitSourceCssForCurrentAsset && !hasExplicitTailwindV4SourceCss && !currentAssetHasTailwindDirectives;
|
|
2150
|
-
const shouldMergeFallbackGeneratorRuntime = cssHandlerOptions.isMainChunk || currentAssetHasTailwindDirectives || hasExplicitSourceCssForCurrentAsset;
|
|
2151
|
-
const scopedFallbackGeneratorRuntimeSet = hasExplicitTailwindV4SourceCss || !shouldMergeFallbackGeneratorRuntime ? /* @__PURE__ */ new Set() : fallbackGeneratorRuntimeSet;
|
|
2152
|
-
const resolvedScopedGeneratorRuntimeSet = await require_source_candidate_scan_signature.createScopedGeneratorRuntime({
|
|
2153
|
-
cssHandlerOptions,
|
|
2154
|
-
fallbackRuntime: scopedFallbackGeneratorRuntimeSet,
|
|
2155
|
-
getSourceCandidatesForEntries: webpackSourceCandidates?.getSourceCandidatesForEntries,
|
|
2156
|
-
majorVersion: runtimeState.tailwindRuntime.majorVersion,
|
|
2157
|
-
outputFile: file,
|
|
2158
|
-
rawSource: sourceFile ? cssSources.get(node_path.default.resolve(sourceFile))?.css ?? generatorRawSource : generatorRawSource,
|
|
2159
|
-
shouldExcludeSubpackageSourceCandidates: () => false,
|
|
2160
|
-
sourceFile: sourceFile ?? file,
|
|
2161
|
-
scopedSourceCandidateGetter: webpackSourceCandidates?.getSourceCandidatesForEntries
|
|
2162
|
-
});
|
|
2163
|
-
const scopedGeneratorRuntimeSet = !hasExplicitTailwindV4SourceCss && resolvedScopedGeneratorRuntimeSet !== scopedFallbackGeneratorRuntimeSet && shouldMergeFallbackGeneratorRuntime ? /* @__PURE__ */ new Set([...fallbackGeneratorRuntimeSet, ...resolvedScopedGeneratorRuntimeSet]) : resolvedScopedGeneratorRuntimeSet;
|
|
2164
|
-
const generatorCssSources = normalizeWebpackGeneratorCssSources(cssHandlerOptions.sourceOptions?.cssSources);
|
|
2165
|
-
const scopedGeneratorCompilerOptions = scopeWebpackGeneratorOptionsToCssSource(compilerOptions, sourceFile, { disableUnmatchedCssEntries: !isWebGeneratorTarget && cssHandlerOptions.isMainChunk });
|
|
2166
|
-
const generatorCssHandlerOptions = generatorCssSources === void 0 ? cssHandlerOptions : {
|
|
2167
|
-
...cssHandlerOptions,
|
|
2168
|
-
sourceOptions: {
|
|
2169
|
-
...cssHandlerOptions.sourceOptions,
|
|
2170
|
-
cssSources: generatorCssSources
|
|
2171
|
-
}
|
|
2172
|
-
};
|
|
2173
|
-
const generatorOptions = {
|
|
2174
|
-
opts: scopedGeneratorCompilerOptions,
|
|
2175
|
-
runtimeState,
|
|
2176
|
-
runtime: scopedGeneratorRuntimeSet,
|
|
2177
|
-
rawSource: generatorRawSource,
|
|
2178
|
-
forceGenerator: shouldForceTailwindV4Generation,
|
|
2179
|
-
...hasUsableWebpackGeneratorCssSources(generatorCssSources) ? { cssSources: generatorCssSources } : {},
|
|
2180
|
-
...userRawSource === void 0 ? {} : { userRawSource: userRawSource.css },
|
|
2181
|
-
...userRawSource?.processed === true ? { userRawSourceProcessed: true } : {},
|
|
2182
|
-
file,
|
|
2183
|
-
cssHandlerOptions: generatorCssHandlerOptions,
|
|
2184
|
-
cssUserHandlerOptions: getCssUserHandlerOptions(file),
|
|
2185
|
-
getSourceCandidatesForEntries: webpackSourceCandidates?.getSourceCandidatesForEntries,
|
|
2186
|
-
sourceCandidates: scopedGeneratorRuntimeSet,
|
|
2187
|
-
restoreLocalCssImports: false,
|
|
2188
|
-
styleHandler: compilerOptions.styleHandler,
|
|
2189
|
-
debug
|
|
2190
|
-
};
|
|
2191
|
-
let generated;
|
|
2192
|
-
if (!shouldSkipUnmatchedMainCssGeneration && !shouldSkipPlainNonMainCssGeneration) try {
|
|
2193
|
-
generated = await require_source_candidate_scan_signature.generateTailwindV4Css({
|
|
2194
|
-
...generatorOptions,
|
|
2195
|
-
outputFile: file
|
|
2196
|
-
});
|
|
2197
|
-
} catch (error) {
|
|
2198
|
-
if (!shouldFallbackToWebpackUserCssOnGeneratorError({
|
|
2199
|
-
configuredMainCssEntryFilesLength: configuredMainCssEntryFiles.length,
|
|
2200
|
-
generatorRawSource,
|
|
2201
|
-
hasExplicitTailwindV4SourceCss
|
|
2202
|
-
})) throw error;
|
|
2203
|
-
debug("css generator skipped for plain webpack css asset: %s %O", file, error);
|
|
2204
|
-
generated = void 0;
|
|
2205
|
-
}
|
|
2206
|
-
else debug("css generator skipped for plain webpack css asset: %s", file);
|
|
2207
|
-
const finalizedGeneratedCss = generated ? finalizeCssAssetSource(isWebGeneratorTarget && currentRawSource.includes("tailwindcss v4.") ? createWebpackGeneratorUserCssSourceAppend({
|
|
2208
|
-
css: generated.css,
|
|
2209
|
-
processed: true
|
|
2210
|
-
}, {
|
|
2211
|
-
css: removeWebpackTailwindGeneratedAssetCss(currentRawSource),
|
|
2212
|
-
processed: true
|
|
2213
|
-
})?.css ?? generated.css : generated.css, {
|
|
2214
|
-
cssPreflight: cssHandlerOptions.isMainChunk,
|
|
2215
|
-
generatedCss: true,
|
|
2216
|
-
preserveExistingPreflight: shouldPreserveExistingPreflight
|
|
2217
|
-
}) : isWebGeneratorTarget ? finalizeCssAssetSource(generatorRawSource, { generatedCss: false }) : finalizeCssAssetSource((await compilerOptions.styleHandler(generatorRawSource, cssHandlerOptions)).css, { generatedCss: false });
|
|
2218
|
-
const sourceBareUserCss = isWebGeneratorTarget ? void 0 : createWebpackGeneratorUserCssSourceAppend(...[
|
|
2219
|
-
userRawSource,
|
|
2220
|
-
sourceCss === void 0 ? void 0 : {
|
|
2221
|
-
css: sourceCss,
|
|
2222
|
-
processed: sourceCssProcessed
|
|
2223
|
-
},
|
|
2224
|
-
{
|
|
2225
|
-
css: generatorRawSource,
|
|
2226
|
-
processed: false
|
|
2227
|
-
}
|
|
2228
|
-
].map((source) => {
|
|
2229
|
-
if (source === void 0) return;
|
|
2230
|
-
return {
|
|
2231
|
-
css: collectWebpackBareSelectorUserCss(source.css),
|
|
2232
|
-
processed: source.processed
|
|
2233
|
-
};
|
|
2234
|
-
}));
|
|
2235
|
-
const handledSourceBareUserCss = sourceBareUserCss === void 0 ? "" : sourceBareUserCss.processed ? sourceBareUserCss.css : (await compilerOptions.styleHandler(sourceBareUserCss.css, cssHandlerOptions)).css;
|
|
2236
|
-
const finalizedSourceBareUserCss = handledSourceBareUserCss.trim().length === 0 ? "" : finalizeCssAssetSource(handledSourceBareUserCss, {
|
|
2237
|
-
cssPreflight: false,
|
|
2238
|
-
generatedCss: false
|
|
2239
|
-
});
|
|
2240
|
-
const missingSourceBareUserCss = finalizedSourceBareUserCss.trim().length === 0 ? "" : (0, _weapp_tailwindcss_postcss.filterExistingCssRules)(finalizedGeneratedCss, finalizedSourceBareUserCss);
|
|
2241
|
-
const css = finalizeTracedCss(missingSourceBareUserCss.trim().length === 0 ? finalizedGeneratedCss : createWebpackGeneratorUserCssSourceAppend({
|
|
2242
|
-
css: finalizedGeneratedCss,
|
|
2243
|
-
processed: true
|
|
2244
|
-
}, {
|
|
2245
|
-
css: missingSourceBareUserCss,
|
|
2246
|
-
processed: true
|
|
2247
|
-
}).css, cssHandlerOptions, { finalized: true });
|
|
2248
|
-
const source = new ConcatSource(css);
|
|
2249
|
-
if (generated) {
|
|
2250
|
-
for (const className of generated.classSet) generatorRuntimeSet.add(className);
|
|
2251
|
-
debug("css handle via tailwind v%s engine(%s): %s", runtimeState.tailwindRuntime.majorVersion, generated.target, file);
|
|
2252
|
-
} else debug("css handle: %s", file);
|
|
2253
|
-
return { result: source };
|
|
2254
|
-
}
|
|
2255
|
-
});
|
|
2256
|
-
}, cssTaskFactories);
|
|
2257
|
-
}
|
|
2258
|
-
if (!watchMode) {
|
|
2259
|
-
require_hmr_timing.pushConcurrentTaskFactories(tasks, htmlTaskFactories, taskConcurrency);
|
|
2260
|
-
await Promise.all(tasks);
|
|
2261
|
-
tasks.length = 0;
|
|
2262
|
-
require_hmr_timing.pushConcurrentTaskFactories(tasks, jsTaskFactories, taskConcurrency);
|
|
2263
|
-
await Promise.all(tasks);
|
|
2264
|
-
tasks.length = 0;
|
|
2265
|
-
require_hmr_timing.pushConcurrentTaskFactories(tasks, cssTaskFactories, taskConcurrency);
|
|
1702
|
+
if (await processWebpackProcessedCssAsset(element, cssTaskContext)) continue;
|
|
1703
|
+
await processWebpackGeneratedCssAsset(element, cssTaskContext);
|
|
2266
1704
|
}
|
|
2267
|
-
await
|
|
2268
|
-
compilerOptions.cache.prune?.({
|
|
2269
|
-
cacheKeys: activeProcessCacheKeys,
|
|
2270
|
-
hashKeys: activeProcessHashKeys
|
|
2271
|
-
});
|
|
2272
|
-
const activeCssFiles = new Set(groupedEntries.css.map(([file]) => file));
|
|
2273
|
-
pruneWebpackCssHandlerOptionCaches(cssHandlerOptionsCache, cssUserHandlerOptionsCache, activeCssFiles);
|
|
2274
|
-
if (activeCssFiles.size > 0) pruneWebpackCssSources?.(/* @__PURE__ */ new Set([
|
|
2275
|
-
...registeredWebpackCssSourceFiles,
|
|
2276
|
-
...activeWebpackCssSourceFiles,
|
|
2277
|
-
...[...cssAssetResources.values()].flatMap((resources) => [...resources])
|
|
2278
|
-
]), { watchMode });
|
|
2279
|
-
debug("end");
|
|
2280
|
-
require_hmr_timing.emitHmrTiming("webpack", "processAssets", performance.now() - hmrTimingStartedAt, { memoryDebug: resolveWebpackMemoryDebugStats({
|
|
2281
|
-
activeAssetFiles: entries.length,
|
|
2282
|
-
activeCssFiles: activeCssFiles.size,
|
|
1705
|
+
await finalizeWebpackProcessAssets({
|
|
2283
1706
|
activeProcessCacheKeys,
|
|
2284
1707
|
activeProcessHashKeys,
|
|
2285
|
-
|
|
1708
|
+
activeWebpackCssSourceFiles,
|
|
1709
|
+
compilerOptions,
|
|
1710
|
+
cssAssetResources,
|
|
2286
1711
|
cssHandlerOptionsCache,
|
|
1712
|
+
cssTaskFactories,
|
|
2287
1713
|
cssUserHandlerOptionsCache,
|
|
2288
|
-
|
|
2289
|
-
|
|
2290
|
-
|
|
2291
|
-
|
|
1714
|
+
debug,
|
|
1715
|
+
entries,
|
|
1716
|
+
groupedEntries,
|
|
1717
|
+
hmrTimingStartedAt,
|
|
1718
|
+
htmlTaskFactories,
|
|
1719
|
+
jsTaskFactories,
|
|
1720
|
+
pruneWebpackCssSources,
|
|
1721
|
+
recordTimingDetail,
|
|
1722
|
+
registeredWebpackCssSourceFiles,
|
|
1723
|
+
taskConcurrency,
|
|
1724
|
+
tasks,
|
|
1725
|
+
timingDetails,
|
|
1726
|
+
watchMode,
|
|
1727
|
+
webpackSourceCandidateScanCache
|
|
1728
|
+
});
|
|
1729
|
+
require_hmr_timing.finalizeCompilerShadowRun(runtimeState);
|
|
2292
1730
|
});
|
|
2293
1731
|
if (!isWebGeneratorTarget) compilation.hooks.processAssets.tapPromise({
|
|
2294
1732
|
name: `${require_context.pluginName}:finalize-css-assets`,
|
|
@@ -2304,11 +1742,106 @@ function setupWebpackV5ProcessAssetsHook(options) {
|
|
|
2304
1742
|
onUpdate: compilerOptions.onUpdate,
|
|
2305
1743
|
debug
|
|
2306
1744
|
});
|
|
2307
|
-
for (const [file, asset] of groupedEntries.css) updateAssetIfChanged(file, finalizeWebpackCssAssetOutputSource(stringifyWebpackSourceLike(compilation.getAsset(file)?.source.source() ?? asset.source()), compilerOptions, isWebGeneratorTarget));
|
|
1745
|
+
for (const [file, asset] of groupedEntries.css) updateAssetIfChanged(file, require_pipeline_helpers.finalizeWebpackCssAssetOutputSource(require_pipeline_helpers.stringifyWebpackSourceLike(compilation.getAsset(file)?.source.source() ?? asset.source()), compilerOptions, isWebGeneratorTarget));
|
|
2308
1746
|
});
|
|
2309
1747
|
});
|
|
2310
1748
|
}
|
|
2311
1749
|
//#endregion
|
|
1750
|
+
//#region src/shared/mpx-plugin-owner.ts
|
|
1751
|
+
const localRequire = (0, node_module.createRequire)(require("url").pathToFileURL(__filename).href);
|
|
1752
|
+
const MPX_WEBPACK_PLUGIN_PACKAGE_RE = /@mpxjs[\\/]webpack-plugin[\\/]package\.json$/;
|
|
1753
|
+
const MPX_WEBPACK_PLUGIN_LIB_RE = /^(.*[\\/]@mpxjs[\\/]webpack-plugin)[\\/]lib[\\/]/;
|
|
1754
|
+
const MPX_RECORD_RESOURCE_MAP_DEPENDENCY_RE = /@mpxjs[\\/]webpack-plugin[\\/]lib[\\/]dependencies[\\/]RecordResourceMapDependency(?:\.js)?$/;
|
|
1755
|
+
const compilationOwnerDirs = /* @__PURE__ */ new WeakMap();
|
|
1756
|
+
function findMpxWebpackPluginDir(value) {
|
|
1757
|
+
if (typeof value === "string") return value.match(MPX_WEBPACK_PLUGIN_LIB_RE)?.[1];
|
|
1758
|
+
if (Array.isArray(value)) {
|
|
1759
|
+
for (const item of value) {
|
|
1760
|
+
const result = findMpxWebpackPluginDir(item);
|
|
1761
|
+
if (result) return result;
|
|
1762
|
+
}
|
|
1763
|
+
return;
|
|
1764
|
+
}
|
|
1765
|
+
if (value && typeof value === "object") for (const key of [
|
|
1766
|
+
"loader",
|
|
1767
|
+
"use",
|
|
1768
|
+
"rules",
|
|
1769
|
+
"oneOf"
|
|
1770
|
+
]) {
|
|
1771
|
+
const result = findMpxWebpackPluginDir(value[key]);
|
|
1772
|
+
if (result) return result;
|
|
1773
|
+
}
|
|
1774
|
+
}
|
|
1775
|
+
function resolveContextPluginDir(context) {
|
|
1776
|
+
if (typeof context !== "string" || context.length === 0) return;
|
|
1777
|
+
try {
|
|
1778
|
+
const projectRequire = (0, node_module.createRequire)(node_path.default.join(context, "package.json"));
|
|
1779
|
+
return node_path.default.dirname(projectRequire.resolve("@mpxjs/webpack-plugin/package.json"));
|
|
1780
|
+
} catch {
|
|
1781
|
+
return;
|
|
1782
|
+
}
|
|
1783
|
+
}
|
|
1784
|
+
function resolveCompilationPluginDir(compilation, candidates) {
|
|
1785
|
+
const getTemplate = compilation?.dependencyTemplates?.get;
|
|
1786
|
+
if (typeof getTemplate !== "function") return;
|
|
1787
|
+
if (compilation && typeof compilation === "object") {
|
|
1788
|
+
const cached = compilationOwnerDirs.get(compilation);
|
|
1789
|
+
if (cached) return cached;
|
|
1790
|
+
}
|
|
1791
|
+
const rememberOwner = (pluginDir) => {
|
|
1792
|
+
if (pluginDir && compilation && typeof compilation === "object") compilationOwnerDirs.set(compilation, pluginDir);
|
|
1793
|
+
return pluginDir;
|
|
1794
|
+
};
|
|
1795
|
+
for (const [file, module] of Object.entries(localRequire.cache)) {
|
|
1796
|
+
if (!MPX_RECORD_RESOURCE_MAP_DEPENDENCY_RE.test(file)) continue;
|
|
1797
|
+
if (getTemplate.call(compilation.dependencyTemplates, module?.exports)) return rememberOwner(file.match(MPX_WEBPACK_PLUGIN_LIB_RE)?.[1]);
|
|
1798
|
+
}
|
|
1799
|
+
for (const pluginDir of candidates) try {
|
|
1800
|
+
const dependency = (0, node_module.createRequire)(node_path.default.join(pluginDir, "package.json"))(node_path.default.join(pluginDir, "lib/dependencies/RecordResourceMapDependency"));
|
|
1801
|
+
if (getTemplate.call(compilation.dependencyTemplates, dependency)) return rememberOwner(pluginDir);
|
|
1802
|
+
} catch {}
|
|
1803
|
+
}
|
|
1804
|
+
function collectMpxWebpackPluginDirs(owner, fallback) {
|
|
1805
|
+
const activeLoaderPluginDir = findMpxWebpackPluginDir([owner?._module?.loaders, owner?.loaders]);
|
|
1806
|
+
const contextPluginDirs = [
|
|
1807
|
+
owner?.rootContext,
|
|
1808
|
+
owner?.context,
|
|
1809
|
+
owner?.options?.context,
|
|
1810
|
+
node_process.default.cwd()
|
|
1811
|
+
].map(resolveContextPluginDir).filter((item) => Boolean(item));
|
|
1812
|
+
const configuredRulePluginDir = findMpxWebpackPluginDir(owner?.options?.module?.rules);
|
|
1813
|
+
const cachedPluginDirs = Object.keys(localRequire.cache).map((file) => file.match(MPX_WEBPACK_PLUGIN_LIB_RE)?.[1] ?? (MPX_WEBPACK_PLUGIN_PACKAGE_RE.test(file) ? node_path.default.dirname(file) : void 0)).filter((item) => Boolean(item));
|
|
1814
|
+
const localPluginDir = (() => {
|
|
1815
|
+
try {
|
|
1816
|
+
return node_path.default.dirname(localRequire.resolve("@mpxjs/webpack-plugin/package.json"));
|
|
1817
|
+
} catch {
|
|
1818
|
+
return;
|
|
1819
|
+
}
|
|
1820
|
+
})();
|
|
1821
|
+
return {
|
|
1822
|
+
activeLoaderPluginDir,
|
|
1823
|
+
candidates: new Set([
|
|
1824
|
+
activeLoaderPluginDir,
|
|
1825
|
+
...contextPluginDirs,
|
|
1826
|
+
configuredRulePluginDir,
|
|
1827
|
+
fallback,
|
|
1828
|
+
...cachedPluginDirs,
|
|
1829
|
+
localPluginDir
|
|
1830
|
+
].filter((item) => Boolean(item))),
|
|
1831
|
+
configuredRulePluginDir,
|
|
1832
|
+
contextPluginDirs,
|
|
1833
|
+
cachedPluginDirs,
|
|
1834
|
+
localPluginDir
|
|
1835
|
+
};
|
|
1836
|
+
}
|
|
1837
|
+
function resolveMpxWebpackPluginCompilationOwnerDir(owner, compilation, fallback) {
|
|
1838
|
+
return resolveCompilationPluginDir(compilation, collectMpxWebpackPluginDirs(owner, fallback).candidates);
|
|
1839
|
+
}
|
|
1840
|
+
function resolveMpxWebpackPluginDir(owner, fallback, compilation = owner?._compilation ?? owner?.compilation) {
|
|
1841
|
+
const { activeLoaderPluginDir, candidates, configuredRulePluginDir, contextPluginDirs, cachedPluginDirs, localPluginDir } = collectMpxWebpackPluginDirs(owner, fallback);
|
|
1842
|
+
return resolveCompilationPluginDir(compilation, candidates) ?? activeLoaderPluginDir ?? contextPluginDirs[0] ?? configuredRulePluginDir ?? fallback ?? cachedPluginDirs[0] ?? localPluginDir;
|
|
1843
|
+
}
|
|
1844
|
+
//#endregion
|
|
2312
1845
|
//#region src/shared/tailwindcss-css-redirect.ts
|
|
2313
1846
|
const moduleWithMutableResolve = node_module.default;
|
|
2314
1847
|
const patched = /* @__PURE__ */ new WeakSet();
|
|
@@ -2327,33 +1860,8 @@ function installTailwindcssCssRedirect(pkgDir) {
|
|
|
2327
1860
|
}
|
|
2328
1861
|
//#endregion
|
|
2329
1862
|
//#region src/shared/mpx.ts
|
|
2330
|
-
const localRequire = (0, node_module.createRequire)(require("url").pathToFileURL(__filename).href);
|
|
2331
1863
|
const MPX_STYLE_RESOURCE_QUERY_RE = /(?:^|[?&])type=styles(?:&|$)/;
|
|
2332
|
-
const
|
|
2333
|
-
const MPX_WEBPACK_PLUGIN_LIB_RE = /^(.*[\\/]@mpxjs[\\/]webpack-plugin)[\\/]lib[\\/]/;
|
|
2334
|
-
const MPX_WEBPACK_PLUGIN_REQUEST_RE = /@mpxjs\/webpack-plugin\/([^!?]+)/g;
|
|
2335
|
-
function findMpxWebpackPluginDirFromRules(rules) {
|
|
2336
|
-
const visit = (value) => {
|
|
2337
|
-
if (typeof value === "string") return value.match(MPX_WEBPACK_PLUGIN_LIB_RE)?.[1];
|
|
2338
|
-
if (Array.isArray(value)) {
|
|
2339
|
-
for (const item of value) {
|
|
2340
|
-
const result = visit(item);
|
|
2341
|
-
if (result) return result;
|
|
2342
|
-
}
|
|
2343
|
-
return;
|
|
2344
|
-
}
|
|
2345
|
-
if (value && typeof value === "object") for (const key of [
|
|
2346
|
-
"loader",
|
|
2347
|
-
"use",
|
|
2348
|
-
"rules",
|
|
2349
|
-
"oneOf"
|
|
2350
|
-
]) {
|
|
2351
|
-
const result = visit(value[key]);
|
|
2352
|
-
if (result) return result;
|
|
2353
|
-
}
|
|
2354
|
-
};
|
|
2355
|
-
return visit(rules);
|
|
2356
|
-
}
|
|
1864
|
+
const MPX_WEBPACK_PLUGIN_REQUEST_PATH_RE = /(?:^|[\\/])@mpxjs[\\/]webpack-plugin(?:[\\/](.+))?$/;
|
|
2357
1865
|
function isMpxStyleResourceQuery(query) {
|
|
2358
1866
|
if (typeof query !== "string") return false;
|
|
2359
1867
|
return MPX_STYLE_RESOURCE_QUERY_RE.test(query);
|
|
@@ -2361,34 +1869,16 @@ function isMpxStyleResourceQuery(query) {
|
|
|
2361
1869
|
function getTailwindcssCssEntry(pkgDir) {
|
|
2362
1870
|
return node_path.default.join(pkgDir, "index.css");
|
|
2363
1871
|
}
|
|
2364
|
-
function resolveMpxWebpackPluginDir(compiler) {
|
|
2365
|
-
const rulePluginDir = findMpxWebpackPluginDirFromRules([
|
|
2366
|
-
compiler?._module?.loaders,
|
|
2367
|
-
compiler?.loaders,
|
|
2368
|
-
compiler?.options?.module?.rules
|
|
2369
|
-
]);
|
|
2370
|
-
if (rulePluginDir) return rulePluginDir;
|
|
2371
|
-
const candidates = [
|
|
2372
|
-
compiler?.context,
|
|
2373
|
-
compiler?.options?.context,
|
|
2374
|
-
node_process.default.cwd()
|
|
2375
|
-
].filter((item) => typeof item === "string" && item.length > 0);
|
|
2376
|
-
for (const candidate of candidates) try {
|
|
2377
|
-
const projectRequire = (0, node_module.createRequire)(node_path.default.join(candidate, "package.json"));
|
|
2378
|
-
return node_path.default.dirname(projectRequire.resolve("@mpxjs/webpack-plugin/package.json"));
|
|
2379
|
-
} catch {}
|
|
2380
|
-
const cachedPackageJson = Object.keys(localRequire.cache).find((file) => MPX_WEBPACK_PLUGIN_PACKAGE_RE.test(file));
|
|
2381
|
-
if (cachedPackageJson) return node_path.default.dirname(cachedPackageJson);
|
|
2382
|
-
try {
|
|
2383
|
-
return node_path.default.dirname(localRequire.resolve("@mpxjs/webpack-plugin/package.json"));
|
|
2384
|
-
} catch {
|
|
2385
|
-
return;
|
|
2386
|
-
}
|
|
2387
|
-
}
|
|
2388
1872
|
function rewriteMpxWebpackPluginRequests(request, mpxWebpackPluginDir, pathImpl = node_path.default) {
|
|
2389
|
-
return request.
|
|
2390
|
-
|
|
2391
|
-
|
|
1873
|
+
return request.split("!").map((segment) => {
|
|
1874
|
+
const queryIndex = segment.indexOf("?");
|
|
1875
|
+
const requestPath = queryIndex === -1 ? segment : segment.slice(0, queryIndex);
|
|
1876
|
+
const query = queryIndex === -1 ? "" : segment.slice(queryIndex);
|
|
1877
|
+
const match = requestPath.match(MPX_WEBPACK_PLUGIN_REQUEST_PATH_RE);
|
|
1878
|
+
if (!match) return segment;
|
|
1879
|
+
const subpath = match[1];
|
|
1880
|
+
return `${subpath ? pathImpl.join(mpxWebpackPluginDir, ...subpath.split(/[\\/]/)) : mpxWebpackPluginDir}${query}`;
|
|
1881
|
+
}).join("!");
|
|
2392
1882
|
}
|
|
2393
1883
|
function patchMpxWebpackPluginRequests(compiler, mpxWebpackPluginDir) {
|
|
2394
1884
|
if (!mpxWebpackPluginDir || !compiler) return false;
|
|
@@ -2396,26 +1886,37 @@ function patchMpxWebpackPluginRequests(compiler, mpxWebpackPluginDir) {
|
|
|
2396
1886
|
const patchedCompilers = /* @__PURE__ */ new WeakSet();
|
|
2397
1887
|
const patchedLoaderResolvers = /* @__PURE__ */ new WeakSet();
|
|
2398
1888
|
const patchedResolverFactories = /* @__PURE__ */ new WeakSet();
|
|
1889
|
+
let activePluginDir = mpxWebpackPluginDir;
|
|
1890
|
+
const getActivePluginDir = () => activePluginDir;
|
|
2399
1891
|
const install = (targetCompiler) => {
|
|
2400
1892
|
if (!targetCompiler || typeof targetCompiler !== "object" || patchedCompilers.has(targetCompiler)) return;
|
|
2401
1893
|
patchedCompilers.add(targetCompiler);
|
|
2402
|
-
ensureResolveLoaderAlias(targetCompiler,
|
|
1894
|
+
ensureResolveLoaderAlias(targetCompiler, activePluginDir);
|
|
2403
1895
|
const resolverFactory = targetCompiler.resolverFactory;
|
|
2404
1896
|
if (resolverFactory && typeof resolverFactory === "object" && !patchedResolverFactories.has(resolverFactory)) {
|
|
2405
1897
|
patchedResolverFactories.add(resolverFactory);
|
|
2406
|
-
installMpxResolveLoaderAlias(targetCompiler,
|
|
1898
|
+
installMpxResolveLoaderAlias(targetCompiler, getActivePluginDir);
|
|
2407
1899
|
}
|
|
2408
1900
|
targetCompiler.hooks?.normalModuleFactory?.tap?.(pluginName, (normalModuleFactory) => {
|
|
2409
1901
|
const loaderResolver = normalModuleFactory.getResolver?.("loader");
|
|
2410
1902
|
if (loaderResolver && typeof loaderResolver === "object" && !patchedLoaderResolvers.has(loaderResolver)) {
|
|
2411
1903
|
patchedLoaderResolvers.add(loaderResolver);
|
|
2412
|
-
patchMpxLoaderResolver(loaderResolver,
|
|
1904
|
+
patchMpxLoaderResolver(loaderResolver, getActivePluginDir);
|
|
2413
1905
|
}
|
|
2414
1906
|
normalModuleFactory.hooks.beforeResolve.tap(pluginName, (resolveData) => {
|
|
2415
|
-
|
|
1907
|
+
const pluginDir = getActivePluginDir();
|
|
1908
|
+
if (pluginDir && typeof resolveData?.request === "string") resolveData.request = rewriteMpxWebpackPluginRequests(resolveData.request, pluginDir);
|
|
2416
1909
|
});
|
|
2417
1910
|
});
|
|
2418
1911
|
targetCompiler.hooks?.compilation?.tap?.(pluginName, (compilation) => {
|
|
1912
|
+
const compilationPluginDir = resolveMpxWebpackPluginCompilationOwnerDir(targetCompiler, compilation, activePluginDir);
|
|
1913
|
+
if (compilationPluginDir) {
|
|
1914
|
+
activePluginDir = compilationPluginDir;
|
|
1915
|
+
patchMpxWebpackPluginNormalizeLib(targetCompiler, compilationPluginDir);
|
|
1916
|
+
ensureResolveLoaderAlias(targetCompiler, compilationPluginDir);
|
|
1917
|
+
const alias = targetCompiler.options?.resolve?.alias;
|
|
1918
|
+
if (alias) addMpxWebpackPluginAlias(alias, compilationPluginDir);
|
|
1919
|
+
}
|
|
2419
1920
|
compilation.hooks?.childCompiler?.tap?.(pluginName, (childCompiler) => {
|
|
2420
1921
|
install(childCompiler);
|
|
2421
1922
|
});
|
|
@@ -2435,20 +1936,33 @@ function addMpxWebpackPluginAlias(alias, pkgDir) {
|
|
|
2435
1936
|
const recordLoader = node_path.default.join(pkgDir, "lib/record-loader");
|
|
2436
1937
|
const styleCompiler = node_path.default.join(pkgDir, "lib/style-compiler/index");
|
|
2437
1938
|
const stripConditionalLoader = node_path.default.join(pkgDir, "lib/style-compiler/strip-conditional-loader");
|
|
2438
|
-
if (Array.isArray(alias))
|
|
2439
|
-
|
|
2440
|
-
|
|
2441
|
-
|
|
2442
|
-
|
|
2443
|
-
|
|
2444
|
-
|
|
2445
|
-
|
|
2446
|
-
|
|
2447
|
-
|
|
2448
|
-
|
|
2449
|
-
|
|
2450
|
-
|
|
2451
|
-
|
|
1939
|
+
if (Array.isArray(alias)) {
|
|
1940
|
+
const entries = [
|
|
1941
|
+
{
|
|
1942
|
+
name: "@mpxjs/webpack-plugin/lib/record-loader",
|
|
1943
|
+
alias: recordLoader
|
|
1944
|
+
},
|
|
1945
|
+
{
|
|
1946
|
+
name: "@mpxjs/webpack-plugin/lib/style-compiler/index",
|
|
1947
|
+
alias: styleCompiler
|
|
1948
|
+
},
|
|
1949
|
+
{
|
|
1950
|
+
name: "@mpxjs/webpack-plugin/lib/style-compiler/strip-conditional-loader",
|
|
1951
|
+
alias: stripConditionalLoader
|
|
1952
|
+
},
|
|
1953
|
+
{
|
|
1954
|
+
name: /^@mpxjs\/webpack-plugin\//,
|
|
1955
|
+
alias: pkgDir
|
|
1956
|
+
}
|
|
1957
|
+
];
|
|
1958
|
+
const managedNames = new Set(entries.filter((entry) => typeof entry.name === "string").map((entry) => entry.name));
|
|
1959
|
+
const managedPatterns = new Set(entries.filter((entry) => entry.name instanceof RegExp).map((entry) => `${entry.name.source}/${entry.name.flags}`));
|
|
1960
|
+
for (let index = alias.length - 1; index >= 0; index--) {
|
|
1961
|
+
const name = alias[index]?.name;
|
|
1962
|
+
if (managedNames.has(name) || name instanceof RegExp && managedPatterns.has(`${name.source}/${name.flags}`)) alias.splice(index, 1);
|
|
1963
|
+
}
|
|
1964
|
+
alias.unshift(...entries);
|
|
1965
|
+
} else {
|
|
2452
1966
|
alias["@mpxjs/webpack-plugin"] = pkgDir;
|
|
2453
1967
|
alias["@mpxjs/webpack-plugin$"] = pkgDir;
|
|
2454
1968
|
alias["@mpxjs/webpack-plugin/lib/record-loader"] = recordLoader;
|
|
@@ -2462,13 +1976,15 @@ function ensureResolveLoaderAlias(compiler, mpxWebpackPluginDir) {
|
|
|
2462
1976
|
compiler.options.resolveLoader.alias = alias;
|
|
2463
1977
|
addMpxWebpackPluginAlias(alias, mpxWebpackPluginDir);
|
|
2464
1978
|
}
|
|
2465
|
-
function installMpxResolveLoaderAlias(compiler,
|
|
1979
|
+
function installMpxResolveLoaderAlias(compiler, getMpxWebpackPluginDir) {
|
|
2466
1980
|
const resolveOptionsHook = compiler?.resolverFactory?.hooks?.resolveOptions?.for?.("loader");
|
|
2467
1981
|
if (!resolveOptionsHook?.tap) return;
|
|
2468
1982
|
resolveOptionsHook.tap({
|
|
2469
1983
|
name: "weapp-tailwindcss-mpx-loader-resolve",
|
|
2470
1984
|
stage: 100
|
|
2471
1985
|
}, (resolveOptions) => {
|
|
1986
|
+
const mpxWebpackPluginDir = getMpxWebpackPluginDir();
|
|
1987
|
+
if (!mpxWebpackPluginDir) return resolveOptions;
|
|
2472
1988
|
const alias = Array.isArray(resolveOptions.alias) ? [...resolveOptions.alias] : { ...resolveOptions.alias };
|
|
2473
1989
|
addMpxWebpackPluginAlias(alias, mpxWebpackPluginDir);
|
|
2474
1990
|
return {
|
|
@@ -2477,13 +1993,14 @@ function installMpxResolveLoaderAlias(compiler, mpxWebpackPluginDir) {
|
|
|
2477
1993
|
};
|
|
2478
1994
|
});
|
|
2479
1995
|
}
|
|
2480
|
-
function patchMpxLoaderResolver(resolver,
|
|
1996
|
+
function patchMpxLoaderResolver(resolver, getMpxWebpackPluginDir) {
|
|
2481
1997
|
const originalResolve = resolver?.resolve;
|
|
2482
1998
|
if (typeof originalResolve !== "function" || originalResolve.__weappTwPatched) return;
|
|
2483
1999
|
const wrappedResolve = function(...args) {
|
|
2484
2000
|
const requestIndex = typeof args[0] === "string" ? 1 : 2;
|
|
2485
2001
|
const request = args[requestIndex];
|
|
2486
|
-
|
|
2002
|
+
const mpxWebpackPluginDir = getMpxWebpackPluginDir();
|
|
2003
|
+
if (mpxWebpackPluginDir && typeof request === "string" && isMpxWebpackPluginRequest(request)) args[requestIndex] = resolveMpxWebpackPluginRequest(request, mpxWebpackPluginDir);
|
|
2487
2004
|
return originalResolve.apply(this, args);
|
|
2488
2005
|
};
|
|
2489
2006
|
wrappedResolve.__weappTwPatched = true;
|
|
@@ -2533,12 +2050,13 @@ function ensureMpxTailwindcssAliases(compiler, pkgDir) {
|
|
|
2533
2050
|
function patchMpxLoaderResolve(loaderContext, pkgDir, enabled) {
|
|
2534
2051
|
if (!enabled) return;
|
|
2535
2052
|
const tailwindcssCssEntry = getTailwindcssCssEntry(pkgDir);
|
|
2536
|
-
const
|
|
2053
|
+
const getMpxWebpackPluginDir = () => resolveMpxWebpackPluginDir(loaderContext);
|
|
2537
2054
|
const originalResolve = loaderContext.resolve;
|
|
2538
2055
|
if (typeof originalResolve === "function" && !originalResolve.__weappTwPatched) {
|
|
2539
2056
|
const wrappedResolve = function(context, request, callback) {
|
|
2540
2057
|
if (request === "tailwindcss" || request === "tailwindcss$") return callback(null, tailwindcssCssEntry);
|
|
2541
2058
|
if (request?.startsWith("tailwindcss/")) return callback(null, node_path.default.join(pkgDir, request.slice(12)));
|
|
2059
|
+
const mpxWebpackPluginDir = getMpxWebpackPluginDir();
|
|
2542
2060
|
if (mpxWebpackPluginDir && isMpxWebpackPluginRequest(request)) return callback(null, resolveMpxWebpackPluginRequest(request, mpxWebpackPluginDir));
|
|
2543
2061
|
return originalResolve.call(this, context, request, callback);
|
|
2544
2062
|
};
|
|
@@ -2546,9 +2064,10 @@ function patchMpxLoaderResolve(loaderContext, pkgDir, enabled) {
|
|
|
2546
2064
|
loaderContext.resolve = wrappedResolve;
|
|
2547
2065
|
}
|
|
2548
2066
|
const originalImportModule = loaderContext.importModule;
|
|
2549
|
-
if (
|
|
2067
|
+
if (typeof originalImportModule === "function" && !originalImportModule.__weappTwPatched) {
|
|
2550
2068
|
const wrappedImportModule = function(request, ...args) {
|
|
2551
|
-
const
|
|
2069
|
+
const mpxWebpackPluginDir = getMpxWebpackPluginDir();
|
|
2070
|
+
const resolvedRequest = mpxWebpackPluginDir && typeof request === "string" ? rewriteMpxWebpackPluginRequests(request, mpxWebpackPluginDir) : request;
|
|
2552
2071
|
return originalImportModule.call(this, resolvedRequest, ...args);
|
|
2553
2072
|
};
|
|
2554
2073
|
wrappedImportModule.__weappTwPatched = true;
|
|
@@ -2578,16 +2097,6 @@ function injectMpxCssRewritePreRules(compiler, loader, loaderOptions) {
|
|
|
2578
2097
|
}));
|
|
2579
2098
|
}
|
|
2580
2099
|
//#endregion
|
|
2581
|
-
//#region src/bundlers/webpack/loaders/runtime-registry.ts
|
|
2582
|
-
const runtimeRegistryHolder = globalThis;
|
|
2583
|
-
const runtimeRegistry = runtimeRegistryHolder.__WEAPP_TW_WEBPACK_LOADER_RUNTIME_REGISTRY__ ?? (runtimeRegistryHolder.__WEAPP_TW_WEBPACK_LOADER_RUNTIME_REGISTRY__ = /* @__PURE__ */ new Map());
|
|
2584
|
-
function setWebpackLoaderRuntime(key, entry) {
|
|
2585
|
-
runtimeRegistry.set(key, entry);
|
|
2586
|
-
}
|
|
2587
|
-
function deleteWebpackLoaderRuntime(key) {
|
|
2588
|
-
runtimeRegistry.delete(key);
|
|
2589
|
-
}
|
|
2590
|
-
//#endregion
|
|
2591
2100
|
//#region src/bundlers/webpack/shared/loader-anchors.ts
|
|
2592
2101
|
const MPX_STRIP_CONDITIONAL_LOADER = "@mpxjs/webpack-plugin/lib/style-compiler/strip-conditional-loader";
|
|
2593
2102
|
const MPX_STYLE_COMPILER_LOADER = "@mpxjs/webpack-plugin/lib/style-compiler/index";
|
|
@@ -2620,7 +2129,7 @@ function createDefaultLoaderAnchorFinders() {
|
|
|
2620
2129
|
//#endregion
|
|
2621
2130
|
//#region src/bundlers/webpack/BaseUnifiedPlugin/v5-loaders.ts
|
|
2622
2131
|
function setupWebpackV5Loaders(options) {
|
|
2623
|
-
const { compiler, options: compilerOptions, appType, weappTailwindcssPackageDir, shouldRewriteCssImports, runtimeLoaderPath, registerAutoCssSource, runtimeState, getClassSetInLoader, getRuntimeSetInLoader, markWebpackProcessedCssSource, markWebpackCssSourceModule, registerWebpackGeneratedCss, registerWebpackCssSourceFile, getRuntimeWatchDependencies, loaderAnchorFinders = createDefaultLoaderAnchorFinders(), mpxCssImportRewrite = false, runtimeRegistryKey = `weapp-tailwindcss-${Date.now()}-${Math.random().toString(36).slice(2)}`, debug } = options;
|
|
2132
|
+
const { compiler, options: compilerOptions, appType, weappTailwindcssPackageDir, shouldRewriteCssImports, runtimeLoaderPath, registerAutoCssSource, runtimeState, getClassSetInLoader, getRuntimeSetInLoader, markWebpackProcessedCssSource, markWebpackCssSourceModule, registerWebpackGeneratedCss, updateWebpackGeneratedCss, registerWebpackCssSourceFile, getRuntimeWatchDependencies, loaderAnchorFinders = createDefaultLoaderAnchorFinders(), mpxCssImportRewrite = false, runtimeRegistryKey = `weapp-tailwindcss-${Date.now()}-${Math.random().toString(36).slice(2)}`, debug } = options;
|
|
2624
2133
|
const generatorOptions = require_generator.normalizeWeappTailwindcssGeneratorOptions(compilerOptions.generator, {
|
|
2625
2134
|
appType: compilerOptions.appType,
|
|
2626
2135
|
platform: compilerOptions.cssOptions?.platform ?? compilerOptions.platform,
|
|
@@ -2636,12 +2145,12 @@ function setupWebpackV5Loaders(options) {
|
|
|
2636
2145
|
uniAppX: compilerOptions.uniAppX
|
|
2637
2146
|
});
|
|
2638
2147
|
if (shouldRewriteCssImports && mpxCssImportRewrite) ensureMpxTailwindcssAliases(compiler, weappTailwindcssPackageDir);
|
|
2639
|
-
const runtimeClassSetLoader = runtimeLoaderPath ?? node_path.default.resolve(__dirname, "./weapp-tw-runtime-classset-loader.
|
|
2148
|
+
const runtimeClassSetLoader = runtimeLoaderPath ?? node_path.default.resolve(__dirname, "./weapp-tw-runtime-classset-loader.cjs");
|
|
2640
2149
|
const shouldInjectRuntimeClassSetLoader = !generatorBranch.isWeb;
|
|
2641
2150
|
const shouldInjectCssGenerationLoader = generatorOptions.enabled && runtimeState.tailwindRuntime.majorVersion === 4 && (generatorTarget === "web" || generatorTarget === "weapp");
|
|
2642
2151
|
const shouldInjectCssImportRewriteLoader = shouldRewriteCssImports || shouldInjectCssGenerationLoader;
|
|
2643
|
-
const runtimeCssGenerationLoader = shouldInjectCssGenerationLoader ? node_path.default.resolve(__dirname, "./weapp-tw-css-generation-loader.
|
|
2644
|
-
const runtimeCssImportRewriteLoader = shouldInjectCssImportRewriteLoader ? node_path.default.resolve(__dirname, "./weapp-tw-css-import-rewrite-loader.
|
|
2152
|
+
const runtimeCssGenerationLoader = shouldInjectCssGenerationLoader ? node_path.default.resolve(__dirname, "./weapp-tw-css-generation-loader.cjs") : void 0;
|
|
2153
|
+
const runtimeCssImportRewriteLoader = shouldInjectCssImportRewriteLoader ? node_path.default.resolve(__dirname, "./weapp-tw-css-import-rewrite-loader.cjs") : void 0;
|
|
2645
2154
|
const runtimeClassSetLoaderExists = node_fs.default.existsSync(runtimeClassSetLoader);
|
|
2646
2155
|
const runtimeCssGenerationLoaderExists = runtimeCssGenerationLoader ? node_fs.default.existsSync(runtimeCssGenerationLoader) : false;
|
|
2647
2156
|
const runtimeCssImportRewriteLoaderExists = runtimeCssImportRewriteLoader ? node_fs.default.existsSync(runtimeCssImportRewriteLoader) : false;
|
|
@@ -2656,16 +2165,18 @@ function setupWebpackV5Loaders(options) {
|
|
|
2656
2165
|
...markWebpackProcessedCssSource === void 0 ? {} : { markGeneratedCssSource: markWebpackProcessedCssSource },
|
|
2657
2166
|
...registerWebpackGeneratedCss === void 0 ? {} : { registerGeneratedCss: registerWebpackGeneratedCss }
|
|
2658
2167
|
} : void 0;
|
|
2659
|
-
setWebpackLoaderRuntime(runtimeRegistryKey, {
|
|
2168
|
+
require_runtime_registry.setWebpackLoaderRuntime(runtimeRegistryKey, {
|
|
2660
2169
|
classSet: {
|
|
2661
2170
|
getClassSet: getClassSetInLoader,
|
|
2662
2171
|
getWatchDependencies: getRuntimeWatchDependencies,
|
|
2663
|
-
...registerWebpackCssSourceFile === void 0 ? {} : { registerCssSourceFile: registerWebpackCssSourceFile }
|
|
2172
|
+
...registerWebpackCssSourceFile === void 0 ? {} : { registerCssSourceFile: registerWebpackCssSourceFile },
|
|
2173
|
+
...updateWebpackGeneratedCss === void 0 ? {} : { updateGeneratedCss: updateWebpackGeneratedCss }
|
|
2664
2174
|
},
|
|
2665
2175
|
...runtimeLoaderRewriteOptions === void 0 ? {} : { cssImportRewrite: runtimeLoaderRewriteOptions }
|
|
2666
2176
|
});
|
|
2667
2177
|
const cleanupWebpackLoaderRuntime = () => {
|
|
2668
|
-
deleteWebpackLoaderRuntime(runtimeRegistryKey);
|
|
2178
|
+
require_runtime_registry.deleteWebpackLoaderRuntime(runtimeRegistryKey);
|
|
2179
|
+
require_v4_generation_core.disposeCompilerOwner(runtimeState);
|
|
2669
2180
|
};
|
|
2670
2181
|
compiler.hooks.watchClose?.tap?.(require_context.pluginName, cleanupWebpackLoaderRuntime);
|
|
2671
2182
|
compiler.hooks.shutdown?.tap?.(require_context.pluginName, cleanupWebpackLoaderRuntime);
|
|
@@ -2712,6 +2223,10 @@ function setupWebpackV5Loaders(options) {
|
|
|
2712
2223
|
let rewriteAnchorIdx = findRewriteAnchor(loaderEntries);
|
|
2713
2224
|
const classSetAnchorIdx = findClassSetAnchor(loaderEntries);
|
|
2714
2225
|
const isCssModule = isCssLikeModuleResource(module.resource, compilerOptions.cssMatcher, appType);
|
|
2226
|
+
if (isCssModule) {
|
|
2227
|
+
const frameworkPostcssOptions = require_v4_generation_core.collectFrameworkPostcssOptionsFromLoaderEntries(loaderEntries, _loaderContext);
|
|
2228
|
+
if (frameworkPostcssOptions) require_v4_generation_core.captureResolvedFrameworkPostcssOptions(compilerOptions, frameworkPostcssOptions);
|
|
2229
|
+
}
|
|
2715
2230
|
if (isCssModule && typeof module.resource === "string") markWebpackCssSourceModule?.(module.resource);
|
|
2716
2231
|
if (node_process.default.env["WEAPP_TW_LOADER_DEBUG"] && isCssModule) debug("loader hook css module: %s loaders=%o anchors=%o", module.resource, loaderEntries.map((x) => x.loader), {
|
|
2717
2232
|
rewriteAnchorIdx,
|
|
@@ -2759,7 +2274,7 @@ function setupWebpackV5Loaders(options) {
|
|
|
2759
2274
|
});
|
|
2760
2275
|
}
|
|
2761
2276
|
//#endregion
|
|
2762
|
-
//#region src/bundlers/webpack/shared/create-framework-plugin.ts
|
|
2277
|
+
//#region src/bundlers/webpack/shared/create-framework-plugin/watch-output.ts
|
|
2763
2278
|
const debug = require_wxml.createDebug();
|
|
2764
2279
|
const weappTailwindcssPackageDir = require_source_candidate_scan_signature.resolvePackageDir("weapp-tailwindcss");
|
|
2765
2280
|
const outputIgnoredPredicatePath = Symbol("weapp-tailwindcss.outputIgnoredPredicatePath");
|
|
@@ -2825,15 +2340,17 @@ function setupWebpackWatchOutputIgnore(compiler) {
|
|
|
2825
2340
|
}
|
|
2826
2341
|
});
|
|
2827
2342
|
}
|
|
2343
|
+
//#endregion
|
|
2344
|
+
//#region src/bundlers/webpack/shared/create-framework-plugin/plugin.ts
|
|
2828
2345
|
function isInternalUserDefinedOptions(options) {
|
|
2829
2346
|
return typeof options.onLoad === "function" && typeof options.mainCssChunkMatcher === "function" && typeof options.tailwindRuntime === "object" && typeof options.refreshTailwindcssRuntime === "function";
|
|
2830
2347
|
}
|
|
2831
2348
|
var WebpackFrameworkPlugin = class {
|
|
2832
2349
|
constructor(options = {}, frameworkBranch) {
|
|
2833
|
-
|
|
2834
|
-
|
|
2835
|
-
|
|
2836
|
-
|
|
2350
|
+
require_object._defineProperty(this, "options", void 0);
|
|
2351
|
+
require_object._defineProperty(this, "appType", void 0);
|
|
2352
|
+
require_object._defineProperty(this, "hasInitialTailwindCssRoots", void 0);
|
|
2353
|
+
require_object._defineProperty(this, "frameworkBranch", void 0);
|
|
2837
2354
|
this.frameworkBranch = frameworkBranch;
|
|
2838
2355
|
this.hasInitialTailwindCssRoots = require_generator.hasConfiguredTailwindV4CssRoots(options);
|
|
2839
2356
|
this.options = isInternalUserDefinedOptions(options) ? options : require_context.getCompilerContext({
|
|
@@ -2970,6 +2487,15 @@ var WebpackFrameworkPlugin = class {
|
|
|
2970
2487
|
});
|
|
2971
2488
|
currentWebpackCssSourceFiles.add(file);
|
|
2972
2489
|
};
|
|
2490
|
+
const updateWebpackGeneratedCss = (source) => {
|
|
2491
|
+
const file = node_path.default.resolve(source.file);
|
|
2492
|
+
const previous = webpackGeneratedCssSources.get(file);
|
|
2493
|
+
if (!previous) return;
|
|
2494
|
+
webpackGeneratedCssSources.set(file, {
|
|
2495
|
+
...previous,
|
|
2496
|
+
css: source.css
|
|
2497
|
+
});
|
|
2498
|
+
};
|
|
2973
2499
|
const pruneWebpackCssSources = (activeSourceFiles, _options = {}) => {
|
|
2974
2500
|
const tailwindOptions = require_generator.resolveTailwindcssOptions(runtimeState.tailwindRuntime.options);
|
|
2975
2501
|
const configuredSourceFiles = /* @__PURE__ */ new Set();
|
|
@@ -3047,6 +2573,7 @@ var WebpackFrameworkPlugin = class {
|
|
|
3047
2573
|
markWebpackCssSourceModule,
|
|
3048
2574
|
registerWebpackCssSourceFile,
|
|
3049
2575
|
registerWebpackGeneratedCss,
|
|
2576
|
+
updateWebpackGeneratedCss,
|
|
3050
2577
|
getRuntimeWatchDependencies() {
|
|
3051
2578
|
return {
|
|
3052
2579
|
files: runtimeWatchDependencyFiles,
|
|
@@ -3162,8 +2689,8 @@ function createWebpackFrameworkPlugin(frameworkName, options = {}) {
|
|
|
3162
2689
|
*/
|
|
3163
2690
|
var WeappTailwindcss = class {
|
|
3164
2691
|
constructor(options = {}) {
|
|
3165
|
-
|
|
3166
|
-
|
|
2692
|
+
require_object._defineProperty(this, "options", void 0);
|
|
2693
|
+
require_object._defineProperty(this, "appType", void 0);
|
|
3167
2694
|
this.options = require_context.getCompilerContext({
|
|
3168
2695
|
...options,
|
|
3169
2696
|
__internalDeferMissingCssEntriesWarning: true
|