diff --git a/README.md b/README.md index d0a95abcc..093026946 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ For a proper setup and walkthrough, please see [./doc/guide.md](./doc/guide.md). ```bash curl -sSOL https://github.com/cdr/code-server/releases/download/3.3.0/code-server_3.3.0_amd64.deb sudo dpkg -i code-server_3.3.0_amd64.deb -sudo systemctl enable --now code-server +systemctl --user enable --now code-server # Now visit http://127.0.0.1:8080. Your password is in ~/.config/code-server/config.yaml ``` @@ -29,7 +29,7 @@ sudo systemctl enable --now code-server ```bash curl -sSOL https://github.com/cdr/code-server/releases/download/3.3.0/code-server-3.3.0-amd64.rpm sudo yum install -y code-server-3.3.0-amd64.rpm -sudo systemctl enable --now code-server +systemctl --user enable --now code-server # Now visit http://127.0.0.1:8080. Your password is in ~/.config/code-server/config.yaml ``` diff --git a/ci/README.md b/ci/README.md index dc3e0da50..892a2bf1d 100644 --- a/ci/README.md +++ b/ci/README.md @@ -90,6 +90,9 @@ You can disable minification by setting `MINIFY=`. - Downloads the release-package artifacts for the current commit from CI - Uses [hub](https://github.com/github/hub) to upload the artifacts to the release specified in `package.json` +- [./build/npm-postinstall.sh](./build/npm-postinstall.sh) + - Post install script for the npm package + - Bundled by`yarn release` ## release-container diff --git a/ci/build/build-release.sh b/ci/build/build-release.sh index 0c1117e41..583fc50de 100755 --- a/ci/build/build-release.sh +++ b/ci/build/build-release.sh @@ -32,19 +32,20 @@ bundle_code_server() { mkdir -p "$RELEASE_PATH/src/browser/pages" rsync src/browser/pages/*.html "$RELEASE_PATH/src/browser/pages" - rsync yarn.lock "$RELEASE_PATH" - # Adds the commit to package.json jq --slurp '.[0] * .[1]' package.json <( cat << EOF { "commit": "$(git rev-parse HEAD)", "scripts": { - "postinstall": "cd lib/vscode && npm rebuild # Builds native modules" + "postinstall": "./postinstall.sh" } } EOF ) > "$RELEASE_PATH/package.json" + rsync yarn.lock "$RELEASE_PATH" + rsync ci/build/npm-postinstall.sh "$RELEASE_PATH/postinstall.sh" + } bundle_vscode() { @@ -72,13 +73,22 @@ EOF yarn --production --ignore-scripts popd - # Now we clear any native module builds. - local nativeModules - mapfile -t nativeModules < <(find "$VSCODE_OUT_PATH/node_modules" -name "binding.gyp" -exec dirname {} \;) + # We clear any native module builds. + local native_modules + mapfile -t native_modules < <(find "$VSCODE_OUT_PATH/node_modules" -name "binding.gyp" -exec dirname {} \;) local nm - for nm in "${nativeModules[@]}"; do + for nm in "${native_modules[@]}"; do rm -R "$nm/build" done + + # We have to rename node_modules to node_modules.bundled to avoid them being ignored by yarn. + local node_modules + mapfile -t node_modules < <(find "$VSCODE_OUT_PATH" -depth -name "node_modules") + local nm + for nm in "${node_modules[@]}"; do + rm -Rf "$nm.bundled" + mv "$nm" "$nm.bundled" + done } main "$@" diff --git a/ci/build/npm-postinstall.sh b/ci/build/npm-postinstall.sh new file mode 100755 index 000000000..2b37bd1de --- /dev/null +++ b/ci/build/npm-postinstall.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env sh +set -eu + +main() { + cd lib/vscode + + # We have to rename node_modules.bundled to node_modules. + # The bundled modules were renamed originally to avoid being ignored by yarn. + local node_modules + node_modules="$(find . -depth -name "node_modules.bundled")" + local nm + for nm in $node_modules; do + rm -Rf "${nm%.bundled}" + mv "$nm" "${nm%.bundled}" + done + + # Rebuilds native modules. + npm rebuild +} + +main "$@" diff --git a/package.json b/package.json index a9312f03c..8e0d820bc 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "code-server", "license": "MIT", - "version": "3.3.0-rc.10", + "version": "3.3.0-rc.21", "description": "Run VS Code on a remote server.", "homepage": "https://github.com/cdr/code-server", "bugs": {