mirror of
https://gh-proxy.org/https://github.com/klinsmaya/portal-template-default.git
synced 2026-11-08 00:57:57 +08:00
The catalog defines the three-stage step order, unlock rules and dependencies; the lifecycle module resolves status transitions and role checks; validators implement the hard checks for the six-part table and strategy house, path systems and the RACI matrix. Both the server plugin and the Portal import the same module through @dingze/shared. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01MMDFmVTvRksi1ZT8aPGXoL
40 lines
1.1 KiB
TypeScript
40 lines
1.1 KiB
TypeScript
import fs from "node:fs";
|
|
import { fileURLToPath } from "node:url";
|
|
|
|
import react from "@vitejs/plugin-react";
|
|
import { defineConfig } from "vitest/config";
|
|
|
|
const root = fileURLToPath(new URL(".", import.meta.url));
|
|
const registryRoot = fileURLToPath(new URL("./registry", import.meta.url));
|
|
const extensionsRoot = fs.existsSync(registryRoot)
|
|
? registryRoot
|
|
: fileURLToPath(new URL("./src/extensions", import.meta.url));
|
|
|
|
export default defineConfig({
|
|
plugins: [react()],
|
|
resolve: {
|
|
alias: {
|
|
"@dingze/shared": fileURLToPath(
|
|
new URL("./server-plugins/plugin-dingze/src/shared", import.meta.url)
|
|
),
|
|
"@/extensions": extensionsRoot,
|
|
"@": fileURLToPath(new URL("./src", import.meta.url)),
|
|
},
|
|
},
|
|
test: {
|
|
root,
|
|
environment: "jsdom",
|
|
setupFiles: ["./tests/setup/vitest.ts"],
|
|
include: [
|
|
"tests/logic/**/*.test.{ts,tsx}",
|
|
"tests/components/**/*.test.{ts,tsx}",
|
|
"registry/*/tests/**/*.test.{ts,tsx}",
|
|
],
|
|
coverage: {
|
|
provider: "v8",
|
|
reportsDirectory: "./coverage",
|
|
reporter: ["text", "html"],
|
|
},
|
|
},
|
|
});
|