Merge branch 'main' into feature/custom-keybinding-example

This commit is contained in:
tamayika 2023-03-20 21:19:47 +09:00 committed by GitHub
commit 047133aeb3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
32 changed files with 169425 additions and 164205 deletions

View file

@ -6,7 +6,8 @@
"build-webpack": "webpack --mode production",
"build": "yarn typedoc && yarn build-webpack",
"dev-disk": "webpack --mode development --watch",
"typedoc": "typedoc --options ./typedoc/typedoc.json"
"typedoc": "typedoc --options ./typedoc/typedoc.json",
"test": "yarn ts-node scripts/check-playground-samples-js.ts"
},
"dependencies": {
"@popperjs/core": "^2.11.5",
@ -27,10 +28,11 @@
"react": "^17.0.2",
"react-bootstrap": "^2.4.0",
"react-dom": "^17.0.2",
"typedoc": "^0.23.24"
"typedoc": "^0.23.26"
},
"devDependencies": {
"@types/classnames": "^2.3.1",
"@types/glob": "^8.1.0",
"@types/html-webpack-plugin": "^3.2.2",
"@types/react": "^17.0.3",
"@types/react-dom": "^17.0.3",
@ -39,6 +41,7 @@
"copy-webpack-plugin": "^11.0.0",
"css-loader": "^3.5.1",
"file-loader": "^6.0.0",
"glob": "^9.2.1",
"html-webpack-plugin": "^5.5.0",
"raw-loader": "^4.0.2",
"sass": "^1.32.8",
@ -47,8 +50,8 @@
"style-loader": "^1.1.3",
"ts-loader": "^9.3.1",
"ts-node": "^10.9.1",
"typescript": "^4.7.4",
"webpack": "^5.74.0",
"typescript": "^5.0.2",
"webpack": "^5.76.0",
"webpack-bundle-analyzer": "^4.5.0",
"webpack-cli": "^4.10.0",
"webpack-dev-server": "^4.9.3"

View file

@ -0,0 +1,56 @@
import { spawn } from "child_process";
import { globSync } from "glob";
import { exit } from "process";
(async () => {
let someFileError = false;
const files = globSync("src/website/data/playground-samples/*/*/*.js");
type Result = { file: string; status: number; stdout: string };
const promises: Promise<Result>[] = [];
for (const file of files) {
promises.push(
new Promise<Result>((resolve) => {
const process = spawn(
"yarn",
[
"tsc",
"--noEmit",
"--allowJs",
"--checkJs",
"--skipLibCheck",
"../out/monaco-editor/monaco.d.ts",
file,
],
{ shell: true }
);
let buffer = "";
process.on("exit", () => {
resolve({
file: file,
status: process.exitCode ?? 1,
stdout: buffer,
});
});
process.stdout.on("data", (data) => {
buffer += data.toString();
});
process.stderr.on("data", (data) => {
buffer += data.toString();
});
})
);
}
for (const promise of promises) {
const result = await promise;
console.log(result.file);
if (result.status != 0) {
console.log(result.stdout.toString());
someFileError = true;
}
}
if (someFileError) {
console.error("Some files had type errors.");
exit(1);
}
})();

View file

@ -1,4 +1,4 @@
// The colorizeElement-function will read the data-lang-attribute
// from the element to select the correct language mode. In this
// sample it is text/css.
monaco.editor.colorizeElement(document.getElementById("code"));
monaco.editor.colorizeElement(document.getElementById("code"), {});

View file

@ -3,7 +3,7 @@
monaco.editor.defineTheme("myTheme", {
base: "vs",
inherit: true,
rules: [{ background: "EDF9FA" }],
rules: [],
colors: {
"editor.foreground": "#000000",
"editor.background": "#EDF9FA",

View file

@ -11,7 +11,7 @@ monaco.languages.typescript.javascriptDefaults.setDiagnosticsOptions({
// compiler options
monaco.languages.typescript.javascriptDefaults.setCompilerOptions({
target: monaco.languages.typescript.ScriptTarget.ES6,
target: monaco.languages.typescript.ScriptTarget.ES2015,
allowNonTsExtensions: true,
});

View file

@ -30,12 +30,20 @@ monaco.editor.defineTheme("myCoolTheme", {
// Register a completion item provider for the new language
monaco.languages.registerCompletionItemProvider("mySpecialLanguage", {
provideCompletionItems: () => {
provideCompletionItems: (model, position) => {
var word = model.getWordUntilPosition(position);
var range = {
startLineNumber: position.lineNumber,
endLineNumber: position.lineNumber,
startColumn: word.startColumn,
endColumn: word.endColumn,
};
var suggestions = [
{
label: "simpleText",
kind: monaco.languages.CompletionItemKind.Text,
insertText: "simpleText",
range: range,
},
{
label: "testing",
@ -44,6 +52,7 @@ monaco.languages.registerCompletionItemProvider("mySpecialLanguage", {
insertTextRules:
monaco.languages.CompletionItemInsertTextRule
.InsertAsSnippet,
range: range,
},
{
label: "ifelse",
@ -59,6 +68,7 @@ monaco.languages.registerCompletionItemProvider("mySpecialLanguage", {
monaco.languages.CompletionItemInsertTextRule
.InsertAsSnippet,
documentation: "If-Else Statement",
range: range,
},
];
return { suggestions: suggestions };

View file

@ -11,34 +11,37 @@ const editor = monaco.editor.create(document.getElementById("container"), {
monaco.languages.registerInlayHintsProvider("javascript", {
provideInlayHints(model, range, token) {
return [
{
kind: monaco.languages.InlayHintKind.Type,
position: { column: 13, lineNumber: 4 },
text: `: Number`,
},
{
kind: monaco.languages.InlayHintKind.Type,
position: { column: 13, lineNumber: 2 },
text: `: Number`,
},
{
kind: monaco.languages.InlayHintKind.Type,
position: { column: 16, lineNumber: 2 },
text: `: Number`,
whitespaceBefore: true, // see difference between a and b parameter
},
{
kind: monaco.languages.InlayHintKind.Parameter,
position: { column: 18, lineNumber: 4 },
text: `a:`,
},
{
kind: monaco.languages.InlayHintKind.Parameter,
position: { column: 21, lineNumber: 4 },
text: `b:`,
whitespaceAfter: true, // similar to whitespaceBefore
},
];
return {
hints: [
{
kind: monaco.languages.InlayHintKind.Type,
position: { column: 13, lineNumber: 4 },
label: `: Number`,
},
{
kind: monaco.languages.InlayHintKind.Type,
position: { column: 13, lineNumber: 2 },
label: `: Number`,
},
{
kind: monaco.languages.InlayHintKind.Type,
position: { column: 16, lineNumber: 2 },
label: `: Number`,
whitespaceBefore: true, // see difference between a and b parameter
},
{
kind: monaco.languages.InlayHintKind.Parameter,
position: { column: 18, lineNumber: 4 },
label: `a:`,
},
{
kind: monaco.languages.InlayHintKind.Parameter,
position: { column: 21, lineNumber: 4 },
label: `b:`,
whitespaceAfter: true, // similar to whitespaceBefore
},
],
dispose: () => {},
};
},
});

View file

@ -28,15 +28,16 @@ editor.addCommand(
monaco.KeyCode.Tab,
function () {
// services available in `ctx`
alert("my command is executing!");
console.log("my command is executing!");
},
"myCondition1 && myCondition2"
);
// @ts-ignore
myCondition1.set(true);
setTimeout(function () {
alert("now enabling also myCondition2, try pressing Tab!");
console.log("now enabling also myCondition2, try pressing Tab!");
// @ts-ignore
myCondition2.set(true);
// you can use myCondition2.reset() to go back to the default
}, 2000);

View file

@ -15,19 +15,16 @@ var editor = monaco.editor.create(document.getElementById("container"), {
language: "javascript",
});
var decorations = editor.deltaDecorations(
[],
[
{
range: new monaco.Range(3, 1, 5, 1),
options: {
isWholeLine: true,
linesDecorationsClassName: "myLineDecoration",
},
var decorations = editor.createDecorationsCollection([
{
range: new monaco.Range(3, 1, 5, 1),
options: {
isWholeLine: true,
linesDecorationsClassName: "myLineDecoration",
},
{
range: new monaco.Range(7, 1, 7, 24),
options: { inlineClassName: "myInlineDecoration" },
},
]
);
},
{
range: new monaco.Range(7, 1, 7, 24),
options: { inlineClassName: "myInlineDecoration" },
},
]);

View file

@ -17,19 +17,16 @@ var editor = monaco.editor.create(document.getElementById("container"), {
contextmenu: false,
});
var decorations = editor.deltaDecorations(
[],
[
{
range: new monaco.Range(3, 1, 3, 1),
options: {
isWholeLine: true,
className: "myContentClass",
glyphMarginClassName: "myGlyphMarginClass",
},
var decorations = editor.createDecorationsCollection([
{
range: new monaco.Range(3, 1, 3, 1),
options: {
isWholeLine: true,
className: "myContentClass",
glyphMarginClassName: "myGlyphMarginClass",
},
]
);
},
]);
// Add a zone to make hit testing more interesting
var viewZoneId = null;
@ -45,16 +42,16 @@ editor.changeViewZones(function (changeAccessor) {
// Add a content widget (scrolls inline with text)
var contentWidget = {
domNode: null,
domNode: (function () {
var domNode = document.createElement("div");
domNode.innerHTML = "My content widget";
domNode.style.background = "grey";
return domNode;
})(),
getId: function () {
return "my.content.widget";
},
getDomNode: function () {
if (!this.domNode) {
this.domNode = document.createElement("div");
this.domNode.innerHTML = "My content widget";
this.domNode.style.background = "grey";
}
return this.domNode;
},
getPosition: function () {
@ -74,18 +71,18 @@ editor.addContentWidget(contentWidget);
// Add an overlay widget
var overlayWidget = {
domNode: null,
domNode: (function () {
var domNode = document.createElement("div");
domNode.innerHTML = "My overlay widget";
domNode.style.background = "grey";
domNode.style.right = "30px";
domNode.style.top = "50px";
return domNode;
})(),
getId: function () {
return "my.overlay.widget";
},
getDomNode: function () {
if (!this.domNode) {
this.domNode = document.createElement("div");
this.domNode.innerHTML = "My overlay widget";
this.domNode.style.background = "grey";
this.domNode.style.right = "30px";
this.domNode.style.top = "50px";
}
return this.domNode;
},
getPosition: function () {

View file

@ -16,18 +16,15 @@ var editor = monaco.editor.create(document.getElementById("container"), {
glyphMargin: true,
});
var decorations = editor.deltaDecorations(
[],
[
{
range: new monaco.Range(3, 1, 3, 1),
options: {
isWholeLine: true,
className: "myContentClass",
glyphMarginClassName: "myGlyphMarginClass",
},
var decorations = editor.createDecorationsCollection([
{
range: new monaco.Range(3, 1, 3, 1),
options: {
isWholeLine: true,
className: "myContentClass",
glyphMarginClassName: "myGlyphMarginClass",
},
]
);
},
]);
// You can now use `decorations` to change or remove the decoration

View file

@ -21,7 +21,7 @@ export class Preview
<iframe
className="full-iframe"
key={this.counter}
sandbox="allow-scripts"
sandbox="allow-scripts allow-modals"
frameBorder={0}
ref={this.handleIframe}
src="./playgroundRunner.html"

View file

@ -264,6 +264,14 @@
"@types/minimatch" "*"
"@types/node" "*"
"@types/glob@^8.1.0":
version "8.1.0"
resolved "https://registry.yarnpkg.com/@types/glob/-/glob-8.1.0.tgz#b63e70155391b0584dce44e7ea25190bbc38f2fc"
integrity sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==
dependencies:
"@types/minimatch" "^5.1.2"
"@types/node" "*"
"@types/html-minifier-terser@^6.0.0":
version "6.1.0"
resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35"
@ -309,6 +317,11 @@
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40"
integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==
"@types/minimatch@^5.1.2":
version "5.1.2"
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca"
integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==
"@types/node@*", "@types/node@^18.6.1":
version "18.6.1"
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.6.1.tgz#828e4785ccca13f44e2fb6852ae0ef11e3e20ba5"
@ -668,6 +681,11 @@ ansi-regex@^5.0.1:
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
ansi-sequence-parser@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/ansi-sequence-parser/-/ansi-sequence-parser-1.1.0.tgz#4d790f31236ac20366b23b3916b789e1bde39aed"
integrity sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==
ansi-styles@^4.1.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
@ -1515,6 +1533,16 @@ glob@^7.0.3, glob@^7.1.3:
once "^1.3.0"
path-is-absolute "^1.0.0"
glob@^9.2.1:
version "9.2.1"
resolved "https://registry.yarnpkg.com/glob/-/glob-9.2.1.tgz#f47e34e1119e7d4f93a546e75851ba1f1e68de50"
integrity sha512-Pxxgq3W0HyA3XUvSXcFhRSs+43Jsx0ddxcFrbjxNGkL2Ak5BAUBxLqI5G6ADDeCHLfzzXFhe0b1yYcctGmytMA==
dependencies:
fs.realpath "^1.0.0"
minimatch "^7.4.1"
minipass "^4.2.4"
path-scurry "^1.6.1"
globby@^13.1.1:
version "13.1.3"
resolved "https://registry.yarnpkg.com/globby/-/globby-13.1.3.tgz#f62baf5720bcb2c1330c8d4ef222ee12318563ff"
@ -1967,6 +1995,11 @@ lru-cache@^6.0.0:
dependencies:
yallist "^4.0.0"
lru-cache@^7.14.1:
version "7.18.1"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.1.tgz#4716408dec51d5d0104732647f584d1f6738b109"
integrity sha512-8/HcIENyQnfUTCDizRu9rrDyG6XG/21M4X7/YEGZeD76ZJilFPAUVb/2zysFf7VVO1LEjCDFyHp8pMMvozIrvg==
lunr@^2.3.9:
version "2.3.9"
resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1"
@ -1982,7 +2015,7 @@ make-error@^1.1.1:
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
marked@^4.2.5:
marked@^4.2.12:
version "4.2.12"
resolved "https://registry.yarnpkg.com/marked/-/marked-4.2.12.tgz#d69a64e21d71b06250da995dcd065c11083bebb5"
integrity sha512-yr8hSKa3Fv4D3jdZmtMMPghgVt6TWbk86WQaWhDloQjRSQhMMYCAro7jP7VDJrjjdV8pxVxMssXS8B8Y5DZ5aw==
@ -2073,10 +2106,10 @@ minimatch@^3.1.1:
dependencies:
brace-expansion "^1.1.7"
minimatch@^5.1.2:
version "5.1.6"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96"
integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==
minimatch@^7.1.3, minimatch@^7.4.1:
version "7.4.2"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-7.4.2.tgz#157e847d79ca671054253b840656720cb733f10f"
integrity sha512-xy4q7wou3vUoC9k1xGTXc+awNdGaGVHtFUaey8tiX4H1QRc04DZ/rmDFwNm2EBsuYEhAZ6SgMmYf3InGY6OauA==
dependencies:
brace-expansion "^2.0.1"
@ -2085,6 +2118,11 @@ minimist@^1.2.0:
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
minipass@^4.0.2, minipass@^4.2.4:
version "4.2.4"
resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.4.tgz#7d0d97434b6a19f59c5c3221698b48bbf3b2cd06"
integrity sha512-lwycX3cBMTvcejsHITUgYj6Gy6A7Nh4Q6h9NP4sTHY1ccJlC7yKzDmiShEHsJ16Jf1nKGDEaiHxiltsJEvk0nQ==
mobx-react-lite@^2.2.0:
version "2.2.2"
resolved "https://registry.yarnpkg.com/mobx-react-lite/-/mobx-react-lite-2.2.2.tgz#87c217dc72b4e47b22493daf155daf3759f868a6"
@ -2315,6 +2353,14 @@ path-parse@^1.0.7:
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
path-scurry@^1.6.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.6.1.tgz#dab45f7bb1d3f45a0e271ab258999f4ab7e23132"
integrity sha512-OW+5s+7cw6253Q4E+8qQ/u1fVvcJQCJo/VFD8pje+dbJCF1n5ZRMV2AEHbGp+5Q7jxQIYJxkHopnj6nzdGeZLA==
dependencies:
lru-cache "^7.14.1"
minipass "^4.0.2"
path-to-regexp@0.1.7:
version "0.1.7"
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
@ -2864,11 +2910,12 @@ shebang-regex@^3.0.0:
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
shiki@^0.12.1:
version "0.12.1"
resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.12.1.tgz#26fce51da12d055f479a091a5307470786f300cd"
integrity sha512-aieaV1m349rZINEBkjxh2QbBvFFQOlgqYTNtCal82hHj4dDZ76oMlQIX+C7ryerBTDiga3e5NfH6smjdJ02BbQ==
shiki@^0.14.1:
version "0.14.1"
resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.14.1.tgz#9fbe082d0a8aa2ad63df4fbf2ee11ec924aa7ee1"
integrity sha512-+Jz4nBkCBe0mEDqo1eKRcCdjRtrCjozmcbTUjbPTX7OOJfEbTZzlUWlZtGe3Gb5oV1/jnojhG//YZc3rs9zSEw==
dependencies:
ansi-sequence-parser "^1.1.0"
jsonc-parser "^3.2.0"
vscode-oniguruma "^1.7.0"
vscode-textmate "^8.0.0"
@ -3114,20 +3161,20 @@ type-is@~1.6.18:
media-typer "0.3.0"
mime-types "~2.1.24"
typedoc@^0.23.24:
version "0.23.24"
resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.23.24.tgz#01cf32c09f2c19362e72a9ce1552d6e5b48c4fef"
integrity sha512-bfmy8lNQh+WrPYcJbtjQ6JEEsVl/ce1ZIXyXhyW+a1vFrjO39t6J8sL/d6FfAGrJTc7McCXgk9AanYBSNvLdIA==
typedoc@^0.23.26:
version "0.23.26"
resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.23.26.tgz#ae082683698bad68757d8fe619242a56d6b5bf36"
integrity sha512-5m4KwR5tOLnk0OtMaRn9IdbeRM32uPemN9kur7YK9wFqx8U0CYrvO9aVq6ysdZSV1c824BTm+BuQl2Ze/k1HtA==
dependencies:
lunr "^2.3.9"
marked "^4.2.5"
minimatch "^5.1.2"
shiki "^0.12.1"
marked "^4.2.12"
minimatch "^7.1.3"
shiki "^0.14.1"
typescript@^4.7.4:
version "4.7.4"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235"
integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==
typescript@^5.0.2:
version "5.0.2"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.2.tgz#891e1a90c5189d8506af64b9ef929fca99ba1ee5"
integrity sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==
uncontrollable@^7.2.1:
version "7.2.1"
@ -3313,10 +3360,10 @@ webpack-sources@^3.2.3:
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde"
integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
webpack@^5.74.0:
version "5.74.0"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.74.0.tgz#02a5dac19a17e0bb47093f2be67c695102a55980"
integrity sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==
webpack@^5.76.0:
version "5.76.0"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.76.0.tgz#f9fb9fb8c4a7dbdcd0d56a98e56b8a942ee2692c"
integrity sha512-l5sOdYBDunyf72HW8dF23rFtWq/7Zgvt/9ftMof71E/yUb1YLOBmTgA2K4vQthB3kotMrSj609txVE0dnr2fjA==
dependencies:
"@types/eslint-scope" "^3.7.3"
"@types/estree" "^0.0.51"