Skip to content
This repository has been archived by the owner on Mar 18, 2024. It is now read-only.

Consolidate code intel extensions #210

Merged
merged 19 commits into from
Jan 31, 2020
Merged

Consolidate code intel extensions #210

merged 19 commits into from
Jan 31, 2020

Conversation

efritz
Copy link
Contributor

@efritz efritz commented Jan 30, 2020

In #198, the interface to activate a code intelligence extension was simplified so that sourcegraph-go and sourcegraph-typescript extensions can use the same LSIF/search fallback logic without duplication. This helps have a central place for logic where changes such as UI badges and telemetry events can happen with lower developer effort and a reduced chance of mistakes.

This action was preluded by this slack thread and by a declaration in this comment on that PR.

This is part one of the consolidation effort. This PR specifically performed the following actions:

  • Copied the go extension code from the branch of Activation refactor sourcegraph-go#117 to extensions/go
  • Copied the typescript extension code from the branch of Activation refactor sourcegraph-typescript#308 extensions/typescript
  • Moved package/ to shared/
  • Consolidated all dependencies in the root-level package.json and symlinked the node_modules/.bin in each template to the same directory in the root (a la sg/sg)
  • Made the top-level tsconfig a composite project (and updated each extension tsconfig to reflect this)
  • Removed the necessity for goreman to run extensions. Now run yarn run serve in the extension directory.
  • Rewrote the generator and publish scripts, now in scripts/ and invocable via yarn commands
  • Moved languages.ts into a package
  • Updated the readme developer instructions
  • Updated buildkite pipeline (WIP)
  • Update prettier, tslint, eslint, mocha configs

Next steps will include:

  • Removing the extension code from sourcegraph-go and sourcegraph-typescript, or marking them as deprecated entirely
  • Finding a common interface to use the work started by lsp-client. This will either require using it as a dependency, moving the code in tree and archiving the source repo. I do not see an explicit path forward that does not modify lsp-client in some way (to either proxy the registration methods or to add the fallback logic directly to the LSP feature definitions). This requires additional review.

@efritz efritz changed the title Monorepo test Consolidate code intel extensions Jan 31, 2020
@efritz efritz changed the base branch from cleanup to master January 31, 2020 15:09
Copy link
Contributor

@chrismwendt chrismwendt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Having everything in one repo is going to make development much nicer ✨

  • I updated the README a bit
  • I verified yarn run serve works

@efritz efritz marked this pull request as ready for review January 31, 2020 20:57
@efritz efritz requested a review from a team as a code owner January 31, 2020 20:57
@efritz efritz merged commit 9398fdc into master Jan 31, 2020
@efritz efritz deleted the monorepo branch January 31, 2020 21:01
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants