From 8309340482c7a1aa21fedbd90063cd0c521a5ddf Mon Sep 17 00:00:00 2001 From: An Phi Date: Mon, 6 Mar 2023 14:32:49 -0500 Subject: [PATCH] various bug fixes (#1973) * minor cleanups * Revert "fix dispatch logic for key bindings so that it executes for the correct command key (#1970)" This reverts commit 4cc25f4ab0979f5fed564fb51c25a64bb5e42393. * add changeset * pure ide: fix copy/paste hotkey on windows * pure ide: add hotkey Ctrl+D for deleting line * minor fixes * bump dependencies * terminal: support context menu for copy command * pure ide: improve hotkey experience with text search * shared: fix a problem with StopWatch.elapsed not accurately calculated * BREAKING: moved TelemetryService and EventNotifierService to @finos/legend-application * timer: account for app usage interruption when reporting timing metrics * query-builder: ensure ag-grid theme customization is respected * bump dependencies * block Ctrl+Shift+N native platform hotkey * hokeys: fix an issue with hotkeys being triggered twice * upgrade Yarn and add dependencies upgrade guide * bump dependencies --- .changeset/famous-camels-joke.md | 39 + .changeset/giant-rules-hear.md | 39 + .changeset/gorgeous-dogs-judge.md | 39 + .changeset/gorgeous-pans-type.md | 3 - .changeset/mean-parents-double.md | 6 + .changeset/olive-candles-fly.md | 5 + .changeset/poor-glasses-count.md | 5 - .changeset/small-ads-smile.md | 39 + .changeset/tiny-horses-bathe.md | 5 + .../{yarn-3.4.0.cjs => yarn-3.4.1.cjs} | 6 +- .yarnrc.yml | 2 +- docs/workflow/dependencies.md | 4 +- docs/workflow/upgrade-dependencies.md | 58 + fixtures/legend-mock-server/package.json | 6 +- package.json | 8 +- packages/babel-preset/package.json | 2 +- packages/eslint-plugin/package.json | 8 +- .../package.json | 2 +- .../legend-application-pure-ide/package.json | 10 +- .../editor/aux-panel/TerminalPanel.tsx | 37 +- .../editor/aux-panel/TextSearchPanel.tsx | 15 +- .../src/stores/EditorStore.ts | 12 +- .../src/stores/FileEditorState.ts | 27 + .../src/stores/LegendPureIDECommand.ts | 15 +- .../src/stores/TextSearchState.ts | 10 + .../editor/aux-panel/_terminal-panel.scss | 7 + .../package.json | 2 +- .../package.json | 2 +- .../legend-application-query/package.json | 8 +- .../src/stores/LegendQueryBaseStore.ts | 19 +- .../src/stores/LegendQueryTelemetry.ts | 2 +- .../src/stores/QueryEditorStore.ts | 22 +- .../package.json | 2 +- .../package.json | 2 +- .../legend-application-studio/package.json | 10 +- .../src/stores/EditorGraphState.ts | 36 +- .../src/stores/LegendStudioBaseStore.ts | 19 +- .../src/stores/LegendStudioTelemetry.ts | 2 +- .../mapping/MappingExecutionState.ts | 21 +- .../mapping/MappingTestState.ts | 11 +- .../service/ServiceExecutionState.ts | 21 +- .../project-viewer/ProjectViewerStore.ts | 19 +- .../package.json | 2 +- .../package.json | 2 +- .../legend-application-taxonomy/package.json | 8 +- .../src/stores/LegendTaxonomyBaseStore.ts | 19 +- .../stores/StandaloneDataSpaceViewerStore.ts | 11 +- .../src/stores/TaxonomyExplorerStore.ts | 24 +- packages/legend-application/.npmignore | 1 + .../legend-application/_package.config.js | 1 + packages/legend-application/package.json | 13 +- .../LegendApplicationPluginManager.tsx | 14 +- ...dApplicationComponentFrameworkProvider.tsx | 51 +- packages/legend-application/src/index.ts | 2 + .../src/stores/ApplicationEvent.ts | 2 + .../src/stores/ApplicationStore.ts | 29 +- .../src/stores/ApplicationTelemetry.ts | 71 +- .../src/stores/EventService.ts | 31 +- .../src/stores}/IframeEventNotifierPlugin.ts | 2 +- .../src/stores/KeyboardShortcutsService.ts | 16 +- .../src/stores/PureLanguageSupport.ts | 5 + .../src/stores}/TelemetryService.ts | 37 +- .../src/stores/TimeService.ts | 66 + .../src/stores/terminal/Terminal.ts | 3 + .../src/stores/terminal/XTerm.ts | 44 +- .../legend-application/tsconfig.build.json | 1 + packages/legend-application/tsconfig.json | 1 + .../legend-application/tsconfig.package.json | 9 + .../legend-application/tsconfig.publish.json | 3 +- packages/legend-art/package.json | 14 +- packages/legend-dev-utils/package.json | 12 +- .../package.json | 8 +- .../src/stores/DataSpaceViewerState.ts | 4 +- .../legend-extension-dsl-diagram/package.json | 8 +- .../legend-extension-dsl-mastery/package.json | 6 +- .../package.json | 6 +- .../package.json | 6 +- .../legend-extension-dsl-service/package.json | 8 +- .../legend-extension-dsl-text/package.json | 8 +- .../package.json | 6 +- .../package.json | 6 +- .../package.json | 6 +- .../package.json | 8 +- .../package.json | 8 +- .../package.json | 8 +- .../package.json | 6 +- packages/legend-graph/package.json | 8 +- .../src/graphManager/GraphManagerMetrics.ts | 7 +- .../src/graphManager/GraphManagerTelemetry.ts | 40 - .../protocol/pure/v1/V1_PureGraphManager.ts | 35 +- packages/legend-graph/src/index.ts | 1 - packages/legend-manual-tests/package.json | 6 +- packages/legend-query-builder/package.json | 12 +- .../src/stores/QueryBuilderResultState.ts | 21 +- .../src/stores/QueryBuilderTelemetry.ts | 2 +- .../style/_query-builder.scss | 28 +- packages/legend-server-depot/package.json | 8 +- packages/legend-server-sdlc/package.json | 8 +- packages/legend-shared/package.json | 13 +- .../{StopWatch.ts => TimerUtils.ts} | 17 +- .../src/communication/EventNotifierPlugin.ts | 45 - packages/legend-shared/src/index.ts | 8 +- .../legend-shared/src/keyboard/KeyBinding.ts | 33 +- .../src/log/{Logger.ts => LogService.ts} | 0 packages/legend-shared/src/log/WebConsole.ts | 2 +- packages/legend-storage/package.json | 6 +- packages/stylelint-config/package.json | 2 +- scripts/typedoc-theme/package.json | 2 +- yarn.lock | 1406 ++++++++--------- 109 files changed, 1648 insertions(+), 1265 deletions(-) create mode 100644 .changeset/famous-camels-joke.md create mode 100644 .changeset/giant-rules-hear.md create mode 100644 .changeset/gorgeous-dogs-judge.md delete mode 100644 .changeset/gorgeous-pans-type.md create mode 100644 .changeset/mean-parents-double.md create mode 100644 .changeset/olive-candles-fly.md delete mode 100644 .changeset/poor-glasses-count.md create mode 100644 .changeset/small-ads-smile.md create mode 100644 .changeset/tiny-horses-bathe.md rename .yarn/releases/{yarn-3.4.0.cjs => yarn-3.4.1.cjs} (99%) create mode 100644 docs/workflow/upgrade-dependencies.md rename packages/{legend-shared/src/communication => legend-application/src/stores}/IframeEventNotifierPlugin.ts (97%) rename packages/{legend-shared/src/communication => legend-application/src/stores}/TelemetryService.ts (63%) create mode 100644 packages/legend-application/src/stores/TimeService.ts create mode 100644 packages/legend-application/tsconfig.package.json delete mode 100644 packages/legend-graph/src/graphManager/GraphManagerTelemetry.ts rename packages/legend-shared/src/application/{StopWatch.ts => TimerUtils.ts} (82%) delete mode 100644 packages/legend-shared/src/communication/EventNotifierPlugin.ts rename packages/legend-shared/src/log/{Logger.ts => LogService.ts} (100%) diff --git a/.changeset/famous-camels-joke.md b/.changeset/famous-camels-joke.md new file mode 100644 index 0000000000..d63d960c58 --- /dev/null +++ b/.changeset/famous-camels-joke.md @@ -0,0 +1,39 @@ +--- +'@finos/legend-application-pure-ide-deployment': patch +'@finos/legend-application-taxonomy-deployment': patch +'@finos/legend-extension-dsl-persistence-cloud': patch +'@finos/legend-application-taxonomy-bootstrap': patch +'@finos/legend-application-studio-deployment': patch +'@finos/legend-extension-store-service-store': patch +'@finos/legend-application-query-deployment': patch +'@finos/legend-application-studio-bootstrap': patch +'@finos/legend-extension-format-json-schema': patch +'@finos/legend-application-query-bootstrap': patch +'@finos/legend-extension-store-relational': patch +'@finos/legend-extension-dsl-persistence': patch +'@finos/legend-extension-store-flat-data': patch +'@finos/legend-extension-dsl-data-space': patch +'@finos/legend-extension-format-graphql': patch +'@finos/legend-extension-format-morphir': patch +'@finos/legend-extension-tracer-zipkin': patch +'@finos/legend-extension-dsl-diagram': patch +'@finos/legend-extension-dsl-mastery': patch +'@finos/legend-extension-dsl-service': patch +'@finos/legend-application-pure-ide': patch +'@finos/legend-application-taxonomy': patch +'@finos/legend-application-studio': patch +'@finos/legend-extension-dsl-text': patch +'@finos/legend-application-query': patch +'@finos/legend-query-builder': patch +'@finos/legend-server-depot': patch +'@finos/legend-application': patch +'@finos/legend-server-sdlc': patch +'@finos/legend-dev-utils': patch +'@finos/stylelint-config-legend-studio': patch +'@finos/legend-storage': patch +'@finos/eslint-plugin-legend-studio': patch +'@finos/legend-shared': patch +'@finos/babel-preset-legend-studio': patch +'@finos/legend-graph': patch +'@finos/legend-art': patch +--- diff --git a/.changeset/giant-rules-hear.md b/.changeset/giant-rules-hear.md new file mode 100644 index 0000000000..d63d960c58 --- /dev/null +++ b/.changeset/giant-rules-hear.md @@ -0,0 +1,39 @@ +--- +'@finos/legend-application-pure-ide-deployment': patch +'@finos/legend-application-taxonomy-deployment': patch +'@finos/legend-extension-dsl-persistence-cloud': patch +'@finos/legend-application-taxonomy-bootstrap': patch +'@finos/legend-application-studio-deployment': patch +'@finos/legend-extension-store-service-store': patch +'@finos/legend-application-query-deployment': patch +'@finos/legend-application-studio-bootstrap': patch +'@finos/legend-extension-format-json-schema': patch +'@finos/legend-application-query-bootstrap': patch +'@finos/legend-extension-store-relational': patch +'@finos/legend-extension-dsl-persistence': patch +'@finos/legend-extension-store-flat-data': patch +'@finos/legend-extension-dsl-data-space': patch +'@finos/legend-extension-format-graphql': patch +'@finos/legend-extension-format-morphir': patch +'@finos/legend-extension-tracer-zipkin': patch +'@finos/legend-extension-dsl-diagram': patch +'@finos/legend-extension-dsl-mastery': patch +'@finos/legend-extension-dsl-service': patch +'@finos/legend-application-pure-ide': patch +'@finos/legend-application-taxonomy': patch +'@finos/legend-application-studio': patch +'@finos/legend-extension-dsl-text': patch +'@finos/legend-application-query': patch +'@finos/legend-query-builder': patch +'@finos/legend-server-depot': patch +'@finos/legend-application': patch +'@finos/legend-server-sdlc': patch +'@finos/legend-dev-utils': patch +'@finos/stylelint-config-legend-studio': patch +'@finos/legend-storage': patch +'@finos/eslint-plugin-legend-studio': patch +'@finos/legend-shared': patch +'@finos/babel-preset-legend-studio': patch +'@finos/legend-graph': patch +'@finos/legend-art': patch +--- diff --git a/.changeset/gorgeous-dogs-judge.md b/.changeset/gorgeous-dogs-judge.md new file mode 100644 index 0000000000..d63d960c58 --- /dev/null +++ b/.changeset/gorgeous-dogs-judge.md @@ -0,0 +1,39 @@ +--- +'@finos/legend-application-pure-ide-deployment': patch +'@finos/legend-application-taxonomy-deployment': patch +'@finos/legend-extension-dsl-persistence-cloud': patch +'@finos/legend-application-taxonomy-bootstrap': patch +'@finos/legend-application-studio-deployment': patch +'@finos/legend-extension-store-service-store': patch +'@finos/legend-application-query-deployment': patch +'@finos/legend-application-studio-bootstrap': patch +'@finos/legend-extension-format-json-schema': patch +'@finos/legend-application-query-bootstrap': patch +'@finos/legend-extension-store-relational': patch +'@finos/legend-extension-dsl-persistence': patch +'@finos/legend-extension-store-flat-data': patch +'@finos/legend-extension-dsl-data-space': patch +'@finos/legend-extension-format-graphql': patch +'@finos/legend-extension-format-morphir': patch +'@finos/legend-extension-tracer-zipkin': patch +'@finos/legend-extension-dsl-diagram': patch +'@finos/legend-extension-dsl-mastery': patch +'@finos/legend-extension-dsl-service': patch +'@finos/legend-application-pure-ide': patch +'@finos/legend-application-taxonomy': patch +'@finos/legend-application-studio': patch +'@finos/legend-extension-dsl-text': patch +'@finos/legend-application-query': patch +'@finos/legend-query-builder': patch +'@finos/legend-server-depot': patch +'@finos/legend-application': patch +'@finos/legend-server-sdlc': patch +'@finos/legend-dev-utils': patch +'@finos/stylelint-config-legend-studio': patch +'@finos/legend-storage': patch +'@finos/eslint-plugin-legend-studio': patch +'@finos/legend-shared': patch +'@finos/babel-preset-legend-studio': patch +'@finos/legend-graph': patch +'@finos/legend-art': patch +--- diff --git a/.changeset/gorgeous-pans-type.md b/.changeset/gorgeous-pans-type.md deleted file mode 100644 index ef5f31a376..0000000000 --- a/.changeset/gorgeous-pans-type.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -'@finos/legend-shared': patch ---- diff --git a/.changeset/mean-parents-double.md b/.changeset/mean-parents-double.md new file mode 100644 index 0000000000..40049ffda8 --- /dev/null +++ b/.changeset/mean-parents-double.md @@ -0,0 +1,6 @@ +--- +'@finos/legend-extension-dsl-data-space': patch +'@finos/legend-application-taxonomy': patch +'@finos/legend-application': patch +'@finos/legend-shared': patch +--- diff --git a/.changeset/olive-candles-fly.md b/.changeset/olive-candles-fly.md new file mode 100644 index 0000000000..47476fcc92 --- /dev/null +++ b/.changeset/olive-candles-fly.md @@ -0,0 +1,5 @@ +--- +'@finos/legend-shared': major +--- + +**BREAKING CHANGE:** Moved `EventNotifierService` and `TelemetryService` to `@finos/legend-application` and reshaped `TelemetryService` as well as `TelemetryServicePlugin` to take a `setup()` method for instead of just allowing setting the user ID via `setUserId()`. diff --git a/.changeset/poor-glasses-count.md b/.changeset/poor-glasses-count.md deleted file mode 100644 index 56910b363a..0000000000 --- a/.changeset/poor-glasses-count.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@finos/legend-application': patch ---- - -Fix dispatch logic for key bindings so that it executes for the correct command key. diff --git a/.changeset/small-ads-smile.md b/.changeset/small-ads-smile.md new file mode 100644 index 0000000000..d63d960c58 --- /dev/null +++ b/.changeset/small-ads-smile.md @@ -0,0 +1,39 @@ +--- +'@finos/legend-application-pure-ide-deployment': patch +'@finos/legend-application-taxonomy-deployment': patch +'@finos/legend-extension-dsl-persistence-cloud': patch +'@finos/legend-application-taxonomy-bootstrap': patch +'@finos/legend-application-studio-deployment': patch +'@finos/legend-extension-store-service-store': patch +'@finos/legend-application-query-deployment': patch +'@finos/legend-application-studio-bootstrap': patch +'@finos/legend-extension-format-json-schema': patch +'@finos/legend-application-query-bootstrap': patch +'@finos/legend-extension-store-relational': patch +'@finos/legend-extension-dsl-persistence': patch +'@finos/legend-extension-store-flat-data': patch +'@finos/legend-extension-dsl-data-space': patch +'@finos/legend-extension-format-graphql': patch +'@finos/legend-extension-format-morphir': patch +'@finos/legend-extension-tracer-zipkin': patch +'@finos/legend-extension-dsl-diagram': patch +'@finos/legend-extension-dsl-mastery': patch +'@finos/legend-extension-dsl-service': patch +'@finos/legend-application-pure-ide': patch +'@finos/legend-application-taxonomy': patch +'@finos/legend-application-studio': patch +'@finos/legend-extension-dsl-text': patch +'@finos/legend-application-query': patch +'@finos/legend-query-builder': patch +'@finos/legend-server-depot': patch +'@finos/legend-application': patch +'@finos/legend-server-sdlc': patch +'@finos/legend-dev-utils': patch +'@finos/stylelint-config-legend-studio': patch +'@finos/legend-storage': patch +'@finos/eslint-plugin-legend-studio': patch +'@finos/legend-shared': patch +'@finos/babel-preset-legend-studio': patch +'@finos/legend-graph': patch +'@finos/legend-art': patch +--- diff --git a/.changeset/tiny-horses-bathe.md b/.changeset/tiny-horses-bathe.md new file mode 100644 index 0000000000..81b2b14d1f --- /dev/null +++ b/.changeset/tiny-horses-bathe.md @@ -0,0 +1,5 @@ +--- +'@finos/legend-shared': patch +--- + +Fix a bug with `StopWatch` elapsed is not properly calculated. diff --git a/.yarn/releases/yarn-3.4.0.cjs b/.yarn/releases/yarn-3.4.1.cjs similarity index 99% rename from .yarn/releases/yarn-3.4.0.cjs rename to .yarn/releases/yarn-3.4.1.cjs index 169e7a092f..2bdb752d86 100755 --- a/.yarn/releases/yarn-3.4.0.cjs +++ b/.yarn/releases/yarn-3.4.1.cjs @@ -233,7 +233,7 @@ attempted value: ${s} `);return i&&(p=this.styles.cyan(p),y=this.styles.cyan(y)),v()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(i,n)=>await this.renderChoice(i,n)),t=await Promise.all(e);return t.length||t.push(this.styles.danger("No matching choices")),t.join(` `)}format(){return this.state.submitted?this.choices.map(t=>this.styles.info(t.scaleIdx)).join(", "):""}async render(){let{submitted:e,size:t}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=[i,s,n].filter(Boolean).join(" ");this.state.prompt=o;let a=await this.header(),l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();(l||!c)&&(o+=" "+l),c&&!o.includes(c)&&(o+=" "+c),e&&!l&&!u&&this.multiple&&this.type!=="form"&&(o+=this.styles.danger(this.emptyError)),this.clear(t),this.write([o,a,u,g].filter(Boolean).join(` `)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function nje(r,e={}){if(Array.isArray(e.scale))return e.scale.map(i=>({...i}));let t=[];for(let i=1;i{Pne.exports=WL()});var Rne=w((ogt,kne)=>{"use strict";var sje=aQ(),oT=class extends sje{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",t){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=i=>this.styles.primary.underline(i);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,t=await this.header(),i=await this.prefix(),n=await this.separator(),s=await this.message(),o=await this.format(),a=await this.error()||await this.hint(),l=await this.footer(),c=[i,s,n,o].join(" ");this.state.prompt=c,a&&!c.includes(a)&&(c+=" "+a),this.clear(e),this.write([t,c,l].filter(Boolean).join(` -`)),this.write(this.margin[2]),this.restore()}};kne.exports=oT});var Nne=w((agt,Fne)=>{"use strict";var oje=ol(),aT=class extends oje{constructor(e){if(super(e),typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,t){let i=await super.toChoices(e,t);if(i.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>i.length)throw new Error("Please specify the index of the correct answer from the list of choices");return i}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};Fne.exports=aT});var Tne=w(AT=>{"use strict";var Lne=Gi(),ui=(r,e)=>{Lne.defineExport(AT,r,e),Lne.defineExport(AT,r.toLowerCase(),e)};ui("AutoComplete",()=>Gie());ui("BasicAuth",()=>Vie());ui("Confirm",()=>Zie());ui("Editable",()=>ene());ui("Form",()=>oQ());ui("Input",()=>WL());ui("Invisible",()=>ane());ui("List",()=>lne());ui("MultiSelect",()=>une());ui("Numeral",()=>hne());ui("Password",()=>dne());ui("Scale",()=>Ene());ui("Select",()=>ol());ui("Snippet",()=>Qne());ui("Sort",()=>Sne());ui("Survey",()=>xne());ui("Text",()=>Dne());ui("Toggle",()=>Rne());ui("Quiz",()=>Nne())});var Mne=w((lgt,One)=>{One.exports={ArrayPrompt:vm(),AuthPrompt:HL(),BooleanPrompt:aQ(),NumberPrompt:ZL(),StringPrompt:Xc()}});var Pm=w((cgt,Une)=>{"use strict";var Kne=J("assert"),cT=J("events"),al=Gi(),ao=class extends cT{constructor(e,t){super(),this.options=al.merge({},e),this.answers={...t}}register(e,t){if(al.isObject(e)){for(let n of Object.keys(e))this.register(n,e[n]);return this}Kne.equal(typeof t,"function","expected a function");let i=e.toLowerCase();return t.prototype instanceof this.Prompt?this.prompts[i]=t:this.prompts[i]=t(this.Prompt,this),this}async prompt(e=[]){for(let t of[].concat(e))try{typeof t=="function"&&(t=await t.call(this)),await this.ask(al.merge({},this.options,t))}catch(i){return Promise.reject(i)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let t=al.merge({},this.options,e),{type:i,name:n}=e,{set:s,get:o}=al;if(typeof i=="function"&&(i=await i.call(this,e,this.answers)),!i)return this.answers[n];Kne(this.prompts[i],`Prompt "${i}" is not registered`);let a=new this.prompts[i](t),l=o(this.answers,n);a.state.answers=this.answers,a.enquirer=this,n&&a.on("submit",u=>{this.emit("answer",n,u,a),s(this.answers,n,u)});let c=a.emit.bind(a);return a.emit=(...u)=>(this.emit.call(this,...u),c(...u)),this.emit("prompt",a,this),t.autofill&&l!=null?(a.value=a.input=l,t.autofill==="show"&&await a.submit()):l=a.value=await a.run(),l}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||kh()}static get prompts(){return Tne()}static get types(){return Mne()}static get prompt(){let e=(t,...i)=>{let n=new this(...i),s=n.emit.bind(n);return n.emit=(...o)=>(e.emit(...o),s(...o)),n.prompt(t)};return al.mixinEmitter(e,new cT),e}};al.mixinEmitter(ao,new cT);var lT=ao.prompts;for(let r of Object.keys(lT)){let e=r.toLowerCase(),t=i=>new lT[r](i).run();ao.prompt[e]=t,ao[e]=t,ao[r]||Reflect.defineProperty(ao,r,{get:()=>lT[r]})}var xm=r=>{al.defineExport(ao,r,()=>ao.types[r])};xm("ArrayPrompt");xm("AuthPrompt");xm("BooleanPrompt");xm("NumberPrompt");xm("StringPrompt");Une.exports=ao});var Xne=w((_gt,Vne)=>{function uje(r,e){for(var t=-1,i=r==null?0:r.length;++t{var gje=B0(),fje=gh();function hje(r,e,t,i){var n=!t;t||(t={});for(var s=-1,o=e.length;++s{var pje=Nh(),dje=Ih();function Cje(r,e){return r&&pje(e,dje(e),r)}Zne.exports=Cje});var tse=w((eft,ese)=>{function mje(r){var e=[];if(r!=null)for(var t in Object(r))e.push(t);return e}ese.exports=mje});var ise=w((tft,rse)=>{var Eje=bn(),Ije=U0(),yje=tse(),wje=Object.prototype,Bje=wje.hasOwnProperty;function Qje(r){if(!Eje(r))return yje(r);var e=Ije(r),t=[];for(var i in r)i=="constructor"&&(e||!Bje.call(r,i))||t.push(i);return t}rse.exports=Qje});var Lh=w((rft,nse)=>{var bje=NN(),Sje=ise(),vje=rm();function xje(r){return vje(r)?bje(r,!0):Sje(r)}nse.exports=xje});var ose=w((ift,sse)=>{var Pje=Nh(),Dje=Lh();function kje(r,e){return r&&Pje(e,Dje(e),r)}sse.exports=kje});var dT=w((Fm,Th)=>{var Rje=ds(),cse=typeof Fm=="object"&&Fm&&!Fm.nodeType&&Fm,ase=cse&&typeof Th=="object"&&Th&&!Th.nodeType&&Th,Fje=ase&&ase.exports===cse,Ase=Fje?Rje.Buffer:void 0,lse=Ase?Ase.allocUnsafe:void 0;function Nje(r,e){if(e)return r.slice();var t=r.length,i=lse?lse(t):new r.constructor(t);return r.copy(i),i}Th.exports=Nje});var CT=w((nft,use)=>{function Lje(r,e){var t=-1,i=r.length;for(e||(e=Array(i));++t{var Tje=Nh(),Oje=G0();function Mje(r,e){return Tje(r,Oje(r),e)}gse.exports=Mje});var cQ=w((oft,hse)=>{var Kje=LN(),Uje=Kje(Object.getPrototypeOf,Object);hse.exports=Uje});var mT=w((aft,pse)=>{var Hje=b0(),Gje=cQ(),Yje=G0(),jje=HN(),qje=Object.getOwnPropertySymbols,Jje=qje?function(r){for(var e=[];r;)Hje(e,Yje(r)),r=Gje(r);return e}:jje;pse.exports=Jje});var Cse=w((Aft,dse)=>{var Wje=Nh(),zje=mT();function Vje(r,e){return Wje(r,zje(r),e)}dse.exports=Vje});var Ese=w((lft,mse)=>{var Xje=UN(),_je=mT(),Zje=Lh();function $je(r){return Xje(r,Zje,_je)}mse.exports=$je});var yse=w((cft,Ise)=>{var eqe=Object.prototype,tqe=eqe.hasOwnProperty;function rqe(r){var e=r.length,t=new r.constructor(e);return e&&typeof r[0]=="string"&&tqe.call(r,"index")&&(t.index=r.index,t.input=r.input),t}Ise.exports=rqe});var uQ=w((uft,Bse)=>{var wse=MN();function iqe(r){var e=new r.constructor(r.byteLength);return new wse(e).set(new wse(r)),e}Bse.exports=iqe});var bse=w((gft,Qse)=>{var nqe=uQ();function sqe(r,e){var t=e?nqe(r.buffer):r.buffer;return new r.constructor(t,r.byteOffset,r.byteLength)}Qse.exports=sqe});var vse=w((fft,Sse)=>{var oqe=/\w*$/;function aqe(r){var e=new r.constructor(r.source,oqe.exec(r));return e.lastIndex=r.lastIndex,e}Sse.exports=aqe});var Rse=w((hft,kse)=>{var xse=Ec(),Pse=xse?xse.prototype:void 0,Dse=Pse?Pse.valueOf:void 0;function Aqe(r){return Dse?Object(Dse.call(r)):{}}kse.exports=Aqe});var ET=w((pft,Fse)=>{var lqe=uQ();function cqe(r,e){var t=e?lqe(r.buffer):r.buffer;return new r.constructor(t,r.byteOffset,r.length)}Fse.exports=cqe});var Lse=w((dft,Nse)=>{var uqe=uQ(),gqe=bse(),fqe=vse(),hqe=Rse(),pqe=ET(),dqe="[object Boolean]",Cqe="[object Date]",mqe="[object Map]",Eqe="[object Number]",Iqe="[object RegExp]",yqe="[object Set]",wqe="[object String]",Bqe="[object Symbol]",Qqe="[object ArrayBuffer]",bqe="[object DataView]",Sqe="[object Float32Array]",vqe="[object Float64Array]",xqe="[object Int8Array]",Pqe="[object Int16Array]",Dqe="[object Int32Array]",kqe="[object Uint8Array]",Rqe="[object Uint8ClampedArray]",Fqe="[object Uint16Array]",Nqe="[object Uint32Array]";function Lqe(r,e,t){var i=r.constructor;switch(e){case Qqe:return uqe(r);case dqe:case Cqe:return new i(+r);case bqe:return gqe(r,t);case Sqe:case vqe:case xqe:case Pqe:case Dqe:case kqe:case Rqe:case Fqe:case Nqe:return pqe(r,t);case mqe:return new i;case Eqe:case wqe:return new i(r);case Iqe:return fqe(r);case yqe:return new i;case Bqe:return hqe(r)}}Nse.exports=Lqe});var Mse=w((Cft,Ose)=>{var Tqe=bn(),Tse=Object.create,Oqe=function(){function r(){}return function(e){if(!Tqe(e))return{};if(Tse)return Tse(e);r.prototype=e;var t=new r;return r.prototype=void 0,t}}();Ose.exports=Oqe});var IT=w((mft,Kse)=>{var Mqe=Mse(),Kqe=cQ(),Uqe=U0();function Hqe(r){return typeof r.constructor=="function"&&!Uqe(r)?Mqe(Kqe(r)):{}}Kse.exports=Hqe});var Hse=w((Eft,Use)=>{var Gqe=nm(),Yqe=Go(),jqe="[object Map]";function qqe(r){return Yqe(r)&&Gqe(r)==jqe}Use.exports=qqe});var qse=w((Ift,jse)=>{var Jqe=Hse(),Wqe=O0(),Gse=M0(),Yse=Gse&&Gse.isMap,zqe=Yse?Wqe(Yse):Jqe;jse.exports=zqe});var Wse=w((yft,Jse)=>{var Vqe=nm(),Xqe=Go(),_qe="[object Set]";function Zqe(r){return Xqe(r)&&Vqe(r)==_qe}Jse.exports=Zqe});var _se=w((wft,Xse)=>{var $qe=Wse(),eJe=O0(),zse=M0(),Vse=zse&&zse.isSet,tJe=Vse?eJe(Vse):$qe;Xse.exports=tJe});var roe=w((Bft,toe)=>{var rJe=im(),iJe=Xne(),nJe=B0(),sJe=$ne(),oJe=ose(),aJe=dT(),AJe=CT(),lJe=fse(),cJe=Cse(),uJe=GN(),gJe=Ese(),fJe=nm(),hJe=yse(),pJe=Lse(),dJe=IT(),CJe=ws(),mJe=$C(),EJe=qse(),IJe=bn(),yJe=_se(),wJe=Ih(),BJe=Lh(),QJe=1,bJe=2,SJe=4,Zse="[object Arguments]",vJe="[object Array]",xJe="[object Boolean]",PJe="[object Date]",DJe="[object Error]",$se="[object Function]",kJe="[object GeneratorFunction]",RJe="[object Map]",FJe="[object Number]",eoe="[object Object]",NJe="[object RegExp]",LJe="[object Set]",TJe="[object String]",OJe="[object Symbol]",MJe="[object WeakMap]",KJe="[object ArrayBuffer]",UJe="[object DataView]",HJe="[object Float32Array]",GJe="[object Float64Array]",YJe="[object Int8Array]",jJe="[object Int16Array]",qJe="[object Int32Array]",JJe="[object Uint8Array]",WJe="[object Uint8ClampedArray]",zJe="[object Uint16Array]",VJe="[object Uint32Array]",ur={};ur[Zse]=ur[vJe]=ur[KJe]=ur[UJe]=ur[xJe]=ur[PJe]=ur[HJe]=ur[GJe]=ur[YJe]=ur[jJe]=ur[qJe]=ur[RJe]=ur[FJe]=ur[eoe]=ur[NJe]=ur[LJe]=ur[TJe]=ur[OJe]=ur[JJe]=ur[WJe]=ur[zJe]=ur[VJe]=!0;ur[DJe]=ur[$se]=ur[MJe]=!1;function gQ(r,e,t,i,n,s){var o,a=e&QJe,l=e&bJe,c=e&SJe;if(t&&(o=n?t(r,i,n,s):t(r)),o!==void 0)return o;if(!IJe(r))return r;var u=CJe(r);if(u){if(o=hJe(r),!a)return AJe(r,o)}else{var g=fJe(r),f=g==$se||g==kJe;if(mJe(r))return aJe(r,a);if(g==eoe||g==Zse||f&&!n){if(o=l||f?{}:dJe(r),!a)return l?cJe(r,oJe(o,r)):lJe(r,sJe(o,r))}else{if(!ur[g])return n?r:{};o=pJe(r,g,a)}}s||(s=new rJe);var h=s.get(r);if(h)return h;s.set(r,o),yJe(r)?r.forEach(function(y){o.add(gQ(y,e,t,y,r,s))}):EJe(r)&&r.forEach(function(y,B){o.set(B,gQ(y,e,t,B,r,s))});var p=c?l?gJe:uJe:l?BJe:wJe,C=u?void 0:p(r);return iJe(C||r,function(y,B){C&&(B=y,y=r[B]),nJe(o,B,gQ(y,e,t,B,r,s))}),o}toe.exports=gQ});var yT=w((Qft,ioe)=>{var XJe=roe(),_Je=1,ZJe=4;function $Je(r){return XJe(r,_Je|ZJe)}ioe.exports=$Je});var soe=w((bft,noe)=>{var eWe=gN();function tWe(r,e,t){return r==null?r:eWe(r,e,t)}noe.exports=tWe});var coe=w((kft,loe)=>{function rWe(r){var e=r==null?0:r.length;return e?r[e-1]:void 0}loe.exports=rWe});var goe=w((Rft,uoe)=>{var iWe=JC(),nWe=bR();function sWe(r,e){return e.length<2?r:iWe(r,nWe(e,0,-1))}uoe.exports=sWe});var hoe=w((Fft,foe)=>{var oWe=uh(),aWe=coe(),AWe=goe(),lWe=Uc();function cWe(r,e){return e=oWe(e,r),r=AWe(r,e),r==null||delete r[lWe(aWe(e))]}foe.exports=cWe});var doe=w((Nft,poe)=>{var uWe=hoe();function gWe(r,e){return r==null?!0:uWe(r,e)}poe.exports=gWe});var yoe=w((Aht,pWe)=>{pWe.exports={name:"@yarnpkg/cli",version:"3.4.0",license:"BSD-2-Clause",main:"./sources/index.ts",dependencies:{"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/parsers":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plugin-essentials":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg/plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnpkg/plugin-link":"workspace:^","@yarnpkg/plugin-nm":"workspace:^","@yarnpkg/plugin-npm":"workspace:^","@yarnpkg/plugin-npm-cli":"workspace:^","@yarnpkg/plugin-pack":"workspace:^","@yarnpkg/plugin-patch":"workspace:^","@yarnpkg/plugin-pnp":"workspace:^","@yarnpkg/plugin-pnpm":"workspace:^","@yarnpkg/shell":"workspace:^",chalk:"^3.0.0","ci-info":"^3.2.0",clipanion:"3.2.0-rc.4",semver:"^7.1.2",tslib:"^1.13.0",typanion:"^3.3.0",yup:"^0.32.9"},devDependencies:{"@types/semver":"^7.1.0","@types/yup":"^0","@yarnpkg/builder":"workspace:^","@yarnpkg/monorepo":"workspace:^","@yarnpkg/pnpify":"workspace:^",micromatch:"^4.0.2"},peerDependencies:{"@yarnpkg/core":"workspace:^"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",types:"./lib/index.d.ts",bin:null},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"]}},repository:{type:"git",url:"ssh://git@github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=12 <14 || 14.2 - 14.9 || >14.10.0"}}});var kT=w((FCt,Loe)=>{"use strict";Loe.exports=function(e,t){t===!0&&(t=0);var i="";if(typeof e=="string")try{i=new URL(e).protocol}catch{}else e&&e.constructor===URL&&(i=e.protocol);var n=i.split(/\:|\+/).filter(Boolean);return typeof t=="number"?n[t]:n}});var Ooe=w((NCt,Toe)=>{"use strict";var NWe=kT();function LWe(r){var e={protocols:[],protocol:null,port:null,resource:"",host:"",user:"",password:"",pathname:"",hash:"",search:"",href:r,query:{},parse_failed:!1};try{var t=new URL(r);e.protocols=NWe(t),e.protocol=e.protocols[0],e.port=t.port,e.resource=t.hostname,e.host=t.host,e.user=t.username||"",e.password=t.password||"",e.pathname=t.pathname,e.hash=t.hash.slice(1),e.search=t.search.slice(1),e.href=t.href,e.query=Object.fromEntries(t.searchParams)}catch{e.protocols=["file"],e.protocol=e.protocols[0],e.port="",e.resource="",e.user="",e.pathname="",e.hash="",e.search="",e.href=r,e.query={},e.parse_failed=!0}return e}Toe.exports=LWe});var Uoe=w((LCt,Koe)=>{"use strict";var TWe=Ooe();function OWe(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var MWe=OWe(TWe),KWe="text/plain",UWe="us-ascii",Moe=(r,e)=>e.some(t=>t instanceof RegExp?t.test(r):t===r),HWe=(r,{stripHash:e})=>{let t=/^data:(?[^,]*?),(?[^#]*?)(?:#(?.*))?$/.exec(r);if(!t)throw new Error(`Invalid URL: ${r}`);let{type:i,data:n,hash:s}=t.groups,o=i.split(";");s=e?"":s;let a=!1;o[o.length-1]==="base64"&&(o.pop(),a=!0);let l=(o.shift()||"").toLowerCase(),u=[...o.map(g=>{let[f,h=""]=g.split("=").map(p=>p.trim());return f==="charset"&&(h=h.toLowerCase(),h===UWe)?"":`${f}${h?`=${h}`:""}`}).filter(Boolean)];return a&&u.push("base64"),(u.length>0||l&&l!==KWe)&&u.unshift(l),`data:${u.join(";")},${a?n.trim():n}${s?`#${s}`:""}`};function GWe(r,e){if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},r=r.trim(),/^data:/i.test(r))return HWe(r,e);if(/^view-source:/i.test(r))throw new Error("`view-source:` is not supported as it is a non-standard protocol");let t=r.startsWith("//");!t&&/^\.*\//.test(r)||(r=r.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new URL(r);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash?n.hash="":e.stripTextFragment&&(n.hash=n.hash.replace(/#?:~:text.*?$/i,"")),n.pathname){let o=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,a=0,l="";for(;;){let u=o.exec(n.pathname);if(!u)break;let g=u[0],f=u.index;l+=n.pathname.slice(a,f).replace(/\/{2,}/g,"/"),l+=g,a=f+g.length}l+=n.pathname.slice(a,n.pathname.length).replace(/\/{2,}/g,"/"),n.pathname=l}if(n.pathname)try{n.pathname=decodeURI(n.pathname)}catch{}if(e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let o=n.pathname.split("/"),a=o[o.length-1];Moe(a,e.removeDirectoryIndex)&&(o=o.slice(0,-1),n.pathname=o.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let o of[...n.searchParams.keys()])Moe(o,e.removeQueryParameters)&&n.searchParams.delete(o);if(e.removeQueryParameters===!0&&(n.search=""),e.sortQueryParameters){n.searchParams.sort();try{n.search=decodeURIComponent(n.search)}catch{}}e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,""));let s=r;return r=n.toString(),!e.removeSingleSlash&&n.pathname==="/"&&!s.endsWith("/")&&n.hash===""&&(r=r.replace(/\/$/,"")),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&e.removeSingleSlash&&(r=r.replace(/\/$/,"")),t&&!e.normalizeProtocol&&(r=r.replace(/^http:\/\//,"//")),e.stripProtocol&&(r=r.replace(/^(?:https?:)?\/\//,"")),r}var RT=(r,e=!1)=>{let t=/^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:]([\~,\.\w,\-,\_,\/]+?(?:\.git|\/)?)$/,i=s=>{let o=new Error(s);throw o.subject_url=r,o};(typeof r!="string"||!r.trim())&&i("Invalid url."),r.length>RT.MAX_INPUT_LENGTH&&i("Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH."),e&&(typeof e!="object"&&(e={stripHash:!1}),r=GWe(r,e));let n=MWe.default(r);if(n.parse_failed){let s=n.href.match(t);s?(n.protocols=["ssh"],n.protocol="ssh",n.resource=s[2],n.host=s[2],n.user=s[1],n.pathname=`/${s[3]}`,n.parse_failed=!1):i("URL parsing failed.")}return n};RT.MAX_INPUT_LENGTH=2048;Koe.exports=RT});var Yoe=w((TCt,Goe)=>{"use strict";var YWe=kT();function Hoe(r){if(Array.isArray(r))return r.indexOf("ssh")!==-1||r.indexOf("rsync")!==-1;if(typeof r!="string")return!1;var e=YWe(r);if(r=r.substring(r.indexOf("://")+3),Hoe(e))return!0;var t=new RegExp(".([a-zA-Z\\d]+):(\\d+)/");return!r.match(t)&&r.indexOf("@"){"use strict";var jWe=Uoe(),joe=Yoe();function qWe(r){var e=jWe(r);return e.token="",e.password==="x-oauth-basic"?e.token=e.user:e.user==="x-token-auth"&&(e.token=e.password),joe(e.protocols)||e.protocols.length===0&&joe(r)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:(e.protocol="file",e.protocols=["file"]),e.href=e.href.replace(/\/$/,""),e}qoe.exports=qWe});var zoe=w((MCt,Woe)=>{"use strict";var JWe=Joe();function FT(r){if(typeof r!="string")throw new Error("The url must be a string.");var e=/^([a-z\d-]{1,39})\/([-\.\w]{1,100})$/i;e.test(r)&&(r="https://github.com/"+r);var t=JWe(r),i=t.resource.split("."),n=null;switch(t.toString=function(y){return FT.stringify(this,y)},t.source=i.length>2?i.slice(1-i.length).join("."):t.source=t.resource,t.git_suffix=/\.git$/.test(t.pathname),t.name=decodeURIComponent((t.pathname||t.href).replace(/(^\/)|(\/$)/g,"").replace(/\.git$/,"")),t.owner=decodeURIComponent(t.user),t.source){case"git.cloudforge.com":t.owner=t.user,t.organization=i[0],t.source="cloudforge.com";break;case"visualstudio.com":if(t.resource==="vs-ssh.visualstudio.com"){n=t.name.split("/"),n.length===4&&(t.organization=n[1],t.owner=n[2],t.name=n[3],t.full_name=n[2]+"/"+n[3]);break}else{n=t.name.split("/"),n.length===2?(t.owner=n[1],t.name=n[1],t.full_name="_git/"+t.name):n.length===3?(t.name=n[2],n[0]==="DefaultCollection"?(t.owner=n[2],t.organization=n[0],t.full_name=t.organization+"/_git/"+t.name):(t.owner=n[0],t.full_name=t.owner+"/_git/"+t.name)):n.length===4&&(t.organization=n[0],t.owner=n[1],t.name=n[3],t.full_name=t.organization+"/"+t.owner+"/_git/"+t.name);break}case"dev.azure.com":case"azure.com":if(t.resource==="ssh.dev.azure.com"){n=t.name.split("/"),n.length===4&&(t.organization=n[1],t.owner=n[2],t.name=n[3]);break}else{n=t.name.split("/"),n.length===5?(t.organization=n[0],t.owner=n[1],t.name=n[4],t.full_name="_git/"+t.name):n.length===3?(t.name=n[2],n[0]==="DefaultCollection"?(t.owner=n[2],t.organization=n[0],t.full_name=t.organization+"/_git/"+t.name):(t.owner=n[0],t.full_name=t.owner+"/_git/"+t.name)):n.length===4&&(t.organization=n[0],t.owner=n[1],t.name=n[3],t.full_name=t.organization+"/"+t.owner+"/_git/"+t.name),t.query&&t.query.path&&(t.filepath=t.query.path.replace(/^\/+/g,"")),t.query&&t.query.version&&(t.ref=t.query.version.replace(/^GB/,""));break}default:n=t.name.split("/");var s=n.length-1;if(n.length>=2){var o=n.indexOf("-",2),a=n.indexOf("blob",2),l=n.indexOf("tree",2),c=n.indexOf("commit",2),u=n.indexOf("src",2),g=n.indexOf("raw",2),f=n.indexOf("edit",2);s=o>0?o-1:a>0?a-1:l>0?l-1:c>0?c-1:u>0?u-1:g>0?g-1:f>0?f-1:s,t.owner=n.slice(0,s).join("/"),t.name=n[s],c&&(t.commit=n[s+2])}t.ref="",t.filepathtype="",t.filepath="";var h=n.length>s&&n[s+1]==="-"?s+1:s;n.length>h+2&&["raw","src","blob","tree","edit"].indexOf(n[h+1])>=0&&(t.filepathtype=n[h+1],t.ref=n[h+2],n.length>h+3&&(t.filepath=n.slice(h+3).join("/"))),t.organization=t.owner;break}t.full_name||(t.full_name=t.owner,t.name&&(t.full_name&&(t.full_name+="/"),t.full_name+=t.name)),t.owner.startsWith("scm/")&&(t.source="bitbucket-server",t.owner=t.owner.replace("scm/",""),t.organization=t.owner,t.full_name=t.owner+"/"+t.name);var p=/(projects|users)\/(.*?)\/repos\/(.*?)((\/.*$)|$)/,C=p.exec(t.pathname);return C!=null&&(t.source="bitbucket-server",C[1]==="users"?t.owner="~"+C[2]:t.owner=C[2],t.organization=t.owner,t.name=C[3],n=C[4].split("/"),n.length>1&&(["raw","browse"].indexOf(n[1])>=0?(t.filepathtype=n[1],n.length>2&&(t.filepath=n.slice(2).join("/"))):n[1]==="commits"&&n.length>2&&(t.commit=n[2])),t.full_name=t.owner+"/"+t.name,t.query.at?t.ref=t.query.at:t.ref=""),t}FT.stringify=function(r,e){e=e||(r.protocols&&r.protocols.length?r.protocols.join("+"):r.protocol);var t=r.port?":"+r.port:"",i=r.user||"git",n=r.git_suffix?".git":"";switch(e){case"ssh":return t?"ssh://"+i+"@"+r.resource+t+"/"+r.full_name+n:i+"@"+r.resource+":"+r.full_name+n;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+i+"@"+r.resource+t+"/"+r.full_name+n;case"http":case"https":var s=r.token?WWe(r):r.user&&(r.protocols.includes("http")||r.protocols.includes("https"))?r.user+"@":"";return e+"://"+s+r.resource+t+"/"+zWe(r)+n;default:return r.href}};function WWe(r){switch(r.source){case"bitbucket.org":return"x-token-auth:"+r.token+"@";default:return r.token+"@"}}function zWe(r){switch(r.source){case"bitbucket-server":return"scm/"+r.full_name;default:return""+r.full_name}}Woe.exports=FT});var tO=w((xIt,fae)=>{var p3e=gh(),d3e=Ah();function C3e(r,e,t){(t!==void 0&&!d3e(r[e],t)||t===void 0&&!(e in r))&&p3e(r,e,t)}fae.exports=C3e});var pae=w((PIt,hae)=>{var m3e=rm(),E3e=Go();function I3e(r){return E3e(r)&&m3e(r)}hae.exports=I3e});var mae=w((DIt,Cae)=>{var y3e=Ic(),w3e=cQ(),B3e=Go(),Q3e="[object Object]",b3e=Function.prototype,S3e=Object.prototype,dae=b3e.toString,v3e=S3e.hasOwnProperty,x3e=dae.call(Object);function P3e(r){if(!B3e(r)||y3e(r)!=Q3e)return!1;var e=w3e(r);if(e===null)return!0;var t=v3e.call(e,"constructor")&&e.constructor;return typeof t=="function"&&t instanceof t&&dae.call(t)==x3e}Cae.exports=P3e});var rO=w((kIt,Eae)=>{function D3e(r,e){if(!(e==="constructor"&&typeof r[e]=="function")&&e!="__proto__")return r[e]}Eae.exports=D3e});var yae=w((RIt,Iae)=>{var k3e=Nh(),R3e=Lh();function F3e(r){return k3e(r,R3e(r))}Iae.exports=F3e});var vae=w((FIt,Sae)=>{var wae=tO(),N3e=dT(),L3e=ET(),T3e=CT(),O3e=IT(),Bae=zC(),Qae=ws(),M3e=pae(),K3e=$C(),U3e=I0(),H3e=bn(),G3e=mae(),Y3e=K0(),bae=rO(),j3e=yae();function q3e(r,e,t,i,n,s,o){var a=bae(r,t),l=bae(e,t),c=o.get(l);if(c){wae(r,t,c);return}var u=s?s(a,l,t+"",r,e,o):void 0,g=u===void 0;if(g){var f=Qae(l),h=!f&&K3e(l),p=!f&&!h&&Y3e(l);u=l,f||h||p?Qae(a)?u=a:M3e(a)?u=T3e(a):h?(g=!1,u=N3e(l,!0)):p?(g=!1,u=L3e(l,!0)):u=[]:G3e(l)||Bae(l)?(u=a,Bae(a)?u=j3e(a):(!H3e(a)||U3e(a))&&(u=O3e(l))):g=!1}g&&(o.set(l,u),n(u,l,i,s,o),o.delete(l)),wae(r,t,u)}Sae.exports=q3e});var Dae=w((NIt,Pae)=>{var J3e=im(),W3e=tO(),z3e=RN(),V3e=vae(),X3e=bn(),_3e=Lh(),Z3e=rO();function xae(r,e,t,i,n){r!==e&&z3e(e,function(s,o){if(n||(n=new J3e),X3e(s))V3e(r,e,o,t,xae,i,n);else{var a=i?i(Z3e(r,o),s,o+"",r,e,n):void 0;a===void 0&&(a=s),W3e(r,o,a)}},_3e)}Pae.exports=xae});var Rae=w((LIt,kae)=>{var $3e=S0(),e4e=pN(),t4e=dN();function r4e(r,e){return t4e(e4e(r,e,$3e),r+"")}kae.exports=r4e});var Nae=w((TIt,Fae)=>{var i4e=Ah(),n4e=rm(),s4e=WC(),o4e=bn();function a4e(r,e,t){if(!o4e(t))return!1;var i=typeof e;return(i=="number"?n4e(t)&&s4e(e,t.length):i=="string"&&e in t)?i4e(t[e],r):!1}Fae.exports=a4e});var Tae=w((OIt,Lae)=>{var A4e=Rae(),l4e=Nae();function c4e(r){return A4e(function(e,t){var i=-1,n=t.length,s=n>1?t[n-1]:void 0,o=n>2?t[2]:void 0;for(s=r.length>3&&typeof s=="function"?(n--,s):void 0,o&&l4e(t[0],t[1],o)&&(s=n<3?void 0:s,n=1),e=Object(e);++i{var u4e=Dae(),g4e=Tae(),f4e=g4e(function(r,e,t){u4e(r,e,t)});Oae.exports=f4e});var Zae=w((Oyt,_ae)=>{var gO;_ae.exports=()=>(typeof gO>"u"&&(gO=J("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),gO)});var EAe=w((Awt,mAe)=>{var mO=Symbol("arg flag"),Pn=class extends Error{constructor(e,t){super(e),this.name="ArgError",this.code=t,Object.setPrototypeOf(this,Pn.prototype)}};function $m(r,{argv:e=process.argv.slice(2),permissive:t=!1,stopAtPositional:i=!1}={}){if(!r)throw new Pn("argument specification object is required","ARG_CONFIG_NO_SPEC");let n={_:[]},s={},o={};for(let a of Object.keys(r)){if(!a)throw new Pn("argument key cannot be an empty string","ARG_CONFIG_EMPTY_KEY");if(a[0]!=="-")throw new Pn(`argument key must start with '-' but found: '${a}'`,"ARG_CONFIG_NONOPT_KEY");if(a.length===1)throw new Pn(`argument key must have a name; singular '-' keys are not allowed: ${a}`,"ARG_CONFIG_NONAME_KEY");if(typeof r[a]=="string"){s[a]=r[a];continue}let l=r[a],c=!1;if(Array.isArray(l)&&l.length===1&&typeof l[0]=="function"){let[u]=l;l=(g,f,h=[])=>(h.push(u(g,f,h[h.length-1])),h),c=u===Boolean||u[mO]===!0}else if(typeof l=="function")c=l===Boolean||l[mO]===!0;else throw new Pn(`type missing or not a function or valid array type: ${a}`,"ARG_CONFIG_VAD_TYPE");if(a[1]!=="-"&&a.length>2)throw new Pn(`short argument keys (with a single hyphen) must have only one character: ${a}`,"ARG_CONFIG_SHORTOPT_TOOLONG");o[a]=[l,c]}for(let a=0,l=e.length;a0){n._=n._.concat(e.slice(a));break}if(c==="--"){n._=n._.concat(e.slice(a+1));break}if(c.length>1&&c[0]==="-"){let u=c[1]==="-"||c.length===2?[c]:c.slice(1).split("").map(g=>`-${g}`);for(let g=0;g1&&e[a+1][0]==="-"&&!(e[a+1].match(/^-?\d*(\.(?=\d))?\d*$/)&&(y===Number||typeof BigInt<"u"&&y===BigInt))){let v=h===C?"":` (alias for ${C})`;throw new Pn(`option requires argument: ${h}${v}`,"ARG_MISSING_REQUIRED_LONGARG")}n[C]=y(e[a+1],C,n[C]),++a}else n[C]=y(p,C,n[C])}}else n._.push(c)}return n}$m.flag=r=>(r[mO]=!0,r);$m.COUNT=$m.flag((r,e,t)=>(t||0)+1);$m.ArgError=Pn;mAe.exports=$m});var DAe=w((Mwt,PAe)=>{var wO;PAe.exports=()=>(typeof wO>"u"&&(wO=J("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),wO)});var OAe=w((xO,PO)=>{(function(r){xO&&typeof xO=="object"&&typeof PO<"u"?PO.exports=r():typeof define=="function"&&define.amd?define([],r):typeof window<"u"?window.isWindows=r():typeof global<"u"?global.isWindows=r():typeof self<"u"?self.isWindows=r():this.isWindows=r()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var HAe=w((OBt,UAe)=>{"use strict";DO.ifExists=u8e;var Wh=J("util"),ks=J("path"),MAe=OAe(),A8e=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,l8e={createPwshFile:!0,createCmdFile:MAe(),fs:J("fs")},c8e=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function KAe(r){let e={...l8e,...r},t=e.fs;return e.fs_={chmod:t.chmod?Wh.promisify(t.chmod):async()=>{},mkdir:Wh.promisify(t.mkdir),readFile:Wh.promisify(t.readFile),stat:Wh.promisify(t.stat),unlink:Wh.promisify(t.unlink),writeFile:Wh.promisify(t.writeFile)},e}async function DO(r,e,t){let i=KAe(t);await i.fs_.stat(r),await f8e(r,e,i)}function u8e(r,e,t){return DO(r,e,t).catch(()=>{})}function g8e(r,e){return e.fs_.unlink(r).catch(()=>{})}async function f8e(r,e,t){let i=await m8e(r,t);return await h8e(e,t),p8e(r,e,i,t)}function h8e(r,e){return e.fs_.mkdir(ks.dirname(r),{recursive:!0})}function p8e(r,e,t,i){let n=KAe(i),s=[{generator:y8e,extension:""}];return n.createCmdFile&&s.push({generator:I8e,extension:".cmd"}),n.createPwshFile&&s.push({generator:w8e,extension:".ps1"}),Promise.all(s.map(o=>E8e(r,e+o.extension,t,o.generator,n)))}function d8e(r,e){return g8e(r,e)}function C8e(r,e){return B8e(r,e)}async function m8e(r,e){let n=(await e.fs_.readFile(r,"utf8")).trim().split(/\r*\n/)[0].match(A8e);if(!n){let s=ks.extname(r).toLowerCase();return{program:c8e.get(s)||null,additionalArgs:""}}return{program:n[1],additionalArgs:n[2]}}async function E8e(r,e,t,i,n){let s=n.preserveSymlinks?"--preserve-symlinks":"",o=[t.additionalArgs,s].filter(a=>a).join(" ");return n=Object.assign({},n,{prog:t.program,args:o}),await d8e(e,n),await n.fs_.writeFile(e,i(r,e,n),"utf8"),C8e(e,n)}function I8e(r,e,t){let n=ks.relative(ks.dirname(e),r).split("/").join("\\"),s=ks.isAbsolute(n)?`"${n}"`:`"%~dp0\\${n}"`,o,a=t.prog,l=t.args||"",c=kO(t.nodePath).win32;a?(o=`"%~dp0\\${a}.exe"`,n=s):(a=s,l="",n="");let u=t.progArgs?`${t.progArgs.join(" ")} `:"",g=c?`@SET NODE_PATH=${c}\r +`)),this.write(this.margin[2]),this.restore()}};kne.exports=oT});var Nne=w((agt,Fne)=>{"use strict";var oje=ol(),aT=class extends oje{constructor(e){if(super(e),typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,t){let i=await super.toChoices(e,t);if(i.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>i.length)throw new Error("Please specify the index of the correct answer from the list of choices");return i}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};Fne.exports=aT});var Tne=w(AT=>{"use strict";var Lne=Gi(),ui=(r,e)=>{Lne.defineExport(AT,r,e),Lne.defineExport(AT,r.toLowerCase(),e)};ui("AutoComplete",()=>Gie());ui("BasicAuth",()=>Vie());ui("Confirm",()=>Zie());ui("Editable",()=>ene());ui("Form",()=>oQ());ui("Input",()=>WL());ui("Invisible",()=>ane());ui("List",()=>lne());ui("MultiSelect",()=>une());ui("Numeral",()=>hne());ui("Password",()=>dne());ui("Scale",()=>Ene());ui("Select",()=>ol());ui("Snippet",()=>Qne());ui("Sort",()=>Sne());ui("Survey",()=>xne());ui("Text",()=>Dne());ui("Toggle",()=>Rne());ui("Quiz",()=>Nne())});var Mne=w((lgt,One)=>{One.exports={ArrayPrompt:vm(),AuthPrompt:HL(),BooleanPrompt:aQ(),NumberPrompt:ZL(),StringPrompt:Xc()}});var Pm=w((cgt,Une)=>{"use strict";var Kne=J("assert"),cT=J("events"),al=Gi(),ao=class extends cT{constructor(e,t){super(),this.options=al.merge({},e),this.answers={...t}}register(e,t){if(al.isObject(e)){for(let n of Object.keys(e))this.register(n,e[n]);return this}Kne.equal(typeof t,"function","expected a function");let i=e.toLowerCase();return t.prototype instanceof this.Prompt?this.prompts[i]=t:this.prompts[i]=t(this.Prompt,this),this}async prompt(e=[]){for(let t of[].concat(e))try{typeof t=="function"&&(t=await t.call(this)),await this.ask(al.merge({},this.options,t))}catch(i){return Promise.reject(i)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let t=al.merge({},this.options,e),{type:i,name:n}=e,{set:s,get:o}=al;if(typeof i=="function"&&(i=await i.call(this,e,this.answers)),!i)return this.answers[n];Kne(this.prompts[i],`Prompt "${i}" is not registered`);let a=new this.prompts[i](t),l=o(this.answers,n);a.state.answers=this.answers,a.enquirer=this,n&&a.on("submit",u=>{this.emit("answer",n,u,a),s(this.answers,n,u)});let c=a.emit.bind(a);return a.emit=(...u)=>(this.emit.call(this,...u),c(...u)),this.emit("prompt",a,this),t.autofill&&l!=null?(a.value=a.input=l,t.autofill==="show"&&await a.submit()):l=a.value=await a.run(),l}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||kh()}static get prompts(){return Tne()}static get types(){return Mne()}static get prompt(){let e=(t,...i)=>{let n=new this(...i),s=n.emit.bind(n);return n.emit=(...o)=>(e.emit(...o),s(...o)),n.prompt(t)};return al.mixinEmitter(e,new cT),e}};al.mixinEmitter(ao,new cT);var lT=ao.prompts;for(let r of Object.keys(lT)){let e=r.toLowerCase(),t=i=>new lT[r](i).run();ao.prompt[e]=t,ao[e]=t,ao[r]||Reflect.defineProperty(ao,r,{get:()=>lT[r]})}var xm=r=>{al.defineExport(ao,r,()=>ao.types[r])};xm("ArrayPrompt");xm("AuthPrompt");xm("BooleanPrompt");xm("NumberPrompt");xm("StringPrompt");Une.exports=ao});var Xne=w((_gt,Vne)=>{function uje(r,e){for(var t=-1,i=r==null?0:r.length;++t{var gje=B0(),fje=gh();function hje(r,e,t,i){var n=!t;t||(t={});for(var s=-1,o=e.length;++s{var pje=Nh(),dje=Ih();function Cje(r,e){return r&&pje(e,dje(e),r)}Zne.exports=Cje});var tse=w((eft,ese)=>{function mje(r){var e=[];if(r!=null)for(var t in Object(r))e.push(t);return e}ese.exports=mje});var ise=w((tft,rse)=>{var Eje=bn(),Ije=U0(),yje=tse(),wje=Object.prototype,Bje=wje.hasOwnProperty;function Qje(r){if(!Eje(r))return yje(r);var e=Ije(r),t=[];for(var i in r)i=="constructor"&&(e||!Bje.call(r,i))||t.push(i);return t}rse.exports=Qje});var Lh=w((rft,nse)=>{var bje=NN(),Sje=ise(),vje=rm();function xje(r){return vje(r)?bje(r,!0):Sje(r)}nse.exports=xje});var ose=w((ift,sse)=>{var Pje=Nh(),Dje=Lh();function kje(r,e){return r&&Pje(e,Dje(e),r)}sse.exports=kje});var dT=w((Fm,Th)=>{var Rje=ds(),cse=typeof Fm=="object"&&Fm&&!Fm.nodeType&&Fm,ase=cse&&typeof Th=="object"&&Th&&!Th.nodeType&&Th,Fje=ase&&ase.exports===cse,Ase=Fje?Rje.Buffer:void 0,lse=Ase?Ase.allocUnsafe:void 0;function Nje(r,e){if(e)return r.slice();var t=r.length,i=lse?lse(t):new r.constructor(t);return r.copy(i),i}Th.exports=Nje});var CT=w((nft,use)=>{function Lje(r,e){var t=-1,i=r.length;for(e||(e=Array(i));++t{var Tje=Nh(),Oje=G0();function Mje(r,e){return Tje(r,Oje(r),e)}gse.exports=Mje});var cQ=w((oft,hse)=>{var Kje=LN(),Uje=Kje(Object.getPrototypeOf,Object);hse.exports=Uje});var mT=w((aft,pse)=>{var Hje=b0(),Gje=cQ(),Yje=G0(),jje=HN(),qje=Object.getOwnPropertySymbols,Jje=qje?function(r){for(var e=[];r;)Hje(e,Yje(r)),r=Gje(r);return e}:jje;pse.exports=Jje});var Cse=w((Aft,dse)=>{var Wje=Nh(),zje=mT();function Vje(r,e){return Wje(r,zje(r),e)}dse.exports=Vje});var Ese=w((lft,mse)=>{var Xje=UN(),_je=mT(),Zje=Lh();function $je(r){return Xje(r,Zje,_je)}mse.exports=$je});var yse=w((cft,Ise)=>{var eqe=Object.prototype,tqe=eqe.hasOwnProperty;function rqe(r){var e=r.length,t=new r.constructor(e);return e&&typeof r[0]=="string"&&tqe.call(r,"index")&&(t.index=r.index,t.input=r.input),t}Ise.exports=rqe});var uQ=w((uft,Bse)=>{var wse=MN();function iqe(r){var e=new r.constructor(r.byteLength);return new wse(e).set(new wse(r)),e}Bse.exports=iqe});var bse=w((gft,Qse)=>{var nqe=uQ();function sqe(r,e){var t=e?nqe(r.buffer):r.buffer;return new r.constructor(t,r.byteOffset,r.byteLength)}Qse.exports=sqe});var vse=w((fft,Sse)=>{var oqe=/\w*$/;function aqe(r){var e=new r.constructor(r.source,oqe.exec(r));return e.lastIndex=r.lastIndex,e}Sse.exports=aqe});var Rse=w((hft,kse)=>{var xse=Ec(),Pse=xse?xse.prototype:void 0,Dse=Pse?Pse.valueOf:void 0;function Aqe(r){return Dse?Object(Dse.call(r)):{}}kse.exports=Aqe});var ET=w((pft,Fse)=>{var lqe=uQ();function cqe(r,e){var t=e?lqe(r.buffer):r.buffer;return new r.constructor(t,r.byteOffset,r.length)}Fse.exports=cqe});var Lse=w((dft,Nse)=>{var uqe=uQ(),gqe=bse(),fqe=vse(),hqe=Rse(),pqe=ET(),dqe="[object Boolean]",Cqe="[object Date]",mqe="[object Map]",Eqe="[object Number]",Iqe="[object RegExp]",yqe="[object Set]",wqe="[object String]",Bqe="[object Symbol]",Qqe="[object ArrayBuffer]",bqe="[object DataView]",Sqe="[object Float32Array]",vqe="[object Float64Array]",xqe="[object Int8Array]",Pqe="[object Int16Array]",Dqe="[object Int32Array]",kqe="[object Uint8Array]",Rqe="[object Uint8ClampedArray]",Fqe="[object Uint16Array]",Nqe="[object Uint32Array]";function Lqe(r,e,t){var i=r.constructor;switch(e){case Qqe:return uqe(r);case dqe:case Cqe:return new i(+r);case bqe:return gqe(r,t);case Sqe:case vqe:case xqe:case Pqe:case Dqe:case kqe:case Rqe:case Fqe:case Nqe:return pqe(r,t);case mqe:return new i;case Eqe:case wqe:return new i(r);case Iqe:return fqe(r);case yqe:return new i;case Bqe:return hqe(r)}}Nse.exports=Lqe});var Mse=w((Cft,Ose)=>{var Tqe=bn(),Tse=Object.create,Oqe=function(){function r(){}return function(e){if(!Tqe(e))return{};if(Tse)return Tse(e);r.prototype=e;var t=new r;return r.prototype=void 0,t}}();Ose.exports=Oqe});var IT=w((mft,Kse)=>{var Mqe=Mse(),Kqe=cQ(),Uqe=U0();function Hqe(r){return typeof r.constructor=="function"&&!Uqe(r)?Mqe(Kqe(r)):{}}Kse.exports=Hqe});var Hse=w((Eft,Use)=>{var Gqe=nm(),Yqe=Go(),jqe="[object Map]";function qqe(r){return Yqe(r)&&Gqe(r)==jqe}Use.exports=qqe});var qse=w((Ift,jse)=>{var Jqe=Hse(),Wqe=O0(),Gse=M0(),Yse=Gse&&Gse.isMap,zqe=Yse?Wqe(Yse):Jqe;jse.exports=zqe});var Wse=w((yft,Jse)=>{var Vqe=nm(),Xqe=Go(),_qe="[object Set]";function Zqe(r){return Xqe(r)&&Vqe(r)==_qe}Jse.exports=Zqe});var _se=w((wft,Xse)=>{var $qe=Wse(),eJe=O0(),zse=M0(),Vse=zse&&zse.isSet,tJe=Vse?eJe(Vse):$qe;Xse.exports=tJe});var roe=w((Bft,toe)=>{var rJe=im(),iJe=Xne(),nJe=B0(),sJe=$ne(),oJe=ose(),aJe=dT(),AJe=CT(),lJe=fse(),cJe=Cse(),uJe=GN(),gJe=Ese(),fJe=nm(),hJe=yse(),pJe=Lse(),dJe=IT(),CJe=ws(),mJe=$C(),EJe=qse(),IJe=bn(),yJe=_se(),wJe=Ih(),BJe=Lh(),QJe=1,bJe=2,SJe=4,Zse="[object Arguments]",vJe="[object Array]",xJe="[object Boolean]",PJe="[object Date]",DJe="[object Error]",$se="[object Function]",kJe="[object GeneratorFunction]",RJe="[object Map]",FJe="[object Number]",eoe="[object Object]",NJe="[object RegExp]",LJe="[object Set]",TJe="[object String]",OJe="[object Symbol]",MJe="[object WeakMap]",KJe="[object ArrayBuffer]",UJe="[object DataView]",HJe="[object Float32Array]",GJe="[object Float64Array]",YJe="[object Int8Array]",jJe="[object Int16Array]",qJe="[object Int32Array]",JJe="[object Uint8Array]",WJe="[object Uint8ClampedArray]",zJe="[object Uint16Array]",VJe="[object Uint32Array]",ur={};ur[Zse]=ur[vJe]=ur[KJe]=ur[UJe]=ur[xJe]=ur[PJe]=ur[HJe]=ur[GJe]=ur[YJe]=ur[jJe]=ur[qJe]=ur[RJe]=ur[FJe]=ur[eoe]=ur[NJe]=ur[LJe]=ur[TJe]=ur[OJe]=ur[JJe]=ur[WJe]=ur[zJe]=ur[VJe]=!0;ur[DJe]=ur[$se]=ur[MJe]=!1;function gQ(r,e,t,i,n,s){var o,a=e&QJe,l=e&bJe,c=e&SJe;if(t&&(o=n?t(r,i,n,s):t(r)),o!==void 0)return o;if(!IJe(r))return r;var u=CJe(r);if(u){if(o=hJe(r),!a)return AJe(r,o)}else{var g=fJe(r),f=g==$se||g==kJe;if(mJe(r))return aJe(r,a);if(g==eoe||g==Zse||f&&!n){if(o=l||f?{}:dJe(r),!a)return l?cJe(r,oJe(o,r)):lJe(r,sJe(o,r))}else{if(!ur[g])return n?r:{};o=pJe(r,g,a)}}s||(s=new rJe);var h=s.get(r);if(h)return h;s.set(r,o),yJe(r)?r.forEach(function(y){o.add(gQ(y,e,t,y,r,s))}):EJe(r)&&r.forEach(function(y,B){o.set(B,gQ(y,e,t,B,r,s))});var p=c?l?gJe:uJe:l?BJe:wJe,C=u?void 0:p(r);return iJe(C||r,function(y,B){C&&(B=y,y=r[B]),nJe(o,B,gQ(y,e,t,B,r,s))}),o}toe.exports=gQ});var yT=w((Qft,ioe)=>{var XJe=roe(),_Je=1,ZJe=4;function $Je(r){return XJe(r,_Je|ZJe)}ioe.exports=$Je});var soe=w((bft,noe)=>{var eWe=gN();function tWe(r,e,t){return r==null?r:eWe(r,e,t)}noe.exports=tWe});var coe=w((kft,loe)=>{function rWe(r){var e=r==null?0:r.length;return e?r[e-1]:void 0}loe.exports=rWe});var goe=w((Rft,uoe)=>{var iWe=JC(),nWe=bR();function sWe(r,e){return e.length<2?r:iWe(r,nWe(e,0,-1))}uoe.exports=sWe});var hoe=w((Fft,foe)=>{var oWe=uh(),aWe=coe(),AWe=goe(),lWe=Uc();function cWe(r,e){return e=oWe(e,r),r=AWe(r,e),r==null||delete r[lWe(aWe(e))]}foe.exports=cWe});var doe=w((Nft,poe)=>{var uWe=hoe();function gWe(r,e){return r==null?!0:uWe(r,e)}poe.exports=gWe});var yoe=w((Aht,pWe)=>{pWe.exports={name:"@yarnpkg/cli",version:"3.4.1",license:"BSD-2-Clause",main:"./sources/index.ts",dependencies:{"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/parsers":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plugin-essentials":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg/plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnpkg/plugin-link":"workspace:^","@yarnpkg/plugin-nm":"workspace:^","@yarnpkg/plugin-npm":"workspace:^","@yarnpkg/plugin-npm-cli":"workspace:^","@yarnpkg/plugin-pack":"workspace:^","@yarnpkg/plugin-patch":"workspace:^","@yarnpkg/plugin-pnp":"workspace:^","@yarnpkg/plugin-pnpm":"workspace:^","@yarnpkg/shell":"workspace:^",chalk:"^3.0.0","ci-info":"^3.2.0",clipanion:"3.2.0-rc.4",semver:"^7.1.2",tslib:"^1.13.0",typanion:"^3.3.0",yup:"^0.32.9"},devDependencies:{"@types/semver":"^7.1.0","@types/yup":"^0","@yarnpkg/builder":"workspace:^","@yarnpkg/monorepo":"workspace:^","@yarnpkg/pnpify":"workspace:^",micromatch:"^4.0.2"},peerDependencies:{"@yarnpkg/core":"workspace:^"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",types:"./lib/index.d.ts",bin:null},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"]}},repository:{type:"git",url:"ssh://git@github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=12 <14 || 14.2 - 14.9 || >14.10.0"}}});var kT=w((FCt,Loe)=>{"use strict";Loe.exports=function(e,t){t===!0&&(t=0);var i="";if(typeof e=="string")try{i=new URL(e).protocol}catch{}else e&&e.constructor===URL&&(i=e.protocol);var n=i.split(/\:|\+/).filter(Boolean);return typeof t=="number"?n[t]:n}});var Ooe=w((NCt,Toe)=>{"use strict";var NWe=kT();function LWe(r){var e={protocols:[],protocol:null,port:null,resource:"",host:"",user:"",password:"",pathname:"",hash:"",search:"",href:r,query:{},parse_failed:!1};try{var t=new URL(r);e.protocols=NWe(t),e.protocol=e.protocols[0],e.port=t.port,e.resource=t.hostname,e.host=t.host,e.user=t.username||"",e.password=t.password||"",e.pathname=t.pathname,e.hash=t.hash.slice(1),e.search=t.search.slice(1),e.href=t.href,e.query=Object.fromEntries(t.searchParams)}catch{e.protocols=["file"],e.protocol=e.protocols[0],e.port="",e.resource="",e.user="",e.pathname="",e.hash="",e.search="",e.href=r,e.query={},e.parse_failed=!0}return e}Toe.exports=LWe});var Uoe=w((LCt,Koe)=>{"use strict";var TWe=Ooe();function OWe(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var MWe=OWe(TWe),KWe="text/plain",UWe="us-ascii",Moe=(r,e)=>e.some(t=>t instanceof RegExp?t.test(r):t===r),HWe=(r,{stripHash:e})=>{let t=/^data:(?[^,]*?),(?[^#]*?)(?:#(?.*))?$/.exec(r);if(!t)throw new Error(`Invalid URL: ${r}`);let{type:i,data:n,hash:s}=t.groups,o=i.split(";");s=e?"":s;let a=!1;o[o.length-1]==="base64"&&(o.pop(),a=!0);let l=(o.shift()||"").toLowerCase(),u=[...o.map(g=>{let[f,h=""]=g.split("=").map(p=>p.trim());return f==="charset"&&(h=h.toLowerCase(),h===UWe)?"":`${f}${h?`=${h}`:""}`}).filter(Boolean)];return a&&u.push("base64"),(u.length>0||l&&l!==KWe)&&u.unshift(l),`data:${u.join(";")},${a?n.trim():n}${s?`#${s}`:""}`};function GWe(r,e){if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},r=r.trim(),/^data:/i.test(r))return HWe(r,e);if(/^view-source:/i.test(r))throw new Error("`view-source:` is not supported as it is a non-standard protocol");let t=r.startsWith("//");!t&&/^\.*\//.test(r)||(r=r.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new URL(r);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash?n.hash="":e.stripTextFragment&&(n.hash=n.hash.replace(/#?:~:text.*?$/i,"")),n.pathname){let o=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,a=0,l="";for(;;){let u=o.exec(n.pathname);if(!u)break;let g=u[0],f=u.index;l+=n.pathname.slice(a,f).replace(/\/{2,}/g,"/"),l+=g,a=f+g.length}l+=n.pathname.slice(a,n.pathname.length).replace(/\/{2,}/g,"/"),n.pathname=l}if(n.pathname)try{n.pathname=decodeURI(n.pathname)}catch{}if(e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let o=n.pathname.split("/"),a=o[o.length-1];Moe(a,e.removeDirectoryIndex)&&(o=o.slice(0,-1),n.pathname=o.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let o of[...n.searchParams.keys()])Moe(o,e.removeQueryParameters)&&n.searchParams.delete(o);if(e.removeQueryParameters===!0&&(n.search=""),e.sortQueryParameters){n.searchParams.sort();try{n.search=decodeURIComponent(n.search)}catch{}}e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,""));let s=r;return r=n.toString(),!e.removeSingleSlash&&n.pathname==="/"&&!s.endsWith("/")&&n.hash===""&&(r=r.replace(/\/$/,"")),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&e.removeSingleSlash&&(r=r.replace(/\/$/,"")),t&&!e.normalizeProtocol&&(r=r.replace(/^http:\/\//,"//")),e.stripProtocol&&(r=r.replace(/^(?:https?:)?\/\//,"")),r}var RT=(r,e=!1)=>{let t=/^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:]([\~,\.\w,\-,\_,\/]+?(?:\.git|\/)?)$/,i=s=>{let o=new Error(s);throw o.subject_url=r,o};(typeof r!="string"||!r.trim())&&i("Invalid url."),r.length>RT.MAX_INPUT_LENGTH&&i("Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH."),e&&(typeof e!="object"&&(e={stripHash:!1}),r=GWe(r,e));let n=MWe.default(r);if(n.parse_failed){let s=n.href.match(t);s?(n.protocols=["ssh"],n.protocol="ssh",n.resource=s[2],n.host=s[2],n.user=s[1],n.pathname=`/${s[3]}`,n.parse_failed=!1):i("URL parsing failed.")}return n};RT.MAX_INPUT_LENGTH=2048;Koe.exports=RT});var Yoe=w((TCt,Goe)=>{"use strict";var YWe=kT();function Hoe(r){if(Array.isArray(r))return r.indexOf("ssh")!==-1||r.indexOf("rsync")!==-1;if(typeof r!="string")return!1;var e=YWe(r);if(r=r.substring(r.indexOf("://")+3),Hoe(e))return!0;var t=new RegExp(".([a-zA-Z\\d]+):(\\d+)/");return!r.match(t)&&r.indexOf("@"){"use strict";var jWe=Uoe(),joe=Yoe();function qWe(r){var e=jWe(r);return e.token="",e.password==="x-oauth-basic"?e.token=e.user:e.user==="x-token-auth"&&(e.token=e.password),joe(e.protocols)||e.protocols.length===0&&joe(r)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:(e.protocol="file",e.protocols=["file"]),e.href=e.href.replace(/\/$/,""),e}qoe.exports=qWe});var zoe=w((MCt,Woe)=>{"use strict";var JWe=Joe();function FT(r){if(typeof r!="string")throw new Error("The url must be a string.");var e=/^([a-z\d-]{1,39})\/([-\.\w]{1,100})$/i;e.test(r)&&(r="https://github.com/"+r);var t=JWe(r),i=t.resource.split("."),n=null;switch(t.toString=function(y){return FT.stringify(this,y)},t.source=i.length>2?i.slice(1-i.length).join("."):t.source=t.resource,t.git_suffix=/\.git$/.test(t.pathname),t.name=decodeURIComponent((t.pathname||t.href).replace(/(^\/)|(\/$)/g,"").replace(/\.git$/,"")),t.owner=decodeURIComponent(t.user),t.source){case"git.cloudforge.com":t.owner=t.user,t.organization=i[0],t.source="cloudforge.com";break;case"visualstudio.com":if(t.resource==="vs-ssh.visualstudio.com"){n=t.name.split("/"),n.length===4&&(t.organization=n[1],t.owner=n[2],t.name=n[3],t.full_name=n[2]+"/"+n[3]);break}else{n=t.name.split("/"),n.length===2?(t.owner=n[1],t.name=n[1],t.full_name="_git/"+t.name):n.length===3?(t.name=n[2],n[0]==="DefaultCollection"?(t.owner=n[2],t.organization=n[0],t.full_name=t.organization+"/_git/"+t.name):(t.owner=n[0],t.full_name=t.owner+"/_git/"+t.name)):n.length===4&&(t.organization=n[0],t.owner=n[1],t.name=n[3],t.full_name=t.organization+"/"+t.owner+"/_git/"+t.name);break}case"dev.azure.com":case"azure.com":if(t.resource==="ssh.dev.azure.com"){n=t.name.split("/"),n.length===4&&(t.organization=n[1],t.owner=n[2],t.name=n[3]);break}else{n=t.name.split("/"),n.length===5?(t.organization=n[0],t.owner=n[1],t.name=n[4],t.full_name="_git/"+t.name):n.length===3?(t.name=n[2],n[0]==="DefaultCollection"?(t.owner=n[2],t.organization=n[0],t.full_name=t.organization+"/_git/"+t.name):(t.owner=n[0],t.full_name=t.owner+"/_git/"+t.name)):n.length===4&&(t.organization=n[0],t.owner=n[1],t.name=n[3],t.full_name=t.organization+"/"+t.owner+"/_git/"+t.name),t.query&&t.query.path&&(t.filepath=t.query.path.replace(/^\/+/g,"")),t.query&&t.query.version&&(t.ref=t.query.version.replace(/^GB/,""));break}default:n=t.name.split("/");var s=n.length-1;if(n.length>=2){var o=n.indexOf("-",2),a=n.indexOf("blob",2),l=n.indexOf("tree",2),c=n.indexOf("commit",2),u=n.indexOf("src",2),g=n.indexOf("raw",2),f=n.indexOf("edit",2);s=o>0?o-1:a>0?a-1:l>0?l-1:c>0?c-1:u>0?u-1:g>0?g-1:f>0?f-1:s,t.owner=n.slice(0,s).join("/"),t.name=n[s],c&&(t.commit=n[s+2])}t.ref="",t.filepathtype="",t.filepath="";var h=n.length>s&&n[s+1]==="-"?s+1:s;n.length>h+2&&["raw","src","blob","tree","edit"].indexOf(n[h+1])>=0&&(t.filepathtype=n[h+1],t.ref=n[h+2],n.length>h+3&&(t.filepath=n.slice(h+3).join("/"))),t.organization=t.owner;break}t.full_name||(t.full_name=t.owner,t.name&&(t.full_name&&(t.full_name+="/"),t.full_name+=t.name)),t.owner.startsWith("scm/")&&(t.source="bitbucket-server",t.owner=t.owner.replace("scm/",""),t.organization=t.owner,t.full_name=t.owner+"/"+t.name);var p=/(projects|users)\/(.*?)\/repos\/(.*?)((\/.*$)|$)/,C=p.exec(t.pathname);return C!=null&&(t.source="bitbucket-server",C[1]==="users"?t.owner="~"+C[2]:t.owner=C[2],t.organization=t.owner,t.name=C[3],n=C[4].split("/"),n.length>1&&(["raw","browse"].indexOf(n[1])>=0?(t.filepathtype=n[1],n.length>2&&(t.filepath=n.slice(2).join("/"))):n[1]==="commits"&&n.length>2&&(t.commit=n[2])),t.full_name=t.owner+"/"+t.name,t.query.at?t.ref=t.query.at:t.ref=""),t}FT.stringify=function(r,e){e=e||(r.protocols&&r.protocols.length?r.protocols.join("+"):r.protocol);var t=r.port?":"+r.port:"",i=r.user||"git",n=r.git_suffix?".git":"";switch(e){case"ssh":return t?"ssh://"+i+"@"+r.resource+t+"/"+r.full_name+n:i+"@"+r.resource+":"+r.full_name+n;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+i+"@"+r.resource+t+"/"+r.full_name+n;case"http":case"https":var s=r.token?WWe(r):r.user&&(r.protocols.includes("http")||r.protocols.includes("https"))?r.user+"@":"";return e+"://"+s+r.resource+t+"/"+zWe(r)+n;default:return r.href}};function WWe(r){switch(r.source){case"bitbucket.org":return"x-token-auth:"+r.token+"@";default:return r.token+"@"}}function zWe(r){switch(r.source){case"bitbucket-server":return"scm/"+r.full_name;default:return""+r.full_name}}Woe.exports=FT});var tO=w((xIt,fae)=>{var p3e=gh(),d3e=Ah();function C3e(r,e,t){(t!==void 0&&!d3e(r[e],t)||t===void 0&&!(e in r))&&p3e(r,e,t)}fae.exports=C3e});var pae=w((PIt,hae)=>{var m3e=rm(),E3e=Go();function I3e(r){return E3e(r)&&m3e(r)}hae.exports=I3e});var mae=w((DIt,Cae)=>{var y3e=Ic(),w3e=cQ(),B3e=Go(),Q3e="[object Object]",b3e=Function.prototype,S3e=Object.prototype,dae=b3e.toString,v3e=S3e.hasOwnProperty,x3e=dae.call(Object);function P3e(r){if(!B3e(r)||y3e(r)!=Q3e)return!1;var e=w3e(r);if(e===null)return!0;var t=v3e.call(e,"constructor")&&e.constructor;return typeof t=="function"&&t instanceof t&&dae.call(t)==x3e}Cae.exports=P3e});var rO=w((kIt,Eae)=>{function D3e(r,e){if(!(e==="constructor"&&typeof r[e]=="function")&&e!="__proto__")return r[e]}Eae.exports=D3e});var yae=w((RIt,Iae)=>{var k3e=Nh(),R3e=Lh();function F3e(r){return k3e(r,R3e(r))}Iae.exports=F3e});var vae=w((FIt,Sae)=>{var wae=tO(),N3e=dT(),L3e=ET(),T3e=CT(),O3e=IT(),Bae=zC(),Qae=ws(),M3e=pae(),K3e=$C(),U3e=I0(),H3e=bn(),G3e=mae(),Y3e=K0(),bae=rO(),j3e=yae();function q3e(r,e,t,i,n,s,o){var a=bae(r,t),l=bae(e,t),c=o.get(l);if(c){wae(r,t,c);return}var u=s?s(a,l,t+"",r,e,o):void 0,g=u===void 0;if(g){var f=Qae(l),h=!f&&K3e(l),p=!f&&!h&&Y3e(l);u=l,f||h||p?Qae(a)?u=a:M3e(a)?u=T3e(a):h?(g=!1,u=N3e(l,!0)):p?(g=!1,u=L3e(l,!0)):u=[]:G3e(l)||Bae(l)?(u=a,Bae(a)?u=j3e(a):(!H3e(a)||U3e(a))&&(u=O3e(l))):g=!1}g&&(o.set(l,u),n(u,l,i,s,o),o.delete(l)),wae(r,t,u)}Sae.exports=q3e});var Dae=w((NIt,Pae)=>{var J3e=im(),W3e=tO(),z3e=RN(),V3e=vae(),X3e=bn(),_3e=Lh(),Z3e=rO();function xae(r,e,t,i,n){r!==e&&z3e(e,function(s,o){if(n||(n=new J3e),X3e(s))V3e(r,e,o,t,xae,i,n);else{var a=i?i(Z3e(r,o),s,o+"",r,e,n):void 0;a===void 0&&(a=s),W3e(r,o,a)}},_3e)}Pae.exports=xae});var Rae=w((LIt,kae)=>{var $3e=S0(),e4e=pN(),t4e=dN();function r4e(r,e){return t4e(e4e(r,e,$3e),r+"")}kae.exports=r4e});var Nae=w((TIt,Fae)=>{var i4e=Ah(),n4e=rm(),s4e=WC(),o4e=bn();function a4e(r,e,t){if(!o4e(t))return!1;var i=typeof e;return(i=="number"?n4e(t)&&s4e(e,t.length):i=="string"&&e in t)?i4e(t[e],r):!1}Fae.exports=a4e});var Tae=w((OIt,Lae)=>{var A4e=Rae(),l4e=Nae();function c4e(r){return A4e(function(e,t){var i=-1,n=t.length,s=n>1?t[n-1]:void 0,o=n>2?t[2]:void 0;for(s=r.length>3&&typeof s=="function"?(n--,s):void 0,o&&l4e(t[0],t[1],o)&&(s=n<3?void 0:s,n=1),e=Object(e);++i{var u4e=Dae(),g4e=Tae(),f4e=g4e(function(r,e,t){u4e(r,e,t)});Oae.exports=f4e});var Zae=w((Oyt,_ae)=>{var gO;_ae.exports=()=>(typeof gO>"u"&&(gO=J("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),gO)});var EAe=w((Awt,mAe)=>{var mO=Symbol("arg flag"),Pn=class extends Error{constructor(e,t){super(e),this.name="ArgError",this.code=t,Object.setPrototypeOf(this,Pn.prototype)}};function $m(r,{argv:e=process.argv.slice(2),permissive:t=!1,stopAtPositional:i=!1}={}){if(!r)throw new Pn("argument specification object is required","ARG_CONFIG_NO_SPEC");let n={_:[]},s={},o={};for(let a of Object.keys(r)){if(!a)throw new Pn("argument key cannot be an empty string","ARG_CONFIG_EMPTY_KEY");if(a[0]!=="-")throw new Pn(`argument key must start with '-' but found: '${a}'`,"ARG_CONFIG_NONOPT_KEY");if(a.length===1)throw new Pn(`argument key must have a name; singular '-' keys are not allowed: ${a}`,"ARG_CONFIG_NONAME_KEY");if(typeof r[a]=="string"){s[a]=r[a];continue}let l=r[a],c=!1;if(Array.isArray(l)&&l.length===1&&typeof l[0]=="function"){let[u]=l;l=(g,f,h=[])=>(h.push(u(g,f,h[h.length-1])),h),c=u===Boolean||u[mO]===!0}else if(typeof l=="function")c=l===Boolean||l[mO]===!0;else throw new Pn(`type missing or not a function or valid array type: ${a}`,"ARG_CONFIG_VAD_TYPE");if(a[1]!=="-"&&a.length>2)throw new Pn(`short argument keys (with a single hyphen) must have only one character: ${a}`,"ARG_CONFIG_SHORTOPT_TOOLONG");o[a]=[l,c]}for(let a=0,l=e.length;a0){n._=n._.concat(e.slice(a));break}if(c==="--"){n._=n._.concat(e.slice(a+1));break}if(c.length>1&&c[0]==="-"){let u=c[1]==="-"||c.length===2?[c]:c.slice(1).split("").map(g=>`-${g}`);for(let g=0;g1&&e[a+1][0]==="-"&&!(e[a+1].match(/^-?\d*(\.(?=\d))?\d*$/)&&(y===Number||typeof BigInt<"u"&&y===BigInt))){let v=h===C?"":` (alias for ${C})`;throw new Pn(`option requires argument: ${h}${v}`,"ARG_MISSING_REQUIRED_LONGARG")}n[C]=y(e[a+1],C,n[C]),++a}else n[C]=y(p,C,n[C])}}else n._.push(c)}return n}$m.flag=r=>(r[mO]=!0,r);$m.COUNT=$m.flag((r,e,t)=>(t||0)+1);$m.ArgError=Pn;mAe.exports=$m});var DAe=w((Mwt,PAe)=>{var wO;PAe.exports=()=>(typeof wO>"u"&&(wO=J("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),wO)});var OAe=w((xO,PO)=>{(function(r){xO&&typeof xO=="object"&&typeof PO<"u"?PO.exports=r():typeof define=="function"&&define.amd?define([],r):typeof window<"u"?window.isWindows=r():typeof global<"u"?global.isWindows=r():typeof self<"u"?self.isWindows=r():this.isWindows=r()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var HAe=w((OBt,UAe)=>{"use strict";DO.ifExists=u8e;var Wh=J("util"),ks=J("path"),MAe=OAe(),A8e=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,l8e={createPwshFile:!0,createCmdFile:MAe(),fs:J("fs")},c8e=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function KAe(r){let e={...l8e,...r},t=e.fs;return e.fs_={chmod:t.chmod?Wh.promisify(t.chmod):async()=>{},mkdir:Wh.promisify(t.mkdir),readFile:Wh.promisify(t.readFile),stat:Wh.promisify(t.stat),unlink:Wh.promisify(t.unlink),writeFile:Wh.promisify(t.writeFile)},e}async function DO(r,e,t){let i=KAe(t);await i.fs_.stat(r),await f8e(r,e,i)}function u8e(r,e,t){return DO(r,e,t).catch(()=>{})}function g8e(r,e){return e.fs_.unlink(r).catch(()=>{})}async function f8e(r,e,t){let i=await m8e(r,t);return await h8e(e,t),p8e(r,e,i,t)}function h8e(r,e){return e.fs_.mkdir(ks.dirname(r),{recursive:!0})}function p8e(r,e,t,i){let n=KAe(i),s=[{generator:y8e,extension:""}];return n.createCmdFile&&s.push({generator:I8e,extension:".cmd"}),n.createPwshFile&&s.push({generator:w8e,extension:".ps1"}),Promise.all(s.map(o=>E8e(r,e+o.extension,t,o.generator,n)))}function d8e(r,e){return g8e(r,e)}function C8e(r,e){return B8e(r,e)}async function m8e(r,e){let n=(await e.fs_.readFile(r,"utf8")).trim().split(/\r*\n/)[0].match(A8e);if(!n){let s=ks.extname(r).toLowerCase();return{program:c8e.get(s)||null,additionalArgs:""}}return{program:n[1],additionalArgs:n[2]}}async function E8e(r,e,t,i,n){let s=n.preserveSymlinks?"--preserve-symlinks":"",o=[t.additionalArgs,s].filter(a=>a).join(" ");return n=Object.assign({},n,{prog:t.program,args:o}),await d8e(e,n),await n.fs_.writeFile(e,i(r,e,n),"utf8"),C8e(e,n)}function I8e(r,e,t){let n=ks.relative(ks.dirname(e),r).split("/").join("\\"),s=ks.isAbsolute(n)?`"${n}"`:`"%~dp0\\${n}"`,o,a=t.prog,l=t.args||"",c=kO(t.nodePath).win32;a?(o=`"%~dp0\\${a}.exe"`,n=s):(a=s,l="",n="");let u=t.progArgs?`${t.progArgs.join(" ")} `:"",g=c?`@SET NODE_PATH=${c}\r `:"";return o?g+=`@IF EXIST ${o} (\r ${o} ${l} ${n} ${u}%*\r ) ELSE (\r @@ -409,7 +409,7 @@ ${e.map(t=>` `,end:r=>`section_end:${Math.floor(Date.now()/1e3)}:${r.toLowerCase().replace(/\W+/g,"_")}\r\x1B[0K`}:null,k6=new Date,yke=["iTerm.app","Apple_Terminal","WarpTerminal","vscode"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,wke=r=>r,yB=wke({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),Bke=yke&&Object.keys(yB).find(r=>{let e=yB[r];return!(e.date&&(e.date[0]!==k6.getDate()||e.date[1]!==k6.getMonth()+1))})||"default";function F6(r,{configuration:e,json:t}){if(!e.get("enableMessageNames"))return"";let n=QA(r===null?0:r);return!t&&r===null?Ze(e,n,"grey"):n}function PR(r,{configuration:e,json:t}){let i=F6(r,{configuration:e,json:t});if(!i||r===null||r===0)return i;let n=Ct[r],s=`https://yarnpkg.com/advanced/error-codes#${i}---${n}`.toLowerCase();return cf(e,i,s)}var Ge=class extends Si{constructor({configuration:t,stdout:i,json:n=!1,includePrefix:s=!0,includeFooter:o=!0,includeLogs:a=!n,includeInfos:l=a,includeWarnings:c=a,forgettableBufferSize:u=Ike,forgettableNames:g=new Set}){super();this.uncommitted=new Set;this.cacheHitCount=0;this.cacheMissCount=0;this.lastCacheMiss=null;this.warningCount=0;this.errorCount=0;this.startTime=Date.now();this.indent=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.progressStyle=null;this.progressMaxScaledSize=null;this.forgettableLines=[];if(Kd(this,{configuration:t}),this.configuration=t,this.forgettableBufferSize=u,this.forgettableNames=new Set([...g,...Eke]),this.includePrefix=s,this.includeFooter=o,this.includeInfos=l,this.includeWarnings=c,this.json=n,this.stdout=i,t.get("enableProgressBars")&&!n&&i.isTTY&&i.columns>22){let f=t.get("progressBarStyle")||Bke;if(!Object.prototype.hasOwnProperty.call(yB,f))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=yB[f];let h=12,p=Math.max(0,Math.min(i.columns-h,80));this.progressMaxScaledSize=Math.floor(this.progressStyle.size*p/80)}}static async start(t,i){let n=new this(t),s=process.emitWarning;process.emitWarning=(o,a)=>{if(typeof o!="string"){let c=o;o=c.message,a=a!=null?a:c.name}let l=typeof a<"u"?`${a}: ${o}`:o;n.reportWarning(0,l)};try{await i(n)}catch(o){n.reportExceptionOnce(o)}finally{await n.finalize(),process.emitWarning=s}return n}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(t){this.cacheHitCount+=1}reportCacheMiss(t,i){this.lastCacheMiss=t,this.cacheMissCount+=1,typeof i<"u"&&!this.configuration.get("preferAggregateCacheInfo")&&this.reportInfo(13,i)}startSectionSync({reportHeader:t,reportFooter:i,skipIfEmpty:n},s){let o={committed:!1,action:()=>{t==null||t()}};n?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(i==null||i(l-a))}}async startSectionPromise({reportHeader:t,reportFooter:i,skipIfEmpty:n},s){let o={committed:!1,action:()=>{t==null||t()}};n?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return await s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(i==null||i(l-a))}}startTimerImpl(t,i,n){return{cb:typeof i=="function"?i:n,reportHeader:()=>{this.reportInfo(null,`\u250C ${t}`),this.indent+=1,EB!==null&&!this.json&&this.includeInfos&&this.stdout.write(EB.start(t))},reportFooter:a=>{this.indent-=1,EB!==null&&!this.json&&this.includeInfos&&this.stdout.write(EB.end(t)),this.configuration.get("enableTimers")&&a>200?this.reportInfo(null,`\u2514 Completed in ${Ze(this.configuration,a,Ue.DURATION)}`):this.reportInfo(null,"\u2514 Completed")},skipIfEmpty:(typeof i=="function"?{}:i).skipIfEmpty}}startTimerSync(t,i,n){let{cb:s,...o}=this.startTimerImpl(t,i,n);return this.startSectionSync(o,s)}async startTimerPromise(t,i,n){let{cb:s,...o}=this.startTimerImpl(t,i,n);return this.startSectionPromise(o,s)}async startCacheReport(t){let i=this.configuration.get("preferAggregateCacheInfo")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await t()}catch(n){throw this.reportExceptionOnce(n),n}finally{i!==null&&this.reportCacheChanges(i)}}reportSeparator(){this.indent===0?this.writeLineWithForgettableReset(""):this.reportInfo(null,"")}reportInfo(t,i){if(!this.includeInfos)return;this.commit();let n=this.formatNameWithHyperlink(t),s=n?`${n}: `:"",o=`${this.formatPrefix(s,"blueBright")}${i}`;if(this.json)this.reportJson({type:"info",name:t,displayName:this.formatName(t),indent:this.formatIndent(),data:i});else if(this.forgettableNames.has(t))if(this.forgettableLines.push(o),this.forgettableLines.length>this.forgettableBufferSize){for(;this.forgettableLines.length>this.forgettableBufferSize;)this.forgettableLines.shift();this.writeLines(this.forgettableLines,{truncate:!0})}else this.writeLine(o,{truncate:!0});else this.writeLineWithForgettableReset(o)}reportWarning(t,i){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let n=this.formatNameWithHyperlink(t),s=n?`${n}: `:"";this.json?this.reportJson({type:"warning",name:t,displayName:this.formatName(t),indent:this.formatIndent(),data:i}):this.writeLineWithForgettableReset(`${this.formatPrefix(s,"yellowBright")}${i}`)}reportError(t,i){this.errorCount+=1,this.commit();let n=this.formatNameWithHyperlink(t),s=n?`${n}: `:"";this.json?this.reportJson({type:"error",name:t,displayName:this.formatName(t),indent:this.formatIndent(),data:i}):this.writeLineWithForgettableReset(`${this.formatPrefix(s,"redBright")}${i}`,{truncate:!1})}reportProgress(t){if(this.progressStyle===null)return{...Promise.resolve(),stop:()=>{}};if(t.hasProgress&&t.hasTitle)throw new Error("Unimplemented: Progress bars can't have both progress and titles.");let i=!1,n=Promise.resolve().then(async()=>{let o={progress:t.hasProgress?0:void 0,title:t.hasTitle?"":void 0};this.progress.set(t,{definition:o,lastScaledSize:t.hasProgress?-1:void 0,lastTitle:void 0}),this.refreshProgress({delta:-1});for await(let{progress:a,title:l}of t)i||o.progress===a&&o.title===l||(o.progress=a,o.title=l,this.refreshProgress());s()}),s=()=>{i||(i=!0,this.progress.delete(t),this.refreshProgress({delta:1}))};return{...n,stop:s}}reportJson(t){this.json&&this.writeLineWithForgettableReset(`${JSON.stringify(t)}`)}async finalize(){if(!this.includeFooter)return;let t="";this.errorCount>0?t="Failed with errors":this.warningCount>0?t="Done with warnings":t="Done";let i=Ze(this.configuration,Date.now()-this.startTime,Ue.DURATION),n=this.configuration.get("enableTimers")?`${t} in ${i}`:t;this.errorCount>0?this.reportError(0,n):this.warningCount>0?this.reportWarning(0,n):this.reportInfo(0,n)}writeLine(t,{truncate:i}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(t,{truncate:i})} `),this.writeProgress()}writeLineWithForgettableReset(t,{truncate:i}={}){this.forgettableLines=[],this.writeLine(t,{truncate:i})}writeLines(t,{truncate:i}={}){this.clearProgress({delta:t.length});for(let n of t)this.stdout.write(`${this.truncate(n,{truncate:i})} `);this.writeProgress()}reportCacheChanges({cacheHitCount:t,cacheMissCount:i}){let n=this.cacheHitCount-t,s=this.cacheMissCount-i;if(n===0&&s===0)return;let o="";this.cacheHitCount>1?o+=`${this.cacheHitCount} packages were already cached`:this.cacheHitCount===1?o+=" - one package was already cached":o+="No packages were cached",this.cacheHitCount>0?this.cacheMissCount>1?o+=`, ${this.cacheMissCount} had to be fetched`:this.cacheMissCount===1&&(o+=`, one had to be fetched (${mt(this.configuration,this.lastCacheMiss)})`):this.cacheMissCount>1?o+=` - ${this.cacheMissCount} packages had to be fetched`:this.cacheMissCount===1&&(o+=` - one package had to be fetched (${mt(this.configuration,this.lastCacheMiss)})`),this.reportInfo(13,o)}commit(){let t=this.uncommitted;this.uncommitted=new Set;for(let i of t)i.committed=!0,i.action()}clearProgress({delta:t=0,clear:i=!1}){this.progressStyle!==null&&this.progress.size+t>0&&(this.stdout.write(`\x1B[${this.progress.size+t}A`),(t>0||i)&&this.stdout.write("\x1B[0J"))}writeProgress(){if(this.progressStyle===null||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let t=Date.now();t-this.progressTime>D6&&(this.progressFrame=(this.progressFrame+1)%P6.length,this.progressTime=t);let i=P6[this.progressFrame];for(let n of this.progress.values()){let s="";if(typeof n.lastScaledSize<"u"){let c=this.progressStyle.chars[0].repeat(n.lastScaledSize),u=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-n.lastScaledSize);s=` ${c}${u}`}let o=this.formatName(null),a=o?`${o}: `:"",l=n.definition.title?` ${n.definition.title}`:"";this.stdout.write(`${Ze(this.configuration,"\u27A4","blueBright")} ${a}${i}${s}${l} -`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress({force:!0})},D6)}refreshProgress({delta:t=0,force:i=!1}={}){let n=!1,s=!1;if(i||this.progress.size===0)n=!0;else for(let o of this.progress.values()){let a=typeof o.definition.progress<"u"?Math.trunc(this.progressMaxScaledSize*o.definition.progress):void 0,l=o.lastScaledSize;o.lastScaledSize=a;let c=o.lastTitle;if(o.lastTitle=o.definition.title,a!==l||(s=c!==o.definition.title)){n=!0;break}}n&&(this.clearProgress({delta:t,clear:s}),this.writeProgress())}truncate(t,{truncate:i}={}){return this.progressStyle===null&&(i=!1),typeof i>"u"&&(i=this.configuration.get("preferTruncatedLines")),i&&(t=(0,R6.default)(t,0,this.stdout.columns-1)),t}formatName(t){return F6(t,{configuration:this.configuration,json:this.json})}formatPrefix(t,i){return this.includePrefix?`${Ze(this.configuration,"\u27A4",i)} ${t}${this.formatIndent()}`:""}formatNameWithHyperlink(t){return PR(t,{configuration:this.configuration,json:this.json})}formatIndent(){return"\u2502 ".repeat(this.indent)}};var Lr="3.4.0";var T6=(n=>(n.Yarn1="Yarn Classic",n.Yarn2="Yarn",n.Npm="npm",n.Pnpm="pnpm",n))(T6||{});async function Ka(r,e,t,i=[]){if(process.platform==="win32"){let n=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${t}" ${i.map(s=>`"${s.replace('"','""')}"`).join(" ")} %*`;await M.writeFilePromise(x.format({dir:r,name:e,ext:".cmd"}),n)}await M.writeFilePromise(x.join(r,e),`#!/bin/sh +`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress({force:!0})},D6)}refreshProgress({delta:t=0,force:i=!1}={}){let n=!1,s=!1;if(i||this.progress.size===0)n=!0;else for(let o of this.progress.values()){let a=typeof o.definition.progress<"u"?Math.trunc(this.progressMaxScaledSize*o.definition.progress):void 0,l=o.lastScaledSize;o.lastScaledSize=a;let c=o.lastTitle;if(o.lastTitle=o.definition.title,a!==l||(s=c!==o.definition.title)){n=!0;break}}n&&(this.clearProgress({delta:t,clear:s}),this.writeProgress())}truncate(t,{truncate:i}={}){return this.progressStyle===null&&(i=!1),typeof i>"u"&&(i=this.configuration.get("preferTruncatedLines")),i&&(t=(0,R6.default)(t,0,this.stdout.columns-1)),t}formatName(t){return F6(t,{configuration:this.configuration,json:this.json})}formatPrefix(t,i){return this.includePrefix?`${Ze(this.configuration,"\u27A4",i)} ${t}${this.formatIndent()}`:""}formatNameWithHyperlink(t){return PR(t,{configuration:this.configuration,json:this.json})}formatIndent(){return"\u2502 ".repeat(this.indent)}};var Lr="3.4.1";var T6=(n=>(n.Yarn1="Yarn Classic",n.Yarn2="Yarn",n.Npm="npm",n.Pnpm="pnpm",n))(T6||{});async function Ka(r,e,t,i=[]){if(process.platform==="win32"){let n=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${t}" ${i.map(s=>`"${s.replace('"','""')}"`).join(" ")} %*`;await M.writeFilePromise(x.format({dir:r,name:e,ext:".cmd"}),n)}await M.writeFilePromise(x.join(r,e),`#!/bin/sh exec "${t}" ${i.map(n=>`'${n.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@" `,{mode:493})}async function O6(r){let e=await ot.tryFind(r);if(e!=null&&e.packageManager){let i=hw(e.packageManager);if(i!=null&&i.name){let n=`found ${JSON.stringify({packageManager:e.packageManager})} in manifest`,[s]=i.reference.split(".");switch(i.name){case"yarn":{let o=Number(s)===1?"Yarn Classic":"Yarn";return{packageManagerField:!0,packageManager:o,reason:n}}break;case"npm":return{packageManagerField:!0,packageManager:"npm",reason:n};case"pnpm":return{packageManagerField:!0,packageManager:"pnpm",reason:n}}}}let t;try{t=await M.readFilePromise(x.join(r,xt.lockfile),"utf8")}catch{}return t!==void 0?t.match(/^__metadata:$/m)?{packageManager:"Yarn",reason:'"__metadata" key found in yarn.lock'}:{packageManager:"Yarn Classic",reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:M.existsSync(x.join(r,"package-lock.json"))?{packageManager:"npm",reason:`found npm's "package-lock.json" lockfile`}:M.existsSync(x.join(r,"pnpm-lock.yaml"))?{packageManager:"pnpm",reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function wC({project:r,locator:e,binFolder:t,ignoreCorepack:i,lifecycleScript:n}){var c,u;let s={};for(let[g,f]of Object.entries(process.env))typeof f<"u"&&(s[g.toLowerCase()!=="path"?g:"PATH"]=f);let o=K.fromPortablePath(t);s.BERRY_BIN_FOLDER=K.fromPortablePath(o);let a=process.env.COREPACK_ROOT&&!i?K.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([Ka(t,"node",process.execPath),...Lr!==null?[Ka(t,"run",process.execPath,[a,"run"]),Ka(t,"yarn",process.execPath,[a]),Ka(t,"yarnpkg",process.execPath,[a]),Ka(t,"node-gyp",process.execPath,[a,"run","--top-level","node-gyp"])]:[]]),r&&(s.INIT_CWD=K.fromPortablePath(r.configuration.startingCwd),s.PROJECT_CWD=K.fromPortablePath(r.cwd)),s.PATH=s.PATH?`${o}${K.delimiter}${s.PATH}`:`${o}`,s.npm_execpath=`${o}${K.sep}yarn`,s.npm_node_execpath=`${o}${K.sep}node`,e){if(!r)throw new Error("Assertion failed: Missing project");let g=r.tryWorkspaceByLocator(e),f=g?(c=g.manifest.version)!=null?c:"":(u=r.storedPackages.get(e.locatorHash).version)!=null?u:"";s.npm_package_name=Ot(e),s.npm_package_version=f;let h;if(g)h=g.cwd;else{let p=r.storedPackages.get(e.locatorHash);if(!p)throw new Error(`Package for ${mt(r.configuration,e)} not found in the project`);let C=r.configuration.getLinkers(),y={project:r,report:new Ge({stdout:new JA.PassThrough,configuration:r.configuration})},B=C.find(v=>v.supportsPackage(p,y));if(!B)throw new Error(`The package ${mt(r.configuration,p)} isn't supported by any of the available linkers`);h=await B.findPackageLocation(p,y)}s.npm_package_json=K.fromPortablePath(x.join(h,xt.manifest))}let l=Lr!==null?`yarn/${Lr}`:`yarn/${Af("@yarnpkg/core").version}-core`;return s.npm_config_user_agent=`${l} npm/? node/${process.version} ${process.platform} ${process.arch}`,n&&(s.npm_lifecycle_event=n),r&&await r.configuration.triggerHook(g=>g.setupScriptEnvironment,r,s,async(g,f,h)=>await Ka(t,Ur(g),f,h)),s}var Qke=2,bke=(0,L6.default)(Qke);async function Ske(r,e,{configuration:t,report:i,workspace:n=null,locator:s=null}){await bke(async()=>{await M.mktempPromise(async o=>{let a=x.join(o,"pack.log"),l=null,{stdout:c,stderr:u}=t.getSubprocessStreams(a,{prefix:K.fromPortablePath(r),report:i}),g=s&&Uo(s)?Wd(s):s,f=g?hs(g):"an external project";c.write(`Packing ${f} from sources `);let h=await O6(r),p;h!==null?(c.write(`Using ${h.packageManager} for bootstrap. Reason: ${h.reason} @@ -603,7 +603,7 @@ enableTelemetry: false `,{automaticNewlines:!0});let l=x.join(this.context.cwd,"README.md");if(M.existsSync(l)||await M.writeFilePromise(l,`# ${P.stringifyIdent(n.name)} `),!i||i.cwd===this.context.cwd){let u=x.join(this.context.cwd,xt.lockfile);M.existsSync(u)||await M.writeFilePromise(u,"");let f=[".yarn/*","!.yarn/patches","!.yarn/plugins","!.yarn/releases","!.yarn/sdks","!.yarn/versions","","# Swap the comments on the following lines if you don't wish to use zero-installs","# Documentation here: https://yarnpkg.com/features/zero-installs","!.yarn/cache","#.pnp.*"].map(L=>`${L} `).join(""),h=x.join(this.context.cwd,".gitignore");M.existsSync(h)||await M.writeFilePromise(h,f);let C=["/.yarn/** linguist-vendored","/.yarn/releases/* binary","/.yarn/plugins/**/* binary","/.pnp.* binary linguist-generated"].map(L=>`${L} -`).join(""),y=x.join(this.context.cwd,".gitattributes");M.existsSync(y)||(await M.writeFilePromise(y,C),changedPaths.push(y));let B={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};(0,Kae.default)(B,t.get("initEditorConfig"));let v=`root = true +`).join(""),y=x.join(this.context.cwd,".gitattributes");M.existsSync(y)||await M.writeFilePromise(y,C);let B={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};(0,Kae.default)(B,t.get("initEditorConfig"));let v=`root = true `;for(let[L,H]of Object.entries(B)){v+=` [${L}] `;for(let[j,$]of Object.entries(H))v+=`${j.replace(/[A-Z]/g,W=>`_${W.toLowerCase()}`)} = ${$} diff --git a/.yarnrc.yml b/.yarnrc.yml index 56ccf9d705..fa17076bfb 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -24,4 +24,4 @@ plugins: - path: .yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs spec: '@yarnpkg/plugin-workspace-tools' -yarnPath: .yarn/releases/yarn-3.4.0.cjs +yarnPath: .yarn/releases/yarn-3.4.1.cjs diff --git a/docs/workflow/dependencies.md b/docs/workflow/dependencies.md index 89592b4783..0f0dfc98eb 100644 --- a/docs/workflow/dependencies.md +++ b/docs/workflow/dependencies.md @@ -24,7 +24,9 @@ Other parameters (no order implied) to consider are: ## Updating a dependency -We can seem quiet _conservative_ about adding a new dependency, but when we already introduced it, we are very open to keeping it up-to-date. In fact, we encourage our team to check and update dependencies **as soon and as often as possible**. Of course, this applies to only `minor` and `patch` updates; for `major` version bumps, we need to evaluate the risk and effort as it can be considered as arduous as adding new dependencies. +We can seem quiet _conservative_ about adding a new dependency, but when we already introduced it, we are very open to keeping it up-to-date. In fact, we encourage our team to check and update dependencies **as soon and as often as possible**. Of course, this applies to only `minor` and `patch` updates; for `major` version bumps, we need to evaluate the risk and effort as it can be considered as arduous as adding new dependencies + +> See this [guide](./upgrade-dependencies.md) for more details on dependencies upgrade procedure. ## When to move things to shared? diff --git a/docs/workflow/upgrade-dependencies.md b/docs/workflow/upgrade-dependencies.md new file mode 100644 index 0000000000..8110851c0f --- /dev/null +++ b/docs/workflow/upgrade-dependencies.md @@ -0,0 +1,58 @@ +# Dependenies Upgrade Process + +## Libraries + +Run the interactive upgrade tool and follow our [strategy guide](./dependencies.md#updating-a-dependency) on dependencies upgrade to make your selection + +```sh +yarn check:update +``` + +Update the package manifest cache/lock file + +```sh +yarn fix:pkg +``` + +## Tools + +### Yarn + +```sh +yarn set version stable +``` + +> NOTE: You might need to manually upgrade the plugins; we're not so sure if the above command also include upgrading the commands, follow this [guide](https://yarnpkg.com/features/plugins) + +### Node + +Update Node version enforeced in the root `package.json` + +```jsonc + ... + "engines": { + "node": ">=16.8.0" + } +``` + +Update Node version used for pipeline workflow + +```yml +- name: Setup Node + uses: actions/setup-node@v3.6.0 + with: + node-version: 16 +``` + +### Docker + +Currently, we have fairly basic `Dockerfile` configurations, we just need to update the version of the base static web server + +```dockerfile +FROM finos/legend-shared-server:0.23.3 +... +``` + +### Github Actions + +Currently, we set up [dependabot](https://docs.github.com/en/code-security/dependabot) to check for new updates of these tools (e.g. `actions/setup-node`, `actions/cache`, etc.). Just regularly check open PRs and merge them will do the work diff --git a/fixtures/legend-mock-server/package.json b/fixtures/legend-mock-server/package.json index a6a72d43bc..e9594106d5 100644 --- a/fixtures/legend-mock-server/package.json +++ b/fixtures/legend-mock-server/package.json @@ -27,15 +27,15 @@ }, "dependencies": { "@fastify/cors": "8.2.0", - "fastify": "4.13.0" + "fastify": "4.14.1" }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", "cross-env": "7.0.3", "eslint": "8.35.0", - "nodemon": "2.0.20", + "nodemon": "2.0.21", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "typescript": "4.9.5" } } diff --git a/package.json b/package.json index a119ed8dbe..5457caa909 100644 --- a/package.json +++ b/package.json @@ -95,7 +95,7 @@ "@finos/eslint-plugin-legend-studio": "workspace:*", "@finos/legend-dev-utils": "workspace:*", "@finos/stylelint-config-legend-studio": "workspace:*", - "@types/node": "18.14.2", + "@types/node": "18.14.6", "chalk": "5.2.0", "cross-env": "7.0.3", "envinfo": "7.8.1", @@ -103,12 +103,12 @@ "fs-extra": "11.1.0", "husky": "8.0.3", "inquirer": "9.1.4", - "jest": "29.4.3", + "jest": "29.5.0", "lint-staged": "13.1.2", "micromatch": "4.0.5", "npm-run-all": "4.1.5", "prettier": "2.8.4", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "sass": "1.58.3", "semver": "7.3.8", "sort-package-json": "2.4.1", @@ -117,7 +117,7 @@ "typescript": "4.9.5", "yargs": "17.7.1" }, - "packageManager": "yarn@3.4.0", + "packageManager": "yarn@3.4.1", "engines": { "node": ">=16.17.0", "yarn": ">=1.22.10" diff --git a/packages/babel-preset/package.json b/packages/babel-preset/package.json index a5ccb2e1e1..00b384a946 100644 --- a/packages/babel-preset/package.json +++ b/packages/babel-preset/package.json @@ -41,7 +41,7 @@ "devDependencies": { "cross-env": "7.0.3", "eslint": "8.35.0", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "typescript": "4.9.5" }, "peerDependencies": { diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json index 515d61d050..cbbb999542 100644 --- a/packages/eslint-plugin/package.json +++ b/packages/eslint-plugin/package.json @@ -33,9 +33,9 @@ "dependencies": { "@babel/core": "7.21.0", "@babel/eslint-parser": "7.19.1", - "@typescript-eslint/eslint-plugin": "5.53.0", - "@typescript-eslint/parser": "5.53.0", - "eslint-config-prettier": "8.6.0", + "@typescript-eslint/eslint-plugin": "5.54.1", + "@typescript-eslint/parser": "5.54.1", + "eslint-config-prettier": "8.7.0", "eslint-plugin-import": "2.27.5", "eslint-plugin-prettier": "4.2.1", "eslint-plugin-react": "7.32.2", @@ -45,7 +45,7 @@ }, "devDependencies": { "cross-env": "7.0.3", - "rimraf": "4.1.2" + "rimraf": "4.3.1" }, "peerDependencies": { "eslint": "^8.0.0", diff --git a/packages/legend-application-pure-ide-deployment/package.json b/packages/legend-application-pure-ide-deployment/package.json index af43e3a20b..4c02435f22 100644 --- a/packages/legend-application-pure-ide-deployment/package.json +++ b/packages/legend-application-pure-ide-deployment/package.json @@ -46,7 +46,7 @@ "cross-env": "7.0.3", "eslint": "8.35.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "typescript": "4.9.5", "webpack": "5.75.0", "webpack-bundle-analyzer": "4.8.0", diff --git a/packages/legend-application-pure-ide/package.json b/packages/legend-application-pure-ide/package.json index f2182e431c..52143c6f82 100644 --- a/packages/legend-application-pure-ide/package.json +++ b/packages/legend-application-pure-ide/package.json @@ -51,8 +51,8 @@ "@types/react": "18.0.28", "@types/react-dom": "18.0.11", "mobx": "6.8.0", - "mobx-react-lite": "3.4.0", - "monaco-editor": "0.36.0", + "mobx-react-lite": "3.4.2", + "monaco-editor": "0.36.1", "react": "18.2.0", "react-dnd": "16.0.1", "react-dom": "18.2.0", @@ -60,12 +60,12 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", - "@jest/globals": "29.4.3", + "@jest/globals": "29.5.0", "cross-env": "7.0.3", "eslint": "8.35.0", - "jest": "29.4.3", + "jest": "29.5.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "sass": "1.58.3", "typescript": "4.9.5" }, diff --git a/packages/legend-application-pure-ide/src/components/editor/aux-panel/TerminalPanel.tsx b/packages/legend-application-pure-ide/src/components/editor/aux-panel/TerminalPanel.tsx index 2605710b28..307b324f64 100644 --- a/packages/legend-application-pure-ide/src/components/editor/aux-panel/TerminalPanel.tsx +++ b/packages/legend-application-pure-ide/src/components/editor/aux-panel/TerminalPanel.tsx @@ -22,7 +22,11 @@ import { CaseSensitiveIcon, CloseIcon, clsx, + ContextMenu, + CopyIcon, HistoryIcon, + MenuContent, + MenuContentItem, QuestionCircleIcon, RegexIcon, TrashIcon, @@ -99,6 +103,12 @@ export const Console = observer(() => { terminal.focus(); } }; + const clear = (): void => { + terminal.clear(); + terminal.focus(); + }; + const copy = (): void => terminal.copy(); + const copyAll = (): void => terminal.copyAll(); if (!terminal.isSetup) { return ( @@ -227,14 +237,19 @@ export const Console = observer(() => { > + @@ -251,7 +266,19 @@ export const Console = observer(() => { -
+ + Copy + Copy All + Clear + + } + menuProps={{ elevation: 7 }} + > +
+
); }); diff --git a/packages/legend-application-pure-ide/src/components/editor/aux-panel/TextSearchPanel.tsx b/packages/legend-application-pure-ide/src/components/editor/aux-panel/TextSearchPanel.tsx index 954dbac1b7..e67675f624 100644 --- a/packages/legend-application-pure-ide/src/components/editor/aux-panel/TextSearchPanel.tsx +++ b/packages/legend-application-pure-ide/src/components/editor/aux-panel/TextSearchPanel.tsx @@ -290,14 +290,25 @@ export const TextSearchPanel = observer(() => { } }; + useEffect(() => { + if (searchInputRef.current) { + searchState.setSearchInput(searchInputRef.current); + } + return () => searchState.setSearchInput(undefined); + }, [searchState]); + useEffect(() => { if ( editorStore.auxPanelDisplayState.isOpen && editorStore.activeAuxPanelMode === AUX_PANEL_MODE.SEARCH ) { - searchInputRef.current?.focus(); + searchState.focus(); } - }, [editorStore.auxPanelDisplayState.isOpen, editorStore.activeAuxPanelMode]); + }, [ + searchState, + editorStore.auxPanelDisplayState.isOpen, + editorStore.activeAuxPanelMode, + ]); return (
diff --git a/packages/legend-application-pure-ide/src/stores/EditorStore.ts b/packages/legend-application-pure-ide/src/stores/EditorStore.ts index bbf4e47d2f..7e3f986ece 100644 --- a/packages/legend-application-pure-ide/src/stores/EditorStore.ts +++ b/packages/legend-application-pure-ide/src/stores/EditorStore.ts @@ -413,15 +413,9 @@ export class EditorStore implements CommandRegistrar { this.applicationStore.commandCenter.registerCommand({ key: LEGEND_PURE_IDE_COMMAND_KEY.SEARCH_TEXT, action: () => { - if ( - this.auxPanelDisplayState.isOpen && - this.activeAuxPanelMode === AUX_PANEL_MODE.SEARCH - ) { - this.auxPanelDisplayState.close(); - } else { - this.setActiveAuxPanelMode(AUX_PANEL_MODE.SEARCH); - this.auxPanelDisplayState.open(); - } + this.setActiveAuxPanelMode(AUX_PANEL_MODE.SEARCH); + this.auxPanelDisplayState.open(); + this.textSearchState.focus(); }, }); this.applicationStore.commandCenter.registerCommand({ diff --git a/packages/legend-application-pure-ide/src/stores/FileEditorState.ts b/packages/legend-application-pure-ide/src/stores/FileEditorState.ts index 244adc5e93..277fdc0314 100644 --- a/packages/legend-application-pure-ide/src/stores/FileEditorState.ts +++ b/packages/legend-application-pure-ide/src/stores/FileEditorState.ts @@ -391,6 +391,33 @@ export class FileEditorState }, }); } + this.editorStore.applicationStore.commandCenter.registerCommand({ + key: LEGEND_PURE_IDE_PURE_FILE_EDITOR_COMMAND_KEY.DELETE_LINE, + trigger: () => + this.editorStore.tabManagerState.currentTab === this && + Boolean(this.textEditorState.editor?.hasTextFocus()), + action: () => { + const currentPosition = this.textEditorState.editor?.getPosition(); + if (currentPosition) { + this.textEditorState.model.pushEditOperations( + [], + [ + { + range: { + startLineNumber: currentPosition.lineNumber, + startColumn: 1, + endLineNumber: currentPosition.lineNumber + 1, + endColumn: 1, + }, + text: '', + forceMoveMarkers: true, + }, + ], + () => null, + ); + } + }, + }); this.editorStore.applicationStore.commandCenter.registerCommand({ key: LEGEND_PURE_IDE_PURE_FILE_EDITOR_COMMAND_KEY.GO_TO_LINE, trigger: () => this.editorStore.tabManagerState.currentTab === this, diff --git a/packages/legend-application-pure-ide/src/stores/LegendPureIDECommand.ts b/packages/legend-application-pure-ide/src/stores/LegendPureIDECommand.ts index 8e78efc315..36a7e9e0f7 100644 --- a/packages/legend-application-pure-ide/src/stores/LegendPureIDECommand.ts +++ b/packages/legend-application-pure-ide/src/stores/LegendPureIDECommand.ts @@ -32,7 +32,7 @@ export const LEGEND_PURE_IDE_COMMAND_CONFIG: CommandConfigData = { [LEGEND_PURE_IDE_COMMAND_KEY.SEARCH_FILE]: { title: 'Search for file', defaultKeyboardShortcut: 'Control+Shift+KeyN', - additionalKeyboardShortcuts: ['Shift Shift', 'Control+KeyP', 'Meta+KeyP'], + additionalKeyboardShortcuts: ['Control+KeyP', 'Meta+KeyP'], }, [LEGEND_PURE_IDE_COMMAND_KEY.SEARCH_TEXT]: { title: 'Search text', @@ -104,24 +104,25 @@ export enum LEGEND_PURE_IDE_PURE_FILE_EDITOR_COMMAND_KEY { FIND_USAGES = 'editor.file-editor.find-usage', RENAME_CONCEPT = 'editor.file-editor.rename-concept', GO_TO_LINE = 'editor.file-editor.go-to-line', + DELETE_LINE = 'editor.file-editor.delete-line', } export const LEGEND_PURE_IDE_PURE_FILE_EDITOR_COMMAND_CONFIG: CommandConfigData = { [LEGEND_PURE_IDE_PURE_FILE_EDITOR_COMMAND_KEY.TOGGLE_TEXT_WRAP]: { - title: 'Toggle text wrap (File)', + title: 'Toggle Text-wrap (File)', defaultKeyboardShortcut: 'Alt+KeyZ', }, [LEGEND_PURE_IDE_PURE_FILE_EDITOR_COMMAND_KEY.REVEAL_CONCEPT_IN_TREE]: { - title: 'Reveal concept in tree (File)', + title: 'Reveal Concept in Tree (File)', defaultKeyboardShortcut: 'Control+Shift+KeyB', }, [LEGEND_PURE_IDE_PURE_FILE_EDITOR_COMMAND_KEY.GO_TO_DEFINITION]: { - title: 'Go to definition (File)', + title: 'Go to Definition (File)', defaultKeyboardShortcut: 'Control+KeyB', }, [LEGEND_PURE_IDE_PURE_FILE_EDITOR_COMMAND_KEY.GO_BACK]: { - title: 'Go back (File)', + title: 'Go Back (File)', defaultKeyboardShortcut: 'Control+Alt+KeyB', }, [LEGEND_PURE_IDE_PURE_FILE_EDITOR_COMMAND_KEY.FIND_USAGES]: { @@ -136,6 +137,10 @@ export const LEGEND_PURE_IDE_PURE_FILE_EDITOR_COMMAND_CONFIG: CommandConfigData title: 'Go to Line (File)', defaultKeyboardShortcut: 'Control+KeyG', }, + [LEGEND_PURE_IDE_PURE_FILE_EDITOR_COMMAND_KEY.DELETE_LINE]: { + title: 'Delete Line (File)', + defaultKeyboardShortcut: 'Control+KeyD', + }, }; export enum LEGEND_PURE_IDE_TERMINAL_COMMAND { diff --git a/packages/legend-application-pure-ide/src/stores/TextSearchState.ts b/packages/legend-application-pure-ide/src/stores/TextSearchState.ts index 802dbdee79..98c311c061 100644 --- a/packages/legend-application-pure-ide/src/stores/TextSearchState.ts +++ b/packages/legend-application-pure-ide/src/stores/TextSearchState.ts @@ -68,6 +68,8 @@ export class TextSearchState { readonly editorStore: EditorStore; readonly loadState = ActionState.create(); + private searchInput?: HTMLInputElement | undefined; + text = ''; isCaseSensitive = false; isRegExp = false; @@ -89,6 +91,14 @@ export class TextSearchState { this.editorStore = editorStore; } + setSearchInput(el: HTMLInputElement | undefined): void { + this.searchInput = el; + } + + focus(): void { + this.searchInput?.focus(); + } + *search(): GeneratorFn { if (this.loadState.isInProgress) { return; diff --git a/packages/legend-application-pure-ide/style/components/editor/aux-panel/_terminal-panel.scss b/packages/legend-application-pure-ide/style/components/editor/aux-panel/_terminal-panel.scss index 26d311df30..addcc26721 100644 --- a/packages/legend-application-pure-ide/style/components/editor/aux-panel/_terminal-panel.scss +++ b/packages/legend-application-pure-ide/style/components/editor/aux-panel/_terminal-panel.scss @@ -130,6 +130,13 @@ height: calc(100% - 2.8rem); width: 100%; display: flex; + position: relative; + } + + &__container { + height: 100%; + width: 100%; + display: flex; overflow: hidden; position: relative; } diff --git a/packages/legend-application-query-bootstrap/package.json b/packages/legend-application-query-bootstrap/package.json index 4940b7f6c7..8f432ec156 100644 --- a/packages/legend-application-query-bootstrap/package.json +++ b/packages/legend-application-query-bootstrap/package.json @@ -67,7 +67,7 @@ "cross-env": "7.0.3", "eslint": "8.35.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "sass": "1.58.3", "typescript": "4.9.5" }, diff --git a/packages/legend-application-query-deployment/package.json b/packages/legend-application-query-deployment/package.json index c546022200..9dabe4696c 100644 --- a/packages/legend-application-query-deployment/package.json +++ b/packages/legend-application-query-deployment/package.json @@ -42,7 +42,7 @@ "cross-env": "7.0.3", "eslint": "8.35.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "typescript": "4.9.5", "webpack": "5.75.0", "webpack-bundle-analyzer": "4.8.0", diff --git a/packages/legend-application-query/package.json b/packages/legend-application-query/package.json index f8baea7ba0..f9d72f5898 100644 --- a/packages/legend-application-query/package.json +++ b/packages/legend-application-query/package.json @@ -54,19 +54,19 @@ "@types/react": "18.0.28", "@types/react-dom": "18.0.11", "mobx": "6.8.0", - "mobx-react-lite": "3.4.0", + "mobx-react-lite": "3.4.2", "react": "18.2.0", "react-dom": "18.2.0", "serializr": "3.0.2" }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", - "@jest/globals": "29.4.3", + "@jest/globals": "29.5.0", "cross-env": "7.0.3", "eslint": "8.35.0", - "jest": "29.4.3", + "jest": "29.5.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "sass": "1.58.3", "typescript": "4.9.5" }, diff --git a/packages/legend-application-query/src/stores/LegendQueryBaseStore.ts b/packages/legend-application-query/src/stores/LegendQueryBaseStore.ts index b799e4c46a..32db9a8862 100644 --- a/packages/legend-application-query/src/stores/LegendQueryBaseStore.ts +++ b/packages/legend-application-query/src/stores/LegendQueryBaseStore.ts @@ -86,26 +86,11 @@ export class LegendQueryBaseStore { } // setup telemetry service - this.applicationStore.telemetryService.setUserId( - this.applicationStore.currentUser, - ); + this.applicationStore.setupTelemetryService(); ApplicationTelemetry.logEvent_ApplicationInitializationSucceeded( this.applicationStore.telemetryService, - { - application: { - name: this.applicationStore.config.appName, - version: this.applicationStore.config.appVersion, - env: this.applicationStore.config.env, - }, - browser: { - userAgent: navigator.userAgent, - }, - screen: { - height: window.screen.height, - width: window.screen.width, - }, - }, + this.applicationStore, ); this.initState.complete(); diff --git a/packages/legend-application-query/src/stores/LegendQueryTelemetry.ts b/packages/legend-application-query/src/stores/LegendQueryTelemetry.ts index 1bd28514cc..ccc6ec06cd 100644 --- a/packages/legend-application-query/src/stores/LegendQueryTelemetry.ts +++ b/packages/legend-application-query/src/stores/LegendQueryTelemetry.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import type { TelemetryService } from '@finos/legend-shared'; +import type { TelemetryService } from '@finos/legend-application'; import { LEGEND_QUERY_APP_EVENT } from './LegendQueryAppEvent.js'; type Query_TelemetryData = { diff --git a/packages/legend-application-query/src/stores/QueryEditorStore.ts b/packages/legend-application-query/src/stores/QueryEditorStore.ts index 10a486b34e..3a07506cd0 100644 --- a/packages/legend-application-query/src/stores/QueryEditorStore.ts +++ b/packages/legend-application-query/src/stores/QueryEditorStore.ts @@ -44,7 +44,6 @@ import { PackageableElementExplicitReference, RuntimePointer, GRAPH_MANAGER_EVENT, - GraphManagerTelemetry, extractElementNameFromPath, QuerySearchSpecification, Mapping, @@ -76,6 +75,7 @@ import { TAB_SIZE, DEFAULT_TYPEAHEAD_SEARCH_MINIMUM_SEARCH_LENGTH, DEFAULT_TYPEAHEAD_SEARCH_LIMIT, + ApplicationTelemetry, } from '@finos/legend-application'; import type { LegendQueryPluginManager } from '../application/LegendQueryPluginManager.js'; import { LegendQueryEventService } from './LegendQueryEventService.js'; @@ -534,26 +534,20 @@ export abstract class QueryEditorStore { // report stopWatch.record(GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH__SUCCESS); const graphBuilderReportData = { - timings: { - [GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH_SYSTEM__SUCCESS]: - stopWatch.getRecord( - GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH_SYSTEM__SUCCESS, - ), - [GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH__SUCCESS]: stopWatch.getRecord( - GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH__SUCCESS, - ), - }, + timings: + this.applicationStore.timeService.finalizeTimingsRecord(stopWatch), dependencies: dependency_buildReport, dependenciesCount: this.graphManagerState.graph.dependencyManager.numberOfDependencies, graph: graph_buildReport, }; - this.applicationStore.log.info( - LogEvent.create(GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH__SUCCESS), + ApplicationTelemetry.logEvent_GraphInitializationSucceeded( + this.applicationStore.telemetryService, graphBuilderReportData, ); - GraphManagerTelemetry.logEvent_GraphInitializationSucceeded( - this.applicationStore.telemetryService, + + this.applicationStore.log.info( + LogEvent.create(GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH__SUCCESS), graphBuilderReportData, ); } diff --git a/packages/legend-application-studio-bootstrap/package.json b/packages/legend-application-studio-bootstrap/package.json index 98f8bfe610..4ecfe4d61f 100644 --- a/packages/legend-application-studio-bootstrap/package.json +++ b/packages/legend-application-studio-bootstrap/package.json @@ -68,7 +68,7 @@ "cross-env": "7.0.3", "eslint": "8.35.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "sass": "1.58.3", "typescript": "4.9.5" }, diff --git a/packages/legend-application-studio-deployment/package.json b/packages/legend-application-studio-deployment/package.json index 4d50dea38a..82ee06262c 100644 --- a/packages/legend-application-studio-deployment/package.json +++ b/packages/legend-application-studio-deployment/package.json @@ -42,7 +42,7 @@ "cross-env": "7.0.3", "eslint": "8.35.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "typescript": "4.9.5", "webpack": "5.75.0", "webpack-bundle-analyzer": "4.8.0", diff --git a/packages/legend-application-studio/package.json b/packages/legend-application-studio/package.json index ee48c9f676..c504cf6f43 100644 --- a/packages/legend-application-studio/package.json +++ b/packages/legend-application-studio/package.json @@ -56,9 +56,9 @@ "@types/react": "18.0.28", "@types/react-dom": "18.0.11", "mobx": "6.8.0", - "mobx-react-lite": "3.4.0", + "mobx-react-lite": "3.4.2", "mobx-utils": "6.0.5", - "monaco-editor": "0.36.0", + "monaco-editor": "0.36.1", "node-diff3": "3.1.2", "react": "18.2.0", "react-dnd": "16.0.1", @@ -67,12 +67,12 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", - "@jest/globals": "29.4.3", + "@jest/globals": "29.5.0", "cross-env": "7.0.3", "eslint": "8.35.0", - "jest": "29.4.3", + "jest": "29.5.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "sass": "1.58.3", "typescript": "4.9.5" }, diff --git a/packages/legend-application-studio/src/stores/EditorGraphState.ts b/packages/legend-application-studio/src/stores/EditorGraphState.ts index 9e8463fe81..a86d938be0 100644 --- a/packages/legend-application-studio/src/stores/EditorGraphState.ts +++ b/packages/legend-application-studio/src/stores/EditorGraphState.ts @@ -90,7 +90,6 @@ import { DependencyGraphBuilderError, GraphDataDeserializationError, GraphBuilderError, - GraphManagerTelemetry, DataElement, type PackageableElement, type CompilationWarning, @@ -103,6 +102,7 @@ import { import { ActionAlertActionType, ActionAlertType, + ApplicationTelemetry, type TabState, } from '@finos/legend-application'; import { CONFIGURATION_EDITOR_TAB } from './editor-state/project-configuration-editor-state/ProjectConfigurationEditorState.js'; @@ -399,11 +399,10 @@ export class EditorGraphState { // report stopWatch.record(GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH__SUCCESS); const graphBuilderReportData = { - timings: { - [GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH__SUCCESS]: stopWatch.getRecord( - GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH__SUCCESS, + timings: + this.editorStore.applicationStore.timeService.finalizeTimingsRecord( + stopWatch, ), - }, dependencies: dependency_buildReport, dependenciesCount: this.editorStore.graphManagerState.graph.dependencyManager @@ -412,12 +411,13 @@ export class EditorGraphState { generations: generation_buildReport, generationsCount: this.graphGenerationState.generatedEntities.size, }; - this.editorStore.applicationStore.log.info( - LogEvent.create(GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH__SUCCESS), + ApplicationTelemetry.logEvent_GraphInitializationSucceeded( + this.editorStore.applicationStore.telemetryService, graphBuilderReportData, ); - GraphManagerTelemetry.logEvent_GraphInitializationSucceeded( - this.editorStore.applicationStore.telemetryService, + + this.editorStore.applicationStore.log.info( + LogEvent.create(GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH__SUCCESS), graphBuilderReportData, ); @@ -632,7 +632,11 @@ export class EditorGraphState { } } - report.timings.total = stopWatch.elapsed; + report.timings = + this.editorStore.applicationStore.timeService.finalizeTimingsRecord( + stopWatch, + report.timings, + ); LegendStudioTelemetry.logEvent_GraphCompilationSucceeded( this.editorStore.applicationStore.telemetryService, report, @@ -805,12 +809,12 @@ export class EditorGraphState { ), ); - report.timings = { - ...report.timings, - ...Object.fromEntries(stopWatch.records), - total: stopWatch.elapsed, - }; - LegendStudioTelemetry.logEvent_GraphCompilationSucceeded( + report.timings = + this.editorStore.applicationStore.timeService.finalizeTimingsRecord( + stopWatch, + report.timings, + ); + LegendStudioTelemetry.logEvent_TextCompilationSucceeded( this.editorStore.applicationStore.telemetryService, report, ); diff --git a/packages/legend-application-studio/src/stores/LegendStudioBaseStore.ts b/packages/legend-application-studio/src/stores/LegendStudioBaseStore.ts index 2db0469e22..2bf1f2b9ce 100644 --- a/packages/legend-application-studio/src/stores/LegendStudioBaseStore.ts +++ b/packages/legend-application-studio/src/stores/LegendStudioBaseStore.ts @@ -126,29 +126,14 @@ export class LegendStudioBaseStore { } // setup telemetry service - this.applicationStore.telemetryService.setUserId( - this.applicationStore.currentUser, - ); + this.applicationStore.setupTelemetryService(); } else { this.isSDLCAuthorized = undefined; } ApplicationTelemetry.logEvent_ApplicationInitializationSucceeded( this.applicationStore.telemetryService, - { - application: { - name: this.applicationStore.config.appName, - version: this.applicationStore.config.appVersion, - env: this.applicationStore.config.env, - }, - browser: { - userAgent: navigator.userAgent, - }, - screen: { - height: window.screen.height, - width: window.screen.width, - }, - }, + this.applicationStore, ); LegendStudioEventService.create( diff --git a/packages/legend-application-studio/src/stores/LegendStudioTelemetry.ts b/packages/legend-application-studio/src/stores/LegendStudioTelemetry.ts index bb52b7ca1b..ce00f34334 100644 --- a/packages/legend-application-studio/src/stores/LegendStudioTelemetry.ts +++ b/packages/legend-application-studio/src/stores/LegendStudioTelemetry.ts @@ -15,7 +15,7 @@ */ import type { GraphManagerOperationReport } from '@finos/legend-graph'; -import type { TelemetryService } from '@finos/legend-shared'; +import type { TelemetryService } from '@finos/legend-application'; import { LEGEND_STUDIO_APP_EVENT } from './LegendStudioAppEvent.js'; type Compilation_TelemetryData = GraphManagerOperationReport & { diff --git a/packages/legend-application-studio/src/stores/editor-state/element-editor-state/mapping/MappingExecutionState.ts b/packages/legend-application-studio/src/stores/editor-state/element-editor-state/mapping/MappingExecutionState.ts index 717e4233b2..e3e366f889 100644 --- a/packages/legend-application-studio/src/stores/editor-state/element-editor-state/mapping/MappingExecutionState.ts +++ b/packages/legend-application-studio/src/stores/editor-state/element-editor-state/mapping/MappingExecutionState.ts @@ -800,10 +800,12 @@ export class MappingExecutionState extends MappingEditorTabState { ), ); - report.timings = { - ...report.timings, - total: stopWatch.elapsed, - }; + // report + report.timings = + this.editorStore.applicationStore.timeService.finalizeTimingsRecord( + stopWatch, + report.timings, + ); QueryBuilderTelemetry.logEvent_QueryRunSucceeded( this.editorStore.applicationStore.telemetryService, report, @@ -890,11 +892,12 @@ export class MappingExecutionState extends MappingEditorTabState { } stopWatch.record(QUERY_BUILDER_EVENT.BUILD_EXECUTION_PLAN__SUCCESS); - report.timings = { - ...report.timings, - ...Object.fromEntries(stopWatch.records), - total: stopWatch.elapsed, - }; + // report + report.timings = + this.editorStore.applicationStore.timeService.finalizeTimingsRecord( + stopWatch, + report.timings, + ); if (debug) { QueryBuilderTelemetry.logEvent_ExecutionPlanDebugSucceeded( this.editorStore.applicationStore.telemetryService, diff --git a/packages/legend-application-studio/src/stores/editor-state/element-editor-state/mapping/MappingTestState.ts b/packages/legend-application-studio/src/stores/editor-state/element-editor-state/mapping/MappingTestState.ts index 85e9172978..7900ba6ecd 100644 --- a/packages/legend-application-studio/src/stores/editor-state/element-editor-state/mapping/MappingTestState.ts +++ b/packages/legend-application-studio/src/stores/editor-state/element-editor-state/mapping/MappingTestState.ts @@ -858,11 +858,12 @@ export class MappingTestState extends MappingEditorTabState { } stopWatch.record(QUERY_BUILDER_EVENT.BUILD_EXECUTION_PLAN__SUCCESS); - report.timings = { - ...report.timings, - ...Object.fromEntries(stopWatch.records), - total: stopWatch.elapsed, - }; + // report + report.timings = + this.editorStore.applicationStore.timeService.finalizeTimingsRecord( + stopWatch, + report.timings, + ); if (debug) { QueryBuilderTelemetry.logEvent_ExecutionPlanDebugSucceeded( this.editorStore.applicationStore.telemetryService, diff --git a/packages/legend-application-studio/src/stores/editor-state/element-editor-state/service/ServiceExecutionState.ts b/packages/legend-application-studio/src/stores/editor-state/element-editor-state/service/ServiceExecutionState.ts index a1065b549a..420883996f 100644 --- a/packages/legend-application-studio/src/stores/editor-state/element-editor-state/service/ServiceExecutionState.ts +++ b/packages/legend-application-studio/src/stores/editor-state/element-editor-state/service/ServiceExecutionState.ts @@ -614,11 +614,12 @@ export abstract class ServicePureExecutionState extends ServiceExecutionState { } stopWatch.record(QUERY_BUILDER_EVENT.BUILD_EXECUTION_PLAN__SUCCESS); - report.timings = { - ...report.timings, - ...Object.fromEntries(stopWatch.records), - total: stopWatch.elapsed, - }; + // report + report.timings = + this.editorStore.applicationStore.timeService.finalizeTimingsRecord( + stopWatch, + report.timings, + ); if (debug) { QueryBuilderTelemetry.logEvent_ExecutionPlanDebugSucceeded( this.editorStore.applicationStore.telemetryService, @@ -699,10 +700,12 @@ export abstract class ServicePureExecutionState extends ServiceExecutionState { ); this.parameterState.setParameters([]); - report.timings = { - ...report.timings, - total: stopWatch.elapsed, - }; + // report + report.timings = + this.editorStore.applicationStore.timeService.finalizeTimingsRecord( + stopWatch, + report.timings, + ); QueryBuilderTelemetry.logEvent_QueryRunSucceeded( this.editorStore.applicationStore.telemetryService, report, diff --git a/packages/legend-application-studio/src/stores/project-viewer/ProjectViewerStore.ts b/packages/legend-application-studio/src/stores/project-viewer/ProjectViewerStore.ts index 1faef70f31..7708049e05 100644 --- a/packages/legend-application-studio/src/stores/project-viewer/ProjectViewerStore.ts +++ b/packages/legend-application-studio/src/stores/project-viewer/ProjectViewerStore.ts @@ -47,7 +47,7 @@ import { Workspace, } from '@finos/legend-server-sdlc'; import { LEGEND_STUDIO_APP_EVENT } from '../LegendStudioAppEvent.js'; -import { TAB_SIZE } from '@finos/legend-application'; +import { ApplicationTelemetry, TAB_SIZE } from '@finos/legend-application'; import { ProjectData, resolveVersion } from '@finos/legend-server-depot'; import { type WorkflowManagerState, @@ -55,7 +55,6 @@ import { ProjectWorkflowManagerState, } from '../sidebar-state/WorkflowManagerState.js'; import { - GraphManagerTelemetry, GRAPH_MANAGER_EVENT, DependencyGraphBuilderError, GraphDataDeserializationError, @@ -412,23 +411,23 @@ export class ProjectViewerStore { // report stopWatch.record(GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH__SUCCESS); const graphBuilderReportData = { - timings: { - [GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH__SUCCESS]: stopWatch.getRecord( - GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH__SUCCESS, + timings: + this.editorStore.applicationStore.timeService.finalizeTimingsRecord( + stopWatch, ), - }, dependencies: dependency_buildReport, dependenciesCount: this.editorStore.graphManagerState.graph.dependencyManager .numberOfDependencies, graph: graph_buildReport, }; - this.editorStore.applicationStore.log.info( - LogEvent.create(GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH__SUCCESS), + ApplicationTelemetry.logEvent_GraphInitializationSucceeded( + this.editorStore.applicationStore.telemetryService, graphBuilderReportData, ); - GraphManagerTelemetry.logEvent_GraphInitializationSucceeded( - this.editorStore.applicationStore.telemetryService, + + this.editorStore.applicationStore.log.info( + LogEvent.create(GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH__SUCCESS), graphBuilderReportData, ); diff --git a/packages/legend-application-taxonomy-bootstrap/package.json b/packages/legend-application-taxonomy-bootstrap/package.json index 5265367c5b..22b5822540 100644 --- a/packages/legend-application-taxonomy-bootstrap/package.json +++ b/packages/legend-application-taxonomy-bootstrap/package.json @@ -59,7 +59,7 @@ "cross-env": "7.0.3", "eslint": "8.35.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "sass": "1.58.3", "typescript": "4.9.5" }, diff --git a/packages/legend-application-taxonomy-deployment/package.json b/packages/legend-application-taxonomy-deployment/package.json index 4903f0453f..153cb717f6 100644 --- a/packages/legend-application-taxonomy-deployment/package.json +++ b/packages/legend-application-taxonomy-deployment/package.json @@ -42,7 +42,7 @@ "cross-env": "7.0.3", "eslint": "8.35.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "typescript": "4.9.5", "webpack": "5.75.0", "webpack-bundle-analyzer": "4.8.0", diff --git a/packages/legend-application-taxonomy/package.json b/packages/legend-application-taxonomy/package.json index b0c4df2009..4a10e5650f 100644 --- a/packages/legend-application-taxonomy/package.json +++ b/packages/legend-application-taxonomy/package.json @@ -55,19 +55,19 @@ "@types/react": "18.0.28", "@types/react-dom": "18.0.11", "mobx": "6.8.0", - "mobx-react-lite": "3.4.0", + "mobx-react-lite": "3.4.2", "react": "18.2.0", "react-dom": "18.2.0", "serializr": "3.0.2" }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", - "@jest/globals": "29.4.3", + "@jest/globals": "29.5.0", "cross-env": "7.0.3", "eslint": "8.35.0", - "jest": "29.4.3", + "jest": "29.5.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "sass": "1.58.3", "typescript": "4.9.5" }, diff --git a/packages/legend-application-taxonomy/src/stores/LegendTaxonomyBaseStore.ts b/packages/legend-application-taxonomy/src/stores/LegendTaxonomyBaseStore.ts index 31d2f329b7..a3524e5bbe 100644 --- a/packages/legend-application-taxonomy/src/stores/LegendTaxonomyBaseStore.ts +++ b/packages/legend-application-taxonomy/src/stores/LegendTaxonomyBaseStore.ts @@ -93,26 +93,11 @@ export class LegendTaxonomyBaseStore { } // setup telemetry service - this.applicationStore.telemetryService.setUserId( - this.applicationStore.currentUser, - ); + this.applicationStore.setupTelemetryService(); ApplicationTelemetry.logEvent_ApplicationInitializationSucceeded( this.applicationStore.telemetryService, - { - application: { - name: this.applicationStore.config.appName, - version: this.applicationStore.config.appVersion, - env: this.applicationStore.config.env, - }, - browser: { - userAgent: navigator.userAgent, - }, - screen: { - height: window.screen.height, - width: window.screen.width, - }, - }, + this.applicationStore, ); this.initState.complete(); diff --git a/packages/legend-application-taxonomy/src/stores/StandaloneDataSpaceViewerStore.ts b/packages/legend-application-taxonomy/src/stores/StandaloneDataSpaceViewerStore.ts index fe0a9edbbc..60cc7021c7 100644 --- a/packages/legend-application-taxonomy/src/stores/StandaloneDataSpaceViewerStore.ts +++ b/packages/legend-application-taxonomy/src/stores/StandaloneDataSpaceViewerStore.ts @@ -48,12 +48,12 @@ import { } from './LegendTaxonomyDataSpaceViewerHelper.js'; export class StandaloneDataSpaceViewerStore { - applicationStore: LegendTaxonomyApplicationStore; - depotServerClient: DepotServerClient; - graphManagerState: BasicGraphManagerState; - pluginManager: LegendTaxonomyPluginManager; + readonly applicationStore: LegendTaxonomyApplicationStore; + readonly depotServerClient: DepotServerClient; + readonly graphManagerState: BasicGraphManagerState; + readonly pluginManager: LegendTaxonomyPluginManager; - initState = ActionState.create(); + readonly initState = ActionState.create(); viewerState?: DataSpaceViewerState | undefined; constructor( @@ -64,6 +64,7 @@ export class StandaloneDataSpaceViewerStore { viewerState: observable, initialize: flow, }); + this.applicationStore = applicationStore; this.depotServerClient = depotServerClient; this.graphManagerState = new BasicGraphManagerState( diff --git a/packages/legend-application-taxonomy/src/stores/TaxonomyExplorerStore.ts b/packages/legend-application-taxonomy/src/stores/TaxonomyExplorerStore.ts index 9f1bb29a61..e63e9e56a2 100644 --- a/packages/legend-application-taxonomy/src/stores/TaxonomyExplorerStore.ts +++ b/packages/legend-application-taxonomy/src/stores/TaxonomyExplorerStore.ts @@ -91,10 +91,11 @@ export class DataSpaceTaxonomyContext { } export class TaxonomyTreeNodeData implements TreeNodeData { - isSelected?: boolean | undefined; - isOpen?: boolean | undefined; readonly label: string; readonly id: string; + + isSelected?: boolean | undefined; + isOpen?: boolean | undefined; taxonomyData?: TaxonomyNodeData | undefined; childrenIds: string[] = []; dataSpaceTaxonomyContexts: DataSpaceTaxonomyContext[] = []; @@ -110,22 +111,22 @@ export class TaxonomyTreeNodeData implements TreeNodeData { } export class TaxonomyExplorerStore implements CommandRegistrar { - applicationStore: LegendTaxonomyApplicationStore; - depotServerClient: DepotServerClient; - taxonomyServerClient: TaxonomyServerClient; - graphManagerState: BasicGraphManagerState; - pluginManager: LegendTaxonomyPluginManager; + readonly applicationStore: LegendTaxonomyApplicationStore; + readonly depotServerClient: DepotServerClient; + readonly taxonomyServerClient: TaxonomyServerClient; + readonly graphManagerState: BasicGraphManagerState; + readonly pluginManager: LegendTaxonomyPluginManager; - sideBarDisplayState = new PanelDisplayState({ + readonly sideBarDisplayState = new PanelDisplayState({ initial: 300, default: 300, snap: 150, }); - searchTaxonomyNodeCommandState = new NonBlockingDialogState(); + readonly searchTaxonomyNodeCommandState = new NonBlockingDialogState(); - initState = ActionState.create(); + readonly initState = ActionState.create(); + readonly dataSpaceIndex = new Map(); - dataSpaceIndex = new Map(); treeData?: TreeData | undefined; initialTaxonomyPath?: string | undefined; @@ -145,6 +146,7 @@ export class TaxonomyExplorerStore implements CommandRegistrar { internalizeDataSpacePath: action, initialize: flow, }); + this.applicationStore = applicationStore; this.taxonomyServerClient = taxonomyServerClient; this.depotServerClient = depotServerClient; diff --git a/packages/legend-application/.npmignore b/packages/legend-application/.npmignore index ee137fb5f9..9fff3807c4 100644 --- a/packages/legend-application/.npmignore +++ b/packages/legend-application/.npmignore @@ -4,3 +4,4 @@ **/__tests__/** /*.* !tsconfig.json +!tsconfig.package.json diff --git a/packages/legend-application/_package.config.js b/packages/legend-application/_package.config.js index adf04239d6..52611ad50b 100644 --- a/packages/legend-application/_package.config.js +++ b/packages/legend-application/_package.config.js @@ -18,6 +18,7 @@ export default { publish: { typescript: { main: './tsconfig.publish.json', + others: ['./tsconfig.package.json'], }, }, }; diff --git a/packages/legend-application/package.json b/packages/legend-application/package.json index 633a910e4a..195d59228d 100644 --- a/packages/legend-application/package.json +++ b/packages/legend-application/package.json @@ -52,8 +52,8 @@ "@types/react-router-dom": "5.3.3", "history": "5.3.0", "mobx": "6.8.0", - "mobx-react-lite": "3.4.0", - "monaco-editor": "0.36.0", + "mobx-react-lite": "3.4.2", + "monaco-editor": "0.36.1", "react": "18.2.0", "react-dnd": "16.0.1", "react-dnd-html5-backend": "16.0.1", @@ -72,12 +72,12 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", - "@jest/globals": "29.4.3", + "@jest/globals": "29.5.0", "cross-env": "7.0.3", "eslint": "8.35.0", - "jest": "29.4.3", + "jest": "29.5.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "sass": "1.58.3", "typescript": "4.9.5" }, @@ -87,6 +87,9 @@ "publishConfig": { "directory": "build/publishContent" }, + "extensions": { + "iframeEventNotifierPlugin": "@finos/legend-event-notifier-plugin-iframe" + }, "typedoc": { "entryPoint": "./src/index.ts", "readmeFile": "./README.md" diff --git a/packages/legend-application/src/application/LegendApplicationPluginManager.tsx b/packages/legend-application/src/application/LegendApplicationPluginManager.tsx index 0e69ff4155..e9ee3c91be 100644 --- a/packages/legend-application/src/application/LegendApplicationPluginManager.tsx +++ b/packages/legend-application/src/application/LegendApplicationPluginManager.tsx @@ -15,24 +15,28 @@ */ import { - type EventNotifierPlugin, - type EventNotifierPluginManager, type LoggerPlugin, type LoggerPluginManager, - type TelemetryServicePlugin, - type TelemetryServicePluginManager, type TracerServicePlugin, type TracerServicePluginManager, AbstractPluginManager, } from '@finos/legend-shared'; +import type { + EventNotifierPlugin, + EventNotifierPluginManager, +} from '../stores/EventService.js'; import type { LegendApplicationPlugin } from '../stores/LegendApplicationPlugin.js'; +import type { + TelemetryServicePlugin, + TelemetryServicePluginManager, +} from '../stores/TelemetryService.js'; export class LegendApplicationPluginManager extends AbstractPluginManager implements LoggerPluginManager, - TelemetryServicePluginManager, TracerServicePluginManager, + TelemetryServicePluginManager, EventNotifierPluginManager { protected loggerPlugins: LoggerPlugin[] = []; diff --git a/packages/legend-application/src/components/LegendApplicationComponentFrameworkProvider.tsx b/packages/legend-application/src/components/LegendApplicationComponentFrameworkProvider.tsx index 8d7f723e4b..8169568913 100644 --- a/packages/legend-application/src/components/LegendApplicationComponentFrameworkProvider.tsx +++ b/packages/legend-application/src/components/LegendApplicationComponentFrameworkProvider.tsx @@ -28,6 +28,7 @@ import { type KeyBindingConfig, } from '@finos/legend-shared'; import { VirtualAssistant } from './VirtualAssistant.js'; +import { ApplicationTelemetry } from '../stores/ApplicationTelemetry.js'; const APP_CONTAINER_ID = 'app.container'; const APP_BACKDROP_CONTAINER_ID = 'app.backdrop-container'; @@ -37,27 +38,27 @@ const PLATFORM_NATIVE_KEYBOARD_SHORTCUTS = [ 'Control+KeyP', 'Meta+KeyS', // Save 'Control+KeyS', + 'F8', // Chrome: Developer Tools > Sources: Run or pause script 'F10', // Chrome: Developer Tools > Sources: Step over next function call 'F11', // Chrome: Developer Tools > Sources: Step into next function call 'Meta+Shift+KeyP', // Chrome: Developer Tools: Open Command Prompt inside developer tools 'Control+Backquote', // Chrome: Developer Tools: Open console - 'Control+Shift+KeyP', + 'Control+Shift+KeyN', // Chrome: Open Private Browsing (incognito) + + 'Control+Shift+KeyP', // Firefox: Open Private Browsing 'Meta+KeyB', // Firefox: Open bookmark sidebar 'Control+KeyB', 'F7', // Firefox: Caret browsing 'Alt+F7', // Firefox: Caret browsing (Mac) 'Control+Shift+KeyB', + 'Alt+KeyZ', // Mac: special symbol ]; const buildHotkeysConfiguration = ( commandKeyMap: Map, - handler: ( - commandKey: string, - keyCombination: string, - event: KeyboardEvent, - ) => void, + handler: (keyCombination: string, event: KeyboardEvent) => void, ): KeyBindingConfig => { const keyMap: KeyBindingConfig = {}; commandKeyMap.forEach((keyCombinations, commandKey) => { @@ -70,15 +71,13 @@ const buildHotkeysConfiguration = ( }); // Disable platform native keyboard shortcuts + // NOTE: due to the order in which hotkey configuration is searched and applied, + // we must place these after application hotkey configuration const PLATFORM_NATIVE_KEYBOARD_COMMAND = 'INTERNAL__PLATFORM_NATIVE_KEYBOARD_COMMAND'; keyMap[PLATFORM_NATIVE_KEYBOARD_COMMAND] = { combinations: PLATFORM_NATIVE_KEYBOARD_SHORTCUTS, - handler: ( - commandKey: string, - keyCombination: string, - event: KeyboardEvent, - ) => { + handler: (keyCombination: string, event: KeyboardEvent) => { // prevent default from potentially clashing key combinations event.preventDefault(); }, @@ -124,7 +123,7 @@ export const LegendApplicationComponentFrameworkProvider = observer( const keyBindingMap = buildHotkeysConfiguration( applicationStore.keyboardShortcutsService.commandKeyMap, - (commandKey: string, keyCombination: string, event: KeyboardEvent) => { + (keyCombination: string, event: KeyboardEvent) => { // prevent default from potentially clashing key combinations with platform native keyboard shortcuts // NOTE: Though tempting since it's a good way to simplify and potentially avoid conflicts, // we should not call `preventDefault()` because if we have any hotkey sequence which is too short, @@ -133,10 +132,7 @@ export const LegendApplicationComponentFrameworkProvider = observer( if (PLATFORM_NATIVE_KEYBOARD_SHORTCUTS.includes(keyCombination)) { event.preventDefault(); } - applicationStore.keyboardShortcutsService.dispatch( - commandKey, - keyCombination, - ); + applicationStore.keyboardShortcutsService.dispatch(keyCombination); }, ); @@ -148,6 +144,29 @@ export const LegendApplicationComponentFrameworkProvider = observer( }; }, [keyBindingMap]); + /** + * Keep track of when the application usage is interrupted (e.g. when the app window/tab is not in focus), + * since for certain platform, background contexts are de-prioritized, given less resources, and hence, would + * run less performantly; and might require particular handlings. + * + * See https://developer.mozilla.org/en-US/docs/Web/API/Page_Visibility_API#policies_in_place_to_aid_background_page_performance + * See https://plumbr.io/blog/performance-blog/background-tabs-in-browser-load-20-times-slower + */ + useEffect(() => { + const onVisibilityChange = (): void => { + if (document.hidden) { + ApplicationTelemetry.logEvent_ApplicationUsageInterrupted( + applicationStore.telemetryService, + ); + applicationStore.timeService.recordUsageInterruption(); + } + }; + document.addEventListener('visibilitychange', onVisibilityChange); + return () => { + document.removeEventListener('visibilitychange', onVisibilityChange); + }; + }, [applicationStore]); + return ( diff --git a/packages/legend-application/src/index.ts b/packages/legend-application/src/index.ts index 3bac47369e..806115993b 100644 --- a/packages/legend-application/src/index.ts +++ b/packages/legend-application/src/index.ts @@ -34,6 +34,8 @@ export { WebApplicationNavigator } from './stores/WebApplicationNavigator.js'; export * from './stores/DocumentationService.js'; export * from './stores/CommandCenter.js'; export * from './stores/EventService.js'; +export * from './stores/TelemetryService.js'; +export * from './stores/IframeEventNotifierPlugin.js'; export * from './stores/NotificationService.js'; export * from './stores/AlertService.js'; export * from './stores/AssistantService.js'; diff --git a/packages/legend-application/src/stores/ApplicationEvent.ts b/packages/legend-application/src/stores/ApplicationEvent.ts index 432de631d6..db5a708e40 100644 --- a/packages/legend-application/src/stores/ApplicationEvent.ts +++ b/packages/legend-application/src/stores/ApplicationEvent.ts @@ -39,5 +39,7 @@ export enum APPLICATION_EVENT { APPLICATION_CONTEXT__ACCESS = 'application.context.access', + APPLICATION_USAGE__INTERRUPT = 'application.usage.interrupt', + VIRTUAL_ASSISTANT_DOCUMENTATION_ENTRY__ACCESS = 'application.virtual-assistant.documentation-entry.access', } diff --git a/packages/legend-application/src/stores/ApplicationStore.ts b/packages/legend-application/src/stores/ApplicationStore.ts index e99f798796..e335db169d 100644 --- a/packages/legend-application/src/stores/ApplicationStore.ts +++ b/packages/legend-application/src/stores/ApplicationStore.ts @@ -17,13 +17,13 @@ import { type SuperGenericFunction, TracerService, - TelemetryService, assertTrue, Log, LogEvent, assertErrorThrown, isString, ApplicationError, + uuid, } from '@finos/legend-shared'; import { action, makeObservable, observable } from 'mobx'; import { APPLICATION_EVENT } from './ApplicationEvent.js'; @@ -46,6 +46,8 @@ import { NOTIFCATION_SEVERITY, } from './NotificationService.js'; import { UNKNOWN_USER_ID } from './IdentityService.js'; +import { TelemetryService } from './TelemetryService.js'; +import { TimeService } from './TimeService.js'; export type GenericLegendApplicationStore = ApplicationStore< LegendApplicationConfig, @@ -56,22 +58,29 @@ export class ApplicationStore< T extends LegendApplicationConfig, V extends LegendApplicationPluginManager, > { + readonly uuid = uuid(); + readonly config: T; readonly pluginManager: V; // user + // TODO: if this ever gets more complicated, rename this to `IdentityService` currentUser = UNKNOWN_USER_ID; // navigation + // TODO: rename to `NavigationService` + // NOTE: as of now, we only support web environment, we will not use `Application readonly navigator: WebApplicationNavigator; readonly navigationContextService: ApplicationNavigationContextService; - // TODO: refactor this to `NotificationService` including notifications and alerts + // TODO: refactor this to `NotificationService` notification?: Notification | undefined; + + // TODO: refactor this to `AlertService` blockingAlertInfo?: BlockingAlertInfo | undefined; actionAlertInfo?: ActionAlertInfo | undefined; - // TODO: consider renaming this to `LogService` + // NOTE: we have considered consider renaming this to `LogService` readonly log = new Log(); readonly terminalService: TerminalService; @@ -79,7 +88,8 @@ export class ApplicationStore< readonly documentationService: DocumentationService; readonly assistantService: AssistantService; - // communication + // event & communication + readonly timeService = new TimeService(); readonly eventService = new EventService(); readonly telemetryService = new TelemetryService(); readonly tracerService = new TracerService(); @@ -141,7 +151,7 @@ export class ApplicationStore< this.telemetryService.registerPlugins( pluginManager.getTelemetryServicePlugins(), ); - this.telemetryService.setUserId(this.currentUser); + this.setupTelemetryService(); this.commandCenter = new CommandCenter(this); this.keyboardShortcutsService = new KeyboardShortcutsService(this); this.tracerService.registerPlugins(pluginManager.getTracerServicePlugins()); @@ -154,6 +164,15 @@ export class ApplicationStore< this.TEMPORARY__isLightThemeEnabled = val; } + setupTelemetryService(): void { + this.telemetryService.setup({ + userId: this.currentUser, + appName: this.config.appName, + appSessionId: this.uuid, + // appStartTime: this.time timestamp, + }); + } + /** * Change the ID used to find the base element to mount the backdrop on. * This is useful when we want to use backdrop with embedded application which diff --git a/packages/legend-application/src/stores/ApplicationTelemetry.ts b/packages/legend-application/src/stores/ApplicationTelemetry.ts index 4ce1a2af99..2a6f24e455 100644 --- a/packages/legend-application/src/stores/ApplicationTelemetry.ts +++ b/packages/legend-application/src/stores/ApplicationTelemetry.ts @@ -14,23 +14,14 @@ * limitations under the License. */ -import type { TelemetryService } from '@finos/legend-shared'; +import { + type GraphManagerOperationReport, + GRAPH_MANAGER_EVENT, +} from '@finos/legend-graph'; +import type { TimingsRecord } from '@finos/legend-shared'; import { APPLICATION_EVENT } from './ApplicationEvent.js'; - -type ApplicationLoaded_TelemetryData = { - application: { - name: string; - version: string; - env: string; - }; - browser: { - userAgent: string; - }; - screen: { - height: number; - width: number; - }; -}; +import type { GenericLegendApplicationStore } from './ApplicationStore.js'; +import type { TelemetryService } from './TelemetryService.js'; type ApplicationContextAccessed_TelemetryData = { key: string; @@ -40,15 +31,34 @@ type VirtualAssistantDocumentationEntryAccessed_TelemetryData = { key: string; }; +type GraphInitialized_TelemetryData = { + timings: TimingsRecord; + dependencies: GraphManagerOperationReport; + dependenciesCount: number; + graph: GraphManagerOperationReport; + generations?: GraphManagerOperationReport; + generationCount?: number; +}; + export class ApplicationTelemetry { static logEvent_ApplicationInitializationSucceeded( telemetryService: TelemetryService, - data: ApplicationLoaded_TelemetryData, + applicationStore: GenericLegendApplicationStore, ): void { - telemetryService.logEvent( - APPLICATION_EVENT.APPLICATION_LOAD__SUCCESS, - data, - ); + telemetryService.logEvent(APPLICATION_EVENT.APPLICATION_LOAD__SUCCESS, { + application: { + name: applicationStore.config.appName, + version: applicationStore.config.appVersion, + env: applicationStore.config.env, + }, + browser: { + userAgent: navigator.userAgent, + }, + screen: { + height: window.screen.height, + width: window.screen.width, + }, + }); } static logEvent_ApplicationContextAccessed( @@ -70,4 +80,23 @@ export class ApplicationTelemetry { data, ); } + + static logEvent_GraphInitializationSucceeded( + telemetryService: TelemetryService, + data: GraphInitialized_TelemetryData, + ): void { + telemetryService.logEvent( + GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH__SUCCESS, + data, + ); + } + + static logEvent_ApplicationUsageInterrupted( + telemetryService: TelemetryService, + ): void { + telemetryService.logEvent( + APPLICATION_EVENT.APPLICATION_USAGE__INTERRUPT, + {}, + ); + } } diff --git a/packages/legend-application/src/stores/EventService.ts b/packages/legend-application/src/stores/EventService.ts index 6024e5f0c8..23758b82f4 100644 --- a/packages/legend-application/src/stores/EventService.ts +++ b/packages/legend-application/src/stores/EventService.ts @@ -14,11 +14,36 @@ * limitations under the License. */ -import type { - NotificationEventData, - EventNotifierPlugin, +import { + AbstractPlugin, + type AbstractPluginManager, } from '@finos/legend-shared'; +// NOTE: here, we keep event data at a very generic shape +// One of the main motivation of event notifier is Github web-hook +// we would need to document event as well their event data +// See https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#webhook-payload-object-common-properties +export interface NotificationEventData { + [key: string]: unknown; +} + +export interface EventNotifierPluginManager extends AbstractPluginManager { + registerEventNotifierPlugin(plugin: EventNotifierPlugin): void; + getEventNotifierPlugins(): EventNotifierPlugin[]; +} + +export abstract class EventNotifierPlugin extends AbstractPlugin { + install(pluginManager: EventNotifierPluginManager): void { + pluginManager.registerEventNotifierPlugin(this); + } + + /** + * NOTE: Similar to telemetry service, event notifier should be considered "fire and forget" + * it should not throw any error + */ + abstract notify(event: string, data: NotificationEventData): void; +} + export class EventService { private notifierPlugins: EventNotifierPlugin[] = []; diff --git a/packages/legend-shared/src/communication/IframeEventNotifierPlugin.ts b/packages/legend-application/src/stores/IframeEventNotifierPlugin.ts similarity index 97% rename from packages/legend-shared/src/communication/IframeEventNotifierPlugin.ts rename to packages/legend-application/src/stores/IframeEventNotifierPlugin.ts index cacb4c5020..067e7d3957 100644 --- a/packages/legend-shared/src/communication/IframeEventNotifierPlugin.ts +++ b/packages/legend-application/src/stores/IframeEventNotifierPlugin.ts @@ -18,7 +18,7 @@ import packageJson from '../../package.json'; import { type NotificationEventData, EventNotifierPlugin, -} from './EventNotifierPlugin.js'; +} from './EventService.js'; export class IframeEventNotifierPlugin extends EventNotifierPlugin { constructor() { diff --git a/packages/legend-application/src/stores/KeyboardShortcutsService.ts b/packages/legend-application/src/stores/KeyboardShortcutsService.ts index 9b5fb75891..e4adf6bec3 100644 --- a/packages/legend-application/src/stores/KeyboardShortcutsService.ts +++ b/packages/legend-application/src/stores/KeyboardShortcutsService.ts @@ -98,22 +98,14 @@ export class KeyboardShortcutsService { ]); } - dispatch(commandKey: string, keyCombination: string): void { + dispatch(keyCombination: string): void { if (this.isHotkeysBlocked) { return; } const mappedCommandKeys = this.keyMap.get(keyCombination) ?? []; - for (const mappedCommandKey of mappedCommandKeys) { - // Find the first command that works then escape. - // Here we try to match the command key for which dispatch is - // called with the command key for the the command we are - // executing. This check is to make sure we are not executing - // the command for dispatch function called for different - // command key with the same key combination. - if ( - commandKey === mappedCommandKey && - this.applicationStore.commandCenter.runCommand(mappedCommandKey) - ) { + for (const commandKey of mappedCommandKeys) { + // find the first command that works then escape + if (this.applicationStore.commandCenter.runCommand(commandKey)) { return; } } diff --git a/packages/legend-application/src/stores/PureLanguageSupport.ts b/packages/legend-application/src/stores/PureLanguageSupport.ts index 2f067a341a..78fb64c997 100644 --- a/packages/legend-application/src/stores/PureLanguageSupport.ts +++ b/packages/legend-application/src/stores/PureLanguageSupport.ts @@ -507,6 +507,11 @@ export const setupPureLanguageService = ( keybinding: KeyMod.WinCtrl | KeyCode.KeyO, command: null, }, + { + // disable cursor move (core command) + keybinding: KeyMod.WinCtrl | KeyCode.KeyD, + command: null, + }, { // disable cursor move (core command) keybinding: KeyMod.WinCtrl | KeyCode.KeyP, diff --git a/packages/legend-shared/src/communication/TelemetryService.ts b/packages/legend-application/src/stores/TelemetryService.ts similarity index 63% rename from packages/legend-shared/src/communication/TelemetryService.ts rename to packages/legend-application/src/stores/TelemetryService.ts index b104a5f0d5..20ec73c178 100644 --- a/packages/legend-shared/src/communication/TelemetryService.ts +++ b/packages/legend-application/src/stores/TelemetryService.ts @@ -17,26 +17,45 @@ import { AbstractPlugin, type AbstractPluginManager, -} from '../application/AbstractPluginManager.js'; -import type { PlainObject } from '../CommonUtils.js'; + type PlainObject, +} from '@finos/legend-shared'; export type TelemetryData = PlainObject; +type ApplicationTelemetryConfigData = { + userId?: string | undefined; + appName?: string | undefined; + appVersion?: string | undefined; + appEnv?: string | undefined; + appSessionId?: string | undefined; + appStartTime?: number | undefined; +}; + export interface TelemetryServicePluginManager extends AbstractPluginManager { getTelemetryServicePlugins(): TelemetryServicePlugin[]; registerTelemetryServicePlugin(plugin: TelemetryServicePlugin): void; } export abstract class TelemetryServicePlugin extends AbstractPlugin { + protected userId?: string | undefined; + protected appName?: string | undefined; + protected appVersion?: string | undefined; + protected appEnv?: string | undefined; + protected appSessionId?: string | undefined; + protected appStartTime?: number | undefined; + install(pluginManager: TelemetryServicePluginManager): void { pluginManager.registerTelemetryServicePlugin(this); } - /** - * Certain telemetry service needs the user ID set in order to derive more information of the user - * from directory service in the telemetry server. - */ - abstract setUserId(val: string): TelemetryServicePlugin; + setup(config: ApplicationTelemetryConfigData): void { + this.userId = config.userId; + this.appName = config.appName; + this.appVersion = config.appVersion; + this.appEnv = config.appEnv; + this.appSessionId = config.appSessionId; + this.appStartTime = config.appStartTime; + } /** * NOTE: However the telemetry server is configured, @@ -53,8 +72,8 @@ export class TelemetryService { this.plugins = plugins; } - setUserId(val: string): void { - this.plugins.forEach((plugin) => plugin.setUserId(val)); + setup(config: ApplicationTelemetryConfigData): void { + this.plugins.forEach((plugin) => plugin.setup(config)); } logEvent(eventType: string, data: TelemetryData): void { diff --git a/packages/legend-application/src/stores/TimeService.ts b/packages/legend-application/src/stores/TimeService.ts new file mode 100644 index 0000000000..1255b53fd3 --- /dev/null +++ b/packages/legend-application/src/stores/TimeService.ts @@ -0,0 +1,66 @@ +/** + * Copyright (c) 2020-present, Goldman Sachs + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import type { StopWatch, TimingsRecord } from '@finos/legend-shared'; + +export class TimeService { + readonly timestamp = Date.now(); + /** + * Record the instances where the application usage is interrupted (e.g. when the app window/tab is not in focus), + * this is useful to know since for certain platform, background contexts are de-prioritized, given less resources, + * and hence, would run less performantly. + * + * See https://developer.mozilla.org/en-US/docs/Web/API/Page_Visibility_API#policies_in_place_to_aid_background_page_performance + * See https://plumbr.io/blog/performance-blog/background-tabs-in-browser-load-20-times-slower + * + * This impacts certain operations such as scheduler and timer in the app, so it's useful to keep track of these here. + */ + readonly interruptions: number[] = []; + + recordUsageInterruption(): void { + this.interruptions.push(Date.now()); + } + + finalizeTimingsRecord( + stopWatch: StopWatch, + timings?: TimingsRecord | undefined, + ): TimingsRecord { + const totalTime = stopWatch.elapsed; + const startTime = stopWatch.startTime; + const endTime = startTime + totalTime; + + const record = { + ...(timings ?? {}), + ...Object.fromEntries(stopWatch.records), + total: totalTime, + }; + + // count the number of interruptions + let numberOfInteruptions = 0; + + for (const interruption of this.interruptions) { + if (interruption >= startTime && interruption <= endTime) { + numberOfInteruptions++; + } else if (interruption > endTime) { + break; + } + } + + return numberOfInteruptions > 0 + ? { ...record, __numberOfInteruptions: numberOfInteruptions } + : record; + } +} diff --git a/packages/legend-application/src/stores/terminal/Terminal.ts b/packages/legend-application/src/stores/terminal/Terminal.ts index 7a619d48d3..c2fc9ec021 100644 --- a/packages/legend-application/src/stores/terminal/Terminal.ts +++ b/packages/legend-application/src/stores/terminal/Terminal.ts @@ -256,4 +256,7 @@ export abstract class Terminal extends Console { abstract clearSearch(): void; abstract findPrevious(): void; abstract findNext(): void; + + abstract copy(): void; + abstract copyAll(): void; } diff --git a/packages/legend-application/src/stores/terminal/XTerm.ts b/packages/legend-application/src/stores/terminal/XTerm.ts index 4d075911a7..9d054f8ebe 100644 --- a/packages/legend-application/src/stores/terminal/XTerm.ts +++ b/packages/legend-application/src/stores/terminal/XTerm.ts @@ -237,6 +237,18 @@ export class XTerm extends Terminal { event.stopPropagation(); this.searchConfig.focus(); return false; + } else if ( + // NOTE: by default Ctrl+C gets sent to the shell as you wouldn't be able to use bash otherwise. + // We need this special handling here for normal copy behavior on Windows. + // Paste (Ctrl+V) not working on Windows could also be due to the same reason, so we would not + // manually handle that using `xterm.onKey` neither + // See https://github.com/xtermjs/xterm.js/issues/1868 + // See https://github.com/microsoft/vscode/issues/6451 + (isMatchingKeyCombination(event, 'Control+KeyC') && + this.instance.hasSelection()) || + isMatchingKeyCombination(event, 'Control+KeyV') + ) { + return false; } return true; // return true to indicate the event should still be handled by xterm }, @@ -364,7 +376,6 @@ export class XTerm extends Terminal { ? this.computeCursorJumpMovement(true) : -1, ); - // console.log('left', movement); this.instance.scrollLines(movement.scroll); this.instance.write(movement.seq); } else if (domEvent.code === 'ArrowRight') { @@ -373,7 +384,6 @@ export class XTerm extends Terminal { ? this.computeCursorJumpMovement(false) : 1, ); - // console.log('right', movement); this.instance.scrollLines(movement.scroll); this.instance.write(movement.seq); } else if ( @@ -880,4 +890,34 @@ export class XTerm extends Terminal { caseSensitive: this.searchConfig.matchCaseSensitive, }); } + + private getContent(): string { + const buffer = this.instance.buffer.active; + const lines: string[] = []; + + for (let i = 0; i < buffer.length; ++i) { + const line = guaranteeNonNullable(buffer.getLine(i)); + lines.push(line.translateToString()); + } + + return lines.join('\n').trimEnd(); + } + + copy(): void { + if (!this.instance.hasSelection()) { + this.applicationStore.notifyWarning( + `Ther terminal has no selection to copy`, + ); + return; + } + this.applicationStore + .copyTextToClipboard(this.instance.getSelection()) + .catch(this.applicationStore.alertUnhandledError); + } + + copyAll(): void { + this.applicationStore + .copyTextToClipboard(this.getContent()) + .catch(this.applicationStore.alertUnhandledError); + } } diff --git a/packages/legend-application/tsconfig.build.json b/packages/legend-application/tsconfig.build.json index 52a7ef80c8..e4fa07ce6d 100644 --- a/packages/legend-application/tsconfig.build.json +++ b/packages/legend-application/tsconfig.build.json @@ -6,6 +6,7 @@ }, "exclude": ["src/**/__tests__/**/*.*", "src/**/__mocks__/**/*.*"], "references": [ + { "path": "./tsconfig.package.json" }, { "path": "../legend-shared/tsconfig.build.json" }, { "path": "../legend-art/tsconfig.build.json" }, { "path": "../legend-graph/tsconfig.build.json" } diff --git a/packages/legend-application/tsconfig.json b/packages/legend-application/tsconfig.json index bd916cdc4b..9a3a81e806 100644 --- a/packages/legend-application/tsconfig.json +++ b/packages/legend-application/tsconfig.json @@ -8,6 +8,7 @@ }, "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.json"], "references": [ + { "path": "./tsconfig.package.json" }, { "path": "../legend-shared" }, { "path": "../legend-art" }, { "path": "../legend-graph" } diff --git a/packages/legend-application/tsconfig.package.json b/packages/legend-application/tsconfig.package.json new file mode 100644 index 0000000000..8453a0658b --- /dev/null +++ b/packages/legend-application/tsconfig.package.json @@ -0,0 +1,9 @@ +{ + "extends": "@finos/legend-dev-utils/tsconfig.base.json", + "compilerOptions": { + "outDir": "lib", + "tsBuildInfoFile": "build/package.tsbuildinfo", + "rootDir": "." + }, + "include": ["package.json"] +} diff --git a/packages/legend-application/tsconfig.publish.json b/packages/legend-application/tsconfig.publish.json index d8faaf5080..cdf71337de 100644 --- a/packages/legend-application/tsconfig.publish.json +++ b/packages/legend-application/tsconfig.publish.json @@ -1,3 +1,4 @@ { - "extends": "./tsconfig.build.json" + "extends": "./tsconfig.build.json", + "references": [{ "path": "./tsconfig.package.json" }] } diff --git a/packages/legend-art/package.json b/packages/legend-art/package.json index 09e51dde2a..45414ef5ad 100644 --- a/packages/legend-art/package.json +++ b/packages/legend-art/package.json @@ -55,20 +55,20 @@ "@fontsource/roboto": "4.5.8", "@fontsource/roboto-condensed": "4.5.9", "@fontsource/roboto-mono": "4.5.10", - "@mui/material": "5.11.10", + "@mui/material": "5.11.12", "@types/react": "18.0.28", "@types/react-select": "4.0.18", "@types/react-window": "1.8.5", "clsx": "1.2.1", "fuse.js": "6.6.2", "mobx": "6.8.0", - "mobx-react-lite": "3.4.0", - "monaco-editor": "0.36.0", + "mobx-react-lite": "3.4.2", + "monaco-editor": "0.36.1", "react": "18.2.0", "react-dnd": "16.0.1", "react-dnd-html5-backend": "16.0.1", "react-dom": "18.2.0", - "react-icons": "4.7.1", + "react-icons": "4.8.0", "react-markdown": "8.0.5", "react-reflex": "4.0.9", "react-resize-detector": "8.0.4", @@ -78,12 +78,12 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", - "@jest/globals": "29.4.3", + "@jest/globals": "29.5.0", "cross-env": "7.0.3", "eslint": "8.35.0", - "jest": "29.4.3", + "jest": "29.5.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "sass": "1.58.3", "typescript": "4.9.5" }, diff --git a/packages/legend-dev-utils/package.json b/packages/legend-dev-utils/package.json index d742c5ee03..6c6e91123b 100644 --- a/packages/legend-dev-utils/package.json +++ b/packages/legend-dev-utils/package.json @@ -59,12 +59,12 @@ "@changesets/logger": "0.0.5", "@changesets/read": "0.5.9", "@changesets/write": "0.2.3", - "@jest/globals": "29.4.3", + "@jest/globals": "29.5.0", "@juggle/resize-observer": "3.4.0", "@manypkg/get-packages": "1.1.3", "@pmmmwh/react-refresh-webpack-plugin": "0.5.10", "autoprefixer": "10.4.13", - "babel-jest": "29.4.3", + "babel-jest": "29.5.0", "babel-loader": "9.1.2", "chalk": "5.2.0", "circular-dependency-plugin": "5.2.2", @@ -73,15 +73,15 @@ "cssnano": "5.1.15", "html-webpack-plugin": "5.5.0", "isbinaryfile": "5.0.0", - "jest": "29.4.3", + "jest": "29.5.0", "jest-canvas-mock": "2.4.0", - "jest-environment-jsdom": "29.4.3", + "jest-environment-jsdom": "29.5.0", "jest-extended": "3.2.4", "jest-watch-typeahead": "2.2.2", "jsonc-parser": "3.2.0", "micromatch": "4.0.5", "mini-css-extract-plugin": "2.7.2", - "monaco-editor": "0.36.0", + "monaco-editor": "0.36.1", "monaco-editor-webpack-plugin": "7.0.1", "postcss": "8.4.21", "postcss-loader": "7.0.2", @@ -95,7 +95,7 @@ "devDependencies": { "cross-env": "7.0.3", "eslint": "8.35.0", - "rimraf": "4.1.2" + "rimraf": "4.3.1" }, "publishConfig": { "directory": "build/publishContent" diff --git a/packages/legend-extension-dsl-data-space/package.json b/packages/legend-extension-dsl-data-space/package.json index cb3111395f..1e26b39f64 100644 --- a/packages/legend-extension-dsl-data-space/package.json +++ b/packages/legend-extension-dsl-data-space/package.json @@ -55,19 +55,19 @@ "@finos/legend-storage": "workspace:*", "@types/react": "18.0.28", "mobx": "6.8.0", - "mobx-react-lite": "3.4.0", + "mobx-react-lite": "3.4.2", "react": "18.2.0", "react-dom": "18.2.0", "serializr": "3.0.2" }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", - "@jest/globals": "29.4.3", + "@jest/globals": "29.5.0", "cross-env": "7.0.3", "eslint": "8.35.0", - "jest": "29.4.3", + "jest": "29.5.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "sass": "1.58.3", "typescript": "4.9.5" }, diff --git a/packages/legend-extension-dsl-data-space/src/stores/DataSpaceViewerState.ts b/packages/legend-extension-dsl-data-space/src/stores/DataSpaceViewerState.ts index b42772c222..3e42f19b6a 100644 --- a/packages/legend-extension-dsl-data-space/src/stores/DataSpaceViewerState.ts +++ b/packages/legend-extension-dsl-data-space/src/stores/DataSpaceViewerState.ts @@ -47,7 +47,8 @@ export enum DATA_SPACE_VIEWER_ACTIVITY_MODE { export class DataSpaceViewerState { readonly applicationStore: GenericLegendApplicationStore; - graphManagerState: BasicGraphManagerState; + readonly graphManagerState: BasicGraphManagerState; + groupId: string; artifactId: string; versionId: string; @@ -57,6 +58,7 @@ export class DataSpaceViewerState { currentActivity = DATA_SPACE_VIEWER_ACTIVITY_MODE.MODELS_OVERVIEW; currentExecutionContext: DataSpaceExecutionContextAnalysisResult; currentRuntime: PackageableRuntime; + viewProject: ( groupId: string, artifactId: string, diff --git a/packages/legend-extension-dsl-diagram/package.json b/packages/legend-extension-dsl-diagram/package.json index fc99831838..ac6a2ea4f7 100644 --- a/packages/legend-extension-dsl-diagram/package.json +++ b/packages/legend-extension-dsl-diagram/package.json @@ -51,7 +51,7 @@ "@finos/legend-storage": "workspace:*", "@types/react": "18.0.28", "mobx": "6.8.0", - "mobx-react-lite": "3.4.0", + "mobx-react-lite": "3.4.2", "react": "18.2.0", "react-dnd": "16.0.1", "react-dom": "18.2.0", @@ -59,13 +59,13 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", - "@jest/globals": "29.4.3", + "@jest/globals": "29.5.0", "@testing-library/react": "14.0.0", "cross-env": "7.0.3", "eslint": "8.35.0", - "jest": "29.4.3", + "jest": "29.5.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "sass": "1.58.3", "typescript": "4.9.5" }, diff --git a/packages/legend-extension-dsl-mastery/package.json b/packages/legend-extension-dsl-mastery/package.json index c8113ba82f..38758e6f74 100644 --- a/packages/legend-extension-dsl-mastery/package.json +++ b/packages/legend-extension-dsl-mastery/package.json @@ -56,12 +56,12 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", - "@jest/globals": "29.4.3", + "@jest/globals": "29.5.0", "cross-env": "7.0.3", "eslint": "8.35.0", - "jest": "29.4.3", + "jest": "29.5.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "sass": "1.58.3", "typescript": "4.9.5" }, diff --git a/packages/legend-extension-dsl-persistence-cloud/package.json b/packages/legend-extension-dsl-persistence-cloud/package.json index 3c7b684907..8956f5050f 100644 --- a/packages/legend-extension-dsl-persistence-cloud/package.json +++ b/packages/legend-extension-dsl-persistence-cloud/package.json @@ -54,12 +54,12 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", - "@jest/globals": "29.4.3", + "@jest/globals": "29.5.0", "cross-env": "7.0.3", "eslint": "8.35.0", - "jest": "29.4.3", + "jest": "29.5.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "typescript": "4.9.5" }, "peerDependencies": { diff --git a/packages/legend-extension-dsl-persistence/package.json b/packages/legend-extension-dsl-persistence/package.json index 2b170a6378..cb77cfd2df 100644 --- a/packages/legend-extension-dsl-persistence/package.json +++ b/packages/legend-extension-dsl-persistence/package.json @@ -56,12 +56,12 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", - "@jest/globals": "29.4.3", + "@jest/globals": "29.5.0", "cross-env": "7.0.3", "eslint": "8.35.0", - "jest": "29.4.3", + "jest": "29.5.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "sass": "1.58.3", "typescript": "4.9.5" }, diff --git a/packages/legend-extension-dsl-service/package.json b/packages/legend-extension-dsl-service/package.json index fe7458866f..c6da8aeabb 100644 --- a/packages/legend-extension-dsl-service/package.json +++ b/packages/legend-extension-dsl-service/package.json @@ -55,19 +55,19 @@ "@finos/legend-storage": "workspace:*", "@types/react": "18.0.28", "mobx": "6.8.0", - "mobx-react-lite": "3.4.0", + "mobx-react-lite": "3.4.2", "react": "18.2.0", "react-dom": "18.2.0", "serializr": "3.0.2" }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", - "@jest/globals": "29.4.3", + "@jest/globals": "29.5.0", "cross-env": "7.0.3", "eslint": "8.35.0", - "jest": "29.4.3", + "jest": "29.5.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "sass": "1.58.3", "typescript": "4.9.5" }, diff --git a/packages/legend-extension-dsl-text/package.json b/packages/legend-extension-dsl-text/package.json index d8fc28f2d2..b07379c98e 100644 --- a/packages/legend-extension-dsl-text/package.json +++ b/packages/legend-extension-dsl-text/package.json @@ -51,18 +51,18 @@ "@finos/legend-storage": "workspace:*", "@types/react": "18.0.28", "mobx": "6.8.0", - "mobx-react-lite": "3.4.0", + "mobx-react-lite": "3.4.2", "react": "18.2.0", "serializr": "3.0.2" }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", - "@jest/globals": "29.4.3", + "@jest/globals": "29.5.0", "cross-env": "7.0.3", "eslint": "8.35.0", - "jest": "29.4.3", + "jest": "29.5.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "sass": "1.58.3", "typescript": "4.9.5" }, diff --git a/packages/legend-extension-format-graphql/package.json b/packages/legend-extension-format-graphql/package.json index be0d3d0da5..58db231d4a 100644 --- a/packages/legend-extension-format-graphql/package.json +++ b/packages/legend-extension-format-graphql/package.json @@ -43,12 +43,12 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", - "@jest/globals": "29.4.3", + "@jest/globals": "29.5.0", "cross-env": "7.0.3", "eslint": "8.35.0", - "jest": "29.4.3", + "jest": "29.5.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "sass": "1.58.3", "typescript": "4.9.5" }, diff --git a/packages/legend-extension-format-json-schema/package.json b/packages/legend-extension-format-json-schema/package.json index 6f151a6d1f..ddf0228acb 100644 --- a/packages/legend-extension-format-json-schema/package.json +++ b/packages/legend-extension-format-json-schema/package.json @@ -43,12 +43,12 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", - "@jest/globals": "29.4.3", + "@jest/globals": "29.5.0", "cross-env": "7.0.3", "eslint": "8.35.0", - "jest": "29.4.3", + "jest": "29.5.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "typescript": "4.9.5" }, "publishConfig": { diff --git a/packages/legend-extension-format-morphir/package.json b/packages/legend-extension-format-morphir/package.json index abfeec43df..51e1189a6d 100644 --- a/packages/legend-extension-format-morphir/package.json +++ b/packages/legend-extension-format-morphir/package.json @@ -44,12 +44,12 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", - "@jest/globals": "29.4.3", + "@jest/globals": "29.5.0", "cross-env": "7.0.3", "eslint": "8.35.0", - "jest": "29.4.3", + "jest": "29.5.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "sass": "1.58.3", "typescript": "4.9.5" }, diff --git a/packages/legend-extension-store-flat-data/package.json b/packages/legend-extension-store-flat-data/package.json index 775a987072..a52f2da19e 100644 --- a/packages/legend-extension-store-flat-data/package.json +++ b/packages/legend-extension-store-flat-data/package.json @@ -51,18 +51,18 @@ "@finos/legend-storage": "workspace:*", "@types/react": "18.0.28", "mobx": "6.8.0", - "mobx-react-lite": "3.4.0", + "mobx-react-lite": "3.4.2", "react": "18.2.0", "serializr": "3.0.2" }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", - "@jest/globals": "29.4.3", + "@jest/globals": "29.5.0", "cross-env": "7.0.3", "eslint": "8.35.0", - "jest": "29.4.3", + "jest": "29.5.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "sass": "1.58.3", "typescript": "4.9.5" }, diff --git a/packages/legend-extension-store-relational/package.json b/packages/legend-extension-store-relational/package.json index cd58ad5564..0df37f728b 100644 --- a/packages/legend-extension-store-relational/package.json +++ b/packages/legend-extension-store-relational/package.json @@ -51,18 +51,18 @@ "@finos/legend-storage": "workspace:*", "@types/react": "18.0.28", "mobx": "6.8.0", - "mobx-react-lite": "3.4.0", + "mobx-react-lite": "3.4.2", "react": "18.2.0", "serializr": "3.0.2" }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", - "@jest/globals": "29.4.3", + "@jest/globals": "29.5.0", "cross-env": "7.0.3", "eslint": "8.35.0", - "jest": "29.4.3", + "jest": "29.5.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "sass": "1.58.3", "typescript": "4.9.5" }, diff --git a/packages/legend-extension-store-service-store/package.json b/packages/legend-extension-store-service-store/package.json index da95dfe1a0..4a2ba72a02 100644 --- a/packages/legend-extension-store-service-store/package.json +++ b/packages/legend-extension-store-service-store/package.json @@ -51,18 +51,18 @@ "@finos/legend-storage": "workspace:*", "@types/react": "18.0.28", "mobx": "6.8.0", - "mobx-react-lite": "3.4.0", + "mobx-react-lite": "3.4.2", "react": "18.2.0", "serializr": "3.0.2" }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", - "@jest/globals": "29.4.3", + "@jest/globals": "29.5.0", "cross-env": "7.0.3", "eslint": "8.35.0", - "jest": "29.4.3", + "jest": "29.5.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "sass": "1.58.3", "typescript": "4.9.5" }, diff --git a/packages/legend-extension-tracer-zipkin/package.json b/packages/legend-extension-tracer-zipkin/package.json index 7f8560f3d9..16dc59fda7 100644 --- a/packages/legend-extension-tracer-zipkin/package.json +++ b/packages/legend-extension-tracer-zipkin/package.json @@ -49,12 +49,12 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", - "@jest/globals": "29.4.3", + "@jest/globals": "29.5.0", "cross-env": "7.0.3", "eslint": "8.35.0", - "jest": "29.4.3", + "jest": "29.5.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "typescript": "4.9.5" }, "publishConfig": { diff --git a/packages/legend-graph/package.json b/packages/legend-graph/package.json index 6b23ef4f4b..e7e2f7e45f 100644 --- a/packages/legend-graph/package.json +++ b/packages/legend-graph/package.json @@ -42,18 +42,18 @@ "@finos/legend-shared": "workspace:*", "@finos/legend-storage": "workspace:*", "mobx": "6.8.0", - "mobx-react-lite": "3.4.0", + "mobx-react-lite": "3.4.2", "react": "18.2.0", "serializr": "3.0.2" }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", - "@jest/globals": "29.4.3", + "@jest/globals": "29.5.0", "cross-env": "7.0.3", "eslint": "8.35.0", - "jest": "29.4.3", + "jest": "29.5.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "typescript": "4.9.5" }, "publishConfig": { diff --git a/packages/legend-graph/src/graphManager/GraphManagerMetrics.ts b/packages/legend-graph/src/graphManager/GraphManagerMetrics.ts index fa641fe944..bfe29e05e1 100644 --- a/packages/legend-graph/src/graphManager/GraphManagerMetrics.ts +++ b/packages/legend-graph/src/graphManager/GraphManagerMetrics.ts @@ -14,15 +14,12 @@ * limitations under the License. */ -import { isNonNullable } from '@finos/legend-shared'; +import { isNonNullable, type TimingsRecord } from '@finos/legend-shared'; import type { PureModel } from '../graph/PureModel.js'; import { GRAPH_MANAGER_EVENT } from './GraphManagerEvent.js'; export type GraphManagerOperationReport = { - timings: { - total: number; - [key: string]: number; - }; + timings: TimingsRecord; elementCount: { total: number | undefined; [key: string]: number | undefined; diff --git a/packages/legend-graph/src/graphManager/GraphManagerTelemetry.ts b/packages/legend-graph/src/graphManager/GraphManagerTelemetry.ts deleted file mode 100644 index b69cbd424c..0000000000 --- a/packages/legend-graph/src/graphManager/GraphManagerTelemetry.ts +++ /dev/null @@ -1,40 +0,0 @@ -/** - * Copyright (c) 2020-present, Goldman Sachs - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import type { TelemetryService } from '@finos/legend-shared'; -import type { GraphManagerOperationReport } from './GraphManagerMetrics.js'; -import { GRAPH_MANAGER_EVENT } from './GraphManagerEvent.js'; - -type GraphInitialized_TelemetryData = { - timings: Record; - dependencies: GraphManagerOperationReport; - dependenciesCount: number; - graph: GraphManagerOperationReport; - generations?: GraphManagerOperationReport; - generationCount?: number; -}; - -export class GraphManagerTelemetry { - static logEvent_GraphInitializationSucceeded( - telemetryService: TelemetryService, - data: GraphInitialized_TelemetryData, - ): void { - telemetryService.logEvent( - GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH__SUCCESS, - data, - ); - } -} diff --git a/packages/legend-graph/src/graphManager/protocol/pure/v1/V1_PureGraphManager.ts b/packages/legend-graph/src/graphManager/protocol/pure/v1/V1_PureGraphManager.ts index 430caa2326..5c265b3144 100644 --- a/packages/legend-graph/src/graphManager/protocol/pure/v1/V1_PureGraphManager.ts +++ b/packages/legend-graph/src/graphManager/protocol/pure/v1/V1_PureGraphManager.ts @@ -565,11 +565,12 @@ export class V1_PureGraphManager extends AbstractPureGraphManager { ); buildState.pass(); + + const totalTime = stopWatch.elapsed; report.timings = { ...Object.fromEntries(stopWatch.records), - [GRAPH_MANAGER_EVENT.GRAPH_BUILDER_BUILD_GRAPH__SUCCESS]: - stopWatch.elapsed, - total: stopWatch.elapsed, + [GRAPH_MANAGER_EVENT.GRAPH_BUILDER_BUILD_GRAPH__SUCCESS]: totalTime, + total: totalTime, }; } catch (error) { assertErrorThrown(error); @@ -654,11 +655,12 @@ export class V1_PureGraphManager extends AbstractPureGraphManager { ); buildState.pass(); + + const totalTime = stopWatch.elapsed; report.timings = { ...Object.fromEntries(stopWatch.records), - [GRAPH_MANAGER_EVENT.GRAPH_BUILDER_BUILD_GRAPH__SUCCESS]: - stopWatch.elapsed, - total: stopWatch.elapsed, + [GRAPH_MANAGER_EVENT.GRAPH_BUILDER_BUILD_GRAPH__SUCCESS]: totalTime, + total: totalTime, }; } catch (error) { assertErrorThrown(error); @@ -736,11 +738,12 @@ export class V1_PureGraphManager extends AbstractPureGraphManager { } buildState.pass(); + + const totalTime = stopWatch.elapsed; report.timings = { ...Object.fromEntries(stopWatch.records), - [GRAPH_MANAGER_EVENT.GRAPH_BUILDER_BUILD_GRAPH__SUCCESS]: - stopWatch.elapsed, - total: stopWatch.elapsed, + [GRAPH_MANAGER_EVENT.GRAPH_BUILDER_BUILD_GRAPH__SUCCESS]: totalTime, + total: totalTime, }; } catch (error) { assertErrorThrown(error); @@ -817,11 +820,12 @@ export class V1_PureGraphManager extends AbstractPureGraphManager { } buildState.pass(); + + const totalTime = stopWatch.elapsed; report.timings = { ...Object.fromEntries(stopWatch.records), - [GRAPH_MANAGER_EVENT.GRAPH_BUILDER_BUILD_GRAPH__SUCCESS]: - stopWatch.elapsed, - total: stopWatch.elapsed, + [GRAPH_MANAGER_EVENT.GRAPH_BUILDER_BUILD_GRAPH__SUCCESS]: totalTime, + total: totalTime, }; } catch (error) { assertErrorThrown(error); @@ -901,11 +905,12 @@ export class V1_PureGraphManager extends AbstractPureGraphManager { ); buildState.pass(); + + const totalTime = stopWatch.elapsed; report.timings = { ...Object.fromEntries(stopWatch.records), - [GRAPH_MANAGER_EVENT.GRAPH_BUILDER_BUILD_GRAPH__SUCCESS]: - stopWatch.elapsed, - total: stopWatch.elapsed, + [GRAPH_MANAGER_EVENT.GRAPH_BUILDER_BUILD_GRAPH__SUCCESS]: totalTime, + total: totalTime, }; } catch (error) { assertErrorThrown(error); diff --git a/packages/legend-graph/src/index.ts b/packages/legend-graph/src/index.ts index 55e7c4a14e..7b20fc163a 100644 --- a/packages/legend-graph/src/index.ts +++ b/packages/legend-graph/src/index.ts @@ -206,7 +206,6 @@ export { type GraphBuilderOptions, } from './graphManager/AbstractPureGraphManager.js'; export * from './graphManager/GraphManagerMetrics.js'; -export { GraphManagerTelemetry } from './graphManager/GraphManagerTelemetry.js'; export * from './graphManager/GraphManagerUtils.js'; export * from './graphManager/GraphManagerEvent.js'; export * from './graphManager/DSL_Mapping_PureGraphManagerPlugin_Extension.js'; diff --git a/packages/legend-manual-tests/package.json b/packages/legend-manual-tests/package.json index 29dea24ddb..e186dfbf1b 100644 --- a/packages/legend-manual-tests/package.json +++ b/packages/legend-manual-tests/package.json @@ -37,13 +37,13 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", - "@jest/globals": "29.4.3", + "@jest/globals": "29.5.0", "axios": "1.3.4", "cross-env": "7.0.3", "eslint": "8.35.0", - "jest": "29.4.3", + "jest": "29.5.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "typescript": "4.9.5" } } diff --git a/packages/legend-query-builder/package.json b/packages/legend-query-builder/package.json index 9db14c127d..945462ea89 100644 --- a/packages/legend-query-builder/package.json +++ b/packages/legend-query-builder/package.json @@ -56,9 +56,9 @@ "@types/react": "18.0.28", "@types/react-dom": "18.0.11", "mobx": "6.8.0", - "mobx-react-lite": "3.4.0", - "monaco-editor": "0.36.0", - "papaparse": "5.3.2", + "mobx-react-lite": "3.4.2", + "monaco-editor": "0.36.1", + "papaparse": "5.4.0", "react": "18.2.0", "react-dnd": "16.0.1", "react-dom": "18.2.0", @@ -66,12 +66,12 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", - "@jest/globals": "29.4.3", + "@jest/globals": "29.5.0", "cross-env": "7.0.3", "eslint": "8.35.0", - "jest": "29.4.3", + "jest": "29.5.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "sass": "1.58.3", "typescript": "4.9.5" }, diff --git a/packages/legend-query-builder/src/stores/QueryBuilderResultState.ts b/packages/legend-query-builder/src/stores/QueryBuilderResultState.ts index 4d535ff78a..097abe5847 100644 --- a/packages/legend-query-builder/src/stores/QueryBuilderResultState.ts +++ b/packages/legend-query-builder/src/stores/QueryBuilderResultState.ts @@ -254,13 +254,13 @@ export class QueryBuilderResultState { if (this.queryRunPromise === promise) { this.setExecutionResult(result); this.latestRunHashCode = currentHashCode; - stopWatch.record(); this.setExecutionDuration(stopWatch.elapsed); - report.timings = { - ...report.timings, - total: stopWatch.elapsed, - }; + report.timings = + this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord( + stopWatch, + report.timings, + ); QueryBuilderTelemetry.logEvent_QueryRunSucceeded( this.queryBuilderState.applicationStore.telemetryService, report, @@ -350,11 +350,12 @@ export class QueryBuilderResultState { } stopWatch.record(QUERY_BUILDER_EVENT.BUILD_EXECUTION_PLAN__SUCCESS); - report.timings = { - ...report.timings, - ...Object.fromEntries(stopWatch.records), - total: stopWatch.elapsed, - }; + // report + report.timings = + this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord( + stopWatch, + report.timings, + ); if (debug) { QueryBuilderTelemetry.logEvent_ExecutionPlanDebugSucceeded( this.queryBuilderState.applicationStore.telemetryService, diff --git a/packages/legend-query-builder/src/stores/QueryBuilderTelemetry.ts b/packages/legend-query-builder/src/stores/QueryBuilderTelemetry.ts index b1921dd6fe..cd5a4946f9 100644 --- a/packages/legend-query-builder/src/stores/QueryBuilderTelemetry.ts +++ b/packages/legend-query-builder/src/stores/QueryBuilderTelemetry.ts @@ -15,7 +15,7 @@ */ import type { GraphManagerOperationReport } from '@finos/legend-graph'; -import type { TelemetryService } from '@finos/legend-shared'; +import type { TelemetryService } from '@finos/legend-application'; import { QUERY_BUILDER_EVENT } from './QueryBuilderEvent.js'; type LaunchQueryExecution_TelemteryData = { diff --git a/packages/legend-query-builder/style/_query-builder.scss b/packages/legend-query-builder/style/_query-builder.scss index 8ba08e5106..42e1f00efa 100644 --- a/packages/legend-query-builder/style/_query-builder.scss +++ b/packages/legend-query-builder/style/_query-builder.scss @@ -396,18 +396,22 @@ &__tds-grid { height: 100%; - // Customize ag-grid theme - // See https://www.ag-grid.com/javascript-grid-themes-customising/#customising-themes - --ag-border-color: var(--color-dark-grey-200); - --ag-background-color: var(--color-dark-grey-50); - --ag-foreground-color: var(--color-light-grey-200); - --ag-header-background-color: var(--color-dark-grey-100); - --ag-header-foreground-color: var(--color-light-grey-50); - --ag-balham-active-color: var(--color-blue-200); - --ag-odd-row-background-color: var(--color-dark-grey-50); - --ag-even-row-background-color: var(--color-dark-grey-50); - --ag-row-hover-color: var(--color-dark-blue-shade-100); - --ag-row-border-color: var(--color-dark-grey-200); + // NOTE: we need to ensure the specificity here in case a lter imported ag-theme-balham-dark + // might override our theme customization here + &.ag-theme-balham-dark { + // Customize ag-grid theme + // See https://www.ag-grid.com/javascript-grid-themes-customising/#customising-themes + --ag-border-color: var(--color-dark-grey-200); + --ag-background-color: var(--color-dark-grey-50); + --ag-foreground-color: var(--color-light-grey-200); + --ag-header-background-color: var(--color-dark-grey-100); + --ag-header-foreground-color: var(--color-light-grey-50); + --ag-balham-active-color: var(--color-blue-200); + --ag-odd-row-background-color: var(--color-dark-grey-50); + --ag-even-row-background-color: var(--color-dark-grey-50); + --ag-row-hover-color: var(--color-dark-blue-shade-100); + --ag-row-border-color: var(--color-dark-grey-200); + } } &__header__actions { diff --git a/packages/legend-server-depot/package.json b/packages/legend-server-depot/package.json index 7e525e0f8a..a3241128d6 100644 --- a/packages/legend-server-depot/package.json +++ b/packages/legend-server-depot/package.json @@ -42,18 +42,18 @@ "@finos/legend-shared": "workspace:*", "@finos/legend-storage": "workspace:*", "mobx": "6.8.0", - "mobx-react-lite": "3.4.0", + "mobx-react-lite": "3.4.2", "react": "18.2.0", "serializr": "3.0.2" }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", - "@jest/globals": "29.4.3", + "@jest/globals": "29.5.0", "cross-env": "7.0.3", "eslint": "8.35.0", - "jest": "29.4.3", + "jest": "29.5.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "typescript": "4.9.5" }, "publishConfig": { diff --git a/packages/legend-server-sdlc/package.json b/packages/legend-server-sdlc/package.json index 3c25d3866e..f9b61a4899 100644 --- a/packages/legend-server-sdlc/package.json +++ b/packages/legend-server-sdlc/package.json @@ -42,18 +42,18 @@ "@finos/legend-shared": "workspace:*", "@finos/legend-storage": "workspace:*", "mobx": "6.8.0", - "mobx-react-lite": "3.4.0", + "mobx-react-lite": "3.4.2", "react": "18.2.0", "serializr": "3.0.2" }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", - "@jest/globals": "29.4.3", + "@jest/globals": "29.5.0", "cross-env": "7.0.3", "eslint": "8.35.0", - "jest": "29.4.3", + "jest": "29.5.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "typescript": "4.9.5" }, "publishConfig": { diff --git a/packages/legend-shared/package.json b/packages/legend-shared/package.json index abf5619cfb..5f72d24fba 100644 --- a/packages/legend-shared/package.json +++ b/packages/legend-shared/package.json @@ -50,12 +50,12 @@ "hash.js": "1.1.7", "http-status-codes": "2.2.0", "lodash-es": "4.17.21", - "lossless-json": "2.0.6", + "lossless-json": "2.0.8", "mobx": "6.8.0", "object-hash": "3.0.0", "pako": "2.1.0", - "papaparse": "5.3.2", - "pretty-format": "29.4.3", + "papaparse": "5.4.0", + "pretty-format": "29.5.0", "query-string": "8.1.0", "seedrandom": "3.0.5", "serializr": "3.0.2", @@ -63,20 +63,19 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", - "@jest/globals": "29.4.3", + "@jest/globals": "29.5.0", "cross-env": "7.0.3", "eslint": "8.35.0", - "jest": "29.4.3", + "jest": "29.5.0", "lodash": "4.17.21", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "typescript": "4.9.5" }, "publishConfig": { "directory": "build/publishContent" }, "extensions": { - "iframeEventNotifierPlugin": "@finos/legend-event-notifier-plugin-iframe", "webConsoleLoggerPlugin": "@finos/legend-logger-plugin-web-console" }, "typedoc": { diff --git a/packages/legend-shared/src/application/StopWatch.ts b/packages/legend-shared/src/application/TimerUtils.ts similarity index 82% rename from packages/legend-shared/src/application/StopWatch.ts rename to packages/legend-shared/src/application/TimerUtils.ts index b95e9cbc4d..32d435fb49 100644 --- a/packages/legend-shared/src/application/StopWatch.ts +++ b/packages/legend-shared/src/application/TimerUtils.ts @@ -16,17 +16,24 @@ import { guaranteeNonNullable } from '../error/AssertionUtils.js'; +export type TimingsRecord = { + [key: string]: number; + /** + * Number of interruptions ocurred during the record + */ + __numberOfInteruptions?: number; + total: number; +}; + export class StopWatch { private _startTime = Date.now(); private _time = this._startTime; private _records = new Map(); - private _elapsed = 0; record(event?: string | undefined): void { const currentTime = Date.now(); const duration = currentTime - this._time; this._time = currentTime; - this._elapsed = currentTime - this._startTime; if (event) { this._records.set(event, duration); } @@ -39,8 +46,12 @@ export class StopWatch { ); } + get startTime(): number { + return this._startTime; + } + get elapsed(): number { - return this._elapsed; + return Date.now() - this._startTime; } get records(): Map { diff --git a/packages/legend-shared/src/communication/EventNotifierPlugin.ts b/packages/legend-shared/src/communication/EventNotifierPlugin.ts deleted file mode 100644 index 53515d7b6e..0000000000 --- a/packages/legend-shared/src/communication/EventNotifierPlugin.ts +++ /dev/null @@ -1,45 +0,0 @@ -/** - * Copyright (c) 2020-present, Goldman Sachs - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { - AbstractPlugin, - type AbstractPluginManager, -} from '../application/AbstractPluginManager.js'; - -// NOTE: here, we keep event data at a very generic shape -// One of the main motivation of event notifier is Github web-hook -// we would need to document event as well their event data -// See https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#webhook-payload-object-common-properties -export interface NotificationEventData { - [key: string]: unknown; -} - -export interface EventNotifierPluginManager extends AbstractPluginManager { - registerEventNotifierPlugin(plugin: EventNotifierPlugin): void; - getEventNotifierPlugins(): EventNotifierPlugin[]; -} - -export abstract class EventNotifierPlugin extends AbstractPlugin { - install(pluginManager: EventNotifierPluginManager): void { - pluginManager.registerEventNotifierPlugin(this); - } - - /** - * NOTE: Similar to telemetry service, event notifier should be considered "fire and forget" - * it should not throw any error - */ - abstract notify(event: string, data: NotificationEventData): void; -} diff --git a/packages/legend-shared/src/index.ts b/packages/legend-shared/src/index.ts index 17fa480d96..5c89c15d5b 100644 --- a/packages/legend-shared/src/index.ts +++ b/packages/legend-shared/src/index.ts @@ -33,21 +33,17 @@ export * from './format/ValidatorUtils.js'; export * from './markdown/MarkdownUtils.js'; -export * from './communication/EventNotifierPlugin.js'; -export * from './communication/IframeEventNotifierPlugin.js'; -export * from './communication/TelemetryService.js'; - export * from './application/HashUtils.js'; export * from './application/TestUtils.js'; export * from './application/SerializationUtils.js'; export * from './application/RandomizerUtils.js'; export * from './application/ActionState.js'; -export * from './application/StopWatch.js'; +export * from './application/TimerUtils.js'; export * from './application/AbstractPluginManager.js'; export * from './application/BrowserUtils.js'; export * from './data-structure/Pair.js'; export * from './data-structure/Stack.js'; -export * from './log/Logger.js'; +export * from './log/LogService.js'; export * from './log/WebConsole.js'; diff --git a/packages/legend-shared/src/keyboard/KeyBinding.ts b/packages/legend-shared/src/keyboard/KeyBinding.ts index 8b29dc1d17..f72aa8a2d5 100644 --- a/packages/legend-shared/src/keyboard/KeyBinding.ts +++ b/packages/legend-shared/src/keyboard/KeyBinding.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { uniqBy } from '../CommonUtils.js'; import { guaranteeNonNullable } from '../error/AssertionUtils.js'; /** @@ -51,11 +52,7 @@ type KeyPressData = { modifiers: string[]; key: string }; export type KeyBindingConfig = { [key: string]: { combinations: string[]; - handler: ( - commandKey: string, - keyCombination: string, - event: KeyboardEvent, - ) => void; + handler: (keyCombination: string, event: KeyboardEvent) => void; }; }; @@ -152,15 +149,21 @@ export function createKeybindingsHandler( return; } - Object.entries(config) - .flatMap(([key, entry]) => - entry.combinations.map((combination) => ({ - key, - combination, - handler: entry.handler, - })), - ) - .filter((entry) => entry.combination.length) + // NOTE: create a flat collection of key combination to handler, make sure + // for each combination, only the first matching entry is considered, + // i.e. explicitly here, we don't handle multiple handling + // See https://github.com/finos/legend-studio/issues/1969 + uniqBy( + Object.values(config) + .flatMap((entry) => + entry.combinations.map((combination) => ({ + combination, + handler: entry.handler, + })), + ) + .filter((entry) => entry.combination.length), + (val) => val.combination, + ) // here, we go through each hotkey combination, and: // 1. parse the key combination // 2. if the key combination is already part of the possible matches, @@ -204,7 +207,7 @@ export function createKeybindingsHandler( } else { // matches found, all keypresses of the combination have been fulfilled, call the handler possibleMatches.delete(keyCombination); - entry.handler(entry.key, keyCombination, event); + entry.handler(keyCombination, event); } }); diff --git a/packages/legend-shared/src/log/Logger.ts b/packages/legend-shared/src/log/LogService.ts similarity index 100% rename from packages/legend-shared/src/log/Logger.ts rename to packages/legend-shared/src/log/LogService.ts diff --git a/packages/legend-shared/src/log/WebConsole.ts b/packages/legend-shared/src/log/WebConsole.ts index ee4d2623b2..04b3afb987 100644 --- a/packages/legend-shared/src/log/WebConsole.ts +++ b/packages/legend-shared/src/log/WebConsole.ts @@ -15,7 +15,7 @@ */ import packageJson from '../../package.json'; -import { type LogEvent, LoggerPlugin } from './Logger.js'; +import { type LogEvent, LoggerPlugin } from './LogService.js'; const { debug, info, warn, error } = console; diff --git a/packages/legend-storage/package.json b/packages/legend-storage/package.json index 8eef5498b1..7f957e4f53 100644 --- a/packages/legend-storage/package.json +++ b/packages/legend-storage/package.json @@ -41,13 +41,13 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", - "@jest/globals": "29.4.3", + "@jest/globals": "29.5.0", "cross-env": "7.0.3", "eslint": "8.35.0", - "jest": "29.4.3", + "jest": "29.5.0", "lodash": "4.17.21", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "typescript": "4.9.5" }, "publishConfig": { diff --git a/packages/stylelint-config/package.json b/packages/stylelint-config/package.json index c35e8f3693..dfbaf12267 100644 --- a/packages/stylelint-config/package.json +++ b/packages/stylelint-config/package.json @@ -39,7 +39,7 @@ "devDependencies": { "cross-env": "7.0.3", "eslint": "8.35.0", - "rimraf": "4.1.2" + "rimraf": "4.3.1" }, "peerDependencies": { "stylelint": "^14.0.0" diff --git a/scripts/typedoc-theme/package.json b/scripts/typedoc-theme/package.json index efeb85c258..5879fbc6ce 100644 --- a/scripts/typedoc-theme/package.json +++ b/scripts/typedoc-theme/package.json @@ -26,7 +26,7 @@ "cross-env": "7.0.3", "eslint": "8.35.0", "npm-run-all": "4.1.5", - "rimraf": "4.1.2", + "rimraf": "4.3.1", "typedoc": "0.23.26", "typescript": "4.9.5" } diff --git a/yarn.lock b/yarn.lock index 9f87c269b7..e52c731f77 100644 --- a/yarn.lock +++ b/yarn.lock @@ -28,11 +28,11 @@ __metadata: linkType: hard "@actions/http-client@npm:^2.0.1": - version: 2.0.1 - resolution: "@actions/http-client@npm:2.0.1" + version: 2.1.0 + resolution: "@actions/http-client@npm:2.1.0" dependencies: tunnel: ^0.0.6 - checksum: 799ec3df91e28a9da91ce6592e94f8b8923ccf6cc21a2f72c7429be5af5273f1625335411adc2a1bb222d56c852d5767214dfa6fa32a6da7e81dba8290e08f17 + checksum: 25a72a952cc95fb4b3ab086da73a5754dd0957c206637cace69be2e16f018cc1b3d3c40d3bcf89ffd8a5929d5e8445594b498b50db306a50ad7536023f8e3800 languageName: node linkType: hard @@ -1430,7 +1430,7 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:7.21.0, @babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.2.0, @babel/runtime@npm:^7.20.1, @babel/runtime@npm:^7.20.13, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.7.6, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2": +"@babel/runtime@npm:7.21.0, @babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.2.0, @babel/runtime@npm:^7.20.1, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.7.6, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2": version: 7.21.0 resolution: "@babel/runtime@npm:7.21.0" dependencies: @@ -1963,7 +1963,7 @@ __metadata: languageName: node linkType: hard -"@fastify/ajv-compiler@npm:^3.3.1": +"@fastify/ajv-compiler@npm:^3.5.0": version: 3.5.0 resolution: "@fastify/ajv-compiler@npm:3.5.0" dependencies: @@ -2019,7 +2019,7 @@ __metadata: cross-env: 7.0.3 eslint: 8.35.0 react-refresh: 0.14.0 - rimraf: 4.1.2 + rimraf: 4.3.1 typescript: 4.9.5 peerDependencies: "@babel/core": ^7.0.0 @@ -2032,17 +2032,17 @@ __metadata: dependencies: "@babel/core": 7.21.0 "@babel/eslint-parser": 7.19.1 - "@typescript-eslint/eslint-plugin": 5.53.0 - "@typescript-eslint/parser": 5.53.0 + "@typescript-eslint/eslint-plugin": 5.54.1 + "@typescript-eslint/parser": 5.54.1 cross-env: 7.0.3 - eslint-config-prettier: 8.6.0 + eslint-config-prettier: 8.7.0 eslint-plugin-import: 2.27.5 eslint-plugin-prettier: 4.2.1 eslint-plugin-react: 7.32.2 eslint-plugin-react-hooks: 4.6.0 micromatch: 4.0.5 prettier: 2.8.4 - rimraf: 4.1.2 + rimraf: 4.3.1 peerDependencies: eslint: ^8.0.0 prettier: ^2.0.0 @@ -2059,7 +2059,7 @@ __metadata: cross-env: 7.0.3 eslint: 8.35.0 npm-run-all: 4.1.5 - rimraf: 4.1.2 + rimraf: 4.3.1 typescript: 4.9.5 webpack: 5.75.0 webpack-bundle-analyzer: 4.8.0 @@ -2078,20 +2078,20 @@ __metadata: "@finos/legend-extension-dsl-diagram": "workspace:*" "@finos/legend-graph": "workspace:*" "@finos/legend-shared": "workspace:*" - "@jest/globals": 29.4.3 + "@jest/globals": 29.5.0 "@types/react": 18.0.28 "@types/react-dom": 18.0.11 cross-env: 7.0.3 eslint: 8.35.0 - jest: 29.4.3 + jest: 29.5.0 mobx: 6.8.0 - mobx-react-lite: 3.4.0 - monaco-editor: 0.36.0 + mobx-react-lite: 3.4.2 + monaco-editor: 0.36.1 npm-run-all: 4.1.5 react: 18.2.0 react-dnd: 16.0.1 react-dom: 18.2.0 - rimraf: 4.1.2 + rimraf: 4.3.1 sass: 1.58.3 serializr: 3.0.2 typescript: 4.9.5 @@ -2125,7 +2125,7 @@ __metadata: eslint: 8.35.0 npm-run-all: 4.1.5 react: 18.2.0 - rimraf: 4.1.2 + rimraf: 4.3.1 sass: 1.58.3 typescript: 4.9.5 languageName: unknown @@ -2141,7 +2141,7 @@ __metadata: cross-env: 7.0.3 eslint: 8.35.0 npm-run-all: 4.1.5 - rimraf: 4.1.2 + rimraf: 4.3.1 typescript: 4.9.5 webpack: 5.75.0 webpack-bundle-analyzer: 4.8.0 @@ -2162,19 +2162,19 @@ __metadata: "@finos/legend-server-depot": "workspace:*" "@finos/legend-shared": "workspace:*" "@finos/legend-storage": "workspace:*" - "@jest/globals": 29.4.3 + "@jest/globals": 29.5.0 "@testing-library/react": 14.0.0 "@types/react": 18.0.28 "@types/react-dom": 18.0.11 cross-env: 7.0.3 eslint: 8.35.0 - jest: 29.4.3 + jest: 29.5.0 mobx: 6.8.0 - mobx-react-lite: 3.4.0 + mobx-react-lite: 3.4.2 npm-run-all: 4.1.5 react: 18.2.0 react-dom: 18.2.0 - rimraf: 4.1.2 + rimraf: 4.3.1 sass: 1.58.3 serializr: 3.0.2 typescript: 4.9.5 @@ -2209,7 +2209,7 @@ __metadata: eslint: 8.35.0 npm-run-all: 4.1.5 react: 18.2.0 - rimraf: 4.1.2 + rimraf: 4.3.1 sass: 1.58.3 typescript: 4.9.5 languageName: unknown @@ -2225,7 +2225,7 @@ __metadata: cross-env: 7.0.3 eslint: 8.35.0 npm-run-all: 4.1.5 - rimraf: 4.1.2 + rimraf: 4.3.1 typescript: 4.9.5 webpack: 5.75.0 webpack-bundle-analyzer: 4.8.0 @@ -2247,23 +2247,23 @@ __metadata: "@finos/legend-server-sdlc": "workspace:*" "@finos/legend-shared": "workspace:*" "@finos/legend-storage": "workspace:*" - "@jest/globals": 29.4.3 + "@jest/globals": 29.5.0 "@testing-library/react": 14.0.0 "@types/react": 18.0.28 "@types/react-dom": 18.0.11 cross-env: 7.0.3 eslint: 8.35.0 - jest: 29.4.3 + jest: 29.5.0 mobx: 6.8.0 - mobx-react-lite: 3.4.0 + mobx-react-lite: 3.4.2 mobx-utils: 6.0.5 - monaco-editor: 0.36.0 + monaco-editor: 0.36.1 node-diff3: 3.1.2 npm-run-all: 4.1.5 react: 18.2.0 react-dnd: 16.0.1 react-dom: 18.2.0 - rimraf: 4.1.2 + rimraf: 4.3.1 sass: 1.58.3 serializr: 3.0.2 typescript: 4.9.5 @@ -2289,7 +2289,7 @@ __metadata: eslint: 8.35.0 npm-run-all: 4.1.5 react: 18.2.0 - rimraf: 4.1.2 + rimraf: 4.3.1 sass: 1.58.3 typescript: 4.9.5 languageName: unknown @@ -2305,7 +2305,7 @@ __metadata: cross-env: 7.0.3 eslint: 8.35.0 npm-run-all: 4.1.5 - rimraf: 4.1.2 + rimraf: 4.3.1 typescript: 4.9.5 webpack: 5.75.0 webpack-bundle-analyzer: 4.8.0 @@ -2326,18 +2326,18 @@ __metadata: "@finos/legend-server-depot": "workspace:*" "@finos/legend-shared": "workspace:*" "@finos/legend-storage": "workspace:*" - "@jest/globals": 29.4.3 + "@jest/globals": 29.5.0 "@types/react": 18.0.28 "@types/react-dom": 18.0.11 cross-env: 7.0.3 eslint: 8.35.0 - jest: 29.4.3 + jest: 29.5.0 mobx: 6.8.0 - mobx-react-lite: 3.4.0 + mobx-react-lite: 3.4.2 npm-run-all: 4.1.5 react: 18.2.0 react-dom: 18.2.0 - rimraf: 4.1.2 + rimraf: 4.3.1 sass: 1.58.3 serializr: 3.0.2 typescript: 4.9.5 @@ -2354,7 +2354,7 @@ __metadata: "@finos/legend-dev-utils": "workspace:*" "@finos/legend-graph": "workspace:*" "@finos/legend-shared": "workspace:*" - "@jest/globals": 29.4.3 + "@jest/globals": 29.5.0 "@types/css-font-loading-module": 0.0.8 "@types/react": 18.0.28 "@types/react-dom": 18.0.11 @@ -2362,10 +2362,10 @@ __metadata: cross-env: 7.0.3 eslint: 8.35.0 history: 5.3.0 - jest: 29.4.3 + jest: 29.5.0 mobx: 6.8.0 - mobx-react-lite: 3.4.0 - monaco-editor: 0.36.0 + mobx-react-lite: 3.4.2 + monaco-editor: 0.36.1 npm-run-all: 4.1.5 react: 18.2.0 react-dnd: 16.0.1 @@ -2374,7 +2374,7 @@ __metadata: react-draggable: 4.4.5 react-router: 5.3.4 react-router-dom: 5.3.4 - rimraf: 4.1.2 + rimraf: 4.3.1 sass: 1.58.3 serializr: 3.0.2 sql-formatter: 12.1.2 @@ -2402,8 +2402,8 @@ __metadata: "@fontsource/roboto": 4.5.8 "@fontsource/roboto-condensed": 4.5.9 "@fontsource/roboto-mono": 4.5.10 - "@jest/globals": 29.4.3 - "@mui/material": 5.11.10 + "@jest/globals": 29.5.0 + "@mui/material": 5.11.12 "@types/react": 18.0.28 "@types/react-select": 4.0.18 "@types/react-window": 1.8.5 @@ -2411,23 +2411,23 @@ __metadata: cross-env: 7.0.3 eslint: 8.35.0 fuse.js: 6.6.2 - jest: 29.4.3 + jest: 29.5.0 mobx: 6.8.0 - mobx-react-lite: 3.4.0 - monaco-editor: 0.36.0 + mobx-react-lite: 3.4.2 + monaco-editor: 0.36.1 npm-run-all: 4.1.5 react: 18.2.0 react-dnd: 16.0.1 react-dnd-html5-backend: 16.0.1 react-dom: 18.2.0 - react-icons: 4.7.1 + react-icons: 4.8.0 react-markdown: 8.0.5 react-reflex: 4.0.9 react-resize-detector: 8.0.4 react-select: 4.3.1 react-window: 1.8.8 remark-gfm: 3.0.1 - rimraf: 4.1.2 + rimraf: 4.3.1 sass: 1.58.3 typescript: 4.9.5 peerDependencies: @@ -2448,12 +2448,12 @@ __metadata: "@changesets/logger": 0.0.5 "@changesets/read": 0.5.9 "@changesets/write": 0.2.3 - "@jest/globals": 29.4.3 + "@jest/globals": 29.5.0 "@juggle/resize-observer": 3.4.0 "@manypkg/get-packages": 1.1.3 "@pmmmwh/react-refresh-webpack-plugin": 0.5.10 autoprefixer: 10.4.13 - babel-jest: 29.4.3 + babel-jest: 29.5.0 babel-loader: 9.1.2 chalk: 5.2.0 circular-dependency-plugin: 5.2.2 @@ -2464,21 +2464,21 @@ __metadata: eslint: 8.35.0 html-webpack-plugin: 5.5.0 isbinaryfile: 5.0.0 - jest: 29.4.3 + jest: 29.5.0 jest-canvas-mock: 2.4.0 - jest-environment-jsdom: 29.4.3 + jest-environment-jsdom: 29.5.0 jest-extended: 3.2.4 jest-watch-typeahead: 2.2.2 jsonc-parser: 3.2.0 micromatch: 4.0.5 mini-css-extract-plugin: 2.7.2 - monaco-editor: 0.36.0 + monaco-editor: 0.36.1 monaco-editor-webpack-plugin: 7.0.1 postcss: 8.4.21 postcss-loader: 7.0.2 react-refresh: 0.14.0 resolve: 1.22.1 - rimraf: 4.1.2 + rimraf: 4.3.1 sass: 1.58.3 sass-loader: 13.2.0 typescript: 4.9.5 @@ -2501,17 +2501,17 @@ __metadata: "@finos/legend-server-depot": "workspace:*" "@finos/legend-shared": "workspace:*" "@finos/legend-storage": "workspace:*" - "@jest/globals": 29.4.3 + "@jest/globals": 29.5.0 "@types/react": 18.0.28 cross-env: 7.0.3 eslint: 8.35.0 - jest: 29.4.3 + jest: 29.5.0 mobx: 6.8.0 - mobx-react-lite: 3.4.0 + mobx-react-lite: 3.4.2 npm-run-all: 4.1.5 react: 18.2.0 react-dom: 18.2.0 - rimraf: 4.1.2 + rimraf: 4.3.1 sass: 1.58.3 serializr: 3.0.2 typescript: 4.9.5 @@ -2531,19 +2531,19 @@ __metadata: "@finos/legend-graph": "workspace:*" "@finos/legend-shared": "workspace:*" "@finos/legend-storage": "workspace:*" - "@jest/globals": 29.4.3 + "@jest/globals": 29.5.0 "@testing-library/react": 14.0.0 "@types/react": 18.0.28 cross-env: 7.0.3 eslint: 8.35.0 - jest: 29.4.3 + jest: 29.5.0 mobx: 6.8.0 - mobx-react-lite: 3.4.0 + mobx-react-lite: 3.4.2 npm-run-all: 4.1.5 react: 18.2.0 react-dnd: 16.0.1 react-dom: 18.2.0 - rimraf: 4.1.2 + rimraf: 4.3.1 sass: 1.58.3 serializr: 3.0.2 typescript: 4.9.5 @@ -2563,15 +2563,15 @@ __metadata: "@finos/legend-graph": "workspace:*" "@finos/legend-shared": "workspace:*" "@finos/legend-storage": "workspace:*" - "@jest/globals": 29.4.3 + "@jest/globals": 29.5.0 "@types/react": 18.0.28 cross-env: 7.0.3 eslint: 8.35.0 - jest: 29.4.3 + jest: 29.5.0 mobx: 6.8.0 npm-run-all: 4.1.5 react: 18.2.0 - rimraf: 4.1.2 + rimraf: 4.3.1 sass: 1.58.3 serializr: 3.0.2 typescript: 4.9.5 @@ -2591,15 +2591,15 @@ __metadata: "@finos/legend-graph": "workspace:*" "@finos/legend-shared": "workspace:*" "@finos/legend-storage": "workspace:*" - "@jest/globals": 29.4.3 + "@jest/globals": 29.5.0 "@types/react": 18.0.28 cross-env: 7.0.3 eslint: 8.35.0 - jest: 29.4.3 + jest: 29.5.0 mobx: 6.8.0 npm-run-all: 4.1.5 react: 18.2.0 - rimraf: 4.1.2 + rimraf: 4.3.1 serializr: 3.0.2 typescript: 4.9.5 peerDependencies: @@ -2618,15 +2618,15 @@ __metadata: "@finos/legend-graph": "workspace:*" "@finos/legend-shared": "workspace:*" "@finos/legend-storage": "workspace:*" - "@jest/globals": 29.4.3 + "@jest/globals": 29.5.0 "@types/react": 18.0.28 cross-env: 7.0.3 eslint: 8.35.0 - jest: 29.4.3 + jest: 29.5.0 mobx: 6.8.0 npm-run-all: 4.1.5 react: 18.2.0 - rimraf: 4.1.2 + rimraf: 4.3.1 sass: 1.58.3 serializr: 3.0.2 typescript: 4.9.5 @@ -2650,17 +2650,17 @@ __metadata: "@finos/legend-server-sdlc": "workspace:*" "@finos/legend-shared": "workspace:*" "@finos/legend-storage": "workspace:*" - "@jest/globals": 29.4.3 + "@jest/globals": 29.5.0 "@types/react": 18.0.28 cross-env: 7.0.3 eslint: 8.35.0 - jest: 29.4.3 + jest: 29.5.0 mobx: 6.8.0 - mobx-react-lite: 3.4.0 + mobx-react-lite: 3.4.2 npm-run-all: 4.1.5 react: 18.2.0 react-dom: 18.2.0 - rimraf: 4.1.2 + rimraf: 4.3.1 sass: 1.58.3 serializr: 3.0.2 typescript: 4.9.5 @@ -2680,16 +2680,16 @@ __metadata: "@finos/legend-graph": "workspace:*" "@finos/legend-shared": "workspace:*" "@finos/legend-storage": "workspace:*" - "@jest/globals": 29.4.3 + "@jest/globals": 29.5.0 "@types/react": 18.0.28 cross-env: 7.0.3 eslint: 8.35.0 - jest: 29.4.3 + jest: 29.5.0 mobx: 6.8.0 - mobx-react-lite: 3.4.0 + mobx-react-lite: 3.4.2 npm-run-all: 4.1.5 react: 18.2.0 - rimraf: 4.1.2 + rimraf: 4.3.1 sass: 1.58.3 serializr: 3.0.2 typescript: 4.9.5 @@ -2705,12 +2705,12 @@ __metadata: "@finos/legend-dev-utils": "workspace:*" "@finos/legend-graph": "workspace:*" "@finos/legend-shared": "workspace:*" - "@jest/globals": 29.4.3 + "@jest/globals": 29.5.0 cross-env: 7.0.3 eslint: 8.35.0 - jest: 29.4.3 + jest: 29.5.0 npm-run-all: 4.1.5 - rimraf: 4.1.2 + rimraf: 4.3.1 sass: 1.58.3 typescript: 4.9.5 languageName: unknown @@ -2723,12 +2723,12 @@ __metadata: "@finos/legend-dev-utils": "workspace:*" "@finos/legend-graph": "workspace:*" "@finos/legend-shared": "workspace:*" - "@jest/globals": 29.4.3 + "@jest/globals": 29.5.0 cross-env: 7.0.3 eslint: 8.35.0 - jest: 29.4.3 + jest: 29.5.0 npm-run-all: 4.1.5 - rimraf: 4.1.2 + rimraf: 4.3.1 typescript: 4.9.5 languageName: unknown linkType: soft @@ -2741,12 +2741,12 @@ __metadata: "@finos/legend-dev-utils": "workspace:*" "@finos/legend-graph": "workspace:*" "@finos/legend-shared": "workspace:*" - "@jest/globals": 29.4.3 + "@jest/globals": 29.5.0 cross-env: 7.0.3 eslint: 8.35.0 - jest: 29.4.3 + jest: 29.5.0 npm-run-all: 4.1.5 - rimraf: 4.1.2 + rimraf: 4.3.1 sass: 1.58.3 typescript: 4.9.5 languageName: unknown @@ -2763,16 +2763,16 @@ __metadata: "@finos/legend-graph": "workspace:*" "@finos/legend-shared": "workspace:*" "@finos/legend-storage": "workspace:*" - "@jest/globals": 29.4.3 + "@jest/globals": 29.5.0 "@types/react": 18.0.28 cross-env: 7.0.3 eslint: 8.35.0 - jest: 29.4.3 + jest: 29.5.0 mobx: 6.8.0 - mobx-react-lite: 3.4.0 + mobx-react-lite: 3.4.2 npm-run-all: 4.1.5 react: 18.2.0 - rimraf: 4.1.2 + rimraf: 4.3.1 sass: 1.58.3 serializr: 3.0.2 typescript: 4.9.5 @@ -2792,16 +2792,16 @@ __metadata: "@finos/legend-graph": "workspace:*" "@finos/legend-shared": "workspace:*" "@finos/legend-storage": "workspace:*" - "@jest/globals": 29.4.3 + "@jest/globals": 29.5.0 "@types/react": 18.0.28 cross-env: 7.0.3 eslint: 8.35.0 - jest: 29.4.3 + jest: 29.5.0 mobx: 6.8.0 - mobx-react-lite: 3.4.0 + mobx-react-lite: 3.4.2 npm-run-all: 4.1.5 react: 18.2.0 - rimraf: 4.1.2 + rimraf: 4.3.1 sass: 1.58.3 serializr: 3.0.2 typescript: 4.9.5 @@ -2821,16 +2821,16 @@ __metadata: "@finos/legend-graph": "workspace:*" "@finos/legend-shared": "workspace:*" "@finos/legend-storage": "workspace:*" - "@jest/globals": 29.4.3 + "@jest/globals": 29.5.0 "@types/react": 18.0.28 cross-env: 7.0.3 eslint: 8.35.0 - jest: 29.4.3 + jest: 29.5.0 mobx: 6.8.0 - mobx-react-lite: 3.4.0 + mobx-react-lite: 3.4.2 npm-run-all: 4.1.5 react: 18.2.0 - rimraf: 4.1.2 + rimraf: 4.3.1 sass: 1.58.3 serializr: 3.0.2 typescript: 4.9.5 @@ -2845,14 +2845,14 @@ __metadata: dependencies: "@finos/legend-dev-utils": "workspace:*" "@finos/legend-shared": "workspace:*" - "@jest/globals": 29.4.3 + "@jest/globals": 29.5.0 "@types/zipkin-javascript-opentracing": 1.6.0 cross-env: 7.0.3 eslint: 8.35.0 - jest: 29.4.3 + jest: 29.5.0 npm-run-all: 4.1.5 opentracing: 0.14.7 - rimraf: 4.1.2 + rimraf: 4.3.1 typescript: 4.9.5 zipkin: 0.22.0 zipkin-javascript-opentracing: 3.0.0 @@ -2868,10 +2868,10 @@ __metadata: "@finos/legend-dev-utils": "workspace:*" cross-env: 7.0.3 eslint: 8.35.0 - fastify: 4.13.0 - nodemon: 2.0.20 + fastify: 4.14.1 + nodemon: 2.0.21 npm-run-all: 4.1.5 - rimraf: 4.1.2 + rimraf: 4.3.1 typescript: 4.9.5 languageName: unknown linkType: soft @@ -2883,15 +2883,15 @@ __metadata: "@finos/legend-dev-utils": "workspace:*" "@finos/legend-shared": "workspace:*" "@finos/legend-storage": "workspace:*" - "@jest/globals": 29.4.3 + "@jest/globals": 29.5.0 cross-env: 7.0.3 eslint: 8.35.0 - jest: 29.4.3 + jest: 29.5.0 mobx: 6.8.0 - mobx-react-lite: 3.4.0 + mobx-react-lite: 3.4.2 npm-run-all: 4.1.5 react: 18.2.0 - rimraf: 4.1.2 + rimraf: 4.3.1 serializr: 3.0.2 typescript: 4.9.5 languageName: unknown @@ -2917,7 +2917,7 @@ __metadata: eslint: 8.35.0 npm-run-all: 4.1.5 react: 18.2.0 - rimraf: 4.1.2 + rimraf: 4.3.1 typedoc: 0.23.26 typescript: 4.9.5 languageName: unknown @@ -2939,14 +2939,14 @@ __metadata: "@finos/legend-graph": "workspace:*" "@finos/legend-query-builder": "workspace:*" "@finos/legend-shared": "workspace:*" - "@jest/globals": 29.4.3 + "@jest/globals": 29.5.0 "@testing-library/react": 14.0.0 axios: 1.3.4 cross-env: 7.0.3 eslint: 8.35.0 - jest: 29.4.3 + jest: 29.5.0 npm-run-all: 4.1.5 - rimraf: 4.1.2 + rimraf: 4.3.1 typescript: 4.9.5 languageName: unknown linkType: soft @@ -2966,23 +2966,23 @@ __metadata: "@finos/legend-server-depot": "workspace:*" "@finos/legend-shared": "workspace:*" "@finos/legend-storage": "workspace:*" - "@jest/globals": 29.4.3 + "@jest/globals": 29.5.0 "@testing-library/react": 14.0.0 "@types/papaparse": 5.3.7 "@types/react": 18.0.28 "@types/react-dom": 18.0.11 cross-env: 7.0.3 eslint: 8.35.0 - jest: 29.4.3 + jest: 29.5.0 mobx: 6.8.0 - mobx-react-lite: 3.4.0 - monaco-editor: 0.36.0 + mobx-react-lite: 3.4.2 + monaco-editor: 0.36.1 npm-run-all: 4.1.5 - papaparse: 5.3.2 + papaparse: 5.4.0 react: 18.2.0 react-dnd: 16.0.1 react-dom: 18.2.0 - rimraf: 4.1.2 + rimraf: 4.3.1 sass: 1.58.3 serializr: 3.0.2 typescript: 4.9.5 @@ -2998,15 +2998,15 @@ __metadata: "@finos/legend-dev-utils": "workspace:*" "@finos/legend-shared": "workspace:*" "@finos/legend-storage": "workspace:*" - "@jest/globals": 29.4.3 + "@jest/globals": 29.5.0 cross-env: 7.0.3 eslint: 8.35.0 - jest: 29.4.3 + jest: 29.5.0 mobx: 6.8.0 - mobx-react-lite: 3.4.0 + mobx-react-lite: 3.4.2 npm-run-all: 4.1.5 react: 18.2.0 - rimraf: 4.1.2 + rimraf: 4.3.1 serializr: 3.0.2 typescript: 4.9.5 languageName: unknown @@ -3019,15 +3019,15 @@ __metadata: "@finos/legend-dev-utils": "workspace:*" "@finos/legend-shared": "workspace:*" "@finos/legend-storage": "workspace:*" - "@jest/globals": 29.4.3 + "@jest/globals": 29.5.0 cross-env: 7.0.3 eslint: 8.35.0 - jest: 29.4.3 + jest: 29.5.0 mobx: 6.8.0 - mobx-react-lite: 3.4.0 + mobx-react-lite: 3.4.2 npm-run-all: 4.1.5 react: 18.2.0 - rimraf: 4.1.2 + rimraf: 4.3.1 serializr: 3.0.2 typescript: 4.9.5 languageName: unknown @@ -3039,7 +3039,7 @@ __metadata: dependencies: "@braintree/sanitize-url": 6.0.2 "@finos/legend-dev-utils": "workspace:*" - "@jest/globals": 29.4.3 + "@jest/globals": 29.5.0 "@types/lodash-es": 4.17.6 "@types/object-hash": 3.0.2 "@types/pako": 2.0.0 @@ -3051,18 +3051,18 @@ __metadata: eslint: 8.35.0 hash.js: 1.1.7 http-status-codes: 2.2.0 - jest: 29.4.3 + jest: 29.5.0 lodash: 4.17.21 lodash-es: 4.17.21 - lossless-json: 2.0.6 + lossless-json: 2.0.8 mobx: 6.8.0 npm-run-all: 4.1.5 object-hash: 3.0.0 pako: 2.1.0 - papaparse: 5.3.2 - pretty-format: 29.4.3 + papaparse: 5.4.0 + pretty-format: 29.5.0 query-string: 8.1.0 - rimraf: 4.1.2 + rimraf: 4.3.1 seedrandom: 3.0.5 serializr: 3.0.2 typescript: 4.9.5 @@ -3076,13 +3076,13 @@ __metadata: dependencies: "@finos/legend-dev-utils": "workspace:*" "@finos/legend-shared": "workspace:*" - "@jest/globals": 29.4.3 + "@jest/globals": 29.5.0 cross-env: 7.0.3 eslint: 8.35.0 - jest: 29.4.3 + jest: 29.5.0 lodash: 4.17.21 npm-run-all: 4.1.5 - rimraf: 4.1.2 + rimraf: 4.3.1 typescript: 4.9.5 languageName: unknown linkType: soft @@ -3095,7 +3095,7 @@ __metadata: eslint: 8.35.0 postcss: 8.4.21 postcss-scss: 4.0.6 - rimraf: 4.1.2 + rimraf: 4.3.1 stylelint-config-prettier: 9.0.5 stylelint-config-standard: 30.0.1 stylelint-scss: 4.4.0 @@ -3184,50 +3184,50 @@ __metadata: languageName: node linkType: hard -"@jest/console@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/console@npm:29.4.3" +"@jest/console@npm:^29.5.0": + version: 29.5.0 + resolution: "@jest/console@npm:29.5.0" dependencies: - "@jest/types": ^29.4.3 + "@jest/types": ^29.5.0 "@types/node": "*" chalk: ^4.0.0 - jest-message-util: ^29.4.3 - jest-util: ^29.4.3 + jest-message-util: ^29.5.0 + jest-util: ^29.5.0 slash: ^3.0.0 - checksum: 8d9b163febe735153b523db527742309f4d598eda22f17f04e030060329bd3da4de7420fc1f7812f7a16f08273654a7de094c4b4e8b81a99dbfc17cfb1629008 + checksum: 9f4f4b8fabd1221361b7f2e92d4a90f5f8c2e2b29077249996ab3c8b7f765175ffee795368f8d6b5b2bb3adb32dc09319f7270c7c787b0d259e624e00e0f64a5 languageName: node linkType: hard -"@jest/core@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/core@npm:29.4.3" +"@jest/core@npm:^29.5.0": + version: 29.5.0 + resolution: "@jest/core@npm:29.5.0" dependencies: - "@jest/console": ^29.4.3 - "@jest/reporters": ^29.4.3 - "@jest/test-result": ^29.4.3 - "@jest/transform": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/console": ^29.5.0 + "@jest/reporters": ^29.5.0 + "@jest/test-result": ^29.5.0 + "@jest/transform": ^29.5.0 + "@jest/types": ^29.5.0 "@types/node": "*" ansi-escapes: ^4.2.1 chalk: ^4.0.0 ci-info: ^3.2.0 exit: ^0.1.2 graceful-fs: ^4.2.9 - jest-changed-files: ^29.4.3 - jest-config: ^29.4.3 - jest-haste-map: ^29.4.3 - jest-message-util: ^29.4.3 + jest-changed-files: ^29.5.0 + jest-config: ^29.5.0 + jest-haste-map: ^29.5.0 + jest-message-util: ^29.5.0 jest-regex-util: ^29.4.3 - jest-resolve: ^29.4.3 - jest-resolve-dependencies: ^29.4.3 - jest-runner: ^29.4.3 - jest-runtime: ^29.4.3 - jest-snapshot: ^29.4.3 - jest-util: ^29.4.3 - jest-validate: ^29.4.3 - jest-watcher: ^29.4.3 + jest-resolve: ^29.5.0 + jest-resolve-dependencies: ^29.5.0 + jest-runner: ^29.5.0 + jest-runtime: ^29.5.0 + jest-snapshot: ^29.5.0 + jest-util: ^29.5.0 + jest-validate: ^29.5.0 + jest-watcher: ^29.5.0 micromatch: ^4.0.4 - pretty-format: ^29.4.3 + pretty-format: ^29.5.0 slash: ^3.0.0 strip-ansi: ^6.0.0 peerDependencies: @@ -3235,76 +3235,76 @@ __metadata: peerDependenciesMeta: node-notifier: optional: true - checksum: 4aa10644d66f44f051d5dd9cdcedce27acc71216dbcc5e7adebdea458e27aefe27c78f457d7efd49f58b968c35f42de5a521590876e2013593e675120b9e6ab1 + checksum: 9e8f5243fe82d5a57f3971e1b96f320058df7c315328a3a827263f3b17f64be10c80f4a9c1b1773628b64d2de6d607c70b5b2d5bf13e7f5ad04223e9ef6aac06 languageName: node linkType: hard -"@jest/environment@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/environment@npm:29.4.3" +"@jest/environment@npm:^29.5.0": + version: 29.5.0 + resolution: "@jest/environment@npm:29.5.0" dependencies: - "@jest/fake-timers": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/fake-timers": ^29.5.0 + "@jest/types": ^29.5.0 "@types/node": "*" - jest-mock: ^29.4.3 - checksum: 7c1b0cc4e84b90f8a3bbeca9bbf088882c88aee70a81b3b8e24265dcb1cbc302cd1eee3319089cf65bfd39adbaea344903c712afea106cb8da6c86088d99c5fb + jest-mock: ^29.5.0 + checksum: 921de6325cd4817dec6685e5ff299b499b6379f3f9cf489b4b13588ee1f3820a0c77b49e6a087996b6de8f629f6f5251e636cba08d1bdb97d8071cc7d033c88a languageName: node linkType: hard -"@jest/expect-utils@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/expect-utils@npm:29.4.3" +"@jest/expect-utils@npm:^29.5.0": + version: 29.5.0 + resolution: "@jest/expect-utils@npm:29.5.0" dependencies: jest-get-type: ^29.4.3 - checksum: 2bbed39ff2fb59f5acac465a1ce7303e3b4b62b479e4f386261986c9827f7f799ea912761e22629c5daf10addf8513f16733c14a29c2647bb66d4ee625e9ff92 + checksum: c46fb677c88535cf83cf29f0a5b1f376c6a1109ddda266ad7da1a9cbc53cb441fa402dd61fc7b111ffc99603c11a9b3357ee41a1c0e035a58830bcb360871476 languageName: node linkType: hard -"@jest/expect@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/expect@npm:29.4.3" +"@jest/expect@npm:^29.5.0": + version: 29.5.0 + resolution: "@jest/expect@npm:29.5.0" dependencies: - expect: ^29.4.3 - jest-snapshot: ^29.4.3 - checksum: 08d0d40077ec99a7491fe59d05821dbd31126cfba70875855d8a063698b7126b5f6c309c50811caacc6ae2f727c6e44f51bdcf1d6c1ea832b4f020045ef22d45 + expect: ^29.5.0 + jest-snapshot: ^29.5.0 + checksum: bd10e295111547e6339137107d83986ab48d46561525393834d7d2d8b2ae9d5626653f3f5e48e5c3fa742ac982e97bdf1f541b53b9e1d117a247b08e938527f6 languageName: node linkType: hard -"@jest/fake-timers@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/fake-timers@npm:29.4.3" +"@jest/fake-timers@npm:^29.5.0": + version: 29.5.0 + resolution: "@jest/fake-timers@npm:29.5.0" dependencies: - "@jest/types": ^29.4.3 + "@jest/types": ^29.5.0 "@sinonjs/fake-timers": ^10.0.2 "@types/node": "*" - jest-message-util: ^29.4.3 - jest-mock: ^29.4.3 - jest-util: ^29.4.3 - checksum: adaceb9143c395cccf3d7baa0e49b7042c3092a554e8283146df19926247e34c21b5bde5688bb90e9e87b4a02e4587926c5d858ee0a38d397a63175d0a127874 + jest-message-util: ^29.5.0 + jest-mock: ^29.5.0 + jest-util: ^29.5.0 + checksum: 69930c6922341f244151ec0d27640852ec96237f730fc024da1f53143d31b43cde75d92f9d8e5937981cdce3b31416abc3a7090a0d22c2377512c4a6613244ee languageName: node linkType: hard -"@jest/globals@npm:29.4.3, @jest/globals@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/globals@npm:29.4.3" +"@jest/globals@npm:29.5.0, @jest/globals@npm:^29.5.0": + version: 29.5.0 + resolution: "@jest/globals@npm:29.5.0" dependencies: - "@jest/environment": ^29.4.3 - "@jest/expect": ^29.4.3 - "@jest/types": ^29.4.3 - jest-mock: ^29.4.3 - checksum: ea76b546ceb4aa5ce2bb3726df12f989b23150b51c9f7664790caa81b943012a657cf3a8525498af1c3518cdb387f54b816cfba1b0ddd22c7b20f03b1d7290b4 + "@jest/environment": ^29.5.0 + "@jest/expect": ^29.5.0 + "@jest/types": ^29.5.0 + jest-mock: ^29.5.0 + checksum: b309ab8f21b571a7c672608682e84bbdd3d2b554ddf81e4e32617fec0a69094a290ab42e3c8b2c66ba891882bfb1b8b2736720ea1285b3ad646d55c2abefedd9 languageName: node linkType: hard -"@jest/reporters@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/reporters@npm:29.4.3" +"@jest/reporters@npm:^29.5.0": + version: 29.5.0 + resolution: "@jest/reporters@npm:29.5.0" dependencies: "@bcoe/v8-coverage": ^0.2.3 - "@jest/console": ^29.4.3 - "@jest/test-result": ^29.4.3 - "@jest/transform": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/console": ^29.5.0 + "@jest/test-result": ^29.5.0 + "@jest/transform": ^29.5.0 + "@jest/types": ^29.5.0 "@jridgewell/trace-mapping": ^0.3.15 "@types/node": "*" chalk: ^4.0.0 @@ -3317,9 +3317,9 @@ __metadata: istanbul-lib-report: ^3.0.0 istanbul-lib-source-maps: ^4.0.0 istanbul-reports: ^3.1.3 - jest-message-util: ^29.4.3 - jest-util: ^29.4.3 - jest-worker: ^29.4.3 + jest-message-util: ^29.5.0 + jest-util: ^29.5.0 + jest-worker: ^29.5.0 slash: ^3.0.0 string-length: ^4.0.1 strip-ansi: ^6.0.0 @@ -3329,7 +3329,7 @@ __metadata: peerDependenciesMeta: node-notifier: optional: true - checksum: 7aa2e429c915bd96c3334962addd69d2bbf52065725757ddde26b293f8c4420a1e8c65363cc3e1e5ec89100a5273ccd3771bec58325a2cc0d97afdc81995073a + checksum: 481268aac9a4a75cc49c4df1273d6b111808dec815e9d009dad717c32383ebb0cebac76e820ad1ab44e207540e1c2fe1e640d44c4f262de92ab1933e057fdeeb languageName: node linkType: hard @@ -3353,56 +3353,56 @@ __metadata: languageName: node linkType: hard -"@jest/test-result@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/test-result@npm:29.4.3" +"@jest/test-result@npm:^29.5.0": + version: 29.5.0 + resolution: "@jest/test-result@npm:29.5.0" dependencies: - "@jest/console": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/console": ^29.5.0 + "@jest/types": ^29.5.0 "@types/istanbul-lib-coverage": ^2.0.0 collect-v8-coverage: ^1.0.0 - checksum: 164f102b96619ec283c2c39e208b8048e4674f75bf3c3a4f2e95048ae0f9226105add684b25f10d286d91c221625f877e2c1cfc3da46c42d7e1804da239318cb + checksum: 2e8ff5242227ab960c520c3ea0f6544c595cc1c42fa3873c158e9f4f685f4ec9670ec08a4af94ae3885c0005a43550a9595191ffbc27a0965df27d9d98bbf901 languageName: node linkType: hard -"@jest/test-sequencer@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/test-sequencer@npm:29.4.3" +"@jest/test-sequencer@npm:^29.5.0": + version: 29.5.0 + resolution: "@jest/test-sequencer@npm:29.5.0" dependencies: - "@jest/test-result": ^29.4.3 + "@jest/test-result": ^29.5.0 graceful-fs: ^4.2.9 - jest-haste-map: ^29.4.3 + jest-haste-map: ^29.5.0 slash: ^3.0.0 - checksum: 145e1fa9379e5be3587bde6d585b8aee5cf4442b06926928a87e9aec7de5be91b581711d627c6ca13144d244fe05e5d248c13b366b51bedc404f9dcfbfd79e9e + checksum: eca34b4aeb2fda6dfb7f9f4b064c858a7adf64ec5c6091b6f4ed9d3c19549177cbadcf1c615c4c182688fa1cf085c8c55c3ca6eea40719a34554b0bf071d842e languageName: node linkType: hard -"@jest/transform@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/transform@npm:29.4.3" +"@jest/transform@npm:^29.5.0": + version: 29.5.0 + resolution: "@jest/transform@npm:29.5.0" dependencies: "@babel/core": ^7.11.6 - "@jest/types": ^29.4.3 + "@jest/types": ^29.5.0 "@jridgewell/trace-mapping": ^0.3.15 babel-plugin-istanbul: ^6.1.1 chalk: ^4.0.0 convert-source-map: ^2.0.0 fast-json-stable-stringify: ^2.1.0 graceful-fs: ^4.2.9 - jest-haste-map: ^29.4.3 + jest-haste-map: ^29.5.0 jest-regex-util: ^29.4.3 - jest-util: ^29.4.3 + jest-util: ^29.5.0 micromatch: ^4.0.4 pirates: ^4.0.4 slash: ^3.0.0 write-file-atomic: ^4.0.2 - checksum: 082d74e04044213aa7baa8de29f8383e5010034f867969c8602a2447a4ef2f484cfaf2491eba3179ce42f369f7a0af419cbd087910f7e5caf7aa5d1fe03f2ff9 + checksum: d55d604085c157cf5112e165ff5ac1fa788873b3b31265fb4734ca59892ee24e44119964cc47eb6d178dd9512bbb6c576d1e20e51a201ff4e24d31e818a1c92d languageName: node linkType: hard -"@jest/types@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/types@npm:29.4.3" +"@jest/types@npm:^29.5.0": + version: 29.5.0 + resolution: "@jest/types@npm:29.5.0" dependencies: "@jest/schemas": ^29.4.3 "@types/istanbul-lib-coverage": ^2.0.0 @@ -3410,7 +3410,7 @@ __metadata: "@types/node": "*" "@types/yargs": ^17.0.8 chalk: ^4.0.0 - checksum: 1756f4149d360f98567f56f434144f7af23ed49a2c42889261a314df6b6654c2de70af618fb2ee0ee39cadaf10835b885845557184509503646c9cb9dcc02bac + checksum: 1811f94b19cf8a9460a289c4f056796cfc373480e0492692a6125a553cd1a63824bd846d7bb78820b7b6f758f6dd3c2d4558293bb676d541b2fa59c70fdf9d39 languageName: node linkType: hard @@ -3516,14 +3516,14 @@ __metadata: languageName: node linkType: hard -"@mui/base@npm:5.0.0-alpha.118": - version: 5.0.0-alpha.118 - resolution: "@mui/base@npm:5.0.0-alpha.118" +"@mui/base@npm:5.0.0-alpha.119": + version: 5.0.0-alpha.119 + resolution: "@mui/base@npm:5.0.0-alpha.119" dependencies: - "@babel/runtime": ^7.20.13 + "@babel/runtime": ^7.21.0 "@emotion/is-prop-valid": ^1.2.0 "@mui/types": ^7.2.3 - "@mui/utils": ^5.11.9 + "@mui/utils": ^5.11.11 "@popperjs/core": ^2.11.6 clsx: ^1.2.1 prop-types: ^15.8.1 @@ -3535,27 +3535,27 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 0de774b9208042a9c64eb1ccc8b10119a804d130cad4722e0efc47f2396c5e90a64ffd54698ee947d39da230401ec48000ddedf4649b69b3043aa91b6a842b2c + checksum: 1ad5876a0b455cdc880abc51c331771d954bac769daa5b4c91bccceaaca8c2cf15401e2fa4030e46cdfb0ab876edd6e33818db1b365203e61bb1ec513618bba8 languageName: node linkType: hard -"@mui/core-downloads-tracker@npm:^5.11.9": - version: 5.11.9 - resolution: "@mui/core-downloads-tracker@npm:5.11.9" - checksum: 2fcb81a43afb9be4a14509f7e48097968ae32c4ad22380a0dc3d516fa1b6b6cc927384585e797a6c461f79e8453331ce49aa7658830e8a4dc3b8904ce7084a6a +"@mui/core-downloads-tracker@npm:^5.11.12": + version: 5.11.12 + resolution: "@mui/core-downloads-tracker@npm:5.11.12" + checksum: db9f8497da36455bcd6590aceae0a364fe3107db6067d96612e3b0d8993bc3e0f0d66dbe6fd09d2d99b5a811b20d019682cb96a39d7570948cd644f4f8a32404 languageName: node linkType: hard -"@mui/material@npm:5.11.10": - version: 5.11.10 - resolution: "@mui/material@npm:5.11.10" +"@mui/material@npm:5.11.12": + version: 5.11.12 + resolution: "@mui/material@npm:5.11.12" dependencies: - "@babel/runtime": ^7.20.13 - "@mui/base": 5.0.0-alpha.118 - "@mui/core-downloads-tracker": ^5.11.9 - "@mui/system": ^5.11.9 + "@babel/runtime": ^7.21.0 + "@mui/base": 5.0.0-alpha.119 + "@mui/core-downloads-tracker": ^5.11.12 + "@mui/system": ^5.11.12 "@mui/types": ^7.2.3 - "@mui/utils": ^5.11.9 + "@mui/utils": ^5.11.12 "@types/react-transition-group": ^4.4.5 clsx: ^1.2.1 csstype: ^3.1.1 @@ -3575,16 +3575,16 @@ __metadata: optional: true "@types/react": optional: true - checksum: 7d0ee8b7bc8a39146464a9a3ccc18766aff55914e7d801590b401f79c36e98b3b17aacd069e2620166024dd1020e67ad3a38da0d72e6aa0283d760a488c79501 + checksum: 0bc03f700683e0a0d234c3b2d2a9ccd875af2bef5fce1946f1409afbb3fb69043c77a96ad9c6cd8f942ef793b8a198aaefe058a31d38c0452711841e2bd51c03 languageName: node linkType: hard -"@mui/private-theming@npm:^5.11.9": - version: 5.11.9 - resolution: "@mui/private-theming@npm:5.11.9" +"@mui/private-theming@npm:^5.11.12": + version: 5.11.12 + resolution: "@mui/private-theming@npm:5.11.12" dependencies: - "@babel/runtime": ^7.20.13 - "@mui/utils": ^5.11.9 + "@babel/runtime": ^7.21.0 + "@mui/utils": ^5.11.12 prop-types: ^15.8.1 peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 @@ -3592,15 +3592,15 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: c0cfdf6d790ce219e59f2d222847b88e0ab1d3281a427935460f8a652b54faaf0ad483f13a5fafdec37df7cc87a489821b20e9fa26d49251e714fa6fef8da5c2 + checksum: 02bee3bd2ae5223e92bdc0c9464386d587adabc7ed24a3fb3aa4659dad189bf02935b482fa56ad431c51fc1ede79bed24b921e0db26f965ad593ebeed2251a26 languageName: node linkType: hard -"@mui/styled-engine@npm:^5.11.9": - version: 5.11.9 - resolution: "@mui/styled-engine@npm:5.11.9" +"@mui/styled-engine@npm:^5.11.11": + version: 5.11.11 + resolution: "@mui/styled-engine@npm:5.11.11" dependencies: - "@babel/runtime": ^7.20.13 + "@babel/runtime": ^7.21.0 "@emotion/cache": ^11.10.5 csstype: ^3.1.1 prop-types: ^15.8.1 @@ -3613,19 +3613,19 @@ __metadata: optional: true "@emotion/styled": optional: true - checksum: c32dd4b1e90fd19664dce92b3188a4ae3e239bcf6c1baa0e608478f41047aba4f0b796543a213337aa905a86c44284cf99198ceaccb1e444dee3ab0cc3092829 + checksum: 63b71aafe79afbe1638a31d9cc1361d11edd5b4a8eacc50da86d83b5db11c9a1713c5744d1533360488aef85afc8d4a5429517447b78b598493c7a7d639390dd languageName: node linkType: hard -"@mui/system@npm:^5.11.9": - version: 5.11.9 - resolution: "@mui/system@npm:5.11.9" +"@mui/system@npm:^5.11.12": + version: 5.11.12 + resolution: "@mui/system@npm:5.11.12" dependencies: - "@babel/runtime": ^7.20.13 - "@mui/private-theming": ^5.11.9 - "@mui/styled-engine": ^5.11.9 + "@babel/runtime": ^7.21.0 + "@mui/private-theming": ^5.11.12 + "@mui/styled-engine": ^5.11.11 "@mui/types": ^7.2.3 - "@mui/utils": ^5.11.9 + "@mui/utils": ^5.11.12 clsx: ^1.2.1 csstype: ^3.1.1 prop-types: ^15.8.1 @@ -3641,7 +3641,7 @@ __metadata: optional: true "@types/react": optional: true - checksum: d3cc0efbb992299f030369c09d6d0db44c7b29f436d1eaa271de9e06b78575d63e6b3df389cbf37191870a478a5267b43e995d27361236cfceac1f5a88b71a5b + checksum: a357b26b34ba3fe9aa6d2e826e94a9e8c6fe4bb4d20ac77b7a8688ff414ac7df77ff537837dd36e20aa9be8b9bb9c1ecab6ad2af057b152e1d0c9ea3234aefbf languageName: node linkType: hard @@ -3657,18 +3657,18 @@ __metadata: languageName: node linkType: hard -"@mui/utils@npm:^5.11.9": - version: 5.11.9 - resolution: "@mui/utils@npm:5.11.9" +"@mui/utils@npm:^5.11.11, @mui/utils@npm:^5.11.12": + version: 5.11.12 + resolution: "@mui/utils@npm:5.11.12" dependencies: - "@babel/runtime": ^7.20.13 + "@babel/runtime": ^7.21.0 "@types/prop-types": ^15.7.5 "@types/react-is": ^16.7.1 || ^17.0.0 prop-types: ^15.8.1 react-is: ^18.2.0 peerDependencies: react: ^17.0.0 || ^18.0.0 - checksum: 23761e646443a8f9ad5e0715587491e65f5164fd99f6730f134068f9c859a6af9e3f9d218d193c9a9217da1c91182f76352c120de4f70ab19539afa7504698a2 + checksum: aa65847c5ab3ae69f0fb156b1b79adbf6285270de4ff1fa87e098930988aa8d88ef00b5bf12c62e75c77077a9f1b84a150edae8637ca416e6c4c0edff8092d90 languageName: node linkType: hard @@ -3737,7 +3737,7 @@ __metadata: languageName: node linkType: hard -"@octokit/core@npm:^3.5.1, @octokit/core@npm:^3.6.0": +"@octokit/core@npm:^3.6.0": version: 3.6.0 resolution: "@octokit/core@npm:3.6.0" dependencies: @@ -3781,7 +3781,7 @@ __metadata: languageName: node linkType: hard -"@octokit/plugin-paginate-rest@npm:^2.16.8, @octokit/plugin-paginate-rest@npm:^2.17.0": +"@octokit/plugin-paginate-rest@npm:^2.17.0": version: 2.21.3 resolution: "@octokit/plugin-paginate-rest@npm:2.21.3" dependencies: @@ -3792,16 +3792,7 @@ __metadata: languageName: node linkType: hard -"@octokit/plugin-request-log@npm:^1.0.4": - version: 1.0.4 - resolution: "@octokit/plugin-request-log@npm:1.0.4" - peerDependencies: - "@octokit/core": ">=3" - checksum: 2086db00056aee0f8ebd79797b5b57149ae1014e757ea08985b71eec8c3d85dbb54533f4fd34b6b9ecaa760904ae6a7536be27d71e50a3782ab47809094bfc0c - languageName: node - linkType: hard - -"@octokit/plugin-rest-endpoint-methods@npm:^5.12.0, @octokit/plugin-rest-endpoint-methods@npm:^5.13.0": +"@octokit/plugin-rest-endpoint-methods@npm:^5.13.0": version: 5.16.2 resolution: "@octokit/plugin-rest-endpoint-methods@npm:5.16.2" dependencies: @@ -3838,18 +3829,6 @@ __metadata: languageName: node linkType: hard -"@octokit/rest@npm:^18": - version: 18.12.0 - resolution: "@octokit/rest@npm:18.12.0" - dependencies: - "@octokit/core": ^3.5.1 - "@octokit/plugin-paginate-rest": ^2.16.8 - "@octokit/plugin-request-log": ^1.0.4 - "@octokit/plugin-rest-endpoint-methods": ^5.12.0 - checksum: c18bd6676a60b66819b016b0f969fcd04d8dfa04d01b7af9af9a7410ff028c621c995185e29454c23c47906da506c1e01620711259989a964ebbfd9106f5b715 - languageName: node - linkType: hard - "@octokit/types@npm:^6.0.3, @octokit/types@npm:^6.16.1, @octokit/types@npm:^6.39.0, @octokit/types@npm:^6.40.0": version: 6.41.0 resolution: "@octokit/types@npm:6.41.0" @@ -4161,16 +4140,6 @@ __metadata: languageName: node linkType: hard -"@types/glob@npm:*": - version: 8.1.0 - resolution: "@types/glob@npm:8.1.0" - dependencies: - "@types/minimatch": ^5.1.2 - "@types/node": "*" - checksum: 9101f3a9061e40137190f70626aa0e202369b5ec4012c3fabe6f5d229cce04772db9a94fa5a0eb39655e2e4ad105c38afbb4af56a56c0996a8c7d4fc72350e3d - languageName: node - linkType: hard - "@types/glob@npm:^7.1.1": version: 7.2.0 resolution: "@types/glob@npm:7.2.0" @@ -4313,7 +4282,7 @@ __metadata: languageName: node linkType: hard -"@types/minimatch@npm:*, @types/minimatch@npm:^5.1.2": +"@types/minimatch@npm:*": version: 5.1.2 resolution: "@types/minimatch@npm:5.1.2" checksum: 0391a282860c7cb6fe262c12b99564732401bdaa5e395bee9ca323c312c1a0f45efbf34dce974682036e857db59a5c9b1da522f3d6055aeead7097264c8705a8 @@ -4334,10 +4303,10 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*, @types/node@npm:18.14.2": - version: 18.14.2 - resolution: "@types/node@npm:18.14.2" - checksum: 53c07e721f6ae33de71306f6a0b75dae6066a4f55bd5484c93bd59ff25f0c5f004ceafeef509a4d0cb9e24a247efc34d50489bcc1b05a53ecc68e2fc088e65cb +"@types/node@npm:*, @types/node@npm:18.14.6": + version: 18.14.6 + resolution: "@types/node@npm:18.14.6" + checksum: 2f88f482cabadc6dbddd627a1674239e68c3c9beab56eb4ae2309fb96fd17fc3a509d99b0309bafe13b58529574f49ecf3a583f2ebe2896dd32fe4be436dc96e languageName: node linkType: hard @@ -4547,16 +4516,6 @@ __metadata: languageName: node linkType: hard -"@types/shelljs@npm:^0.8.11": - version: 0.8.11 - resolution: "@types/shelljs@npm:0.8.11" - dependencies: - "@types/glob": "*" - "@types/node": "*" - checksum: 559b81efba72f2b231485b26510aad68cccfe98dc74087d67dafd5511462997884db0ef18e0e56bf61a3a5789aa65a54dc04845a488bb0528d4a699e6151b99c - languageName: node - linkType: hard - "@types/sockjs@npm:^0.3.33": version: 0.3.33 resolution: "@types/sockjs@npm:0.3.33" @@ -4626,13 +4585,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:5.53.0": - version: 5.53.0 - resolution: "@typescript-eslint/eslint-plugin@npm:5.53.0" +"@typescript-eslint/eslint-plugin@npm:5.54.1": + version: 5.54.1 + resolution: "@typescript-eslint/eslint-plugin@npm:5.54.1" dependencies: - "@typescript-eslint/scope-manager": 5.53.0 - "@typescript-eslint/type-utils": 5.53.0 - "@typescript-eslint/utils": 5.53.0 + "@typescript-eslint/scope-manager": 5.54.1 + "@typescript-eslint/type-utils": 5.54.1 + "@typescript-eslint/utils": 5.54.1 debug: ^4.3.4 grapheme-splitter: ^1.0.4 ignore: ^5.2.0 @@ -4646,43 +4605,43 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 12dffe65969d8e5248c86a700fe46a737e55ecafb276933e747b4731eab6266fe55e2d43a34b8b340179fe248e127d861cd016a7614b1b9804cd0687c99616d1 + checksum: 76476c08ca0142a9bf6e2381f5cd1c037d86fbafa9c0dded4a97bd3b23b5962dd2c3943bade11b21d674195674f0e36dbf80faa15a1906f5a2ca1f699baf1dd5 languageName: node linkType: hard -"@typescript-eslint/parser@npm:5.53.0": - version: 5.53.0 - resolution: "@typescript-eslint/parser@npm:5.53.0" +"@typescript-eslint/parser@npm:5.54.1": + version: 5.54.1 + resolution: "@typescript-eslint/parser@npm:5.54.1" dependencies: - "@typescript-eslint/scope-manager": 5.53.0 - "@typescript-eslint/types": 5.53.0 - "@typescript-eslint/typescript-estree": 5.53.0 + "@typescript-eslint/scope-manager": 5.54.1 + "@typescript-eslint/types": 5.54.1 + "@typescript-eslint/typescript-estree": 5.54.1 debug: ^4.3.4 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 979e5d63793a9e64998b1f956ba0f00f8a2674db3a664fafce7b2433323f5248bd776af8305e2419d73a9d94c55176fee099abc5c153b4cc52e5765c725c1edd + checksum: f466513d306ca926b97c2cec1eebaf2cd15d45bd5633a4358f23ba9a4de1b0ec4630b1c20abc395943934ed1d2ef65f545fd6737c317a7abe579612101e8a83f languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:5.53.0": - version: 5.53.0 - resolution: "@typescript-eslint/scope-manager@npm:5.53.0" +"@typescript-eslint/scope-manager@npm:5.54.1": + version: 5.54.1 + resolution: "@typescript-eslint/scope-manager@npm:5.54.1" dependencies: - "@typescript-eslint/types": 5.53.0 - "@typescript-eslint/visitor-keys": 5.53.0 - checksum: 51f31dc01e95908611f402441f58404da80a338c0237b2b82f4a7b0b2e8868c4bfe8f7cf44b2567dd56533de609156a5d4ac54bb1f9f09c7014b99428aef2543 + "@typescript-eslint/types": 5.54.1 + "@typescript-eslint/visitor-keys": 5.54.1 + checksum: 9add24cf3a7852634ad0680a827646860ac4698a6ac8aae31e8b781e29f59e84b51f0cdaacffd0747811012647f01b51969d988da9b302ead374ceebffbe204b languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:5.53.0": - version: 5.53.0 - resolution: "@typescript-eslint/type-utils@npm:5.53.0" +"@typescript-eslint/type-utils@npm:5.54.1": + version: 5.54.1 + resolution: "@typescript-eslint/type-utils@npm:5.54.1" dependencies: - "@typescript-eslint/typescript-estree": 5.53.0 - "@typescript-eslint/utils": 5.53.0 + "@typescript-eslint/typescript-estree": 5.54.1 + "@typescript-eslint/utils": 5.54.1 debug: ^4.3.4 tsutils: ^3.21.0 peerDependencies: @@ -4690,23 +4649,23 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 52c40967c5fabd58c2ae8bf519ef89e4feb511e4df630aeaeac8335661a79b6b3a32d30a61a5f1d8acc703f21c4d90751a5d41cda1b35d08867524da11bc2e1d + checksum: 0073838b782b7f4619775be124ca6643fec43a2d56043eaf3ceb100960a5193f14ac747b28ce17a5c9ac643fdee8abda82a7d905c81521358de7b27a2dcbc9af languageName: node linkType: hard -"@typescript-eslint/types@npm:5.53.0": - version: 5.53.0 - resolution: "@typescript-eslint/types@npm:5.53.0" - checksum: b0eaf23de4ab13697d4d2095838c959a3f410c30f0d19091e5ca08e62320c3cc3c72bcb631823fb6a4fbb31db0a059e386a0801244930d0a88a6a698e5f46548 +"@typescript-eslint/types@npm:5.54.1": + version: 5.54.1 + resolution: "@typescript-eslint/types@npm:5.54.1" + checksum: 84a8f725cfa10646af389659e09c510c38d82c65960c7b613f844a264acc0e197471cba03f3e8f4b6411bc35dca28922c8352a7bd44621411c73fd6dd4096da2 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:5.53.0": - version: 5.53.0 - resolution: "@typescript-eslint/typescript-estree@npm:5.53.0" +"@typescript-eslint/typescript-estree@npm:5.54.1": + version: 5.54.1 + resolution: "@typescript-eslint/typescript-estree@npm:5.54.1" dependencies: - "@typescript-eslint/types": 5.53.0 - "@typescript-eslint/visitor-keys": 5.53.0 + "@typescript-eslint/types": 5.54.1 + "@typescript-eslint/visitor-keys": 5.54.1 debug: ^4.3.4 globby: ^11.1.0 is-glob: ^4.0.3 @@ -4715,35 +4674,35 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 6e119c8e4167c8495d728c5556a834545a9c064918dd5e7b79b0d836726f4f8e2a0297b0ac82bf2b71f1e5427552217d0b59d8fb1406fd79bd3bf91b75dca873 + checksum: ea42bdb4832fa96fa1121237c9b664ac4506e2836646651e08a8542c8601d78af6c288779707f893ca4c884221829bb7d7b4b43c4a9c3ed959519266d03a139b languageName: node linkType: hard -"@typescript-eslint/utils@npm:5.53.0": - version: 5.53.0 - resolution: "@typescript-eslint/utils@npm:5.53.0" +"@typescript-eslint/utils@npm:5.54.1": + version: 5.54.1 + resolution: "@typescript-eslint/utils@npm:5.54.1" dependencies: "@types/json-schema": ^7.0.9 "@types/semver": ^7.3.12 - "@typescript-eslint/scope-manager": 5.53.0 - "@typescript-eslint/types": 5.53.0 - "@typescript-eslint/typescript-estree": 5.53.0 + "@typescript-eslint/scope-manager": 5.54.1 + "@typescript-eslint/types": 5.54.1 + "@typescript-eslint/typescript-estree": 5.54.1 eslint-scope: ^5.1.1 eslint-utils: ^3.0.0 semver: ^7.3.7 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 18e6bac14ae853385a74123759850bca367904723e170c37416fc014673eb714afb6bb090367bff61494a8387e941b6af65ee5f4f845f7177fabb4df85e01643 + checksum: 8f428ea4d338ce85d55fd0c9ae2b217b323f29f51b7c9f8077fef7001ca21d28b032c5e5165b67ae6057aef69edb0e7a164c3c483703be6f3e4e574248bbc399 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:5.53.0": - version: 5.53.0 - resolution: "@typescript-eslint/visitor-keys@npm:5.53.0" +"@typescript-eslint/visitor-keys@npm:5.54.1": + version: 5.54.1 + resolution: "@typescript-eslint/visitor-keys@npm:5.54.1" dependencies: - "@typescript-eslint/types": 5.53.0 + "@typescript-eslint/types": 5.54.1 eslint-visitor-keys: ^3.3.0 - checksum: 090695883c15364c6f401e97f56b13db0f31c1114f3bd22562bd41734864d27f6a3c80de33957e9dedab2d5f94b0f4480ba3fde1d4574e74dca4593917b7b54a + checksum: 3a691abd2a43b86a0c41526d14a2afcc93a2e0512b5f8b9ec43f6029c493870808036eae5ee4fc655d26e1999017c4a4dffb241f47c36c2a1238ec9fbd08719c languageName: node linkType: hard @@ -5039,13 +4998,13 @@ __metadata: linkType: hard "agentkeepalive@npm:^4.2.1": - version: 4.2.1 - resolution: "agentkeepalive@npm:4.2.1" + version: 4.3.0 + resolution: "agentkeepalive@npm:4.3.0" dependencies: debug: ^4.1.0 - depd: ^1.1.2 + depd: ^2.0.0 humanize-ms: ^1.2.1 - checksum: 39cb49ed8cf217fd6da058a92828a0a84e0b74c35550f82ee0a10e1ee403c4b78ade7948be2279b188b7a7303f5d396ea2738b134731e464bf28de00a4f72a18 + checksum: 982453aa44c11a06826c836025e5162c846e1200adb56f2d075400da7d32d87021b3b0a58768d949d824811f5654223d5a8a3dad120921a2439625eb847c6260 languageName: node linkType: hard @@ -5425,20 +5384,20 @@ __metadata: languageName: node linkType: hard -"babel-jest@npm:29.4.3, babel-jest@npm:^29.4.3": - version: 29.4.3 - resolution: "babel-jest@npm:29.4.3" +"babel-jest@npm:29.5.0, babel-jest@npm:^29.5.0": + version: 29.5.0 + resolution: "babel-jest@npm:29.5.0" dependencies: - "@jest/transform": ^29.4.3 + "@jest/transform": ^29.5.0 "@types/babel__core": ^7.1.14 babel-plugin-istanbul: ^6.1.1 - babel-preset-jest: ^29.4.3 + babel-preset-jest: ^29.5.0 chalk: ^4.0.0 graceful-fs: ^4.2.9 slash: ^3.0.0 peerDependencies: "@babel/core": ^7.8.0 - checksum: a1a95937adb5e717dbffc2eb9e583fa6d26c7e5d5b07bb492a2d7f68631510a363e9ff097eafb642ad642dfac9dc2b13872b584f680e166a4f0922c98ea95853 + checksum: eafb6d37deb71f0c80bf3c80215aa46732153e5e8bcd73f6ff47d92e5c0c98c8f7f75995d0efec6289c371edad3693cd8fa2367b0661c4deb71a3a7117267ede languageName: node linkType: hard @@ -5468,15 +5427,15 @@ __metadata: languageName: node linkType: hard -"babel-plugin-jest-hoist@npm:^29.4.3": - version: 29.4.3 - resolution: "babel-plugin-jest-hoist@npm:29.4.3" +"babel-plugin-jest-hoist@npm:^29.5.0": + version: 29.5.0 + resolution: "babel-plugin-jest-hoist@npm:29.5.0" dependencies: "@babel/template": ^7.3.3 "@babel/types": ^7.3.3 "@types/babel__core": ^7.1.14 "@types/babel__traverse": ^7.0.6 - checksum: c8702a6db6b30ec39dfb9f8e72b501c13895231ed80b15ed2648448f9f0c7b7cc4b1529beac31802ae655f63479a05110ca612815aa25fb1b0e6c874e1589137 + checksum: 099b5254073b6bc985b6d2d045ad26fb8ed30ff8ae6404c4fe8ee7cd0e98a820f69e3dfb871c7c65aae0f4b65af77046244c07bb92d49ef9005c90eedf681539 languageName: node linkType: hard @@ -5549,15 +5508,15 @@ __metadata: languageName: node linkType: hard -"babel-preset-jest@npm:^29.4.3": - version: 29.4.3 - resolution: "babel-preset-jest@npm:29.4.3" +"babel-preset-jest@npm:^29.5.0": + version: 29.5.0 + resolution: "babel-preset-jest@npm:29.5.0" dependencies: - babel-plugin-jest-hoist: ^29.4.3 + babel-plugin-jest-hoist: ^29.5.0 babel-preset-current-node-syntax: ^1.0.0 peerDependencies: "@babel/core": ^7.0.0 - checksum: a091721861ea2f8d969ace8fe06570cff8f2e847dbc6e4800abacbe63f72131abde615ce0a3b6648472c97e55a5be7f8bf7ae381e2b194ad2fa1737096febcf5 + checksum: 5566ca2762766c9319b4973d018d2fa08c0fcf6415c72cc54f4c8e7199e851ea8f5e6c6730f03ed7ed44fc8beefa959dd15911f2647dee47c615ff4faeddb1ad languageName: node linkType: hard @@ -5858,9 +5817,9 @@ __metadata: linkType: hard "caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001426, caniuse-lite@npm:^1.0.30001449": - version: 1.0.30001458 - resolution: "caniuse-lite@npm:1.0.30001458" - checksum: 258cc5a25babbbfe483bf788c6f321a19400ff80b2bf156b360bac09a6f9f4da44516350d187a30395667cb142c682d9ea96577ea0df236d35f76234b07ccb41 + version: 1.0.30001460 + resolution: "caniuse-lite@npm:1.0.30001460" + checksum: dad91eb82aa65aecf33ad6a04ad620b9df6f0152020dc6c1874224e8c6f4aa50695f585201b3dfcd2760b3c43326a86c9505cc03af856698fbef67b267ef786f languageName: node linkType: hard @@ -6215,7 +6174,7 @@ __metadata: languageName: node linkType: hard -"commander@npm:^9, commander@npm:^9.4.1": +"commander@npm:^9.4.1": version: 9.5.0 resolution: "commander@npm:9.5.0" checksum: c7a3e27aa59e913b54a1bafd366b88650bc41d6651f0cbe258d4ff09d43d6a7394232a4dadd0bf518b3e696fdf595db1028a0d82c785b88bd61f8a440cecfade @@ -6864,14 +6823,14 @@ __metadata: languageName: node linkType: hard -"depd@npm:2.0.0": +"depd@npm:2.0.0, depd@npm:^2.0.0": version: 2.0.0 resolution: "depd@npm:2.0.0" checksum: abbe19c768c97ee2eed6282d8ce3031126662252c58d711f646921c9623f9052e3e1906443066beec1095832f534e57c523b7333f8e7e0d93051ab6baef5ab3a languageName: node linkType: hard -"depd@npm:^1.1.2, depd@npm:~1.1.2": +"depd@npm:~1.1.2": version: 1.1.2 resolution: "depd@npm:1.1.2" checksum: 6b406620d269619852885ce15965272b829df6f409724415e0002c8632ab6a8c0a08ec1f0bd2add05dc7bd7507606f7e2cc034fa24224ab829580040b835ecd9 @@ -7121,9 +7080,9 @@ __metadata: linkType: hard "electron-to-chromium@npm:^1.4.284": - version: 1.4.311 - resolution: "electron-to-chromium@npm:1.4.311" - checksum: 663fde5d90293d19c05b0dc65996e1ba6f3ee89d6365de3503de6a96c21439e18ea579fdd7d718e260708aa871ef333de934a4024d54fd109959ac0bca9d1400 + version: 1.4.320 + resolution: "electron-to-chromium@npm:1.4.320" + checksum: ea2c02bc286c0471ed7ad9b61225f6561921cf5f24a060cd1c46c2ea9932283ab924f66c370fbe5a229225dc1f747b395c943a0f5a9d058b72f561b1d8225787 languageName: node linkType: hard @@ -7402,14 +7361,14 @@ __metadata: languageName: node linkType: hard -"eslint-config-prettier@npm:8.6.0": - version: 8.6.0 - resolution: "eslint-config-prettier@npm:8.6.0" +"eslint-config-prettier@npm:8.7.0": + version: 8.7.0 + resolution: "eslint-config-prettier@npm:8.7.0" peerDependencies: eslint: ">=7.0.0" bin: eslint-config-prettier: bin/cli.js - checksum: ff0d0dfc839a556355422293428637e8d35693de58dabf8638bf0b6529131a109d0b2ade77521aa6e54573bb842d7d9d322e465dd73dd61c7590fa3834c3fa81 + checksum: b05bc7f2296ce3e0925c14147849706544870e0382d38af2352d709a6cf8521bdaff2bd8e5021f1780e570775a8ffa1d2bac28b8065d90d43a3f1f98fd26ce52 languageName: node linkType: hard @@ -7627,11 +7586,11 @@ __metadata: linkType: hard "esquery@npm:^1.4.2": - version: 1.4.2 - resolution: "esquery@npm:1.4.2" + version: 1.5.0 + resolution: "esquery@npm:1.5.0" dependencies: estraverse: ^5.1.0 - checksum: 2f4ad89c5aafaca61cc2c15e256190f0d6deb4791cae6552d3cb4b1eb8867958cdf27a56aaa3272ff17435e3eaa19ee0d4129fac336ca6373d7354d7b5da7966 + checksum: aefb0d2596c230118656cd4ec7532d447333a410a48834d80ea648b1e7b5c9bc9ed8b5e33a89cb04e487b60d622f44cf5713bf4abed7c97343edefdc84a35900 languageName: node linkType: hard @@ -7734,16 +7693,16 @@ __metadata: languageName: node linkType: hard -"expect@npm:^29.4.3": - version: 29.4.3 - resolution: "expect@npm:29.4.3" +"expect@npm:^29.5.0": + version: 29.5.0 + resolution: "expect@npm:29.5.0" dependencies: - "@jest/expect-utils": ^29.4.3 + "@jest/expect-utils": ^29.5.0 jest-get-type: ^29.4.3 - jest-matcher-utils: ^29.4.3 - jest-message-util: ^29.4.3 - jest-util: ^29.4.3 - checksum: ff9dd8c50c0c6fd4b2b00f6dbd7ab0e2063fe1953be81a8c10ae1c005c7f5667ba452918e2efb055504b72b701a4f82575a081a0a7158efb16d87991b0366feb + jest-matcher-utils: ^29.5.0 + jest-message-util: ^29.5.0 + jest-util: ^29.5.0 + checksum: 58f70b38693df6e5c6892db1bcd050f0e518d6f785175dc53917d4fa6a7359a048e5690e19ddcb96b65c4493881dd89a3dabdab1a84dfa55c10cdbdabf37b2d7 languageName: node linkType: hard @@ -7917,11 +7876,11 @@ __metadata: languageName: node linkType: hard -"fastify@npm:4.13.0": - version: 4.13.0 - resolution: "fastify@npm:4.13.0" +"fastify@npm:4.14.1": + version: 4.14.1 + resolution: "fastify@npm:4.14.1" dependencies: - "@fastify/ajv-compiler": ^3.3.1 + "@fastify/ajv-compiler": ^3.5.0 "@fastify/error": ^3.0.0 "@fastify/fast-json-stringify-compiler": ^4.1.0 abstract-logging: ^2.0.1 @@ -7936,7 +7895,7 @@ __metadata: secure-json-parse: ^2.5.0 semver: ^7.3.7 tiny-lru: ^10.0.0 - checksum: 98578b480272890bde0cc4505701d5d6c5647e9bba3fd5d0e36105c1a7cc631846a65384351229e464c5cd469e309289c0936c079538cbabde2e2789774e1531 + checksum: 243c376fea832a80627fdfdc191043c648430ff4f6c44831b6cad9328cbd02f5ef589de6e4bbe4d075d248e686a0b20832d9b2a6a6f13a92a75a1cbd30ce2cd5 languageName: node linkType: hard @@ -8347,7 +8306,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.0.0, glob@npm:^7.0.3, glob@npm:^7.1.3, glob@npm:^7.1.4": +"glob@npm:^7.0.3, glob@npm:^7.1.3, glob@npm:^7.1.4": version: 7.2.3 resolution: "glob@npm:7.2.3" dependencies: @@ -8374,6 +8333,18 @@ __metadata: languageName: node linkType: hard +"glob@npm:^9.2.0": + version: 9.2.1 + resolution: "glob@npm:9.2.1" + dependencies: + fs.realpath: ^1.0.0 + minimatch: ^7.4.1 + minipass: ^4.2.4 + path-scurry: ^1.6.1 + checksum: ef9b1c32491e6b532bdd0d2abcc3c9f48e83446609e11285869156982fc5a756dfbaa6f59f797712343bd1e22500ac15708692806633653fde4ef67c85e2aab7 + languageName: node + linkType: hard + "global-modules@npm:^2.0.0": version: 2.0.0 resolution: "global-modules@npm:2.0.0" @@ -9060,13 +9031,6 @@ __metadata: languageName: node linkType: hard -"interpret@npm:^1.0.0": - version: 1.4.0 - resolution: "interpret@npm:1.4.0" - checksum: 2e5f51268b5941e4a17e4ef0575bc91ed0ab5f8515e3cf77486f7c14d13f3010df9c0959f37063dcc96e78d12dc6b0bb1b9e111cdfe69771f4656d2993d36155 - languageName: node - linkType: hard - "interpret@npm:^3.1.1": version: 3.1.1 resolution: "interpret@npm:3.1.1" @@ -9106,13 +9070,13 @@ __metadata: linkType: hard "is-array-buffer@npm:^3.0.1": - version: 3.0.1 - resolution: "is-array-buffer@npm:3.0.1" + version: 3.0.2 + resolution: "is-array-buffer@npm:3.0.2" dependencies: call-bind: ^1.0.2 - get-intrinsic: ^1.1.3 + get-intrinsic: ^1.2.0 is-typed-array: ^1.1.10 - checksum: f26ab87448e698285daf707e52a533920449f7abf63714140ffab9d5571aa5a71ac2fa2677e8b793ad0d5d3e40078d4d2c8a0ab39c957e3cfc6513bb6c9dfdc9 + checksum: dcac9dda66ff17df9cabdc58214172bf41082f956eab30bb0d86bc0fab1e44b690fc8e1f855cf2481245caf4e8a5a006a982a71ddccec84032ed41f9d8da8c14 languageName: node linkType: hard @@ -9600,57 +9564,58 @@ __metadata: languageName: node linkType: hard -"jest-changed-files@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-changed-files@npm:29.4.3" +"jest-changed-files@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-changed-files@npm:29.5.0" dependencies: execa: ^5.0.0 p-limit: ^3.1.0 - checksum: 9a70bd8e92b37e18ad26d8bea97c516f41119fb7046b4255a13c76d557b0e54fa0629726de5a093fadfd6a0a08ce45da65a57086664d505b8db4b3133133e141 + checksum: a67a7cb3c11f8f92bd1b7c79e84f724cbd11a9ad51f3cdadafe3ce7ee3c79ee50dbea128f920f5fddc807e9e4e83f5462143094391feedd959a77dd20ab96cf3 languageName: node linkType: hard -"jest-circus@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-circus@npm:29.4.3" +"jest-circus@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-circus@npm:29.5.0" dependencies: - "@jest/environment": ^29.4.3 - "@jest/expect": ^29.4.3 - "@jest/test-result": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/environment": ^29.5.0 + "@jest/expect": ^29.5.0 + "@jest/test-result": ^29.5.0 + "@jest/types": ^29.5.0 "@types/node": "*" chalk: ^4.0.0 co: ^4.6.0 dedent: ^0.7.0 is-generator-fn: ^2.0.0 - jest-each: ^29.4.3 - jest-matcher-utils: ^29.4.3 - jest-message-util: ^29.4.3 - jest-runtime: ^29.4.3 - jest-snapshot: ^29.4.3 - jest-util: ^29.4.3 + jest-each: ^29.5.0 + jest-matcher-utils: ^29.5.0 + jest-message-util: ^29.5.0 + jest-runtime: ^29.5.0 + jest-snapshot: ^29.5.0 + jest-util: ^29.5.0 p-limit: ^3.1.0 - pretty-format: ^29.4.3 + pretty-format: ^29.5.0 + pure-rand: ^6.0.0 slash: ^3.0.0 stack-utils: ^2.0.3 - checksum: 2739bef9c888743b49ff3fe303131381618e5d2f250f613a91240d9c86e19e6874fc904cbd8bcb02ec9ec59a84e5dae4ffec929f0c6171e87ddbc05508a137f4 + checksum: 44ff5d06acedae6de6c866e20e3b61f83e29ab94cf9f960826e7e667de49c12dd9ab9dffd7fa3b7d1f9688a8b5bfb1ebebadbea69d9ed0d3f66af4a0ff8c2b27 languageName: node linkType: hard -"jest-cli@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-cli@npm:29.4.3" +"jest-cli@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-cli@npm:29.5.0" dependencies: - "@jest/core": ^29.4.3 - "@jest/test-result": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/core": ^29.5.0 + "@jest/test-result": ^29.5.0 + "@jest/types": ^29.5.0 chalk: ^4.0.0 exit: ^0.1.2 graceful-fs: ^4.2.9 import-local: ^3.0.2 - jest-config: ^29.4.3 - jest-util: ^29.4.3 - jest-validate: ^29.4.3 + jest-config: ^29.5.0 + jest-util: ^29.5.0 + jest-validate: ^29.5.0 prompts: ^2.0.1 yargs: ^17.3.1 peerDependencies: @@ -9660,34 +9625,34 @@ __metadata: optional: true bin: jest: bin/jest.js - checksum: f4c9f6d76cde2c60a4169acbebb3f862728be03bcf3fe0077d2e55da7f9f3c3e9483cfa6e936832d35eabf96ee5ebf0300c4b0bd43cffff099801793466bfdd8 + checksum: 39897bbbc0f0d8a6b975ab12fd13887eaa28d92e3dee9e0173a5cb913ae8cc2ae46e090d38c6d723e84d9d6724429cd08685b4e505fa447d31ca615630c7dbba languageName: node linkType: hard -"jest-config@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-config@npm:29.4.3" +"jest-config@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-config@npm:29.5.0" dependencies: "@babel/core": ^7.11.6 - "@jest/test-sequencer": ^29.4.3 - "@jest/types": ^29.4.3 - babel-jest: ^29.4.3 + "@jest/test-sequencer": ^29.5.0 + "@jest/types": ^29.5.0 + babel-jest: ^29.5.0 chalk: ^4.0.0 ci-info: ^3.2.0 deepmerge: ^4.2.2 glob: ^7.1.3 graceful-fs: ^4.2.9 - jest-circus: ^29.4.3 - jest-environment-node: ^29.4.3 + jest-circus: ^29.5.0 + jest-environment-node: ^29.5.0 jest-get-type: ^29.4.3 jest-regex-util: ^29.4.3 - jest-resolve: ^29.4.3 - jest-runner: ^29.4.3 - jest-util: ^29.4.3 - jest-validate: ^29.4.3 + jest-resolve: ^29.5.0 + jest-runner: ^29.5.0 + jest-util: ^29.5.0 + jest-validate: ^29.5.0 micromatch: ^4.0.4 parse-json: ^5.2.0 - pretty-format: ^29.4.3 + pretty-format: ^29.5.0 slash: ^3.0.0 strip-json-comments: ^3.1.1 peerDependencies: @@ -9698,19 +9663,19 @@ __metadata: optional: true ts-node: optional: true - checksum: 92f9a9c6850b18682cb01892774a33967472af23a5844438d8c68077d5f2a29b15b665e4e4db7de3d74002a6dca158cd5b2cb9f5debfd2cce5e1aee6c74e3873 + checksum: c37c4dab964c54ab293d4e302d40b09687037ac9d00b88348ec42366970747feeaf265e12e3750cd3660b40c518d4031335eda11ac10b70b10e60797ebbd4b9c languageName: node linkType: hard -"jest-diff@npm:^29.0.0, jest-diff@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-diff@npm:29.4.3" +"jest-diff@npm:^29.0.0, jest-diff@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-diff@npm:29.5.0" dependencies: chalk: ^4.0.0 diff-sequences: ^29.4.3 jest-get-type: ^29.4.3 - pretty-format: ^29.4.3 - checksum: 877fd1edffef6b319688c27b152e5b28e2bc4bcda5ce0ca90d7e137f9fafda4280bae25403d4c0bfd9806c2c0b15d966aa2dfaf5f9928ec8f1ccea7fa1d08ed6 + pretty-format: ^29.5.0 + checksum: dfd0f4a299b5d127779c76b40106c37854c89c3e0785098c717d52822d6620d227f6234c3a9291df204d619e799e3654159213bf93220f79c8e92a55475a3d39 languageName: node linkType: hard @@ -9723,51 +9688,51 @@ __metadata: languageName: node linkType: hard -"jest-each@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-each@npm:29.4.3" +"jest-each@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-each@npm:29.5.0" dependencies: - "@jest/types": ^29.4.3 + "@jest/types": ^29.5.0 chalk: ^4.0.0 jest-get-type: ^29.4.3 - jest-util: ^29.4.3 - pretty-format: ^29.4.3 - checksum: 1f72738338399efab0139eaea18bc198be0c6ed889770c8cbfa70bf9c724e8171fe1d3a29a94f9f39b8493ee6b2529bb350fb7c7c75e0d7eddfd28c253c79f9d + jest-util: ^29.5.0 + pretty-format: ^29.5.0 + checksum: b8b297534d25834c5d4e31e4c687359787b1e402519e42664eb704cc3a12a7a91a017565a75acb02e8cf9afd3f4eef3350bd785276bec0900184641b765ff7a5 languageName: node linkType: hard -"jest-environment-jsdom@npm:29.4.3": - version: 29.4.3 - resolution: "jest-environment-jsdom@npm:29.4.3" +"jest-environment-jsdom@npm:29.5.0": + version: 29.5.0 + resolution: "jest-environment-jsdom@npm:29.5.0" dependencies: - "@jest/environment": ^29.4.3 - "@jest/fake-timers": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/environment": ^29.5.0 + "@jest/fake-timers": ^29.5.0 + "@jest/types": ^29.5.0 "@types/jsdom": ^20.0.0 "@types/node": "*" - jest-mock: ^29.4.3 - jest-util: ^29.4.3 + jest-mock: ^29.5.0 + jest-util: ^29.5.0 jsdom: ^20.0.0 peerDependencies: canvas: ^2.5.0 peerDependenciesMeta: canvas: optional: true - checksum: 3fb29bb4b472e05a38fdb235aa936ad469dfa2f6c1cab97fe3d1a7c585351976d05c7bbbd715b9747f070a225dcf10a9166df1461e0fb838ea7a377a8e64bed4 + checksum: 3df7fc85275711f20b483ac8cd8c04500704ed0f69791eb55c574b38f5a39470f03d775cf20c1025bc1884916ac0573aa2fa4db1bb74225bc7fdd95ba97ad0da languageName: node linkType: hard -"jest-environment-node@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-environment-node@npm:29.4.3" +"jest-environment-node@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-environment-node@npm:29.5.0" dependencies: - "@jest/environment": ^29.4.3 - "@jest/fake-timers": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/environment": ^29.5.0 + "@jest/fake-timers": ^29.5.0 + "@jest/types": ^29.5.0 "@types/node": "*" - jest-mock: ^29.4.3 - jest-util: ^29.4.3 - checksum: 3c7362edfdbd516e83af7367c95dde35761a482b174de9735c07633405486ec73e19624e9bea4333fca33c24e8d65eaa1aa6594e0cb6bfeeeb564ccc431ee61d + jest-mock: ^29.5.0 + jest-util: ^29.5.0 + checksum: 57981911cc20a4219b0da9e22b2e3c9f31b505e43f78e61c899e3227ded455ce1a3a9483842c69cfa4532f02cfb536ae0995bf245f9211608edacfc1e478d411 languageName: node linkType: hard @@ -9793,11 +9758,11 @@ __metadata: languageName: node linkType: hard -"jest-haste-map@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-haste-map@npm:29.4.3" +"jest-haste-map@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-haste-map@npm:29.5.0" dependencies: - "@jest/types": ^29.4.3 + "@jest/types": ^29.5.0 "@types/graceful-fs": ^4.1.3 "@types/node": "*" anymatch: ^3.0.3 @@ -9805,64 +9770,64 @@ __metadata: fsevents: ^2.3.2 graceful-fs: ^4.2.9 jest-regex-util: ^29.4.3 - jest-util: ^29.4.3 - jest-worker: ^29.4.3 + jest-util: ^29.5.0 + jest-worker: ^29.5.0 micromatch: ^4.0.4 walker: ^1.0.8 dependenciesMeta: fsevents: optional: true - checksum: c7a83ebe6008b3fe96a96235e8153092e54b14df68e0f4205faedec57450df26b658578495a71c6d82494c01fbb44bca98c1506a6b2b9c920696dcc5d2e2bc59 + checksum: 3828ff7783f168e34be2c63887f82a01634261f605dcae062d83f979a61c37739e21b9607ecb962256aea3fbe5a530a1acee062d0026fcb47c607c12796cf3b7 languageName: node linkType: hard -"jest-leak-detector@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-leak-detector@npm:29.4.3" +"jest-leak-detector@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-leak-detector@npm:29.5.0" dependencies: jest-get-type: ^29.4.3 - pretty-format: ^29.4.3 - checksum: ec2b45e6f0abce81bd0dd0f6fd06b433c24d1ec865267af7640fae540ec868b93752598e407a9184d9c7419cbf32e8789007cc8c1be1a84f8f7321a0f8ad01f1 + pretty-format: ^29.5.0 + checksum: 0fb845da7ac9cdfc9b3b2e35f6f623a41c547d7dc0103ceb0349013459d00de5870b5689a625e7e37f9644934b40e8f1dcdd5422d14d57470600350364676313 languageName: node linkType: hard -"jest-matcher-utils@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-matcher-utils@npm:29.4.3" +"jest-matcher-utils@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-matcher-utils@npm:29.5.0" dependencies: chalk: ^4.0.0 - jest-diff: ^29.4.3 + jest-diff: ^29.5.0 jest-get-type: ^29.4.3 - pretty-format: ^29.4.3 - checksum: 9e13cbe42d2113bab2691110c7c3ba5cec3b94abad2727e1de90929d0f67da444e9b2066da3b476b5bf788df53a8ede0e0a950cfb06a04e4d6d566d115ee4f1d + pretty-format: ^29.5.0 + checksum: 1d3e8c746e484a58ce194e3aad152eff21fd0896e8b8bf3d4ab1a4e2cbfed95fb143646f4ad9fdf6e42212b9e8fc033268b58e011b044a9929df45485deb5ac9 languageName: node linkType: hard -"jest-message-util@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-message-util@npm:29.4.3" +"jest-message-util@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-message-util@npm:29.5.0" dependencies: "@babel/code-frame": ^7.12.13 - "@jest/types": ^29.4.3 + "@jest/types": ^29.5.0 "@types/stack-utils": ^2.0.0 chalk: ^4.0.0 graceful-fs: ^4.2.9 micromatch: ^4.0.4 - pretty-format: ^29.4.3 + pretty-format: ^29.5.0 slash: ^3.0.0 stack-utils: ^2.0.3 - checksum: 64f06b9550021e68da0059020bea8691283cf818918810bb67192d7b7fb9b691c7eadf55c2ca3cd04df5394918f2327245077095cdc0d6b04be3532d2c7d0ced + checksum: daddece6bbf846eb6a2ab9be9f2446e54085bef4e5cecd13d2a538fa9c01cb89d38e564c6b74fd8e12d37ed9eface8a362240ae9f21d68b214590631e7a0d8bf languageName: node linkType: hard -"jest-mock@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-mock@npm:29.4.3" +"jest-mock@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-mock@npm:29.5.0" dependencies: - "@jest/types": ^29.4.3 + "@jest/types": ^29.5.0 "@types/node": "*" - jest-util: ^29.4.3 - checksum: 8eb4a29b02d2cd03faac0290b6df6d23b4ffa43f72b21c7fff3c7dd04a2797355b1e85862b70b15341dd33ee3a693b17db5520a6f6e6b81ee75601987de6a1a2 + jest-util: ^29.5.0 + checksum: 2a9cf07509948fa8608898c445f04fe4dd6e2049ff431e5531eee028c808d3ba3c67f226ac87b0cf383feaa1055776900d197c895e89783016886ac17a4ff10c languageName: node linkType: hard @@ -9885,95 +9850,95 @@ __metadata: languageName: node linkType: hard -"jest-resolve-dependencies@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-resolve-dependencies@npm:29.4.3" +"jest-resolve-dependencies@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-resolve-dependencies@npm:29.5.0" dependencies: jest-regex-util: ^29.4.3 - jest-snapshot: ^29.4.3 - checksum: 3ad934cd2170c9658d8800f84a975dafc866ec85b7ce391c640c09c3744ced337787620d8667dc8d1fa5e0b1493f973caa1a1bb980e4e6a50b46a1720baf0bd1 + jest-snapshot: ^29.5.0 + checksum: 479d2e5365d58fe23f2b87001e2e0adcbffe0147700e85abdec8f14b9703b0a55758c1929a9989e3f5d5e954fb88870ea4bfa04783523b664562fcf5f10b0edf languageName: node linkType: hard -"jest-resolve@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-resolve@npm:29.4.3" +"jest-resolve@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-resolve@npm:29.5.0" dependencies: chalk: ^4.0.0 graceful-fs: ^4.2.9 - jest-haste-map: ^29.4.3 + jest-haste-map: ^29.5.0 jest-pnp-resolver: ^1.2.2 - jest-util: ^29.4.3 - jest-validate: ^29.4.3 + jest-util: ^29.5.0 + jest-validate: ^29.5.0 resolve: ^1.20.0 resolve.exports: ^2.0.0 slash: ^3.0.0 - checksum: 056a66beccf833f3c7e5a8fc9bfec218886e87b0b103decdbdf11893669539df489d1490cd6d5f0eea35731e8be0d2e955a6710498f970d2eae734da4df029dc + checksum: 9a125f3cf323ceef512089339d35f3ee37f79fe16a831fb6a26773ea6a229b9e490d108fec7af334142e91845b5996de8e7cdd85a4d8d617078737d804e29c8f languageName: node linkType: hard -"jest-runner@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-runner@npm:29.4.3" +"jest-runner@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-runner@npm:29.5.0" dependencies: - "@jest/console": ^29.4.3 - "@jest/environment": ^29.4.3 - "@jest/test-result": ^29.4.3 - "@jest/transform": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/console": ^29.5.0 + "@jest/environment": ^29.5.0 + "@jest/test-result": ^29.5.0 + "@jest/transform": ^29.5.0 + "@jest/types": ^29.5.0 "@types/node": "*" chalk: ^4.0.0 emittery: ^0.13.1 graceful-fs: ^4.2.9 jest-docblock: ^29.4.3 - jest-environment-node: ^29.4.3 - jest-haste-map: ^29.4.3 - jest-leak-detector: ^29.4.3 - jest-message-util: ^29.4.3 - jest-resolve: ^29.4.3 - jest-runtime: ^29.4.3 - jest-util: ^29.4.3 - jest-watcher: ^29.4.3 - jest-worker: ^29.4.3 + jest-environment-node: ^29.5.0 + jest-haste-map: ^29.5.0 + jest-leak-detector: ^29.5.0 + jest-message-util: ^29.5.0 + jest-resolve: ^29.5.0 + jest-runtime: ^29.5.0 + jest-util: ^29.5.0 + jest-watcher: ^29.5.0 + jest-worker: ^29.5.0 p-limit: ^3.1.0 source-map-support: 0.5.13 - checksum: c41108e5da01e0b8fdc2a06c5042eb49bb1d8db0e0d4651769fd1b9fe84ab45188617c11a3a8e1c83748b29bfe57dd77001ec57e86e3e3c30f3534e0314f8882 + checksum: 437dea69c5dddca22032259787bac74790d5a171c9d804711415f31e5d1abfb64fa52f54a9015bb17a12b858fd0cf3f75ef6f3c9e94255a8596e179f707229c4 languageName: node linkType: hard -"jest-runtime@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-runtime@npm:29.4.3" +"jest-runtime@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-runtime@npm:29.5.0" dependencies: - "@jest/environment": ^29.4.3 - "@jest/fake-timers": ^29.4.3 - "@jest/globals": ^29.4.3 + "@jest/environment": ^29.5.0 + "@jest/fake-timers": ^29.5.0 + "@jest/globals": ^29.5.0 "@jest/source-map": ^29.4.3 - "@jest/test-result": ^29.4.3 - "@jest/transform": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/test-result": ^29.5.0 + "@jest/transform": ^29.5.0 + "@jest/types": ^29.5.0 "@types/node": "*" chalk: ^4.0.0 cjs-module-lexer: ^1.0.0 collect-v8-coverage: ^1.0.0 glob: ^7.1.3 graceful-fs: ^4.2.9 - jest-haste-map: ^29.4.3 - jest-message-util: ^29.4.3 - jest-mock: ^29.4.3 + jest-haste-map: ^29.5.0 + jest-message-util: ^29.5.0 + jest-mock: ^29.5.0 jest-regex-util: ^29.4.3 - jest-resolve: ^29.4.3 - jest-snapshot: ^29.4.3 - jest-util: ^29.4.3 + jest-resolve: ^29.5.0 + jest-snapshot: ^29.5.0 + jest-util: ^29.5.0 slash: ^3.0.0 strip-bom: ^4.0.0 - checksum: b99f8a910d1a38e7476058ba04ad44dfd3d93e837bb7c301d691e646a1085412fde87f06fbe271c9145f0e72d89400bfa7f6994bc30d456c7742269f37d0f570 + checksum: 7af27bd9d54cf1c5735404cf8d76c6509d5610b1ec0106a21baa815c1aff15d774ce534ac2834bc440dccfe6348bae1885fd9a806f23a94ddafdc0f5bae4b09d languageName: node linkType: hard -"jest-snapshot@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-snapshot@npm:29.4.3" +"jest-snapshot@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-snapshot@npm:29.5.0" dependencies: "@babel/core": ^7.11.6 "@babel/generator": ^7.7.2 @@ -9981,53 +9946,52 @@ __metadata: "@babel/plugin-syntax-typescript": ^7.7.2 "@babel/traverse": ^7.7.2 "@babel/types": ^7.3.3 - "@jest/expect-utils": ^29.4.3 - "@jest/transform": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/expect-utils": ^29.5.0 + "@jest/transform": ^29.5.0 + "@jest/types": ^29.5.0 "@types/babel__traverse": ^7.0.6 "@types/prettier": ^2.1.5 babel-preset-current-node-syntax: ^1.0.0 chalk: ^4.0.0 - expect: ^29.4.3 + expect: ^29.5.0 graceful-fs: ^4.2.9 - jest-diff: ^29.4.3 + jest-diff: ^29.5.0 jest-get-type: ^29.4.3 - jest-haste-map: ^29.4.3 - jest-matcher-utils: ^29.4.3 - jest-message-util: ^29.4.3 - jest-util: ^29.4.3 + jest-matcher-utils: ^29.5.0 + jest-message-util: ^29.5.0 + jest-util: ^29.5.0 natural-compare: ^1.4.0 - pretty-format: ^29.4.3 + pretty-format: ^29.5.0 semver: ^7.3.5 - checksum: 79ba52f2435e23ce72b1309be4b17fdbcb299d1c2ce97ebb61df9a62711e9463035f63b4c849181b2fe5aa17b3e09d30ee4668cc25fb3c6f59511c010b4d9494 + checksum: fe5df54122ed10eed625de6416a45bc4958d5062b018f05b152bf9785ab7f355dcd55e40cf5da63895bf8278f8d7b2bb4059b2cfbfdee18f509d455d37d8aa2b languageName: node linkType: hard -"jest-util@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-util@npm:29.4.3" +"jest-util@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-util@npm:29.5.0" dependencies: - "@jest/types": ^29.4.3 + "@jest/types": ^29.5.0 "@types/node": "*" chalk: ^4.0.0 ci-info: ^3.2.0 graceful-fs: ^4.2.9 picomatch: ^2.2.3 - checksum: 606b3e6077895baf8fb4ad4d08c134f37a6b81d5ba77ae654c942b1ae4b7294ab3b5a0eb93db34f129407b367970cf3b76bf5c80897b30f215f2bc8bf20a5f3f + checksum: fd9212950d34d2ecad8c990dda0d8ea59a8a554b0c188b53ea5d6c4a0829a64f2e1d49e6e85e812014933d17426d7136da4785f9cf76fff1799de51b88bc85d3 languageName: node linkType: hard -"jest-validate@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-validate@npm:29.4.3" +"jest-validate@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-validate@npm:29.5.0" dependencies: - "@jest/types": ^29.4.3 + "@jest/types": ^29.5.0 camelcase: ^6.2.0 chalk: ^4.0.0 jest-get-type: ^29.4.3 leven: ^3.1.0 - pretty-format: ^29.4.3 - checksum: 983e56430d86bed238448cae031535c1d908f760aa312cd4a4ec0e92f3bc1b6675415ddf57cdeceedb8ad9c698e5bcd10f0a856dfc93a8923bdecc7733f4ba80 + pretty-format: ^29.5.0 + checksum: 43ca5df7cb75572a254ac3e92fbbe7be6b6a1be898cc1e887a45d55ea003f7a112717d814a674d37f9f18f52d8de40873c8f084f17664ae562736c78dd44c6a1 languageName: node linkType: hard @@ -10048,19 +10012,19 @@ __metadata: languageName: node linkType: hard -"jest-watcher@npm:^29.0.0, jest-watcher@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-watcher@npm:29.4.3" +"jest-watcher@npm:^29.0.0, jest-watcher@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-watcher@npm:29.5.0" dependencies: - "@jest/test-result": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/test-result": ^29.5.0 + "@jest/types": ^29.5.0 "@types/node": "*" ansi-escapes: ^4.2.1 chalk: ^4.0.0 emittery: ^0.13.1 - jest-util: ^29.4.3 + jest-util: ^29.5.0 string-length: ^4.0.1 - checksum: 44b64991b3414db853c3756f14690028f4edef7aebfb204a4291cc1901c2239fa27a8687c5c5abbecc74bf613e0bb9b1378bf766430c9febcc71e9c0cb5ad8fc + checksum: 62303ac7bdc7e61a8b4239a239d018f7527739da2b2be6a81a7be25b74ca769f1c43ee8558ce8e72bb857245c46d6e03af331227ffb00a57280abb2a928aa776 languageName: node linkType: hard @@ -10075,26 +10039,26 @@ __metadata: languageName: node linkType: hard -"jest-worker@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-worker@npm:29.4.3" +"jest-worker@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-worker@npm:29.5.0" dependencies: "@types/node": "*" - jest-util: ^29.4.3 + jest-util: ^29.5.0 merge-stream: ^2.0.0 supports-color: ^8.0.0 - checksum: c99ae66f257564613e72c5797c3a68f21a22e1c1fb5f30d14695ff5b508a0d2405f22748f13a3df8d1015b5e16abb130170f81f047ff68f58b6b1d2ff6ebc51b + checksum: 1151a1ae3602b1ea7c42a8f1efe2b5a7bf927039deaa0827bf978880169899b705744e288f80a63603fb3fc2985e0071234986af7dc2c21c7a64333d8777c7c9 languageName: node linkType: hard -"jest@npm:29.4.3": - version: 29.4.3 - resolution: "jest@npm:29.4.3" +"jest@npm:29.5.0": + version: 29.5.0 + resolution: "jest@npm:29.5.0" dependencies: - "@jest/core": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/core": ^29.5.0 + "@jest/types": ^29.5.0 import-local: ^3.0.2 - jest-cli: ^29.4.3 + jest-cli: ^29.5.0 peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -10102,7 +10066,7 @@ __metadata: optional: true bin: jest: bin/jest.js - checksum: 084d10d1ceaade3c40e6d3bbd71b9b71b8919ba6fbd6f1f6699bdc259a6ba2f7350c7ccbfa10c11f7e3e01662853650a6244210179542fe4ba87e77dc3f3109f + checksum: a8ff2eb0f421623412236e23cbe67c638127fffde466cba9606bc0c0553b4c1e5cb116d7e0ef990b5d1712851652c8ee461373b578df50857fe635b94ff455d5 languageName: node linkType: hard @@ -10344,7 +10308,7 @@ __metadata: "@finos/eslint-plugin-legend-studio": "workspace:*" "@finos/legend-dev-utils": "workspace:*" "@finos/stylelint-config-legend-studio": "workspace:*" - "@types/node": 18.14.2 + "@types/node": 18.14.6 chalk: 5.2.0 cross-env: 7.0.3 envinfo: 7.8.1 @@ -10352,12 +10316,12 @@ __metadata: fs-extra: 11.1.0 husky: 8.0.3 inquirer: 9.1.4 - jest: 29.4.3 + jest: 29.5.0 lint-staged: 13.1.2 micromatch: 4.0.5 npm-run-all: 4.1.5 prettier: 2.8.4 - rimraf: 4.1.2 + rimraf: 4.3.1 sass: 1.58.3 semver: 7.3.8 sort-package-json: 2.4.1 @@ -10406,13 +10370,20 @@ __metadata: languageName: node linkType: hard -"lilconfig@npm:2.0.6, lilconfig@npm:^2.0.3": +"lilconfig@npm:2.0.6": version: 2.0.6 resolution: "lilconfig@npm:2.0.6" checksum: 40a3cd72f103b1be5975f2ac1850810b61d4053e20ab09be8d3aeddfe042187e1ba70b4651a7e70f95efa1642e7dc8b2ae395b317b7d7753b241b43cef7c0f7d languageName: node linkType: hard +"lilconfig@npm:^2.0.3": + version: 2.1.0 + resolution: "lilconfig@npm:2.1.0" + checksum: 8549bb352b8192375fed4a74694cd61ad293904eee33f9d4866c2192865c44c4eb35d10782966242634e0cbc1e91fe62b1247f148dc5514918e3a966da7ea117 + languageName: node + linkType: hard + "lines-and-columns@npm:^1.1.6": version: 1.2.4 resolution: "lines-and-columns@npm:1.2.4" @@ -10627,10 +10598,10 @@ __metadata: languageName: node linkType: hard -"lossless-json@npm:2.0.6": - version: 2.0.6 - resolution: "lossless-json@npm:2.0.6" - checksum: 533077de8bc770a3d6eeb0214193aebc822c99fc0bd3767e428ecae25786540697b775efc2b22be0b105c3629205812f0982b284da14ea9abf2c17978276ba8e +"lossless-json@npm:2.0.8": + version: 2.0.8 + resolution: "lossless-json@npm:2.0.8" + checksum: 6461f8bc7e7586204455e58c8c6a6c3052c29bc79796084f10f2202f7bc1a94fee947ee4f9185fa9519a21783b69d71a7e5cb862235bb759a38429104bac2cad languageName: node linkType: hard @@ -10671,10 +10642,10 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^7.7.1": - version: 7.17.0 - resolution: "lru-cache@npm:7.17.0" - checksum: 28c2a98ad313b8d61beac1f08257b6f0ca990e39d24a9bc831030b6e209447cfb11c6d9d1a774282189bfc9609d1dfd17ebe485228dd68f7b96b6b9b7740894e +"lru-cache@npm:^7.14.1, lru-cache@npm:^7.7.1": + version: 7.18.3 + resolution: "lru-cache@npm:7.18.3" + checksum: e550d772384709deea3f141af34b6d4fa392e2e418c1498c078de0ee63670f1f46f5eee746e8ef7e69e1c895af0d4224e62ee33e66a543a14763b0f2e74c1356 languageName: node linkType: hard @@ -10686,11 +10657,11 @@ __metadata: linkType: hard "lz-string@npm:^1.4.4": - version: 1.4.4 - resolution: "lz-string@npm:1.4.4" + version: 1.5.0 + resolution: "lz-string@npm:1.5.0" bin: lz-string: bin/bin.js - checksum: 54e31238a61a84d8f664d9860a9fba7310c5b97a52c444f80543069bc084815eff40b8d4474ae1d93992fdf6c252dca37cf27f6adbeb4dbc3df2f3ac773d0e61 + checksum: 1ee98b4580246fd90dd54da6e346fb1caefcf05f677c686d9af237a157fdea3fd7c83a4bc58f858cd5b10a34d27afe0fdcbd0505a47e0590726a873dc8b8f65d languageName: node linkType: hard @@ -10766,15 +10737,6 @@ __metadata: languageName: node linkType: hard -"matcher@npm:^4.0.0": - version: 4.0.0 - resolution: "matcher@npm:4.0.0" - dependencies: - escape-string-regexp: ^4.0.0 - checksum: d338aff31d8dfd3626873e43777f46b123579734d53bb8d18d64b08a822ba5e8d39f5fe2e23403258e6143aa0cbe20a15662720d825cd0d3af961d5a44230328 - languageName: node - linkType: hard - "mathml-tag-names@npm:^2.1.3": version: 2.1.3 resolution: "mathml-tag-names@npm:2.1.3" @@ -11480,12 +11442,12 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^7.1.3": - version: 7.2.0 - resolution: "minimatch@npm:7.2.0" +"minimatch@npm:^7.1.3, minimatch@npm:^7.4.1": + version: 7.4.2 + resolution: "minimatch@npm:7.4.2" dependencies: brace-expansion: ^2.0.1 - checksum: f3c66f60e097fb9e1550a1b6ce5d8588d3cdfdb22c1bde9a293bd99e7a01833be2b975795299b50b9456542b239b2f0ba5edba71728ec644e5ca14d09d0cf620 + checksum: 9e341b04e69d5ab03e4206dcb61c8a158e3b8709628bf5e1a4eaa9f3b72c0ba925e24ad959b1f6ce6835caa5a927131d5087fae6836b69e7d99d7d5e63ef0bd8 languageName: node linkType: hard @@ -11567,7 +11529,7 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^4.0.0": +"minipass@npm:^4.0.0, minipass@npm:^4.0.2, minipass@npm:^4.2.4": version: 4.2.4 resolution: "minipass@npm:4.2.4" checksum: c664f2ae4401408d1e7a6e4f50aca45f87b1b0634bc9261136df5c378e313e77355765f73f59c4a5abcadcdf43d83fcd3eb14e4a7cdcce8e36508e2290345753 @@ -11609,9 +11571,9 @@ __metadata: languageName: node linkType: hard -"mobx-react-lite@npm:3.4.0": - version: 3.4.0 - resolution: "mobx-react-lite@npm:3.4.0" +"mobx-react-lite@npm:3.4.2": + version: 3.4.2 + resolution: "mobx-react-lite@npm:3.4.2" peerDependencies: mobx: ^6.1.0 react: ^16.8.0 || ^17 || ^18 @@ -11620,7 +11582,7 @@ __metadata: optional: true react-native: optional: true - checksum: 9294e127e281c8b37ec7bcaf17de479f50519e6ad485b58d7b991291900511541a5a718653759d3cf6503462c70325d025e1c2ed376d4584fb1b2d3aac9d9b48 + checksum: d3648f7c4f6e3923458b533b7c987397542f33f2905467fdf6e63fcdfa6c51f2c60a5a3ebf72a9d2b326a6c4876932c4312dd4ae2253cf1fc4b02ad586e94aa6 languageName: node linkType: hard @@ -11652,14 +11614,10 @@ __metadata: languageName: node linkType: hard -"monaco-editor@npm:0.36.0": - version: 0.36.0 - resolution: "monaco-editor@npm:0.36.0" - dependencies: - "@types/shelljs": ^0.8.11 - pin-github-action: ^1.8.0 - shelljs: ^0.8.5 - checksum: d69c79a018510315d3056cf191c52386ef90043e36dd97f6683ed5c772ef3bf071f6f9aef6bc6fb8d49d249b0d68c31c531c57c4bbc6606e8aa56c4278cf7f33 +"monaco-editor@npm:0.36.1": + version: 0.36.1 + resolution: "monaco-editor@npm:0.36.1" + checksum: 75e7cfbe03b4cb964e550c8021d6b2cc4f5265ee17703ddda7a63a26492a95fdbfaf34aa3e50004930ff8afb1422ae2b1dc0b9d3f122d558bdf1a335403937fd languageName: node linkType: hard @@ -11866,9 +11824,9 @@ __metadata: languageName: node linkType: hard -"nodemon@npm:2.0.20": - version: 2.0.20 - resolution: "nodemon@npm:2.0.20" +"nodemon@npm:2.0.21": + version: 2.0.21 + resolution: "nodemon@npm:2.0.21" dependencies: chokidar: ^3.5.2 debug: ^3.2.7 @@ -11882,7 +11840,7 @@ __metadata: undefsafe: ^2.0.5 bin: nodemon: bin/nodemon.js - checksum: 9fe858682414fe703179f4fe36c86e71f40d2693b5345c09803d7b191816a6589c5df8f1f9873bffee92893880183b95a031c86340e46b364ef1b0b7f619edbf + checksum: 0b9fe2d11fd95c51b66d61bd1ee85cddf579c9e674c9429752a74f445f1b98576235ae860858783728baa3666c87e4ef938ab67167cc34fe4bb8fcec74d6885b languageName: node linkType: hard @@ -12348,10 +12306,10 @@ __metadata: languageName: node linkType: hard -"papaparse@npm:5.3.2": - version: 5.3.2 - resolution: "papaparse@npm:5.3.2" - checksum: a5950ef931a42f6759a8d3823a43dd30f375b37a0ddea6ea5448c0c5024cd226819231958c49c24fbcdeab297c63fd1d630130b3439876ea0fd17d8a267738ae +"papaparse@npm:5.4.0": + version: 5.4.0 + resolution: "papaparse@npm:5.4.0" + checksum: 019d4e88b369583967c0f779039773ff4faead3586b6d6a73090fc7483176c1f6e09e4f69ff7f73de78f6c5a2315b8d79aac7555eb280bfb1042ae2f81d57f29 languageName: node linkType: hard @@ -12471,6 +12429,16 @@ __metadata: languageName: node linkType: hard +"path-scurry@npm:^1.6.1": + version: 1.6.1 + resolution: "path-scurry@npm:1.6.1" + dependencies: + lru-cache: ^7.14.1 + minipass: ^4.0.2 + checksum: 7ba57e823cb7bb879669a4e5e05a283cde1bb9e81b6d806b2609f8d8026d0aef08f4b655b17fc86b21c9c32807851bba95ca715db5ab0605fb13c7a3e9172e42 + languageName: node + linkType: hard + "path-to-regexp@npm:0.1.7": version: 0.1.7 resolution: "path-to-regexp@npm:0.1.7" @@ -12556,21 +12524,6 @@ __metadata: languageName: node linkType: hard -"pin-github-action@npm:^1.8.0": - version: 1.8.0 - resolution: "pin-github-action@npm:1.8.0" - dependencies: - "@octokit/rest": ^18 - commander: ^9 - debug: ^4.3.4 - matcher: ^4.0.0 - yaml: ^2.1.3 - bin: - pin-github-action: bin.js - checksum: cd18145d03d7a60c9ee0128adffdffa086bbdcd3e92dd4effdc9ad3a8feb00cf61493785515798d3234b38e703c0c0303b06bc0af5481f085f2b58982b5a10a8 - languageName: node - linkType: hard - "pinkie-promise@npm:^2.0.0": version: 2.0.1 resolution: "pinkie-promise@npm:2.0.1" @@ -13118,14 +13071,14 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:29.4.3, pretty-format@npm:^29.4.3": - version: 29.4.3 - resolution: "pretty-format@npm:29.4.3" +"pretty-format@npm:29.5.0, pretty-format@npm:^29.5.0": + version: 29.5.0 + resolution: "pretty-format@npm:29.5.0" dependencies: "@jest/schemas": ^29.4.3 ansi-styles: ^5.0.0 react-is: ^18.0.0 - checksum: 3258b9a010bd79b3cf73783ad1e4592b6326fc981b6e31b742f316f14e7fbac09b48a9dbf274d092d9bde404db9fe16f518370e121837dc078a597392e6e5cc5 + checksum: 4065356b558e6db25b4d41a01efb386935a6c06a0c9c104ef5ce59f2f476b8210edb8b3949b386e60ada0a6dc5ebcb2e6ccddc8c64dfd1a9943c3c3a9e7eaf89 languageName: node linkType: hard @@ -13251,6 +13204,13 @@ __metadata: languageName: node linkType: hard +"pure-rand@npm:^6.0.0": + version: 6.0.0 + resolution: "pure-rand@npm:6.0.0" + checksum: ad1378d0a4859482d053a5264b2b485b445ece4bbc56f8959c233ea678b81ac2d613737925d496ded134eff5f29cc5546bf7492b6bce319ee27bebbad8a0c612 + languageName: node + linkType: hard + "qs@npm:6.11.0": version: 6.11.0 resolution: "qs@npm:6.11.0" @@ -13403,12 +13363,12 @@ __metadata: languageName: node linkType: hard -"react-icons@npm:4.7.1": - version: 4.7.1 - resolution: "react-icons@npm:4.7.1" +"react-icons@npm:4.8.0": + version: 4.8.0 + resolution: "react-icons@npm:4.8.0" peerDependencies: react: "*" - checksum: ed3cbdc5fc0c4d7d2debf78fdc8c4c80aeacf85a506a9a3c11b1d5922de393ac0a6542012b7fb81761e9280c54d0f26827d50a92b54ec8f0c8e52364d89970b5 + checksum: 4dbba7ad989c295b410e19b2a702722dae44368cb04b6515f9471353552f31ac80bd350f121d5bff79f81504b84039ede44d09e9f035f48bb1032e6eace126c4 languageName: node linkType: hard @@ -13709,15 +13669,6 @@ __metadata: languageName: node linkType: hard -"rechoir@npm:^0.6.2": - version: 0.6.2 - resolution: "rechoir@npm:0.6.2" - dependencies: - resolve: ^1.1.6 - checksum: fe76bf9c21875ac16e235defedd7cbd34f333c02a92546142b7911a0f7c7059d2e16f441fe6fb9ae203f459c05a31b2bcf26202896d89e390eda7514d5d2702b - languageName: node - linkType: hard - "rechoir@npm:^0.8.0": version: 0.8.0 resolution: "rechoir@npm:0.8.0" @@ -13942,13 +13893,13 @@ __metadata: linkType: hard "resolve.exports@npm:^2.0.0": - version: 2.0.0 - resolution: "resolve.exports@npm:2.0.0" - checksum: d8bee3b0cc0a0ae6c8323710983505bc6a3a2574f718e96f01e048a0f0af035941434b386cc9efc7eededc5e1199726185c306ec6f6a1aa55d5fbad926fd0634 + version: 2.0.1 + resolution: "resolve.exports@npm:2.0.1" + checksum: 03be177026b4fe8dc1b2ffb421bce9cbf7fe3446e9f0c958df9fc8e144864b3eeea19fe788e057fd8be6b5655e65ce245b4f379258c1336e2e8f9205cbd4a9b4 languageName: node linkType: hard -"resolve@npm:1.22.1, resolve@npm:^1.1.6, resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.1": +"resolve@npm:1.22.1, resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.1": version: 1.22.1 resolution: "resolve@npm:1.22.1" dependencies: @@ -13974,7 +13925,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@1.22.1#~builtin, resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.19.0#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin": +"resolve@patch:resolve@1.22.1#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.19.0#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin": version: 1.22.1 resolution: "resolve@patch:resolve@npm%3A1.22.1#~builtin::version=1.22.1&hash=c3c19d" dependencies: @@ -14062,12 +14013,14 @@ __metadata: languageName: node linkType: hard -"rimraf@npm:4.1.2": - version: 4.1.2 - resolution: "rimraf@npm:4.1.2" +"rimraf@npm:4.3.1": + version: 4.3.1 + resolution: "rimraf@npm:4.3.1" + dependencies: + glob: ^9.2.0 bin: rimraf: dist/cjs/src/bin.js - checksum: 480b8147fd9bcbef3ac118f88a7b1169c3872977a3411a0c84df838bfc30e175a394c0db6f9619fc8b8a886a18c6d779d5e74f380a0075ecc710afaf81b3f50c + checksum: d5893862a1e96cde610599ae76e338a709252667408d38bffa07cd24891a840a95957c4bb7178a9b0d3b6141e3b1bea20b9ba4b4f99d8c9edc492723e7b125ec languageName: node linkType: hard @@ -14462,19 +14415,6 @@ __metadata: languageName: node linkType: hard -"shelljs@npm:^0.8.5": - version: 0.8.5 - resolution: "shelljs@npm:0.8.5" - dependencies: - glob: ^7.0.0 - interpret: ^1.0.0 - rechoir: ^0.6.2 - bin: - shjs: bin/shjs - checksum: 7babc46f732a98f4c054ec1f048b55b9149b98aa2da32f6cf9844c434b43c6251efebd6eec120937bd0999e13811ebd45efe17410edb3ca938f82f9381302748 - languageName: node - linkType: hard - "shiki@npm:^0.14.1": version: 0.14.1 resolution: "shiki@npm:0.14.1" @@ -15810,9 +15750,11 @@ __metadata: linkType: hard "unist-util-is@npm:^5.0.0": - version: 5.2.0 - resolution: "unist-util-is@npm:5.2.0" - checksum: b80debe1ce5d40a8d685c510f597e5c8b8f7089540e9e268bda1b05bcce735c10bf36d5b0e4ecded50c63fa43b8a11b0e4b784beecf1559f153a2f2855e8526c + version: 5.2.1 + resolution: "unist-util-is@npm:5.2.1" + dependencies: + "@types/unist": ^2.0.0 + checksum: ae76fdc3d35352cd92f1bedc3a0d407c3b9c42599a52ab9141fe89bdd786b51f0ec5a2ab68b93fb532e239457cae62f7e39eaa80229e1cb94875da2eafcbe5c4 languageName: node linkType: hard