Make npm-postinstall.sh more robust

This commit is contained in:
Anmol Sethi 2020-05-13 05:06:11 -04:00
parent b3ae4d67d3
commit f4a78587b0
No known key found for this signature in database
GPG Key ID: 8CEF1878FF10ADEB
4 changed files with 25 additions and 6 deletions

View File

@ -35,8 +35,8 @@ systemctl --user enable --now code-server
### npm ### npm
**note:** Installing via `npm` requires building native module dependencies. See [./doc/npm.md](./doc/npm.md) **note:** Installing via `npm` requires certain dependencies for the native module builds.
for the dependency install process depending on your OS. See [./doc/npm.md](./doc/npm.md) for installing these dependencies.
```bash ```bash
npm install -g code-server npm install -g code-server

View File

@ -4,18 +4,34 @@ set -eu
main() { main() {
cd lib/vscode cd lib/vscode
case "${npm_config_user_agent-}" in npm*)
# We are running under npm.
if [ "${npm_config_unsafe_perm-}" != "true" ]; then
echo "Please pass --unsafe-perm to npm to install code-server"
echo "Otherwise the postinstall script does not have permissions to run"
echo "See https://docs.npmjs.com/misc/config#unsafe-perm"
echo "See https://stackoverflow.com/questions/49084929/npm-sudo-global-installation-unsafe-perm"
exit 1
fi
;;
esac
# We have to rename node_modules.bundled to node_modules. # We have to rename node_modules.bundled to node_modules.
# The bundled modules were renamed originally to avoid being ignored by yarn. # The bundled modules were renamed originally to avoid being ignored by yarn.
local node_modules
node_modules="$(find . -depth -name "node_modules.bundled")" node_modules="$(find . -depth -name "node_modules.bundled")"
local nm
for nm in $node_modules; do for nm in $node_modules; do
rm -Rf "${nm%.bundled}" rm -Rf "${nm%.bundled}"
mv "$nm" "${nm%.bundled}" mv "$nm" "${nm%.bundled}"
done done
# $npm_config_global makes npm rebuild return without rebuilding.
unset npm_config_global
# Rebuilds native modules. # Rebuilds native modules.
npm rebuild if ! npm rebuild; then
echo "You may not have the required dependencies to build the native modules."
echo "Please see https://github.com/cdr/code-server/blob/master/doc/npm.md"
exit 1
fi
} }
main "$@" main "$@"

View File

@ -4,6 +4,9 @@ set -euo pipefail
main() { main() {
cd "$(dirname "$0")/../.." cd "$(dirname "$0")/../.."
# https://github.com/actions/upload-artifact/issues/38
chmod +x $(grep -rl '^#!/.\+' release)
yarn release:static yarn release:static
yarn test:static-release yarn test:static-release
yarn package yarn package

View File

@ -1,7 +1,7 @@
{ {
"name": "code-server", "name": "code-server",
"license": "MIT", "license": "MIT",
"version": "3.3.0-rc.21", "version": "3.3.0-rc.24",
"description": "Run VS Code on a remote server.", "description": "Run VS Code on a remote server.",
"homepage": "https://github.com/cdr/code-server", "homepage": "https://github.com/cdr/code-server",
"bugs": { "bugs": {