@kernlang/evolve 3.1.5 → 3.1.7
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/LICENSE +17 -0
- package/dist/concept-gap-adapter.js +1 -1
- package/dist/concept-gap-adapter.js.map +1 -1
- package/dist/detector-registry.js +1 -1
- package/dist/detector-registry.js.map +1 -1
- package/dist/detectors/animation.js +4 -8
- package/dist/detectors/animation.js.map +1 -1
- package/dist/detectors/data-fetching.js +3 -5
- package/dist/detectors/data-fetching.js.map +1 -1
- package/dist/detectors/express-middleware.js +4 -4
- package/dist/detectors/express-middleware.js.map +1 -1
- package/dist/detectors/react-forms.js +5 -3
- package/dist/detectors/react-forms.js.map +1 -1
- package/dist/detectors/schema-validation.js +2 -2
- package/dist/detectors/schema-validation.js.map +1 -1
- package/dist/detectors/state-mgmt.js +2 -3
- package/dist/detectors/state-mgmt.js.map +1 -1
- package/dist/detectors/structural.js +37 -23
- package/dist/detectors/structural.js.map +1 -1
- package/dist/detectors/testing.js +1 -1
- package/dist/detectors/testing.js.map +1 -1
- package/dist/detectors/vue-composables.js +4 -2
- package/dist/detectors/vue-composables.js.map +1 -1
- package/dist/evolve-dedup.js.map +1 -1
- package/dist/evolve-rollback.js +2 -2
- package/dist/evolve-rollback.js.map +1 -1
- package/dist/evolve-runner.js +24 -23
- package/dist/evolve-runner.js.map +1 -1
- package/dist/evolve-validator-v4.js +4 -5
- package/dist/evolve-validator-v4.js.map +1 -1
- package/dist/evolved-node-loader.js +4 -4
- package/dist/evolved-node-loader.js.map +1 -1
- package/dist/expressibility-scorer.d.ts +1 -1
- package/dist/expressibility-scorer.js +2 -3
- package/dist/expressibility-scorer.js.map +1 -1
- package/dist/gap-detector.d.ts +1 -1
- package/dist/gap-detector.js +2 -2
- package/dist/gap-detector.js.map +1 -1
- package/dist/golden-test-runner.js +4 -5
- package/dist/golden-test-runner.js.map +1 -1
- package/dist/graduation.d.ts +1 -1
- package/dist/graduation.js +4 -4
- package/dist/graduation.js.map +1 -1
- package/dist/index.d.ts +24 -24
- package/dist/index.js +35 -34
- package/dist/index.js.map +1 -1
- package/dist/llm-discovery.d.ts +1 -1
- package/dist/llm-discovery.js +16 -8
- package/dist/llm-discovery.js.map +1 -1
- package/dist/llm-provider.js +4 -4
- package/dist/llm-provider.js.map +1 -1
- package/dist/node-governance.js.map +1 -1
- package/dist/node-proposer.d.ts +3 -3
- package/dist/node-proposer.js +4 -9
- package/dist/node-proposer.js.map +1 -1
- package/dist/node-validator.js +1 -1
- package/dist/node-validator.js.map +1 -1
- package/dist/pattern-analyzer.d.ts +1 -1
- package/dist/pattern-analyzer.js +25 -23
- package/dist/pattern-analyzer.js.map +1 -1
- package/dist/quality-scorer.d.ts +1 -1
- package/dist/quality-scorer.js +7 -7
- package/dist/quality-scorer.js.map +1 -1
- package/dist/sandboxed-generator.js +21 -18
- package/dist/sandboxed-generator.js.map +1 -1
- package/dist/staging.d.ts +2 -2
- package/dist/staging.js +14 -11
- package/dist/staging.js.map +1 -1
- package/dist/template-proposer.js +1 -1
- package/dist/template-proposer.js.map +1 -1
- package/dist/template-validator.js +17 -17
- package/dist/template-validator.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/package.json +4 -4
package/LICENSE
CHANGED
|
@@ -659,3 +659,20 @@ specific requirements.
|
|
|
659
659
|
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
|
660
660
|
For more information on this, and how to apply and follow the GNU AGPL, see
|
|
661
661
|
<https://www.gnu.org/licenses/>.
|
|
662
|
+
|
|
663
|
+
===============================================================================
|
|
664
|
+
|
|
665
|
+
Copyright (c) 2026 KERNlang
|
|
666
|
+
|
|
667
|
+
Additional permission under GNU AGPL version 3 section 7:
|
|
668
|
+
|
|
669
|
+
If you modify this Program, or any covered work, by linking or combining
|
|
670
|
+
it with other code, such other code is not for that reason alone subject
|
|
671
|
+
to any of the requirements of the GNU Affero GPL version 3.
|
|
672
|
+
|
|
673
|
+
---
|
|
674
|
+
|
|
675
|
+
COMMERCIAL USE
|
|
676
|
+
|
|
677
|
+
Using this software as part of a paid product or service requires a
|
|
678
|
+
commercial license. Contact: hello@kernlang.dev
|
|
@@ -22,7 +22,7 @@ export function resetConceptGapIds() {
|
|
|
22
22
|
export function detectConceptualGaps(sourceFile, filePath) {
|
|
23
23
|
const concepts = extractTsConcepts(sourceFile, filePath);
|
|
24
24
|
const findings = runConceptRules(concepts, filePath);
|
|
25
|
-
return findings.map(f => findingToGap(f, filePath));
|
|
25
|
+
return findings.map((f) => findingToGap(f, filePath));
|
|
26
26
|
}
|
|
27
27
|
function findingToGap(finding, filePath) {
|
|
28
28
|
const span = finding.primarySpan;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"concept-gap-adapter.js","sourceRoot":"","sources":["../src/concept-gap-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAItE,IAAI,kBAAkB,GAAG,CAAC,CAAC;AAE3B,SAAS,gBAAgB,CAAC,MAAc;IACtC,OAAO,eAAe,MAAM,IAAI,EAAE,kBAAkB,EAAE,CAAC;AACzD,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,kBAAkB;IAChC,kBAAkB,GAAG,CAAC,CAAC;AACzB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,
|
|
1
|
+
{"version":3,"file":"concept-gap-adapter.js","sourceRoot":"","sources":["../src/concept-gap-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAItE,IAAI,kBAAkB,GAAG,CAAC,CAAC;AAE3B,SAAS,gBAAgB,CAAC,MAAc;IACtC,OAAO,eAAe,MAAM,IAAI,EAAE,kBAAkB,EAAE,CAAC;AACzD,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,kBAAkB;IAChC,kBAAkB,GAAG,CAAC,CAAC;AACzB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAAsB,EAAE,QAAgB;IAC3E,MAAM,QAAQ,GAAG,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACrD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,YAAY,CAAC,OAAsB,EAAE,QAAgB;IAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;IACjC,OAAO;QACL,EAAE,EAAE,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC;QACpC,UAAU,EAAE,WAAW,OAAO,CAAC,MAAM,EAAE;QACvC,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE,YAAY;QACzB,YAAY,EAAE,EAAE;QAChB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE;QACzE,QAAQ;KACT,CAAC;AACJ,CAAC"}
|
|
@@ -25,7 +25,7 @@ export function getDetectorsForImport(importPath) {
|
|
|
25
25
|
const results = [];
|
|
26
26
|
for (const pack of _registry.values()) {
|
|
27
27
|
for (const pkgName of pack.packageNames) {
|
|
28
|
-
if (importPath === pkgName || importPath.startsWith(pkgName
|
|
28
|
+
if (importPath === pkgName || importPath.startsWith(`${pkgName}/`)) {
|
|
29
29
|
results.push(pack);
|
|
30
30
|
break;
|
|
31
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detector-registry.js","sourceRoot":"","sources":["../src/detector-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,SAAS,GAAG,IAAI,GAAG,EAAwB,CAAC;AAElD,MAAM,UAAU,gBAAgB,CAAC,IAAkB;IACjD,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,EAAU;IAC3C,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAU;IACpC,OAAO,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAAkB;IACtD,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;QACtC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACxC,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,CAAC,UAAU,CAAC,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"detector-registry.js","sourceRoot":"","sources":["../src/detector-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,SAAS,GAAG,IAAI,GAAG,EAAwB,CAAC;AAElD,MAAM,UAAU,gBAAgB,CAAC,IAAkB;IACjD,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,EAAU;IAC3C,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAU;IACpC,OAAO,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAAkB;IACtD,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;QACtC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACxC,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,CAAC;gBACnE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnB,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,SAAS,CAAC,KAAK,EAAE,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,SAAS,CAAC,IAAI,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAChC,MAAM,CAAC,4BAA4B,CAAC;YACpC,MAAM,CAAC,2BAA2B,CAAC;YACnC,MAAM,CAAC,0BAA0B,CAAC;YAClC,MAAM,CAAC,8BAA8B,CAAC;YACtC,MAAM,CAAC,kCAAkC,CAAC;YAC1C,MAAM,CAAC,mCAAmC,CAAC;YAC3C,MAAM,CAAC,gCAAgC,CAAC;YACxC,MAAM,CAAC,wBAAwB,CAAC;YAChC,MAAM,CAAC,2BAA2B,CAAC;SACpC,CAAC,CAAC;QACH,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBACjC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,qCAAsC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACjF,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAqB;IACrD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;AACH,CAAC"}
|
|
@@ -21,18 +21,16 @@ const framerMotionDetector = {
|
|
|
21
21
|
startLine,
|
|
22
22
|
endLine,
|
|
23
23
|
snippet,
|
|
24
|
-
extractedParams: [
|
|
25
|
-
{ name: 'controlsName', slotType: 'identifier', value: varName, optional: false },
|
|
26
|
-
],
|
|
24
|
+
extractedParams: [{ name: 'controlsName', slotType: 'identifier', value: varName, optional: false }],
|
|
27
25
|
confidencePct: 80,
|
|
28
26
|
});
|
|
29
27
|
}
|
|
30
28
|
// Pattern: variants object for motion components
|
|
31
29
|
const variantsRe = /(?:export\s+)?const\s+(\w+)\s*(?::\s*Variants)?\s*=\s*\{[^}]*(?:hidden|visible|initial|animate|exit|enter|center|closed|open)\s*:/g;
|
|
32
30
|
while ((match = variantsRe.exec(fullText)) !== null) {
|
|
33
|
-
const hasImport = sourceFile.getImportDeclarations().some(imp => {
|
|
31
|
+
const hasImport = sourceFile.getImportDeclarations().some((imp) => {
|
|
34
32
|
const mod = imp.getModuleSpecifierValue();
|
|
35
|
-
return mod === 'framer-motion' || mod === 'motion' || mod.startsWith('motion/') || mod.startsWith('framer-motion/');
|
|
33
|
+
return (mod === 'framer-motion' || mod === 'motion' || mod.startsWith('motion/') || mod.startsWith('framer-motion/'));
|
|
36
34
|
});
|
|
37
35
|
if (!hasImport)
|
|
38
36
|
continue;
|
|
@@ -54,9 +52,7 @@ const framerMotionDetector = {
|
|
|
54
52
|
startLine,
|
|
55
53
|
endLine,
|
|
56
54
|
snippet,
|
|
57
|
-
extractedParams: [
|
|
58
|
-
{ name: 'variantsName', slotType: 'identifier', value: varName, optional: false },
|
|
59
|
-
],
|
|
55
|
+
extractedParams: [{ name: 'variantsName', slotType: 'identifier', value: varName, optional: false }],
|
|
60
56
|
confidencePct: 75,
|
|
61
57
|
});
|
|
62
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animation.js","sourceRoot":"","sources":["../../src/detectors/animation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,MAAM,oBAAoB,GAAiB;IACzC,EAAE,EAAE,eAAe;IACnB,WAAW,EAAE,eAAe;IAC5B,YAAY,EAAE,CAAC,eAAe,EAAE,QAAQ,CAAC;IACzC,WAAW,EAAE,WAAW;IACxB,MAAM,CAAC,UAAsB,EAAE,QAAgB;QAC7C,MAAM,OAAO,GAAsB,EAAE,CAAC;QAEtC,8EAA8E;QAC9E,MAAM,SAAS,GAAG,qDAAqD,CAAC;QACxE,IAAI,KAA6B,CAAC;QAClC,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACnD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YACxE,MAAM,OAAO,GAAG,SAAS,CAAC;YAC1B,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAE/E,OAAO,CAAC,IAAI,CAAC;gBACX,YAAY,EAAE,cAAc;gBAC5B,SAAS;gBACT,OAAO;gBACP,OAAO;gBACP,eAAe,EAAE
|
|
1
|
+
{"version":3,"file":"animation.js","sourceRoot":"","sources":["../../src/detectors/animation.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ const axiosInstanceDetector = {
|
|
|
6
6
|
libraryName: 'Axios',
|
|
7
7
|
packageNames: ['axios'],
|
|
8
8
|
patternKind: 'data-fetching',
|
|
9
|
-
detect(
|
|
9
|
+
detect(_sourceFile, fullText) {
|
|
10
10
|
const results = [];
|
|
11
11
|
// Pattern: axios.create({ baseURL, headers, ... })
|
|
12
12
|
const createRe = /(?:export\s+)?const\s+(\w+)\s*=\s*axios\.create\s*\(\s*\{/g;
|
|
@@ -78,7 +78,7 @@ const kyDetector = {
|
|
|
78
78
|
libraryName: 'Ky',
|
|
79
79
|
packageNames: ['ky'],
|
|
80
80
|
patternKind: 'data-fetching',
|
|
81
|
-
detect(
|
|
81
|
+
detect(_sourceFile, fullText) {
|
|
82
82
|
const results = [];
|
|
83
83
|
// Pattern: ky.create({ prefixUrl, hooks })
|
|
84
84
|
const createRe = /(?:export\s+)?const\s+(\w+)\s*=\s*ky\.create\s*\(\s*\{/g;
|
|
@@ -104,9 +104,7 @@ const kyDetector = {
|
|
|
104
104
|
startLine,
|
|
105
105
|
endLine,
|
|
106
106
|
snippet,
|
|
107
|
-
extractedParams: [
|
|
108
|
-
{ name: 'instanceName', slotType: 'identifier', value: varName, optional: false },
|
|
109
|
-
],
|
|
107
|
+
extractedParams: [{ name: 'instanceName', slotType: 'identifier', value: varName, optional: false }],
|
|
110
108
|
confidencePct: 78,
|
|
111
109
|
});
|
|
112
110
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-fetching.js","sourceRoot":"","sources":["../../src/detectors/data-fetching.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,MAAM,qBAAqB,GAAiB;IAC1C,EAAE,EAAE,gBAAgB;IACpB,WAAW,EAAE,OAAO;IACpB,YAAY,EAAE,CAAC,OAAO,CAAC;IACvB,WAAW,EAAE,eAAe;IAC5B,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"data-fetching.js","sourceRoot":"","sources":["../../src/detectors/data-fetching.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,8 +20,8 @@ const expressMiddlewareDetector = {
|
|
|
20
20
|
const endLine = fullText.substring(0, match.index + match[0].length).split('\n').length;
|
|
21
21
|
const snippet = match[0];
|
|
22
22
|
// Only detect if the middleware import exists
|
|
23
|
-
const hasImport = imports.some(imp => {
|
|
24
|
-
const names = imp.getNamedImports().map(n => n.getName());
|
|
23
|
+
const hasImport = imports.some((imp) => {
|
|
24
|
+
const names = imp.getNamedImports().map((n) => n.getName());
|
|
25
25
|
const defaultName = imp.getDefaultImport()?.getText();
|
|
26
26
|
return names.includes(mwName) || defaultName === mwName;
|
|
27
27
|
});
|
|
@@ -35,8 +35,8 @@ const expressMiddlewareDetector = {
|
|
|
35
35
|
anchorImport: middlewareCalls[0].name,
|
|
36
36
|
startLine: middlewareCalls[0].startLine,
|
|
37
37
|
endLine: middlewareCalls[middlewareCalls.length - 1].endLine,
|
|
38
|
-
snippet: middlewareCalls.map(m => m.snippet).join('\n'),
|
|
39
|
-
extractedParams: middlewareCalls.map(m => ({
|
|
38
|
+
snippet: middlewareCalls.map((m) => m.snippet).join('\n'),
|
|
39
|
+
extractedParams: middlewareCalls.map((m) => ({
|
|
40
40
|
name: m.name,
|
|
41
41
|
slotType: 'expr',
|
|
42
42
|
value: m.config || '{}',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"express-middleware.js","sourceRoot":"","sources":["../../src/detectors/express-middleware.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,MAAM,yBAAyB,GAAiB;IAC9C,EAAE,EAAE,oBAAoB;IACxB,WAAW,EAAE,oBAAoB;IACjC,YAAY,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,oBAAoB,CAAC;IACtD,WAAW,EAAE,YAAY;IACzB,MAAM,CAAC,UAAsB,EAAE,QAAgB;QAC7C,MAAM,OAAO,GAAsB,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,UAAU,CAAC,qBAAqB,EAAE,CAAC;QAEnD,wFAAwF;QACxF,MAAM,QAAQ,GAAG,sDAAsD,CAAC;QACxE,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"express-middleware.js","sourceRoot":"","sources":["../../src/detectors/express-middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ const reactHookFormDetector = {
|
|
|
6
6
|
libraryName: 'React Hook Form',
|
|
7
7
|
packageNames: ['react-hook-form'],
|
|
8
8
|
patternKind: 'form-hook',
|
|
9
|
-
detect(
|
|
9
|
+
detect(_sourceFile, fullText) {
|
|
10
10
|
const results = [];
|
|
11
11
|
// Pattern: useForm<Schema>() with destructured register, handleSubmit, formState
|
|
12
12
|
const useFormRe = /(?:const|let)\s+\{([^}]+)\}\s*=\s*useForm\s*(?:<\s*(\w+)\s*>)?\s*\(/g;
|
|
@@ -18,7 +18,9 @@ const reactHookFormDetector = {
|
|
|
18
18
|
// Find the enclosing function/component for end line
|
|
19
19
|
const remaining = fullText.substring(match.index);
|
|
20
20
|
const closingMatch = remaining.match(/\}\s*\)/);
|
|
21
|
-
const endOffset = closingMatch
|
|
21
|
+
const endOffset = closingMatch
|
|
22
|
+
? match.index + closingMatch.index + closingMatch[0].length
|
|
23
|
+
: match.index + match[0].length;
|
|
22
24
|
const endLine = fullText.substring(0, endOffset).split('\n').length;
|
|
23
25
|
// Try to extract the component/function name (limit lookback to avoid backtracking)
|
|
24
26
|
const beforeMatch = fullText.substring(Math.max(0, match.index - 500), match.index);
|
|
@@ -46,7 +48,7 @@ const formikDetector = {
|
|
|
46
48
|
libraryName: 'Formik',
|
|
47
49
|
packageNames: ['formik'],
|
|
48
50
|
patternKind: 'form-hook',
|
|
49
|
-
detect(
|
|
51
|
+
detect(_sourceFile, fullText) {
|
|
50
52
|
const results = [];
|
|
51
53
|
// Pattern: useFormik({ initialValues, validationSchema, onSubmit })
|
|
52
54
|
const useFormikRe = /(?:const|let)\s+(\w+)\s*=\s*useFormik\s*(?:<\s*(\w+)\s*>)?\s*\(\s*\{/g;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-forms.js","sourceRoot":"","sources":["../../src/detectors/react-forms.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,MAAM,qBAAqB,GAAiB;IAC1C,EAAE,EAAE,iBAAiB;IACrB,WAAW,EAAE,iBAAiB;IAC9B,YAAY,EAAE,CAAC,iBAAiB,CAAC;IACjC,WAAW,EAAE,WAAW;IACxB,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"react-forms.js","sourceRoot":"","sources":["../../src/detectors/react-forms.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ const yupSchemaDetector = {
|
|
|
12
12
|
const schemaRe = /(?:export\s+)?const\s+(\w+)\s*=\s*(?:yup\s*\.\s*)?object\s*\(\s*\{/g;
|
|
13
13
|
let match;
|
|
14
14
|
while ((match = schemaRe.exec(fullText)) !== null) {
|
|
15
|
-
const hasYupImport = sourceFile.getImportDeclarations().some(imp => imp.getModuleSpecifierValue() === 'yup');
|
|
15
|
+
const hasYupImport = sourceFile.getImportDeclarations().some((imp) => imp.getModuleSpecifierValue() === 'yup');
|
|
16
16
|
if (!hasYupImport)
|
|
17
17
|
continue;
|
|
18
18
|
const varName = match[1];
|
|
@@ -56,7 +56,7 @@ const valibotDetector = {
|
|
|
56
56
|
const schemaRe = /(?:export\s+)?const\s+(\w+)\s*=\s*v\s*\.\s*object\s*\(\s*\{/g;
|
|
57
57
|
let match;
|
|
58
58
|
while ((match = schemaRe.exec(fullText)) !== null) {
|
|
59
|
-
const hasImport = sourceFile.getImportDeclarations().some(imp => imp.getModuleSpecifierValue() === 'valibot');
|
|
59
|
+
const hasImport = sourceFile.getImportDeclarations().some((imp) => imp.getModuleSpecifierValue() === 'valibot');
|
|
60
60
|
if (!hasImport)
|
|
61
61
|
continue;
|
|
62
62
|
const varName = match[1];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-validation.js","sourceRoot":"","sources":["../../src/detectors/schema-validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,MAAM,iBAAiB,GAAiB;IACtC,EAAE,EAAE,YAAY;IAChB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,CAAC,KAAK,CAAC;IACrB,WAAW,EAAE,mBAAmB;IAChC,MAAM,CAAC,UAAsB,EAAE,QAAgB;QAC7C,MAAM,OAAO,GAAsB,EAAE,CAAC;QAEtC,0DAA0D;QAC1D,MAAM,QAAQ,GAAG,qEAAqE,CAAC;QACvF,IAAI,KAA6B,CAAC;QAClC,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAClD,MAAM,YAAY,GAAG,UAAU,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"schema-validation.js","sourceRoot":"","sources":["../../src/detectors/schema-validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,8 +14,7 @@ const recoilAtomDetector = {
|
|
|
14
14
|
while ((match = atomRe.exec(fullText)) !== null) {
|
|
15
15
|
// Make sure it's recoil atom, not jotai
|
|
16
16
|
const imports = sourceFile.getImportDeclarations();
|
|
17
|
-
const isRecoil = imports.some(imp => imp.getModuleSpecifierValue() === 'recoil' &&
|
|
18
|
-
imp.getNamedImports().some(n => n.getName() === 'atom'));
|
|
17
|
+
const isRecoil = imports.some((imp) => imp.getModuleSpecifierValue() === 'recoil' && imp.getNamedImports().some((n) => n.getName() === 'atom'));
|
|
19
18
|
if (!isRecoil)
|
|
20
19
|
continue;
|
|
21
20
|
const varName = match[1];
|
|
@@ -60,7 +59,7 @@ const reduxSliceDetector = {
|
|
|
60
59
|
libraryName: 'Redux Toolkit',
|
|
61
60
|
packageNames: ['@reduxjs/toolkit'],
|
|
62
61
|
patternKind: 'state-management',
|
|
63
|
-
detect(
|
|
62
|
+
detect(_sourceFile, fullText) {
|
|
64
63
|
const results = [];
|
|
65
64
|
// Pattern: createSlice({ name, initialState, reducers })
|
|
66
65
|
const sliceRe = /(?:export\s+)?const\s+(\w+)\s*=\s*createSlice\s*\(\s*\{/g;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-mgmt.js","sourceRoot":"","sources":["../../src/detectors/state-mgmt.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,MAAM,kBAAkB,GAAiB;IACvC,EAAE,EAAE,aAAa;IACjB,WAAW,EAAE,QAAQ;IACrB,YAAY,EAAE,CAAC,QAAQ,CAAC;IACxB,WAAW,EAAE,kBAAkB;IAC/B,MAAM,CAAC,UAAsB,EAAE,QAAgB;QAC7C,MAAM,OAAO,GAAsB,EAAE,CAAC;QAEtC,kEAAkE;QAClE,MAAM,MAAM,GAAG,0EAA0E,CAAC;QAC1F,IAAI,KAA6B,CAAC;QAClC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAChD,wCAAwC;YACxC,MAAM,OAAO,GAAG,UAAU,CAAC,qBAAqB,EAAE,CAAC;YACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"state-mgmt.js","sourceRoot":"","sources":["../../src/detectors/state-mgmt.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ const structuralModel = {
|
|
|
18
18
|
libraryName: 'structural',
|
|
19
19
|
packageNames: [],
|
|
20
20
|
patternKind: 'structural',
|
|
21
|
-
detect(
|
|
21
|
+
detect(_sourceFile, fullText) {
|
|
22
22
|
const results = [];
|
|
23
23
|
// Prisma-style: model in schema, or TS interface/class with @Entity, @model decorators
|
|
24
24
|
// Pattern: class with decorators like @Entity, @Table, or Prisma model references
|
|
@@ -36,12 +36,14 @@ const structuralModel = {
|
|
|
36
36
|
let match;
|
|
37
37
|
while ((match = pattern.exec(fullText)) !== null) {
|
|
38
38
|
const startLine = lineOf(fullText, match.index);
|
|
39
|
-
const params = [
|
|
39
|
+
const params = [
|
|
40
|
+
{
|
|
40
41
|
name: 'modelName',
|
|
41
42
|
slotType: 'identifier',
|
|
42
43
|
value: match[1],
|
|
43
44
|
optional: false,
|
|
44
|
-
}
|
|
45
|
+
},
|
|
46
|
+
];
|
|
45
47
|
results.push({
|
|
46
48
|
anchorImport: '',
|
|
47
49
|
startLine,
|
|
@@ -62,7 +64,7 @@ const structuralRepository = {
|
|
|
62
64
|
libraryName: 'structural',
|
|
63
65
|
packageNames: [],
|
|
64
66
|
patternKind: 'structural',
|
|
65
|
-
detect(
|
|
67
|
+
detect(_sourceFile, fullText) {
|
|
66
68
|
const results = [];
|
|
67
69
|
// Classes ending in Repository, Repo, Store, DAO
|
|
68
70
|
const repoPattern = /(?:export\s+)?class\s+(\w+(?:Repository|Repo|Store|DAO))\s*(?:extends|implements|{)/g;
|
|
@@ -74,12 +76,14 @@ const structuralRepository = {
|
|
|
74
76
|
startLine,
|
|
75
77
|
endLine: startLine + 10,
|
|
76
78
|
snippet: extractSnippet(fullText, match.index),
|
|
77
|
-
extractedParams: [
|
|
79
|
+
extractedParams: [
|
|
80
|
+
{
|
|
78
81
|
name: 'repoName',
|
|
79
82
|
slotType: 'identifier',
|
|
80
83
|
value: match[1],
|
|
81
84
|
optional: false,
|
|
82
|
-
}
|
|
85
|
+
},
|
|
86
|
+
],
|
|
83
87
|
confidencePct: 80,
|
|
84
88
|
});
|
|
85
89
|
}
|
|
@@ -93,13 +97,13 @@ const structuralDependency = {
|
|
|
93
97
|
libraryName: 'structural',
|
|
94
98
|
packageNames: [],
|
|
95
99
|
patternKind: 'structural',
|
|
96
|
-
detect(
|
|
100
|
+
detect(_sourceFile, fullText) {
|
|
97
101
|
const results = [];
|
|
98
102
|
// Constructor injection: constructor(private readonly userRepo: UserRepository)
|
|
99
103
|
const ctorInjection = /constructor\s{0,20}\(\s{0,20}((?:private|protected|public)\s+(?:readonly\s+)?\w+\s{0,10}:\s{0,10}\w+(?:\s{0,10},\s{0,10}(?:private|protected|public)\s+(?:readonly\s+)?\w+\s{0,10}:\s{0,10}\w+){0,20})\s{0,20}\)/g;
|
|
100
104
|
let match;
|
|
101
105
|
while ((match = ctorInjection.exec(fullText)) !== null) {
|
|
102
|
-
const params = match[1].split(',').map(p => p.trim());
|
|
106
|
+
const params = match[1].split(',').map((p) => p.trim());
|
|
103
107
|
if (params.length >= 2) {
|
|
104
108
|
const startLine = lineOf(fullText, match.index);
|
|
105
109
|
results.push({
|
|
@@ -107,12 +111,14 @@ const structuralDependency = {
|
|
|
107
111
|
startLine,
|
|
108
112
|
endLine: startLine + 3,
|
|
109
113
|
snippet: extractSnippet(fullText, match.index),
|
|
110
|
-
extractedParams: [
|
|
114
|
+
extractedParams: [
|
|
115
|
+
{
|
|
111
116
|
name: 'injectionCount',
|
|
112
117
|
slotType: 'expr',
|
|
113
118
|
value: String(params.length),
|
|
114
119
|
optional: false,
|
|
115
|
-
}
|
|
120
|
+
},
|
|
121
|
+
],
|
|
116
122
|
confidencePct: 70,
|
|
117
123
|
});
|
|
118
124
|
}
|
|
@@ -140,7 +146,7 @@ const structuralCache = {
|
|
|
140
146
|
libraryName: 'structural',
|
|
141
147
|
packageNames: [],
|
|
142
148
|
patternKind: 'structural',
|
|
143
|
-
detect(
|
|
149
|
+
detect(_sourceFile, fullText) {
|
|
144
150
|
const results = [];
|
|
145
151
|
const cachePatterns = [
|
|
146
152
|
// Redis client usage
|
|
@@ -174,7 +180,7 @@ const structuralConditional = {
|
|
|
174
180
|
libraryName: 'structural',
|
|
175
181
|
packageNames: [],
|
|
176
182
|
patternKind: 'structural',
|
|
177
|
-
detect(
|
|
183
|
+
detect(_sourceFile, fullText) {
|
|
178
184
|
const results = [];
|
|
179
185
|
// Feature flag patterns: if (featureFlag) / isEnabled('feature') / useFeatureFlag
|
|
180
186
|
const featureFlagPatterns = [
|
|
@@ -190,12 +196,14 @@ const structuralConditional = {
|
|
|
190
196
|
startLine,
|
|
191
197
|
endLine: startLine + 5,
|
|
192
198
|
snippet: extractSnippet(fullText, match.index),
|
|
193
|
-
extractedParams: [
|
|
199
|
+
extractedParams: [
|
|
200
|
+
{
|
|
194
201
|
name: 'flagName',
|
|
195
202
|
slotType: 'identifier',
|
|
196
203
|
value: match[1],
|
|
197
204
|
optional: false,
|
|
198
|
-
}
|
|
205
|
+
},
|
|
206
|
+
],
|
|
199
207
|
confidencePct: 65,
|
|
200
208
|
});
|
|
201
209
|
}
|
|
@@ -210,12 +218,14 @@ const structuralConditional = {
|
|
|
210
218
|
startLine,
|
|
211
219
|
endLine: startLine + 3,
|
|
212
220
|
snippet: extractSnippet(fullText, match.index),
|
|
213
|
-
extractedParams: [
|
|
221
|
+
extractedParams: [
|
|
222
|
+
{
|
|
214
223
|
name: 'condition',
|
|
215
224
|
slotType: 'expr',
|
|
216
225
|
value: match[1],
|
|
217
226
|
optional: false,
|
|
218
|
-
}
|
|
227
|
+
},
|
|
228
|
+
],
|
|
219
229
|
confidencePct: 60,
|
|
220
230
|
});
|
|
221
231
|
}
|
|
@@ -229,7 +239,7 @@ const structuralSelect = {
|
|
|
229
239
|
libraryName: 'structural',
|
|
230
240
|
packageNames: [],
|
|
231
241
|
patternKind: 'structural',
|
|
232
|
-
detect(
|
|
242
|
+
detect(_sourceFile, fullText) {
|
|
233
243
|
const results = [];
|
|
234
244
|
const selectPatterns = [
|
|
235
245
|
// HTML <select> tag
|
|
@@ -246,12 +256,16 @@ const structuralSelect = {
|
|
|
246
256
|
startLine,
|
|
247
257
|
endLine: startLine + 8,
|
|
248
258
|
snippet: extractSnippet(fullText, match.index),
|
|
249
|
-
extractedParams: match[1]
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
259
|
+
extractedParams: match[1]
|
|
260
|
+
? [
|
|
261
|
+
{
|
|
262
|
+
name: 'selectName',
|
|
263
|
+
slotType: 'identifier',
|
|
264
|
+
value: match[1],
|
|
265
|
+
optional: false,
|
|
266
|
+
},
|
|
267
|
+
]
|
|
268
|
+
: [],
|
|
255
269
|
confidencePct: 65,
|
|
256
270
|
});
|
|
257
271
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structural.js","sourceRoot":"","sources":["../../src/detectors/structural.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,SAAS,MAAM,CAAC,QAAgB,EAAE,KAAa;IAC7C,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AACzD,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB,EAAE,KAAa,EAAE,MAAM,GAAG,GAAG;IACnE,OAAO,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,4EAA4E;AAC5E,mFAAmF;AAEnF,MAAM,eAAe,GAAiB;IACpC,EAAE,EAAE,kBAAkB;IACtB,WAAW,EAAE,YAAY;IACzB,YAAY,EAAE,EAAE;IAChB,WAAW,EAAE,YAAY;IACzB,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"structural.js","sourceRoot":"","sources":["../../src/detectors/structural.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ const testingLibraryDetector = {
|
|
|
6
6
|
libraryName: 'Testing Library',
|
|
7
7
|
packageNames: ['@testing-library/react', '@testing-library/vue', '@testing-library/user-event'],
|
|
8
8
|
patternKind: 'testing',
|
|
9
|
-
detect(
|
|
9
|
+
detect(_sourceFile, fullText) {
|
|
10
10
|
const results = [];
|
|
11
11
|
// Pattern: render(<Component />) with screen.getByX queries
|
|
12
12
|
const renderBlockRe = /render\s*\(\s*<\s*(\w+)/g;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../../src/detectors/testing.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,MAAM,sBAAsB,GAAiB;IAC3C,EAAE,EAAE,iBAAiB;IACrB,WAAW,EAAE,iBAAiB;IAC9B,YAAY,EAAE,CAAC,wBAAwB,EAAE,sBAAsB,EAAE,6BAA6B,CAAC;IAC/F,WAAW,EAAE,SAAS;IACtB,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../../src/detectors/testing.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,MAAM,sBAAsB,GAAiB;IAC3C,EAAE,EAAE,iBAAiB;IACrB,WAAW,EAAE,iBAAiB;IAC9B,YAAY,EAAE,CAAC,wBAAwB,EAAE,sBAAsB,EAAE,6BAA6B,CAAC;IAC/F,WAAW,EAAE,SAAS;IACtB,MAAM,CAAC,WAAuB,EAAE,QAAgB;QAC9C,MAAM,OAAO,GAAsB,EAAE,CAAC;QAEtC,4DAA4D;QAC5D,MAAM,aAAa,GAAG,0BAA0B,CAAC;QACjD,IAAI,KAA6B,CAAC;QAClC,OAAO,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACvD,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YAExE,wCAAwC;YACxC,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YACxD,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAClC,4EAA4E,CAC7E,CAAC;YAEF,uDAAuD;YACvD,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,WAAW,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,oCAAoC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YAE3F,IAAI,WAAW,GAAG,CAAC;gBAAE,SAAS,CAAC,iCAAiC;YAEhE,yBAAyB;YACzB,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC;YACtB,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,OAAO,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAC7B,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,GAAG;oBAAE,UAAU,EAAE,CAAC;gBACxC,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;oBAC1B,UAAU,EAAE,CAAC;oBACb,IAAI,UAAU,IAAI,CAAC;wBAAE,MAAM;gBAC7B,CAAC;gBACD,GAAG,EAAE,CAAC;YACR,CAAC;YACD,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YAC9D,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC;YAElF,OAAO,CAAC,IAAI,CAAC;gBACX,YAAY,EAAE,QAAQ;gBACtB,SAAS;gBACT,OAAO;gBACP,OAAO;gBACP,eAAe,EAAE;oBACf,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE;oBACxF,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE;iBAC5G;gBACD,aAAa,EAAE,EAAE;aAClB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAmB,CAAC,sBAAsB,CAAC,CAAC"}
|
|
@@ -28,13 +28,15 @@ const vueUseDetector = {
|
|
|
28
28
|
const fnBody = fullText.substring(match.index, pos);
|
|
29
29
|
const endLine = fullText.substring(0, pos).split('\n').length;
|
|
30
30
|
// Check if the function body uses any @vueuse import
|
|
31
|
-
const vueUseImports = sourceFile.getImportDeclarations().filter(imp => {
|
|
31
|
+
const vueUseImports = sourceFile.getImportDeclarations().filter((imp) => {
|
|
32
32
|
const mod = imp.getModuleSpecifierValue();
|
|
33
33
|
return mod.startsWith('@vueuse/');
|
|
34
34
|
});
|
|
35
35
|
if (vueUseImports.length === 0)
|
|
36
36
|
continue;
|
|
37
|
-
const usedVueUseApis = vueUseImports
|
|
37
|
+
const usedVueUseApis = vueUseImports
|
|
38
|
+
.flatMap((imp) => imp.getNamedImports().map((n) => n.getName()))
|
|
39
|
+
.filter((name) => fnBody.includes(name));
|
|
38
40
|
if (usedVueUseApis.length === 0)
|
|
39
41
|
continue;
|
|
40
42
|
const snippet = fnBody.substring(0, Math.min(fnBody.length, 300));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vue-composables.js","sourceRoot":"","sources":["../../src/detectors/vue-composables.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,MAAM,cAAc,GAAiB;IACnC,EAAE,EAAE,mBAAmB;IACvB,WAAW,EAAE,QAAQ;IACrB,YAAY,EAAE,CAAC,cAAc,EAAE,sBAAsB,CAAC;IACtD,WAAW,EAAE,YAAY;IACzB,MAAM,CAAC,UAAsB,EAAE,QAAgB;QAC7C,MAAM,OAAO,GAAsB,EAAE,CAAC;QAEtC,wDAAwD;QACxD,yEAAyE;QACzE,MAAM,YAAY,GAAG,qDAAqD,CAAC;QAC3E,IAAI,KAA6B,CAAC;QAClC,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACtD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YAExE,yBAAyB;YACzB,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACxC,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,OAAO,GAAG,GAAG,QAAQ,CAAC,MAAM,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBAC/C,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,GAAG;oBAAE,UAAU,EAAE,CAAC;gBACxC,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,GAAG;oBAAE,UAAU,EAAE,CAAC;gBACxC,GAAG,EAAE,CAAC;YACR,CAAC;YACD,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YAE9D,qDAAqD;YACrD,MAAM,aAAa,GAAG,UAAU,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"vue-composables.js","sourceRoot":"","sources":["../../src/detectors/vue-composables.ts"],"names":[],"mappings":"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"}
|
package/dist/evolve-dedup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evolve-dedup.js","sourceRoot":"","sources":["../src/evolve-dedup.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;GAGG;AACH,MAAM,UAAU,UAAU,
|
|
1
|
+
{"version":3,"file":"evolve-dedup.js","sourceRoot":"","sources":["../src/evolve-dedup.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,QAA4B,EAAE,gBAA0B;IACjF,sBAAsB;IACtB,IAAI,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAE9D,iDAAiD;IACjD,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,iBAAiB,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC1D,IAAI,GAAG,GAAG,IAAI;YAAE,OAAO,KAAK,CAAC;IAC/B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,CAAS,EAAE,CAAS;IAC7C,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC3B,OAAO,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC;AAC/B,CAAC;AAED,SAAS,WAAW,CAAC,CAAS,EAAE,CAAS;IACvC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IACnB,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IACnB,MAAM,EAAE,GAAe,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;QAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;QAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
|