[gnome-sound-recorder/wip/cdavis/typescript: 4/8] general: Add and fix eslint lints
- From: Christopher Davis <christopherdavis src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-sound-recorder/wip/cdavis/typescript: 4/8] general: Add and fix eslint lints
- Date: Thu, 11 Aug 2022 23:43:00 +0000 (UTC)
commit c8488d8f546f2ca48b4e50107c61fdca8bad7475
Author: Christopher Davis <christopherdavis gnome org>
Date: Tue Aug 9 01:30:56 2022 -0400
general: Add and fix eslint lints
.eslintignore | 1 +
.eslintrc.js | 6 +
package.json | 7 +-
src/application.ts | 8 +-
src/recorder.ts | 129 ++---
src/recorderWidget.ts | 14 +-
src/recording.ts | 58 +-
src/recordingList.ts | 14 +-
src/recordingListWidget.ts | 10 +-
src/row.ts | 22 +-
src/utils.ts | 4 +-
src/waveform.ts | 14 +-
src/window.ts | 8 +-
yarn.lock | 1380 ++++++++++++++++++++++++++++++++++++++++++++
14 files changed, 1538 insertions(+), 137 deletions(-)
---
diff --git a/.eslintignore b/.eslintignore
new file mode 100644
index 0000000..ee1abdf
--- /dev/null
+++ b/.eslintignore
@@ -0,0 +1 @@
+/types/**
\ No newline at end of file
diff --git a/.eslintrc.js b/.eslintrc.js
new file mode 100644
index 0000000..49fd714
--- /dev/null
+++ b/.eslintrc.js
@@ -0,0 +1,6 @@
+module.exports = {
+ extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'],
+ parser: '@typescript-eslint/parser',
+ plugins: ['@typescript-eslint'],
+ root: true,
+};
\ No newline at end of file
diff --git a/package.json b/package.json
index a91a4b4..a34d47f 100644
--- a/package.json
+++ b/package.json
@@ -12,10 +12,13 @@
],
"license": "GPL-3.0-or-later",
"dependencies": {
- "typescript": "^4.1.0"
+ "typescript": "^4.7.4"
},
"devDependencies": {
- "@gi.ts/cli": "^1.5.5"
+ "@gi.ts/cli": "^1.5.5",
+ "@typescript-eslint/eslint-plugin": "^5.33.0",
+ "@typescript-eslint/parser": "^5.33.0",
+ "eslint": "^8.21.0"
},
"scripts": {
"typecheck": "tsc --strict",
diff --git a/src/application.ts b/src/application.ts
index 85269f8..e6b4b27 100644
--- a/src/application.ts
+++ b/src/application.ts
@@ -18,6 +18,7 @@
*
*/
+// eslint-disable-next-line @typescript-eslint/triple-slash-reference
/// <reference path="../types/ambient.d.ts" />
import Adw from 'gi://Adw';
@@ -64,11 +65,11 @@ export const Application = GObject.registerClass(class Application extends Adw.A
const channelAction = Settings.create_action('audio-channel');
this.add_action(channelAction);
- let aboutAction = new Gio.SimpleAction({ name: 'about' });
+ const aboutAction = new Gio.SimpleAction({ name: 'about' });
aboutAction.connect('activate', this._showAbout.bind(this));
this.add_action(aboutAction);
- let quitAction = new Gio.SimpleAction({ name: 'quit' });
+ const quitAction = new Gio.SimpleAction({ name: 'quit' });
quitAction.connect('activate', () => {
if (this.window) {
this.window.close();
@@ -104,6 +105,7 @@ export const Application = GObject.registerClass(class Application extends Adw.A
try {
CacheDir.make_directory_with_parents(null);
RecordingsDir.make_directory_with_parents(null);
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
} catch (e: any) {
if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.EXISTS))
console.error(`Failed to create directory ${e}`);
@@ -124,7 +126,7 @@ export const Application = GObject.registerClass(class Application extends Adw.A
if (!appName)
appName = _('Sound Recorder');
- let aboutDialog = new Adw.AboutWindow({
+ const aboutDialog = new Adw.AboutWindow({
artists: [
'Reda Lazri <the red shortcut gmail com>',
'Garrett LeSage <garrettl gmail com>',
diff --git a/src/recorder.ts b/src/recorder.ts
index 22ac8bc..ee61231 100644
--- a/src/recorder.ts
+++ b/src/recorder.ts
@@ -60,7 +60,7 @@ export const EncodingProfiles = [
extension: 'm4a' },
];
-var AudioChannels = [
+const AudioChannels = [
{ name: 'stereo', channels: 2 },
{ name: 'mono', channels: 1 },
];
@@ -102,34 +102,28 @@ export const Recorder = GObject.registerClass({
let srcElement: Gst.Element;
let audioConvert: Gst.Element;
- let caps: Gst.Caps;
+ const caps = Gst.Caps.from_string('audio/x-raw');
this.pipeline = new Gst.Pipeline({ name: 'pipe' });
- try {
- srcElement = Gst.ElementFactory.make('pulsesrc', 'srcElement')!;
- audioConvert = Gst.ElementFactory.make('audioconvert', 'audioConvert')!;
- caps = Gst.Caps.from_string('audio/x-raw')!;
- this.level = Gst.ElementFactory.make('level', 'level')!;
- this.ebin = Gst.ElementFactory.make('encodebin', 'ebin')!;
- this.filesink = Gst.ElementFactory.make('filesink', 'filesink')!;
- } catch (error) {
- log(`Not all elements could be created.\n${error}`);
- }
-
- try {
- this.pipeline.add(srcElement!);
- this.pipeline.add(audioConvert!);
- this.pipeline.add(this.level!);
- this.pipeline.add(this.ebin!);
- this.pipeline.add(this.filesink!);
- } catch (error) {
- log(`Not all elements could be addded.\n${error}`);
- }
+ const elements = [
+ ['pulsesrc', 'srcElement'],
+ ['audioconvert', 'audioConvert'],
+ ['level', 'level'],
+ ['encodebin', 'ebin'],
+ ['filesink', 'filesink']
+ ].map(([fac, name]) => {
+ const element = Gst.ElementFactory.make(fac, name);
+ if (!element)
+ throw new Error('Not all elements could be created.');
+ this.pipeline.add(element);
+ return element;
+ });
- srcElement!.link(audioConvert!);
- audioConvert!.link_filtered(this.level!, caps!);
+ [srcElement, audioConvert, this.level, this.ebin, this.filesink] = elements;
+ srcElement.link(audioConvert);
+ audioConvert.link_filtered(this.level, caps);
}
start(): void {
@@ -149,10 +143,12 @@ export const Recorder = GObject.registerClass({
});
- this.ebin!.set_property('profile', this._getProfile());
- this.filesink!.set_property('location', this.file.get_path());
- this.level!.link(this.ebin!);
- this.ebin!.link(this.filesink!);
+ if (this.ebin && this.level && this.filesink) {
+ this.ebin.set_property('profile', this._getProfile());
+ this.filesink.set_property('location', this.file.get_path());
+ this.level.link(this.ebin);
+ this.ebin.link(this.filesink);
+ }
this.state = Gst.State.PLAYING;
@@ -190,7 +186,7 @@ export const Recorder = GObject.registerClass({
if (this.file && this.file.query_exists(null) && this._peaks.length > 0) {
- let recording = new Recording(this.file);
+ const recording = new Recording(this.file);
recording.peaks = this._peaks.slice();
this._peaks.length = 0;
return recording;
@@ -201,56 +197,57 @@ export const Recorder = GObject.registerClass({
_onMessageReceived(message: Gst.Message): void {
switch (message.type) {
- case Gst.MessageType.ELEMENT: {
- if (GstPbutils.is_missing_plugin_message(message)) {
- let detail = GstPbutils.missing_plugin_message_get_installer_detail(message);
- let description = GstPbutils.missing_plugin_message_get_description(message);
- log(`Detail: ${detail}\nDescription: ${description}`);
+ case Gst.MessageType.ELEMENT: {
+ if (GstPbutils.is_missing_plugin_message(message)) {
+ const detail = GstPbutils.missing_plugin_message_get_installer_detail(message);
+ const description = GstPbutils.missing_plugin_message_get_description(message);
+ log(`Detail: ${detail}\nDescription: ${description}`);
+ break;
+ }
+
+ const s = message.get_structure();
+ if (s && s.has_name('level')) {
+ const peakVal = s.get_value('peak') as unknown as GObject.ValueArray;
+
+ if (peakVal)
+ this.current_peak = peakVal.get_nth(0) as number;
+ }
break;
}
- let s = message.get_structure();
- if (s && s.has_name('level')) {
- const peakVal = s.get_value('peak') as unknown as GObject.ValueArray;
-
- if (peakVal)
- this.current_peak = peakVal.get_nth(0) as number;
- }
- break;
- }
-
- case Gst.MessageType.EOS:
- this.stop();
- break;
- case Gst.MessageType.WARNING:
- let warning = message.parse_warning()[0];
- if (warning) {
- log(warning.toString());
+ case Gst.MessageType.EOS:
+ this.stop();
+ break;
+ case Gst.MessageType.WARNING: {
+ const warning = message.parse_warning()[0];
+ if (warning) {
+ log(warning.toString());
+ }
+ break;
}
- break;
- case Gst.MessageType.ERROR:
- log(message.parse_error().toString());
- break;
+ case Gst.MessageType.ERROR:
+ log(message.parse_error().toString());
+ break;
}
}
_getChannel(): number {
- let channelIndex = Settings.get_enum('audio-channel');
+ const channelIndex = Settings.get_enum('audio-channel');
return AudioChannels[channelIndex].channels;
}
_getProfile(): GstPbutils.EncodingContainerProfile | undefined {
- let profileIndex = Settings.get_enum('audio-profile');
+ const profileIndex = Settings.get_enum('audio-profile');
const profile = EncodingProfiles[profileIndex];
- let audioCaps = Gst.Caps.from_string(profile.audioCaps);
+ const audioCaps = Gst.Caps.from_string(profile.audioCaps);
audioCaps?.set_value('channels', this._getChannel());
if (audioCaps) {
- let encodingProfile = GstPbutils.EncodingAudioProfile.new(audioCaps, null, null, 1);
- let containerCaps = Gst.Caps.from_string(profile.containerCaps);
+ const encodingProfile = GstPbutils.EncodingAudioProfile.new(audioCaps, null, null, 1);
+ const containerCaps = Gst.Caps.from_string(profile.containerCaps);
if (containerCaps) {
- let containerProfile = GstPbutils.EncodingContainerProfile.new('record', null,
containerCaps, null);
+ const containerProfile = GstPbutils.EncodingContainerProfile.new('record', null,
containerCaps, null);
containerProfile.add_profile(encodingProfile);
return containerProfile;
}
@@ -263,6 +260,11 @@ export const Recorder = GObject.registerClass({
return this._duration;
}
+ set duration(val: number) {
+ this._duration = val;
+ this.notify('duration');
+ }
+
// eslint-disable-next-line camelcase
get current_peak(): number {
return this._current_peak;
@@ -280,11 +282,6 @@ export const Recorder = GObject.registerClass({
}
}
- set duration(val: number) {
- this._duration = val;
- this.notify('duration');
- }
-
get state(): Gst.State | undefined {
return this._pipeState;
}
diff --git a/src/recorderWidget.ts b/src/recorderWidget.ts
index f282853..2e486fe 100644
--- a/src/recorderWidget.ts
+++ b/src/recorderWidget.ts
@@ -11,7 +11,7 @@ enum RecorderState {
Recording,
Paused,
Stopped,
-};
+}
export type RecorderWidgetClass = InstanceType<typeof RecorderWidget>;
@@ -65,7 +65,7 @@ export const RecorderWidget = GObject.registerClass({
this.actionsGroup = new Gio.SimpleActionGroup();
- for (let { name, callback, enabled } of actions) {
+ for (const { name, callback, enabled } of actions) {
const action = new Gio.SimpleAction({ name, enabled });
action.connect('activate', callback);
this.actionsGroup.add_action(action);
@@ -102,7 +102,7 @@ export const RecorderWidget = GObject.registerClass({
onCancel(): void {
this.onPause();
- let dialog = new Gtk.MessageDialog({
+ const dialog = new Gtk.MessageDialog({
modal: true,
destroy_with_parent: true,
buttons: Gtk.ButtonsType.NONE,
@@ -147,10 +147,10 @@ export const RecorderWidget = GObject.registerClass({
}
set state(recorderState: RecorderState) {
- let pauseAction = this.actionsGroup.lookup('pause') as Gio.SimpleAction;
- let resumeAction = this.actionsGroup.lookup('resume') as Gio.SimpleAction;
- let startAction = this.actionsGroup.lookup('start') as Gio.SimpleAction;
- let stopAction = this.actionsGroup.lookup('stop') as Gio.SimpleAction;
+ const pauseAction = this.actionsGroup.lookup('pause') as Gio.SimpleAction;
+ const resumeAction = this.actionsGroup.lookup('resume') as Gio.SimpleAction;
+ const startAction = this.actionsGroup.lookup('start') as Gio.SimpleAction;
+ const stopAction = this.actionsGroup.lookup('stop') as Gio.SimpleAction;
switch (recorderState) {
case RecorderState.Paused:
diff --git a/src/recording.ts b/src/recording.ts
index 3b35c47..5d08df0 100644
--- a/src/recording.ts
+++ b/src/recording.ts
@@ -45,22 +45,22 @@ export const Recording = GObject.registerClass({
this._peaks = []
this._loadedPeaks = [];
- let info = file.query_info('time::created,time::modified,standard::content-type', 0, null);
+ const info = file.query_info('time::created,time::modified,standard::content-type', 0, null);
const contentType = info.get_attribute_string('standard::content-type');
- for (let profile of EncodingProfiles) {
+ for (const profile of EncodingProfiles) {
if (profile.contentType === contentType) {
this._extension = profile.extension;
break;
}
}
- let timeModified = info.get_attribute_uint64('time::modified');
- let timeCreated = info.get_attribute_uint64('time::created');
+ const timeModified = info.get_attribute_uint64('time::modified');
+ const timeCreated = info.get_attribute_uint64('time::created');
this._timeModified = GLib.DateTime.new_from_unix_local(timeModified);
this._timeCreated = GLib.DateTime.new_from_unix_local(timeCreated);
- var discoverer = new GstPbutils.Discoverer();
+ const discoverer = new GstPbutils.Discoverer();
discoverer.start();
discoverer.connect('discovered', (_discoverer, audioInfo) => {
this._duration = audioInfo.get_duration();
@@ -114,7 +114,7 @@ export const Recording = GObject.registerClass({
if (data.length > 0) {
this._peaks = data;
this.emit('peaks-updated');
- let enc = new TextEncoder();
+ const enc = new TextEncoder();
const buffer = new GLib.Bytes(enc.encode(JSON.stringify(data)));
this.waveformCache.replace_contents_bytes_async(buffer, null, false,
Gio.FileCreateFlags.REPLACE_DESTINATION, null, (obj: Gio.File | null, res: Gio.AsyncResult) => {
if (obj)
@@ -134,7 +134,7 @@ export const Recording = GObject.registerClass({
}
save(dest: Gio.File): void {
- this.file.copy_async(dest, // @ts-expect-error
+ this.file.copy_async(dest, // @ts-expect-error TypeScript isn't reading async function params
correctly
Gio.FileCreateFlags.NONE, GLib.PRIORITY_DEFAULT, null, null, (obj: Gio.File, res:
Gio.AsyncResult) => {
if (obj.copy_finish(res))
log('Exporting file: done');
@@ -150,9 +150,14 @@ export const Recording = GObject.registerClass({
this.waveformCache.load_bytes_async(null, (obj: Gio.File | null, res: Gio.AsyncResult) => {
const bytes = obj?.load_bytes_finish(res)[0];
try {
- let decoder = new TextDecoder('utf-8');
- this._peaks = JSON.parse(decoder.decode(bytes?.get_data()!));
- this.emit('peaks-updated');
+ const decoder = new TextDecoder('utf-8');
+ if (bytes) {
+ const data = bytes.get_data();
+ if (data) {
+ this._peaks = JSON.parse(decoder.decode(data));
+ this.emit('peaks-updated');
+ }
+ }
} catch (error) {
log(`Error reading waveform data file: ${this.name}_data`);
}
@@ -167,10 +172,10 @@ export const Recording = GObject.registerClass({
this.pipeline = Gst.parse_launch('uridecodebin name=uridecodebin ! audioconvert !
audio/x-raw,channels=1 ! level name=level ! fakesink name=faked') as Gst.Bin;
- let uridecodebin = this.pipeline.get_by_name('uridecodebin');
+ const uridecodebin = this.pipeline.get_by_name('uridecodebin');
uridecodebin?.set_property('uri', this.uri);
- let fakesink = this.pipeline.get_by_name('faked');
+ const fakesink = this.pipeline.get_by_name('faked');
fakesink?.set_property('qos', false);
fakesink?.set_property('sync', true);
@@ -180,22 +185,23 @@ export const Recording = GObject.registerClass({
bus?.connect('message', (_bus: Gst.Bus, message: Gst.Message) => {
switch (message.type) {
- case Gst.MessageType.ELEMENT:
- let s = message.get_structure();
- if (s && s.has_name('level')) {
- const peakVal = s.get_value('peak') as unknown as GObject.ValueArray;
-
- if (peakVal) {
- const peak = peakVal.get_nth(0) as number;
- this._loadedPeaks.push(Math.pow(10, peak / 20));
+ case Gst.MessageType.ELEMENT: {
+ const s = message.get_structure();
+ if (s && s.has_name('level')) {
+ const peakVal = s.get_value('peak') as unknown as GObject.ValueArray;
+
+ if (peakVal) {
+ const peak = peakVal.get_nth(0) as number;
+ this._loadedPeaks.push(Math.pow(10, peak / 20));
+ }
}
+ break;
}
- break;
- case Gst.MessageType.EOS:
- this.peaks = this._loadedPeaks;
- this.pipeline?.set_state(Gst.State.NULL);
- this.pipeline = null;
- break;
+ case Gst.MessageType.EOS:
+ this.peaks = this._loadedPeaks;
+ this.pipeline?.set_state(Gst.State.NULL);
+ this.pipeline = null;
+ break;
}
});
}
diff --git a/src/recordingList.ts b/src/recordingList.ts
index 5c9c4c0..854cc86 100644
--- a/src/recordingList.ts
+++ b/src/recordingList.ts
@@ -53,7 +53,7 @@ export const RecordingList = GObject.registerClass(class RecordingList extends G
return;
const fileEnumerator = oldDir.enumerate_children('standard::name',
Gio.FileQueryInfoFlags.NOFOLLOW_SYMLINKS, this.cancellable);
- let allCopied = true;
+ const allCopied = true;
fileEnumerator.next_files_async(5, GLib.PRIORITY_LOW, this.cancellable, (obj, res) => {
this._copyFiles(obj, res, allCopied);
@@ -61,7 +61,7 @@ export const RecordingList = GObject.registerClass(class RecordingList extends G
}
_copyFiles(fileEnumerator: Gio.FileEnumerator | null, res: Gio.AsyncResult, allCopied: boolean) {
- let oldDir = fileEnumerator?.container;
+ const oldDir = fileEnumerator?.container;
try {
const fileInfos = fileEnumerator?.next_files_finish(res);
if (fileInfos && fileInfos.length) {
@@ -72,12 +72,13 @@ export const RecordingList = GObject.registerClass(class RecordingList extends G
the old recordings location */
const dest = RecordingsDir.get_child(_('%s (Old)').format(name));
- // @ts-expect-error
+ // @ts-expect-error TypeScript doesn't read async function arguments correctly
src?.copy_async(dest, Gio.FileCopyFlags.OVERWRITE, GLib.PRIORITY_LOW, this.cancellable,
null, (objCopy: Gio.File, resCopy: Gio.AsyncResult) => {
try {
objCopy.copy_finish(resCopy);
objCopy.trash_async(GLib.PRIORITY_LOW, this.cancellable, null);
this.dirMonitor.emit_event(dest, src, Gio.FileMonitorEvent.MOVED_IN);
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
} catch (e: any) {
if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) {
console.error(`Failed to copy recording ${name} to the new location`);
@@ -97,6 +98,7 @@ export const RecordingList = GObject.registerClass(class RecordingList extends G
oldDir?.delete_async(GLib.PRIORITY_LOW, this.cancellable, (objDelete: Gio.File | null,
resDelete: Gio.AsyncResult) => {
try {
objDelete?.delete_finish(resDelete);
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
} catch (e: any) {
log('Failed to remove the old Recordings directory. Ignore if you\'re using
flatpak');
log(e);
@@ -104,6 +106,7 @@ export const RecordingList = GObject.registerClass(class RecordingList extends G
});
}
}
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
} catch (e: any) {
if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED))
console.error(`Failed to copy old recordings ${e}`);
@@ -122,7 +125,7 @@ export const RecordingList = GObject.registerClass(class RecordingList extends G
_onNextFiles(obj: Gio.FileEnumerator | null, res: Gio.AsyncResult): void {
try {
- let fileInfos = obj?.next_files_finish(res);
+ const fileInfos = obj?.next_files_finish(res);
if (fileInfos && fileInfos.length) {
fileInfos.forEach(info => {
const file = RecordingsDir.get_child(info.get_name());
@@ -133,6 +136,7 @@ export const RecordingList = GObject.registerClass(class RecordingList extends G
} else {
this._enumerator?.close(this.cancellable);
}
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
} catch (e: any) {
if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED))
console.error(`Failed to load recordings ${e}`);
@@ -142,7 +146,7 @@ export const RecordingList = GObject.registerClass(class RecordingList extends G
getIndex(file: Gio.File): number {
for (let i = 0; i < this.get_n_items(); i++) {
- let item = this.get_item(i) as RecordingClass;
+ const item = this.get_item(i) as RecordingClass;
if (item.uri === file.get_uri())
return i;
}
diff --git a/src/recordingListWidget.ts b/src/recordingListWidget.ts
index e34ea18..4470173 100644
--- a/src/recordingListWidget.ts
+++ b/src/recordingListWidget.ts
@@ -52,13 +52,13 @@ export const RecordingsListWidget = GObject.registerClass({
}
});
- // @ts-expect-error
+ // @ts-expect-error TypeScript gets `bind_model()` wrong
this.list.bind_model(model, (recording: RecordingClass) => {
// This is weird - does using `constructor()` break how it's recognized?
- // @ts-expect-error
- let row = new Row(recording);
+ // @ts-expect-error TypeScript gets the type here wrong too
+ const row = new Row(recording);
- row.waveform.connect('gesture-pressed', _ => {
+ row.waveform.connect('gesture-pressed', () => {
if (!this.activePlayingRow || this.activePlayingRow !== row) {
if (this.activePlayingRow)
@@ -88,7 +88,7 @@ export const RecordingsListWidget = GObject.registerClass({
this._player.play();
});
- row.connect('pause', (_row: RowClass) => {
+ row.connect('pause', () => {
this._player.pause();
});
diff --git a/src/row.ts b/src/row.ts
index 00b8a9e..850951d 100644
--- a/src/row.ts
+++ b/src/row.ts
@@ -11,7 +11,7 @@ import { WaveForm, WaveFormClass, WaveType } from './waveform.js';
export enum RowState {
Playing,
Paused,
-};
+}
export type RowClass = InstanceType<typeof Row>;
@@ -98,7 +98,7 @@ export const Row = GObject.registerClass({
this.actionGroup = new Gio.SimpleActionGroup();
- let exportAction = new Gio.SimpleAction({ name: 'export' });
+ const exportAction = new Gio.SimpleAction({ name: 'export' });
exportAction.connect('activate', () => {
const window = this.root as Gtk.Window;
this.exportDialog = Gtk.FileChooserNative.new(_('Export Recording'), window,
Gtk.FileChooserAction.SAVE, _('_Export'), _('_Cancel'));
@@ -142,18 +142,18 @@ export const Row = GObject.registerClass({
});
this.actionGroup.add_action(this.playAction);
- let deleteAction = new Gio.SimpleAction({ name: 'delete' });
+ const deleteAction = new Gio.SimpleAction({ name: 'delete' });
deleteAction.connect('activate', () => {
this.emit('deleted');
});
this.actionGroup.add_action(deleteAction);
- let seekBackAction = new Gio.SimpleAction({ name: 'seek-backward' });
- seekBackAction.connect('activate', () => { _state: RowState;
+ const seekBackAction = new Gio.SimpleAction({ name: 'seek-backward' });
+ seekBackAction.connect('activate', () => { RowState;
});
this.actionGroup.add_action(seekBackAction);
- let seekForwardAction = new Gio.SimpleAction({ name: 'seek-forward' });
+ const seekForwardAction = new Gio.SimpleAction({ name: 'seek-forward' });
seekForwardAction.connect('activate', () => {
this.emit('seek-forward');
});
@@ -161,12 +161,12 @@ export const Row = GObject.registerClass({
this.insert_action_group('recording', this.actionGroup);
- this.waveform.connect('gesture-pressed', _ => {
+ this.waveform.connect('gesture-pressed', () => {
this.pauseAction.activate(null);
});
this.keyController = Gtk.EventControllerKey.new();
- this.keyController.connect('key-pressed', (_controller: Gtk.EventControllerKey, key: number, _code:
number, _state: Gdk.ModifierType) => {
+ this.keyController.connect('key-pressed', (_controller: Gtk.EventControllerKey, key: number) => {
this._entry.remove_css_class('error');
if (key === Gdk.KEY_Escape)
@@ -174,7 +174,7 @@ export const Row = GObject.registerClass({
});
this._entry.add_controller(this.keyController);
- this._entry.connect('activate', _ => {
+ this._entry.connect('activate', () => {
this.saveRenameAction.activate(null);
});
@@ -183,7 +183,7 @@ export const Row = GObject.registerClass({
this.waveform.peaks = _recording.peaks;
});
- this._recording.connect('peaks-loading', _ => {
+ this._recording.connect('peaks-loading', () => {
this._waveformStack.visible_child_name = 'loading';
});
@@ -228,7 +228,7 @@ export const Row = GObject.registerClass({
for (const action of this.actionGroup.list_actions()) {
if (action !== 'save') {
- let someAction = this.actionGroup.lookup(action) as Gio.SimpleAction;
+ const someAction = this.actionGroup.lookup(action) as Gio.SimpleAction;
someAction.enabled = !state;
}
}
diff --git a/src/utils.ts b/src/utils.ts
index 3fb7d5a..cf60a30 100644
--- a/src/utils.ts
+++ b/src/utils.ts
@@ -17,7 +17,7 @@
* Author: Meg Ford <megford gnome org>
*
*/
-// @ts-expect-error
+// @ts-expect-error This module doesn't import nicely
import Gettext from 'gettext'
import GLib from 'gi://GLib'
import Gst from 'gi://Gst'
@@ -62,4 +62,4 @@ export const displayDateTime = (time: GLib.DateTime) => {
return _('Last year');
return Gettext.ngettext('%d year ago', '%d years ago', years).format(years);
-};
+};
\ No newline at end of file
diff --git a/src/waveform.ts b/src/waveform.ts
index 523e311..b5d09ce 100644
--- a/src/waveform.ts
+++ b/src/waveform.ts
@@ -27,13 +27,13 @@ import Adw from 'gi://Adw';
import GObject from 'gi://GObject';
import Gdk from 'gi://Gdk?version=4.0';
import Gtk from 'gi://Gtk?version=4.0';
-// @ts-expect-error
+// @ts-expect-error This module doesn't import nicely
import Cairo from 'cairo';
export enum WaveType {
Recorder,
Player,
-};
+}
const GUTTER = 4;
@@ -81,7 +81,7 @@ export const WaveForm = GObject.registerClass({
this.add_controller(this._dragGesture);
}
- this._hcId = Adw.StyleManager.get_default().connect('notify::high-contrast', _ => {
+ this._hcId = Adw.StyleManager.get_default().connect('notify::high-contrast', () => {
this.queue_draw();
});
@@ -106,7 +106,7 @@ export const WaveForm = GObject.registerClass({
}
drawFunc(superDa: Gtk.DrawingArea, ctx: Cairo.Context) {
- let da = superDa as WaveFormClass;
+ const da = superDa as WaveFormClass;
const maxHeight = da.get_allocated_height();
const vertiCenter = maxHeight / 2;
const horizCenter = da.get_allocated_width() / 2;
@@ -116,10 +116,12 @@ export const WaveForm = GObject.registerClass({
const styleContext = da.get_style_context();
const leftColor = styleContext.get_color();
- const [_, rightColor] = styleContext.lookup_color('dimmed_color');
+ const rightColor = styleContext.lookup_color('dimmed_color')[1];
const dividerName = da.waveType === WaveType.Player ? 'accent_color' : 'destructive_color';
- let [ok, dividerColor] = styleContext.lookup_color(dividerName);
+ const lookupColor = styleContext.lookup_color(dividerName);
+ const ok = lookupColor[0];
+ let dividerColor = lookupColor[1];
if (!ok)
dividerColor = styleContext.get_color();
diff --git a/src/window.ts b/src/window.ts
index beee9a2..7d0770a 100644
--- a/src/window.ts
+++ b/src/window.ts
@@ -78,11 +78,11 @@ export const Window = GObject.registerClass({
const dispatcher = GstPlayer.PlayerGMainContextSignalDispatcher.new(null);
this.player = GstPlayer.Player.new(null, dispatcher);
- this.player.connect('end-of-stream', _p => this.player.stop());
+ this.player.connect('end-of-stream', () => this.player.stop());
this._recordingList = new RecordingList();
- this.itemsSignalId = this._recordingList.connect('items-changed', _ => {
+ this.itemsSignalId = this._recordingList.connect('items-changed', () => {
if (this.state !== WindowState.Recorder) {
if (this._recordingList.get_n_items() === 0)
this.state = WindowState.Empty;
@@ -113,7 +113,7 @@ export const Window = GObject.registerClass({
this.undoAction = new Gio.SimpleAction({ name: 'undo' });
this.add_action(this.undoAction);
- let openMenuAction = new Gio.SimpleAction({ name: 'open-primary-menu', state: new GLib.Variant('b',
true) });
+ const openMenuAction = new Gio.SimpleAction({ name: 'open-primary-menu', state: new
GLib.Variant('b', true) });
openMenuAction.connect('activate', action => {
const state = action.get_state()?.get_boolean();
action.state = new GLib.Variant('b', !state);
@@ -163,7 +163,7 @@ export const Window = GObject.registerClass({
onRecorderStopped(_widget: RecorderWidgetClass, recording: RecordingClass): void {
this._recordingList.insert(0, recording);
- let row = this._recordingListWidget.list.get_row_at_index(0) as RowClass;
+ const row = this._recordingListWidget.list.get_row_at_index(0) as RowClass;
row.editMode = true;
this.state = WindowState.List;
}
diff --git a/yarn.lock b/yarn.lock
index fb57ccd..c439809 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,3 +2,1383 @@
# yarn lockfile v1
+"@eslint/eslintrc@^1.3.0":
+ version "1.3.0"
+ resolved
"https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.0.tgz#29f92c30bb3e771e4a2048c95fa6855392dfac4f"
+ integrity sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==
+ dependencies:
+ ajv "^6.12.4"
+ debug "^4.3.2"
+ espree "^9.3.2"
+ globals "^13.15.0"
+ ignore "^5.2.0"
+ import-fresh "^3.2.1"
+ js-yaml "^4.1.0"
+ minimatch "^3.1.2"
+ strip-json-comments "^3.1.1"
+
+"@gi.ts/cli@^1.5.5":
+ version "1.5.10"
+ resolved
"https://registry.yarnpkg.com/@gi.ts/cli/-/cli-1.5.10.tgz#a4b479f5c7d42f60197fd2608d078fcfe236f31b"
+ integrity sha512-F5kwlc6waq1yK3zMJNUHQuq9PYbioI1QN5GiC1kXeqSSnwZYZGhUSfpCU8Xd6phl1nuFR/5wmVwaGlk+clMAlg==
+ dependencies:
+ "@gi.ts/node-loader" "^1.5.10"
+ "@gi.ts/parser" "^1.5.10"
+ "@oclif/command" "^1"
+ "@oclif/config" "^1"
+ "@oclif/plugin-help" "^5"
+ prettier "^2.2.1"
+ tslib "^1"
+
+"@gi.ts/node-loader@^1.5.10":
+ version "1.5.10"
+ resolved
"https://registry.yarnpkg.com/@gi.ts/node-loader/-/node-loader-1.5.10.tgz#4c7f8da19e63a4d839b8bcc2a15814cf41c1647f"
+ integrity sha512-BOFd3DVxEHQCTQBN9s8+FDaskXNGTJftPNPSaN76FAbvfx9eqmcij1gqG1yJtEfmRREu2Ja9dLzxmzF8uGPFhg==
+ dependencies:
+ "@gi.ts/parser" "^1.5.10"
+ glob "^7.1.6"
+
+"@gi.ts/parser@^1.5.10":
+ version "1.5.10"
+ resolved
"https://registry.yarnpkg.com/@gi.ts/parser/-/parser-1.5.10.tgz#a7a115db066b199e981579ce851fa77a0b627cbc"
+ integrity sha512-WFBgvpA3/6LID8VOg5oFAVwPrHEaZaDE3ETagUedBwCEXOAbqv631KNNL00xL1HmkXjAXwcs+YEZKQNXbLI3hQ==
+ dependencies:
+ fast-xml-parser "^3.17.5"
+
+"@humanwhocodes/config-array@^0.10.4":
+ version "0.10.4"
+ resolved
"https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.4.tgz#01e7366e57d2ad104feea63e72248f22015c520c"
+ integrity sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==
+ dependencies:
+ "@humanwhocodes/object-schema" "^1.2.1"
+ debug "^4.1.1"
+ minimatch "^3.0.4"
+
+"@humanwhocodes/gitignore-to-minimatch@^1.0.2":
+ version "1.0.2"
+ resolved
"https://registry.yarnpkg.com/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz#316b0a63b91c10e53f242efb4ace5c3b34e8728d"
+ integrity sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==
+
+"@humanwhocodes/object-schema@^1.2.1":
+ version "1.2.1"
+ resolved
"https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
+ integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
+
+"@nodelib/fs.scandir@2.1.5":
+ version "2.1.5"
+ resolved
"https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
+ integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
+ dependencies:
+ "@nodelib/fs.stat" "2.0.5"
+ run-parallel "^1.1.9"
+
+"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
+ version "2.0.5"
+ resolved
"https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
+ integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
+
+"@nodelib/fs.walk@^1.2.3":
+ version "1.2.8"
+ resolved
"https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
+ integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
+ dependencies:
+ "@nodelib/fs.scandir" "2.1.5"
+ fastq "^1.6.0"
+
+"@oclif/command@^1":
+ version "1.8.16"
+ resolved
"https://registry.yarnpkg.com/@oclif/command/-/command-1.8.16.tgz#bea46f81b2061b47e1cda318a0b923e62ca4cc0c"
+ integrity sha512-rmVKYEsKzurfRU0xJz+iHelbi1LGlihIWZ7Qvmb/CBz1EkhL7nOkW4SVXmG2dA5Ce0si2gr88i6q4eBOMRNJ1w==
+ dependencies:
+ "@oclif/config" "^1.18.2"
+ "@oclif/errors" "^1.3.5"
+ "@oclif/help" "^1.0.1"
+ "@oclif/parser" "^3.8.6"
+ debug "^4.1.1"
+ semver "^7.3.2"
+
+"@oclif/config@1.18.2":
+ version "1.18.2"
+ resolved
"https://registry.yarnpkg.com/@oclif/config/-/config-1.18.2.tgz#5bfe74a9ba6a8ca3dceb314a81bd9ce2e15ebbfe"
+ integrity sha512-cE3qfHWv8hGRCP31j7fIS7BfCflm/BNZ2HNqHexH+fDrdF2f1D5S8VmXWLC77ffv3oDvWyvE9AZeR0RfmHCCaA==
+ dependencies:
+ "@oclif/errors" "^1.3.3"
+ "@oclif/parser" "^3.8.0"
+ debug "^4.1.1"
+ globby "^11.0.1"
+ is-wsl "^2.1.1"
+ tslib "^2.0.0"
+
+"@oclif/config@^1", "@oclif/config@^1.18.2":
+ version "1.18.3"
+ resolved
"https://registry.yarnpkg.com/@oclif/config/-/config-1.18.3.tgz#ddfc144fdab66b1658c2f1b3478fa7fbfd317e79"
+ integrity sha512-sBpko86IrTscc39EvHUhL+c++81BVTsIZ3ETu/vG+cCdi0N6vb2DoahR67A9FI2CGnxRRHjnTfa3m6LulwNATA==
+ dependencies:
+ "@oclif/errors" "^1.3.5"
+ "@oclif/parser" "^3.8.0"
+ debug "^4.1.1"
+ globby "^11.0.1"
+ is-wsl "^2.1.1"
+ tslib "^2.3.1"
+
+"@oclif/core@^1.3.6":
+ version "1.13.7"
+ resolved
"https://registry.yarnpkg.com/@oclif/core/-/core-1.13.7.tgz#b41560f20ca8d68e8bcee3dfeb20f3956dc6f500"
+ integrity sha512-jfJIICZPF9XfztxnEtQSltKZYpzglAnkNF5oqTernFJpT8vH6TJ4F8Y/IOsR80ngSnvMEY7DtnC7S1vlH4540Q==
+ dependencies:
+ "@oclif/linewrap" "^1.0.0"
+ "@oclif/screen" "^3.0.2"
+ ansi-escapes "^4.3.2"
+ ansi-styles "^4.3.0"
+ cardinal "^2.1.1"
+ chalk "^4.1.2"
+ clean-stack "^3.0.1"
+ cli-progress "^3.10.0"
+ debug "^4.3.4"
+ ejs "^3.1.6"
+ fs-extra "^9.1.0"
+ get-package-type "^0.1.0"
+ globby "^11.1.0"
+ hyperlinker "^1.0.0"
+ indent-string "^4.0.0"
+ is-wsl "^2.2.0"
+ js-yaml "^3.14.1"
+ natural-orderby "^2.0.3"
+ object-treeify "^1.1.33"
+ password-prompt "^1.1.2"
+ semver "^7.3.7"
+ string-width "^4.2.3"
+ strip-ansi "^6.0.1"
+ supports-color "^8.1.1"
+ supports-hyperlinks "^2.2.0"
+ tslib "^2.3.1"
+ widest-line "^3.1.0"
+ wrap-ansi "^7.0.0"
+
+"@oclif/errors@1.3.5", "@oclif/errors@^1.3.3", "@oclif/errors@^1.3.5":
+ version "1.3.5"
+ resolved
"https://registry.yarnpkg.com/@oclif/errors/-/errors-1.3.5.tgz#a1e9694dbeccab10fe2fe15acb7113991bed636c"
+ integrity sha512-OivucXPH/eLLlOT7FkCMoZXiaVYf8I/w1eTAM1+gKzfhALwWTusxEx7wBmW0uzvkSg/9ovWLycPaBgJbM3LOCQ==
+ dependencies:
+ clean-stack "^3.0.0"
+ fs-extra "^8.1"
+ indent-string "^4.0.0"
+ strip-ansi "^6.0.0"
+ wrap-ansi "^7.0.0"
+
+"@oclif/help@^1.0.1":
+ version "1.0.1"
+ resolved
"https://registry.yarnpkg.com/@oclif/help/-/help-1.0.1.tgz#fd96a3dd9fb2314479e6c8584c91b63754a7dff5"
+ integrity sha512-8rsl4RHL5+vBUAKBL6PFI3mj58hjPCp2VYyXD4TAa7IMStikFfOH2gtWmqLzIlxAED2EpD0dfYwo9JJxYsH7Aw==
+ dependencies:
+ "@oclif/config" "1.18.2"
+ "@oclif/errors" "1.3.5"
+ chalk "^4.1.2"
+ indent-string "^4.0.0"
+ lodash "^4.17.21"
+ string-width "^4.2.0"
+ strip-ansi "^6.0.0"
+ widest-line "^3.1.0"
+ wrap-ansi "^6.2.0"
+
+"@oclif/linewrap@^1.0.0":
+ version "1.0.0"
+ resolved
"https://registry.yarnpkg.com/@oclif/linewrap/-/linewrap-1.0.0.tgz#aedcb64b479d4db7be24196384897b5000901d91"
+ integrity sha512-Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw==
+
+"@oclif/parser@^3.8.0", "@oclif/parser@^3.8.6":
+ version "3.8.7"
+ resolved
"https://registry.yarnpkg.com/@oclif/parser/-/parser-3.8.7.tgz#236d48db05d0b00157d3b42d31f9dac7550d2a7c"
+ integrity sha512-b11xBmIUK+LuuwVGJpFs4LwQN2xj2cBWj2c4z1FtiXGrJ85h9xV6q+k136Hw0tGg1jQoRXuvuBnqQ7es7vO9/Q==
+ dependencies:
+ "@oclif/errors" "^1.3.5"
+ "@oclif/linewrap" "^1.0.0"
+ chalk "^4.1.0"
+ tslib "^2.3.1"
+
+"@oclif/plugin-help@^5":
+ version "5.1.12"
+ resolved
"https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-5.1.12.tgz#24a18631eb9b22cb55e1a3b8e4f6039fd42727e6"
+ integrity sha512-HvH/RubJxqCinP0vUWQLTOboT+SfjfL8h40s+PymkWaldIcXlpoRaJX50vz+SjZIs7uewZwEk8fzLqpF/BWXlg==
+ dependencies:
+ "@oclif/core" "^1.3.6"
+
+"@oclif/screen@^3.0.2":
+ version "3.0.2"
+ resolved
"https://registry.yarnpkg.com/@oclif/screen/-/screen-3.0.2.tgz#969054308fe98d130c02844a45cc792199b75670"
+ integrity sha512-S/SF/XYJeevwIgHFmVDAFRUvM3m+OjhvCAYMk78ZJQCYCQ5wS7j+LTt1ZEv2jpEEGg2tx/F6TYYWxddNAYHrFQ==
+
+"@types/json-schema@^7.0.9":
+ version "7.0.11"
+ resolved
"https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3"
+ integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==
+
+"@typescript-eslint/eslint-plugin@^5.33.0":
+ version "5.33.0"
+ resolved
"https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.33.0.tgz#059798888720ec52ffa96c5f868e31a8f70fa3ec"
+ integrity sha512-jHvZNSW2WZ31OPJ3enhLrEKvAZNyAFWZ6rx9tUwaessTc4sx9KmgMNhVcqVAl1ETnT5rU5fpXTLmY9YvC1DCNg==
+ dependencies:
+ "@typescript-eslint/scope-manager" "5.33.0"
+ "@typescript-eslint/type-utils" "5.33.0"
+ "@typescript-eslint/utils" "5.33.0"
+ debug "^4.3.4"
+ functional-red-black-tree "^1.0.1"
+ ignore "^5.2.0"
+ regexpp "^3.2.0"
+ semver "^7.3.7"
+ tsutils "^3.21.0"
+
+"@typescript-eslint/parser@^5.33.0":
+ version "5.33.0"
+ resolved
"https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.33.0.tgz#26ec3235b74f0667414613727cb98f9b69dc5383"
+ integrity sha512-cgM5cJrWmrDV2KpvlcSkelTBASAs1mgqq+IUGKJvFxWrapHpaRy5EXPQz9YaKF3nZ8KY18ILTiVpUtbIac86/w==
+ dependencies:
+ "@typescript-eslint/scope-manager" "5.33.0"
+ "@typescript-eslint/types" "5.33.0"
+ "@typescript-eslint/typescript-estree" "5.33.0"
+ debug "^4.3.4"
+
+"@typescript-eslint/scope-manager@5.33.0":
+ version "5.33.0"
+ resolved
"https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.33.0.tgz#509d7fa540a2c58f66bdcfcf278a3fa79002e18d"
+ integrity sha512-/Jta8yMNpXYpRDl8EwF/M8It2A9sFJTubDo0ATZefGXmOqlaBffEw0ZbkbQ7TNDK6q55NPHFshGBPAZvZkE8Pw==
+ dependencies:
+ "@typescript-eslint/types" "5.33.0"
+ "@typescript-eslint/visitor-keys" "5.33.0"
+
+"@typescript-eslint/type-utils@5.33.0":
+ version "5.33.0"
+ resolved
"https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.33.0.tgz#92ad1fba973c078d23767ce2d8d5a601baaa9338"
+ integrity sha512-2zB8uEn7hEH2pBeyk3NpzX1p3lF9dKrEbnXq1F7YkpZ6hlyqb2yZujqgRGqXgRBTHWIUG3NGx/WeZk224UKlIA==
+ dependencies:
+ "@typescript-eslint/utils" "5.33.0"
+ debug "^4.3.4"
+ tsutils "^3.21.0"
+
+"@typescript-eslint/types@5.33.0":
+ version "5.33.0"
+ resolved
"https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.33.0.tgz#d41c584831805554b063791338b0220b613a275b"
+ integrity sha512-nIMt96JngB4MYFYXpZ/3ZNU4GWPNdBbcB5w2rDOCpXOVUkhtNlG2mmm8uXhubhidRZdwMaMBap7Uk8SZMU/ppw==
+
+"@typescript-eslint/typescript-estree@5.33.0":
+ version "5.33.0"
+ resolved
"https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.33.0.tgz#02d9c9ade6f4897c09e3508c27de53ad6bfa54cf"
+ integrity sha512-tqq3MRLlggkJKJUrzM6wltk8NckKyyorCSGMq4eVkyL5sDYzJJcMgZATqmF8fLdsWrW7OjjIZ1m9v81vKcaqwQ==
+ dependencies:
+ "@typescript-eslint/types" "5.33.0"
+ "@typescript-eslint/visitor-keys" "5.33.0"
+ debug "^4.3.4"
+ globby "^11.1.0"
+ is-glob "^4.0.3"
+ semver "^7.3.7"
+ tsutils "^3.21.0"
+
+"@typescript-eslint/utils@5.33.0":
+ version "5.33.0"
+ resolved
"https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.33.0.tgz#46797461ce3146e21c095d79518cc0f8ec574038"
+ integrity sha512-JxOAnXt9oZjXLIiXb5ZIcZXiwVHCkqZgof0O8KPgz7C7y0HS42gi75PdPlqh1Tf109M0fyUw45Ao6JLo7S5AHw==
+ dependencies:
+ "@types/json-schema" "^7.0.9"
+ "@typescript-eslint/scope-manager" "5.33.0"
+ "@typescript-eslint/types" "5.33.0"
+ "@typescript-eslint/typescript-estree" "5.33.0"
+ eslint-scope "^5.1.1"
+ eslint-utils "^3.0.0"
+
+"@typescript-eslint/visitor-keys@5.33.0":
+ version "5.33.0"
+ resolved
"https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.33.0.tgz#fbcbb074e460c11046e067bc3384b5d66b555484"
+ integrity sha512-/XsqCzD4t+Y9p5wd9HZiptuGKBlaZO5showwqODii5C0nZawxWLF+Q6k5wYHBrQv96h6GYKyqqMHCSTqta8Kiw==
+ dependencies:
+ "@typescript-eslint/types" "5.33.0"
+ eslint-visitor-keys "^3.3.0"
+
+acorn-jsx@^5.3.2:
+ version "5.3.2"
+ resolved
"https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
+ integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
+
+acorn@^8.8.0:
+ version "8.8.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8"
+ integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==
+
+ajv@^6.10.0, ajv@^6.12.4:
+ version "6.12.6"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
+ integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
+ dependencies:
+ fast-deep-equal "^3.1.1"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.4.1"
+ uri-js "^4.2.2"
+
+ansi-escapes@^3.1.0:
+ version "3.2.0"
+ resolved
"https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
+ integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==
+
+ansi-escapes@^4.3.2:
+ version "4.3.2"
+ resolved
"https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e"
+ integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==
+ dependencies:
+ type-fest "^0.21.3"
+
+ansi-regex@^5.0.1:
+ version "5.0.1"
+ resolved
"https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
+ integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
+
+ansi-styles@^4.0.0, ansi-styles@^4.1.0, ansi-styles@^4.3.0:
+ version "4.3.0"
+ resolved
"https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
+ integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
+ dependencies:
+ color-convert "^2.0.1"
+
+ansicolors@~0.3.2:
+ version "0.3.2"
+ resolved
"https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.3.2.tgz#665597de86a9ffe3aa9bfbe6cae5c6ea426b4979"
+ integrity sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==
+
+argparse@^1.0.7:
+ version "1.0.10"
+ resolved
"https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
+ integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
+ dependencies:
+ sprintf-js "~1.0.2"
+
+argparse@^2.0.1:
+ version "2.0.1"
+ resolved
"https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
+ integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
+
+array-union@^2.1.0:
+ version "2.1.0"
+ resolved
"https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
+ integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
+
+async@^3.2.3:
+ version "3.2.4"
+ resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c"
+ integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==
+
+at-least-node@^1.0.0:
+ version "1.0.0"
+ resolved
"https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
+ integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
+
+balanced-match@^1.0.0:
+ version "1.0.2"
+ resolved
"https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
+ integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
+
+brace-expansion@^1.1.7:
+ version "1.1.11"
+ resolved
"https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
+ integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
+ dependencies:
+ balanced-match "^1.0.0"
+ concat-map "0.0.1"
+
+brace-expansion@^2.0.1:
+ version "2.0.1"
+ resolved
"https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
+ integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
+ dependencies:
+ balanced-match "^1.0.0"
+
+braces@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
+ integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
+ dependencies:
+ fill-range "^7.0.1"
+
+callsites@^3.0.0:
+ version "3.1.0"
+ resolved
"https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
+ integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
+
+cardinal@^2.1.1:
+ version "2.1.1"
+ resolved
"https://registry.yarnpkg.com/cardinal/-/cardinal-2.1.1.tgz#7cc1055d822d212954d07b085dea251cc7bc5505"
+ integrity sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==
+ dependencies:
+ ansicolors "~0.3.2"
+ redeyed "~2.1.0"
+
+chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
+ integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
+clean-stack@^3.0.0, clean-stack@^3.0.1:
+ version "3.0.1"
+ resolved
"https://registry.yarnpkg.com/clean-stack/-/clean-stack-3.0.1.tgz#155bf0b2221bf5f4fba89528d24c5953f17fe3a8"
+ integrity sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==
+ dependencies:
+ escape-string-regexp "4.0.0"
+
+cli-progress@^3.10.0:
+ version "3.11.2"
+ resolved
"https://registry.yarnpkg.com/cli-progress/-/cli-progress-3.11.2.tgz#f8c89bd157e74f3f2c43bcfb3505670b4d48fc77"
+ integrity sha512-lCPoS6ncgX4+rJu5bS3F/iCz17kZ9MPZ6dpuTtI0KXKABkhyXIdYB3Inby1OpaGti3YlI3EeEkM9AuWpelJrVA==
+ dependencies:
+ string-width "^4.2.3"
+
+color-convert@^2.0.1:
+ version "2.0.1"
+ resolved
"https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
+ integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
+ dependencies:
+ color-name "~1.1.4"
+
+color-name@~1.1.4:
+ version "1.1.4"
+ resolved
"https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
+ integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+
+concat-map@0.0.1:
+ version "0.0.1"
+ resolved
"https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+ integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
+
+cross-spawn@^6.0.5:
+ version "6.0.5"
+ resolved
"https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
+ integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
+ dependencies:
+ nice-try "^1.0.4"
+ path-key "^2.0.1"
+ semver "^5.5.0"
+ shebang-command "^1.2.0"
+ which "^1.2.9"
+
+cross-spawn@^7.0.2:
+ version "7.0.3"
+ resolved
"https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
+ integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
+ dependencies:
+ path-key "^3.1.0"
+ shebang-command "^2.0.0"
+ which "^2.0.1"
+
+debug@^4.1.1, debug@^4.3.2, debug@^4.3.4:
+ version "4.3.4"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
+ integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
+ dependencies:
+ ms "2.1.2"
+
+deep-is@^0.1.3:
+ version "0.1.4"
+ resolved
"https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
+ integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
+
+dir-glob@^3.0.1:
+ version "3.0.1"
+ resolved
"https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
+ integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
+ dependencies:
+ path-type "^4.0.0"
+
+doctrine@^3.0.0:
+ version "3.0.0"
+ resolved
"https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
+ integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
+ dependencies:
+ esutils "^2.0.2"
+
+ejs@^3.1.6:
+ version "3.1.8"
+ resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.8.tgz#758d32910c78047585c7ef1f92f9ee041c1c190b"
+ integrity sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==
+ dependencies:
+ jake "^10.8.5"
+
+emoji-regex@^8.0.0:
+ version "8.0.0"
+ resolved
"https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
+ integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+
+escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0:
+ version "4.0.0"
+ resolved
"https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
+ integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
+
+eslint-scope@^5.1.1:
+ version "5.1.1"
+ resolved
"https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
+ integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
+ dependencies:
+ esrecurse "^4.3.0"
+ estraverse "^4.1.1"
+
+eslint-scope@^7.1.1:
+ version "7.1.1"
+ resolved
"https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642"
+ integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==
+ dependencies:
+ esrecurse "^4.3.0"
+ estraverse "^5.2.0"
+
+eslint-utils@^3.0.0:
+ version "3.0.0"
+ resolved
"https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672"
+ integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==
+ dependencies:
+ eslint-visitor-keys "^2.0.0"
+
+eslint-visitor-keys@^2.0.0:
+ version "2.1.0"
+ resolved
"https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
+ integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
+
+eslint-visitor-keys@^3.3.0:
+ version "3.3.0"
+ resolved
"https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826"
+ integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
+
+eslint@^8.21.0:
+ version "8.21.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.21.0.tgz#1940a68d7e0573cef6f50037addee295ff9be9ef"
+ integrity sha512-/XJ1+Qurf1T9G2M5IHrsjp+xrGT73RZf23xA1z5wB1ZzzEAWSZKvRwhWxTFp1rvkvCfwcvAUNAP31bhKTTGfDA==
+ dependencies:
+ "@eslint/eslintrc" "^1.3.0"
+ "@humanwhocodes/config-array" "^0.10.4"
+ "@humanwhocodes/gitignore-to-minimatch" "^1.0.2"
+ ajv "^6.10.0"
+ chalk "^4.0.0"
+ cross-spawn "^7.0.2"
+ debug "^4.3.2"
+ doctrine "^3.0.0"
+ escape-string-regexp "^4.0.0"
+ eslint-scope "^7.1.1"
+ eslint-utils "^3.0.0"
+ eslint-visitor-keys "^3.3.0"
+ espree "^9.3.3"
+ esquery "^1.4.0"
+ esutils "^2.0.2"
+ fast-deep-equal "^3.1.3"
+ file-entry-cache "^6.0.1"
+ find-up "^5.0.0"
+ functional-red-black-tree "^1.0.1"
+ glob-parent "^6.0.1"
+ globals "^13.15.0"
+ globby "^11.1.0"
+ grapheme-splitter "^1.0.4"
+ ignore "^5.2.0"
+ import-fresh "^3.0.0"
+ imurmurhash "^0.1.4"
+ is-glob "^4.0.0"
+ js-yaml "^4.1.0"
+ json-stable-stringify-without-jsonify "^1.0.1"
+ levn "^0.4.1"
+ lodash.merge "^4.6.2"
+ minimatch "^3.1.2"
+ natural-compare "^1.4.0"
+ optionator "^0.9.1"
+ regexpp "^3.2.0"
+ strip-ansi "^6.0.1"
+ strip-json-comments "^3.1.0"
+ text-table "^0.2.0"
+ v8-compile-cache "^2.0.3"
+
+espree@^9.3.2, espree@^9.3.3:
+ version "9.3.3"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.3.tgz#2dd37c4162bb05f433ad3c1a52ddf8a49dc08e9d"
+ integrity sha512-ORs1Rt/uQTqUKjDdGCyrtYxbazf5umATSf/K4qxjmZHORR6HJk+2s/2Pqe+Kk49HHINC/xNIrGfgh8sZcll0ng==
+ dependencies:
+ acorn "^8.8.0"
+ acorn-jsx "^5.3.2"
+ eslint-visitor-keys "^3.3.0"
+
+esprima@^4.0.0, esprima@~4.0.0:
+ version "4.0.1"
+ resolved
"https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
+ integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
+
+esquery@^1.4.0:
+ version "1.4.0"
+ resolved
"https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5"
+ integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==
+ dependencies:
+ estraverse "^5.1.0"
+
+esrecurse@^4.3.0:
+ version "4.3.0"
+ resolved
"https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
+ integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
+ dependencies:
+ estraverse "^5.2.0"
+
+estraverse@^4.1.1:
+ version "4.3.0"
+ resolved
"https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
+ integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
+
+estraverse@^5.1.0, estraverse@^5.2.0:
+ version "5.3.0"
+ resolved
"https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
+ integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
+
+esutils@^2.0.2:
+ version "2.0.3"
+ resolved
"https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
+ integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
+
+fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
+ version "3.1.3"
+ resolved
"https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
+ integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
+
+fast-glob@^3.2.9:
+ version "3.2.11"
+ resolved
"https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9"
+ integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==
+ dependencies:
+ "@nodelib/fs.stat" "^2.0.2"
+ "@nodelib/fs.walk" "^1.2.3"
+ glob-parent "^5.1.2"
+ merge2 "^1.3.0"
+ micromatch "^4.0.4"
+
+fast-json-stable-stringify@^2.0.0:
+ version "2.1.0"
+ resolved
"https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
+ integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
+
+fast-levenshtein@^2.0.6:
+ version "2.0.6"
+ resolved
"https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
+ integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
+
+fast-xml-parser@^3.17.5:
+ version "3.21.1"
+ resolved
"https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-3.21.1.tgz#152a1d51d445380f7046b304672dd55d15c9e736"
+ integrity sha512-FTFVjYoBOZTJekiUsawGsSYV9QL0A+zDYCRj7y34IO6Jg+2IMYEtQa+bbictpdpV8dHxXywqU7C0gRDEOFtBFg==
+ dependencies:
+ strnum "^1.0.4"
+
+fastq@^1.6.0:
+ version "1.13.0"
+ resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c"
+ integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==
+ dependencies:
+ reusify "^1.0.4"
+
+file-entry-cache@^6.0.1:
+ version "6.0.1"
+ resolved
"https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
+ integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
+ dependencies:
+ flat-cache "^3.0.4"
+
+filelist@^1.0.1:
+ version "1.0.4"
+ resolved
"https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5"
+ integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==
+ dependencies:
+ minimatch "^5.0.1"
+
+fill-range@^7.0.1:
+ version "7.0.1"
+ resolved
"https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
+ integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
+ dependencies:
+ to-regex-range "^5.0.1"
+
+find-up@^5.0.0:
+ version "5.0.0"
+ resolved
"https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
+ integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
+ dependencies:
+ locate-path "^6.0.0"
+ path-exists "^4.0.0"
+
+flat-cache@^3.0.4:
+ version "3.0.4"
+ resolved
"https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
+ integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==
+ dependencies:
+ flatted "^3.1.0"
+ rimraf "^3.0.2"
+
+flatted@^3.1.0:
+ version "3.2.6"
+ resolved
"https://registry.yarnpkg.com/flatted/-/flatted-3.2.6.tgz#022e9218c637f9f3fc9c35ab9c9193f05add60b2"
+ integrity sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==
+
+fs-extra@^8.1:
+ version "8.1.0"
+ resolved
"https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
+ integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==
+ dependencies:
+ graceful-fs "^4.2.0"
+ jsonfile "^4.0.0"
+ universalify "^0.1.0"
+
+fs-extra@^9.1.0:
+ version "9.1.0"
+ resolved
"https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"
+ integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
+ dependencies:
+ at-least-node "^1.0.0"
+ graceful-fs "^4.2.0"
+ jsonfile "^6.0.1"
+ universalify "^2.0.0"
+
+fs.realpath@^1.0.0:
+ version "1.0.0"
+ resolved
"https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+ integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
+
+functional-red-black-tree@^1.0.1:
+ version "1.0.1"
+ resolved
"https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
+ integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==
+
+get-package-type@^0.1.0:
+ version "0.1.0"
+ resolved
"https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
+ integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==
+
+glob-parent@^5.1.2:
+ version "5.1.2"
+ resolved
"https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
+ integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
+ dependencies:
+ is-glob "^4.0.1"
+
+glob-parent@^6.0.1:
+ version "6.0.2"
+ resolved
"https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
+ integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
+ dependencies:
+ is-glob "^4.0.3"
+
+glob@^7.1.3, glob@^7.1.6:
+ version "7.2.3"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
+ integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.1.1"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+globals@^13.15.0:
+ version "13.17.0"
+ resolved
"https://registry.yarnpkg.com/globals/-/globals-13.17.0.tgz#902eb1e680a41da93945adbdcb5a9f361ba69bd4"
+ integrity sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==
+ dependencies:
+ type-fest "^0.20.2"
+
+globby@^11.0.1, globby@^11.1.0:
+ version "11.1.0"
+ resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
+ integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
+ dependencies:
+ array-union "^2.1.0"
+ dir-glob "^3.0.1"
+ fast-glob "^3.2.9"
+ ignore "^5.2.0"
+ merge2 "^1.4.1"
+ slash "^3.0.0"
+
+graceful-fs@^4.1.6, graceful-fs@^4.2.0:
+ version "4.2.10"
+ resolved
"https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
+ integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
+
+grapheme-splitter@^1.0.4:
+ version "1.0.4"
+ resolved
"https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e"
+ integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==
+
+has-flag@^4.0.0:
+ version "4.0.0"
+ resolved
"https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
+ integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+
+hyperlinker@^1.0.0:
+ version "1.0.0"
+ resolved
"https://registry.yarnpkg.com/hyperlinker/-/hyperlinker-1.0.0.tgz#23dc9e38a206b208ee49bc2d6c8ef47027df0c0e"
+ integrity sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==
+
+ignore@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a"
+ integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==
+
+import-fresh@^3.0.0, import-fresh@^3.2.1:
+ version "3.3.0"
+ resolved
"https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
+ integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
+ dependencies:
+ parent-module "^1.0.0"
+ resolve-from "^4.0.0"
+
+imurmurhash@^0.1.4:
+ version "0.1.4"
+ resolved
"https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
+ integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
+
+indent-string@^4.0.0:
+ version "4.0.0"
+ resolved
"https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
+ integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
+
+inflight@^1.0.4:
+ version "1.0.6"
+ resolved
"https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+ integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
+ dependencies:
+ once "^1.3.0"
+ wrappy "1"
+
+inherits@2:
+ version "2.0.4"
+ resolved
"https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
+ integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
+
+is-docker@^2.0.0:
+ version "2.2.1"
+ resolved
"https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa"
+ integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==
+
+is-extglob@^2.1.1:
+ version "2.1.1"
+ resolved
"https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
+ integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
+
+is-fullwidth-code-point@^3.0.0:
+ version "3.0.0"
+ resolved
"https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
+ integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
+
+is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3:
+ version "4.0.3"
+ resolved
"https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
+ integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
+ dependencies:
+ is-extglob "^2.1.1"
+
+is-number@^7.0.0:
+ version "7.0.0"
+ resolved
"https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
+ integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
+
+is-wsl@^2.1.1, is-wsl@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271"
+ integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
+ dependencies:
+ is-docker "^2.0.0"
+
+isexe@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+ integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
+
+jake@^10.8.5:
+ version "10.8.5"
+ resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.5.tgz#f2183d2c59382cb274226034543b9c03b8164c46"
+ integrity sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==
+ dependencies:
+ async "^3.2.3"
+ chalk "^4.0.2"
+ filelist "^1.0.1"
+ minimatch "^3.0.4"
+
+js-yaml@^3.14.1:
+ version "3.14.1"
+ resolved
"https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
+ integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
+ dependencies:
+ argparse "^1.0.7"
+ esprima "^4.0.0"
+
+js-yaml@^4.1.0:
+ version "4.1.0"
+ resolved
"https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
+ integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
+ dependencies:
+ argparse "^2.0.1"
+
+json-schema-traverse@^0.4.1:
+ version "0.4.1"
+ resolved
"https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
+ integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
+
+json-stable-stringify-without-jsonify@^1.0.1:
+ version "1.0.1"
+ resolved
"https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
+ integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
+
+jsonfile@^4.0.0:
+ version "4.0.0"
+ resolved
"https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
+ integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==
+ optionalDependencies:
+ graceful-fs "^4.1.6"
+
+jsonfile@^6.0.1:
+ version "6.1.0"
+ resolved
"https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"
+ integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==
+ dependencies:
+ universalify "^2.0.0"
+ optionalDependencies:
+ graceful-fs "^4.1.6"
+
+levn@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
+ integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
+ dependencies:
+ prelude-ls "^1.2.1"
+ type-check "~0.4.0"
+
+locate-path@^6.0.0:
+ version "6.0.0"
+ resolved
"https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
+ integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
+ dependencies:
+ p-locate "^5.0.0"
+
+lodash.merge@^4.6.2:
+ version "4.6.2"
+ resolved
"https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
+ integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
+
+lodash@^4.17.21:
+ version "4.17.21"
+ resolved
"https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
+ integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
+
+lru-cache@^6.0.0:
+ version "6.0.0"
+ resolved
"https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
+ integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
+ dependencies:
+ yallist "^4.0.0"
+
+merge2@^1.3.0, merge2@^1.4.1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
+ integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
+
+micromatch@^4.0.4:
+ version "4.0.5"
+ resolved
"https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
+ integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
+ dependencies:
+ braces "^3.0.2"
+ picomatch "^2.3.1"
+
+minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2:
+ version "3.1.2"
+ resolved
"https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
+ integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
+ dependencies:
+ brace-expansion "^1.1.7"
+
+minimatch@^5.0.1:
+ version "5.1.0"
+ resolved
"https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7"
+ integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==
+ dependencies:
+ brace-expansion "^2.0.1"
+
+ms@2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
+ integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+
+natural-compare@^1.4.0:
+ version "1.4.0"
+ resolved
"https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
+ integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
+
+natural-orderby@^2.0.3:
+ version "2.0.3"
+ resolved
"https://registry.yarnpkg.com/natural-orderby/-/natural-orderby-2.0.3.tgz#8623bc518ba162f8ff1cdb8941d74deb0fdcc016"
+ integrity sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==
+
+nice-try@^1.0.4:
+ version "1.0.5"
+ resolved
"https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
+ integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
+
+object-treeify@^1.1.33:
+ version "1.1.33"
+ resolved
"https://registry.yarnpkg.com/object-treeify/-/object-treeify-1.1.33.tgz#f06fece986830a3cba78ddd32d4c11d1f76cdf40"
+ integrity sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==
+
+once@^1.3.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+ integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
+ dependencies:
+ wrappy "1"
+
+optionator@^0.9.1:
+ version "0.9.1"
+ resolved
"https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
+ integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
+ dependencies:
+ deep-is "^0.1.3"
+ fast-levenshtein "^2.0.6"
+ levn "^0.4.1"
+ prelude-ls "^1.2.1"
+ type-check "^0.4.0"
+ word-wrap "^1.2.3"
+
+p-limit@^3.0.2:
+ version "3.1.0"
+ resolved
"https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
+ integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
+ dependencies:
+ yocto-queue "^0.1.0"
+
+p-locate@^5.0.0:
+ version "5.0.0"
+ resolved
"https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
+ integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
+ dependencies:
+ p-limit "^3.0.2"
+
+parent-module@^1.0.0:
+ version "1.0.1"
+ resolved
"https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
+ integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
+ dependencies:
+ callsites "^3.0.0"
+
+password-prompt@^1.1.2:
+ version "1.1.2"
+ resolved
"https://registry.yarnpkg.com/password-prompt/-/password-prompt-1.1.2.tgz#85b2f93896c5bd9e9f2d6ff0627fa5af3dc00923"
+ integrity sha512-bpuBhROdrhuN3E7G/koAju0WjVw9/uQOG5Co5mokNj0MiOSBVZS1JTwM4zl55hu0WFmIEFvO9cU9sJQiBIYeIA==
+ dependencies:
+ ansi-escapes "^3.1.0"
+ cross-spawn "^6.0.5"
+
+path-exists@^4.0.0:
+ version "4.0.0"
+ resolved
"https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
+ integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
+
+path-is-absolute@^1.0.0:
+ version "1.0.1"
+ resolved
"https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+ integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
+
+path-key@^2.0.1:
+ version "2.0.1"
+ resolved
"https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
+ integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==
+
+path-key@^3.1.0:
+ version "3.1.1"
+ resolved
"https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
+ integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
+
+path-type@^4.0.0:
+ version "4.0.0"
+ resolved
"https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
+ integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
+
+picomatch@^2.3.1:
+ version "2.3.1"
+ resolved
"https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
+ integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
+
+prelude-ls@^1.2.1:
+ version "1.2.1"
+ resolved
"https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
+ integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
+
+prettier@^2.2.1:
+ version "2.7.1"
+ resolved
"https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64"
+ integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==
+
+punycode@^2.1.0:
+ version "2.1.1"
+ resolved
"https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
+ integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
+
+queue-microtask@^1.2.2:
+ version "1.2.3"
+ resolved
"https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
+ integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
+
+redeyed@~2.1.0:
+ version "2.1.1"
+ resolved
"https://registry.yarnpkg.com/redeyed/-/redeyed-2.1.1.tgz#8984b5815d99cb220469c99eeeffe38913e6cc0b"
+ integrity sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==
+ dependencies:
+ esprima "~4.0.0"
+
+regexpp@^3.2.0:
+ version "3.2.0"
+ resolved
"https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
+ integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
+
+resolve-from@^4.0.0:
+ version "4.0.0"
+ resolved
"https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
+ integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
+
+reusify@^1.0.4:
+ version "1.0.4"
+ resolved
"https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
+ integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
+
+rimraf@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
+ integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
+ dependencies:
+ glob "^7.1.3"
+
+run-parallel@^1.1.9:
+ version "1.2.0"
+ resolved
"https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
+ integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
+ dependencies:
+ queue-microtask "^1.2.2"
+
+semver@^5.5.0:
+ version "5.7.1"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
+ integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
+
+semver@^7.3.2, semver@^7.3.7:
+ version "7.3.7"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f"
+ integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==
+ dependencies:
+ lru-cache "^6.0.0"
+
+shebang-command@^1.2.0:
+ version "1.2.0"
+ resolved
"https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
+ integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==
+ dependencies:
+ shebang-regex "^1.0.0"
+
+shebang-command@^2.0.0:
+ version "2.0.0"
+ resolved
"https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
+ integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
+ dependencies:
+ shebang-regex "^3.0.0"
+
+shebang-regex@^1.0.0:
+ version "1.0.0"
+ resolved
"https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
+ integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==
+
+shebang-regex@^3.0.0:
+ version "3.0.0"
+ resolved
"https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
+ integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
+
+slash@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
+ integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
+
+sprintf-js@~1.0.2:
+ version "1.0.3"
+ resolved
"https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
+ integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
+
+string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
+ version "4.2.3"
+ resolved
"https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
+ integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
+ dependencies:
+ emoji-regex "^8.0.0"
+ is-fullwidth-code-point "^3.0.0"
+ strip-ansi "^6.0.1"
+
+strip-ansi@^6.0.0, strip-ansi@^6.0.1:
+ version "6.0.1"
+ resolved
"https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
+ integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
+ dependencies:
+ ansi-regex "^5.0.1"
+
+strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
+ version "3.1.1"
+ resolved
"https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
+ integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
+
+strnum@^1.0.4:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz#5c4e829fe15ad4ff0d20c3db5ac97b73c9b072db"
+ integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==
+
+supports-color@^7.0.0, supports-color@^7.1.0:
+ version "7.2.0"
+ resolved
"https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
+ integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
+ dependencies:
+ has-flag "^4.0.0"
+
+supports-color@^8.1.1:
+ version "8.1.1"
+ resolved
"https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"
+ integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
+ dependencies:
+ has-flag "^4.0.0"
+
+supports-hyperlinks@^2.2.0:
+ version "2.2.0"
+ resolved
"https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb"
+ integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==
+ dependencies:
+ has-flag "^4.0.0"
+ supports-color "^7.0.0"
+
+text-table@^0.2.0:
+ version "0.2.0"
+ resolved
"https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
+ integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
+
+to-regex-range@^5.0.1:
+ version "5.0.1"
+ resolved
"https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
+ integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
+ dependencies:
+ is-number "^7.0.0"
+
+tslib@^1, tslib@^1.8.1:
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
+ integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
+
+tslib@^2.0.0, tslib@^2.3.1:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3"
+ integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==
+
+tsutils@^3.21.0:
+ version "3.21.0"
+ resolved
"https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
+ integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==
+ dependencies:
+ tslib "^1.8.1"
+
+type-check@^0.4.0, type-check@~0.4.0:
+ version "0.4.0"
+ resolved
"https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
+ integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
+ dependencies:
+ prelude-ls "^1.2.1"
+
+type-fest@^0.20.2:
+ version "0.20.2"
+ resolved
"https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
+ integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
+
+type-fest@^0.21.3:
+ version "0.21.3"
+ resolved
"https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37"
+ integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==
+
+typescript@^4.7.4:
+ version "4.7.4"
+ resolved
"https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235"
+ integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==
+
+universalify@^0.1.0:
+ version "0.1.2"
+ resolved
"https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
+ integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
+
+universalify@^2.0.0:
+ version "2.0.0"
+ resolved
"https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"
+ integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
+
+uri-js@^4.2.2:
+ version "4.4.1"
+ resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
+ integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
+ dependencies:
+ punycode "^2.1.0"
+
+v8-compile-cache@^2.0.3:
+ version "2.3.0"
+ resolved
"https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee"
+ integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==
+
+which@^1.2.9:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
+ integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
+ dependencies:
+ isexe "^2.0.0"
+
+which@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
+ integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
+ dependencies:
+ isexe "^2.0.0"
+
+widest-line@^3.1.0:
+ version "3.1.0"
+ resolved
"https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca"
+ integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==
+ dependencies:
+ string-width "^4.0.0"
+
+word-wrap@^1.2.3:
+ version "1.2.3"
+ resolved
"https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
+ integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
+
+wrap-ansi@^6.2.0:
+ version "6.2.0"
+ resolved
"https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53"
+ integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
+ dependencies:
+ ansi-styles "^4.0.0"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
+
+wrap-ansi@^7.0.0:
+ version "7.0.0"
+ resolved
"https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
+ integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
+ dependencies:
+ ansi-styles "^4.0.0"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
+
+wrappy@1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+ integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
+
+yallist@^4.0.0:
+ version "4.0.0"
+ resolved
"https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
+ integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
+
+yocto-queue@^0.1.0:
+ version "0.1.0"
+ resolved
"https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
+ integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]