@theholocron/eslint-config 8.5.2 → 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,15 +1,7 @@
1
1
  {
2
2
  "name": "@theholocron/eslint-config",
3
- "version": "8.5.2",
3
+ "version": "8.5.4",
4
4
  "description": "A ESLint configuration for writing well-formed Javascript within the Galaxy.",
5
- "homepage": "https://github.com/theholocron/configs/tree/main/packages/eslint-config#readme",
6
- "bugs": "https://github.com/theholocron/configs/issues",
7
- "repository": {
8
- "type": "git",
9
- "url": "git+https://github.com/theholocron/configs.git"
10
- },
11
- "license": "GPL-3.0",
12
- "author": "Newton Koumantzelis",
13
5
  "keywords": [
14
6
  "eslint",
15
7
  "eslintconfig",
@@ -20,24 +12,15 @@
20
12
  "vitest",
21
13
  "storybook"
22
14
  ],
23
- "type": "module",
24
- "dependencies": {
25
- "@eslint/compat": "^2.1.0",
26
- "eslint-package-json": "^0.3.0"
27
- },
28
- "devDependencies": {
29
- "@eslint/js": "^10.0.0",
30
- "@theholocron/cli": "5.0.0-alpha.3",
31
- "@vitest/coverage-v8": "^4.1.10",
32
- "eslint-plugin-simple-import-sort": "^14.0.0",
33
- "globals": "^17.11.0",
34
- "tsdown": "^0.22.14",
35
- "typescript": "^5.9.3",
36
- "typescript-eslint": "^8.67.0",
37
- "vitest": "^4.1.10",
38
- "@theholocron/tsconfig": "8.5.2",
39
- "@theholocron/vitest-config": "8.5.2"
15
+ "homepage": "https://github.com/theholocron/configs/tree/main/packages/eslint-config#readme",
16
+ "bugs": "https://github.com/theholocron/configs/issues",
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "git+https://github.com/theholocron/configs.git"
40
20
  },
21
+ "license": "GPL-3.0",
22
+ "author": "Newton Koumantzelis",
23
+ "type": "module",
41
24
  "exports": {
42
25
  ".": {
43
26
  "types": "./dist/index.d.ts",
@@ -119,6 +102,25 @@
119
102
  "files": [
120
103
  "dist/"
121
104
  ],
105
+ "dependencies": {
106
+ "@eslint/compat": "^2.1.0",
107
+ "eslint-package-json": "^0.3.0"
108
+ },
109
+ "devDependencies": {
110
+ "@eslint/js": "^10.0.0",
111
+ "@theholocron/cli": "5.0.0-alpha.3",
112
+ "@vitest/coverage-v8": "^4.1.10",
113
+ "@vitest/eslint-plugin": "^1.6.23",
114
+ "eslint-plugin-n": "^18.3.0",
115
+ "eslint-plugin-simple-import-sort": "^14.0.0",
116
+ "globals": "^17.11.0",
117
+ "tsdown": "^0.22.14",
118
+ "typescript": "^5.9.3",
119
+ "typescript-eslint": "^8.67.0",
120
+ "vitest": "^4.1.10",
121
+ "@theholocron/vitest-config": "8.5.4",
122
+ "@theholocron/tsconfig": "8.5.4"
123
+ },
122
124
  "peerDependencies": {
123
125
  "@eslint/js": "^10",
124
126
  "@next/eslint-plugin-next": "^16",
@@ -137,16 +139,10 @@
137
139
  "@next/eslint-plugin-next": {
138
140
  "optional": true
139
141
  },
140
- "eslint-plugin-jsdoc": {
141
- "optional": true
142
- },
143
- "@vitest/eslint-plugin": {
144
- "optional": true
145
- },
146
142
  "eslint-plugin-cypress": {
147
143
  "optional": true
148
144
  },
149
- "eslint-plugin-n": {
145
+ "eslint-plugin-jsdoc": {
150
146
  "optional": true
151
147
  },
152
148
  "eslint-plugin-react": {