Skip to content

Design Meeting Notes, 5/21/2025 #61742

Open
@RyanCavanaugh

Description

@RyanCavanaugh

Acknowledgement

  • I acknowledge that issues using this template may be closed without further explanation at the maintainer's discretion.

Comment

Agenda today was simply to discuss fourslash strategy in the native repo

  • Not doing JS embed / JS interpreter
  • Recreate the kind of high-level assertion syntax we use in Fourslash today
  • Make regular test files
  • Use Go string literals to embed this
    • Sorry people doing template literals, you'll have to do a workaround
    • Recommended workarounds: Concat? Use a placeholder char? Put the file in testdata dir?
  • Why not use API?
    • Would require massive re-abstraction and separate test runner
    • The services layer isn't exposed to API in exactly the same way
    • Should use LSP for that anyway
    • Make this hot-swappable though
  • Open questions / discussion
    • Is the perf of this many tests well-understood?
      • Yes, other projects have more too
      • We'll want to re-use caching like we do in fourslash today
    • How to port tests?
      • AI?
      • Group these by feature areas, be more intentional here
      • Be smarter about re-use of the same program text
    • How do we cross-compare with Strada?
      • May need to massage the existing baselines
      • LSP/TSP already differ in fundamental ways
      • Maybe... don't?
      • We just need to convert tests
      • Best effort baseline comparison based on ROI, be smart about it
    • Fourslash baselines are more bespoke per feature area
      • Or are JSON dumps 🫠
      • Or both

Metadata

Metadata

Assignees

No one assigned

    Labels

    Design NotesNotes from our design meetings

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions