Untitled

 avatar
unknown
plain_text
2 years ago
52 kB
8
Indexable
       |                        ^^^^^^^^^^^^
    20 |
    21 | type Interaction = 'hover' | 'click' | 'focus';
    22 |

ERROR in resources/scripts/components/elements/transitions/FadeTransition.tsx:2:28
TS2307: Cannot find module '@headlessui/react' or its corresponding type declarations.
    1 | import React from 'react';
  > 2 | import { Transition } from '@headlessui/react';
      |                            ^^^^^^^^^^^^^^^^^^^
    3 |
    4 | type Duration = `duration-${number}`;
    5 |

ERROR in resources/scripts/components/elements/transitions/index.ts:1:51
TS2307: Cannot find module '@headlessui/react' or its corresponding type declarations.
  > 1 | import { Transition as TransitionComponent } from '@headlessui/react';
      |                                                   ^^^^^^^^^^^^^^^^^^^
    2 | import FadeTransition from '@/components/elements/transitions/FadeTransition';
    3 |
    4 | const Transition = Object.assign(TransitionComponent, {

ERROR in resources/scripts/components/server/console/chart.ts:4:5
TS2724: '"chart.js"' has no exported member named 'ChartDataset'. Did you mean 'ChartDataSets'?
    2 |     Chart as ChartJS,
    3 |     ChartData,
  > 4 |     ChartDataset,
      |     ^^^^^^^^^^^^
    5 |     ChartOptions,
    6 |     Filler,
    7 |     LinearScale,

ERROR in resources/scripts/components/server/console/chart.ts:6:5
TS2305: Module '"chart.js"' has no exported member 'Filler'.
    4 |     ChartDataset,
    5 |     ChartOptions,
  > 6 |     Filler,
      |     ^^^^^^
    7 |     LinearScale,
    8 |     LineElement,
    9 |     PointElement,

ERROR in resources/scripts/components/server/console/chart.ts:8:5
TS2305: Module '"chart.js"' has no exported member 'LineElement'.
     6 |     Filler,
     7 |     LinearScale,
  >  8 |     LineElement,
       |     ^^^^^^^^^^^
     9 |     PointElement,
    10 | } from 'chart.js';
    11 | import { DeepPartial } from 'ts-essentials';

ERROR in resources/scripts/components/server/console/chart.ts:9:5
TS2305: Module '"chart.js"' has no exported member 'PointElement'.
     7 |     LinearScale,
     8 |     LineElement,
  >  9 |     PointElement,
       |     ^^^^^^^^^^^^
    10 | } from 'chart.js';
    11 | import { DeepPartial } from 'ts-essentials';
    12 | import { useState } from 'react';

ERROR in resources/scripts/components/server/console/chart.ts:11:29
TS2307: Cannot find module 'ts-essentials' or its corresponding type declarations.
     9 |     PointElement,
    10 | } from 'chart.js';
  > 11 | import { DeepPartial } from 'ts-essentials';
       |                             ^^^^^^^^^^^^^^^
    12 | import { useState } from 'react';
    13 | import { deepmerge, deepmergeCustom } from 'deepmerge-ts';
    14 | import { theme } from 'twin.macro';

ERROR in resources/scripts/components/server/console/chart.ts:13:44
TS2307: Cannot find module 'deepmerge-ts' or its corresponding type declarations.
    11 | import { DeepPartial } from 'ts-essentials';
    12 | import { useState } from 'react';
  > 13 | import { deepmerge, deepmergeCustom } from 'deepmerge-ts';
       |                                            ^^^^^^^^^^^^^^
    14 | import { theme } from 'twin.macro';
    15 | import { hexToRgba } from '@/lib/helpers';
    16 |

ERROR in resources/scripts/components/server/console/chart.ts:17:9
TS2339: Property 'register' does not exist on type 'typeof Chart'.
    15 | import { hexToRgba } from '@/lib/helpers';
    16 |
  > 17 | ChartJS.register(LineElement, PointElement, Filler, LinearScale);
       |         ^^^^^^^^
    18 |
    19 | const options: ChartOptions<'line'> = {
    20 |     responsive: true,

ERROR in resources/scripts/components/server/console/chart.ts:17:53
TS2693: 'LinearScale' only refers to a type, but is being used as a value here.
    15 | import { hexToRgba } from '@/lib/helpers';
    16 |
  > 17 | ChartJS.register(LineElement, PointElement, Filler, LinearScale);
       |                                                     ^^^^^^^^^^^
    18 |
    19 | const options: ChartOptions<'line'> = {
    20 |     responsive: true,

ERROR in resources/scripts/components/server/console/chart.ts:19:16
TS2315: Type 'ChartOptions' is not generic.
    17 | ChartJS.register(LineElement, PointElement, Filler, LinearScale);
    18 |
  > 19 | const options: ChartOptions<'line'> = {
       |                ^^^^^^^^^^^^^^^^^^^^
    20 |     responsive: true,
    21 |     animation: false,
    22 |     plugins: {

ERROR in resources/scripts/components/server/console/chart.ts:73:40
TS2315: Type 'ChartOptions' is not generic.
    71 | };
    72 |
  > 73 | function getOptions(opts?: DeepPartial<ChartOptions<'line'>> | undefined): ChartOptions<'line'> {
       |                                        ^^^^^^^^^^^^^^^^^^^^
    74 |     return deepmerge(options, opts || {});
    75 | }
    76 |

ERROR in resources/scripts/components/server/console/chart.ts:73:76
TS2315: Type 'ChartOptions' is not generic.
    71 | };
    72 |
  > 73 | function getOptions(opts?: DeepPartial<ChartOptions<'line'>> | undefined): ChartOptions<'line'> {
       |                                                                            ^^^^^^^^^^^^^^^^^^^^
    74 |     return deepmerge(options, opts || {});
    75 | }
    76 |

ERROR in resources/scripts/components/server/console/chart.ts:79:94
TS2315: Type 'ChartData' is not generic.
    77 | type ChartDatasetCallback = (value: ChartDataset<'line'>, index: number) => ChartDataset<'line'>;
    78 |
  > 79 | function getEmptyData(label: string, sets = 1, callback?: ChartDatasetCallback | undefined): ChartData<'line'> {
       |                                                                                              ^^^^^^^^^^^^^^^^^
    80 |     const next = callback || ((value) => value);
    81 |
    82 |     return {

ERROR in resources/scripts/components/server/console/chart.ts:107:27
TS2315: Type 'ChartOptions' is not generic.
    105 | interface UseChartOptions {
    106 |     sets: number;
  > 107 |     options?: DeepPartial<ChartOptions<'line'>> | number | undefined;
        |                           ^^^^^^^^^^^^^^^^^^^^
    108 |     callback?: ChartDatasetCallback | undefined;
    109 | }
    110 |

ERROR in resources/scripts/components/server/console/chart.ts:118:18
TS7006: Parameter 'state' implicitly has an 'any' type.
    116 |
    117 |     const push = (items: number | null | (number | null)[]) =>
  > 118 |         setData((state) =>
        |                  ^^^^^
    119 |             merge(state, {
    120 |                 datasets: (Array.isArray(items) ? items : [items]).map((item, index) => ({
    121 |                     ...state.datasets[index],

ERROR in resources/scripts/components/server/console/chart.ts:130:18
TS7006: Parameter 'state' implicitly has an 'any' type.
    128 |
    129 |     const clear = () =>
  > 130 |         setData((state) =>
        |                  ^^^^^
    131 |             merge(state, {
    132 |                 datasets: state.datasets.map((value) => ({
    133 |                     ...value,

ERROR in resources/scripts/components/server/console/chart.ts:132:47
TS7006: Parameter 'value' implicitly has an 'any' type.
    130 |         setData((state) =>
    131 |             merge(state, {
  > 132 |                 datasets: state.datasets.map((value) => ({
        |                                               ^^^^^
    133 |                     ...value,
    134 |                     data: Array(20).fill(-5),
    135 |                 })),

ERROR in resources/scripts/components/server/console/chart.ts:150:34
TS7006: Parameter 'value' implicitly has an 'any' type.
    148 |                     suggestedMax: max,
    149 |                     ticks: {
  > 150 |                         callback(value) {
        |                                  ^^^^^
    151 |                             return `${roundTo ? Number(value).toFixed(roundTo) : value}${tickLabel}`;
    152 |                         },
    153 |                     },

ERROR in resources/scripts/components/server/console/ChartBlock.tsx:2:24
TS2307: Cannot find module 'classnames' or its corresponding type declarations.
    1 | import React from 'react';
  > 2 | import classNames from 'classnames';
      |                        ^^^^^^^^^^^^
    3 | import styles from '@/components/server/console/style.module.css';
    4 |
    5 | interface ChartBlockProps {

ERROR in resources/scripts/components/server/console/Console.tsx:16:24
TS2307: Cannot find module 'classnames' or its corresponding type declarations.
    14 | import { usePersistedState } from '@/plugins/usePersistedState';
    15 | import { SocketEvent, SocketRequest } from '@/components/server/events';
  > 16 | import classNames from 'classnames';
       |                        ^^^^^^^^^^^^
    17 | import { ChevronDoubleRightIcon } from '@heroicons/react/solid';
    18 |
    19 | import 'xterm/css/xterm.css';

ERROR in resources/scripts/components/server/console/Console.tsx:17:40
TS2307: Cannot find module '@heroicons/react/solid' or its corresponding type declarations.
    15 | import { SocketEvent, SocketRequest } from '@/components/server/events';
    16 | import classNames from 'classnames';
  > 17 | import { ChevronDoubleRightIcon } from '@heroicons/react/solid';
       |                                        ^^^^^^^^^^^^^^^^^^^^^^^^
    18 |
    19 | import 'xterm/css/xterm.css';
    20 | import styles from './style.module.css';

ERROR in resources/scripts/components/server/console/ServerDetailsBlock.tsx:17:24
TS2307: Cannot find module 'classnames' or its corresponding type declarations.
    15 | import StatBlock from '@/components/server/console/StatBlock';
    16 | import useWebsocketEvent from '@/plugins/useWebsocketEvent';
  > 17 | import classNames from 'classnames';
       |                        ^^^^^^^^^^^^
    18 | import { capitalize } from '@/lib/strings';
    19 |
    20 | type Stats = Record<'memory' | 'cpu' | 'disk' | 'uptime' | 'rx' | 'tx', number>;

ERROR in resources/scripts/components/server/console/StatBlock.tsx:4:24
TS2307: Cannot find module 'classnames' or its corresponding type declarations.
    2 | import Icon from '@/components/elements/Icon';
    3 | import { IconDefinition } from '@fortawesome/free-solid-svg-icons';
  > 4 | import classNames from 'classnames';
      |                        ^^^^^^^^^^^^
    5 | import styles from './style.module.css';
    6 | import useFitText from 'use-fit-text';
    7 | import CopyOnClick from '@/components/elements/CopyOnClick';

ERROR in resources/scripts/components/server/console/StatBlock.tsx:6:24
TS2307: Cannot find module 'use-fit-text' or its corresponding type declarations.
    4 | import classNames from 'classnames';
    5 | import styles from './style.module.css';
  > 6 | import useFitText from 'use-fit-text';
      |                        ^^^^^^^^^^^^^^
    7 | import CopyOnClick from '@/components/elements/CopyOnClick';
    8 |
    9 | interface StatBlockProps {

ERROR in resources/scripts/components/server/console/StatGraphs.tsx:5:22
TS2307: Cannot find module 'react-chartjs-2' or its corresponding type declarations.
    3 | import { SocketEvent } from '@/components/server/events';
    4 | import useWebsocketEvent from '@/plugins/useWebsocketEvent';
  > 5 | import { Line } from 'react-chartjs-2';
      |                      ^^^^^^^^^^^^^^^^^
    6 | import { useChart, useChartTickLabel } from '@/components/server/console/chart';
    7 | import { hexToRgba } from '@/lib/helpers';
    8 | import { bytesToString } from '@/lib/formatters';

ERROR in resources/scripts/components/server/console/StatGraphs.tsx:9:52
TS2307: Cannot find module '@heroicons/react/solid' or its corresponding type declarations.
     7 | import { hexToRgba } from '@/lib/helpers';
     8 | import { bytesToString } from '@/lib/formatters';
  >  9 | import { CloudDownloadIcon, CloudUploadIcon } from '@heroicons/react/solid';
       |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^
    10 | import { theme } from 'twin.macro';
    11 | import ChartBlock from '@/components/server/console/ChartBlock';
    12 | import Tooltip from '@/components/elements/tooltip/Tooltip';

ERROR in resources/scripts/components/server/console/StatGraphs.tsx:27:34
TS7006: Parameter 'value' implicitly has an 'any' type.
    25 |                 y: {
    26 |                     ticks: {
  > 27 |                         callback(value) {
       |                                  ^^^^^
    28 |                             return bytesToString(typeof value === 'string' ? parseInt(value, 10) : value);
    29 |                         },
    30 |                     },

ERROR in resources/scripts/components/server/files/FileManagerStatus.tsx:3:33
TS2307: Cannot find module '@heroicons/react/solid' or its corresponding type declarations.
    1 | import React, { useContext, useEffect, useState } from 'react';
    2 | import { ServerContext } from '@/state/server';
  > 3 | import { CloudUploadIcon } from '@heroicons/react/solid';
      |                                 ^^^^^^^^^^^^^^^^^^^^^^^^
    4 | import asDialog from '@/hoc/asDialog';
    5 | import { Dialog, DialogWrapperContext } from '@/components/elements/dialog';
    6 | import { Button } from '@/components/elements/button/index';

ERROR in resources/scripts/components/server/files/UploadButton.tsx:14:33
TS2307: Cannot find module '@heroicons/react/outline' or its corresponding type declarations.
    12 | import { WithClassname } from '@/components/types';
    13 | import Portal from '@/components/elements/Portal';
  > 14 | import { CloudUploadIcon } from '@heroicons/react/outline';
       |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
    15 |
    16 | function isFileOrDirectory(event: DragEvent): boolean {
    17 |     if (!event.dataTransfer?.types) {

ERROR in resources/scripts/components/server/schedules/ScheduleCronRow.tsx:3:24
TS2307: Cannot find module 'classnames' or its corresponding type declarations.
    1 | import React from 'react';
    2 | import { Schedule } from '@/api/server/schedules/getServerSchedules';
  > 3 | import classNames from 'classnames';
      |                        ^^^^^^^^^^^^
    4 |
    5 | interface Props {
    6 |     cron: Schedule['cron'];

ERROR in resources/scripts/components/server/ServerActivityLogContainer.tsx:11:24
TS2307: Cannot find module 'classnames' or its corresponding type declarations.
     9 | import { ActivityLogFilters } from '@/api/account/activity';
    10 | import { Link } from 'react-router-dom';
  > 11 | import classNames from 'classnames';
       |                        ^^^^^^^^^^^^
    12 | import { styles as btnStyles } from '@/components/elements/button/index';
    13 | import { XCircleIcon } from '@heroicons/react/solid';
    14 | import useLocationHash from '@/plugins/useLocationHash';

ERROR in resources/scripts/components/server/ServerActivityLogContainer.tsx:13:29
TS2307: Cannot find module '@heroicons/react/solid' or its corresponding type declarations.
    11 | import classNames from 'classnames';
    12 | import { styles as btnStyles } from '@/components/elements/button/index';
  > 13 | import { XCircleIcon } from '@heroicons/react/solid';
       |                             ^^^^^^^^^^^^^^^^^^^^^^^^
    14 | import useLocationHash from '@/plugins/useLocationHash';
    15 |
    16 | export default () => {

ERROR in resources/scripts/components/server/ServerConsole.tsx:10:10
TS2614: Module '"@feature/index"' has no exported member 'EulaModalFeature'. Did you mean to use 'import EulaModalFeature from "@feature/index"' instead?
     8 | import isEqual from 'react-fast-compare';
     9 | import PowerControls from '@/components/server/PowerControls';
  > 10 | import { EulaModalFeature, JavaVersionModalFeature, GSLTokenModalFeature, PIDLimitModalFeature, SteamDiskSpaceFeature } from '@feature/index';
       |          ^^^^^^^^^^^^^^^^
    11 | import ErrorBoundary from '@/components/elements/ErrorBoundary';
    12 | import Spinner from '@/components/elements/Spinner';
    13 |

ERROR in resources/scripts/components/server/ServerConsole.tsx:10:28
TS2614: Module '"@feature/index"' has no exported member 'JavaVersionModalFeature'. Did you mean to use 'import JavaVersionModalFeature from "@feature/index"' instead?
     8 | import isEqual from 'react-fast-compare';
     9 | import PowerControls from '@/components/server/PowerControls';
  > 10 | import { EulaModalFeature, JavaVersionModalFeature, GSLTokenModalFeature, PIDLimitModalFeature, SteamDiskSpaceFeature } from '@feature/index';
       |                            ^^^^^^^^^^^^^^^^^^^^^^^
    11 | import ErrorBoundary from '@/components/elements/ErrorBoundary';
    12 | import Spinner from '@/components/elements/Spinner';
    13 |

ERROR in resources/scripts/components/server/ServerConsole.tsx:10:53
TS2614: Module '"@feature/index"' has no exported member 'GSLTokenModalFeature'. Did you mean to use 'import GSLTokenModalFeature from "@feature/index"' instead?
     8 | import isEqual from 'react-fast-compare';
     9 | import PowerControls from '@/components/server/PowerControls';
  > 10 | import { EulaModalFeature, JavaVersionModalFeature, GSLTokenModalFeature, PIDLimitModalFeature, SteamDiskSpaceFeature } from '@feature/index';
       |                                                     ^^^^^^^^^^^^^^^^^^^^
    11 | import ErrorBoundary from '@/components/elements/ErrorBoundary';
    12 | import Spinner from '@/components/elements/Spinner';
    13 |

ERROR in resources/scripts/components/server/ServerConsole.tsx:10:75
TS2614: Module '"@feature/index"' has no exported member 'PIDLimitModalFeature'. Did you mean to use 'import PIDLimitModalFeature from "@feature/index"' instead?
     8 | import isEqual from 'react-fast-compare';
     9 | import PowerControls from '@/components/server/PowerControls';
  > 10 | import { EulaModalFeature, JavaVersionModalFeature, GSLTokenModalFeature, PIDLimitModalFeature, SteamDiskSpaceFeature } from '@feature/index';
       |                                                                           ^^^^^^^^^^^^^^^^^^^^
    11 | import ErrorBoundary from '@/components/elements/ErrorBoundary';
    12 | import Spinner from '@/components/elements/Spinner';
    13 |

ERROR in resources/scripts/components/server/ServerConsole.tsx:10:97
TS2614: Module '"@feature/index"' has no exported member 'SteamDiskSpaceFeature'. Did you mean to use 'import SteamDiskSpaceFeature from "@feature/index"' instead?
     8 | import isEqual from 'react-fast-compare';
     9 | import PowerControls from '@/components/server/PowerControls';
  > 10 | import { EulaModalFeature, JavaVersionModalFeature, GSLTokenModalFeature, PIDLimitModalFeature, SteamDiskSpaceFeature } from '@feature/index';
       |                                                                                                 ^^^^^^^^^^^^^^^^^^^^^
    11 | import ErrorBoundary from '@/components/elements/ErrorBoundary';
    12 | import Spinner from '@/components/elements/Spinner';
    13 |

ERROR in resources/scripts/components/server/ServerConsole.tsx:20:82
TS2339: Property 'isInstalling' does not exist on type 'Server'.
    18 |
    19 | const ServerConsole = () => {
  > 20 |     const isInstalling = ServerContext.useStoreState(state => state.server.data!.isInstalling);
       |                                                                                  ^^^^^^^^^^^^
    21 |     const isTransferring = ServerContext.useStoreState(state => state.server.data!.isTransferring);
    22 |     const eggFeatures = ServerContext.useStoreState(state => state.server.data!.eggFeatures, isEqual);
    23 |

ERROR in resources/scripts/components/server/ServerDetailsBlock.tsx:5:10
TS2305: Module '"@/helpers"' has no exported member 'bytesToHuman'.
    3 | import { faCircle, faEthernet, faHdd, faMemory, faMicrochip, faServer } from '@fortawesome/free-solid-svg-icons';
    4 | import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
  > 5 | import { bytesToHuman, megabytesToHuman, formatIp } from '@/helpers';
      |          ^^^^^^^^^^^^
    6 | import TitledGreyBox from '@/components/elements/TitledGreyBox';
    7 | import { ServerContext } from '@/state/server';
    8 | import CopyOnClick from '@/components/elements/CopyOnClick';

ERROR in resources/scripts/components/server/ServerDetailsBlock.tsx:5:24
TS2305: Module '"@/helpers"' has no exported member 'megabytesToHuman'.
    3 | import { faCircle, faEthernet, faHdd, faMemory, faMicrochip, faServer } from '@fortawesome/free-solid-svg-icons';
    4 | import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
  > 5 | import { bytesToHuman, megabytesToHuman, formatIp } from '@/helpers';
      |                        ^^^^^^^^^^^^^^^^
    6 | import TitledGreyBox from '@/components/elements/TitledGreyBox';
    7 | import { ServerContext } from '@/state/server';
    8 | import CopyOnClick from '@/components/elements/CopyOnClick';

ERROR in resources/scripts/components/server/ServerDetailsBlock.tsx:5:42
TS2305: Module '"@/helpers"' has no exported member 'formatIp'.
    3 | import { faCircle, faEthernet, faHdd, faMemory, faMicrochip, faServer } from '@fortawesome/free-solid-svg-icons';
    4 | import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
  > 5 | import { bytesToHuman, megabytesToHuman, formatIp } from '@/helpers';
      |                                          ^^^^^^^^
    6 | import TitledGreyBox from '@/components/elements/TitledGreyBox';
    7 | import { ServerContext } from '@/state/server';
    8 | import CopyOnClick from '@/components/elements/CopyOnClick';

ERROR in resources/scripts/components/server/ServerDetailsBlock.tsx:71:82
TS2339: Property 'isInstalling' does not exist on type 'Server'.
    69 |
    70 |     const name = ServerContext.useStoreState(state => state.server.data!.name);
  > 71 |     const isInstalling = ServerContext.useStoreState(state => state.server.data!.isInstalling);
       |                                                                                  ^^^^^^^^^^^^
    72 |     const isTransferring = ServerContext.useStoreState(state => state.server.data!.isTransferring);
    73 |     const limits = ServerContext.useStoreState(state => state.server.data!.limits);
    74 |     const primaryAllocation = ServerContext.useStoreState(state => state.server.data!.allocations.filter(alloc => alloc.isDefault).map(

ERROR in resources/scripts/components/server/StatGraphs.tsx:4:10
TS2305: Module '"@/helpers"' has no exported member 'bytesToMegabytes'.
    2 | import Chart, { ChartConfiguration } from 'chart.js';
    3 | import { ServerContext } from '@/state/server';
  > 4 | import { bytesToMegabytes } from '@/helpers';
      |          ^^^^^^^^^^^^^^^^
    5 | import merge from 'deepmerge';
    6 | import TitledGreyBox from '@/components/elements/TitledGreyBox';
    7 | import { faMemory, faMicrochip } from '@fortawesome/free-solid-svg-icons';

ERROR in resources/scripts/i18n.ts:3:52
TS2307: Cannot find module 'i18next-http-backend' or its corresponding type declarations.
    1 | import i18n from 'i18next';
    2 | import { initReactI18next } from 'react-i18next';
  > 3 | import I18NextHttpBackend, { BackendOptions } from 'i18next-http-backend';
      |                                                    ^^^^^^^^^^^^^^^^^^^^^^
    4 | import I18NextMultiloadBackendAdapter from 'i18next-multiload-backend-adapter';
    5 |
    6 | // If we're using HMR use a unique hash per page reload so that we're always

ERROR in resources/scripts/i18n.ts:4:44
TS2307: Cannot find module 'i18next-multiload-backend-adapter' or its corresponding type declarations.
    2 | import { initReactI18next } from 'react-i18next';
    3 | import I18NextHttpBackend, { BackendOptions } from 'i18next-http-backend';
  > 4 | import I18NextMultiloadBackendAdapter from 'i18next-multiload-backend-adapter';
      |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    5 |
    6 | // If we're using HMR use a unique hash per page reload so that we're always
    7 | // doing cache busting. Otherwise just use the builder provided hash value in

ERROR in resources/scripts/lib/formatters.spec.ts:3:1
TS2582: Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
    1 | import { bytesToString, ip, mbToBytes } from '@/lib/formatters';
    2 |
  > 3 | describe('@/lib/formatters.ts', function () {
      | ^^^^^^^^
    4 |     describe('mbToBytes()', function () {
    5 |         it('should convert from MB to Bytes', function () {
    6 |             expect(mbToBytes(1)).toBe(1_048_576);

ERROR in resources/scripts/lib/formatters.spec.ts:4:5
TS2582: Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
    2 |
    3 | describe('@/lib/formatters.ts', function () {
  > 4 |     describe('mbToBytes()', function () {
      |     ^^^^^^^^
    5 |         it('should convert from MB to Bytes', function () {
    6 |             expect(mbToBytes(1)).toBe(1_048_576);
    7 |             expect(mbToBytes(0)).toBe(0);

ERROR in resources/scripts/lib/formatters.spec.ts:5:9
TS2582: Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
    3 | describe('@/lib/formatters.ts', function () {
    4 |     describe('mbToBytes()', function () {
  > 5 |         it('should convert from MB to Bytes', function () {
      |         ^^
    6 |             expect(mbToBytes(1)).toBe(1_048_576);
    7 |             expect(mbToBytes(0)).toBe(0);
    8 |             expect(mbToBytes(0.1)).toBe(104_857);

ERROR in resources/scripts/lib/formatters.spec.ts:6:13
TS2304: Cannot find name 'expect'.
    4 |     describe('mbToBytes()', function () {
    5 |         it('should convert from MB to Bytes', function () {
  > 6 |             expect(mbToBytes(1)).toBe(1_048_576);
      |             ^^^^^^
    7 |             expect(mbToBytes(0)).toBe(0);
    8 |             expect(mbToBytes(0.1)).toBe(104_857);
    9 |             expect(mbToBytes(0.001)).toBe(1_048);

ERROR in resources/scripts/lib/formatters.spec.ts:7:13
TS2304: Cannot find name 'expect'.
     5 |         it('should convert from MB to Bytes', function () {
     6 |             expect(mbToBytes(1)).toBe(1_048_576);
  >  7 |             expect(mbToBytes(0)).toBe(0);
       |             ^^^^^^
     8 |             expect(mbToBytes(0.1)).toBe(104_857);
     9 |             expect(mbToBytes(0.001)).toBe(1_048);
    10 |             expect(mbToBytes(1024)).toBe(1_073_741_824);

ERROR in resources/scripts/lib/formatters.spec.ts:8:13
TS2304: Cannot find name 'expect'.
     6 |             expect(mbToBytes(1)).toBe(1_048_576);
     7 |             expect(mbToBytes(0)).toBe(0);
  >  8 |             expect(mbToBytes(0.1)).toBe(104_857);
       |             ^^^^^^
     9 |             expect(mbToBytes(0.001)).toBe(1_048);
    10 |             expect(mbToBytes(1024)).toBe(1_073_741_824);
    11 |         });

ERROR in resources/scripts/lib/formatters.spec.ts:9:13
TS2304: Cannot find name 'expect'.
     7 |             expect(mbToBytes(0)).toBe(0);
     8 |             expect(mbToBytes(0.1)).toBe(104_857);
  >  9 |             expect(mbToBytes(0.001)).toBe(1_048);
       |             ^^^^^^
    10 |             expect(mbToBytes(1024)).toBe(1_073_741_824);
    11 |         });
    12 |     });

ERROR in resources/scripts/lib/formatters.spec.ts:10:13
TS2304: Cannot find name 'expect'.
     8 |             expect(mbToBytes(0.1)).toBe(104_857);
     9 |             expect(mbToBytes(0.001)).toBe(1_048);
  > 10 |             expect(mbToBytes(1024)).toBe(1_073_741_824);
       |             ^^^^^^
    11 |         });
    12 |     });
    13 |

ERROR in resources/scripts/lib/formatters.spec.ts:14:5
TS2582: Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
    12 |     });
    13 |
  > 14 |     describe('bytesToString()', function () {
       |     ^^^^^^^^
    15 |         it.each([
    16 |             [0, '0 Bytes'],
    17 |             [0.5, '0 Bytes'],

ERROR in resources/scripts/lib/formatters.spec.ts:15:9
TS2582: Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
    13 |
    14 |     describe('bytesToString()', function () {
  > 15 |         it.each([
       |         ^^
    16 |             [0, '0 Bytes'],
    17 |             [0.5, '0 Bytes'],
    18 |             [0.9, '0 Bytes'],

ERROR in resources/scripts/lib/formatters.spec.ts:40:56
TS7006: Parameter 'input' implicitly has an 'any' type.
    38 |             [1_000_000_000_000, '931.32 GB'],
    39 |             [1_099_511_627_776, '1 TB'],
  > 40 |         ])('should format %d bytes as "%s"', function (input, output) {
       |                                                        ^^^^^
    41 |             expect(bytesToString(input)).toBe(output);
    42 |         });
    43 |     });

ERROR in resources/scripts/lib/formatters.spec.ts:40:63
TS7006: Parameter 'output' implicitly has an 'any' type.
    38 |             [1_000_000_000_000, '931.32 GB'],
    39 |             [1_099_511_627_776, '1 TB'],
  > 40 |         ])('should format %d bytes as "%s"', function (input, output) {
       |                                                               ^^^^^^
    41 |             expect(bytesToString(input)).toBe(output);
    42 |         });
    43 |     });

ERROR in resources/scripts/lib/formatters.spec.ts:41:13
TS2304: Cannot find name 'expect'.
    39 |             [1_099_511_627_776, '1 TB'],
    40 |         ])('should format %d bytes as "%s"', function (input, output) {
  > 41 |             expect(bytesToString(input)).toBe(output);
       |             ^^^^^^
    42 |         });
    43 |     });
    44 |

ERROR in resources/scripts/lib/formatters.spec.ts:45:5
TS2582: Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
    43 |     });
    44 |
  > 45 |     describe('ip()', function () {
       |     ^^^^^^^^
    46 |         it('should format an IPv4 address', function () {
    47 |             expect(ip('127.0.0.1')).toBe('127.0.0.1');
    48 |         });

ERROR in resources/scripts/lib/formatters.spec.ts:46:9
TS2582: Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
    44 |
    45 |     describe('ip()', function () {
  > 46 |         it('should format an IPv4 address', function () {
       |         ^^
    47 |             expect(ip('127.0.0.1')).toBe('127.0.0.1');
    48 |         });
    49 |

ERROR in resources/scripts/lib/formatters.spec.ts:47:13
TS2304: Cannot find name 'expect'.
    45 |     describe('ip()', function () {
    46 |         it('should format an IPv4 address', function () {
  > 47 |             expect(ip('127.0.0.1')).toBe('127.0.0.1');
       |             ^^^^^^
    48 |         });
    49 |
    50 |         it('should format an IPv6 address', function () {

ERROR in resources/scripts/lib/formatters.spec.ts:50:9
TS2582: Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
    48 |         });
    49 |
  > 50 |         it('should format an IPv6 address', function () {
       |         ^^
    51 |             expect(ip(':::1')).toBe('[:::1]');
    52 |             expect(ip('2001:db8::')).toBe('[2001:db8::]');
    53 |         });

ERROR in resources/scripts/lib/formatters.spec.ts:51:13
TS2304: Cannot find name 'expect'.
    49 |
    50 |         it('should format an IPv6 address', function () {
  > 51 |             expect(ip(':::1')).toBe('[:::1]');
       |             ^^^^^^
    52 |             expect(ip('2001:db8::')).toBe('[2001:db8::]');
    53 |         });
    54 |

ERROR in resources/scripts/lib/formatters.spec.ts:52:13
TS2304: Cannot find name 'expect'.
    50 |         it('should format an IPv6 address', function () {
    51 |             expect(ip(':::1')).toBe('[:::1]');
  > 52 |             expect(ip('2001:db8::')).toBe('[2001:db8::]');
       |             ^^^^^^
    53 |         });
    54 |
    55 |         it('should handle random inputs', function () {

ERROR in resources/scripts/lib/formatters.spec.ts:55:9
TS2582: Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
    53 |         });
    54 |
  > 55 |         it('should handle random inputs', function () {
       |         ^^
    56 |             expect(ip('1')).toBe('1');
    57 |             expect(ip('foobar')).toBe('foobar');
    58 |             expect(ip('127.0.0.1:25565')).toBe('[127.0.0.1:25565]');

ERROR in resources/scripts/lib/formatters.spec.ts:56:13
TS2304: Cannot find name 'expect'.
    54 |
    55 |         it('should handle random inputs', function () {
  > 56 |             expect(ip('1')).toBe('1');
       |             ^^^^^^
    57 |             expect(ip('foobar')).toBe('foobar');
    58 |             expect(ip('127.0.0.1:25565')).toBe('[127.0.0.1:25565]');
    59 |         });

ERROR in resources/scripts/lib/formatters.spec.ts:57:13
TS2304: Cannot find name 'expect'.
    55 |         it('should handle random inputs', function () {
    56 |             expect(ip('1')).toBe('1');
  > 57 |             expect(ip('foobar')).toBe('foobar');
       |             ^^^^^^
    58 |             expect(ip('127.0.0.1:25565')).toBe('[127.0.0.1:25565]');
    59 |         });
    60 |     });

ERROR in resources/scripts/lib/formatters.spec.ts:58:13
TS2304: Cannot find name 'expect'.
    56 |             expect(ip('1')).toBe('1');
    57 |             expect(ip('foobar')).toBe('foobar');
  > 58 |             expect(ip('127.0.0.1:25565')).toBe('[127.0.0.1:25565]');
       |             ^^^^^^
    59 |         });
    60 |     });
    61 | });

ERROR in resources/scripts/lib/helpers.spec.ts:3:1
TS2582: Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
    1 | import { hexToRgba } from '@/lib/helpers';
    2 |
  > 3 | describe('@/lib/helpers.ts', function () {
      | ^^^^^^^^
    4 |     describe('hexToRgba()', function () {
    5 |         it('should return the expected rgba', function () {
    6 |             expect(hexToRgba('#ffffff')).toBe('rgba(255, 255, 255, 1)');

ERROR in resources/scripts/lib/helpers.spec.ts:4:5
TS2582: Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
    2 |
    3 | describe('@/lib/helpers.ts', function () {
  > 4 |     describe('hexToRgba()', function () {
      |     ^^^^^^^^
    5 |         it('should return the expected rgba', function () {
    6 |             expect(hexToRgba('#ffffff')).toBe('rgba(255, 255, 255, 1)');
    7 |             expect(hexToRgba('#00aabb')).toBe('rgba(0, 170, 187, 1)');

ERROR in resources/scripts/lib/helpers.spec.ts:5:9
TS2582: Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
    3 | describe('@/lib/helpers.ts', function () {
    4 |     describe('hexToRgba()', function () {
  > 5 |         it('should return the expected rgba', function () {
      |         ^^
    6 |             expect(hexToRgba('#ffffff')).toBe('rgba(255, 255, 255, 1)');
    7 |             expect(hexToRgba('#00aabb')).toBe('rgba(0, 170, 187, 1)');
    8 |             expect(hexToRgba('#efefef')).toBe('rgba(239, 239, 239, 1)');

ERROR in resources/scripts/lib/helpers.spec.ts:6:13
TS2304: Cannot find name 'expect'.
    4 |     describe('hexToRgba()', function () {
    5 |         it('should return the expected rgba', function () {
  > 6 |             expect(hexToRgba('#ffffff')).toBe('rgba(255, 255, 255, 1)');
      |             ^^^^^^
    7 |             expect(hexToRgba('#00aabb')).toBe('rgba(0, 170, 187, 1)');
    8 |             expect(hexToRgba('#efefef')).toBe('rgba(239, 239, 239, 1)');
    9 |         });

ERROR in resources/scripts/lib/helpers.spec.ts:7:13
TS2304: Cannot find name 'expect'.
     5 |         it('should return the expected rgba', function () {
     6 |             expect(hexToRgba('#ffffff')).toBe('rgba(255, 255, 255, 1)');
  >  7 |             expect(hexToRgba('#00aabb')).toBe('rgba(0, 170, 187, 1)');
       |             ^^^^^^
     8 |             expect(hexToRgba('#efefef')).toBe('rgba(239, 239, 239, 1)');
     9 |         });
    10 |

ERROR in resources/scripts/lib/helpers.spec.ts:8:13
TS2304: Cannot find name 'expect'.
     6 |             expect(hexToRgba('#ffffff')).toBe('rgba(255, 255, 255, 1)');
     7 |             expect(hexToRgba('#00aabb')).toBe('rgba(0, 170, 187, 1)');
  >  8 |             expect(hexToRgba('#efefef')).toBe('rgba(239, 239, 239, 1)');
       |             ^^^^^^
     9 |         });
    10 |
    11 |         it('should ignore case', function () {

ERROR in resources/scripts/lib/helpers.spec.ts:11:9
TS2582: Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
     9 |         });
    10 |
  > 11 |         it('should ignore case', function () {
       |         ^^
    12 |             expect(hexToRgba('#FF00A3')).toBe('rgba(255, 0, 163, 1)');
    13 |         });
    14 |

ERROR in resources/scripts/lib/helpers.spec.ts:12:13
TS2304: Cannot find name 'expect'.
    10 |
    11 |         it('should ignore case', function () {
  > 12 |             expect(hexToRgba('#FF00A3')).toBe('rgba(255, 0, 163, 1)');
       |             ^^^^^^
    13 |         });
    14 |
    15 |         it('should allow alpha channel changes', function () {

ERROR in resources/scripts/lib/helpers.spec.ts:15:9
TS2582: Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
    13 |         });
    14 |
  > 15 |         it('should allow alpha channel changes', function () {
       |         ^^
    16 |             expect(hexToRgba('#ece5a8', 0.5)).toBe('rgba(236, 229, 168, 0.5)');
    17 |             expect(hexToRgba('#ece5a8', 0.1)).toBe('rgba(236, 229, 168, 0.1)');
    18 |             expect(hexToRgba('#000000', 0)).toBe('rgba(0, 0, 0, 0)');

ERROR in resources/scripts/lib/helpers.spec.ts:16:13
TS2304: Cannot find name 'expect'.
    14 |
    15 |         it('should allow alpha channel changes', function () {
  > 16 |             expect(hexToRgba('#ece5a8', 0.5)).toBe('rgba(236, 229, 168, 0.5)');
       |             ^^^^^^
    17 |             expect(hexToRgba('#ece5a8', 0.1)).toBe('rgba(236, 229, 168, 0.1)');
    18 |             expect(hexToRgba('#000000', 0)).toBe('rgba(0, 0, 0, 0)');
    19 |         });

ERROR in resources/scripts/lib/helpers.spec.ts:17:13
TS2304: Cannot find name 'expect'.
    15 |         it('should allow alpha channel changes', function () {
    16 |             expect(hexToRgba('#ece5a8', 0.5)).toBe('rgba(236, 229, 168, 0.5)');
  > 17 |             expect(hexToRgba('#ece5a8', 0.1)).toBe('rgba(236, 229, 168, 0.1)');
       |             ^^^^^^
    18 |             expect(hexToRgba('#000000', 0)).toBe('rgba(0, 0, 0, 0)');
    19 |         });
    20 |

ERROR in resources/scripts/lib/helpers.spec.ts:18:13
TS2304: Cannot find name 'expect'.
    16 |             expect(hexToRgba('#ece5a8', 0.5)).toBe('rgba(236, 229, 168, 0.5)');
    17 |             expect(hexToRgba('#ece5a8', 0.1)).toBe('rgba(236, 229, 168, 0.1)');
  > 18 |             expect(hexToRgba('#000000', 0)).toBe('rgba(0, 0, 0, 0)');
       |             ^^^^^^
    19 |         });
    20 |
    21 |         it('should handle invalid strings', function () {

ERROR in resources/scripts/lib/helpers.spec.ts:21:9
TS2582: Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
    19 |         });
    20 |
  > 21 |         it('should handle invalid strings', function () {
       |         ^^
    22 |             expect(hexToRgba('')).toBe('');
    23 |             expect(hexToRgba('foobar')).toBe('foobar');
    24 |             expect(hexToRgba('#fff')).toBe('#fff');

ERROR in resources/scripts/lib/helpers.spec.ts:22:13
TS2304: Cannot find name 'expect'.
    20 |
    21 |         it('should handle invalid strings', function () {
  > 22 |             expect(hexToRgba('')).toBe('');
       |             ^^^^^^
    23 |             expect(hexToRgba('foobar')).toBe('foobar');
    24 |             expect(hexToRgba('#fff')).toBe('#fff');
    25 |             expect(hexToRgba('#')).toBe('#');

ERROR in resources/scripts/lib/helpers.spec.ts:23:13
TS2304: Cannot find name 'expect'.
    21 |         it('should handle invalid strings', function () {
    22 |             expect(hexToRgba('')).toBe('');
  > 23 |             expect(hexToRgba('foobar')).toBe('foobar');
       |             ^^^^^^
    24 |             expect(hexToRgba('#fff')).toBe('#fff');
    25 |             expect(hexToRgba('#')).toBe('#');
    26 |             expect(hexToRgba('#fffffy')).toBe('#fffffy');

ERROR in resources/scripts/lib/helpers.spec.ts:24:13
TS2304: Cannot find name 'expect'.
    22 |             expect(hexToRgba('')).toBe('');
    23 |             expect(hexToRgba('foobar')).toBe('foobar');
  > 24 |             expect(hexToRgba('#fff')).toBe('#fff');
       |             ^^^^^^
    25 |             expect(hexToRgba('#')).toBe('#');
    26 |             expect(hexToRgba('#fffffy')).toBe('#fffffy');
    27 |         });

ERROR in resources/scripts/lib/helpers.spec.ts:25:13
TS2304: Cannot find name 'expect'.
    23 |             expect(hexToRgba('foobar')).toBe('foobar');
    24 |             expect(hexToRgba('#fff')).toBe('#fff');
  > 25 |             expect(hexToRgba('#')).toBe('#');
       |             ^^^^^^
    26 |             expect(hexToRgba('#fffffy')).toBe('#fffffy');
    27 |         });
    28 |     });

ERROR in resources/scripts/lib/helpers.spec.ts:26:13
TS2304: Cannot find name 'expect'.
    24 |             expect(hexToRgba('#fff')).toBe('#fff');
    25 |             expect(hexToRgba('#')).toBe('#');
  > 26 |             expect(hexToRgba('#fffffy')).toBe('#fffffy');
       |             ^^^^^^
    27 |         });
    28 |     });
    29 | });

ERROR in resources/scripts/lib/objects.spec.ts:3:1
TS2582: Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
    1 | import { isObject } from '@/lib/objects';
    2 |
  > 3 | describe('@/lib/objects.ts', function () {
      | ^^^^^^^^
    4 |     describe('isObject()', function () {
    5 |         it('should return true for objects', function () {
    6 |             expect(isObject({})).toBe(true);

ERROR in resources/scripts/lib/objects.spec.ts:4:5
TS2582: Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
    2 |
    3 | describe('@/lib/objects.ts', function () {
  > 4 |     describe('isObject()', function () {
      |     ^^^^^^^^
    5 |         it('should return true for objects', function () {
    6 |             expect(isObject({})).toBe(true);
    7 |             expect(isObject({ foo: 123 })).toBe(true);

ERROR in resources/scripts/lib/objects.spec.ts:5:9
TS2582: Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
    3 | describe('@/lib/objects.ts', function () {
    4 |     describe('isObject()', function () {
  > 5 |         it('should return true for objects', function () {
      |         ^^
    6 |             expect(isObject({})).toBe(true);
    7 |             expect(isObject({ foo: 123 })).toBe(true);
    8 |             expect(isObject(Object.freeze({}))).toBe(true);

ERROR in resources/scripts/lib/objects.spec.ts:6:13
TS2304: Cannot find name 'expect'.
    4 |     describe('isObject()', function () {
    5 |         it('should return true for objects', function () {
  > 6 |             expect(isObject({})).toBe(true);
      |             ^^^^^^
    7 |             expect(isObject({ foo: 123 })).toBe(true);
    8 |             expect(isObject(Object.freeze({}))).toBe(true);
    9 |         });

ERROR in resources/scripts/lib/objects.spec.ts:7:13
TS2304: Cannot find name 'expect'.
     5 |         it('should return true for objects', function () {
     6 |             expect(isObject({})).toBe(true);
  >  7 |             expect(isObject({ foo: 123 })).toBe(true);
       |             ^^^^^^
     8 |             expect(isObject(Object.freeze({}))).toBe(true);
     9 |         });
    10 |

ERROR in resources/scripts/lib/objects.spec.ts:8:13
TS2304: Cannot find name 'expect'.
     6 |             expect(isObject({})).toBe(true);
     7 |             expect(isObject({ foo: 123 })).toBe(true);
  >  8 |             expect(isObject(Object.freeze({}))).toBe(true);
       |             ^^^^^^
     9 |         });
    10 |
    11 |         it('should return false for null', function () {

ERROR in resources/scripts/lib/objects.spec.ts:11:9
TS2582: Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
     9 |         });
    10 |
  > 11 |         it('should return false for null', function () {
       |         ^^
    12 |             expect(isObject(null)).toBe(false);
    13 |         });
    14 |

ERROR in resources/scripts/lib/objects.spec.ts:12:13
TS2304: Cannot find name 'expect'.
    10 |
    11 |         it('should return false for null', function () {
  > 12 |             expect(isObject(null)).toBe(false);
       |             ^^^^^^
    13 |         });
    14 |
    15 |         it.each([undefined, 123, 'foobar', () => ({}), Function, String(123), isObject, () => null, [], [1, 2, 3]])(

ERROR in resources/scripts/lib/objects.spec.ts:15:9
TS2582: Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
    13 |         });
    14 |
  > 15 |         it.each([undefined, 123, 'foobar', () => ({}), Function, String(123), isObject, () => null, [], [1, 2, 3]])(
       |         ^^
    16 |             'should return false for %p',
    17 |             function (value) {
    18 |                 expect(isObject(value)).toBe(false);

ERROR in resources/scripts/lib/objects.spec.ts:17:23
TS7006: Parameter 'value' implicitly has an 'any' type.
    15 |         it.each([undefined, 123, 'foobar', () => ({}), Function, String(123), isObject, () => null, [], [1, 2, 3]])(
    16 |             'should return false for %p',
  > 17 |             function (value) {
       |                       ^^^^^
    18 |                 expect(isObject(value)).toBe(false);
    19 |             }
    20 |         );

ERROR in resources/scripts/lib/objects.spec.ts:18:17
TS2304: Cannot find name 'expect'.
    16 |             'should return false for %p',
    17 |             function (value) {
  > 18 |                 expect(isObject(value)).toBe(false);
       |                 ^^^^^^
    19 |             }
    20 |         );
    21 |     });

ERROR in resources/scripts/lib/strings.spec.ts:3:1
TS2582: Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
    1 | import { capitalize } from '@/lib/strings';
    2 |
  > 3 | describe('@/lib/strings.ts', function () {
      | ^^^^^^^^
    4 |     describe('capitalize()', function () {
    5 |         it('should capitalize a string', function () {
    6 |             expect(capitalize('foo bar')).toBe('Foo bar');

ERROR in resources/scripts/lib/strings.spec.ts:4:5
TS2582: Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
    2 |
    3 | describe('@/lib/strings.ts', function () {
  > 4 |     describe('capitalize()', function () {
      |     ^^^^^^^^
    5 |         it('should capitalize a string', function () {
    6 |             expect(capitalize('foo bar')).toBe('Foo bar');
    7 |             expect(capitalize('FOOBAR')).toBe('Foobar');

ERROR in resources/scripts/lib/strings.spec.ts:5:9
TS2582: Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
    3 | describe('@/lib/strings.ts', function () {
    4 |     describe('capitalize()', function () {
  > 5 |         it('should capitalize a string', function () {
      |         ^^
    6 |             expect(capitalize('foo bar')).toBe('Foo bar');
    7 |             expect(capitalize('FOOBAR')).toBe('Foobar');
    8 |         });

ERROR in resources/scripts/lib/strings.spec.ts:6:13
TS2304: Cannot find name 'expect'.
    4 |     describe('capitalize()', function () {
    5 |         it('should capitalize a string', function () {
  > 6 |             expect(capitalize('foo bar')).toBe('Foo bar');
      |             ^^^^^^
    7 |             expect(capitalize('FOOBAR')).toBe('Foobar');
    8 |         });
    9 |

ERROR in resources/scripts/lib/strings.spec.ts:7:13
TS2304: Cannot find name 'expect'.
     5 |         it('should capitalize a string', function () {
     6 |             expect(capitalize('foo bar')).toBe('Foo bar');
  >  7 |             expect(capitalize('FOOBAR')).toBe('Foobar');
       |             ^^^^^^
     8 |         });
     9 |
    10 |         it('should handle empty strings', function () {

ERROR in resources/scripts/lib/strings.spec.ts:10:9
TS2582: Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
     8 |         });
     9 |
  > 10 |         it('should handle empty strings', function () {
       |         ^^
    11 |             expect(capitalize('')).toBe('');
    12 |         });
    13 |     });

ERROR in resources/scripts/lib/strings.spec.ts:11:13
TS2304: Cannot find name 'expect'.
     9 |
    10 |         it('should handle empty strings', function () {
  > 11 |             expect(capitalize('')).toBe('');
       |             ^^^^^^
    12 |         });
    13 |     });
    14 | });
error Command failed with exit code 2.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
Editor is loading...