vxrn 1.24.9 → 1.25.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/getBaseVitePlugins.mjs +61 -25
- package/dist/config/getBaseVitePlugins.mjs.map +1 -1
- package/dist/config/getBaseVitePlugins.native.js +61 -25
- package/dist/config/getBaseVitePlugins.native.js.map +1 -1
- package/dist/exports/build.mjs +7 -7
- package/dist/exports/build.mjs.map +1 -1
- package/dist/exports/build.native.js +7 -7
- package/dist/exports/build.native.js.map +1 -1
- package/dist/plugins/resolveIdScan.test.mjs +1 -1
- package/dist/plugins/resolveIdScan.test.mjs.map +1 -1
- package/dist/plugins/resolveIdScan.test.native.js +1 -1
- package/dist/plugins/resolveIdScan.test.native.js.map +1 -1
- package/dist/plugins/serverExtensions.test.mjs +15 -18
- package/dist/plugins/serverExtensions.test.mjs.map +1 -1
- package/dist/plugins/serverExtensions.test.native.js +15 -18
- package/dist/plugins/serverExtensions.test.native.js.map +1 -1
- package/dist/utils/createNativeDevEngine.mjs +1 -1
- package/dist/utils/createNativeDevEngine.mjs.map +1 -1
- package/dist/utils/createNativeDevEngine.native.js +1 -1
- package/dist/utils/createNativeDevEngine.native.js.map +1 -1
- package/dist/utils/patches.mjs +2 -0
- package/dist/utils/patches.mjs.map +1 -1
- package/dist/utils/patches.native.js +2 -0
- package/dist/utils/patches.native.js.map +1 -1
- package/dist/utils/patches.test.mjs +37 -0
- package/dist/utils/patches.test.mjs.map +1 -1
- package/dist/utils/patches.test.native.js +41 -0
- package/dist/utils/patches.test.native.js.map +1 -1
- package/package.json +13 -13
- package/src/config/getBaseVitePlugins.ts +83 -43
- package/src/exports/build.ts +5 -7
- package/src/plugins/resolveIdScan.test.ts +1 -1
- package/src/plugins/serverExtensions.test.ts +24 -20
- package/src/utils/createNativeDevEngine.ts +5 -1
- package/src/utils/patches.test.ts +63 -0
- package/src/utils/patches.ts +17 -0
- package/types/config/getBaseVitePlugins.d.ts.map +1 -1
- package/types/exports/build.d.ts.map +1 -1
- package/types/utils/createNativeDevEngine.d.ts.map +1 -1
- package/types/utils/patches.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FSExtra","join","mkdtemp","rm","symlink","tmpdir","afterEach","beforeEach","describe","expect","it","vi","applyDependencyPatches","moduleToPnpmStorePattern","mock","transformSWC","fn","transformFlowBabel","makePkg","name","version","extras","JSON","stringify","toBe","tmpDir","recursive","force","setupAndPatch","opts","nmDir","ensureDir","setupFs","patches","root","module","patchFiles","package.json","contents","pkg","parse","exports","nm","storePkgDir","writeFile","patchedPkg","readJSON","patchCallCount","index.js","storeDir","symlinkTarget","pnpmHoisted","pkgDir","content","readFile","toContain","v1Dir","v2Dir","v1Content","v2Content"],"sources":["../../src/utils/patches.test.ts"],"sourcesContent":[null],"mappings":"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
|
|
1
|
+
{"version":3,"names":["FSExtra","join","mkdtemp","rm","symlink","tmpdir","afterEach","beforeEach","describe","expect","it","vi","applyDependencyPatches","moduleToPnpmStorePattern","mock","transformSWC","fn","transformFlowBabel","makePkg","name","version","extras","JSON","stringify","toBe","tmpDir","recursive","force","setupAndPatch","opts","nmDir","ensureDir","setupFs","patches","root","module","patchFiles","package.json","contents","pkg","parse","exports","nm","storePkgDir","writeFile","patchedPkg","readJSON","patchCallCount","index.js","storeDir","symlinkTarget","pnpmHoisted","pkgDir","content","readFile","toContain","v1Dir","v2Dir","v1Content","v2Content","warn","spyOn","console","mockImplementation","stale","replace","calls","flat","mockClear","applies","not","mockRestore"],"sources":["../../src/utils/patches.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vxrn",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.25.2",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -62,16 +62,16 @@
|
|
|
62
62
|
"@expo/config-plugins": "~57.0.6",
|
|
63
63
|
"@hono/node-server": "^1.19.14",
|
|
64
64
|
"@react-native/dev-middleware": "^0.86.2",
|
|
65
|
-
"@vxrn/compiler": "1.
|
|
66
|
-
"@vxrn/debug": "1.
|
|
67
|
-
"@vxrn/query-string": "1.
|
|
68
|
-
"@vxrn/resolve": "1.
|
|
69
|
-
"@vxrn/safe-area": "1.
|
|
70
|
-
"@vxrn/url-parse": "1.
|
|
71
|
-
"@vxrn/utils": "1.
|
|
72
|
-
"@vxrn/vendor": "1.
|
|
73
|
-
"@vxrn/vite-flow": "1.
|
|
74
|
-
"@vxrn/vite-plugin-metro": "1.
|
|
65
|
+
"@vxrn/compiler": "1.25.2",
|
|
66
|
+
"@vxrn/debug": "1.25.2",
|
|
67
|
+
"@vxrn/query-string": "1.25.2",
|
|
68
|
+
"@vxrn/resolve": "1.25.2",
|
|
69
|
+
"@vxrn/safe-area": "1.25.2",
|
|
70
|
+
"@vxrn/url-parse": "1.25.2",
|
|
71
|
+
"@vxrn/utils": "1.25.2",
|
|
72
|
+
"@vxrn/vendor": "1.25.2",
|
|
73
|
+
"@vxrn/vite-flow": "1.25.2",
|
|
74
|
+
"@vxrn/vite-plugin-metro": "1.25.2",
|
|
75
75
|
"citty": "^0.1.6",
|
|
76
76
|
"dotenv": "^17.2.1",
|
|
77
77
|
"dotenv-expand": "^12.0.2",
|
|
@@ -89,9 +89,9 @@
|
|
|
89
89
|
"perfect-debounce": "^1.0.0",
|
|
90
90
|
"picocolors": "^1.0.0",
|
|
91
91
|
"pkg-types": "^1.0.3",
|
|
92
|
-
"rolldown": "^1.
|
|
92
|
+
"rolldown": "^1.2.4",
|
|
93
93
|
"semver": "^7.6.3",
|
|
94
|
-
"vite": "^8.
|
|
94
|
+
"vite": "^8.2.2",
|
|
95
95
|
"ws": "^8.21.0"
|
|
96
96
|
},
|
|
97
97
|
"devDependencies": {
|
|
@@ -1,11 +1,25 @@
|
|
|
1
1
|
import { createVXRNCompilerPlugin } from '@vxrn/compiler'
|
|
2
2
|
import { existsSync } from 'node:fs'
|
|
3
|
-
import { extname } from 'node:path'
|
|
3
|
+
import { dirname, extname, resolve } from 'node:path'
|
|
4
4
|
import type { PluginOption } from 'vite'
|
|
5
5
|
import { ssrExtensions, webExtensions } from '../constants'
|
|
6
6
|
|
|
7
7
|
// essentially base web config not base everything
|
|
8
8
|
|
|
9
|
+
// a source that already ends in a js extension: resolve.extensions can't help
|
|
10
|
+
// these, because it only appends to extensionless imports
|
|
11
|
+
const JS_EXTENSION_RE = /\.[cm]?[jt]sx?$/
|
|
12
|
+
// what may reach the resolveId hook below. the `.server` alternative keeps bare
|
|
13
|
+
// `./db.server` imports (no js extension) reaching the server-only stub.
|
|
14
|
+
const PLATFORM_RESOLVE_SOURCE_RE = /(?:\.[cm]?[jt]sx?|\.server)$/
|
|
15
|
+
|
|
16
|
+
const PLATFORM_EXTENSIONS_BY_ENVIRONMENT = {
|
|
17
|
+
client: ['web'],
|
|
18
|
+
ssr: ['server', 'web'],
|
|
19
|
+
ios: ['ios', 'native'],
|
|
20
|
+
android: ['android', 'native'],
|
|
21
|
+
}
|
|
22
|
+
|
|
9
23
|
export function getBaseVitePlugins(): PluginOption[] {
|
|
10
24
|
// cache pathExists results during build (files don't change)
|
|
11
25
|
// skip caching in dev since files can be added/removed
|
|
@@ -54,67 +68,93 @@ export function getBaseVitePlugins(): PluginOption[] {
|
|
|
54
68
|
}
|
|
55
69
|
},
|
|
56
70
|
|
|
57
|
-
load
|
|
58
|
-
|
|
71
|
+
load: {
|
|
72
|
+
filter: { id: /^\0server-only-stub:/ },
|
|
73
|
+
handler(id) {
|
|
59
74
|
const source = id.slice('\0server-only-stub:'.length)
|
|
60
75
|
return `throw new Error("[one] .server file cannot be imported on client: ${source}")`
|
|
61
|
-
}
|
|
76
|
+
},
|
|
62
77
|
},
|
|
63
78
|
|
|
64
|
-
//
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
79
|
+
// vite's resolve.extensions already prefers platform variants for
|
|
80
|
+
// extensionless imports in every environment (webExtensions /
|
|
81
|
+
// ssrExtensions here, getNativeExtensions for ios+android), verified by
|
|
82
|
+
// building with this hook disabled. the only thing left for this hook is
|
|
83
|
+
// an import that already carries an extension, since resolve.extensions
|
|
84
|
+
// only ever appends. so filter to those rust-side, plus bare `.server`
|
|
85
|
+
// which still needs an extension appended to be recognised as a server
|
|
86
|
+
// file. measured on onestack.dev this takes the hook from 25422 calls to
|
|
87
|
+
// 6880.
|
|
88
|
+
resolveId: {
|
|
89
|
+
filter: { id: PLATFORM_RESOLVE_SOURCE_RE },
|
|
90
|
+
async handler(source, importer, options) {
|
|
91
|
+
// Skip during Vite's dependency optimization scan to avoid interfering with dep discovery
|
|
92
|
+
// which can cause hard page reloads when new deps are found during navigation
|
|
93
|
+
// @see https://github.com/remix-run/remix/discussions/8917
|
|
94
|
+
// @ts-expect-error - scan is not in Vite's types but exists at runtime
|
|
95
|
+
if (options?.scan) return
|
|
96
|
+
|
|
97
|
+
// a relative or absolute source that already carries a js extension
|
|
98
|
+
// needs no extension appending, so its target is just the join and we
|
|
99
|
+
// can skip re-entering the whole resolver. that covered 6872 of the
|
|
100
|
+
// 6880 sources reaching this hook, which is the actual cost here: this
|
|
101
|
+
// plugin is enforce:'pre', so every this.resolve() re-ran the resolveId
|
|
102
|
+
// chain of every other plugin.
|
|
103
|
+
let resolvedId: string | undefined
|
|
104
|
+
if (JS_EXTENSION_RE.test(source)) {
|
|
105
|
+
if (source[0] === '/') {
|
|
106
|
+
resolvedId = source
|
|
107
|
+
} else if (source[0] === '.' && importer) {
|
|
108
|
+
resolvedId = resolve(dirname(importer), source)
|
|
109
|
+
}
|
|
110
|
+
}
|
|
78
111
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
112
|
+
if (!resolvedId) {
|
|
113
|
+
const resolved = await this.resolve(source, importer, options)
|
|
114
|
+
if (!resolved) return resolved
|
|
115
|
+
resolvedId = resolved.id
|
|
116
|
+
}
|
|
82
117
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
// dead code branches (e.g. if (process.env.VITE_ENVIRONMENT === 'ssr'))
|
|
86
|
-
// are still resolved by vite's import analysis
|
|
87
|
-
if (this.environment.name !== 'ssr' && /\.server\.\w+$/.test(resolved.id)) {
|
|
88
|
-
return {
|
|
89
|
-
id: `\0server-only-stub:${source}`,
|
|
118
|
+
if (resolvedId.includes('node_modules')) {
|
|
119
|
+
return
|
|
90
120
|
}
|
|
91
|
-
}
|
|
92
121
|
|
|
93
|
-
|
|
94
|
-
//
|
|
95
|
-
|
|
96
|
-
|
|
122
|
+
// resolve .server files to a throwing stub on client/native
|
|
123
|
+
// instead of erroring at build time, since dynamic imports behind
|
|
124
|
+
// dead code branches (e.g. if (process.env.VITE_ENVIRONMENT === 'ssr'))
|
|
125
|
+
// are still resolved by vite's import analysis
|
|
126
|
+
if (this.environment.name !== 'ssr' && /\.server\.\w+$/.test(resolvedId)) {
|
|
127
|
+
return { id: `\0server-only-stub:${source}` }
|
|
128
|
+
}
|
|
97
129
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
ssr: ['server', 'web'],
|
|
101
|
-
ios: ['ios', 'native'],
|
|
102
|
-
android: ['android', 'native'],
|
|
130
|
+
if (process.env.VXRN_SKIP_STRICTER_PLATFORM_RESOLVE) {
|
|
131
|
+
return undefined
|
|
103
132
|
}
|
|
104
133
|
|
|
105
|
-
|
|
134
|
+
// an import that already carries an extension (`./x.js`) still has to
|
|
135
|
+
// prefer a `./x.web.js` sibling, and resolve.extensions only appends to
|
|
136
|
+
// extensionless imports, so this probe can't be replaced by it. see
|
|
137
|
+
// packages/test-package + tests/test/tests/resolving.test.ts
|
|
138
|
+
const jsExtension = extname(resolvedId)
|
|
139
|
+
const withoutExt = resolvedId.slice(0, resolvedId.length - jsExtension.length)
|
|
140
|
+
const platformSpecificExtension =
|
|
141
|
+
PLATFORM_EXTENSIONS_BY_ENVIRONMENT[this.environment.name]
|
|
106
142
|
|
|
107
143
|
if (platformSpecificExtension) {
|
|
108
144
|
for (const platformExtension of platformSpecificExtension) {
|
|
109
145
|
const fullPath = `${withoutExt}.${platformExtension}${jsExtension}`
|
|
110
146
|
if (cachedPathExists(fullPath)) {
|
|
111
|
-
return {
|
|
112
|
-
id: fullPath,
|
|
113
|
-
}
|
|
147
|
+
return { id: fullPath }
|
|
114
148
|
}
|
|
115
149
|
}
|
|
116
150
|
}
|
|
117
|
-
}
|
|
151
|
+
},
|
|
152
|
+
},
|
|
153
|
+
|
|
154
|
+
// adding or deleting a .web/.native sibling changes what a source
|
|
155
|
+
// resolves to, so drop the exists cache when the watcher sees a change
|
|
156
|
+
watchChange() {
|
|
157
|
+
pathExistsCache.clear()
|
|
118
158
|
},
|
|
119
159
|
},
|
|
120
160
|
|
package/src/exports/build.ts
CHANGED
|
@@ -188,13 +188,11 @@ export const build = async (optionsIn: VXRNOptions, buildArgs: BuildArgs = {}) =
|
|
|
188
188
|
name: 'omit-api-routes',
|
|
189
189
|
transform: {
|
|
190
190
|
order: 'pre',
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
return ``
|
|
197
|
-
}
|
|
191
|
+
// both patterns as one rust-side filter, so only api/middleware files
|
|
192
|
+
// cross into js instead of every module in the client bundle
|
|
193
|
+
filter: { id: /(?:\+api|_middleware)\.tsx?$/ },
|
|
194
|
+
handler() {
|
|
195
|
+
return ``
|
|
198
196
|
},
|
|
199
197
|
},
|
|
200
198
|
} satisfies Plugin
|
|
@@ -32,7 +32,7 @@ describe('resolveId hooks should skip during dep optimization scan', () => {
|
|
|
32
32
|
throw new Error('Plugin not found or missing resolveId')
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
const resolveId = plugin.resolveId as Function
|
|
35
|
+
const resolveId = (plugin.resolveId as any).handler as Function
|
|
36
36
|
|
|
37
37
|
// Mock the plugin context
|
|
38
38
|
const mockContext = {
|
|
@@ -39,41 +39,45 @@ function createMockContext(envName: string, resolvedId?: string) {
|
|
|
39
39
|
|
|
40
40
|
describe('platform-specific-resolve', () => {
|
|
41
41
|
describe('.server extension', () => {
|
|
42
|
-
|
|
42
|
+
// extensionless imports are resolved to their platform variant by vite's
|
|
43
|
+
// own resolve.extensions (asserted in 'config extensions' below), so the
|
|
44
|
+
// hook filter drops them before any js runs. this hook now only exists for
|
|
45
|
+
// imports that already carry an extension, which resolve.extensions cannot
|
|
46
|
+
// rewrite because it only appends.
|
|
47
|
+
it('filters out extensionless sources, leaving them to resolve.extensions', async () => {
|
|
43
48
|
const plugin = await getPlatformResolvePlugin()
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
expect(result).toEqual({ id: '/src/db.server.ts' })
|
|
54
|
-
|
|
55
|
-
vi.restoreAllMocks()
|
|
49
|
+
const filter = (plugin.resolveId as any).filter.id as RegExp
|
|
50
|
+
|
|
51
|
+
expect(filter.test('./db')).toBe(false)
|
|
52
|
+
expect(filter.test('react')).toBe(false)
|
|
53
|
+
// still reaches js: already has an extension, or is a bare .server import
|
|
54
|
+
expect(filter.test('./db.js')).toBe(true)
|
|
55
|
+
expect(filter.test('./test-web.js')).toBe(true)
|
|
56
|
+
expect(filter.test('./db.server')).toBe(true)
|
|
56
57
|
})
|
|
57
58
|
|
|
58
|
-
it('
|
|
59
|
+
it('prefers a platform sibling for an import that already has an extension', async () => {
|
|
59
60
|
const plugin = await getPlatformResolvePlugin()
|
|
60
|
-
const resolveId = plugin.resolveId as Function
|
|
61
|
+
const resolveId = (plugin.resolveId as any).handler as Function
|
|
61
62
|
|
|
62
63
|
existsSyncMock.mockImplementation((path: any) => {
|
|
63
64
|
return String(path).includes('.web.')
|
|
64
65
|
})
|
|
65
66
|
|
|
66
|
-
|
|
67
|
-
|
|
67
|
+
// no ctx.resolve call is needed: a relative source with an extension
|
|
68
|
+
// resolves to a path the hook computes directly
|
|
69
|
+
const ctx = createMockContext('client')
|
|
70
|
+
const result = await resolveId.call(ctx, './db.ts', '/src/app.tsx', {})
|
|
68
71
|
|
|
69
72
|
expect(result).toEqual({ id: '/src/db.web.ts' })
|
|
73
|
+
expect(ctx.resolve).not.toHaveBeenCalled()
|
|
70
74
|
|
|
71
75
|
vi.restoreAllMocks()
|
|
72
76
|
})
|
|
73
77
|
|
|
74
78
|
it('stubs .server file when explicitly imported on client', async () => {
|
|
75
79
|
const plugin = await getPlatformResolvePlugin()
|
|
76
|
-
const resolveId = plugin.resolveId as Function
|
|
80
|
+
const resolveId = (plugin.resolveId as any).handler as Function
|
|
77
81
|
|
|
78
82
|
const ctx = createMockContext('client', '/src/db.server.ts')
|
|
79
83
|
|
|
@@ -83,7 +87,7 @@ describe('platform-specific-resolve', () => {
|
|
|
83
87
|
|
|
84
88
|
it('stubs .server file when explicitly imported on ios', async () => {
|
|
85
89
|
const plugin = await getPlatformResolvePlugin()
|
|
86
|
-
const resolveId = plugin.resolveId as Function
|
|
90
|
+
const resolveId = (plugin.resolveId as any).handler as Function
|
|
87
91
|
|
|
88
92
|
const ctx = createMockContext('ios', '/src/db.server.ts')
|
|
89
93
|
|
|
@@ -93,7 +97,7 @@ describe('platform-specific-resolve', () => {
|
|
|
93
97
|
|
|
94
98
|
it('allows .server file import on ssr', async () => {
|
|
95
99
|
const plugin = await getPlatformResolvePlugin()
|
|
96
|
-
const resolveId = plugin.resolveId as Function
|
|
100
|
+
const resolveId = (plugin.resolveId as any).handler as Function
|
|
97
101
|
|
|
98
102
|
existsSyncMock.mockReturnValue(false)
|
|
99
103
|
|
|
@@ -530,7 +530,11 @@ try {
|
|
|
530
530
|
}
|
|
531
531
|
},
|
|
532
532
|
|
|
533
|
-
|
|
533
|
+
// rolldown 1.2 dropped 'auto': the server no longer decides full reloads,
|
|
534
|
+
// so callers pull fresh output explicitly instead. getBundle() below
|
|
535
|
+
// already awaits ensureLatestBuildOutput(), which is that explicit pull,
|
|
536
|
+
// so 'never' keeps the same behavior without rebuilding on every hmr patch.
|
|
537
|
+
rebuildStrategy: 'never',
|
|
534
538
|
watch: {},
|
|
535
539
|
})
|
|
536
540
|
|
|
@@ -273,4 +273,67 @@ describe('applyDependencyPatches', () => {
|
|
|
273
273
|
)
|
|
274
274
|
expect(content).toContain('// marker')
|
|
275
275
|
})
|
|
276
|
+
|
|
277
|
+
it('warns when a patch matches nothing, and stays quiet when it applies', async () => {
|
|
278
|
+
// a patch is a literal string replace against upstream source. when
|
|
279
|
+
// upstream moves the code, the replace silently stops doing anything and
|
|
280
|
+
// whatever it was guarding is quietly unprotected. that is how
|
|
281
|
+
// react-native's RCTTurboModule.mm SIGSEGV patch went dead on RN 0.86.
|
|
282
|
+
const warn = vi.spyOn(console, 'warn').mockImplementation(() => {})
|
|
283
|
+
|
|
284
|
+
const stale: DepPatch[] = [
|
|
285
|
+
{
|
|
286
|
+
module: 'test-pkg',
|
|
287
|
+
patchFiles: {
|
|
288
|
+
'index.js': (contents) => (contents || '').replace('CODE THAT MOVED', 'fixed'),
|
|
289
|
+
},
|
|
290
|
+
},
|
|
291
|
+
]
|
|
292
|
+
|
|
293
|
+
await setupAndPatch({
|
|
294
|
+
patches: stale,
|
|
295
|
+
setupFs: async (nm) => {
|
|
296
|
+
const pkgDir = join(nm, 'test-pkg')
|
|
297
|
+
await FSExtra.ensureDir(pkgDir)
|
|
298
|
+
await FSExtra.writeFile(
|
|
299
|
+
join(pkgDir, 'package.json'),
|
|
300
|
+
makePkg('test-pkg', '1.0.0')
|
|
301
|
+
)
|
|
302
|
+
await FSExtra.writeFile(join(pkgDir, 'index.js'), 'module.exports = {}')
|
|
303
|
+
},
|
|
304
|
+
})
|
|
305
|
+
|
|
306
|
+
expect(warn.mock.calls.flat().join(' ')).toContain('stale')
|
|
307
|
+
warn.mockClear()
|
|
308
|
+
|
|
309
|
+
// a patch that does apply must not warn, or the warning is noise
|
|
310
|
+
const applies: DepPatch[] = [
|
|
311
|
+
{
|
|
312
|
+
module: 'test-pkg',
|
|
313
|
+
patchFiles: {
|
|
314
|
+
'index.js': (contents) =>
|
|
315
|
+
(contents || '').replace(
|
|
316
|
+
'module.exports',
|
|
317
|
+
'globalThis.x = 1; module.exports'
|
|
318
|
+
),
|
|
319
|
+
},
|
|
320
|
+
},
|
|
321
|
+
]
|
|
322
|
+
|
|
323
|
+
await setupAndPatch({
|
|
324
|
+
patches: applies,
|
|
325
|
+
setupFs: async (nm) => {
|
|
326
|
+
const pkgDir = join(nm, 'test-pkg')
|
|
327
|
+
await FSExtra.ensureDir(pkgDir)
|
|
328
|
+
await FSExtra.writeFile(
|
|
329
|
+
join(pkgDir, 'package.json'),
|
|
330
|
+
makePkg('test-pkg', '1.0.0')
|
|
331
|
+
)
|
|
332
|
+
await FSExtra.writeFile(join(pkgDir, 'index.js'), 'module.exports = {}')
|
|
333
|
+
},
|
|
334
|
+
})
|
|
335
|
+
|
|
336
|
+
expect(warn.mock.calls.flat().join(' ')).not.toContain('stale')
|
|
337
|
+
warn.mockRestore()
|
|
338
|
+
})
|
|
276
339
|
})
|
package/src/utils/patches.ts
CHANGED
|
@@ -300,6 +300,23 @@ export async function applyDependencyPatches(
|
|
|
300
300
|
const out = await patchDef(sourceContent)
|
|
301
301
|
if (typeof out === 'string' && out !== sourceContent) {
|
|
302
302
|
patchedContent = out
|
|
303
|
+
} else if (typeof out === 'string') {
|
|
304
|
+
// the patch ran and changed nothing. these patches are
|
|
305
|
+
// literal string replaces against upstream source, so
|
|
306
|
+
// that means the code it targets moved or was rewritten
|
|
307
|
+
// and the patch is now a no-op. silence here is
|
|
308
|
+
// dangerous: react-native's RCTTurboModule.mm patch
|
|
309
|
+
// guards an ios SIGSEGV, and it stopped matching on RN
|
|
310
|
+
// 0.86 without a word, which only turned up because
|
|
311
|
+
// someone read the patch by hand during an upgrade.
|
|
312
|
+
//
|
|
313
|
+
// a patch that doesn't apply says so by returning
|
|
314
|
+
// undefined (`if (contents.includes(x)) return`), so a
|
|
315
|
+
// returned string that equals its input is always a stale
|
|
316
|
+
// patch, never an intentional skip.
|
|
317
|
+
console.warn(
|
|
318
|
+
`[vxrn] patch for ${patch.module} matched nothing in ${relativePath} — it is stale and is no longer protecting anything`
|
|
319
|
+
)
|
|
303
320
|
}
|
|
304
321
|
}
|
|
305
322
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBaseVitePlugins.d.ts","sourceRoot":"","sources":["../../src/config/getBaseVitePlugins.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"getBaseVitePlugins.d.ts","sourceRoot":"","sources":["../../src/config/getBaseVitePlugins.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAmBxC,wBAAgB,kBAAkB,IAAI,YAAY,EAAE,CAgKnD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/exports/build.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAkB,MAAM,UAAU,CAAA;AAaxE,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAuBtD,eAAO,MAAM,KAAK,GAAU,WAAW,WAAW,EAAE,YAAW,SAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAmDzE,CAAC;mBAI+D,CAAC;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/exports/build.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAkB,MAAM,UAAU,CAAA;AAaxE,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAuBtD,eAAO,MAAM,KAAK,GAAU,WAAW,WAAW,EAAE,YAAW,SAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAmDzE,CAAC;mBAI+D,CAAC;;;;;;;;;;;;EAySpE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createNativeDevEngine.d.ts","sourceRoot":"","sources":["../../src/utils/createNativeDevEngine.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAA+B,MAAM,EAAkB,MAAM,UAAU,CAAA;AA0BnF,yFAAyF;AACzF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,EAAE,CAE3D;AAED,UAAU,sBAAsB;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;CAChE;AAED,UAAU,qBAAqB;IAC7B,MAAM,EAAE,GAAG,CAAA;IACX,SAAS,EAAE,MAAM,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC1C,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3B;AAuBD,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,KAAK,GAAG,SAAS,EAC3B,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,MAAM;;;;;;;;EAqHb;AAgGD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOhE;AAoDD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,
|
|
1
|
+
{"version":3,"file":"createNativeDevEngine.d.ts","sourceRoot":"","sources":["../../src/utils/createNativeDevEngine.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAA+B,MAAM,EAAkB,MAAM,UAAU,CAAA;AA0BnF,yFAAyF;AACzF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,EAAE,CAE3D;AAED,UAAU,sBAAsB;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;CAChE;AAED,UAAU,qBAAqB;IAC7B,MAAM,EAAE,GAAG,CAAA;IACX,SAAS,EAAE,MAAM,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC1C,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3B;AAuBD,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,KAAK,GAAG,SAAS,EAC3B,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,MAAM;;;;;;;;EAqHb;AAgGD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOhE;AAoDD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CAgMhC;AAID,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAA;IAC3B,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,yFAAyF;IACzF,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA8DzC;AA4KD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAuB5C;AAoBD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAwGzE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patches.d.ts","sourceRoot":"","sources":["../../src/utils/patches.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAInE,KAAK,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAAA;AAExC,MAAM,MAAM,eAAe,GACvB,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,GAC/D,MAAM,GACN,UAAU,EAAE,CAAA;AAEhB,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG;QACjC,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;KAC/B,CAAA;CACF,CAAA;AAID,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,QAInD;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAI5D;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAA;AAEzE,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,EACxC,YAAY,CAAC,EAAE,oBAAoB,iBA2BpC;AAyBD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,QAAQ,EAAE,EACnB,EAAE,IAAoB,EAAE,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,
|
|
1
|
+
{"version":3,"file":"patches.d.ts","sourceRoot":"","sources":["../../src/utils/patches.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAInE,KAAK,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAAA;AAExC,MAAM,MAAM,eAAe,GACvB,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,GAC/D,MAAM,GACN,UAAU,EAAE,CAAA;AAEhB,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG;QACjC,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;KAC/B,CAAA;CACF,CAAA;AAID,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,QAInD;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAI5D;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAA;AAEzE,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,EACxC,YAAY,CAAC,EAAE,oBAAoB,iBA2BpC;AAyBD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,QAAQ,EAAE,EACnB,EAAE,IAAoB,EAAE,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,iBA4RjD"}
|