From 611299e896a8fb0c1b07cb33e995723fbdd9ef54 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 3 Nov 2025 21:43:28 +0000 Subject: [PATCH 1/2] Initial plan From 506f1da1cfd42ac041a206498afaa7e03b7a8535 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 3 Nov 2025 21:53:51 +0000 Subject: [PATCH 2/2] Add test case for React component prop references issue Co-authored-by: jakebailey <5341706+jakebailey@users.noreply.github.com> --- .../reactComponentPropReferences_test.go | 43 +++++++++++++++++++ ...eactComponentPropReferences.baseline.jsonc | 12 ++++++ 2 files changed, 55 insertions(+) create mode 100644 internal/fourslash/tests/manual/reactComponentPropReferences_test.go create mode 100644 testdata/baselines/reference/fourslash/findAllReferences/reactComponentPropReferences.baseline.jsonc diff --git a/internal/fourslash/tests/manual/reactComponentPropReferences_test.go b/internal/fourslash/tests/manual/reactComponentPropReferences_test.go new file mode 100644 index 0000000000..07ac91ed58 --- /dev/null +++ b/internal/fourslash/tests/manual/reactComponentPropReferences_test.go @@ -0,0 +1,43 @@ +package fourslash_test + +import ( + "testing" + + "github.com/microsoft/typescript-go/internal/fourslash" + "github.com/microsoft/typescript-go/internal/testutil" +) + +func TestReactComponentPropReferences(t *testing.T) { + t.Parallel() + + defer testutil.RecoverAndFail(t, "Panic on fourslash test") + const content = `//@Filename: Counter.tsx +// @jsx: preserve +// @noLib: true +declare module JSX { + interface Element { } + interface IntrinsicElements { + } + interface ElementAttributesProperty { props; } +} + +interface CounterProps { + /*1*/value: number; +} + +export function Counter({ value }: CounterProps) { + return
{value}
; +} +//@Filename: App.tsx +// @jsx: preserve +// @noLib: true +import { Counter } from './Counter'; + +const App = () => { + const count = 0; + return ; +}; +` + f := fourslash.NewFourslash(t, nil /*capabilities*/, content) + f.VerifyBaselineFindAllReferences(t, "1") +} diff --git a/testdata/baselines/reference/fourslash/findAllReferences/reactComponentPropReferences.baseline.jsonc b/testdata/baselines/reference/fourslash/findAllReferences/reactComponentPropReferences.baseline.jsonc new file mode 100644 index 0000000000..050894365b --- /dev/null +++ b/testdata/baselines/reference/fourslash/findAllReferences/reactComponentPropReferences.baseline.jsonc @@ -0,0 +1,12 @@ +// === findAllReferences === +// === /Counter.tsx === +// --- (line: 5) skipped --- +// } +// +// interface CounterProps { +// /*FIND ALL REFS*/[|value|]: number; +// } +// +// export function Counter({ [|value|] }: CounterProps) { +// return
{value}
; +// } \ No newline at end of file