Compare commits

...

4 Commits

Author SHA1 Message Date
Charles Gagnon
59c4b8e90c [Port] Update chokidar to 3.5.2 (#15742)
* Port update chokidar to 3.5.2

* Fix yarn.lock
2021-06-16 10:39:43 -07:00
Lucy Zhang
0e9f1ad6d1 filter out prose-accelerator (#15633) (#15654) 2021-06-10 13:37:02 -07:00
Leila Lali
e3ef2d53f9 ML extension version bump (#15407) (#15655) 2021-06-09 15:07:35 -07:00
Alan Ren
dc69b012a8 fix the input box validation (#15634) (#15636)
* fix the input box validation

* fix one more place
2021-06-09 11:23:23 -07:00
15 changed files with 82 additions and 51 deletions

View File

@@ -2,12 +2,12 @@
"name": "machine-learning", "name": "machine-learning",
"displayName": "%displayName%", "displayName": "%displayName%",
"description": "%description%", "description": "%description%",
"version": "0.9.0", "version": "0.10.0",
"publisher": "Microsoft", "publisher": "Microsoft",
"preview": true, "preview": true,
"engines": { "engines": {
"vscode": "^1.25.0", "vscode": "^1.25.0",
"azdata": ">=1.27.0" "azdata": ">=1.29.0"
}, },
"activationEvents": [ "activationEvents": [
"onCommand:ml.command.managePackages", "onCommand:ml.command.managePackages",

View File

@@ -862,6 +862,8 @@ export class JupyterServerInstallation implements IJupyterServerInstallation {
private async createInstallPipPackagesHelpNotebook(userInstalledPipPackages: PythonPkgDetails[]): Promise<void> { private async createInstallPipPackagesHelpNotebook(userInstalledPipPackages: PythonPkgDetails[]): Promise<void> {
let packagesList: string[] = userInstalledPipPackages.map(pkg => { return pkg.name; }); let packagesList: string[] = userInstalledPipPackages.map(pkg => { return pkg.name; });
// Filter out prose-codeaccelerator since we no longer ship it and it is not on Pypi.
packagesList = packagesList.filter(pkg => pkg !== 'prose-codeaccelerator');
let installPackagesCode = `import sys\n!{sys.executable} -m pip install --user ${packagesList.join(' ')}`; let installPackagesCode = `import sys\n!{sys.executable} -m pip install --user ${packagesList.join(' ')}`;
let initialContent: azdata.nb.INotebookContents = { let initialContent: azdata.nb.INotebookContents = {
cells: [{ cells: [{

View File

@@ -74,7 +74,7 @@
"ansi_up": "^3.0.0", "ansi_up": "^3.0.0",
"applicationinsights": "1.0.8", "applicationinsights": "1.0.8",
"chart.js": "^2.9.4", "chart.js": "^2.9.4",
"chokidar": "3.5.1", "chokidar": "3.5.2",
"graceful-fs": "4.2.3", "graceful-fs": "4.2.3",
"gridstack": "^3.1.3", "gridstack": "^3.1.3",
"html-query-plan": "git://github.com/kburtram/html-query-plan.git#2.6", "html-query-plan": "git://github.com/kburtram/html-query-plan.git#2.6",

View File

@@ -15,7 +15,7 @@
"angular2-grid": "2.0.6", "angular2-grid": "2.0.6",
"ansi_up": "^3.0.0", "ansi_up": "^3.0.0",
"chart.js": "^2.9.4", "chart.js": "^2.9.4",
"chokidar": "3.5.1", "chokidar": "3.5.2",
"cookie": "^0.4.0", "cookie": "^0.4.0",
"graceful-fs": "4.2.3", "graceful-fs": "4.2.3",
"gridstack": "^3.1.3", "gridstack": "^3.1.3",

View File

@@ -85,10 +85,10 @@ ansi_up@^3.0.0:
resolved "https://registry.yarnpkg.com/ansi_up/-/ansi_up-3.0.0.tgz#27f45d8f457d9ceff59e4ea03c8e6f13c1a303e8" resolved "https://registry.yarnpkg.com/ansi_up/-/ansi_up-3.0.0.tgz#27f45d8f457d9ceff59e4ea03c8e6f13c1a303e8"
integrity sha1-J/Rdj0V9nO/1nk6gPI5vE8GjA+g= integrity sha1-J/Rdj0V9nO/1nk6gPI5vE8GjA+g=
anymatch@~3.1.1: anymatch@~3.1.2:
version "3.1.1" version "3.1.2"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
dependencies: dependencies:
normalize-path "^3.0.0" normalize-path "^3.0.0"
picomatch "^2.0.4" picomatch "^2.0.4"
@@ -163,20 +163,20 @@ chartjs-color@^2.1.0:
chartjs-color-string "^0.6.0" chartjs-color-string "^0.6.0"
color-convert "^1.9.3" color-convert "^1.9.3"
chokidar@3.5.1: chokidar@3.5.2:
version "3.5.1" version "3.5.2"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75"
integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==
dependencies: dependencies:
anymatch "~3.1.1" anymatch "~3.1.2"
braces "~3.0.2" braces "~3.0.2"
glob-parent "~5.1.0" glob-parent "~5.1.2"
is-binary-path "~2.1.0" is-binary-path "~2.1.0"
is-glob "~4.0.1" is-glob "~4.0.1"
normalize-path "~3.0.0" normalize-path "~3.0.0"
readdirp "~3.5.0" readdirp "~3.6.0"
optionalDependencies: optionalDependencies:
fsevents "~2.3.1" fsevents "~2.3.2"
color-convert@^1.9.0, color-convert@^1.9.3: color-convert@^1.9.0, color-convert@^1.9.3:
version "1.9.3" version "1.9.3"
@@ -319,15 +319,15 @@ fs-extra@^7.0.0:
jsonfile "^4.0.0" jsonfile "^4.0.0"
universalify "^0.1.0" universalify "^0.1.0"
fsevents@~2.3.1: fsevents@~2.3.2:
version "2.3.2" version "2.3.2"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
glob-parent@~5.1.0: glob-parent@~5.1.2:
version "5.1.0" version "5.1.2"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
integrity sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw== integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
dependencies: dependencies:
is-glob "^4.0.1" is-glob "^4.0.1"
@@ -601,10 +601,10 @@ readable-stream@^3.1.1:
string_decoder "^1.1.1" string_decoder "^1.1.1"
util-deprecate "^1.0.1" util-deprecate "^1.0.1"
readdirp@~3.5.0: readdirp@~3.6.0:
version "3.5.0" version "3.6.0"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
dependencies: dependencies:
picomatch "^2.2.1" picomatch "^2.2.1"

View File

@@ -139,7 +139,7 @@ export class Dropdown extends Disposable implements IListVirtualDelegate<string>
this._register(DOM.addStandardDisposableListener(this._input.inputElement, DOM.EventType.KEY_DOWN, (e: StandardKeyboardEvent) => { this._register(DOM.addStandardDisposableListener(this._input.inputElement, DOM.EventType.KEY_DOWN, (e: StandardKeyboardEvent) => {
switch (e.keyCode) { switch (e.keyCode) {
case KeyCode.Enter: case KeyCode.Enter:
if (this._input.validate()) { if (this._input.validate() === undefined) {
this._onValueChange.fire(this._input.value); this._onValueChange.fire(this._input.value);
} }
e.stopPropagation(); e.stopPropagation();

View File

@@ -116,7 +116,7 @@ export function validateInputs(optionsMap: { [optionName: string]: IOptionElemen
optionElement.option.valueType === ServiceOptionType.number); optionElement.option.valueType === ServiceOptionType.number);
if (isInputBox) { if (isInputBox) {
if (!widget.validate()) { if (widget.validate() !== undefined) {
isValid = false; isValid = false;
if (!isFocused) { if (!isFocused) {
isFocused = true; isFocused = true;

View File

@@ -159,7 +159,7 @@ export default class InputBoxComponent extends ComponentBase<azdata.InputBoxProp
public async validate(): Promise<boolean> { public async validate(): Promise<boolean> {
await super.validate(); await super.validate();
// Let the input validate handle showing/hiding the error message // Let the input validate handle showing/hiding the error message
const valid = this.inputElement.validate(); const valid = this.inputElement.validate() === undefined;
// set aria label based on validity of input // set aria label based on validity of input
if (valid) { if (valid) {

View File

@@ -826,7 +826,7 @@ export class BackupComponent extends AngularDisposable {
private enableBackupButton(): void { private enableBackupButton(): void {
if (!this.backupButton!.enabled) { if (!this.backupButton!.enabled) {
if (this.pathListBox!.count > 0 && (!this.isFormatChecked || this.mediaNameBox!.value) && this.backupRetainDaysBox!.validate()) { if (this.pathListBox!.count > 0 && (!this.isFormatChecked || this.mediaNameBox!.value) && this.backupRetainDaysBox!.validate() === undefined) {
this.backupEnabled = true; this.backupEnabled = true;
} }
} }
@@ -851,7 +851,7 @@ export class BackupComponent extends AngularDisposable {
} }
private backupRetainDaysChanged(days: string): void { private backupRetainDaysChanged(days: string): void {
if (!this.backupRetainDaysBox!.validate()) { if (this.backupRetainDaysBox!.validate() !== undefined) {
this.backupEnabled = false; this.backupEnabled = false;
} else { } else {
this.enableBackupButton(); this.enableBackupButton();

View File

@@ -887,27 +887,27 @@ export class ConnectionWidget extends lifecycle.Disposable {
private validateInputs(): boolean { private validateInputs(): boolean {
let isFocused = false; let isFocused = false;
let validateServerName = this._serverNameInputBox.validate(); const isServerNameValid = this._serverNameInputBox.validate() === undefined;
if (!validateServerName) { if (!isServerNameValid) {
this._serverNameInputBox.focus(); this._serverNameInputBox.focus();
isFocused = true; isFocused = true;
} }
let validateUserName = this._userNameInputBox.validate(); const isUserNameValid = this._userNameInputBox.validate() === undefined;
if (!validateUserName && !isFocused) { if (!isUserNameValid && !isFocused) {
this._userNameInputBox.focus(); this._userNameInputBox.focus();
isFocused = true; isFocused = true;
} }
let validatePassword = this._passwordInputBox.validate(); const isPasswordValid = this._passwordInputBox.validate() === undefined;
if (!validatePassword && !isFocused) { if (!isPasswordValid && !isFocused) {
this._passwordInputBox.focus(); this._passwordInputBox.focus();
isFocused = true; isFocused = true;
} }
let validateAzureAccount = this.validateAzureAccountSelection(); const isAzureAccountValid = this.validateAzureAccountSelection();
if (!validateAzureAccount && !isFocused) { if (!isAzureAccountValid && !isFocused) {
this._azureAccountDropdown.focus(); this._azureAccountDropdown.focus();
isFocused = true; isFocused = true;
} }
return validateServerName && validateUserName && validatePassword && validateAzureAccount; return isServerNameValid && isUserNameValid && isPasswordValid && isAzureAccountValid;
} }
public connect(model: IConnectionProfile): boolean { public connect(model: IConnectionProfile): boolean {

View File

@@ -307,11 +307,11 @@ export class ServerGroupDialog extends Modal {
private validateInputs(): boolean { private validateInputs(): boolean {
const renderedDialog = this.withRenderedDialog; const renderedDialog = this.withRenderedDialog;
let validate = renderedDialog.groupNameInputBox.validate(); const isNameValid = renderedDialog.groupNameInputBox.validate() === undefined;
if (!validate) { if (!isNameValid) {
renderedDialog.groupNameInputBox.focus(); renderedDialog.groupNameInputBox.focus();
} }
return validate; return isNameValid;
} }
// initialize the view based on the current state of the view model // initialize the view based on the current state of the view model

View File

@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import * as OptionsDialogHelper from 'sql/workbench/browser/modal/optionsDialogHelper'; import * as OptionsDialogHelper from 'sql/workbench/browser/modal/optionsDialogHelper';
import { InputBox } from 'vs/base/browser/ui/inputbox/inputBox'; import { InputBox, MessageType } from 'vs/base/browser/ui/inputbox/inputBox';
import * as azdata from 'azdata'; import * as azdata from 'azdata';
import * as TypeMoq from 'typemoq'; import * as TypeMoq from 'typemoq';
import * as assert from 'assert'; import * as assert from 'assert';
@@ -100,7 +100,7 @@ suite('Advanced options helper tests', () => {
inputBox = TypeMoq.Mock.ofType(InputBox, TypeMoq.MockBehavior.Loose, $('div'), null, null); inputBox = TypeMoq.Mock.ofType(InputBox, TypeMoq.MockBehavior.Loose, $('div'), null, null);
inputBox.callBase = true; inputBox.callBase = true;
inputBox.setup(x => x.validate()).returns(() => isValid); inputBox.setup(x => x.validate()).returns(() => isValid ? undefined : MessageType.ERROR);
inputBox.setup(x => x.value).returns(() => inputValue); inputBox.setup(x => x.value).returns(() => inputValue);
}); });

View File

@@ -425,7 +425,7 @@ export class InputBox extends Widget {
return !!this.validation && !this.validation(this.value); return !!this.validation && !this.validation(this.value);
} }
public validate(): boolean { // {{SQL CARBON EDIT}} public validate(): MessageType | undefined {
let errorMsg: IMessage | null = null; let errorMsg: IMessage | null = null;
if (this.validation) { if (this.validation) {
@@ -449,8 +449,7 @@ export class InputBox extends Widget {
} }
} }
// {{SQL CARBON EDIT}} Candidate for addition to vscode return errorMsg?.type;
return errorMsg ? errorMsg.type !== MessageType.ERROR : true;
} }
public stylesForType(type: MessageType | undefined): { border: Color | undefined; background: Color | undefined; foreground: Color | undefined } { public stylesForType(type: MessageType | undefined): { border: Color | undefined; background: Color | undefined; foreground: Color | undefined } {

View File

@@ -342,7 +342,7 @@ class TunnelTreeRenderer extends Disposable implements ITreeRenderer<ITunnelGrou
inputBox, inputBox,
dom.addStandardDisposableListener(inputBox.inputElement, dom.EventType.KEY_DOWN, (e: IKeyboardEvent) => { dom.addStandardDisposableListener(inputBox.inputElement, dom.EventType.KEY_DOWN, (e: IKeyboardEvent) => {
if (e.equals(KeyCode.Enter)) { if (e.equals(KeyCode.Enter)) {
if (inputBox.validate()) { // {{SQL CARBON EDIT}} if (inputBox.validate() !== MessageType.ERROR) {
done(true, true); done(true, true);
} else { } else {
done(false, true); done(false, true);
@@ -352,7 +352,7 @@ class TunnelTreeRenderer extends Disposable implements ITreeRenderer<ITunnelGrou
} }
}), }),
dom.addDisposableListener(inputBox.inputElement, dom.EventType.BLUR, () => { dom.addDisposableListener(inputBox.inputElement, dom.EventType.BLUR, () => {
done(inputBox.validate(), true); // {{SQL CARBON EDIT}} done(inputBox.validate() !== MessageType.ERROR, true);
}), }),
styler styler
]; ];

View File

@@ -1087,6 +1087,14 @@ anymatch@~3.1.1:
normalize-path "^3.0.0" normalize-path "^3.0.0"
picomatch "^2.0.4" picomatch "^2.0.4"
anymatch@~3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
dependencies:
normalize-path "^3.0.0"
picomatch "^2.0.4"
append-buffer@^1.0.2: append-buffer@^1.0.2:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1" resolved "https://registry.yarnpkg.com/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1"
@@ -1999,6 +2007,21 @@ chokidar@3.5.1:
optionalDependencies: optionalDependencies:
fsevents "~2.3.1" fsevents "~2.3.1"
chokidar@3.5.2:
version "3.5.2"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75"
integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==
dependencies:
anymatch "~3.1.2"
braces "~3.0.2"
glob-parent "~5.1.2"
is-binary-path "~2.1.0"
is-glob "~4.0.1"
normalize-path "~3.0.0"
readdirp "~3.6.0"
optionalDependencies:
fsevents "~2.3.2"
chokidar@^2.0.0: chokidar@^2.0.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.0.tgz#5fcb70d0b28ebe0867eb0f09d5f6a08f29a1efa0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.0.tgz#5fcb70d0b28ebe0867eb0f09d5f6a08f29a1efa0"
@@ -4412,7 +4435,7 @@ fsevents@~2.1.2:
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e"
integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==
fsevents@~2.3.1: fsevents@~2.3.1, fsevents@~2.3.2:
version "2.3.2" version "2.3.2"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
@@ -4546,7 +4569,7 @@ glob-parent@^5.0.0, glob-parent@~5.1.0:
dependencies: dependencies:
is-glob "^4.0.1" is-glob "^4.0.1"
glob-parent@^5.1.0, glob-parent@^5.1.1: glob-parent@^5.1.0, glob-parent@^5.1.1, glob-parent@~5.1.2:
version "5.1.2" version "5.1.2"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
@@ -8964,6 +8987,13 @@ readdirp@~3.5.0:
dependencies: dependencies:
picomatch "^2.2.1" picomatch "^2.2.1"
readdirp@~3.6.0:
version "3.6.0"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
dependencies:
picomatch "^2.2.1"
rechoir@^0.6.2: rechoir@^0.6.2:
version "0.6.2" version "0.6.2"
resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"