@sveltejs/kit 1.0.0-next.41 → 1.0.0-next.410

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 (129) hide show
  1. package/README.md +12 -9
  2. package/package.json +97 -63
  3. package/src/cli.js +119 -0
  4. package/src/core/adapt/builder.js +207 -0
  5. package/src/core/adapt/index.js +19 -0
  6. package/src/core/config/index.js +86 -0
  7. package/src/core/config/options.js +488 -0
  8. package/src/core/config/types.d.ts +1 -0
  9. package/src/core/constants.js +3 -0
  10. package/src/core/generate_manifest/index.js +99 -0
  11. package/src/core/prerender/crawl.js +194 -0
  12. package/src/core/prerender/prerender.js +378 -0
  13. package/src/core/prerender/queue.js +80 -0
  14. package/src/core/sync/create_manifest_data/index.js +492 -0
  15. package/src/core/sync/create_manifest_data/types.d.ts +40 -0
  16. package/src/core/sync/sync.js +59 -0
  17. package/src/core/sync/utils.js +97 -0
  18. package/src/core/sync/write_ambient.js +87 -0
  19. package/src/core/sync/write_client_manifest.js +82 -0
  20. package/src/core/sync/write_matchers.js +25 -0
  21. package/src/core/sync/write_root.js +88 -0
  22. package/src/core/sync/write_tsconfig.js +189 -0
  23. package/src/core/sync/write_types.js +723 -0
  24. package/src/core/utils.js +58 -0
  25. package/src/hooks.js +26 -0
  26. package/src/index/index.js +45 -0
  27. package/src/index/private.js +33 -0
  28. package/src/node/index.js +145 -0
  29. package/src/node/polyfills.js +40 -0
  30. package/src/packaging/index.js +218 -0
  31. package/src/packaging/types.d.ts +8 -0
  32. package/src/packaging/typescript.js +150 -0
  33. package/src/packaging/utils.js +143 -0
  34. package/src/runtime/app/env.js +11 -0
  35. package/src/runtime/app/navigation.js +22 -0
  36. package/src/runtime/app/paths.js +1 -0
  37. package/src/runtime/app/stores.js +94 -0
  38. package/src/runtime/client/ambient.d.ts +17 -0
  39. package/src/runtime/client/client.js +1269 -0
  40. package/src/runtime/client/fetcher.js +60 -0
  41. package/src/runtime/client/parse.js +36 -0
  42. package/src/runtime/client/singletons.js +11 -0
  43. package/src/runtime/client/start.js +48 -0
  44. package/src/runtime/client/types.d.ts +106 -0
  45. package/src/runtime/client/utils.js +113 -0
  46. package/src/runtime/components/error.svelte +16 -0
  47. package/{assets → src/runtime}/components/layout.svelte +0 -0
  48. package/src/runtime/env/dynamic/private.js +1 -0
  49. package/src/runtime/env/dynamic/public.js +1 -0
  50. package/src/runtime/env-private.js +7 -0
  51. package/src/runtime/env-public.js +7 -0
  52. package/src/runtime/env.js +6 -0
  53. package/src/runtime/hash.js +16 -0
  54. package/src/runtime/paths.js +11 -0
  55. package/src/runtime/server/endpoint.js +42 -0
  56. package/src/runtime/server/index.js +434 -0
  57. package/src/runtime/server/page/cookie.js +25 -0
  58. package/src/runtime/server/page/crypto.js +239 -0
  59. package/src/runtime/server/page/csp.js +249 -0
  60. package/src/runtime/server/page/fetch.js +265 -0
  61. package/src/runtime/server/page/index.js +418 -0
  62. package/src/runtime/server/page/load_data.js +94 -0
  63. package/src/runtime/server/page/render.js +357 -0
  64. package/src/runtime/server/page/respond_with_error.js +105 -0
  65. package/src/runtime/server/page/types.d.ts +44 -0
  66. package/src/runtime/server/utils.js +116 -0
  67. package/src/utils/error.js +22 -0
  68. package/src/utils/escape.js +104 -0
  69. package/src/utils/filesystem.js +108 -0
  70. package/src/utils/http.js +55 -0
  71. package/src/utils/misc.js +1 -0
  72. package/src/utils/routing.js +107 -0
  73. package/src/utils/url.js +97 -0
  74. package/src/vite/build/build_server.js +335 -0
  75. package/src/vite/build/build_service_worker.js +90 -0
  76. package/src/vite/build/utils.js +153 -0
  77. package/src/vite/dev/index.js +565 -0
  78. package/src/vite/index.js +540 -0
  79. package/src/vite/preview/index.js +186 -0
  80. package/src/vite/types.d.ts +3 -0
  81. package/src/vite/utils.js +335 -0
  82. package/svelte-kit.js +1 -1
  83. package/types/ambient.d.ts +368 -0
  84. package/types/index.d.ts +345 -0
  85. package/types/internal.d.ts +313 -0
  86. package/types/private.d.ts +236 -0
  87. package/CHANGELOG.md +0 -419
  88. package/assets/components/error.svelte +0 -13
  89. package/assets/runtime/app/env.js +0 -5
  90. package/assets/runtime/app/navigation.js +0 -41
  91. package/assets/runtime/app/paths.js +0 -1
  92. package/assets/runtime/app/stores.js +0 -93
  93. package/assets/runtime/chunks/utils.js +0 -19
  94. package/assets/runtime/internal/singletons.js +0 -23
  95. package/assets/runtime/internal/start.js +0 -770
  96. package/assets/runtime/paths.js +0 -12
  97. package/dist/api.js +0 -28
  98. package/dist/api.js.map +0 -1
  99. package/dist/chunks/index.js +0 -3519
  100. package/dist/chunks/index2.js +0 -587
  101. package/dist/chunks/index3.js +0 -246
  102. package/dist/chunks/index4.js +0 -524
  103. package/dist/chunks/index5.js +0 -761
  104. package/dist/chunks/index6.js +0 -322
  105. package/dist/chunks/standard.js +0 -99
  106. package/dist/chunks/utils.js +0 -83
  107. package/dist/cli.js +0 -546
  108. package/dist/cli.js.map +0 -1
  109. package/dist/create_app.js +0 -592
  110. package/dist/create_app.js.map +0 -1
  111. package/dist/index.js +0 -392
  112. package/dist/index.js.map +0 -1
  113. package/dist/index2.js +0 -3519
  114. package/dist/index2.js.map +0 -1
  115. package/dist/index3.js +0 -320
  116. package/dist/index3.js.map +0 -1
  117. package/dist/index4.js +0 -323
  118. package/dist/index4.js.map +0 -1
  119. package/dist/index5.js +0 -247
  120. package/dist/index5.js.map +0 -1
  121. package/dist/index6.js +0 -761
  122. package/dist/index6.js.map +0 -1
  123. package/dist/renderer.js +0 -2499
  124. package/dist/renderer.js.map +0 -1
  125. package/dist/ssr.js +0 -2581
  126. package/dist/standard.js +0 -100
  127. package/dist/standard.js.map +0 -1
  128. package/dist/utils.js +0 -84
  129. package/dist/utils.js.map +0 -1
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../node_modules/.pnpm/kleur@4.1.4/node_modules/kleur/index.mjs","../src/api/load_config/options.js","../src/api/load_config/index.js"],"sourcesContent":["'use strict';\n\nlet FORCE_COLOR, NODE_DISABLE_COLORS, NO_COLOR, TERM, isTTY=true;\nif (typeof process !== 'undefined') {\n\t({ FORCE_COLOR, NODE_DISABLE_COLORS, NO_COLOR, TERM } = process.env);\n\tisTTY = process.stdout && process.stdout.isTTY;\n}\n\nconst $ = {\n\tenabled: !NODE_DISABLE_COLORS && NO_COLOR == null && TERM !== 'dumb' && (\n\t\tFORCE_COLOR != null && FORCE_COLOR !== '0' || isTTY\n\t),\n\n\t// modifiers\n\treset: init(0, 0),\n\tbold: init(1, 22),\n\tdim: init(2, 22),\n\titalic: init(3, 23),\n\tunderline: init(4, 24),\n\tinverse: init(7, 27),\n\thidden: init(8, 28),\n\tstrikethrough: init(9, 29),\n\n\t// colors\n\tblack: init(30, 39),\n\tred: init(31, 39),\n\tgreen: init(32, 39),\n\tyellow: init(33, 39),\n\tblue: init(34, 39),\n\tmagenta: init(35, 39),\n\tcyan: init(36, 39),\n\twhite: init(37, 39),\n\tgray: init(90, 39),\n\tgrey: init(90, 39),\n\n\t// background colors\n\tbgBlack: init(40, 49),\n\tbgRed: init(41, 49),\n\tbgGreen: init(42, 49),\n\tbgYellow: init(43, 49),\n\tbgBlue: init(44, 49),\n\tbgMagenta: init(45, 49),\n\tbgCyan: init(46, 49),\n\tbgWhite: init(47, 49)\n};\n\nfunction run(arr, str) {\n\tlet i=0, tmp, beg='', end='';\n\tfor (; i < arr.length; i++) {\n\t\ttmp = arr[i];\n\t\tbeg += tmp.open;\n\t\tend += tmp.close;\n\t\tif (!!~str.indexOf(tmp.close)) {\n\t\t\tstr = str.replace(tmp.rgx, tmp.close + tmp.open);\n\t\t}\n\t}\n\treturn beg + str + end;\n}\n\nfunction chain(has, keys) {\n\tlet ctx = { has, keys };\n\n\tctx.reset = $.reset.bind(ctx);\n\tctx.bold = $.bold.bind(ctx);\n\tctx.dim = $.dim.bind(ctx);\n\tctx.italic = $.italic.bind(ctx);\n\tctx.underline = $.underline.bind(ctx);\n\tctx.inverse = $.inverse.bind(ctx);\n\tctx.hidden = $.hidden.bind(ctx);\n\tctx.strikethrough = $.strikethrough.bind(ctx);\n\n\tctx.black = $.black.bind(ctx);\n\tctx.red = $.red.bind(ctx);\n\tctx.green = $.green.bind(ctx);\n\tctx.yellow = $.yellow.bind(ctx);\n\tctx.blue = $.blue.bind(ctx);\n\tctx.magenta = $.magenta.bind(ctx);\n\tctx.cyan = $.cyan.bind(ctx);\n\tctx.white = $.white.bind(ctx);\n\tctx.gray = $.gray.bind(ctx);\n\tctx.grey = $.grey.bind(ctx);\n\n\tctx.bgBlack = $.bgBlack.bind(ctx);\n\tctx.bgRed = $.bgRed.bind(ctx);\n\tctx.bgGreen = $.bgGreen.bind(ctx);\n\tctx.bgYellow = $.bgYellow.bind(ctx);\n\tctx.bgBlue = $.bgBlue.bind(ctx);\n\tctx.bgMagenta = $.bgMagenta.bind(ctx);\n\tctx.bgCyan = $.bgCyan.bind(ctx);\n\tctx.bgWhite = $.bgWhite.bind(ctx);\n\n\treturn ctx;\n}\n\nfunction init(open, close) {\n\tlet blk = {\n\t\topen: `\\x1b[${open}m`,\n\t\tclose: `\\x1b[${close}m`,\n\t\trgx: new RegExp(`\\\\x1b\\\\[${close}m`, 'g')\n\t};\n\treturn function (txt) {\n\t\tif (this !== void 0 && this.has !== void 0) {\n\t\t\t!!~this.has.indexOf(open) || (this.has.push(open),this.keys.push(blk));\n\t\t\treturn txt === void 0 ? this : $.enabled ? run(this.keys, txt+'') : txt+'';\n\t\t}\n\t\treturn txt === void 0 ? chain([open], [blk]) : $.enabled ? run([blk], txt+'') : txt+'';\n\t};\n}\n\nexport default $;\n","const noop = () => {};\n\n/** @typedef {import('./types').ConfigDefinition} ConfigDefinition */\n\n/** @type {Record<string, ConfigDefinition>} */\nconst options = {\n\tcompilerOptions: {\n\t\ttype: 'leaf',\n\t\tdefault: null,\n\t\tvalidate: noop\n\t},\n\n\textensions: {\n\t\ttype: 'leaf',\n\t\tdefault: ['.svelte'],\n\t\tvalidate: (option, keypath) => {\n\t\t\tif (!Array.isArray(option) || !option.every((page) => typeof page === 'string')) {\n\t\t\t\tthrow new Error(`${keypath} must be an array of strings`);\n\t\t\t}\n\n\t\t\toption.forEach((extension) => {\n\t\t\t\tif (extension[0] !== '.') {\n\t\t\t\t\tthrow new Error(`Each member of ${keypath} must start with '.' — saw '${extension}'`);\n\t\t\t\t}\n\n\t\t\t\tif (!/^(\\.[a-z0-9]+)+$/i.test(extension)) {\n\t\t\t\t\tthrow new Error(`File extensions must be alphanumeric — saw '${extension}'`);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn option;\n\t\t}\n\t},\n\n\tkit: {\n\t\ttype: 'branch',\n\t\tchildren: {\n\t\t\tadapter: {\n\t\t\t\ttype: 'leaf',\n\t\t\t\tdefault: [null],\n\t\t\t\tvalidate: (option, keypath) => {\n\t\t\t\t\t// support both `adapter: 'foo'` and `adapter: ['foo', opts]`\n\t\t\t\t\tif (!Array.isArray(option)) {\n\t\t\t\t\t\toption = [option];\n\t\t\t\t\t}\n\n\t\t\t\t\t// TODO allow inline functions\n\t\t\t\t\tassert_is_string(option[0], keypath);\n\n\t\t\t\t\treturn option;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tamp: expect_boolean(false),\n\n\t\t\tappDir: expect_string('_app', false),\n\n\t\t\tfiles: {\n\t\t\t\ttype: 'branch',\n\t\t\t\tchildren: {\n\t\t\t\t\tassets: expect_string('static'),\n\t\t\t\t\troutes: expect_string('src/routes'),\n\t\t\t\t\tsetup: expect_string('src/setup'),\n\t\t\t\t\ttemplate: expect_string('src/app.html')\n\t\t\t\t}\n\t\t\t},\n\n\t\t\thost: expect_string(null),\n\n\t\t\thostHeader: expect_string(null),\n\n\t\t\tpaths: {\n\t\t\t\ttype: 'branch',\n\t\t\t\tchildren: {\n\t\t\t\t\tbase: expect_string(''),\n\t\t\t\t\tassets: expect_string('')\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tprerender: {\n\t\t\t\ttype: 'branch',\n\t\t\t\tchildren: {\n\t\t\t\t\tcrawl: expect_boolean(true),\n\t\t\t\t\tenabled: expect_boolean(true),\n\t\t\t\t\tforce: expect_boolean(false),\n\t\t\t\t\tpages: {\n\t\t\t\t\t\ttype: 'leaf',\n\t\t\t\t\t\tdefault: ['*'],\n\t\t\t\t\t\tvalidate: (option, keypath) => {\n\t\t\t\t\t\t\tif (!Array.isArray(option) || !option.every((page) => typeof page === 'string')) {\n\t\t\t\t\t\t\t\tthrow new Error(`${keypath} must be an array of strings`);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\toption.forEach((page) => {\n\t\t\t\t\t\t\t\tif (page !== '*' && page[0] !== '/') {\n\t\t\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\t\t`Each member of ${keypath} must be either '*' or an absolute path beginning with '/' — saw '${page}'`\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\treturn option;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// used for testing\n\t\t\tstartGlobal: expect_string(null),\n\n\t\t\ttarget: expect_string(null)\n\t\t}\n\t},\n\n\tpreprocess: {\n\t\ttype: 'leaf',\n\t\tdefault: null,\n\t\tvalidate: noop\n\t}\n};\n\n/**\n * @param {string} string\n * @param {boolean} allow_empty\n * @returns {ConfigDefinition}\n */\nfunction expect_string(string, allow_empty = true) {\n\treturn {\n\t\ttype: 'leaf',\n\t\tdefault: string,\n\t\tvalidate: (option, keypath) => {\n\t\t\tassert_is_string(option, keypath);\n\t\t\tif (!allow_empty && option === '') {\n\t\t\t\tthrow new Error(`${keypath} cannot be empty`);\n\t\t\t}\n\t\t\treturn option;\n\t\t}\n\t};\n}\n\n/**\n * @param {boolean} boolean\n * @returns {ConfigDefinition}\n */\nfunction expect_boolean(boolean) {\n\treturn {\n\t\ttype: 'leaf',\n\t\tdefault: boolean,\n\t\tvalidate: (option, keypath) => {\n\t\t\tif (typeof option !== 'boolean') {\n\t\t\t\tthrow new Error(`${keypath} should be true or false, if specified`);\n\t\t\t}\n\t\t\treturn option;\n\t\t}\n\t};\n}\n\n/**\n * @param {any} option\n * @param {string} keypath\n */\nfunction assert_is_string(option, keypath) {\n\tif (typeof option !== 'string') {\n\t\tthrow new Error(`${keypath} should be a string, if specified`);\n\t}\n}\n\nexport default options;\n","import options from './options.js';\nimport * as url from 'url';\nimport path from 'path';\n\n/** @typedef {import('./types').ConfigDefinition} ConfigDefinition */\n\n/**\n * @param {Record<string, ConfigDefinition>} definition\n * @param {any} option\n * @param {string} keypath\n * @returns {any}\n */\nfunction validate(definition, option, keypath) {\n\tfor (const key in option) {\n\t\tif (!(key in definition)) {\n\t\t\tlet message = `Unexpected option ${keypath}.${key}`;\n\n\t\t\tif (keypath === 'config' && key in options.kit) {\n\t\t\t\tmessage += ` (did you mean config.kit.${key}?)`;\n\t\t\t} else if (keypath === 'config.kit' && key in options) {\n\t\t\t\tmessage += ` (did you mean config.${key}?)`;\n\t\t\t}\n\n\t\t\tthrow new Error(message);\n\t\t}\n\t}\n\n\t/** @type {Record<string, any>} */\n\tconst merged = {};\n\n\tfor (const key in definition) {\n\t\tconst expected = definition[key];\n\t\tconst actual = option[key];\n\n\t\tconst child_keypath = `${keypath}.${key}`;\n\n\t\tif (key in option) {\n\t\t\tif (expected.type === 'branch') {\n\t\t\t\tif (actual && (typeof actual !== 'object' || Array.isArray(actual))) {\n\t\t\t\t\tthrow new Error(`${keypath}.${key} should be an object`);\n\t\t\t\t}\n\n\t\t\t\tmerged[key] = validate(expected.children, actual, child_keypath);\n\t\t\t} else {\n\t\t\t\tmerged[key] = expected.validate(actual, child_keypath);\n\t\t\t}\n\t\t} else {\n\t\t\tmerged[key] =\n\t\t\t\texpected.type === 'branch'\n\t\t\t\t\t? validate(expected.children, {}, child_keypath)\n\t\t\t\t\t: expected.default;\n\t\t}\n\t}\n\n\treturn merged;\n}\n\n/**\n * @param {string} from\n * @param {string} to\n */\nfunction resolve(from, to) {\n\t// the `/.` is weird, but allows `${assets}/images/blah.jpg` to work\n\t// when `assets` is empty\n\treturn remove_trailing_slash(url.resolve(add_trailing_slash(from), to)) || '/.';\n}\n\n/**\n * @param {string} str\n */\nfunction add_trailing_slash(str) {\n\treturn str.endsWith('/') ? str : `${str}/`;\n}\n\n/**\n * @param {string} str\n */\nfunction remove_trailing_slash(str) {\n\treturn str.endsWith('/') ? str.slice(0, -1) : str;\n}\n\nexport async function load_config({ cwd = process.cwd() } = {}) {\n\tconst config_file = path.join(cwd, 'svelte.config.cjs');\n\tconst config = await import(url.pathToFileURL(config_file).href);\n\tconst validated = validate_config(config.default);\n\n\tvalidated.kit.files.assets = path.resolve(cwd, validated.kit.files.assets);\n\tvalidated.kit.files.routes = path.resolve(cwd, validated.kit.files.routes);\n\tvalidated.kit.files.setup = path.resolve(cwd, validated.kit.files.setup);\n\tvalidated.kit.files.template = path.resolve(cwd, validated.kit.files.template);\n\n\t// TODO check all the `files` exist when the config is loaded?\n\t// TODO check that `target` is present in the provided template\n\n\treturn validated;\n}\n\n/**\n * @param {import('../../types').Config} config\n * @returns {import('../../types.js').ValidatedConfig}\n */\nexport function validate_config(config) {\n\t/** @type {import('../../types.js').ValidatedConfig} */\n\tconst validated = validate(options, config, 'config');\n\n\t// resolve paths\n\tconst { paths } = validated.kit;\n\n\tif (paths.base !== '' && !paths.base.startsWith('/')) {\n\t\tthrow new Error('config.kit.paths.base must be a root-relative path');\n\t}\n\n\tpaths.assets = resolve(paths.base, paths.assets);\n\n\treturn validated;\n}\n"],"names":["url.resolve","url.pathToFileURL"],"mappings":"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"}