code-server/doc/CONTRIBUTING.md

63 lines
1.4 KiB
Markdown
Raw Normal View History

2020-02-19 07:07:01 +07:00
# Contributing
- [Detailed CI and build process docs](../ci)
- [Our VS Code Web docs](../src/node/app)
## Requirements
Please refer to [VS Code's prerequisites](https://github.com/Microsoft/vscode/wiki/How-to-Contribute#prerequisites).
Differences:
2020-02-19 07:07:01 +07:00
2020-05-15 08:37:58 +07:00
- We require at least node v12 but later versions should work
- We use [fnpm](https://github.com/goreleaser/nfpm) to build .deb and .rpm packages
## Development Workflow
2020-02-19 07:07:01 +07:00
```shell
yarn
yarn vscode
yarn watch # Visit http://localhost:8080 once completed.
```
2020-04-15 05:22:52 +07:00
To develop inside of an isolated docker container:
```shell
./ci/dev/container/exec.sh
2020-04-15 05:22:52 +07:00
root@12345:/code-server# yarn
root@12345:/code-server# yarn vscode
root@12345:/code-server# yarn watch
```
2020-02-19 07:07:01 +07:00
Any changes made to the source will be live reloaded.
If changes are made to the patch and you've built previously you must manually
reset VS Code then run `yarn vscode:patch`.
Some docs are available at [../src/node/app](../src/node/app) on how code-server
works internally.
## Build
```shell
yarn
yarn vscode
2020-02-19 07:07:01 +07:00
yarn build
yarn build:vscode
yarn release
2020-05-09 03:31:42 +07:00
cd release
yarn --production
node . # Run the built JavaScript with Node.
2020-02-19 07:07:01 +07:00
```
Now you can make it static and build packages with:
```
yarn release:static
yarn test:static-release
yarn package
```
The static release will be in `./release-static` and .deb, .rpm and self-contained release in `./release-packages`.