diff --git a/.eslintrc.js b/.eslintrc.js index 54f35da1..11d96e27 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -45,5 +45,9 @@ module.exports = { 'dot-notation': 'off', '@typescript-eslint/dot-notation': ['error'] }, - ignorePatterns: ['.eslintrc.js', './packages/examples/browser-lsp/src/serverWorker.ts'] + ignorePatterns: [ + '.eslintrc.js', + 'vite.config.ts', + 'packages/examples/browser-lsp/src/serverWorker.ts' + ] }; diff --git a/.vscode/launch.json b/.vscode/launch.json index e9e7b2d8..4e014061 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -5,27 +5,22 @@ "version": "0.2.0", "configurations": [ { - "type": "node", - "request": "launch", - "name": "Launch Sample Server", - "program": "${workspaceRoot}/packages/examples/node/lib/server.js", - "sourceMaps": true, - "outFiles": [ - "${workspaceRoot}/packages/examples/node/lib/**/*.js" - ] + "name": "Launch Sample Server", + "type": "node", + "request": "launch", + "args": ["${workspaceRoot}/packages/examples/node/src/server.ts"], + "runtimeArgs": ["--nolazy", "-r", "ts-node/register"], + "cwd": "${workspaceRoot}/packages/examples/node", + "internalConsoleOptions": "openOnSessionStart" }, { - "type": "node", - "request": "launch", - "name": "Launch Sample Server (external)", - "program": "${workspaceRoot}/packages/examples/node/lib/server.js", - "args": [ - "--external" - ], - "sourceMaps": true, - "outFiles": [ - "${workspaceRoot}/packages/examples/node/lib/**/*.js" - ] + "name": "Launch Sample Server (external)", + "type": "node", + "request": "launch", + "args": ["${workspaceRoot}/packages/examples/node/dist/server.js", "--external"], + "runtimeArgs": ["--nolazy", "-r", "ts-node/register"], + "cwd": "${workspaceRoot}/packages/examples/node", + "internalConsoleOptions": "openOnSessionStart" }, { "type": "pwa-chrome", diff --git a/package-lock.json b/package-lock.json index e4532b79..9e81b6b5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33,22 +33,13 @@ "npm": ">=7.10.0" } }, - "node_modules/@cspotcode/source-map-consumer": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", - "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", - "dev": true, - "engines": { - "node": ">= 12" - } - }, "node_modules/@cspotcode/source-map-support": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", - "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, "dependencies": { - "@cspotcode/source-map-consumer": "0.8.0" + "@jridgewell/trace-mapping": "0.3.9" }, "engines": { "node": ">=12" @@ -149,6 +140,31 @@ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", + "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.13", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", + "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -4899,12 +4915,12 @@ "dev": true }, "node_modules/ts-node": { - "version": "10.7.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz", - "integrity": "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==", + "version": "10.8.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.8.1.tgz", + "integrity": "sha512-Wwsnao4DQoJsN034wePSg5nZiw4YKXf56mPIAeD6wVmiv+RytNSWqc2f3fKvcUoV+Yn2+yocD71VOfQHbmVX4g==", "dev": true, "dependencies": { - "@cspotcode/source-map-support": "0.7.0", + "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", "@tsconfig/node12": "^1.0.7", "@tsconfig/node14": "^1.0.0", @@ -4915,7 +4931,7 @@ "create-require": "^1.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.0", + "v8-compile-cache-lib": "^3.0.1", "yn": "3.1.1" }, "bin": { @@ -5532,9 +5548,9 @@ "dev": true }, "node_modules/ws": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz", - "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==", + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.0.tgz", + "integrity": "sha512-JDAgSYQ1ksuwqfChJusw1LSJ8BizJ2e/vVu5Lxjq3YvNJNlROv1ui4i+c/kUUrPheBvQl4c5UbERhTwKa6QBJQ==", "engines": { "node": ">=10.0.0" }, @@ -5648,16 +5664,16 @@ "vscode-languageserver": "8.0.1", "vscode-uri": "^3.0.3", "vscode-ws-jsonrpc": "../../vscode-ws-jsonrpc", - "ws": "^8.5.0" + "ws": "^8.8.0" }, "devDependencies": { "@types/express": "^4.17.13", "@types/node": "^16.11.7", - "ts-node": "^10.7.0" + "ts-node": "^10.8.1" } }, "packages/vscode-ws-jsonrpc": { - "version": "1.0.0", + "version": "1.0.1-dev.0", "license": "MIT", "dependencies": { "vscode-jsonrpc": "^8.0.1" @@ -5674,19 +5690,13 @@ } }, "dependencies": { - "@cspotcode/source-map-consumer": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", - "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", - "dev": true - }, "@cspotcode/source-map-support": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", - "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, "requires": { - "@cspotcode/source-map-consumer": "0.8.0" + "@jridgewell/trace-mapping": "0.3.9" } }, "@discoveryjs/json-ext": { @@ -5763,6 +5773,28 @@ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, + "@jridgewell/resolve-uri": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", + "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.13", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", + "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -8458,12 +8490,12 @@ "express": "^4.17.3", "normalize-url": "^7.0.3", "request-light": "^0.5.7", - "ts-node": "^10.7.0", + "ts-node": "^10.8.1", "vscode-json-languageservice": "^5.0.0", "vscode-languageserver": "8.0.1", "vscode-uri": "^3.0.3", "vscode-ws-jsonrpc": "../../vscode-ws-jsonrpc", - "ws": "^8.5.0" + "ws": "^8.8.0" } }, "node-releases": { @@ -9316,12 +9348,12 @@ } }, "ts-node": { - "version": "10.7.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz", - "integrity": "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==", + "version": "10.8.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.8.1.tgz", + "integrity": "sha512-Wwsnao4DQoJsN034wePSg5nZiw4YKXf56mPIAeD6wVmiv+RytNSWqc2f3fKvcUoV+Yn2+yocD71VOfQHbmVX4g==", "dev": true, "requires": { - "@cspotcode/source-map-support": "0.7.0", + "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", "@tsconfig/node12": "^1.0.7", "@tsconfig/node14": "^1.0.0", @@ -9332,7 +9364,7 @@ "create-require": "^1.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.0", + "v8-compile-cache-lib": "^3.0.1", "yn": "3.1.1" } }, @@ -9788,9 +9820,9 @@ "dev": true }, "ws": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz", - "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==", + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.0.tgz", + "integrity": "sha512-JDAgSYQ1ksuwqfChJusw1LSJ8BizJ2e/vVu5Lxjq3YvNJNlROv1ui4i+c/kUUrPheBvQl4c5UbERhTwKa6QBJQ==", "requires": {} }, "yallist": { diff --git a/packages/client/CHANGELOG.md b/packages/client/CHANGELOG.md index 424e652e..3987b550 100644 --- a/packages/client/CHANGELOG.md +++ b/packages/client/CHANGELOG.md @@ -2,6 +2,10 @@ All notable changes to this npm module are documented in this file. +## [2.0.2] - 2022-06-22 + +* Align tsconfig and use `typesVersions` in **package.json** for proper TypeScript import support (used in node example) + ## [2.0.1] - 2022-06-21 * No cjs fragments to export #[388](https://github.com/TypeFox/monaco-languageclient/issues/388) @@ -13,6 +17,11 @@ All notable changes to this npm module are documented in this file. * Integrate eslint with eslint-config-standard #[385](https://github.com/TypeFox/monaco-languageclient/pull/385) * Add example with client and server both running in the browser #[386](https://github.com/TypeFox/monaco-languageclient/pull/386) +## BREAKING CHANGES + +* If you use Webpack or vite for bundling, you have to remove the `vscode` alias entry from the configuration +* If you customized monaco services, then you have to add them + ## [1.1.0] - 2022-06-08 * feat(package.json): export monaco-converter #[376](https://github.com/TypeFox/monaco-languageclient/pull/376) diff --git a/packages/client/package.json b/packages/client/package.json index 2e3c796e..80352e1d 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,11 +1,12 @@ { "name": "monaco-languageclient", - "version": "2.0.1", + "version": "2.0.2", "description": "Monaco Language client implementation", "author": { "name": "TypeFox GmbH ", "url": "http://www.typefox.io" }, + "homepage": "https://github.com/TypeFox/monaco-languageclient/blob/main/packages/client/README.md", "license": "MIT", "repository": { "type": "git", @@ -15,6 +16,7 @@ "url": "https://github.com/TypeFox/monaco-languageclient/issues" }, "main": "./lib/index.js", + "module": "./lib/index.js", "types": "./lib/index.d.ts", "exports": { ".": { @@ -25,21 +27,29 @@ "types": "./lib/monaco-converter.d.ts", "default": "./lib/monaco-converter.js" }, - "./cjs/monaco-converter": { - "types": "./dist/cjs/monaco-converter.d.ts", - "default": "./dist/cjs/monaco-converter.js" - }, "./cjs": { "types": "./dist/cjs/index.d.ts", "default": "./dist/cjs/index.js" }, - "./amd/monaco-converter": { - "types": "./dist/amd/monaco-converter.d.ts", - "default": "./dist/amd/monaco-converter.js" + "./cjs/monaco-converter": { + "types": "./dist/cjs/monaco-converter.d.ts", + "default": "./dist/cjs/monaco-converter.js" }, "./amd": { "types": "./dist/amd/index.d.ts", "default": "./dist/amd/index.js" + }, + "./amd/monaco-converter": { + "types": "./dist/amd/monaco-converter.d.ts", + "default": "./dist/amd/monaco-converter.js" + } + }, + "typesVersions": { + "*": { + "cjs": [ "dist/cjs/index" ], + "amd": [ "dist/amd/index" ], + "monaco-converter": [ "lib/monaco-converter" ], + "monaco-converter/cjs": [ "dist/cjs/monaco-converter" ] } }, "files": [ @@ -66,11 +76,11 @@ }, "scripts": { "clean": "npx shx rm -fr lib tsconfig.tsbuildinfo", + "clean:amd": "npx shx rm -fr dist/amd dist/tsconfig.tsbuildinfo", + "clean:cjs": "npx shx rm -fr dist/cjs dist/tsconfig.tsbuildinfo", "lint": "eslint src --ext .ts", "compile": "tsc", "watch": "tsc -w", - "clean:amd": "npx shx rm -fr dist/amd", - "clean:cjs": "npx shx rm -fr dist/cjs", "build:amd": "npm run clean:amd && tsc --outDir dist/amd --module amd --declarationDir dist/amd --declaration", "build:cjs": "npm run clean:cjs && tsc --outDir dist/cjs --module commonjs --declarationDir dist/cjs --declaration", "build": "npm run clean && npm run compile && npm run build:amd && npm run build:cjs" diff --git a/packages/client/src/index.ts b/packages/client/src/index.ts index 83832601..ecb87ea2 100644 --- a/packages/client/src/index.ts +++ b/packages/client/src/index.ts @@ -10,6 +10,6 @@ export * from './monaco-services'; export * from './monaco-converter'; export { - Disposable, CancellationToken, Event, Emitter + CancellationToken, Event, Emitter } from 'vscode-jsonrpc/lib/common/api'; export * from 'vscode-languageserver-protocol/lib/common/api'; diff --git a/packages/client/tsconfig.json b/packages/client/tsconfig.json index e225925d..89d494b6 100644 --- a/packages/client/tsconfig.json +++ b/packages/client/tsconfig.json @@ -1,22 +1,16 @@ { "extends": "../../tsconfig", "compilerOptions": { - "rootDir": "src", - "outDir": "lib", - "declarationDir": "lib", - "target": "es2020", - "module": "es2020", - "moduleResolution": "node", - "lib": [ - "es2016", - "dom" - ], - "noUnusedParameters": false + "rootDir": "src", + "outDir": "lib", + "declarationDir": "lib", + "noUnusedParameters": false }, "include": [ - "src/**/*" + "src/**/*.ts", ], "exclude": [ + "dist", "lib", "node_modules" ] diff --git a/packages/examples/browser-lsp/tsconfig.json b/packages/examples/browser-lsp/tsconfig.json index b29efc44..bee70b76 100644 --- a/packages/examples/browser-lsp/tsconfig.json +++ b/packages/examples/browser-lsp/tsconfig.json @@ -4,15 +4,19 @@ "rootDir": "src", "outDir": "dist", "declarationDir": "dist", - "module": "ES2020", - "lib": ["ES2020", "dom", "WebWorker"] + "lib": [ + "ES2020", + "dom", + "WebWorker" + ] }, - "references": [{ "path": "../../client" }], + "references": [{ + "path": "../../client" + }], "include": [ "src/**/*.ts", ], "exclude": [ - "src/dist", - "node_modules" + "dist" ] } diff --git a/packages/examples/browser-old/tsconfig.json b/packages/examples/browser-old/tsconfig.json index 1d1611c9..d42e4711 100644 --- a/packages/examples/browser-old/tsconfig.json +++ b/packages/examples/browser-old/tsconfig.json @@ -3,16 +3,15 @@ "compilerOptions": { "rootDir": "src", "outDir": "dist", - "declarationDir": "dist", - "module": "ES2020", - "lib": ["ES2020", "dom"] + "declarationDir": "dist" }, - "references": [{ "path": "../../client" }], + "references": [{ + "path": "../../client" + }], "include": [ - "src/**/*.ts" + "src/**/*.ts" ], "exclude": [ - "dist", - "node_modules" + "dist" ] } diff --git a/packages/examples/browser/tsconfig.json b/packages/examples/browser/tsconfig.json index 1d1611c9..d42e4711 100644 --- a/packages/examples/browser/tsconfig.json +++ b/packages/examples/browser/tsconfig.json @@ -3,16 +3,15 @@ "compilerOptions": { "rootDir": "src", "outDir": "dist", - "declarationDir": "dist", - "module": "ES2020", - "lib": ["ES2020", "dom"] + "declarationDir": "dist" }, - "references": [{ "path": "../../client" }], + "references": [{ + "path": "../../client" + }], "include": [ - "src/**/*.ts" + "src/**/*.ts" ], "exclude": [ - "dist", - "node_modules" + "dist" ] } diff --git a/packages/examples/client/tsconfig.json b/packages/examples/client/tsconfig.json index 3a823ed4..cd36edef 100644 --- a/packages/examples/client/tsconfig.json +++ b/packages/examples/client/tsconfig.json @@ -4,15 +4,15 @@ "rootDir": "src", "outDir": "dist", "declarationDir": "dist", - "module": "ES2020", - "lib": ["ES2020", "dom"] }, - "references": [{ "path": "../../client" }], + "references": [{ + "path": "../../client" + }], "include": [ "src/**/*.ts", ], "exclude": [ - "src/dist", - "node_modules" + "dist", + "webpack/dist" ] } diff --git a/packages/examples/node/package.json b/packages/examples/node/package.json index 492d9dc8..95da0b62 100644 --- a/packages/examples/node/package.json +++ b/packages/examples/node/package.json @@ -10,20 +10,21 @@ "vscode-json-languageservice": "^5.0.0", "vscode-languageserver": "8.0.1", "vscode-uri": "^3.0.3", - "ws": "^8.5.0" + "ws": "^8.8.0" }, "devDependencies": { "@types/express": "^4.17.13", "@types/node": "^16.11.7", - "ts-node": "^10.7.0" + "ts-node": "^10.8.1" }, "scripts": { - "clean": "npx shx rm -fr lib tsconfig.tsbuildinfo", + "clean": "npx shx rm -fr dist tsconfig.tsbuildinfo", "lint": "eslint src --ext .ts", "compile": "tsc -b .", "build": "npm run clean && npm run compile", "watch": "tsc -w", "start": "node -r ts-node/register src/server.ts", - "start:ext": "node -r ts-node/register lib/server.js --external" + "start:alt": "node dist/server.js", + "start:ext": "node -r ts-node/register src/server.ts --external" } } diff --git a/packages/examples/node/src/json-server-launcher.ts b/packages/examples/node/src/json-server-launcher.ts index 354aa0dd..69e44d23 100644 --- a/packages/examples/node/src/json-server-launcher.ts +++ b/packages/examples/node/src/json-server-launcher.ts @@ -3,8 +3,8 @@ * Licensed under the MIT License. See License.txt in the project root for license information. * ------------------------------------------------------------------------------------------ */ import * as path from 'path'; -import * as rpc from 'vscode-ws-jsonrpc'; -import * as server from 'vscode-ws-jsonrpc/lib/server'; +import * as rpc from 'vscode-ws-jsonrpc/cjs'; +import * as server from 'vscode-ws-jsonrpc/cjs/server'; import * as lsp from 'vscode-languageserver'; import { start } from './json-server'; import { Message } from 'vscode-languageserver'; diff --git a/packages/examples/node/src/server.ts b/packages/examples/node/src/server.ts index 2efc39e3..bf50ad9e 100644 --- a/packages/examples/node/src/server.ts +++ b/packages/examples/node/src/server.ts @@ -7,7 +7,7 @@ import * as http from 'http'; import * as url from 'url'; import * as net from 'net'; import express from 'express'; -import * as rpc from 'vscode-ws-jsonrpc'; +import * as rpc from 'vscode-ws-jsonrpc/cjs'; import { launch } from './json-server-launcher'; process.on('uncaughtException', function (err: any) { @@ -29,7 +29,8 @@ const wss = new ws.Server({ perMessageDeflate: false }); server.on('upgrade', (request: http.IncomingMessage, socket: net.Socket, head: Buffer) => { - const pathname = request.url ? new url.URL(request.url).pathname : undefined; + // eslint-disable-next-line n/no-deprecated-api + const pathname = request.url ? url.parse(request.url).pathname : undefined; if (pathname === '/sampleServer') { wss.handleUpgrade(request, socket, head, webSocket => { const socket: rpc.IWebSocket = { diff --git a/packages/examples/node/tsconfig.json b/packages/examples/node/tsconfig.json index 79d46348..b245e6b3 100644 --- a/packages/examples/node/tsconfig.json +++ b/packages/examples/node/tsconfig.json @@ -1,16 +1,21 @@ { "extends": "../../../tsconfig", "compilerOptions": { - "rootDir": "src", - "outDir": "lib", - "declarationDir": "lib" + "rootDir": "src", + "outDir": "dist", + "declarationDir": "dist", + "module": "CommonJS" }, - "references": [{ "path": "../../client" }], + "references": [{ + "path": "../../client" + }, + { + "path": "../../vscode-ws-jsonrpc" + }], "include": [ - "src/**/*" + "src/**/*.ts" ], "exclude": [ - "dist", - "node_modules" + "dist" ] } diff --git a/packages/vscode-ws-jsonrpc/CHANGELOG.md b/packages/vscode-ws-jsonrpc/CHANGELOG.md index 0789a0ca..adc97d68 100644 --- a/packages/vscode-ws-jsonrpc/CHANGELOG.md +++ b/packages/vscode-ws-jsonrpc/CHANGELOG.md @@ -2,6 +2,10 @@ All notable changes to this npm module are documented in this file. +## [1.0.1] - 2022-06-22 + +* Library ships as src, esm and cjs builds. Use `typesVersions` in **package.json** for proper TypeScript import support + ## [1.0.0] - 2022-06-21 * Merged npm packages `@codingame/monaco-jsonrpc` and `vscode-ws-jsonrpc` into this package. diff --git a/packages/vscode-ws-jsonrpc/package.json b/packages/vscode-ws-jsonrpc/package.json index d3a2da6f..eaa13248 100644 --- a/packages/vscode-ws-jsonrpc/package.json +++ b/packages/vscode-ws-jsonrpc/package.json @@ -1,8 +1,12 @@ { "name": "vscode-ws-jsonrpc", - "version": "1.0.0", + "version": "1.0.1", "description": "VSCode JSON RPC over WebSocket", - "author": "TypeFox GmbH (http://www.typefox.io)", + "author": { + "name": "TypeFox GmbH ", + "url": "http://www.typefox.io" + }, + "homepage": "https://github.com/TypeFox/monaco-languageclient/blob/main/packages/client/README.md", "license": "MIT", "repository": { "type": "git", @@ -12,8 +16,45 @@ "url": "https://github.com/TypeFox/monaco-languageclient/issues" }, "main": "./lib/index.js", + "module": "./lib/index.js", "types": "./lib/index.d.ts", + "exports": { + ".": { + "types": "./lib/index.d.ts", + "default": "./lib/index.js" + }, + "./server": { + "types": "./lib/server/index.d.ts", + "default": "./lib/server/index.js" + }, + "./socket": { + "types": "./lib/socket/index.d.ts", + "default": "./lib/socket/index.js" + }, + "./cjs": { + "types": "./dist/cjs/index.d.ts", + "default": "./dist/cjs/index.js" + }, + "./cjs/server": { + "types": "./dist/cjs/server/index.d.ts", + "default": "./dist/cjs/server/index.js" + }, + "./cjs/socket": { + "types": "./dist/cjs/socket/index.d.ts", + "default": "./dist/cjs/socket/index.js" + } + }, + "typesVersions": { + "*": { + "server": [ "lib/server" ], + "socket": [ "lib/server" ], + "cjs": [ "dist/cjs/index" ], + "cjs/server": [ "dist/cjs/server/index" ], + "cjs/socket": [ "dist/cjs/server/index" ] + } + }, "files": [ + "dist/cjs", "lib", "src", "README.md", @@ -28,13 +69,11 @@ }, "scripts": { "clean": "npx shx rm -fr lib tsconfig.tsbuildinfo", + "clean:cjs": "npx shx rm -fr dist/cjs dist/tsconfig.tsbuildinfo", "lint": "eslint src --ext .ts", "compile": "tsc", "watch": "tsc -w", - "build": "npm run clean && npm run compile" - }, - "homepage": "https://github.com/TypeFox/monaco-languageclient/blob/main/packages/vscode-ws-jsonrpc/README.md", - "directories": { - "lib": "lib" + "build:cjs": "npm run clean:cjs && tsc --outDir dist/cjs --module commonjs --declarationDir dist/cjs --declaration", + "build": "npm run clean && npm run compile && npm run build:cjs" } } diff --git a/packages/vscode-ws-jsonrpc/tsconfig.json b/packages/vscode-ws-jsonrpc/tsconfig.json index 2749d9ac..db46b237 100644 --- a/packages/vscode-ws-jsonrpc/tsconfig.json +++ b/packages/vscode-ws-jsonrpc/tsconfig.json @@ -4,15 +4,13 @@ "rootDir": "src", "outDir": "lib", "declarationDir": "lib", - "target": "ES2017", - "module": "commonjs", - "moduleResolution": "node", - "lib": [ - "es2016", - "dom" - ], }, "include": [ - "src" + "src/**/*.ts", + ], + "exclude": [ + "dist", + "lib", + "node_modules" ] } diff --git a/tsconfig.json b/tsconfig.json index 8508a415..1bb28089 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,12 +1,12 @@ { "compilerOptions": { "target": "ES2020", - "module": "commonjs", + "module": "ES2020", + "moduleResolution": "Node", "lib": [ "ES2020", "dom" ], - "moduleResolution": "Node", "esModuleInterop": true, "resolveJsonModule": true, "composite": true, // Enable project compilation diff --git a/vite.config.ts b/vite.config.ts index 6171d394..405965d2 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -6,6 +6,7 @@ export default defineConfig({ rollupOptions: { input: { client: path.resolve(__dirname, '/packages/examples/client/index.html'), + browserLsp: path.resolve(__dirname, '/packages/examples/browser-lsp/index.html'), browser: path.resolve(__dirname, '/packages/examples/browser/index.html'), browserOld: path.resolve(__dirname, '/packages/examples/browser-old/index.html') }