Skip to content

Commit edec764

Browse files
eltigerchinodominikgdummdidumm
authored
chore: add tests for treeshaking (#13909)
* add tests * format * Update packages/kit/test/apps/basics/src/routes/treeshaking/dev/+page.svelte Co-authored-by: Dominik G. <dominik.goepel@gmx.de> * Update packages/kit/test/apps/basics/src/routes/treeshaking/browser/+page.svelte Co-authored-by: Dominik G. <dominik.goepel@gmx.de> * fix * ok this is the one * Update server.test.js --------- Co-authored-by: Dominik G. <dominik.goepel@gmx.de> Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
1 parent 5e58ca0 commit edec764

File tree

3 files changed

+48
-0
lines changed

3 files changed

+48
-0
lines changed
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<script>
2+
import { browser } from '$app/environment';
3+
</script>
4+
5+
<p>
6+
{browser ? 'client' : 'server'}
7+
</p>
8+
<p>
9+
negated: {!browser ? 'server' : 'client'}
10+
</p>
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<script>
2+
import { dev } from '$app/environment';
3+
</script>
4+
5+
<p>{dev ? 'not prod' : 'prod'}</p>
6+
<p>negated: {!dev ? 'prod' : 'not prod'}</p>

packages/kit/test/apps/basics/test/server.test.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@ import process from 'node:process';
22
import { expect } from '@playwright/test';
33
import { test } from '../../../utils.js';
44
import { createHash, randomBytes } from 'node:crypto';
5+
import fs from 'node:fs';
6+
import { fileURLToPath } from 'node:url';
7+
import path from 'node:path';
58

69
/** @typedef {import('@playwright/test').Response} Response */
710

@@ -736,3 +739,32 @@ test.describe('$app/forms', () => {
736739
expect(await response.json()).toEqual({ data: 'It works!' });
737740
});
738741
});
742+
743+
const root = path.resolve(fileURLToPath(import.meta.url), '..', '..');
744+
745+
test.describe('$app/environment', () => {
746+
test('treeshakes dev check', async () => {
747+
test.skip(!!process.env.DEV, 'skip when in dev mode');
748+
749+
const code = fs.readFileSync(
750+
path.join(root, '.svelte-kit/output/server/entries/pages/treeshaking/dev/_page.svelte.js'),
751+
'utf-8'
752+
);
753+
// check that import { dev } from '$app/environment' is treeshaken
754+
expect(code).not.toContain('dev');
755+
});
756+
757+
test('treeshakes browser check', async () => {
758+
test.skip(!!process.env.DEV, 'skip when in dev mode');
759+
760+
const code = fs.readFileSync(
761+
path.join(
762+
root,
763+
'.svelte-kit/output/server/entries/pages/treeshaking/browser/_page.svelte.js'
764+
),
765+
'utf-8'
766+
);
767+
// check that import { browser } from '$app/environment' is treeshaken
768+
expect(code).not.toContain('browser');
769+
});
770+
});

0 commit comments

Comments
 (0)