Skip to content
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

[v2] Rewrite code-server to use new web stuff #857

Merged
merged 136 commits into from
Sep 12, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
136 commits
Select commit Hold shift + click to select a range
310bfe5
Delete all the things
code-asher Jul 2, 2019
4861405
Initial connection handling
code-asher Jun 27, 2019
68fe085
Add channels
code-asher Jun 28, 2019
98f0013
Add content types
code-asher Jun 28, 2019
a0121f2
Implement file provider
code-asher Jul 1, 2019
0d618bb
Use spdlog for log service
code-asher Jul 1, 2019
4e0a6d2
Partial extension host, some restructuring
code-asher Jul 1, 2019
7072bf1
Use new URI transformer everywhere
code-asher Jul 2, 2019
d808bfa
Set workspace and folder URIs
code-asher Jul 2, 2019
57a8186
Add development steps
code-asher Jul 2, 2019
a6703ec
Prevent sending disconnect if disposed
code-asher Jul 2, 2019
2e77c9d
Scan extensions
code-asher Jul 2, 2019
4685f67
Pass product configuration
code-asher Jul 2, 2019
3a78c09
Run log cleaner
code-asher Jul 2, 2019
6a35ab1
Add (unimplemented) webview server
code-asher Jul 2, 2019
770e0db
Add cli arguments
code-asher Jul 2, 2019
61c281e
Add arguments for ports
code-asher Jul 2, 2019
5677ff2
Add build scripts
code-asher Jul 3, 2019
f8f4bfd
Customize JSON files with code-server name
code-asher Jul 5, 2019
6156eb9
Don't wait to start main server
code-asher Jul 5, 2019
3ca90a5
Use nbin in forked processes
code-asher Jul 5, 2019
197d8db
Need to run `yarn compile` once
code-asher Jul 5, 2019
f51751a
Replace jq with some JavaScript
code-asher Jul 5, 2019
a20fa4a
Implement extensions channel
code-asher Jul 8, 2019
fe1d609
Make it possible to request absolute paths
code-asher Jul 8, 2019
f482087
Implement webview server
code-asher Jul 8, 2019
86e8ba1
Add gallery channel
code-asher Jul 10, 2019
54ffd1d
Make extension sidebar work
code-asher Jul 10, 2019
09e3cfd
Create extension directory on startup
code-asher Jul 10, 2019
2fdf09e
Include version when building
code-asher Jul 10, 2019
81862d4
Add back (most of) our old arguments
code-asher Jul 10, 2019
2b2aa9a
Add https server
code-asher Jul 11, 2019
97167e7
Add authentication
code-asher Jul 12, 2019
286f9a8
Implement multiple extension directories
code-asher Jul 12, 2019
e22791e
Fix interactive playground
code-asher Jul 12, 2019
8dcc1e3
Accept argument to change initial working directory
code-asher Jul 12, 2019
68c6208
Fix opening snippets
code-asher Jul 13, 2019
9446cc8
Update Dockerfile
code-asher Jul 15, 2019
9b0b337
Implement open flag
code-asher Jul 15, 2019
feabfc8
Fix different node binary warning
code-asher Jul 15, 2019
83819cb
Fix vscode-ripgrep rebuild error
code-asher Jul 15, 2019
1a3fc86
Reconnection works
code-asher Jul 15, 2019
b6fdb7d
Telemetry
code-asher Jul 16, 2019
db41f10
Fix open flag when using 0.0.0.0
code-asher Jul 17, 2019
4b0cceb
Extract ripgrep when inside binary
code-asher Jul 17, 2019
45d348b
Expose API on the client
code-asher Jul 17, 2019
b0e6c1c
Fix favicon
code-asher Jul 17, 2019
2be452d
Fix rg extraction in Docker build
code-asher Jul 17, 2019
e8cb6ff
Implement file uploads
code-asher Jul 19, 2019
9fdfacb
Quality check
code-asher Jul 19, 2019
36b8731
Add some missing development steps
code-asher Jul 19, 2019
078af59
Replace demo image with GIF (#863)
kylecarbs Jul 22, 2019
cd54aec
Fix login redirect when not using https
code-asher Jul 22, 2019
09cd1e8
Make sub-paths work
code-asher Jul 22, 2019
436ef7b
Fix VS Code version in readme and describe our changes
code-asher Jul 22, 2019
068e07b
Clean up the patch
code-asher Jul 23, 2019
92daabc
Open folder at base URL
code-asher Jul 23, 2019
7b7f5b5
Add base path argument
code-asher Jul 23, 2019
fd55139
Make flags additive and clean up docs
code-asher Jul 23, 2019
329acbb
Combine main and webview servers
code-asher Jul 24, 2019
a4f21fb
Install git during build
code-asher Jul 24, 2019
4c4a179
TLS socket still doesn't work
code-asher Jul 25, 2019
8ded89e
Firefox fixes
code-asher Jul 26, 2019
011530e
Proxy TLS sockets
code-asher Jul 30, 2019
87be3ac
Add comment explaining use of merge
code-asher Jul 30, 2019
0315b00
Add comment for the nbin shim
code-asher Jul 30, 2019
62719ab
Clean up client API
code-asher Jul 31, 2019
12af311
Use our logger instead of raw console.log
code-asher Jul 31, 2019
5944b84
Make it clearer what the tar code does
code-asher Jul 31, 2019
bd0f1d0
Support vscode-resource requests in webview
code-asher Jul 31, 2019
bce0cac
Document recent VS Code patch changes
code-asher Jul 31, 2019
60ed065
Reformat readme intro
code-asher Jul 31, 2019
712274d
Groundwork for language support
code-asher Aug 3, 2019
5b64cb3
Fix login page
code-asher Aug 3, 2019
950bfce
Add commit, date, and checksums to product.json
code-asher Aug 3, 2019
dde683d
Fix login submission when using a base path
code-asher Aug 5, 2019
590f699
Allow specifying the target
code-asher Aug 5, 2019
dc333d4
Fix extensions not being bundled into prebuilt
code-asher Aug 5, 2019
7e794bd
Fix favicon not being included in final build
code-asher Aug 5, 2019
01a9ab3
Set commit based on code-server instead of VS Code
code-asher Aug 7, 2019
f5a6f14
Implement update service
code-asher Aug 7, 2019
2b3e8e1
Don't exclude .git for Docker
code-asher Aug 7, 2019
d4ed2ef
Change default port to 8080
code-asher Aug 8, 2019
6b579d6
Fix webview address when using a proxy
code-asher Aug 8, 2019
b257c60
Fix websocket defaulting to port 80 when authority has no port
code-asher Aug 8, 2019
ba72851
Update VS Code to 1.37.0
code-asher Aug 9, 2019
2807ce4
Add tar-stream dependency
code-asher Aug 9, 2019
1d61cbe
Make release directory
code-asher Aug 10, 2019
7389d9e
Use current URL for webview
code-asher Aug 12, 2019
b566b66
Fix service worker scope when there is a base path
code-asher Aug 12, 2019
5539519
Remove extra slash when opening folder
code-asher Aug 12, 2019
90e8714
Preserve query variables when redirecting
code-asher Aug 12, 2019
c11d5fe
Fix error when passing empty extra extension dir flag
code-asher Aug 12, 2019
2470081
Exit when pipe closes
code-asher Aug 12, 2019
45ad7f0
Update logger
code-asher Aug 12, 2019
83f86a4
Load language bundles on the client
code-asher Aug 14, 2019
07ec4ca
Fix PHP syntax highlighting
code-asher Aug 14, 2019
a48c2fb
Handle webview service worker resource requests
code-asher Aug 15, 2019
72fe124
Fix loading resources in webviews
code-asher Aug 15, 2019
d1662d7
Ensure service workers are supported before use
code-asher Aug 15, 2019
f61a0ae
Set unexpected error handler on startup
code-asher Aug 15, 2019
6737384
Handle existing query when opening folder
code-asher Aug 15, 2019
b4e1a62
Fix tasks
code-asher Aug 16, 2019
ce3b7df
Use readlink -f if realpath isn't available
code-asher Aug 19, 2019
e53d6bc
Forward GitHub token to docker build if it exists
code-asher Aug 19, 2019
b9fc404
Forward minify environment variable to Docker build
code-asher Aug 19, 2019
534600c
Don't error when scanning nonexistent extension dir
code-asher Aug 21, 2019
ccc4f87
Don't package for release if we don't need to
code-asher Aug 21, 2019
c2be0ec
Fix Firefox when using extensions that insert styles
code-asher Aug 21, 2019
80050d0
Detect target automatically
code-asher Aug 21, 2019
c19223b
Fix error when building without first running yarn
code-asher Aug 21, 2019
950dad9
Simplify getting the absolute path during build
code-asher Aug 21, 2019
ddd5a9a
Update data and extension paths to match version one
code-asher Aug 21, 2019
3e2d12a
Fix scrolling on Firefox
code-asher Aug 22, 2019
4800ec6
Fix playground when behind a proxy with a sub-path
code-asher Aug 22, 2019
c4fd725
Fix built-in Typescript when bundled
code-asher Aug 22, 2019
78b6b3a
Add check for missing reconnection token
code-asher Aug 23, 2019
830ccfe
Fix toggling and hiding the menu bar
code-asher Aug 23, 2019
d33b2d2
Fix web view sometimes not loading correctly
code-asher Aug 27, 2019
a3ee7c9
Don't open cwd by default
code-asher Aug 27, 2019
c9ce9eb
Fix spawns against Node
code-asher Aug 28, 2019
624a4c0
Minify Docker build
code-asher Aug 28, 2019
b901043
Target a recent commit for VS Code
code-asher Aug 30, 2019
976a326
Update nbin
code-asher Aug 30, 2019
12bc26b
Implement status bar API
code-asher Sep 3, 2019
da7d8b0
Update VS Code
code-asher Sep 3, 2019
a26844e
Add package.json for publishing API types
code-asher Sep 3, 2019
9d8906d
Add version format flag
code-asher Sep 4, 2019
4400045
Add environment variable for telemetry endpoint
code-asher Sep 5, 2019
12e6084
Add caching
code-asher Sep 6, 2019
1164801
Keep a maximum number of connections instead of a timeout
code-asher Sep 9, 2019
e9fce80
Make extension host reconnect
code-asher Sep 9, 2019
0e1fed3
Make CI script work independently from your cwd
code-asher Sep 10, 2019
5b51999
resolve tree conflicts with master
sr229 Sep 12, 2019
8643bdc
fix further conflicts in README.md
sr229 Sep 12, 2019
cb0f9c5
re-add GH-969
sr229 Sep 12, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 4 additions & 3 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
Dockerfile
# Docs
doc/
# GitHub stuff
build
deployment
doc
.github
.gitignore
.node-version
.travis.yml
LICENSE
README.md
Expand Down
7 changes: 1 addition & 6 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
/lib
node_modules
dist
out
.DS_Store
build
release
.vscode
.cache
2 changes: 1 addition & 1 deletion .node-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.15.1
10.16.0
1 change: 1 addition & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
scripts-prepend-node-path=true
15 changes: 7 additions & 8 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,27 +1,26 @@
language: node_js
node_js:
- 10.15.1
- 10.16.0
services:
- docker
matrix:
include:
- os: linux
dist: trusty
env:
- VSCODE_VERSION="1.33.1" MAJOR_VERSION="1" VERSION="$MAJOR_VERSION.$TRAVIS_BUILD_NUMBER-vsc$VSCODE_VERSION" TARGET="centos"
- VSCODE_VERSION="e8fc7db0d1e3f3a94b1cdcc136d146134b7a4c9a" MAJOR_VERSION="2" VERSION="$MAJOR_VERSION.$TRAVIS_BUILD_NUMBER" TARGET="linux"
- os: linux
dist: trusty
env:
- VSCODE_VERSION="1.33.1" MAJOR_VERSION="1" VERSION="$MAJOR_VERSION.$TRAVIS_BUILD_NUMBER-vsc$VSCODE_VERSION" TARGET="alpine"
- VSCODE_VERSION="e8fc7db0d1e3f3a94b1cdcc136d146134b7a4c9a" MAJOR_VERSION="2" VERSION="$MAJOR_VERSION.$TRAVIS_BUILD_NUMBER" TARGET="alpine"
- os: osx
env:
- VSCODE_VERSION="1.33.1" MAJOR_VERSION="1" VERSION="$MAJOR_VERSION.$TRAVIS_BUILD_NUMBER-vsc$VSCODE_VERSION"
- VSCODE_VERSION="e8fc7db0d1e3f3a94b1cdcc136d146134b7a4c9a" MAJOR_VERSION="2" VERSION="$MAJOR_VERSION.$TRAVIS_BUILD_NUMBER"
before_install:
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install libxkbfile-dev
libsecret-1-dev; fi
- npm install -g yarn@1.12.3
- if [[ "$TRAVIS_BRANCH" == "master" ]]; then export MINIFY="true"; fi
- if [[ "$TRAVIS_BRANCH" == "master" ]]; then export PACKAGE="true"; fi
script:
- scripts/build.sh
- scripts/ci.bash
before_deploy:
- echo "$VERSION" "$TRAVIS_COMMIT"
- git config --local user.name "$USER_NAME"
Expand Down
26 changes: 15 additions & 11 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
FROM node:10.15.1
FROM node:10.16.0
ARG codeServerVersion=docker
kylecarbs marked this conversation as resolved.
Show resolved Hide resolved
ARG vscodeVersion

# Install VS Code's deps. These are the only two it seems we need.
RUN apt-get update && apt-get install -y \
Expand All @@ -11,9 +13,10 @@ RUN npm install -g yarn@1.13
WORKDIR /src
COPY . .

# In the future, we can use https://github.com/yarnpkg/rfcs/pull/53 to make yarn use the node_modules
# directly which should be fast as it is slow because it populates its own cache every time.
RUN yarn && NODE_ENV=production yarn task build:server:binary
RUN yarn \
&& MINIFY=true yarn build "${vscodeVersion}" "${codeServerVersion}" \
&& yarn binary "${vscodeVersion}" "${codeServerVersion}" \
&& mv "/src/build/code-server${codeServerVersion}-vsc${vscodeVersion}-linux-x86_64-built/code-server${codeServerVersion}-vsc${vscodeVersion}-linux-x86_64" /src/build/code-server

# We deploy with ubuntu so that devs have a familiar environment.
FROM ubuntu:18.04
Expand All @@ -30,24 +33,25 @@ RUN apt-get update && apt-get install -y \
wget

RUN locale-gen en_US.UTF-8
# We unfortunately cannot use update-locale because docker will not use the env variables
# We cannot use update-locale because docker will not use the env variables
# configured in /etc/default/locale so we need to set it manually.
ENV LC_ALL=en_US.UTF-8

RUN adduser --gecos '' --disabled-password coder && \
echo "coder ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/nopasswd

USER coder
# We create first instead of just using WORKDIR as when WORKDIR creates, the user is root.
# We create first instead of just using WORKDIR as when WORKDIR creates, the
# user is root.
RUN mkdir -p /home/coder/project

WORKDIR /home/coder/project

# This assures we have a volume mounted even if the user forgot to do bind mount.
# So that they do not lose their data if they delete the container.
# This ensures we have a volume mounted even if the user forgot to do bind
# mount. So that they do not lose their data if they delete the container.
VOLUME [ "/home/coder/project" ]

COPY --from=0 /src/packages/server/cli-linux-x64 /usr/local/bin/code-server
EXPOSE 8443
COPY --from=0 /src/build/code-server /usr/local/bin/code-server
EXPOSE 8080

ENTRYPOINT ["dumb-init", "code-server"]
ENTRYPOINT ["dumb-init", "code-server", "--host", "0.0.0.0"]
153 changes: 97 additions & 56 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,92 +1,133 @@
# code-server [!["Open Issues"](https://img.shields.io/github/issues-raw/cdr/code-server.svg)](https://github.com/cdr/code-server/issues) [!["Latest Release"](https://img.shields.io/github/release/cdr/code-server.svg)](https://github.com/cdr/code-server/releases/latest) [![MIT license](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/cdr/code-server/blob/master/LICENSE) [![Discord](https://img.shields.io/discord/463752820026376202.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/zxSwN8Z)
# code-server · [![MIT license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/cdr/code-server/blob/master/LICENSE) [!["Latest Release"](https://img.shields.io/github/release/cdr/code-server.svg)](https://github.com/cdr/code-server/releases/latest) [![Build Status](https://img.shields.io/travis/com/cdr/code-server/master)](https://github.com/cdr/code-server)

**code-server v2 is almost out!**
[Get the preview here](https://github.com/cdr/code-server/releases).
(Linux builds only at the moment.)

`code-server` is [VS Code](https://github.com/Microsoft/vscode) running on a remote server, accessible through the browser.
`code-server` is [VS Code](https://github.com/Microsoft/vscode) running on a
remote server, accessible through the browser.

Try it out:
```bash
docker run -it -p 127.0.0.1:8443:8443 -v "${HOME}/.local/share/code-server:/home/coder/.local/share/code-server" -v "${PWD}:/home/coder/project" codercom/code-server --allow-http --no-auth
docker run -it -p 127.0.0.1:8080:8080 -v "${HOME}/.local/share/code-server:/home/coder/.local/share/code-server" -v "$PWD:/home/coder/project" codercom/code-server
```

- Code on your Chromebook, tablet, and laptop with a consistent dev environment.
- If you have a Windows or Mac workstation, more easily develop for Linux.
- Take advantage of large cloud servers to speed up tests, compilations, downloads, and more.
- Preserve battery life when you're on the go.
- All intensive computation runs on your server.
- You're no longer running excess instances of Chrome.
- **Consistent environment:** Code on your Chromebook, tablet, and laptop with a
consistent dev environment. develop more easily for Linux if you have a
Windows or Mac, and pick up where you left off when switching workstations.
- **Server-powered:** Take advantage of large cloud servers to speed up tests,
compilations, downloads, and more. Preserve battery life when you're on the go
since all intensive computation runs on your server.

![Screenshot](/doc/assets/ide.png)
![Screenshot](/doc/assets/ide.gif)

## Getting Started

[![Create a Droplet](./doc/assets/do-new-droplet-btn.svg)](https://marketplace.digitalocean.com/apps/code-server?action=deploy)

### Run over SSH

Use [sshcode](https://github.com/codercom/sshcode) for a simple setup.

### Docker
See the Docker one-liner mentioned above. Dockerfile is at [/Dockerfile](/Dockerfile).

See docker oneliner mentioned above. Dockerfile is at [/Dockerfile](/Dockerfile).
To debug Golang using the
[ms-vscode-go extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.Go),
you need to add `--security-opt seccomp=unconfined` to your `docker run`
arguments when launching code-server with Docker. See
[#725](https://github.com/cdr/code-server/issues/725) for details.

### Binaries

1. [Download a binary](https://github.com/cdr/code-server/releases) (Linux and OS X supported. Windows coming soon)
2. Start the binary with the project directory as the first argument

```
code-server <initial directory to open>
```
> You will be prompted to enter the password shown in the CLI
`code-server` should now be running at https://localhost:8443.

> code-server uses a self-signed SSL certificate that may prompt your browser to ask you some additional questions before you proceed. Please [read here](doc/self-hosted/index.md) for more information.

For detailed instructions and troubleshooting, see the [self-hosted quick start guide](doc/self-hosted/index.md).

Quickstart guides for [Google Cloud](doc/admin/install/google_cloud.md), [AWS](doc/admin/install/aws.md), and [DigitalOcean](doc/admin/install/digitalocean.md).

How to [secure your setup](/doc/security/ssl.md).

## Development

### Known Issues

1. [Download a binary](https://github.com/cdr/code-server/releases). (Linux and
OS X supported. Windows coming soon)
2. Unpack the downloaded file then run the binary.
3. In your browser navigate to `localhost:8080`.

- For self-hosting and other information see [doc/quickstart.md](doc/quickstart.md).
- For hosting on cloud platforms see [doc/deploy.md](doc/deploy.md).

### Build
- If you also plan on developing, set the `OUT` environment variable. Otherwise
it will build in this directory which will cause issues because `yarn watch`
will try to compile the build directory as well.
- For now `@coder/nbin` is a global dependency.
- Run `yarn build ${vscodeVersion} ${codeServerVersion}` in this directory (for
example: `yarn build 1.36.0 development`).
- If you target the same VS Code version our Travis builds do everything will
work but if you target some other version it might not (we have to do some
patching to VS Code so different versions aren't always compatible).
- You can run the built code with `node path/to/build/out/vs/server/main.js` or run
`yarn binary` with the same arguments in the previous step to package the
code into a single binary.

## Known Issues
- Uploading .vsix files doesn't work.
- Creating custom VS Code extensions and debugging them doesn't work.
- To debug Golang using [ms-vscode-go extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.Go), you need to add `--security-opt seccomp=unconfined` to your `docker run` arguments when launching code-server with Docker. See [#725](https://github.com/cdr/code-server/issues/725) for details.
- Extension profiling and tips are currently disabled.

### Future
## Future
- **Stay up to date!** Get notified about new releases of code-server.
![Screenshot](/doc/assets/release.gif)
- Windows support.
- Electron and Chrome OS applications to bridge the gap between local<->remote.
- Run VS Code unit tests against our builds to ensure features work as expected.

### Extensions

At the moment we can't use the official VSCode Marketplace. We've created a custom extension marketplace focused around open-sourced extensions. However, if you have access to the `.vsix` file, you can manually install the extension.
## Extensions
At the moment we can't use the official VS Code Marketplace. We've created a
custom extension marketplace focused around open-sourced extensions. However,
you can manually download the extension to your extensions directory. It's also
possible to set your own marketplace URLs by setting the `SERVICE_URL` and
`ITEM_URL` environment variables.

## Telemetry

Use the `--disable-telemetry` flag or set `DISABLE_TELEMETRY=true` to disable tracking ENTIRELY.

We use data collected to improve code-server.
Use the `--disable-telemetry` flag to completely disable telemetry. We use the
data collected to improve code-server.

## Contributing
### Development
```shell
git clone https://github.com/microsoft/vscode
cd vscode
git checkout <see travis.yml for the VS Code version to use here>
git clone https://github.com/cdr/code-server src/vs/server
cd src/vs/server
yarn patch:apply
yarn
yarn watch
# Wait for the initial compilation to complete (it will say "Finished compilation").
# Run the next command in another shell.
yarn start
# Visit http://localhost:8080
```

Development guides are coming soon.
If you run into issues about a different version of Node being used, try running
`npm rebuild` in the VS Code directory and ignore the error at the end from
`vscode-ripgrep`.

### Upgrading VS Code
We patch VS Code to provide and fix some functionality. As the web portion of VS
Code matures, we'll be able to shrink and maybe even entirely eliminate our
patch. In the meantime, however, upgrading the VS Code version requires ensuring
that the patch still applies and has the intended effects.

To generate a new patch, **stage all the changes** you want to be included in
the patch in the VS Code source, then run `yarn patch:generate` in this
directory.

Our changes include:
- Change the remote schema to `code-server`.
- Allow multiple extension directories (both user and built-in).
- Modify the loader, websocket, webview, service worker, and asset requests to
use the URL of the page as a base (and TLS if necessary for the websocket).
- Send client-side telemetry through the server and get the initial log level
from the server.
- Add an upload service for use in editor windows and the explorer along with a
file prefix to ignore for temporary files created during upload.
- Make changing the display language work.
- Make hiding or toggling the menu bar possible.
- Make it possible for us to load code on the client.
- Modify the build process to include our code.

## License

[MIT](LICENSE)

## Enterprise

Visit [our website](https://coder.com/) for more information about our enterprise offering.
Visit [our enterprise page](https://coder.com/enterprise) for more information
about our enterprise offering.

## Commercialization

If you would like to commercialize code-server, please contact contact@coder.com.
If you would like to commercialize code-server, please contact
contact@coder.com.
42 changes: 0 additions & 42 deletions build/platform.ts

This file was deleted.