CONTRIBUTING.md 1.3 KB
Newer Older
A
Anmol Sethi 已提交
1 2
# Contributing

3 4 5
- [Detailed CI and build process docs](../ci)
- [Our VS Code Web docs](../src/node/app)

6 7 8 9 10
## Requirements

Please refer to [VS Code's prerequisites](https://github.com/Microsoft/vscode/wiki/How-to-Contribute#prerequisites).

Differences:
A
Anmol Sethi 已提交
11

12 13 14 15
- We are not constrained by node version
- We use [fnpm](https://github.com/goreleaser/nfpm) to build .deb and .rpm packages

## Development Workflow
A
Anmol Sethi 已提交
16 17 18 19 20 21 22

```shell
yarn
yarn vscode
yarn watch # Visit http://localhost:8080 once completed.
```

23 24 25
To develop inside of an isolated docker container:

```shell
26
./ci/dev/container/exec.sh
27 28 29 30 31 32

root@12345:/code-server# yarn
root@12345:/code-server# yarn vscode
root@12345:/code-server# yarn watch
```

A
Anmol Sethi 已提交
33 34 35 36 37 38 39 40 41 42 43 44
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
45
yarn vscode
A
Anmol Sethi 已提交
46
yarn build
47 48
yarn build:vscode
yarn release
49 50 51
cd release
yarn --production
node . # Run the built JavaScript with Node.
A
Anmol Sethi 已提交
52
```
53 54 55 56 57 58 59 60 61

Now you can make it static and build packages with:

```
yarn release:static
yarn test:static-release
yarn package
```

62
The static release will be in `./release-static` and .deb, .rpm and self-contained release in `./release-packages`.