Skip to content

Commit b0b2485

Browse files
authored
Merge branch 'sveltejs:master' into create-svelte/jsdoc-satisfies
2 parents 8e94bc1 + c52bd3d commit b0b2485

File tree

17 files changed

+509
-101
lines changed

17 files changed

+509
-101
lines changed

.changeset/tiny-insects-repeat.md

-5
This file was deleted.

documentation/docs/25-build-and-deploy/60-adapter-cloudflare.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ This adapter will be installed by default when you use [`adapter-auto`](adapter-
1212
- `adapter-cloudflare-workers` – supports all SvelteKit features; builds for Cloudflare Workers
1313
- `adapter-static` – only produces client-side static assets; compatible with Cloudflare Pages
1414

15-
> Unless you have a specific reason to use `adapter-cloudflare-workers`, it's recommended that you use this adapter instead. Both adapters have equivalent functionality, but Cloudflare Pages offers features like GitHub integration with automatic builds and deploys, preview deployments, instant rollback and so on.
15+
> Unless you have a specific reason to use `adapter-cloudflare-workers`, it's recommended that you use `adapter-cloudflare` instead. Both adapters have equivalent functionality, but Cloudflare Pages offers features like GitHub integration with automatic builds and deploys, preview deployments, instant rollback and so on.
1616
1717
## Usage
1818

@@ -106,6 +106,10 @@ However, they will have no effect on responses dynamically rendered by SvelteKit
106106

107107
## Troubleshooting
108108

109+
### Further reading
110+
111+
You may wish to refer to [Cloudflare's documentation for deploying a SvelteKit site](https://developers.cloudflare.com/pages/framework-guides/deploy-a-svelte-site).
112+
109113
### Accessing the file system
110114

111115
You can't access the file system through methods like `fs.readFileSync` in Serverless/Edge environments. If you need to access files that way, do that during building the app through [prerendering](https://kit.svelte.dev/docs/page-options#prerender). If you have a blog for example and don't want to manage your content through a CMS, then you need to prerender the content (or prerender the endpoint from which you get it) and redeploy your blog everytime you add new content.

packages/create-svelte/CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# create-svelte
22

3+
## 5.0.0
4+
5+
### Major Changes
6+
7+
- breaking: install Svelte 4 ([#10217](https://github.com/sveltejs/kit/pull/10217))
8+
39
## 4.2.0
410

511
### Minor Changes

packages/create-svelte/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "create-svelte",
3-
"version": "4.2.0",
3+
"version": "5.0.0",
44
"description": "A CLI for creating new SvelteKit projects",
55
"repository": {
66
"type": "git",

packages/create-svelte/shared/+checkjs/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@
55
},
66
"devDependencies": {
77
"typescript": "^5.0.0",
8-
"svelte-check": "^3.0.1"
8+
"svelte-check": "^3.4.3"
99
}
1010
}
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"devDependencies": {
33
"eslint": "^8.28.0",
4-
"eslint-plugin-svelte": "^2.26.0"
4+
"eslint-plugin-svelte": "^2.30.0"
55
}
66
}
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"devDependencies": {
33
"prettier": "^2.8.0",
4-
"prettier-plugin-svelte": "^2.8.1"
4+
"prettier-plugin-svelte": "^2.10.1"
55
}
66
}

packages/create-svelte/shared/+typescript/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@
66
"devDependencies": {
77
"typescript": "^5.0.0",
88
"tslib": "^2.4.1",
9-
"svelte-check": "^3.0.1"
9+
"svelte-check": "^3.4.3"
1010
}
1111
}

packages/create-svelte/templates/default/package.template.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
"@fontsource/fira-mono": "^4.5.10",
1111
"@neoconfetti/svelte": "^1.0.0",
1212
"@sveltejs/adapter-auto": "^2.0.0",
13-
"@sveltejs/kit": "^1.5.0",
14-
"svelte": "^3.54.0",
13+
"@sveltejs/kit": "^1.20.4",
14+
"svelte": "^4.0.0",
1515
"vite": "^4.3.6"
1616
},
1717
"type": "module"

packages/create-svelte/templates/skeleton/package.template.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
},
1010
"devDependencies": {
1111
"@sveltejs/adapter-auto": "^2.0.0",
12-
"@sveltejs/kit": "^1.5.0",
13-
"svelte": "^3.54.0",
12+
"@sveltejs/kit": "^1.20.4",
13+
"svelte": "^4.0.0",
1414
"vite": "^4.3.6"
1515
},
1616
"type": "module"

packages/create-svelte/templates/skeletonlib/package.template.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@
1616
},
1717
"files": ["dist", "!dist/**/*.test.*", "!dist/**/*.spec.*"],
1818
"peerDependencies": {
19-
"svelte": "^3.54.0"
19+
"svelte": "^4.0.0"
2020
},
2121
"devDependencies": {
2222
"@sveltejs/adapter-auto": "^2.0.0",
23-
"@sveltejs/kit": "^1.5.0",
23+
"@sveltejs/kit": "^1.20.4",
2424
"@sveltejs/package": "^2.0.0",
2525
"publint": "^0.1.9",
26-
"svelte": "^3.54.0",
26+
"svelte": "^4.0.0",
2727
"tslib": "^2.4.1",
2828
"typescript": "^5.0.0",
2929
"vite": "^4.3.6"

packages/migrate/CHANGELOG.md

+8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# svelte-migrate
22

3+
## 1.2.2
4+
5+
### Patch Changes
6+
7+
- fix: finalize svelte-4 migration ([#10195](https://github.com/sveltejs/kit/pull/10195))
8+
9+
- fix: changed `index` to `index.d.ts` in `typesVersions` ([#10180](https://github.com/sveltejs/kit/pull/10180))
10+
311
## 1.2.1
412

513
### Patch Changes

packages/migrate/migrations/svelte-4/index.js

+43-9
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,21 @@ import fs from 'node:fs';
33
import prompts from 'prompts';
44
import glob from 'tiny-glob/sync.js';
55
import { bail, check_git } from '../../utils.js';
6-
import { update_js_file, update_svelte_file } from './migrate.js';
6+
import { update_js_file, update_pkg_json, update_svelte_file } from './migrate.js';
77

88
export async function migrate() {
99
if (!fs.existsSync('package.json')) {
1010
bail('Please re-run this script in a directory with a package.json');
1111
}
1212

13-
console.log(colors.bold().yellow('\nThis will update files in the current directory\n'));
13+
console.log(
14+
colors
15+
.bold()
16+
.yellow(
17+
'\nThis will update files in the current directory\n' +
18+
"If you're inside a monorepo, don't run this in the root directory, rather run it in all projects independently.\n"
19+
)
20+
);
1421

1522
const use_git = check_git();
1623

@@ -25,22 +32,49 @@ export async function migrate() {
2532
process.exit(1);
2633
}
2734

35+
const folders = await prompts({
36+
type: 'multiselect',
37+
name: 'value',
38+
message: 'Which folders should be migrated?',
39+
choices: fs
40+
.readdirSync('.')
41+
.filter(
42+
(dir) => fs.statSync(dir).isDirectory() && dir !== 'node_modules' && !dir.startsWith('.')
43+
)
44+
.map((dir) => ({ title: dir, value: dir, selected: true }))
45+
});
46+
47+
if (!folders.value?.length) {
48+
process.exit(1);
49+
}
50+
51+
const migrate_transition = await prompts({
52+
type: 'confirm',
53+
name: 'value',
54+
message:
55+
'Add the `|global` modifier to currently global transitions for backwards compatibility? More info at https://svelte.dev/docs/v4-migration-guide#transitions-are-local-by-default',
56+
initial: true
57+
});
58+
59+
update_pkg_json();
60+
2861
// const { default: config } = fs.existsSync('svelte.config.js')
2962
// ? await import(pathToFileURL(path.resolve('svelte.config.js')).href)
3063
// : { default: {} };
3164

3265
/** @type {string[]} */
33-
const svelte_extensions = /* config.extensions ?? - disabled because it would break .svx */ ['.svelte'];
66+
const svelte_extensions = /* config.extensions ?? - disabled because it would break .svx */ [
67+
'.svelte'
68+
];
3469
const extensions = [...svelte_extensions, '.ts', '.js'];
35-
// TODO read tsconfig/jsconfig if available? src/** will be good for 99% of cases
36-
const files = glob('src/**', { filesOnly: true, dot: true }).map((file) =>
37-
file.replace(/\\/g, '/')
38-
);
70+
const files = glob(`{${folders.value.join(',')}}/**`, { filesOnly: true, dot: true })
71+
.map((file) => file.replace(/\\/g, '/'))
72+
.filter((file) => !file.includes('/node_modules/'));
3973

4074
for (const file of files) {
4175
if (extensions.some((ext) => file.endsWith(ext))) {
4276
if (svelte_extensions.some((ext) => file.endsWith(ext))) {
43-
update_svelte_file(file);
77+
update_svelte_file(file, migrate_transition.value);
4478
} else {
4579
update_js_file(file);
4680
}
@@ -55,7 +89,7 @@ export async function migrate() {
5589

5690
const tasks = [
5791
use_git && cyan('git commit -m "migration to Svelte 4"'),
58-
'Review the migration guide at TODO',
92+
'Review the migration guide at https://svelte.dev/docs/v4-migration-guide',
5993
'Read the updated docs at https://svelte.dev/docs'
6094
].filter(Boolean);
6195

0 commit comments

Comments
 (0)