@sveltejs/kit 1.0.0-next.21 → 1.0.0-next.210

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 (81) hide show
  1. package/README.md +12 -9
  2. package/assets/components/error.svelte +19 -3
  3. package/assets/kit.js +1912 -0
  4. package/assets/runtime/app/env.js +20 -0
  5. package/assets/runtime/app/navigation.js +45 -13
  6. package/assets/runtime/app/paths.js +1 -2
  7. package/assets/runtime/app/stores.js +15 -9
  8. package/assets/runtime/chunks/utils.js +13 -0
  9. package/assets/runtime/env.js +8 -0
  10. package/assets/runtime/internal/singletons.js +5 -11
  11. package/assets/runtime/internal/start.js +979 -355
  12. package/assets/runtime/paths.js +13 -0
  13. package/dist/chunks/cert.js +29255 -0
  14. package/dist/chunks/constants.js +8 -0
  15. package/dist/chunks/error.js +21 -0
  16. package/dist/chunks/index.js +4732 -0
  17. package/dist/chunks/index2.js +812 -0
  18. package/dist/chunks/index3.js +624 -0
  19. package/dist/chunks/index4.js +109 -0
  20. package/dist/chunks/index5.js +628 -0
  21. package/dist/chunks/index6.js +827 -0
  22. package/dist/chunks/index7.js +15575 -0
  23. package/dist/chunks/misc.js +3 -0
  24. package/dist/chunks/multipart-parser.js +449 -0
  25. package/dist/chunks/url.js +62 -0
  26. package/dist/cli.js +1012 -67
  27. package/dist/hooks.js +28 -0
  28. package/dist/install-fetch.js +6514 -0
  29. package/dist/node.js +51 -0
  30. package/dist/ssr.js +1842 -0
  31. package/package.json +90 -54
  32. package/svelte-kit.js +2 -0
  33. package/types/ambient-modules.d.ts +181 -0
  34. package/types/app.d.ts +45 -0
  35. package/types/config.d.ts +163 -0
  36. package/types/endpoint.d.ts +18 -0
  37. package/types/helper.d.ts +41 -0
  38. package/types/hooks.d.ts +48 -0
  39. package/types/index.d.ts +17 -0
  40. package/types/internal.d.ts +231 -0
  41. package/types/page.d.ts +71 -0
  42. package/CHANGELOG.md +0 -282
  43. package/assets/runtime/app/navigation.js.map +0 -1
  44. package/assets/runtime/app/paths.js.map +0 -1
  45. package/assets/runtime/app/stores.js.map +0 -1
  46. package/assets/runtime/internal/singletons.js.map +0 -1
  47. package/assets/runtime/internal/start.js.map +0 -1
  48. package/assets/runtime/utils-85ebcc60.js +0 -18
  49. package/assets/runtime/utils-85ebcc60.js.map +0 -1
  50. package/dist/api.js +0 -44
  51. package/dist/api.js.map +0 -1
  52. package/dist/build.js +0 -246
  53. package/dist/build.js.map +0 -1
  54. package/dist/cli.js.map +0 -1
  55. package/dist/colors.js +0 -37
  56. package/dist/colors.js.map +0 -1
  57. package/dist/create_app.js +0 -578
  58. package/dist/create_app.js.map +0 -1
  59. package/dist/index.js +0 -12042
  60. package/dist/index.js.map +0 -1
  61. package/dist/index2.js +0 -544
  62. package/dist/index2.js.map +0 -1
  63. package/dist/index3.js +0 -71
  64. package/dist/index3.js.map +0 -1
  65. package/dist/index4.js +0 -466
  66. package/dist/index4.js.map +0 -1
  67. package/dist/index5.js +0 -729
  68. package/dist/index5.js.map +0 -1
  69. package/dist/index6.js +0 -713
  70. package/dist/index6.js.map +0 -1
  71. package/dist/logging.js +0 -43
  72. package/dist/logging.js.map +0 -1
  73. package/dist/package.js +0 -432
  74. package/dist/package.js.map +0 -1
  75. package/dist/renderer.js +0 -2391
  76. package/dist/renderer.js.map +0 -1
  77. package/dist/standard.js +0 -101
  78. package/dist/standard.js.map +0 -1
  79. package/dist/utils.js +0 -54
  80. package/dist/utils.js.map +0 -1
  81. package/svelte-kit +0 -3
@@ -1 +0,0 @@
1
- {"version":3,"file":"index6.js","sources":["../../../node_modules/.pnpm/globrex@0.1.2/node_modules/globrex/index.js","../../../node_modules/.pnpm/globalyzer@0.1.0/node_modules/globalyzer/src/index.js","../../../node_modules/.pnpm/tiny-glob@0.2.8/node_modules/tiny-glob/sync.js","../src/api/adapt/prerender.js","../src/api/adapt/Builder.js","../src/api/adapt/index.js"],"sourcesContent":["const isWin = process.platform === 'win32';\nconst SEP = isWin ? `\\\\\\\\+` : `\\\\/`;\nconst SEP_ESC = isWin ? `\\\\\\\\` : `/`;\nconst GLOBSTAR = `((?:[^/]*(?:/|$))*)`;\nconst WILDCARD = `([^/]*)`;\nconst GLOBSTAR_SEGMENT = `((?:[^${SEP_ESC}]*(?:${SEP_ESC}|$))*)`;\nconst WILDCARD_SEGMENT = `([^${SEP_ESC}]*)`;\n\n/**\n * Convert any glob pattern to a JavaScript Regexp object\n * @param {String} glob Glob pattern to convert\n * @param {Object} opts Configuration object\n * @param {Boolean} [opts.extended=false] Support advanced ext globbing\n * @param {Boolean} [opts.globstar=false] Support globstar\n * @param {Boolean} [opts.strict=true] be laissez faire about mutiple slashes\n * @param {Boolean} [opts.filepath=''] Parse as filepath for extra path related features\n * @param {String} [opts.flags=''] RegExp globs\n * @returns {Object} converted object with string, segments and RegExp object\n */\nfunction globrex(glob, {extended = false, globstar = false, strict = false, filepath = false, flags = ''} = {}) {\n let regex = '';\n let segment = '';\n let path = { regex: '', segments: [] };\n\n // If we are doing extended matching, this boolean is true when we are inside\n // a group (eg {*.html,*.js}), and false otherwise.\n let inGroup = false;\n let inRange = false;\n\n // extglob stack. Keep track of scope\n const ext = [];\n\n // Helper function to build string and segments\n function add(str, {split, last, only}={}) {\n if (only !== 'path') regex += str;\n if (filepath && only !== 'regex') {\n path.regex += (str === '\\\\/' ? SEP : str);\n if (split) {\n if (last) segment += str;\n if (segment !== '') {\n if (!flags.includes('g')) segment = `^${segment}$`; // change it 'includes'\n path.segments.push(new RegExp(segment, flags));\n }\n segment = '';\n } else {\n segment += str;\n }\n }\n }\n\n let c, n;\n for (let i = 0; i < glob.length; i++) {\n c = glob[i];\n n = glob[i + 1];\n\n if (['\\\\', '$', '^', '.', '='].includes(c)) {\n add(`\\\\${c}`);\n continue;\n }\n\n if (c === '/') {\n add(`\\\\${c}`, {split: true});\n if (n === '/' && !strict) regex += '?';\n continue;\n }\n\n if (c === '(') {\n if (ext.length) {\n add(c);\n continue;\n }\n add(`\\\\${c}`);\n continue;\n }\n\n if (c === ')') {\n if (ext.length) {\n add(c);\n let type = ext.pop();\n if (type === '@') {\n add('{1}');\n } else if (type === '!') {\n add('([^\\/]*)');\n } else {\n add(type);\n }\n continue;\n }\n add(`\\\\${c}`);\n continue;\n }\n \n if (c === '|') {\n if (ext.length) {\n add(c);\n continue;\n }\n add(`\\\\${c}`);\n continue;\n }\n\n if (c === '+') {\n if (n === '(' && extended) {\n ext.push(c);\n continue;\n }\n add(`\\\\${c}`);\n continue;\n }\n\n if (c === '@' && extended) {\n if (n === '(') {\n ext.push(c);\n continue;\n }\n }\n\n if (c === '!') {\n if (extended) {\n if (inRange) {\n add('^');\n continue\n }\n if (n === '(') {\n ext.push(c);\n add('(?!');\n i++;\n continue;\n }\n add(`\\\\${c}`);\n continue;\n }\n add(`\\\\${c}`);\n continue;\n }\n\n if (c === '?') {\n if (extended) {\n if (n === '(') {\n ext.push(c);\n } else {\n add('.');\n }\n continue;\n }\n add(`\\\\${c}`);\n continue;\n }\n\n if (c === '[') {\n if (inRange && n === ':') {\n i++; // skip [\n let value = '';\n while(glob[++i] !== ':') value += glob[i];\n if (value === 'alnum') add('(\\\\w|\\\\d)');\n else if (value === 'space') add('\\\\s');\n else if (value === 'digit') add('\\\\d');\n i++; // skip last ]\n continue;\n }\n if (extended) {\n inRange = true;\n add(c);\n continue;\n }\n add(`\\\\${c}`);\n continue;\n }\n\n if (c === ']') {\n if (extended) {\n inRange = false;\n add(c);\n continue;\n }\n add(`\\\\${c}`);\n continue;\n }\n\n if (c === '{') {\n if (extended) {\n inGroup = true;\n add('(');\n continue;\n }\n add(`\\\\${c}`);\n continue;\n }\n\n if (c === '}') {\n if (extended) {\n inGroup = false;\n add(')');\n continue;\n }\n add(`\\\\${c}`);\n continue;\n }\n\n if (c === ',') {\n if (inGroup) {\n add('|');\n continue;\n }\n add(`\\\\${c}`);\n continue;\n }\n\n if (c === '*') {\n if (n === '(' && extended) {\n ext.push(c);\n continue;\n }\n // Move over all consecutive \"*\"'s.\n // Also store the previous and next characters\n let prevChar = glob[i - 1];\n let starCount = 1;\n while (glob[i + 1] === '*') {\n starCount++;\n i++;\n }\n let nextChar = glob[i + 1];\n if (!globstar) {\n // globstar is disabled, so treat any number of \"*\" as one\n add('.*');\n } else {\n // globstar is enabled, so determine if this is a globstar segment\n let isGlobstar =\n starCount > 1 && // multiple \"*\"'s\n (prevChar === '/' || prevChar === undefined) && // from the start of the segment\n (nextChar === '/' || nextChar === undefined); // to the end of the segment\n if (isGlobstar) {\n // it's a globstar, so match zero or more path segments\n add(GLOBSTAR, {only:'regex'});\n add(GLOBSTAR_SEGMENT, {only:'path', last:true, split:true});\n i++; // move over the \"/\"\n } else {\n // it's not a globstar, so only match one path segment\n add(WILDCARD, {only:'regex'});\n add(WILDCARD_SEGMENT, {only:'path'});\n }\n }\n continue;\n }\n\n add(c);\n }\n\n\n // When regexp 'g' flag is specified don't\n // constrain the regular expression with ^ & $\n if (!flags.includes('g')) {\n regex = `^${regex}$`;\n segment = `^${segment}$`;\n if (filepath) path.regex = `^${path.regex}$`;\n }\n\n const result = {regex: new RegExp(regex, flags)};\n\n // Push the last segment\n if (filepath) {\n path.segments.push(new RegExp(segment, flags));\n path.regex = new RegExp(path.regex, flags);\n path.globstar = new RegExp(!flags.includes('g') ? `^${GLOBSTAR_SEGMENT}$` : GLOBSTAR_SEGMENT, flags);\n result.path = path;\n }\n\n return result;\n}\n\nmodule.exports = globrex;\n","'use strict';\n\nconst os = require('os');\nconst path = require('path');\nconst isWin = os.platform() === 'win32';\n\nconst CHARS = { '{': '}', '(': ')', '[': ']'};\nconst STRICT = /\\\\(.)|(^!|\\*|[\\].+)]\\?|\\[[^\\\\\\]]+\\]|\\{[^\\\\}]+\\}|\\(\\?[:!=][^\\\\)]+\\)|\\([^|]+\\|[^\\\\)]+\\)|(\\\\).|([@?!+*]\\(.*\\)))/;\nconst RELAXED = /\\\\(.)|(^!|[*?{}()[\\]]|\\(\\?)/;\n\n/**\n * Detect if a string cointains glob\n * @param {String} str Input string\n * @param {Object} [options] Configuration object\n * @param {Boolean} [options.strict=true] Use relaxed regex if true\n * @returns {Boolean} true if string contains glob\n */\nfunction isglob(str, { strict = true } = {}) {\n if (str === '') return false;\n let match, rgx = strict ? STRICT : RELAXED;\n\n while ((match = rgx.exec(str))) {\n if (match[2]) return true;\n let idx = match.index + match[0].length;\n\n // if an open bracket/brace/paren is escaped,\n // set the index to the next closing character\n let open = match[1];\n let close = open ? CHARS[open] : null;\n if (open && close) {\n let n = str.indexOf(close, idx);\n if (n !== -1) idx = n + 1;\n }\n\n str = str.slice(idx);\n }\n return false;\n}\n\n\n/**\n * Find the static part of a glob-path,\n * split path and return path part\n * @param {String} str Path/glob string\n * @returns {String} static path section of glob\n */\nfunction parent(str, { strict = false } = {}) {\n if (isWin && str.includes('/'))\n str = str.split('\\\\').join('/');\n\n\t// special case for strings ending in enclosure containing path separator\n\tif (/[\\{\\[].*[\\/]*.*[\\}\\]]$/.test(str)) str += '/';\n\n\t// preserves full path in case of trailing path separator\n\tstr += 'a';\n\n\tdo {str = path.dirname(str)}\n\twhile (isglob(str, {strict}) || /(^|[^\\\\])([\\{\\[]|\\([^\\)]+$)/.test(str));\n\n\t// remove escape chars and return result\n\treturn str.replace(/\\\\([\\*\\?\\|\\[\\]\\(\\)\\{\\}])/g, '$1');\n};\n\n\n/**\n * Parse a glob path, and split it by static/glob part\n * @param {String} pattern String path\n * @param {Object} [opts] Options\n * @param {Object} [opts.strict=false] Use strict parsing\n * @returns {Object} object with parsed path\n */\nfunction globalyzer(pattern, opts = {}) {\n let base = parent(pattern, opts);\n let isGlob = isglob(pattern, opts);\n let glob;\n\n if (base != '.') {\n glob = pattern.substr(base.length);\n if (glob.startsWith('/')) glob = glob.substr(1);\n } else {\n glob = pattern;\n }\n\n if (!isGlob) {\n base = path.dirname(pattern);\n glob = base !== '.' ? pattern.substr(base.length) : pattern;\n }\n\n if (glob.startsWith('./')) glob = glob.substr(2);\n if (glob.startsWith('/')) glob = glob.substr(1);\n\n return { base, glob, isGlob };\n}\n\n\nmodule.exports = globalyzer;\n","const fs = require('fs');\nconst globrex = require('globrex');\nconst globalyzer = require('globalyzer');\nconst { join, resolve, relative } = require('path');\nconst isHidden = /(^|[\\\\\\/])\\.[^\\\\\\/\\.]/g;\n\nlet CACHE = {};\n\nfunction walk(output, prefix, lexer, opts, dirname='', level=0) {\n const rgx = lexer.segments[level];\n const dir = resolve(opts.cwd, prefix, dirname);\n const files = fs.readdirSync(dir);\n const { dot, filesOnly } = opts;\n\n let i=0, len=files.length, file;\n let fullpath, relpath, stats, isMatch;\n\n for (; i < len; i++) {\n fullpath = join(dir, file=files[i]);\n relpath = dirname ? join(dirname, file) : file;\n if (!dot && isHidden.test(relpath)) continue;\n isMatch = lexer.regex.test(relpath);\n\n if ((stats=CACHE[relpath]) === void 0) {\n CACHE[relpath] = stats = fs.lstatSync(fullpath);\n }\n\n if (!stats.isDirectory()) {\n isMatch && output.push(relative(opts.cwd, fullpath));\n continue;\n }\n\n if (rgx && !rgx.test(file)) continue;\n !filesOnly && isMatch && output.push(join(prefix, relpath));\n\n walk(output, prefix, lexer, opts, relpath, rgx && rgx.toString() !== lexer.globstar && level + 1);\n }\n}\n\n/**\n * Find files using bash-like globbing.\n * All paths are normalized compared to node-glob.\n * @param {String} str Glob string\n * @param {String} [options.cwd='.'] Current working directory\n * @param {Boolean} [options.dot=false] Include dotfile matches\n * @param {Boolean} [options.absolute=false] Return absolute paths\n * @param {Boolean} [options.filesOnly=false] Do not include folders if true\n * @param {Boolean} [options.flush=false] Reset cache object\n * @returns {Array} array containing matching files\n */\nmodule.exports = function (str, opts={}) {\n if (!str) return [];\n\n let glob = globalyzer(str);\n\n opts.cwd = opts.cwd || '.';\n\n if (!glob.isGlob) {\n try {\n let resolved = resolve(opts.cwd, str);\n let dirent = fs.statSync(resolved);\n if (opts.filesOnly && !dirent.isFile()) return [];\n\n return opts.absolute ? [resolved] : [str];\n } catch (err) {\n if (err.code != 'ENOENT') throw err;\n\n return [];\n }\n }\n\n if (opts.flush) CACHE = {};\n\n let matches = [];\n const { path } = globrex(glob.glob, { filepath:true, globstar:true, extended:true });\n\n path.globstar = path.globstar.toString();\n walk(matches, glob.base, path, opts, '.', 0);\n\n return opts.absolute ? matches.map(x => resolve(opts.cwd, x)) : matches;\n};\n","import fs, { createReadStream } from 'fs';\nimport { dirname, join, resolve as resolve_path } from 'path';\nimport { parse, resolve, URLSearchParams } from 'url';\nimport glob from 'tiny-glob/sync';\nimport { mkdirp } from '@sveltejs/app-utils/files';\n\nfunction clean_html(html) {\n\treturn html\n\t\t.replace(/<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/gm, '')\n\t\t.replace(/(<script[\\s\\S]*?>)[\\s\\S]*?<\\/script>/gm, '$1</' + 'script>')\n\t\t.replace(/(<style[\\s\\S]*?>)[\\s\\S]*?<\\/style>/gm, '$1</' + 'style>')\n\t\t.replace(/<!--[\\s\\S]*?-->/gm, '');\n}\n\nfunction get_href(attrs) {\n\tconst match = /href\\s*=\\s*(?:\"(.*?)\"|'(.*?)'|([^\\s>]*))/.exec(attrs);\n\treturn match && (match[1] || match[2] || match[3]);\n}\n\nfunction get_src(attrs) {\n\tconst match = /src\\s*=\\s*(?:\"(.*?)\"|'(.*?)'|([^\\s>]*))/.exec(attrs);\n\treturn match && (match[1] || match[2] || match[3]);\n}\n\nfunction get_srcset_urls(attrs) {\n\tconst results = [];\n\t// Note that the srcset allows any ASCII whitespace, including newlines.\n\tconst match = /srcset\\s*=\\s*(?:\"(.*?)\"|'(.*?)'|([^\\s>]*))/s.exec(attrs);\n\tif (match) {\n\t\tconst attr_content = match[1] || match[2] || match[3];\n\t\t// Parse the content of the srcset attribute.\n\t\t// The regexp is modelled after the srcset specs (https://html.spec.whatwg.org/multipage/images.html#srcset-attribute)\n\t\t// and should cover most reasonable cases.\n\t\tconst regex = /\\s*([^\\s,]\\S+[^\\s,])\\s*((?:\\d+w)|(?:-?\\d+(?:\\.\\d+)?(?:[eE]-?\\d+)?x))?/gm;\n\t\tlet sub_matches;\n\t\twhile ((sub_matches = regex.exec(attr_content))) {\n\t\t\tresults.push(sub_matches[1]);\n\t\t}\n\t}\n\treturn results;\n}\n\nconst OK = 2;\nconst REDIRECT = 3;\n\nexport async function prerender({ dir, out, log, config, force }) {\n\tconst seen = new Set();\n\n\tconst server_root = resolve_path(dir);\n\tconst app = require(`${server_root}/server/app.js`);\n\n\tasync function crawl(path) {\n\t\tif (seen.has(path)) return;\n\t\tseen.add(path);\n\n\t\tconst rendered = await app.render(\n\t\t\t{\n\t\t\t\thost: config.host,\n\t\t\t\tmethod: 'GET',\n\t\t\t\theaders: {},\n\t\t\t\tpath,\n\t\t\t\tbody: null,\n\t\t\t\tquery: new URLSearchParams()\n\t\t\t},\n\t\t\t{\n\t\t\t\tonly_prerender: !force,\n\t\t\t\tget_static_file: file => createReadStream(join(config.files.assets, file))\n\t\t\t}\n\t\t);\n\n\t\tif (rendered) {\n\t\t\tconst response_type = Math.floor(rendered.status / 100);\n\t\t\tconst headers = rendered.headers;\n\t\t\tconst type = headers && headers['content-type'];\n\t\t\tconst is_html = response_type === REDIRECT || type === 'text/html';\n\n\t\t\tconst parts = path.split('/');\n\t\t\tif (is_html && parts[parts.length - 1] !== 'index.html') {\n\t\t\t\tparts.push('index.html');\n\t\t\t}\n\n\t\t\tconst file = `${out}${parts.join('/')}`;\n\t\t\tmkdirp(dirname(file));\n\n\t\t\tif (response_type === REDIRECT) {\n\t\t\t\tconst { location } = headers;\n\n\t\t\t\tlog.warn(`${rendered.status} ${path} -> ${location}`);\n\t\t\t\tfs.writeFileSync(\n\t\t\t\t\tfile,\n\t\t\t\t\t`<meta http-equiv=\"refresh\" content=\"0;url=${encodeURI(location)}\">`\n\t\t\t\t);\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (response_type === OK) {\n\t\t\t\tlog.info(`${rendered.status} ${path}`);\n\t\t\t\tfs.writeFileSync(file, rendered.body); // TODO minify where possible?\n\t\t\t} else {\n\t\t\t\t// TODO should this fail the build?\n\t\t\t\tlog.error(`${rendered.status} ${path}`);\n\t\t\t}\n\n\t\t\tconst { dependencies } = rendered;\n\n\t\t\tif (dependencies) {\n\t\t\t\tfor (const path in dependencies) {\n\t\t\t\t\tconst result = dependencies[path];\n\t\t\t\t\tconst response_type = Math.floor(result.status / 100);\n\n\t\t\t\t\tconst is_html = result.headers['content-type'] === 'text/html';\n\n\t\t\t\t\tconst parts = path.split('/');\n\t\t\t\t\tif (is_html && parts[parts.length - 1] !== 'index.html') {\n\t\t\t\t\t\tparts.push('index.html');\n\t\t\t\t\t}\n\n\t\t\t\t\tconst file = `${out}${parts.join('/')}`;\n\t\t\t\t\tmkdirp(dirname(file));\n\n\t\t\t\t\tfs.writeFileSync(file, result.body);\n\n\t\t\t\t\tif (response_type === OK) {\n\t\t\t\t\t\tlog.info(`${result.status} ${path}`);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlog.error(`${result.status} ${path}`);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (is_html) {\n\t\t\t\tconst cleaned = clean_html(rendered.body);\n\n\t\t\t\tlet match;\n\t\t\t\tconst pattern = /<(a|img|link|source)\\s+([\\s\\S]+?)>/gm;\n\n\t\t\t\twhile ((match = pattern.exec(cleaned))) {\n\t\t\t\t\tlet hrefs = [];\n\t\t\t\t\tconst element = match[1];\n\t\t\t\t\tconst attrs = match[2];\n\n\t\t\t\t\tif (element === 'a' || element === 'link') {\n\t\t\t\t\t\threfs.push(get_href(attrs));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (element === 'img') {\n\t\t\t\t\t\t\threfs.push(get_src(attrs));\n\t\t\t\t\t\t}\n\t\t\t\t\t\threfs.push(...get_srcset_urls(attrs));\n\t\t\t\t\t}\n\n\t\t\t\t\threfs = hrefs.filter(Boolean);\n\n\t\t\t\t\tfor (const href of hrefs) {\n\t\t\t\t\t\tconst resolved = resolve(path, href);\n\t\t\t\t\t\tif (resolved[0] !== '/') continue;\n\n\t\t\t\t\t\tconst parsed = parse(resolved);\n\n\t\t\t\t\t\tconst parts = parsed.pathname.slice(1).split('/').filter(Boolean);\n\t\t\t\t\t\tif (parts[parts.length - 1] === 'index.html') parts.pop();\n\n\t\t\t\t\t\tconst file_exists =\n\t\t\t\t\t\t\t(parsed.pathname.startsWith(`/${config.appDir}/`) &&\n\t\t\t\t\t\t\t\tfs.existsSync(`${dir}/client/${parsed.pathname}`)) ||\n\t\t\t\t\t\t\tfs.existsSync(`${out}${parsed.pathname}`) ||\n\t\t\t\t\t\t\tfs.existsSync(`static${parsed.pathname}`) ||\n\t\t\t\t\t\t\tfs.existsSync(`static${parsed.pathname}/index.html`);\n\n\t\t\t\t\t\tif (file_exists) continue;\n\n\t\t\t\t\t\tif (parsed.query) {\n\t\t\t\t\t\t\t// TODO warn that query strings have no effect on statically-exported pages\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tawait crawl(parsed.pathname);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// TODO support other extensions, e.g. .svelte.md?\n\tconst entries = glob('**/*.svelte', { cwd: config.files.routes })\n\t\t.map((file) => {\n\t\t\tconst parts = file.split('/'); // TODO is this true for glob results on windows?\n\n\t\t\tif (parts.some((part) => part[0] === '_' || /\\[/.test(part))) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tparts[parts.length - 1] = parts[parts.length - 1].replace(/\\.svelte$/, '');\n\t\t\tif (parts[parts.length - 1] === 'index') parts.pop();\n\n\t\t\treturn `/${parts.join('/')}`;\n\t\t})\n\t\t.filter(Boolean);\n\n\tfor (const entry of entries) {\n\t\tawait crawl(entry);\n\t}\n}\n","import { copy } from '@sveltejs/app-utils/files';\nimport { prerender } from './prerender';\n\nexport default class Builder {\n\t#generated_files;\n\t#config;\n\n\tconstructor({ generated_files, config, log }) {\n\t\tthis.#generated_files = generated_files;\n\t\tthis.#config = config;\n\n\t\tthis.log = log;\n\t}\n\n\tcopy_client_files(dest) {\n\t\tcopy(`${this.#generated_files}/client`, dest, (file) => file[0] !== '.');\n\t}\n\n\tcopy_server_files(dest) {\n\t\tcopy(`${this.#generated_files}/server`, dest, (file) => file[0] !== '.');\n\t}\n\n\tcopy_static_files(dest) {\n\t\tcopy(this.#config.files.assets, dest);\n\t}\n\n\tasync prerender({ force = false, dest }) {\n\t\tawait prerender({\n\t\t\tout: dest,\n\t\t\tforce,\n\t\t\tdir: this.#generated_files,\n\t\t\tconfig: this.#config,\n\t\t\tlog: this.log\n\t\t});\n\t}\n}\n","import colors from 'kleur';\nimport relative from 'require-relative';\nimport { logger } from '../utils';\nimport Builder from './Builder';\n\nexport async function adapt(config) {\n\tconst [adapter, options] = config.adapter;\n\n\tif (!adapter) {\n\t\tthrow new Error('No adapter specified');\n\t}\n\n\tconst log = logger();\n\n\tconsole.log(colors.bold().cyan(`\\n> Using ${adapter}`));\n\n\tconst builder = new Builder({\n\t\tgenerated_files: '.svelte/build/optimized',\n\t\tconfig,\n\t\tlog\n\t});\n\n\tconst fn = relative(adapter);\n\tawait fn(builder, options);\n\n\tlog.success('done');\n}\n"],"names":["isWin","os","path","require$$0","fs","globalyzer","globrex","resolve_path","URLSearchParams","createReadStream","join","mkdirp","dirname","resolve","parse","glob","copy","logger","colors","relative"],"mappings":"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"}
package/dist/logging.js DELETED
@@ -1,43 +0,0 @@
1
- 'use strict';
2
-
3
- var colors = require('./colors.js');
4
- var pms = require('pretty-ms');
5
-
6
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
7
-
8
- var pms__default = /*#__PURE__*/_interopDefaultLegacy(pms);
9
-
10
- const DEBUG = !!process.env.DEBUG;
11
-
12
- const log = {
13
- info: (msg) => {
14
- console.log(msg);
15
- },
16
- minor: (msg) => {
17
- console.log(colors.gray(msg));
18
- },
19
- warn: (msg) => {
20
- console.log(colors.bold(colors.yellow(msg)));
21
- },
22
- error: (msg) => {
23
- console.log(colors.bold(colors.red(msg)));
24
- },
25
- debug: (msg) => {
26
- if (DEBUG) console.log(msg);
27
- }
28
- };
29
-
30
- function timer() {
31
- const start = Date.now();
32
- return () => {
33
- const elapsed = Date.now() - start;
34
- return {
35
- valueOf: () => elapsed,
36
- toString: () => pms__default['default'](elapsed)
37
- };
38
- };
39
- }
40
-
41
- exports.log = log;
42
- exports.timer = timer;
43
- //# sourceMappingURL=logging.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logging.js","sources":["../src/logging.js"],"sourcesContent":["import { bold, gray, red, yellow } from 'kleur/colors';\nimport pms from 'pretty-ms';\n\nconst DEBUG = !!process.env.DEBUG;\n\nexport const log = {\n\tinfo: (msg) => {\n\t\tconsole.log(msg);\n\t},\n\tminor: (msg) => {\n\t\tconsole.log(gray(msg));\n\t},\n\twarn: (msg) => {\n\t\tconsole.log(bold(yellow(msg)));\n\t},\n\terror: (msg) => {\n\t\tconsole.log(bold(red(msg)));\n\t},\n\tdebug: (msg) => {\n\t\tif (DEBUG) console.log(msg);\n\t}\n};\n\nexport function timer() {\n\tconst start = Date.now();\n\treturn () => {\n\t\tconst elapsed = Date.now() - start;\n\t\treturn {\n\t\t\tvalueOf: () => elapsed,\n\t\t\ttoString: () => pms(elapsed)\n\t\t};\n\t};\n}\n"],"names":["gray","bold","yellow","red","pms"],"mappings":";;;;;;;;;AAGA,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;AAClC;AACY,MAAC,GAAG,GAAG;AACnB,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK;AAChB,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACnB,EAAE;AACF,CAAC,KAAK,EAAE,CAAC,GAAG,KAAK;AACjB,EAAE,OAAO,CAAC,GAAG,CAACA,WAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACzB,EAAE;AACF,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK;AAChB,EAAE,OAAO,CAAC,GAAG,CAACC,WAAI,CAACC,aAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACjC,EAAE;AACF,CAAC,KAAK,EAAE,CAAC,GAAG,KAAK;AACjB,EAAE,OAAO,CAAC,GAAG,CAACD,WAAI,CAACE,UAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC9B,EAAE;AACF,CAAC,KAAK,EAAE,CAAC,GAAG,KAAK;AACjB,EAAE,IAAI,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC9B,EAAE;AACF,EAAE;AACF;AACO,SAAS,KAAK,GAAG;AACxB,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAC1B,CAAC,OAAO,MAAM;AACd,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;AACrC,EAAE,OAAO;AACT,GAAG,OAAO,EAAE,MAAM,OAAO;AACzB,GAAG,QAAQ,EAAE,MAAMC,uBAAG,CAAC,OAAO,CAAC;AAC/B,GAAG,CAAC;AACJ,EAAE,CAAC;AACH;;;;;"}
package/dist/package.js DELETED
@@ -1,432 +0,0 @@
1
- 'use strict';
2
-
3
- var path = require('path');
4
- var Module = require('module');
5
- var Url = require('url');
6
-
7
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
-
9
- var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
10
- var Module__default = /*#__PURE__*/_interopDefaultLegacy(Module);
11
-
12
- let FORCE_COLOR, NODE_DISABLE_COLORS, NO_COLOR, TERM, isTTY=true;
13
- if (typeof process !== 'undefined') {
14
- ({ FORCE_COLOR, NODE_DISABLE_COLORS, NO_COLOR, TERM } = process.env);
15
- isTTY = process.stdout && process.stdout.isTTY;
16
- }
17
-
18
- const $ = {
19
- enabled: !NODE_DISABLE_COLORS && NO_COLOR == null && TERM !== 'dumb' && (
20
- FORCE_COLOR != null && FORCE_COLOR !== '0' || isTTY
21
- ),
22
-
23
- // modifiers
24
- reset: init(0, 0),
25
- bold: init(1, 22),
26
- dim: init(2, 22),
27
- italic: init(3, 23),
28
- underline: init(4, 24),
29
- inverse: init(7, 27),
30
- hidden: init(8, 28),
31
- strikethrough: init(9, 29),
32
-
33
- // colors
34
- black: init(30, 39),
35
- red: init(31, 39),
36
- green: init(32, 39),
37
- yellow: init(33, 39),
38
- blue: init(34, 39),
39
- magenta: init(35, 39),
40
- cyan: init(36, 39),
41
- white: init(37, 39),
42
- gray: init(90, 39),
43
- grey: init(90, 39),
44
-
45
- // background colors
46
- bgBlack: init(40, 49),
47
- bgRed: init(41, 49),
48
- bgGreen: init(42, 49),
49
- bgYellow: init(43, 49),
50
- bgBlue: init(44, 49),
51
- bgMagenta: init(45, 49),
52
- bgCyan: init(46, 49),
53
- bgWhite: init(47, 49)
54
- };
55
-
56
- function run(arr, str) {
57
- let i=0, tmp, beg='', end='';
58
- for (; i < arr.length; i++) {
59
- tmp = arr[i];
60
- beg += tmp.open;
61
- end += tmp.close;
62
- if (str.includes(tmp.close)) {
63
- str = str.replace(tmp.rgx, tmp.close + tmp.open);
64
- }
65
- }
66
- return beg + str + end;
67
- }
68
-
69
- function chain(has, keys) {
70
- let ctx = { has, keys };
71
-
72
- ctx.reset = $.reset.bind(ctx);
73
- ctx.bold = $.bold.bind(ctx);
74
- ctx.dim = $.dim.bind(ctx);
75
- ctx.italic = $.italic.bind(ctx);
76
- ctx.underline = $.underline.bind(ctx);
77
- ctx.inverse = $.inverse.bind(ctx);
78
- ctx.hidden = $.hidden.bind(ctx);
79
- ctx.strikethrough = $.strikethrough.bind(ctx);
80
-
81
- ctx.black = $.black.bind(ctx);
82
- ctx.red = $.red.bind(ctx);
83
- ctx.green = $.green.bind(ctx);
84
- ctx.yellow = $.yellow.bind(ctx);
85
- ctx.blue = $.blue.bind(ctx);
86
- ctx.magenta = $.magenta.bind(ctx);
87
- ctx.cyan = $.cyan.bind(ctx);
88
- ctx.white = $.white.bind(ctx);
89
- ctx.gray = $.gray.bind(ctx);
90
- ctx.grey = $.grey.bind(ctx);
91
-
92
- ctx.bgBlack = $.bgBlack.bind(ctx);
93
- ctx.bgRed = $.bgRed.bind(ctx);
94
- ctx.bgGreen = $.bgGreen.bind(ctx);
95
- ctx.bgYellow = $.bgYellow.bind(ctx);
96
- ctx.bgBlue = $.bgBlue.bind(ctx);
97
- ctx.bgMagenta = $.bgMagenta.bind(ctx);
98
- ctx.bgCyan = $.bgCyan.bind(ctx);
99
- ctx.bgWhite = $.bgWhite.bind(ctx);
100
-
101
- return ctx;
102
- }
103
-
104
- function init(open, close) {
105
- let blk = {
106
- open: `\x1b[${open}m`,
107
- close: `\x1b[${close}m`,
108
- rgx: new RegExp(`\\x1b\\[${close}m`, 'g')
109
- };
110
- return function (txt) {
111
- if (this !== void 0 && this.has !== void 0) {
112
- this.has.includes(open) || (this.has.push(open),this.keys.push(blk));
113
- return txt === void 0 ? this : $.enabled ? run(this.keys, txt+'') : txt+'';
114
- }
115
- return txt === void 0 ? chain([open], [blk]) : $.enabled ? run([blk], txt+'') : txt+'';
116
- };
117
- }
118
-
119
- var modules = {};
120
-
121
- var getModule = function(dir) {
122
- var rootPath = dir ? path__default['default'].resolve(dir) : process.cwd();
123
- var rootName = path__default['default'].join(rootPath, '@root');
124
- var root = modules[rootName];
125
- if (!root) {
126
- root = new Module__default['default'](rootName);
127
- root.filename = rootName;
128
- root.paths = Module__default['default']._nodeModulePaths(rootPath);
129
- modules[rootName] = root;
130
- }
131
- return root;
132
- };
133
-
134
- var requireRelative = function(requested, relativeTo) {
135
- var root = getModule(relativeTo);
136
- return root.require(requested);
137
- };
138
-
139
- requireRelative.resolve = function(requested, relativeTo) {
140
- var root = getModule(relativeTo);
141
- return Module__default['default']._resolveFilename(requested, root);
142
- };
143
-
144
- var requireRelative_1 = requireRelative;
145
-
146
- let FORCE_COLOR$1, NODE_DISABLE_COLORS$1, NO_COLOR$1, TERM$1, isTTY$1=true;
147
- if (typeof process !== 'undefined') {
148
- ({ FORCE_COLOR: FORCE_COLOR$1, NODE_DISABLE_COLORS: NODE_DISABLE_COLORS$1, NO_COLOR: NO_COLOR$1, TERM: TERM$1 } = process.env);
149
- isTTY$1 = process.stdout && process.stdout.isTTY;
150
- }
151
-
152
- const $$1 = {
153
- enabled: !NODE_DISABLE_COLORS$1 && NO_COLOR$1 == null && TERM$1 !== 'dumb' && (
154
- FORCE_COLOR$1 != null && FORCE_COLOR$1 !== '0' || isTTY$1
155
- )
156
- };
157
-
158
- function init$1(x, y) {
159
- let rgx = new RegExp(`\\x1b\\[${y}m`, 'g');
160
- let open = `\x1b[${x}m`, close = `\x1b[${y}m`;
161
-
162
- return function (txt) {
163
- if (!$$1.enabled || txt == null) return txt;
164
- return open + ((''+txt).includes(close) ? txt.replace(rgx, close + open) : txt) + close;
165
- };
166
- }
167
- const bold = init$1(1, 22);
168
- const green = init$1(32, 39);
169
- const yellow = init$1(33, 39);
170
- const cyan = init$1(36, 39);
171
-
172
- var options = {
173
- adapter: {
174
- default: [null],
175
- validate: (option, keypath) => {
176
- // support both `adapter: 'foo'` and `adapter: ['foo', opts]`
177
- if (!Array.isArray(option)) {
178
- option = [option];
179
- }
180
-
181
- // TODO allow inline functions
182
- assert_is_string(option[0], keypath);
183
-
184
- return option;
185
- }
186
- },
187
-
188
- amp: expect_boolean(false),
189
-
190
- appDir: expect_string('_app'),
191
-
192
- files: {
193
- default: {
194
- assets: expect_string('static'),
195
- routes: expect_string('src/routes'),
196
- setup: expect_string('src/setup'),
197
- template: expect_string('src/app.html')
198
- }
199
- },
200
-
201
- host: expect_string(null),
202
-
203
- hostHeader: expect_string(null),
204
-
205
- paths: {
206
- default: {
207
- base: expect_string(''),
208
- assets: expect_string('')
209
- }
210
- },
211
-
212
- prerender: {
213
- default: {
214
- crawl: expect_boolean(true),
215
- enabled: expect_boolean(true),
216
- pages: {
217
- default: ['*'],
218
- validate: (option, keypath) => {
219
- if (!Array.isArray(option) || !option.every((page) => typeof page === 'string')) {
220
- throw new Error(`${keypath} must be an array of strings`);
221
- }
222
-
223
- option.forEach((page) => {
224
- if (page !== '*' && page[0] !== '/') {
225
- throw new Error(
226
- `Each member of ${keypath} must be either '*' or an absolute path beginning with '/' — saw '${page}'`
227
- );
228
- }
229
- });
230
-
231
- return option;
232
- }
233
- }
234
- }
235
- },
236
-
237
- // used for testing
238
- startGlobal: expect_string(null),
239
-
240
- target: expect_string(null)
241
- };
242
-
243
- function expect_string(string) {
244
- return {
245
- default: string,
246
- validate: (option, keypath) => {
247
- assert_is_string(option, keypath);
248
- return option;
249
- }
250
- };
251
- }
252
-
253
- function expect_boolean(boolean) {
254
- return {
255
- default: boolean,
256
- validate: (option, keypath) => {
257
- if (typeof option !== 'boolean') {
258
- throw new Error(`${keypath} should be true or false, if specified`);
259
- }
260
- return option;
261
- }
262
- };
263
- }
264
-
265
- function assert_is_string(option, keypath) {
266
- if (typeof option !== 'string') {
267
- throw new Error(`${keypath} should be a string, if specified`);
268
- }
269
- }
270
-
271
- function warn(msg) {
272
- console.log(bold(yellow(msg)));
273
- }
274
-
275
- function validate(definition, option, keypath) {
276
- for (const key in option) {
277
- if (!(key in definition)) {
278
- throw new Error(`Unexpected option ${keypath}.${key}`);
279
- }
280
- }
281
-
282
- const merged = {};
283
-
284
- for (const key in definition) {
285
- const expected = definition[key];
286
- const actual = option[key];
287
-
288
- const child_keypath = `${keypath}.${key}`;
289
- const has_children =
290
- expected.default && typeof expected.default === 'object' && !Array.isArray(expected.default);
291
-
292
- if (key in option) {
293
- if (has_children) {
294
- if (actual && (typeof actual !== 'object' || Array.isArray(actual))) {
295
- throw new Error(`${keypath}.${key} should be an object`);
296
- }
297
-
298
- merged[key] = validate(expected.default, actual, child_keypath);
299
- } else {
300
- merged[key] = expected.validate(actual, child_keypath);
301
- }
302
- } else {
303
- merged[key] = has_children ? validate(expected.default, {}, child_keypath) : expected.default;
304
- }
305
- }
306
-
307
- return merged;
308
- }
309
-
310
- function resolve(from, to) {
311
- // the `/.` is weird, but allows `${assets}/images/blah.jpg` to work
312
- // when `assets` is empty
313
- return remove_trailing_slash(Url.resolve(add_trailing_slash(from), to)) || '/.';
314
- }
315
-
316
- function add_trailing_slash(str) {
317
- return str.endsWith('/') ? str : `${str}/`;
318
- }
319
-
320
- function remove_trailing_slash(str) {
321
- return str.endsWith('/') ? str.slice(0, -1) : str;
322
- }
323
-
324
- const expected = new Set(['compilerOptions', 'kit', 'preprocess']);
325
-
326
- function load_config({ cwd = process.cwd() } = {}) {
327
- const config = requireRelative_1('./svelte.config.js', cwd);
328
- const validated = validate_config(config);
329
-
330
- // TODO check all the `files` exist when the config is loaded?
331
- // TODO check that `target` is present in the provided template
332
-
333
- return validated;
334
- }
335
-
336
- function validate_config(config) {
337
- for (const key in config) {
338
- if (!expected.has(key)) {
339
- warn(`Unexpected option ${key}${key in options ? ` (did you mean kit.${key}?)` : ''}`);
340
- }
341
- }
342
-
343
- const { kit = {} } = config;
344
-
345
- const validated = validate(options, kit, 'kit');
346
-
347
- if (validated.appDir === '') {
348
- throw new Error('kit.appDir cannot be empty');
349
- }
350
-
351
- // resolve paths
352
- if (validated.paths.base !== '' && !validated.paths.base.startsWith('/')) {
353
- throw new Error('kit.paths.base must be a root-relative path');
354
- }
355
-
356
- validated.paths.assets = resolve(validated.paths.base, validated.paths.assets);
357
-
358
- return validated;
359
- }
360
-
361
- var name = "@sveltejs/kit";
362
- var version = "1.0.0-next.21";
363
- var dependencies = {
364
- "@sveltejs/app-utils": "1.0.0-next.0",
365
- "cheap-watch": "^1.0.2",
366
- "http-proxy": "^1.18.1",
367
- rollup: "^2.32.0",
368
- "rollup-plugin-css-chunks": "^2.0.2",
369
- "rollup-plugin-terser": "^7.0.2",
370
- sade: "^1.7.4",
371
- scorta: "^1.0.0",
372
- snowpack: "^3.0.0-rc.1",
373
- "source-map": "^0.7.3"
374
- };
375
- var devDependencies = {
376
- "@types/node": "^14.11.10",
377
- "@types/rimraf": "^3.0.0",
378
- "@types/sade": "^1.7.2",
379
- "amphtml-validator": "^1.0.34",
380
- eslint: "^7.14.0",
381
- esm: "^3.2.25",
382
- "estree-walker": "^2.0.1",
383
- "is-reference": "^1.2.1",
384
- kleur: "^4.1.3",
385
- "magic-string": "^0.25.7",
386
- meriyah: "^3.0.3",
387
- "node-fetch": "^2.6.1",
388
- periscopic: "^2.0.2",
389
- "port-authority": "^1.1.1",
390
- "require-relative": "^0.8.7",
391
- rimraf: "^3.0.2",
392
- sirv: "^1.0.7",
393
- "source-map-support": "^0.5.19",
394
- svelte: "^3.29.0",
395
- "tiny-glob": "^0.2.8"
396
- };
397
- var bin = {
398
- "svelte-kit": "svelte-kit"
399
- };
400
- var files = [
401
- "assets",
402
- "dist",
403
- "client"
404
- ];
405
- var scripts = {
406
- dev: "rollup -cw",
407
- build: "rollup -c",
408
- lint: "eslint --ignore-path .gitignore \"**/*.{ts,mjs,js,svelte}\" && npm run check-format",
409
- format: "prettier --write . --config ../../.prettierrc --ignore-path .gitignore",
410
- "check-format": "prettier --check . --config ../../.prettierrc --ignore-path .gitignore",
411
- prepublishOnly: "npm run build",
412
- test: "uvu src \"(spec.js|test/index.js)\" -r esm"
413
- };
414
- var pkg = {
415
- name: name,
416
- version: version,
417
- dependencies: dependencies,
418
- devDependencies: devDependencies,
419
- bin: bin,
420
- files: files,
421
- scripts: scripts
422
- };
423
-
424
- exports.$ = $;
425
- exports.bold = bold;
426
- exports.cyan = cyan;
427
- exports.green = green;
428
- exports.load_config = load_config;
429
- exports.pkg = pkg;
430
- exports.requireRelative_1 = requireRelative_1;
431
- exports.version = version;
432
- //# sourceMappingURL=package.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"package.js","sources":["../../../node_modules/.pnpm/kleur@4.1.3/node_modules/kleur/index.mjs","../../../node_modules/.pnpm/require-relative@0.8.7/node_modules/require-relative/index.js","../../../node_modules/.pnpm/kleur@4.1.3/node_modules/kleur/colors.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.includes(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\tthis.has.includes(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","/*\nrelative require\n*/'use strict';\n\nvar path = require('path');\nvar Module = require('module');\n\nvar modules = {};\n\nvar getModule = function(dir) {\n var rootPath = dir ? path.resolve(dir) : process.cwd();\n var rootName = path.join(rootPath, '@root');\n var root = modules[rootName];\n if (!root) {\n root = new Module(rootName);\n root.filename = rootName;\n root.paths = Module._nodeModulePaths(rootPath);\n modules[rootName] = root;\n }\n return root;\n};\n\nvar requireRelative = function(requested, relativeTo) {\n var root = getModule(relativeTo);\n return root.require(requested);\n};\n\nrequireRelative.resolve = function(requested, relativeTo) {\n var root = getModule(relativeTo);\n return Module._resolveFilename(requested, root);\n};\n\nmodule.exports = requireRelative;\n","let 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\nexport const $ = {\n\tenabled: !NODE_DISABLE_COLORS && NO_COLOR == null && TERM !== 'dumb' && (\n\t\tFORCE_COLOR != null && FORCE_COLOR !== '0' || isTTY\n\t)\n}\n\nfunction init(x, y) {\n\tlet rgx = new RegExp(`\\\\x1b\\\\[${y}m`, 'g');\n\tlet open = `\\x1b[${x}m`, close = `\\x1b[${y}m`;\n\n\treturn function (txt) {\n\t\tif (!$.enabled || txt == null) return txt;\n\t\treturn open + ((''+txt).includes(close) ? txt.replace(rgx, close + open) : txt) + close;\n\t};\n}\n\n// modifiers\nexport const reset = init(0, 0);\nexport const bold = init(1, 22);\nexport const dim = init(2, 22);\nexport const italic = init(3, 23);\nexport const underline = init(4, 24);\nexport const inverse = init(7, 27);\nexport const hidden = init(8, 28);\nexport const strikethrough = init(9, 29);\n\n// colors\nexport const black = init(30, 39);\nexport const red = init(31, 39);\nexport const green = init(32, 39);\nexport const yellow = init(33, 39);\nexport const blue = init(34, 39);\nexport const magenta = init(35, 39);\nexport const cyan = init(36, 39);\nexport const white = init(37, 39);\nexport const gray = init(90, 39);\nexport const grey = init(90, 39);\n\n// background colors\nexport const bgBlack = init(40, 49);\nexport const bgRed = init(41, 49);\nexport const bgGreen = init(42, 49);\nexport const bgYellow = init(43, 49);\nexport const bgBlue = init(44, 49);\nexport const bgMagenta = init(45, 49);\nexport const bgCyan = init(46, 49);\nexport const bgWhite = init(47, 49);\n","export default {\n\tadapter: {\n\t\tdefault: [null],\n\t\tvalidate: (option, keypath) => {\n\t\t\t// support both `adapter: 'foo'` and `adapter: ['foo', opts]`\n\t\t\tif (!Array.isArray(option)) {\n\t\t\t\toption = [option];\n\t\t\t}\n\n\t\t\t// TODO allow inline functions\n\t\t\tassert_is_string(option[0], keypath);\n\n\t\t\treturn option;\n\t\t}\n\t},\n\n\tamp: expect_boolean(false),\n\n\tappDir: expect_string('_app'),\n\n\tfiles: {\n\t\tdefault: {\n\t\t\tassets: expect_string('static'),\n\t\t\troutes: expect_string('src/routes'),\n\t\t\tsetup: expect_string('src/setup'),\n\t\t\ttemplate: expect_string('src/app.html')\n\t\t}\n\t},\n\n\thost: expect_string(null),\n\n\thostHeader: expect_string(null),\n\n\tpaths: {\n\t\tdefault: {\n\t\t\tbase: expect_string(''),\n\t\t\tassets: expect_string('')\n\t\t}\n\t},\n\n\tprerender: {\n\t\tdefault: {\n\t\t\tcrawl: expect_boolean(true),\n\t\t\tenabled: expect_boolean(true),\n\t\t\tpages: {\n\t\t\t\tdefault: ['*'],\n\t\t\t\tvalidate: (option, keypath) => {\n\t\t\t\t\tif (!Array.isArray(option) || !option.every((page) => typeof page === 'string')) {\n\t\t\t\t\t\tthrow new Error(`${keypath} must be an array of strings`);\n\t\t\t\t\t}\n\n\t\t\t\t\toption.forEach((page) => {\n\t\t\t\t\t\tif (page !== '*' && page[0] !== '/') {\n\t\t\t\t\t\t\tthrow new Error(\n\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);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\treturn option;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\t// used for testing\n\tstartGlobal: expect_string(null),\n\n\ttarget: expect_string(null)\n};\n\nfunction expect_string(string) {\n\treturn {\n\t\tdefault: string,\n\t\tvalidate: (option, keypath) => {\n\t\t\tassert_is_string(option, keypath);\n\t\t\treturn option;\n\t\t}\n\t};\n}\n\nfunction expect_boolean(boolean) {\n\treturn {\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\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","import relative from 'require-relative';\nimport { bold, yellow } from 'kleur/colors';\nimport options from './options';\nimport * as url from 'url';\n\nfunction warn(msg) {\n\tconsole.log(bold(yellow(msg)));\n}\n\nfunction validate(definition, option, keypath) {\n\tfor (const key in option) {\n\t\tif (!(key in definition)) {\n\t\t\tthrow new Error(`Unexpected option ${keypath}.${key}`);\n\t\t}\n\t}\n\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\t\tconst has_children =\n\t\t\texpected.default && typeof expected.default === 'object' && !Array.isArray(expected.default);\n\n\t\tif (key in option) {\n\t\t\tif (has_children) {\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.default, 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] = has_children ? validate(expected.default, {}, child_keypath) : expected.default;\n\t\t}\n\t}\n\n\treturn merged;\n}\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\nfunction add_trailing_slash(str) {\n\treturn str.endsWith('/') ? str : `${str}/`;\n}\n\nfunction remove_trailing_slash(str) {\n\treturn str.endsWith('/') ? str.slice(0, -1) : str;\n}\n\nconst expected = new Set(['compilerOptions', 'kit', 'preprocess']);\n\nexport function load_config({ cwd = process.cwd() } = {}) {\n\tconst config = relative('./svelte.config.js', cwd);\n\tconst validated = validate_config(config);\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\nexport function validate_config(config) {\n\tfor (const key in config) {\n\t\tif (!expected.has(key)) {\n\t\t\twarn(`Unexpected option ${key}${key in options ? ` (did you mean kit.${key}?)` : ''}`);\n\t\t}\n\t}\n\n\tconst { kit = {} } = config;\n\n\tconst validated = validate(options, kit, 'kit');\n\n\tif (validated.appDir === '') {\n\t\tthrow new Error('kit.appDir cannot be empty');\n\t}\n\n\t// resolve paths\n\tif (validated.paths.base !== '' && !validated.paths.base.startsWith('/')) {\n\t\tthrow new Error('kit.paths.base must be a root-relative path');\n\t}\n\n\tvalidated.paths.assets = resolve(validated.paths.base, validated.paths.assets);\n\n\treturn validated;\n}\n"],"names":["path","Module","FORCE_COLOR","NODE_DISABLE_COLORS","NO_COLOR","TERM","isTTY","$","init","url.resolve","relative"],"mappings":"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"}