diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 388a9462b..61ced90b0 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -36,8 +36,6 @@ // manually bumping "node", - "generouted", // testing lib shipping JSX (new version ship transpiled JS) - // breaking changes "source-map", // `source-map:v0.7.0+` needs more investigation "kill-port", // `kill-port:^2.0.0 has perf issues (#8392) diff --git a/package.json b/package.json index ffc6ec87b..efc3ce13d 100644 --- a/package.json +++ b/package.json @@ -70,15 +70,5 @@ "playground/**/__tests__/**/*.ts": [ "eslint --cache --fix" ] - }, - "pnpm": { - "packageExtensions": { - "generouted": { - "peerDependencies": { - "react": "*", - "react-router-dom": "*" - } - } - } } } diff --git a/packages/plugin-react-swc/playground/ts-lib/__tests__/ts-lib.spec.ts b/packages/plugin-react-swc/playground/ts-lib/__tests__/ts-lib.spec.ts index 44e73fd4d..7f3357908 100644 --- a/packages/plugin-react-swc/playground/ts-lib/__tests__/ts-lib.spec.ts +++ b/packages/plugin-react-swc/playground/ts-lib/__tests__/ts-lib.spec.ts @@ -1,24 +1,22 @@ -import { expect, test } from '@playwright/test' +import { type Page, expect, test } from '@playwright/test' import { setupBuildAndPreview, setupDevServer } from '../../utils.ts' test('TS lib build', async ({ page }) => { const { testUrl, server } = await setupBuildAndPreview('ts-lib') await page.goto(testUrl) - await expect(page.locator('main')).toHaveText('Home page') - - await page.locator('a', { hasText: 'About' }).click() - await expect(page.locator('main')).toHaveText('About page') - + await testNonJs(page) await server.httpServer.close() }) test('TS lib dev', async ({ page }) => { const { testUrl, server } = await setupDevServer('ts-lib') await page.goto(testUrl) - await expect(page.locator('main')).toHaveText('Home page') - - await page.locator('a', { hasText: 'About' }).click() - await expect(page.locator('main')).toHaveText('About page') - + await testNonJs(page) await server.close() }) + +async function testNonJs(page: Page) { + await expect(page.getByTestId('test-non-js')).toHaveText('test-non-js: 0') + await page.getByTestId('test-non-js').click() + await expect(page.getByTestId('test-non-js')).toHaveText('test-non-js: 1') +} diff --git a/packages/plugin-react-swc/playground/ts-lib/package.json b/packages/plugin-react-swc/playground/ts-lib/package.json index 7d175c97e..28b5a65f6 100644 --- a/packages/plugin-react-swc/playground/ts-lib/package.json +++ b/packages/plugin-react-swc/playground/ts-lib/package.json @@ -8,11 +8,9 @@ "preview": "vite preview" }, "dependencies": { - "@generouted/react-router": "^1.20.0", - "generouted": "1.11.7", + "@vitejs/test-dep-non-js": "file:./test-dep/non-js", "react": "^19.1.0", - "react-dom": "^19.1.0", - "react-router-dom": "^7.6.3" + "react-dom": "^19.1.0" }, "devDependencies": { "@types/react": "^19.1.8", diff --git a/packages/plugin-react-swc/playground/ts-lib/src/app.tsx b/packages/plugin-react-swc/playground/ts-lib/src/app.tsx new file mode 100644 index 000000000..fc8ba7dfa --- /dev/null +++ b/packages/plugin-react-swc/playground/ts-lib/src/app.tsx @@ -0,0 +1,11 @@ +import TestNonJs from '@vitejs/test-dep-non-js' + +export default function App() { + return ( +
+
+ +
+
+ ) +} diff --git a/packages/plugin-react-swc/playground/ts-lib/src/index.tsx b/packages/plugin-react-swc/playground/ts-lib/src/index.tsx index 991484efc..c0e262737 100644 --- a/packages/plugin-react-swc/playground/ts-lib/src/index.tsx +++ b/packages/plugin-react-swc/playground/ts-lib/src/index.tsx @@ -1,9 +1,9 @@ import { StrictMode } from 'react' import { createRoot } from 'react-dom/client' -import { Routes } from 'generouted/react-router' +import App from './app' createRoot(document.getElementById('root')!).render( - + , ) diff --git a/packages/plugin-react-swc/playground/ts-lib/src/pages/404.tsx b/packages/plugin-react-swc/playground/ts-lib/src/pages/404.tsx deleted file mode 100644 index 6e9fc906c..000000000 --- a/packages/plugin-react-swc/playground/ts-lib/src/pages/404.tsx +++ /dev/null @@ -1,3 +0,0 @@ -export default function NotFound() { - return

404

-} diff --git a/packages/plugin-react-swc/playground/ts-lib/src/pages/_app.tsx b/packages/plugin-react-swc/playground/ts-lib/src/pages/_app.tsx deleted file mode 100644 index 977445f78..000000000 --- a/packages/plugin-react-swc/playground/ts-lib/src/pages/_app.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import { Link, Outlet } from 'react-router-dom' - -export default function App() { - return ( -
-
- Home - About -
- -
- -
-
- ) -} diff --git a/packages/plugin-react-swc/playground/ts-lib/src/pages/about.tsx b/packages/plugin-react-swc/playground/ts-lib/src/pages/about.tsx deleted file mode 100644 index 5e6d93641..000000000 --- a/packages/plugin-react-swc/playground/ts-lib/src/pages/about.tsx +++ /dev/null @@ -1,3 +0,0 @@ -export default function About() { - return

About page

-} diff --git a/packages/plugin-react-swc/playground/ts-lib/src/pages/index.tsx b/packages/plugin-react-swc/playground/ts-lib/src/pages/index.tsx deleted file mode 100644 index 342887999..000000000 --- a/packages/plugin-react-swc/playground/ts-lib/src/pages/index.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { Outlet } from 'react-router-dom' - -export default function Home() { - return ( -
-

Home page

- -
- ) -} diff --git a/packages/plugin-react-swc/playground/ts-lib/test-dep/non-js/index.tsx b/packages/plugin-react-swc/playground/ts-lib/test-dep/non-js/index.tsx new file mode 100644 index 000000000..c3603614c --- /dev/null +++ b/packages/plugin-react-swc/playground/ts-lib/test-dep/non-js/index.tsx @@ -0,0 +1,10 @@ +import React from 'react' + +export default function TestNonJs() { + const [count, setCount] = React.useState(0) + return ( + + ) +} diff --git a/packages/plugin-react-swc/playground/ts-lib/test-dep/non-js/package.json b/packages/plugin-react-swc/playground/ts-lib/test-dep/non-js/package.json new file mode 100644 index 000000000..6e098895e --- /dev/null +++ b/packages/plugin-react-swc/playground/ts-lib/test-dep/non-js/package.json @@ -0,0 +1,9 @@ +{ + "name": "@vitejs/test-dep-non-js", + "private": true, + "type": "module", + "exports": "./index.tsx", + "peerDependencies": { + "react": "*" + } +} diff --git a/packages/plugin-react-swc/playground/ts-lib/vite.config.ts b/packages/plugin-react-swc/playground/ts-lib/vite.config.ts index b9f401547..7af9f6f97 100644 --- a/packages/plugin-react-swc/playground/ts-lib/vite.config.ts +++ b/packages/plugin-react-swc/playground/ts-lib/vite.config.ts @@ -2,6 +2,5 @@ import { defineConfig } from 'vite' import react from '@vitejs/plugin-react-swc' export default defineConfig({ - optimizeDeps: { include: ['react-router-dom'] }, plugins: [react()], }) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cda6eb118..19c01e53d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,8 +10,6 @@ catalogs: specifier: npm:rolldown-vite@^7.0.5 version: 7.0.5 -packageExtensionsChecksum: sha256-S82yCctxnlOTNFuHWCyTFRo/B6Y3jque/4DnsDO4WZA= - importers: .: @@ -397,21 +395,15 @@ importers: packages/plugin-react-swc/playground/ts-lib: dependencies: - '@generouted/react-router': - specifier: ^1.20.0 - version: 1.20.0(react-router-dom@7.6.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-router@7.6.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.20.3)(yaml@2.7.1)) - generouted: - specifier: 1.11.7 - version: 1.11.7(react-router-dom@7.6.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.20.3)(yaml@2.7.1)) + '@vitejs/test-dep-non-js': + specifier: file:./test-dep/non-js + version: file:packages/plugin-react-swc/playground/ts-lib/test-dep/non-js(react@19.1.0) react: specifier: ^19.1.0 version: 19.1.0 react-dom: specifier: ^19.1.0 version: 19.1.0(react@19.1.0) - react-router-dom: - specifier: ^7.6.3 - version: 7.6.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) devDependencies: '@types/react': specifier: ^19.1.8 @@ -423,6 +415,8 @@ importers: specifier: ../../dist version: link:../../dist + packages/plugin-react-swc/playground/ts-lib/test-dep/non-js: {} + packages/plugin-react-swc/playground/worker: dependencies: react: @@ -1947,13 +1941,6 @@ packages: resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} engines: {node: '>=14'} - '@generouted/react-router@1.20.0': - resolution: {integrity: sha512-VAOdbH/Z2MzroTB61XYsS1uMJvX5am7CKuF/MgF3ZXS6YSvA6rz9pvQxZbg5PIK4R9h7bsA/oRQlJNLSgQKjEA==} - peerDependencies: - react: '>=18' - react-router: '>=7' - vite: '>=5' - '@hiogawa/utils@1.7.0': resolution: {integrity: sha512-ghiEFWBR1NENoHn+lSuW7liicTIzVPN+8Srm5UedCTw43gus0mlse6Wp2lz6GmbOXJ/CalMPp/0Tz2X8tajkAg==} @@ -3010,6 +2997,11 @@ packages: peerDependencies: react: '*' + '@vitejs/test-dep-non-js@file:packages/plugin-react-swc/playground/ts-lib/test-dep/non-js': + resolution: {directory: packages/plugin-react-swc/playground/ts-lib/test-dep/non-js, type: directory} + peerDependencies: + react: '*' + '@vitejs/test-dep-server-in-client@file:packages/plugin-rsc/examples/basic/test-dep/server-in-client': resolution: {directory: packages/plugin-rsc/examples/basic/test-dep/server-in-client, type: directory} peerDependencies: @@ -3806,20 +3798,6 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - generouted@1.11.7: - resolution: {integrity: sha512-CFOF2N8upP84E5Lh7l1F9lC7XgHHkokKMptC+zD/T7K2f++gQH6OEIUv7XIIuwWfZAz8DtdQXVph4bB5Wg8vcw==} - peerDependencies: - react: '*' - react-router-dom: '*' - vite: '>=3' - - generouted@1.20.0: - resolution: {integrity: sha512-VXU5dFsWdm/faFo2fTGW5obYxy8hhM6B1WXYhCLAV+5pODhrsu8RBc/1IsOQKqtHFYqsuSE5C5KpzmBaLllUqg==} - peerDependencies: - react: '*' - react-router-dom: '*' - vite: '>=5' - gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -4924,13 +4902,6 @@ packages: resolution: {integrity: sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==} engines: {node: '>=0.10.0'} - react-router-dom@7.6.3: - resolution: {integrity: sha512-DiWJm9qdUAmiJrVWaeJdu4TKu13+iB/8IEi0EW/XgaHCjW/vWGrwzup0GVvaMteuZjKnh5bEvJP/K0MDnzawHw==} - engines: {node: '>=20.0.0'} - peerDependencies: - react: '>=18' - react-dom: '>=18' - react-router@0.0.0-experimental-23decd7bc: resolution: {integrity: sha512-oTDa74rdP6WACxX8wihI71TiwQa+3aAXNjGGm20OAyA4hGdfe0VBEbJvuIT0vxR+LKsJisI4rpaq0boBGY3m+g==} engines: {node: '>=20.0.0'} @@ -4941,16 +4912,6 @@ packages: react-dom: optional: true - react-router@7.6.3: - resolution: {integrity: sha512-zf45LZp5skDC6I3jDLXQUu0u26jtuP4lEGbc7BbdyxenBN1vJSTA18czM2D+h5qyMBuMrD+9uB+mU37HIoKGRA==} - engines: {node: '>=20.0.0'} - peerDependencies: - react: '>=18' - react-dom: '>=18' - peerDependenciesMeta: - react-dom: - optional: true - react-server-dom-webpack@19.1.0: resolution: {integrity: sha512-GUbawkNSN0oj8GnuNhMzsvyIHpXqqpAmyOY5NRqNNQ/M8wvUUN8YBoGjDUj9lbmBrmAHS65BByp6325CcWA0eg==} engines: {node: '>=0.10.0'} @@ -6584,16 +6545,6 @@ snapshots: '@fastify/busboy@2.1.1': {} - '@generouted/react-router@1.20.0(react-router-dom@7.6.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-router@7.6.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.20.3)(yaml@2.7.1))': - dependencies: - fast-glob: 3.3.3 - generouted: 1.20.0(react-router-dom@7.6.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.20.3)(yaml@2.7.1)) - react: 19.1.0 - react-router: 7.6.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - vite: 7.0.2(@types/node@22.16.0)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.20.3)(yaml@2.7.1) - transitivePeerDependencies: - - react-router-dom - '@hiogawa/utils@1.7.0': {} '@humanfs/core@0.19.1': {} @@ -7572,6 +7523,10 @@ snapshots: dependencies: react: 19.1.0 + '@vitejs/test-dep-non-js@file:packages/plugin-react-swc/playground/ts-lib/test-dep/non-js(react@19.1.0)': + dependencies: + react: 19.1.0 + '@vitejs/test-dep-server-in-client@file:packages/plugin-rsc/examples/basic/test-dep/server-in-client(react@19.1.0)': dependencies: react: 19.1.0 @@ -8476,18 +8431,6 @@ snapshots: function-bind@1.1.2: {} - generouted@1.11.7(react-router-dom@7.6.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.20.3)(yaml@2.7.1)): - dependencies: - react: 19.1.0 - react-router-dom: 7.6.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - vite: 7.0.2(@types/node@22.16.0)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.20.3)(yaml@2.7.1) - - generouted@1.20.0(react-router-dom@7.6.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.20.3)(yaml@2.7.1)): - dependencies: - react: 19.1.0 - react-router-dom: 7.6.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - vite: 7.0.2(@types/node@22.16.0)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.20.3)(yaml@2.7.1) - gensync@1.0.0-beta.2: {} get-east-asian-width@1.2.0: {} @@ -9712,12 +9655,6 @@ snapshots: react-refresh@0.17.0: {} - react-router-dom@7.6.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0): - dependencies: - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - react-router: 7.6.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react-router@0.0.0-experimental-23decd7bc(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: cookie: 1.0.2 @@ -9726,14 +9663,6 @@ snapshots: optionalDependencies: react-dom: 19.1.0(react@19.1.0) - react-router@7.6.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0): - dependencies: - cookie: 1.0.2 - react: 19.1.0 - set-cookie-parser: 2.7.1 - optionalDependencies: - react-dom: 19.1.0(react@19.1.0) - react-server-dom-webpack@19.1.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: acorn-loose: 8.5.2