Skip to content

Commit 50dcf74

Browse files
committed
docs(svelte-testing-library): add Svelte 5 setup instructions for Jest
1 parent b9ae554 commit 50dcf74

File tree

1 file changed

+28
-1
lines changed

1 file changed

+28
-1
lines changed

docs/svelte-testing-library/setup.mdx

+28-1
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ you must use Jest in [ESM mode][jest esm mode].
171171
3. Configure Jest to use jsdom, transform Svelte files, and use your setup file
172172

173173
```js title="jest.config.js"
174-
module.exports = {
174+
export default {
175175
transform: {
176176
'^.+\\.svelte$': 'svelte-jester',
177177
},
@@ -182,6 +182,33 @@ you must use Jest in [ESM mode][jest esm mode].
182182
}
183183
```
184184

185+
:::note
186+
187+
If you are using Svelte 5, you must use `svelte-jester@5` or later, and you
188+
will need to make additional changes to your Jest configuration.
189+
190+
- Update `transform` to compile `.svelte.(js|ts)` modules
191+
- Allow `@testing-library/svelte` to be transformed, even though it's in
192+
`node_modules`
193+
194+
```diff title="jest.config.js"
195+
export default {
196+
transform: {
197+
- '^.+\\.svelte$': 'svelte-jester',
198+
+ '^.+\\.svelte(\\.(js|ts))?$': 'svelte-jester',
199+
},
200+
+ transformIgnorePatterns: [
201+
+ '/node_modules/(?!@testing-library/svelte/)',
202+
+ ],
203+
moduleFileExtensions: ['js', 'svelte'],
204+
extensionsToTreatAsEsm: ['.svelte'],
205+
testEnvironment: 'jsdom',
206+
setupFilesAfterEnv: ['<rootDir>/jest-setup.js'],
207+
}
208+
```
209+
210+
:::
211+
185212
4. Add the following to your `package.json`
186213

187214
```json title="package.json"

0 commit comments

Comments
 (0)