@netlify/plugin-nextjs 4.41.3 → 5.0.0-beta.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.
Files changed (239) hide show
  1. package/README.md +61 -17
  2. package/dist/build/cache.js +15 -0
  3. package/dist/build/content/prerendered.js +16 -0
  4. package/dist/build/content/server.js +18 -0
  5. package/dist/build/content/static.js +20 -0
  6. package/dist/build/functions/edge.js +14 -0
  7. package/dist/build/functions/server.js +16 -0
  8. package/dist/build/plugin-context.js +17 -0
  9. package/dist/esm-chunks/chunk-4AJYXTWN.js +17 -0
  10. package/dist/esm-chunks/chunk-62KDS27E.js +77 -0
  11. package/dist/esm-chunks/chunk-AVWFCGVE.js +5536 -0
  12. package/dist/esm-chunks/chunk-B6QMRLBH.js +255 -0
  13. package/dist/esm-chunks/chunk-G2VRYWGL.js +107 -0
  14. package/dist/esm-chunks/chunk-G3GM7JNF.js +92 -0
  15. package/dist/esm-chunks/chunk-GGHAQM5D.js +28 -0
  16. package/dist/esm-chunks/chunk-HPGTYMVD.js +113 -0
  17. package/dist/esm-chunks/chunk-PEBUKFKH.js +89 -0
  18. package/dist/esm-chunks/chunk-R4NHZWGU.js +32 -0
  19. package/dist/esm-chunks/chunk-RSKIKBZH.js +44 -0
  20. package/dist/esm-chunks/chunk-XD5TSLZO.js +85 -0
  21. package/dist/esm-chunks/chunk-ZBX3SNQG.js +561 -0
  22. package/dist/index.js +66 -0
  23. package/dist/run/config.js +18 -0
  24. package/dist/run/constants.js +15 -0
  25. package/dist/run/handlers/cache.cjs +849 -0
  26. package/dist/run/handlers/server.js +3289 -0
  27. package/dist/run/headers.js +19 -0
  28. package/dist/run/next.cjs +1055 -0
  29. package/dist/run/revalidate.js +13 -0
  30. package/edge-runtime/README.md +29 -0
  31. package/edge-runtime/lib/headers.ts +26 -0
  32. package/edge-runtime/lib/middleware.ts +60 -0
  33. package/edge-runtime/lib/next-request.ts +59 -0
  34. package/edge-runtime/lib/response.ts +145 -0
  35. package/edge-runtime/lib/util.ts +26 -0
  36. package/edge-runtime/middleware.ts +40 -0
  37. package/edge-runtime/shim/index.js +8 -0
  38. package/{src/templates → edge-runtime}/vendor/deno.land/x/html_rewriter@v0.1.0-pre.17/index.ts +1 -1
  39. package/edge-runtime/vendor/import_map.json +13 -0
  40. package/edge-runtime/vendor.ts +18 -0
  41. package/manifest.yml +1 -1
  42. package/package.json +23 -60
  43. package/index.js +0 -1
  44. package/lib/constants.js +0 -56
  45. package/lib/helpers/analysis.js +0 -115
  46. package/lib/helpers/cache.js +0 -46
  47. package/lib/helpers/compiler.js +0 -119
  48. package/lib/helpers/config.js +0 -192
  49. package/lib/helpers/dev.js +0 -20
  50. package/lib/helpers/edge.js +0 -328
  51. package/lib/helpers/files.js +0 -335
  52. package/lib/helpers/flags.js +0 -46
  53. package/lib/helpers/functions.js +0 -437
  54. package/lib/helpers/functionsMetaData.js +0 -46
  55. package/lib/helpers/matchers.js +0 -41
  56. package/lib/helpers/middlewareWatcher.js +0 -12
  57. package/lib/helpers/pack.js +0 -41
  58. package/lib/helpers/redirects.js +0 -246
  59. package/lib/helpers/types.js +0 -2
  60. package/lib/helpers/utils.js +0 -226
  61. package/lib/helpers/verification.js +0 -182
  62. package/lib/index.js +0 -194
  63. package/lib/templates/blobStorage.js +0 -30
  64. package/lib/templates/getApiHandler.js +0 -120
  65. package/lib/templates/getHandler.js +0 -201
  66. package/lib/templates/getPageResolver.js +0 -54
  67. package/lib/templates/handlerUtils.js +0 -268
  68. package/lib/templates/ipx.js +0 -13
  69. package/lib/templates/requireHooks.js +0 -105
  70. package/lib/templates/server.js +0 -159
  71. package/lib/templates/vendor.js +0 -20
  72. package/src/templates/edge/bundle.js +0 -8
  73. package/src/templates/edge/function-runtime.ts +0 -24
  74. package/src/templates/edge/imageconfig.json +0 -3
  75. package/src/templates/edge/ipx.ts +0 -5
  76. package/src/templates/edge/matchers.json +0 -1
  77. package/src/templates/edge/middleware-runtime.ts +0 -62
  78. package/src/templates/edge/next-dev.js +0 -104
  79. package/src/templates/edge/rsc-data.ts +0 -5
  80. package/src/templates/edge/shims.js +0 -77
  81. package/src/templates/edge-shared/next-utils.ts +0 -407
  82. package/src/templates/edge-shared/nextConfig.json +0 -3
  83. package/src/templates/edge-shared/prerender-manifest.json +0 -7
  84. package/src/templates/edge-shared/rsc-data.ts +0 -78
  85. package/src/templates/edge-shared/utils.test.ts +0 -114
  86. package/src/templates/edge-shared/utils.ts +0 -315
  87. package/src/templates/vendor/import_map.json +0 -13
  88. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.134.0/fmt/colors.ts +0 -0
  89. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.134.0/testing/_diff.ts +0 -0
  90. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.134.0/testing/asserts.ts +0 -0
  91. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/_util/asserts.ts +0 -0
  92. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/_util/os.ts +0 -0
  93. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/async/abortable.ts +0 -0
  94. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/async/deadline.ts +0 -0
  95. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/async/debounce.ts +0 -0
  96. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/async/deferred.ts +0 -0
  97. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/async/delay.ts +0 -0
  98. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/async/mod.ts +0 -0
  99. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/async/mux_async_iterator.ts +0 -0
  100. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/async/pool.ts +0 -0
  101. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/async/retry.ts +0 -0
  102. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/async/tee.ts +0 -0
  103. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/bytes/index_of_needle.ts +0 -0
  104. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/crypto/timing_safe_equal.ts +0 -0
  105. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/datetime/to_imf.ts +0 -0
  106. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/encoding/base64.ts +0 -0
  107. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/encoding/base64url.ts +0 -0
  108. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/flags/mod.ts +0 -0
  109. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/fmt/colors.ts +0 -0
  110. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/fmt/printf.ts +0 -0
  111. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/http/cookie.ts +0 -0
  112. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/_core.ts +0 -0
  113. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/_events.d.ts +0 -0
  114. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/_events.mjs +0 -0
  115. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/_global.d.ts +0 -0
  116. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/_next_tick.ts +0 -0
  117. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/_process/exiting.ts +0 -0
  118. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/_process/process.ts +0 -0
  119. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/_process/stdio.mjs +0 -0
  120. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/_process/streams.mjs +0 -0
  121. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/_stream.d.ts +0 -0
  122. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/_stream.mjs +0 -0
  123. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/_util/_util_callbackify.ts +0 -0
  124. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/_utils.ts +0 -0
  125. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/assert.ts +0 -0
  126. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/assertion_error.ts +0 -0
  127. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/async_hooks.ts +0 -0
  128. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/buffer.ts +0 -0
  129. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/events.ts +0 -0
  130. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/buffer.d.ts +0 -0
  131. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/buffer.mjs +0 -0
  132. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/crypto/_keys.ts +0 -0
  133. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/crypto/constants.ts +0 -0
  134. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/error_codes.ts +0 -0
  135. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/errors.ts +0 -0
  136. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/fixed_queue.ts +0 -0
  137. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/hide_stack_frames.ts +0 -0
  138. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/net.ts +0 -0
  139. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/normalize_encoding.mjs +0 -0
  140. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/options.ts +0 -0
  141. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/primordials.mjs +0 -0
  142. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/process/per_thread.mjs +0 -0
  143. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/readline/callbacks.mjs +0 -0
  144. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/readline/utils.mjs +0 -0
  145. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/streams/destroy.mjs +0 -0
  146. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/streams/end-of-stream.mjs +0 -0
  147. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/streams/utils.mjs +0 -0
  148. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/util/comparisons.ts +0 -0
  149. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/util/debuglog.ts +0 -0
  150. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/util/inspect.mjs +0 -0
  151. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/util/types.ts +0 -0
  152. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/util.mjs +0 -0
  153. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal/validators.mjs +0 -0
  154. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/_libuv_winerror.ts +0 -0
  155. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/_listen.ts +0 -0
  156. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/_node.ts +0 -0
  157. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/_timingSafeEqual.ts +0 -0
  158. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/_utils.ts +0 -0
  159. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/_winerror.ts +0 -0
  160. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/ares.ts +0 -0
  161. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/async_wrap.ts +0 -0
  162. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/buffer.ts +0 -0
  163. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/cares_wrap.ts +0 -0
  164. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/config.ts +0 -0
  165. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/connection_wrap.ts +0 -0
  166. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/constants.ts +0 -0
  167. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/contextify.ts +0 -0
  168. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/credentials.ts +0 -0
  169. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/crypto.ts +0 -0
  170. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/errors.ts +0 -0
  171. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/fs.ts +0 -0
  172. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/fs_dir.ts +0 -0
  173. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/fs_event_wrap.ts +0 -0
  174. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/handle_wrap.ts +0 -0
  175. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/heap_utils.ts +0 -0
  176. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/http_parser.ts +0 -0
  177. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/icu.ts +0 -0
  178. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/inspector.ts +0 -0
  179. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/js_stream.ts +0 -0
  180. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/messaging.ts +0 -0
  181. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/mod.ts +0 -0
  182. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/module_wrap.ts +0 -0
  183. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/native_module.ts +0 -0
  184. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/natives.ts +0 -0
  185. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/node_file.ts +0 -0
  186. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/node_options.ts +0 -0
  187. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/options.ts +0 -0
  188. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/os.ts +0 -0
  189. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/performance.ts +0 -0
  190. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/pipe_wrap.ts +0 -0
  191. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/process_methods.ts +0 -0
  192. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/report.ts +0 -0
  193. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/serdes.ts +0 -0
  194. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/signal_wrap.ts +0 -0
  195. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/spawn_sync.ts +0 -0
  196. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/stream_wrap.ts +0 -0
  197. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/string_decoder.ts +0 -0
  198. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/symbols.ts +0 -0
  199. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/task_queue.ts +0 -0
  200. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/tcp_wrap.ts +0 -0
  201. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/timers.ts +0 -0
  202. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/tls_wrap.ts +0 -0
  203. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/trace_events.ts +0 -0
  204. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/tty_wrap.ts +0 -0
  205. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/types.ts +0 -0
  206. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/udp_wrap.ts +0 -0
  207. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/url.ts +0 -0
  208. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/util.ts +0 -0
  209. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/uv.ts +0 -0
  210. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/v8.ts +0 -0
  211. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/worker.ts +0 -0
  212. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/internal_binding/zlib.ts +0 -0
  213. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/process.ts +0 -0
  214. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/stream.ts +0 -0
  215. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/string_decoder.ts +0 -0
  216. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/util/types.ts +0 -0
  217. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/node/util.ts +0 -0
  218. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/path/_constants.ts +0 -0
  219. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/path/_interface.ts +0 -0
  220. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/path/_util.ts +0 -0
  221. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/path/common.ts +0 -0
  222. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/path/glob.ts +0 -0
  223. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/path/mod.ts +0 -0
  224. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/path/posix.ts +0 -0
  225. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/path/separator.ts +0 -0
  226. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/path/win32.ts +0 -0
  227. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/streams/write_all.ts +0 -0
  228. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/testing/_diff.ts +0 -0
  229. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/testing/_format.ts +0 -0
  230. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/testing/asserts.ts +0 -0
  231. /package/{src/templates → edge-runtime}/vendor/deno.land/std@0.175.0/types.d.ts +0 -0
  232. /package/{src/templates → edge-runtime}/vendor/deno.land/x/html_rewriter@v0.1.0-pre.17/vendor/asyncify.js +0 -0
  233. /package/{src/templates → edge-runtime}/vendor/deno.land/x/html_rewriter@v0.1.0-pre.17/vendor/html_rewriter.d.ts +0 -0
  234. /package/{src/templates → edge-runtime}/vendor/deno.land/x/html_rewriter@v0.1.0-pre.17/vendor/html_rewriter.js +0 -0
  235. /package/{src/templates → edge-runtime}/vendor/deno.land/x/path_to_regexp@v6.2.1/index.ts +0 -0
  236. /package/{src/templates → edge-runtime}/vendor/esm.sh/v91/next@12.2.5/deno/dist/compiled/cookie.js +0 -0
  237. /package/{src/templates → edge-runtime}/vendor/esm.sh/v91/next@12.2.5/deno/dist/server/web/spec-extension/request.js +0 -0
  238. /package/{src/templates → edge-runtime}/vendor/esm.sh/v91/next@12.2.5/deno/dist/server/web/spec-extension/response.js +0 -0
  239. /package/{src/templates → edge-runtime}/vendor/raw.githubusercontent.com/worker-tools/resolvable-promise/master/index.ts +0 -0
@@ -1,78 +0,0 @@
1
- import type { EdgeFunction } from 'https://edge.netlify.com'
2
-
3
- // These are copied from next/dist/build. This file gets copied as part of the next
4
- // runtime build and can't reference the next package directly.
5
- //
6
- // Latest types at https://github.com/vercel/next.js/blob/4a2df3c3752aeddc50fd5ab053440eccf71ae50b/packages/next/src/build/index.ts#L140
7
- export declare type SsgRoute = {
8
- initialRevalidateSeconds: number | false
9
- srcRoute: string | null
10
- dataRoute: string | null
11
- }
12
- export declare type DynamicSsgRoute = {
13
- routeRegex: string
14
- fallback: string | null | false
15
- dataRoute: string | null
16
- dataRouteRegex: string
17
- }
18
- export declare type PrerenderManifest = {
19
- version: 3
20
- routes: {
21
- [route: string]: SsgRoute
22
- }
23
- dynamicRoutes: {
24
- [route: string]: DynamicSsgRoute
25
- }
26
- notFoundRoutes: string[]
27
- }
28
-
29
- const noop = () => {}
30
-
31
- // Ensure that routes with and without a trailing slash map to different ODB paths
32
- const rscifyPath = (route: string) => {
33
- if (route.endsWith('/')) {
34
- return route.slice(0, -1) + '.rsc/'
35
- }
36
- return route + '.rsc'
37
- }
38
-
39
- export const getRscDataRouter = ({ routes: staticRoutes, dynamicRoutes }: PrerenderManifest): EdgeFunction => {
40
- const staticRouteSet = new Set(
41
- Object.entries(staticRoutes)
42
- .filter(([, { dataRoute }]) => dataRoute?.endsWith('.rsc'))
43
- .map(([route]) => route),
44
- )
45
-
46
- const dynamicRouteMatcher = Object.values(dynamicRoutes)
47
- .filter(({ dataRoute }) => dataRoute?.endsWith('.rsc'))
48
- .map(({ routeRegex }) => new RegExp(routeRegex))
49
-
50
- const matchesDynamicRscDataRoute = (pathname: string) => {
51
- return dynamicRouteMatcher.some((matcher) => matcher.test(pathname))
52
- }
53
-
54
- const matchesStaticRscDataRoute = (pathname: string) => {
55
- const key = pathname.endsWith('/') ? pathname.slice(0, -1) : pathname
56
- return staticRouteSet.has(key)
57
- }
58
-
59
- const matchesRscRoute = (pathname: string) => {
60
- return matchesStaticRscDataRoute(pathname) || matchesDynamicRscDataRoute(pathname)
61
- }
62
-
63
- return (request, context) => {
64
- const debug = request.headers.has('x-next-debug-logging')
65
- const log = debug ? (...args: unknown[]) => console.log(...args) : noop
66
- const url = new URL(request.url)
67
- // If this is a static RSC request, rewrite to the data route
68
- if (request.headers.get('rsc') === '1') {
69
- log('Is rsc request')
70
- if (matchesRscRoute(url.pathname)) {
71
- request.headers.set('x-rsc-route', url.pathname)
72
- const target = rscifyPath(url.pathname)
73
- log('Rewriting to', target)
74
- return context.rewrite(target)
75
- }
76
- }
77
- }
78
- }
@@ -1,114 +0,0 @@
1
- import { assertEquals } from 'https://deno.land/std@0.167.0/testing/asserts.ts'
2
- import { beforeEach, describe, it } from 'https://deno.land/std@0.167.0/testing/bdd.ts'
3
- import { redirectTrailingSlash, updateModifiedHeaders } from './utils.ts'
4
-
5
- describe('updateModifiedHeaders', () => {
6
- it("does not modify the headers if 'x-middleware-override-headers' is not found", () => {
7
- const mockHeaders = new Headers()
8
- // There shouldn't be a case where x-middleware-override-headers is not set and a header has
9
- // been modified with 'x-middleware-request' added to it, this is more to confirm the test case
10
- mockHeaders.set('x-middleware-request-foo', 'bar')
11
-
12
- const mockResponse = {
13
- headers: mockHeaders,
14
- }
15
-
16
- const mockRequest = {
17
- headers: new Headers(),
18
- }
19
-
20
- updateModifiedHeaders(mockRequest.headers, mockResponse.headers)
21
-
22
- assertEquals(mockRequest.headers.get('x-middleware-request-foo'), null)
23
- })
24
-
25
- describe("when the 'x-middleware-override-headers' headers is present", () => {
26
- let mockHeaders
27
- let mockRequest: { headers: Headers }
28
- let mockResponse: { headers: Headers }
29
-
30
- beforeEach(() => {
31
- mockHeaders = new Headers()
32
- mockHeaders.set('foo', 'bar')
33
- mockHeaders.set('x-middleware-request-hello', 'world')
34
- mockHeaders.set('x-middleware-request-test', '123')
35
- mockHeaders.set('x-middleware-override-headers', 'hello,test')
36
-
37
- mockRequest = {
38
- headers: new Headers(),
39
- }
40
-
41
- mockResponse = {
42
- headers: mockHeaders,
43
- }
44
-
45
- updateModifiedHeaders(mockRequest.headers, mockResponse.headers)
46
- })
47
-
48
- it("does not modify or add headers that are missing 'x-middleware-request' in the name", () => {
49
- assertEquals(mockRequest.headers.get('foo'), null)
50
- })
51
-
52
- it("removes 'x-middleware-request-' from headers", () => {
53
- assertEquals(mockRequest.headers.get('x-middleware-request-hello'), null)
54
- assertEquals(mockRequest.headers.get('x-middleware-request-test'), null)
55
-
56
- assertEquals(mockRequest.headers.get('hello'), 'world')
57
- assertEquals(mockRequest.headers.get('test'), '123')
58
- })
59
-
60
- it("removes 'x-middleware-override-headers' after cleaning headers", () => {
61
- assertEquals(mockRequest.headers.get('x-middleware-override-headers'), null)
62
- })
63
- })
64
- })
65
-
66
- describe('trailing slash redirects', () => {
67
- it('adds a trailing slash to the pathn if trailingSlash is enabled', () => {
68
- const url = new URL('https://example.com/foo')
69
- const result = redirectTrailingSlash(url, true)
70
- assertEquals(result?.status, 308)
71
- assertEquals(result?.headers.get('location'), 'https://example.com/foo/')
72
- })
73
-
74
- it("doesn't add a trailing slash if trailingSlash is false", () => {
75
- const url = new URL('https://example.com/foo')
76
- const result = redirectTrailingSlash(url, false)
77
- assertEquals(result, undefined)
78
- })
79
-
80
- it("doesn't add a trailing slash if the path is a file", () => {
81
- const url = new URL('https://example.com/foo.txt')
82
- const result = redirectTrailingSlash(url, true)
83
- assertEquals(result, undefined)
84
- })
85
- it('adds a trailing slash if there is a dot in the path', () => {
86
- const url = new URL('https://example.com/foo.bar/baz')
87
- const result = redirectTrailingSlash(url, true)
88
- assertEquals(result?.status, 308)
89
- assertEquals(result?.headers.get('location'), 'https://example.com/foo.bar/baz/')
90
- })
91
- it("doesn't add a trailing slash if the path is /", () => {
92
- const url = new URL('https://example.com/')
93
- const result = redirectTrailingSlash(url, true)
94
- assertEquals(result, undefined)
95
- })
96
- it('removes a trailing slash from the path if trailingSlash is false', () => {
97
- const url = new URL('https://example.com/foo/')
98
- const result = redirectTrailingSlash(url, false)
99
- assertEquals(result?.status, 308)
100
- assertEquals(result?.headers.get('location'), 'https://example.com/foo')
101
- })
102
- it("doesn't remove a trailing slash if trailingSlash is true", () => {
103
- const url = new URL('https://example.com/foo/')
104
- const result = redirectTrailingSlash(url, true)
105
- assertEquals(result, undefined)
106
- })
107
-
108
- it('removes a trailing slash from the path if the path is a file', () => {
109
- const url = new URL('https://example.com/foo.txt/')
110
- const result = redirectTrailingSlash(url, false)
111
- assertEquals(result?.status, 308)
112
- assertEquals(result?.headers.get('location'), 'https://example.com/foo.txt')
113
- })
114
- })
@@ -1,315 +0,0 @@
1
- import type { Context } from 'https://edge.netlify.com'
2
- import { ElementHandlers, HTMLRewriter } from '../vendor/deno.land/x/html_rewriter@v0.1.0-pre.17/index.ts'
3
-
4
- export interface FetchEventResult {
5
- response: Response
6
- waitUntil: Promise<any>
7
- }
8
-
9
- type NextDataTransform = <T>(data: T) => T
10
-
11
- function normalizeDataUrl(redirect: string) {
12
- // If the redirect is a data URL, we need to normalize it.
13
- // next.js code reference: https://github.com/vercel/next.js/blob/canary/packages/next/src/shared/lib/router/utils/get-next-pathname-info.ts#L46
14
- if (redirect.startsWith('/_next/data/') && redirect.includes('.json')) {
15
- const paths = redirect
16
- .replace(/^\/_next\/data\//, '')
17
- .replace(/\.json/, '')
18
- .split('/')
19
-
20
- const buildId = paths[0]
21
- redirect = paths[1] !== 'index' ? `/${paths.slice(1).join('/')}` : '/'
22
- }
23
-
24
- return redirect
25
- }
26
-
27
- /**
28
- * This is how Next handles rewritten URLs.
29
- */
30
- export function relativizeURL(url: string | string, base: string | URL) {
31
- const baseURL = typeof base === 'string' ? new URL(base) : base
32
- const relative = new URL(url, base)
33
- const origin = `${baseURL.protocol}//${baseURL.host}`
34
- return `${relative.protocol}//${relative.host}` === origin
35
- ? relative.toString().replace(origin, '')
36
- : relative.toString()
37
- }
38
-
39
- export const addMiddlewareHeaders = async (
40
- originResponse: Promise<Response> | Response,
41
- middlewareResponse: Response,
42
- ) => {
43
- // If there are extra headers, we need to add them to the response.
44
- if ([...middlewareResponse.headers.keys()].length === 0) {
45
- return originResponse
46
- }
47
- // We need to await the response to get the origin headers, then we can add the ones from middleware.
48
- const res = await originResponse
49
- const response = new Response(res.body, res)
50
- middlewareResponse.headers.forEach((value, key) => {
51
- if (key === 'set-cookie') {
52
- response.headers.append(key, value)
53
- } else {
54
- response.headers.set(key, value)
55
- }
56
- })
57
- return response
58
- }
59
-
60
- interface ResponseCookies {
61
- // This is non-standard that Next.js adds.
62
- // See github.com/vercel/next.js/blob/de08f8b3d31ef45131dad97a7d0e95fa01001167/packages/next/src/compiled/@edge-runtime/cookies/index.js#L158
63
- readonly _headers: Headers
64
- }
65
-
66
- interface MiddlewareResponse extends Response {
67
- originResponse: Response
68
- dataTransforms: NextDataTransform[]
69
- elementHandlers: Array<[selector: string, handlers: ElementHandlers]>
70
- get cookies(): ResponseCookies
71
- }
72
-
73
- interface MiddlewareRequest {
74
- request: Request
75
- context: Context
76
- originalRequest: Request
77
- next(): Promise<MiddlewareResponse>
78
- rewrite(destination: string | URL, init?: ResponseInit): Response
79
- }
80
-
81
- export interface I18NConfig {
82
- defaultLocale: string
83
- localeDetection?: false
84
- locales: string[]
85
- }
86
-
87
- export interface RequestData {
88
- geo?: {
89
- city?: string
90
- country?: string
91
- region?: string
92
- latitude?: string
93
- longitude?: string
94
- timezone?: string
95
- }
96
- headers: Record<string, string>
97
- ip?: string
98
- method: string
99
- nextConfig?: {
100
- basePath?: string
101
- i18n?: I18NConfig | null
102
- trailingSlash?: boolean
103
- }
104
- page?: {
105
- name?: string
106
- params?: { [key: string]: string }
107
- }
108
- url: string
109
- body?: ReadableStream<Uint8Array>
110
- }
111
-
112
- function isMiddlewareRequest(response: Response | MiddlewareRequest): response is MiddlewareRequest {
113
- return 'originalRequest' in response
114
- }
115
-
116
- function isMiddlewareResponse(response: Response | MiddlewareResponse): response is MiddlewareResponse {
117
- return 'dataTransforms' in response
118
- }
119
-
120
- // Next 13 supports request header mutations and has the side effect of prepending header values with 'x-middleware-request'
121
- // as part of invoking NextResponse.next() in the middleware. We need to remove that before sending the response the user
122
- // as the code that removes it in Next isn't run based on how we handle the middleware
123
- //
124
- // Related Next.js code:
125
- // * https://github.com/vercel/next.js/blob/68d06fe015b28d8f81da52ca107a5f4bd72ab37c/packages/next/server/next-server.ts#L1918-L1928
126
- // * https://github.com/vercel/next.js/blob/43c9d8940dc42337dd2f7d66aa90e6abf952278e/packages/next/server/web/spec-extension/response.ts#L10-L27
127
- export function updateModifiedHeaders(requestHeaders: Headers, responseHeaders: Headers) {
128
- const overriddenHeaders = responseHeaders.get('x-middleware-override-headers')
129
-
130
- if (!overriddenHeaders) {
131
- return
132
- }
133
-
134
- const headersToUpdate = overriddenHeaders.split(',').map((header) => header.trim())
135
-
136
- for (const header of headersToUpdate) {
137
- const oldHeaderKey = 'x-middleware-request-' + header
138
- const headerValue = responseHeaders.get(oldHeaderKey) || ''
139
-
140
- requestHeaders.set(header, headerValue)
141
- responseHeaders.delete(oldHeaderKey)
142
- }
143
- responseHeaders.delete('x-middleware-override-headers')
144
- }
145
-
146
- export const buildNextRequest = (
147
- request: Request,
148
- context: Context,
149
- nextConfig?: RequestData['nextConfig'],
150
- ): RequestData => {
151
- const { url, method, body, headers } = request
152
-
153
- const { country, subdivision, city, latitude, longitude, timezone } = context.geo
154
-
155
- const geo: RequestData['geo'] = {
156
- country: country?.code,
157
- region: subdivision?.code,
158
- city,
159
- latitude: latitude?.toString(),
160
- longitude: longitude?.toString(),
161
- timezone,
162
- }
163
-
164
- return {
165
- headers: Object.fromEntries(headers.entries()),
166
- geo,
167
- url,
168
- method,
169
- ip: context.ip,
170
- body: body ?? undefined,
171
- nextConfig,
172
- }
173
- }
174
- export const buildResponse = async ({
175
- result,
176
- request,
177
- context,
178
- }: {
179
- result: FetchEventResult
180
- request: Request
181
- context: Context
182
- }) => {
183
- updateModifiedHeaders(request.headers, result.response.headers)
184
-
185
- // They've returned the MiddlewareRequest directly, so we'll call `next()` for them.
186
- if (isMiddlewareRequest(result.response)) {
187
- result.response = await result.response.next()
188
- }
189
- if (isMiddlewareResponse(result.response)) {
190
- const { response } = result
191
- if (request.method === 'HEAD' || request.method === 'OPTIONS') {
192
- return response.originResponse
193
- }
194
-
195
- // NextResponse doesn't set cookies onto the originResponse, so we need to copy them over
196
- // In some cases, it's possible there are no headers set. See https://github.com/netlify/pod-ecosystem-frameworks/issues/475
197
- if (response.cookies._headers?.has('set-cookie')) {
198
- response.originResponse.headers.set('set-cookie', response.cookies._headers.get('set-cookie')!)
199
- }
200
-
201
- // If it's JSON we don't need to use the rewriter, we can just parse it
202
- if (response.originResponse.headers.get('content-type')?.includes('application/json')) {
203
- const props = await response.originResponse.json()
204
- const transformed = response.dataTransforms.reduce((prev, transform) => {
205
- return transform(prev)
206
- }, props)
207
- const body = JSON.stringify(transformed)
208
- const headers = new Headers(response.headers)
209
- headers.set('content-length', String(body.length))
210
- return new Response(body, { ...response, headers })
211
- }
212
- // This var will hold the contents of the script tag
213
- let buffer = ''
214
- // Create an HTMLRewriter that matches the Next data script tag
215
- const rewriter = new HTMLRewriter()
216
-
217
- if (response.dataTransforms.length > 0) {
218
- rewriter.on('script[id="__NEXT_DATA__"]', {
219
- text(textChunk) {
220
- // Grab all the chunks in the Next data script tag
221
- buffer += textChunk.text
222
- if (textChunk.lastInTextNode) {
223
- try {
224
- // When we have all the data, try to parse it as JSON
225
- const data = JSON.parse(buffer.trim())
226
- // Apply all of the transforms to the props
227
- const props = response.dataTransforms.reduce((prev, transform) => transform(prev), data.props)
228
- // Replace the data with the transformed props
229
- // With `html: true` the input is treated as raw HTML
230
- // @see https://developers.cloudflare.com/workers/runtime-apis/html-rewriter/#global-types
231
- textChunk.replace(JSON.stringify({ ...data, props }), { html: true })
232
- } catch (err) {
233
- console.log('Could not parse', err)
234
- }
235
- } else {
236
- // Remove the chunk after we've appended it to the buffer
237
- textChunk.remove()
238
- }
239
- },
240
- })
241
- }
242
-
243
- if (response.elementHandlers.length > 0) {
244
- response.elementHandlers.forEach(([selector, handlers]) => rewriter.on(selector, handlers))
245
- }
246
- return rewriter.transform(response.originResponse)
247
- }
248
- const res = new Response(result.response.body, result.response)
249
- request.headers.set('x-nf-next-middleware', 'skip')
250
-
251
- const rewrite = res.headers.get('x-middleware-rewrite')
252
-
253
- // Data requests (i.e. requests for /_next/data ) need special handling
254
- const isDataReq = request.headers.get('x-nextjs-data')
255
-
256
- if (rewrite) {
257
- const rewriteUrl = new URL(rewrite, request.url)
258
- const baseUrl = new URL(request.url)
259
- const relativeUrl = relativizeURL(rewrite, request.url)
260
-
261
- // Data requests might be rewritten to an external URL
262
- // This header tells the client router the redirect target, and if it's external then it will do a full navigation
263
- if (isDataReq) {
264
- res.headers.set('x-nextjs-rewrite', relativeUrl)
265
- }
266
- if (rewriteUrl.hostname !== baseUrl.hostname) {
267
- // Netlify Edge Functions don't support proxying to external domains, but Next middleware does
268
- const proxied = fetch(new Request(rewriteUrl.toString(), request))
269
- return addMiddlewareHeaders(proxied, res)
270
- }
271
- res.headers.set('x-middleware-rewrite', relativeUrl)
272
-
273
- request.headers.set('x-original-path', new URL(request.url, `http://n`).pathname)
274
- request.headers.set('x-middleware-rewrite', rewrite)
275
-
276
- return addMiddlewareHeaders(context.rewrite(rewrite), res)
277
- }
278
-
279
- const redirect = res.headers.get('Location')
280
-
281
- // Data requests shouldn;t automatically redirect in the browser (they might be HTML pages): they're handled by the router
282
- if (redirect && isDataReq) {
283
- res.headers.delete('location')
284
- res.headers.set('x-nextjs-redirect', relativizeURL(redirect, request.url))
285
- }
286
-
287
- const nextRedirect = res.headers.get('x-nextjs-redirect')
288
-
289
- if (nextRedirect && isDataReq) {
290
- res.headers.set('x-nextjs-redirect', normalizeDataUrl(nextRedirect))
291
- }
292
-
293
- if (res.headers.get('x-middleware-next') === '1') {
294
- return addMiddlewareHeaders(context.next(), res)
295
- }
296
- return res
297
- }
298
-
299
- export const redirectTrailingSlash = (url: URL, trailingSlash: boolean): Response | undefined => {
300
- const { pathname } = url
301
- if (pathname === '/') {
302
- return
303
- }
304
- if (!trailingSlash && pathname.endsWith('/')) {
305
- url.pathname = pathname.slice(0, -1)
306
- return Response.redirect(url, 308)
307
- }
308
- // Add a slash, unless there's a file extension
309
- if (trailingSlash && !pathname.endsWith('/') && !pathname.split('/').pop()?.includes('.')) {
310
- url.pathname = `${pathname}/`
311
- return Response.redirect(url, 308)
312
- }
313
- }
314
-
315
- export const isFunction = (f: unknown) => Boolean(f) && typeof f === 'function'
@@ -1,13 +0,0 @@
1
- {
2
- "scopes": {
3
- "../": {
4
- "https://ghuc.cc/worker-tools/resolvable-promise/index.ts": "./raw.githubusercontent.com/worker-tools/resolvable-promise/master/index.ts",
5
- "https://deno.land/": "./deno.land/",
6
- "https://esm.sh/": "./esm.sh/",
7
- "https://raw.githubusercontent.com/": "./raw.githubusercontent.com/"
8
- },
9
- "./esm.sh/": {
10
- "/v91/next@12.2.5/deno/dist/compiled/cookie.js": "./esm.sh/v91/next@12.2.5/deno/dist/compiled/cookie.js"
11
- }
12
- }
13
- }