@aws/language-server-runtimes
Advanced tools
Comparing version 0.1.1 to 0.2.0
113
package.json
{ | ||
"name": "@aws/language-server-runtimes", | ||
"version": "0.1.1", | ||
"description": "Runtimes to host Language Servers for AWS", | ||
"main": "out/runtimes/index.js", | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/aws/language-server-runtimes" | ||
}, | ||
"author": "Amazon Web Services", | ||
"license": "Apache-2.0", | ||
"engines": { | ||
"node": ">=18.0.0" | ||
}, | ||
"scripts": { | ||
"compile": "tsc --build", | ||
"prepack": "npm run compile", | ||
"test:unit": "ts-mocha -b 'src/**/*.test.ts'", | ||
"test:prettier": "prettier . --check", | ||
"test": "npm run test:prettier && npm run test:unit", | ||
"fix:prettier": "prettier . --write", | ||
"prepare": "husky install" | ||
}, | ||
"dependencies": { | ||
"jose": "^4.14.4", | ||
"rxjs": "^7.8.1", | ||
"vscode-languageserver": "^9.0.1", | ||
"vscode-languageserver-textdocument": "^1.0.11" | ||
}, | ||
"devDependencies": { | ||
"@types/mocha": "^10.0.1", | ||
"@types/node": "^20.5.9", | ||
"assert": "^2.0.0", | ||
"husky": "^8.0.3", | ||
"prettier": "3.0.3", | ||
"sinon": "^15.1.0", | ||
"ts-mocha": "^10.0.0", | ||
"ts-sinon": "^2.0.2", | ||
"typescript": "^5.2.2" | ||
}, | ||
"typesVersions": { | ||
"*": { | ||
"browser": [ | ||
"./out/runtimes/webworker.d.ts" | ||
] | ||
"name": "@aws/language-server-runtimes", | ||
"version": "0.2.0", | ||
"description": "Runtimes to host Language Servers for AWS", | ||
"files": [ | ||
"out", | ||
"protocol", | ||
"runtimes", | ||
"server-interface", | ||
"testing" | ||
], | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/aws/language-server-runtimes" | ||
}, | ||
"author": "Amazon Web Services", | ||
"license": "Apache-2.0", | ||
"engines": { | ||
"node": ">=18.0.0" | ||
}, | ||
"scripts": { | ||
"clean": "rm -rf out", | ||
"compile": "tsc --build", | ||
"fix:prettier": "prettier . --write", | ||
"prepare": "husky install", | ||
"prepub:copyFiles": "cp .npmignore CHANGELOG.md LICENSE NOTICE README.md SECURITY.md package.json out/", | ||
"prepub": "npm run clean && npm run test && npm run compile && npm run prepub:copyFiles", | ||
"pub": "cd out && npm publish", | ||
"test:prettier": "prettier . --check", | ||
"test:unit": "ts-mocha -b 'src/**/*.test.ts'", | ||
"test": "npm run test:prettier && npm run test:unit", | ||
"preversion": "npm run test", | ||
"version": "npm run compile && git add -A ." | ||
}, | ||
"dependencies": { | ||
"jose": "^5.2.3", | ||
"rxjs": "^7.8.1", | ||
"vscode-languageserver": "^9.0.1", | ||
"vscode-languageserver-protocol": "^3.17.5", | ||
"vscode-languageserver-textdocument": "^1.0.11", | ||
"vscode-languageserver-types": "^3.17.5" | ||
}, | ||
"devDependencies": { | ||
"@types/mocha": "^10.0.1", | ||
"@types/node": "^20.5.9", | ||
"assert": "^2.0.0", | ||
"husky": "^9.0.11", | ||
"prettier": "3.2.5", | ||
"sinon": "^17.0.1", | ||
"ts-mocha": "^10.0.0", | ||
"ts-sinon": "^2.0.2", | ||
"typescript": "^5.2.2" | ||
}, | ||
"typesVersions": { | ||
"*": { | ||
"browser": [ | ||
"./out/runtimes/webworker.d.ts" | ||
] | ||
} | ||
}, | ||
"prettier": { | ||
"printWidth": 120, | ||
"trailingComma": "es5", | ||
"tabWidth": 4, | ||
"singleQuote": true, | ||
"semi": false, | ||
"bracketSpacing": true, | ||
"arrowParens": "avoid", | ||
"endOfLine": "lf" | ||
} | ||
} | ||
} |
@@ -7,14 +7,15 @@ # Language Server Runtimes | ||
### Terminology | ||
## Terminology | ||
The server runtime will provide “Features” which refers to the Language Server Runtimes core feature (eg. LSP, Logging, etc). These features will be injected on top of the Server business logic implementation at build time. [Capabilities](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#capabilities) are a set of language features provided by an LSP. | ||
### Server initialization flow and features negotiation | ||
## Project structure | ||
The project source code is split into next directories: | ||
Language Server Runtimes uses LSP abstracts to create a JSON-RPC connection between client and server. We use the `Initialize` LSP lifecycle method to provide initialization options to the server. | ||
- `/src`: This directory contains all the source code of the project. | ||
- `/protocol`: JSON-RPC-based Runtime protocol implementation in Typescript, which defines the communication between Runtime and Runtime Clients (e.g. AWS Toolkit extension). | ||
- `/runtimes`: implementation of several runtimes (standalone, webworker) and features, that are exposed to Runtime Servers developed by Server implementors. | ||
- `/server-interface`: defines interfaces of features, that Runtime provides to Runtime Servers implementors. | ||
- `/testing`: testing helper for Server implementors. | ||
Features will be instantiated and configured during execution of the `Initialize` flow of the main connection. | ||
Client will send the `Initialize` LSP request with custom options to configure features in the optional [`InitializeParams.initializationOptions`](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#initializeParams) property. The configuration passed here will influence implementation details of different capabilities defined below. `initializationOptions` can be processed by the runtime and used to initialize features according to their implementation details. For information on which options are used, please see Initilization sections in each feature. | ||
## Features | ||
@@ -141,2 +142,10 @@ | ||
### Server initialization flow and features negotiation | ||
Language Server Runtimes uses LSP abstracts to create a JSON-RPC connection between client and server. We use the `Initialize` LSP lifecycle method to provide initialization options to the server. | ||
Features will be instantiated and configured during execution of the `Initialize` flow of the main connection. | ||
Client will send the `Initialize` LSP request with custom options to configure features in the optional [`InitializeParams.initializationOptions`](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#initializeParams) property. The configuration passed here will influence implementation details of different capabilities defined below. `initializationOptions` can be processed by the runtime and used to initialize features according to their implementation details. For information on which options are used, please see Initilization sections in each feature. | ||
### Standalone Server | ||
@@ -143,0 +152,0 @@ |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
Unidentified License
License(Experimental) Something that seems like a license was found, but its contents could not be matched with a known license.
Found 1 instance in 1 package
67
0
100
2398
219
142787
6
2
+ Addedjose@5.9.6(transitive)
- Removedjose@4.15.9(transitive)
Updatedjose@^5.2.3