Skip to content

Commit c0d3667

Browse files
authored
feat: add *?url&no-inline type and warning for .json?inline / .json?no-inline (#19566)
1 parent c0e68da commit c0d3667

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

packages/vite/client.d.ts

+5
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,11 @@ declare module '*?url&inline' {
265265
export default src
266266
}
267267

268+
declare module '*?url&no-inline' {
269+
const src: string
270+
export default src
271+
}
272+
268273
declare interface VitePreloadErrorEvent extends Event {
269274
payload: Error
270275
}

packages/vite/src/node/plugins/asset.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ export const assetUrlRE = /__VITE_ASSET__([\w$]+)__(?:\$_(.*?)__)?/g
3636

3737
const jsSourceMapRE = /\.[cm]?js\.map$/
3838

39-
const noInlineRE = /[?&]no-inline\b/
40-
const inlineRE = /[?&]inline\b/
39+
export const noInlineRE = /[?&]no-inline\b/
40+
export const inlineRE = /[?&]inline\b/
4141
const svgExtRE = /\.svg(?:$|\?)/
4242

4343
const assetCache = new WeakMap<Environment, Map<string, string>>()

packages/vite/src/node/plugins/json.ts

+9
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { dataToEsm, makeLegalIdentifier } from '@rollup/pluginutils'
1010
import { SPECIAL_QUERY_RE } from '../constants'
1111
import type { Plugin } from '../plugin'
1212
import { stripBomTag } from '../utils'
13+
import { inlineRE, noInlineRE } from './asset'
1314

1415
export interface JsonOptions {
1516
/**
@@ -47,6 +48,14 @@ export function jsonPlugin(
4748
if (!jsonExtRE.test(id)) return null
4849
if (SPECIAL_QUERY_RE.test(id)) return null
4950

51+
if (inlineRE.test(id) || noInlineRE.test(id)) {
52+
this.warn(
53+
`\n` +
54+
`Using ?inline or ?no-inline for JSON imports will have no effect.\n` +
55+
`Please use ?url&inline or ?url&no-inline to control JSON file inlining behavior.\n`,
56+
)
57+
}
58+
5059
json = stripBomTag(json)
5160

5261
try {

0 commit comments

Comments
 (0)