Upgrade to typescript-eslint v6 (#25904)
				
					
				
			This commit is contained in:
		@@ -325,8 +325,8 @@ module.exports = {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
      extends: [
 | 
					      extends: [
 | 
				
			||||||
        'eslint:recommended',
 | 
					        'eslint:recommended',
 | 
				
			||||||
        'plugin:@typescript-eslint/recommended',
 | 
					        'plugin:@typescript-eslint/strict-type-checked',
 | 
				
			||||||
        'plugin:@typescript-eslint/recommended-requiring-type-checking',
 | 
					        'plugin:@typescript-eslint/stylistic-type-checked',
 | 
				
			||||||
        'plugin:react/recommended',
 | 
					        'plugin:react/recommended',
 | 
				
			||||||
        'plugin:react-hooks/recommended',
 | 
					        'plugin:react-hooks/recommended',
 | 
				
			||||||
        'plugin:jsx-a11y/recommended',
 | 
					        'plugin:jsx-a11y/recommended',
 | 
				
			||||||
@@ -338,7 +338,7 @@ module.exports = {
 | 
				
			|||||||
      ],
 | 
					      ],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      parserOptions: {
 | 
					      parserOptions: {
 | 
				
			||||||
        project: './tsconfig.json',
 | 
					        project: true,
 | 
				
			||||||
        tsconfigRootDir: __dirname,
 | 
					        tsconfigRootDir: __dirname,
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -348,6 +348,7 @@ module.exports = {
 | 
				
			|||||||
        '@typescript-eslint/consistent-type-definitions': ['warn', 'interface'],
 | 
					        '@typescript-eslint/consistent-type-definitions': ['warn', 'interface'],
 | 
				
			||||||
        '@typescript-eslint/consistent-type-exports': 'error',
 | 
					        '@typescript-eslint/consistent-type-exports': 'error',
 | 
				
			||||||
        '@typescript-eslint/consistent-type-imports': 'error',
 | 
					        '@typescript-eslint/consistent-type-imports': 'error',
 | 
				
			||||||
 | 
					        "@typescript-eslint/prefer-nullish-coalescing": ['error', {ignorePrimitives: {boolean: true}}],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        'jsdoc/require-jsdoc': 'off',
 | 
					        'jsdoc/require-jsdoc': 'off',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -86,10 +86,9 @@ const DIGIT_CHARACTERS = [
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
export const decode83 = (str: string) => {
 | 
					export const decode83 = (str: string) => {
 | 
				
			||||||
  let value = 0;
 | 
					  let value = 0;
 | 
				
			||||||
  let c, digit;
 | 
					  let digit;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  for (let i = 0; i < str.length; i++) {
 | 
					  for (const c of str) {
 | 
				
			||||||
    c = str[i];
 | 
					 | 
				
			||||||
    digit = DIGIT_CHARACTERS.indexOf(c);
 | 
					    digit = DIGIT_CHARACTERS.indexOf(c);
 | 
				
			||||||
    value = value * 83 + digit;
 | 
					    value = value * 83 + digit;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,11 +6,11 @@ interface Props {
 | 
				
			|||||||
  tag: {
 | 
					  tag: {
 | 
				
			||||||
    name: string;
 | 
					    name: string;
 | 
				
			||||||
    url?: string;
 | 
					    url?: string;
 | 
				
			||||||
    history?: Array<{
 | 
					    history?: {
 | 
				
			||||||
      uses: number;
 | 
					      uses: number;
 | 
				
			||||||
      accounts: string;
 | 
					      accounts: string;
 | 
				
			||||||
      day: string;
 | 
					      day: string;
 | 
				
			||||||
    }>;
 | 
					    }[];
 | 
				
			||||||
    following?: boolean;
 | 
					    following?: boolean;
 | 
				
			||||||
    type: 'hashtag';
 | 
					    type: 'hashtag';
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,7 +5,7 @@ import type { Account } from '../../types/resources';
 | 
				
			|||||||
import { autoPlayGif } from '../initial_state';
 | 
					import { autoPlayGif } from '../initial_state';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
interface Props {
 | 
					interface Props {
 | 
				
			||||||
  account: Account;
 | 
					  account: Account | undefined; // FIXME: remove `undefined` once we know for sure its always there
 | 
				
			||||||
  size: number;
 | 
					  size: number;
 | 
				
			||||||
  style?: React.CSSProperties;
 | 
					  style?: React.CSSProperties;
 | 
				
			||||||
  inline?: boolean;
 | 
					  inline?: boolean;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,8 +3,8 @@ import type { Account } from '../../types/resources';
 | 
				
			|||||||
import { autoPlayGif } from '../initial_state';
 | 
					import { autoPlayGif } from '../initial_state';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
interface Props {
 | 
					interface Props {
 | 
				
			||||||
  account: Account;
 | 
					  account: Account | undefined; // FIXME: remove `undefined` once we know for sure its always there
 | 
				
			||||||
  friend: Account;
 | 
					  friend: Account | undefined; // FIXME: remove `undefined` once we know for sure its always there
 | 
				
			||||||
  size?: number;
 | 
					  size?: number;
 | 
				
			||||||
  baseSize?: number;
 | 
					  baseSize?: number;
 | 
				
			||||||
  overlaySize?: number;
 | 
					  overlaySize?: number;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -78,7 +78,7 @@ export class DisplayName extends React.PureComponent<Props> {
 | 
				
			|||||||
    } else if (account) {
 | 
					    } else if (account) {
 | 
				
			||||||
      let acct = account.get('acct');
 | 
					      let acct = account.get('acct');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      if (acct.indexOf('@') === -1 && localDomain) {
 | 
					      if (!acct.includes('@') && localDomain) {
 | 
				
			||||||
        acct = `${acct}@${localDomain}`;
 | 
					        acct = `${acct}@${localDomain}`;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -29,12 +29,12 @@ export const ShortNumberRenderer: React.FC<ShortNumberProps> = ({
 | 
				
			|||||||
    );
 | 
					    );
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const customRenderer = children || renderer || null;
 | 
					  const customRenderer = children ?? renderer ?? null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const displayNumber = <ShortNumberCounter value={shortNumber} />;
 | 
					  const displayNumber = <ShortNumberCounter value={shortNumber} />;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  return (
 | 
					  return (
 | 
				
			||||||
    customRenderer?.(displayNumber, pluralReady(value, division)) ||
 | 
					    customRenderer?.(displayNumber, pluralReady(value, division)) ??
 | 
				
			||||||
    displayNumber
 | 
					    displayNumber
 | 
				
			||||||
  );
 | 
					  );
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -28,9 +28,10 @@ export type SearchData = [
 | 
				
			|||||||
  Emoji['unified'],
 | 
					  Emoji['unified'],
 | 
				
			||||||
];
 | 
					];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export interface ShortCodesToEmojiData {
 | 
					export type ShortCodesToEmojiData = Record<
 | 
				
			||||||
  [key: ShortCodesToEmojiDataKey]: [FilenameData, SearchData];
 | 
					  ShortCodesToEmojiDataKey,
 | 
				
			||||||
}
 | 
					  [FilenameData, SearchData]
 | 
				
			||||||
 | 
					>;
 | 
				
			||||||
export type EmojisWithoutShortCodes = FilenameData[];
 | 
					export type EmojisWithoutShortCodes = FilenameData[];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export type EmojiCompressed = [
 | 
					export type EmojiCompressed = [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@ import emojiCompressed from './emoji_compressed';
 | 
				
			|||||||
import { unicodeToUnifiedName } from './unicode_to_unified_name';
 | 
					import { unicodeToUnifiedName } from './unicode_to_unified_name';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type Emojis = {
 | 
					type Emojis = {
 | 
				
			||||||
  [key in keyof ShortCodesToEmojiData]: {
 | 
					  [key in NonNullable<keyof ShortCodesToEmojiData>]: {
 | 
				
			||||||
    native: BaseEmoji['native'];
 | 
					    native: BaseEmoji['native'];
 | 
				
			||||||
    search: Search;
 | 
					    search: Search;
 | 
				
			||||||
    short_names: Emoji['short_names'];
 | 
					    short_names: Emoji['short_names'];
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -18,9 +18,9 @@ export const ColumnSettings: React.FC = () => {
 | 
				
			|||||||
  const dispatch = useAppDispatch();
 | 
					  const dispatch = useAppDispatch();
 | 
				
			||||||
  const onChange = useCallback(
 | 
					  const onChange = useCallback(
 | 
				
			||||||
    (key: string, checked: boolean) => {
 | 
					    (key: string, checked: boolean) => {
 | 
				
			||||||
      void dispatch(changeSetting(['home', ...key], checked));
 | 
					      dispatch(changeSetting(['home', ...key], checked));
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    [dispatch]
 | 
					    [dispatch],
 | 
				
			||||||
  );
 | 
					  );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  return (
 | 
					  return (
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,15 +3,19 @@ export interface LocaleData {
 | 
				
			|||||||
  messages: Record<string, string>;
 | 
					  messages: Record<string, string>;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
let loadedLocale: LocaleData;
 | 
					let loadedLocale: LocaleData | undefined;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function setLocale(locale: LocaleData) {
 | 
					export function setLocale(locale: LocaleData) {
 | 
				
			||||||
  loadedLocale = locale;
 | 
					  loadedLocale = locale;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function getLocale() {
 | 
					export function getLocale(): LocaleData {
 | 
				
			||||||
  if (!loadedLocale && process.env.NODE_ENV === 'development') {
 | 
					  if (!loadedLocale) {
 | 
				
			||||||
    throw new Error('getLocale() called before any locale has been set');
 | 
					    if (process.env.NODE_ENV === 'development') {
 | 
				
			||||||
 | 
					      throw new Error('getLocale() called before any locale has been set');
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					      return { locale: 'unknown', messages: {} };
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  return loadedLocale;
 | 
					  return loadedLocale;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,6 +6,7 @@ import { isLocaleLoaded, setLocale } from './global_locale';
 | 
				
			|||||||
const localeLoadingSemaphore = new Semaphore(1);
 | 
					const localeLoadingSemaphore = new Semaphore(1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export async function loadLocale() {
 | 
					export async function loadLocale() {
 | 
				
			||||||
 | 
					  // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing -- we want to match empty strings
 | 
				
			||||||
  const locale = document.querySelector<HTMLElement>('html')?.lang || 'en';
 | 
					  const locale = document.querySelector<HTMLElement>('html')?.lang || 'en';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // We use a Semaphore here so only one thing can try to load the locales at
 | 
					  // We use a Semaphore here so only one thing can try to load the locales at
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,7 +4,7 @@ import 'core-js/features/symbol';
 | 
				
			|||||||
import 'core-js/features/promise/finally';
 | 
					import 'core-js/features/promise/finally';
 | 
				
			||||||
import { decode as decodeBase64 } from '../utils/base64';
 | 
					import { decode as decodeBase64 } from '../utils/base64';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if (!HTMLCanvasElement.prototype.toBlob) {
 | 
					if (!Object.hasOwn(HTMLCanvasElement.prototype, 'toBlob')) {
 | 
				
			||||||
  const BASE64_MARKER = ';base64,';
 | 
					  const BASE64_MARKER = ';base64,';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  Object.defineProperty(HTMLCanvasElement.prototype, 'toBlob', {
 | 
					  Object.defineProperty(HTMLCanvasElement.prototype, 'toBlob', {
 | 
				
			||||||
@@ -17,7 +17,7 @@ if (!HTMLCanvasElement.prototype.toBlob) {
 | 
				
			|||||||
      const dataURL: string = this.toDataURL(type, quality);
 | 
					      const dataURL: string = this.toDataURL(type, quality);
 | 
				
			||||||
      let data;
 | 
					      let data;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      if (dataURL.indexOf(BASE64_MARKER) >= 0) {
 | 
					      if (dataURL.includes(BASE64_MARKER)) {
 | 
				
			||||||
        const [, base64] = dataURL.split(BASE64_MARKER);
 | 
					        const [, base64] = dataURL.split(BASE64_MARKER);
 | 
				
			||||||
        data = decodeBase64(base64);
 | 
					        data = decodeBase64(base64);
 | 
				
			||||||
      } else {
 | 
					      } else {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -24,6 +24,7 @@ export function loadPolyfills() {
 | 
				
			|||||||
  // Latest version of Firefox and Safari do not have IntersectionObserver.
 | 
					  // Latest version of Firefox and Safari do not have IntersectionObserver.
 | 
				
			||||||
  // Edge does not have requestIdleCallback.
 | 
					  // Edge does not have requestIdleCallback.
 | 
				
			||||||
  // This avoids shipping them all the polyfills.
 | 
					  // This avoids shipping them all the polyfills.
 | 
				
			||||||
 | 
					  /* eslint-disable @typescript-eslint/no-unnecessary-condition -- those properties might not exist in old browsers, even if they are always here in types */
 | 
				
			||||||
  const needsExtraPolyfills = !(
 | 
					  const needsExtraPolyfills = !(
 | 
				
			||||||
    window.AbortController &&
 | 
					    window.AbortController &&
 | 
				
			||||||
    window.IntersectionObserver &&
 | 
					    window.IntersectionObserver &&
 | 
				
			||||||
@@ -31,6 +32,7 @@ export function loadPolyfills() {
 | 
				
			|||||||
    'isIntersecting' in IntersectionObserverEntry.prototype &&
 | 
					    'isIntersecting' in IntersectionObserverEntry.prototype &&
 | 
				
			||||||
    window.requestIdleCallback
 | 
					    window.requestIdleCallback
 | 
				
			||||||
  );
 | 
					  );
 | 
				
			||||||
 | 
					  /* eslint-enable @typescript-eslint/no-unnecessary-condition */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  return Promise.all([
 | 
					  return Promise.all([
 | 
				
			||||||
    loadIntlPolyfills(),
 | 
					    loadIntlPolyfills(),
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -80,6 +80,7 @@ async function loadIntlPluralRulesPolyfills(locale: string) {
 | 
				
			|||||||
// }
 | 
					// }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export async function loadIntlPolyfills() {
 | 
					export async function loadIntlPolyfills() {
 | 
				
			||||||
 | 
					  // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing -- we want to match empty strings
 | 
				
			||||||
  const locale = document.querySelector('html')?.lang || 'en';
 | 
					  const locale = document.querySelector('html')?.lang || 'en';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // order is important here
 | 
					  // order is important here
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -38,11 +38,13 @@ const scroll = (
 | 
				
			|||||||
const isScrollBehaviorSupported =
 | 
					const isScrollBehaviorSupported =
 | 
				
			||||||
  'scrollBehavior' in document.documentElement.style;
 | 
					  'scrollBehavior' in document.documentElement.style;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const scrollRight = (node: Element, position: number) =>
 | 
					export const scrollRight = (node: Element, position: number) => {
 | 
				
			||||||
  isScrollBehaviorSupported
 | 
					  if (isScrollBehaviorSupported)
 | 
				
			||||||
    ? node.scrollTo({ left: position, behavior: 'smooth' })
 | 
					    node.scrollTo({ left: position, behavior: 'smooth' });
 | 
				
			||||||
    : scroll(node, 'scrollLeft', position);
 | 
					  else scroll(node, 'scrollLeft', position);
 | 
				
			||||||
export const scrollTop = (node: Element) =>
 | 
					};
 | 
				
			||||||
  isScrollBehaviorSupported
 | 
					
 | 
				
			||||||
    ? node.scrollTo({ top: 0, behavior: 'smooth' })
 | 
					export const scrollTop = (node: Element) => {
 | 
				
			||||||
    : scroll(node, 'scrollTop', 0);
 | 
					  if (isScrollBehaviorSupported) node.scrollTo({ top: 0, behavior: 'smooth' });
 | 
				
			||||||
 | 
					  else scroll(node, 'scrollTop', 0);
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -16,7 +16,7 @@ const defaultTypeSuffixes: Config['promiseTypeSuffixes'] = [
 | 
				
			|||||||
export const loadingBarMiddleware = (
 | 
					export const loadingBarMiddleware = (
 | 
				
			||||||
  config: Config = {},
 | 
					  config: Config = {},
 | 
				
			||||||
): Middleware<Record<string, never>, RootState> => {
 | 
					): Middleware<Record<string, never>, RootState> => {
 | 
				
			||||||
  const promiseTypeSuffixes = config.promiseTypeSuffixes || defaultTypeSuffixes;
 | 
					  const promiseTypeSuffixes = config.promiseTypeSuffixes ?? defaultTypeSuffixes;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  return ({ dispatch }) =>
 | 
					  return ({ dispatch }) =>
 | 
				
			||||||
    (next) =>
 | 
					    (next) =>
 | 
				
			||||||
@@ -32,7 +32,7 @@ export const loadingBarMiddleware = (
 | 
				
			|||||||
          if (action.type.match(isPending)) {
 | 
					          if (action.type.match(isPending)) {
 | 
				
			||||||
            dispatch(showLoading());
 | 
					            dispatch(showLoading());
 | 
				
			||||||
          } else if (
 | 
					          } else if (
 | 
				
			||||||
            action.type.match(isFulfilled) ||
 | 
					            action.type.match(isFulfilled) ??
 | 
				
			||||||
            action.type.match(isRejected)
 | 
					            action.type.match(isRejected)
 | 
				
			||||||
          ) {
 | 
					          ) {
 | 
				
			||||||
            dispatch(hideLoading());
 | 
					            dispatch(hideLoading());
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -38,7 +38,7 @@ export const soundsMiddleware = (): Middleware<
 | 
				
			|||||||
  Record<string, never>,
 | 
					  Record<string, never>,
 | 
				
			||||||
  RootState
 | 
					  RootState
 | 
				
			||||||
> => {
 | 
					> => {
 | 
				
			||||||
  const soundCache: { [key: string]: HTMLAudioElement } = {};
 | 
					  const soundCache: Record<string, HTMLAudioElement> = {};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  void ready(() => {
 | 
					  void ready(() => {
 | 
				
			||||||
    soundCache.boop = createAudio([
 | 
					    soundCache.boop = createAudio([
 | 
				
			||||||
@@ -56,9 +56,9 @@ export const soundsMiddleware = (): Middleware<
 | 
				
			|||||||
  return () =>
 | 
					  return () =>
 | 
				
			||||||
    (next) =>
 | 
					    (next) =>
 | 
				
			||||||
    (action: AnyAction & { meta?: { sound?: string } }) => {
 | 
					    (action: AnyAction & { meta?: { sound?: string } }) => {
 | 
				
			||||||
      const sound = action?.meta?.sound;
 | 
					      const sound = action.meta?.sound;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      if (sound && soundCache[sound]) {
 | 
					      if (sound && Object.hasOwn(soundCache, sound)) {
 | 
				
			||||||
        play(soundCache[sound]);
 | 
					        play(soundCache[sound]);
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,7 +7,7 @@ export const toServerSideType = (columnType: string) => {
 | 
				
			|||||||
    case 'account':
 | 
					    case 'account':
 | 
				
			||||||
      return columnType;
 | 
					      return columnType;
 | 
				
			||||||
    default:
 | 
					    default:
 | 
				
			||||||
      if (columnType.indexOf('list:') > -1) {
 | 
					      if (columnType.includes('list:')) {
 | 
				
			||||||
        return 'home';
 | 
					        return 'home';
 | 
				
			||||||
      } else {
 | 
					      } else {
 | 
				
			||||||
        return 'public'; // community, account, hashtag
 | 
					        return 'public'; // community, account, hashtag
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -55,7 +55,7 @@ export function toShortNumber(sourceNumber: number): ShortNumber {
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
export function pluralReady(
 | 
					export function pluralReady(
 | 
				
			||||||
  sourceNumber: number,
 | 
					  sourceNumber: number,
 | 
				
			||||||
  division: DecimalUnits,
 | 
					  division: DecimalUnits | null,
 | 
				
			||||||
): number {
 | 
					): number {
 | 
				
			||||||
  if (division == null || division < DECIMAL_UNITS.HUNDRED) {
 | 
					  if (division == null || division < DECIMAL_UNITS.HUNDRED) {
 | 
				
			||||||
    return sourceNumber;
 | 
					    return sourceNumber;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,6 +4,5 @@ export function uuid(a?: string): string {
 | 
				
			|||||||
        (a as unknown as number) ^
 | 
					        (a as unknown as number) ^
 | 
				
			||||||
        ((Math.random() * 16) >> ((a as unknown as number) / 4))
 | 
					        ((Math.random() * 16) >> ((a as unknown as number) / 4))
 | 
				
			||||||
      ).toString(16)
 | 
					      ).toString(16)
 | 
				
			||||||
    : // eslint-disable-next-line @typescript-eslint/restrict-plus-operands
 | 
					    : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);
 | 
				
			||||||
      ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -181,8 +181,8 @@
 | 
				
			|||||||
    "@types/uuid": "^9.0.0",
 | 
					    "@types/uuid": "^9.0.0",
 | 
				
			||||||
    "@types/webpack": "^4.41.33",
 | 
					    "@types/webpack": "^4.41.33",
 | 
				
			||||||
    "@types/yargs": "^17.0.24",
 | 
					    "@types/yargs": "^17.0.24",
 | 
				
			||||||
    "@typescript-eslint/eslint-plugin": "^5.59.8",
 | 
					    "@typescript-eslint/eslint-plugin": "^6.0.0",
 | 
				
			||||||
    "@typescript-eslint/parser": "^5.59.8",
 | 
					    "@typescript-eslint/parser": "^6.0.0",
 | 
				
			||||||
    "babel-jest": "^29.5.0",
 | 
					    "babel-jest": "^29.5.0",
 | 
				
			||||||
    "eslint": "^8.41.0",
 | 
					    "eslint": "^8.41.0",
 | 
				
			||||||
    "eslint-config-prettier": "^8.8.0",
 | 
					    "eslint-config-prettier": "^8.8.0",
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										140
									
								
								yarn.lock
									
									
									
									
									
								
							
							
						
						
									
										140
									
								
								yarn.lock
									
									
									
									
									
								
							@@ -1245,14 +1245,14 @@
 | 
				
			|||||||
    esquery "^1.5.0"
 | 
					    esquery "^1.5.0"
 | 
				
			||||||
    jsdoc-type-pratt-parser "~4.0.0"
 | 
					    jsdoc-type-pratt-parser "~4.0.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@eslint-community/eslint-utils@^4.2.0":
 | 
					"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.3.0":
 | 
				
			||||||
  version "4.4.0"
 | 
					  version "4.4.0"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59"
 | 
					  resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59"
 | 
				
			||||||
  integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==
 | 
					  integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    eslint-visitor-keys "^3.3.0"
 | 
					    eslint-visitor-keys "^3.3.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@eslint-community/regexpp@^4.4.0":
 | 
					"@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.5.0":
 | 
				
			||||||
  version "4.5.1"
 | 
					  version "4.5.1"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.1.tgz#cdd35dce4fa1a89a4fd42b1599eb35b3af408884"
 | 
					  resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.1.tgz#cdd35dce4fa1a89a4fd42b1599eb35b3af408884"
 | 
				
			||||||
  integrity sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==
 | 
					  integrity sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==
 | 
				
			||||||
@@ -2115,7 +2115,7 @@
 | 
				
			|||||||
    "@types/tough-cookie" "*"
 | 
					    "@types/tough-cookie" "*"
 | 
				
			||||||
    parse5 "^7.0.0"
 | 
					    parse5 "^7.0.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9":
 | 
					"@types/json-schema@*", "@types/json-schema@^7.0.11", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8":
 | 
				
			||||||
  version "7.0.12"
 | 
					  version "7.0.12"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.12.tgz#d70faba7039d5fca54c83c7dbab41051d2b6f6cb"
 | 
					  resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.12.tgz#d70faba7039d5fca54c83c7dbab41051d2b6f6cb"
 | 
				
			||||||
  integrity sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==
 | 
					  integrity sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==
 | 
				
			||||||
@@ -2468,59 +2468,63 @@
 | 
				
			|||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@types/yargs-parser" "*"
 | 
					    "@types/yargs-parser" "*"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@typescript-eslint/eslint-plugin@^5.59.8":
 | 
					"@typescript-eslint/eslint-plugin@^6.0.0":
 | 
				
			||||||
  version "5.59.11"
 | 
					  version "6.0.0"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.11.tgz#8d466aa21abea4c3f37129997b198d141f09e76f"
 | 
					  resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.0.0.tgz#19ff4f1cab8d6f8c2c1825150f7a840bc5d9bdc4"
 | 
				
			||||||
  integrity sha512-XxuOfTkCUiOSyBWIvHlUraLw/JT/6Io1365RO6ZuI88STKMavJZPNMU0lFcUTeQXEhHiv64CbxYxBNoDVSmghg==
 | 
					  integrity sha512-xuv6ghKGoiq856Bww/yVYnXGsKa588kY3M0XK7uUW/3fJNNULKRfZfSBkMTSpqGG/8ZCXCadfh8G/z/B4aqS/A==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@eslint-community/regexpp" "^4.4.0"
 | 
					    "@eslint-community/regexpp" "^4.5.0"
 | 
				
			||||||
    "@typescript-eslint/scope-manager" "5.59.11"
 | 
					    "@typescript-eslint/scope-manager" "6.0.0"
 | 
				
			||||||
    "@typescript-eslint/type-utils" "5.59.11"
 | 
					    "@typescript-eslint/type-utils" "6.0.0"
 | 
				
			||||||
    "@typescript-eslint/utils" "5.59.11"
 | 
					    "@typescript-eslint/utils" "6.0.0"
 | 
				
			||||||
 | 
					    "@typescript-eslint/visitor-keys" "6.0.0"
 | 
				
			||||||
    debug "^4.3.4"
 | 
					    debug "^4.3.4"
 | 
				
			||||||
    grapheme-splitter "^1.0.4"
 | 
					    grapheme-splitter "^1.0.4"
 | 
				
			||||||
    ignore "^5.2.0"
 | 
					    graphemer "^1.4.0"
 | 
				
			||||||
 | 
					    ignore "^5.2.4"
 | 
				
			||||||
 | 
					    natural-compare "^1.4.0"
 | 
				
			||||||
    natural-compare-lite "^1.4.0"
 | 
					    natural-compare-lite "^1.4.0"
 | 
				
			||||||
    semver "^7.3.7"
 | 
					    semver "^7.5.0"
 | 
				
			||||||
    tsutils "^3.21.0"
 | 
					    ts-api-utils "^1.0.1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@typescript-eslint/parser@^5.59.8":
 | 
					"@typescript-eslint/parser@^6.0.0":
 | 
				
			||||||
  version "5.59.11"
 | 
					  version "6.0.0"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.59.11.tgz#af7d4b7110e3068ce0b97550736de455e4250103"
 | 
					  resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.0.0.tgz#46b2600fd1f67e62fc00a28093a75f41bf7effc4"
 | 
				
			||||||
  integrity sha512-s9ZF3M+Nym6CAZEkJJeO2TFHHDsKAM3ecNkLuH4i4s8/RCPnF5JRip2GyviYkeEAcwGMJxkqG9h2dAsnA1nZpA==
 | 
					  integrity sha512-TNaufYSPrr1U8n+3xN+Yp9g31vQDJqhXzzPSHfQDLcaO4tU+mCfODPxCwf4H530zo7aUBE3QIdxCXamEnG04Tg==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@typescript-eslint/scope-manager" "5.59.11"
 | 
					    "@typescript-eslint/scope-manager" "6.0.0"
 | 
				
			||||||
    "@typescript-eslint/types" "5.59.11"
 | 
					    "@typescript-eslint/types" "6.0.0"
 | 
				
			||||||
    "@typescript-eslint/typescript-estree" "5.59.11"
 | 
					    "@typescript-eslint/typescript-estree" "6.0.0"
 | 
				
			||||||
 | 
					    "@typescript-eslint/visitor-keys" "6.0.0"
 | 
				
			||||||
    debug "^4.3.4"
 | 
					    debug "^4.3.4"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@typescript-eslint/scope-manager@5.59.11":
 | 
					"@typescript-eslint/scope-manager@6.0.0":
 | 
				
			||||||
  version "5.59.11"
 | 
					  version "6.0.0"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.11.tgz#5d131a67a19189c42598af9fb2ea1165252001ce"
 | 
					  resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.0.0.tgz#8ede47a37cb2b7ed82d329000437abd1113b5e11"
 | 
				
			||||||
  integrity sha512-dHFOsxoLFtrIcSj5h0QoBT/89hxQONwmn3FOQ0GOQcLOOXm+MIrS8zEAhs4tWl5MraxCY3ZJpaXQQdFMc2Tu+Q==
 | 
					  integrity sha512-o4q0KHlgCZTqjuaZ25nw5W57NeykZT9LiMEG4do/ovwvOcPnDO1BI5BQdCsUkjxFyrCL0cSzLjvIMfR9uo7cWg==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@typescript-eslint/types" "5.59.11"
 | 
					    "@typescript-eslint/types" "6.0.0"
 | 
				
			||||||
    "@typescript-eslint/visitor-keys" "5.59.11"
 | 
					    "@typescript-eslint/visitor-keys" "6.0.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@typescript-eslint/type-utils@5.59.11":
 | 
					"@typescript-eslint/type-utils@6.0.0":
 | 
				
			||||||
  version "5.59.11"
 | 
					  version "6.0.0"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.59.11.tgz#5eb67121808a84cb57d65a15f48f5bdda25f2346"
 | 
					  resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.0.0.tgz#0478d8a94f05e51da2877cc0500f1b3c27ac7e18"
 | 
				
			||||||
  integrity sha512-LZqVY8hMiVRF2a7/swmkStMYSoXMFlzL6sXV6U/2gL5cwnLWQgLEG8tjWPpaE4rMIdZ6VKWwcffPlo1jPfk43g==
 | 
					  integrity sha512-ah6LJvLgkoZ/pyJ9GAdFkzeuMZ8goV6BH7eC9FPmojrnX9yNCIsfjB+zYcnex28YO3RFvBkV6rMV6WpIqkPvoQ==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@typescript-eslint/typescript-estree" "5.59.11"
 | 
					    "@typescript-eslint/typescript-estree" "6.0.0"
 | 
				
			||||||
    "@typescript-eslint/utils" "5.59.11"
 | 
					    "@typescript-eslint/utils" "6.0.0"
 | 
				
			||||||
    debug "^4.3.4"
 | 
					    debug "^4.3.4"
 | 
				
			||||||
    tsutils "^3.21.0"
 | 
					    ts-api-utils "^1.0.1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@typescript-eslint/types@5.59.0":
 | 
					"@typescript-eslint/types@5.59.0":
 | 
				
			||||||
  version "5.59.0"
 | 
					  version "5.59.0"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.0.tgz#3fcdac7dbf923ec5251545acdd9f1d42d7c4fe32"
 | 
					  resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.0.tgz#3fcdac7dbf923ec5251545acdd9f1d42d7c4fe32"
 | 
				
			||||||
  integrity sha512-yR2h1NotF23xFFYKHZs17QJnB51J/s+ud4PYU4MqdZbzeNxpgUr05+dNeCN/bb6raslHvGdd6BFCkVhpPk/ZeA==
 | 
					  integrity sha512-yR2h1NotF23xFFYKHZs17QJnB51J/s+ud4PYU4MqdZbzeNxpgUr05+dNeCN/bb6raslHvGdd6BFCkVhpPk/ZeA==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@typescript-eslint/types@5.59.11":
 | 
					"@typescript-eslint/types@6.0.0":
 | 
				
			||||||
  version "5.59.11"
 | 
					  version "6.0.0"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.11.tgz#1a9018fe3c565ba6969561f2a49f330cf1fe8db1"
 | 
					  resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.0.0.tgz#19795f515f8decbec749c448b0b5fc76d82445a1"
 | 
				
			||||||
  integrity sha512-epoN6R6tkvBYSc+cllrz+c2sOFWkbisJZWkOE+y3xHtvYaOE6Wk6B8e114McRJwFRjGvYdJwLXQH5c9osME/AA==
 | 
					  integrity sha512-Zk9KDggyZM6tj0AJWYYKgF0yQyrcnievdhG0g5FqyU3Y2DRxJn4yWY21sJC0QKBckbsdKKjYDV2yVrrEvuTgxg==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@typescript-eslint/typescript-estree@5.59.0":
 | 
					"@typescript-eslint/typescript-estree@5.59.0":
 | 
				
			||||||
  version "5.59.0"
 | 
					  version "5.59.0"
 | 
				
			||||||
@@ -2535,32 +2539,32 @@
 | 
				
			|||||||
    semver "^7.3.7"
 | 
					    semver "^7.3.7"
 | 
				
			||||||
    tsutils "^3.21.0"
 | 
					    tsutils "^3.21.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@typescript-eslint/typescript-estree@5.59.11":
 | 
					"@typescript-eslint/typescript-estree@6.0.0":
 | 
				
			||||||
  version "5.59.11"
 | 
					  version "6.0.0"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.11.tgz#b2caaa31725e17c33970c1197bcd54e3c5f42b9f"
 | 
					  resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.0.0.tgz#1e09aab7320e404fb9f83027ea568ac24e372f81"
 | 
				
			||||||
  integrity sha512-YupOpot5hJO0maupJXixi6l5ETdrITxeo5eBOeuV7RSKgYdU3G5cxO49/9WRnJq9EMrB7AuTSLH/bqOsXi7wPA==
 | 
					  integrity sha512-2zq4O7P6YCQADfmJ5OTDQTP3ktajnXIRrYAtHM9ofto/CJZV3QfJ89GEaM2BNGeSr1KgmBuLhEkz5FBkS2RQhQ==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@typescript-eslint/types" "5.59.11"
 | 
					    "@typescript-eslint/types" "6.0.0"
 | 
				
			||||||
    "@typescript-eslint/visitor-keys" "5.59.11"
 | 
					    "@typescript-eslint/visitor-keys" "6.0.0"
 | 
				
			||||||
    debug "^4.3.4"
 | 
					    debug "^4.3.4"
 | 
				
			||||||
    globby "^11.1.0"
 | 
					    globby "^11.1.0"
 | 
				
			||||||
    is-glob "^4.0.3"
 | 
					    is-glob "^4.0.3"
 | 
				
			||||||
    semver "^7.3.7"
 | 
					    semver "^7.5.0"
 | 
				
			||||||
    tsutils "^3.21.0"
 | 
					    ts-api-utils "^1.0.1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@typescript-eslint/utils@5.59.11":
 | 
					"@typescript-eslint/utils@6.0.0":
 | 
				
			||||||
  version "5.59.11"
 | 
					  version "6.0.0"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.59.11.tgz#9dbff49dc80bfdd9289f9f33548f2e8db3c59ba1"
 | 
					  resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.0.0.tgz#27a16d0d8f2719274a39417b9782f7daa3802db0"
 | 
				
			||||||
  integrity sha512-didu2rHSOMUdJThLk4aZ1Or8IcO3HzCw/ZvEjTTIfjIrcdd5cvSIwwDy2AOlE7htSNp7QIZ10fLMyRCveesMLg==
 | 
					  integrity sha512-SOr6l4NB6HE4H/ktz0JVVWNXqCJTOo/mHnvIte1ZhBQ0Cvd04x5uKZa3zT6tiodL06zf5xxdK8COiDvPnQ27JQ==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@eslint-community/eslint-utils" "^4.2.0"
 | 
					    "@eslint-community/eslint-utils" "^4.3.0"
 | 
				
			||||||
    "@types/json-schema" "^7.0.9"
 | 
					    "@types/json-schema" "^7.0.11"
 | 
				
			||||||
    "@types/semver" "^7.3.12"
 | 
					    "@types/semver" "^7.3.12"
 | 
				
			||||||
    "@typescript-eslint/scope-manager" "5.59.11"
 | 
					    "@typescript-eslint/scope-manager" "6.0.0"
 | 
				
			||||||
    "@typescript-eslint/types" "5.59.11"
 | 
					    "@typescript-eslint/types" "6.0.0"
 | 
				
			||||||
    "@typescript-eslint/typescript-estree" "5.59.11"
 | 
					    "@typescript-eslint/typescript-estree" "6.0.0"
 | 
				
			||||||
    eslint-scope "^5.1.1"
 | 
					    eslint-scope "^5.1.1"
 | 
				
			||||||
    semver "^7.3.7"
 | 
					    semver "^7.5.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@typescript-eslint/visitor-keys@5.59.0":
 | 
					"@typescript-eslint/visitor-keys@5.59.0":
 | 
				
			||||||
  version "5.59.0"
 | 
					  version "5.59.0"
 | 
				
			||||||
@@ -2570,13 +2574,13 @@
 | 
				
			|||||||
    "@typescript-eslint/types" "5.59.0"
 | 
					    "@typescript-eslint/types" "5.59.0"
 | 
				
			||||||
    eslint-visitor-keys "^3.3.0"
 | 
					    eslint-visitor-keys "^3.3.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@typescript-eslint/visitor-keys@5.59.11":
 | 
					"@typescript-eslint/visitor-keys@6.0.0":
 | 
				
			||||||
  version "5.59.11"
 | 
					  version "6.0.0"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.11.tgz#dca561ddad169dc27d62396d64f45b2d2c3ecc56"
 | 
					  resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.0.0.tgz#0b49026049fbd096d2c00c5e784866bc69532a31"
 | 
				
			||||||
  integrity sha512-KGYniTGG3AMTuKF9QBD7EIrvufkB6O6uX3knP73xbKLMpH+QRPcgnCxjWXSHjMRuOxFLovljqQgQpR0c7GvjoA==
 | 
					  integrity sha512-cvJ63l8c0yXdeT5POHpL0Q1cZoRcmRKFCtSjNGJxPkcP571EfZMcNbzWAc7oK3D1dRzm/V5EwtkANTZxqvuuUA==
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@typescript-eslint/types" "5.59.11"
 | 
					    "@typescript-eslint/types" "6.0.0"
 | 
				
			||||||
    eslint-visitor-keys "^3.3.0"
 | 
					    eslint-visitor-keys "^3.4.1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@webassemblyjs/ast@1.9.0":
 | 
					"@webassemblyjs/ast@1.9.0":
 | 
				
			||||||
  version "1.9.0"
 | 
					  version "1.9.0"
 | 
				
			||||||
@@ -10313,6 +10317,13 @@ semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.5.1:
 | 
				
			|||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    lru-cache "^6.0.0"
 | 
					    lru-cache "^6.0.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					semver@^7.5.0:
 | 
				
			||||||
 | 
					  version "7.5.4"
 | 
				
			||||||
 | 
					  resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
 | 
				
			||||||
 | 
					  integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
 | 
				
			||||||
 | 
					  dependencies:
 | 
				
			||||||
 | 
					    lru-cache "^6.0.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
send@0.18.0:
 | 
					send@0.18.0:
 | 
				
			||||||
  version "0.18.0"
 | 
					  version "0.18.0"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be"
 | 
					  resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be"
 | 
				
			||||||
@@ -11404,6 +11415,11 @@ trim-newlines@^4.0.2:
 | 
				
			|||||||
  resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-4.1.1.tgz#28c88deb50ed10c7ba6dc2474421904a00139125"
 | 
					  resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-4.1.1.tgz#28c88deb50ed10c7ba6dc2474421904a00139125"
 | 
				
			||||||
  integrity sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==
 | 
					  integrity sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ts-api-utils@^1.0.1:
 | 
				
			||||||
 | 
					  version "1.0.1"
 | 
				
			||||||
 | 
					  resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.0.1.tgz#8144e811d44c749cd65b2da305a032510774452d"
 | 
				
			||||||
 | 
					  integrity sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
tsconfig-paths@^3.14.1:
 | 
					tsconfig-paths@^3.14.1:
 | 
				
			||||||
  version "3.14.2"
 | 
					  version "3.14.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088"
 | 
					  resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088"
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user