@tsfpp/eslint-config 1.1.0 → 2.0.0
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/README.md +2 -0
- package/dist/base.d.ts +1 -1
- package/dist/base.d.ts.map +1 -1
- package/dist/base.js +21 -1
- package/dist/base.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -130,6 +130,8 @@ export default [
|
|
|
130
130
|
| `no-restricted-syntax` → `TSModuleDeclaration[kind='namespace']` | 1.9 | MUST |
|
|
131
131
|
| `no-restricted-syntax` → `BinaryExpression[operator="instanceof"]` | 1.9 | MUST |
|
|
132
132
|
| `no-restricted-syntax` → `NewExpression` | 1.9 | MUST |
|
|
133
|
+
| `no-restricted-globals` → `isNaN`, `isFinite`, `parseInt`, `parseFloat` | 1.13 | MUST |
|
|
134
|
+
| `no-restricted-syntax` → `Date.now()`, `Math.random()`, `process.env` | 4.6 | MUST |
|
|
133
135
|
| `functional/no-classes` | 1.9 | MUST |
|
|
134
136
|
| `functional/no-this-expressions` | 1.9 | MUST |
|
|
135
137
|
| `functional/no-let` | 2.1 | MUST |
|
package/dist/base.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @tsfpp/eslint-config — base
|
|
3
3
|
*
|
|
4
4
|
* Shared ESLint flat configuration for TSF++ projects (pure TypeScript targets).
|
|
5
|
-
* Enforces Rules 1.2–1.9, 2.1–2.3, 3.1–3.2, 3.4, 4.1, 4.2, 4.5, 6.2, 6.4, 11.2
|
|
5
|
+
* Enforces Rules 1.2–1.9, 1.13, 2.1–2.3, 3.1–3.2, 3.4, 4.1, 4.2, 4.5, 4.6, 6.2, 6.4, 11.2
|
|
6
6
|
* from CODING_STANDARD.md via @typescript-eslint and eslint-plugin-functional.
|
|
7
7
|
*
|
|
8
8
|
* Usage (base only):
|
package/dist/base.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAO,QAAQ,CAAA;AAMrC,QAAA,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAO,QAAQ,CAAA;AAMrC,QAAA,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EA+M1B,CAAA;AAED,eAAe,MAAM,CAAA"}
|
package/dist/base.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @tsfpp/eslint-config — base
|
|
3
3
|
*
|
|
4
4
|
* Shared ESLint flat configuration for TSF++ projects (pure TypeScript targets).
|
|
5
|
-
* Enforces Rules 1.2–1.9, 2.1–2.3, 3.1–3.2, 3.4, 4.1, 4.2, 4.5, 6.2, 6.4, 11.2
|
|
5
|
+
* Enforces Rules 1.2–1.9, 1.13, 2.1–2.3, 3.1–3.2, 3.4, 4.1, 4.2, 4.5, 4.6, 6.2, 6.4, 11.2
|
|
6
6
|
* from CODING_STANDARD.md via @typescript-eslint and eslint-plugin-functional.
|
|
7
7
|
*
|
|
8
8
|
* Usage (base only):
|
|
@@ -81,6 +81,26 @@ const config = [
|
|
|
81
81
|
selector: 'NewExpression',
|
|
82
82
|
message: 'TSF++ Rule 1.9: new is forbidden outside adapter boundaries. Add DEVIATION(1.9) and an eslint-disable comment.',
|
|
83
83
|
},
|
|
84
|
+
// Rule 4.6 — ambient nondeterminism is an effect (Appendix B); `new Date()` is already caught by Rule 1.9 above
|
|
85
|
+
{
|
|
86
|
+
selector: "CallExpression[callee.object.name='Date'][callee.property.name='now']",
|
|
87
|
+
message: 'TSF++ Rule 4.6: Date.now() is an effect; inject `now: () => Date` via Deps.',
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
selector: "CallExpression[callee.object.name='Math'][callee.property.name='random']",
|
|
91
|
+
message: 'TSF++ Rule 4.6: Math.random() is an effect; inject a seeded generator via Deps.',
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
selector: "MemberExpression[object.object.name='process'][object.property.name='env']",
|
|
95
|
+
message: 'TSF++ Rule 4.6: process.env is ambient input; load config at the boundary and inject it.',
|
|
96
|
+
},
|
|
97
|
+
],
|
|
98
|
+
// Rule 1.13 — numeric hazards: coercing globals (Appendix B)
|
|
99
|
+
'no-restricted-globals': ['error',
|
|
100
|
+
{ name: 'isNaN', message: 'TSF++ Rule 1.13: use Number.isNaN — the global coerces its argument.' },
|
|
101
|
+
{ name: 'isFinite', message: 'TSF++ Rule 1.13: use Number.isFinite — the global coerces its argument.' },
|
|
102
|
+
{ name: 'parseInt', message: 'TSF++ Rule 1.13: coercion parsing is forbidden in the core; parse at the boundary via a smart constructor.' },
|
|
103
|
+
{ name: 'parseFloat', message: 'TSF++ Rule 1.13: coercion parsing is forbidden in the core; parse at the boundary via a smart constructor.' },
|
|
84
104
|
],
|
|
85
105
|
// ── Immutability & functional style ──────────────────────────────────────
|
|
86
106
|
// Rule 2.1 — no `let`
|
package/dist/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../base.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../base.ts"],"names":[],"mappings":"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"}
|