Skip to content

Design Meeting Notes, 5/21/2025 #61742

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
1 task done
RyanCavanaugh opened this issue May 21, 2025 · 0 comments
Open
1 task done

Design Meeting Notes, 5/21/2025 #61742

RyanCavanaugh opened this issue May 21, 2025 · 0 comments
Labels
Design Notes Notes from our design meetings

Comments

@RyanCavanaugh
Copy link
Member

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
@RyanCavanaugh RyanCavanaugh added the Design Notes Notes from our design meetings label May 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Design Notes Notes from our design meetings
Projects
None yet
Development

No branches or pull requests

1 participant