Skip to content

Commit 6a2ca34

Browse files
committed
[enhancement: #14] Compatibility with Vite import.meta
1 parent bd18366 commit 6a2ca34

8 files changed

+38
-27
lines changed

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"private": true,
33
"name": "@rossyman/svelte-add-jest",
4-
"version": "1.3.0",
4+
"version": "1.3.1",
55
"description": "SvelteKit adder for Jest unit testing",
66
"license": "MIT",
77
"keywords": [

preset.ts

+5-2
Original file line numberDiff line numberDiff line change
@@ -166,8 +166,8 @@ class SvelteJestAdder extends Adder {
166166

167167
protected readonly REQUIRED_DEPENDENCIES: Dependencies = {
168168
'@babel/core': {version: '^7.14.0', type: 'DEV'},
169-
'@babel/preset-env': {version: '^7.14.0', type: 'DEV'},
170169
'jest': {version: '^27.0.0', type: 'DEV'},
170+
'babel-plugin-transform-vite-meta-env': {version: '^1.0.1', type: 'DEV'},
171171
'babel-jest': {version: '^27.0.0', type: 'DEV'},
172172
'svelte-jester': {version: '^2.0.1', type: 'DEV'},
173173
'@testing-library/svelte': {version: '^3.0.0', type: 'DEV'},
@@ -243,7 +243,10 @@ class SvelteJestAdder extends Adder {
243243

244244
Preset
245245
.editJson('package.json')
246-
.merge({scripts: {'test': 'NODE_OPTIONS=--experimental-vm-modules jest src --config jest.config.json', 'test:watch': 'npm run test -- --watch'}})
246+
.merge({scripts: {
247+
'test': 'NODE_OPTIONS=--experimental-vm-modules jest src --config jest.config.json',
248+
'test:watch': 'npm run test -- --watch'
249+
}})
247250
.withTitle('Adding test scripts to package.json');
248251

249252
Preset

templates/.babelrc

+2-11
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,3 @@
11
{
2-
"presets": [
3-
[
4-
"@babel/preset-env",
5-
{
6-
"targets": {
7-
"node": "current"
8-
}
9-
}
10-
]
11-
]
12-
}
2+
"plugins": ["babel-plugin-transform-vite-meta-env"]
3+
}

templates/index-dom.spec.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ describe('Index', () => {
2424
describe('once the component has been rendered', () => {
2525

2626
test('should show the proper heading', () => {
27-
expect(renderedComponent.getByText('Welcome to SvelteKit')).toBeInTheDocument();
27+
expect(renderedComponent.getByText('SvelteKit', {exact: false})).toBeInTheDocument();
2828
});
2929

3030
});

templates/index-dom.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ describe('Index', () => {
2424
describe('once the component has been rendered', () => {
2525

2626
test('should show the proper heading', () => {
27-
expect(renderedComponent.getByText('Welcome to SvelteKit')).toBeInTheDocument();
27+
expect(renderedComponent.getByText('SvelteKit', {exact: false})).toBeInTheDocument();
2828
});
2929

3030
});

templates/index.spec.js

+12-5
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
import { render } from '@testing-library/svelte';
2+
import Index from './index.svelte';
3+
4+
/**
5+
* @jest-environment jsdom
6+
*/
7+
18
/**
29
* An example test suite outlining the usage of
310
* `describe()`, `beforeEach()`, `test()` and `expect()`
@@ -7,16 +14,16 @@
714

815
describe('Index', () => {
916

10-
let isTestSuitePassing = false;
17+
let renderedComponent;
1118

1219
beforeEach(() => {
13-
isTestSuitePassing = true;
20+
renderedComponent = render(Index);
1421
});
1522

16-
describe('isTestSuitePassing', () => {
23+
describe('once the component has been rendered', () => {
1724

18-
test('should be true', () => {
19-
expect(isTestSuitePassing).toBe(true);
25+
test('should show the proper heading', () => {
26+
expect(renderedComponent.getByText('SvelteKit', {exact: false})).toBeDefined();
2027
});
2128

2229
});

templates/index.spec.ts

+12-5
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
import { render, RenderResult } from '@testing-library/svelte';
2+
import Index from './index.svelte';
3+
4+
/**
5+
* @jest-environment jsdom
6+
*/
7+
18
/**
29
* An example test suite outlining the usage of
310
* `describe()`, `beforeEach()`, `test()` and `expect()`
@@ -7,16 +14,16 @@
714

815
describe('Index', () => {
916

10-
let isTestSuitePassing = false;
17+
let renderedComponent: RenderResult;
1118

1219
beforeEach(() => {
13-
isTestSuitePassing = true;
20+
renderedComponent = render(Index);
1421
});
1522

16-
describe('isTestSuitePassing', () => {
23+
describe('once the component has been rendered', () => {
1724

18-
test('should be true', () => {
19-
expect(isTestSuitePassing).toBe(true);
25+
test('should show the proper heading', () => {
26+
expect(renderedComponent.getByText('SvelteKit', {exact: false})).toBeDefined();
2027
});
2128

2229
});

templates/jest.config.json

+4-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@
55
},
66
"moduleNameMapper": {
77
"^\\$lib(.*)$": "<rootDir>/src/lib$1",
8-
"^\\$app(.*)$": ["<rootDir>/.svelte-kit/dev/runtime/app$1", "<rootDir>/.svelte-kit/build/runtime/app$1"]
8+
"^\\$app(.*)$": [
9+
"<rootDir>/.svelte-kit/dev/runtime/app$1",
10+
"<rootDir>/.svelte-kit/build/runtime/app$1"
11+
]
912
},
1013
"extensionsToTreatAsEsm": [".svelte"],
1114
"moduleFileExtensions": ["js", "svelte"]

0 commit comments

Comments
 (0)