Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ pnpm changeset # add a changeset (`pnpm changeset --e

- `pnpm typecheck` runs `golar typecheck`, then `golar tsc --noEmit -p packages/<name>/tsconfig.consumption.json` for each package that has a type-level consumption test (currently `plugin-i18next`, `plugin-cache`, `plugin-gateway`, `plugin-broker`, `plugin-scheduled-tasks`; it replaced `turbo run typecheck` / per-package `tsc --noEmit` scripts). `golar typecheck` glob-checks `packages/*/src/**/*.ts` directly and does **not** read `tsconfig.json`/`project` options, so it can't resolve those consumption tests (e.g. `plugin-i18next`'s imports `node:url`) — that's why each is checked separately via `golar tsc`, a real TypeScript-CLI passthrough, against its `tsconfig.consumption.json`. A new package with a `tsconfig.consumption.json` must be appended to the root `typecheck` script.
- The root `vitest.config.ts` is the only Vitest config: it aliases `@wolfstar/plugin-cache` and `@wolfstar/plugin-gateway` to their sources, so those tests never need a prior build. Tests live in each package's `tests/` directory, plus repo-level checks in the root `tests/`.
- Vitest is **not** pinned to a specific Vite major (the `pnpm-workspace.yaml` overrides forcing Vite 6 were dropped); it currently resolves Vite 6 naturally. `vitest.config.ts` still forces `esbuild.tsconfigRaw.compilerOptions.experimentalDecorators` for `plugin-subcommands-advanced`'s legacy-decorator tests — Vite 8 defaults to oxc, which ignores that esbuild option in favor of `oxc.typescript.decorators`, so migrate to that setting before letting Vite resolve past 7.
- Vitest is **not** pinned to a specific Vite major (the `pnpm-workspace.yaml` overrides forcing Vite 6 were dropped); it currently resolves Vite 8 naturally. Vite 8 transforms TypeScript with oxc, so `vitest.config.ts` enables legacy decorators for the decorator-based tests (`plugin-subcommands-advanced`, `plugin-broker`, `plugin-gateway`) via `oxc.decorator.legacy`; the old `esbuild.tsconfigRaw.compilerOptions.experimentalDecorators` option is ignored there.
- Per-package `pnpm --filter <pkg> lint` runs `oxlint src --fix`, which rewrites files; use the root `pnpm lint` for a read-only check.
- `pnpm run docs` (plain `pnpm docs` is intercepted by pnpm's built-in `docs` command and fails with `ERR_PNPM_MISSING_PACKAGE_NAME`) runs `typedoc` via `scripts/generate-docs.mjs` (config in root `typedoc.json`). The wrapper script installs typedoc against an isolated `typescript@^5.9.3` in a throwaway directory instead of this repo's `typescript@7.0.2`: typedoc@0.28.20's peer range tops out at 6.0.x and crashes against the experimental TS 7 API, and pnpm has no way to give a single devDependency its own nested peer version. It generates API docs from each package's `src/index.ts` and `src/register.ts` into `api/`. Members marked `@internal` or `private` are excluded (`excludeInternal`/`excludePrivate`), so use that tag deliberately when adding public exports you don't want documented. CI publishes the same output (as JSON) to `wolfstar-project/docs` on pushes to `main`/`v*` tags via `.github/workflows/documentation.yml`.
- `pnpm clean` is broken: it runs `node scripts/clean.mjs`, but that file does not exist (only `scripts/tsdown.config.ts` is present). Do not rely on it.
Expand Down
Loading
Loading