@@ -10,6 +10,7 @@ import semver from 'semver';
1010import glob from 'tiny-glob/sync.js' ;
1111import { bail , check_git , update_js_file , update_svelte_file } from '../../utils.js' ;
1212import { migrate as migrate_svelte_4 } from '../svelte-4/index.js' ;
13+ import { migrate as migrate_sveltekit_2 } from '../sveltekit-2/index.js' ;
1314import { transform_module_code , transform_svelte_code , update_pkg_json } from './migrate.js' ;
1415
1516export async function migrate ( ) {
@@ -22,37 +23,64 @@ export async function migrate() {
2223 ) ;
2324
2425 const pkg = JSON . parse ( fs . readFileSync ( 'package.json' , 'utf8' ) ) ;
26+
2527 const svelte_dep = pkg . devDependencies ?. svelte ?? pkg . dependencies ?. svelte ;
2628 if ( svelte_dep && semver . validRange ( svelte_dep ) && semver . gtr ( '4.0.0' , svelte_dep ) ) {
2729 console . log (
2830 colors
2931 . bold ( )
3032 . yellow (
31- '\nDetected Svelte 3. We recommend running the `svelte-4` migration first (`npx svelte-migrate svelte-4`).\n'
33+ '\nDetected Svelte 3. You need to upgrade to Svelte version 4 first (`npx svelte-migrate svelte-4`).\n'
3234 )
3335 ) ;
3436 const response = await prompts ( {
3537 type : 'confirm' ,
3638 name : 'value' ,
37- message : 'Run ` svelte-4` migration now?' ,
39+ message : 'Run svelte-4 migration now?' ,
3840 initial : false
3941 } ) ;
4042 if ( ! response . value ) {
4143 process . exit ( 1 ) ;
4244 } else {
4345 await migrate_svelte_4 ( ) ;
4446 console . log (
45- colors . bold ( ) . green ( '`svelte-4` migration complete. Continue with `svelte-5` migration?\n' )
47+ colors
48+ . bold ( )
49+ . green (
50+ 'svelte-4 migration complete. Check that everything is ok, then run `npx svelte-migrate svelte-5` again to continue the Svelte 5 migration.\n'
51+ )
4652 ) ;
47- const response = await prompts ( {
48- type : 'confirm' ,
49- name : 'value' ,
50- message : 'Continue?' ,
51- initial : false
52- } ) ;
53- if ( ! response . value ) {
54- process . exit ( 1 ) ;
55- }
53+ process . exit ( 0 ) ;
54+ }
55+ }
56+
57+ const kit_dep = pkg . devDependencies ?. [ '@sveltejs/kit' ] ?? pkg . dependencies ?. [ '@sveltejs/kit' ] ;
58+ if ( kit_dep && semver . validRange ( kit_dep ) && semver . gtr ( '2.0.0' , kit_dep ) ) {
59+ console . log (
60+ colors
61+ . bold ( )
62+ . yellow (
63+ '\nDetected SvelteKit 1. You need to upgrade to SvelteKit version 2 first (`npx svelte-migrate sveltekit-2`).\n'
64+ )
65+ ) ;
66+ const response = await prompts ( {
67+ type : 'confirm' ,
68+ name : 'value' ,
69+ message : 'Run sveltekit-2 migration now?' ,
70+ initial : false
71+ } ) ;
72+ if ( ! response . value ) {
73+ process . exit ( 1 ) ;
74+ } else {
75+ await migrate_sveltekit_2 ( ) ;
76+ console . log (
77+ colors
78+ . bold ( )
79+ . green (
80+ 'sveltekit-2 migration complete. Check that everything is ok, then run `npx svelte-migrate svelte-5` again to continue the Svelte 5 migration.\n'
81+ )
82+ ) ;
83+ process . exit ( 0 ) ;
5684 }
5785 }
5886
0 commit comments