@skapxd/eslint-opinionated 0.1.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 +731 -0
- package/dist/astro/index.d.mts +33 -0
- package/dist/astro/index.d.ts +33 -0
- package/dist/astro/index.js +72 -0
- package/dist/astro/index.js.map +1 -0
- package/dist/astro/index.mjs +8 -0
- package/dist/astro/index.mjs.map +1 -0
- package/dist/chunk-3FB4H7N6.mjs +31 -0
- package/dist/chunk-3FB4H7N6.mjs.map +1 -0
- package/dist/chunk-BAHAXSWA.mjs +62 -0
- package/dist/chunk-BAHAXSWA.mjs.map +1 -0
- package/dist/chunk-CQKEQ32W.mjs +99 -0
- package/dist/chunk-CQKEQ32W.mjs.map +1 -0
- package/dist/chunk-RP7BOODV.mjs +1550 -0
- package/dist/chunk-RP7BOODV.mjs.map +1 -0
- package/dist/cli.d.mts +1 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +3451 -0
- package/dist/cli.js.map +1 -0
- package/dist/cli.mjs +3428 -0
- package/dist/cli.mjs.map +1 -0
- package/dist/index.d.mts +14 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.js +1781 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +44 -0
- package/dist/index.mjs.map +1 -0
- package/dist/next/index.d.mts +65 -0
- package/dist/next/index.d.ts +65 -0
- package/dist/next/index.js +103 -0
- package/dist/next/index.js.map +1 -0
- package/dist/next/index.mjs +8 -0
- package/dist/next/index.mjs.map +1 -0
- package/dist/rules-qISQhAKV.d.mts +5 -0
- package/dist/rules-qISQhAKV.d.ts +5 -0
- package/dist/shared/index.d.mts +110 -0
- package/dist/shared/index.d.ts +110 -0
- package/dist/shared/index.js +1684 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/shared/index.mjs +15 -0
- package/dist/shared/index.mjs.map +1 -0
- package/package.json +80 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
declare function createAstroConfigs(pluginReference: unknown): ({
|
|
2
|
+
files: string[];
|
|
3
|
+
name: string;
|
|
4
|
+
plugins: {
|
|
5
|
+
skapxd: unknown;
|
|
6
|
+
};
|
|
7
|
+
rules: {
|
|
8
|
+
"skapxd/no-ad-hoc-ok-result": string;
|
|
9
|
+
"skapxd/no-deep-relative-imports": string;
|
|
10
|
+
"skapxd/no-promise-chain": string;
|
|
11
|
+
"skapxd/no-try-catch": string;
|
|
12
|
+
"skapxd/one-root-function-per-file": string;
|
|
13
|
+
"skapxd/prefer-ts-pattern": string;
|
|
14
|
+
"skapxd/result-error-requires-cause": string;
|
|
15
|
+
};
|
|
16
|
+
languageOptions?: undefined;
|
|
17
|
+
} | {
|
|
18
|
+
files: string[];
|
|
19
|
+
languageOptions: {
|
|
20
|
+
parserOptions: {
|
|
21
|
+
projectService: boolean;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
name: string;
|
|
25
|
+
plugins: {
|
|
26
|
+
skapxd: unknown;
|
|
27
|
+
};
|
|
28
|
+
rules: {
|
|
29
|
+
"skapxd/result-error-requires-cause": string;
|
|
30
|
+
};
|
|
31
|
+
})[];
|
|
32
|
+
|
|
33
|
+
export { createAstroConfigs };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
declare function createAstroConfigs(pluginReference: unknown): ({
|
|
2
|
+
files: string[];
|
|
3
|
+
name: string;
|
|
4
|
+
plugins: {
|
|
5
|
+
skapxd: unknown;
|
|
6
|
+
};
|
|
7
|
+
rules: {
|
|
8
|
+
"skapxd/no-ad-hoc-ok-result": string;
|
|
9
|
+
"skapxd/no-deep-relative-imports": string;
|
|
10
|
+
"skapxd/no-promise-chain": string;
|
|
11
|
+
"skapxd/no-try-catch": string;
|
|
12
|
+
"skapxd/one-root-function-per-file": string;
|
|
13
|
+
"skapxd/prefer-ts-pattern": string;
|
|
14
|
+
"skapxd/result-error-requires-cause": string;
|
|
15
|
+
};
|
|
16
|
+
languageOptions?: undefined;
|
|
17
|
+
} | {
|
|
18
|
+
files: string[];
|
|
19
|
+
languageOptions: {
|
|
20
|
+
parserOptions: {
|
|
21
|
+
projectService: boolean;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
name: string;
|
|
25
|
+
plugins: {
|
|
26
|
+
skapxd: unknown;
|
|
27
|
+
};
|
|
28
|
+
rules: {
|
|
29
|
+
"skapxd/result-error-requires-cause": string;
|
|
30
|
+
};
|
|
31
|
+
})[];
|
|
32
|
+
|
|
33
|
+
export { createAstroConfigs };
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/astro/index.ts
|
|
21
|
+
var astro_exports = {};
|
|
22
|
+
__export(astro_exports, {
|
|
23
|
+
createAstroConfigs: () => createAstroConfigs
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(astro_exports);
|
|
26
|
+
|
|
27
|
+
// src/shared/configs/base-rules.ts
|
|
28
|
+
var baseRules = {
|
|
29
|
+
"skapxd/no-ad-hoc-ok-result": "warn",
|
|
30
|
+
"skapxd/no-deep-relative-imports": "warn",
|
|
31
|
+
"skapxd/no-promise-chain": "error",
|
|
32
|
+
"skapxd/no-try-catch": "error",
|
|
33
|
+
"skapxd/one-root-function-per-file": "error",
|
|
34
|
+
"skapxd/prefer-ts-pattern": "error",
|
|
35
|
+
"skapxd/result-error-requires-cause": "error"
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
// src/shared/configs/create-typed-language-options.ts
|
|
39
|
+
function createTypedLanguageOptions() {
|
|
40
|
+
return {
|
|
41
|
+
parserOptions: {
|
|
42
|
+
projectService: true
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// src/astro/configs.ts
|
|
48
|
+
function createAstroConfigs(pluginReference) {
|
|
49
|
+
const typedLanguageOptions = createTypedLanguageOptions();
|
|
50
|
+
return [
|
|
51
|
+
{
|
|
52
|
+
files: ["src/**/*.{ts,tsx,astro}"],
|
|
53
|
+
name: "skapxd/astro/base",
|
|
54
|
+
plugins: { skapxd: pluginReference },
|
|
55
|
+
rules: baseRules
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
files: ["src/**/*.{ts,tsx}"],
|
|
59
|
+
languageOptions: typedLanguageOptions,
|
|
60
|
+
name: "skapxd/astro/typescript",
|
|
61
|
+
plugins: { skapxd: pluginReference },
|
|
62
|
+
rules: {
|
|
63
|
+
"skapxd/result-error-requires-cause": "error"
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
];
|
|
67
|
+
}
|
|
68
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
69
|
+
0 && (module.exports = {
|
|
70
|
+
createAstroConfigs
|
|
71
|
+
});
|
|
72
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/astro/index.ts","../../src/shared/configs/base-rules.ts","../../src/shared/configs/create-typed-language-options.ts","../../src/astro/configs.ts"],"sourcesContent":["export { createAstroConfigs } from \"./configs\";\n","export const baseRules = {\n \"skapxd/no-ad-hoc-ok-result\": \"warn\",\n \"skapxd/no-deep-relative-imports\": \"warn\",\n \"skapxd/no-promise-chain\": \"error\",\n \"skapxd/no-try-catch\": \"error\",\n \"skapxd/one-root-function-per-file\": \"error\",\n \"skapxd/prefer-ts-pattern\": \"error\",\n \"skapxd/result-error-requires-cause\": \"error\",\n};\n","export function createTypedLanguageOptions() {\n return {\n parserOptions: {\n projectService: true,\n },\n };\n}\n","import { baseRules, createTypedLanguageOptions } from \"#/shared/configs\";\n\nexport function createAstroConfigs(pluginReference: unknown) {\n const typedLanguageOptions = createTypedLanguageOptions();\n\n return [\n {\n files: [\"src/**/*.{ts,tsx,astro}\"],\n name: \"skapxd/astro/base\",\n plugins: { skapxd: pluginReference },\n rules: baseRules,\n },\n {\n files: [\"src/**/*.{ts,tsx}\"],\n languageOptions: typedLanguageOptions,\n name: \"skapxd/astro/typescript\",\n plugins: { skapxd: pluginReference },\n rules: {\n \"skapxd/result-error-requires-cause\": \"error\",\n },\n },\n ];\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAO,IAAM,YAAY;AAAA,EACvB,8BAA8B;AAAA,EAC9B,mCAAmC;AAAA,EACnC,2BAA2B;AAAA,EAC3B,uBAAuB;AAAA,EACvB,qCAAqC;AAAA,EACrC,4BAA4B;AAAA,EAC5B,sCAAsC;AACxC;;;ACRO,SAAS,6BAA6B;AAC3C,SAAO;AAAA,IACL,eAAe;AAAA,MACb,gBAAgB;AAAA,IAClB;AAAA,EACF;AACF;;;ACJO,SAAS,mBAAmB,iBAA0B;AAC3D,QAAM,uBAAuB,2BAA2B;AAExD,SAAO;AAAA,IACL;AAAA,MACE,OAAO,CAAC,yBAAyB;AAAA,MACjC,MAAM;AAAA,MACN,SAAS,EAAE,QAAQ,gBAAgB;AAAA,MACnC,OAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,OAAO,CAAC,mBAAmB;AAAA,MAC3B,iBAAiB;AAAA,MACjB,MAAM;AAAA,MACN,SAAS,EAAE,QAAQ,gBAAgB;AAAA,MACnC,OAAO;AAAA,QACL,sCAAsC;AAAA,MACxC;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import {
|
|
2
|
+
baseRules,
|
|
3
|
+
createTypedLanguageOptions
|
|
4
|
+
} from "./chunk-CQKEQ32W.mjs";
|
|
5
|
+
|
|
6
|
+
// src/astro/configs.ts
|
|
7
|
+
function createAstroConfigs(pluginReference) {
|
|
8
|
+
const typedLanguageOptions = createTypedLanguageOptions();
|
|
9
|
+
return [
|
|
10
|
+
{
|
|
11
|
+
files: ["src/**/*.{ts,tsx,astro}"],
|
|
12
|
+
name: "skapxd/astro/base",
|
|
13
|
+
plugins: { skapxd: pluginReference },
|
|
14
|
+
rules: baseRules
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
files: ["src/**/*.{ts,tsx}"],
|
|
18
|
+
languageOptions: typedLanguageOptions,
|
|
19
|
+
name: "skapxd/astro/typescript",
|
|
20
|
+
plugins: { skapxd: pluginReference },
|
|
21
|
+
rules: {
|
|
22
|
+
"skapxd/result-error-requires-cause": "error"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
];
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export {
|
|
29
|
+
createAstroConfigs
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=chunk-3FB4H7N6.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/astro/configs.ts"],"sourcesContent":["import { baseRules, createTypedLanguageOptions } from \"#/shared/configs\";\n\nexport function createAstroConfigs(pluginReference: unknown) {\n const typedLanguageOptions = createTypedLanguageOptions();\n\n return [\n {\n files: [\"src/**/*.{ts,tsx,astro}\"],\n name: \"skapxd/astro/base\",\n plugins: { skapxd: pluginReference },\n rules: baseRules,\n },\n {\n files: [\"src/**/*.{ts,tsx}\"],\n languageOptions: typedLanguageOptions,\n name: \"skapxd/astro/typescript\",\n plugins: { skapxd: pluginReference },\n rules: {\n \"skapxd/result-error-requires-cause\": \"error\",\n },\n },\n ];\n}\n"],"mappings":";;;;;;AAEO,SAAS,mBAAmB,iBAA0B;AAC3D,QAAM,uBAAuB,2BAA2B;AAExD,SAAO;AAAA,IACL;AAAA,MACE,OAAO,CAAC,yBAAyB;AAAA,MACjC,MAAM;AAAA,MACN,SAAS,EAAE,QAAQ,gBAAgB;AAAA,MACnC,OAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,OAAO,CAAC,mBAAmB;AAAA,MAC3B,iBAAiB;AAAA,MACjB,MAAM;AAAA,MACN,SAAS,EAAE,QAAQ,gBAAgB;AAAA,MACnC,OAAO;AAAA,QACL,sCAAsC;AAAA,MACxC;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import {
|
|
2
|
+
baseRules,
|
|
3
|
+
createTypedLanguageOptions
|
|
4
|
+
} from "./chunk-CQKEQ32W.mjs";
|
|
5
|
+
|
|
6
|
+
// src/next/configs.ts
|
|
7
|
+
function createNextConfigs(pluginReference) {
|
|
8
|
+
const typedLanguageOptions = createTypedLanguageOptions();
|
|
9
|
+
return [
|
|
10
|
+
{
|
|
11
|
+
name: "skapxd/next/base",
|
|
12
|
+
plugins: { skapxd: pluginReference },
|
|
13
|
+
rules: baseRules
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
files: ["src/app/api/**/*.{ts,tsx}", "src/server/**/*.{ts,tsx}"],
|
|
17
|
+
languageOptions: typedLanguageOptions,
|
|
18
|
+
name: "skapxd/next/server",
|
|
19
|
+
plugins: { skapxd: pluginReference },
|
|
20
|
+
rules: {
|
|
21
|
+
...baseRules,
|
|
22
|
+
"skapxd/async-functions-return-result": [
|
|
23
|
+
"error",
|
|
24
|
+
{
|
|
25
|
+
allowFilePatterns: [
|
|
26
|
+
"/(route|page|layout|template|loading|error|not-found)\\.tsx?$"
|
|
27
|
+
],
|
|
28
|
+
allowNamePatterns: [
|
|
29
|
+
"^(GET|POST|PUT|PATCH|DELETE|HEAD|OPTIONS)$",
|
|
30
|
+
"^handle(Get|Post|Put|Patch|Delete|Head|Options)$",
|
|
31
|
+
"^start$"
|
|
32
|
+
],
|
|
33
|
+
checkMissingReturnType: true,
|
|
34
|
+
resultTypeNames: ["Result", "ResultValue", "SafeResult"]
|
|
35
|
+
}
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
files: ["**/*.tsx"],
|
|
41
|
+
name: "skapxd/next/react",
|
|
42
|
+
plugins: { skapxd: pluginReference },
|
|
43
|
+
rules: {
|
|
44
|
+
"skapxd/jsx-return-name-pascal-case": "error",
|
|
45
|
+
"skapxd/no-functions-inside-components": "error",
|
|
46
|
+
"skapxd/no-jsx-ternary-null": "error",
|
|
47
|
+
"skapxd/max-hook-size": [
|
|
48
|
+
"warn",
|
|
49
|
+
{
|
|
50
|
+
maxLines: 120,
|
|
51
|
+
maxUseState: 1
|
|
52
|
+
}
|
|
53
|
+
]
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
];
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export {
|
|
60
|
+
createNextConfigs
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=chunk-BAHAXSWA.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/next/configs.ts"],"sourcesContent":["import { baseRules, createTypedLanguageOptions } from \"#/shared/configs\";\n\nexport function createNextConfigs(pluginReference: unknown) {\n const typedLanguageOptions = createTypedLanguageOptions();\n\n return [\n {\n name: \"skapxd/next/base\",\n plugins: { skapxd: pluginReference },\n rules: baseRules,\n },\n {\n files: [\"src/app/api/**/*.{ts,tsx}\", \"src/server/**/*.{ts,tsx}\"],\n languageOptions: typedLanguageOptions,\n name: \"skapxd/next/server\",\n plugins: { skapxd: pluginReference },\n rules: {\n ...baseRules,\n \"skapxd/async-functions-return-result\": [\n \"error\",\n {\n allowFilePatterns: [\n \"/(route|page|layout|template|loading|error|not-found)\\\\.tsx?$\",\n ],\n allowNamePatterns: [\n \"^(GET|POST|PUT|PATCH|DELETE|HEAD|OPTIONS)$\",\n \"^handle(Get|Post|Put|Patch|Delete|Head|Options)$\",\n \"^start$\",\n ],\n checkMissingReturnType: true,\n resultTypeNames: [\"Result\", \"ResultValue\", \"SafeResult\"],\n },\n ],\n },\n },\n {\n files: [\"**/*.tsx\"],\n name: \"skapxd/next/react\",\n plugins: { skapxd: pluginReference },\n rules: {\n \"skapxd/jsx-return-name-pascal-case\": \"error\",\n \"skapxd/no-functions-inside-components\": \"error\",\n \"skapxd/no-jsx-ternary-null\": \"error\",\n \"skapxd/max-hook-size\": [\n \"warn\",\n {\n maxLines: 120,\n maxUseState: 1,\n },\n ],\n },\n },\n ];\n}\n"],"mappings":";;;;;;AAEO,SAAS,kBAAkB,iBAA0B;AAC1D,QAAM,uBAAuB,2BAA2B;AAExD,SAAO;AAAA,IACL;AAAA,MACE,MAAM;AAAA,MACN,SAAS,EAAE,QAAQ,gBAAgB;AAAA,MACnC,OAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,OAAO,CAAC,6BAA6B,0BAA0B;AAAA,MAC/D,iBAAiB;AAAA,MACjB,MAAM;AAAA,MACN,SAAS,EAAE,QAAQ,gBAAgB;AAAA,MACnC,OAAO;AAAA,QACL,GAAG;AAAA,QACH,wCAAwC;AAAA,UACtC;AAAA,UACA;AAAA,YACE,mBAAmB;AAAA,cACjB;AAAA,YACF;AAAA,YACA,mBAAmB;AAAA,cACjB;AAAA,cACA;AAAA,cACA;AAAA,YACF;AAAA,YACA,wBAAwB;AAAA,YACxB,iBAAiB,CAAC,UAAU,eAAe,YAAY;AAAA,UACzD;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,OAAO,CAAC,UAAU;AAAA,MAClB,MAAM;AAAA,MACN,SAAS,EAAE,QAAQ,gBAAgB;AAAA,MACnC,OAAO;AAAA,QACL,sCAAsC;AAAA,QACtC,yCAAyC;AAAA,QACzC,8BAA8B;AAAA,QAC9B,wBAAwB;AAAA,UACtB;AAAA,UACA;AAAA,YACE,UAAU;AAAA,YACV,aAAa;AAAA,UACf;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
// src/shared/configs/create-typed-language-options.ts
|
|
2
|
+
function createTypedLanguageOptions() {
|
|
3
|
+
return {
|
|
4
|
+
parserOptions: {
|
|
5
|
+
projectService: true
|
|
6
|
+
}
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
// src/shared/configs/base-rules.ts
|
|
11
|
+
var baseRules = {
|
|
12
|
+
"skapxd/no-ad-hoc-ok-result": "warn",
|
|
13
|
+
"skapxd/no-deep-relative-imports": "warn",
|
|
14
|
+
"skapxd/no-promise-chain": "error",
|
|
15
|
+
"skapxd/no-try-catch": "error",
|
|
16
|
+
"skapxd/one-root-function-per-file": "error",
|
|
17
|
+
"skapxd/prefer-ts-pattern": "error",
|
|
18
|
+
"skapxd/result-error-requires-cause": "error"
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
// src/shared/configs/create-shared-configs.ts
|
|
22
|
+
function createSharedConfigs(pluginReference) {
|
|
23
|
+
const typedLanguageOptions = createTypedLanguageOptions();
|
|
24
|
+
return {
|
|
25
|
+
backend: {
|
|
26
|
+
languageOptions: typedLanguageOptions,
|
|
27
|
+
name: "skapxd/shared/backend",
|
|
28
|
+
plugins: { skapxd: pluginReference },
|
|
29
|
+
rules: {
|
|
30
|
+
...baseRules,
|
|
31
|
+
"skapxd/async-functions-return-result": [
|
|
32
|
+
"error",
|
|
33
|
+
{
|
|
34
|
+
checkMissingReturnType: true,
|
|
35
|
+
resultTypeNames: ["Result", "ResultValue", "SafeResult"]
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
base: {
|
|
41
|
+
name: "skapxd/shared/base",
|
|
42
|
+
plugins: { skapxd: pluginReference },
|
|
43
|
+
rules: baseRules
|
|
44
|
+
},
|
|
45
|
+
frontend: {
|
|
46
|
+
languageOptions: typedLanguageOptions,
|
|
47
|
+
name: "skapxd/shared/frontend",
|
|
48
|
+
plugins: { skapxd: pluginReference },
|
|
49
|
+
rules: {
|
|
50
|
+
...baseRules,
|
|
51
|
+
"skapxd/jsx-return-name-pascal-case": "error",
|
|
52
|
+
"skapxd/no-functions-inside-components": "error",
|
|
53
|
+
"skapxd/no-jsx-ternary-null": "error",
|
|
54
|
+
"skapxd/max-hook-size": [
|
|
55
|
+
"warn",
|
|
56
|
+
{
|
|
57
|
+
maxLines: 120,
|
|
58
|
+
maxUseState: 1
|
|
59
|
+
}
|
|
60
|
+
]
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
// Capa de servicios del front (peticiones, clientes de API): todo await
|
|
64
|
+
// debe ir envuelto en trySafe de @skapxd/result. El consumidor puede
|
|
65
|
+
// sobreescribir `files` si sus servicios viven en otra carpeta.
|
|
66
|
+
frontendServices: {
|
|
67
|
+
files: ["**/services/**/*.{ts,tsx}", "**/api/**/*.{ts,tsx}"],
|
|
68
|
+
languageOptions: typedLanguageOptions,
|
|
69
|
+
name: "skapxd/shared/frontend-services",
|
|
70
|
+
plugins: { skapxd: pluginReference },
|
|
71
|
+
rules: {
|
|
72
|
+
"skapxd/await-requires-try-safe": "error"
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
package: {
|
|
76
|
+
name: "skapxd/shared/package",
|
|
77
|
+
plugins: { skapxd: pluginReference },
|
|
78
|
+
rules: {
|
|
79
|
+
"skapxd/one-root-function-per-file": "error"
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// src/shared/configs/strict-config.ts
|
|
86
|
+
var strictConfig = {
|
|
87
|
+
linterOptions: {
|
|
88
|
+
noInlineConfig: true
|
|
89
|
+
},
|
|
90
|
+
name: "skapxd/strict"
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
export {
|
|
94
|
+
baseRules,
|
|
95
|
+
createTypedLanguageOptions,
|
|
96
|
+
createSharedConfigs,
|
|
97
|
+
strictConfig
|
|
98
|
+
};
|
|
99
|
+
//# sourceMappingURL=chunk-CQKEQ32W.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/shared/configs/create-typed-language-options.ts","../src/shared/configs/base-rules.ts","../src/shared/configs/create-shared-configs.ts","../src/shared/configs/strict-config.ts"],"sourcesContent":["export function createTypedLanguageOptions() {\n return {\n parserOptions: {\n projectService: true,\n },\n };\n}\n","export const baseRules = {\n \"skapxd/no-ad-hoc-ok-result\": \"warn\",\n \"skapxd/no-deep-relative-imports\": \"warn\",\n \"skapxd/no-promise-chain\": \"error\",\n \"skapxd/no-try-catch\": \"error\",\n \"skapxd/one-root-function-per-file\": \"error\",\n \"skapxd/prefer-ts-pattern\": \"error\",\n \"skapxd/result-error-requires-cause\": \"error\",\n};\n","import { baseRules } from \"./base-rules\";\nimport { createTypedLanguageOptions } from \"./create-typed-language-options\";\n\nexport function createSharedConfigs(pluginReference: unknown) {\n const typedLanguageOptions = createTypedLanguageOptions();\n\n return {\n backend: {\n languageOptions: typedLanguageOptions,\n name: \"skapxd/shared/backend\",\n plugins: { skapxd: pluginReference },\n rules: {\n ...baseRules,\n \"skapxd/async-functions-return-result\": [\n \"error\",\n {\n checkMissingReturnType: true,\n resultTypeNames: [\"Result\", \"ResultValue\", \"SafeResult\"],\n },\n ],\n },\n },\n base: {\n name: \"skapxd/shared/base\",\n plugins: { skapxd: pluginReference },\n rules: baseRules,\n },\n frontend: {\n languageOptions: typedLanguageOptions,\n name: \"skapxd/shared/frontend\",\n plugins: { skapxd: pluginReference },\n rules: {\n ...baseRules,\n \"skapxd/jsx-return-name-pascal-case\": \"error\",\n \"skapxd/no-functions-inside-components\": \"error\",\n \"skapxd/no-jsx-ternary-null\": \"error\",\n \"skapxd/max-hook-size\": [\n \"warn\",\n {\n maxLines: 120,\n maxUseState: 1,\n },\n ],\n },\n },\n // Capa de servicios del front (peticiones, clientes de API): todo await\n // debe ir envuelto en trySafe de @skapxd/result. El consumidor puede\n // sobreescribir `files` si sus servicios viven en otra carpeta.\n frontendServices: {\n files: [\"**/services/**/*.{ts,tsx}\", \"**/api/**/*.{ts,tsx}\"],\n languageOptions: typedLanguageOptions,\n name: \"skapxd/shared/frontend-services\",\n plugins: { skapxd: pluginReference },\n rules: {\n \"skapxd/await-requires-try-safe\": \"error\",\n },\n },\n package: {\n name: \"skapxd/shared/package\",\n plugins: { skapxd: pluginReference },\n rules: {\n \"skapxd/one-root-function-per-file\": \"error\",\n },\n },\n };\n}\n","// Config endurecida: ignora TODOS los comentarios `eslint-disable` (y demás\n// directivas inline) en los archivos que cubre. Así ni una persona ni un agente\n// pueden saltarse una regla con `// eslint-disable-next-line`.\nexport const strictConfig = {\n linterOptions: {\n noInlineConfig: true,\n },\n name: \"skapxd/strict\",\n};\n"],"mappings":";AAAO,SAAS,6BAA6B;AAC3C,SAAO;AAAA,IACL,eAAe;AAAA,MACb,gBAAgB;AAAA,IAClB;AAAA,EACF;AACF;;;ACNO,IAAM,YAAY;AAAA,EACvB,8BAA8B;AAAA,EAC9B,mCAAmC;AAAA,EACnC,2BAA2B;AAAA,EAC3B,uBAAuB;AAAA,EACvB,qCAAqC;AAAA,EACrC,4BAA4B;AAAA,EAC5B,sCAAsC;AACxC;;;ACLO,SAAS,oBAAoB,iBAA0B;AAC5D,QAAM,uBAAuB,2BAA2B;AAExD,SAAO;AAAA,IACL,SAAS;AAAA,MACP,iBAAiB;AAAA,MACjB,MAAM;AAAA,MACN,SAAS,EAAE,QAAQ,gBAAgB;AAAA,MACnC,OAAO;AAAA,QACL,GAAG;AAAA,QACH,wCAAwC;AAAA,UACtC;AAAA,UACA;AAAA,YACE,wBAAwB;AAAA,YACxB,iBAAiB,CAAC,UAAU,eAAe,YAAY;AAAA,UACzD;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS,EAAE,QAAQ,gBAAgB;AAAA,MACnC,OAAO;AAAA,IACT;AAAA,IACA,UAAU;AAAA,MACR,iBAAiB;AAAA,MACjB,MAAM;AAAA,MACN,SAAS,EAAE,QAAQ,gBAAgB;AAAA,MACnC,OAAO;AAAA,QACL,GAAG;AAAA,QACH,sCAAsC;AAAA,QACtC,yCAAyC;AAAA,QACzC,8BAA8B;AAAA,QAC9B,wBAAwB;AAAA,UACtB;AAAA,UACA;AAAA,YACE,UAAU;AAAA,YACV,aAAa;AAAA,UACf;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAIA,kBAAkB;AAAA,MAChB,OAAO,CAAC,6BAA6B,sBAAsB;AAAA,MAC3D,iBAAiB;AAAA,MACjB,MAAM;AAAA,MACN,SAAS,EAAE,QAAQ,gBAAgB;AAAA,MACnC,OAAO;AAAA,QACL,kCAAkC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,EAAE,QAAQ,gBAAgB;AAAA,MACnC,OAAO;AAAA,QACL,qCAAqC;AAAA,MACvC;AAAA,IACF;AAAA,EACF;AACF;;;AC9DO,IAAM,eAAe;AAAA,EAC1B,eAAe;AAAA,IACb,gBAAgB;AAAA,EAClB;AAAA,EACA,MAAM;AACR;","names":[]}
|