Skip to content

Commit 298d419

Browse files
authored
chore: make tests pass with rollup4 (#271)
1 parent c60119f commit 298d419

File tree

4 files changed

+23
-19
lines changed

4 files changed

+23
-19
lines changed

packages/plugin-vue/src/index.ts

+5-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import type {
99
SFCTemplateCompileOptions,
1010
} from 'vue/compiler-sfc'
1111
import type * as _compiler from 'vue/compiler-sfc'
12+
import type { ExistingRawSourceMap } from 'rollup'
1213
/* eslint-enable import/no-duplicates */
1314
import { computed, shallowRef } from 'vue'
1415
import { version } from '../package.json'
@@ -259,10 +260,13 @@ export default function vuePlugin(rawOptions: Options = {}): Plugin {
259260
refTransformFilter.value(filename) &&
260261
options.value.compiler.shouldTransformRef(code)
261262
) {
262-
return options.value.compiler.transformRef(code, {
263+
const result = options.value.compiler.transformRef(code, {
263264
filename,
264265
sourceMap: true,
265266
})
267+
return result as Omit<typeof result, 'map'> & {
268+
map: ExistingRawSourceMap | null
269+
}
266270
}
267271
return
268272
}

playground/ssr-vue/__tests__/ssr-vue.spec.ts

+15-15
Original file line numberDiff line numberDiff line change
@@ -41,16 +41,16 @@ test('/about', async () => {
4141
if (isBuild) {
4242
// assert correct preload directive generation for async chunks and CSS
4343
expect(aboutHtml).not.toMatch(
44-
/link rel="modulepreload".*?href="\/test\/assets\/Home-\w{8}\.js"/,
44+
/link rel="modulepreload".*?href="\/test\/assets\/Home-[-\w]{8}\.js"/,
4545
)
4646
expect(aboutHtml).not.toMatch(
47-
/link rel="stylesheet".*?href="\/test\/assets\/Home-\w{8}\.css"/,
47+
/link rel="stylesheet".*?href="\/test\/assets\/Home-[-\w]{8}\.css"/,
4848
)
4949
expect(aboutHtml).toMatch(
50-
/link rel="modulepreload".*?href="\/test\/assets\/About-\w{8}\.js"/,
50+
/link rel="modulepreload".*?href="\/test\/assets\/About-[-\w]{8}\.js"/,
5151
)
5252
expect(aboutHtml).toMatch(
53-
/link rel="stylesheet".*?href="\/test\/assets\/About-\w{8}\.css"/,
53+
/link rel="stylesheet".*?href="\/test\/assets\/About-[-\w]{8}\.css"/,
5454
)
5555
}
5656
})
@@ -72,13 +72,13 @@ test('/external', async () => {
7272
if (isBuild) {
7373
// assert correct preload directive generation for async chunks and CSS
7474
expect(externalHtml).not.toMatch(
75-
/link rel="modulepreload".*?href="\/test\/assets\/Home-\w{8}\.js"/,
75+
/link rel="modulepreload".*?href="\/test\/assets\/Home-[-\w]{8}\.js"/,
7676
)
7777
expect(externalHtml).not.toMatch(
78-
/link rel="stylesheet".*?href="\/test\/assets\/Home-\w{8}\.css"/,
78+
/link rel="stylesheet".*?href="\/test\/assets\/Home-[-\w]{8}\.css"/,
7979
)
8080
expect(externalHtml).toMatch(
81-
/link rel="modulepreload".*?href="\/test\/assets\/External-\w{8}\.js"/,
81+
/link rel="modulepreload".*?href="\/test\/assets\/External-[-\w]{8}\.js"/,
8282
)
8383
}
8484
})
@@ -97,23 +97,23 @@ test('/', async () => {
9797
if (isBuild) {
9898
// assert correct preload directive generation for async chunks and CSS
9999
expect(html).toMatch(
100-
/link rel="modulepreload".*?href="\/test\/assets\/Home-\w{8}\.js"/,
100+
/link rel="modulepreload".*?href="\/test\/assets\/Home-[-\w]{8}\.js"/,
101101
)
102102
expect(html).toMatch(
103-
/link rel="stylesheet".*?href="\/test\/assets\/Home-\w{8}\.css"/,
103+
/link rel="stylesheet".*?href="\/test\/assets\/Home-[-\w]{8}\.css"/,
104104
)
105105
// JSX component preload registration
106106
expect(html).toMatch(
107-
/link rel="modulepreload".*?href="\/test\/assets\/Foo-\w{8}\.js"/,
107+
/link rel="modulepreload".*?href="\/test\/assets\/Foo-[-\w]{8}\.js"/,
108108
)
109109
expect(html).toMatch(
110-
/link rel="stylesheet".*?href="\/test\/assets\/Foo-\w{8}\.css"/,
110+
/link rel="stylesheet".*?href="\/test\/assets\/Foo-[-\w]{8}\.css"/,
111111
)
112112
expect(html).not.toMatch(
113-
/link rel="modulepreload".*?href="\/test\/assets\/About-\w{8}\.js"/,
113+
/link rel="modulepreload".*?href="\/test\/assets\/About-[-\w]{8}\.js"/,
114114
)
115115
expect(html).not.toMatch(
116-
/link rel="stylesheet".*?href="\/test\/assets\/About-\w{8}\.css"/,
116+
/link rel="stylesheet".*?href="\/test\/assets\/About-[-\w]{8}\.css"/,
117117
)
118118
}
119119
})
@@ -139,7 +139,7 @@ test('asset', async () => {
139139
})
140140
const img = await page.$('img')
141141
expect(await img.getAttribute('src')).toMatch(
142-
isBuild ? /\/test\/assets\/logo-\w{8}\.png/ : '/src/assets/logo.png',
142+
isBuild ? /\/test\/assets\/logo-[-\w]{8}\.png/ : '/src/assets/logo.png',
143143
)
144144
})
145145

@@ -200,7 +200,7 @@ test.runIf(isBuild)('dynamic css file should be preloaded', async () => {
200200
await page.goto(url)
201201
const homeHtml = await (await fetch(url)).text()
202202
const re =
203-
/link rel="modulepreload".*?href="\/test\/assets\/(Home-\w{8}\.js)"/
203+
/link rel="modulepreload".*?href="\/test\/assets\/(Home-[-\w]{8}\.js)"/
204204
const filename = re.exec(homeHtml)[1]
205205
const manifest = (
206206
await import(

playground/vue-server-origin/__tests__/vue-server-origin.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { isBuild, page } from '~utils'
33

44
test('should render', async () => {
55
const expected = isBuild
6-
? /assets\/asset-[\da-f]+\.png/
6+
? /assets\/asset-[-\w]+\.png/
77
: 'http://localhost/server-origin/test/assets/asset.png'
88

99
expect(await page.getAttribute('img', 'src')).toMatch(expected)

playground/vue/__tests__/vue.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ describe('css modules', () => {
127127

128128
describe('asset reference', () => {
129129
const assetMatch = isBuild
130-
? /\/assets\/asset-\w{8}\.png/
130+
? /\/assets\/asset-[-\w]{8}\.png/
131131
: '/assets/asset.png'
132132

133133
test('should not 404', () => {
@@ -164,7 +164,7 @@ describe('asset reference', () => {
164164

165165
test('relative url from <style>', async () => {
166166
const assetMatch = isBuild
167-
? /\/assets\/asset-\w{8}\.png/
167+
? /\/assets\/asset-[-\w]{8}\.png/
168168
: '/assets/asset.png'
169169
expect(await getBg('.relative-style-url')).toMatch(assetMatch)
170170
})

0 commit comments

Comments
 (0)