Skip to content

Ensure ts object passed to plugins contains deprecatedCompat declarations #32

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

Closed

Conversation

jakebailey
Copy link
Owner

@jakebailey jakebailey commented Oct 3, 2022

We pass the entire "ts" object into plugins. However, we need to make
sure that that object contains the debug compat helpers.

In the old codebase, the deprecated compat code would tack things onto
the actual ts object, after the server code was executed, and later that
same object would be given to plugins.

But in modules, each TS project only sees the view of the "ts" namespace
that their references implied, not the ts object as some sort of
singleton. To ensure that plugins get the debug compat code, we have to
bring that into each project's view of the ts namespace, and not add it
on later in the executable projects.


Please do not comment on this PR. Depending on how this set of PRs evolves, this PR's contents may change entirely based on the order of commits.

This PR is a part of a stack:

  1. Make a few changes to allow all code to be loaded as one project
  2. Explicitly reference ts namespace in tsserverlibrary
  3. Generated module conversion step - unindent
  4. Generated module conversion step - explicitify
  5. Generated module conversion step - stripNamespaces
  6. Generated module conversion step - inlineImports
  7. Generated module conversion step - .git-ignore-blame-revs
  8. Add gitlens settings suggestion
  9. Make processDiagnosticMessages generate a module
  10. Fix up linting, make lint clean
  11. Undo changes needed to load codebase into ts-morph
  12. Add JSDoc eslint rule
  13. Fix all internal JSDoc comments
  14. Convert require calls to imports
  15. Remove typescriptServices, protocol.d.ts, typescript_standalone.d.ts
  16. Get codebase building pre bundling
  17. Add build via esbuild
  18. Add dts bundling
  19. Consolidate checks that test if the current environment is Node
  20. Add ts to globalThis in run.js for convenience during debugging
  21. Rename Gulpfile to Herebyfile for improved git diff
  22. Change build system to hereby
  23. Update baselines for corrected line endings in lib files
  24. Use jsonc-parser instead of LKG compiler in build
  25. Modernize localize script, use new XML library
  26. Don't use needsUpdate for quick tasks
  27. Remove mkdirp
  28. Export ts namespace from tsserver for hacky-post patching
  29. Directly import namespaces for improved esbuild output
  30. Ensure ts object passed to plugins contains deprecatedCompat declarations (this PR)
  31. Move compiler-debug into Debug namespace, which allows the compiler to be tree shaken
  32. Remove Promise redeclaration
  33. Remove globalThisShim and globalThis modification for TypeScriptServicesFactory
  34. Disable slow CodeQL queries
  35. Remove outFiles from launch.json
  36. Remove dynamicImport and setDynamicImport

@jakebailey jakebailey force-pushed the transform-stack-commit-29 branch from 6f93bd7 to 638ebf8 Compare October 3, 2022 23:34
@jakebailey jakebailey force-pushed the transform-stack-commit-30 branch from 8d70519 to 79f21b3 Compare October 3, 2022 23:34
@jakebailey jakebailey force-pushed the transform-stack-commit-29 branch 5 times, most recently from 68929dd to 5d22fdb Compare October 10, 2022 17:10
@jakebailey jakebailey changed the title Restore self-compilation using built compiler in CI tests Rename Gulpfile to Herebyfile for improved git diff Oct 10, 2022
@jakebailey jakebailey force-pushed the transform-stack-commit-30 branch from 79f21b3 to ce2b59b Compare October 10, 2022 17:10
@jakebailey jakebailey force-pushed the transform-stack-commit-29 branch from 5d22fdb to a520d61 Compare October 10, 2022 21:05
@jakebailey jakebailey changed the title Rename Gulpfile to Herebyfile for improved git diff Use jsonc-parser instead of LKG compiler in build Oct 10, 2022
@jakebailey jakebailey force-pushed the transform-stack-commit-30 branch 2 times, most recently from b124ac1 to 435ba70 Compare October 10, 2022 22:54
@jakebailey jakebailey force-pushed the transform-stack-commit-29 branch from 5844106 to 2977b78 Compare October 10, 2022 23:14
@jakebailey jakebailey force-pushed the transform-stack-commit-30 branch from 435ba70 to 49047e7 Compare October 10, 2022 23:14
@jakebailey jakebailey force-pushed the transform-stack-commit-29 branch from 2977b78 to a10c176 Compare October 10, 2022 23:31
@jakebailey jakebailey force-pushed the transform-stack-commit-30 branch from 49047e7 to a96025d Compare October 10, 2022 23:31
@jakebailey jakebailey force-pushed the transform-stack-commit-29 branch from a10c176 to 6b92337 Compare October 11, 2022 23:15
@jakebailey jakebailey force-pushed the transform-stack-commit-30 branch from a96025d to 26681a1 Compare October 11, 2022 23:15
@jakebailey jakebailey force-pushed the transform-stack-commit-29 branch from 6b92337 to b0404d2 Compare October 11, 2022 23:31
@jakebailey jakebailey force-pushed the transform-stack-commit-30 branch from 26681a1 to 535e94d Compare October 11, 2022 23:31
@jakebailey jakebailey force-pushed the transform-stack-commit-29 branch from b0404d2 to 42bf9b2 Compare October 12, 2022 22:48
@jakebailey jakebailey force-pushed the transform-stack-commit-30 branch from 535e94d to b0f7ebf Compare October 12, 2022 22:48
@jakebailey jakebailey force-pushed the transform-stack-commit-29 branch from 42bf9b2 to 10e0ca6 Compare October 14, 2022 19:36
@jakebailey jakebailey force-pushed the transform-stack-commit-30 branch from b0f7ebf to 9a8a98e Compare October 14, 2022 19:36
@jakebailey jakebailey force-pushed the transform-stack-commit-29 branch from 10e0ca6 to dd46066 Compare October 14, 2022 21:20
@jakebailey jakebailey changed the title Use jsonc-parser instead of LKG compiler in build Rename Gulpfile to Herebyfile for improved git diff Oct 14, 2022
@jakebailey jakebailey force-pushed the transform-stack-commit-30 branch from 9a8a98e to c08a758 Compare October 14, 2022 21:20
@jakebailey jakebailey force-pushed the transform-stack-commit-29 branch from dd46066 to c702b8a Compare October 14, 2022 22:28
@jakebailey jakebailey force-pushed the transform-stack-commit-30 branch from c08a758 to 3e53449 Compare October 14, 2022 22:28
@jakebailey jakebailey force-pushed the transform-stack-commit-29 branch from e349e38 to 6a282bf Compare October 24, 2022 23:15
@jakebailey jakebailey changed the title Directly import namespaces for improved esbuild output Ensure ts object passed to plugins contains deprecatedCompat declarations Oct 24, 2022
@jakebailey jakebailey force-pushed the transform-stack-commit-30 branch from f9f8e9e to a7d2107 Compare October 24, 2022 23:15
@jakebailey jakebailey force-pushed the transform-stack-commit-29 branch from 6a282bf to 3d30fcf Compare October 25, 2022 02:24
@jakebailey jakebailey force-pushed the transform-stack-commit-30 branch from a7d2107 to 1f616d1 Compare October 25, 2022 02:25
@jakebailey jakebailey force-pushed the transform-stack-commit-29 branch from 3d30fcf to 00984a4 Compare October 27, 2022 17:46
@jakebailey jakebailey force-pushed the transform-stack-commit-30 branch from 1f616d1 to 393d0de Compare October 27, 2022 17:46
@jakebailey jakebailey force-pushed the transform-stack-commit-29 branch from 00984a4 to f9a1913 Compare October 28, 2022 02:28
@jakebailey jakebailey force-pushed the transform-stack-commit-30 branch from 393d0de to 540a735 Compare October 28, 2022 02:28
@jakebailey jakebailey force-pushed the transform-stack-commit-29 branch from f9a1913 to f2b4185 Compare October 31, 2022 21:39
@jakebailey jakebailey force-pushed the transform-stack-commit-30 branch from 540a735 to abb36fd Compare October 31, 2022 21:39
@jakebailey jakebailey force-pushed the transform-stack-commit-29 branch from f2b4185 to f9a2bfc Compare November 2, 2022 00:49
@jakebailey jakebailey force-pushed the transform-stack-commit-30 branch from abb36fd to 9f30548 Compare November 2, 2022 00:50
@jakebailey jakebailey force-pushed the transform-stack-commit-29 branch from f9a2bfc to 1c3f00f Compare November 2, 2022 17:01
@jakebailey jakebailey force-pushed the transform-stack-commit-30 branch from 9f30548 to 935be03 Compare November 2, 2022 17:01
@jakebailey jakebailey force-pushed the transform-stack-commit-29 branch from 1c3f00f to 118bcb5 Compare November 2, 2022 19:51
@jakebailey jakebailey force-pushed the transform-stack-commit-30 branch from 935be03 to 51893a6 Compare November 2, 2022 19:52
@jakebailey jakebailey force-pushed the transform-stack-commit-29 branch from 118bcb5 to a9f4fb1 Compare November 6, 2022 21:53
@jakebailey jakebailey force-pushed the transform-stack-commit-30 branch from 51893a6 to 7e5b706 Compare November 6, 2022 21:53
@jakebailey jakebailey force-pushed the transform-stack-commit-29 branch from a9f4fb1 to dcc8574 Compare November 6, 2022 21:59
@jakebailey jakebailey force-pushed the transform-stack-commit-30 branch from 7e5b706 to 3fa05c2 Compare November 6, 2022 21:59
@jakebailey jakebailey force-pushed the transform-stack-commit-29 branch from dcc8574 to 3e85de5 Compare November 7, 2022 03:54
@jakebailey jakebailey force-pushed the transform-stack-commit-30 branch from 3fa05c2 to 77eb926 Compare November 7, 2022 03:54
@jakebailey jakebailey force-pushed the transform-stack-commit-29 branch from 3e85de5 to 3459e46 Compare November 7, 2022 19:28
@jakebailey jakebailey force-pushed the transform-stack-commit-30 branch from 77eb926 to df9c9f9 Compare November 7, 2022 19:28
…ions

We pass the entire "ts" object into plugins. However, we need to make
sure that that object contains the debug compat helpers.

In the old codebase, the deprecated compat code would tack things onto
the actual ts object, after the server code was executed, and later that
same object would be given to plugins.

But in modules, each TS project only sees the view of the "ts" namespace
that their references implied, not the ts object as some sort of
singleton. To ensure that plugins get the debug compat code, we have to
bring that into each project's view of the ts namespace, and not add it
on later in the executable projects.
@jakebailey jakebailey force-pushed the transform-stack-commit-29 branch from 3459e46 to fa143d7 Compare November 7, 2022 21:38
@jakebailey jakebailey force-pushed the transform-stack-commit-30 branch from df9c9f9 to cf0b856 Compare November 7, 2022 21:39
@jakebailey jakebailey closed this Nov 7, 2022
@jakebailey jakebailey deleted the transform-stack-commit-30 branch November 7, 2022 23:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant