diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json
index 1ab84a618f..fa5a96aae6 100644
--- a/packages/nuxt/package.json
+++ b/packages/nuxt/package.json
@@ -106,8 +106,8 @@
"nypm": "^0.4.1",
"ofetch": "^1.4.1",
"ohash": "^1.1.4",
- "oxc-parser": "^0.38.0",
- "oxc-walker": "^0.0.1",
+ "oxc-parser": "^0.39.0",
+ "oxc-walker": "^0.1.2",
"pathe": "^1.1.2",
"perfect-debounce": "^1.0.0",
"pkg-types": "^1.2.1",
diff --git a/packages/nuxt/test/plugin-metadata.test.ts b/packages/nuxt/test/plugin-metadata.test.ts
index a063f65a6a..3a803f88f3 100644
--- a/packages/nuxt/test/plugin-metadata.test.ts
+++ b/packages/nuxt/test/plugin-metadata.test.ts
@@ -4,29 +4,26 @@ import { RemovePluginMetadataPlugin, extractMetadata } from '../src/core/plugins
import { checkForCircularDependencies } from '../src/core/app'
describe('plugin-metadata', () => {
- it('should extract metadata from object-syntax plugins', async () => {
- const properties = Object.entries({
- name: 'test',
- enforce: 'post',
- hooks: { 'app:mounted': () => {} },
- setup: () => { return { provide: { jsx: '[JSX]' } } },
- order: 1,
+ const properties = Object.entries({
+ name: 'test',
+ enforce: 'post',
+ hooks: { 'app:mounted': () => {} },
+ setup: () => { return { provide: { jsx: '[JSX]' } } },
+ order: 1,
+ })
+ it.each(properties)('should extract metadata from object-syntax plugins', async (k, value) => {
+ const obj = [...properties.filter(([key]) => key !== k), [k, value]]
+
+ const meta = await extractMetadata([
+ 'export default defineNuxtPlugin({',
+ ...obj.map(([key, value]) => `${key}: ${typeof value === 'function' ? value.toString().replace('"[JSX]"', '() => JSX') : JSON.stringify(value)},`),
+ '})',
+ ].join('\n'), 'file.tsx')
+
+ expect(meta).toEqual({
+ 'name': 'test',
+ 'order': 1,
})
-
- for (const item of properties) {
- const obj = [...properties.filter(([key]) => key !== item[0]), item]
-
- const meta = await extractMetadata([
- 'export default defineNuxtPlugin({',
- ...obj.map(([key, value]) => `${key}: ${typeof value === 'function' ? value.toString().replace('"[JSX]"', '() => JSX') : JSON.stringify(value)},`),
- '})',
- ].join('\n'), 'file.tsx')
-
- expect(meta).toEqual({
- 'name': 'test',
- 'order': 1,
- })
- }
})
const transformPlugin: any = RemovePluginMetadataPlugin({
diff --git a/packages/nuxt/test/treeshake-client.test.ts b/packages/nuxt/test/treeshake-client.test.ts
index 871445b496..48e6e54c22 100644
--- a/packages/nuxt/test/treeshake-client.test.ts
+++ b/packages/nuxt/test/treeshake-client.test.ts
@@ -55,7 +55,7 @@ const treeshakeTemplatePlugin = TreeShakeTemplatePlugin({
const treeshake = async (source: string): Promise => {
// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
- const result = await (treeshakeTemplatePlugin.transform! as Function)(source)
+ const result = await (treeshakeTemplatePlugin.transform! as Function)(source, 'test.ts')
return typeof result === 'string' ? result : result?.code
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index ec2c2765ae..149a816df8 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -394,11 +394,11 @@ importers:
specifier: 1.1.4
version: 1.1.4
oxc-parser:
- specifier: ^0.38.0
- version: 0.38.0
+ specifier: ^0.39.0
+ version: 0.39.0
oxc-walker:
- specifier: ^0.0.1
- version: 0.0.1
+ specifier: ^0.1.0
+ version: 0.1.0(oxc-parser@0.39.0)
pathe:
specifier: ^1.1.2
version: 1.1.2
@@ -2093,48 +2093,48 @@ packages:
'@one-ini/wasm@0.1.1':
resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==}
- '@oxc-parser/binding-darwin-arm64@0.38.0':
- resolution: {integrity: sha512-yMDY/KrF2gEEpVIzaVWuO1savy303onvhg96a+1mUfLhgH9lvfZZyus4/LVokRHYCCy+6ey/1ytyilVnSeTDYA==}
+ '@oxc-parser/binding-darwin-arm64@0.39.0':
+ resolution: {integrity: sha512-IP7USw9mHYTyfT/nwQZvdS/Z1TqfzV6j6EtK60t5jfvl1CeSXOUyZzO9WFdW2c0F+DgcSjR9hJkwpCwJzzBjXw==}
cpu: [arm64]
os: [darwin]
- '@oxc-parser/binding-darwin-x64@0.38.0':
- resolution: {integrity: sha512-OD8PQT5nAdNCbmzMVfafIQi9/yxSvfEH5fpLXPKVTCtAEc/d5aX6JpipjW231/3TF8mjXO1y3xZM1xKGXJEk/A==}
+ '@oxc-parser/binding-darwin-x64@0.39.0':
+ resolution: {integrity: sha512-0hZvJX5F6HIlLDs1VfVBHVHaY98tGmNpCr1eOcbz5A5rrtE/AF5c6Rf23jE763a+vQKTMyHmohjEsqw+jlXZfw==}
cpu: [x64]
os: [darwin]
- '@oxc-parser/binding-linux-arm64-gnu@0.38.0':
- resolution: {integrity: sha512-REfFdTk+cdIC8etE8v0CoZtVObKIiymFsPkQTYca2V2ZwJ9/SgUr6NNNjLJdkGOipwjBk8d2cyOZzNDIMfzmqw==}
+ '@oxc-parser/binding-linux-arm64-gnu@0.39.0':
+ resolution: {integrity: sha512-sECHgo55REvlL+sU1ITG7uXuERd1cZIlQbFf0E0Eqq47a3gMS9CUcsdc3OmRYTA6p7W45agktw/tRrHpJDBhNg==}
cpu: [arm64]
os: [linux]
- '@oxc-parser/binding-linux-arm64-musl@0.38.0':
- resolution: {integrity: sha512-tSDRTahOoT4KDS0dicDEFgBH2nEDqNmqFG+N6PS2LrExYEDS01noRIxMFpx2Sz22a+6ZnvkfVmStp6VK+9fpBQ==}
+ '@oxc-parser/binding-linux-arm64-musl@0.39.0':
+ resolution: {integrity: sha512-YzLPmO8UYkTKSW7yDZB53S5HfM2SWKaqLSV7KcTdOZgash5Qd38QwyiE4T2aOzEBRiybpXZYapjBqFDvDfR1Lg==}
cpu: [arm64]
os: [linux]
- '@oxc-parser/binding-linux-x64-gnu@0.38.0':
- resolution: {integrity: sha512-qc6NdCzcCAxCK5KVde2ULq+7cyiJwrMV/1yozSUqvu26yme56Es3rWHFuPToxrhw+2olvc93AX+PVYMy3DqrGw==}
+ '@oxc-parser/binding-linux-x64-gnu@0.39.0':
+ resolution: {integrity: sha512-h4F6M9H4gjRIjcMPbP+TItGjIIjbOFI22rOpX/FHM5VpiOrVun6nKlmu8Lub1Qzy6cI/2JAQlV17ETdjMmuDpA==}
cpu: [x64]
os: [linux]
- '@oxc-parser/binding-linux-x64-musl@0.38.0':
- resolution: {integrity: sha512-x/9XyivlMjnQ7gofNK6u+L+BMdwKf/GuLJ0vrmrWolKGR9CBSzZRwZfTw+cG0T7U6Y6CN36tSqijA0eTo3U8zw==}
+ '@oxc-parser/binding-linux-x64-musl@0.39.0':
+ resolution: {integrity: sha512-7krHX7FfNTAJygFIUJa3xSmSfTpmb+E8rOUeqkE3jeFM2D1As7y5adoWi3vuHY3UMDy6w3Q1Umcyylxqzp4ujA==}
cpu: [x64]
os: [linux]
- '@oxc-parser/binding-win32-arm64-msvc@0.38.0':
- resolution: {integrity: sha512-SUlt+MUid0VUL5cLbbZzVGA9xNoqLl29xF1ueTeDt/BdQyrLELjTxoGtgisF6blAD6Rj2JqPtnfk+CT7GBwL2w==}
+ '@oxc-parser/binding-win32-arm64-msvc@0.39.0':
+ resolution: {integrity: sha512-4Puf8gojVwG3nIGyi1B8oVl89dit+kcd3eTH8x9exz+KoihstJbWbyAkezB9W5K86FcZE8dbVcHWDifF6sSu/Q==}
cpu: [arm64]
os: [win32]
- '@oxc-parser/binding-win32-x64-msvc@0.38.0':
- resolution: {integrity: sha512-l/nFJutJ+zZTGj7ayL22r+og8g6dOC/47fSlsyl+KQXsmAFDStaARioHP9g+von/0bS23LX/9Eo8YeK5kFc7KA==}
+ '@oxc-parser/binding-win32-x64-msvc@0.39.0':
+ resolution: {integrity: sha512-Qy5kvBUtscM2VJ0q/Y7N9546HiL/JrV1MvMf+Q4ORrApO3JfMSyoJdIaFz6SxytiQLRtOFnkjfACCl4qcvYRQg==}
cpu: [x64]
os: [win32]
- '@oxc-project/types@0.38.0':
- resolution: {integrity: sha512-WjRra3cmQt/VPRTwiVuYITm6RNr4SjwYeVZkT0oPn1M0Li2caILj1mlRELhHXad4nLAlnfliH5daHFKjQ9d3jQ==}
+ '@oxc-project/types@0.39.0':
+ resolution: {integrity: sha512-S70sRLmlZA3NIQXp3gkBKOkFFpIaNtpLtSFp3Tejre2HsUthJ9dVTTGvJhkZOlIdJs8LGFZ5HTX4jLNcC2RxFg==}
'@parcel/watcher-android-arm64@2.5.0':
resolution: {integrity: sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==}
@@ -5400,6 +5400,9 @@ packages:
resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==}
hasBin: true
+ magic-regexp@0.8.0:
+ resolution: {integrity: sha512-lOSLWdE156csDYwCTIGiAymOLN7Epu/TU5e/oAnISZfU6qP+pgjkE+xbVjVn3yLPKN8n1G2yIAYTAM5KRk6/ow==}
+
magic-string-ast@0.6.2:
resolution: {integrity: sha512-oN3Bcd7ZVt+0VGEs7402qR/tjgjbM7kPlH/z7ufJnzTLVBzXJITRHOJiwMmmYMgZfdoWQsfQcY+iKlxiBppnMA==}
engines: {node: '>=16.14.0'}
@@ -5925,11 +5928,13 @@ packages:
resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
engines: {node: '>= 0.8.0'}
- oxc-parser@0.38.0:
- resolution: {integrity: sha512-w/cUL64wDb72gaBoOnvodKgHhNF9pDjb2b8gPkDKJDTvIvlbcE9XGDT3cnXOP4N3XCMrRT4MC23bCHGb3gCFSQ==}
+ oxc-parser@0.39.0:
+ resolution: {integrity: sha512-MnSAlAFyUvUMBEWna6y4wSu5lZzl1wcnvQul54uXaHinUlRjAeBd6wOAQqLKeNXRseVsXO9/2ALi327favfVkw==}
- oxc-walker@0.0.1:
- resolution: {integrity: sha512-lb1iCUTl2qy/ZYk1+lC8nxUBzCpcsupofSFqwHlP3GtbE/2uLq2A0Q448fDs9LDIuh+syC6sebonI0qpjh2Opw==}
+ oxc-walker@0.1.0:
+ resolution: {integrity: sha512-cUmfE8i8HglpkA/0TgqbMVl8VWwO1lpsOW57suFS/I0zM9TITwDX/VkndqWe2B9LGcTYgmUrh3G+5ThMizbA3A==}
+ peerDependencies:
+ oxc-parser: ^0.38.0 || ^0.39.0
p-limit@2.3.0:
resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
@@ -7207,6 +7212,9 @@ packages:
resolution: {integrity: sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==}
engines: {node: '>=16'}
+ type-level-regexp@0.1.17:
+ resolution: {integrity: sha512-wTk4DH3cxwk196uGLK/E9pE45aLfeKJacKmcEgEOA/q5dnPGNxXt0cfYdFxb57L+sEpf1oJH4Dnx/pnRcku9jg==}
+
typescript@5.6.3:
resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==}
engines: {node: '>=14.17'}
@@ -8989,31 +8997,31 @@ snapshots:
'@one-ini/wasm@0.1.1': {}
- '@oxc-parser/binding-darwin-arm64@0.38.0':
+ '@oxc-parser/binding-darwin-arm64@0.39.0':
optional: true
- '@oxc-parser/binding-darwin-x64@0.38.0':
+ '@oxc-parser/binding-darwin-x64@0.39.0':
optional: true
- '@oxc-parser/binding-linux-arm64-gnu@0.38.0':
+ '@oxc-parser/binding-linux-arm64-gnu@0.39.0':
optional: true
- '@oxc-parser/binding-linux-arm64-musl@0.38.0':
+ '@oxc-parser/binding-linux-arm64-musl@0.39.0':
optional: true
- '@oxc-parser/binding-linux-x64-gnu@0.38.0':
+ '@oxc-parser/binding-linux-x64-gnu@0.39.0':
optional: true
- '@oxc-parser/binding-linux-x64-musl@0.38.0':
+ '@oxc-parser/binding-linux-x64-musl@0.39.0':
optional: true
- '@oxc-parser/binding-win32-arm64-msvc@0.38.0':
+ '@oxc-parser/binding-win32-arm64-msvc@0.39.0':
optional: true
- '@oxc-parser/binding-win32-x64-msvc@0.38.0':
+ '@oxc-parser/binding-win32-x64-msvc@0.39.0':
optional: true
- '@oxc-project/types@0.38.0': {}
+ '@oxc-project/types@0.39.0': {}
'@parcel/watcher-android-arm64@2.5.0':
optional: true
@@ -12815,6 +12823,16 @@ snapshots:
lz-string@1.5.0: {}
+ magic-regexp@0.8.0:
+ dependencies:
+ estree-walker: 3.0.3
+ magic-string: 0.30.14
+ mlly: 1.7.3
+ regexp-tree: 0.1.27
+ type-level-regexp: 0.1.17
+ ufo: 1.5.4
+ unplugin: 1.16.0
+
magic-string-ast@0.6.2:
dependencies:
magic-string: 0.30.14
@@ -13625,24 +13643,24 @@ snapshots:
type-check: 0.4.0
word-wrap: 1.2.5
- oxc-parser@0.38.0:
+ oxc-parser@0.39.0:
dependencies:
- '@oxc-project/types': 0.38.0
+ '@oxc-project/types': 0.39.0
optionalDependencies:
- '@oxc-parser/binding-darwin-arm64': 0.38.0
- '@oxc-parser/binding-darwin-x64': 0.38.0
- '@oxc-parser/binding-linux-arm64-gnu': 0.38.0
- '@oxc-parser/binding-linux-arm64-musl': 0.38.0
- '@oxc-parser/binding-linux-x64-gnu': 0.38.0
- '@oxc-parser/binding-linux-x64-musl': 0.38.0
- '@oxc-parser/binding-win32-arm64-msvc': 0.38.0
- '@oxc-parser/binding-win32-x64-msvc': 0.38.0
+ '@oxc-parser/binding-darwin-arm64': 0.39.0
+ '@oxc-parser/binding-darwin-x64': 0.39.0
+ '@oxc-parser/binding-linux-arm64-gnu': 0.39.0
+ '@oxc-parser/binding-linux-arm64-musl': 0.39.0
+ '@oxc-parser/binding-linux-x64-gnu': 0.39.0
+ '@oxc-parser/binding-linux-x64-musl': 0.39.0
+ '@oxc-parser/binding-win32-arm64-msvc': 0.39.0
+ '@oxc-parser/binding-win32-x64-msvc': 0.39.0
- oxc-walker@0.0.1:
+ oxc-walker@0.1.0(oxc-parser@0.39.0):
dependencies:
- '@types/estree': 1.0.6
estree-walker: 3.0.3
- oxc-parser: 0.38.0
+ magic-regexp: 0.8.0
+ oxc-parser: 0.39.0
p-limit@2.3.0:
dependencies:
@@ -15004,6 +15022,8 @@ snapshots:
type-fest@4.26.1: {}
+ type-level-regexp@0.1.17: {}
+
typescript@5.6.3: {}
uc.micro@2.1.0: {}