@genesislcap/oxlint-config 15.6.0 → 15.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.oxlintrc.json CHANGED
@@ -79,6 +79,7 @@
79
79
  "import-es/no-duplicates": "warn",
80
80
  "import-es/no-self-import": "error",
81
81
  "import-es/no-useless-path-segments": "warn",
82
+ "import-es/no-extraneous-dependencies": "error",
82
83
  "import-es/order": [
83
84
  "warn",
84
85
  {
package/README.md CHANGED
@@ -1,11 +1,10 @@
1
1
  # @genesislcap/oxlint-config
2
2
 
3
- Published **Oxlint** rules for Genesis Foundation UI. It is the lint analogue of [`@genesislcap/eslint-config`](../eslint-config/README.md): one shared ruleset apps and the monorepo extend, while **ESLint** stays available for stricter or type-aware checks that Oxlint does not cover.
3
+ Published **Oxlint** rules for Genesis Foundation UI. This monorepo's own lint pipeline (**`npm run lint`**) runs **Oxlint only** — Oxlint → Oxfmt → Stylelint. [`@genesislcap/eslint-config`](../eslint-config/README.md) still exists and remains available for other packages/consumers that opt in to ESLint for stricter or type-aware checks Oxlint doesn't cover (see its README and the [Import rules and ESLint](#import-rules-and-eslint) section below for the specific gaps), but it is no longer part of this repo's own build/CI.
4
4
 
5
5
  ## What it does
6
6
 
7
7
  - Ships **[`.oxlintrc.json`](./.oxlintrc.json)** — the only file you should edit for Oxlint rule changes in this product line.
8
- - Keeps rule **intent** aligned with `@genesislcap/eslint-config` and the monorepo root [`eslint.config.mjs`](../../../../eslint.config.mjs) (ESLint-only overrides stay in ESLint).
9
8
  - **Does not format code.** Formatting is **Oxfmt** — config lives in the root **`.oxfmtrc.json`** (copy it to your app, no extra package needed).
10
9
 
11
10
  ## How it runs in the monorepo
@@ -16,17 +15,15 @@ Published **Oxlint** rules for Genesis Foundation UI. It is the lint analogue of
16
15
 
17
16
  ## Import rules and ESLint
18
17
 
19
- Oxlint loads **`eslint-plugin-import`** as a **[JS plugin](https://oxc.rs/docs/guide/usage/linter/js-plugins.html)** under the alias **`import-es`** (avoids clashing with Oxlint’s built-in `import` plugin). In this config, `import-es` covers **`newline-after-import`**, **`no-self-import`**, **`no-useless-path-segments`** (warn), and **`no-duplicates`** (warn).
18
+ Oxlint loads **`eslint-plugin-import`** as a **[JS plugin](https://oxc.rs/docs/guide/usage/linter/js-plugins.html)** under the alias **`import-es`** (avoids clashing with Oxlint’s built-in `import` plugin). In this config, `import-es` covers **`newline-after-import`**, **`no-self-import`**, **`no-useless-path-segments`** (warn), **`no-duplicates`** (warn), and **`no-extraneous-dependencies`** (error).
20
19
 
21
20
  **Import ordering** is handled by **`import-es/order`** with the same groups and `alphabetize` config as `@genesislcap/eslint-config`, so both linters enforce identical ordering. `import-es/first` is disabled (redundant with `import-es/order`).
22
21
 
23
- **`import/no-extraneous-dependencies`** is intentionally **not** run in Oxlint here (noisy with per-package `package.json` in a large monorepo). Use **ESLint** for that.
24
-
25
22
  Native Oxlint **`import/*`** rules used here include **`no-absolute-path`** and **`no-mutable-exports`** — do not duplicate those as `import-es/*`.
26
23
 
27
- JS plugins are **alpha** in Oxlint; **type-aware** TypeScript rules still require **ESLint** ([upstream limits](https://oxc.rs/docs/guide/usage/linter/js-plugins.html#api-support)).
24
+ JS plugins are **alpha** in Oxlint; **type-aware** TypeScript rules (e.g. `@typescript-eslint/no-shadow`) still require **ESLint** ([upstream limits](https://oxc.rs/docs/guide/usage/linter/js-plugins.html#api-support)). Two rare-trigger core rules, `no-unreachable-loop` and `require-atomic-updates`, also have no Oxlint implementation yet.
28
25
 
29
- **When to run ESLint as well:** use **`genx lint -l eslint`** or, from the monorepo root, **`npm run lint:with-eslint`**, when you need **`import/no-extraneous-dependencies`**, finer **`import/*`** behavior, or **`@typescript-eslint/*`** type-aware rules.
26
+ **When to run ESLint as well:** in a package that depends on `@genesislcap/eslint-config`, use **`genx lint -l eslint`** (or that package's own `lint:eslint`/`lint:with-eslint` script, if defined) when you need type-aware **`@typescript-eslint/*`** rules or finer `import/*` behavior. This monorepo's own root pipeline no longer runs ESLint, so those remaining gaps aren't enforced here — only in packages that opt in.
30
27
 
31
28
  ## Consumption
32
29
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/oxlint-config",
3
- "description": "Oxlint rules derived from @genesislcap/eslint-config and eslint.config.mjs",
4
- "version": "15.6.0",
3
+ "description": "Oxlint rules derived from @genesislcap/eslint-config",
4
+ "version": "15.6.2",
5
5
  "license": "SEE LICENSE IN license.txt",
6
6
  "engines": {
7
7
  "node": ">=22.0.0"
@@ -17,7 +17,7 @@
17
17
  "eslint-plugin-import": "^2.27.5",
18
18
  "eslint-plugin-unused-imports": "^4.0.0",
19
19
  "oxfmt": "^0.44.0",
20
- "oxlint": "^1.59.0"
20
+ "oxlint": "^1.77.0"
21
21
  },
22
22
  "repository": {
23
23
  "type": "git",
@@ -31,5 +31,5 @@
31
31
  "lint": "genx lint -l ox",
32
32
  "lint:fix": "genx lint -l ox --fix"
33
33
  },
34
- "gitHead": "dbf070bac8a4bfc2a178e335b1faffb130e8f761"
34
+ "gitHead": "a5781780cb56906755ddbfc4be75e221719ae4b4"
35
35
  }