Skip to content

Latest commit

 

History

History
86 lines (56 loc) · 2.04 KB

File metadata and controls

86 lines (56 loc) · 2.04 KB

Developer and Contributor Information

Thank you for contributing to the Effekt VSCode extension! This document contains information about our developer workflow. If you have any questions, do not hesitate to join our Discord server.

Requirements

  • VSCode >= 1.90
  • NodeJS >= 20.0 and npm

Build and Run

To build and run the VSCode extension, open this repository in VSCode. From within the terminal, install the dependencies by running:

npm install

Then, compile the project using:

npm run compile

Finally, within VSCode, press F5. This should launch the extension in debug mode in a separate VSCode window for you to test.

Creating a Commit

Before each commit, make sure the typechecker, linter and formatter pass:

npm run compile
npm run format
npm run lint

![TIP] You can run these commands in a git pre-commit hook by editing .git/hooks/pre-commit and running chmod +x .git/hooks/pre-commit

Creating a Pull Request

Before creating a pull request, it is important to test exporting the extension via vsce to ensure that the release build published to the VSCode marketplace will work.

To do so, run:

vsce package --out effekt.vsix
code --install-extension effekt.vsix

Then, in a separate instance of VSCode, test the extension on some Effekt code.

Release Process

This section describes how to release a new version of the Effekt VSCode extension to the VSCode Marketplace.

Make sure you're on the latest main by running:

git checkout main && git pull

Depending on whether the new change is minor or a patch (choose one), run:

npm version [minor/patch] -m "Release v%s"

This creates a commit with the version bump and a tag.

Push the resulting commit:

git push

Push the tag:

git push origin tag "v<version>" # replace <version> with the version returned by `npm version`!

then check if the deploy pipeline went through in the Actions tab: https://github.com/effekt-lang/effekt-vscode/actions/workflows/deploy.yml.