Merge branch 'main' into main

This commit is contained in:
dheardal 2025-01-20 11:38:19 +00:00 committed by GitHub
commit 7607956c12
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
58 changed files with 55927 additions and 29518 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
@ -70,6 +70,7 @@ extends:
publishRequiresApproval: false publishRequiresApproval: false
- name: monaco-editor - name: monaco-editor
dependsOn: monaco-editor-core
workingDirectory: $(Build.SourcesDirectory)/out/monaco-editor workingDirectory: $(Build.SourcesDirectory)/out/monaco-editor
testPlatforms: [] testPlatforms: []
skipAPIScan: true # package build requires Linux skipAPIScan: true # package build requires Linux

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
@ -54,6 +54,7 @@ extends:
publishRequiresApproval: false publishRequiresApproval: false
- name: monaco-editor - name: monaco-editor
dependsOn: monaco-editor-core
workingDirectory: $(Build.SourcesDirectory)/out/monaco-editor workingDirectory: $(Build.SourcesDirectory)/out/monaco-editor
testPlatforms: [] testPlatforms: []
skipAPIScan: true # package build requires Linux skipAPIScan: true # package build requires Linux
@ -69,6 +70,7 @@ extends:
publishRequiresApproval: false publishRequiresApproval: false
- name: monaco-editor-webpack-plugin - name: monaco-editor-webpack-plugin
dependsOn: monaco-editor
workingDirectory: $(Build.SourcesDirectory)/webpack-plugin workingDirectory: $(Build.SourcesDirectory)/webpack-plugin
testPlatforms: [] testPlatforms: []
packagePlatform: Windows packagePlatform: Windows

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'

2
.nvmrc
View file

@ -1 +1 @@
18.17 20.14.0

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,48 @@
# Monaco Editor Changelog # Monaco Editor Changelog
## [0.52.0]
- Comment added inside of `IModelContentChangedEvent`
## [0.51.0]
- New fields `IEditorOptions.placeholder` and `IEditorOptions.compactMode`
- New fields `IGotoLocationOptions.multipleTests` and `IGotoLocationOptions.alternativeTestsCommand`
- New field `IInlineEditOptions.backgroundColoring`
- New experimental field `IEditorOptions.experimental.useTrueInlineView`
- New options `CommentThreadRevealOptions` for comments
Contributions to `monaco-editor`:
- [@ScottCarda-MS (Scott Carda)](https://github.com/ScottCarda-MS): Update Q# Keywords [PR #4586](https://github.com/microsoft/monaco-editor/pull/4586)
## [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] ## [0.48.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

View file

@ -5,7 +5,7 @@
import path = require('path'); import path = require('path');
import fs = require('fs'); import fs = require('fs');
import { REPO_ROOT, readFiles, writeFiles, IFile } from '../build/utils'; import { REPO_ROOT, readFiles, writeFiles, IFile, readFile } from '../build/utils';
import { removeDir } from '../build/fs'; import { removeDir } from '../build/fs';
import ts = require('typescript'); import ts = require('typescript');
import { generateMetadata } from './releaseMetadata'; import { generateMetadata } from './releaseMetadata';
@ -66,9 +66,10 @@ generateMetadata();
* Release to `dev` or `min`. * Release to `dev` or `min`.
*/ */
function AMD_releaseOne(type: 'dev' | 'min') { function AMD_releaseOne(type: 'dev' | 'min') {
const coreFiles = readFiles(`node_modules/monaco-editor-core/${type}/**/*`, { let coreFiles = readFiles(`node_modules/monaco-editor-core/${type}/**/*`, {
base: `node_modules/monaco-editor-core/${type}` base: `node_modules/monaco-editor-core/${type}`
}); });
coreFiles = fixNlsFiles(coreFiles);
AMD_addPluginContribs(type, coreFiles); AMD_addPluginContribs(type, coreFiles);
writeFiles(coreFiles, `out/monaco-editor/${type}`); writeFiles(coreFiles, `out/monaco-editor/${type}`);
@ -79,6 +80,33 @@ function AMD_releaseOne(type: 'dev' | 'min') {
writeFiles(pluginFiles, `out/monaco-editor/${type}`); writeFiles(pluginFiles, `out/monaco-editor/${type}`);
} }
function fixNlsFiles(files: IFile[]): IFile[] {
return files.map((f) => {
if (!f.path.match(/nls\.messages\.[a-z\-]+\.js/)) {
return f;
}
const dirName = path.dirname(f.path);
const fileName = path.basename(f.path);
const newPath = path.join(dirName, 'vs', fileName);
let contentStr = f.contents.toString('utf-8');
contentStr = `
define([], function () {
${contentStr}
});
`;
const newContents = Buffer.from(contentStr, 'utf-8');
return {
path: newPath,
contents: newContents
};
});
}
/** /**
* Edit editor.main.js: * Edit editor.main.js:
* - rename the AMD module 'vs/editor/editor.main' to 'vs/editor/edcore.main' * - rename the AMD module 'vs/editor/editor.main' to 'vs/editor/edcore.main'
@ -96,6 +124,15 @@ function AMD_addPluginContribs(type: 'dev' | 'min', files: IFile[]) {
// Rename the AMD module 'vs/editor/editor.main' to 'vs/editor/edcore.main' // Rename the AMD module 'vs/editor/editor.main' to 'vs/editor/edcore.main'
contents = contents.replace(/"vs\/editor\/editor\.main\"/, '"vs/editor/edcore.main"'); contents = contents.replace(/"vs\/editor\/editor\.main\"/, '"vs/editor/edcore.main"');
// This ensures that old nls-plugin configurations are still respected by the new localization solution.
const contentPrefixSource = readFile('src/nls-fix.js')
.contents.toString('utf-8')
.replace(/\r\n|\n/g, ' ');
// TODO: Instead of adding this source to the header to maintain the source map indices, it should rewrite the sourcemap!
const searchValue = 'https://github.com/microsoft/vscode/blob/main/LICENSE.txt';
contents = contents.replace(searchValue, searchValue + ' */ ' + contentPrefixSource + ' /*');
const pluginFiles = readFiles(`out/languages/bundled/amd-${type}/**/monaco.contribution.js`, { const pluginFiles = readFiles(`out/languages/bundled/amd-${type}/**/monaco.contribution.js`, {
base: `out/languages/bundled/amd-${type}` base: `out/languages/bundled/amd-${type}`
}); });

View file

@ -268,16 +268,18 @@ export function readFiles(
}); });
const base = options.base; const base = options.base;
return files.map((file) => readFile(file, base));
}
export function readFile(file: string, base: string = '') {
const baseLength = base === '' ? 0 : base.endsWith('/') ? base.length : base.length + 1; const baseLength = base === '' ? 0 : base.endsWith('/') ? base.length : base.length + 1;
return files.map((file) => { const fullPath = path.join(REPO_ROOT, file);
const fullPath = path.join(REPO_ROOT, file); const contents = fs.readFileSync(fullPath);
const contents = fs.readFileSync(fullPath); const relativePath = file.substring(baseLength);
const relativePath = file.substring(baseLength); return {
return { path: relativePath,
path: relativePath, contents
contents };
};
});
} }
export function writeFiles(files: IFile[], dest: string) { export function writeFiles(files: IFile[], dest: string) {

274
package-lock.json generated
View file

@ -1,12 +1,12 @@
{ {
"name": "monaco-editor", "name": "monaco-editor",
"version": "0.48.0", "version": "0.52.0",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "monaco-editor", "name": "monaco-editor",
"version": "0.48.0", "version": "0.52.0",
"hasInstallScript": true, "hasInstallScript": true,
"license": "MIT", "license": "MIT",
"devDependencies": { "devDependencies": {
@ -25,25 +25,25 @@
"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-rc", "monaco-editor-core": "0.52.0-rc2",
"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",
"prettier": "^2.5.1", "prettier": "^2.5.1",
"pretty-quick": "^3.1.3", "pretty-quick": "^3.1.3",
"requirejs": "^2.3.6", "requirejs": "^2.3.7",
"shelljs": "^0.8.5", "shelljs": "^0.8.5",
"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-rc", "version": "0.52.0-rc2",
"resolved": "https://registry.npmjs.org/monaco-editor-core/-/monaco-editor-core-0.48.0-rc.tgz", "resolved": "https://registry.npmjs.org/monaco-editor-core/-/monaco-editor-core-0.52.0-rc2.tgz",
"integrity": "sha512-e/k+px1voI36YTd/tae6s6GBqFSWybH0coMDCaHwDwYND85mcNzNw3UB6HIrU7NY2qPtLSTdbS3RFat8QUyrgw==", "integrity": "sha512-buoH7pURwcTnmnO+aQ69jlbJ1Nop7w3sQm1pmBJ6pr/M9/WhAD2GsgL/bOf7kK+Vzd9FlzitlThImezQ28s9+g==",
"dev": true "dev": true
}, },
"node_modules/mri": { "node_modules/mri": {
@ -6315,9 +6321,9 @@
} }
}, },
"node_modules/requirejs": { "node_modules/requirejs": {
"version": "2.3.6", "version": "2.3.7",
"resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz", "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.7.tgz",
"integrity": "sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==", "integrity": "sha512-DouTG8T1WanGok6Qjg2SXuCMzszOo0eHeH9hDZ5Y4x8Je+9JB38HdTLT4/VA8OaUhBa0JPVHJ0pyBkM1z+pDsw==",
"dev": true, "dev": true,
"bin": { "bin": {
"r_js": "bin/r.js", "r_js": "bin/r.js",
@ -6360,9 +6366,9 @@
} }
}, },
"node_modules/rollup": { "node_modules/rollup": {
"version": "2.79.1", "version": "2.79.2",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz",
"integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==",
"dev": true, "dev": true,
"bin": { "bin": {
"rollup": "dist/bin/rollup" "rollup": "dist/bin/rollup"
@ -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-rc", "version": "0.52.0-rc2",
"resolved": "https://registry.npmjs.org/monaco-editor-core/-/monaco-editor-core-0.48.0-rc.tgz", "resolved": "https://registry.npmjs.org/monaco-editor-core/-/monaco-editor-core-0.52.0-rc2.tgz",
"integrity": "sha512-e/k+px1voI36YTd/tae6s6GBqFSWybH0coMDCaHwDwYND85mcNzNw3UB6HIrU7NY2qPtLSTdbS3RFat8QUyrgw==", "integrity": "sha512-buoH7pURwcTnmnO+aQ69jlbJ1Nop7w3sQm1pmBJ6pr/M9/WhAD2GsgL/bOf7kK+Vzd9FlzitlThImezQ28s9+g==",
"dev": true "dev": true
}, },
"mri": { "mri": {
@ -11816,9 +11822,9 @@
"dev": true "dev": true
}, },
"requirejs": { "requirejs": {
"version": "2.3.6", "version": "2.3.7",
"resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz", "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.7.tgz",
"integrity": "sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==", "integrity": "sha512-DouTG8T1WanGok6Qjg2SXuCMzszOo0eHeH9hDZ5Y4x8Je+9JB38HdTLT4/VA8OaUhBa0JPVHJ0pyBkM1z+pDsw==",
"dev": true "dev": true
}, },
"requires-port": { "requires-port": {
@ -11845,9 +11851,9 @@
"dev": true "dev": true
}, },
"rollup": { "rollup": {
"version": "2.79.1", "version": "2.79.2",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz",
"integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"fsevents": "~2.3.2" "fsevents": "~2.3.2"
@ -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.48.0", "version": "0.52.0",
"vscodeRef": "e170252f762678dec6ca2cc69aba1570769a5d39", "vscodeRef": "493330cdc6475247184ea459c66776c3da12cd2d",
"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,25 +52,25 @@
"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-rc", "monaco-editor-core": "0.52.0-rc2",
"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",
"prettier": "^2.5.1", "prettier": "^2.5.1",
"pretty-quick": "^3.1.3", "pretty-quick": "^3.1.3",
"requirejs": "^2.3.6", "requirejs": "^2.3.7",
"shelljs": "^0.8.5", "shelljs": "^0.8.5",
"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

@ -16,7 +16,6 @@
var require = { paths: { vs: '../node_modules/monaco-editor/min/vs' } }; var require = { paths: { vs: '../node_modules/monaco-editor/min/vs' } };
</script> </script>
<script src="../node_modules/monaco-editor/min/vs/loader.js"></script> <script src="../node_modules/monaco-editor/min/vs/loader.js"></script>
<script src="../node_modules/monaco-editor/min/vs/editor/editor.main.nls.js"></script>
<script src="../node_modules/monaco-editor/min/vs/editor/editor.main.js"></script> <script src="../node_modules/monaco-editor/min/vs/editor/editor.main.js"></script>
<script> <script>

File diff suppressed because it is too large Load diff

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

@ -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

@ -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(

39
src/nls-fix.js Normal file
View file

@ -0,0 +1,39 @@
/* This fix ensures that old nls-plugin configurations are still respected by the new localization solution. */
/* We should try to avoid this file and find a different solution. */
/* Warning: This file still has to work when replacing "\n" with " "! */
/**
* @type {typeof define}
*/
const globalDefine = globalThis.define;
globalDefine('vs/nls.messages-loader', [], function (...args) {
return {
load: (name, req, load, config) => {
const requestedLanguage = config['vs/nls']?.availableLanguages?.['*'];
if (!requestedLanguage || requestedLanguage === 'en') {
load({});
} else {
req([`vs/nls.messages.${requestedLanguage}`], () => {
load({});
});
}
}
};
});
globalDefine(
'vs/nls.messages',
['require', 'exports', 'vs/nls.messages-loader!'],
function (require, exports) {
Object.assign(exports, {
getNLSMessages: () => globalThis._VSCODE_NLS_MESSAGES,
getNLSLanguage: () => globalThis._VSCODE_NLS_LANGUAGE
});
}
);
define = function (...args) {
if (args.length > 0 && args[0] === 'vs/nls.messages') {
return;
}
return globalDefine(...args);
};
define.amd = true;

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

@ -35,7 +35,9 @@ global.window = {
matches: false, matches: false,
addEventListener: function () {} addEventListener: function () {}
}; };
} },
setInterval: function () {},
setTimeout: function () {}
}; };
requirejs( requirejs(

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

@ -9,7 +9,6 @@
paths: { vs: "node_modules/monaco-editor/min/vs" }, paths: { vs: "node_modules/monaco-editor/min/vs" },
}; };
require("script-loader!../../node_modules/monaco-editor/min/vs/loader"); require("script-loader!../../node_modules/monaco-editor/min/vs/loader");
require("script-loader!../../node_modules/monaco-editor/min/vs/editor/editor.main.nls.js");
require("script-loader!../../node_modules/monaco-editor/min/vs/editor/editor.main.js"); require("script-loader!../../node_modules/monaco-editor/min/vs/editor/editor.main.js");
import { loadMonaco } from "../monaco-loader"; import { loadMonaco } from "../monaco-loader";

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,13 +38,18 @@ export class LocationModel implements IHistoryModel {
*/ */
@observable historyId: number = 0; @observable historyId: number = 0;
constructor(private readonly model: PlaygroundModel) { constructor(
this.dispose.track( private readonly model: PlaygroundModel,
new HistoryController((initialLocation) => { createHistoryController = true
this.updateLocation(initialLocation); ) {
return this; if (createHistoryController) {
}) this.dispose.track(
); new HistoryController((initialLocation) => {
this.updateLocation(initialLocation);
return this;
})
);
}
} }
get location(): ILocation { get location(): ILocation {

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);
localStorage.setItem(this.settingsKey, settingsJson); try {
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

@ -5338,7 +5338,6 @@ return {
}; };
</script> </script>
<script src="./node_modules/monaco-editor/dev/vs/loader.js"></script> <script src="./node_modules/monaco-editor/dev/vs/loader.js"></script>
<script src="./node_modules/monaco-editor/dev/vs/editor/editor.main.nls.js"></script>
<script src="./node_modules/monaco-editor/dev/vs/editor/editor.main.js"></script> <script src="./node_modules/monaco-editor/dev/vs/editor/editor.main.js"></script>
<script data-inline="yes-please" src="./monarch/monarch.js"></script> <script data-inline="yes-please" src="./monarch/monarch.js"></script>

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.3:
version "1.20.0" version "1.20.3"
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.3.tgz#1953431221c6fb5cd63c4b36d53fab0928e548c6"
integrity sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg== integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==
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.13.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"
@ -842,7 +846,14 @@ brace-expansion@^2.0.1:
dependencies: dependencies:
balanced-match "^1.0.0" balanced-match "^1.0.0"
braces@^3.0.2, braces@~3.0.2: braces@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789"
integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==
dependencies:
fill-range "^7.1.1"
braces@~3.0.2:
version "3.0.2" version "3.0.2"
resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
@ -874,13 +885,16 @@ bytes@3.1.2:
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5"
integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
call-bind@^1.0.0: call-bind@^1.0.7:
version "1.0.2" version "1.0.7"
resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9"
integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==
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"
camel-case@^4.1.2: camel-case@^4.1.2:
version "4.1.2" version "4.1.2"
@ -1031,15 +1045,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.7.1:
version "0.5.0" version "0.7.1"
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.1.tgz#2f73c42142d5d5cf71310a74fc4ae61670e5dbc9"
integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== integrity sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==
copy-webpack-plugin@^11.0.0: copy-webpack-plugin@^11.0.0:
version "11.0.0" version "11.0.0"
@ -1138,6 +1157,15 @@ default-gateway@^6.0.3:
dependencies: dependencies:
execa "^5.0.0" execa "^5.0.0"
define-data-property@^1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e"
integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==
dependencies:
es-define-property "^1.0.0"
es-errors "^1.3.0"
gopd "^1.0.1"
define-lazy-prop@^2.0.0: define-lazy-prop@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f"
@ -1283,6 +1311,11 @@ encodeurl@~1.0.2:
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
encodeurl@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58"
integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==
enhanced-resolve@^5.0.0: enhanced-resolve@^5.0.0:
version "5.10.0" version "5.10.0"
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz#0dc579c3bb2a1032e357ac45b8f3a6f3ad4fb1e6" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz#0dc579c3bb2a1032e357ac45b8f3a6f3ad4fb1e6"
@ -1309,6 +1342,18 @@ envinfo@^7.7.3:
resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475"
integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==
es-define-property@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845"
integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==
dependencies:
get-intrinsic "^1.2.4"
es-errors@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f"
integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==
es-module-lexer@^1.2.1: es-module-lexer@^1.2.1:
version "1.4.1" version "1.4.1"
resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz#41ea21b43908fe6a287ffcbe4300f790555331f5" resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz#41ea21b43908fe6a287ffcbe4300f790555331f5"
@ -1380,36 +1425,36 @@ 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.21.1"
resolved "https://registry.yarnpkg.com/express/-/express-4.18.1.tgz#7797de8b9c72c857b9cd0e14a5eea80666267caf" resolved "https://registry.yarnpkg.com/express/-/express-4.21.1.tgz#9dae5dda832f16b4eec941a4e44aa89ec481b281"
integrity sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q== integrity sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==
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.3"
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.7.1"
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"
encodeurl "~1.0.2" encodeurl "~2.0.0"
escape-html "~1.0.3" escape-html "~1.0.3"
etag "~1.8.1" etag "~1.8.1"
finalhandler "1.2.0" finalhandler "1.3.1"
fresh "0.5.2" fresh "0.5.2"
http-errors "2.0.0" http-errors "2.0.0"
merge-descriptors "1.0.1" merge-descriptors "1.0.3"
methods "~1.1.2" methods "~1.1.2"
on-finished "2.4.1" on-finished "2.4.1"
parseurl "~1.3.3" parseurl "~1.3.3"
path-to-regexp "0.1.7" path-to-regexp "0.1.10"
proxy-addr "~2.0.7" proxy-addr "~2.0.7"
qs "6.10.3" qs "6.13.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.19.0"
serve-static "1.15.0" serve-static "1.16.2"
setprototypeof "1.2.0" setprototypeof "1.2.0"
statuses "2.0.1" statuses "2.0.1"
type-is "~1.6.18" type-is "~1.6.18"
@ -1471,13 +1516,20 @@ fill-range@^7.0.1:
dependencies: dependencies:
to-regex-range "^5.0.1" to-regex-range "^5.0.1"
finalhandler@1.2.0: fill-range@^7.1.1:
version "1.2.0" version "7.1.1"
resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292"
integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==
dependencies:
to-regex-range "^5.0.1"
finalhandler@1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.3.1.tgz#0c575f1d1d324ddd1da35ad7ece3df7d19088019"
integrity sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==
dependencies: dependencies:
debug "2.6.9" debug "2.6.9"
encodeurl "~1.0.2" encodeurl "~2.0.0"
escape-html "~1.0.3" escape-html "~1.0.3"
on-finished "2.4.1" on-finished "2.4.1"
parseurl "~1.3.3" parseurl "~1.3.3"
@ -1527,14 +1579,21 @@ function-bind@^1.1.1:
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
get-intrinsic@^1.0.2: function-bind@^1.1.2:
version "1.1.2" version "1.1.2"
resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.2.tgz#336975123e05ad0b7ba41f152ee4aadbea6cf598" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c"
integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA== integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
get-intrinsic@^1.1.3, get-intrinsic@^1.2.4:
version "1.2.4"
resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd"
integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==
dependencies: dependencies:
function-bind "^1.1.1" es-errors "^1.3.0"
has "^1.0.3" function-bind "^1.1.2"
has-proto "^1.0.1"
has-symbols "^1.0.3" has-symbols "^1.0.3"
hasown "^2.0.0"
get-stream@^6.0.0: get-stream@^6.0.0:
version "6.0.1" version "6.0.1"
@ -1604,6 +1663,13 @@ globby@^6.1.0:
pify "^2.0.0" pify "^2.0.0"
pinkie-promise "^2.0.0" pinkie-promise "^2.0.0"
gopd@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c"
integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==
dependencies:
get-intrinsic "^1.1.3"
graceful-fs@^4.1.2, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: graceful-fs@^4.1.2, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9:
version "4.2.10" version "4.2.10"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
@ -1626,6 +1692,18 @@ has-flag@^4.0.0:
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
has-property-descriptors@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854"
integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==
dependencies:
es-define-property "^1.0.0"
has-proto@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd"
integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==
has-symbols@^1.0.3: has-symbols@^1.0.3:
version "1.0.3" version "1.0.3"
resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
@ -1638,6 +1716,13 @@ has@^1.0.3:
dependencies: dependencies:
function-bind "^1.1.1" function-bind "^1.1.1"
hasown@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003"
integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==
dependencies:
function-bind "^1.1.2"
he@^1.2.0: he@^1.2.0:
version "1.2.0" version "1.2.0"
resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
@ -1732,9 +1817,9 @@ http-parser-js@>=0.5.1:
integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==
http-proxy-middleware@^2.0.3: http-proxy-middleware@^2.0.3:
version "2.0.6" version "2.0.7"
resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz#e1a4dd6979572c7ab5a4e4b55095d1f32a74963f" resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz#915f236d92ae98ef48278a95dedf17e991936ec6"
integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== integrity sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==
dependencies: dependencies:
"@types/http-proxy" "^1.17.8" "@types/http-proxy" "^1.17.8"
http-proxy "^1.18.1" http-proxy "^1.18.1"
@ -2054,7 +2139,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==
@ -2071,10 +2156,10 @@ memfs@^3.4.3:
dependencies: dependencies:
fs-monkey "^1.0.3" fs-monkey "^1.0.3"
merge-descriptors@1.0.1: merge-descriptors@1.0.3:
version "1.0.1" version "1.0.3"
resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz#d80319a65f3c7935351e5cfdac8f9318504dbed5"
integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== integrity sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==
merge-stream@^2.0.0: merge-stream@^2.0.0:
version "2.0.0" version "2.0.0"
@ -2097,11 +2182,11 @@ methods@~1.1.2:
integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==
micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4: micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4:
version "4.0.5" version "4.0.8"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202"
integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==
dependencies: dependencies:
braces "^3.0.2" braces "^3.0.3"
picomatch "^2.3.1" picomatch "^2.3.1"
mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": mime-db@1.52.0, "mime-db@>= 1.43.0 < 2":
@ -2145,13 +2230,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 +2237,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"
@ -2271,10 +2356,10 @@ object-assign@^4.0.1, object-assign@^4.1.1:
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
object-inspect@^1.9.0: object-inspect@^1.13.1:
version "1.12.2" version "1.13.2"
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.2.tgz#dea0088467fb991e67af4058147a24824a3043ff"
integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== integrity sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==
obuf@^1.0.0, obuf@^1.1.2: obuf@^1.0.0, obuf@^1.1.2:
version "1.1.2" version "1.1.2"
@ -2407,10 +2492,10 @@ path-scurry@^1.6.1:
lru-cache "^7.14.1" lru-cache "^7.14.1"
minipass "^4.0.2" minipass "^4.0.2"
path-to-regexp@0.1.7: path-to-regexp@0.1.10:
version "0.1.7" version "0.1.10"
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.10.tgz#67e9108c5c0551b9e5326064387de4763c4d5f8b"
integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== integrity sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==
path-type@^4.0.0: path-type@^4.0.0:
version "4.0.0" version "4.0.0"
@ -2558,12 +2643,12 @@ 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.13.0:
version "6.10.3" version "6.13.0"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e" resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906"
integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ== integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==
dependencies: dependencies:
side-channel "^1.0.4" side-channel "^1.0.6"
queue-microtask@^1.2.2: queue-microtask@^1.2.2:
version "1.2.3" version "1.2.3"
@ -2582,10 +2667,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"
@ -2887,10 +2972,10 @@ semver@^7.3.4:
dependencies: dependencies:
lru-cache "^6.0.0" lru-cache "^6.0.0"
send@0.18.0: send@0.19.0:
version "0.18.0" version "0.19.0"
resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" resolved "https://registry.yarnpkg.com/send/-/send-0.19.0.tgz#bbc5a388c8ea6c048967049dbeac0e4a3f09d7f8"
integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==
dependencies: dependencies:
debug "2.6.9" debug "2.6.9"
depd "2.0.0" depd "2.0.0"
@ -2933,15 +3018,27 @@ serve-index@^1.9.1:
mime-types "~2.1.17" mime-types "~2.1.17"
parseurl "~1.3.2" parseurl "~1.3.2"
serve-static@1.15.0: serve-static@1.16.2:
version "1.15.0" version "1.16.2"
resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.16.2.tgz#b6a5343da47f6bdd2673848bf45754941e803296"
integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== integrity sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==
dependencies: dependencies:
encodeurl "~1.0.2" encodeurl "~2.0.0"
escape-html "~1.0.3" escape-html "~1.0.3"
parseurl "~1.3.3" parseurl "~1.3.3"
send "0.18.0" send "0.19.0"
set-function-length@^1.2.1:
version "1.2.2"
resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449"
integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==
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"
setprototypeof@1.1.0: setprototypeof@1.1.0:
version "1.1.0" version "1.1.0"
@ -2972,24 +3069,25 @@ 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"
vscode-oniguruma "^1.7.0" vscode-oniguruma "^1.7.0"
vscode-textmate "^8.0.0" vscode-textmate "^8.0.0"
side-channel@^1.0.4: side-channel@^1.0.6:
version "1.0.4" version "1.0.6"
resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2"
integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==
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"
signal-exit@^3.0.3: signal-exit@^3.0.3:
version "3.0.7" version "3.0.7"
@ -3233,20 +3331,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"