vinext 0.0.30 → 0.0.31
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.md +12 -6
- package/dist/build/prerender.d.ts +188 -0
- package/dist/build/prerender.js +675 -0
- package/dist/build/prerender.js.map +1 -0
- package/dist/build/report.d.ts +45 -46
- package/dist/build/report.js +247 -276
- package/dist/build/report.js.map +1 -1
- package/dist/build/run-prerender.d.ts +62 -0
- package/dist/build/run-prerender.js +183 -0
- package/dist/build/run-prerender.js.map +1 -0
- package/dist/build/server-manifest.d.ts +19 -0
- package/dist/build/server-manifest.js +29 -0
- package/dist/build/server-manifest.js.map +1 -0
- package/dist/build/static-export.d.ts +51 -66
- package/dist/build/static-export.js +51 -545
- package/dist/build/static-export.js.map +1 -1
- package/dist/check.d.ts +26 -24
- package/dist/check.js +591 -571
- package/dist/check.js.map +1 -1
- package/dist/cli.d.ts +1 -15
- package/dist/cli.js +430 -491
- package/dist/cli.js.map +1 -1
- package/dist/client/entry.d.ts +1 -2
- package/dist/client/entry.js +49 -62
- package/dist/client/entry.js.map +1 -1
- package/dist/client/validate-module-path.d.ts +4 -1
- package/dist/client/validate-module-path.js +23 -28
- package/dist/client/validate-module-path.js.map +1 -1
- package/dist/client/vinext-next-data.d.ts +15 -20
- package/dist/client/vinext-next-data.js +0 -1
- package/dist/cloudflare/index.d.ts +3 -8
- package/dist/cloudflare/index.js +3 -8
- package/dist/cloudflare/kv-cache-handler.d.ts +95 -105
- package/dist/cloudflare/kv-cache-handler.js +354 -380
- package/dist/cloudflare/kv-cache-handler.js.map +1 -1
- package/dist/cloudflare/tpr.d.ts +36 -34
- package/dist/cloudflare/tpr.js +460 -603
- package/dist/cloudflare/tpr.js.map +1 -1
- package/dist/config/config-matchers.d.ts +31 -40
- package/dist/config/config-matchers.js +727 -936
- package/dist/config/config-matchers.js.map +1 -1
- package/dist/config/dotenv.d.ts +18 -11
- package/dist/config/dotenv.js +79 -84
- package/dist/config/dotenv.js.map +1 -1
- package/dist/config/next-config.d.ts +156 -146
- package/dist/config/next-config.js +374 -464
- package/dist/config/next-config.js.map +1 -1
- package/dist/deploy.d.ts +87 -96
- package/dist/deploy.js +490 -628
- package/dist/deploy.js.map +1 -1
- package/dist/entries/app-browser-entry.d.ts +4 -1
- package/dist/entries/app-browser-entry.js +12 -8
- package/dist/entries/app-browser-entry.js.map +1 -1
- package/dist/entries/app-rsc-entry.d.ts +33 -20
- package/dist/entries/app-rsc-entry.js +442 -211
- package/dist/entries/app-rsc-entry.js.map +1 -1
- package/dist/entries/app-ssr-entry.d.ts +9 -1
- package/dist/entries/app-ssr-entry.js +61 -28
- package/dist/entries/app-ssr-entry.js.map +1 -1
- package/dist/entries/pages-client-entry.d.ts +6 -2
- package/dist/entries/pages-client-entry.js +30 -33
- package/dist/entries/pages-client-entry.js.map +1 -1
- package/dist/entries/pages-entry-helpers.d.ts +5 -1
- package/dist/entries/pages-entry-helpers.js +17 -14
- package/dist/entries/pages-entry-helpers.js.map +1 -1
- package/dist/entries/pages-server-entry.d.ts +6 -2
- package/dist/entries/pages-server-entry.js +84 -113
- package/dist/entries/pages-server-entry.js.map +1 -1
- package/dist/index.d.ts +82 -62
- package/dist/index.js +2172 -3133
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts +40 -37
- package/dist/init.js +201 -258
- package/dist/init.js.map +1 -1
- package/dist/plugins/async-hooks-stub.d.ts +7 -3
- package/dist/plugins/async-hooks-stub.js +39 -42
- package/dist/plugins/async-hooks-stub.js.map +1 -1
- package/dist/plugins/client-reference-dedup.d.ts +7 -3
- package/dist/plugins/client-reference-dedup.js +63 -88
- package/dist/plugins/client-reference-dedup.js.map +1 -1
- package/dist/routing/app-router.d.ts +100 -96
- package/dist/routing/app-router.js +560 -670
- package/dist/routing/app-router.js.map +1 -1
- package/dist/routing/file-matcher.d.ts +18 -15
- package/dist/routing/file-matcher.js +65 -65
- package/dist/routing/file-matcher.js.map +1 -1
- package/dist/routing/pages-router.d.ts +23 -24
- package/dist/routing/pages-router.js +147 -172
- package/dist/routing/pages-router.js.map +1 -1
- package/dist/routing/route-trie.d.ts +23 -20
- package/dist/routing/route-trie.js +131 -151
- package/dist/routing/route-trie.js.map +1 -1
- package/dist/routing/route-validation.d.ts +5 -2
- package/dist/routing/route-validation.js +98 -130
- package/dist/routing/route-validation.js.map +1 -1
- package/dist/routing/utils.d.ts +10 -7
- package/dist/routing/utils.js +75 -111
- package/dist/routing/utils.js.map +1 -1
- package/dist/server/api-handler.d.ts +8 -13
- package/dist/server/api-handler.js +161 -193
- package/dist/server/api-handler.js.map +1 -1
- package/dist/server/app-router-entry.d.ts +6 -16
- package/dist/server/app-router-entry.js +26 -54
- package/dist/server/app-router-entry.js.map +1 -1
- package/dist/server/dev-module-runner.d.ts +11 -64
- package/dist/server/dev-module-runner.js +89 -101
- package/dist/server/dev-module-runner.js.map +1 -1
- package/dist/server/dev-origin-check.d.ts +12 -10
- package/dist/server/dev-origin-check.js +98 -108
- package/dist/server/dev-origin-check.js.map +1 -1
- package/dist/server/dev-server.d.ts +17 -14
- package/dist/server/dev-server.js +542 -869
- package/dist/server/dev-server.js.map +1 -1
- package/dist/server/html.d.ts +4 -1
- package/dist/server/html.js +25 -26
- package/dist/server/html.js.map +1 -1
- package/dist/server/image-optimization.d.ts +31 -28
- package/dist/server/image-optimization.js +181 -210
- package/dist/server/image-optimization.js.map +1 -1
- package/dist/server/instrumentation.d.ts +25 -22
- package/dist/server/instrumentation.js +110 -122
- package/dist/server/instrumentation.js.map +1 -1
- package/dist/server/isr-cache.d.ts +16 -26
- package/dist/server/isr-cache.js +106 -128
- package/dist/server/isr-cache.js.map +1 -1
- package/dist/server/metadata-routes.d.ts +85 -88
- package/dist/server/metadata-routes.js +270 -317
- package/dist/server/metadata-routes.js.map +1 -1
- package/dist/server/middleware-codegen.d.ts +7 -4
- package/dist/server/middleware-codegen.js +61 -61
- package/dist/server/middleware-codegen.js.map +1 -1
- package/dist/server/middleware-request-headers.d.ts +8 -6
- package/dist/server/middleware-request-headers.js +47 -65
- package/dist/server/middleware-request-headers.js.map +1 -1
- package/dist/server/middleware.d.ts +31 -47
- package/dist/server/middleware.js +273 -404
- package/dist/server/middleware.js.map +1 -1
- package/dist/server/normalize-path.d.ts +4 -1
- package/dist/server/normalize-path.js +33 -47
- package/dist/server/normalize-path.js.map +1 -1
- package/dist/server/pages-i18n.d.ts +38 -30
- package/dist/server/pages-i18n.js +112 -139
- package/dist/server/pages-i18n.js.map +1 -1
- package/dist/server/prod-server.d.ts +19 -31
- package/dist/server/prod-server.js +714 -945
- package/dist/server/prod-server.js.map +1 -1
- package/dist/server/request-log.d.ts +18 -12
- package/dist/server/request-log.js +45 -52
- package/dist/server/request-log.js.map +1 -1
- package/dist/server/request-pipeline.d.ts +9 -17
- package/dist/server/request-pipeline.js +133 -184
- package/dist/server/request-pipeline.js.map +1 -1
- package/dist/server/worker-utils.d.ts +4 -1
- package/dist/server/worker-utils.js +31 -37
- package/dist/server/worker-utils.js.map +1 -1
- package/dist/shims/amp.d.ts +5 -2
- package/dist/shims/amp.js +19 -15
- package/dist/shims/amp.js.map +1 -1
- package/dist/shims/app.d.ts +8 -10
- package/dist/shims/app.js +0 -1
- package/dist/shims/cache-runtime.d.ts +20 -45
- package/dist/shims/cache-runtime.js +271 -422
- package/dist/shims/cache-runtime.js.map +1 -1
- package/dist/shims/cache.d.ts +130 -121
- package/dist/shims/cache.js +339 -427
- package/dist/shims/cache.js.map +1 -1
- package/dist/shims/client-only.d.ts +1 -18
- package/dist/shims/client-only.js +0 -17
- package/dist/shims/compat-router.d.ts +4 -1
- package/dist/shims/compat-router.js +23 -19
- package/dist/shims/compat-router.js.map +1 -1
- package/dist/shims/config.d.ts +7 -5
- package/dist/shims/config.js +16 -23
- package/dist/shims/config.js.map +1 -1
- package/dist/shims/constants.d.ts +119 -118
- package/dist/shims/constants.js +159 -164
- package/dist/shims/constants.js.map +1 -1
- package/dist/shims/document.d.ts +20 -16
- package/dist/shims/document.js +41 -22
- package/dist/shims/document.js.map +1 -1
- package/dist/shims/dynamic.d.ts +13 -22
- package/dist/shims/dynamic.js +122 -136
- package/dist/shims/dynamic.js.map +1 -1
- package/dist/shims/error-boundary.d.ts +22 -15
- package/dist/shims/error-boundary.js +81 -79
- package/dist/shims/error-boundary.js.map +1 -1
- package/dist/shims/error.d.ts +11 -12
- package/dist/shims/error.js +35 -39
- package/dist/shims/error.js.map +1 -1
- package/dist/shims/fetch-cache.d.ts +16 -14
- package/dist/shims/fetch-cache.js +437 -645
- package/dist/shims/fetch-cache.js.map +1 -1
- package/dist/shims/font-google-base.d.ts +28 -26
- package/dist/shims/font-google-base.js +238 -325
- package/dist/shims/font-google-base.js.map +1 -1
- package/dist/shims/font-google.d.ts +3 -3
- package/dist/shims/font-google.generated.d.ts +1928 -1924
- package/dist/shims/font-google.generated.js +1928 -2133
- package/dist/shims/font-google.generated.js.map +1 -1
- package/dist/shims/font-google.js +3 -3
- package/dist/shims/font-local.d.ts +28 -26
- package/dist/shims/font-local.js +204 -260
- package/dist/shims/font-local.js.map +1 -1
- package/dist/shims/form.d.ts +13 -27
- package/dist/shims/form.js +128 -180
- package/dist/shims/form.js.map +1 -1
- package/dist/shims/head-state.d.ts +8 -13
- package/dist/shims/head-state.js +25 -42
- package/dist/shims/head-state.js.map +1 -1
- package/dist/shims/head.d.ts +16 -20
- package/dist/shims/head.js +172 -250
- package/dist/shims/head.js.map +1 -1
- package/dist/shims/headers.d.ts +84 -78
- package/dist/shims/headers.js +447 -575
- package/dist/shims/headers.js.map +1 -1
- package/dist/shims/i18n-context.d.ts +16 -20
- package/dist/shims/i18n-context.js +35 -48
- package/dist/shims/i18n-context.js.map +1 -1
- package/dist/shims/i18n-state.d.ts +8 -14
- package/dist/shims/i18n-state.js +34 -42
- package/dist/shims/i18n-state.js.map +1 -1
- package/dist/shims/image-config.d.ts +11 -8
- package/dist/shims/image-config.js +50 -83
- package/dist/shims/image-config.js.map +1 -1
- package/dist/shims/image.d.ts +37 -46
- package/dist/shims/image.js +283 -308
- package/dist/shims/image.js.map +1 -1
- package/dist/shims/internal/api-utils.d.ts +7 -4
- package/dist/shims/internal/api-utils.js +0 -6
- package/dist/shims/internal/app-router-context.d.ts +22 -17
- package/dist/shims/internal/app-router-context.js +17 -13
- package/dist/shims/internal/app-router-context.js.map +1 -1
- package/dist/shims/internal/cookies.d.ts +2 -9
- package/dist/shims/internal/cookies.js +2 -9
- package/dist/shims/internal/parse-cookie-header.d.ts +4 -1
- package/dist/shims/internal/parse-cookie-header.js +29 -29
- package/dist/shims/internal/parse-cookie-header.js.map +1 -1
- package/dist/shims/internal/router-context.d.ts +6 -1
- package/dist/shims/internal/router-context.js +11 -7
- package/dist/shims/internal/router-context.js.map +1 -1
- package/dist/shims/internal/utils.d.ts +40 -37
- package/dist/shims/internal/utils.js +24 -30
- package/dist/shims/internal/utils.js.map +1 -1
- package/dist/shims/internal/work-unit-async-storage.d.ts +6 -10
- package/dist/shims/internal/work-unit-async-storage.js +14 -11
- package/dist/shims/internal/work-unit-async-storage.js.map +1 -1
- package/dist/shims/layout-segment-context.d.ts +11 -14
- package/dist/shims/layout-segment-context.js +24 -23
- package/dist/shims/layout-segment-context.js.map +1 -1
- package/dist/shims/legacy-image.d.ts +39 -46
- package/dist/shims/legacy-image.js +47 -42
- package/dist/shims/legacy-image.js.map +1 -1
- package/dist/shims/link.d.ts +32 -36
- package/dist/shims/link.js +255 -391
- package/dist/shims/link.js.map +1 -1
- package/dist/shims/metadata.d.ts +210 -202
- package/dist/shims/metadata.js +545 -546
- package/dist/shims/metadata.js.map +1 -1
- package/dist/shims/navigation-state.d.ts +10 -18
- package/dist/shims/navigation-state.js +66 -74
- package/dist/shims/navigation-state.js.map +1 -1
- package/dist/shims/navigation.d.ts +59 -63
- package/dist/shims/navigation.js +505 -704
- package/dist/shims/navigation.js.map +1 -1
- package/dist/shims/og.d.ts +2 -20
- package/dist/shims/og.js +2 -19
- package/dist/shims/readonly-url-search-params.d.ts +8 -5
- package/dist/shims/readonly-url-search-params.js +26 -22
- package/dist/shims/readonly-url-search-params.js.map +1 -1
- package/dist/shims/request-context.d.ts +8 -5
- package/dist/shims/request-context.js +50 -60
- package/dist/shims/request-context.js.map +1 -1
- package/dist/shims/request-state-types.d.ts +11 -11
- package/dist/shims/request-state-types.js +0 -1
- package/dist/shims/router-state.d.ts +13 -10
- package/dist/shims/router-state.js +34 -43
- package/dist/shims/router-state.js.map +1 -1
- package/dist/shims/router.d.ts +81 -85
- package/dist/shims/router.js +506 -628
- package/dist/shims/router.js.map +1 -1
- package/dist/shims/script.d.ts +39 -48
- package/dist/shims/script.js +107 -160
- package/dist/shims/script.js.map +1 -1
- package/dist/shims/server-only.d.ts +1 -19
- package/dist/shims/server-only.js +0 -18
- package/dist/shims/server.d.ts +175 -164
- package/dist/shims/server.js +462 -478
- package/dist/shims/server.js.map +1 -1
- package/dist/shims/unified-request-context.d.ts +20 -20
- package/dist/shims/unified-request-context.js +81 -99
- package/dist/shims/unified-request-context.js.map +1 -1
- package/dist/shims/url-safety.d.ts +4 -1
- package/dist/shims/url-safety.js +15 -11
- package/dist/shims/url-safety.js.map +1 -1
- package/dist/shims/url-utils.d.ts +8 -5
- package/dist/shims/url-utils.js +62 -93
- package/dist/shims/url-utils.js.map +1 -1
- package/dist/shims/web-vitals.d.ts +10 -8
- package/dist/shims/web-vitals.js +9 -15
- package/dist/shims/web-vitals.js.map +1 -1
- package/dist/utils/base-path.d.ts +5 -2
- package/dist/utils/base-path.js +21 -19
- package/dist/utils/base-path.js.map +1 -1
- package/dist/utils/domain-locale.d.ts +17 -9
- package/dist/utils/domain-locale.js +36 -56
- package/dist/utils/domain-locale.js.map +1 -1
- package/dist/utils/hash.d.ts +4 -1
- package/dist/utils/hash.js +19 -17
- package/dist/utils/hash.js.map +1 -1
- package/dist/utils/manifest-paths.d.ts +6 -3
- package/dist/utils/manifest-paths.js +15 -16
- package/dist/utils/manifest-paths.js.map +1 -1
- package/dist/utils/project.d.ts +13 -11
- package/dist/utils/project.js +169 -216
- package/dist/utils/project.js.map +1 -1
- package/dist/utils/query.d.ts +8 -6
- package/dist/utils/query.js +57 -67
- package/dist/utils/query.js.map +1 -1
- package/package.json +10 -9
- package/dist/build/report.d.ts.map +0 -1
- package/dist/build/static-export.d.ts.map +0 -1
- package/dist/check.d.ts.map +0 -1
- package/dist/cli.d.ts.map +0 -1
- package/dist/client/entry.d.ts.map +0 -1
- package/dist/client/validate-module-path.d.ts.map +0 -1
- package/dist/client/vinext-next-data.d.ts.map +0 -1
- package/dist/client/vinext-next-data.js.map +0 -1
- package/dist/cloudflare/index.d.ts.map +0 -1
- package/dist/cloudflare/index.js.map +0 -1
- package/dist/cloudflare/kv-cache-handler.d.ts.map +0 -1
- package/dist/cloudflare/tpr.d.ts.map +0 -1
- package/dist/config/config-matchers.d.ts.map +0 -1
- package/dist/config/dotenv.d.ts.map +0 -1
- package/dist/config/next-config.d.ts.map +0 -1
- package/dist/deploy.d.ts.map +0 -1
- package/dist/entries/app-browser-entry.d.ts.map +0 -1
- package/dist/entries/app-rsc-entry.d.ts.map +0 -1
- package/dist/entries/app-ssr-entry.d.ts.map +0 -1
- package/dist/entries/pages-client-entry.d.ts.map +0 -1
- package/dist/entries/pages-entry-helpers.d.ts.map +0 -1
- package/dist/entries/pages-server-entry.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/init.d.ts.map +0 -1
- package/dist/plugins/async-hooks-stub.d.ts.map +0 -1
- package/dist/plugins/client-reference-dedup.d.ts.map +0 -1
- package/dist/routing/app-router.d.ts.map +0 -1
- package/dist/routing/file-matcher.d.ts.map +0 -1
- package/dist/routing/pages-router.d.ts.map +0 -1
- package/dist/routing/route-trie.d.ts.map +0 -1
- package/dist/routing/route-validation.d.ts.map +0 -1
- package/dist/routing/utils.d.ts.map +0 -1
- package/dist/server/api-handler.d.ts.map +0 -1
- package/dist/server/app-router-entry.d.ts.map +0 -1
- package/dist/server/dev-module-runner.d.ts.map +0 -1
- package/dist/server/dev-origin-check.d.ts.map +0 -1
- package/dist/server/dev-server.d.ts.map +0 -1
- package/dist/server/html.d.ts.map +0 -1
- package/dist/server/image-optimization.d.ts.map +0 -1
- package/dist/server/instrumentation.d.ts.map +0 -1
- package/dist/server/isr-cache.d.ts.map +0 -1
- package/dist/server/metadata-routes.d.ts.map +0 -1
- package/dist/server/middleware-codegen.d.ts.map +0 -1
- package/dist/server/middleware-request-headers.d.ts.map +0 -1
- package/dist/server/middleware.d.ts.map +0 -1
- package/dist/server/normalize-path.d.ts.map +0 -1
- package/dist/server/pages-i18n.d.ts.map +0 -1
- package/dist/server/prod-server.d.ts.map +0 -1
- package/dist/server/request-log.d.ts.map +0 -1
- package/dist/server/request-pipeline.d.ts.map +0 -1
- package/dist/server/worker-utils.d.ts.map +0 -1
- package/dist/shims/amp.d.ts.map +0 -1
- package/dist/shims/app.d.ts.map +0 -1
- package/dist/shims/app.js.map +0 -1
- package/dist/shims/cache-runtime.d.ts.map +0 -1
- package/dist/shims/cache.d.ts.map +0 -1
- package/dist/shims/client-only.d.ts.map +0 -1
- package/dist/shims/client-only.js.map +0 -1
- package/dist/shims/compat-router.d.ts.map +0 -1
- package/dist/shims/config.d.ts.map +0 -1
- package/dist/shims/constants.d.ts.map +0 -1
- package/dist/shims/document.d.ts.map +0 -1
- package/dist/shims/dynamic.d.ts.map +0 -1
- package/dist/shims/error-boundary.d.ts.map +0 -1
- package/dist/shims/error.d.ts.map +0 -1
- package/dist/shims/fetch-cache.d.ts.map +0 -1
- package/dist/shims/font-google-base.d.ts.map +0 -1
- package/dist/shims/font-google.d.ts.map +0 -1
- package/dist/shims/font-google.generated.d.ts.map +0 -1
- package/dist/shims/font-google.js.map +0 -1
- package/dist/shims/font-local.d.ts.map +0 -1
- package/dist/shims/form.d.ts.map +0 -1
- package/dist/shims/head-state.d.ts.map +0 -1
- package/dist/shims/head.d.ts.map +0 -1
- package/dist/shims/headers.d.ts.map +0 -1
- package/dist/shims/i18n-context.d.ts.map +0 -1
- package/dist/shims/i18n-state.d.ts.map +0 -1
- package/dist/shims/image-config.d.ts.map +0 -1
- package/dist/shims/image.d.ts.map +0 -1
- package/dist/shims/internal/api-utils.d.ts.map +0 -1
- package/dist/shims/internal/api-utils.js.map +0 -1
- package/dist/shims/internal/app-router-context.d.ts.map +0 -1
- package/dist/shims/internal/cookies.d.ts.map +0 -1
- package/dist/shims/internal/cookies.js.map +0 -1
- package/dist/shims/internal/parse-cookie-header.d.ts.map +0 -1
- package/dist/shims/internal/router-context.d.ts.map +0 -1
- package/dist/shims/internal/utils.d.ts.map +0 -1
- package/dist/shims/internal/work-unit-async-storage.d.ts.map +0 -1
- package/dist/shims/layout-segment-context.d.ts.map +0 -1
- package/dist/shims/legacy-image.d.ts.map +0 -1
- package/dist/shims/link.d.ts.map +0 -1
- package/dist/shims/metadata.d.ts.map +0 -1
- package/dist/shims/navigation-state.d.ts.map +0 -1
- package/dist/shims/navigation.d.ts.map +0 -1
- package/dist/shims/og.d.ts.map +0 -1
- package/dist/shims/og.js.map +0 -1
- package/dist/shims/readonly-url-search-params.d.ts.map +0 -1
- package/dist/shims/request-context.d.ts.map +0 -1
- package/dist/shims/request-state-types.d.ts.map +0 -1
- package/dist/shims/request-state-types.js.map +0 -1
- package/dist/shims/router-state.d.ts.map +0 -1
- package/dist/shims/router.d.ts.map +0 -1
- package/dist/shims/script.d.ts.map +0 -1
- package/dist/shims/server-only.d.ts.map +0 -1
- package/dist/shims/server-only.js.map +0 -1
- package/dist/shims/server.d.ts.map +0 -1
- package/dist/shims/unified-request-context.d.ts.map +0 -1
- package/dist/shims/url-safety.d.ts.map +0 -1
- package/dist/shims/url-utils.d.ts.map +0 -1
- package/dist/shims/web-vitals.d.ts.map +0 -1
- package/dist/utils/base-path.d.ts.map +0 -1
- package/dist/utils/domain-locale.d.ts.map +0 -1
- package/dist/utils/hash.d.ts.map +0 -1
- package/dist/utils/manifest-paths.d.ts.map +0 -1
- package/dist/utils/project.d.ts.map +0 -1
- package/dist/utils/query.d.ts.map +0 -1
package/dist/shims/image.js
CHANGED
|
@@ -1,341 +1,316 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* next/image shim
|
|
4
|
-
*
|
|
5
|
-
* Translates Next.js Image props to @unpic/react Image component.
|
|
6
|
-
* @unpic/react auto-detects CDN from URL and uses native transforms.
|
|
7
|
-
* For local images (relative paths), routes through `/_vinext/image`
|
|
8
|
-
* for server-side optimization (resize, format negotiation, quality).
|
|
9
|
-
*
|
|
10
|
-
* Remote images are validated against `images.remotePatterns` and
|
|
11
|
-
* `images.domains` from next.config.js. Unmatched URLs are blocked
|
|
12
|
-
* in production and warn in development, matching Next.js behavior.
|
|
13
|
-
*/
|
|
14
|
-
import { forwardRef } from "react";
|
|
15
|
-
import { Image as UnpicImage } from "@unpic/react";
|
|
16
1
|
import { hasRemoteMatch } from "./image-config.js";
|
|
2
|
+
import { forwardRef } from "react";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
import { Image as Image$1 } from "@unpic/react";
|
|
5
|
+
//#region src/shims/image.tsx
|
|
6
|
+
/**
|
|
7
|
+
* next/image shim
|
|
8
|
+
*
|
|
9
|
+
* Translates Next.js Image props to @unpic/react Image component.
|
|
10
|
+
* @unpic/react auto-detects CDN from URL and uses native transforms.
|
|
11
|
+
* For local images (relative paths), routes through `/_vinext/image`
|
|
12
|
+
* for server-side optimization (resize, format negotiation, quality).
|
|
13
|
+
*
|
|
14
|
+
* Remote images are validated against `images.remotePatterns` and
|
|
15
|
+
* `images.domains` from next.config.js. Unmatched URLs are blocked
|
|
16
|
+
* in production and warn in development, matching Next.js behavior.
|
|
17
|
+
*/
|
|
17
18
|
/**
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
* Image config injected at build time via Vite define.
|
|
20
|
+
* Serialized as JSON — parsed once at module level.
|
|
21
|
+
*/
|
|
21
22
|
const __imageRemotePatterns = (() => {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
23
|
+
try {
|
|
24
|
+
return JSON.parse(process.env.__VINEXT_IMAGE_REMOTE_PATTERNS ?? "[]");
|
|
25
|
+
} catch {
|
|
26
|
+
return [];
|
|
27
|
+
}
|
|
28
28
|
})();
|
|
29
29
|
const __imageDomains = (() => {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
30
|
+
try {
|
|
31
|
+
return JSON.parse(process.env.__VINEXT_IMAGE_DOMAINS ?? "[]");
|
|
32
|
+
} catch {
|
|
33
|
+
return [];
|
|
34
|
+
}
|
|
36
35
|
})();
|
|
37
36
|
const __hasImageConfig = __imageRemotePatterns.length > 0 || __imageDomains.length > 0;
|
|
38
37
|
const __isDev = process.env.NODE_ENV !== "production";
|
|
39
38
|
const __imageDeviceSizes = (() => {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
39
|
+
try {
|
|
40
|
+
return JSON.parse(process.env.__VINEXT_IMAGE_DEVICE_SIZES ?? "[640,750,828,1080,1200,1920,2048,3840]");
|
|
41
|
+
} catch {
|
|
42
|
+
return [
|
|
43
|
+
640,
|
|
44
|
+
750,
|
|
45
|
+
828,
|
|
46
|
+
1080,
|
|
47
|
+
1200,
|
|
48
|
+
1920,
|
|
49
|
+
2048,
|
|
50
|
+
3840
|
|
51
|
+
];
|
|
52
|
+
}
|
|
46
53
|
})();
|
|
47
54
|
/**
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
55
|
+
* Whether dangerouslyAllowSVG is enabled in next.config.js.
|
|
56
|
+
* When false (default), .svg sources auto-skip the optimization endpoint
|
|
57
|
+
* and are served directly, matching Next.js behavior.
|
|
58
|
+
* When true, .svg sources are routed through the optimizer (served as-is
|
|
59
|
+
* with security headers).
|
|
60
|
+
*/
|
|
54
61
|
const __dangerouslyAllowSVG = process.env.__VINEXT_IMAGE_DANGEROUSLY_ALLOW_SVG === "true";
|
|
55
62
|
/**
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
* Validate that a remote URL is allowed by the configured remote patterns.
|
|
64
|
+
* Returns true if the URL is allowed, false otherwise.
|
|
65
|
+
*
|
|
66
|
+
* When no remotePatterns/domains are configured, all remote URLs are allowed
|
|
67
|
+
* (backwards-compatible — user hasn't opted into restriction).
|
|
68
|
+
*
|
|
69
|
+
* When patterns ARE configured, only matching URLs are allowed.
|
|
70
|
+
* In development, non-matching URLs produce a console warning.
|
|
71
|
+
* In production, non-matching URLs are blocked (src replaced with empty string).
|
|
72
|
+
*/
|
|
66
73
|
function validateRemoteUrl(src) {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
allowed: false,
|
|
83
|
-
reason: `Image URL "${src}" is not configured in images.remotePatterns or images.domains in next.config.js. See: https://nextjs.org/docs/messages/next-image-unconfigured-host`,
|
|
84
|
-
};
|
|
74
|
+
if (!__hasImageConfig) return { allowed: true };
|
|
75
|
+
let url;
|
|
76
|
+
try {
|
|
77
|
+
url = new URL(src, "http://n");
|
|
78
|
+
} catch {
|
|
79
|
+
return {
|
|
80
|
+
allowed: false,
|
|
81
|
+
reason: `Invalid URL: ${src}`
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
if (hasRemoteMatch(__imageDomains, __imageRemotePatterns, url)) return { allowed: true };
|
|
85
|
+
return {
|
|
86
|
+
allowed: false,
|
|
87
|
+
reason: `Image URL "${src}" is not configured in images.remotePatterns or images.domains in next.config.js. See: https://nextjs.org/docs/messages/next-image-unconfigured-host`
|
|
88
|
+
};
|
|
85
89
|
}
|
|
86
90
|
/**
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
91
|
+
* Sanitize a blurDataURL to prevent CSS injection.
|
|
92
|
+
*
|
|
93
|
+
* A crafted data URL containing `)` can break out of the `url()` CSS function,
|
|
94
|
+
* allowing injection of arbitrary CSS properties or rules. Characters like `{`,
|
|
95
|
+
* `}`, and `\` can also assist in crafting injection payloads.
|
|
96
|
+
*
|
|
97
|
+
* This validates the URL starts with `data:image/` and rejects characters that
|
|
98
|
+
* could escape the `url()` context. Semicolons are allowed since they're part
|
|
99
|
+
* of valid data URLs (`data:image/png;base64,...`) and harmless inside `url()`.
|
|
100
|
+
*
|
|
101
|
+
* Returns undefined for invalid URLs, which causes the blur placeholder to be
|
|
102
|
+
* skipped gracefully.
|
|
103
|
+
*/
|
|
100
104
|
function sanitizeBlurDataURL(url) {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
// Reject characters that can break out of CSS url():
|
|
105
|
-
// ) - closes url()
|
|
106
|
-
// ( - could open nested functions
|
|
107
|
-
// { } - CSS rule boundaries
|
|
108
|
-
// \ - CSS escape sequences
|
|
109
|
-
// newlines - break CSS parsing
|
|
110
|
-
if (/[)(}{\\'"\n\r]/.test(url))
|
|
111
|
-
return undefined;
|
|
112
|
-
return url;
|
|
105
|
+
if (!url.startsWith("data:image/")) return void 0;
|
|
106
|
+
if (/[)(}{\\'"\n\r]/.test(url)) return void 0;
|
|
107
|
+
return url;
|
|
113
108
|
}
|
|
114
109
|
/**
|
|
115
|
-
|
|
116
|
-
|
|
110
|
+
* Determine if a src is a remote URL (CDN-optimizable) or local.
|
|
111
|
+
*/
|
|
117
112
|
function isRemoteUrl(src) {
|
|
118
|
-
|
|
113
|
+
return src.startsWith("http://") || src.startsWith("https://") || src.startsWith("//");
|
|
119
114
|
}
|
|
120
115
|
/**
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
116
|
+
* Responsive image widths matching Next.js's device sizes config.
|
|
117
|
+
* These are the breakpoints used for srcSet generation.
|
|
118
|
+
* Configurable via `images.deviceSizes` in next.config.js.
|
|
119
|
+
*/
|
|
125
120
|
const RESPONSIVE_WIDTHS = __imageDeviceSizes;
|
|
126
121
|
/**
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
122
|
+
* Build a `/_vinext/image` optimization URL.
|
|
123
|
+
*
|
|
124
|
+
* In production (Cloudflare Workers), the worker intercepts this path and uses
|
|
125
|
+
* the Images binding to resize/transcode on the fly. In dev, the Vite dev
|
|
126
|
+
* server handles it as a passthrough (serves the original file).
|
|
127
|
+
*/
|
|
128
|
+
function imageOptimizationUrl(src, width, quality = 75) {
|
|
129
|
+
return `/_vinext/image?url=${encodeURIComponent(src)}&w=${width}&q=${quality}`;
|
|
135
130
|
}
|
|
136
131
|
/**
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
132
|
+
* Generate a srcSet string for responsive images.
|
|
133
|
+
*
|
|
134
|
+
* Each width points to the `/_vinext/image` optimization endpoint so the
|
|
135
|
+
* server can resize and transcode the image. Only includes widths that are
|
|
136
|
+
* <= 2x the original image width to avoid pointless upscaling.
|
|
137
|
+
*/
|
|
143
138
|
function generateSrcSet(src, originalWidth, quality = 75) {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
return widths.map((w) => `${imageOptimizationUrl(src, w, quality)} ${w}w`).join(", ");
|
|
139
|
+
const widths = RESPONSIVE_WIDTHS.filter((w) => w <= originalWidth * 2);
|
|
140
|
+
if (widths.length === 0) return `${imageOptimizationUrl(src, originalWidth, quality)} ${originalWidth}w`;
|
|
141
|
+
return widths.map((w) => `${imageOptimizationUrl(src, w, quality)} ${w}w`).join(", ");
|
|
148
142
|
}
|
|
149
143
|
const Image = forwardRef(function Image({ src: srcProp, alt, width, height, fill, priority, quality, placeholder, blurDataURL, loader, sizes, className, style, onLoad, onLoadingComplete, unoptimized: _unoptimized, overrideSrc: _overrideSrc, loading, ...rest }, ref) {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
144
|
+
const handleLoad = onLoadingComplete ? (e) => {
|
|
145
|
+
onLoad?.(e);
|
|
146
|
+
onLoadingComplete(e.currentTarget);
|
|
147
|
+
} : onLoad;
|
|
148
|
+
const src = typeof srcProp === "string" ? srcProp : srcProp.src;
|
|
149
|
+
const imgWidth = width ?? (typeof srcProp === "object" ? srcProp.width : void 0);
|
|
150
|
+
const imgHeight = height ?? (typeof srcProp === "object" ? srcProp.height : void 0);
|
|
151
|
+
const imgBlurDataURL = blurDataURL ?? (typeof srcProp === "object" ? srcProp.blurDataURL : void 0);
|
|
152
|
+
if (loader) return /* @__PURE__ */ jsx("img", {
|
|
153
|
+
ref,
|
|
154
|
+
src: loader({
|
|
155
|
+
src,
|
|
156
|
+
width: imgWidth ?? 0,
|
|
157
|
+
quality: quality ?? 75
|
|
158
|
+
}),
|
|
159
|
+
alt,
|
|
160
|
+
width: fill ? void 0 : imgWidth,
|
|
161
|
+
height: fill ? void 0 : imgHeight,
|
|
162
|
+
loading: priority ? "eager" : loading ?? "lazy",
|
|
163
|
+
decoding: "async",
|
|
164
|
+
sizes,
|
|
165
|
+
className,
|
|
166
|
+
onLoad: handleLoad,
|
|
167
|
+
style: fill ? {
|
|
168
|
+
position: "absolute",
|
|
169
|
+
inset: 0,
|
|
170
|
+
width: "100%",
|
|
171
|
+
height: "100%",
|
|
172
|
+
objectFit: "cover",
|
|
173
|
+
...style
|
|
174
|
+
} : style,
|
|
175
|
+
...rest
|
|
176
|
+
});
|
|
177
|
+
if (isRemoteUrl(src)) {
|
|
178
|
+
const validation = validateRemoteUrl(src);
|
|
179
|
+
if (!validation.allowed) if (__isDev) console.warn(`[next/image] ${validation.reason}`);
|
|
180
|
+
else {
|
|
181
|
+
console.error(`[next/image] ${validation.reason}`);
|
|
182
|
+
return null;
|
|
183
|
+
}
|
|
184
|
+
const sanitizedBlur = imgBlurDataURL ? sanitizeBlurDataURL(imgBlurDataURL) : void 0;
|
|
185
|
+
const bg = placeholder === "blur" && sanitizedBlur ? `url(${sanitizedBlur})` : void 0;
|
|
186
|
+
if (fill) return /* @__PURE__ */ jsx(Image$1, {
|
|
187
|
+
src,
|
|
188
|
+
alt,
|
|
189
|
+
layout: "fullWidth",
|
|
190
|
+
priority,
|
|
191
|
+
sizes,
|
|
192
|
+
className,
|
|
193
|
+
background: bg,
|
|
194
|
+
onLoad: handleLoad
|
|
195
|
+
});
|
|
196
|
+
if (imgWidth && imgHeight) return /* @__PURE__ */ jsx(Image$1, {
|
|
197
|
+
src,
|
|
198
|
+
alt,
|
|
199
|
+
width: imgWidth,
|
|
200
|
+
height: imgHeight,
|
|
201
|
+
layout: "constrained",
|
|
202
|
+
priority,
|
|
203
|
+
sizes,
|
|
204
|
+
className,
|
|
205
|
+
background: bg,
|
|
206
|
+
onLoad: handleLoad
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
const imgQuality = quality ?? 75;
|
|
210
|
+
const isSvg = src.endsWith(".svg");
|
|
211
|
+
const skipOptimization = _unoptimized === true || isSvg && !__dangerouslyAllowSVG;
|
|
212
|
+
const srcSet = imgWidth && !fill && !skipOptimization ? generateSrcSet(src, imgWidth, imgQuality) : imgWidth && !fill ? RESPONSIVE_WIDTHS.filter((w) => w <= imgWidth * 2).map((w) => `${src} ${w}w`).join(", ") || `${src} ${imgWidth}w` : void 0;
|
|
213
|
+
const optimizedSrc = skipOptimization ? src : imgWidth ? imageOptimizationUrl(src, imgWidth, imgQuality) : imageOptimizationUrl(src, RESPONSIVE_WIDTHS[0], imgQuality);
|
|
214
|
+
const sanitizedLocalBlur = imgBlurDataURL ? sanitizeBlurDataURL(imgBlurDataURL) : void 0;
|
|
215
|
+
const blurStyle = placeholder === "blur" && sanitizedLocalBlur ? {
|
|
216
|
+
backgroundImage: `url(${sanitizedLocalBlur})`,
|
|
217
|
+
backgroundSize: "cover",
|
|
218
|
+
backgroundRepeat: "no-repeat",
|
|
219
|
+
backgroundPosition: "center"
|
|
220
|
+
} : void 0;
|
|
221
|
+
return /* @__PURE__ */ jsx("img", {
|
|
222
|
+
ref,
|
|
223
|
+
src: optimizedSrc,
|
|
224
|
+
alt,
|
|
225
|
+
width: fill ? void 0 : imgWidth,
|
|
226
|
+
height: fill ? void 0 : imgHeight,
|
|
227
|
+
loading: priority ? "eager" : loading ?? "lazy",
|
|
228
|
+
fetchPriority: priority ? "high" : void 0,
|
|
229
|
+
decoding: "async",
|
|
230
|
+
srcSet,
|
|
231
|
+
sizes: sizes ?? (fill ? "100vw" : void 0),
|
|
232
|
+
className,
|
|
233
|
+
"data-nimg": fill ? "fill" : "1",
|
|
234
|
+
onLoad: handleLoad,
|
|
235
|
+
style: fill ? {
|
|
236
|
+
position: "absolute",
|
|
237
|
+
inset: 0,
|
|
238
|
+
width: "100%",
|
|
239
|
+
height: "100%",
|
|
240
|
+
objectFit: "cover",
|
|
241
|
+
...blurStyle,
|
|
242
|
+
...style
|
|
243
|
+
} : {
|
|
244
|
+
...blurStyle,
|
|
245
|
+
...style
|
|
246
|
+
},
|
|
247
|
+
...rest
|
|
248
|
+
});
|
|
252
249
|
});
|
|
253
250
|
/**
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
alt,
|
|
316
|
-
width: fill ? undefined : imgWidth,
|
|
317
|
-
height: fill ? undefined : imgHeight,
|
|
318
|
-
loading: priority ? "eager" : (loading ?? "lazy"),
|
|
319
|
-
fetchPriority: priority ? "high" : undefined,
|
|
320
|
-
decoding: "async",
|
|
321
|
-
srcSet,
|
|
322
|
-
sizes: sizes ?? (fill ? "100vw" : undefined),
|
|
323
|
-
className,
|
|
324
|
-
"data-nimg": fill ? "fill" : "1",
|
|
325
|
-
style: fill
|
|
326
|
-
? {
|
|
327
|
-
position: "absolute",
|
|
328
|
-
inset: 0,
|
|
329
|
-
width: "100%",
|
|
330
|
-
height: "100%",
|
|
331
|
-
objectFit: "cover",
|
|
332
|
-
...blurStyle,
|
|
333
|
-
...style,
|
|
334
|
-
}
|
|
335
|
-
: { ...blurStyle, ...style },
|
|
336
|
-
...rest,
|
|
337
|
-
},
|
|
338
|
-
};
|
|
251
|
+
* getImageProps — for advanced use cases (picture elements, background images).
|
|
252
|
+
* Returns the props that would be passed to the underlying <img> element.
|
|
253
|
+
*/
|
|
254
|
+
function getImageProps(props) {
|
|
255
|
+
const { src: srcProp, alt, width, height, fill, priority, quality: _quality, placeholder, blurDataURL: blurDataURLProp, loader, sizes, className, style, onLoad: _onLoad, onLoadingComplete: _onLoadingComplete, unoptimized: _unoptimized, overrideSrc: _overrideSrc, loading, ...rest } = props;
|
|
256
|
+
const src = typeof srcProp === "string" ? srcProp : srcProp.src;
|
|
257
|
+
const imgWidth = width ?? (typeof srcProp === "object" ? srcProp.width : void 0);
|
|
258
|
+
const imgHeight = height ?? (typeof srcProp === "object" ? srcProp.height : void 0);
|
|
259
|
+
const imgBlurDataURL = blurDataURLProp ?? (typeof srcProp === "object" ? srcProp.blurDataURL : void 0);
|
|
260
|
+
let blockedInProd = false;
|
|
261
|
+
if (isRemoteUrl(src)) {
|
|
262
|
+
const validation = validateRemoteUrl(src);
|
|
263
|
+
if (!validation.allowed) if (__isDev) console.warn(`[next/image] ${validation.reason}`);
|
|
264
|
+
else {
|
|
265
|
+
console.error(`[next/image] ${validation.reason}`);
|
|
266
|
+
blockedInProd = true;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
const imgQuality = _quality ?? 75;
|
|
270
|
+
const resolvedSrc = blockedInProd ? "" : loader ? loader({
|
|
271
|
+
src,
|
|
272
|
+
width: imgWidth ?? 0,
|
|
273
|
+
quality: imgQuality
|
|
274
|
+
}) : src;
|
|
275
|
+
const isSvg = resolvedSrc.endsWith(".svg");
|
|
276
|
+
const skipOpt = _unoptimized === true || isSvg && !__dangerouslyAllowSVG || blockedInProd || !!loader || isRemoteUrl(resolvedSrc);
|
|
277
|
+
const optimizedSrc = skipOpt ? resolvedSrc : imgWidth ? imageOptimizationUrl(resolvedSrc, imgWidth, imgQuality) : imageOptimizationUrl(resolvedSrc, RESPONSIVE_WIDTHS[0], imgQuality);
|
|
278
|
+
const srcSet = imgWidth && !fill && !isRemoteUrl(resolvedSrc) && !loader && !skipOpt ? generateSrcSet(resolvedSrc, imgWidth, imgQuality) : void 0;
|
|
279
|
+
const sanitizedBlurURL = imgBlurDataURL ? sanitizeBlurDataURL(imgBlurDataURL) : void 0;
|
|
280
|
+
const blurStyle = placeholder === "blur" && sanitizedBlurURL ? {
|
|
281
|
+
backgroundImage: `url(${sanitizedBlurURL})`,
|
|
282
|
+
backgroundSize: "cover",
|
|
283
|
+
backgroundRepeat: "no-repeat",
|
|
284
|
+
backgroundPosition: "center"
|
|
285
|
+
} : void 0;
|
|
286
|
+
return { props: {
|
|
287
|
+
src: optimizedSrc,
|
|
288
|
+
alt,
|
|
289
|
+
width: fill ? void 0 : imgWidth,
|
|
290
|
+
height: fill ? void 0 : imgHeight,
|
|
291
|
+
loading: priority ? "eager" : loading ?? "lazy",
|
|
292
|
+
fetchPriority: priority ? "high" : void 0,
|
|
293
|
+
decoding: "async",
|
|
294
|
+
srcSet,
|
|
295
|
+
sizes: sizes ?? (fill ? "100vw" : void 0),
|
|
296
|
+
className,
|
|
297
|
+
"data-nimg": fill ? "fill" : "1",
|
|
298
|
+
style: fill ? {
|
|
299
|
+
position: "absolute",
|
|
300
|
+
inset: 0,
|
|
301
|
+
width: "100%",
|
|
302
|
+
height: "100%",
|
|
303
|
+
objectFit: "cover",
|
|
304
|
+
...blurStyle,
|
|
305
|
+
...style
|
|
306
|
+
} : {
|
|
307
|
+
...blurStyle,
|
|
308
|
+
...style
|
|
309
|
+
},
|
|
310
|
+
...rest
|
|
311
|
+
} };
|
|
339
312
|
}
|
|
340
|
-
|
|
313
|
+
//#endregion
|
|
314
|
+
export { Image as default, getImageProps, imageOptimizationUrl };
|
|
315
|
+
|
|
341
316
|
//# sourceMappingURL=image.js.map
|