diff --git a/.changeset/oxlint-biome-split.md b/.changeset/oxlint-biome-split.md new file mode 100644 index 000000000..2cc81280d --- /dev/null +++ b/.changeset/oxlint-biome-split.md @@ -0,0 +1,5 @@ +--- +"@open-slide/core": patch +--- + +Fix editor accessibility labels and unhandled async errors surfaced by Oxlint. diff --git a/.oxlintrc.json b/.oxlintrc.json new file mode 100644 index 000000000..a722cb570 --- /dev/null +++ b/.oxlintrc.json @@ -0,0 +1,49 @@ +{ + "$schema": "./node_modules/oxlint/configuration_schema.json", + "plugins": ["typescript", "unicorn", "react", "import", "vitest", "jsx-a11y"], + "categories": { + "correctness": "error" + }, + "env": { + "builtin": true + }, + "settings": { + "react": { + "version": "19.2.7" + } + }, + "ignorePatterns": [ + "**/dist/**", + "**/node_modules/**", + "**/*.tsbuildinfo", + "packages/core/src/app/components/ui/**", + "packages/cli/template/**" + ], + "rules": { + "import/no-cycle": "error", + "typescript/no-floating-promises": "error", + "jsx-a11y/prefer-tag-over-role": "off", + "vitest/expect-expect": [ + "error", + { + "assertFunctionNames": [ + "expect", + "expectTypeOf", + "assert", + "expectTagged", + "expectTaggedTransform" + ] + } + ] + }, + "overrides": [ + { + "files": ["**/slides/**", "apps/web/components/landing/**"], + "rules": { + "jsx-a11y/no-static-element-interactions": "off", + "jsx-a11y/no-noninteractive-element-interactions": "off", + "jsx-a11y/prefer-tag-over-role": "off" + } + } + ] +} diff --git a/AGENTS.md b/AGENTS.md index 5431c5747..4c3c9de01 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -23,8 +23,12 @@ Shared config: `biome.json`, `turbo.json`, `pnpm-workspace.yaml`, `tsconfig` per pnpm dev # turbo: runs demo against local core pnpm build # build all packages pnpm typecheck # tsc across the graph -pnpm check # biome (format + lint + organize imports) -pnpm check:fix # auto-fix what biome can +pnpm format:check # biome formatter +pnpm lint # oxlint (JS/TS) + biome (CSS/JSON) +pnpm lint:js # oxlint only +pnpm lint:nonjs # biome non-JS lint only +pnpm check # format:check + lint + typecheck +pnpm check:fix # oxlint --fix + biome check --write pnpm test # vitest ``` @@ -32,7 +36,7 @@ Filter to one package: `pnpm core