Merge branch 'main' into patch-1

This commit is contained in:
Matthew Peveler 2024-08-03 12:47:32 -04:00 committed by GitHub
commit 55d9945559
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
55 changed files with 56221 additions and 29372 deletions

View file

@ -44,7 +44,7 @@ parameters:
extends: extends:
template: azure-pipelines/npm-package/pipeline.yml@templates template: azure-pipelines/npm-package/pipeline.yml@templates
parameters: parameters:
cgIgnoreDirectories: $(Build.SourcesDirectory)/dependencies/vscode/extensions cgIgnoreDirectories: $(Build.SourcesDirectory)/dependencies/vscode
npmPackages: npmPackages:
- name: monaco-editor-core - name: monaco-editor-core
workingDirectory: $(Build.SourcesDirectory)/dependencies/vscode/out-monaco-editor-core workingDirectory: $(Build.SourcesDirectory)/dependencies/vscode/out-monaco-editor-core

View file

@ -32,7 +32,7 @@ parameters:
extends: extends:
template: azure-pipelines/npm-package/pipeline.yml@templates template: azure-pipelines/npm-package/pipeline.yml@templates
parameters: parameters:
cgIgnoreDirectories: $(Build.SourcesDirectory)/dependencies/vscode/extensions cgIgnoreDirectories: $(Build.SourcesDirectory)/dependencies/vscode
npmPackages: npmPackages:
- name: monaco-editor-core - name: monaco-editor-core
workingDirectory: $(Build.SourcesDirectory)/dependencies/vscode/out-monaco-editor-core workingDirectory: $(Build.SourcesDirectory)/dependencies/vscode/out-monaco-editor-core

View file

@ -1,29 +0,0 @@
name: Info Needed Closer
on:
schedule:
- cron: 20 12 * * * # 5:20am Redmond
repository_dispatch:
types: [trigger-needs-more-info]
workflow_dispatch:
jobs:
main:
runs-on: ubuntu-latest
steps:
- name: Checkout Actions
uses: actions/checkout@v2
with:
repository: 'microsoft/vscode-github-triage-actions'
path: ./actions
ref: stable
- name: Install Actions
run: npm install --production --prefix ./actions
- name: Run Info Needed Closer
uses: ./actions/needs-more-info-closer
with:
label: info-needed
closeDays: 7
additionalTeam: 'spahnke|rcjsuen'
closeComment: "This issue has been closed automatically because it needs more information and has not had recent activity. See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines.\n\nHappy Coding!"
pingDays: 120
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the problem no longer exists, or adding more information."

View file

@ -1,27 +0,0 @@
name: Locker
on:
schedule:
- cron: 21 23 * * * # 5:20pm Redmond
repository_dispatch:
types: [trigger-locker]
workflow_dispatch:
jobs:
main:
runs-on: ubuntu-latest
steps:
- name: Checkout Actions
uses: actions/checkout@v2
with:
repository: 'microsoft/vscode-github-triage-actions'
path: ./actions
ref: stable
- name: Install Actions
run: npm install --production --prefix ./actions
- name: Run Locker
uses: ./actions/locker
with:
daysSinceClose: 45
appInsightsKey: ${{secrets.TRIAGE_ACTIONS_APP_INSIGHTS}}
daysSinceUpdate: 3
ignoredLabel: '*out-of-scope'

13
.vscode/launch.json vendored
View file

@ -5,7 +5,7 @@
"version": "0.2.0", "version": "0.2.0",
"configurations": [ "configurations": [
{ {
"name": "Monaco Editor Playground", "name": "Monaco Editor Playground (Languages from source, needs 'npm run watch', no JSON/CSS/... workers!)",
"type": "chrome", "type": "chrome",
"request": "launch", "request": "launch",
"url": "https://microsoft.github.io/monaco-editor/playground.html?sourceLanguages=http%3A%2F%2Flocalhost%3A5002%2Fout%2Flanguages%2Famd-tsc", "url": "https://microsoft.github.io/monaco-editor/playground.html?sourceLanguages=http%3A%2F%2Flocalhost%3A5002%2Fout%2Flanguages%2Famd-tsc",
@ -15,6 +15,17 @@
"order": 1 "order": 1
} }
}, },
{
"name": "Monaco Editor Playground (Languages locally bundled, needs 'npm run build')",
"type": "chrome",
"request": "launch",
"url": "https://microsoft.github.io/monaco-editor/playground.html?sourceLanguages=http%3A%2F%2Flocalhost%3A5002%2Fout%2Flanguages%2Fbundled%2Famd-dev%2Fvs",
"preLaunchTask": "Launch Http Server",
"presentation": {
"group": "monaco",
"order": 1
}
},
{ {
"name": "Website", "name": "Website",
"type": "chrome", "type": "chrome",

View file

@ -1,5 +1,45 @@
# Monaco Editor Changelog # Monaco Editor Changelog
## [0.50.0]
- New field `IEditorMinimapOptions.sectionHeaderLetterSpacing`
- New field `IOverlayWidgetPosition.stackOridinal`
- New field `EmitOutput.diagnostics`
- New event `IOverlayWidget.onDidLayout`
- New events `ICodeEditor.onBeginUpdate` and `ICodeEditor.onEndUpdate`
- `HoverVerbosityRequest.action` -> `HoverVerbosityRequest.verbosityDelta`
- `MultiDocumentHighlightProvider.selector` changed from `LanguageFilter` to `LanguageSelector`
- New optional parameters in `getEmitOutput`: `emitOnlyDtsFiles` and `forceDtsEmit`
Contributions to `monaco-editor`:
- [@htcfreek (Heiko)](https://github.com/htcfreek): Add extension to `csp.contribution.ts` [PR #4504](https://github.com/microsoft/monaco-editor/pull/4504)
- [@jakebailey (Jake Bailey)](https://github.com/jakebailey): Call clearFiles on internal EmitOutput diagnostics, pass args down [PR #4482](https://github.com/microsoft/monaco-editor/pull/4482)
- [@johnyanarella (John Yanarella)](https://github.com/johnyanarella): Update TypeScript to TS 5.4.5 in all projects, vendored files [PR #4305](https://github.com/microsoft/monaco-editor/pull/4305)
- [@samstrohkorbatt](https://github.com/samstrohkorbatt): Adding Python f-string syntax support [PR #4401](https://github.com/microsoft/monaco-editor/pull/4401)
## [0.49.0]
- New proposed `editorHoverVerbosityLevel` API
- New proposed `newSymbolNamesProvider` API
Contributions to `monaco-editor`:
- [@timotheeguerin (Timothee Guerin)](https://github.com/timotheeguerin): Add support for TypeSpec language [PR #4450](https://github.com/microsoft/monaco-editor/pull/4450)
## [0.48.0]
### Additions
- Various bug fixes
- Minimap Section Headers (see config option `showRegionSectionHeaders`)
- Diff Editor Gutter Menu (see config option `renderGutterMenu`)
- `InlineCompletionsProvider.handlePartialAccept` has `PartialAcceptInfo`
Contributions to `monaco-editor`:
- [@jeremy-rifkin (Jeremy Rifkin)](https://github.com/jeremy-rifkin): Fix bug with highlighting of C++ raw string literals [PR #4436](https://github.com/microsoft/monaco-editor/pull/4436)
## [0.47.0] ## [0.47.0]
### Additions ### Additions

View file

@ -8,18 +8,26 @@ Make sure every unassigned issue is labeled properly:
## Publishing a stable build monaco-editor build ## Publishing a stable build monaco-editor build
- Make sure there exists a nightly build from the VS Code commit the stable build should be built from - Trigger an rc-build
- [Compare Last Stable With Nightly](https://microsoft.github.io/monaco-editor/playground.html?source=v0.40.0-dev.20230704#XQAAAAJWBgAAAAAAAABBqQkHQ5NjdMjwa-jY7SIQ9S7DNlzs5W-mwj0fe1ZCDRFc9ws9XQE0SJE1jc2VKxhaLFIw9vEWSxW3yscw_SM66BuzMt6m3zM8Thvb-XSMR_Da8IdBq3FOgly-7-xuaHSi_yUg58ZO9Mr-RKT7GyHzHoU8B9N7P-uTzmCdhT2Vv-4gNRbWSMQCUPrfmzFCkSH_WR2Vc8LGx2m0uRSFiJu82B1mS0RM-eriU9PTOqAgBrlPUMTU44VrHyVOqgs5BFrUuUHwGDzUHxeNuUk-kg2u70awQLQ83wD4o2EbSefqfIWkk2Yi0mnUS903tLA4V17MD_6OHIRArunMPL6E14ZCW0_Aql21F62Fmz--i_pNbqBIpSlBbZl6LzA1HzNsoDH7i2rn1qAw55L1MjwOU4QQMCJfffmJznAbGoZWkXK91OPYlOGNHNGG-MPUFsY5JSjLfvCWOvXypW9ZVkBZMo1qUbtE135CLqbaBiw52f3eOPBTru3IL_wT__ciAFI5NDiVOeN8V9zqkzbwiFNeQyZcjxmrDLjYTPJpao0dG61Um0w4FpVud8p77bjoAdEfG8JNO97W4cawj0HvMfvcZS81P7IsijZqA7KyVsdq79iCJQuMO31aS86cM4GTNT0TvdI7p62uiEmm9X6ZjF8oSLxW87Vt0oYAZ5wBePqdN6FwNO6BWACt2Ep9i5Q6h-mOy7_JWOiPTOH0Zz3v6SaNhjxJwZAqNG3FqvRTgLg-au-pfa8PD0No3U15UyWeqrVXSthGFghLJ16ppEwFCqFfQ6Vr0leZtSZXyk41-t5ZKMG-KQjzq1XE2PnuyOz60nV4GaYvGlMHrXz-XrEqb2kwNf_pBee0) - Go to https://github.com/microsoft/vscode/tree/release/1.89 (use latest VS Code version instead of .89!) and copy the id of the latest commit
- Update [package.json](./package.json) - Go to https://dev.azure.com/monacotools/Monaco/_build?definitionId=421 and click on "Run pipeline"
- set `version` to next stable - Use the copied commit id for `The VS Code commit id.`
- set `vscodeRef` to _vscodeCommitId_ - Use `rc` for `The prerelease version.`
- update `devDependencies.monaco-editor-core` to _version_ - Wait until pipeline completes
- Run `npm install` to update lockfile - [Compare Last Stable With Nightly](https://microsoft.github.io/monaco-editor/playground.html?source=v0.40.0-dev.20230704#XQAAAAIGBwAAAAAAAABBqQkHQ5NjdMjwa-jY7SIQ9S7DNlzs5W-mwj0fe1ZCDRFc9ws9XQE0SJE1jc2VKxhaLFIw9vEWSxW3yscxAWG5G70rT-mLieOxDi0igaBcv2nRy9q6wT9hrC3N47TPeSd0URO3iwn_firHxVGLm2_8QMEuG2aOJ-jnXkHfLAawVi9XJdfEkOLYHqAT78XFdClh7HNBHFpSfLkCNQ3vE811FAdf6WYL_UK2n1jfGRMcnWqaztoAOTcWNn5qQ9RusryNfDBRqtjOJktItFKSNuOcLg104A0xatH8uXcfAULeE9RZRf41YqC9wbcZDEp7Mnul26YzW_IBv-vL-EGPcEFiu34YZPHQguQiuU8L4VXh7uAtKRWehN9N2m2XFF3yHCBpSGiN8qmBi4HSBRjbhkEKka_icj87t3Lfmg15PMqKgTr7l73XusvkQCZDvqumlN-mcVTZiIdD51m-OFugmn0Cq_ZPU2zq45rRtk1he8PcWiZpPSbCknJsHs4D-mKcc-ypq6CLYlqO8Cvc5lRWzwD-pG6e6uPAQsRAOJ45-mySqhRo_MGJ7aLfkhe7fVn9OvOm6BRsDAYmNVZqpA5aKJzwjeUwQqHwV8CW-b4hrZooiPavu8m2XgbiSW_5nmzbjQ-SaPnBsJxcAewWB_NiYiU3H_Gfhi8K0qQZlBxaetqYX5Ns1Ww6S_By4izRxeEln7McyDQxKk-tnywSCklMhZPiMaR0AZsXs5DQSxGTlB5q61e7Wtxb0RLdk5einYvNwXDooi5Vi5go_ZsO7JYmzylxi-T_hdsPgKNoy6j9IVh5BZb_HgRoaGCrojOWJdYpNNrPJJG_1fyZ8Bk80eYNmHHPJ7Q-pdXqQuAZBdd9Grv4UfXoY1R3Sl529QkIjEHTzgzYGn4C5KE5IGhEfu49Ugy0fFHU-yJGY__aPECJ)
- Update [CHANGELOG.md](./CHANGELOG.md) - Check the metadata and verify that the last stable is on the left and the the last rc build is on the right
- API Changes / Breaking Changes / New and noteworthy - Update [package.json](./package.json)
- Thank you ([use this tool](https://tools.code.visualstudio.com/acknowledgement)) - set `version` to _lastNightly.nextStableVersion_ (from the compare step)
- Commit - set `vscodeRef` to _lastNightly.vscodeCommitId_
- [Trigger build](https://dev.azure.com/monacotools/Monaco/_build?definitionId=416) - update `devDependencies.monaco-editor-core` to _lastNightly.currentVersion_
- Run `npm install` to update lockfile
- Update [CHANGELOG.md](./CHANGELOG.md)
- API Changes / Breaking Changes / New and noteworthy (use the diff from the compare step)
- Add thank you mentions ([use this tool](https://tools.code.visualstudio.com/acknowledgement) and select only the monaco-editor)
- Commit & Create PR
- [Trigger build](https://dev.azure.com/monacotools/Monaco/_build?definitionId=416) once merged. Tick the following checkboxes:
- Publish Monaco Editor Core
- Publish Monaco Editor
#### Publish new webpack plugin #### Publish new webpack plugin

248
package-lock.json generated
View file

@ -1,12 +1,12 @@
{ {
"name": "monaco-editor", "name": "monaco-editor",
"version": "0.47.0", "version": "0.50.0",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "monaco-editor", "name": "monaco-editor",
"version": "0.47.0", "version": "0.50.0",
"hasInstallScript": true, "hasInstallScript": true,
"license": "MIT", "license": "MIT",
"devDependencies": { "devDependencies": {
@ -25,7 +25,7 @@
"jsdom": "^19.0.0", "jsdom": "^19.0.0",
"jsonc-parser": "^3.0.0", "jsonc-parser": "^3.0.0",
"mocha": "^9.2.0", "mocha": "^9.2.0",
"monaco-editor-core": "0.48.0-dev-20240320", "monaco-editor-core": "0.51.0-dev-20240725",
"parcel": "^2.7.0", "parcel": "^2.7.0",
"pin-github-action": "^1.8.0", "pin-github-action": "^1.8.0",
"playwright": "^1.32.2", "playwright": "^1.32.2",
@ -36,14 +36,14 @@
"style-loader": "^3.3.1", "style-loader": "^3.3.1",
"terser": "^5.14.2", "terser": "^5.14.2",
"ts-node": "^10.6.0", "ts-node": "^10.6.0",
"typescript": "^5.0.2", "typescript": "^5.4.5",
"vite": "^3.2.8", "vite": "^3.2.8",
"vscode-css-languageservice": "5.4.1", "vscode-css-languageservice": "6.2.14",
"vscode-html-languageservice": "4.2.4", "vscode-html-languageservice": "5.2.0",
"vscode-json-languageservice": "4.2.1", "vscode-json-languageservice": "5.3.11",
"vscode-languageserver-textdocument": "^1.0.4", "vscode-languageserver-textdocument": "^1.0.11",
"vscode-languageserver-types": "3.16.0", "vscode-languageserver-types": "3.17.5",
"vscode-uri": "3.0.3", "vscode-uri": "3.0.8",
"webpack": "^5.76.0", "webpack": "^5.76.0",
"yaserver": "^0.4.0" "yaserver": "^0.4.0"
} }
@ -2323,6 +2323,12 @@
"integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==",
"dev": true "dev": true
}, },
"node_modules/@vscode/l10n": {
"version": "0.0.18",
"resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.18.tgz",
"integrity": "sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==",
"dev": true
},
"node_modules/@webassemblyjs/ast": { "node_modules/@webassemblyjs/ast": {
"version": "1.11.1", "version": "1.11.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
@ -2765,12 +2771,12 @@
} }
}, },
"node_modules/braces": { "node_modules/braces": {
"version": "3.0.2", "version": "3.0.3",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"fill-range": "^7.0.1" "fill-range": "^7.1.1"
}, },
"engines": { "engines": {
"node": ">=8" "node": ">=8"
@ -4136,9 +4142,9 @@
} }
}, },
"node_modules/fill-range": { "node_modules/fill-range": {
"version": "7.0.1", "version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"to-regex-range": "^5.0.1" "to-regex-range": "^5.0.1"
@ -4886,9 +4892,9 @@
} }
}, },
"node_modules/jsonc-parser": { "node_modules/jsonc-parser": {
"version": "3.0.0", "version": "3.2.1",
"resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz",
"integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==",
"dev": true "dev": true
}, },
"node_modules/levn": { "node_modules/levn": {
@ -5388,9 +5394,9 @@
"dev": true "dev": true
}, },
"node_modules/monaco-editor-core": { "node_modules/monaco-editor-core": {
"version": "0.48.0-dev-20240320", "version": "0.51.0-dev-20240725",
"resolved": "https://registry.npmjs.org/monaco-editor-core/-/monaco-editor-core-0.48.0-dev-20240320.tgz", "resolved": "https://registry.npmjs.org/monaco-editor-core/-/monaco-editor-core-0.51.0-dev-20240725.tgz",
"integrity": "sha512-fXS0Bt39Qv9C10Cuuf0ZvgcK8LhN+fP+27sDfjILEQCUVRa4pDAtvZOny2BiiPqsmOINch8UVNSZtH7+Af3ngQ==", "integrity": "sha512-N/ukRZDRZ31CmVY9iUgmPnjT9kYXVEFhqc6I9/YWCAV8WpgArQXUB3iaMB0QnmQ08yo3D5XgsoHqf+komUj8nA==",
"dev": true "dev": true
}, },
"node_modules/mri": { "node_modules/mri": {
@ -6899,16 +6905,16 @@
} }
}, },
"node_modules/typescript": { "node_modules/typescript": {
"version": "5.0.2", "version": "5.4.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.2.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
"integrity": "sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==", "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
"dev": true, "dev": true,
"bin": { "bin": {
"tsc": "bin/tsc", "tsc": "bin/tsc",
"tsserver": "bin/tsserver" "tsserver": "bin/tsserver"
}, },
"engines": { "engines": {
"node": ">=12.20" "node": ">=14.17"
} }
}, },
"node_modules/union": { "node_modules/union": {
@ -7119,64 +7125,58 @@
} }
}, },
"node_modules/vscode-css-languageservice": { "node_modules/vscode-css-languageservice": {
"version": "5.4.1", "version": "6.2.14",
"resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-5.4.1.tgz", "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-6.2.14.tgz",
"integrity": "sha512-W7D3GKFXf97ReAaU4EZ2nxVO1kQhztbycJgc1b/Ipr0h8zYWr88BADmrXu02z+lsCS84D7Sr4hoUzDKeaFn2Kg==", "integrity": "sha512-5UPQ9Y1sUTnuMyaMBpO7LrBkqjhEJb5eAwdUlDp+Uez8lry+Tspnk3+3p2qWS4LlNsr4p3v9WkZxUf1ltgFpgw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"vscode-languageserver-textdocument": "^1.0.4", "@vscode/l10n": "^0.0.18",
"vscode-languageserver-types": "^3.16.0", "vscode-languageserver-textdocument": "^1.0.11",
"vscode-nls": "^5.0.0", "vscode-languageserver-types": "3.17.5",
"vscode-uri": "^3.0.3" "vscode-uri": "^3.0.8"
} }
}, },
"node_modules/vscode-html-languageservice": { "node_modules/vscode-html-languageservice": {
"version": "4.2.4", "version": "5.2.0",
"resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-4.2.4.tgz", "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.2.0.tgz",
"integrity": "sha512-1HqvXKOq9WlZyW4HTD+0XzrjZoZ/YFrgQY2PZqktbRloHXVAUKm6+cAcvZi4YqKPVn05/CK7do+KBHfuSaEdbg==", "integrity": "sha512-cdNMhyw57/SQzgUUGSIMQ66jikqEN6nBNyhx5YuOyj9310+eY9zw8Q0cXpiKzDX8aHYFewQEXRnigl06j/TVwQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"vscode-languageserver-textdocument": "^1.0.4", "@vscode/l10n": "^0.0.18",
"vscode-languageserver-types": "^3.16.0", "vscode-languageserver-textdocument": "^1.0.11",
"vscode-nls": "^5.0.0", "vscode-languageserver-types": "^3.17.5",
"vscode-uri": "^3.0.3" "vscode-uri": "^3.0.8"
} }
}, },
"node_modules/vscode-json-languageservice": { "node_modules/vscode-json-languageservice": {
"version": "4.2.1", "version": "5.3.11",
"resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.2.1.tgz", "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-5.3.11.tgz",
"integrity": "sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA==", "integrity": "sha512-WYS72Ymria3dn8ZbjtBbt5K71m05wY1Q6hpXV5JxUT0q75Ts0ljLmnZJAVpx8DjPgYbFD+Z8KHpWh2laKLUCtQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"jsonc-parser": "^3.0.0", "@vscode/l10n": "^0.0.18",
"vscode-languageserver-textdocument": "^1.0.3", "jsonc-parser": "^3.2.1",
"vscode-languageserver-types": "^3.16.0", "vscode-languageserver-textdocument": "^1.0.11",
"vscode-nls": "^5.0.0", "vscode-languageserver-types": "^3.17.5",
"vscode-uri": "^3.0.3" "vscode-uri": "^3.0.8"
} }
}, },
"node_modules/vscode-languageserver-textdocument": { "node_modules/vscode-languageserver-textdocument": {
"version": "1.0.4", "version": "1.0.11",
"resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.4.tgz", "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz",
"integrity": "sha512-/xhqXP/2A2RSs+J8JNXpiiNVvvNM0oTosNVmQnunlKvq9o4mupHOBAnnzH0lwIPKazXKvAKsVp1kr+H/K4lgoQ==", "integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==",
"dev": true "dev": true
}, },
"node_modules/vscode-languageserver-types": { "node_modules/vscode-languageserver-types": {
"version": "3.16.0", "version": "3.17.5",
"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz", "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz",
"integrity": "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==", "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==",
"dev": true
},
"node_modules/vscode-nls": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.0.0.tgz",
"integrity": "sha512-u0Lw+IYlgbEJFF6/qAqG2d1jQmJl0eyAGJHoAJqr2HT4M2BNuQYSEiSE75f52pXHSJm8AlTjnLLbBFPrdz2hpA==",
"dev": true "dev": true
}, },
"node_modules/vscode-uri": { "node_modules/vscode-uri": {
"version": "3.0.3", "version": "3.0.8",
"resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.3.tgz", "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz",
"integrity": "sha512-EcswR2S8bpR7fD0YPeS7r2xXExrScVMxg4MedACaWHEtx9ftCF/qHG1xGkolzTPcEmjTavCQgbVzHUIdTMzFGA==", "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==",
"dev": true "dev": true
}, },
"node_modules/w3c-hr-time": { "node_modules/w3c-hr-time": {
@ -7372,16 +7372,16 @@
"dev": true "dev": true
}, },
"node_modules/ws": { "node_modules/ws": {
"version": "8.4.2", "version": "8.17.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
"integrity": "sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==", "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
"dev": true, "dev": true,
"engines": { "engines": {
"node": ">=10.0.0" "node": ">=10.0.0"
}, },
"peerDependencies": { "peerDependencies": {
"bufferutil": "^4.0.1", "bufferutil": "^4.0.1",
"utf-8-validate": "^5.0.2" "utf-8-validate": ">=5.0.2"
}, },
"peerDependenciesMeta": { "peerDependenciesMeta": {
"bufferutil": { "bufferutil": {
@ -9026,6 +9026,12 @@
"integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==",
"dev": true "dev": true
}, },
"@vscode/l10n": {
"version": "0.0.18",
"resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.18.tgz",
"integrity": "sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==",
"dev": true
},
"@webassemblyjs/ast": { "@webassemblyjs/ast": {
"version": "1.11.1", "version": "1.11.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
@ -9410,12 +9416,12 @@
} }
}, },
"braces": { "braces": {
"version": "3.0.2", "version": "3.0.3",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dev": true, "dev": true,
"requires": { "requires": {
"fill-range": "^7.0.1" "fill-range": "^7.1.1"
} }
}, },
"browser-process-hrtime": { "browser-process-hrtime": {
@ -10315,9 +10321,9 @@
} }
}, },
"fill-range": { "fill-range": {
"version": "7.0.1", "version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dev": true, "dev": true,
"requires": { "requires": {
"to-regex-range": "^5.0.1" "to-regex-range": "^5.0.1"
@ -10822,9 +10828,9 @@
"dev": true "dev": true
}, },
"jsonc-parser": { "jsonc-parser": {
"version": "3.0.0", "version": "3.2.1",
"resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz",
"integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==",
"dev": true "dev": true
}, },
"levn": { "levn": {
@ -11144,9 +11150,9 @@
} }
}, },
"monaco-editor-core": { "monaco-editor-core": {
"version": "0.48.0-dev-20240320", "version": "0.51.0-dev-20240725",
"resolved": "https://registry.npmjs.org/monaco-editor-core/-/monaco-editor-core-0.48.0-dev-20240320.tgz", "resolved": "https://registry.npmjs.org/monaco-editor-core/-/monaco-editor-core-0.51.0-dev-20240725.tgz",
"integrity": "sha512-fXS0Bt39Qv9C10Cuuf0ZvgcK8LhN+fP+27sDfjILEQCUVRa4pDAtvZOny2BiiPqsmOINch8UVNSZtH7+Af3ngQ==", "integrity": "sha512-N/ukRZDRZ31CmVY9iUgmPnjT9kYXVEFhqc6I9/YWCAV8WpgArQXUB3iaMB0QnmQ08yo3D5XgsoHqf+komUj8nA==",
"dev": true "dev": true
}, },
"mri": { "mri": {
@ -12200,9 +12206,9 @@
"dev": true "dev": true
}, },
"typescript": { "typescript": {
"version": "5.0.2", "version": "5.4.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.2.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
"integrity": "sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==", "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
"dev": true "dev": true
}, },
"union": { "union": {
@ -12338,64 +12344,58 @@
} }
}, },
"vscode-css-languageservice": { "vscode-css-languageservice": {
"version": "5.4.1", "version": "6.2.14",
"resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-5.4.1.tgz", "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-6.2.14.tgz",
"integrity": "sha512-W7D3GKFXf97ReAaU4EZ2nxVO1kQhztbycJgc1b/Ipr0h8zYWr88BADmrXu02z+lsCS84D7Sr4hoUzDKeaFn2Kg==", "integrity": "sha512-5UPQ9Y1sUTnuMyaMBpO7LrBkqjhEJb5eAwdUlDp+Uez8lry+Tspnk3+3p2qWS4LlNsr4p3v9WkZxUf1ltgFpgw==",
"dev": true, "dev": true,
"requires": { "requires": {
"vscode-languageserver-textdocument": "^1.0.4", "@vscode/l10n": "^0.0.18",
"vscode-languageserver-types": "^3.16.0", "vscode-languageserver-textdocument": "^1.0.11",
"vscode-nls": "^5.0.0", "vscode-languageserver-types": "3.17.5",
"vscode-uri": "^3.0.3" "vscode-uri": "^3.0.8"
} }
}, },
"vscode-html-languageservice": { "vscode-html-languageservice": {
"version": "4.2.4", "version": "5.2.0",
"resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-4.2.4.tgz", "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.2.0.tgz",
"integrity": "sha512-1HqvXKOq9WlZyW4HTD+0XzrjZoZ/YFrgQY2PZqktbRloHXVAUKm6+cAcvZi4YqKPVn05/CK7do+KBHfuSaEdbg==", "integrity": "sha512-cdNMhyw57/SQzgUUGSIMQ66jikqEN6nBNyhx5YuOyj9310+eY9zw8Q0cXpiKzDX8aHYFewQEXRnigl06j/TVwQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"vscode-languageserver-textdocument": "^1.0.4", "@vscode/l10n": "^0.0.18",
"vscode-languageserver-types": "^3.16.0", "vscode-languageserver-textdocument": "^1.0.11",
"vscode-nls": "^5.0.0", "vscode-languageserver-types": "^3.17.5",
"vscode-uri": "^3.0.3" "vscode-uri": "^3.0.8"
} }
}, },
"vscode-json-languageservice": { "vscode-json-languageservice": {
"version": "4.2.1", "version": "5.3.11",
"resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.2.1.tgz", "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-5.3.11.tgz",
"integrity": "sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA==", "integrity": "sha512-WYS72Ymria3dn8ZbjtBbt5K71m05wY1Q6hpXV5JxUT0q75Ts0ljLmnZJAVpx8DjPgYbFD+Z8KHpWh2laKLUCtQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"jsonc-parser": "^3.0.0", "@vscode/l10n": "^0.0.18",
"vscode-languageserver-textdocument": "^1.0.3", "jsonc-parser": "^3.2.1",
"vscode-languageserver-types": "^3.16.0", "vscode-languageserver-textdocument": "^1.0.11",
"vscode-nls": "^5.0.0", "vscode-languageserver-types": "^3.17.5",
"vscode-uri": "^3.0.3" "vscode-uri": "^3.0.8"
} }
}, },
"vscode-languageserver-textdocument": { "vscode-languageserver-textdocument": {
"version": "1.0.4", "version": "1.0.11",
"resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.4.tgz", "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz",
"integrity": "sha512-/xhqXP/2A2RSs+J8JNXpiiNVvvNM0oTosNVmQnunlKvq9o4mupHOBAnnzH0lwIPKazXKvAKsVp1kr+H/K4lgoQ==", "integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==",
"dev": true "dev": true
}, },
"vscode-languageserver-types": { "vscode-languageserver-types": {
"version": "3.16.0", "version": "3.17.5",
"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz", "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz",
"integrity": "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==", "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==",
"dev": true
},
"vscode-nls": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.0.0.tgz",
"integrity": "sha512-u0Lw+IYlgbEJFF6/qAqG2d1jQmJl0eyAGJHoAJqr2HT4M2BNuQYSEiSE75f52pXHSJm8AlTjnLLbBFPrdz2hpA==",
"dev": true "dev": true
}, },
"vscode-uri": { "vscode-uri": {
"version": "3.0.3", "version": "3.0.8",
"resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.3.tgz", "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz",
"integrity": "sha512-EcswR2S8bpR7fD0YPeS7r2xXExrScVMxg4MedACaWHEtx9ftCF/qHG1xGkolzTPcEmjTavCQgbVzHUIdTMzFGA==", "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==",
"dev": true "dev": true
}, },
"w3c-hr-time": { "w3c-hr-time": {
@ -12540,9 +12540,9 @@
"dev": true "dev": true
}, },
"ws": { "ws": {
"version": "8.4.2", "version": "8.17.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
"integrity": "sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==", "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
"dev": true, "dev": true,
"requires": {} "requires": {}
}, },

View file

@ -1,7 +1,7 @@
{ {
"name": "monaco-editor", "name": "monaco-editor",
"version": "0.47.0", "version": "0.50.0",
"vscodeRef": "1e790d77f81672c49be070e04474901747115651", "vscodeRef": "5437499feb04f7a586f677b155b039bc2b3669eb",
"private": true, "private": true,
"description": "A browser based code editor", "description": "A browser based code editor",
"homepage": "https://github.com/microsoft/monaco-editor", "homepage": "https://github.com/microsoft/monaco-editor",
@ -52,7 +52,7 @@
"jsdom": "^19.0.0", "jsdom": "^19.0.0",
"jsonc-parser": "^3.0.0", "jsonc-parser": "^3.0.0",
"mocha": "^9.2.0", "mocha": "^9.2.0",
"monaco-editor-core": "0.48.0-dev-20240320", "monaco-editor-core": "0.51.0-dev-20240725",
"parcel": "^2.7.0", "parcel": "^2.7.0",
"pin-github-action": "^1.8.0", "pin-github-action": "^1.8.0",
"playwright": "^1.32.2", "playwright": "^1.32.2",
@ -63,14 +63,14 @@
"style-loader": "^3.3.1", "style-loader": "^3.3.1",
"terser": "^5.14.2", "terser": "^5.14.2",
"ts-node": "^10.6.0", "ts-node": "^10.6.0",
"typescript": "^5.0.2", "typescript": "^5.4.5",
"vite": "^3.2.8", "vite": "^3.2.8",
"vscode-css-languageservice": "5.4.1", "vscode-css-languageservice": "6.2.14",
"vscode-html-languageservice": "4.2.4", "vscode-html-languageservice": "5.2.0",
"vscode-json-languageservice": "4.2.1", "vscode-json-languageservice": "5.3.11",
"vscode-languageserver-textdocument": "^1.0.4", "vscode-languageserver-textdocument": "^1.0.11",
"vscode-languageserver-types": "3.16.0", "vscode-languageserver-types": "3.17.5",
"vscode-uri": "3.0.3", "vscode-uri": "3.0.8",
"webpack": "^5.76.0", "webpack": "^5.76.0",
"yaserver": "^0.4.0" "yaserver": "^0.4.0"
}, },

View file

@ -12,7 +12,7 @@
"monaco-editor": "^0.32.0", "monaco-editor": "^0.32.0",
"react": "^17.0.2", "react": "^17.0.2",
"react-dom": "^17.0.2", "react-dom": "^17.0.2",
"typescript": "^5.0.2", "typescript": "^5.4.5",
"vite": "^2.9.17" "vite": "^2.9.17"
} }
}, },
@ -1379,16 +1379,16 @@
} }
}, },
"node_modules/typescript": { "node_modules/typescript": {
"version": "5.0.2", "version": "5.4.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.2.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
"integrity": "sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==", "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
"dev": true, "dev": true,
"bin": { "bin": {
"tsc": "bin/tsc", "tsc": "bin/tsc",
"tsserver": "bin/tsserver" "tsserver": "bin/tsserver"
}, },
"engines": { "engines": {
"node": ">=12.20" "node": ">=14.17"
} }
}, },
"node_modules/vite": { "node_modules/vite": {
@ -2319,9 +2319,9 @@
"dev": true "dev": true
}, },
"typescript": { "typescript": {
"version": "5.0.2", "version": "5.4.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.2.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
"integrity": "sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==", "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
"dev": true "dev": true
}, },
"vite": { "vite": {

View file

@ -14,7 +14,7 @@
"@types/react": "^17.0.39", "@types/react": "^17.0.39",
"@types/react-dom": "^17.0.11", "@types/react-dom": "^17.0.11",
"@vitejs/plugin-react": "^1.1.4", "@vitejs/plugin-react": "^1.1.4",
"typescript": "^5.0.2", "typescript": "^5.4.5",
"vite": "^2.9.17" "vite": "^2.9.17"
} }
} }

View file

@ -19,7 +19,7 @@
"style-loader": "^3.3.1", "style-loader": "^3.3.1",
"terser-webpack-plugin": "^5.3.1", "terser-webpack-plugin": "^5.3.1",
"ts-loader": "^9.2.6", "ts-loader": "^9.2.6",
"typescript": "^5.0.2", "typescript": "^5.4.5",
"webpack": "^5.76.0", "webpack": "^5.76.0",
"webpack-cli": "^4.9.2", "webpack-cli": "^4.9.2",
"webpack-dev-server": "^4.7.4", "webpack-dev-server": "^4.7.4",
@ -689,20 +689,21 @@
} }
}, },
"node_modules/body-parser": { "node_modules/body-parser": {
"version": "1.20.0", "version": "1.20.2",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz",
"integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==",
"dev": true, "dev": true,
"license": "MIT",
"dependencies": { "dependencies": {
"bytes": "3.1.2", "bytes": "3.1.2",
"content-type": "~1.0.4", "content-type": "~1.0.5",
"debug": "2.6.9", "debug": "2.6.9",
"depd": "2.0.0", "depd": "2.0.0",
"destroy": "1.2.0", "destroy": "1.2.0",
"http-errors": "2.0.0", "http-errors": "2.0.0",
"iconv-lite": "0.4.24", "iconv-lite": "0.4.24",
"on-finished": "2.4.1", "on-finished": "2.4.1",
"qs": "6.10.3", "qs": "6.11.0",
"raw-body": "2.5.1", "raw-body": "2.5.2",
"type-is": "~1.6.18", "type-is": "~1.6.18",
"unpipe": "1.0.0" "unpipe": "1.0.0"
}, },
@ -748,11 +749,12 @@
} }
}, },
"node_modules/braces": { "node_modules/braces": {
"version": "3.0.2", "version": "3.0.3",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dev": true, "dev": true,
"license": "MIT",
"dependencies": { "dependencies": {
"fill-range": "^7.0.1" "fill-range": "^7.1.1"
}, },
"engines": { "engines": {
"node": ">=8" "node": ">=8"
@ -801,8 +803,9 @@
}, },
"node_modules/bytes": { "node_modules/bytes": {
"version": "3.1.2", "version": "3.1.2",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
"integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
"dev": true, "dev": true,
"license": "MIT",
"engines": { "engines": {
"node": ">= 0.8" "node": ">= 0.8"
} }
@ -847,12 +850,19 @@
} }
}, },
"node_modules/call-bind": { "node_modules/call-bind": {
"version": "1.0.2", "version": "1.0.7",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
"integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
"dev": true, "dev": true,
"license": "MIT",
"dependencies": { "dependencies": {
"function-bind": "^1.1.1", "es-define-property": "^1.0.0",
"get-intrinsic": "^1.0.2" "es-errors": "^1.3.0",
"function-bind": "^1.1.2",
"get-intrinsic": "^1.2.4",
"set-function-length": "^1.2.1"
},
"engines": {
"node": ">= 0.4"
}, },
"funding": { "funding": {
"url": "https://github.com/sponsors/ljharb" "url": "https://github.com/sponsors/ljharb"
@ -1091,17 +1101,19 @@
} }
}, },
"node_modules/content-type": { "node_modules/content-type": {
"version": "1.0.4", "version": "1.0.5",
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
"integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
"dev": true, "dev": true,
"license": "MIT",
"engines": { "engines": {
"node": ">= 0.6" "node": ">= 0.6"
} }
}, },
"node_modules/cookie": { "node_modules/cookie": {
"version": "0.5.0", "version": "0.6.0",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
"integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==",
"dev": true, "dev": true,
"license": "MIT",
"engines": { "engines": {
"node": ">= 0.6" "node": ">= 0.6"
} }
@ -1234,6 +1246,23 @@
"node": ">=10" "node": ">=10"
} }
}, },
"node_modules/define-data-property": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
"integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
"dev": true,
"dependencies": {
"es-define-property": "^1.0.0",
"es-errors": "^1.3.0",
"gopd": "^1.0.1"
},
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/define-lazy-prop": { "node_modules/define-lazy-prop": {
"version": "2.0.0", "version": "2.0.0",
"dev": true, "dev": true,
@ -1461,6 +1490,27 @@
"node": ">=4" "node": ">=4"
} }
}, },
"node_modules/es-define-property": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
"integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
"dev": true,
"dependencies": {
"get-intrinsic": "^1.2.4"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/es-errors": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
"dev": true,
"engines": {
"node": ">= 0.4"
}
},
"node_modules/es-module-lexer": { "node_modules/es-module-lexer": {
"version": "0.9.3", "version": "0.9.3",
"dev": true, "dev": true,
@ -1580,16 +1630,17 @@
} }
}, },
"node_modules/express": { "node_modules/express": {
"version": "4.18.1", "version": "4.19.2",
"resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz",
"integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==",
"dev": true, "dev": true,
"license": "MIT",
"dependencies": { "dependencies": {
"accepts": "~1.3.8", "accepts": "~1.3.8",
"array-flatten": "1.1.1", "array-flatten": "1.1.1",
"body-parser": "1.20.0", "body-parser": "1.20.2",
"content-disposition": "0.5.4", "content-disposition": "0.5.4",
"content-type": "~1.0.4", "content-type": "~1.0.4",
"cookie": "0.5.0", "cookie": "0.6.0",
"cookie-signature": "1.0.6", "cookie-signature": "1.0.6",
"debug": "2.6.9", "debug": "2.6.9",
"depd": "2.0.0", "depd": "2.0.0",
@ -1605,7 +1656,7 @@
"parseurl": "~1.3.3", "parseurl": "~1.3.3",
"path-to-regexp": "0.1.7", "path-to-regexp": "0.1.7",
"proxy-addr": "~2.0.7", "proxy-addr": "~2.0.7",
"qs": "6.10.3", "qs": "6.11.0",
"range-parser": "~1.2.1", "range-parser": "~1.2.1",
"safe-buffer": "5.2.1", "safe-buffer": "5.2.1",
"send": "0.18.0", "send": "0.18.0",
@ -1736,9 +1787,10 @@
} }
}, },
"node_modules/fill-range": { "node_modules/fill-range": {
"version": "7.0.1", "version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dev": true, "dev": true,
"license": "MIT",
"dependencies": { "dependencies": {
"to-regex-range": "^5.0.1" "to-regex-range": "^5.0.1"
}, },
@ -1847,18 +1899,28 @@
} }
}, },
"node_modules/function-bind": { "node_modules/function-bind": {
"version": "1.1.1", "version": "1.1.2",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
"dev": true, "dev": true,
"license": "MIT" "funding": {
"url": "https://github.com/sponsors/ljharb"
}
}, },
"node_modules/get-intrinsic": { "node_modules/get-intrinsic": {
"version": "1.1.2", "version": "1.2.4",
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
"integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
"dev": true, "dev": true,
"license": "MIT",
"dependencies": { "dependencies": {
"function-bind": "^1.1.1", "es-errors": "^1.3.0",
"has": "^1.0.3", "function-bind": "^1.1.2",
"has-symbols": "^1.0.3" "has-proto": "^1.0.1",
"has-symbols": "^1.0.3",
"hasown": "^2.0.0"
},
"engines": {
"node": ">= 0.4"
}, },
"funding": { "funding": {
"url": "https://github.com/sponsors/ljharb" "url": "https://github.com/sponsors/ljharb"
@ -1957,6 +2019,18 @@
"url": "https://github.com/sponsors/ljharb" "url": "https://github.com/sponsors/ljharb"
} }
}, },
"node_modules/gopd": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
"integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
"dev": true,
"dependencies": {
"get-intrinsic": "^1.1.3"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/got": { "node_modules/got": {
"version": "11.8.5", "version": "11.8.5",
"dev": true, "dev": true,
@ -2011,12 +2085,24 @@
} }
}, },
"node_modules/has-property-descriptors": { "node_modules/has-property-descriptors": {
"version": "1.0.0", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
"integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
"dev": true, "dev": true,
"license": "MIT",
"optional": true,
"dependencies": { "dependencies": {
"get-intrinsic": "^1.1.1" "es-define-property": "^1.0.0"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/has-proto": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
"integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
"dev": true,
"engines": {
"node": ">= 0.4"
}, },
"funding": { "funding": {
"url": "https://github.com/sponsors/ljharb" "url": "https://github.com/sponsors/ljharb"
@ -2033,6 +2119,18 @@
"url": "https://github.com/sponsors/ljharb" "url": "https://github.com/sponsors/ljharb"
} }
}, },
"node_modules/hasown": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
"dev": true,
"dependencies": {
"function-bind": "^1.1.2"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/he": { "node_modules/he": {
"version": "1.2.0", "version": "1.2.0",
"dev": true, "dev": true,
@ -2214,8 +2312,9 @@
}, },
"node_modules/iconv-lite": { "node_modules/iconv-lite": {
"version": "0.4.24", "version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
"dev": true, "dev": true,
"license": "MIT",
"dependencies": { "dependencies": {
"safer-buffer": ">= 2.1.2 < 3" "safer-buffer": ">= 2.1.2 < 3"
}, },
@ -2345,8 +2444,9 @@
}, },
"node_modules/is-number": { "node_modules/is-number": {
"version": "7.0.0", "version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true, "dev": true,
"license": "MIT",
"engines": { "engines": {
"node": ">=0.12.0" "node": ">=0.12.0"
} }
@ -2577,8 +2677,9 @@
}, },
"node_modules/media-typer": { "node_modules/media-typer": {
"version": "0.3.0", "version": "0.3.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
"integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
"dev": true, "dev": true,
"license": "MIT",
"engines": { "engines": {
"node": ">= 0.6" "node": ">= 0.6"
} }
@ -2831,9 +2932,10 @@
} }
}, },
"node_modules/object-inspect": { "node_modules/object-inspect": {
"version": "1.12.2", "version": "1.13.1",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
"integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==",
"dev": true, "dev": true,
"license": "MIT",
"funding": { "funding": {
"url": "https://github.com/sponsors/ljharb" "url": "https://github.com/sponsors/ljharb"
} }
@ -3230,9 +3332,10 @@
} }
}, },
"node_modules/qs": { "node_modules/qs": {
"version": "6.10.3", "version": "6.11.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
"integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
"dev": true, "dev": true,
"license": "BSD-3-Clause",
"dependencies": { "dependencies": {
"side-channel": "^1.0.4" "side-channel": "^1.0.4"
}, },
@ -3271,9 +3374,10 @@
} }
}, },
"node_modules/raw-body": { "node_modules/raw-body": {
"version": "2.5.1", "version": "2.5.2",
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
"integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
"dev": true, "dev": true,
"license": "MIT",
"dependencies": { "dependencies": {
"bytes": "3.1.2", "bytes": "3.1.2",
"http-errors": "2.0.0", "http-errors": "2.0.0",
@ -3469,8 +3573,9 @@
}, },
"node_modules/safer-buffer": { "node_modules/safer-buffer": {
"version": "2.1.2", "version": "2.1.2",
"dev": true, "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"license": "MIT" "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"dev": true
}, },
"node_modules/schema-utils": { "node_modules/schema-utils": {
"version": "3.1.1", "version": "3.1.1",
@ -3675,6 +3780,23 @@
"node": ">= 0.8.0" "node": ">= 0.8.0"
} }
}, },
"node_modules/set-function-length": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
"integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
"dev": true,
"dependencies": {
"define-data-property": "^1.1.4",
"es-errors": "^1.3.0",
"function-bind": "^1.1.2",
"get-intrinsic": "^1.2.4",
"gopd": "^1.0.1",
"has-property-descriptors": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/setprototypeof": { "node_modules/setprototypeof": {
"version": "1.2.0", "version": "1.2.0",
"dev": true, "dev": true,
@ -3711,13 +3833,18 @@
} }
}, },
"node_modules/side-channel": { "node_modules/side-channel": {
"version": "1.0.4", "version": "1.0.6",
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
"integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
"dev": true, "dev": true,
"license": "MIT",
"dependencies": { "dependencies": {
"call-bind": "^1.0.0", "call-bind": "^1.0.7",
"get-intrinsic": "^1.0.2", "es-errors": "^1.3.0",
"object-inspect": "^1.9.0" "get-intrinsic": "^1.2.4",
"object-inspect": "^1.13.1"
},
"engines": {
"node": ">= 0.4"
}, },
"funding": { "funding": {
"url": "https://github.com/sponsors/ljharb" "url": "https://github.com/sponsors/ljharb"
@ -4039,8 +4166,9 @@
}, },
"node_modules/to-regex-range": { "node_modules/to-regex-range": {
"version": "5.0.1", "version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true, "dev": true,
"license": "MIT",
"dependencies": { "dependencies": {
"is-number": "^7.0.0" "is-number": "^7.0.0"
}, },
@ -4102,8 +4230,9 @@
}, },
"node_modules/type-is": { "node_modules/type-is": {
"version": "1.6.18", "version": "1.6.18",
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
"integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
"dev": true, "dev": true,
"license": "MIT",
"dependencies": { "dependencies": {
"media-typer": "0.3.0", "media-typer": "0.3.0",
"mime-types": "~2.1.24" "mime-types": "~2.1.24"
@ -4113,16 +4242,16 @@
} }
}, },
"node_modules/typescript": { "node_modules/typescript": {
"version": "5.0.2", "version": "5.4.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.2.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
"integrity": "sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==", "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
"dev": true, "dev": true,
"bin": { "bin": {
"tsc": "bin/tsc", "tsc": "bin/tsc",
"tsserver": "bin/tsserver" "tsserver": "bin/tsserver"
}, },
"engines": { "engines": {
"node": ">=12.20" "node": ">=14.17"
} }
}, },
"node_modules/universalify": { "node_modules/universalify": {
@ -5040,19 +5169,21 @@
"dev": true "dev": true
}, },
"body-parser": { "body-parser": {
"version": "1.20.0", "version": "1.20.2",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz",
"integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==",
"dev": true, "dev": true,
"requires": { "requires": {
"bytes": "3.1.2", "bytes": "3.1.2",
"content-type": "~1.0.4", "content-type": "~1.0.5",
"debug": "2.6.9", "debug": "2.6.9",
"depd": "2.0.0", "depd": "2.0.0",
"destroy": "1.2.0", "destroy": "1.2.0",
"http-errors": "2.0.0", "http-errors": "2.0.0",
"iconv-lite": "0.4.24", "iconv-lite": "0.4.24",
"on-finished": "2.4.1", "on-finished": "2.4.1",
"qs": "6.10.3", "qs": "6.11.0",
"raw-body": "2.5.1", "raw-body": "2.5.2",
"type-is": "~1.6.18", "type-is": "~1.6.18",
"unpipe": "1.0.0" "unpipe": "1.0.0"
} }
@ -5091,10 +5222,12 @@
} }
}, },
"braces": { "braces": {
"version": "3.0.2", "version": "3.0.3",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dev": true, "dev": true,
"requires": { "requires": {
"fill-range": "^7.0.1" "fill-range": "^7.1.1"
} }
}, },
"browserslist": { "browserslist": {
@ -5119,6 +5252,8 @@
}, },
"bytes": { "bytes": {
"version": "3.1.2", "version": "3.1.2",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
"integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
"dev": true "dev": true
}, },
"cacheable-lookup": { "cacheable-lookup": {
@ -5148,11 +5283,16 @@
} }
}, },
"call-bind": { "call-bind": {
"version": "1.0.2", "version": "1.0.7",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
"integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
"dev": true, "dev": true,
"requires": { "requires": {
"function-bind": "^1.1.1", "es-define-property": "^1.0.0",
"get-intrinsic": "^1.0.2" "es-errors": "^1.3.0",
"function-bind": "^1.1.2",
"get-intrinsic": "^1.2.4",
"set-function-length": "^1.2.1"
} }
}, },
"camel-case": { "camel-case": {
@ -5304,11 +5444,15 @@
} }
}, },
"content-type": { "content-type": {
"version": "1.0.4", "version": "1.0.5",
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
"integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
"dev": true "dev": true
}, },
"cookie": { "cookie": {
"version": "0.5.0", "version": "0.6.0",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
"integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==",
"dev": true "dev": true
}, },
"cookie-signature": { "cookie-signature": {
@ -5388,6 +5532,17 @@
"version": "2.0.1", "version": "2.0.1",
"dev": true "dev": true
}, },
"define-data-property": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
"integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
"dev": true,
"requires": {
"es-define-property": "^1.0.0",
"es-errors": "^1.3.0",
"gopd": "^1.0.1"
}
},
"define-lazy-prop": { "define-lazy-prop": {
"version": "2.0.0", "version": "2.0.0",
"dev": true "dev": true
@ -5530,6 +5685,21 @@
"version": "7.8.1", "version": "7.8.1",
"dev": true "dev": true
}, },
"es-define-property": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
"integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
"dev": true,
"requires": {
"get-intrinsic": "^1.2.4"
}
},
"es-errors": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
"dev": true
},
"es-module-lexer": { "es-module-lexer": {
"version": "0.9.3", "version": "0.9.3",
"dev": true "dev": true
@ -5605,15 +5775,17 @@
} }
}, },
"express": { "express": {
"version": "4.18.1", "version": "4.19.2",
"resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz",
"integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"accepts": "~1.3.8", "accepts": "~1.3.8",
"array-flatten": "1.1.1", "array-flatten": "1.1.1",
"body-parser": "1.20.0", "body-parser": "1.20.2",
"content-disposition": "0.5.4", "content-disposition": "0.5.4",
"content-type": "~1.0.4", "content-type": "~1.0.4",
"cookie": "0.5.0", "cookie": "0.6.0",
"cookie-signature": "1.0.6", "cookie-signature": "1.0.6",
"debug": "2.6.9", "debug": "2.6.9",
"depd": "2.0.0", "depd": "2.0.0",
@ -5629,7 +5801,7 @@
"parseurl": "~1.3.3", "parseurl": "~1.3.3",
"path-to-regexp": "0.1.7", "path-to-regexp": "0.1.7",
"proxy-addr": "~2.0.7", "proxy-addr": "~2.0.7",
"qs": "6.10.3", "qs": "6.11.0",
"range-parser": "~1.2.1", "range-parser": "~1.2.1",
"safe-buffer": "5.2.1", "safe-buffer": "5.2.1",
"send": "0.18.0", "send": "0.18.0",
@ -5716,7 +5888,9 @@
} }
}, },
"fill-range": { "fill-range": {
"version": "7.0.1", "version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dev": true, "dev": true,
"requires": { "requires": {
"to-regex-range": "^5.0.1" "to-regex-range": "^5.0.1"
@ -5780,16 +5954,22 @@
"optional": true "optional": true
}, },
"function-bind": { "function-bind": {
"version": "1.1.1", "version": "1.1.2",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
"dev": true "dev": true
}, },
"get-intrinsic": { "get-intrinsic": {
"version": "1.1.2", "version": "1.2.4",
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
"integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"function-bind": "^1.1.1", "es-errors": "^1.3.0",
"has": "^1.0.3", "function-bind": "^1.1.2",
"has-symbols": "^1.0.3" "has-proto": "^1.0.1",
"has-symbols": "^1.0.3",
"hasown": "^2.0.0"
} }
}, },
"get-stream": { "get-stream": {
@ -5851,6 +6031,15 @@
"define-properties": "^1.1.3" "define-properties": "^1.1.3"
} }
}, },
"gopd": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
"integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
"dev": true,
"requires": {
"get-intrinsic": "^1.1.3"
}
},
"got": { "got": {
"version": "11.8.5", "version": "11.8.5",
"dev": true, "dev": true,
@ -5888,17 +6077,33 @@
"dev": true "dev": true
}, },
"has-property-descriptors": { "has-property-descriptors": {
"version": "1.0.0", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
"integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"get-intrinsic": "^1.1.1" "es-define-property": "^1.0.0"
} }
}, },
"has-proto": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
"integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
"dev": true
},
"has-symbols": { "has-symbols": {
"version": "1.0.3", "version": "1.0.3",
"dev": true "dev": true
}, },
"hasown": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
"dev": true,
"requires": {
"function-bind": "^1.1.2"
}
},
"he": { "he": {
"version": "1.2.0", "version": "1.2.0",
"dev": true "dev": true
@ -6016,6 +6221,8 @@
}, },
"iconv-lite": { "iconv-lite": {
"version": "0.4.24", "version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
"dev": true, "dev": true,
"requires": { "requires": {
"safer-buffer": ">= 2.1.2 < 3" "safer-buffer": ">= 2.1.2 < 3"
@ -6090,6 +6297,8 @@
}, },
"is-number": { "is-number": {
"version": "7.0.0", "version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true "dev": true
}, },
"is-plain-obj": { "is-plain-obj": {
@ -6240,6 +6449,8 @@
}, },
"media-typer": { "media-typer": {
"version": "0.3.0", "version": "0.3.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
"integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
"dev": true "dev": true
}, },
"memfs": { "memfs": {
@ -6388,7 +6599,9 @@
} }
}, },
"object-inspect": { "object-inspect": {
"version": "1.12.2", "version": "1.13.1",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
"integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==",
"dev": true "dev": true
}, },
"object-keys": { "object-keys": {
@ -6629,7 +6842,9 @@
"dev": true "dev": true
}, },
"qs": { "qs": {
"version": "6.10.3", "version": "6.11.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
"integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"side-channel": "^1.0.4" "side-channel": "^1.0.4"
@ -6651,7 +6866,9 @@
"dev": true "dev": true
}, },
"raw-body": { "raw-body": {
"version": "2.5.1", "version": "2.5.2",
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
"integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
"dev": true, "dev": true,
"requires": { "requires": {
"bytes": "3.1.2", "bytes": "3.1.2",
@ -6777,6 +6994,8 @@
}, },
"safer-buffer": { "safer-buffer": {
"version": "2.1.2", "version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"dev": true "dev": true
}, },
"schema-utils": { "schema-utils": {
@ -6923,6 +7142,20 @@
"send": "0.18.0" "send": "0.18.0"
} }
}, },
"set-function-length": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
"integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
"dev": true,
"requires": {
"define-data-property": "^1.1.4",
"es-errors": "^1.3.0",
"function-bind": "^1.1.2",
"get-intrinsic": "^1.2.4",
"gopd": "^1.0.1",
"has-property-descriptors": "^1.0.2"
}
},
"setprototypeof": { "setprototypeof": {
"version": "1.2.0", "version": "1.2.0",
"dev": true "dev": true
@ -6946,12 +7179,15 @@
"dev": true "dev": true
}, },
"side-channel": { "side-channel": {
"version": "1.0.4", "version": "1.0.6",
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
"integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
"dev": true, "dev": true,
"requires": { "requires": {
"call-bind": "^1.0.0", "call-bind": "^1.0.7",
"get-intrinsic": "^1.0.2", "es-errors": "^1.3.0",
"object-inspect": "^1.9.0" "get-intrinsic": "^1.2.4",
"object-inspect": "^1.13.1"
} }
}, },
"signal-exit": { "signal-exit": {
@ -7154,6 +7390,8 @@
}, },
"to-regex-range": { "to-regex-range": {
"version": "5.0.1", "version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"is-number": "^7.0.0" "is-number": "^7.0.0"
@ -7189,6 +7427,8 @@
}, },
"type-is": { "type-is": {
"version": "1.6.18", "version": "1.6.18",
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
"integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
"dev": true, "dev": true,
"requires": { "requires": {
"media-typer": "0.3.0", "media-typer": "0.3.0",
@ -7196,9 +7436,9 @@
} }
}, },
"typescript": { "typescript": {
"version": "5.0.2", "version": "5.4.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.2.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
"integrity": "sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==", "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
"dev": true "dev": true
}, },
"universalify": { "universalify": {

View file

@ -20,7 +20,7 @@
"style-loader": "^3.3.1", "style-loader": "^3.3.1",
"terser-webpack-plugin": "^5.3.1", "terser-webpack-plugin": "^5.3.1",
"ts-loader": "^9.2.6", "ts-loader": "^9.2.6",
"typescript": "^5.0.2", "typescript": "^5.4.5",
"webpack-cli": "^4.9.2", "webpack-cli": "^4.9.2",
"webpack-dev-server": "^4.7.4", "webpack-dev-server": "^4.7.4",
"webpack": "^5.76.0", "webpack": "^5.76.0",

View file

@ -10,7 +10,7 @@ declare var require: any;
registerLanguage({ registerLanguage({
id: 'csp', id: 'csp',
extensions: [], extensions: ['.csp'],
aliases: ['CSP', 'csp'], aliases: ['CSP', 'csp'],
loader: () => { loader: () => {
if (AMD) { if (AMD) {

View file

@ -79,6 +79,7 @@ import './systemverilog/systemverilog.contribution';
import './tcl/tcl.contribution'; import './tcl/tcl.contribution';
import './twig/twig.contribution'; import './twig/twig.contribution';
import './typescript/typescript.contribution'; import './typescript/typescript.contribution';
import './typespec/typespec.contribution';
import './vb/vb.contribution'; import './vb/vb.contribution';
import './wgsl/wgsl.contribution'; import './wgsl/wgsl.contribution';
import './xml/xml.contribution'; import './xml/xml.contribution';

View file

@ -189,5 +189,69 @@ testTokenization('python', [
line: '456.7e-7j', line: '456.7e-7j',
tokens: [{ startIndex: 0, type: 'number.python' }] tokens: [{ startIndex: 0, type: 'number.python' }]
} }
],
// F-Strings
[
{
line: 'f"str {var} str"',
tokens: [
{ startIndex: 0, type: 'string.escape.python' },
{ startIndex: 2, type: 'string.python' },
{ startIndex: 6, type: 'identifier.python' },
{ startIndex: 11, type: 'string.python' },
{ startIndex: 15, type: 'string.escape.python' }
]
}
],
[
{
line: `f'''str {var} str'''`,
tokens: [
{ startIndex: 0, type: 'string.escape.python' },
{ startIndex: 4, type: 'string.python' },
{ startIndex: 8, type: 'identifier.python' },
{ startIndex: 13, type: 'string.python' },
{ startIndex: 17, type: 'string.escape.python' }
]
}
],
[
{
line: 'f"{var:.3f}{var!r}{var=}"',
tokens: [
{ startIndex: 0, type: 'string.escape.python' },
{ startIndex: 2, type: 'identifier.python' },
{ startIndex: 6, type: 'string.python' },
{ startIndex: 10, type: 'identifier.python' },
{ startIndex: 15, type: 'string.python' },
{ startIndex: 17, type: 'identifier.python' },
{ startIndex: 22, type: 'string.python' },
{ startIndex: 23, type: 'identifier.python' },
{ startIndex: 24, type: 'string.escape.python' }
]
}
],
[
{
line: 'f"\' " "',
tokens: [
{ startIndex: 0, type: 'string.escape.python' },
{ startIndex: 2, type: 'string.python' },
{ startIndex: 4, type: 'string.escape.python' },
{ startIndex: 5, type: 'white.python' },
{ startIndex: 6, type: 'string.escape.python' }
]
}
],
[
{
line: '"{var}"',
tokens: [
{ startIndex: 0, type: 'string.escape.python' },
{ startIndex: 1, type: 'string.python' },
{ startIndex: 6, type: 'string.escape.python' }
]
}
] ]
]); ]);

View file

@ -250,10 +250,20 @@ export const language = <languages.IMonarchLanguage>{
// Recognize strings, including those broken across lines with \ (but not without) // Recognize strings, including those broken across lines with \ (but not without)
strings: [ strings: [
[/'$/, 'string.escape', '@popall'], [/'$/, 'string.escape', '@popall'],
[/f'{1,3}/, 'string.escape', '@fStringBody'],
[/'/, 'string.escape', '@stringBody'], [/'/, 'string.escape', '@stringBody'],
[/"$/, 'string.escape', '@popall'], [/"$/, 'string.escape', '@popall'],
[/f"{1,3}/, 'string.escape', '@fDblStringBody'],
[/"/, 'string.escape', '@dblStringBody'] [/"/, 'string.escape', '@dblStringBody']
], ],
fStringBody: [
[/[^\\'\{\}]+$/, 'string', '@popall'],
[/[^\\'\{\}]+/, 'string'],
[/\{[^\}':!=]+/, 'identifier', '@fStringDetail'],
[/\\./, 'string'],
[/'/, 'string.escape', '@popall'],
[/\\$/, 'string']
],
stringBody: [ stringBody: [
[/[^\\']+$/, 'string', '@popall'], [/[^\\']+$/, 'string', '@popall'],
[/[^\\']+/, 'string'], [/[^\\']+/, 'string'],
@ -261,12 +271,26 @@ export const language = <languages.IMonarchLanguage>{
[/'/, 'string.escape', '@popall'], [/'/, 'string.escape', '@popall'],
[/\\$/, 'string'] [/\\$/, 'string']
], ],
fDblStringBody: [
[/[^\\"\{\}]+$/, 'string', '@popall'],
[/[^\\"\{\}]+/, 'string'],
[/\{[^\}':!=]+/, 'identifier', '@fStringDetail'],
[/\\./, 'string'],
[/"/, 'string.escape', '@popall'],
[/\\$/, 'string']
],
dblStringBody: [ dblStringBody: [
[/[^\\"]+$/, 'string', '@popall'], [/[^\\"]+$/, 'string', '@popall'],
[/[^\\"]+/, 'string'], [/[^\\"]+/, 'string'],
[/\\./, 'string'], [/\\./, 'string'],
[/"/, 'string.escape', '@popall'], [/"/, 'string.escape', '@popall'],
[/\\$/, 'string'] [/\\$/, 'string']
],
fStringDetail: [
[/[:][^}]+/, 'string'],
[/[!][ars]/, 'string'], // only !a, !r, !s are supported by f-strings: https://docs.python.org/3/tutorial/inputoutput.html#formatted-string-literals
[/=/, 'string'],
[/\}/, 'identifier', '@pop']
] ]
} }
}; };

View file

@ -6,7 +6,6 @@
import { testTokenization } from '../test/testRunner'; import { testTokenization } from '../test/testRunner';
testTokenization('qsharp', [ testTokenization('qsharp', [
// Generated from sample: https://github.com/microsoft/Quantum/blob/main/samples/azure-quantum/parallel-qrng/ParallelQrng.ipynb
[ [
{ {
line: 'open Microsoft.Quantum.Arrays;', line: 'open Microsoft.Quantum.Arrays;',
@ -21,19 +20,6 @@ testTokenization('qsharp', [
{ startIndex: 29, type: 'delimiter.qsharp' } { startIndex: 29, type: 'delimiter.qsharp' }
] ]
}, },
{
line: 'open Microsoft.Quantum.Measurement;',
tokens: [
{ startIndex: 0, type: 'keyword.open.qsharp' },
{ startIndex: 4, type: 'white.qsharp' },
{ startIndex: 5, type: 'namespace.qsharp' },
{ startIndex: 14, type: 'delimiter.qsharp' },
{ startIndex: 15, type: 'namespace.qsharp' },
{ startIndex: 22, type: 'delimiter.qsharp' },
{ startIndex: 23, type: 'namespace.qsharp' },
{ startIndex: 34, type: 'delimiter.qsharp' }
]
},
{ {
line: '', line: '',
tokens: [] tokens: []
@ -67,20 +53,6 @@ testTokenization('qsharp', [
{ startIndex: 1, type: 'comment.qsharp' } { startIndex: 1, type: 'comment.qsharp' }
] ]
}, },
{
line: ' // superposition state, such that when we measure,',
tokens: [
{ startIndex: 0, type: 'white.qsharp' },
{ startIndex: 1, type: 'comment.qsharp' }
]
},
{
line: ' // all bitstrings occur with equal probability.',
tokens: [
{ startIndex: 0, type: 'white.qsharp' },
{ startIndex: 1, type: 'comment.qsharp' }
]
},
{ {
line: ' use register = Qubit[nQubits] {', line: ' use register = Qubit[nQubits] {',
tokens: [ tokens: [
@ -99,13 +71,6 @@ testTokenization('qsharp', [
{ startIndex: 31, type: 'delimiter.curly.qsharp' } { startIndex: 31, type: 'delimiter.curly.qsharp' }
] ]
}, },
{
line: ' // Set qubits in superposition.',
tokens: [
{ startIndex: 0, type: 'white.qsharp' },
{ startIndex: 2, type: 'comment.qsharp' }
]
},
{ {
line: ' ApplyToEachA(H, register);', line: ' ApplyToEachA(H, register);',
tokens: [ tokens: [
@ -120,17 +85,6 @@ testTokenization('qsharp', [
{ startIndex: 27, type: 'delimiter.qsharp' } { startIndex: 27, type: 'delimiter.qsharp' }
] ]
}, },
{
line: '',
tokens: []
},
{
line: ' // Measure all qubits and return.',
tokens: [
{ startIndex: 0, type: 'white.qsharp' },
{ startIndex: 2, type: 'comment.qsharp' }
]
},
{ {
line: ' return ForEach(MResetZ, register);', line: ' return ForEach(MResetZ, register);',
tokens: [ tokens: [
@ -157,6 +111,76 @@ testTokenization('qsharp', [
{ {
line: '}', line: '}',
tokens: [{ startIndex: 0, type: 'delimiter.curly.qsharp' }] tokens: [{ startIndex: 0, type: 'delimiter.curly.qsharp' }]
},
{
line: 'struct Foo { First : Int, Second : Int }',
tokens: [
{ startIndex: 0, type: 'keyword.qsharp' },
{ startIndex: 6, type: 'white.qsharp' },
{ startIndex: 7, type: 'identifier.qsharp' },
{ startIndex: 10, type: 'white.qsharp' },
{ startIndex: 11, type: 'delimiter.curly.qsharp' },
{ startIndex: 12, type: 'white.qsharp' },
{ startIndex: 13, type: 'identifier.qsharp' },
{ startIndex: 18, type: 'white.qsharp' },
{ startIndex: 19, type: 'operator.qsharp' },
{ startIndex: 20, type: 'white.qsharp' },
{ startIndex: 21, type: 'type.qsharp' },
{ startIndex: 24, type: 'delimiter.qsharp' },
{ startIndex: 25, type: 'white.qsharp' },
{ startIndex: 26, type: 'identifier.qsharp' },
{ startIndex: 32, type: 'white.qsharp' },
{ startIndex: 33, type: 'operator.qsharp' },
{ startIndex: 34, type: 'white.qsharp' },
{ startIndex: 35, type: 'type.qsharp' },
{ startIndex: 38, type: 'white.qsharp' },
{ startIndex: 39, type: 'delimiter.curly.qsharp' }
]
},
{
line: 'Foo.First',
tokens: [
{ startIndex: 0, type: 'identifier.qsharp' },
{ startIndex: 3, type: 'operator.qsharp' },
{ startIndex: 4, type: 'identifier.qsharp' }
]
},
{
line: 'import Microsoft.Quantum.Math, Microsoft.Quantum.Diagnostics.*;',
tokens: [
{ startIndex: 0, type: 'keyword.import.qsharp' },
{ startIndex: 6, type: 'white.qsharp' },
{ startIndex: 7, type: 'namespace.qsharp' },
{ startIndex: 16, type: 'delimiter.qsharp' },
{ startIndex: 17, type: 'namespace.qsharp' },
{ startIndex: 24, type: 'delimiter.qsharp' },
{ startIndex: 25, type: 'identifier.qsharp' },
{ startIndex: 29, type: 'delimiter.qsharp' },
{ startIndex: 30, type: 'white.qsharp' },
{ startIndex: 31, type: 'namespace.qsharp' },
{ startIndex: 40, type: 'delimiter.qsharp' },
{ startIndex: 41, type: 'namespace.qsharp' },
{ startIndex: 48, type: 'delimiter.qsharp' },
{ startIndex: 49, type: 'namespace.qsharp' },
{ startIndex: 60, type: 'delimiter.qsharp' },
{ startIndex: 61, type: 'wildcard.qsharp' },
{ startIndex: 62, type: 'delimiter.qsharp' }
]
},
{
line: 'export A, B, C;',
tokens: [
{ startIndex: 0, type: 'keyword.qsharp' },
{ startIndex: 6, type: 'white.qsharp' },
{ startIndex: 7, type: 'identifier.qsharp' },
{ startIndex: 8, type: 'delimiter.qsharp' },
{ startIndex: 9, type: 'white.qsharp' },
{ startIndex: 10, type: 'identifier.qsharp' },
{ startIndex: 11, type: 'delimiter.qsharp' },
{ startIndex: 12, type: 'white.qsharp' },
{ startIndex: 13, type: 'identifier.qsharp' },
{ startIndex: 14, type: 'delimiter.qsharp' }
]
} }
] ]
]); ]);

View file

@ -33,12 +33,15 @@ export const language = <languages.IMonarchLanguage>{
keywords: [ keywords: [
'namespace', 'namespace',
'open', 'open',
'import',
'export',
'as', 'as',
'operation', 'operation',
'function', 'function',
'body', 'body',
'adjoint', 'adjoint',
'newtype', 'newtype',
'struct',
'controlled', 'controlled',
'if', 'if',
'elif', 'elif',
@ -141,7 +144,6 @@ export const language = <languages.IMonarchLanguage>{
'stackalloc', 'stackalloc',
'static', 'static',
'string', 'string',
'struct',
'switch', 'switch',
'this', 'this',
'throw', 'throw',
@ -202,6 +204,7 @@ export const language = <languages.IMonarchLanguage>{
'^=', '^=',
':', ':',
'::', '::',
'.',
'..', '..',
'==', '==',
'...', '...',
@ -241,6 +244,8 @@ export const language = <languages.IMonarchLanguage>{
namespaceFollows: ['namespace', 'open'], namespaceFollows: ['namespace', 'open'],
importsFollows: ['import'],
symbols: /[=><!~?:&|+\-*\/\^%@._]+/, symbols: /[=><!~?:&|+\-*\/\^%@._]+/,
escapes: /\\[\s\S]/, escapes: /\\[\s\S]/,
@ -257,6 +262,10 @@ export const language = <languages.IMonarchLanguage>{
token: 'keyword.$0', token: 'keyword.$0',
next: '@namespace' next: '@namespace'
}, },
'@importsFollows': {
token: 'keyword.$0',
next: '@imports'
},
'@typeKeywords': 'type', '@typeKeywords': 'type',
'@keywords': 'keyword', '@keywords': 'keyword',
'@constants': 'constant', '@constants': 'constant',
@ -282,7 +291,7 @@ export const language = <languages.IMonarchLanguage>{
[/[;,.]/, 'delimiter'], [/[;,.]/, 'delimiter'],
// strings // strings
//[/"([^"\\]|\\.)*$/, 'string.invalid' ], // non-teminated string //[/"([^"\\]|\\.)*$/, 'string.invalid' ], // non-terminated string
[/"/, { token: 'string.quote', bracket: '@open', next: '@string' }] [/"/, { token: 'string.quote', bracket: '@open', next: '@string' }]
], ],
@ -295,7 +304,16 @@ export const language = <languages.IMonarchLanguage>{
namespace: [ namespace: [
{ include: '@whitespace' }, { include: '@whitespace' },
[/[A-Za-z]\w*/, 'namespace'], [/[A-Za-z]\w*/, 'namespace'],
[/[\.=]/, 'delimiter'], [/[\.]/, 'delimiter'],
['', '', '@pop']
],
imports: [
{ include: '@whitespace' },
[/[A-Za-z]\w*(?=\.)/, 'namespace'],
[/[A-Za-z]\w*/, 'identifier'],
[/\*/, 'wildcard'],
[/[\.,]/, 'delimiter'],
['', '', '@pop'] ['', '', '@pop']
], ],

View file

@ -0,0 +1,24 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { registerLanguage } from '../_.contribution';
declare var AMD: any;
declare var require: any;
registerLanguage({
id: 'typespec',
extensions: ['.tsp'],
aliases: ['TypeSpec'],
loader: () => {
if (AMD) {
return new Promise((resolve, reject) => {
require(['vs/basic-languages/typespec/typespec'], resolve, reject);
});
} else {
return import('./typespec');
}
}
});

View file

@ -0,0 +1,500 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { testTokenization } from '../test/testRunner';
// Those test were auto generated from the test in the https://github.com/microsoft/typespec repo
// to keep in sync you can follow the instruction in https://github.com/microsoft/typespec/blob/main/packages/monarch/README.md
testTokenization('typespec', [
[
{
line: 'import "@typespec/http";',
tokens: [
{
startIndex: 0,
type: 'keyword.tsp'
},
{
startIndex: 6,
type: ''
},
{
startIndex: 7,
type: 'string.tsp'
},
{
startIndex: 23,
type: ''
}
]
}
],
[
{
line: 'using TypeSpec.Http',
tokens: [
{
startIndex: 0,
type: 'keyword.tsp'
},
{
startIndex: 5,
type: ''
},
{
startIndex: 6,
type: 'identifier.tsp'
},
{
startIndex: 14,
type: ''
},
{
startIndex: 15,
type: 'identifier.tsp'
}
]
}
],
[
{
line: 'namespace Foo {}',
tokens: [
{
startIndex: 0,
type: 'keyword.tsp'
},
{
startIndex: 9,
type: ''
},
{
startIndex: 10,
type: 'identifier.tsp'
},
{
startIndex: 13,
type: ''
}
]
}
],
[
{
line: 'namespace Foo {',
tokens: [
{
startIndex: 0,
type: 'keyword.tsp'
},
{
startIndex: 9,
type: ''
},
{
startIndex: 10,
type: 'identifier.tsp'
},
{
startIndex: 13,
type: ''
}
]
},
{
line: ' model Bar {}',
tokens: [
{
startIndex: 0,
type: ''
},
{
startIndex: 4,
type: 'keyword.tsp'
},
{
startIndex: 9,
type: ''
},
{
startIndex: 10,
type: 'identifier.tsp'
},
{
startIndex: 13,
type: ''
}
]
},
{
line: ' }',
tokens: [
{
startIndex: 0,
type: ''
}
]
}
],
[
{
line: 'model Foo {}',
tokens: [
{
startIndex: 0,
type: 'keyword.tsp'
},
{
startIndex: 5,
type: ''
},
{
startIndex: 6,
type: 'identifier.tsp'
},
{
startIndex: 9,
type: ''
}
]
}
],
[
{
line: 'model Foo is Bar;',
tokens: [
{
startIndex: 0,
type: 'keyword.tsp'
},
{
startIndex: 5,
type: ''
},
{
startIndex: 6,
type: 'identifier.tsp'
},
{
startIndex: 9,
type: ''
},
{
startIndex: 10,
type: 'keyword.tsp'
},
{
startIndex: 12,
type: ''
},
{
startIndex: 13,
type: 'identifier.tsp'
},
{
startIndex: 16,
type: ''
}
]
}
],
[
{
line: 'model Foo extends Bar;',
tokens: [
{
startIndex: 0,
type: 'keyword.tsp'
},
{
startIndex: 5,
type: ''
},
{
startIndex: 6,
type: 'identifier.tsp'
},
{
startIndex: 9,
type: ''
},
{
startIndex: 10,
type: 'keyword.tsp'
},
{
startIndex: 17,
type: ''
},
{
startIndex: 18,
type: 'identifier.tsp'
},
{
startIndex: 21,
type: ''
}
]
}
],
[
{
line: 'interface Foo {}',
tokens: [
{
startIndex: 0,
type: 'keyword.tsp'
},
{
startIndex: 9,
type: ''
},
{
startIndex: 10,
type: 'identifier.tsp'
},
{
startIndex: 13,
type: ''
}
]
}
],
[
{
line: 'union Foo {}',
tokens: [
{
startIndex: 0,
type: 'keyword.tsp'
},
{
startIndex: 5,
type: ''
},
{
startIndex: 6,
type: 'identifier.tsp'
},
{
startIndex: 9,
type: ''
}
]
}
],
[
{
line: 'scalar foo extends string;',
tokens: [
{
startIndex: 0,
type: 'keyword.tsp'
},
{
startIndex: 6,
type: ''
},
{
startIndex: 7,
type: 'identifier.tsp'
},
{
startIndex: 10,
type: ''
},
{
startIndex: 11,
type: 'keyword.tsp'
},
{
startIndex: 18,
type: ''
},
{
startIndex: 19,
type: 'identifier.tsp'
},
{
startIndex: 25,
type: ''
}
]
}
],
[
{
line: 'op test(): void;',
tokens: [
{
startIndex: 0,
type: 'keyword.tsp'
},
{
startIndex: 2,
type: ''
},
{
startIndex: 3,
type: 'identifier.tsp'
},
{
startIndex: 7,
type: ''
},
{
startIndex: 11,
type: 'keyword.tsp'
},
{
startIndex: 15,
type: ''
}
]
}
],
[
{
line: 'enum Direction { up, down }',
tokens: [
{
startIndex: 0,
type: 'keyword.tsp'
},
{
startIndex: 4,
type: ''
},
{
startIndex: 5,
type: 'identifier.tsp'
},
{
startIndex: 14,
type: ''
},
{
startIndex: 17,
type: 'identifier.tsp'
},
{
startIndex: 19,
type: ''
},
{
startIndex: 21,
type: 'identifier.tsp'
},
{
startIndex: 25,
type: ''
}
]
}
],
[
{
line: 'alias Foo = "a" | "b";',
tokens: [
{
startIndex: 0,
type: 'keyword.tsp'
},
{
startIndex: 5,
type: ''
},
{
startIndex: 6,
type: 'identifier.tsp'
},
{
startIndex: 9,
type: ''
},
{
startIndex: 12,
type: 'string.tsp'
},
{
startIndex: 15,
type: ''
},
{
startIndex: 18,
type: 'string.tsp'
},
{
startIndex: 21,
type: ''
}
]
}
],
[
{
line: 'alias T = """',
tokens: [
{
startIndex: 0,
type: 'keyword.tsp'
},
{
startIndex: 5,
type: ''
},
{
startIndex: 6,
type: 'identifier.tsp'
},
{
startIndex: 7,
type: ''
},
{
startIndex: 11,
type: 'string.tsp'
}
]
},
{
line: ' this',
tokens: [
{
startIndex: 0,
type: 'string.tsp'
}
]
},
{
line: ' is',
tokens: [
{
startIndex: 0,
type: 'string.tsp'
}
]
},
{
line: ' multiline',
tokens: [
{
startIndex: 0,
type: 'string.tsp'
}
]
},
{
line: ' """',
tokens: [
{
startIndex: 0,
type: 'string.tsp'
}
]
}
]
]);

View file

@ -0,0 +1,130 @@
import type { languages } from '../../fillers/monaco-editor-core';
const bounded = (text: string) => `\\b${text}\\b`;
const notBefore = (regex: string) => `(?!${regex})`;
const identifierStart = '[_a-zA-Z]';
const identifierContinue = '[_a-zA-Z0-9]';
const identifier = bounded(`${identifierStart}${identifierContinue}*`);
const directive = bounded(`[_a-zA-Z-0-9]+`);
const keywords = [
'import',
'model',
'scalar',
'namespace',
'op',
'interface',
'union',
'using',
'is',
'extends',
'enum',
'alias',
'return',
'void',
'if',
'else',
'projection',
'dec',
'extern',
'fn'
];
const namedLiterals = ['true', 'false', 'null', 'unknown', 'never'];
const nonCommentWs = `[ \\t\\r\\n]`;
const numericLiteral = `[0-9]+`;
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '//',
blockComment: ['/*', '*/']
},
brackets: [
['{', '}'],
['[', ']'],
['(', ')']
],
autoClosingPairs: [
{ open: '{', close: '}' },
{ open: '[', close: ']' },
{ open: '(', close: ')' },
{ open: '"', close: '"' },
{ open: '/**', close: ' */', notIn: ['string'] }
],
surroundingPairs: [
{ open: '{', close: '}' },
{ open: '[', close: ']' },
{ open: '(', close: ')' },
{ open: '"', close: '"' }
],
indentationRules: {
decreaseIndentPattern: new RegExp('^((?!.*?/\\*).*\\*/)?\\s*[\\}\\]].*$'),
increaseIndentPattern: new RegExp(
'^((?!//).)*(\\{([^}"\'`/]*|(\\t|[ ])*//.*)|\\([^)"\'`/]*|\\[[^\\]"\'`/]*)$'
),
// e.g. * ...| or */| or *-----*/|
unIndentedLinePattern: new RegExp(
'^(\\t|[ ])*[ ]\\*[^/]*\\*/\\s*$|^(\\t|[ ])*[ ]\\*/\\s*$|^(\\t|[ ])*[ ]\\*([ ]([^\\*]|\\*(?!/))*)?$'
)
}
};
export const language: languages.IMonarchLanguage = {
defaultToken: '',
tokenPostfix: '.tsp',
brackets: [
{ open: '{', close: '}', token: 'delimiter.curly' },
{ open: '[', close: ']', token: 'delimiter.square' },
{ open: '(', close: ')', token: 'delimiter.parenthesis' }
],
symbols: /[=:;<>]+/,
keywords,
namedLiterals,
escapes: `\\\\(u{[0-9A-Fa-f]+}|n|r|t|\\\\|"|\\\${)`,
tokenizer: {
root: [{ include: '@expression' }, { include: '@whitespace' }],
stringVerbatim: [
{ regex: `(|"|"")[^"]`, action: { token: 'string' } },
{ regex: `"""${notBefore(`"`)}`, action: { token: 'string', next: '@pop' } }
],
stringLiteral: [
{ regex: `\\\${`, action: { token: 'delimiter.bracket', next: '@bracketCounting' } },
{ regex: `[^\\\\"$]+`, action: { token: 'string' } },
{ regex: '@escapes', action: { token: 'string.escape' } },
{ regex: `\\\\.`, action: { token: 'string.escape.invalid' } },
{ regex: `"`, action: { token: 'string', next: '@pop' } }
],
bracketCounting: [
{ regex: `{`, action: { token: 'delimiter.bracket', next: '@bracketCounting' } },
{ regex: `}`, action: { token: 'delimiter.bracket', next: '@pop' } },
{ include: '@expression' }
],
comment: [
{ regex: `[^\\*]+`, action: { token: 'comment' } },
{ regex: `\\*\\/`, action: { token: 'comment', next: '@pop' } },
{ regex: `[\\/*]`, action: { token: 'comment' } }
],
whitespace: [
{ regex: nonCommentWs },
{ regex: `\\/\\*`, action: { token: 'comment', next: '@comment' } },
{ regex: `\\/\\/.*$`, action: { token: 'comment' } }
],
expression: [
{ regex: `"""`, action: { token: 'string', next: '@stringVerbatim' } },
{ regex: `"${notBefore(`""`)}`, action: { token: 'string', next: '@stringLiteral' } },
{ regex: numericLiteral, action: { token: 'number' } },
{
regex: identifier,
action: {
cases: {
'@keywords': { token: 'keyword' },
'@namedLiterals': { token: 'keyword' },
'@default': { token: 'identifier' }
}
}
},
{ regex: `@${identifier}`, action: { token: 'tag' } },
{ regex: `#${directive}`, action: { token: 'directive' } }
]
}
};

View file

@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import * as mode from './jsonMode'; import * as mode from './jsonMode';
import { Emitter, IEvent, languages, Uri } from 'monaco-editor-core'; import { Emitter, IEvent, languages, Uri } from '../../fillers/monaco-editor-core';
// ---- JSON service types ---- // ---- JSON service types ----
export interface BaseASTNode { export interface BaseASTNode {

View file

@ -12,6 +12,7 @@ export const libFileSet: Record<string, boolean> = {}
libFileSet['lib.d.ts'] = true; libFileSet['lib.d.ts'] = true;
libFileSet['lib.decorators.d.ts'] = true; libFileSet['lib.decorators.d.ts'] = true;
libFileSet['lib.decorators.legacy.d.ts'] = true; libFileSet['lib.decorators.legacy.d.ts'] = true;
libFileSet['lib.dom.asynciterable.d.ts'] = true;
libFileSet['lib.dom.d.ts'] = true; libFileSet['lib.dom.d.ts'] = true;
libFileSet['lib.dom.iterable.d.ts'] = true; libFileSet['lib.dom.iterable.d.ts'] = true;
libFileSet['lib.es2015.collection.d.ts'] = true; libFileSet['lib.es2015.collection.d.ts'] = true;
@ -27,7 +28,9 @@ libFileSet['lib.es2015.symbol.wellknown.d.ts'] = true;
libFileSet['lib.es2016.array.include.d.ts'] = true; libFileSet['lib.es2016.array.include.d.ts'] = true;
libFileSet['lib.es2016.d.ts'] = true; libFileSet['lib.es2016.d.ts'] = true;
libFileSet['lib.es2016.full.d.ts'] = true; libFileSet['lib.es2016.full.d.ts'] = true;
libFileSet['lib.es2016.intl.d.ts'] = true;
libFileSet['lib.es2017.d.ts'] = true; libFileSet['lib.es2017.d.ts'] = true;
libFileSet['lib.es2017.date.d.ts'] = true;
libFileSet['lib.es2017.full.d.ts'] = true; libFileSet['lib.es2017.full.d.ts'] = true;
libFileSet['lib.es2017.intl.d.ts'] = true; libFileSet['lib.es2017.intl.d.ts'] = true;
libFileSet['lib.es2017.object.d.ts'] = true; libFileSet['lib.es2017.object.d.ts'] = true;
@ -74,14 +77,21 @@ libFileSet['lib.es2022.regexp.d.ts'] = true;
libFileSet['lib.es2022.sharedmemory.d.ts'] = true; libFileSet['lib.es2022.sharedmemory.d.ts'] = true;
libFileSet['lib.es2022.string.d.ts'] = true; libFileSet['lib.es2022.string.d.ts'] = true;
libFileSet['lib.es2023.array.d.ts'] = true; libFileSet['lib.es2023.array.d.ts'] = true;
libFileSet['lib.es2023.collection.d.ts'] = true;
libFileSet['lib.es2023.d.ts'] = true; libFileSet['lib.es2023.d.ts'] = true;
libFileSet['lib.es2023.full.d.ts'] = true; libFileSet['lib.es2023.full.d.ts'] = true;
libFileSet['lib.es5.d.ts'] = true; libFileSet['lib.es5.d.ts'] = true;
libFileSet['lib.es6.d.ts'] = true; libFileSet['lib.es6.d.ts'] = true;
libFileSet['lib.esnext.collection.d.ts'] = true;
libFileSet['lib.esnext.d.ts'] = true; libFileSet['lib.esnext.d.ts'] = true;
libFileSet['lib.esnext.decorators.d.ts'] = true;
libFileSet['lib.esnext.disposable.d.ts'] = true;
libFileSet['lib.esnext.full.d.ts'] = true; libFileSet['lib.esnext.full.d.ts'] = true;
libFileSet['lib.esnext.intl.d.ts'] = true; libFileSet['lib.esnext.intl.d.ts'] = true;
libFileSet['lib.esnext.object.d.ts'] = true;
libFileSet['lib.esnext.promise.d.ts'] = true;
libFileSet['lib.scripthost.d.ts'] = true; libFileSet['lib.scripthost.d.ts'] = true;
libFileSet['lib.webworker.asynciterable.d.ts'] = true;
libFileSet['lib.webworker.d.ts'] = true; libFileSet['lib.webworker.d.ts'] = true;
libFileSet['lib.webworker.importscripts.d.ts'] = true; libFileSet['lib.webworker.importscripts.d.ts'] = true;
libFileSet['lib.webworker.iterable.d.ts'] = true; libFileSet['lib.webworker.iterable.d.ts'] = true;

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

View file

@ -2,4 +2,4 @@
// **NOTE**: Do not edit directly! This file is generated using `npm run import-typescript` // **NOTE**: Do not edit directly! This file is generated using `npm run import-typescript`
// //
export const typescriptVersion = "5.0.2"; export const typescriptVersion = "5.4.5";

View file

@ -216,9 +216,10 @@ export interface DiagnosticRelatedInformation {
messageText: string | DiagnosticMessageChain; messageText: string | DiagnosticMessageChain;
} }
interface EmitOutput { export interface EmitOutput {
outputFiles: OutputFile[]; outputFiles: OutputFile[];
emitSkipped: boolean; emitSkipped: boolean;
diagnostics?: Diagnostic[];
} }
interface OutputFile { interface OutputFile {
name: string; name: string;
@ -521,7 +522,11 @@ export interface TypeScriptWorker {
* Get transpiled output for the given file. * Get transpiled output for the given file.
* @returns `typescript.EmitOutput` * @returns `typescript.EmitOutput`
*/ */
getEmitOutput(fileName: string): Promise<EmitOutput>; getEmitOutput(
fileName: string,
emitOnlyDtsFiles?: boolean,
forceDtsEmit?: boolean
): Promise<EmitOutput>;
/** /**
* Get possible code fixes at the given position in the file. * Get possible code fixes at the given position in the file.

View file

@ -8,6 +8,7 @@ import { libFileMap } from './lib/lib';
import { import {
Diagnostic, Diagnostic,
DiagnosticRelatedInformation, DiagnosticRelatedInformation,
EmitOutput,
IExtraLibs, IExtraLibs,
TypeScriptWorker as ITypeScriptWorker TypeScriptWorker as ITypeScriptWorker
} from './monaco.contribution'; } from './monaco.contribution';
@ -401,11 +402,26 @@ export class TypeScriptWorker implements ts.LanguageServiceHost, ITypeScriptWork
return this._languageService.getRenameInfo(fileName, position, options); return this._languageService.getRenameInfo(fileName, position, options);
} }
async getEmitOutput(fileName: string): Promise<ts.EmitOutput> { async getEmitOutput(
fileName: string,
emitOnlyDtsFiles?: boolean,
forceDtsEmit?: boolean
): Promise<EmitOutput> {
if (fileNameIsLib(fileName)) { if (fileNameIsLib(fileName)) {
return { outputFiles: [], emitSkipped: true }; return { outputFiles: [], emitSkipped: true };
} }
return this._languageService.getEmitOutput(fileName); // The diagnostics property is internal, returning it without clearing breaks message serialization.
const emitOutput = this._languageService.getEmitOutput(
fileName,
emitOnlyDtsFiles,
forceDtsEmit
) as ts.EmitOutput & {
diagnostics?: ts.Diagnostic[];
};
const diagnostics = emitOutput.diagnostics
? TypeScriptWorker.clearFiles(emitOutput.diagnostics)
: undefined;
return { ...emitOutput, diagnostics };
} }
async getCodeFixesAtPosition( async getCodeFixesAtPosition(

View file

@ -8,6 +8,7 @@
<script src="../../../out/monaco-editor/dev/vs/loader.js"></script> <script src="../../../out/monaco-editor/dev/vs/loader.js"></script>
<script> <script>
require.config({ require.config({
baseUrl: new URL('..', document.baseURI).toString(),
paths: { paths: {
vs: '../../../out/monaco-editor/dev/vs' vs: '../../../out/monaco-editor/dev/vs'
} }

View file

@ -186,16 +186,22 @@ suite(`Smoke Test '${testInfo.packager}' on '${testInfo.browser}'`, () => {
await page.waitForSelector(`text=addEventListener`); await page.waitForSelector(`text=addEventListener`);
// find the TypeScript worker // find the TypeScript worker
const tsWorker = page.workers().find((worker) => {
const url = worker.url(); function findAsync(arr, fn) {
return /ts\.worker(\.[a-f0-9]+)?\.js$/.test(url) || /workerMain.js#typescript$/.test(url); return Promise.all(arr.map(fn)).then((results) => {
return arr.find((_, i) => results[i]);
}); });
if (!tsWorker) {
assert.fail('Could not find TypeScript worker');
} }
// check that the TypeScript worker exposes `ts` as a global // check that the TypeScript worker exposes `ts` as a global
assert.strictEqual(await tsWorker.evaluate(`typeof ts`), 'object'); const tsWorker = await findAsync(
page.workers(),
async (page) => await page.evaluate(`typeof ts !== 'undefined'`)
);
if (!tsWorker) {
assert.fail('Could not find TypeScript worker');
}
// check that the TypeScript worker exposes the full `ts` as a global // check that the TypeScript worker exposes the full `ts` as a global
assert.strictEqual(await tsWorker.evaluate(`typeof ts.optionDeclarations`), 'object'); assert.strictEqual(await tsWorker.evaluate(`typeof ts.optionDeclarations`), 'object');

View file

@ -21,6 +21,9 @@ define('vs/nls', [], {
localize: function () { localize: function () {
return 'NO_LOCALIZATION_FOR_YOU'; return 'NO_LOCALIZATION_FOR_YOU';
}, },
localize2: function (key, message) {
return { value: 'NO_LOCALIZATION_FOR_YOU', original: message };
},
load: function (name, req, load) { load: function (name, req, load) {
load({}); load({});
} }

View file

@ -17,7 +17,7 @@
"glob": "^7.2.0", "glob": "^7.2.0",
"monaco-editor": "^0.32.0", "monaco-editor": "^0.32.0",
"style-loader": "^3.3.1", "style-loader": "^3.3.1",
"typescript": "^5.0.2", "typescript": "^5.4.5",
"webpack": "^5.68.0", "webpack": "^5.68.0",
"webpack-cli": "^4.9.2" "webpack-cli": "^4.9.2"
}, },
@ -1628,16 +1628,16 @@
} }
}, },
"node_modules/typescript": { "node_modules/typescript": {
"version": "5.0.2", "version": "5.4.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.2.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
"integrity": "sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==", "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
"dev": true, "dev": true,
"bin": { "bin": {
"tsc": "bin/tsc", "tsc": "bin/tsc",
"tsserver": "bin/tsserver" "tsserver": "bin/tsserver"
}, },
"engines": { "engines": {
"node": ">=12.20" "node": ">=14.17"
} }
}, },
"node_modules/uri-js": { "node_modules/uri-js": {
@ -2995,9 +2995,9 @@
} }
}, },
"typescript": { "typescript": {
"version": "5.0.2", "version": "5.4.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.2.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
"integrity": "sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==", "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
"dev": true "dev": true
}, },
"uri-js": { "uri-js": {

View file

@ -35,7 +35,7 @@
"glob": "^7.2.0", "glob": "^7.2.0",
"monaco-editor": "^0.32.0", "monaco-editor": "^0.32.0",
"style-loader": "^3.3.1", "style-loader": "^3.3.1",
"typescript": "^5.0.2", "typescript": "^5.4.5",
"webpack": "^5.68.0", "webpack": "^5.68.0",
"webpack-cli": "^4.9.2" "webpack-cli": "^4.9.2"
}, },

View file

@ -28,7 +28,8 @@
"react": "^17.0.2", "react": "^17.0.2",
"react-bootstrap": "^2.4.0", "react-bootstrap": "^2.4.0",
"react-dom": "^17.0.2", "react-dom": "^17.0.2",
"typedoc": "^0.23.26" "typedoc": "^0.25.12",
"@vscode/web-editors": "./vscode-web-editors.tgz"
}, },
"devDependencies": { "devDependencies": {
"@types/classnames": "^2.3.1", "@types/classnames": "^2.3.1",
@ -50,7 +51,7 @@
"style-loader": "^1.1.3", "style-loader": "^1.1.3",
"ts-loader": "^9.3.1", "ts-loader": "^9.3.1",
"ts-node": "^10.9.1", "ts-node": "^10.9.1",
"typescript": "^5.0.2", "typescript": "^5.4.5",
"webpack": "^5.90.1", "webpack": "^5.90.1",
"webpack-bundle-analyzer": "^4.5.0", "webpack-bundle-analyzer": "^4.5.0",
"webpack-cli": "^4.10.0", "webpack-cli": "^4.10.0",

View file

@ -62,6 +62,10 @@ async function _loadMonaco(setup: IMonacoSetup): Promise<typeof monaco> {
return new Promise((res) => { return new Promise((res) => {
// First load editor.main. If it inlines the plugins, we don't want to try to load them from the server. // First load editor.main. If it inlines the plugins, we don't want to try to load them from the server.
req(["vs/editor/editor.main"], () => { req(["vs/editor/editor.main"], () => {
if ((setup as any).onlyCore) {
res(monaco);
return;
}
req( req(
[ [
"vs/basic-languages/monaco.contribution", "vs/basic-languages/monaco.contribution",

19
website/src/tsconfig.json Normal file
View file

@ -0,0 +1,19 @@
{
"compilerOptions": {
"target": "esnext",
"module": "ESNext",
"moduleResolution": "Bundler",
"strict": true,
"outDir": "dist",
"skipLibCheck": true,
"rootDir": ".",
"resolveJsonModule": true,
"newLine": "LF",
"sourceMap": true,
"jsx": "react",
"experimentalDecorators": true,
"useDefineForClassFields": false,
"noEmit": true
},
"include": ["**/*", "../node_modules/monaco-editor/monaco.d.ts"]
}

View file

@ -1,4 +1,4 @@
import React = require("react"); import * as React from "react";
import { home, playground, docs, monarch } from "../pages/routes"; import { home, playground, docs, monarch } from "../pages/routes";
import { Container, Navbar, Nav, NavDropdown } from "./bootstrap"; import { Container, Navbar, Nav, NavDropdown } from "./bootstrap";

View file

@ -1,4 +1,4 @@
import React = require("react"); import * as React from "react";
import { PageNav } from "./Nav"; import { PageNav } from "./Nav";
export function Page(props: { children: React.ReactNode }) { export function Page(props: { children: React.ReactNode }) {

View file

@ -1,5 +1,5 @@
import { observer } from "mobx-react"; import { observer } from "mobx-react";
import React = require("react"); import * as React from "react";
import { IReference } from "../utils/ref"; import { IReference } from "../utils/ref";
import { Form } from "./bootstrap"; import { Form } from "./bootstrap";

View file

@ -17,6 +17,10 @@ export class ControlledMonacoEditor extends React.Component<{
private lastSubscription: monaco.IDisposable | undefined; private lastSubscription: monaco.IDisposable | undefined;
componentDidMount(): void {
this.componentDidUpdate({ value: "" });
}
componentDidUpdate(lastProps: this["props"]) { componentDidUpdate(lastProps: this["props"]) {
const newOnDidValueChange = this.props.onDidValueChange; const newOnDidValueChange = this.props.onDidValueChange;
if (newOnDidValueChange !== lastProps.onDidValueChange) { if (newOnDidValueChange !== lastProps.onDidValueChange) {

View file

@ -0,0 +1,71 @@
import "@typespec/rest";
import "@typespec/openapi";
import "./decorators.js";
using TypeSpec.Http;
@service({
title: "Pet Store Service",
})
/** This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters. */
namespace PetStore;
// Model types
model Pet {
name: string;
tag?: string;
@minValue(0)
@maxValue(20)
age: int32;
}
model Toy {
id: int64;
petId: int64;
name: string;
}
/** Error */
@error
model Error {
code: int32;
message: string;
}
/** Not modified */
model NotModified<Body> {
@statusCode _: 304;
@body body: Body;
}
@friendlyName("{name}ListResults", Item)
model ResponsePage<Item> {
items: Item[];
nextLink?: string;
}
model PetId {
@path petId: int32;
}
/** Manage your pets. */
@route("/pets")
namespace Pets {
/** Delete a pet. */
@delete
op delete(...PetId): OkResponse | Error;
@fancyDoc("List pets.")
op list(@query nextLink?: string): ResponsePage<Pet> | Error;
/** Returns a pet. Supports eTags. */
op read(...PetId): Pet | (NotModifiedResponse & Pet) | Error;
@post op create(@body pet: Pet): Pet | Error;
}
@route("/pets/{petId}/toys")
namespace ListPetToysResponse {
op list(@path petId: string, @query nameFilter: string): ResponsePage<Toy> | Error;
}

View file

@ -3,6 +3,6 @@
* Licensed under the MIT License. See License.txt in the project root for license information. * Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import * as packageJson from "monaco-editor/package.json"; import packageJson from "monaco-editor/package.json";
export const monacoEditorVersion = packageJson.version; export const monacoEditorVersion = packageJson.version;

View file

@ -1,7 +1,7 @@
import { Home } from "./home/Home"; import { Home } from "./home/Home";
import { PlaygroundPage } from "./playground/PlaygroundPage"; import { PlaygroundPage } from "./playground/PlaygroundPage";
import { docs, home, monarch, playground } from "./routes"; import { docs, home, monarch, playground } from "./routes";
import React = require("react"); import * as React from "react";
import { DocsPage } from "./DocsPage"; import { DocsPage } from "./DocsPage";
import { MonarchPage } from "./MonarchPage"; import { MonarchPage } from "./MonarchPage";

View file

@ -5,7 +5,7 @@ import {
IHistoryModel, IHistoryModel,
ILocation, ILocation,
} from "../utils/ObservableHistory"; } from "../utils/ObservableHistory";
import React = require("react"); import * as React from "react";
export class DocsPage extends React.Component implements IHistoryModel { export class DocsPage extends React.Component implements IHistoryModel {
private _lastIFrame: HTMLIFrameElement | null = null; private _lastIFrame: HTMLIFrameElement | null = null;

View file

@ -1,4 +1,4 @@
import React = require("react"); import * as React from "react";
import { Page } from "../components/Page"; import { Page } from "../components/Page";
export class MonarchPage extends React.Component<{}, {}> { export class MonarchPage extends React.Component<{}, {}> {

View file

@ -8,7 +8,7 @@ import {
ControlledMonacoEditor, ControlledMonacoEditor,
} from "../../components/monaco/MonacoEditor"; } from "../../components/monaco/MonacoEditor";
import { ObservablePromise } from "../../utils/ObservablePromise"; import { ObservablePromise } from "../../utils/ObservablePromise";
import React = require("react"); import * as React from "react";
import { ref } from "../../utils/ref"; import { ref } from "../../utils/ref";
import { monacoEditorVersion } from "../../monacoEditorVersion"; import { monacoEditorVersion } from "../../monacoEditorVersion";

View file

@ -38,7 +38,11 @@ export class LocationModel implements IHistoryModel {
*/ */
@observable historyId: number = 0; @observable historyId: number = 0;
constructor(private readonly model: PlaygroundModel) { constructor(
private readonly model: PlaygroundModel,
createHistoryController = true
) {
if (createHistoryController) {
this.dispose.track( this.dispose.track(
new HistoryController((initialLocation) => { new HistoryController((initialLocation) => {
this.updateLocation(initialLocation); this.updateLocation(initialLocation);
@ -46,6 +50,7 @@ export class LocationModel implements IHistoryModel {
}) })
); );
} }
}
get location(): ILocation { get location(): ILocation {
const source = this._sourceOverride || this.sourceFromSettings; const source = this._sourceOverride || this.sourceFromSettings;

View file

@ -30,6 +30,7 @@ import {
} from "./SettingsModel"; } from "./SettingsModel";
import { BisectModel } from "./BisectModel"; import { BisectModel } from "./BisectModel";
import { LocationModel } from "./LocationModel"; import { LocationModel } from "./LocationModel";
import { createJsonWebEditorClient, vObj, vString } from "@vscode/web-editors";
export class PlaygroundModel { export class PlaygroundModel {
public readonly dispose = Disposable.fn(); public readonly dispose = Disposable.fn();
@ -47,7 +48,25 @@ export class PlaygroundModel {
@observable @observable
public reloadKey = 0; public reloadKey = 0;
public readonly historyModel = new LocationModel(this); private readonly webEditorClient = createJsonWebEditorClient(
vObj({
js: vString(),
html: vString(),
css: vString(),
}),
(data) => {
runInAction(() => {
this.html = data.html;
this.js = data.js;
this.css = data.css;
});
}
);
public readonly historyModel = new LocationModel(
this,
this.webEditorClient === undefined
);
public reload(): void { public reload(): void {
this.reloadKey++; this.reloadKey++;
@ -163,6 +182,17 @@ export class PlaygroundModel {
constructor() { constructor() {
let lastState: IPreviewState | undefined = undefined; let lastState: IPreviewState | undefined = undefined;
this.webEditorClient?.onDidConnect.then(() => {
autorun(() => {
const state = this.playgroundProject;
this.webEditorClient!.updateContent({
js: state.js,
html: state.html,
css: state.css,
});
});
});
this.dispose.track({ this.dispose.track({
dispose: reaction( dispose: reaction(
() => ({ state: this.state }), () => ({ state: this.state }),

View file

@ -42,7 +42,12 @@ export class SettingsModel {
} }
constructor() { constructor() {
const settingsStr = localStorage.getItem(this.settingsKey); const settingsStr = "";
try {
localStorage.getItem(this.settingsKey);
} catch (e) {
console.error("Failed to load settings from localStorage", e);
}
if (settingsStr) { if (settingsStr) {
this._settings = JSON.parse(settingsStr); this._settings = JSON.parse(settingsStr);
} else { } else {
@ -54,7 +59,11 @@ export class SettingsModel {
setSettings(settings: Settings): void { setSettings(settings: Settings): void {
const settingsJson = JSON.stringify(toJS(settings)); const settingsJson = JSON.stringify(toJS(settings));
this._settings = JSON.parse(settingsJson); this._settings = JSON.parse(settingsJson);
try {
localStorage.setItem(this.settingsKey, settingsJson); localStorage.setItem(this.settingsKey, settingsJson);
} catch (e) {
console.error("Failed to save settings to localStorage", e);
}
} }
} }

View file

@ -1,4 +1,3 @@
import { normalizeLineEnding } from "./utils";
import { IPlaygroundProject } from "../../../shared"; import { IPlaygroundProject } from "../../../shared";
export function findLastIndex<T>( export function findLastIndex<T>(

View file

@ -2,18 +2,15 @@
"compilerOptions": { "compilerOptions": {
"target": "esnext", "target": "esnext",
"module": "commonjs", "module": "commonjs",
"moduleResolution": "node16", "moduleResolution": "Node",
"strict": true, "strict": true,
"outDir": "dist", "outDir": "dist",
"skipLibCheck": true, "skipLibCheck": true,
"rootDir": "./src",
"resolveJsonModule": true, "resolveJsonModule": true,
"newLine": "LF", "newLine": "LF",
"sourceMap": true, "sourceMap": true,
"jsx": "react", "useDefineForClassFields": false,
"experimentalDecorators": true, "noEmit": true
// to enable mobx decorators
"useDefineForClassFields": false
}, },
"include": ["src/**/*", "./node_modules/monaco-editor/monaco.d.ts"] "exclude": ["src/**/*", "./node_modules/monaco-editor/monaco.d.ts"]
} }

Binary file not shown.

View file

@ -487,6 +487,10 @@
dependencies: dependencies:
"@types/node" "*" "@types/node" "*"
"@vscode/web-editors@./vscode-web-editors.tgz":
version "0.1.0"
resolved "./vscode-web-editors.tgz#657c1b47d50dfd1a457f660e3184fb88121f8b24"
"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": "@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5":
version "1.11.6" version "1.11.6"
resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24"
@ -784,21 +788,21 @@ binary-extensions@^2.0.0:
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
body-parser@1.20.0: body-parser@1.20.2:
version "1.20.0" version "1.20.2"
resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd"
integrity sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg== integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==
dependencies: dependencies:
bytes "3.1.2" bytes "3.1.2"
content-type "~1.0.4" content-type "~1.0.5"
debug "2.6.9" debug "2.6.9"
depd "2.0.0" depd "2.0.0"
destroy "1.2.0" destroy "1.2.0"
http-errors "2.0.0" http-errors "2.0.0"
iconv-lite "0.4.24" iconv-lite "0.4.24"
on-finished "2.4.1" on-finished "2.4.1"
qs "6.10.3" qs "6.11.0"
raw-body "2.5.1" raw-body "2.5.2"
type-is "~1.6.18" type-is "~1.6.18"
unpipe "1.0.0" unpipe "1.0.0"
@ -1031,15 +1035,20 @@ content-type@~1.0.4:
resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
content-type@~1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918"
integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
cookie-signature@1.0.6: cookie-signature@1.0.6:
version "1.0.6" version "1.0.6"
resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==
cookie@0.5.0: cookie@0.6.0:
version "0.5.0" version "0.6.0"
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051"
integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==
copy-webpack-plugin@^11.0.0: copy-webpack-plugin@^11.0.0:
version "11.0.0" version "11.0.0"
@ -1380,16 +1389,16 @@ execa@^5.0.0:
strip-final-newline "^2.0.0" strip-final-newline "^2.0.0"
express@^4.17.3: express@^4.17.3:
version "4.18.1" version "4.19.2"
resolved "https://registry.yarnpkg.com/express/-/express-4.18.1.tgz#7797de8b9c72c857b9cd0e14a5eea80666267caf" resolved "https://registry.yarnpkg.com/express/-/express-4.19.2.tgz#e25437827a3aa7f2a827bc8171bbbb664a356465"
integrity sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q== integrity sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==
dependencies: dependencies:
accepts "~1.3.8" accepts "~1.3.8"
array-flatten "1.1.1" array-flatten "1.1.1"
body-parser "1.20.0" body-parser "1.20.2"
content-disposition "0.5.4" content-disposition "0.5.4"
content-type "~1.0.4" content-type "~1.0.4"
cookie "0.5.0" cookie "0.6.0"
cookie-signature "1.0.6" cookie-signature "1.0.6"
debug "2.6.9" debug "2.6.9"
depd "2.0.0" depd "2.0.0"
@ -1405,7 +1414,7 @@ express@^4.17.3:
parseurl "~1.3.3" parseurl "~1.3.3"
path-to-regexp "0.1.7" path-to-regexp "0.1.7"
proxy-addr "~2.0.7" proxy-addr "~2.0.7"
qs "6.10.3" qs "6.11.0"
range-parser "~1.2.1" range-parser "~1.2.1"
safe-buffer "5.2.1" safe-buffer "5.2.1"
send "0.18.0" send "0.18.0"
@ -2054,7 +2063,7 @@ make-error@^1.1.1:
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
marked@^4.2.12: marked@^4.3.0:
version "4.3.0" version "4.3.0"
resolved "https://registry.yarnpkg.com/marked/-/marked-4.3.0.tgz#796362821b019f734054582038b116481b456cf3" resolved "https://registry.yarnpkg.com/marked/-/marked-4.3.0.tgz#796362821b019f734054582038b116481b456cf3"
integrity sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A== integrity sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==
@ -2145,13 +2154,6 @@ minimatch@^3.1.1:
dependencies: dependencies:
brace-expansion "^1.1.7" brace-expansion "^1.1.7"
minimatch@^7.1.3:
version "7.4.3"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-7.4.3.tgz#012cbf110a65134bb354ae9773b55256cdb045a2"
integrity sha512-5UB4yYusDtkRPbRiy1cqZ1IpGNcJCGlEMG17RKzPddpyiPKoCdwohbED8g4QXT0ewCt8LTkQXuljsUfQ3FKM4A==
dependencies:
brace-expansion "^2.0.1"
minimatch@^7.4.1: minimatch@^7.4.1:
version "7.4.2" version "7.4.2"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-7.4.2.tgz#157e847d79ca671054253b840656720cb733f10f" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-7.4.2.tgz#157e847d79ca671054253b840656720cb733f10f"
@ -2159,6 +2161,13 @@ minimatch@^7.4.1:
dependencies: dependencies:
brace-expansion "^2.0.1" brace-expansion "^2.0.1"
minimatch@^9.0.3:
version "9.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51"
integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==
dependencies:
brace-expansion "^2.0.1"
minimist@^1.2.0: minimist@^1.2.0:
version "1.2.8" version "1.2.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
@ -2558,10 +2567,10 @@ punycode@^2.1.0:
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
qs@6.10.3: qs@6.11.0:
version "6.10.3" version "6.11.0"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e" resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a"
integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ== integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==
dependencies: dependencies:
side-channel "^1.0.4" side-channel "^1.0.4"
@ -2582,10 +2591,10 @@ range-parser@^1.2.1, range-parser@~1.2.1:
resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
raw-body@2.5.1: raw-body@2.5.2:
version "2.5.1" version "2.5.2"
resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a"
integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==
dependencies: dependencies:
bytes "3.1.2" bytes "3.1.2"
http-errors "2.0.0" http-errors "2.0.0"
@ -2972,10 +2981,10 @@ shebang-regex@^3.0.0:
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
shiki@^0.14.1: shiki@^0.14.7:
version "0.14.1" version "0.14.7"
resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.14.1.tgz#9fbe082d0a8aa2ad63df4fbf2ee11ec924aa7ee1" resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.14.7.tgz#c3c9e1853e9737845f1d2ef81b31bcfb07056d4e"
integrity sha512-+Jz4nBkCBe0mEDqo1eKRcCdjRtrCjozmcbTUjbPTX7OOJfEbTZzlUWlZtGe3Gb5oV1/jnojhG//YZc3rs9zSEw== integrity sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==
dependencies: dependencies:
ansi-sequence-parser "^1.1.0" ansi-sequence-parser "^1.1.0"
jsonc-parser "^3.2.0" jsonc-parser "^3.2.0"
@ -3233,20 +3242,20 @@ type-is@~1.6.18:
media-typer "0.3.0" media-typer "0.3.0"
mime-types "~2.1.24" mime-types "~2.1.24"
typedoc@^0.23.26: typedoc@^0.25.12:
version "0.23.28" version "0.25.13"
resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.23.28.tgz#3ce9c36ef1c273fa849d2dea18651855100d3ccd" resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.25.13.tgz#9a98819e3b2d155a6d78589b46fa4c03768f0922"
integrity sha512-9x1+hZWTHEQcGoP7qFmlo4unUoVJLB0H/8vfO/7wqTnZxg4kPuji9y3uRzEu0ZKez63OJAUmiGhUrtukC6Uj3w== integrity sha512-pQqiwiJ+Z4pigfOnnysObszLiU3mVLWAExSPf+Mu06G/qsc3wzbuM56SZQvONhHLncLUhYzOVkjFFpFfL5AzhQ==
dependencies: dependencies:
lunr "^2.3.9" lunr "^2.3.9"
marked "^4.2.12" marked "^4.3.0"
minimatch "^7.1.3" minimatch "^9.0.3"
shiki "^0.14.1" shiki "^0.14.7"
typescript@^5.0.2: typescript@^5.4.5:
version "5.0.2" version "5.4.5"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.2.tgz#891e1a90c5189d8506af64b9ef929fca99ba1ee5" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.5.tgz#42ccef2c571fdbd0f6718b1d1f5e6e5ef006f611"
integrity sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw== integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==
uncontrollable@^7.2.1: uncontrollable@^7.2.1:
version "7.2.1" version "7.2.1"