diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 76d7ac5..b2233aa 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -31,5 +31,11 @@ jobs: - name: Install dependencies run: pnpm install --frozen-lockfile + - name: Build + run: pnpm build + + - name: Lint + run: pnpm lint + - name: Test - run: pnpm build && pnpm test \ No newline at end of file + run: pnpm test \ No newline at end of file diff --git a/configs/oxlint/README.md b/configs/oxlint/README.md new file mode 100644 index 0000000..96817c7 --- /dev/null +++ b/configs/oxlint/README.md @@ -0,0 +1,54 @@ +# @robonen/oxlint + +Composable [oxlint](https://oxc.rs/docs/guide/usage/linter.html) configuration presets. + +## Install + +```bash +pnpm install -D @robonen/oxlint oxlint +``` + +## Usage + +Create `oxlint.config.ts` in your project root: + +```ts +import { defineConfig } from 'oxlint'; +import { compose, base, typescript, vue, vitest, imports } from '@robonen/oxlint'; + +export default defineConfig( + compose(base, typescript, vue, vitest, imports), +); +``` + +Append custom rules after presets to override them: + +```ts +compose(base, typescript, { + rules: { 'eslint/no-console': 'off' }, + ignorePatterns: ['dist'], +}); +``` + +## Presets + +| Preset | Description | +| ------------ | -------------------------------------------------- | +| `base` | Core eslint, oxc, unicorn rules | +| `typescript` | TypeScript-specific rules (via overrides) | +| `vue` | Vue 3 Composition API / `