diff --git a/packages/virtual/vitest.config.ts b/configs/vitest.config.solid2.ts similarity index 66% rename from packages/virtual/vitest.config.ts rename to configs/vitest.config.solid2.ts index d32a8b47c..547e03494 100644 --- a/packages/virtual/vitest.config.ts +++ b/configs/vitest.config.solid2.ts @@ -1,5 +1,6 @@ import { defineConfig } from "vitest/config"; import type { Plugin } from "vite"; +import * as utils from "../scripts/utils/index.js"; function solidBabelPlugin(testSSR: boolean): Plugin { return { @@ -44,6 +45,16 @@ function solidBabelPlugin(testSSR: boolean): Plugin { }; } +const package_name = utils.getPackageNameFromCWD(); + +if (package_name == null) { + utils.log_info("Testing ALL packages (Solid 2.0 mode)..."); +} else { + utils.log_info("Testing " + package_name + " package (Solid 2.0 mode)..."); +} + +const from_root = package_name == null; + export default defineConfig(({ mode }) => { const testSSR = mode === "test:ssr" || mode === "ssr"; @@ -57,11 +68,22 @@ export default defineConfig(({ mode }) => { transformMode: { web: [/\.[jt]sx$/], }, - ...(testSSR - ? { include: ["test/server.test.{ts,tsx}"] } - : { - include: ["test/*.test.{ts,tsx}"], - exclude: ["test/server.test.{ts,tsx}"], + ...(from_root + ? // Testing all packages from root + { + ...(testSSR && { include: ["packages/*/test/server.test.{ts,tsx}"] }), + ...(!testSSR && { + include: ["packages/*/test/*.test.{ts,tsx}"], + exclude: ["packages/*/test/server.test.{ts,tsx}"], + }), + } + : // Testing a single package + { + ...(testSSR && { include: ["test/server.test.{ts,tsx}"] }), + ...(!testSSR && { + include: ["test/*.test.{ts,tsx}"], + exclude: ["test/server.test.{ts,tsx}"], + }), }), }, resolve: { diff --git a/package.json b/package.json index b6af020c9..c15e550f7 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,8 @@ "test:client": "vitest -c ./configs/vitest.config.ts", "test:ssr": "pnpm run test:client --mode ssr", "test": "pnpm run test:client && pnpm run test:ssr", + "test:client2": "vitest -c ./configs/vitest.config.solid2.ts", + "test:ssr2": "pnpm run test:client2 --mode ssr", "build": "node --import=@nothing-but/node-resolve-ts --experimental-transform-types ./scripts/build.ts", "new-package": "node --import=@nothing-but/node-resolve-ts --experimental-transform-types ./scripts/new-package.ts", "update-readme": "node --import=@nothing-but/node-resolve-ts --experimental-transform-types ./scripts/update-readme.ts", @@ -30,6 +32,7 @@ "postinstall": "pnpm update-tsconfigs" }, "devDependencies": { + "@babel/core": "^7.27.0", "@changesets/cli": "^2.29.4", "@nothing-but/node-resolve-ts": "^1.0.1", "@solidjs/start": "^1.1.4", @@ -54,6 +57,7 @@ "typescript": "^5.8.3", "vinxi": "^0.5.7", "vite": "^6.3.5", + "babel-preset-solid": "2.0.0-beta.12", "vite-plugin-solid": "^2.11.6", "vitest": "^2.1.9" }, diff --git a/packages/virtual/package.json b/packages/virtual/package.json index 7edaf97b5..4b4c1d4a2 100644 --- a/packages/virtual/package.json +++ b/packages/virtual/package.json @@ -48,9 +48,10 @@ "scripts": { "dev": "node --import=@nothing-but/node-resolve-ts --experimental-transform-types ../../scripts/dev.ts", "build": "node --import=@nothing-but/node-resolve-ts --experimental-transform-types ../../scripts/build.ts", - "vitest": "vitest -c vitest.config.ts", - "test": "pnpm run vitest", - "test:ssr": "pnpm run vitest --mode ssr" + "vitest": "vitest -c ../../configs/vitest.config.ts", + "vitest2": "vitest -c ../../configs/vitest.config.solid2.ts", + "test": "pnpm run vitest2", + "test:ssr": "pnpm run vitest2 --mode ssr" }, "dependencies": { "@solid-primitives/utils": "workspace:^" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 957724959..e8f60fb00 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,6 +8,9 @@ importers: .: devDependencies: + '@babel/core': + specifier: ^7.27.0 + version: 7.29.0 '@changesets/cli': specifier: ^2.29.4 version: 2.29.4 @@ -29,6 +32,9 @@ importers: '@typescript-eslint/parser': specifier: ^8.34.0 version: 8.34.0(eslint@9.28.0(jiti@2.6.1))(typescript@5.8.3) + babel-preset-solid: + specifier: 2.0.0-beta.12 + version: 2.0.0-beta.12(@babel/core@7.29.0)(solid-js@2.0.0-beta.10) esbuild: specifier: ^0.25.5 version: 0.25.5 @@ -10544,6 +10550,13 @@ snapshots: '@babel/core': 7.29.0 babel-plugin-jsx-dom-expressions: 0.39.8(@babel/core@7.29.0) + babel-preset-solid@2.0.0-beta.12(@babel/core@7.29.0)(solid-js@2.0.0-beta.10): + dependencies: + '@babel/core': 7.29.0 + babel-plugin-jsx-dom-expressions: 0.50.0-next.10(@babel/core@7.29.0) + optionalDependencies: + solid-js: 2.0.0-beta.10 + babel-preset-solid@2.0.0-beta.12(@babel/core@7.29.0)(solid-js@2.0.0-beta.12): dependencies: '@babel/core': 7.29.0 diff --git a/template/package.json b/template/package.json index 779137dd6..b6ea59ba6 100644 --- a/template/package.json +++ b/template/package.json @@ -46,6 +46,7 @@ "dev": "node --import=@nothing-but/node-resolve-ts --experimental-transform-types ../../scripts/dev.ts", "build": "node --import=@nothing-but/node-resolve-ts --experimental-transform-types ../../scripts/build.ts", "vitest": "vitest -c ../../configs/vitest.config.ts", + "vitest2": "vitest -c ../../configs/vitest.config.solid2.ts", "test": "pnpm run vitest", "test:ssr": "pnpm run vitest --mode ssr" },