mirror of
https://github.com/jlengrand/elm-language-client-vscode.git
synced 2026-04-04 15:50:14 +00:00
Compare commits
36 Commits
0.5.0
...
add-test-c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c00cc0c450 | ||
|
|
22838b669c | ||
|
|
3e2e52a1a1 | ||
|
|
9ded76fc98 | ||
|
|
28788e723c | ||
|
|
1481344d97 | ||
|
|
49dd002815 | ||
|
|
d657e01d24 | ||
|
|
ce68939204 | ||
|
|
505f1b4bd6 | ||
|
|
be39020307 | ||
|
|
90106b5429 | ||
|
|
2a82d2aaa9 | ||
|
|
547222bd4a | ||
|
|
48530aacc5 | ||
|
|
fffd9aa852 | ||
|
|
0538b06b69 | ||
|
|
6e2ab9242b | ||
|
|
621c51969c | ||
|
|
08e122aa2f | ||
|
|
4b89864b9e | ||
|
|
f973dc56d2 | ||
|
|
0e068f1154 | ||
|
|
f848fb6565 | ||
|
|
e649306dc9 | ||
|
|
4a7dd0a4aa | ||
|
|
1f3a862be8 | ||
|
|
a05bbae522 | ||
|
|
fea0ab6a14 | ||
|
|
70c4ed3e90 | ||
|
|
169702c3f7 | ||
|
|
05a458c422 | ||
|
|
2b680f4737 | ||
|
|
09f6e49a22 | ||
|
|
d4f4f9cb2f | ||
|
|
182401a51c |
27
.github/workflows/compile.yaml
vendored
Normal file
27
.github/workflows/compile.yaml
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
name: Compile
|
||||
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ubuntu-latest, windows-latest, macOS-latest]
|
||||
node-version: [12]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
with:
|
||||
submodules: true
|
||||
- name: Setup node ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
- name: npm ci and compile
|
||||
run: |
|
||||
npm ci
|
||||
npm run compile
|
||||
env:
|
||||
CI: true
|
||||
2
.gitmodules
vendored
2
.gitmodules
vendored
@@ -1,3 +1,3 @@
|
||||
[submodule "server"]
|
||||
path = server
|
||||
url = git@github.com:elm-tooling/elm-language-server.git
|
||||
url = https://github.com/elm-tooling/elm-language-server.git
|
||||
|
||||
5
.vscode/settings.json
vendored
5
.vscode/settings.json
vendored
@@ -5,6 +5,9 @@
|
||||
"typescript.preferences.quoteStyle": "single",
|
||||
"editor.tabSize": 2,
|
||||
"cSpell.words": [
|
||||
"execa"
|
||||
"Jsons",
|
||||
"execa",
|
||||
"globby",
|
||||
"promisify"
|
||||
]
|
||||
}
|
||||
@@ -1,3 +1,5 @@
|
||||
.github/**
|
||||
server/.github/**
|
||||
.vscode/**
|
||||
**/*.ts
|
||||
**/*.map
|
||||
|
||||
66
CHANGELOG.md
66
CHANGELOG.md
@@ -1,5 +1,71 @@
|
||||
# Change Log
|
||||
|
||||
## 0.7.3
|
||||
|
||||
- Fix a case of wrong highlighting
|
||||
|
||||
- Update the language server
|
||||
- Improved completions for type annotations, functions, import and module statements
|
||||
- Fixed a bug where files without imports would not index the virtual imports
|
||||
|
||||
## 0.7.2
|
||||
|
||||
- Update `elm.json` schema to allow `0.19.1` as a version
|
||||
- Renamed extension from `ElmLS` to `Elm`
|
||||
|
||||
- Updated the language server
|
||||
- Add more feedback on init for common errors
|
||||
- Make sure a file without permissions doesn't crash the server
|
||||
- `-v` to print version was not working
|
||||
|
||||
## 0.7.1
|
||||
|
||||
- Updated the language server
|
||||
- Remove completions committing when space is pressed
|
||||
|
||||
## 0.7.0
|
||||
|
||||
- Made elm.json schema completions better and more helpful
|
||||
- Fixed '"' breaking syntax highlighting
|
||||
|
||||
- Updated the language server
|
||||
- Completions should be much nicer to use now
|
||||
- Improved performance for codeLenses
|
||||
- Do not crash when the elm compiler generates invalid json
|
||||
- Fix codeLens bug showing wrong count for types
|
||||
- Print version with `-v` or `--version`
|
||||
|
||||
|
||||
## 0.6.0
|
||||
|
||||
- Reference code lenses are now clickable, try it!
|
||||
|
||||
- Updated the language server
|
||||
- Add elm make code actions for more compiler errors
|
||||
- Various improvements to folding
|
||||
- Process files on init in parallel
|
||||
- Fixed some problems with references not being correct
|
||||
- Fallback to old configuration flow when clients don't support the new one
|
||||
- Get rid of crypto deprecation warnings
|
||||
|
||||
- Updated tree-sitter syntax parsing
|
||||
- Add glsl parsing
|
||||
- Nest if/then/else expressions
|
||||
- Let and in now correctly nest
|
||||
- Change when block_comments are set, should now be better for annotations
|
||||
- End functions/case as early as possible, so they don't include whitespace
|
||||
|
||||
## 0.5.2
|
||||
|
||||
- Updated the language server
|
||||
- Fixed case where elm-format might have stripped the last line from you files
|
||||
|
||||
## 0.5.1
|
||||
|
||||
- Fixed missing dependency on startup
|
||||
- Updated the language server
|
||||
- Fix problem on init on windows systems
|
||||
|
||||
## 0.5.0
|
||||
|
||||
- Added commands for installing and browsing Elm packages
|
||||
|
||||
7
HOW_TO_RELEASE.md
Normal file
7
HOW_TO_RELEASE.md
Normal file
@@ -0,0 +1,7 @@
|
||||
- Update the changelog in `CHANGELOG.md`
|
||||
- Increase the version in `package.json`
|
||||
- Run `npm install`
|
||||
- Run `npm run compile`
|
||||
- Push the code to github and wait for the CI
|
||||
- Run `vsce publish`
|
||||
- Tag the new version on github
|
||||
21
LICENSE
Normal file
21
LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2019 Kolja Lampe
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
64
README.md
64
README.md
@@ -1,32 +1,30 @@
|
||||
# ElmLS
|
||||
|
||||

|
||||
|
||||
This [vscode extension](https://marketplace.visualstudio.com/items?itemName=Elmtooling.elm-ls-vscode) is including the [elm-language-server](https://github.com/elm-tooling/elm-language-server) which enables most of the used features.
|
||||
|
||||
You will need to install `elm` and `elm-test` to get all diagnostics and `elm-format` for formatting. If your setup fails to find the global installations of those, you can use the settings panel in VSCode to set the paths to the executable manually. Alternatively you can also just install these to your local npm `package.json`.
|
||||
|
||||
```shell
|
||||
npm install -g elm elm-test elm-format
|
||||
```
|
||||
|
||||
## Features
|
||||
# Elm Plugin for Visual Studio Code (VSCode)
|
||||
|
||||
Supports elm 0.19
|
||||
|
||||
| Feature | Description |
|
||||
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Diagnostics | Provided via `elm make`, `elm-test` and `elm-analyse` |
|
||||
| Formatting | Provided via `elm-format` and post-processed to only return a diff of changes. This way it should not be as intrusive as running `elm-format` normal |
|
||||
| codeLenses | Currently only shows if a type alias, custom type or function is exposed from that module |
|
||||
| completions | Show completions for the current file and snippets |
|
||||
| definitions | Enables you to jump to the definition of a type alias, module, custom type or function |
|
||||
| documentSymbols | Identifies all symbols in a document. |
|
||||
| folding | Let's you fold the code on certain elm constructs |
|
||||
| hover | Shows type annotations and documentation for a type alias, module, custom type or function |
|
||||
| references | Lists all references to a type alias, module, custom type or function |
|
||||
| rename | Enables you to rename a type alias, module, custom type or function |
|
||||
| workspaceSymbols | Identifies all symbols in the current workspace |
|
||||
## Install
|
||||
|
||||
1. Install VSCode from [here](https://code.visualstudio.com/)
|
||||
2. Follow [this link](https://marketplace.visualstudio.com/items?itemName=Elmtooling.elm-ls-vscode) to install the plugin
|
||||
3. Make sure you have nodejs and therefor npm installed from [here](https://nodejs.org/)
|
||||
4. Install elm-test and elm-format by running `npm install -g elm-test elm-format` from the terminal or commandline
|
||||
|
||||
## Highlighted Features
|
||||
|
||||
- Errors and helpful tips will be shown whenever you save a file (Control + S)
|
||||
- Format on save (Control + S)
|
||||
- Suggests completions and snippets (Control + Space)
|
||||
|
||||
## Additional Features
|
||||
|
||||
- Lists all references to a type alias, module, custom type or function (Alt + Shift + F12)
|
||||
- Jump to the definition of a type alias, module, custom type or function
|
||||
- Shows type annotations and documentation on hover for type alia, module, custom type or function
|
||||
- Rename a type alias, module, custom type or function (F2)
|
||||
- Browse file by symbols (Control + Shift + O)
|
||||
- Browse workspace by symbols (Control + Shift + R)
|
||||
- Codelenses show how many times you calling a function and if it's exposed or not
|
||||
- Code folding
|
||||
|
||||
## Extension Settings
|
||||
|
||||
@@ -38,6 +36,20 @@ This extension contributes the following settings:
|
||||
- `elmLS.elmTestPath`: The path to your elm-test executable.
|
||||
- `elmLS.elmAnalyseTrigger`: When do you want the extension to run elm-analyse? Might need a restart to take effect.
|
||||
|
||||
## FAQ
|
||||
|
||||
- What's the relation to the language server?
|
||||
|
||||
- This [vscode extension](https://marketplace.visualstudio.com/items?itemName=Elmtooling.elm-ls-vscode) is including the [elm-language-server](https://github.com/elm-tooling/elm-language-server) which enables most of the used features.
|
||||
|
||||
- Why do I need to install `elm`, `elm-test` and `elm-format`?
|
||||
|
||||
- You will need to install `elm` and `elm-test` to get all diagnostics and `elm-format` for formatting. If your setup fails to find the global installations of those, you can use the settings panel in VSCode to set the paths to the executable manually. Alternatively you can also just install these to your local npm `package.json`.
|
||||
|
||||
- Can I use an `elm-analyse` config?
|
||||
|
||||
- Yes, you can, please check [here](https://github.com/elm-tooling/elm-language-server#elm-analyse-configuration) for more details.
|
||||
|
||||
## Contributing / Debugging
|
||||
|
||||
```shell
|
||||
|
||||
@@ -1,71 +0,0 @@
|
||||
jobs:
|
||||
- job: Windows
|
||||
pool:
|
||||
name: Hosted VS2017
|
||||
demands: npm
|
||||
steps:
|
||||
- task: NodeTool@0
|
||||
displayName: 'Use Node 8.x'
|
||||
inputs:
|
||||
versionSpec: 8.x
|
||||
- task: Npm@1
|
||||
displayName: 'Install dependencies'
|
||||
inputs:
|
||||
verbose: false
|
||||
- task: Npm@1
|
||||
displayName: 'Compile sources'
|
||||
inputs:
|
||||
command: custom
|
||||
verbose: false
|
||||
customCommand: 'run compile'
|
||||
- script: 'node node_modules/vscode/bin/test'
|
||||
displayName: 'Run tests'
|
||||
- job: macOS
|
||||
pool:
|
||||
name: Hosted macOS
|
||||
demands: npm
|
||||
steps:
|
||||
- task: NodeTool@0
|
||||
displayName: 'Use Node 8.x'
|
||||
inputs:
|
||||
versionSpec: 8.x
|
||||
- task: Npm@1
|
||||
displayName: 'Install dependencies'
|
||||
inputs:
|
||||
verbose: false
|
||||
- task: Npm@1
|
||||
displayName: 'Compile sources'
|
||||
inputs:
|
||||
command: custom
|
||||
verbose: false
|
||||
customCommand: 'run compile'
|
||||
- script: 'node node_modules/vscode/bin/test'
|
||||
displayName: 'Run tests'
|
||||
- job: Linux
|
||||
pool:
|
||||
name: Hosted Ubuntu 1604
|
||||
demands: npm
|
||||
steps:
|
||||
- task: NodeTool@0
|
||||
displayName: 'Use Node 8.x'
|
||||
inputs:
|
||||
versionSpec: 8.x
|
||||
- task: Npm@1
|
||||
displayName: 'Install dependencies'
|
||||
inputs:
|
||||
verbose: false
|
||||
- task: Npm@1
|
||||
displayName: 'Compile sources'
|
||||
inputs:
|
||||
command: custom
|
||||
verbose: false
|
||||
customCommand: 'run compile'
|
||||
- script: |
|
||||
set -e
|
||||
/usr/bin/Xvfb :10 -ac >> /tmp/Xvfb.out 2>&1 &
|
||||
disown -ar
|
||||
displayName: 'Start xvfb'
|
||||
- script: 'node node_modules/vscode/bin/test'
|
||||
displayName: 'Run tests'
|
||||
env:
|
||||
DISPLAY: :10
|
||||
56
client/package-lock.json
generated
56
client/package-lock.json
generated
@@ -11,15 +11,15 @@
|
||||
"dev": true
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "12.7.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.1.tgz",
|
||||
"integrity": "sha512-aK9jxMypeSrhiYofWWBf/T7O+KwaiAHzM4sveCdWPn71lzUSMimRnKzhXDKfKwV1kWoBo2P1aGgaIYGLf9/ljw==",
|
||||
"version": "12.7.8",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.8.tgz",
|
||||
"integrity": "sha512-FMdVn84tJJdV+xe+53sYiZS4R5yn1mAIxfj+DVoNiQjTYz1+OYmjwEZr1ev9nU0axXwda0QDbYl06QHanRVH3A==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/request": {
|
||||
"version": "2.48.2",
|
||||
"resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.2.tgz",
|
||||
"integrity": "sha512-gP+PSFXAXMrd5PcD7SqHeUjdGshAI8vKQ3+AvpQr3ht9iQea+59LOKvKITcQI+Lg+1EIkDP6AFSBUJPWG8GDyA==",
|
||||
"version": "2.48.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.3.tgz",
|
||||
"integrity": "sha512-3Wo2jNYwqgXcIz/rrq18AdOZUQB8cQ34CXZo+LUwPJNpvRAL86+Kc2wwI8mqpz9Cr1V+enIox5v+WZhy/p3h8w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/caseless": "*",
|
||||
@@ -35,9 +35,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"@types/vscode": {
|
||||
"version": "1.37.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.37.0.tgz",
|
||||
"integrity": "sha512-PRfeuqYuzk3vjf+puzxltIUWC+AhEGYpFX29/37w30DQSQnpf5AgMVf7GDBAdmTbWTBou+EMFz/Ne6XCM/KxzQ==",
|
||||
"version": "1.40.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.40.0.tgz",
|
||||
"integrity": "sha512-5kEIxL3qVRkwhlMerxO7XuMffa+0LBl+iG2TcRa0NsdoeSFLkt/9hJ02jsi/Kvc6y8OVF2N2P2IHP5S4lWf/5w==",
|
||||
"dev": true
|
||||
},
|
||||
"agent-base": {
|
||||
@@ -117,9 +117,9 @@
|
||||
}
|
||||
},
|
||||
"form-data": {
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.0.tgz",
|
||||
"integrity": "sha512-WXieX3G/8side6VIqx44ablyULoGruSde5PNTxoUyo5CeyAMX6nVWUd0rgist/EuX655cjhUhTo1Fo3tRYqbcA==",
|
||||
"version": "2.5.1",
|
||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz",
|
||||
"integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"asynckit": "^0.4.0",
|
||||
@@ -134,9 +134,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"glob": {
|
||||
"version": "7.1.4",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
|
||||
"integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
|
||||
"version": "7.1.6",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
|
||||
"integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fs.realpath": "^1.0.0",
|
||||
@@ -158,9 +158,9 @@
|
||||
}
|
||||
},
|
||||
"https-proxy-agent": {
|
||||
"version": "2.2.2",
|
||||
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.2.tgz",
|
||||
"integrity": "sha512-c8Ndjc9Bkpfx/vCJueCPy0jlP4ccCCSNDp8xwCZzPjKJUm+B+u9WX2x98Qx4n1PiMNTWo3D7KK5ifNV/yJyRzg==",
|
||||
"version": "2.2.4",
|
||||
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz",
|
||||
"integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"agent-base": "^4.3.0",
|
||||
@@ -229,9 +229,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"rimraf": {
|
||||
"version": "2.6.3",
|
||||
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
|
||||
"integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
|
||||
"version": "2.7.1",
|
||||
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
|
||||
"integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"glob": "^7.1.3"
|
||||
@@ -242,6 +242,12 @@
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
|
||||
"integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg=="
|
||||
},
|
||||
"typescript": {
|
||||
"version": "3.7.2",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.2.tgz",
|
||||
"integrity": "sha512-ml7V7JfiN2Xwvcer+XAf2csGO1bPBdRbFCkYBczNZggrBZ9c7G3riSUeJmqEU5uOtXNPMhE3n+R4FA/3YOAWOQ==",
|
||||
"dev": true
|
||||
},
|
||||
"vscode-jsonrpc": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-4.0.0.tgz",
|
||||
@@ -271,13 +277,13 @@
|
||||
"integrity": "sha512-lTmS6AlAlMHOvPQemVwo3CezxBp0sNB95KNPkqp3Nxd5VFEnuG1ByM0zlRWos0zjO3ZWtkvhal0COgiV1xIA4A=="
|
||||
},
|
||||
"vscode-test": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/vscode-test/-/vscode-test-1.2.0.tgz",
|
||||
"integrity": "sha512-aowqgc8gZe0eflzVUXsBjBrlsJ8eC35kfgfSEeHu9PKA1vQKm/3rVK43TlbxGue8hKtZBElNAJ5QuYklR/vLJA==",
|
||||
"version": "1.2.3",
|
||||
"resolved": "https://registry.npmjs.org/vscode-test/-/vscode-test-1.2.3.tgz",
|
||||
"integrity": "sha512-mKRTNso33NaUULiPBFg6zRjyntjcCpIgkrogyPQuKlvoQREQR8jLKN5UD4L5rkTSD+oBhcKtaLR2/g34FexURw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"http-proxy-agent": "^2.1.0",
|
||||
"https-proxy-agent": "^2.2.1",
|
||||
"https-proxy-agent": "^2.2.4",
|
||||
"rimraf": "^2.6.3"
|
||||
}
|
||||
},
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "elm-language-client-vscode",
|
||||
"description": "VSCode client for the elm language server",
|
||||
"description": "VSCode client for Elm",
|
||||
"author": "Kolja Lampe",
|
||||
"publisher": "elmTooling",
|
||||
"license": "MIT",
|
||||
@@ -12,12 +12,16 @@
|
||||
"engines": {
|
||||
"vscode": "^1.37.0"
|
||||
},
|
||||
"scripts": {
|
||||
"compile": "tsc -p ./"
|
||||
},
|
||||
"dependencies": {
|
||||
"vscode-languageclient": "^5.2.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/request": "^2.48.2",
|
||||
"@types/vscode": "^1.37.0",
|
||||
"vscode-test": "^1.2.0"
|
||||
"@types/request": "^2.48.3",
|
||||
"@types/vscode": "^1.40.0",
|
||||
"vscode-test": "^1.2.3",
|
||||
"typescript": "3.7.2"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,9 +54,9 @@ function getJSON(): Thenable<any[]> {
|
||||
|
||||
function getInstallPackageCommand(packageToInstall: string): string {
|
||||
const config: vscode.WorkspaceConfiguration = vscode.workspace.getConfiguration(
|
||||
"ElmLS",
|
||||
"elmLS",
|
||||
);
|
||||
let t: string = config.get("elmLS.elmPath") as string;
|
||||
let t: string = config.get("elmPath") as string;
|
||||
t = t || "elm";
|
||||
|
||||
return t + " install " + packageToInstall;
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
import * as path from "path";
|
||||
import {
|
||||
CancellationToken,
|
||||
CodeLens,
|
||||
commands,
|
||||
ExtensionContext,
|
||||
Location,
|
||||
OutputChannel,
|
||||
Position,
|
||||
ProviderResult,
|
||||
Range,
|
||||
TextDocument,
|
||||
Uri,
|
||||
window as Window,
|
||||
@@ -12,6 +19,8 @@ import {
|
||||
import {
|
||||
LanguageClient,
|
||||
LanguageClientOptions,
|
||||
Middleware,
|
||||
ResolveCodeLensSignature,
|
||||
RevealOutputChannelOn,
|
||||
TransportKind,
|
||||
} from "vscode-languageclient";
|
||||
@@ -29,6 +38,7 @@ export interface IClientSettings {
|
||||
}
|
||||
|
||||
const clients: Map<string, LanguageClient> = new Map();
|
||||
let elmCommandsRegistered: boolean = false;
|
||||
|
||||
let sortedWorkspaceFolders: string[] | undefined;
|
||||
|
||||
@@ -92,7 +102,7 @@ export async function activate(context: ExtensionContext) {
|
||||
if (!clients.has(folder.uri.toString())) {
|
||||
const relativeWorkspace = folder.name;
|
||||
const outputChannel: OutputChannel = Window.createOutputChannel(
|
||||
relativeWorkspace.length > 1 ? `elmLS (${relativeWorkspace})` : "elmLS",
|
||||
relativeWorkspace.length > 1 ? `Elm (${relativeWorkspace})` : "Elm",
|
||||
);
|
||||
|
||||
const debugOptions = {
|
||||
@@ -107,7 +117,7 @@ export async function activate(context: ExtensionContext) {
|
||||
run: { module, transport: TransportKind.ipc },
|
||||
};
|
||||
const clientOptions: LanguageClientOptions = {
|
||||
diagnosticCollectionName: "elmLS",
|
||||
diagnosticCollectionName: "Elm",
|
||||
documentSelector: [
|
||||
{
|
||||
language: "elm",
|
||||
@@ -126,21 +136,26 @@ export async function activate(context: ExtensionContext) {
|
||||
},
|
||||
}
|
||||
: {},
|
||||
middleware: new CodeLensResolver(),
|
||||
outputChannel,
|
||||
revealOutputChannelOn: RevealOutputChannelOn.Never,
|
||||
workspaceFolder: folder,
|
||||
};
|
||||
const client = new LanguageClient(
|
||||
"elmLS",
|
||||
"Elm Language Server",
|
||||
"Elm",
|
||||
serverOptions,
|
||||
clientOptions,
|
||||
);
|
||||
client.start();
|
||||
clients.set(folder.uri.toString(), client);
|
||||
}
|
||||
if (elmCommandsRegistered) {
|
||||
registerElmCommand("elmLS.runTests", context);
|
||||
registerElmCommand("elmLS.runTestsCurrentFile", context);
|
||||
elmCommandsRegistered = true;
|
||||
}
|
||||
}
|
||||
|
||||
Workspace.onDidOpenTextDocument(didOpenTextDocument);
|
||||
Workspace.textDocuments.forEach(didOpenTextDocument);
|
||||
Workspace.onDidChangeWorkspaceFolders(event => {
|
||||
@@ -157,6 +172,36 @@ export async function activate(context: ExtensionContext) {
|
||||
packageDisposables.forEach(d => context.subscriptions.push(d));
|
||||
}
|
||||
|
||||
async function registerElmCommand(command: string, context: ExtensionContext) {
|
||||
const editorCmd = commands.registerTextEditorCommand(
|
||||
command,
|
||||
(editor, edit) => {
|
||||
const cmd = {
|
||||
arguments: [
|
||||
{
|
||||
file: editor.document.uri.toString(),
|
||||
pos: editor.selections[0].active,
|
||||
},
|
||||
],
|
||||
command,
|
||||
};
|
||||
// Get the current file and workspace folder.
|
||||
const uri = editor.document.uri;
|
||||
const folder = Workspace.getWorkspaceFolder(uri);
|
||||
// If there is a client registered for this workspace, use that client.
|
||||
if (folder !== undefined && clients.has(folder.uri.toString())) {
|
||||
const client = clients.get(folder.uri.toString());
|
||||
if (client !== undefined) {
|
||||
client.sendRequest("workspace/executeCommand", cmd).then(_ => {
|
||||
return true;
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
);
|
||||
context.subscriptions.push(editorCmd);
|
||||
}
|
||||
|
||||
export function deactivate(): Thenable<void> | undefined {
|
||||
const promises: Array<Thenable<void>> = [];
|
||||
for (const client of clients.values()) {
|
||||
@@ -164,3 +209,66 @@ export function deactivate(): Thenable<void> | undefined {
|
||||
}
|
||||
return Promise.all(promises).then(() => undefined);
|
||||
}
|
||||
|
||||
export class CodeLensResolver implements Middleware {
|
||||
public resolveCodeLens(
|
||||
codeLens: CodeLens,
|
||||
token: CancellationToken,
|
||||
next: ResolveCodeLensSignature,
|
||||
): ProviderResult<CodeLens> {
|
||||
const resolvedCodeLens = next(codeLens, token);
|
||||
const resolveFunc = (codeLensToFix: CodeLens): CodeLens => {
|
||||
if (
|
||||
codeLensToFix &&
|
||||
codeLensToFix.command &&
|
||||
codeLensToFix.command.command === "editor.action.showReferences" &&
|
||||
codeLensToFix.command.arguments
|
||||
) {
|
||||
const oldArgs = codeLensToFix.command.arguments;
|
||||
|
||||
// Our JSON objects don't get handled correctly by
|
||||
// VS Code's built in editor.action.showReferences
|
||||
// command so we need to convert them into the
|
||||
// appropriate types to send them as command
|
||||
// arguments.
|
||||
|
||||
codeLensToFix.command.arguments = [
|
||||
Uri.parse(oldArgs[0].uri),
|
||||
new Position(
|
||||
oldArgs[0].range.start.line,
|
||||
oldArgs[0].range.start.character,
|
||||
),
|
||||
oldArgs[0].references.map(
|
||||
(position: {
|
||||
uri: string;
|
||||
range: {
|
||||
start: { line: number; character: number };
|
||||
end: { line: number; character: number };
|
||||
};
|
||||
}) => {
|
||||
return new Location(
|
||||
Uri.parse(position.uri),
|
||||
new Range(
|
||||
position.range.start.line,
|
||||
position.range.start.character,
|
||||
position.range.end.line,
|
||||
position.range.end.character,
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
];
|
||||
}
|
||||
|
||||
return codeLensToFix;
|
||||
};
|
||||
|
||||
if ((resolvedCodeLens as Thenable<CodeLens>).then) {
|
||||
return (resolvedCodeLens as Thenable<CodeLens>).then(resolveFunc);
|
||||
} else if (resolvedCodeLens as CodeLens) {
|
||||
return resolveFunc(resolvedCodeLens as CodeLens);
|
||||
}
|
||||
|
||||
return resolvedCodeLens;
|
||||
}
|
||||
}
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 661 KiB |
293
package-lock.json
generated
293
package-lock.json
generated
@@ -1,22 +1,22 @@
|
||||
{
|
||||
"name": "elm-ls-vscode",
|
||||
"version": "0.5.0",
|
||||
"version": "0.7.3",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
"@babel/code-frame": {
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz",
|
||||
"integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==",
|
||||
"version": "7.5.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
|
||||
"integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/highlight": "^7.0.0"
|
||||
}
|
||||
},
|
||||
"@babel/highlight": {
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz",
|
||||
"integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==",
|
||||
"version": "7.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz",
|
||||
"integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"chalk": "^2.0.0",
|
||||
@@ -24,32 +24,76 @@
|
||||
"js-tokens": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"@types/jest": {
|
||||
"version": "24.0.18",
|
||||
"resolved": "https://registry.npmjs.org/@types/jest/-/jest-24.0.18.tgz",
|
||||
"integrity": "sha512-jcDDXdjTcrQzdN06+TSVsPPqxvsZA/5QkYfIZlq1JMw7FdP5AZylbOc+6B/cuDurctRe+MziUMtQ3xQdrbjqyQ==",
|
||||
"@jest/types": {
|
||||
"version": "24.9.0",
|
||||
"resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz",
|
||||
"integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/jest-diff": "*"
|
||||
"@types/istanbul-lib-coverage": "^2.0.0",
|
||||
"@types/istanbul-reports": "^1.1.1",
|
||||
"@types/yargs": "^13.0.0"
|
||||
}
|
||||
},
|
||||
"@types/jest-diff": {
|
||||
"version": "20.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/jest-diff/-/jest-diff-20.0.1.tgz",
|
||||
"integrity": "sha512-yALhelO3i0hqZwhjtcr6dYyaLoCHbAMshwtj6cGxTvHZAKXHsYGdff6E8EPw3xLKY0ELUTQ69Q1rQiJENnccMA==",
|
||||
"@types/istanbul-lib-coverage": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz",
|
||||
"integrity": "sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/istanbul-lib-report": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz",
|
||||
"integrity": "sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/istanbul-lib-coverage": "*"
|
||||
}
|
||||
},
|
||||
"@types/istanbul-reports": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz",
|
||||
"integrity": "sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/istanbul-lib-coverage": "*",
|
||||
"@types/istanbul-lib-report": "*"
|
||||
}
|
||||
},
|
||||
"@types/jest": {
|
||||
"version": "24.0.23",
|
||||
"resolved": "https://registry.npmjs.org/@types/jest/-/jest-24.0.23.tgz",
|
||||
"integrity": "sha512-L7MBvwfNpe7yVPTXLn32df/EK+AMBFAFvZrRuArGs7npEWnlziUXK+5GMIUTI4NIuwok3XibsjXCs5HxviYXjg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"jest-diff": "^24.3.0"
|
||||
}
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "12.7.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.1.tgz",
|
||||
"integrity": "sha512-aK9jxMypeSrhiYofWWBf/T7O+KwaiAHzM4sveCdWPn71lzUSMimRnKzhXDKfKwV1kWoBo2P1aGgaIYGLf9/ljw==",
|
||||
"version": "12.12.12",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.12.tgz",
|
||||
"integrity": "sha512-MGuvYJrPU0HUwqF7LqvIj50RZUX23Z+m583KBygKYUZLlZ88n6w28XRNJRJgsHukLEnLz6w6SvxZoLgbr5wLqQ==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/yargs": {
|
||||
"version": "13.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.3.tgz",
|
||||
"integrity": "sha512-K8/LfZq2duW33XW/tFwEAfnZlqIfVsoyRB3kfXdPXYhl0nfM8mmh7GS0jg7WrX2Dgq/0Ha/pR1PaR+BvmWwjiQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/yargs-parser": "*"
|
||||
}
|
||||
},
|
||||
"@types/yargs-parser": {
|
||||
"version": "13.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-13.1.0.tgz",
|
||||
"integrity": "sha512-gCubfBUZ6KxzoibJ+SCUc/57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg==",
|
||||
"dev": true
|
||||
},
|
||||
"ajv": {
|
||||
"version": "6.10.2",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
|
||||
"integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fast-deep-equal": "^2.0.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
@@ -57,6 +101,12 @@
|
||||
"uri-js": "^4.2.2"
|
||||
}
|
||||
},
|
||||
"ansi-regex": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
|
||||
"integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
|
||||
"dev": true
|
||||
},
|
||||
"ansi-styles": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
|
||||
@@ -79,7 +129,6 @@
|
||||
"version": "0.2.4",
|
||||
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
|
||||
"integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"safer-buffer": "~2.1.0"
|
||||
}
|
||||
@@ -87,26 +136,22 @@
|
||||
"assert-plus": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
|
||||
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
|
||||
"dev": true
|
||||
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
|
||||
},
|
||||
"asynckit": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
||||
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
|
||||
"dev": true
|
||||
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
|
||||
},
|
||||
"aws-sign2": {
|
||||
"version": "0.7.0",
|
||||
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
|
||||
"integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
|
||||
"dev": true
|
||||
"integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
|
||||
},
|
||||
"aws4": {
|
||||
"version": "1.8.0",
|
||||
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
|
||||
"integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
|
||||
"dev": true
|
||||
"integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
|
||||
},
|
||||
"balanced-match": {
|
||||
"version": "1.0.0",
|
||||
@@ -118,7 +163,6 @@
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
|
||||
"integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"tweetnacl": "^0.14.3"
|
||||
}
|
||||
@@ -142,8 +186,7 @@
|
||||
"caseless": {
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
|
||||
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
|
||||
"dev": true
|
||||
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
|
||||
},
|
||||
"chalk": {
|
||||
"version": "2.4.2",
|
||||
@@ -175,15 +218,14 @@
|
||||
"version": "1.0.8",
|
||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
||||
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"delayed-stream": "~1.0.0"
|
||||
}
|
||||
},
|
||||
"commander": {
|
||||
"version": "2.20.0",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
|
||||
"integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==",
|
||||
"version": "2.20.3",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
|
||||
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
|
||||
"dev": true
|
||||
},
|
||||
"concat-map": {
|
||||
@@ -195,14 +237,12 @@
|
||||
"core-util-is": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
|
||||
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
|
||||
"dev": true
|
||||
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
|
||||
},
|
||||
"dashdash": {
|
||||
"version": "1.14.1",
|
||||
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
|
||||
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"assert-plus": "^1.0.0"
|
||||
}
|
||||
@@ -210,20 +250,24 @@
|
||||
"delayed-stream": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
|
||||
"dev": true
|
||||
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
|
||||
},
|
||||
"diff": {
|
||||
"version": "3.5.0",
|
||||
"resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
|
||||
"integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz",
|
||||
"integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==",
|
||||
"dev": true
|
||||
},
|
||||
"diff-sequences": {
|
||||
"version": "24.9.0",
|
||||
"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz",
|
||||
"integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==",
|
||||
"dev": true
|
||||
},
|
||||
"ecc-jsbn": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
|
||||
"integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"jsbn": "~0.1.0",
|
||||
"safer-buffer": "^2.1.0"
|
||||
@@ -252,28 +296,25 @@
|
||||
"dev": true
|
||||
},
|
||||
"esutils": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
|
||||
"integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
|
||||
"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
|
||||
"dev": true
|
||||
},
|
||||
"extend": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
|
||||
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
|
||||
"dev": true
|
||||
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
|
||||
},
|
||||
"extsprintf": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
|
||||
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
|
||||
"dev": true
|
||||
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
|
||||
},
|
||||
"fast-deep-equal": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
|
||||
"integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
|
||||
"dev": true
|
||||
"integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
|
||||
},
|
||||
"fast-diff": {
|
||||
"version": "1.2.0",
|
||||
@@ -284,20 +325,17 @@
|
||||
"fast-json-stable-stringify": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
|
||||
"integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
|
||||
"dev": true
|
||||
"integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
|
||||
},
|
||||
"forever-agent": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
|
||||
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
|
||||
"dev": true
|
||||
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
|
||||
},
|
||||
"form-data": {
|
||||
"version": "2.3.3",
|
||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
|
||||
"integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"asynckit": "^0.4.0",
|
||||
"combined-stream": "^1.0.6",
|
||||
@@ -314,15 +352,14 @@
|
||||
"version": "0.1.7",
|
||||
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
|
||||
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"assert-plus": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"glob": {
|
||||
"version": "7.1.4",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
|
||||
"integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
|
||||
"version": "7.1.5",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.5.tgz",
|
||||
"integrity": "sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fs.realpath": "^1.0.0",
|
||||
@@ -336,14 +373,12 @@
|
||||
"har-schema": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
|
||||
"integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
|
||||
"dev": true
|
||||
"integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
|
||||
},
|
||||
"har-validator": {
|
||||
"version": "5.1.3",
|
||||
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
|
||||
"integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ajv": "^6.5.5",
|
||||
"har-schema": "^2.0.0"
|
||||
@@ -359,7 +394,6 @@
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
|
||||
"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"assert-plus": "^1.0.0",
|
||||
"jsprim": "^1.2.2",
|
||||
@@ -391,14 +425,24 @@
|
||||
"is-typedarray": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
|
||||
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
|
||||
"dev": true
|
||||
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
|
||||
},
|
||||
"isstream": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
|
||||
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
|
||||
"dev": true
|
||||
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
|
||||
},
|
||||
"jest-diff": {
|
||||
"version": "24.9.0",
|
||||
"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz",
|
||||
"integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"chalk": "^2.0.1",
|
||||
"diff-sequences": "^24.9.0",
|
||||
"jest-get-type": "^24.9.0",
|
||||
"pretty-format": "^24.9.0"
|
||||
}
|
||||
},
|
||||
"jest-docblock": {
|
||||
"version": "21.2.0",
|
||||
@@ -406,6 +450,12 @@
|
||||
"integrity": "sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw==",
|
||||
"dev": true
|
||||
},
|
||||
"jest-get-type": {
|
||||
"version": "24.9.0",
|
||||
"resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz",
|
||||
"integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==",
|
||||
"dev": true
|
||||
},
|
||||
"js-tokens": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
|
||||
@@ -425,32 +475,27 @@
|
||||
"jsbn": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
|
||||
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
|
||||
"dev": true
|
||||
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
|
||||
},
|
||||
"json-schema": {
|
||||
"version": "0.2.3",
|
||||
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
|
||||
"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
|
||||
"dev": true
|
||||
"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
|
||||
},
|
||||
"json-schema-traverse": {
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
|
||||
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
|
||||
"dev": true
|
||||
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
|
||||
},
|
||||
"json-stringify-safe": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
|
||||
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
|
||||
"dev": true
|
||||
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
|
||||
},
|
||||
"jsprim": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
|
||||
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"assert-plus": "1.0.0",
|
||||
"extsprintf": "1.3.0",
|
||||
@@ -467,14 +512,12 @@
|
||||
"mime-db": {
|
||||
"version": "1.40.0",
|
||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
|
||||
"integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==",
|
||||
"dev": true
|
||||
"integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA=="
|
||||
},
|
||||
"mime-types": {
|
||||
"version": "2.1.24",
|
||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
|
||||
"integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"mime-db": "1.40.0"
|
||||
}
|
||||
@@ -506,8 +549,7 @@
|
||||
"oauth-sign": {
|
||||
"version": "0.9.0",
|
||||
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
|
||||
"integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
|
||||
"dev": true
|
||||
"integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
|
||||
},
|
||||
"once": {
|
||||
"version": "1.4.0",
|
||||
@@ -533,38 +575,51 @@
|
||||
"performance-now": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
|
||||
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
|
||||
"dev": true
|
||||
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
|
||||
},
|
||||
"prettier": {
|
||||
"version": "1.18.2",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-1.18.2.tgz",
|
||||
"integrity": "sha512-OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw==",
|
||||
"version": "1.19.1",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz",
|
||||
"integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==",
|
||||
"dev": true
|
||||
},
|
||||
"pretty-format": {
|
||||
"version": "24.9.0",
|
||||
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz",
|
||||
"integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@jest/types": "^24.9.0",
|
||||
"ansi-regex": "^4.0.0",
|
||||
"ansi-styles": "^3.2.0",
|
||||
"react-is": "^16.8.4"
|
||||
}
|
||||
},
|
||||
"psl": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/psl/-/psl-1.3.0.tgz",
|
||||
"integrity": "sha512-avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag==",
|
||||
"dev": true
|
||||
"integrity": "sha512-avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag=="
|
||||
},
|
||||
"punycode": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
|
||||
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
|
||||
"dev": true
|
||||
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
|
||||
},
|
||||
"qs": {
|
||||
"version": "6.5.2",
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
|
||||
"integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
|
||||
"integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
|
||||
},
|
||||
"react-is": {
|
||||
"version": "16.12.0",
|
||||
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.12.0.tgz",
|
||||
"integrity": "sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q==",
|
||||
"dev": true
|
||||
},
|
||||
"request": {
|
||||
"version": "2.88.0",
|
||||
"resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
|
||||
"integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"aws-sign2": "~0.7.0",
|
||||
"aws4": "^1.8.0",
|
||||
@@ -589,9 +644,9 @@
|
||||
}
|
||||
},
|
||||
"resolve": {
|
||||
"version": "1.11.1",
|
||||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz",
|
||||
"integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==",
|
||||
"version": "1.12.0",
|
||||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz",
|
||||
"integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"path-parse": "^1.0.6"
|
||||
@@ -600,19 +655,17 @@
|
||||
"safe-buffer": {
|
||||
"version": "5.2.0",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
|
||||
"integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==",
|
||||
"dev": true
|
||||
"integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg=="
|
||||
},
|
||||
"safer-buffer": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
|
||||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
|
||||
"dev": true
|
||||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
||||
},
|
||||
"semver": {
|
||||
"version": "5.7.0",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz",
|
||||
"integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==",
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
||||
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
|
||||
"dev": true
|
||||
},
|
||||
"sprintf-js": {
|
||||
@@ -625,7 +678,6 @@
|
||||
"version": "1.16.1",
|
||||
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
|
||||
"integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"asn1": "~0.2.3",
|
||||
"assert-plus": "^1.0.0",
|
||||
@@ -651,7 +703,6 @@
|
||||
"version": "2.4.3",
|
||||
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
|
||||
"integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"psl": "^1.1.24",
|
||||
"punycode": "^1.4.1"
|
||||
@@ -660,8 +711,7 @@
|
||||
"punycode": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
|
||||
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
|
||||
"dev": true
|
||||
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -672,16 +722,16 @@
|
||||
"dev": true
|
||||
},
|
||||
"tslint": {
|
||||
"version": "5.18.0",
|
||||
"resolved": "https://registry.npmjs.org/tslint/-/tslint-5.18.0.tgz",
|
||||
"integrity": "sha512-Q3kXkuDEijQ37nXZZLKErssQVnwCV/+23gFEMROi8IlbaBG6tXqLPQJ5Wjcyt/yHPKBC+hD5SzuGaMora+ZS6w==",
|
||||
"version": "5.20.1",
|
||||
"resolved": "https://registry.npmjs.org/tslint/-/tslint-5.20.1.tgz",
|
||||
"integrity": "sha512-EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/code-frame": "^7.0.0",
|
||||
"builtin-modules": "^1.1.1",
|
||||
"chalk": "^2.3.0",
|
||||
"commander": "^2.12.1",
|
||||
"diff": "^3.2.0",
|
||||
"diff": "^4.0.1",
|
||||
"glob": "^7.1.1",
|
||||
"js-yaml": "^3.13.1",
|
||||
"minimatch": "^3.0.4",
|
||||
@@ -731,7 +781,6 @@
|
||||
"version": "0.6.0",
|
||||
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
|
||||
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"safe-buffer": "^5.0.1"
|
||||
}
|
||||
@@ -739,20 +788,18 @@
|
||||
"tweetnacl": {
|
||||
"version": "0.14.5",
|
||||
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
|
||||
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
|
||||
"dev": true
|
||||
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
|
||||
},
|
||||
"typescript": {
|
||||
"version": "3.5.3",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz",
|
||||
"integrity": "sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==",
|
||||
"version": "3.7.2",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.2.tgz",
|
||||
"integrity": "sha512-ml7V7JfiN2Xwvcer+XAf2csGO1bPBdRbFCkYBczNZggrBZ9c7G3riSUeJmqEU5uOtXNPMhE3n+R4FA/3YOAWOQ==",
|
||||
"dev": true
|
||||
},
|
||||
"uri-js": {
|
||||
"version": "4.2.2",
|
||||
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
|
||||
"integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"punycode": "^2.1.0"
|
||||
}
|
||||
@@ -760,14 +807,12 @@
|
||||
"uuid": {
|
||||
"version": "3.3.3",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz",
|
||||
"integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==",
|
||||
"dev": true
|
||||
"integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ=="
|
||||
},
|
||||
"verror": {
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
|
||||
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"assert-plus": "^1.0.0",
|
||||
"core-util-is": "1.0.2",
|
||||
|
||||
37
package.json
37
package.json
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "elm-ls-vscode",
|
||||
"displayName": "ElmLS",
|
||||
"displayName": "Elm",
|
||||
"description": "Improving your Elm experience since 2019",
|
||||
"publisher": "elmTooling",
|
||||
"icon": "images/elm.png",
|
||||
"author": "Kolja Lampe",
|
||||
"license": "MIT",
|
||||
"version": "0.5.0",
|
||||
"version": "0.7.3",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/elm-tooling/elm-language-client-vscode"
|
||||
@@ -78,11 +78,21 @@
|
||||
"command": "elm.browsePackage",
|
||||
"title": "Browse Package",
|
||||
"category": "Elm"
|
||||
},
|
||||
{
|
||||
"command": "elmLS.runTestsCurrentFile",
|
||||
"title": "Run tests for this file",
|
||||
"category": "Elm"
|
||||
},
|
||||
{
|
||||
"command": "elmLS.runTests",
|
||||
"title": "Run all tests",
|
||||
"category": "Elm"
|
||||
}
|
||||
],
|
||||
"configuration": {
|
||||
"type": "object",
|
||||
"title": "ElmLS",
|
||||
"title": "Elm",
|
||||
"properties": {
|
||||
"elmLS.trace.server": {
|
||||
"scope": "window",
|
||||
@@ -128,23 +138,26 @@
|
||||
}
|
||||
},
|
||||
"scripts": {
|
||||
"vscode:prepublish": "cd client && cd .. && npm run compile",
|
||||
"compile": "tsc -b",
|
||||
"watch": "tsc -b -w",
|
||||
"vscode:prepublish": "npm run compile",
|
||||
"compile": "cd client && npm run compile && cd ../server && npm run compile && cd .. && tsc -b",
|
||||
"watch": "npm run copy-wasm && tsc -b -w",
|
||||
"copy-wasm": "cd server && npm run copy-wasm",
|
||||
"postinstall": "cd client && npm install && cd ../server && npm install && cd ..",
|
||||
"test": "sh ./scripts/e2e.sh",
|
||||
"lint": "tslint -p tsconfig.json",
|
||||
"tslint-check": "tslint-config-prettier-check ./tslint.json"
|
||||
},
|
||||
"dependencies": {
|
||||
"request": "2.88.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/jest": "^24.0.17",
|
||||
"@types/node": "^12.7.1",
|
||||
"prettier": "^1.18.2",
|
||||
"request": "^2.88.0",
|
||||
"tslint": "^5.18.0",
|
||||
"@types/jest": "^24.0.23",
|
||||
"@types/node": "^12.12.12",
|
||||
"prettier": "^1.19.1",
|
||||
"tslint": "^5.20.1",
|
||||
"tslint-config-prettier": "^1.18.0",
|
||||
"tslint-plugin-prettier": "^2.0.1",
|
||||
"tslint-sonarts": "^1.9.0",
|
||||
"typescript": "3.5.3"
|
||||
"typescript": "3.7.2"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,24 +5,42 @@
|
||||
"exactDependency": {
|
||||
"description": "Dependencies are specified by [author name]/[package name]: [exact version].",
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "string"
|
||||
"patternProperties": {
|
||||
"^.+/.+$": {
|
||||
"type": "string",
|
||||
"pattern": "^\\d+\\.\\d+\\.\\d+$"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"propertyNames": {
|
||||
"pattern": "^.+/.+$"
|
||||
}
|
||||
},
|
||||
"rangeDependency": {
|
||||
"description": "Dependencies are specified by [author name]/[package name]: [exact version or range]. Range versions look like: [1.0.0 <= v < 2.0.0].",
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "string"
|
||||
"patternProperties": {
|
||||
"^.+/.+$": {
|
||||
"type": "string",
|
||||
"pattern": "^\\d+\\.\\d+\\.\\d+$|^\\d+\\.\\d+\\.\\d+\\s*(<=|=|<)\\s*v\\s*(<=|=|<)\\s*\\d+\\.\\d+\\.\\d+$"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"propertyNames": {
|
||||
"pattern": "^.+/.+$"
|
||||
}
|
||||
},
|
||||
"version": {
|
||||
"type": "string",
|
||||
"pattern": "^\\d+\\.\\d+\\.\\d+$"
|
||||
},
|
||||
"packageSpecificProperties": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"description": "The name of your package.",
|
||||
"description": "The name of a GitHub repo like 'elm-lang/core' or 'rtfeldman/elm-css'.",
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
"minLength": 3
|
||||
},
|
||||
"license": {
|
||||
"description": "An OSI approved license for your package.",
|
||||
@@ -130,33 +148,33 @@
|
||||
]
|
||||
},
|
||||
"summary": {
|
||||
"description": "A helpful summary of your package, less than 80 characters",
|
||||
"description": "A short summary that will appear on package.elm-lang.org that describes what the package is for. Must be under 80 characters.",
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"maxLength": 79
|
||||
},
|
||||
"version": {
|
||||
"description": "Your package's version in semantic versioning format.",
|
||||
"type": "string",
|
||||
"pattern": "\\d+\\.\\d+\\.\\d+"
|
||||
"description": "All packages start at '1.0.0' and from there, Elm automatically enforces semantic versioning by comparing API changes.",
|
||||
"$ref": "#/definitions/version"
|
||||
},
|
||||
"elm-version": {
|
||||
"description": "The version of elm your package is targeting",
|
||||
"description": "The range of Elm compilers that work with your package. Right now '0.19.0 <= v < 0.20.0' is always what you want for this.",
|
||||
"type": "string"
|
||||
},
|
||||
"exposed-modules": {
|
||||
"description": "All modules that your project will make available to end users.",
|
||||
"type": "object",
|
||||
"items": {
|
||||
"type": "string"
|
||||
"description": "A list of modules that will be exposed to people using your package. The order you list them will be the order they appear on package.elm-lang.org.",
|
||||
"type": ["array", "string", "object"],
|
||||
"additionalProperties": { "type": "array" },
|
||||
"propertyNames": {
|
||||
"pattern": "^[A-Z].*$"
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"description": "A list of elm dependencies that your package needs for in production.",
|
||||
"description": "A list of packages that you depend upon. In each application, there can only be one version of each package, so wide ranges are great. Fewer dependencies is even better though!",
|
||||
"$ref": "#/definitions/rangeDependency"
|
||||
},
|
||||
"test-dependencies": {
|
||||
"description": "A list of elm dependencies that your package uses only for testing.",
|
||||
"description": "Dependencies that are only used in the 'tests/' directory by 'elm-test'. Values from these packages will not appear in any final build artifacts.",
|
||||
"$ref": "#/definitions/rangeDependency"
|
||||
}
|
||||
},
|
||||
@@ -175,20 +193,20 @@
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"source-directories": {
|
||||
"description": "A list of directories that will be used to build your project.",
|
||||
"description": "A list of directories where Elm code lives. Most projects just use 'src' for everything.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"elm-version": {
|
||||
"description": "The version of elm your project is targeting",
|
||||
"description": "The exact version of Elm this builds with. Should be '0.19.1' for most people!",
|
||||
"type": "string",
|
||||
"pattern": "\\d+\\.\\d+\\.\\d+",
|
||||
"enum": ["0.19.0"]
|
||||
"$ref": "#/definitions/version",
|
||||
"enum": ["0.19.0", "0.19.1"]
|
||||
},
|
||||
"dependencies": {
|
||||
"description": "A list of elm dependencies that your project needs for in production.",
|
||||
"description": "All the packages you depend upon. We use exact versions, so your elm.json file doubles as a 'lock file' that ensures reliable builds. \n \n You can use modules from any 'direct' dependency in your code. Some 'direct' dependencies have their own dependencies that folks typically do not care about. These are the 'indirect' dependencies. They are listed explicitly so that (1) builds are reproducible and (2) you can easily review the quantity and quality of dependencies.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"direct": {
|
||||
@@ -201,7 +219,7 @@
|
||||
"required": ["direct", "indirect"]
|
||||
},
|
||||
"test-dependencies": {
|
||||
"description": "A list of elm dependencies that your project uses only for testing.",
|
||||
"description": "All the packages that you use in 'tests/' with 'elm-test' but not in the application you actually want to ship. This also uses exact versions to make tests more reliable.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"direct": {
|
||||
@@ -224,7 +242,7 @@
|
||||
},
|
||||
"properties": {
|
||||
"type": {
|
||||
"description": "Specifies if your project will be a package or an application",
|
||||
"description": "Either 'application' or 'package'. All the other fields are based on this choice.",
|
||||
"type": "string",
|
||||
"enum": ["application", "package"]
|
||||
}
|
||||
|
||||
2
server
2
server
Submodule server updated: cd9c7971c4...6ce009b897
1442
syntaxes/elm.json
1442
syntaxes/elm.json
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user