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
13 changes: 4 additions & 9 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,23 +7,18 @@ on:
jobs:
unit:
runs-on: ubuntu-latest
strategy:
matrix:
node-version:
- 20
- 22
name: Node.js ${{ matrix.node-version }} / unit
name: unit
steps:
- name: Checkout the repository
uses: actions/checkout@v6
- name: Install pnpm
uses: pnpm/action-setup@v6
with:
version: 10
- name: Install Node.js ${{ matrix.node-version }}
- name: Install Node.js
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node-version }}
node-version: 22
cache: 'pnpm'
- name: Install dependencies
run: pnpm install
Expand All @@ -42,7 +37,7 @@ jobs:
- name: Install Node.js
uses: actions/setup-node@v6
with:
node-version: 20
node-version: 22
cache: 'pnpm'
- name: Install dependencies
run: pnpm install
Expand Down
2 changes: 1 addition & 1 deletion .nano-staged.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"*.{c,m,}{js,ts}{x,}": "eslint --flag v10_config_lookup_from_file --fix"
"*.{c,m,}{js,ts}{x,}": "oxlint --fix"
}
2 changes: 1 addition & 1 deletion .tool-versions
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
pnpm 10.11.0
nodejs 22.4.1
nodejs 22.18.0
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ Scripts and configs for TrigenSoftware's projects.
| [`@trigen/project-files`](packages/project-files#readme) | [![NPM version][project-files-npm]][project-files-npm-url] | [![Dependencies status][project-files-deps]][project-files-deps-url] |
| [`@trigen/browserslist-config`](packages/browserslist-config#readme) | [![NPM version][browserslist-config-npm]][browserslist-config-npm-url] | |
| [`@trigen/eslint-config`](packages/eslint-config#readme) | [![NPM version][eslint-config-npm]][eslint-config-npm-url] | [![Dependencies status][eslint-config-deps]][eslint-config-deps-url] |
| [`@trigen/oxlint-config`](packages/oxlint-config#readme) | [![NPM version][oxlint-config-npm]][oxlint-config-npm-url] | [![Dependencies status][oxlint-config-deps]][oxlint-config-deps-url] |
| [`@trigen/stylelint-config`](packages/stylelint-config#readme) | [![NPM version][stylelint-config-npm]][stylelint-config-npm-url] | [![Dependencies status][stylelint-config-deps]][stylelint-config-deps-url] |
| [`@trigen/lint-package-json`](packages/lint-package-json#readme) | [![NPM version][lint-package-json-npm]][lint-package-json-npm-url] | [![Dependencies status][lint-package-json-deps]][lint-package-json-deps-url] |
| [`@trigen/npm-package-json-lint-config`](packages/npm-package-json-lint-config#readme) | [![NPM version][npm-package-json-lint-config-npm]][npm-package-json-lint-config-npm-url] | [![Dependencies status][npm-package-json-lint-config-deps]][npm-package-json-lint-config-deps-url] |
Expand All @@ -52,6 +53,14 @@ Scripts and configs for TrigenSoftware's projects.
[eslint-config-deps]: https://img.shields.io/librariesio/release/npm/@trigen/eslint-config
[eslint-config-deps-url]: https://libraries.io/npm/@trigen%2Feslint-config

<!-- oxlint-config -->

[oxlint-config-npm]: https://img.shields.io/npm/v/%40trigen/oxlint-config.svg
[oxlint-config-npm-url]: https://www.npmjs.com/package/@trigen/oxlint-config

[oxlint-config-deps]: https://img.shields.io/librariesio/release/npm/@trigen/oxlint-config
[oxlint-config-deps-url]: https://libraries.io/npm/@trigen%2Foxlint-config

<!-- stylelint-config -->

[stylelint-config-npm]: https://img.shields.io/npm/v/%40trigen/stylelint-config.svg
Expand Down
16 changes: 0 additions & 16 deletions eslint.config.js

This file was deleted.

16 changes: 16 additions & 0 deletions oxlint.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import baseConfig from '@trigen/oxlint-config'
import testConfig from '@trigen/oxlint-config/test'

export default {
ignorePatterns: ['**/package/'],
extends: [
baseConfig,
testConfig
],
env: {
node: true
},
rules: {
'eslint/no-console': 'off'
}
}
6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
"scripts": {
"clear": "del './packages/*/package' ./coverage ./node_modules/.cache",
"lint:package-json": "lint-package-json --monorepo",
"lint": "eslint --flag v10_config_lookup_from_file",
"lint": "oxlint",
"test:unit": "vitest run",
"test:unit:watch": "vitest watch",
"test": "run -p lint test:unit",
Expand All @@ -31,17 +31,17 @@
"@commitlint/config-conventional": "^20.0.0",
"@commitlint/config-pnpm-scopes": "^20.0.0",
"@commitlint/cz-commitlint": "^20.0.0",
"@trigen/eslint-config": "workspace:*",
"@trigen/lint-package-json": "workspace:*",
"@trigen/oxlint-config": "workspace:*",
"@trigen/project-files": "workspace:*",
"@trigen/scripts": "workspace:*",
"clean-publish": "^5.0.0",
"commitizen": "^4.3.1",
"del-cli": "^7.0.0",
"eslint": "9.31.0",
"inquirer": "^9.3.7",
"nano-staged": "^1.0.0",
"npm-package-json-lint": "^9.0.0",
"oxlint": "^1.67.0",
"simple-git-hooks": "^2.7.0",
"vite": "^7.0.0",
"vitest": "^4.0.0"
Expand Down
12 changes: 0 additions & 12 deletions packages/browserslist-config/eslint.config.mjs

This file was deleted.

13 changes: 13 additions & 0 deletions packages/browserslist-config/oxlint.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import moduleConfig from '@trigen/oxlint-config/module'
import rootConfig from '../../oxlint.config.ts'

export default {
...rootConfig,
extends: [
rootConfig,
moduleConfig
],
rules: {
'import/no-default-export': 'off'
}
}
16 changes: 0 additions & 16 deletions packages/eslint-config/eslint.config.js

This file was deleted.

16 changes: 16 additions & 0 deletions packages/eslint-config/oxlint.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import moduleConfig from '@trigen/oxlint-config/module'
import rootConfig from '../../oxlint.config.ts'

export default {
...rootConfig,
ignorePatterns: ['**/*.d.ts'],
extends: [
rootConfig,
moduleConfig
],
rules: {
'eslint/no-magic-numbers': 'off',
'import/no-default-export': 'off',
'import/no-anonymous-default-export': 'off'
}
}
4 changes: 0 additions & 4 deletions packages/lint-package-json/eslint.config.js

This file was deleted.

10 changes: 10 additions & 0 deletions packages/lint-package-json/oxlint.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import moduleConfig from '@trigen/oxlint-config/module'
import rootConfig from '../../oxlint.config.ts'

export default {
...rootConfig,
extends: [
rootConfig,
moduleConfig
]
}
12 changes: 0 additions & 12 deletions packages/npm-package-json-lint-config/eslint.config.mjs

This file was deleted.

13 changes: 13 additions & 0 deletions packages/npm-package-json-lint-config/oxlint.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import moduleConfig from '@trigen/oxlint-config/module'
import rootConfig from '../../oxlint.config.ts'

export default {
...rootConfig,
extends: [
rootConfig,
moduleConfig
],
rules: {
'import/no-default-export': 'off'
}
}
81 changes: 81 additions & 0 deletions packages/oxlint-config/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# @trigen/oxlint-config

[![NPM version][npm]][npm-url]
[![Node version][node]][node-url]
[![Dependencies status][deps]][deps-url]
[![Install size][size]][size-url]
[![Build status][build]][build-url]

[npm]: https://img.shields.io/npm/v/%40trigen/oxlint-config.svg
[npm-url]: https://npmjs.com/package/@trigen/oxlint-config

[node]: https://img.shields.io/node/v/%40trigen/oxlint-config.svg
[node-url]: https://nodejs.org

[deps]: https://img.shields.io/librariesio/release/npm/@trigen/oxlint-config
[deps-url]: https://libraries.io/npm/@trigen%2Foxlint-config

[size]: https://packagephobia.com/badge?p=@trigen/oxlint-config
[size-url]: https://packagephobia.com/result?p=@trigen/oxlint-config

[build]: https://img.shields.io/github/actions/workflow/status/TrigenSoftware/scripts/tests.yml?branch=main
[build-url]: https://github.com/TrigenSoftware/scripts/actions

Trigen's Oxlint config.

## Install

```bash
pnpm add -D oxlint @trigen/oxlint-config
# or
yarn add -D oxlint @trigen/oxlint-config
# or
npm i -D oxlint @trigen/oxlint-config
```

## Configure

Create `oxlint.config.ts` with next content:

```ts
import baseConfig from '@trigen/oxlint-config'

export default baseConfig
```

### Additional configs

There are additional configs for specific language features:

| Config | Description |
|--------|-------------|
| @trigen/oxlint-config/commonjs | Rules for CommonJS modules. |
| @trigen/oxlint-config/module | Rules for ES modules. |
| @trigen/oxlint-config/bundler | Rules for ES modules with bundler's module resolution. |
| @trigen/oxlint-config/test | Rules for test files. |
| @trigen/oxlint-config/react | Rules for React code. |
| @trigen/oxlint-config/storybook | Rules for Storybook stories. |
| @trigen/oxlint-config/typescript | Rules for TypeScript code. |
| @trigen/oxlint-config/typescript-type-checked | Rules for TypeScript code with type checking. |

Example:

```ts
import baseConfig from '@trigen/oxlint-config'
import bundlerConfig from '@trigen/oxlint-config/bundler'
import reactConfig from '@trigen/oxlint-config/react'
import typescriptConfig from '@trigen/oxlint-config/typescript-type-checked'
import testConfig from '@trigen/oxlint-config/test'
import storybookConfig from '@trigen/oxlint-config/storybook'

export default {
extends: [
baseConfig,
bundlerConfig,
reactConfig,
typescriptConfig,
testConfig,
storybookConfig
]
}
```
15 changes: 15 additions & 0 deletions packages/oxlint-config/oxlint.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import moduleConfig from '@trigen/oxlint-config/module'
import rootConfig from '../../oxlint.config.ts'

export default {
...rootConfig,
extends: [
rootConfig,
moduleConfig
],
rules: {
'eslint/no-magic-numbers': 'off',
'import/no-default-export': 'off',
'import/no-anonymous-default-export': 'off'
}
}
49 changes: 49 additions & 0 deletions packages/oxlint-config/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
{
"name": "@trigen/oxlint-config",
"type": "module",
"version": "8.4.0",
"description": "Trigen's Oxlint config.",
"author": "dangreen",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/TrigenSoftware/scripts.git",
"directory": "packages/oxlint-config"
},
"bugs": {
"url": "https://github.com/TrigenSoftware/scripts/issues"
},
"keywords": [
"oxlint",
"oxlint-config"
],
"engines": {
"node": ">=20"
},
"exports": {
".": "./src/index.js",
"./plugin": "./src/plugin/index.js",
"./*": "./src/*.js"
},
"publishConfig": {
"access": "public",
"directory": "package",
"linkDirectory": false
},
"scripts": {
"prepublishOnly": "del ./package && clean-publish",
"postpublish": "del ./package"
},
"peerDependencies": {
"oxlint": ">=1.0.0",
"oxlint-tsgolint": ">=0.23.0"
},
"peerDependenciesMeta": {
"oxlint-tsgolint": {
"optional": true
}
},
"dependencies": {
"@stylistic/eslint-plugin": "^5.5.0"
}
}
Loading