@theholocron/eslint-config 8.5.3 → 8.5.4

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.
@@ -23,6 +23,14 @@ interface LibraryOptions {
23
23
  * file — covers every repo but the `browserPackages` outlier, which keeps a
24
24
  * tiny `export default library({ browserPackages: [...] })` (config-resolution
25
25
  * workstream, #676 in theholocron/holocron).
26
+ *
27
+ * `docsSrcConfig` is re-asserted after `node()` below — `node()`'s own
28
+ * `recommended-module` preset sets `n/no-extraneous-import: "error"` with no
29
+ * `files` restriction, which otherwise clobbers `base()`'s earlier, more
30
+ * specific `docs/src/**` exemption (flat config merges in array order, later
31
+ * entries win per rule per matching file). Found live: `theholocron/clients`
32
+ * still needed its own local override for this despite `base()` already
33
+ * covering it in isolation.
26
34
  */
27
35
  declare function library(options?: LibraryOptions): Linter.Config[];
28
36
  /**
@@ -1,4 +1,4 @@
1
- import { base } from "../configs/base.js";
1
+ import { base, docsSrcConfig } from "../configs/base.js";
2
2
  import { packageJson } from "../configs/package-json.js";
3
3
  import { typescript } from "../configs/typescript.js";
4
4
  import { node } from "../configs/node.js";
@@ -16,11 +16,20 @@ import { vitest as vitestConfig } from "../configs/vitest.js";
16
16
  * file — covers every repo but the `browserPackages` outlier, which keeps a
17
17
  * tiny `export default library({ browserPackages: [...] })` (config-resolution
18
18
  * workstream, #676 in theholocron/holocron).
19
+ *
20
+ * `docsSrcConfig` is re-asserted after `node()` below — `node()`'s own
21
+ * `recommended-module` preset sets `n/no-extraneous-import: "error"` with no
22
+ * `files` restriction, which otherwise clobbers `base()`'s earlier, more
23
+ * specific `docs/src/**` exemption (flat config merges in array order, later
24
+ * entries win per rule per matching file). Found live: `theholocron/clients`
25
+ * still needed its own local override for this despite `base()` already
26
+ * covering it in isolation.
19
27
  */
20
28
  function library(options = {}) {
21
29
  return [
22
30
  ...base(),
23
31
  ...node(),
32
+ docsSrcConfig,
24
33
  ...typescript(),
25
34
  ...packageJson(),
26
35
  ...vitestConfig(),
@@ -1,4 +1,4 @@
1
- import { base } from "../configs/base.js";
1
+ import { base, docsSrcConfig } from "../configs/base.js";
2
2
  import { packageJson } from "../configs/package-json.js";
3
3
  import { typescript } from "../configs/typescript.js";
4
4
  import { node } from "../configs/node.js";
@@ -8,6 +8,7 @@ function nodeApp() {
8
8
  return [
9
9
  ...base(),
10
10
  ...node(),
11
+ docsSrcConfig,
11
12
  ...typescript(),
12
13
  ...vitestConfig(),
13
14
  ...packageJson()
@@ -1,5 +1,14 @@
1
1
  import { Linter } from "eslint";
2
2
  //#region configs/base.d.ts
3
+ /**
4
+ * docs/src imports resolve against the repo ROOT package.json (docs sites
5
+ * in this org are never their own workspace package — see clients/themes/
6
+ * utils/observability), so n/no-extraneous-import flags every import in
7
+ * that directory as a false positive. Scoped to a glob that simply matches
8
+ * nothing in a repo without a docs/src — safe to always include rather
9
+ * than opt into per repo.
10
+ */
11
+ declare const docsSrcConfig: Linter.Config;
3
12
  declare function base(): Linter.Config[];
4
13
  //#endregion
5
- export { base };
14
+ export { base, docsSrcConfig };
@@ -75,4 +75,4 @@ function base() {
75
75
  ];
76
76
  }
77
77
  //#endregion
78
- export { base };
78
+ export { base, docsSrcConfig };
@@ -6,7 +6,8 @@ function node() {
6
6
  rules: {
7
7
  "n/no-process-exit": "off",
8
8
  "n/no-missing-import": "off",
9
- "n/no-unsupported-features/es-syntax": "off"
9
+ "n/no-unsupported-features/es-syntax": "off",
10
+ "n/no-unsupported-features/node-builtins": ["error", { version: ">=22.0.0" }]
10
11
  }
11
12
  }];
12
13
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theholocron/eslint-config",
3
- "version": "8.5.3",
3
+ "version": "8.5.4",
4
4
  "description": "A ESLint configuration for writing well-formed Javascript within the Galaxy.",
5
5
  "keywords": [
6
6
  "eslint",
@@ -118,8 +118,8 @@
118
118
  "typescript": "^5.9.3",
119
119
  "typescript-eslint": "^8.67.0",
120
120
  "vitest": "^4.1.10",
121
- "@theholocron/tsconfig": "8.5.3",
122
- "@theholocron/vitest-config": "8.5.3"
121
+ "@theholocron/vitest-config": "8.5.4",
122
+ "@theholocron/tsconfig": "8.5.4"
123
123
  },
124
124
  "peerDependencies": {
125
125
  "@eslint/js": "^10",