mirror of
https://github.com/sveltejs/ai-tools.git
synced 2026-08-03 09:04:16 +08:00
Compare commits
1 Commits
@sveltejs/
...
fix-is-run
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0566f4b988 |
5
.changeset/salty-jokes-crash.md
Normal file
5
.changeset/salty-jokes-crash.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
'@sveltejs/mcp': patch
|
||||||
|
---
|
||||||
|
|
||||||
|
fix: handle non call expressions passed to `is_rune`
|
||||||
@@ -775,5 +775,16 @@ describe('add_autofixers_issues', () => {
|
|||||||
`You are reading the stateful variable "$x" with a "$" prefix. Stateful variables are not stores and should be read without the "$". Please read it as a normal variable "x"`,
|
`You are reading the stateful variable "$x" with a "$" prefix. Stateful variables are not stores and should be read without the "$". Please read it as a normal variable "x"`,
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// https://github.com/sveltejs/ai-tools/issues/200
|
||||||
|
it('should not crash when reading $-prefixed identifier for variable initialized with member expression', () => {
|
||||||
|
expect(() =>
|
||||||
|
run_autofixers_on_code(`<div>{$x}</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
const x = foo.bar;
|
||||||
|
</script>`),
|
||||||
|
).not.toThrow();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -69,6 +69,8 @@ export function parse(code: string, file_path: string) {
|
|||||||
return this.all_references.find((r) => r.identifier === id);
|
return this.all_references.find((r) => r.identifier === id);
|
||||||
},
|
},
|
||||||
is_rune(call: CallExpression, rune?: (typeof runes)[number][]) {
|
is_rune(call: CallExpression, rune?: (typeof runes)[number][]) {
|
||||||
|
// it should always be a call expression but we check just in case because sometimes it's any and TS doesn't complain
|
||||||
|
if (call.type !== 'CallExpression') return false;
|
||||||
if (call.callee.type !== 'Identifier' && call.callee.type !== 'MemberExpression')
|
if (call.callee.type !== 'Identifier' && call.callee.type !== 'MemberExpression')
|
||||||
return false;
|
return false;
|
||||||
const id = call.callee.type === 'Identifier' ? call.callee : call.callee.object;
|
const id = call.callee.type === 'Identifier' ? call.callee : call.callee.object;
|
||||||
|
|||||||
Reference in New Issue
Block a user