diff --git a/.gitignore b/.gitignore index 85901d97cbd3..ead94f04da8d 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ yarn.lock .netlify .turbo .vercel +.test-tmp diff --git a/package.json b/package.json index f8a1165911a8..65d2c54cb826 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "private": true, "scripts": { "build": "turbo run build --filter=./packages/*", - "test": "turbo run test --filter=./packages/*", + "test": "turbo run test --filter=./packages/* --force", "check": "turbo run check", "lint": "turbo run lint", "format": "turbo run format", @@ -37,7 +37,7 @@ "eslint-plugin-svelte3": "^4.0.0", "playwright": "^1.23.3", "prettier": "^2.6.2", - "rollup": "^2.75.3", + "rollup": "^2.75.7", "svelte": "^3.48.0", "tiny-glob": "^0.2.9", "turbo": "^1.3.1", diff --git a/packages/adapter-cloudflare-workers/package.json b/packages/adapter-cloudflare-workers/package.json index 0fa7a49e8c10..3edccc2fc901 100644 --- a/packages/adapter-cloudflare-workers/package.json +++ b/packages/adapter-cloudflare-workers/package.json @@ -31,7 +31,7 @@ "dependencies": { "@cloudflare/workers-types": "^3.14.0", "@iarna/toml": "^2.2.5", - "esbuild": "^0.14.42" + "esbuild": "^0.14.48" }, "devDependencies": { "@cloudflare/kv-asset-handler": "^0.2.0", diff --git a/packages/adapter-cloudflare/package.json b/packages/adapter-cloudflare/package.json index 02c8f8c20ef5..a7978d3b625e 100644 --- a/packages/adapter-cloudflare/package.json +++ b/packages/adapter-cloudflare/package.json @@ -33,7 +33,7 @@ }, "dependencies": { "@cloudflare/workers-types": "^3.14.0", - "esbuild": "^0.14.42", + "esbuild": "^0.14.48", "worktop": "0.8.0-next.14" }, "devDependencies": { diff --git a/packages/adapter-netlify/package.json b/packages/adapter-netlify/package.json index 45077e329e60..1d890bbaf3ac 100644 --- a/packages/adapter-netlify/package.json +++ b/packages/adapter-netlify/package.json @@ -34,7 +34,7 @@ }, "dependencies": { "@iarna/toml": "^2.2.5", - "esbuild": "^0.14.42", + "esbuild": "^0.14.48", "set-cookie-parser": "^2.4.8", "tiny-glob": "^0.2.9" }, @@ -47,7 +47,7 @@ "@types/node": "^16.11.36", "@types/set-cookie-parser": "^2.4.2", "rimraf": "^3.0.2", - "rollup": "^2.75.3", + "rollup": "^2.75.7", "typescript": "^4.7.4", "uvu": "^0.5.3" } diff --git a/packages/adapter-node/package.json b/packages/adapter-node/package.json index c666eadf02e1..58fea652d964 100644 --- a/packages/adapter-node/package.json +++ b/packages/adapter-node/package.json @@ -45,7 +45,7 @@ "node-fetch": "^3.2.4", "polka": "^1.0.0-next.22", "rimraf": "^3.0.2", - "rollup": "^2.75.3", + "rollup": "^2.75.7", "sirv": "^2.0.2", "typescript": "^4.7.4", "uvu": "^0.5.3" diff --git a/packages/adapter-static/package.json b/packages/adapter-static/package.json index 58877e92dcba..b171ed054a7d 100644 --- a/packages/adapter-static/package.json +++ b/packages/adapter-static/package.json @@ -36,6 +36,6 @@ "svelte": "^3.48.0", "typescript": "^4.7.4", "uvu": "^0.5.3", - "vite": "^2.9.13" + "vite": "^3.0.0" } } diff --git a/packages/adapter-static/test/apps/prerendered/package.json b/packages/adapter-static/test/apps/prerendered/package.json index ff98f1205789..425cb7a94356 100644 --- a/packages/adapter-static/test/apps/prerendered/package.json +++ b/packages/adapter-static/test/apps/prerendered/package.json @@ -10,7 +10,7 @@ "devDependencies": { "@sveltejs/kit": "workspace:*", "svelte": "^3.48.0", - "vite": "^2.9.13" + "vite": "^3.0.0" }, "type": "module" } diff --git a/packages/adapter-static/test/apps/spa/package.json b/packages/adapter-static/test/apps/spa/package.json index 028d0e11362a..156d0fe3bd5a 100644 --- a/packages/adapter-static/test/apps/spa/package.json +++ b/packages/adapter-static/test/apps/spa/package.json @@ -12,7 +12,7 @@ "@sveltejs/kit": "workspace:*", "sirv-cli": "^2.0.2", "svelte": "^3.48.0", - "vite": "^2.9.13" + "vite": "^3.0.0" }, "type": "module" } diff --git a/packages/adapter-vercel/package.json b/packages/adapter-vercel/package.json index 9ae22aaa98f1..5d6970336bb6 100644 --- a/packages/adapter-vercel/package.json +++ b/packages/adapter-vercel/package.json @@ -30,7 +30,7 @@ }, "dependencies": { "@vercel/nft": "^0.20.0", - "esbuild": "^0.14.42" + "esbuild": "^0.14.48" }, "devDependencies": { "@sveltejs/kit": "workspace:*", diff --git a/packages/create-svelte/templates/default/package.json b/packages/create-svelte/templates/default/package.json index 8b92b2141879..630e6f122b83 100644 --- a/packages/create-svelte/templates/default/package.json +++ b/packages/create-svelte/templates/default/package.json @@ -14,7 +14,7 @@ "svelte": "^3.48.0", "svelte-preprocess": "^4.10.6", "typescript": "^4.7.4", - "vite": "^2.9.13" + "vite": "^3.0.0" }, "type": "module", "dependencies": { diff --git a/packages/create-svelte/templates/default/package.template.json b/packages/create-svelte/templates/default/package.template.json index e31113544646..1fb109ee082f 100644 --- a/packages/create-svelte/templates/default/package.template.json +++ b/packages/create-svelte/templates/default/package.template.json @@ -12,7 +12,7 @@ "@sveltejs/adapter-auto": "next", "@sveltejs/kit": "next", "svelte": "^3.46.0", - "vite": "^2.9.13" + "vite": "^3.0.0" }, "type": "module", "dependencies": { diff --git a/packages/create-svelte/templates/skeleton/package.template.json b/packages/create-svelte/templates/skeleton/package.template.json index ae9859dbdaad..095414961acb 100644 --- a/packages/create-svelte/templates/skeleton/package.template.json +++ b/packages/create-svelte/templates/skeleton/package.template.json @@ -12,7 +12,7 @@ "@sveltejs/adapter-auto": "workspace:*", "@sveltejs/kit": "workspace:*", "svelte": "^3.44.0", - "vite": "^2.9.13" + "vite": "^3.0.0" }, "type": "module" } diff --git a/packages/create-svelte/test/check.js b/packages/create-svelte/test/check.js index 4eb11c789e4b..f69222bf76ab 100644 --- a/packages/create-svelte/test/check.js +++ b/packages/create-svelte/test/check.js @@ -1,30 +1,81 @@ import fs from 'fs'; import { execSync } from 'child_process'; +import path from 'path'; import { test } from 'uvu'; import { create } from '../index.js'; +import { fileURLToPath } from 'url'; +// use a directory outside of packages to ensure it isn't added to the pnpm workspace +const test_workspace_dir = fileURLToPath( + new URL('../../../.test-tmp/create-svelte/', import.meta.url) +); +const overrides = {}; +['kit', 'adapter-auto', 'adapter-cloudflare', 'adapter-netlify', 'adapter-vercel'].forEach( + (pkg) => { + overrides[`@sveltejs/${pkg}`] = `${path.resolve( + test_workspace_dir, + '..', + '..', + 'packages', + pkg + )}`; //'workspace:*'; + } +); +test.before(() => { + try { + // prepare test pnpm workspace + fs.rmSync(test_workspace_dir, { recursive: true, force: true }); + fs.mkdirSync(test_workspace_dir, { recursive: true }); + const workspace = { + name: 'svelte-check-test-fake-pnpm-workspace', + private: true, + version: '0.0.0', + pnpm: { overrides }, + devDependencies: overrides + }; + fs.writeFileSync( + path.join(test_workspace_dir, 'package.json'), + JSON.stringify(workspace, null, '\t') + ); + fs.writeFileSync(path.join(test_workspace_dir, 'pnpm-workspace.yaml'), 'packages:\n - ./*\n'); -const dir = '.test-tmp'; - -test.after(() => { - fs.rmSync(dir, { recursive: true, force: true }); + // force creation of pnpm-lock.yaml in test workspace + execSync('pnpm install --no-frozen-lockfile', { dir: test_workspace_dir, stdio: 'inherit' }); + } catch (e) { + console.error('failed to setup create-svelte test workspace', e); + throw e; + } }); for (const template of fs.readdirSync('templates')) { for (const types of ['checkjs', 'typescript']) { test(`${template}: ${types}`, () => { - const cwd = `${dir}/${template}-${types}`; + const cwd = path.join(test_workspace_dir, `${template}-${types}`); fs.rmSync(cwd, { recursive: true, force: true }); create(cwd, { - name: 'test', + name: `create-svelte-test-${template}-${types}`, template, types, prettier: false, eslint: false, playwright: false }); + const pkg = JSON.parse(fs.readFileSync(path.join(cwd, 'package.json'), 'utf-8')); + Object.entries(overrides).forEach(([key, value]) => { + if (pkg.devDependencies?.[key]) { + pkg.devDependencies[key] = value; + } + if (pkg.dependencies?.[key]) { + pkg.dependencies[key] = value; + } + }); + fs.writeFileSync(path.join(cwd, 'package.json'), JSON.stringify(pkg, null, '\t')); + + // this pnpm install works in the test workspace, which redirects to our local packages again + execSync('pnpm install --no-frozen-lockfile', { cwd, stdio: 'inherit' }); - execSync('npm i && npm run check', { cwd, stdio: 'inherit' }); + // run check command separately + execSync('pnpm check', { cwd, stdio: 'inherit' }); }); } } diff --git a/packages/kit/package.json b/packages/kit/package.json index e2192e8612f3..5c4cd835cf50 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -10,7 +10,7 @@ "homepage": "https://kit.svelte.dev", "type": "module", "dependencies": { - "@sveltejs/vite-plugin-svelte": "1.0.0-next.49", + "@sveltejs/vite-plugin-svelte": "^1.0.1", "chokidar": "^3.5.3", "sade": "^1.8.1" }, @@ -33,7 +33,7 @@ "marked": "^4.0.16", "mime": "^3.0.0", "node-fetch": "^3.2.4", - "rollup": "^2.75.3", + "rollup": "^2.75.7", "selfsigned": "^2.0.1", "set-cookie-parser": "^2.4.8", "sirv": "^2.0.2", @@ -45,11 +45,11 @@ "typescript": "^4.7.4", "undici": "^5.6.1", "uvu": "^0.5.3", - "vite": "^2.9.13" + "vite": "^3.0.0" }, "peerDependencies": { "svelte": "^3.44.0", - "vite": "^2.9.10" + "vite": "^3.0.0" }, "bin": { "svelte-kit": "svelte-kit.js" diff --git a/packages/kit/src/core/sync/create_manifest_data/index.js b/packages/kit/src/core/sync/create_manifest_data/index.js index 01f5a0d567fc..324ef1f84e50 100644 --- a/packages/kit/src/core/sync/create_manifest_data/index.js +++ b/packages/kit/src/core/sync/create_manifest_data/index.js @@ -1,7 +1,7 @@ import fs from 'fs'; import path from 'path'; import mime from 'mime'; -import { get_runtime_path } from '../../utils.js'; +import { get_runtime_directory } from '../../utils.js'; import { posixify } from '../../../utils/filesystem.js'; import { parse_route_id } from '../../../utils/routing.js'; @@ -58,7 +58,7 @@ const DEFAULT = 'default'; */ export default function create_manifest_data({ config, - fallback = `${get_runtime_path(config.kit)}/components`, + fallback = `${get_runtime_directory(config.kit)}/components`, cwd = process.cwd() }) { /** @type {import('types').RouteData[]} */ diff --git a/packages/kit/src/core/utils.js b/packages/kit/src/core/utils.js index 03388637a986..c60e5d92bdb3 100644 --- a/packages/kit/src/core/utils.js +++ b/packages/kit/src/core/utils.js @@ -2,10 +2,29 @@ import path from 'path'; import colors from 'kleur'; import { fileURLToPath } from 'url'; -export const get_runtime_path = process.env.BUNDLED - ? /** @param {import('types').ValidatedKitConfig} config */ (config) => - posixify_path(path.join(config.outDir, 'runtime')) - : () => posixify_path(fileURLToPath(new URL('../runtime', import.meta.url))); +/** + * Get the prefix for the `runtime` directory, for use with import declarations + * @param {import('types').ValidatedKitConfig} config + */ +export function get_runtime_prefix(config) { + if (process.env.BUNDLED) { + return posixify_path(path.join(config.outDir, 'runtime')); + } + + return posixify_path(fileURLToPath(new URL('../runtime', import.meta.url))); +} + +/** + * Get the resolved path of the `runtime` directory + * @param {import('types').ValidatedKitConfig} config + */ +export function get_runtime_directory(config) { + if (process.env.BUNDLED) { + return path.join(config.outDir, 'runtime'); + } + + return fileURLToPath(new URL('../runtime', import.meta.url)); +} /** @param {string} str */ function posixify_path(str) { diff --git a/packages/kit/src/vite/build/build_server.js b/packages/kit/src/vite/build/build_server.js index ada6753418cf..243eddec673a 100644 --- a/packages/kit/src/vite/build/build_server.js +++ b/packages/kit/src/vite/build/build_server.js @@ -3,7 +3,7 @@ import path from 'path'; import { mkdirp, posixify } from '../../utils/filesystem.js'; import { get_vite_config, merge_vite_configs, resolve_entry } from '../utils.js'; import { load_template } from '../../core/config/index.js'; -import { get_runtime_path } from '../../core/utils.js'; +import { get_runtime_directory } from '../../core/utils.js'; import { create_build, find_deps, get_default_config, remove_svelte_kit } from './utils.js'; import { s } from '../../utils/misc.js'; @@ -177,7 +177,7 @@ export async function build_server(options, client) { config, hooks: app_relative(hooks_file), has_service_worker: config.kit.serviceWorker.register && !!service_worker_entry_file, - runtime: get_runtime_path(config.kit), + runtime: posixify(path.relative(build_dir, get_runtime_directory(config.kit))), template: load_template(cwd, config) }) ); diff --git a/packages/kit/src/vite/build/utils.js b/packages/kit/src/vite/build/utils.js index 5b45ebdfb2cf..fee56e4130b1 100644 --- a/packages/kit/src/vite/build/utils.js +++ b/packages/kit/src/vite/build/utils.js @@ -85,12 +85,13 @@ export function find_deps(manifest, entry, add_dynamic_css) { */ export const get_default_config = function ({ config, input, ssr, outDir }) { return { + appType: 'custom', base: assets_base(config.kit), build: { cssCodeSplit: true, manifest: true, outDir, - polyfillDynamicImport: false, + polyfillModulePreload: false, rollupOptions: { input, output: { @@ -110,7 +111,6 @@ export const get_default_config = function ({ config, input, ssr, outDir }) { resolve: { alias: get_aliases(config.kit) }, - // @ts-expect-error ssr: { // when developing against the Kit src code, we want to ensure that // our dependencies are bundled so that apps don't need to install @@ -138,6 +138,9 @@ export function assets_base(config) { } /** + * vite.config.js will contain vite-plugin-svelte-kit, which kicks off the server and service + * worker builds in a hook. When running the server and service worker builds we must remove + * the SvelteKit plugin so that we do not kick off additional instances of these builds. * @param {import('vite').UserConfig} config */ export function remove_svelte_kit(config) { diff --git a/packages/kit/src/vite/dev/index.js b/packages/kit/src/vite/dev/index.js index 54a3e77d01e1..fb2f30580ac8 100644 --- a/packages/kit/src/vite/dev/index.js +++ b/packages/kit/src/vite/dev/index.js @@ -11,7 +11,7 @@ import { parse_route_id } from '../../utils/routing.js'; import { load_template } from '../../core/config/index.js'; import { SVELTE_KIT_ASSETS } from '../../core/constants.js'; import * as sync from '../../core/sync/sync.js'; -import { get_mime_lookup, get_runtime_path } from '../../core/utils.js'; +import { get_mime_lookup, get_runtime_prefix } from '../../core/utils.js'; import { resolve_entry } from '../utils.js'; // Vite doesn't expose this so we just copy the list for now @@ -31,7 +31,7 @@ export async function dev(vite, vite_config, svelte_config) { sync.init(svelte_config); - const runtime = get_runtime_path(svelte_config.kit); + const runtime = get_runtime_prefix(svelte_config.kit); process.env.VITE_SVELTEKIT_APP_VERSION_POLL_INTERVAL = '0'; @@ -59,7 +59,7 @@ export async function dev(vite, vite_config, svelte_config) { const url = id.startsWith('..') ? `/@fs${path.posix.resolve(id)}` : `/${id}`; const module = /** @type {import('types').SSRComponent} */ ( - await vite.ssrLoadModule(url, { fixStacktrace: false }) + await vite.ssrLoadModule(url) ); return { @@ -89,7 +89,7 @@ export async function dev(vite, vite_config, svelte_config) { (query.has('svelte') && query.get('type') === 'style') ) { try { - const mod = await vite.ssrLoadModule(dep.url, { fixStacktrace: false }); + const mod = await vite.ssrLoadModule(dep.url); styles[dep.url] = mod.default; } catch { // this can happen with dynamically imported modules, I think @@ -117,7 +117,7 @@ export async function dev(vite, vite_config, svelte_config) { shadow: route.shadow ? async () => { const url = path.resolve(cwd, /** @type {string} */ (route.shadow)); - return await vite.ssrLoadModule(url, { fixStacktrace: false }); + return await vite.ssrLoadModule(url); } : null, a: route.a.map((id) => (id ? manifest_data.components.indexOf(id) : undefined)), @@ -133,7 +133,7 @@ export async function dev(vite, vite_config, svelte_config) { types, load: async () => { const url = path.resolve(cwd, route.file); - return await vite.ssrLoadModule(url, { fixStacktrace: false }); + return await vite.ssrLoadModule(url); } }; }), @@ -144,7 +144,7 @@ export async function dev(vite, vite_config, svelte_config) { for (const key in manifest_data.matchers) { const file = manifest_data.matchers[key]; const url = path.resolve(cwd, file); - const module = await vite.ssrLoadModule(url, { fixStacktrace: false }); + const module = await vite.ssrLoadModule(url); if (module.match) { matchers[key] = module.match; @@ -234,9 +234,7 @@ export async function dev(vite, vite_config, svelte_config) { /** @type {Partial} */ const user_hooks = resolve_entry(svelte_config.kit.files.hooks) - ? await vite.ssrLoadModule(`/${svelte_config.kit.files.hooks}`, { - fixStacktrace: false - }) + ? await vite.ssrLoadModule(`/${svelte_config.kit.files.hooks}`) : {}; const handle = user_hooks.handle || (({ event, resolve }) => resolve(event)); @@ -276,15 +274,13 @@ export async function dev(vite, vite_config, svelte_config) { // can get loaded twice via different URLs, which causes failures. Might // require changes to Vite to fix const { default: root } = await vite.ssrLoadModule( - `/${posixify(path.relative(cwd, `${svelte_config.kit.outDir}/generated/root.svelte`))}`, - { fixStacktrace: false } + `/${posixify(path.relative(cwd, `${svelte_config.kit.outDir}/generated/root.svelte`))}` ); const paths = await vite.ssrLoadModule( process.env.BUNDLED ? `/${posixify(path.relative(cwd, `${svelte_config.kit.outDir}/runtime/paths.js`))}` - : `/@fs${runtime}/paths.js`, - { fixStacktrace: false } + : `/@fs${runtime}/paths.js` ); paths.set_paths({ @@ -399,12 +395,7 @@ function not_found(res, message = 'Not found') { * @param {import('connect').Server} server */ function remove_html_middlewares(server) { - const html_middlewares = [ - 'viteIndexHtmlMiddleware', - 'vite404Middleware', - 'viteSpaFallbackMiddleware', - 'viteServeStaticMiddleware' - ]; + const html_middlewares = ['viteServeStaticMiddleware']; for (let i = server.stack.length - 1; i > 0; i--) { // @ts-expect-error using internals until https://github.com/vitejs/vite/pull/4640 is merged if (html_middlewares.includes(server.stack[i].handle.name)) { diff --git a/packages/kit/src/vite/index.js b/packages/kit/src/vite/index.js index 48967642939b..d5a78ea08925 100644 --- a/packages/kit/src/vite/index.js +++ b/packages/kit/src/vite/index.js @@ -11,15 +11,16 @@ import { prerender } from '../core/prerender/prerender.js'; import { load_config } from '../core/config/index.js'; import { dev } from './dev/index.js'; import { generate_manifest } from '../core/generate_manifest/index.js'; -import { get_runtime_path, logger } from '../core/utils.js'; +import { get_runtime_directory, logger } from '../core/utils.js'; import { find_deps, get_default_config } from './build/utils.js'; import { preview } from './preview/index.js'; import { get_aliases, resolve_entry } from './utils.js'; const cwd = process.cwd(); -/** @type {Record} */ +/** @type {import('./types').EnforcedConfig} */ const enforced_config = { + appType: true, base: true, build: { cssCodeSplit: true, @@ -31,7 +32,7 @@ const enforced_config = { }, manifest: true, outDir: true, - polyfillDynamicImport: true, + polyfillModulePreload: true, rollupOptions: { input: true, output: { @@ -63,6 +64,15 @@ export function sveltekit() { } /** + * Returns the SvelteKit Vite plugin. Vite executes Rollup hooks as well as some of its own. + * Background reading is available at: + * - https://vitejs.dev/guide/api-plugin.html + * - https://rollupjs.org/guide/en/#plugin-development + * + * You can get an idea of the lifecycle by looking at the flow charts here: + * - https://rollupjs.org/guide/en/#build-hooks + * - https://rollupjs.org/guide/en/#output-generation-hooks + * * @return {import('vite').Plugin} */ function kit() { @@ -99,12 +109,12 @@ function kit() { */ let paths; - function create_client_config() { + function vite_client_config() { /** @type {Record} */ const input = { // Put unchanging assets in immutable directory. We don't set that in the // outDir so that other plugins can add mutable assets to the bundle - start: `${get_runtime_path(svelte_config.kit)}/client/start.js` + start: `${get_runtime_directory(svelte_config.kit)}/client/start.js` }; // This step is optional — Vite/Rollup will create the necessary chunks @@ -128,9 +138,38 @@ function kit() { }); } + /** + * @param {import('rollup').OutputAsset[]} assets + * @param {import('rollup').OutputChunk[]} chunks + */ + function client_build_info(assets, chunks) { + /** @type {import('vite').Manifest} */ + const vite_manifest = JSON.parse( + fs.readFileSync(`${paths.client_out_dir}/manifest.json`, 'utf-8') + ); + + const entry_id = posixify( + path.relative(cwd, `${get_runtime_directory(svelte_config.kit)}/client/start.js`) + ); + + return { + assets, + chunks, + entry: find_deps(vite_manifest, entry_id, false), + vite_manifest + }; + } + + // TODO remove this for 1.0 + check_vite_version(); + return { name: 'vite-plugin-svelte-kit', + /** + * Build the SvelteKit-provided Vite config to be merged with the user's vite.config.js file. + * @see https://vitejs.dev/guide/api-plugin.html#config + */ async config(config, config_env) { vite_config_env = config_env; svelte_config = await load_config(); @@ -149,7 +188,7 @@ function kit() { manifest_data = sync.all(svelte_config).manifest_data; - const new_config = create_client_config(); + const new_config = vite_client_config(); warn_overridden_config(config, new_config); @@ -157,13 +196,15 @@ function kit() { } // dev and preview config can be shared + /** @type {import('vite').UserConfig} */ const result = { + appType: 'custom', base: '/', build: { rollupOptions: { // Vite dependency crawler needs an explicit JS entry point // eventhough server otherwise works without it - input: `${get_runtime_path(svelte_config.kit)}/client/start.js` + input: `${get_runtime_directory(svelte_config.kit)}/client/start.js` } }, resolve: { @@ -195,10 +236,16 @@ function kit() { return result; }, + /** + * Stores the final config. + */ configResolved(config) { vite_config = config; }, + /** + * Clears the output directories. + */ buildStart() { if (is_build) { rimraf(paths.build_dir); @@ -209,6 +256,11 @@ function kit() { } }, + /** + * Vite builds a single bundle. We need three bundles: client, server, and service worker. + * The user's package.json scripts will invoke the Vite CLI to execute the client build. We + * then use this hook to kick off builds for the server and service worker. + */ async writeBundle(_options, bundle) { log = logger({ verbose: vite_config.logLevel === 'info' @@ -219,36 +271,10 @@ function kit() { JSON.stringify({ version: process.env.VITE_SVELTEKIT_APP_VERSION }) ); - /** @type {import('rollup').OutputChunk[]} */ - const chunks = []; - /** @type {import('rollup').OutputAsset[]} */ - const assets = []; - for (const key of Object.keys(bundle)) { - // collect asset and output chunks - if (bundle[key].type === 'asset') { - assets.push(/** @type {import('rollup').OutputAsset} */ (bundle[key])); - } else { - chunks.push(/** @type {import('rollup').OutputChunk} */ (bundle[key])); - } - } - - /** @type {import('vite').Manifest} */ - const vite_manifest = JSON.parse( - fs.readFileSync(`${paths.client_out_dir}/manifest.json`, 'utf-8') - ); - - const entry_id = posixify( - path.relative(cwd, `${get_runtime_path(svelte_config.kit)}/client/start.js`) - ); - - const client = { - assets, - chunks, - entry: find_deps(vite_manifest, entry_id, false), - vite_manifest - }; + const { assets, chunks } = collect_output(bundle); log.info(`Client build completed. Wrote ${chunks.length} chunks and ${assets.length} assets`); + log.info('Building server'); const options = { cwd, config: svelte_config, @@ -258,13 +284,9 @@ function kit() { output_dir: paths.output_dir, service_worker_entry_file: resolve_entry(svelte_config.kit.files.serviceWorker) }; - - log.info('Building server'); - + const client = client_build_info(assets, chunks); const server = await build_server(options, client); - process.env.SVELTEKIT_SERVER_BUILD_COMPLETED = 'true'; - /** @type {import('types').BuildData} */ build_data = { app_dir: svelte_config.kit.appDir, @@ -283,6 +305,9 @@ function kit() { })};\n` ); + process.env.SVELTEKIT_SERVER_BUILD_COMPLETED = 'true'; + log.info('Prerendering'); + const static_files = manifest_data.assets.map((asset) => posixify(asset.file)); const files = new Set([ @@ -298,8 +323,6 @@ function kit() { } }); - log.info('Prerendering'); - prerendered = await prerender({ config: svelte_config.kit, entries: manifest_data.routes @@ -324,6 +347,9 @@ function kit() { ); }, + /** + * Runs the adapter. + */ async closeBundle() { if (!is_build) { return; // vite calls closeBundle when dev-server restarts, ignore that @@ -341,30 +367,70 @@ function kit() { if (svelte_config.kit.prerender.enabled) { // this is necessary to close any open db connections, etc. - // TODO: prerender in a subprocess so we can exit in isolation + // TODO: prerender in a subprocess so we can exit in isolation and then remove this // https://github.com/sveltejs/kit/issues/5306 process.exit(0); } }, + /** + * Adds the SvelteKit middleware to do SSR in dev mode. + * @see https://vitejs.dev/guide/api-plugin.html#configureserver + */ async configureServer(vite) { return await dev(vite, vite_config, svelte_config); }, + /** + * Adds the SvelteKit middleware to do SSR in preview mode. + * @see https://vitejs.dev/guide/api-plugin.html#configurepreviewserver + */ configurePreviewServer(vite) { return preview(vite, svelte_config, vite_config.preview.https ? 'https' : 'http'); } }; } +function check_vite_version() { + let vite_major = 3; + + try { + const pkg = JSON.parse(fs.readFileSync('package.json', 'utf-8')); + vite_major = +pkg.devDependencies['vite'].replace(/^[~^]/, '')[0]; + } catch { + // do nothing + } + + if (vite_major < 3) { + throw new Error( + `Vite version ${vite_major} is no longer supported. Please upgrade to version 3` + ); + } +} + +/** @param {import('rollup').OutputBundle} bundle */ +function collect_output(bundle) { + /** @type {import('rollup').OutputChunk[]} */ + const chunks = []; + /** @type {import('rollup').OutputAsset[]} */ + const assets = []; + for (const value of Object.values(bundle)) { + // collect asset and output chunks + if (value.type === 'asset') { + assets.push(value); + } else { + chunks.push(value); + } + } + return { assets, chunks }; +} + /** * @param {Record} config * @param {Record} resolved_config - * @param {string} [path] - * @param {string[]} [out] used locally to compute the return value */ -function warn_overridden_config(config, resolved_config, path = '', out = []) { - const overridden = find_overridden_config(config, resolved_config, path, out); +function warn_overridden_config(config, resolved_config) { + const overridden = find_overridden_config(config, resolved_config, enforced_config, '', []); if (overridden.length > 0) { console.log( colors.bold().red('The following Vite config options will be overridden by SvelteKit:') @@ -376,16 +442,21 @@ function warn_overridden_config(config, resolved_config, path = '', out = []) { /** * @param {Record} config * @param {Record} resolved_config + * @param {import('./types').EnforcedConfig} enforced_config * @param {string} path * @param {string[]} out used locally to compute the return value */ -function find_overridden_config(config, resolved_config, path, out) { +function find_overridden_config(config, resolved_config, enforced_config, path, out) { for (const key in enforced_config) { if (typeof config === 'object' && config !== null && key in config) { - if (enforced_config[key] === true && config[key] !== resolved_config[key]) { - out.push(path + key); + const enforced = enforced_config[key]; + + if (enforced === true) { + if (config[key] !== resolved_config[key]) { + out.push(path + key); + } } else { - find_overridden_config(config[key], resolved_config[key], path + key + '.', out); + find_overridden_config(config[key], resolved_config[key], enforced, path + key + '.', out); } } } diff --git a/packages/kit/src/vite/types.d.ts b/packages/kit/src/vite/types.d.ts new file mode 100644 index 000000000000..900aa43541ea --- /dev/null +++ b/packages/kit/src/vite/types.d.ts @@ -0,0 +1,3 @@ +export interface EnforcedConfig { + [key: string]: EnforcedConfig | true; +} diff --git a/packages/kit/src/vite/utils.js b/packages/kit/src/vite/utils.js index 3187763fbeca..aa00c3856982 100644 --- a/packages/kit/src/vite/utils.js +++ b/packages/kit/src/vite/utils.js @@ -1,7 +1,7 @@ import fs from 'fs'; import path from 'path'; import { loadConfigFromFile } from 'vite'; -import { get_runtime_path } from '../core/utils.js'; +import { get_runtime_directory } from '../core/utils.js'; /** * @param {import('vite').ConfigEnv} config_env @@ -92,7 +92,7 @@ export function get_aliases(config) { /** @type {Record} */ const alias = { __GENERATED__: path.posix.join(config.outDir, 'generated'), - $app: `${get_runtime_path(config)}/app`, + $app: `${get_runtime_directory(config)}/app`, // For now, we handle `$lib` specially here rather than make it a default value for // `config.kit.alias` since it has special meaning for packaging, etc. diff --git a/packages/kit/test/apps/amp/package.json b/packages/kit/test/apps/amp/package.json index c2588c921bec..9e3ce6607092 100644 --- a/packages/kit/test/apps/amp/package.json +++ b/packages/kit/test/apps/amp/package.json @@ -20,7 +20,7 @@ "svelte": "^3.48.0", "svelte-check": "^2.7.1", "typescript": "^4.7.4", - "vite": "^2.9.13" + "vite": "^3.0.0" }, "type": "module" } diff --git a/packages/kit/test/apps/amp/vite.config.js b/packages/kit/test/apps/amp/vite.config.js index 3789d6851a2c..66846cb3f9ed 100644 --- a/packages/kit/test/apps/amp/vite.config.js +++ b/packages/kit/test/apps/amp/vite.config.js @@ -5,17 +5,8 @@ import { plugin } from '../../utils.js'; const config = { plugins: [plugin()], server: { - // TODO: required to support ipv6, remove on vite 3 - // https://github.com/vitejs/vite/issues/7075 - host: 'localhost', fs: { allow: [path.resolve('../../../src')] - }, - // TODO: remove on vite 3 - // https://github.com/vitejs/vite/pull/8778 - watch: { - // perf, do not watch playwright output dir - ignored: ['**/test-results/**'] } } }; diff --git a/packages/kit/test/apps/basics/package.json b/packages/kit/test/apps/basics/package.json index ff48cf08de82..eee4f24d884a 100644 --- a/packages/kit/test/apps/basics/package.json +++ b/packages/kit/test/apps/basics/package.json @@ -19,7 +19,7 @@ "svelte": "^3.48.0", "svelte-check": "^2.7.1", "typescript": "^4.7.4", - "vite": "^2.9.13" + "vite": "^3.0.0" }, "type": "module" } diff --git a/packages/kit/test/apps/basics/test/test.js b/packages/kit/test/apps/basics/test/test.js index 6344eed8a70f..c559ae3e754c 100644 --- a/packages/kit/test/apps/basics/test/test.js +++ b/packages/kit/test/apps/basics/test/test.js @@ -1640,7 +1640,7 @@ test.describe('Load', () => { }); test('using window.fetch causes a warning', async ({ page, javaScriptEnabled }) => { - const port = process.env.DEV ? 3000 : 4173; + const port = process.env.DEV ? 5173 : 4173; if (javaScriptEnabled && process.env.DEV) { const warnings = []; @@ -2163,7 +2163,9 @@ test.describe('Prefetching', () => { if (process.env.DEV) { expect(requests.filter((req) => req.endsWith('index.svelte')).length).toBe(1); } else { - expect(requests.filter((req) => req.endsWith('.js')).length).toBe(1); + // the preload helper causes an additional request to be made in Firefox, + // so we use toBeGreaterThan rather than toBe + expect(requests.filter((req) => req.endsWith('.js')).length).toBeGreaterThan(0); } expect(requests.includes(`${baseURL}/routing/prefetched.json`)).toBe(true); diff --git a/packages/kit/test/apps/basics/vite.config.js b/packages/kit/test/apps/basics/vite.config.js index 6f93a3c9d99c..37431aed85a2 100644 --- a/packages/kit/test/apps/basics/vite.config.js +++ b/packages/kit/test/apps/basics/vite.config.js @@ -14,17 +14,8 @@ const config = { }, plugins: [plugin()], server: { - // TODO: required to support ipv6, remove on vite 3 - // https://github.com/vitejs/vite/issues/7075 - host: 'localhost', fs: { allow: [path.resolve('../../../src')] - }, - // TODO: remove on vite 3 - // https://github.com/vitejs/vite/pull/8778 - watch: { - // perf, do not watch playwright output dir - ignored: ['**/test-results/**'] } } }; diff --git a/packages/kit/test/apps/options-2/package.json b/packages/kit/test/apps/options-2/package.json index 78da04e31480..1c2dc5e57fd8 100644 --- a/packages/kit/test/apps/options-2/package.json +++ b/packages/kit/test/apps/options-2/package.json @@ -19,7 +19,7 @@ "svelte": "^3.48.0", "svelte-check": "^2.7.1", "typescript": "^4.7.4", - "vite": "^2.9.13" + "vite": "^3.0.0" }, "type": "module" } diff --git a/packages/kit/test/apps/options-2/vite.config.js b/packages/kit/test/apps/options-2/vite.config.js index 3789d6851a2c..66846cb3f9ed 100644 --- a/packages/kit/test/apps/options-2/vite.config.js +++ b/packages/kit/test/apps/options-2/vite.config.js @@ -5,17 +5,8 @@ import { plugin } from '../../utils.js'; const config = { plugins: [plugin()], server: { - // TODO: required to support ipv6, remove on vite 3 - // https://github.com/vitejs/vite/issues/7075 - host: 'localhost', fs: { allow: [path.resolve('../../../src')] - }, - // TODO: remove on vite 3 - // https://github.com/vitejs/vite/pull/8778 - watch: { - // perf, do not watch playwright output dir - ignored: ['**/test-results/**'] } } }; diff --git a/packages/kit/test/apps/options/package.json b/packages/kit/test/apps/options/package.json index e9afe4e3c631..bb2d3caf9740 100644 --- a/packages/kit/test/apps/options/package.json +++ b/packages/kit/test/apps/options/package.json @@ -18,7 +18,7 @@ "svelte": "^3.48.0", "svelte-check": "^2.7.1", "typescript": "^4.7.4", - "vite": "^2.9.13" + "vite": "^3.0.0" }, "type": "module" } diff --git a/packages/kit/test/apps/options/vite.config.js b/packages/kit/test/apps/options/vite.config.js index 0548b89a1794..7d997f333156 100644 --- a/packages/kit/test/apps/options/vite.config.js +++ b/packages/kit/test/apps/options/vite.config.js @@ -9,17 +9,8 @@ const config = { clearScreen: false, plugins: [plugin()], server: { - // TODO: required to support ipv6, remove on vite 3 - // https://github.com/vitejs/vite/issues/7075 - host: 'localhost', fs: { allow: [path.resolve('../../../src')] - }, - // TODO: remove on vite 3 - // https://github.com/vitejs/vite/pull/8778 - watch: { - // perf, do not watch playwright output dir - ignored: ['**/test-results/**'] } } }; diff --git a/packages/kit/test/prerendering/basics/package.json b/packages/kit/test/prerendering/basics/package.json index f9d716e10dfd..aa2545571454 100644 --- a/packages/kit/test/prerendering/basics/package.json +++ b/packages/kit/test/prerendering/basics/package.json @@ -16,7 +16,7 @@ "svelte-check": "^2.7.1", "typescript": "^4.7.4", "uvu": "^0.5.3", - "vite": "^2.9.13" + "vite": "^3.0.0" }, "type": "module" } diff --git a/packages/kit/test/prerendering/basics/vite.config.js b/packages/kit/test/prerendering/basics/vite.config.js index 0548b89a1794..7d997f333156 100644 --- a/packages/kit/test/prerendering/basics/vite.config.js +++ b/packages/kit/test/prerendering/basics/vite.config.js @@ -9,17 +9,8 @@ const config = { clearScreen: false, plugins: [plugin()], server: { - // TODO: required to support ipv6, remove on vite 3 - // https://github.com/vitejs/vite/issues/7075 - host: 'localhost', fs: { allow: [path.resolve('../../../src')] - }, - // TODO: remove on vite 3 - // https://github.com/vitejs/vite/pull/8778 - watch: { - // perf, do not watch playwright output dir - ignored: ['**/test-results/**'] } } }; diff --git a/packages/kit/test/prerendering/disabled/package.json b/packages/kit/test/prerendering/disabled/package.json index 4ffb8b210322..e8befc6b7305 100644 --- a/packages/kit/test/prerendering/disabled/package.json +++ b/packages/kit/test/prerendering/disabled/package.json @@ -16,7 +16,7 @@ "svelte-check": "^2.7.1", "typescript": "^4.7.4", "uvu": "^0.5.3", - "vite": "^2.9.13" + "vite": "^3.0.0" }, "type": "module" } diff --git a/packages/kit/test/prerendering/disabled/vite.config.js b/packages/kit/test/prerendering/disabled/vite.config.js index 0548b89a1794..7d997f333156 100644 --- a/packages/kit/test/prerendering/disabled/vite.config.js +++ b/packages/kit/test/prerendering/disabled/vite.config.js @@ -9,17 +9,8 @@ const config = { clearScreen: false, plugins: [plugin()], server: { - // TODO: required to support ipv6, remove on vite 3 - // https://github.com/vitejs/vite/issues/7075 - host: 'localhost', fs: { allow: [path.resolve('../../../src')] - }, - // TODO: remove on vite 3 - // https://github.com/vitejs/vite/pull/8778 - watch: { - // perf, do not watch playwright output dir - ignored: ['**/test-results/**'] } } }; diff --git a/packages/kit/test/prerendering/options/package.json b/packages/kit/test/prerendering/options/package.json index 766940219fe5..66aae51545ab 100644 --- a/packages/kit/test/prerendering/options/package.json +++ b/packages/kit/test/prerendering/options/package.json @@ -16,7 +16,7 @@ "svelte-check": "^2.7.1", "typescript": "^4.7.4", "uvu": "^0.5.3", - "vite": "^2.9.13" + "vite": "^3.0.0" }, "type": "module" } diff --git a/packages/kit/test/prerendering/options/vite.config.js b/packages/kit/test/prerendering/options/vite.config.js index 0548b89a1794..7d997f333156 100644 --- a/packages/kit/test/prerendering/options/vite.config.js +++ b/packages/kit/test/prerendering/options/vite.config.js @@ -9,17 +9,8 @@ const config = { clearScreen: false, plugins: [plugin()], server: { - // TODO: required to support ipv6, remove on vite 3 - // https://github.com/vitejs/vite/issues/7075 - host: 'localhost', fs: { allow: [path.resolve('../../../src')] - }, - // TODO: remove on vite 3 - // https://github.com/vitejs/vite/pull/8778 - watch: { - // perf, do not watch playwright output dir - ignored: ['**/test-results/**'] } } }; diff --git a/packages/kit/test/prerendering/paths-base/package.json b/packages/kit/test/prerendering/paths-base/package.json index 6cf668db4224..e4cf5e4869fe 100644 --- a/packages/kit/test/prerendering/paths-base/package.json +++ b/packages/kit/test/prerendering/paths-base/package.json @@ -16,7 +16,7 @@ "svelte-check": "^2.7.1", "typescript": "^4.7.4", "uvu": "^0.5.3", - "vite": "^2.9.13" + "vite": "^3.0.0" }, "type": "module" } diff --git a/packages/kit/test/prerendering/paths-base/vite.config.js b/packages/kit/test/prerendering/paths-base/vite.config.js index 0548b89a1794..7d997f333156 100644 --- a/packages/kit/test/prerendering/paths-base/vite.config.js +++ b/packages/kit/test/prerendering/paths-base/vite.config.js @@ -9,17 +9,8 @@ const config = { clearScreen: false, plugins: [plugin()], server: { - // TODO: required to support ipv6, remove on vite 3 - // https://github.com/vitejs/vite/issues/7075 - host: 'localhost', fs: { allow: [path.resolve('../../../src')] - }, - // TODO: remove on vite 3 - // https://github.com/vitejs/vite/pull/8778 - watch: { - // perf, do not watch playwright output dir - ignored: ['**/test-results/**'] } } }; diff --git a/packages/kit/test/prerendering/trailing-slash/package.json b/packages/kit/test/prerendering/trailing-slash/package.json index 579fefefe4d0..cc7a15ebe36e 100644 --- a/packages/kit/test/prerendering/trailing-slash/package.json +++ b/packages/kit/test/prerendering/trailing-slash/package.json @@ -15,7 +15,7 @@ "svelte-check": "^2.7.1", "typescript": "^4.7.4", "uvu": "^0.5.3", - "vite": "^2.9.13" + "vite": "^3.0.0" }, "type": "module" } diff --git a/packages/kit/test/prerendering/trailing-slash/vite.config.js b/packages/kit/test/prerendering/trailing-slash/vite.config.js index 0548b89a1794..7d997f333156 100644 --- a/packages/kit/test/prerendering/trailing-slash/vite.config.js +++ b/packages/kit/test/prerendering/trailing-slash/vite.config.js @@ -9,17 +9,8 @@ const config = { clearScreen: false, plugins: [plugin()], server: { - // TODO: required to support ipv6, remove on vite 3 - // https://github.com/vitejs/vite/issues/7075 - host: 'localhost', fs: { allow: [path.resolve('../../../src')] - }, - // TODO: remove on vite 3 - // https://github.com/vitejs/vite/pull/8778 - watch: { - // perf, do not watch playwright output dir - ignored: ['**/test-results/**'] } } }; diff --git a/packages/kit/test/utils.js b/packages/kit/test/utils.js index bef4646fe7aa..d357eb745043 100644 --- a/packages/kit/test/utils.js +++ b/packages/kit/test/utils.js @@ -149,7 +149,7 @@ export const config = { timeout: process.env.CI ? 45000 : 15000, webServer: { command: process.env.DEV ? 'npm run dev' : 'npm run build && npm run preview', - port: process.env.DEV ? 3000 : 4173 + port: process.env.DEV ? 5173 : 4173 }, retries: process.env.CI ? 5 : 0, projects: [ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a0555c44222d..20a1f288a5f2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,16 +18,16 @@ importers: eslint-plugin-svelte3: ^4.0.0 playwright: ^1.23.3 prettier: ^2.6.2 - rollup: ^2.75.3 + rollup: ^2.75.7 svelte: ^3.48.0 tiny-glob: ^0.2.9 turbo: ^1.3.1 typescript: ^4.7.4 devDependencies: '@changesets/cli': 2.23.0 - '@rollup/plugin-commonjs': 22.0.1_rollup@2.75.3 - '@rollup/plugin-json': 4.1.0_rollup@2.75.3 - '@rollup/plugin-node-resolve': 13.3.0_rollup@2.75.3 + '@rollup/plugin-commonjs': 22.0.1_rollup@2.75.7 + '@rollup/plugin-json': 4.1.0_rollup@2.75.7 + '@rollup/plugin-node-resolve': 13.3.0_rollup@2.75.7 '@sveltejs/eslint-config': github.com/sveltejs/eslint-config/9a7d728e03ac433e5856a6e06775c17ee986d641_5nge3uy3zvbeyedwlvrgstgizy '@svitejs/changesets-changelog-github-compact': 0.1.1 '@typescript-eslint/eslint-plugin': 5.30.3_uhfrv6c56y4b7yuzllo3ym4bou @@ -38,7 +38,7 @@ importers: eslint-plugin-svelte3: 4.0.0_wy4erphnvhealet26qderqv6bu playwright: 1.23.3 prettier: 2.7.1 - rollup: 2.75.3 + rollup: 2.75.7 svelte: 3.48.0 tiny-glob: 0.2.9 turbo: 1.3.1 @@ -64,12 +64,12 @@ importers: '@cloudflare/workers-types': ^3.14.0 '@types/node': ^16.11.36 '@types/ws': ^8.5.3 - esbuild: ^0.14.42 + esbuild: ^0.14.48 typescript: ^4.7.4 worktop: 0.8.0-next.14 dependencies: '@cloudflare/workers-types': 3.14.0 - esbuild: 0.14.42 + esbuild: 0.14.48 worktop: 0.8.0-next.14 devDependencies: '@types/node': 16.11.42 @@ -82,12 +82,12 @@ importers: '@cloudflare/workers-types': ^3.14.0 '@iarna/toml': ^2.2.5 '@types/node': ^16.11.36 - esbuild: ^0.14.42 + esbuild: ^0.14.48 typescript: ^4.7.4 dependencies: '@cloudflare/workers-types': 3.14.0 '@iarna/toml': 2.2.5 - esbuild: 0.14.42 + esbuild: 0.14.48 devDependencies: '@cloudflare/kv-asset-handler': 0.2.0 '@types/node': 16.11.42 @@ -103,28 +103,28 @@ importers: '@sveltejs/kit': workspace:* '@types/node': ^16.11.36 '@types/set-cookie-parser': ^2.4.2 - esbuild: ^0.14.42 + esbuild: ^0.14.48 rimraf: ^3.0.2 - rollup: ^2.75.3 + rollup: ^2.75.7 set-cookie-parser: ^2.4.8 tiny-glob: ^0.2.9 typescript: ^4.7.4 uvu: ^0.5.3 dependencies: '@iarna/toml': 2.2.5 - esbuild: 0.14.42 + esbuild: 0.14.48 set-cookie-parser: 2.5.0 tiny-glob: 0.2.9 devDependencies: '@netlify/functions': 1.0.0 - '@rollup/plugin-commonjs': 22.0.1_rollup@2.75.3 - '@rollup/plugin-json': 4.1.0_rollup@2.75.3 - '@rollup/plugin-node-resolve': 13.3.0_rollup@2.75.3 + '@rollup/plugin-commonjs': 22.0.1_rollup@2.75.7 + '@rollup/plugin-json': 4.1.0_rollup@2.75.7 + '@rollup/plugin-node-resolve': 13.3.0_rollup@2.75.7 '@sveltejs/kit': link:../kit '@types/node': 16.11.42 '@types/set-cookie-parser': 2.4.2 rimraf: 3.0.2 - rollup: 2.75.3 + rollup: 2.75.7 typescript: 4.7.4 uvu: 0.5.4 @@ -139,7 +139,7 @@ importers: node-fetch: ^3.2.4 polka: ^1.0.0-next.22 rimraf: ^3.0.2 - rollup: ^2.75.3 + rollup: ^2.75.7 sirv: ^2.0.2 tiny-glob: ^0.2.9 typescript: ^4.7.4 @@ -147,7 +147,7 @@ importers: dependencies: tiny-glob: 0.2.9 devDependencies: - '@rollup/plugin-json': 4.1.0_rollup@2.75.3 + '@rollup/plugin-json': 4.1.0_rollup@2.75.7 '@sveltejs/kit': link:../kit '@types/compression': 1.7.2 '@types/node': 16.11.42 @@ -156,7 +156,7 @@ importers: node-fetch: 3.2.6 polka: 1.0.0-next.22 rimraf: 3.0.2 - rollup: 2.75.3 + rollup: 2.75.7 sirv: 2.0.2 typescript: 4.7.4 uvu: 0.5.4 @@ -171,7 +171,7 @@ importers: tiny-glob: ^0.2.9 typescript: ^4.7.4 uvu: ^0.5.3 - vite: ^2.9.13 + vite: ^3.0.0 dependencies: tiny-glob: 0.2.9 devDependencies: @@ -182,17 +182,17 @@ importers: svelte: 3.48.0 typescript: 4.7.4 uvu: 0.5.4 - vite: 2.9.13 + vite: 3.0.0 packages/adapter-static/test/apps/prerendered: specifiers: '@sveltejs/kit': workspace:* svelte: ^3.48.0 - vite: ^2.9.13 + vite: ^3.0.0 devDependencies: '@sveltejs/kit': link:../../../../kit svelte: 3.48.0 - vite: 2.9.13 + vite: 3.0.0 packages/adapter-static/test/apps/spa: specifiers: @@ -200,24 +200,24 @@ importers: '@sveltejs/kit': workspace:* sirv-cli: ^2.0.2 svelte: ^3.48.0 - vite: ^2.9.13 + vite: ^3.0.0 devDependencies: '@sveltejs/adapter-node': link:../../../../adapter-node '@sveltejs/kit': link:../../../../kit sirv-cli: 2.0.2 svelte: 3.48.0 - vite: 2.9.13 + vite: 3.0.0 packages/adapter-vercel: specifiers: '@sveltejs/kit': workspace:* '@types/node': ^16.11.36 '@vercel/nft': ^0.20.0 - esbuild: ^0.14.42 + esbuild: ^0.14.48 typescript: ^4.7.4 dependencies: '@vercel/nft': 0.20.1 - esbuild: 0.14.42 + esbuild: 0.14.48 devDependencies: '@sveltejs/kit': link:../kit '@types/node': 16.11.42 @@ -271,7 +271,7 @@ importers: svelte: ^3.48.0 svelte-preprocess: ^4.10.6 typescript: ^4.7.4 - vite: ^2.9.13 + vite: ^3.0.0 dependencies: '@fontsource/fira-mono': 4.5.8 '@lukeed/uuid': 2.0.0 @@ -282,13 +282,13 @@ importers: svelte: 3.48.0 svelte-preprocess: 4.10.7_lvfi2wesz6u4l5rfbnetbucfmm typescript: 4.7.4 - vite: 2.9.13 + vite: 3.0.0 packages/kit: specifiers: '@playwright/test': ^1.23.3 '@rollup/plugin-replace': ^4.0.0 - '@sveltejs/vite-plugin-svelte': 1.0.0-next.49 + '@sveltejs/vite-plugin-svelte': ^1.0.1 '@types/connect': ^3.4.35 '@types/cookie': ^0.5.1 '@types/marked': ^4.0.3 @@ -306,7 +306,7 @@ importers: marked: ^4.0.16 mime: ^3.0.0 node-fetch: ^3.2.4 - rollup: ^2.75.3 + rollup: ^2.75.7 sade: ^1.8.1 selfsigned: ^2.0.1 set-cookie-parser: ^2.4.8 @@ -319,14 +319,14 @@ importers: typescript: ^4.7.4 undici: ^5.6.1 uvu: ^0.5.3 - vite: ^2.9.13 + vite: ^3.0.0 dependencies: - '@sveltejs/vite-plugin-svelte': 1.0.0-next.49_svelte@3.48.0+vite@2.9.13 + '@sveltejs/vite-plugin-svelte': 1.0.1_svelte@3.48.0+vite@3.0.0 chokidar: 3.5.3 sade: 1.8.1 devDependencies: '@playwright/test': 1.23.3 - '@rollup/plugin-replace': 4.0.0_rollup@2.75.3 + '@rollup/plugin-replace': 4.0.0_rollup@2.75.7 '@types/connect': 3.4.35 '@types/cookie': 0.5.1 '@types/marked': 4.0.3 @@ -343,7 +343,7 @@ importers: marked: 4.0.17 mime: 3.0.0 node-fetch: 3.2.6 - rollup: 2.75.3 + rollup: 2.75.7 selfsigned: 2.0.1 set-cookie-parser: 2.5.0 sirv: 2.0.2 @@ -355,7 +355,7 @@ importers: typescript: 4.7.4 undici: 5.6.1 uvu: 0.5.4 - vite: 2.9.13 + vite: 3.0.0 packages/kit/test/apps/amp: specifiers: @@ -366,7 +366,7 @@ importers: svelte: ^3.48.0 svelte-check: ^2.7.1 typescript: ^4.7.4 - vite: ^2.9.13 + vite: ^3.0.0 devDependencies: '@sveltejs/amp': link:../../../../amp '@sveltejs/kit': link:../../.. @@ -375,7 +375,7 @@ importers: svelte: 3.48.0 svelte-check: 2.8.0_svelte@3.48.0 typescript: 4.7.4 - vite: 2.9.13 + vite: 3.0.0 packages/kit/test/apps/basics: specifiers: @@ -385,7 +385,7 @@ importers: svelte: ^3.48.0 svelte-check: ^2.7.1 typescript: ^4.7.4 - vite: ^2.9.13 + vite: ^3.0.0 devDependencies: '@sveltejs/kit': link:../../.. cross-env: 7.0.3 @@ -393,7 +393,7 @@ importers: svelte: 3.48.0 svelte-check: 2.8.0_svelte@3.48.0 typescript: 4.7.4 - vite: 2.9.13 + vite: 3.0.0 packages/kit/test/apps/options: specifiers: @@ -402,14 +402,14 @@ importers: svelte: ^3.48.0 svelte-check: ^2.7.1 typescript: ^4.7.4 - vite: ^2.9.13 + vite: ^3.0.0 devDependencies: '@sveltejs/kit': link:../../.. cross-env: 7.0.3 svelte: 3.48.0 svelte-check: 2.8.0_svelte@3.48.0 typescript: 4.7.4 - vite: 2.9.13 + vite: 3.0.0 packages/kit/test/apps/options-2: specifiers: @@ -419,7 +419,7 @@ importers: svelte: ^3.48.0 svelte-check: ^2.7.1 typescript: ^4.7.4 - vite: ^2.9.13 + vite: ^3.0.0 devDependencies: '@sveltejs/adapter-node': link:../../../../adapter-node '@sveltejs/kit': link:../../.. @@ -427,7 +427,7 @@ importers: svelte: 3.48.0 svelte-check: 2.8.0_svelte@3.48.0 typescript: 4.7.4 - vite: 2.9.13 + vite: 3.0.0 packages/kit/test/prerendering/basics: specifiers: @@ -436,14 +436,14 @@ importers: svelte-check: ^2.7.1 typescript: ^4.7.4 uvu: ^0.5.3 - vite: ^2.9.13 + vite: ^3.0.0 devDependencies: '@sveltejs/kit': link:../../.. svelte: 3.48.0 svelte-check: 2.8.0_svelte@3.48.0 typescript: 4.7.4 uvu: 0.5.4 - vite: 2.9.13 + vite: 3.0.0 packages/kit/test/prerendering/disabled: specifiers: @@ -452,14 +452,14 @@ importers: svelte-check: ^2.7.1 typescript: ^4.7.4 uvu: ^0.5.3 - vite: ^2.9.13 + vite: ^3.0.0 devDependencies: '@sveltejs/kit': link:../../.. svelte: 3.48.0 svelte-check: 2.8.0_svelte@3.48.0 typescript: 4.7.4 uvu: 0.5.4 - vite: 2.9.13 + vite: 3.0.0 packages/kit/test/prerendering/options: specifiers: @@ -468,14 +468,14 @@ importers: svelte-check: ^2.7.1 typescript: ^4.7.4 uvu: ^0.5.3 - vite: ^2.9.13 + vite: ^3.0.0 devDependencies: '@sveltejs/kit': link:../../.. svelte: 3.48.0 svelte-check: 2.8.0_svelte@3.48.0 typescript: 4.7.4 uvu: 0.5.4 - vite: 2.9.13 + vite: 3.0.0 packages/kit/test/prerendering/paths-base: specifiers: @@ -484,14 +484,14 @@ importers: svelte-check: ^2.7.1 typescript: ^4.7.4 uvu: ^0.5.3 - vite: ^2.9.13 + vite: ^3.0.0 devDependencies: '@sveltejs/kit': link:../../.. svelte: 3.48.0 svelte-check: 2.8.0_svelte@3.48.0 typescript: 4.7.4 uvu: 0.5.4 - vite: 2.9.13 + vite: 3.0.0 packages/kit/test/prerendering/trailing-slash: specifiers: @@ -500,14 +500,14 @@ importers: svelte-check: ^2.7.1 typescript: ^4.7.4 uvu: ^0.5.3 - vite: ^2.9.13 + vite: ^3.0.0 devDependencies: '@sveltejs/kit': link:../../.. svelte: 3.48.0 svelte-check: 2.8.0_svelte@3.48.0 typescript: 4.7.4 uvu: 0.5.4 - vite: 2.9.13 + vite: 3.0.0 sites/kit.svelte.dev: specifiers: @@ -524,7 +524,7 @@ importers: shiki-twoslash: ^3.0.2 svelte: ^3.48.0 typescript: ^4.7.4 - vite: ^2.9.10 + vite: ^3.0.0 vite-imagetools: ^4.0.3 devDependencies: '@sveltejs/adapter-auto': link:../../packages/adapter-auto @@ -540,7 +540,7 @@ importers: shiki-twoslash: 3.1.0 svelte: 3.48.0 typescript: 4.7.4 - vite: 2.9.13 + vite: 3.0.0 vite-imagetools: 4.0.4 packages: @@ -931,57 +931,57 @@ packages: resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} dev: true - /@rollup/plugin-commonjs/22.0.1_rollup@2.75.3: + /@rollup/plugin-commonjs/22.0.1_rollup@2.75.7: resolution: {integrity: sha512-dGfEZvdjDHObBiP5IvwTKMVeq/tBZGMBHZFMdIV1ClMM/YoWS34xrHFGfag9SN2ZtMgNZRFruqvxZQEa70O6nQ==} engines: {node: '>= 12.0.0'} peerDependencies: rollup: ^2.68.0 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.75.3 + '@rollup/pluginutils': 3.1.0_rollup@2.75.7 commondir: 1.0.1 estree-walker: 2.0.2 glob: 7.2.3 is-reference: 1.2.1 magic-string: 0.25.9 resolve: 1.22.0 - rollup: 2.75.3 + rollup: 2.75.7 dev: true - /@rollup/plugin-json/4.1.0_rollup@2.75.3: + /@rollup/plugin-json/4.1.0_rollup@2.75.7: resolution: {integrity: sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==} peerDependencies: rollup: ^1.20.0 || ^2.0.0 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.75.3 - rollup: 2.75.3 + '@rollup/pluginutils': 3.1.0_rollup@2.75.7 + rollup: 2.75.7 dev: true - /@rollup/plugin-node-resolve/13.3.0_rollup@2.75.3: + /@rollup/plugin-node-resolve/13.3.0_rollup@2.75.7: resolution: {integrity: sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==} engines: {node: '>= 10.0.0'} peerDependencies: rollup: ^2.42.0 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.75.3 + '@rollup/pluginutils': 3.1.0_rollup@2.75.7 '@types/resolve': 1.17.1 deepmerge: 4.2.2 is-builtin-module: 3.1.0 is-module: 1.0.0 resolve: 1.22.0 - rollup: 2.75.3 + rollup: 2.75.7 dev: true - /@rollup/plugin-replace/4.0.0_rollup@2.75.3: + /@rollup/plugin-replace/4.0.0_rollup@2.75.7: resolution: {integrity: sha512-+rumQFiaNac9y64OHtkHGmdjm7us9bo1PlbgQfdihQtuNxzjpaB064HbRnewUOggLQxVCCyINfStkgmBeQpv1g==} peerDependencies: rollup: ^1.20.0 || ^2.0.0 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.75.3 + '@rollup/pluginutils': 3.1.0_rollup@2.75.7 magic-string: 0.25.9 - rollup: 2.75.3 + rollup: 2.75.7 dev: true - /@rollup/pluginutils/3.1.0_rollup@2.75.3: + /@rollup/pluginutils/3.1.0_rollup@2.75.7: resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} engines: {node: '>= 8.0.0'} peerDependencies: @@ -990,7 +990,7 @@ packages: '@types/estree': 0.0.39 estree-walker: 1.0.1 picomatch: 2.3.1 - rollup: 2.75.3 + rollup: 2.75.7 dev: true /@rollup/pluginutils/4.2.1: @@ -1006,13 +1006,13 @@ packages: golden-fleece: 1.0.9 dev: true - /@sveltejs/vite-plugin-svelte/1.0.0-next.49_svelte@3.48.0+vite@2.9.13: - resolution: {integrity: sha512-AKh0Ka8EDgidnxWUs8Hh2iZLZovkETkefO99XxZ4sW4WGJ7VFeBx5kH/NIIGlaNHLcrIvK3CK0HkZwC3Cici0A==} - engines: {node: ^14.13.1 || >= 16} + /@sveltejs/vite-plugin-svelte/1.0.1_svelte@3.48.0+vite@3.0.0: + resolution: {integrity: sha512-PorCgUounn0VXcpeJu+hOweZODKmGuLHsLomwqSj+p26IwjjGffmYQfVHtiTWq+NqaUuuHWWG7vPge6UFw4Aeg==} + engines: {node: ^14.18.0 || >= 16} peerDependencies: diff-match-patch: ^1.0.5 svelte: ^3.44.0 - vite: ^2.9.0 + vite: ^3.0.0 peerDependenciesMeta: diff-match-patch: optional: true @@ -1024,7 +1024,7 @@ packages: magic-string: 0.26.2 svelte: 3.48.0 svelte-hmr: 0.14.12_svelte@3.48.0 - vite: 2.9.13 + vite: 3.0.0 transitivePeerDependencies: - supports-color dev: false @@ -2110,192 +2110,192 @@ packages: resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} dev: true - /esbuild-android-64/0.14.42: - resolution: {integrity: sha512-P4Y36VUtRhK/zivqGVMqhptSrFILAGlYp0Z8r9UQqHJ3iWztRCNWnlBzD9HRx0DbueXikzOiwyOri+ojAFfW6A==} + /esbuild-android-64/0.14.48: + resolution: {integrity: sha512-3aMjboap/kqwCUpGWIjsk20TtxVoKck8/4Tu19rubh7t5Ra0Yrpg30Mt1QXXlipOazrEceGeWurXKeFJgkPOUg==} engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true optional: true - /esbuild-android-arm64/0.14.42: - resolution: {integrity: sha512-0cOqCubq+RWScPqvtQdjXG3Czb3AWI2CaKw3HeXry2eoA2rrPr85HF7IpdU26UWdBXgPYtlTN1LUiuXbboROhg==} + /esbuild-android-arm64/0.14.48: + resolution: {integrity: sha512-vptI3K0wGALiDq+EvRuZotZrJqkYkN5282iAfcffjI5lmGG9G1ta/CIVauhY42MBXwEgDJkweiDcDMRLzBZC4g==} engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true optional: true - /esbuild-darwin-64/0.14.42: - resolution: {integrity: sha512-ipiBdCA3ZjYgRfRLdQwP82rTiv/YVMtW36hTvAN5ZKAIfxBOyPXY7Cejp3bMXWgzKD8B6O+zoMzh01GZsCuEIA==} + /esbuild-darwin-64/0.14.48: + resolution: {integrity: sha512-gGQZa4+hab2Va/Zww94YbshLuWteyKGD3+EsVon8EWTWhnHFRm5N9NbALNbwi/7hQ/hM1Zm4FuHg+k6BLsl5UA==} engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /esbuild-darwin-arm64/0.14.42: - resolution: {integrity: sha512-bU2tHRqTPOaoH/4m0zYHbFWpiYDmaA0gt90/3BMEFaM0PqVK/a6MA2V/ypV5PO0v8QxN6gH5hBPY4YJ2lopXgA==} + /esbuild-darwin-arm64/0.14.48: + resolution: {integrity: sha512-bFjnNEXjhZT+IZ8RvRGNJthLWNHV5JkCtuOFOnjvo5pC0sk2/QVk0Qc06g2PV3J0TcU6kaPC3RN9yy9w2PSLEA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /esbuild-freebsd-64/0.14.42: - resolution: {integrity: sha512-75h1+22Ivy07+QvxHyhVqOdekupiTZVLN1PMwCDonAqyXd8TVNJfIRFrdL8QmSJrOJJ5h8H1I9ETyl2L8LQDaw==} + /esbuild-freebsd-64/0.14.48: + resolution: {integrity: sha512-1NOlwRxmOsnPcWOGTB10JKAkYSb2nue0oM1AfHWunW/mv3wERfJmnYlGzL3UAOIUXZqW8GeA2mv+QGwq7DToqA==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true optional: true - /esbuild-freebsd-arm64/0.14.42: - resolution: {integrity: sha512-W6Jebeu5TTDQMJUJVarEzRU9LlKpNkPBbjqSu+GUPTHDCly5zZEQq9uHkmHHl7OKm+mQ2zFySN83nmfCeZCyNA==} + /esbuild-freebsd-arm64/0.14.48: + resolution: {integrity: sha512-gXqKdO8wabVcYtluAbikDH2jhXp+Klq5oCD5qbVyUG6tFiGhrC9oczKq3vIrrtwcxDQqK6+HDYK8Zrd4bCA9Gw==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true optional: true - /esbuild-linux-32/0.14.42: - resolution: {integrity: sha512-Ooy/Bj+mJ1z4jlWcK5Dl6SlPlCgQB9zg1UrTCeY8XagvuWZ4qGPyYEWGkT94HUsRi2hKsXvcs6ThTOjBaJSMfg==} + /esbuild-linux-32/0.14.48: + resolution: {integrity: sha512-ghGyDfS289z/LReZQUuuKq9KlTiTspxL8SITBFQFAFRA/IkIvDpnZnCAKTCjGXAmUqroMQfKJXMxyjJA69c/nQ==} engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true optional: true - /esbuild-linux-64/0.14.42: - resolution: {integrity: sha512-2L0HbzQfbTuemUWfVqNIjOfaTRt9zsvjnme6lnr7/MO9toz/MJ5tZhjqrG6uDWDxhsaHI2/nsDgrv8uEEN2eoA==} + /esbuild-linux-64/0.14.48: + resolution: {integrity: sha512-vni3p/gppLMVZLghI7oMqbOZdGmLbbKR23XFARKnszCIBpEMEDxOMNIKPmMItQrmH/iJrL1z8Jt2nynY0bE1ug==} engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /esbuild-linux-arm/0.14.42: - resolution: {integrity: sha512-STq69yzCMhdRaWnh29UYrLSr/qaWMm/KqwaRF1pMEK7kDiagaXhSL1zQGXbYv94GuGY/zAwzK98+6idCMUOOCg==} + /esbuild-linux-arm/0.14.48: + resolution: {integrity: sha512-+VfSV7Akh1XUiDNXgqgY1cUP1i2vjI+BmlyXRfVz5AfV3jbpde8JTs5Q9sYgaoq5cWfuKfoZB/QkGOI+QcL1Tw==} engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true optional: true - /esbuild-linux-arm64/0.14.42: - resolution: {integrity: sha512-c3Ug3e9JpVr8jAcfbhirtpBauLxzYPpycjWulD71CF6ZSY26tvzmXMJYooQ2YKqDY4e/fPu5K8bm7MiXMnyxuA==} + /esbuild-linux-arm64/0.14.48: + resolution: {integrity: sha512-3CFsOlpoxlKPRevEHq8aAntgYGYkE1N9yRYAcPyng/p4Wyx0tPR5SBYsxLKcgPB9mR8chHEhtWYz6EZ+H199Zw==} engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /esbuild-linux-mips64le/0.14.42: - resolution: {integrity: sha512-QuvpHGbYlkyXWf2cGm51LBCHx6eUakjaSrRpUqhPwjh/uvNUYvLmz2LgPTTPwCqaKt0iwL+OGVL0tXA5aDbAbg==} + /esbuild-linux-mips64le/0.14.48: + resolution: {integrity: sha512-cs0uOiRlPp6ymknDnjajCgvDMSsLw5mST2UXh+ZIrXTj2Ifyf2aAP3Iw4DiqgnyYLV2O/v/yWBJx+WfmKEpNLA==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true optional: true - /esbuild-linux-ppc64le/0.14.42: - resolution: {integrity: sha512-8ohIVIWDbDT+i7lCx44YCyIRrOW1MYlks9fxTo0ME2LS/fxxdoJBwHWzaDYhjvf8kNpA+MInZvyOEAGoVDrMHg==} + /esbuild-linux-ppc64le/0.14.48: + resolution: {integrity: sha512-+2F0vJMkuI0Wie/wcSPDCqXvSFEELH7Jubxb7mpWrA/4NpT+/byjxDz0gG6R1WJoeDefcrMfpBx4GFNN1JQorQ==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true optional: true - /esbuild-linux-riscv64/0.14.42: - resolution: {integrity: sha512-DzDqK3TuoXktPyG1Lwx7vhaF49Onv3eR61KwQyxYo4y5UKTpL3NmuarHSIaSVlTFDDpcIajCDwz5/uwKLLgKiQ==} + /esbuild-linux-riscv64/0.14.48: + resolution: {integrity: sha512-BmaK/GfEE+5F2/QDrIXteFGKnVHGxlnK9MjdVKMTfvtmudjY3k2t8NtlY4qemKSizc+QwyombGWTBDc76rxePA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true optional: true - /esbuild-linux-s390x/0.14.42: - resolution: {integrity: sha512-YFRhPCxl8nb//Wn6SiS5pmtplBi4z9yC2gLrYoYI/tvwuB1jldir9r7JwAGy1Ck4D7sE7wBN9GFtUUX/DLdcEQ==} + /esbuild-linux-s390x/0.14.48: + resolution: {integrity: sha512-tndw/0B9jiCL+KWKo0TSMaUm5UWBLsfCKVdbfMlb3d5LeV9WbijZ8Ordia8SAYv38VSJWOEt6eDCdOx8LqkC4g==} engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true optional: true - /esbuild-netbsd-64/0.14.42: - resolution: {integrity: sha512-QYSD2k+oT9dqB/4eEM9c+7KyNYsIPgzYOSrmfNGDIyJrbT1d+CFVKvnKahDKNJLfOYj8N4MgyFaU9/Ytc6w5Vw==} + /esbuild-netbsd-64/0.14.48: + resolution: {integrity: sha512-V9hgXfwf/T901Lr1wkOfoevtyNkrxmMcRHyticybBUHookznipMOHoF41Al68QBsqBxnITCEpjjd4yAos7z9Tw==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true optional: true - /esbuild-openbsd-64/0.14.42: - resolution: {integrity: sha512-M2meNVIKWsm2HMY7+TU9AxM7ZVwI9havdsw6m/6EzdXysyCFFSoaTQ/Jg03izjCsK17FsVRHqRe26Llj6x0MNA==} + /esbuild-openbsd-64/0.14.48: + resolution: {integrity: sha512-+IHf4JcbnnBl4T52egorXMatil/za0awqzg2Vy6FBgPcBpisDWT2sVz/tNdrK9kAqj+GZG/jZdrOkj7wsrNTKA==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true optional: true - /esbuild-sunos-64/0.14.42: - resolution: {integrity: sha512-uXV8TAZEw36DkgW8Ak3MpSJs1ofBb3Smkc/6pZ29sCAN1KzCAQzsje4sUwugf+FVicrHvlamCOlFZIXgct+iqQ==} + /esbuild-sunos-64/0.14.48: + resolution: {integrity: sha512-77m8bsr5wOpOWbGi9KSqDphcq6dFeJyun8TA+12JW/GAjyfTwVtOnN8DOt6DSPUfEV+ltVMNqtXUeTeMAxl5KA==} engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true optional: true - /esbuild-windows-32/0.14.42: - resolution: {integrity: sha512-4iw/8qWmRICWi9ZOnJJf9sYt6wmtp3hsN4TdI5NqgjfOkBVMxNdM9Vt3626G1Rda9ya2Q0hjQRD9W1o+m6Lz6g==} + /esbuild-windows-32/0.14.48: + resolution: {integrity: sha512-EPgRuTPP8vK9maxpTGDe5lSoIBHGKO/AuxDncg5O3NkrPeLNdvvK8oywB0zGaAZXxYWfNNSHskvvDgmfVTguhg==} engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true optional: true - /esbuild-windows-64/0.14.42: - resolution: {integrity: sha512-j3cdK+Y3+a5H0wHKmLGTJcq0+/2mMBHPWkItR3vytp/aUGD/ua/t2BLdfBIzbNN9nLCRL9sywCRpOpFMx3CxzA==} + /esbuild-windows-64/0.14.48: + resolution: {integrity: sha512-YmpXjdT1q0b8ictSdGwH3M8VCoqPpK1/UArze3X199w6u8hUx3V8BhAi1WjbsfDYRBanVVtduAhh2sirImtAvA==} engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true optional: true - /esbuild-windows-arm64/0.14.42: - resolution: {integrity: sha512-+lRAARnF+hf8J0mN27ujO+VbhPbDqJ8rCcJKye4y7YZLV6C4n3pTRThAb388k/zqF5uM0lS5O201u0OqoWSicw==} + /esbuild-windows-arm64/0.14.48: + resolution: {integrity: sha512-HHaOMCsCXp0rz5BT2crTka6MPWVno121NKApsGs/OIW5QC0ggC69YMGs1aJct9/9FSUF4A1xNE/cLvgB5svR4g==} engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /esbuild/0.14.42: - resolution: {integrity: sha512-V0uPZotCEHokJdNqyozH6qsaQXqmZEOiZWrXnds/zaH/0SyrIayRXWRB98CENO73MIZ9T3HBIOsmds5twWtmgw==} + /esbuild/0.14.48: + resolution: {integrity: sha512-w6N1Yn5MtqK2U1/WZTX9ZqUVb8IOLZkZ5AdHkT6x3cHDMVsYWC7WPdiLmx19w3i4Rwzy5LqsEMtVihG3e4rFzA==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - esbuild-android-64: 0.14.42 - esbuild-android-arm64: 0.14.42 - esbuild-darwin-64: 0.14.42 - esbuild-darwin-arm64: 0.14.42 - esbuild-freebsd-64: 0.14.42 - esbuild-freebsd-arm64: 0.14.42 - esbuild-linux-32: 0.14.42 - esbuild-linux-64: 0.14.42 - esbuild-linux-arm: 0.14.42 - esbuild-linux-arm64: 0.14.42 - esbuild-linux-mips64le: 0.14.42 - esbuild-linux-ppc64le: 0.14.42 - esbuild-linux-riscv64: 0.14.42 - esbuild-linux-s390x: 0.14.42 - esbuild-netbsd-64: 0.14.42 - esbuild-openbsd-64: 0.14.42 - esbuild-sunos-64: 0.14.42 - esbuild-windows-32: 0.14.42 - esbuild-windows-64: 0.14.42 - esbuild-windows-arm64: 0.14.42 + esbuild-android-64: 0.14.48 + esbuild-android-arm64: 0.14.48 + esbuild-darwin-64: 0.14.48 + esbuild-darwin-arm64: 0.14.48 + esbuild-freebsd-64: 0.14.48 + esbuild-freebsd-arm64: 0.14.48 + esbuild-linux-32: 0.14.48 + esbuild-linux-64: 0.14.48 + esbuild-linux-arm: 0.14.48 + esbuild-linux-arm64: 0.14.48 + esbuild-linux-mips64le: 0.14.48 + esbuild-linux-ppc64le: 0.14.48 + esbuild-linux-riscv64: 0.14.48 + esbuild-linux-s390x: 0.14.48 + esbuild-netbsd-64: 0.14.48 + esbuild-openbsd-64: 0.14.48 + esbuild-sunos-64: 0.14.48 + esbuild-windows-32: 0.14.48 + esbuild-windows-64: 0.14.48 + esbuild-windows-arm64: 0.14.48 /escalade/3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} @@ -3662,7 +3662,7 @@ packages: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.0 + resolve: 1.22.1 semver: 5.7.1 validate-npm-package-license: 3.0.4 dev: true @@ -4221,6 +4221,15 @@ packages: is-core-module: 2.9.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /resolve/1.22.1: + resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} + hasBin: true + dependencies: + is-core-module: 2.9.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 /reusify/1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} @@ -4253,8 +4262,8 @@ packages: estree-walker: 0.6.1 dev: false - /rollup/2.75.3: - resolution: {integrity: sha512-YA29fLU6MAYSaDxIQYrGGOcbXlDmG96h0krGGYObroezcQ0KgEPM3+7MtKD/qeuUbFuAJXvKZee5dA1dpwq1PQ==} + /rollup/2.75.7: + resolution: {integrity: sha512-VSE1iy0eaAYNCxEXaleThdFXqZJ42qDBatAwrfnPlENEZ8erQ+0LYX4JXOLPceWfZpV1VtZwZ3dFCuOZiSyFtQ==} engines: {node: '>=10.0.0'} hasBin: true optionalDependencies: @@ -5222,14 +5231,15 @@ packages: magic-string: 0.26.2 dev: true - /vite/2.9.13: - resolution: {integrity: sha512-AsOBAaT0AD7Mhe8DuK+/kE4aWYFMx/i0ZNi98hJclxb4e0OhQcZYUrvLjIaQ8e59Ui7txcvKMiJC1yftqpQoDw==} - engines: {node: '>=12.2.0'} + /vite/3.0.0: + resolution: {integrity: sha512-M7phQhY3+fRZa0H+1WzI6N+/onruwPTBTMvaj7TzgZ0v2TE+N2sdLKxJOfOv9CckDWt5C4HmyQP81xB4dwRKzA==} + engines: {node: '>=14.18.0'} hasBin: true peerDependencies: less: '*' sass: '*' stylus: '*' + terser: ^5.4.0 peerDependenciesMeta: less: optional: true @@ -5237,11 +5247,13 @@ packages: optional: true stylus: optional: true + terser: + optional: true dependencies: - esbuild: 0.14.42 + esbuild: 0.14.48 postcss: 8.4.14 - resolve: 1.22.0 - rollup: 2.75.3 + resolve: 1.22.1 + rollup: 2.75.7 optionalDependencies: fsevents: 2.3.2 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 0c98d7980422..fd8175da4c69 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -5,3 +5,4 @@ packages: - 'packages/kit/test/apps/*' - 'packages/kit/test/prerendering/*' - 'packages/create-svelte/templates/*' + - '!.test-tmp/**' diff --git a/sites/kit.svelte.dev/package.json b/sites/kit.svelte.dev/package.json index a307cdb908f0..616f17709c90 100644 --- a/sites/kit.svelte.dev/package.json +++ b/sites/kit.svelte.dev/package.json @@ -21,7 +21,7 @@ "shiki-twoslash": "^3.0.2", "svelte": "^3.48.0", "typescript": "^4.7.4", - "vite": "^2.9.10", + "vite": "^3.0.0", "vite-imagetools": "^4.0.3" }, "type": "module"