@prover-coder-ai/eslint-plugin-suggest-members 0.0.4 → 0.0.6
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/lib/core/plugin-meta.d.ts +2 -1
- package/lib/core/plugin-meta.d.ts.map +1 -1
- package/lib/core/plugin-meta.js +6 -5
- package/lib/core/plugin-meta.js.map +1 -1
- package/lib/core/rule-names.d.ts +4 -0
- package/lib/core/rule-names.d.ts.map +1 -0
- package/lib/core/rule-names.js +20 -0
- package/lib/core/rule-names.js.map +1 -0
- package/lib/index.d.ts +4 -4
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +15 -12
- package/lib/index.js.map +1 -1
- package/lib/rules/index.d.ts +3 -7
- package/lib/rules/index.d.ts.map +1 -1
- package/lib/rules/index.js +0 -6
- package/lib/rules/index.js.map +1 -1
- package/lib/rules/suggest-exports/index.d.ts +2 -2
- package/lib/rules/suggest-exports/index.d.ts.map +1 -1
- package/lib/rules/suggest-exports/index.js +7 -19
- package/lib/rules/suggest-exports/index.js.map +1 -1
- package/lib/rules/suggest-members/index.d.ts +1 -2
- package/lib/rules/suggest-members/index.d.ts.map +1 -1
- package/lib/rules/suggest-members/index.js +29 -34
- package/lib/rules/suggest-members/index.js.map +1 -1
- package/lib/rules/suggest-missing-names/index.d.ts.map +1 -1
- package/lib/rules/suggest-missing-names/index.js +7 -18
- package/lib/rules/suggest-missing-names/index.js.map +1 -1
- package/lib/rules/suggest-module-paths/index.d.ts +1 -2
- package/lib/rules/suggest-module-paths/index.d.ts.map +1 -1
- package/lib/rules/suggest-module-paths/index.js +33 -43
- package/lib/rules/suggest-module-paths/index.js.map +1 -1
- package/lib/shell/services/typescript-compiler-module-effects.d.ts +0 -1
- package/lib/shell/services/typescript-compiler-module-effects.d.ts.map +1 -1
- package/lib/shell/services/typescript-compiler-module-effects.js +0 -9
- package/lib/shell/services/typescript-compiler-module-effects.js.map +1 -1
- package/lib/shell/shared/import-validation-rule-factory.d.ts +3 -2
- package/lib/shell/shared/import-validation-rule-factory.d.ts.map +1 -1
- package/lib/shell/shared/import-validation-rule-factory.js +7 -14
- package/lib/shell/shared/import-validation-rule-factory.js.map +1 -1
- package/lib/shell/shared/rule-creator.d.ts +8 -0
- package/lib/shell/shared/rule-creator.d.ts.map +1 -0
- package/lib/shell/shared/rule-creator.js +32 -0
- package/lib/shell/shared/rule-creator.js.map +1 -0
- package/lib/shell/validation/module-validation-effect.d.ts.map +1 -1
- package/lib/shell/validation/module-validation-effect.js +0 -6
- package/lib/shell/validation/module-validation-effect.js.map +1 -1
- package/package.json +3 -2
- package/lib/core/validation/node-builtin-exports.d.ts +0 -4
- package/lib/core/validation/node-builtin-exports.d.ts.map +0 -1
- package/lib/core/validation/node-builtin-exports.js +0 -42
- package/lib/core/validation/node-builtin-exports.js.map +0 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export declare const name = "@prover-coder-ai/eslint-plugin-suggest-members";
|
|
2
|
-
export declare const version = "0.0.
|
|
2
|
+
export declare const version = "0.0.6";
|
|
3
|
+
export declare const namespace = "eslint-plugin-suggest-members";
|
|
3
4
|
//# sourceMappingURL=plugin-meta.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-meta.d.ts","sourceRoot":"","sources":["../../src/core/plugin-meta.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,IAAI,mDAAmD,CAAA;AACpE,eAAO,MAAM,OAAO,UAAU,CAAA"}
|
|
1
|
+
{"version":3,"file":"plugin-meta.d.ts","sourceRoot":"","sources":["../../src/core/plugin-meta.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,IAAI,mDAAmD,CAAA;AACpE,eAAO,MAAM,OAAO,UAAU,CAAA;AAC9B,eAAO,MAAM,SAAS,kCAAkC,CAAA"}
|
package/lib/core/plugin-meta.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
// CHANGE: plugin metadata constants
|
|
2
|
-
// WHY:
|
|
1
|
+
// CHANGE: plugin metadata constants (auto-generated)
|
|
2
|
+
// WHY: keep meta version in sync with package.json
|
|
3
3
|
// QUOTE(TZ): n/a
|
|
4
4
|
// REF: AGENTS.md CORE
|
|
5
5
|
// SOURCE: n/a
|
|
6
|
-
// FORMAT THEOREM: name,version are non-empty
|
|
6
|
+
// FORMAT THEOREM: name,version,namespace are non-empty
|
|
7
7
|
// PURITY: CORE
|
|
8
8
|
// EFFECT: n/a
|
|
9
|
-
// INVARIANT: name != ""
|
|
9
|
+
// INVARIANT: name != "" && version != "" && namespace != ""
|
|
10
10
|
// COMPLEXITY: O(1)/O(1)
|
|
11
11
|
export const name = "@prover-coder-ai/eslint-plugin-suggest-members";
|
|
12
|
-
export const version = "0.0.
|
|
12
|
+
export const version = "0.0.6";
|
|
13
|
+
export const namespace = "eslint-plugin-suggest-members";
|
|
13
14
|
//# sourceMappingURL=plugin-meta.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-meta.js","sourceRoot":"","sources":["../../src/core/plugin-meta.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"plugin-meta.js","sourceRoot":"","sources":["../../src/core/plugin-meta.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,mDAAmD;AACnD,iBAAiB;AACjB,sBAAsB;AACtB,cAAc;AACd,uDAAuD;AACvD,eAAe;AACf,cAAc;AACd,4DAA4D;AAC5D,wBAAwB;AACxB,MAAM,CAAC,MAAM,IAAI,GAAG,gDAAgD,CAAA;AACpE,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAA;AAC9B,MAAM,CAAC,MAAM,SAAS,GAAG,+BAA+B,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export type RuleName = "suggest-exports" | "suggest-imports" | "suggest-members" | "suggest-missing-names" | "suggest-module-paths";
|
|
2
|
+
export declare const RULE_NAMES: ReadonlyArray<RuleName>;
|
|
3
|
+
export declare const ruleDocsUrl: (ruleName: RuleName) => string;
|
|
4
|
+
//# sourceMappingURL=rule-names.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rule-names.d.ts","sourceRoot":"","sources":["../../src/core/rule-names.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,QAAQ,GAChB,iBAAiB,GACjB,iBAAiB,GACjB,iBAAiB,GACjB,uBAAuB,GACvB,sBAAsB,CAAA;AAE1B,eAAO,MAAM,UAAU,EAAE,aAAa,CAAC,QAAQ,CAM9C,CAAA;AAKD,eAAO,MAAM,WAAW,GAAI,UAAU,QAAQ,KAAG,MAAgD,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// CHANGE: centralize rule names + docs URL
|
|
2
|
+
// WHY: single source of truth for rule ids and documentation mapping
|
|
3
|
+
// QUOTE(TZ): n/a
|
|
4
|
+
// REF: AGENTS.md CORE
|
|
5
|
+
// SOURCE: n/a
|
|
6
|
+
// FORMAT THEOREM: ∀r ∈ RULE_NAMES: ruleDocsUrl(r) is total
|
|
7
|
+
// PURITY: CORE
|
|
8
|
+
// EFFECT: n/a
|
|
9
|
+
// INVARIANT: RULE_NAMES are unique
|
|
10
|
+
// COMPLEXITY: O(1)/O(1)
|
|
11
|
+
export const RULE_NAMES = [
|
|
12
|
+
"suggest-exports",
|
|
13
|
+
"suggest-imports",
|
|
14
|
+
"suggest-members",
|
|
15
|
+
"suggest-missing-names",
|
|
16
|
+
"suggest-module-paths"
|
|
17
|
+
];
|
|
18
|
+
const RULE_DOCS_BASE_URL = "https://github.com/ProverCoderAI/eslint-plugin-suggest-members/blob/main/packages/eslint-template/docs/rules";
|
|
19
|
+
export const ruleDocsUrl = (ruleName) => `${RULE_DOCS_BASE_URL}/${ruleName}.md`;
|
|
20
|
+
//# sourceMappingURL=rule-names.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rule-names.js","sourceRoot":"","sources":["../../src/core/rule-names.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,qEAAqE;AACrE,iBAAiB;AACjB,sBAAsB;AACtB,cAAc;AACd,2DAA2D;AAC3D,eAAe;AACf,cAAc;AACd,mCAAmC;AACnC,wBAAwB;AASxB,MAAM,CAAC,MAAM,UAAU,GAA4B;IACjD,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,uBAAuB;IACvB,sBAAsB;CACvB,CAAA;AAED,MAAM,kBAAkB,GACtB,8GAA8G,CAAA;AAEhH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAkB,EAAU,EAAE,CAAC,GAAG,kBAAkB,IAAI,QAAQ,KAAK,CAAA"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import type { TSESLint } from "@typescript-eslint/utils";
|
|
2
|
-
import type { Linter } from "eslint";
|
|
3
|
-
type PluginConfig = Linter.Config;
|
|
4
2
|
type PluginBase = Omit<TSESLint.FlatConfig.Plugin, "configs">;
|
|
5
3
|
type PluginWithConfigs = PluginBase & {
|
|
6
4
|
readonly configs: {
|
|
7
|
-
readonly recommended:
|
|
5
|
+
readonly recommended: TSESLint.FlatConfig.Config;
|
|
6
|
+
readonly "flat/recommended": TSESLint.FlatConfig.Config;
|
|
8
7
|
};
|
|
9
8
|
};
|
|
10
9
|
declare const plugin: PluginWithConfigs;
|
|
11
10
|
export default plugin;
|
|
12
11
|
export declare const configs: {
|
|
13
|
-
readonly recommended:
|
|
12
|
+
readonly recommended: TSESLint.FlatConfig.Config;
|
|
13
|
+
readonly "flat/recommended": TSESLint.FlatConfig.Config;
|
|
14
14
|
};
|
|
15
15
|
export { rules } from "./rules/index.js";
|
|
16
16
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAOxD,KAAK,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AAE7D,KAAK,iBAAiB,GAAG,UAAU,GAAG;IACpC,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAA;QAChD,QAAQ,CAAC,kBAAkB,EAAE,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAA;KACxD,CAAA;CACF,CAAA;AAwBD,QAAA,MAAM,MAAM,EAAE,iBAMb,CAAA;AAED,eAAe,MAAM,CAAA;AAErB,eAAO,MAAM,OAAO;0BArCM,QAAQ,CAAC,UAAU,CAAC,MAAM;iCACnB,QAAQ,CAAC,UAAU,CAAC,MAAM;CAoCtB,CAAA;AAErC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA"}
|
package/lib/index.js
CHANGED
|
@@ -1,26 +1,29 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { name, namespace, version } from "./core/plugin-meta.js";
|
|
2
|
+
import { RULE_NAMES } from "./core/rule-names.js";
|
|
3
3
|
import { rules } from "./rules/index.js";
|
|
4
4
|
const pluginBase = {
|
|
5
5
|
meta: { name, version },
|
|
6
6
|
rules
|
|
7
7
|
};
|
|
8
|
-
const
|
|
8
|
+
const buildRecommendedRules = () => {
|
|
9
|
+
const entries = {};
|
|
10
|
+
for (const ruleName of RULE_NAMES) {
|
|
11
|
+
entries[`${namespace}/${ruleName}`] = "error";
|
|
12
|
+
}
|
|
13
|
+
return entries;
|
|
14
|
+
};
|
|
15
|
+
const recommendedRules = buildRecommendedRules();
|
|
16
|
+
const flatRecommended = {
|
|
9
17
|
plugins: {
|
|
10
|
-
|
|
18
|
+
[namespace]: pluginBase
|
|
11
19
|
},
|
|
12
|
-
rules:
|
|
13
|
-
"suggest-members/suggest-exports": "error",
|
|
14
|
-
"suggest-members/suggest-imports": "error",
|
|
15
|
-
"suggest-members/suggest-members": "error",
|
|
16
|
-
"suggest-members/suggest-missing-names": "error",
|
|
17
|
-
"suggest-members/suggest-module-paths": "error"
|
|
18
|
-
}
|
|
20
|
+
rules: recommendedRules
|
|
19
21
|
};
|
|
20
22
|
const plugin = {
|
|
21
23
|
...pluginBase,
|
|
22
24
|
configs: {
|
|
23
|
-
recommended
|
|
25
|
+
recommended: flatRecommended,
|
|
26
|
+
"flat/recommended": flatRecommended
|
|
24
27
|
}
|
|
25
28
|
};
|
|
26
29
|
export default plugin;
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAWxC,MAAM,UAAU,GAAe;IAC7B,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;IACvB,KAAK;CACN,CAAA;AAED,MAAM,qBAAqB,GAAG,GAAuB,EAAE;IACrD,MAAM,OAAO,GAAuB,EAAE,CAAA;IACtC,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,SAAS,IAAI,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAA;IAC/C,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,qBAAqB,EAAE,CAAA;AAEhD,MAAM,eAAe,GAA+B;IAClD,OAAO,EAAE;QACP,CAAC,SAAS,CAAC,EAAE,UAAU;KACxB;IACD,KAAK,EAAE,gBAAgB;CACxB,CAAA;AAED,MAAM,MAAM,GAAsB;IAChC,GAAG,UAAU;IACb,OAAO,EAAE;QACP,WAAW,EAAE,eAAe;QAC5B,kBAAkB,EAAE,eAAe;KACpC;CACF,CAAA;AAED,eAAe,MAAM,CAAA;AAErB,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;AAErC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA"}
|
package/lib/rules/index.d.ts
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
"suggest-members": import("@typescript-eslint/utils/ts-eslint").RuleModule<"suggestMembers", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
5
|
-
"suggest-missing-names": import("@typescript-eslint/utils/ts-eslint").RuleModule<"suggestMissingNames", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
6
|
-
"suggest-module-paths": import("@typescript-eslint/utils/ts-eslint").RuleModule<"suggestModulePaths", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
7
|
-
};
|
|
1
|
+
import type { TSESLint } from "@typescript-eslint/utils";
|
|
2
|
+
import type { RuleName } from "../core/rule-names.js";
|
|
3
|
+
export declare const rules: Record<RuleName, TSESLint.RuleModule<string, ReadonlyArray<string>>>;
|
|
8
4
|
export { suggestExportsRule } from "./suggest-exports/index.js";
|
|
9
5
|
export { suggestImportsRule } from "./suggest-imports/index.js";
|
|
10
6
|
export { suggestMembersRule } from "./suggest-members/index.js";
|
package/lib/rules/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAExD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAOrD,eAAO,MAAM,KAAK,EAAE,MAAM,CACxB,QAAQ,EACR,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAOnD,CAAA;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA"}
|
package/lib/rules/index.js
CHANGED
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
// CHANGE: rules registry
|
|
2
|
-
// WHY: central rule map for plugin
|
|
3
|
-
// QUOTE(TZ): n/a
|
|
4
|
-
// REF: AGENTS.md CORE
|
|
5
|
-
// SOURCE: n/a
|
|
6
|
-
// PURITY: CORE
|
|
7
1
|
import { suggestExportsRule } from "./suggest-exports/index.js";
|
|
8
2
|
import { suggestImportsRule } from "./suggest-imports/index.js";
|
|
9
3
|
import { suggestMembersRule } from "./suggest-members/index.js";
|
package/lib/rules/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AAExE,MAAM,CAAC,MAAM,KAAK,GAGd;IACF,iBAAiB,EAAE,kBAAkB;IACrC,iBAAiB,EAAE,kBAAkB;IACrC,iBAAiB,EAAE,kBAAkB;IACrC,uBAAuB,EAAE,uBAAuB;IAChD,sBAAsB,EAAE,sBAAsB;CAC/C,CAAA;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const suggestExportsRule:
|
|
1
|
+
import type { RuleListener } from "@typescript-eslint/utils/ts-eslint";
|
|
2
|
+
export declare const suggestExportsRule: import("@typescript-eslint/utils/ts-eslint").RuleModule<"suggestExports", [], unknown, RuleListener>;
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rules/suggest-exports/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rules/suggest-exports/index.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAe,YAAY,EAAE,MAAM,oCAAoC,CAAA;AA4FnF,eAAO,MAAM,kBAAkB,sGAQ9B,CAAA"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { AST_NODE_TYPES
|
|
1
|
+
import { AST_NODE_TYPES } from "@typescript-eslint/utils";
|
|
2
2
|
import { Effect } from "effect";
|
|
3
3
|
import { createTypeScriptServiceLayerForContext, getParserServicesForContext } from "../../shell/shared/import-validation-base.js";
|
|
4
4
|
import { createExportValidationListener } from "../../shell/shared/import-validation-rule-factory.js";
|
|
5
|
+
import { createRule } from "../../shell/shared/rule-creator.js";
|
|
5
6
|
import { runValidationEffect } from "../../shell/shared/validation-runner.js";
|
|
6
7
|
import { formatExportValidationMessage, validateExportAccessEffect } from "../../shell/validation/export-validation-effect.js";
|
|
7
8
|
import { formatLocalExportValidationMessage, validateLocalExportIdentifierEffect } from "../../shell/validation/local-export-validation-effect.js";
|
|
8
|
-
const createRule = (ESLintUtils.RuleCreator((name) => `https://github.com/ton-ai-core/eslint-plugin-suggest-members#${name}`));
|
|
9
9
|
const getModulePathFromExport = (node) => typeof node.source?.value === "string" ? node.source.value : undefined;
|
|
10
10
|
const buildExportValidationListener = (context) => createExportValidationListener(context, {
|
|
11
11
|
validateSpecifier: validateExportAccessEffect,
|
|
@@ -50,21 +50,9 @@ const buildListener = (context) => {
|
|
|
50
50
|
}
|
|
51
51
|
};
|
|
52
52
|
};
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
description: "Suggest similar export names when importing non-existent exports"
|
|
59
|
-
},
|
|
60
|
-
messages: {
|
|
61
|
-
suggestExports: "{{message}}"
|
|
62
|
-
},
|
|
63
|
-
schema: []
|
|
64
|
-
},
|
|
65
|
-
defaultOptions: [],
|
|
66
|
-
create(context) {
|
|
67
|
-
return buildListener(context);
|
|
68
|
-
}
|
|
69
|
-
});
|
|
53
|
+
const defaultOptions = [];
|
|
54
|
+
export const suggestExportsRule = createRule("suggest-exports", {
|
|
55
|
+
description: "Suggest similar export names when importing non-existent exports",
|
|
56
|
+
messageId: "suggestExports"
|
|
57
|
+
}, (context) => buildListener(context), defaultOptions);
|
|
70
58
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rules/suggest-exports/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rules/suggest-exports/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const suggestMembersRule: ESLintUtils.RuleModule<"suggestMembers", [], unknown, ESLintUtils.RuleListener>;
|
|
1
|
+
export declare const suggestMembersRule: import("@typescript-eslint/utils/ts-eslint").RuleModule<"suggestMembers", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
3
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rules/suggest-members/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rules/suggest-members/index.ts"],"names":[],"mappings":"AAuGA,eAAO,MAAM,kBAAkB,mJA8C9B,CAAA"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { AST_NODE_TYPES
|
|
1
|
+
import { AST_NODE_TYPES } from "@typescript-eslint/utils";
|
|
2
2
|
import { Effect, pipe } from "effect";
|
|
3
3
|
import { makeTypeScriptCompilerServiceLayer } from "../../shell/services/typescript-compiler.js";
|
|
4
|
+
import { getParserServicesForContext } from "../../shell/shared/import-validation-base.js";
|
|
5
|
+
import { createRule } from "../../shell/shared/rule-creator.js";
|
|
4
6
|
import { runValidationEffect } from "../../shell/shared/validation-runner.js";
|
|
5
7
|
import { formatMemberValidationMessage, validateMemberAccessEffectWithNodes, validateMemberPropertyNameEffect, validateObjectLiteralPropertyNameEffect } from "../../shell/validation/member-validation-effect.js";
|
|
6
|
-
const createRule = ESLintUtils.RuleCreator((name) => `https://github.com/ton-ai-core/eslint-plugin-suggest-members#${name}`);
|
|
7
8
|
const createValidateAndReport = (tsServiceLayer, context, esTreeNodeToTSNodeMap) => (node) => {
|
|
8
9
|
if (node.computed)
|
|
9
10
|
return;
|
|
@@ -40,37 +41,31 @@ const validateObjectProperty = (tsServiceLayer, context, esTreeNodeToTSNodeMap,
|
|
|
40
41
|
formatMessage: formatMemberValidationMessage
|
|
41
42
|
});
|
|
42
43
|
};
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
44
|
+
const defaultOptions = [];
|
|
45
|
+
export const suggestMembersRule = createRule("suggest-members", {
|
|
46
|
+
description: "enforce correct member names when accessing non-existent properties",
|
|
47
|
+
messageId: "suggestMembers"
|
|
48
|
+
}, (context) => {
|
|
49
|
+
const parserServices = getParserServicesForContext(context);
|
|
50
|
+
if (!parserServices)
|
|
51
|
+
return {};
|
|
52
|
+
const program = parserServices.program;
|
|
53
|
+
if (!program)
|
|
54
|
+
return {};
|
|
55
|
+
const checker = program.getTypeChecker();
|
|
56
|
+
const esTreeNodeToTSNodeMap = parserServices.esTreeNodeToTSNodeMap;
|
|
57
|
+
const tsServiceLayer = makeTypeScriptCompilerServiceLayer(checker, program);
|
|
58
|
+
const validateAndReport = createValidateAndReport(tsServiceLayer, context, esTreeNodeToTSNodeMap);
|
|
59
|
+
const validatePatternProperty = validateObjectProperty(tsServiceLayer, context, esTreeNodeToTSNodeMap, AST_NODE_TYPES.ObjectPattern, (propertyName, node, tsNode) => validateMemberPropertyNameEffect(propertyName, node, tsNode));
|
|
60
|
+
const validateLiteralProperty = validateObjectProperty(tsServiceLayer, context, esTreeNodeToTSNodeMap, AST_NODE_TYPES.ObjectExpression, (propertyName, node, tsNode) => validateObjectLiteralPropertyNameEffect(propertyName, node, tsNode));
|
|
61
|
+
return {
|
|
62
|
+
MemberExpression(node) {
|
|
63
|
+
validateAndReport(node);
|
|
49
64
|
},
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
create(context) {
|
|
57
|
-
const parserServices = ESLintUtils.getParserServices(context);
|
|
58
|
-
const program = parserServices.program;
|
|
59
|
-
const checker = program.getTypeChecker();
|
|
60
|
-
const esTreeNodeToTSNodeMap = parserServices.esTreeNodeToTSNodeMap;
|
|
61
|
-
const tsServiceLayer = makeTypeScriptCompilerServiceLayer(checker, program);
|
|
62
|
-
const validateAndReport = createValidateAndReport(tsServiceLayer, context, esTreeNodeToTSNodeMap);
|
|
63
|
-
const validatePatternProperty = validateObjectProperty(tsServiceLayer, context, esTreeNodeToTSNodeMap, AST_NODE_TYPES.ObjectPattern, (propertyName, node, tsNode) => validateMemberPropertyNameEffect(propertyName, node, tsNode));
|
|
64
|
-
const validateLiteralProperty = validateObjectProperty(tsServiceLayer, context, esTreeNodeToTSNodeMap, AST_NODE_TYPES.ObjectExpression, (propertyName, node, tsNode) => validateObjectLiteralPropertyNameEffect(propertyName, node, tsNode));
|
|
65
|
-
return {
|
|
66
|
-
MemberExpression(node) {
|
|
67
|
-
validateAndReport(node);
|
|
68
|
-
},
|
|
69
|
-
Property(node) {
|
|
70
|
-
validatePatternProperty(node);
|
|
71
|
-
validateLiteralProperty(node);
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
});
|
|
65
|
+
Property(node) {
|
|
66
|
+
validatePatternProperty(node);
|
|
67
|
+
validateLiteralProperty(node);
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
}, defaultOptions);
|
|
76
71
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rules/suggest-members/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rules/suggest-members/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rules/suggest-missing-names/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAY,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rules/suggest-missing-names/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAY,MAAM,0BAA0B,CAAA;AA2FlE,eAAO,MAAM,uBAAuB,gFAQnC,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { AST_NODE_TYPES
|
|
1
|
+
import { AST_NODE_TYPES } from "@typescript-eslint/utils";
|
|
2
2
|
import { Effect } from "effect";
|
|
3
3
|
import { createTypeScriptServiceLayerForContext, getParserServicesForContext } from "../../shell/shared/import-validation-base.js";
|
|
4
|
+
import { createRule } from "../../shell/shared/rule-creator.js";
|
|
4
5
|
import { runValidationEffect } from "../../shell/shared/validation-runner.js";
|
|
5
6
|
import { formatMissingNameValidationMessage, validateMissingNameIdentifierEffect } from "../../shell/validation/missing-name-validation-effect.js";
|
|
6
7
|
const isValueIdentifierReference = (reference) => {
|
|
@@ -61,21 +62,9 @@ const buildListener = (context) => {
|
|
|
61
62
|
}
|
|
62
63
|
};
|
|
63
64
|
};
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
description: "suggest similar identifiers for unresolved names"
|
|
70
|
-
},
|
|
71
|
-
messages: {
|
|
72
|
-
suggestMissingNames: "{{message}}"
|
|
73
|
-
},
|
|
74
|
-
schema: []
|
|
75
|
-
},
|
|
76
|
-
defaultOptions: [],
|
|
77
|
-
create(context) {
|
|
78
|
-
return buildListener(context);
|
|
79
|
-
}
|
|
80
|
-
});
|
|
65
|
+
const defaultOptions = [];
|
|
66
|
+
export const suggestMissingNamesRule = createRule("suggest-missing-names", {
|
|
67
|
+
description: "suggest similar identifiers for unresolved names",
|
|
68
|
+
messageId: "suggestMissingNames"
|
|
69
|
+
}, (context) => buildListener(context), defaultOptions);
|
|
81
70
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rules/suggest-missing-names/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rules/suggest-missing-names/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const suggestModulePathsRule: ESLintUtils.RuleModule<"suggestModulePaths", [], unknown, ESLintUtils.RuleListener>;
|
|
1
|
+
export declare const suggestModulePathsRule: import("@typescript-eslint/utils/ts-eslint").RuleModule<"suggestModulePaths", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
3
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rules/suggest-module-paths/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rules/suggest-module-paths/index.ts"],"names":[],"mappings":"AAmDA,eAAO,MAAM,sBAAsB,uJA0ClC,CAAA"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { AST_NODE_TYPES
|
|
1
|
+
import { AST_NODE_TYPES } from "@typescript-eslint/utils";
|
|
2
2
|
import { isModulePath } from "../../core/validators/index.js";
|
|
3
3
|
import { getParserServicesForContext } from "../../shell/shared/import-validation-base.js";
|
|
4
|
+
import { createRule } from "../../shell/shared/rule-creator.js";
|
|
4
5
|
import { runValidationEffect } from "../../shell/shared/validation-runner.js";
|
|
5
6
|
import { getModulePathIndex } from "../../shell/validation/module-path-index.js";
|
|
6
7
|
import { formatModulePathValidationMessage, validateModulePathEffect } from "../../shell/validation/module-validation-effect.js";
|
|
7
|
-
const createRule = ESLintUtils.RuleCreator((name) => `https://github.com/ton-ai-core/eslint-plugin-suggest-members#${name}`);
|
|
8
8
|
const createValidateAndReport = (currentFilePath, context, moduleIndex) => (node, reportNode, modulePath) => {
|
|
9
9
|
if (!isModulePath(modulePath))
|
|
10
10
|
return;
|
|
@@ -19,47 +19,37 @@ const createValidateAndReport = (currentFilePath, context, moduleIndex) => (node
|
|
|
19
19
|
formatMessage: formatModulePathValidationMessage
|
|
20
20
|
});
|
|
21
21
|
};
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
const defaultOptions = [];
|
|
23
|
+
export const suggestModulePathsRule = createRule("suggest-module-paths", {
|
|
24
|
+
description: "enforce correct module paths by suggesting similar paths when importing non-existent modules",
|
|
25
|
+
messageId: "suggestModulePaths"
|
|
26
|
+
}, (context) => {
|
|
27
|
+
const currentFilePath = context.filename;
|
|
28
|
+
const parseResult = getParserServicesForContext(context);
|
|
29
|
+
const moduleIndex = parseResult?.program
|
|
30
|
+
? getModulePathIndex(parseResult.program)
|
|
31
|
+
: undefined;
|
|
32
|
+
const validateAndReport = createValidateAndReport(currentFilePath, context, moduleIndex);
|
|
33
|
+
return {
|
|
34
|
+
ImportDeclaration(node) {
|
|
35
|
+
const modulePath = node.source.value;
|
|
36
|
+
if (typeof modulePath !== "string")
|
|
37
|
+
return;
|
|
38
|
+
validateAndReport(node, node.source, modulePath);
|
|
28
39
|
},
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
},
|
|
34
|
-
defaultOptions: [],
|
|
35
|
-
create(context) {
|
|
36
|
-
const currentFilePath = context.filename;
|
|
37
|
-
const parseResult = getParserServicesForContext(context);
|
|
38
|
-
const moduleIndex = parseResult?.program
|
|
39
|
-
? getModulePathIndex(parseResult.program)
|
|
40
|
-
: undefined;
|
|
41
|
-
const validateAndReport = createValidateAndReport(currentFilePath, context, moduleIndex);
|
|
42
|
-
return {
|
|
43
|
-
ImportDeclaration(node) {
|
|
44
|
-
const modulePath = node.source.value;
|
|
45
|
-
if (typeof modulePath !== "string")
|
|
46
|
-
return;
|
|
47
|
-
validateAndReport(node, node.source, modulePath);
|
|
48
|
-
},
|
|
49
|
-
CallExpression(node) {
|
|
50
|
-
if (node.callee.type !== AST_NODE_TYPES.Identifier ||
|
|
51
|
-
node.callee.name !== "require") {
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
const firstArg = node.arguments[0];
|
|
55
|
-
if (!firstArg || firstArg.type !== AST_NODE_TYPES.Literal)
|
|
56
|
-
return;
|
|
57
|
-
if (typeof firstArg.value !== "string")
|
|
58
|
-
return;
|
|
59
|
-
const modulePath = firstArg.value;
|
|
60
|
-
validateAndReport(node, firstArg, modulePath);
|
|
40
|
+
CallExpression(node) {
|
|
41
|
+
if (node.callee.type !== AST_NODE_TYPES.Identifier ||
|
|
42
|
+
node.callee.name !== "require") {
|
|
43
|
+
return;
|
|
61
44
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
45
|
+
const firstArg = node.arguments[0];
|
|
46
|
+
if (!firstArg || firstArg.type !== AST_NODE_TYPES.Literal)
|
|
47
|
+
return;
|
|
48
|
+
if (typeof firstArg.value !== "string")
|
|
49
|
+
return;
|
|
50
|
+
const modulePath = firstArg.value;
|
|
51
|
+
validateAndReport(node, firstArg, modulePath);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
}, defaultOptions);
|
|
65
55
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rules/suggest-module-paths/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rules/suggest-module-paths/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAGzD,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAA;AAC1F,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAE7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAA;AAChF,OAAO,EACL,iCAAiC,EACjC,wBAAwB,EACzB,MAAM,oDAAoD,CAAA;AAE3D,MAAM,uBAAuB,GAAG,CAC9B,eAAuB,EACvB,OAA8C,EAC9C,WAAwC,EACxC,EAAE,CACJ,CAAC,IAAY,EAAE,UAAyB,EAAE,UAAkB,EAAQ,EAAE;IACpE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;QAAE,OAAM;IACrC,IAAI,CAAC,WAAW;QAAE,OAAM;IAExB,MAAM,gBAAgB,GAAG,wBAAwB,CAC/C,IAAI,EACJ,UAAU,EACV,eAAe,EACf,WAAW,CACZ,CAAA;IAED,mBAAmB,CAAC;QAClB,gBAAgB;QAChB,OAAO;QACP,UAAU;QACV,SAAS,EAAE,oBAAoB;QAC/B,aAAa,EAAE,iCAAiC;KACjD,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,cAAc,GAAO,EAAE,CAAA;AAE7B,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAC9C,sBAAsB,EACtB;IACE,WAAW,EAAE,8FAA8F;IAC3G,SAAS,EAAE,oBAAoB;CAChC,EACD,CAAC,OAAO,EAAE,EAAE;IACV,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAA;IACxC,MAAM,WAAW,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAA;IACxD,MAAM,WAAW,GAAG,WAAW,EAAE,OAAO;QACtC,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAC,OAAO,CAAC;QACzC,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,iBAAiB,GAAG,uBAAuB,CAC/C,eAAe,EACf,OAAO,EACP,WAAW,CACZ,CAAA;IAED,OAAO;QACL,iBAAiB,CAAC,IAAgC;YAChD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAA;YACpC,IAAI,OAAO,UAAU,KAAK,QAAQ;gBAAE,OAAM;YAC1C,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QAClD,CAAC;QACD,cAAc,CAAC,IAA6B;YAC1C,IACE,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;gBAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,EAC9B,CAAC;gBACD,OAAM;YACR,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;YAClC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC,OAAO;gBAAE,OAAM;YACjE,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ;gBAAE,OAAM;YAE9C,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAA;YACjC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;QAC/C,CAAC;KACF,CAAA;AACH,CAAC,EACD,cAAc,CACf,CAAA"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
2
|
import * as ts from "typescript";
|
|
3
3
|
import type { TypeScriptServiceError } from "../effects/errors.js";
|
|
4
|
-
export declare const tryGetBuiltinExports: (modulePath: string) => ReadonlyArray<string> | null;
|
|
5
4
|
export declare const resolveContextFileEffect: (program: ts.Program, modulePath: string, containingFilePath?: string) => Effect.Effect<ts.SourceFile, TypeScriptServiceError>;
|
|
6
5
|
export declare const resolveModuleSymbolEffect: (checker: ts.TypeChecker, program: ts.Program, modulePath: string, contextFile: ts.SourceFile) => Effect.Effect<ts.Symbol, TypeScriptServiceError>;
|
|
7
6
|
export declare const createGetExportsOfModuleEffect: (checker: ts.TypeChecker | undefined, program: ts.Program | undefined) => (modulePath: string, containingFilePath?: string) => Effect.Effect<ReadonlyArray<string>, TypeScriptServiceError>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-compiler-module-effects.d.ts","sourceRoot":"","sources":["../../../src/shell/services/typescript-compiler-module-effects.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAQ,MAAM,QAAQ,CAAA;AACrC,OAAO,KAAK,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"typescript-compiler-module-effects.d.ts","sourceRoot":"","sources":["../../../src/shell/services/typescript-compiler-module-effects.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAQ,MAAM,QAAQ,CAAA;AACrC,OAAO,KAAK,EAAE,MAAM,YAAY,CAAA;AAEhC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAMlE,eAAO,MAAM,wBAAwB,GACnC,SAAS,EAAE,CAAC,OAAO,EACnB,YAAY,MAAM,EAClB,qBAAqB,MAAM,KAC1B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,sBAAsB,CAelD,CAAA;AAEJ,eAAO,MAAM,yBAAyB,GACpC,SAAS,EAAE,CAAC,WAAW,EACvB,SAAS,EAAE,CAAC,OAAO,EACnB,YAAY,MAAM,EAClB,aAAa,EAAE,CAAC,UAAU,KACzB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,sBAAsB,CAU9C,CAAA;AAmEJ,eAAO,MAAM,8BAA8B,GACzC,SAAS,EAAE,CAAC,WAAW,GAAG,SAAS,EACnC,SAAS,EAAE,CAAC,OAAO,GAAG,SAAS,MAG/B,YAAY,MAAM,EAClB,qBAAqB,MAAM,KAC1B,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,sBAAsB,CAe1D,CAAA;AA0BJ,eAAO,MAAM,6BAA6B,GACxC,SAAS,EAAE,CAAC,OAAO,GAAG,SAAS,MAG/B,YAAY,MAAM,EAClB,gBAAgB,MAAM,KACrB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAGK,CAAA;AAyCpD,eAAO,MAAM,kCAAkC,GAC7C,SAAS,EAAE,CAAC,WAAW,GAAG,SAAS,EACnC,SAAS,EAAE,CAAC,OAAO,GAAG,SAAS,MAmB7B,YAAY,MAAM,EAClB,YAAY,MAAM,EAClB,qBAAqB,MAAM,KAC1B,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,sBAAsB,CAM5D,CAAA;AAeD,eAAO,MAAM,6BAA6B,GACxC,SAAS,EAAE,CAAC,WAAW,GAAG,SAAS,EACnC,SAAS,EAAE,CAAC,OAAO,GAAG,SAAS,MAU7B,YAAY,MAAM,EAClB,qBAAqB,MAAM,KAC1B,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,sBAAsB,CAM5D,CAAA"}
|
|
@@ -9,16 +9,10 @@
|
|
|
9
9
|
// COMPLEXITY: O(n)/O(1)
|
|
10
10
|
import { Effect, pipe } from "effect";
|
|
11
11
|
import * as ts from "typescript";
|
|
12
|
-
import { getNodeBuiltinExports, isNodeBuiltinModule } from "../../core/validation/node-builtin-exports.js";
|
|
13
12
|
import { makeModuleNotFoundError, makeTypeCheckerUnavailableError, makeTypeResolutionError } from "../effects/errors.js";
|
|
14
13
|
import { ignoreErrorToUndefined } from "../shared/effect-utils.js";
|
|
15
14
|
import { findContextFile, findModuleSymbol } from "./typescript-compiler-helpers.js";
|
|
16
15
|
import { createUndefinedResultEffect, formatTypeName, formatTypeSignature } from "./typescript-effect-utils.js";
|
|
17
|
-
export const tryGetBuiltinExports = (modulePath) => {
|
|
18
|
-
if (!isNodeBuiltinModule(modulePath))
|
|
19
|
-
return null;
|
|
20
|
-
return getNodeBuiltinExports(modulePath) ?? null;
|
|
21
|
-
};
|
|
22
16
|
export const resolveContextFileEffect = (program, modulePath, containingFilePath) => Effect.try({
|
|
23
17
|
try: () => {
|
|
24
18
|
if (containingFilePath) {
|
|
@@ -59,9 +53,6 @@ const createModuleLookupEffect = (checker, program, build) => {
|
|
|
59
53
|
return (params) => pipe(resolveModuleContextEffect(checker, program, params.modulePath, params.containingFilePath), Effect.flatMap(({ contextFile, moduleSymbol }) => build(checker, moduleSymbol, contextFile, params)), ignoreErrorToUndefined);
|
|
60
54
|
};
|
|
61
55
|
export const createGetExportsOfModuleEffect = (checker, program) => (modulePath, containingFilePath) => Effect.gen(function* (_) {
|
|
62
|
-
const builtin = tryGetBuiltinExports(modulePath);
|
|
63
|
-
if (builtin)
|
|
64
|
-
return builtin;
|
|
65
56
|
if (!checker || !program) {
|
|
66
57
|
return yield* _(Effect.fail(makeTypeCheckerUnavailableError()));
|
|
67
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-compiler-module-effects.js","sourceRoot":"","sources":["../../../src/shell/services/typescript-compiler-module-effects.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2CAA2C;AAC3C,iBAAiB;AACjB,uBAAuB;AACvB,cAAc;AACd,gBAAgB;AAChB,4CAA4C;AAC5C,gDAAgD;AAChD,wBAAwB;AACxB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,KAAK,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"typescript-compiler-module-effects.js","sourceRoot":"","sources":["../../../src/shell/services/typescript-compiler-module-effects.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { RuleContext, RuleListener, RuleModule } from "@typescript-eslint/utils/ts-eslint";
|
|
2
|
+
import type { RuleName } from "../../core/rule-names.js";
|
|
2
3
|
import type { ImportValidationConfig } from "./import-validation-base.js";
|
|
3
4
|
export declare const createExportValidationListener: <TResult>(context: RuleContext<string, ReadonlyArray<string>>, config: ImportValidationConfig<TResult>) => RuleListener;
|
|
4
|
-
export declare const createValidationRule: <TResult>(
|
|
5
|
-
export declare const createExportValidationRule: <TResult>(
|
|
5
|
+
export declare const createValidationRule: <TResult>(ruleName: RuleName, description: string, messageId: string, config: ImportValidationConfig<TResult>) => RuleModule<string, ReadonlyArray<string>>;
|
|
6
|
+
export declare const createExportValidationRule: <TResult>(ruleName: RuleName, description: string, messageId: string, config: ImportValidationConfig<TResult>) => RuleModule<string, ReadonlyArray<string>>;
|
|
6
7
|
//# sourceMappingURL=import-validation-rule-factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-validation-rule-factory.d.ts","sourceRoot":"","sources":["../../../src/shell/shared/import-validation-rule-factory.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;
|
|
1
|
+
{"version":3,"file":"import-validation-rule-factory.d.ts","sourceRoot":"","sources":["../../../src/shell/shared/import-validation-rule-factory.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAE/F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAExD,OAAO,KAAK,EAAE,sBAAsB,EAAiC,MAAM,6BAA6B,CAAA;AA4CxG,eAAO,MAAM,8BAA8B,GAAI,OAAO,EACpD,SAAS,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,EACnD,QAAQ,sBAAsB,CAAC,OAAO,CAAC,KACtC,YAmBF,CAAA;AAwBD,eAAO,MAAM,oBAAoB,GAzEH,OAAO,YA0DzB,QAAQ,eACL,MAAM,aACR,MAAM,8CAEhB,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAWiC,CAAA;AAC5E,eAAO,MAAM,0BAA0B,GA/CQ,OAAO,YA+B1C,QAAQ,eACL,MAAM,aACR,MAAM,8CAEhB,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAYiD,CAAA"}
|
|
@@ -1,18 +1,8 @@
|
|
|
1
|
-
import { AST_NODE_TYPES
|
|
1
|
+
import { AST_NODE_TYPES } from "@typescript-eslint/utils";
|
|
2
2
|
import { isTypeOnlyImport } from "../../core/validators/index.js";
|
|
3
3
|
import { createTypeScriptServiceLayerForContext, validateExportSpecifierBase, validateImportSpecifierBase } from "./import-validation-base.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
type: "problem",
|
|
7
|
-
docs: { description },
|
|
8
|
-
messages: { [messageId]: "{{message}}" },
|
|
9
|
-
schema: []
|
|
10
|
-
},
|
|
11
|
-
defaultOptions: [],
|
|
12
|
-
create(context) {
|
|
13
|
-
return buildListener(context, config);
|
|
14
|
-
}
|
|
15
|
-
});
|
|
4
|
+
import { createRule } from "./rule-creator.js";
|
|
5
|
+
const defaultOptions = [];
|
|
16
6
|
const getModulePathFromImport = (node) => typeof node.source.value === "string" ? node.source.value : undefined;
|
|
17
7
|
const getModulePathFromExport = (node) => typeof node.source?.value === "string" ? node.source.value : undefined;
|
|
18
8
|
const buildImportListeners = (context, config) => {
|
|
@@ -45,7 +35,10 @@ export const createExportValidationListener = (context, config) => {
|
|
|
45
35
|
}
|
|
46
36
|
};
|
|
47
37
|
};
|
|
48
|
-
const makeValidationRule = (buildListener) => (
|
|
38
|
+
const makeValidationRule = (buildListener) => (ruleName, description, messageId, config) => createRule(ruleName, {
|
|
39
|
+
description,
|
|
40
|
+
messageId
|
|
41
|
+
}, (context) => buildListener(context, config), defaultOptions);
|
|
49
42
|
export const createValidationRule = makeValidationRule(buildImportListeners);
|
|
50
43
|
export const createExportValidationRule = makeValidationRule(createExportValidationListener);
|
|
51
44
|
//# sourceMappingURL=import-validation-rule-factory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-validation-rule-factory.js","sourceRoot":"","sources":["../../../src/shell/shared/import-validation-rule-factory.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"import-validation-rule-factory.js","sourceRoot":"","sources":["../../../src/shell/shared/import-validation-rule-factory.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAIzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAEjE,OAAO,EACL,sCAAsC,EACtC,2BAA2B,EAC3B,2BAA2B,EAC5B,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,MAAM,cAAc,GAA0B,EAAE,CAAA;AAEhD,MAAM,uBAAuB,GAAG,CAAC,IAAgC,EAAsB,EAAE,CACvF,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AAEvE,MAAM,uBAAuB,GAAG,CAC9B,IAAqC,EACjB,EAAE,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AAE/F,MAAM,oBAAoB,GAAG,CAC3B,OAAmD,EACnD,MAAuC,EACzB,EAAE;IAChB,MAAM,SAAS,GAAG,sCAAsC,CAAC,OAAO,CAAC,CAAA;IAEjE,OAAO;QACL,iBAAiB,CAAC,IAAgC;YAChD,IAAI,gBAAgB,CAAC,IAAI,CAAC;gBAAE,OAAM;YAClC,MAAM,UAAU,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAA;YAChD,IAAI,CAAC,UAAU;gBAAE,OAAM;YAEvB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxC,IAAI,SAAS,CAAC,IAAI,KAAK,cAAc,CAAC,eAAe,EAAE,CAAC;oBACtD,2BAA2B,CACzB,SAAS,EACT,UAAU,EACV,MAAM,EACN,OAAO,EACP,SAAS,CACV,CAAA;gBACH,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC5C,OAAmD,EACnD,MAAuC,EACzB,EAAE;IAChB,MAAM,SAAS,GAAkC,sCAAsC,CAAC,OAAO,CAAC,CAAA;IAEhG,OAAO;QACL,sBAAsB,CAAC,IAAqC;YAC1D,MAAM,UAAU,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAA;YAChD,IAAI,CAAC,UAAU;gBAAE,OAAM;YAEvB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxC,2BAA2B,CACzB,SAAS,EACT,UAAU,EACV,MAAM,EACN,OAAO,EACP,SAAS,CACV,CAAA;YACH,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,CACzB,aAGiB,EACjB,EAAE,CACJ,CACE,QAAkB,EAClB,WAAmB,EACnB,SAAiB,EACjB,MAAuC,EACI,EAAE,CAC7C,UAAU,CACR,QAAQ,EACR;IACE,WAAW;IACX,SAAS;CACV,EACD,CAAC,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,EAC3C,cAAc,CACf,CAAA;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,oBAAoB,CAAC,CAAA;AAC5E,MAAM,CAAC,MAAM,0BAA0B,GAAG,kBAAkB,CAAC,8BAA8B,CAAC,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { RuleContext, RuleListener, RuleModule } from "@typescript-eslint/utils/ts-eslint";
|
|
2
|
+
import type { RuleName } from "../../core/rule-names.js";
|
|
3
|
+
export interface RuleMetaInput<TMessageId extends string> {
|
|
4
|
+
readonly description: string;
|
|
5
|
+
readonly messageId: TMessageId;
|
|
6
|
+
}
|
|
7
|
+
export declare const createRule: <TMessageId extends string, TOptions extends ReadonlyArray<string>>(ruleName: RuleName, meta: RuleMetaInput<TMessageId>, buildListener: (context: RuleContext<TMessageId, TOptions>) => RuleListener, defaultOptions: TOptions) => RuleModule<TMessageId, TOptions>;
|
|
8
|
+
//# sourceMappingURL=rule-creator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rule-creator.d.ts","sourceRoot":"","sources":["../../../src/shell/shared/rule-creator.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAE/F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAGxD,MAAM,WAAW,aAAa,CAAC,UAAU,SAAS,MAAM;IACtD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAA;CAC/B;AAED,eAAO,MAAM,UAAU,GACrB,UAAU,SAAS,MAAM,EACzB,QAAQ,SAAS,aAAa,CAAC,MAAM,CAAC,EAEtC,UAAU,QAAQ,EAClB,MAAM,aAAa,CAAC,UAAU,CAAC,EAC/B,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,KAAK,YAAY,EAC3E,gBAAgB,QAAQ,KACvB,UAAU,CAAC,UAAU,EAAE,QAAQ,CAmBjC,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// CHANGE: shared RuleCreator wrapper with docs URL
|
|
2
|
+
// WHY: consistent rule metadata + docs linking across rules
|
|
3
|
+
// QUOTE(TZ): n/a
|
|
4
|
+
// REF: AGENTS.md SHELL
|
|
5
|
+
// SOURCE: n/a
|
|
6
|
+
// FORMAT THEOREM: ∀r ∈ RuleName: docsUrl(r) is total
|
|
7
|
+
// PURITY: SHELL
|
|
8
|
+
// EFFECT: RuleModule creation
|
|
9
|
+
// INVARIANT: meta.messages contains messageId
|
|
10
|
+
// COMPLEXITY: O(1)/O(1)
|
|
11
|
+
import { ESLintUtils } from "@typescript-eslint/utils";
|
|
12
|
+
import { ruleDocsUrl } from "../../core/rule-names.js";
|
|
13
|
+
export const createRule = (ruleName, meta, buildListener, defaultOptions) => {
|
|
14
|
+
const create = ESLintUtils.RuleCreator(() => ruleDocsUrl(ruleName));
|
|
15
|
+
const messages = {
|
|
16
|
+
[meta.messageId]: "{{message}}"
|
|
17
|
+
};
|
|
18
|
+
return create({
|
|
19
|
+
name: ruleName,
|
|
20
|
+
meta: {
|
|
21
|
+
type: "problem",
|
|
22
|
+
docs: {
|
|
23
|
+
description: meta.description
|
|
24
|
+
},
|
|
25
|
+
messages,
|
|
26
|
+
schema: []
|
|
27
|
+
},
|
|
28
|
+
defaultOptions,
|
|
29
|
+
create: buildListener
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=rule-creator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rule-creator.js","sourceRoot":"","sources":["../../../src/shell/shared/rule-creator.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,4DAA4D;AAC5D,iBAAiB;AACjB,uBAAuB;AACvB,cAAc;AACd,qDAAqD;AACrD,gBAAgB;AAChB,8BAA8B;AAC9B,8CAA8C;AAC9C,wBAAwB;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAItD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAOtD,MAAM,CAAC,MAAM,UAAU,GAAG,CAIxB,QAAkB,EAClB,IAA+B,EAC/B,aAA2E,EAC3E,cAAwB,EACU,EAAE;IACpC,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAA;IACnE,MAAM,QAAQ,GAA2B;QACvC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa;KAChC,CAAA;IAED,OAAO,MAAM,CAAC;QACZ,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE;YACJ,IAAI,EAAE,SAAS;YACf,IAAI,EAAE;gBACJ,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B;YACD,QAAQ;YACR,MAAM,EAAE,EAAE;SACX;QACD,cAAc;QACd,MAAM,EAAE,aAAa;KACtB,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-validation-effect.d.ts","sourceRoot":"","sources":["../../../src/shell/validation/module-validation-effect.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,MAAM,EAAe,MAAM,QAAQ,CAAA;AAE5C,OAAO,KAAK,EAAE,0BAA0B,EAAuB,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"module-validation-effect.d.ts","sourceRoot":"","sources":["../../../src/shell/validation/module-validation-effect.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,MAAM,EAAe,MAAM,QAAQ,CAAA;AAE5C,OAAO,KAAK,EAAE,0BAA0B,EAAuB,MAAM,qBAAqB,CAAA;AAe1F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AA4H7D,eAAO,MAAM,wBAAwB,GACnC,MAAM,MAAM,EACZ,eAAe,MAAM,EACrB,gBAAgB,MAAM,EACtB,cAAc,eAAe,KAC5B,MAAM,CAAC,MAAM,CAAC,0BAA0B,EAAE,eAAe,CAUzD,CAAA;AAEH,eAAO,MAAM,sBAAsB,GACjC,YAAY,MAAM,EAClB,gBAAgB,MAAM,KACrB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,oBAAoB,CAS5D,CAAA;AAEH,eAAO,MAAM,sBAAsB,GACjC,WAAW,MAAM,EACjB,WAAW,MAAM,KAChB,OAQF,CAAA;AAED,eAAO,MAAM,iCAAiC,GAC5C,QAAQ,0BAA0B,KACjC,MAaA,CAAA"}
|
|
@@ -13,7 +13,6 @@ import { Effect, Match, pipe } from "effect";
|
|
|
13
13
|
import { extractModuleName, formatModuleMessage, isModulePath, isValidCandidate, makeModuleNotFoundResult, makeValidModuleResult } from "../../core/index.js";
|
|
14
14
|
import { findSimilarCandidates } from "../../core/suggestion/engine.js";
|
|
15
15
|
import { MODULE_FILE_EXTENSIONS, normalizeModuleSpecifier, stripKnownExtension } from "../../core/validation/module-path-utils.js";
|
|
16
|
-
import { isNodeBuiltinModule } from "../../core/validation/node-builtin-exports.js";
|
|
17
16
|
import { FilesystemServiceTag } from "../services/filesystem.js";
|
|
18
17
|
const pathService = Effect.runSync(Effect.provide(Effect.serviceOptional(Path.Path), NodePath.layer));
|
|
19
18
|
const normalizePath = (value) => value.replaceAll("\\", "/");
|
|
@@ -50,8 +49,6 @@ const validatePackageModulePathWithIndex = (index, requestedPath, node) => {
|
|
|
50
49
|
const moduleName = extractModuleName(requestedPath);
|
|
51
50
|
if (moduleName.length === 0)
|
|
52
51
|
return makeValidModuleResult();
|
|
53
|
-
if (isNodeBuiltinModule(moduleName))
|
|
54
|
-
return makeValidModuleResult();
|
|
55
52
|
if (index.packageNameSet.has(moduleName))
|
|
56
53
|
return makeValidModuleResult();
|
|
57
54
|
const validCandidates = index.packageNames.filter((candidate) => isValidCandidate(candidate, moduleName));
|
|
@@ -83,9 +80,6 @@ const validateModulePathWithIndex = (index, node, requestedPath, containingFile)
|
|
|
83
80
|
if (isNodeProtocolSpecifier(requestedPath)) {
|
|
84
81
|
return makeValidModuleResult();
|
|
85
82
|
}
|
|
86
|
-
if (isNodeBuiltinModule(requestedPath)) {
|
|
87
|
-
return makeValidModuleResult();
|
|
88
|
-
}
|
|
89
83
|
if (isPackageSpecifier(requestedPath)) {
|
|
90
84
|
return validatePackageModulePathWithIndex(index, requestedPath, node);
|
|
91
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-validation-effect.js","sourceRoot":"","sources":["../../../src/shell/validation/module-validation-effect.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,iDAAiD;AACjD,iBAAiB;AACjB,4BAA4B;AAC5B,cAAc;AACd,gBAAgB;AAChB,8DAA8D;AAC9D,oCAAoC;AACpC,8BAA8B;AAC9B,OAAO,KAAK,QAAQ,MAAM,gCAAgC,CAAA;AAC1D,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAG5C,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,wBAAwB,EACxB,qBAAqB,EACtB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACpB,MAAM,4CAA4C,CAAA;
|
|
1
|
+
{"version":3,"file":"module-validation-effect.js","sourceRoot":"","sources":["../../../src/shell/validation/module-validation-effect.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -67,10 +67,11 @@
|
|
|
67
67
|
"types": "lib/index.d.ts",
|
|
68
68
|
"name": "@prover-coder-ai/eslint-plugin-suggest-members",
|
|
69
69
|
"type": "module",
|
|
70
|
-
"version": "0.0.
|
|
70
|
+
"version": "0.0.6",
|
|
71
71
|
"scripts": {
|
|
72
72
|
"docs": "eslint-doc-generator",
|
|
73
|
-
"
|
|
73
|
+
"sync-plugin-meta": "node scripts/sync-plugin-meta.mjs",
|
|
74
|
+
"build": "pnpm run sync-plugin-meta && tsc -p tsconfig.build.json",
|
|
74
75
|
"dev": "tsc -p tsconfig.build.json --watch",
|
|
75
76
|
"lint": "npx @ton-ai-core/vibecode-linter src/",
|
|
76
77
|
"lint:tests": "npx @ton-ai-core/vibecode-linter tests/",
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export declare const NODE_BUILTIN_EXPORTS: Readonly<Record<string, ReadonlyArray<string>>>;
|
|
2
|
-
export declare const isNodeBuiltinModule: (modulePath: string) => boolean;
|
|
3
|
-
export declare const getNodeBuiltinExports: (modulePath: string) => ReadonlyArray<string> | undefined;
|
|
4
|
-
//# sourceMappingURL=node-builtin-exports.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"node-builtin-exports.d.ts","sourceRoot":"","sources":["../../../src/core/validation/node-builtin-exports.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAuBhF,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,YAAY,MAAM,KAAG,OAGxD,CAAA;AAED,eAAO,MAAM,qBAAqB,GAChC,YAAY,MAAM,KACjB,aAAa,CAAC,MAAM,CAAC,GAAG,SAG1B,CAAA"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
// CHANGE: Node.js built-in exports (partial)
|
|
2
|
-
// WHY: provide suggestions for built-in modules
|
|
3
|
-
// QUOTE(TZ): n/a
|
|
4
|
-
// REF: Node.js docs
|
|
5
|
-
// SOURCE: n/a
|
|
6
|
-
// PURITY: CORE
|
|
7
|
-
// EFFECT: n/a
|
|
8
|
-
// INVARIANT: built-in map is read-only
|
|
9
|
-
// COMPLEXITY: O(1)/O(1)
|
|
10
|
-
export const NODE_BUILTIN_EXPORTS = {
|
|
11
|
-
fs: [
|
|
12
|
-
"readFile",
|
|
13
|
-
"readFileSync",
|
|
14
|
-
"writeFile",
|
|
15
|
-
"writeFileSync",
|
|
16
|
-
"readdir",
|
|
17
|
-
"readdirSync",
|
|
18
|
-
"stat",
|
|
19
|
-
"statSync",
|
|
20
|
-
"promises"
|
|
21
|
-
],
|
|
22
|
-
path: ["resolve", "join", "dirname", "basename", "extname"],
|
|
23
|
-
url: ["URL", "URLSearchParams", "fileURLToPath", "pathToFileURL"],
|
|
24
|
-
crypto: ["createHash", "createHmac", "randomBytes"],
|
|
25
|
-
os: ["platform", "arch", "cpus", "freemem", "totalmem"],
|
|
26
|
-
http: ["createServer", "request", "get"],
|
|
27
|
-
https: ["createServer", "request", "get"],
|
|
28
|
-
util: ["format", "inspect", "promisify"],
|
|
29
|
-
events: ["EventEmitter", "once"],
|
|
30
|
-
stream: ["Readable", "Writable", "pipeline"],
|
|
31
|
-
buffer: ["Buffer"],
|
|
32
|
-
process: ["cwd", "env", "exit", "argv"]
|
|
33
|
-
};
|
|
34
|
-
export const isNodeBuiltinModule = (modulePath) => {
|
|
35
|
-
const clean = modulePath.startsWith("node:") ? modulePath.slice(5) : modulePath;
|
|
36
|
-
return Object.prototype.hasOwnProperty.call(NODE_BUILTIN_EXPORTS, clean);
|
|
37
|
-
};
|
|
38
|
-
export const getNodeBuiltinExports = (modulePath) => {
|
|
39
|
-
const clean = modulePath.startsWith("node:") ? modulePath.slice(5) : modulePath;
|
|
40
|
-
return NODE_BUILTIN_EXPORTS[clean];
|
|
41
|
-
};
|
|
42
|
-
//# sourceMappingURL=node-builtin-exports.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"node-builtin-exports.js","sourceRoot":"","sources":["../../../src/core/validation/node-builtin-exports.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,gDAAgD;AAChD,iBAAiB;AACjB,oBAAoB;AACpB,cAAc;AACd,eAAe;AACf,cAAc;AACd,uCAAuC;AACvC,wBAAwB;AAExB,MAAM,CAAC,MAAM,oBAAoB,GAAoD;IACnF,EAAE,EAAE;QACF,UAAU;QACV,cAAc;QACd,WAAW;QACX,eAAe;QACf,SAAS;QACT,aAAa;QACb,MAAM;QACN,UAAU;QACV,UAAU;KACX;IACD,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC;IAC3D,GAAG,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,CAAC;IACjE,MAAM,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,aAAa,CAAC;IACnD,EAAE,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC;IACvD,IAAI,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,KAAK,CAAC;IACxC,KAAK,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,KAAK,CAAC;IACzC,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC;IACxC,MAAM,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC;IAC5C,MAAM,EAAE,CAAC,QAAQ,CAAC;IAClB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;CACxC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,UAAkB,EAAW,EAAE;IACjE,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA;IAC/E,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAA;AAC1E,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,UAAkB,EACiB,EAAE;IACrC,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA;IAC/E,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAA;AACpC,CAAC,CAAA"}
|