@yasainet/eslint 0.0.80 → 0.0.82
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yasainet/eslint",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.82",
|
|
4
4
|
"description": "ESLint",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -36,14 +36,12 @@
|
|
|
36
36
|
"access": "public"
|
|
37
37
|
},
|
|
38
38
|
"scripts": {
|
|
39
|
-
"docs": "node scripts/generate-rules-catalog.mjs",
|
|
40
39
|
"check": "node scripts/check-layer-selectors.mjs"
|
|
41
40
|
},
|
|
42
41
|
"dependencies": {
|
|
43
42
|
"@stylistic/eslint-plugin": "^5.9.0",
|
|
44
43
|
"eslint-plugin-better-tailwindcss": "^4.1.1",
|
|
45
44
|
"eslint-plugin-check-file": "^3.3.1",
|
|
46
|
-
"eslint-plugin-jsdoc": "^62.7.1",
|
|
47
45
|
"eslint-plugin-simple-import-sort": "^12.1.1"
|
|
48
46
|
},
|
|
49
47
|
"peerDependencies": {
|
package/src/common/CLAUDE.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
- `boundaries/<surface>.mjs` — 外界 → features の入口で enforce する契約
|
|
8
8
|
- `cross-cutting/` — 複数 layer に跨る規約
|
|
9
9
|
- 例 (naming): feature-name / namespace-import / form-state
|
|
10
|
-
- 例 (rule): logger /
|
|
10
|
+
- 例 (rule): logger / no-any-return / supabase-columns-satisfies
|
|
11
11
|
- `layers/<layer>.mjs` — features 内部の階層単位
|
|
12
12
|
- 種類: queries / services / entries / utils / constants / schemas / types
|
|
13
13
|
- 1 layer の全制約 (naming + syntax + imports + local rules) を 1 file に集約
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import stylistic from "@stylistic/eslint-plugin";
|
|
2
2
|
import checkFile from "eslint-plugin-check-file";
|
|
3
|
-
import jsdocPlugin from "eslint-plugin-jsdoc";
|
|
4
3
|
import simpleImportSortPlugin from "eslint-plugin-simple-import-sort";
|
|
5
4
|
|
|
6
5
|
export const plugins = {
|
|
7
6
|
"@stylistic": stylistic,
|
|
8
7
|
"check-file": checkFile,
|
|
9
|
-
jsdoc: jsdocPlugin,
|
|
10
8
|
"simple-import-sort": simpleImportSortPlugin,
|
|
11
9
|
};
|
|
12
10
|
|
|
13
|
-
export { checkFile,
|
|
11
|
+
export { checkFile, simpleImportSortPlugin, stylistic };
|
package/src/common/index.mjs
CHANGED
|
@@ -5,7 +5,6 @@ import { createFeatureDefaultImportsConfigs } from "./cross-cutting/feature-defa
|
|
|
5
5
|
import { createFeatureNameConfigs } from "./cross-cutting/feature-name.mjs";
|
|
6
6
|
import { createFeaturesTsOnlyConfigs } from "./cross-cutting/features-ts-only.mjs";
|
|
7
7
|
import { createFormStateConfigs } from "./cross-cutting/form-state.mjs";
|
|
8
|
-
import { createJsdocConfigs } from "./cross-cutting/jsdoc.mjs";
|
|
9
8
|
import { createLoggerConfigs } from "./cross-cutting/logger.mjs";
|
|
10
9
|
import { createNamespaceImportConfigs } from "./cross-cutting/namespace-import.mjs";
|
|
11
10
|
import { createNoAnyReturnConfigs } from "./cross-cutting/no-any-return.mjs";
|
|
@@ -52,7 +51,6 @@ export function createCommonConfigs(
|
|
|
52
51
|
...createTestsConfigs(ctx),
|
|
53
52
|
...createNoAnyReturnConfigs(ctx),
|
|
54
53
|
...createFeatureDefaultImportsConfigs(ctx),
|
|
55
|
-
...createJsdocConfigs(ctx),
|
|
56
54
|
...(banAliasImports ? createBanAliasConfigs(ctx) : []),
|
|
57
55
|
];
|
|
58
56
|
}
|
package/src/next/tailwindcss.mjs
CHANGED
|
@@ -40,9 +40,9 @@ export const tailwindcssConfigs = [
|
|
|
40
40
|
{
|
|
41
41
|
restrict: [
|
|
42
42
|
{
|
|
43
|
-
pattern: "
|
|
43
|
+
pattern: "^-?m[tby]?-(?!auto$)[^-\\s]+$",
|
|
44
44
|
message:
|
|
45
|
-
"margin を避け、padding/gap で間隔を制御する (
|
|
45
|
+
"block 方向の margin (m-*, mt-*, mb-*, my-*) を避け、padding/gap で間隔を制御する (margin collapse 回避)。横方向 (mx-*, ml-*, mr-*) は許可",
|
|
46
46
|
},
|
|
47
47
|
{
|
|
48
48
|
pattern: "^space-[xy]-[^-\\s]+$",
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import jsdocPlugin from "eslint-plugin-jsdoc";
|
|
2
|
-
|
|
3
|
-
import { featuresGlob } from "../_internal/constants.mjs";
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* queries / services の public 関数に JSDoc を必須化する:
|
|
7
|
-
*
|
|
8
|
-
* - 「非自明か」の免除判断を作らせないため require を決定論的に強制する
|
|
9
|
-
* - 冗長でも全関数で強制し例外ゼロ=判断ゼロを優先する
|
|
10
|
-
* - description が Why-not か What かは機械判断できず Claude に委ねる
|
|
11
|
-
* - TS が型の真実源なので tags は強制しない(@param 等は二重写し)
|
|
12
|
-
*/
|
|
13
|
-
export function createJsdocConfigs({ featureRoot }) {
|
|
14
|
-
return [
|
|
15
|
-
{
|
|
16
|
-
name: "jsdoc",
|
|
17
|
-
files: [
|
|
18
|
-
...featuresGlob(featureRoot, "**/queries/*.ts"),
|
|
19
|
-
...featuresGlob(featureRoot, "**/services*/*.ts"),
|
|
20
|
-
],
|
|
21
|
-
plugins: {
|
|
22
|
-
jsdoc: jsdocPlugin,
|
|
23
|
-
},
|
|
24
|
-
rules: {
|
|
25
|
-
"jsdoc/require-jsdoc": [
|
|
26
|
-
"warn",
|
|
27
|
-
{
|
|
28
|
-
publicOnly: true,
|
|
29
|
-
require: {
|
|
30
|
-
FunctionDeclaration: true,
|
|
31
|
-
ArrowFunctionExpression: true,
|
|
32
|
-
FunctionExpression: true,
|
|
33
|
-
},
|
|
34
|
-
checkGetters: false,
|
|
35
|
-
checkSetters: false,
|
|
36
|
-
checkConstructors: false,
|
|
37
|
-
},
|
|
38
|
-
],
|
|
39
|
-
"jsdoc/require-description": [
|
|
40
|
-
"warn",
|
|
41
|
-
{
|
|
42
|
-
contexts: ["any"],
|
|
43
|
-
},
|
|
44
|
-
],
|
|
45
|
-
},
|
|
46
|
-
},
|
|
47
|
-
];
|
|
48
|
-
}
|