@netlify/plugin-nextjs 4.41.3 → 5.0.0-beta.1
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 +61 -17
- package/dist/build/cache.js +15 -0
- package/dist/build/content/prerendered.js +16 -0
- package/dist/build/content/server.js +18 -0
- package/dist/build/content/static.js +20 -0
- package/dist/build/functions/edge.js +14 -0
- package/dist/build/functions/server.js +16 -0
- package/dist/build/plugin-context.js +17 -0
- package/dist/esm-chunks/chunk-4AJYXTWN.js +17 -0
- package/dist/esm-chunks/chunk-5N2CWXSJ.js +564 -0
- package/dist/esm-chunks/chunk-A22224GM.js +113 -0
- package/dist/esm-chunks/chunk-AVWFCGVE.js +5536 -0
- package/dist/esm-chunks/chunk-B6QMRLBH.js +255 -0
- package/dist/esm-chunks/chunk-G3GM7JNF.js +92 -0
- package/dist/esm-chunks/chunk-GGHAQM5D.js +28 -0
- package/dist/esm-chunks/chunk-NOX2JUQZ.js +89 -0
- package/dist/esm-chunks/chunk-R4NHZWGU.js +32 -0
- package/dist/esm-chunks/chunk-RSKIKBZH.js +44 -0
- package/dist/esm-chunks/chunk-UXLNY5XK.js +86 -0
- package/dist/esm-chunks/chunk-VP3PT3VV.js +119 -0
- package/dist/esm-chunks/chunk-YZXA5QBC.js +60 -0
- package/dist/esm-chunks/chunk-Z7ZMLVTM.js +78 -0
- package/dist/index.js +66 -0
- package/dist/run/config.js +18 -0
- package/dist/run/constants.js +15 -0
- package/dist/run/handlers/cache.cjs +852 -0
- package/dist/run/handlers/server.js +3297 -0
- package/dist/run/headers.js +19 -0
- package/dist/run/next.cjs +1058 -0
- package/dist/run/revalidate.js +13 -0
- package/dist/run/systemlog.js +15 -0
- package/edge-runtime/README.md +29 -0
- package/edge-runtime/lib/headers.ts +26 -0
- package/edge-runtime/lib/middleware.ts +60 -0
- package/edge-runtime/lib/next-request.ts +59 -0
- package/edge-runtime/lib/response.ts +145 -0
- package/{src/templates/edge-shared/next-utils.ts → edge-runtime/lib/routing.ts} +64 -20
- package/edge-runtime/lib/util.ts +26 -0
- package/edge-runtime/middleware.ts +53 -0
- package/edge-runtime/shim/index.js +11 -0
- package/{src/templates → edge-runtime}/vendor/deno.land/x/html_rewriter@v0.1.0-pre.17/index.ts +1 -1
- package/edge-runtime/vendor/import_map.json +13 -0
- package/edge-runtime/vendor.ts +18 -0
- package/manifest.yml +1 -1
- package/package.json +23 -60
- package/index.js +0 -1
- package/lib/constants.js +0 -56
- package/lib/helpers/analysis.js +0 -115
- package/lib/helpers/cache.js +0 -46
- package/lib/helpers/compiler.js +0 -119
- package/lib/helpers/config.js +0 -192
- package/lib/helpers/dev.js +0 -20
- package/lib/helpers/edge.js +0 -328
- package/lib/helpers/files.js +0 -335
- package/lib/helpers/flags.js +0 -46
- package/lib/helpers/functions.js +0 -437
- package/lib/helpers/functionsMetaData.js +0 -46
- package/lib/helpers/matchers.js +0 -41
- package/lib/helpers/middlewareWatcher.js +0 -12
- package/lib/helpers/pack.js +0 -41
- package/lib/helpers/redirects.js +0 -246
- package/lib/helpers/types.js +0 -2
- package/lib/helpers/utils.js +0 -226
- package/lib/helpers/verification.js +0 -182
- package/lib/index.js +0 -194
- package/lib/templates/blobStorage.js +0 -30
- package/lib/templates/getApiHandler.js +0 -120
- package/lib/templates/getHandler.js +0 -201
- package/lib/templates/getPageResolver.js +0 -54
- package/lib/templates/handlerUtils.js +0 -268
- package/lib/templates/ipx.js +0 -13
- package/lib/templates/requireHooks.js +0 -105
- package/lib/templates/server.js +0 -159
- package/lib/templates/vendor.js +0 -20
- package/src/templates/edge/bundle.js +0 -8
- package/src/templates/edge/function-runtime.ts +0 -24
- package/src/templates/edge/imageconfig.json +0 -3
- package/src/templates/edge/ipx.ts +0 -5
- package/src/templates/edge/middleware-runtime.ts +0 -62
- package/src/templates/edge/next-dev.js +0 -104
- package/src/templates/edge/rsc-data.ts +0 -5
- package/src/templates/edge/shims.js +0 -77
- package/src/templates/edge-shared/nextConfig.json +0 -3
- package/src/templates/edge-shared/prerender-manifest.json +0 -7
- package/src/templates/edge-shared/rsc-data.ts +0 -78
- package/src/templates/edge-shared/utils.test.ts +0 -114
- package/src/templates/edge-shared/utils.ts +0 -315
- package/src/templates/vendor/import_map.json +0 -13
- /package/{src/templates/edge → edge-runtime}/matchers.json +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.134.0/fmt/colors.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.134.0/testing/_diff.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.134.0/testing/asserts.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/_util/asserts.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/_util/os.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/async/abortable.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/async/deadline.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/async/debounce.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/async/deferred.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/async/delay.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/async/mod.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/async/mux_async_iterator.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/async/pool.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/async/retry.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/async/tee.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/bytes/index_of_needle.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/crypto/timing_safe_equal.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/datetime/to_imf.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/encoding/base64.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/encoding/base64url.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/flags/mod.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/fmt/colors.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/fmt/printf.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/http/cookie.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/_core.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/_events.d.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/_events.mjs +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/_global.d.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/_next_tick.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/_process/exiting.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/_process/process.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/_process/stdio.mjs +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/_process/streams.mjs +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/_stream.d.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/_stream.mjs +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/_util/_util_callbackify.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/_utils.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/assert.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/assertion_error.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/async_hooks.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/buffer.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/events.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/buffer.d.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/buffer.mjs +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/crypto/_keys.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/crypto/constants.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/error_codes.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/errors.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/fixed_queue.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/hide_stack_frames.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/net.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/normalize_encoding.mjs +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/options.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/primordials.mjs +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/process/per_thread.mjs +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/readline/callbacks.mjs +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/readline/utils.mjs +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/streams/destroy.mjs +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/streams/end-of-stream.mjs +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/streams/utils.mjs +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/util/comparisons.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/util/debuglog.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/util/inspect.mjs +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/util/types.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/util.mjs +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/validators.mjs +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/_libuv_winerror.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/_listen.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/_node.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/_timingSafeEqual.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/_utils.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/_winerror.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/ares.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/async_wrap.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/buffer.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/cares_wrap.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/config.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/connection_wrap.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/constants.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/contextify.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/credentials.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/crypto.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/errors.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/fs.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/fs_dir.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/fs_event_wrap.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/handle_wrap.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/heap_utils.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/http_parser.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/icu.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/inspector.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/js_stream.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/messaging.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/mod.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/module_wrap.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/native_module.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/natives.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/node_file.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/node_options.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/options.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/os.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/performance.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/pipe_wrap.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/process_methods.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/report.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/serdes.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/signal_wrap.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/spawn_sync.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/stream_wrap.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/string_decoder.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/symbols.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/task_queue.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/tcp_wrap.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/timers.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/tls_wrap.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/trace_events.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/tty_wrap.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/types.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/udp_wrap.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/url.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/util.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/uv.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/v8.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/worker.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/zlib.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/process.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/stream.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/string_decoder.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/util/types.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/util.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/path/_constants.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/path/_interface.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/path/_util.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/path/common.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/path/glob.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/path/mod.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/path/posix.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/path/separator.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/path/win32.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/streams/write_all.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/testing/_diff.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/testing/_format.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/testing/asserts.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/types.d.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/x/html_rewriter@v0.1.0-pre.17/vendor/asyncify.js +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/x/html_rewriter@v0.1.0-pre.17/vendor/html_rewriter.d.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/x/html_rewriter@v0.1.0-pre.17/vendor/html_rewriter.js +0 -0
- /package/{src/templates → edge-runtime}/vendor/deno.land/x/path_to_regexp@v6.2.1/index.ts +0 -0
- /package/{src/templates → edge-runtime}/vendor/esm.sh/v91/next@12.2.5/deno/dist/compiled/cookie.js +0 -0
- /package/{src/templates → edge-runtime}/vendor/esm.sh/v91/next@12.2.5/deno/dist/server/web/spec-extension/request.js +0 -0
- /package/{src/templates → edge-runtime}/vendor/esm.sh/v91/next@12.2.5/deno/dist/server/web/spec-extension/response.js +0 -0
- /package/{src/templates → edge-runtime}/vendor/raw.githubusercontent.com/worker-tools/resolvable-promise/master/index.ts +0 -0
package/lib/helpers/files.js
DELETED
|
@@ -1,335 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.removeMetadataFiles = exports.movePublicFiles = exports.getDependenciesOfFile = exports.getSourceFileForPage = exports.getServerFile = exports.moveStaticPages = exports.getMiddleware = exports.matchesRewrite = exports.matchesRedirect = exports.matchMiddleware = exports.stripLocale = exports.isDynamicRoute = void 0;
|
|
7
|
-
const os_1 = require("os");
|
|
8
|
-
const chalk_1 = require("chalk");
|
|
9
|
-
const fs_extra_1 = require("fs-extra");
|
|
10
|
-
const globby_1 = __importDefault(require("globby"));
|
|
11
|
-
const outdent_1 = require("outdent");
|
|
12
|
-
const p_limit_1 = __importDefault(require("p-limit"));
|
|
13
|
-
const pathe_1 = require("pathe");
|
|
14
|
-
const slash_1 = __importDefault(require("slash"));
|
|
15
|
-
const constants_1 = require("../constants");
|
|
16
|
-
const blobStorage_1 = require("../templates/blobStorage");
|
|
17
|
-
const edge_1 = require("./edge");
|
|
18
|
-
const utils_1 = require("./utils");
|
|
19
|
-
const TEST_ROUTE = /(|\/)\[[^/]+?](\/|\.html|$)/;
|
|
20
|
-
const isDynamicRoute = (route) => TEST_ROUTE.test(route);
|
|
21
|
-
exports.isDynamicRoute = isDynamicRoute;
|
|
22
|
-
const stripLocale = (rawPath, locales = []) => {
|
|
23
|
-
const [locale, ...segments] = rawPath.split('/');
|
|
24
|
-
if (locales.includes(locale)) {
|
|
25
|
-
return segments.join('/');
|
|
26
|
-
}
|
|
27
|
-
return rawPath;
|
|
28
|
-
};
|
|
29
|
-
exports.stripLocale = stripLocale;
|
|
30
|
-
const matchMiddleware = (middleware, filePath) => (middleware === null || middleware === void 0 ? void 0 : middleware.includes('')) ||
|
|
31
|
-
(middleware === null || middleware === void 0 ? void 0 : middleware.find((middlewarePath) => filePath === middlewarePath || filePath === `${middlewarePath}.html` || filePath.startsWith(`${middlewarePath}/`)));
|
|
32
|
-
exports.matchMiddleware = matchMiddleware;
|
|
33
|
-
const matchesRedirect = (file, redirects) => {
|
|
34
|
-
if (!Array.isArray(redirects)) {
|
|
35
|
-
return false;
|
|
36
|
-
}
|
|
37
|
-
return redirects.some((redirect) => {
|
|
38
|
-
if (!redirect.regex || redirect.internal) {
|
|
39
|
-
return false;
|
|
40
|
-
}
|
|
41
|
-
// Strips the extension from the file path
|
|
42
|
-
return new RegExp(redirect.regex).test(`/${file.slice(0, -5)}`);
|
|
43
|
-
});
|
|
44
|
-
};
|
|
45
|
-
exports.matchesRedirect = matchesRedirect;
|
|
46
|
-
const matchesRewrite = (file, rewrites) => {
|
|
47
|
-
if (Array.isArray(rewrites)) {
|
|
48
|
-
return (0, exports.matchesRedirect)(file, rewrites);
|
|
49
|
-
}
|
|
50
|
-
if (!Array.isArray(rewrites === null || rewrites === void 0 ? void 0 : rewrites.beforeFiles)) {
|
|
51
|
-
return false;
|
|
52
|
-
}
|
|
53
|
-
return (0, exports.matchesRedirect)(file, rewrites.beforeFiles);
|
|
54
|
-
};
|
|
55
|
-
exports.matchesRewrite = matchesRewrite;
|
|
56
|
-
const getMiddleware = async (publish) => {
|
|
57
|
-
var _a;
|
|
58
|
-
if (process.env.NEXT_DISABLE_NETLIFY_EDGE !== 'true' && process.env.NEXT_DISABLE_NETLIFY_EDGE !== '1') {
|
|
59
|
-
return [];
|
|
60
|
-
}
|
|
61
|
-
const manifestPath = (0, pathe_1.join)(publish, 'server', 'middleware-manifest.json');
|
|
62
|
-
if ((0, fs_extra_1.existsSync)(manifestPath)) {
|
|
63
|
-
const manifest = await (0, fs_extra_1.readJson)(manifestPath, { throws: false });
|
|
64
|
-
return (_a = manifest === null || manifest === void 0 ? void 0 : manifest.sortedMiddleware) !== null && _a !== void 0 ? _a : [];
|
|
65
|
-
}
|
|
66
|
-
return [];
|
|
67
|
-
};
|
|
68
|
-
exports.getMiddleware = getMiddleware;
|
|
69
|
-
// eslint-disable-next-line max-lines-per-function
|
|
70
|
-
const moveStaticPages = async ({ netlifyConfig, target, nextConfig, netliBlob, }) => {
|
|
71
|
-
const { i18n, basePath } = nextConfig;
|
|
72
|
-
console.log('Moving static page files to serve from CDN...');
|
|
73
|
-
const outputDir = (0, pathe_1.join)(netlifyConfig.build.publish, target === 'serverless' ? 'serverless' : 'server');
|
|
74
|
-
const buildId = (0, fs_extra_1.readFileSync)((0, pathe_1.join)(netlifyConfig.build.publish, 'BUILD_ID'), 'utf8').trim();
|
|
75
|
-
const dataDir = (0, pathe_1.join)('_next', 'data', buildId);
|
|
76
|
-
await (0, fs_extra_1.ensureDir)((0, pathe_1.join)(netlifyConfig.build.publish, dataDir));
|
|
77
|
-
// Load the middleware manifest so we can check if a file matches it before moving
|
|
78
|
-
const middlewarePaths = await (0, exports.getMiddleware)(netlifyConfig.build.publish);
|
|
79
|
-
const middleware = middlewarePaths.map((path) => path.slice(1));
|
|
80
|
-
const prerenderManifest = await (0, edge_1.loadPrerenderManifest)(netlifyConfig);
|
|
81
|
-
const { redirects, rewrites } = await (0, fs_extra_1.readJson)((0, pathe_1.join)(netlifyConfig.build.publish, 'routes-manifest.json'));
|
|
82
|
-
const isrFiles = new Set();
|
|
83
|
-
const shortRevalidateRoutes = [];
|
|
84
|
-
Object.entries(prerenderManifest.routes).forEach(([route, ssgRoute]) => {
|
|
85
|
-
const { initialRevalidateSeconds } = ssgRoute;
|
|
86
|
-
const trimmedPath = route === '/' ? 'index' : route.slice(1);
|
|
87
|
-
if (initialRevalidateSeconds) {
|
|
88
|
-
// Find all files used by ISR routes
|
|
89
|
-
isrFiles.add(`${trimmedPath}.html`);
|
|
90
|
-
isrFiles.add(`${trimmedPath}.json`);
|
|
91
|
-
isrFiles.add(`${trimmedPath}.rsc`);
|
|
92
|
-
if (initialRevalidateSeconds < constants_1.MINIMUM_REVALIDATE_SECONDS) {
|
|
93
|
-
shortRevalidateRoutes.push({ Route: route, Revalidate: initialRevalidateSeconds });
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
});
|
|
97
|
-
let fileCount = 0;
|
|
98
|
-
let blobCount = 0;
|
|
99
|
-
const filesManifest = {};
|
|
100
|
-
const blobsManifest = new Set();
|
|
101
|
-
const getSourceAndTargetPath = (file) => {
|
|
102
|
-
const source = (0, pathe_1.join)(outputDir, file);
|
|
103
|
-
// Strip the initial 'app' or 'pages' directory from the output path
|
|
104
|
-
const pathname = file.split('/').slice(1).join('/');
|
|
105
|
-
// .rsc data files go next to the html file
|
|
106
|
-
const isData = file.endsWith('.json');
|
|
107
|
-
const targetFile = isData ? (0, pathe_1.join)(dataDir, pathname) : pathname;
|
|
108
|
-
const targetPath = basePath ? (0, pathe_1.join)(basePath, targetFile) : targetFile;
|
|
109
|
-
return {
|
|
110
|
-
targetPath,
|
|
111
|
-
source,
|
|
112
|
-
};
|
|
113
|
-
};
|
|
114
|
-
const moveFile = async (file) => {
|
|
115
|
-
const { source, targetPath } = getSourceAndTargetPath(file);
|
|
116
|
-
fileCount += 1;
|
|
117
|
-
filesManifest[file] = targetPath;
|
|
118
|
-
const dest = (0, pathe_1.join)(netlifyConfig.build.publish, targetPath);
|
|
119
|
-
try {
|
|
120
|
-
await (0, fs_extra_1.move)(source, dest);
|
|
121
|
-
}
|
|
122
|
-
catch (error) {
|
|
123
|
-
console.warn('Error moving file', source, error);
|
|
124
|
-
}
|
|
125
|
-
};
|
|
126
|
-
const uploadFileToBlobStorageAndDelete = async (file) => {
|
|
127
|
-
const { source } = getSourceAndTargetPath(file);
|
|
128
|
-
blobsManifest.add(file);
|
|
129
|
-
const content = await (0, fs_extra_1.readFile)(source, 'utf8');
|
|
130
|
-
blobCount += 1;
|
|
131
|
-
await netliBlob.set((0, blobStorage_1.getNormalizedBlobKey)(file), content);
|
|
132
|
-
await (0, fs_extra_1.remove)(source);
|
|
133
|
-
};
|
|
134
|
-
// Move all static files, except nft manifests
|
|
135
|
-
const pages = await (0, globby_1.default)(['{app,pages}/**/*.{html,json,rsc}', '!**/*.js.nft.{html,json}'], {
|
|
136
|
-
cwd: outputDir,
|
|
137
|
-
dot: true,
|
|
138
|
-
});
|
|
139
|
-
const matchingMiddleware = new Set();
|
|
140
|
-
const matchedPages = new Set();
|
|
141
|
-
const matchedRedirects = new Set();
|
|
142
|
-
const matchedRewrites = new Set();
|
|
143
|
-
// Limit concurrent file moves to number of cpus or 2 if there is only 1
|
|
144
|
-
const limit = (0, p_limit_1.default)(Math.max(2, (0, os_1.cpus)().length));
|
|
145
|
-
const promises = pages.map((rawPath) => {
|
|
146
|
-
// Convert to POSIX path
|
|
147
|
-
const filePath = (0, slash_1.default)(rawPath);
|
|
148
|
-
// Remove the initial 'app' or 'pages' directory from the output path
|
|
149
|
-
const pagePath = filePath.split('/').slice(1).join('/');
|
|
150
|
-
if (isrFiles.has(pagePath)) {
|
|
151
|
-
if (netliBlob) {
|
|
152
|
-
// if netliblob is enabled, we will move ISR assets to blob store and delete files after that
|
|
153
|
-
// to minimize the number of files needed in lambda
|
|
154
|
-
return limit(uploadFileToBlobStorageAndDelete, filePath);
|
|
155
|
-
}
|
|
156
|
-
// Don't move ISR files, as they're used for the first request
|
|
157
|
-
return;
|
|
158
|
-
}
|
|
159
|
-
if ((0, exports.isDynamicRoute)(pagePath)) {
|
|
160
|
-
return;
|
|
161
|
-
}
|
|
162
|
-
if ((0, exports.matchesRedirect)(pagePath, redirects)) {
|
|
163
|
-
matchedRedirects.add(pagePath);
|
|
164
|
-
return;
|
|
165
|
-
}
|
|
166
|
-
if ((0, exports.matchesRewrite)(pagePath, rewrites)) {
|
|
167
|
-
matchedRewrites.add(pagePath);
|
|
168
|
-
return;
|
|
169
|
-
}
|
|
170
|
-
// Middleware matches against the unlocalised path
|
|
171
|
-
const unlocalizedPath = (0, exports.stripLocale)(pagePath, i18n === null || i18n === void 0 ? void 0 : i18n.locales);
|
|
172
|
-
const middlewarePath = (0, exports.matchMiddleware)(middleware, unlocalizedPath);
|
|
173
|
-
// If a file matches middleware it can't be offloaded to the CDN, and needs to stay at the origin to be served by next/server
|
|
174
|
-
if (middlewarePath) {
|
|
175
|
-
matchingMiddleware.add(middlewarePath);
|
|
176
|
-
matchedPages.add(filePath);
|
|
177
|
-
return;
|
|
178
|
-
}
|
|
179
|
-
return limit(moveFile, filePath);
|
|
180
|
-
});
|
|
181
|
-
await Promise.all(promises);
|
|
182
|
-
console.log(`Moved ${fileCount} files to CDN`);
|
|
183
|
-
if (netliBlob) {
|
|
184
|
-
console.log(`Moved ${blobCount} files to Blob Storage`);
|
|
185
|
-
}
|
|
186
|
-
if (matchedPages.size !== 0) {
|
|
187
|
-
console.log((0, chalk_1.yellowBright)((0, outdent_1.outdent) `
|
|
188
|
-
Skipped moving ${matchedPages.size} ${matchedPages.size === 1 ? 'file because it matches' : 'files because they match'} middleware, so cannot be deployed to the CDN and will be served from the origin instead.
|
|
189
|
-
This is fine, but we're letting you know because it may not be what you expect.
|
|
190
|
-
`));
|
|
191
|
-
console.log((0, outdent_1.outdent) `
|
|
192
|
-
The following middleware matched statically-rendered pages:
|
|
193
|
-
|
|
194
|
-
${(0, chalk_1.yellowBright)([...matchingMiddleware].map((mid) => `- /${mid}/_middleware`).join('\n'))}
|
|
195
|
-
${constants_1.DIVIDER}
|
|
196
|
-
`);
|
|
197
|
-
// There could potentially be thousands of matching pages, so we don't want to spam the console with this
|
|
198
|
-
if (matchedPages.size < 50) {
|
|
199
|
-
console.log((0, outdent_1.outdent) `
|
|
200
|
-
The following files matched middleware and were not moved to the CDN:
|
|
201
|
-
|
|
202
|
-
${(0, chalk_1.yellowBright)([...matchedPages].map((mid) => `- ${mid}`).join('\n'))}
|
|
203
|
-
${constants_1.DIVIDER}
|
|
204
|
-
`);
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
if (matchedRedirects.size !== 0 || matchedRewrites.size !== 0) {
|
|
208
|
-
console.log((0, chalk_1.yellowBright)((0, outdent_1.outdent) `
|
|
209
|
-
Skipped moving ${matchedRedirects.size + matchedRewrites.size} files because they match redirects or beforeFiles rewrites, so cannot be deployed to the CDN and will be served from the origin instead.
|
|
210
|
-
`));
|
|
211
|
-
if (matchedRedirects.size < 50 && matchedRedirects.size !== 0) {
|
|
212
|
-
console.log((0, outdent_1.outdent) `
|
|
213
|
-
The following files matched redirects and were not moved to the CDN:
|
|
214
|
-
|
|
215
|
-
${(0, chalk_1.yellowBright)([...matchedRedirects].map((mid) => `- ${mid}`).join('\n'))}
|
|
216
|
-
${constants_1.DIVIDER}
|
|
217
|
-
`);
|
|
218
|
-
}
|
|
219
|
-
if (matchedRewrites.size < 50 && matchedRewrites.size !== 0) {
|
|
220
|
-
console.log((0, outdent_1.outdent) `
|
|
221
|
-
The following files matched beforeFiles rewrites and were not moved to the CDN:
|
|
222
|
-
|
|
223
|
-
${(0, chalk_1.yellowBright)([...matchedRewrites].map((mid) => `- ${mid}`).join('\n'))}
|
|
224
|
-
${constants_1.DIVIDER}
|
|
225
|
-
`);
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
// Write the manifests for use in the serverless functions
|
|
229
|
-
await (0, fs_extra_1.writeJson)((0, pathe_1.join)(netlifyConfig.build.publish, 'static-manifest.json'), Object.entries(filesManifest));
|
|
230
|
-
await (0, fs_extra_1.writeJson)((0, pathe_1.join)(netlifyConfig.build.publish, 'blobs-manifest.json'), [...blobsManifest]);
|
|
231
|
-
if (i18n === null || i18n === void 0 ? void 0 : i18n.defaultLocale) {
|
|
232
|
-
const rootPath = basePath ? (0, pathe_1.join)(netlifyConfig.build.publish, basePath) : netlifyConfig.build.publish;
|
|
233
|
-
// Copy the default locale into the root
|
|
234
|
-
const defaultLocaleDir = (0, pathe_1.join)(rootPath, i18n.defaultLocale);
|
|
235
|
-
if ((0, fs_extra_1.existsSync)(defaultLocaleDir)) {
|
|
236
|
-
await (0, fs_extra_1.copy)(defaultLocaleDir, `${rootPath}/`);
|
|
237
|
-
}
|
|
238
|
-
const defaultLocaleIndex = (0, pathe_1.join)(rootPath, `${i18n.defaultLocale}.html`);
|
|
239
|
-
const indexHtml = (0, pathe_1.join)(rootPath, 'index.html');
|
|
240
|
-
if ((0, fs_extra_1.existsSync)(defaultLocaleIndex) && !(0, fs_extra_1.existsSync)(indexHtml)) {
|
|
241
|
-
await (0, fs_extra_1.copy)(defaultLocaleIndex, indexHtml, { overwrite: false }).catch(() => {
|
|
242
|
-
/* ignore */
|
|
243
|
-
});
|
|
244
|
-
await (0, fs_extra_1.copy)((0, pathe_1.join)(rootPath, `${i18n.defaultLocale}.json`), (0, pathe_1.join)(rootPath, 'index.json'), {
|
|
245
|
-
overwrite: false,
|
|
246
|
-
}).catch(() => {
|
|
247
|
-
/* ignore */
|
|
248
|
-
});
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
if (shortRevalidateRoutes.length !== 0) {
|
|
252
|
-
console.log((0, outdent_1.outdent) `
|
|
253
|
-
The following routes use "revalidate" values of under ${constants_1.MINIMUM_REVALIDATE_SECONDS} seconds, which is not supported.
|
|
254
|
-
They will use a revalidate time of ${constants_1.MINIMUM_REVALIDATE_SECONDS} seconds instead.
|
|
255
|
-
`);
|
|
256
|
-
console.table(shortRevalidateRoutes);
|
|
257
|
-
// TODO: add these docs
|
|
258
|
-
// console.log(
|
|
259
|
-
// outdent`
|
|
260
|
-
// For more information, see https://ntl.fyi/next-revalidate-time
|
|
261
|
-
// ${DIVIDER}
|
|
262
|
-
// `,
|
|
263
|
-
// )
|
|
264
|
-
}
|
|
265
|
-
};
|
|
266
|
-
exports.moveStaticPages = moveStaticPages;
|
|
267
|
-
/**
|
|
268
|
-
* The file we need has moved around a bit over the past few versions,
|
|
269
|
-
* so we iterate through the options until we find it
|
|
270
|
-
*/
|
|
271
|
-
const getServerFile = (root, includeBase = true) => {
|
|
272
|
-
const candidates = ['next/dist/server/next-server', 'next/dist/next-server/server/next-server'];
|
|
273
|
-
if (includeBase) {
|
|
274
|
-
candidates.unshift('next/dist/server/base-server');
|
|
275
|
-
}
|
|
276
|
-
return (0, utils_1.findModuleFromBase)({ candidates, paths: [root] });
|
|
277
|
-
};
|
|
278
|
-
exports.getServerFile = getServerFile;
|
|
279
|
-
// Next.js already defines a default `pageExtensions` array in its `required-server-files.json` file
|
|
280
|
-
// In case it gets `undefined`, this is a fallback
|
|
281
|
-
const SOURCE_FILE_EXTENSIONS = ['js', 'jsx', 'ts', 'tsx'];
|
|
282
|
-
/**
|
|
283
|
-
* Find the source file for a given page route
|
|
284
|
-
*/
|
|
285
|
-
const getSourceFileForPage = (page, roots, pageExtensions = SOURCE_FILE_EXTENSIONS) => {
|
|
286
|
-
for (const root of roots) {
|
|
287
|
-
for (const extension of pageExtensions) {
|
|
288
|
-
const file = (0, pathe_1.join)(root, `${page}.${extension}`);
|
|
289
|
-
if ((0, fs_extra_1.existsSync)(file)) {
|
|
290
|
-
return file;
|
|
291
|
-
}
|
|
292
|
-
const fileAtFolderIndex = (0, pathe_1.join)(root, page, `index.${extension}`);
|
|
293
|
-
if ((0, fs_extra_1.existsSync)(fileAtFolderIndex)) {
|
|
294
|
-
return fileAtFolderIndex;
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
console.log('Could not find source file for page', page);
|
|
299
|
-
};
|
|
300
|
-
exports.getSourceFileForPage = getSourceFileForPage;
|
|
301
|
-
/**
|
|
302
|
-
* Reads the node file trace file for a given file, and resolves the dependencies
|
|
303
|
-
*/
|
|
304
|
-
const getDependenciesOfFile = async (file) => {
|
|
305
|
-
const nft = `${file}.nft.json`;
|
|
306
|
-
if (!(0, fs_extra_1.existsSync)(nft)) {
|
|
307
|
-
return [];
|
|
308
|
-
}
|
|
309
|
-
const dependencies = (await (0, fs_extra_1.readJson)(nft, 'utf8'));
|
|
310
|
-
return dependencies.files.map((dep) => (0, pathe_1.resolve)((0, pathe_1.dirname)(file), dep));
|
|
311
|
-
};
|
|
312
|
-
exports.getDependenciesOfFile = getDependenciesOfFile;
|
|
313
|
-
const movePublicFiles = async ({ appDir, outdir, publish, basePath, }) => {
|
|
314
|
-
// `outdir` is a config property added when using Next.js with Nx. It's typically
|
|
315
|
-
// a relative path outside of the appDir, e.g. '../../dist/apps/<app-name>', and
|
|
316
|
-
// the parent directory of the .next directory.
|
|
317
|
-
// If it exists, copy the files from the public folder there in order to include
|
|
318
|
-
// any files that were generated during the build. Otherwise, copy the public
|
|
319
|
-
// directory from the original app directory.
|
|
320
|
-
const publicDir = outdir ? (0, pathe_1.join)(appDir, outdir, 'public') : (0, pathe_1.join)(appDir, 'public');
|
|
321
|
-
if ((0, fs_extra_1.existsSync)(publicDir)) {
|
|
322
|
-
await (0, fs_extra_1.copy)(publicDir, `${publish}${basePath}/`);
|
|
323
|
-
}
|
|
324
|
-
};
|
|
325
|
-
exports.movePublicFiles = movePublicFiles;
|
|
326
|
-
const removeMetadataFiles = async (publish) => {
|
|
327
|
-
// Limit concurrent deletions to number of cpus or 2 if there is only 1
|
|
328
|
-
const limit = (0, p_limit_1.default)(Math.max(2, (0, os_1.cpus)().length));
|
|
329
|
-
const removePromises = constants_1.HIDDEN_PATHS.map((HIDDEN_PATH) => {
|
|
330
|
-
const pathToDelete = (0, pathe_1.join)(publish, HIDDEN_PATH);
|
|
331
|
-
return limit(() => (0, fs_extra_1.remove)(pathToDelete));
|
|
332
|
-
});
|
|
333
|
-
await Promise.all(removePromises);
|
|
334
|
-
};
|
|
335
|
-
exports.removeMetadataFiles = removeMetadataFiles;
|
package/lib/helpers/flags.js
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.useBlobsForISRAssets = exports.bundleBasedOnNftFiles = exports.splitApiRoutes = void 0;
|
|
7
|
-
const destr_1 = __importDefault(require("destr"));
|
|
8
|
-
const fs_extra_1 = require("fs-extra");
|
|
9
|
-
const pathe_1 = require("pathe");
|
|
10
|
-
/**
|
|
11
|
-
* If this flag is enabled, we generate individual Lambda functions for API Routes.
|
|
12
|
-
* They're packed together in 50mb chunks to avoid hitting the Lambda size limit.
|
|
13
|
-
*
|
|
14
|
-
* To prevent bundling times from rising,
|
|
15
|
-
* we use the "none" bundling strategy where we fully rely on Next.js' `.nft.json` files.
|
|
16
|
-
* This should to a significant speedup, but is still experimental.
|
|
17
|
-
*
|
|
18
|
-
* If disabled, we bundle all API Routes into a single function.
|
|
19
|
-
* This is can lead to large bundle sizes.
|
|
20
|
-
*
|
|
21
|
-
* Relies on `next-server.js.nft.json`, which is only supported in Next.js 12+.
|
|
22
|
-
*
|
|
23
|
-
* Disabled by default. Can be overriden using the NEXT_SPLIT_API_ROUTES env var.
|
|
24
|
-
*/
|
|
25
|
-
const splitApiRoutes = (featureFlags, publish) => {
|
|
26
|
-
var _a, _b;
|
|
27
|
-
const isEnabled = (_b = (_a = (0, destr_1.default)(process.env.NEXT_SPLIT_API_ROUTES)) !== null && _a !== void 0 ? _a : featureFlags.next_split_api_routes) !== null && _b !== void 0 ? _b : false;
|
|
28
|
-
if (isEnabled && !(0, fs_extra_1.existsSync)((0, pathe_1.join)(publish, 'next-server.js.nft.json'))) {
|
|
29
|
-
console.warn('Trace-based bundling not possible on this version of Next.js. Speed up your builds significantly by upgrading to Next.js v12 or newer.');
|
|
30
|
-
return false;
|
|
31
|
-
}
|
|
32
|
-
return isEnabled;
|
|
33
|
-
};
|
|
34
|
-
exports.splitApiRoutes = splitApiRoutes;
|
|
35
|
-
const bundleBasedOnNftFiles = (featureFlags) => {
|
|
36
|
-
var _a, _b;
|
|
37
|
-
const isEnabled = (_b = (_a = (0, destr_1.default)(process.env.NEXT_BUNDLE_BASED_ON_NFT_FILES)) !== null && _a !== void 0 ? _a : featureFlags.next_bundle_based_on_nft_files) !== null && _b !== void 0 ? _b : false;
|
|
38
|
-
return isEnabled;
|
|
39
|
-
};
|
|
40
|
-
exports.bundleBasedOnNftFiles = bundleBasedOnNftFiles;
|
|
41
|
-
const useBlobsForISRAssets = (featureFlags) => {
|
|
42
|
-
var _a, _b;
|
|
43
|
-
const isEnabled = (_b = (_a = (0, destr_1.default)(process.env.NEXT_USE_BLOBS_FOR_ISR)) !== null && _a !== void 0 ? _a : featureFlags['next-runtime-use-blobs-for-isr-assets']) !== null && _b !== void 0 ? _b : false;
|
|
44
|
-
return isEnabled;
|
|
45
|
-
};
|
|
46
|
-
exports.useBlobsForISRAssets = useBlobsForISRAssets;
|