Skip to content

Commit 5ee6087

Browse files
authored
Merge branch 'master' into tanlh/feat/action-void-parameter-type
2 parents 99764b2 + d436351 commit 5ee6087

File tree

837 files changed

+18695
-8121
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

837 files changed

+18695
-8121
lines changed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
### Before submitting the PR, please make sure you do the following
22
- [ ] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
3-
- [ ] Prefix your PR title with `[feat]`, `[fix]`, `[chore]`, or `[docs]`.
3+
- [ ] Prefix your PR title with `feat:`, `fix:`, `chore:`, or `docs:`.
44
- [ ] This message body should clearly illustrate what problems it solves.
55
- [ ] Ideally, include a test that fails without this PR but passes with it.
66

.github/workflows/ci.yml

Lines changed: 70 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,86 @@
11
name: CI
2-
on: [push, pull_request]
2+
on:
3+
push:
4+
branches: [ master ]
5+
pull_request:
6+
permissions:
7+
contents: read # to fetch code (actions/checkout)
38
jobs:
9+
Setup:
10+
runs-on: ${{ matrix.os }}
11+
strategy:
12+
matrix:
13+
os: [ubuntu-latest, windows-latest, macOS-latest]
14+
steps:
15+
- uses: actions/checkout@v3
16+
- uses: actions/setup-node@v3
17+
with:
18+
node-version: 18
19+
cache: npm
20+
- run: npm install
21+
env:
22+
SKIP_PREPARE: true
23+
- run: npm run build
24+
env:
25+
PUBLISH: true
26+
- name: Upload build assets
27+
id: upload-artifact
28+
uses: actions/upload-artifact@v3
29+
with:
30+
name: build-assets
31+
path: |
32+
index.*
33+
compiler.*
34+
ssr.*
35+
action/
36+
animate/
37+
easing/
38+
internal/
39+
motion/
40+
store/
41+
transition/
42+
types/
443
Tests:
44+
needs: Setup
545
runs-on: ${{ matrix.os }}
646
timeout-minutes: 15
747
strategy:
848
matrix:
9-
node-version: [8, 10, 12, 14, 16]
49+
node-version: [8, 10, 12, 14, 16, 18]
1050
os: [ubuntu-latest, windows-latest, macOS-latest]
1151
steps:
12-
- uses: actions/checkout@v1
13-
- uses: actions/setup-node@v2
52+
- uses: actions/checkout@v3
53+
- uses: actions/setup-node@v3
1454
with:
1555
node-version: ${{ matrix.node-version }}
1656
cache: npm
57+
- name: Download build assets
58+
uses: actions/download-artifact@v3
59+
id: download-artifact
60+
with:
61+
name: build-assets
62+
- name: Get Node version ${{ runner.os }}
63+
run: echo "NODE_VERSION=`node --version`" >> $GITHUB_ENV
64+
if: runner.os != 'Windows'
65+
- name: Get Node version ${{ runner.os }}
66+
run: |
67+
chcp 65001
68+
echo ("NODE_VERSION=$(node --version)") >> $env:GITHUB_ENV
69+
if: runner.os == 'Windows'
70+
- run: npm install --save-dev puppeteer@13
71+
if: ${{ runner.os == 'Linux' && (!startsWith(env.NODE_VERSION, 'v8.') && !startsWith(env.NODE_VERSION, 'v10.')) }}
1772
- run: npm install
18-
- run: npm test
73+
env:
74+
SKIP_PREPARE: true
75+
- run: npm run test:integration
1976
env:
2077
CI: true
2178
Lint:
2279
runs-on: ubuntu-latest
2380
timeout-minutes: 5
2481
steps:
25-
- uses: actions/checkout@v1
26-
- uses: actions/setup-node@v2
82+
- uses: actions/checkout@v3
83+
- uses: actions/setup-node@v3
2784
with:
2885
cache: npm
2986
- run: 'npm i && npm run lint'
@@ -34,8 +91,11 @@ jobs:
3491
matrix:
3592
os: [ubuntu-latest, windows-latest, macOS-latest]
3693
steps:
37-
- uses: actions/checkout@v1
38-
- uses: actions/setup-node@v2
94+
- uses: actions/checkout@v3
95+
- uses: actions/setup-node@v3
3996
with:
4097
cache: npm
41-
- run: 'npm i && npm run test:unit'
98+
- run: npm install
99+
env:
100+
SKIP_PREPARE: true
101+
- run: npm run test:unit

.github/workflows/docs.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ on:
77
paths:
88
- site/content/**
99

10+
permissions: {}
11+
1012
jobs:
1113
release:
1214
name: Deploy docs
@@ -25,4 +27,4 @@ jobs:
2527
repo: 'svelte'
2628
branch: 'master'
2729
docs_path: 'site/content'
28-
token: ${{ steps.github-app.outputs.token }}
30+
token: ${{ steps.github-app.outputs.token }}

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
.idea
22
.DS_Store
3-
.nyc_output
43
.vscode
54
node_modules
65
*.map
@@ -22,3 +21,4 @@ node_modules
2221
_actual*.*
2322
_output
2423
/types
24+
.eslintcache

.mocharc.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1+
const is_unit_test = process.env.UNIT_TEST;
2+
13
module.exports = {
2-
file: [
3-
'test/test.ts'
4-
],
4+
file: is_unit_test ? [] : ['test/test.ts'],
55
require: [
66
'sucrase/register'
77
]

.mocharc.unit.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
module.exports = {
2+
spec: [
3+
'src/**/__test__.ts',
4+
],
5+
require: [
6+
'sucrase/register'
7+
],
8+
recursive: true,
9+
};
10+
11+
// add coverage options when running 'npx c8 mocha'
12+
if (process.env.NODE_V8_COVERAGE) {
13+
module.exports.fullTrace = true;
14+
module.exports.require.push('source-map-support/register');
15+
}

CHANGELOG.md

Lines changed: 152 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,157 @@
11
# Svelte changelog
22

3-
## 3.47.0 (Unreleased)
3+
## Unreleased
4+
5+
* Add a11y warnings:
6+
* `aria-activedescendant-has-tabindex`: elements with `aria-activedescendant` need to have a `tabindex` ([#8172](https://github.com/sveltejs/svelte/pull/8172))
7+
* `role-supports-aria-props`: checks that the (implicit) element role supports the given aria attributes ([#8195](https://github.com/sveltejs/svelte/pull/8195))
8+
* Omit a11y warning on `<video>` tags with `aria-hidden="true"` ([#7874](https://github.com/sveltejs/svelte/issues/7874))
9+
* Omit a11y "no child content" warning on elements with `aria-label` ([#8299](https://github.com/sveltejs/svelte/pull/8299))
10+
* Make `noreferrer` warning less zealous ([#6289](https://github.com/sveltejs/svelte/issues/6289))
11+
* `trusted-types` CSP compatibility for Web Components ([#8134](https://github.com/sveltejs/svelte/issues/8134))
12+
* Add `data-sveltekit-replacestate` and `data-sveltekit-keepfocus` attribute typings ([#8281](https://github.com/sveltejs/svelte/issues/8281))
13+
* Don't throw when calling `unsubscribe` twice ([#8186](https://github.com/sveltejs/svelte/pull/8186))
14+
* Detect unused empty attribute CSS selectors ([#8042](https://github.com/sveltejs/svelte/issues/8042))
15+
* Simpler output for reactive statements if dependencies are all static ([#7942](https://github.com/sveltejs/svelte/pull/7942))
16+
* Flush remaining `afterUpdate` calls before `onDestroy` ([#7476](https://github.com/sveltejs/svelte/issues/7476))
17+
* Check value equality for `input` types `url` and `search` ([#7027](https://github.com/sveltejs/svelte/issues/7027))
18+
* Compute node dimensions directly before crossfading ([#4111](https://github.com/sveltejs/svelte/issues/4111))
19+
* Add `readonly` method to convert `writable` store to readonly ([#6518](https://github.com/sveltejs/svelte/pull/6518))
20+
* Ensure `bind:offsetHeight` updates initially ([#4233](https://github.com/sveltejs/svelte/issues/4233))
21+
* Better handling of `inert` attribute ([#7500](https://github.com/sveltejs/svelte/issues/7500))
22+
* Clear inputs when `bind:group` to `undefined` ([#8214](https://github.com/sveltejs/svelte/issues/8214))
23+
* Ensure nested arrays can change at the same time ([#8282](https://github.com/sveltejs/svelte/issues/8282))
24+
* Reduce use of template literals in SSR output for better performance ([#7539](https://github.com/sveltejs/svelte/pull/7539))
25+
* Allow assigning to property of const while destructuring ([#7964](https://github.com/sveltejs/svelte/issues/7964))
26+
* Don't set selected options if value is unbound or not passed ([#5644](https://github.com/sveltejs/svelte/issues/5644))
27+
* Ensure `<input>` value persists when swapping elements with spread attributes in an `#each` block ([#7578](https://github.com/sveltejs/svelte/issues/7578))
28+
* Select first enabled option by default when initial value is undefined ([#7041](https://github.com/sveltejs/svelte/issues/7041))
29+
* Fix race condition on `svelte:element` with transitions ([#7948](https://github.com/sveltejs/svelte/issues/7948))
30+
31+
## 3.55.1
32+
33+
* Fix `draw` transition with delay showing a dot at the beginning of the path ([#6816](https://github.com/sveltejs/svelte/issues/6816))
34+
* Fix infinity runtime call stack when propagating bindings ([#7032](https://github.com/sveltejs/svelte/issues/7032))
35+
* Fix static `<svelte:element>` optimization in production mode ([#7937](https://github.com/sveltejs/svelte/issues/7937))
36+
* Fix `svelte-ignore` comment breaking named slot ([#8075](https://github.com/sveltejs/svelte/issues/8075))
37+
* Revert change to prevent running init binding unnecessarily ([#8103](https://github.com/sveltejs/svelte/issues/8103))
38+
* Fix adding duplicate event listeners with `<svelte:element on:event>` ([#8129](https://github.com/sveltejs/svelte/issues/8129))
39+
* Improve detection of promises that are also functions ([#8162](https://github.com/sveltejs/svelte/pull/8162))
40+
* Avoid mutating spread component props during SSR ([#8171](https://github.com/sveltejs/svelte/issues/8171))
41+
* Add missing typing for global `part` attribute ([#8181](https://github.com/sveltejs/svelte/issues/8181))
42+
* Add missing `submitter` property to `on:submit` event type
43+
44+
## 3.55.0
45+
46+
* Add `svelte/elements` for HTML/Svelte typings ([#7649](https://github.com/sveltejs/svelte/pull/7649))
47+
48+
## 3.54.0
49+
50+
* Pass `options.direction` argument to custom transition functions ([#3918](https://github.com/sveltejs/svelte/issues/3918))
51+
* Support fallback a11y WAI-ARIA roles ([#8044](https://github.com/sveltejs/svelte/issues/8044))
52+
* Prevent running init binding unnecessarily ([#5689](https://github.com/sveltejs/svelte/issues/5689), [#6298](https://github.com/sveltejs/svelte/issues/6298))
53+
* Allow updating variables from `@const` declared function ([#7843](https://github.com/sveltejs/svelte/issues/7843))
54+
* Do not emit `a11y-no-noninteractive-tabindex` warning if element has a `tabpanel` ([#8025](https://github.com/sveltejs/svelte/pull/8025))
55+
* Fix escaping SSR'd values in `style:` directive ([#8085](https://github.com/sveltejs/svelte/issues/8085))
56+
57+
## 3.53.1
58+
59+
* Fix exception in `rel=` attribute check with dynamic values ([#7994](https://github.com/sveltejs/svelte/issues/7994))
60+
* Do not emit deprecation warnings for `css` compiler options for now ([#8009](https://github.com/sveltejs/svelte/issues/8009))
61+
* Make compiler run in browser again ([#8010](https://github.com/sveltejs/svelte/issues/8010))
62+
* Upgrade `tslib` ([#8013](https://github.com/sveltejs/svelte/issues/8013))
63+
64+
## 3.53.0
65+
66+
* Check whether `parentNode` exists before removing child ([#6037](https://github.com/sveltejs/svelte/issues/6037))
67+
* Upgrade various dependencies, notably `css-tree` to `2.2.1` ([#7572](https://github.com/sveltejs/svelte/pull/7572), [#7982](https://github.com/sveltejs/svelte/pull/7982))
68+
* Extend `css` compiler option with `'external' | 'injected' | 'none'` settings and deprecate old `true | false` values ([#7914](https://github.com/sveltejs/svelte/pull/7914))
69+
70+
## 3.52.0
71+
72+
* Throw compile-time error when attempting to update `const` variable ([#4895](https://github.com/sveltejs/svelte/issues/4895))
73+
* Warn when using `<a target="_blank">` without `rel="noreferrer"` ([#6188](https://github.com/sveltejs/svelte/issues/6188))
74+
* Support `style:foo|important` modifier ([#7365](https://github.com/sveltejs/svelte/issues/7365))
75+
* Fix hydration regression with `{@html}` and components in `<svelte:head>` ([#7941](https://github.com/sveltejs/svelte/pull/7941))
76+
77+
## 3.51.0
78+
79+
* Add a11y warnings:
80+
* `a11y-click-events-have-key-events`: check if click event is accompanied by key events ([#5073](https://github.com/sveltejs/svelte/pull/5073))
81+
* `a11y-no-noninteractive-tabindex`: check for tabindex on non-interactive elements ([#6693](https://github.com/sveltejs/svelte/pull/6693))
82+
* Warn when two-way binding to `{...rest}` object in `{#each}` block ([#6860](https://github.com/sveltejs/svelte/issues/6860))
83+
* Support `--style-props` on `<svelte:component>` ([#7461](https://github.com/sveltejs/svelte/issues/7461))
84+
* Supports nullish values for component event handlers ([#7568](https://github.com/sveltejs/svelte/issues/7568))
85+
* Supports SVG elements with `<svelte:element>`([#7613](https://github.com/sveltejs/svelte/issues/7613))
86+
* Treat `inert` as boolean attribute ([#7785](https://github.com/sveltejs/svelte/pull/7785))
87+
* Support `--style-props` for SVG components ([#7808](https://github.com/sveltejs/svelte/issues/7808))
88+
* Fix false positive dev warnings about unset props when they are bound ([#4457](https://github.com/sveltejs/svelte/issues/4457))
89+
* Fix hydration with `{@html}` and components in `<svelte:head>` ([#4533](https://github.com/sveltejs/svelte/issues/4533), [#6463](https://github.com/sveltejs/svelte/issues/6463), [#7444](https://github.com/sveltejs/svelte/issues/7444))
90+
* Support scoped style for `<svelte:element>` ([#7443](https://github.com/sveltejs/svelte/issues/7443))
91+
* Improve error message for invalid value for `<svelte:component this={...}>` ([#7550](https://github.com/sveltejs/svelte/issues/7550))
92+
* Improve error message when using logic blocks or tags at invalid location ([#7552](https://github.com/sveltejs/svelte/issues/7552))
93+
* Warn instead of throwing error if `<svelte:element>` is a void tag ([#7566](https://github.com/sveltejs/svelte/issues/7566))
94+
* Supports custom elements in `<svelte:element>` ([#7733](https://github.com/sveltejs/svelte/issues/7733))
95+
* Fix calling component unmount if a component is mounted and then immediately unmounted ([#7817](https://github.com/sveltejs/svelte/issues/7817))
96+
* Do not generate `a11y-role-has-required-aria-props` warning when elements match their semantic role ([#7837](https://github.com/sveltejs/svelte/issues/7837))
97+
* Improve performance of custom element data setting in `<svelte:element>` ([#7869](https://github.com/sveltejs/svelte/pull/7869))
98+
99+
## 3.50.1
100+
101+
* Add all global objects and functions as known globals ([#3805](https://github.com/sveltejs/svelte/issues/3805), [#7223](https://github.com/sveltejs/svelte/issues/7223))
102+
* Fix regression with style manager ([#7828](https://github.com/sveltejs/svelte/issues/7828))
103+
104+
## 3.50.0
105+
106+
* Add a11y warnings:
107+
* `a11y-incorrect-aria-attribute-type`: check ARIA state and property values ([#6978](https://github.com/sveltejs/svelte/pull/6978))
108+
* `a11y-no-abstract-role`: check that ARIA roles are non-abstract ([#6241](https://github.com/sveltejs/svelte/pull/6241))
109+
* `a11y-no-interactive-element-to-noninteractive-role`: check for non-interactive roles used on interactive elements ([#5955](https://github.com/sveltejs/svelte/pull/5955))
110+
* `a11y-role-has-required-aria-props`: check that elements with `role` attribute have all required attributes for that role ([#5852](https://github.com/sveltejs/svelte/pull/5852))
111+
* Add `ComponentEvents` convenience type ([#7702](https://github.com/sveltejs/svelte/pull/7702))
112+
* Add `SveltePreprocessor` utility type ([#7742](https://github.com/sveltejs/svelte/pull/7742))
113+
* Enhance action typings ([#7805](https://github.com/sveltejs/svelte/pull/7805))
114+
* Remove empty stylesheets created from transitions ([#4801](https://github.com/sveltejs/svelte/issues/4801), [#7164](https://github.com/sveltejs/svelte/issues/7164))
115+
* Make `a11y-label-has-associated-control` warning check all descendants for input control ([#5528](https://github.com/sveltejs/svelte/issues/5528))
116+
* Only show lowercase component name warnings for non-HTML/SVG elements ([#5712](https://github.com/sveltejs/svelte/issues/5712))
117+
* Disallow invalid CSS selectors starting with a combinator ([#7643](https://github.com/sveltejs/svelte/issues/7643))
118+
* Use `Node.parentNode` instead of `Node.parentElement` for legacy browser support ([#7723](https://github.com/sveltejs/svelte/issues/7723))
119+
* Handle arrow function on `<slot>` inside `<svelte:fragment>` ([#7485](https://github.com/sveltejs/svelte/issues/7485))
120+
* Improve parsing speed when encountering large blocks of whitespace ([#7675](https://github.com/sveltejs/svelte/issues/7675))
121+
* Fix `class:` directive updates in aborted/restarted transitions ([#7764](https://github.com/sveltejs/svelte/issues/7764))
122+
123+
## 3.49.0
124+
125+
* Improve performance of string escaping during SSR ([#5701](https://github.com/sveltejs/svelte/pull/5701))
126+
* Add `ComponentType` and `ComponentProps` convenience types ([#6770](https://github.com/sveltejs/svelte/pull/6770))
127+
* Add support for CSS `@layer` ([#7504](https://github.com/sveltejs/svelte/issues/7504))
128+
* Export `CompileOptions` from `svelte/compiler` ([#7658](https://github.com/sveltejs/svelte/pull/7658))
129+
* Fix DOM-less components not being properly destroyed ([#7488](https://github.com/sveltejs/svelte/issues/7488))
130+
* Fix `class:` directive updates with `<svelte:element>` ([#7521](https://github.com/sveltejs/svelte/issues/7521), [#7571](https://github.com/sveltejs/svelte/issues/7571))
131+
* Harden attribute escaping during SSR ([#7530](https://github.com/sveltejs/svelte/pull/7530))
132+
133+
## 3.48.0
134+
135+
* Allow creating cancelable custom events with `createEventDispatcher` ([#4623](https://github.com/sveltejs/svelte/issues/4623))
136+
* Support `{@const}` tag in `{#if}` blocks [#7241](https://github.com/sveltejs/svelte/issues/7241)
137+
* Return the context object in `setContext` [#7427](https://github.com/sveltejs/svelte/issues/7427)
138+
* Allow comments inside `{#each}` blocks when using `animate:` ([#3999](https://github.com/sveltejs/svelte/issues/3999))
139+
* Fix `|local` transitions in `{#key}` blocks ([#5950](https://github.com/sveltejs/svelte/issues/5950))
140+
* Support svg namespace for `{@html}` ([#7002](https://github.com/sveltejs/svelte/issues/7002), [#7450](https://github.com/sveltejs/svelte/issues/7450))
141+
* Fix `{@const}` tag not working inside a component when there's no `let:` [#7189](https://github.com/sveltejs/svelte/issues/7189)
142+
* Remove extraneous leading newline inside `<pre>` and `<textarea>` ([#7264](https://github.com/sveltejs/svelte/issues/7264))
143+
* Fix erroneous setting of `textContent` for `<template>` elements ([#7297](https://github.com/sveltejs/svelte/pull/7297))
144+
* Fix value of `let:` bindings not updating in certain cases ([#7440](https://github.com/sveltejs/svelte/issues/7440))
145+
* Fix handling of void tags in `<svelte:element>` ([#7449](https://github.com/sveltejs/svelte/issues/7449))
146+
* Fix handling of boolean attributes in `<svelte:element>` ([#7478](https://github.com/sveltejs/svelte/issues/7478))
147+
* Add special style scoping handling of `[open]` selectors on `<dialog>` elements ([#7495](https://github.com/sveltejs/svelte/issues/7494))
148+
149+
## 3.47.0
4150

5-
* Add `Symbol` as a known global ([#7419](https://github.com/sveltejs/svelte/pull/7419))
6-
* Fix `{#key}` block not reactive when the key variable is not being used ([#7422](https://github.com/sveltejs/svelte/pull/7422))
7151
* Add support for dynamic elements through `<svelte:element>` ([#2324](https://github.com/sveltejs/svelte/issues/2324))
152+
* Miscellaneous variable context fixes in `{@const}` ([#7222](https://github.com/sveltejs/svelte/pull/7222))
153+
* Fix `{#key}` block not being reactive when the key variable is not otherwise used ([#7408](https://github.com/sveltejs/svelte/issues/7408))
154+
* Add `Symbol` as a known global ([#7418](https://github.com/sveltejs/svelte/issues/7418))
8155

9156
## 3.46.6
10157

@@ -919,7 +1066,7 @@ Also:
9191066

9201067
## 3.5.1
9211068

922-
* Accommodate webpack idiosyncracies
1069+
* Accommodate webpack idiosyncrasies
9231070

9241071
## 3.5.0
9251072

@@ -1121,7 +1268,7 @@ Also:
11211268
## 2.12.0
11221269

11231270
* Initialise actions on mount rather than hydrate ([#1653](https://github.com/sveltejs/svelte/pull/1653))
1124-
* Allow non-existent components to be destroyed ([#1677](https://github.com/sveltejs/svelte/pull/1677))
1271+
* Allow nonexistent components to be destroyed ([#1677](https://github.com/sveltejs/svelte/pull/1677))
11251272
* Pass AMD ID from CLI correctly ([#1672](https://github.com/sveltejs/svelte/pull/1672))
11261273
* Minor AST tweaks ([#1673](https://github.com/sveltejs/svelte/pull/1673), [#1674](https://github.com/sveltejs/svelte/pull/1674))
11271274
* Reduce code duplication in component initialisation ([#1670](https://github.com/sveltejs/svelte/pull/1670))

0 commit comments

Comments
 (0)