@simplysm/lint 13.0.27 → 13.0.29
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/dist/eslint-recommended.d.ts.map +1 -1
- package/dist/eslint-recommended.js +10 -2
- package/dist/eslint-recommended.js.map +1 -1
- package/dist/rules/no-hard-private.d.ts.map +1 -1
- package/dist/rules/no-hard-private.js.map +1 -1
- package/dist/rules/no-subpath-imports-from-simplysm.d.ts.map +1 -1
- package/dist/rules/no-subpath-imports-from-simplysm.js.map +1 -1
- package/dist/rules/ts-no-throw-not-implemented-error.d.ts.map +1 -1
- package/dist/rules/ts-no-throw-not-implemented-error.js.map +1 -1
- package/dist/utils/create-rule.d.ts.map +1 -1
- package/dist/utils/create-rule.js.map +1 -1
- package/package.json +4 -4
- package/src/eslint-recommended.ts +14 -4
- package/src/rules/no-hard-private.ts +9 -3
- package/src/rules/no-subpath-imports-from-simplysm.ts +4 -2
- package/src/rules/ts-no-throw-not-implemented-error.ts +13 -3
- package/src/utils/create-rule.ts +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eslint-recommended.d.ts","sourceRoot":"","sources":["../src/eslint-recommended.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"eslint-recommended.d.ts","sourceRoot":"","sources":["../src/eslint-recommended.ts"],"names":[],"mappings":";AAoFA,wBAuMG"}
|
|
@@ -91,7 +91,12 @@ var eslint_recommended_default = defineConfig([
|
|
|
91
91
|
"import/no-extraneous-dependencies": [
|
|
92
92
|
"error",
|
|
93
93
|
{
|
|
94
|
-
devDependencies: [
|
|
94
|
+
devDependencies: [
|
|
95
|
+
"**/lib/**",
|
|
96
|
+
"**/eslint.config.js",
|
|
97
|
+
"**/simplysm.js",
|
|
98
|
+
"**/vitest.config.js"
|
|
99
|
+
]
|
|
95
100
|
}
|
|
96
101
|
],
|
|
97
102
|
// JS/TS 공통
|
|
@@ -121,7 +126,10 @@ var eslint_recommended_default = defineConfig([
|
|
|
121
126
|
"@typescript-eslint/return-await": ["error", "in-try-catch"],
|
|
122
127
|
"@typescript-eslint/no-floating-promises": "error",
|
|
123
128
|
"@typescript-eslint/no-shadow": "error",
|
|
124
|
-
"@typescript-eslint/no-unnecessary-condition": [
|
|
129
|
+
"@typescript-eslint/no-unnecessary-condition": [
|
|
130
|
+
"error",
|
|
131
|
+
{ allowConstantLoopConditions: true }
|
|
132
|
+
],
|
|
125
133
|
"@typescript-eslint/no-unnecessary-type-assertion": "error",
|
|
126
134
|
// "@typescript-eslint/non-nullable-type-assertion-style": "error",
|
|
127
135
|
"@typescript-eslint/prefer-reduce-type-parameter": "error",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/eslint-recommended.ts"],
|
|
4
|
-
"mappings": "AAAA,OAAO,aAAa;AACpB,OAAO,kBAAmC;AAC1C,OAAO,YAAY;AACnB,OAAO,kBAAkB;AACzB,OAAO,yBAAyB;AAChC,OAAO,iBAAiB;AACxB,OAAO,uBAAuB;AAC9B,SAAS,cAAc,qBAAqB;AAC5C,SAAS,cAAc;AAYvB,MAAM,cAAgC;AAAA,EACpC,cAAc;AAAA,EACd,uBAAuB;AAAA,EACvB,UAAU,CAAC,SAAS,UAAU,EAAE,MAAM,SAAS,CAAC;AAAA,EAChD,mBAAmB;AAAA,EACnB,yBAAyB;AAC3B;AAOA,MAAM,sBAAwC;AAAA,EAC5C,yBAAyB;AAAA,IACvB;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-hard-private.d.ts","sourceRoot":"","sources":["../../src/rules/no-hard-private.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"no-hard-private.d.ts","sourceRoot":"","sources":["../../src/rules/no-hard-private.ts"],"names":[],"mappings":"AAmBA;;;;;;;;;GASG;;;;AACH,wBAgHG"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/rules/no-hard-private.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,sBAAqC;AAE9C,SAAS,kBAAkB;
|
|
4
|
+
"mappings": "AAAA,SAAS,sBAAqC;AAE9C,SAAS,kBAAkB;AAO3B,SAAS,+BACP,MACsC;AACtC,SACE,MAAM,SAAS,eAAe,sBAC9B,MAAM,SAAS,eAAe,oBAC9B,MAAM,SAAS,eAAe;AAElC;AAYA,IAAO,0BAAQ,WAAW;AAAA,EACxB,MAAM;AAAA,EACN,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,MAAM;AAAA,MACJ,aAAa;AAAA,IACf;AAAA,IACA,UAAU;AAAA,MACR,mBACE;AAAA,MACF,cACE;AAAA,IACJ;AAAA,IACA,SAAS;AAAA,IACT,QAAQ,CAAC;AAAA,EACX;AAAA,EACA,gBAAgB,CAAC;AAAA,EACjB,OAAO,SAAS;AACd,UAAM,aAAa,QAAQ;AAE3B,UAAM,aAA4B,CAAC;AAEnC,WAAO;AAAA;AAAA,MAEL,YAAY,MAA0B;AACpC,cAAM,cAAc,oBAAI,IAAY;AACpC,mBAAW,UAAU,KAAK,MAAM;AAC9B,cAAI,EAAE,SAAS,QAAS;AACxB,gBAAM,MAAM,OAAO;AACnB,cAAI,IAAI,SAAS,eAAe,YAAY;AAC1C,wBAAY,IAAI,IAAI,IAAI;AAAA,UAC1B;AAAA,QACF;AACA,mBAAW,KAAK,WAAW;AAAA,MAC7B;AAAA,MAEA,mBAAmB;AACjB,mBAAW,IAAI;AAAA,MACjB;AAAA;AAAA,MAGA,qHACE,MACA;AACA,cAAM,SAAS,KAAK;AACpB,YAAI,CAAC,+BAA+B,MAAM,GAAG;AAC3C;AAAA,QACF;AAEA,cAAM,iBAAiB,KAAK;AAC5B,cAAM,aAAa,IAAI,cAAc;AACrC,cAAM,sBAAsB,WAAW,GAAG,EAAE;AAG5C,YAAI,qBAAqB,IAAI,UAAU,GAAG;AACxC,kBAAQ,OAAO;AAAA,YACb;AAAA,YACA,WAAW;AAAA,YACX,MAAM,EAAE,MAAM,eAAe;AAAA,UAC/B,CAAC;AACD;AAAA,QACF;AAEA,gBAAQ,OAAO;AAAA,UACb;AAAA,UACA,WAAW;AAAA,UACX,IAAI,OAAO;AACT,kBAAM,QAAmB,CAAC;AAG1B,kBAAM,KAAK,MAAM,YAAY,MAAM,UAAU,CAAC;AAG9C,gBAAI,OAAO,iBAAiB,MAAM;AAEhC,kBAAI,sBAAsB,WAAW,cAAc,MAAM;AAIzD,kBAAI,OAAO,WAAW,SAAS,GAAG;AAChC,sBAAM,gBAAgB,OAAO,WAAW,GAAG,EAAE;AAC7C,sCAAsB,WAAW,cAAc,aAAa;AAAA,cAC9D;AAMA,kBAAI,uBAAuB,MAAM;AAC/B,uBAAO,CAAC;AAAA,cACV;AACA,oBAAM,KAAK,MAAM,iBAAiB,qBAAqB,UAAU,CAAC;AAAA,YACpE;AAEA,mBAAO;AAAA,UACT;AAAA,QACF,CAAC;AAAA,MACH;AAAA;AAAA,MAGA,uCAAuC,MAAkC;AACvE,cAAM,iBAAiB,KAAK;AAC5B,gBAAQ,OAAO;AAAA,UACb;AAAA,UACA,WAAW;AAAA,UACX,IAAI,OAAO;AACT,mBAAO,MAAM,YAAY,MAAM,IAAI,cAAc,EAAE;AAAA,UACrD;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AACF,CAAC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-subpath-imports-from-simplysm.d.ts","sourceRoot":"","sources":["../../src/rules/no-subpath-imports-from-simplysm.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;;;;AACH,
|
|
1
|
+
{"version":3,"file":"no-subpath-imports-from-simplysm.d.ts","sourceRoot":"","sources":["../../src/rules/no-subpath-imports-from-simplysm.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;;;;AACH,wBAmEG"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/rules/no-subpath-imports-from-simplysm.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,gBAAgB,gBAAgB;AACzC,SAAS,kBAAkB;AAW3B,IAAO,2CAAQ,WAAW;AAAA,EACxB,MAAM;AAAA,EACN,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,MAAM;AAAA,MACJ,
|
|
4
|
+
"mappings": "AAAA,SAAS,gBAAgB,gBAAgB;AACzC,SAAS,kBAAkB;AAW3B,IAAO,2CAAQ,WAAW;AAAA,EACxB,MAAM;AAAA,EACN,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,MAAM;AAAA,MACJ,aACE;AAAA,IACJ;AAAA,IACA,SAAS;AAAA,IACT,QAAQ,CAAC;AAAA,IACT,UAAU;AAAA,MACR,iBACE;AAAA,IACJ;AAAA,EACF;AAAA,EACA,gBAAgB,CAAC;AAAA,EACjB,OAAO,SAAS;AACd,aAAS,eAAe,YAAoC,YAAoB;AAC9E,UAAI,CAAC,WAAW,WAAW,YAAY,EAAG;AAE1C,YAAM,QAAQ,WAAW,MAAM,GAAG;AAIlC,UAAI,MAAM,UAAU,KAAK,MAAM,CAAC,MAAM,OAAO;AAC3C,cAAM,YAAY,aAAa,MAAM,CAAC,CAAC;AACvC,gBAAQ,OAAO;AAAA,UACb,MAAM;AAAA,UACN,WAAW;AAAA,UACX,MAAM;AAAA,YACJ,KAAK,MAAM,CAAC;AAAA,YACZ;AAAA,UACF;AAAA,UACA,IAAI,OAAO;AACT,kBAAM,QAAQ,WAAW,IAAI,CAAC;AAC9B,mBAAO,MAAM,YAAY,YAAY,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,EAAE;AAAA,UACrE;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AAEA,WAAO;AAAA;AAAA,MAEL,kBAAkB,MAAM;AACtB,uBAAe,KAAK,QAAQ,KAAK,OAAO,KAAK;AAAA,MAC/C;AAAA;AAAA,MAGA,iBAAiB,MAAM;AACrB,YAAI,KAAK,OAAO,SAAS,eAAe,QAAS;AACjD,cAAM,aAAa,KAAK,OAAO;AAC/B,YAAI,OAAO,eAAe,SAAU;AACpC,uBAAe,KAAK,QAAQ,UAAU;AAAA,MACxC;AAAA;AAAA,MAGA,uBAAuB,MAAM;AAC3B,YAAI,CAAC,KAAK,OAAQ;AAClB,uBAAe,KAAK,QAAQ,KAAK,OAAO,KAAK;AAAA,MAC/C;AAAA;AAAA,MAGA,qBAAqB,MAAM;AACzB,uBAAe,KAAK,QAAQ,KAAK,OAAO,KAAK;AAAA,MAC/C;AAAA,IACF;AAAA,EACF;AACF,CAAC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ts-no-throw-not-implemented-error.d.ts","sourceRoot":"","sources":["../../src/rules/ts-no-throw-not-implemented-error.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;GAaG;;;;AACH,
|
|
1
|
+
{"version":3,"file":"ts-no-throw-not-implemented-error.d.ts","sourceRoot":"","sources":["../../src/rules/ts-no-throw-not-implemented-error.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;GAaG;;;;AACH,wBA+FG"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/rules/ts-no-throw-not-implemented-error.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,gBAAgB,gBAA+B;AACxD,SAAS,kBAAkB;AAgB3B,IAAO,4CAAQ,WAAW;AAAA,EACxB,MAAM;AAAA,EACN,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,MAAM;AAAA,MACJ,aAAa;AAAA,IACf;AAAA,IACA,QAAQ,CAAC;AAAA,IACT,UAAU;AAAA,MACR,4BAA4B;AAAA,IAC9B;AAAA,EACF;AAAA,EACA,gBAAgB,CAAC;AAAA,EACjB,OAAO,SAAS;AAOd,aAAS,uBACP,YACA,sBACS;AACT,YAAM,QAAQ,QAAQ,WAAW,SAAS,UAAU;AACpD,YAAM,WAAW,SAAS,aAAa,OAAO,WAAW,IAAI;AAC7D,UAAI,CAAC,SAAU,QAAO;AAEtB,iBAAW,OAAO,SAAS,MAAM;AAC/B,YAAI,IAAI,SAAS,gBAAiB;AAClC,YAAI,IAAI,OAAO,SAAS,eAAe,kBAAmB;AAC1D,YAAI,IAAI,OAAO,OAAO,UAAU,wBAAyB;AAGzD,YAAI,IAAI,KAAK,SAAS,eAAe,mBAAmB,wBAAwB,MAAM;AACpF,gBAAM,WAAW,IAAI,KAAK;AAC1B,
|
|
4
|
+
"mappings": "AAAA,SAAS,gBAAgB,gBAA+B;AACxD,SAAS,kBAAkB;AAgB3B,IAAO,4CAAQ,WAAW;AAAA,EACxB,MAAM;AAAA,EACN,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,MAAM;AAAA,MACJ,aAAa;AAAA,IACf;AAAA,IACA,QAAQ,CAAC;AAAA,IACT,UAAU;AAAA,MACR,4BAA4B;AAAA,IAC9B;AAAA,EACF;AAAA,EACA,gBAAgB,CAAC;AAAA,EACjB,OAAO,SAAS;AAOd,aAAS,uBACP,YACA,sBACS;AACT,YAAM,QAAQ,QAAQ,WAAW,SAAS,UAAU;AACpD,YAAM,WAAW,SAAS,aAAa,OAAO,WAAW,IAAI;AAC7D,UAAI,CAAC,SAAU,QAAO;AAEtB,iBAAW,OAAO,SAAS,MAAM;AAC/B,YAAI,IAAI,SAAS,gBAAiB;AAClC,YAAI,IAAI,OAAO,SAAS,eAAe,kBAAmB;AAC1D,YAAI,IAAI,OAAO,OAAO,UAAU,wBAAyB;AAGzD,YAAI,IAAI,KAAK,SAAS,eAAe,mBAAmB,wBAAwB,MAAM;AACpF,gBAAM,WAAW,IAAI,KAAK;AAC1B,cACE,SAAS,SAAS,eAAe,cACjC,SAAS,SAAS,sBAClB;AACA,mBAAO;AAAA,UACT;AAAA,QACF;AAGA,YACE,IAAI,KAAK,SAAS,eAAe,4BACjC,wBAAwB,MACxB;AACA,iBAAO;AAAA,QACT;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAEA,WAAO;AAAA,MACL,cAAc,MAA8B;AAC1C,YAAI,eAAe;AAGnB,YAAI,KAAK,OAAO,SAAS,eAAe,YAAY;AAClD,yBAAe,uBAAuB,KAAK,QAAQ,qBAAqB;AAAA,QAC1E,WAIE,KAAK,OAAO,SAAS,eAAe,oBACpC,KAAK,OAAO,SAAS,SAAS,eAAe,cAC7C,KAAK,OAAO,SAAS,SAAS,yBAC9B,KAAK,OAAO,OAAO,SAAS,eAAe,YAC3C;AACA,yBAAe,uBAAuB,KAAK,OAAO,QAAQ,MAAS;AAAA,QACrE;AAEA,YAAI,CAAC,aAAc;AAEnB,YAAI,MAAM;AACV,cAAM,WAAW,KAAK,UAAU,GAAG,CAAC;AACpC,YACE,UAAU,SAAS,eAAe,WAClC,OAAO,SAAS,UAAU,YAC1B,SAAS,UAAU,IACnB;AACA,gBAAM,SAAS;AAAA,QACjB;AAEA,gBAAQ,OAAO;AAAA,UACb;AAAA,UACA,WAAW;AAAA,UACX,MAAM,EAAE,MAAM,IAAI;AAAA,QACpB,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AACF,CAAC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-rule.d.ts","sourceRoot":"","sources":["../../src/utils/create-rule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,UAAU;;
|
|
1
|
+
{"version":3,"file":"create-rule.d.ts","sourceRoot":"","sources":["../../src/utils/create-rule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,UAAU;;CAGtB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/create-rule.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,mBAAmB;AAmBrB,MAAM,aAAa,YAAY;AAAA,EACpC,CAAC,
|
|
4
|
+
"mappings": "AAAA,SAAS,mBAAmB;AAmBrB,MAAM,aAAa,YAAY;AAAA,EACpC,CAAC,SACC,sFAAsF,IAAI;AAC9F;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@simplysm/lint",
|
|
3
|
-
"version": "13.0.
|
|
3
|
+
"version": "13.0.29",
|
|
4
4
|
"description": "심플리즘 패키지 - Lint 설정 (ESLint + Stylelint)",
|
|
5
5
|
"author": "김석래",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
}
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@typescript-eslint/utils": "^8.
|
|
33
|
+
"@typescript-eslint/utils": "^8.56.0",
|
|
34
34
|
"eslint": "^9.39.2",
|
|
35
35
|
"eslint-plugin-import": "^2.32.0",
|
|
36
36
|
"eslint-plugin-solid": "^0.14.5",
|
|
@@ -43,10 +43,10 @@
|
|
|
43
43
|
"stylelint-no-unresolved-module": "^2.5.2",
|
|
44
44
|
"stylelint-no-unsupported-browser-features": "^8.1.1",
|
|
45
45
|
"typescript": "^5.9.3",
|
|
46
|
-
"typescript-eslint": "^8.
|
|
46
|
+
"typescript-eslint": "^8.56.0"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@types/eslint-plugin-tailwindcss": "^3.17.0",
|
|
50
|
-
"@typescript-eslint/rule-tester": "^8.
|
|
50
|
+
"@typescript-eslint/rule-tester": "^8.56.0"
|
|
51
51
|
}
|
|
52
52
|
}
|
|
@@ -36,7 +36,8 @@ const noNodeBuiltinsRules: FlatConfig.Rules = {
|
|
|
36
36
|
"error",
|
|
37
37
|
{
|
|
38
38
|
name: "Buffer",
|
|
39
|
-
message:
|
|
39
|
+
message:
|
|
40
|
+
"Uint8Array를 사용하세요. 복잡한 연산은 @simplysm/core-common의 BytesUtils를 사용하세요.",
|
|
40
41
|
},
|
|
41
42
|
],
|
|
42
43
|
"no-restricted-imports": [
|
|
@@ -45,7 +46,8 @@ const noNodeBuiltinsRules: FlatConfig.Rules = {
|
|
|
45
46
|
paths: [
|
|
46
47
|
{
|
|
47
48
|
name: "buffer",
|
|
48
|
-
message:
|
|
49
|
+
message:
|
|
50
|
+
"Uint8Array를 사용하세요. 복잡한 연산은 @simplysm/core-common의 BytesUtils를 사용하세요.",
|
|
49
51
|
},
|
|
50
52
|
{
|
|
51
53
|
name: "events",
|
|
@@ -120,7 +122,12 @@ export default defineConfig([
|
|
|
120
122
|
"import/no-extraneous-dependencies": [
|
|
121
123
|
"error",
|
|
122
124
|
{
|
|
123
|
-
devDependencies: [
|
|
125
|
+
devDependencies: [
|
|
126
|
+
"**/lib/**",
|
|
127
|
+
"**/eslint.config.js",
|
|
128
|
+
"**/simplysm.js",
|
|
129
|
+
"**/vitest.config.js",
|
|
130
|
+
],
|
|
124
131
|
},
|
|
125
132
|
],
|
|
126
133
|
|
|
@@ -153,7 +160,10 @@ export default defineConfig([
|
|
|
153
160
|
"@typescript-eslint/return-await": ["error", "in-try-catch"],
|
|
154
161
|
"@typescript-eslint/no-floating-promises": "error",
|
|
155
162
|
"@typescript-eslint/no-shadow": "error",
|
|
156
|
-
"@typescript-eslint/no-unnecessary-condition": [
|
|
163
|
+
"@typescript-eslint/no-unnecessary-condition": [
|
|
164
|
+
"error",
|
|
165
|
+
{ allowConstantLoopConditions: true },
|
|
166
|
+
],
|
|
157
167
|
"@typescript-eslint/no-unnecessary-type-assertion": "error",
|
|
158
168
|
// "@typescript-eslint/non-nullable-type-assertion-style": "error",
|
|
159
169
|
"@typescript-eslint/prefer-reduce-type-parameter": "error",
|
|
@@ -2,9 +2,14 @@ import { AST_NODE_TYPES, type TSESTree } from "@typescript-eslint/utils";
|
|
|
2
2
|
import type { RuleFix } from "@typescript-eslint/utils/ts-eslint";
|
|
3
3
|
import { createRule } from "../utils/create-rule";
|
|
4
4
|
|
|
5
|
-
type ClassMemberWithAccessibility =
|
|
5
|
+
type ClassMemberWithAccessibility =
|
|
6
|
+
| TSESTree.PropertyDefinition
|
|
7
|
+
| TSESTree.MethodDefinition
|
|
8
|
+
| TSESTree.AccessorProperty;
|
|
6
9
|
|
|
7
|
-
function isClassMemberWithAccessibility(
|
|
10
|
+
function isClassMemberWithAccessibility(
|
|
11
|
+
node: TSESTree.Node | undefined,
|
|
12
|
+
): node is ClassMemberWithAccessibility {
|
|
8
13
|
return (
|
|
9
14
|
node?.type === AST_NODE_TYPES.PropertyDefinition ||
|
|
10
15
|
node?.type === AST_NODE_TYPES.MethodDefinition ||
|
|
@@ -30,7 +35,8 @@ export default createRule({
|
|
|
30
35
|
description: '하드 프라이빗 필드(#) 대신 TypeScript "private _" 스타일을 강제한다.',
|
|
31
36
|
},
|
|
32
37
|
messages: {
|
|
33
|
-
preferSoftPrivate:
|
|
38
|
+
preferSoftPrivate:
|
|
39
|
+
'하드 프라이빗 필드(#)는 허용되지 않습니다. "private _" 스타일을 사용하세요.',
|
|
34
40
|
nameConflict:
|
|
35
41
|
'하드 프라이빗 필드 "#{{name}}"을 "_{{name}}"으로 변환할 수 없습니다. 동일한 이름의 멤버가 이미 존재합니다.',
|
|
36
42
|
},
|
|
@@ -15,12 +15,14 @@ export default createRule({
|
|
|
15
15
|
meta: {
|
|
16
16
|
type: "problem",
|
|
17
17
|
docs: {
|
|
18
|
-
description:
|
|
18
|
+
description:
|
|
19
|
+
"@simplysm 패키지에서 'src' 서브경로 import를 금지한다. (ex: @simplysm/pkg/src/x → 금지)",
|
|
19
20
|
},
|
|
20
21
|
fixable: "code",
|
|
21
22
|
schema: [],
|
|
22
23
|
messages: {
|
|
23
|
-
noSubpathImport:
|
|
24
|
+
noSubpathImport:
|
|
25
|
+
"'@simplysm/{{pkg}}' 패키지는 'src' 서브경로를 import할 수 없습니다: '{{importPath}}'",
|
|
24
26
|
},
|
|
25
27
|
},
|
|
26
28
|
defaultOptions: [],
|
|
@@ -51,13 +51,19 @@ export default createRule({
|
|
|
51
51
|
// named/aliased import: import { NotImplementedError } 또는 import { NotImplementedError as NIE }
|
|
52
52
|
if (def.node.type === AST_NODE_TYPES.ImportSpecifier && expectedImportedName != null) {
|
|
53
53
|
const imported = def.node.imported;
|
|
54
|
-
if (
|
|
54
|
+
if (
|
|
55
|
+
imported.type === AST_NODE_TYPES.Identifier &&
|
|
56
|
+
imported.name === expectedImportedName
|
|
57
|
+
) {
|
|
55
58
|
return true;
|
|
56
59
|
}
|
|
57
60
|
}
|
|
58
61
|
|
|
59
62
|
// namespace import: import * as CC
|
|
60
|
-
if (
|
|
63
|
+
if (
|
|
64
|
+
def.node.type === AST_NODE_TYPES.ImportNamespaceSpecifier &&
|
|
65
|
+
expectedImportedName == null
|
|
66
|
+
) {
|
|
61
67
|
return true;
|
|
62
68
|
}
|
|
63
69
|
}
|
|
@@ -88,7 +94,11 @@ export default createRule({
|
|
|
88
94
|
|
|
89
95
|
let msg = "미구현";
|
|
90
96
|
const firstArg = node.arguments.at(0);
|
|
91
|
-
if (
|
|
97
|
+
if (
|
|
98
|
+
firstArg?.type === AST_NODE_TYPES.Literal &&
|
|
99
|
+
typeof firstArg.value === "string" &&
|
|
100
|
+
firstArg.value !== ""
|
|
101
|
+
) {
|
|
92
102
|
msg = firstArg.value;
|
|
93
103
|
}
|
|
94
104
|
|
package/src/utils/create-rule.ts
CHANGED
|
@@ -18,5 +18,6 @@ import { ESLintUtils } from "@typescript-eslint/utils";
|
|
|
18
18
|
* ```
|
|
19
19
|
*/
|
|
20
20
|
export const createRule = ESLintUtils.RuleCreator(
|
|
21
|
-
(name) =>
|
|
21
|
+
(name) =>
|
|
22
|
+
`https://github.com/kslhunter/simplysm/blob/master/packages/eslint-plugin/README.md#${name}`,
|
|
22
23
|
);
|