@sveltejs/kit 1.0.0-next.364 → 1.0.0-next.368

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.
@@ -725,10 +725,13 @@ function create_client({ target, session, base, trailing_slash }) {
725
725
  const root = document.body;
726
726
  const tabindex = root.getAttribute('tabindex');
727
727
 
728
- getSelection()?.removeAllRanges();
729
728
  root.tabIndex = -1;
730
729
  root.focus({ preventScroll: true });
731
730
 
731
+ setTimeout(() => {
732
+ getSelection()?.removeAllRanges();
733
+ });
734
+
732
735
  // restore `tabindex` as to prevent `root` from stealing input from elements
733
736
  if (tabindex !== null) {
734
737
  root.setAttribute('tabindex', tabindex);
package/dist/cli.js CHANGED
@@ -18,7 +18,7 @@ function handle_error(e) {
18
18
  process.exit(1);
19
19
  }
20
20
 
21
- const prog = sade('svelte-kit').version('1.0.0-next.364');
21
+ const prog = sade('svelte-kit').version('1.0.0-next.368');
22
22
 
23
23
  prog
24
24
  .command('package')
package/dist/vite.js CHANGED
@@ -263,9 +263,9 @@ const get_default_config = function ({ config, input, ssr, outDir }) {
263
263
  input,
264
264
  output: {
265
265
  format: 'esm',
266
- entryFileNames: ssr ? '[name].js' : '[name]-[hash].js',
267
- chunkFileNames: 'chunks/[name]-[hash].js',
268
- assetFileNames: 'assets/[name]-[hash][extname]'
266
+ entryFileNames: ssr ? '[name].js' : 'immutable/[name]-[hash].js',
267
+ chunkFileNames: 'immutable/chunks/[name]-[hash].js',
268
+ assetFileNames: 'immutable/assets/[name]-[hash][extname]'
269
269
  },
270
270
  preserveEntrySignatures: 'strict'
271
271
  },
@@ -298,7 +298,7 @@ function assets_base(config) {
298
298
  // during `svelte-kit preview`, because we use a local asset path. This
299
299
  // may be fixed in Vite 3: https://github.com/vitejs/vite/issues/2009
300
300
  const { base, assets } = config.paths;
301
- return `${assets || base}/${config.appDir}/immutable/`;
301
+ return `${assets || base}/${config.appDir}/`;
302
302
  }
303
303
 
304
304
  /**
@@ -372,7 +372,7 @@ export class Server {
372
372
  manifest,
373
373
  method_override: ${s(config.kit.methodOverride)},
374
374
  paths: { base, assets },
375
- prefix: assets + '/${config.kit.appDir}/immutable/',
375
+ prefix: assets + '/${config.kit.appDir}/',
376
376
  prerender: {
377
377
  default: ${config.kit.prerender.default},
378
378
  enabled: ${config.kit.prerender.enabled}
@@ -447,7 +447,7 @@ async function build_server(options, client) {
447
447
 
448
448
  if (file) {
449
449
  const resolved = path__default.resolve(cwd, file);
450
- const relative = path__default.relative(config.kit.files.routes, resolved);
450
+ const relative = decodeURIComponent(path__default.relative(config.kit.files.routes, resolved));
451
451
  const name = posixify(path__default.join('entries/endpoints', relative.replace(/\.js$/, '')));
452
452
  input[name] = resolved;
453
453
  }
@@ -456,7 +456,7 @@ async function build_server(options, client) {
456
456
  // ...and every component used by pages...
457
457
  manifest_data.components.forEach((file) => {
458
458
  const resolved = path__default.resolve(cwd, file);
459
- const relative = path__default.relative(config.kit.files.routes, resolved);
459
+ const relative = decodeURIComponent(path__default.relative(config.kit.files.routes, resolved));
460
460
 
461
461
  const name = relative.startsWith('..')
462
462
  ? posixify(path__default.join('entries/fallbacks', path__default.basename(file)))
@@ -692,7 +692,7 @@ async function build_service_worker(
692
692
 
693
693
  export const build = [
694
694
  ${Array.from(build)
695
- .map((file) => `${s(`${config.kit.paths.base}/${config.kit.appDir}/immutable/${file}`)}`)
695
+ .map((file) => `${s(`${config.kit.paths.base}/${config.kit.appDir}/${file}`)}`)
696
696
  .join(',\n\t\t\t\t')}
697
697
  ];
698
698
 
@@ -2038,10 +2038,11 @@ const cwd$1 = process.cwd();
2038
2038
 
2039
2039
  /**
2040
2040
  * @param {import('vite').ViteDevServer} vite
2041
+ * @param {import('vite').ResolvedConfig} vite_config
2041
2042
  * @param {import('types').ValidatedConfig} svelte_config
2042
2043
  * @return {Promise<Promise<() => void>>}
2043
2044
  */
2044
- async function dev(vite, svelte_config) {
2045
+ async function dev(vite, vite_config, svelte_config) {
2045
2046
  installPolyfills();
2046
2047
 
2047
2048
  init(svelte_config);
@@ -2228,6 +2229,18 @@ async function dev(vite, svelte_config) {
2228
2229
  }
2229
2230
  }
2230
2231
 
2232
+ const file = posixify(path__default.resolve(decoded.slice(1)));
2233
+ const is_file = fs__default.existsSync(file) && !fs__default.statSync(file).isDirectory();
2234
+ const allowed =
2235
+ !vite_config.server.fs.strict ||
2236
+ vite_config.server.fs.allow.some((dir) => file.startsWith(dir));
2237
+
2238
+ if (is_file && allowed) {
2239
+ // @ts-expect-error
2240
+ serve_static_middleware.handle(req, res);
2241
+ return;
2242
+ }
2243
+
2231
2244
  if (!decoded.startsWith(svelte_config.kit.paths.base)) {
2232
2245
  return not_found(
2233
2246
  res,
@@ -2825,7 +2838,7 @@ function kit() {
2825
2838
  /** @type {import('types').ValidatedConfig} */
2826
2839
  let svelte_config;
2827
2840
 
2828
- /** @type {import('vite').UserConfig} */
2841
+ /** @type {import('vite').ResolvedConfig} */
2829
2842
  let vite_config;
2830
2843
 
2831
2844
  /** @type {import('vite').ConfigEnv} */
@@ -2837,6 +2850,15 @@ function kit() {
2837
2850
  /** @type {boolean} */
2838
2851
  let is_build;
2839
2852
 
2853
+ /** @type {import('types').Logger} */
2854
+ let log;
2855
+
2856
+ /** @type {import('types').Prerendered} */
2857
+ let prerendered;
2858
+
2859
+ /** @type {import('types').BuildData} */
2860
+ let build_data;
2861
+
2840
2862
  /**
2841
2863
  * @type {{
2842
2864
  * build_dir: string;
@@ -2849,6 +2871,8 @@ function kit() {
2849
2871
  function create_client_config() {
2850
2872
  /** @type {Record<string, string>} */
2851
2873
  const input = {
2874
+ // Put unchanging assets in immutable directory. We don't set that in the
2875
+ // outDir so that other plugins can add mutable assets to the bundle
2852
2876
  start: `${get_runtime_path(svelte_config.kit)}/client/start.js`
2853
2877
  };
2854
2878
 
@@ -2857,7 +2881,7 @@ function kit() {
2857
2881
  // their location in the source code, which is helpful for debugging
2858
2882
  manifest_data.components.forEach((file) => {
2859
2883
  const resolved = path__default.resolve(cwd, file);
2860
- const relative = path__default.relative(svelte_config.kit.files.routes, resolved);
2884
+ const relative = decodeURIComponent(path__default.relative(svelte_config.kit.files.routes, resolved));
2861
2885
 
2862
2886
  const name = relative.startsWith('..')
2863
2887
  ? path__default.basename(file)
@@ -2869,7 +2893,7 @@ function kit() {
2869
2893
  config: svelte_config,
2870
2894
  input,
2871
2895
  ssr: false,
2872
- outDir: `${paths.client_out_dir}/immutable`
2896
+ outDir: `${paths.client_out_dir}`
2873
2897
  });
2874
2898
  }
2875
2899
 
@@ -2877,7 +2901,6 @@ function kit() {
2877
2901
  name: 'vite-plugin-svelte-kit',
2878
2902
 
2879
2903
  async config(config, config_env) {
2880
- vite_config = config;
2881
2904
  vite_config_env = config_env;
2882
2905
  svelte_config = await load_config();
2883
2906
  is_build = config_env.command === 'build';
@@ -2941,6 +2964,10 @@ function kit() {
2941
2964
  return result;
2942
2965
  },
2943
2966
 
2967
+ configResolved(config) {
2968
+ vite_config = config;
2969
+ },
2970
+
2944
2971
  buildStart() {
2945
2972
  if (is_build) {
2946
2973
  rimraf(paths.build_dir);
@@ -2952,8 +2979,9 @@ function kit() {
2952
2979
  },
2953
2980
 
2954
2981
  async writeBundle(_options, bundle) {
2955
- const verbose = vite_config.logLevel === 'info';
2956
- const log = logger({ verbose });
2982
+ log = logger({
2983
+ verbose: vite_config.logLevel === 'info'
2984
+ });
2957
2985
 
2958
2986
  fs__default.writeFileSync(
2959
2987
  `${paths.client_out_dir}/version.json`,
@@ -2975,7 +3003,7 @@ function kit() {
2975
3003
 
2976
3004
  /** @type {import('vite').Manifest} */
2977
3005
  const vite_manifest = JSON.parse(
2978
- fs__default.readFileSync(`${paths.client_out_dir}/immutable/manifest.json`, 'utf-8')
3006
+ fs__default.readFileSync(`${paths.client_out_dir}/manifest.json`, 'utf-8')
2979
3007
  );
2980
3008
 
2981
3009
  const entry_id = posixify(
@@ -3007,7 +3035,7 @@ function kit() {
3007
3035
  process.env.SVELTEKIT_SERVER_BUILD_COMPLETED = 'true';
3008
3036
 
3009
3037
  /** @type {import('types').BuildData} */
3010
- const build_data = {
3038
+ build_data = {
3011
3039
  app_dir: svelte_config.kit.appDir,
3012
3040
  manifest_data,
3013
3041
  service_worker: options.service_worker_entry_file ? 'service-worker.js' : null, // TODO make file configurable?
@@ -3028,8 +3056,8 @@ function kit() {
3028
3056
 
3029
3057
  const files = new Set([
3030
3058
  ...static_files,
3031
- ...chunks.map((chunk) => `${svelte_config.kit.appDir}/immutable/${chunk.fileName}`),
3032
- ...assets.map((chunk) => `${svelte_config.kit.appDir}/immutable/${chunk.fileName}`)
3059
+ ...chunks.map((chunk) => `${svelte_config.kit.appDir}/${chunk.fileName}`),
3060
+ ...assets.map((chunk) => `${svelte_config.kit.appDir}/${chunk.fileName}`)
3033
3061
  ]);
3034
3062
 
3035
3063
  // TODO is this right?
@@ -3041,7 +3069,7 @@ function kit() {
3041
3069
 
3042
3070
  log.info('Prerendering');
3043
3071
 
3044
- const prerendered = await prerender({
3072
+ prerendered = await prerender({
3045
3073
  config: svelte_config.kit,
3046
3074
  entries: manifest_data.routes
3047
3075
  .map((route) => (route.type === 'page' ? route.path : ''))
@@ -3063,7 +3091,9 @@ function kit() {
3063
3091
  console.log(
3064
3092
  `\nRun ${$.bold().cyan('npm run preview')} to preview your production build locally.`
3065
3093
  );
3094
+ },
3066
3095
 
3096
+ async closeBundle() {
3067
3097
  if (svelte_config.kit.adapter) {
3068
3098
  const { adapt } = await import('./chunks/index2.js');
3069
3099
  await adapt(svelte_config, build_data, prerendered, { log });
@@ -3074,9 +3104,7 @@ function kit() {
3074
3104
  `See ${$.bold().cyan('https://kit.svelte.dev/docs/adapters')} to learn how to configure your app to run on the platform of your choosing`
3075
3105
  );
3076
3106
  }
3077
- },
3078
3107
 
3079
- closeBundle() {
3080
3108
  if (is_build && svelte_config.kit.prerender.enabled) {
3081
3109
  // this is necessary to close any open db connections, etc.
3082
3110
  // TODO: prerender in a subprocess so we can exit in isolation
@@ -3086,12 +3114,11 @@ function kit() {
3086
3114
  },
3087
3115
 
3088
3116
  async configureServer(vite) {
3089
- return await dev(vite, svelte_config);
3117
+ return await dev(vite, vite_config, svelte_config);
3090
3118
  },
3091
3119
 
3092
3120
  configurePreviewServer(vite) {
3093
- const protocol = vite_config.preview?.https ? 'https' : 'http';
3094
- return preview(vite, svelte_config, protocol);
3121
+ return preview(vite, svelte_config, vite_config.preview.https ? 'https' : 'http');
3095
3122
  }
3096
3123
  };
3097
3124
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sveltejs/kit",
3
- "version": "1.0.0-next.364",
3
+ "version": "1.0.0-next.368",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/sveltejs/kit",