diff --git a/.editorconfig b/.editorconfig index 65705d95..0f6dc944 100644 --- a/.editorconfig +++ b/.editorconfig @@ -3,4 +3,9 @@ root = true [*] indent_style = space trim_trailing_whitespace = true + +# The indent size used in the `package.json` file cannot be changed +# https://github.com/npm/npm/pull/3180#issuecomment-16336516 +[{*.yml,*.yaml,package.json}] +indent_style = space indent_size = 2 diff --git a/.prettierrc.yaml b/.prettierrc.yaml index a0634116..bf4b4a7d 100644 --- a/.prettierrc.yaml +++ b/.prettierrc.yaml @@ -2,3 +2,16 @@ printWidth: 120 semi: false trailingComma: all arrowParens: always +singleQuote: false +useTabs: false + +overrides: + # Attempt to keep VScode's existing code style intact. + - files: "vendor/modules/code-oss-dev/**/*.ts" + options: + # No limit defined upstream. + printWidth: 10000 + semi: true + singleQuote: true + useTabs: true + arrowParens: avoid diff --git a/ci/build/build-vscode.sh b/ci/build/build-vscode.sh index ca35d4f3..91e83e7f 100755 --- a/ci/build/build-vscode.sh +++ b/ci/build/build-vscode.sh @@ -11,8 +11,10 @@ main() { cd vendor/modules/code-oss-dev - yarn gulp compile-build compile-extensions-build compile-extension-media + yarn gulp compile-build compile-extensions-build compile-extension-media compile-web + yarn gulp optimize --gulpfile ./coder.js + if [[ $MINIFY ]]; then yarn gulp minify --gulpfile ./coder.js fi diff --git a/ci/dev/watch.ts b/ci/dev/watch.ts index a0c116ec..22958cb6 100644 --- a/ci/dev/watch.ts +++ b/ci/dev/watch.ts @@ -8,7 +8,7 @@ async function main(): Promise { try { const watcher = new Watcher() await watcher.watch() - } catch (error) { + } catch (error: any) { console.error(error.message) process.exit(1) } @@ -38,6 +38,9 @@ class Watcher { } const vscode = cp.spawn("yarn", ["watch"], { cwd: this.vscodeSourcePath }) + + const vscodeWebExtensions = cp.spawn("yarn", ["watch-web"], { cwd: this.vscodeSourcePath }) + const tsc = cp.spawn("tsc", ["--watch", "--pretty", "--preserveWatchOutput"], { cwd: this.rootPath }) const plugin = process.env.PLUGIN_DIR ? cp.spawn("yarn", ["build", "--watch"], { cwd: process.env.PLUGIN_DIR }) @@ -48,6 +51,10 @@ class Watcher { vscode.removeAllListeners() vscode.kill() + Watcher.log("killing vs code web extension watcher") + vscodeWebExtensions.removeAllListeners() + vscodeWebExtensions.kill() + Watcher.log("killing tsc") tsc.removeAllListeners() tsc.kill() @@ -75,10 +82,17 @@ class Watcher { Watcher.log("vs code watcher terminated unexpectedly") cleanup(code) }) + + vscodeWebExtensions.on("exit", (code) => { + Watcher.log("vs code extension watcher terminated unexpectedly") + cleanup(code) + }) + tsc.on("exit", (code) => { Watcher.log("tsc terminated unexpectedly") cleanup(code) }) + if (plugin) { plugin.on("exit", (code) => { Watcher.log("plugin terminated unexpectedly") @@ -86,8 +100,10 @@ class Watcher { }) } + vscodeWebExtensions.stderr.on("data", (d) => process.stderr.write(d)) vscode.stderr.on("data", (d) => process.stderr.write(d)) tsc.stderr.on("data", (d) => process.stderr.write(d)) + if (plugin) { plugin.stderr.on("data", (d) => process.stderr.write(d)) } diff --git a/package.json b/package.json index a236c6e7..344dc8b0 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,6 @@ "main": "out/node/entry.js", "devDependencies": { "@schemastore/package": "^0.0.6", - "@types/body-parser": "^1.19.0", "@types/browserify": "^12.0.36", "@types/compression": "^1.7.0", "@types/cookie-parser": "^1.4.2", @@ -48,8 +47,7 @@ "@types/safe-compare": "^1.1.0", "@types/semver": "^7.1.0", "@types/split2": "^3.2.0", - "@types/tar-fs": "^2.0.0", - "@types/tar-stream": "^2.1.0", + "@types/trusted-types": "^2.0.2", "@types/ws": "^8.0.0", "@typescript-eslint/eslint-plugin": "^4.7.0", "@typescript-eslint/parser": "^4.7.0", @@ -68,7 +66,7 @@ "stylelint": "^13.0.0", "stylelint-config-recommended": "^5.0.0", "ts-node": "^10.0.0", - "typescript": "^4.1.3" + "typescript": "^4.4.0-dev.20210528" }, "resolutions": { "ansi-regex": "^5.0.1", @@ -85,7 +83,6 @@ "dependencies": { "@coder/logger": "1.1.16", "argon2": "^0.28.0", - "body-parser": "^1.19.0", "compression": "^1.7.4", "cookie-parser": "^1.4.5", "env-paths": "^2.2.0", @@ -103,7 +100,6 @@ "safe-compare": "^1.1.4", "semver": "^7.1.3", "split2": "^3.2.2", - "tar-fs": "^2.0.0", "ws": "^8.0.0", "xdg-basedir": "^4.0.0", "yarn": "^1.22.4" diff --git a/src/browser/media/manifest.json b/src/browser/media/manifest.json index a16709e1..899d159b 100644 --- a/src/browser/media/manifest.json +++ b/src/browser/media/manifest.json @@ -1,18 +1,18 @@ { "name": "code-server", "short_name": "code-server", - "start_url": "{{BASE}}", + "start_url": ".", "display": "fullscreen", "background-color": "#fff", "description": "Run editors on a remote server.", "icons": [ { - "src": "{{CS_STATIC_BASE}}/src/browser/media/pwa-icon-192.png", + "src": "./src/browser/media/pwa-icon-192.png", "type": "image/png", "sizes": "192x192" }, { - "src": "{{CS_STATIC_BASE}}/src/browser/media/pwa-icon-512.png", + "src": "./src/browser/media/pwa-icon-512.png", "type": "image/png", "sizes": "512x512" } diff --git a/src/browser/pages/error.html b/src/browser/pages/error.html index 56e03e27..450622bc 100644 --- a/src/browser/pages/error.html +++ b/src/browser/pages/error.html @@ -11,13 +11,13 @@ content="style-src 'self'; manifest-src 'self'; img-src 'self' data:; font-src 'self' data:;" /> {{ERROR_TITLE}} - code-server - - - - - - - + + + + + + + @@ -30,6 +30,6 @@ - + diff --git a/src/browser/pages/login.html b/src/browser/pages/login.html index 896927e3..e0651988 100644 --- a/src/browser/pages/login.html +++ b/src/browser/pages/login.html @@ -11,13 +11,13 @@ content="style-src 'self'; script-src 'self' 'unsafe-inline'; manifest-src 'self'; img-src 'self' data:; font-src 'self' data:;" /> code-server login - - - - - - - + + + + + + + @@ -30,7 +30,6 @@