Skip to content

Commit 232cfa4

Browse files
authored
test(resolve): add glob pattern sideEffects field test (vitejs#20302)
1 parent 083ff36 commit 232cfa4

File tree

8 files changed

+29
-0
lines changed

8 files changed

+29
-0
lines changed

playground/resolve/__tests__/resolve.spec.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,3 +256,10 @@ test.runIf(isBuild)('public dir is not copied', async () => {
256256
test('import utf8-bom package', async () => {
257257
expect(await page.textContent('.utf8-bom-package')).toMatch('[success]')
258258
})
259+
260+
test.runIf(isBuild)('sideEffects field glob pattern is respected', async () => {
261+
const sideEffectValues = await page.evaluate(
262+
() => (window as any).__SIDE_EFFECT,
263+
)
264+
expect(sideEffectValues).toStrictEqual(['success'])
265+
})

playground/resolve/index.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -411,6 +411,8 @@ <h2>utf8-bom-package</h2>
411411

412412
import { msg as utf8BomPackage } from '@vitejs/test-utf8-bom-package'
413413
text('.utf8-bom-package', utf8BomPackage)
414+
415+
import '@vitejs/test-resolve-side-effects-glob'
414416
</script>
415417

416418
<style>

playground/resolve/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
"@vitejs/test-resolve-linked": "workspace:*",
4242
"@vitejs/test-resolve-imports-pkg": "link:./imports-path/other-pkg",
4343
"@vitejs/test-resolve-sharp-dir": "link:./sharp-dir",
44+
"@vitejs/test-resolve-side-effects-glob": "link:./side-effects-glob",
4445
"@vitejs/test-utf8-bom-package": "link:./utf8-bom-package"
4546
}
4647
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
;(window.__SIDE_EFFECT ||= []).push('success')
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
import './effects/file.js'
2+
import './no-effect.js'
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
;(window.__SIDE_EFFECT ||= []).push('failure')
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"name": "@vitejs/test-resolve-side-effects-glob",
3+
"version": "1.0.0",
4+
"type": "module",
5+
"main": "index.js",
6+
"sideEffects": [
7+
"index.js",
8+
"effects/*"
9+
]
10+
}

pnpm-lock.yaml

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)