Галоўная / Артыкулы / Теставанне кампайляра Go для TypeScript 7 у реальнай додатку Next.js.

Теставанне кампайляра Go для TypeScript 7 у реальнай додатку Next.js.

Практычныя порівняння часу виконання команды tsc між TypeScript 6 і 7 у реальнай базе коду Next.js, з включэнням бага несуміснасті у CI та рекамендацый ўзнятка.

3199 слоў

Тыя ж 412 файлаў, пераканалі два разы пад двума рознымі версіямі кампайляра. Пад TypeScript 6 пераканальне выконанне зайняло 3,8 секунды. Пад TypeScript 7 — 0,41 секунды. Кампайляр типаў функцыйна застаецца тым жа пад капотам.

Публікуемыя Microsoft цифры паказваюць прыбавку скорасці на 8-12 разоў, вымераную пад VS Code. Найважлівейшая цифра — гэта тое, што паказвае tsc --extendedDiagnostics у конкрэтным репазітарыі. Процес CI, які раней зупніваўся на неудачным кроку генеравання Prisma, не стане раптам у дзесяць разоў шырэй працаваць толькі таму, што кампайляр типаў стаў быстрэй. Толькі гэты крок стане шырэй, а ўсё іншае ў пайплайне застаецца такім жа повольным.

Ачніце тэрмінал.

Праскочыце next dev. Адразу перайдзіце да самага кампайляра, запускайце яго з корневага каталогу прыложэння:

pnpm exec tsc --noEmit --extendedDiagnostics

Зверніце увагу на значэння Check time, якое ён выводзіць. Гэтае адна лінія ёсць ежым мэтрам, які варта стежыць тут да самага канца.

Компанія Microsoft выдала TypeScript 7.0 8 ліпеня 2026 года. Сама система типаў не змянілася, а бінарны файл компілятора як і раней называецца tsc, але ўнутршняя частка яго тепер являе сабою перакладчык з Go. У табелі, праказанай у анансе версіі 1.0, паказваецца, што час перагляду ў VS Code зменіўся з 125,7 секунд на 10,6 секунд. Гэтыя цифры стосуюцца сабеўскага кодавайта Microsoft, а не звычнага проекту Next.js.

Насамперадце, неабяжна ўважнай яўляецца эквівалентная цифра для маленькага прыемніка Next.js з чатырма маршрутамі, які вже тэстуецца на адпаведнасць усім іншым стандартам, плюс дадатковая цифра — скількі часу займае запуск next build, калі викорыстоўваецца новы інструмент перагляду. Не менш важліва ўвесь час фіксаваць тип баго, який з’яўляецца, калі автаматызаваныя працэсы приймання змян вырашаюць, што „большая скорасць“ і „разлічна працэздатнасць“ значаюць адно і тое ж.

Пасляобедній CI абмануў па канцэпцыі памылкі типу

Уявіце команду, якая у втаркі апгрэйдавала залежнасць typescript да версіі 7 у прыемніку для стварэння рахункоў-фактур, таму што адзін паст у блогу обяцваў у 10 разоў вышэю скорасць. Інструмент CI значна шырэ зачыняўся. Падбадзёраныя гэтым, адпаведны спеціяліст затвердзіў і з’еднаў кастомны функцыял branded-id, які, як выявілася, не могаў праверыць типы на локальным комп’ютеры іншага члена команды.

Дапаможнік скомпіляваўся без проблем на CI толькі таму, што CI яшчэ атрымвала версію typescript 6 через залежнасць у корневай працовай суперфісе. У тым часе на локальным комп’ютеры была встановлена версія 7 безпосередньа. Сама система типаў не змянілася — у гэтым і заключаецца сенс тверджэння Microsoft — але файл tsconfig на CI прыкрепіў typescript да псевдоніма пакета @typescript/typescript6, які засталіся пасля внесення змян у перыод прэвю і так і не былі выдалены.

Таму справжняя проблема не была у тым, што TypeScript 7 паводзіцца інакше. Це былі два розныя бінарныхыя файлы компілятора, неоднаковыя настройкі lockfile, а таксама паведамленне ў Slack пра тое, што „7 вже є“, хоча на практыцы гэта не было так, прынеймна не всюды.

Ёсць варыянт, які ён набрал у практыцы: запрос на адаптаванне з назвай «Абдалейць as InvoiceId casts, 7 ўжо строгей». Насамперадзе TypeScript 7 не быў строгей у гэтым аспекте. У тым жа комітэ была таксама увёрнута настройка erasableSyntaxOnly для кампайляра, якая ўсунулася абсалютна іншымі правіламі і будзе розглядвана пазней. Адначасна адключэнне чыстаўскага падвыконання і змяну правіл адносавання ўпрымку — гэта самэ прычына, з якой пачынаюцца такія міфы.

Рашэнне — разбіць такі коміт на два часткі: сама падвышэння версіі і змяну правіл окрема. Толькі тады памеры часу будуць значнымі.

Тэкст, які насправды публікуяць Microsoft

У афіцыйным аанунсе працоўнай версіі TypeScript 7.0 з датой 8 ліпеня 2026 года Даніэль Розенвасер пасвяціў увагу таму, што гэта выданне прыносіць можлівасць адкрытага выканання коду, багатапрацоўнай обробкі через спяльную память, а таксама набор оптымаізацый, якія у сэрэйных версіях програмы даюць прыбавку скорасці на роўні 8-12 разоў.

Сярод усіх пунктав агласаў большасць людзей прыхіляецца толькі да часткі пра тое, што система типа застаецца незменнай.

За інформацыяй з агласаў, новая реалізацыя на базе Go была перанесена з існуючай праз рэтельны процес портавання, а не створена з нуля; ўзор караці правільнасті типаў у яе адпавядае структурам TypeScript 6.0.

У гэтым апгрейде няма жадной новай сынтаксісы. Зменілася толькі швальна скорасць выканання для той самай аднойчынай логіки. Якшо пасля падвышэння версіі з’яўляюцца памылкі типаў, гэта не ўскладненая ситуацыя — гэта баг, які трэба задакументаваць.

Next.js 16.3 дадаў дакументацыю, у якой зазначаецца, што next build будзе выкарыстоўваць TypeScript 7 для перагляду типаў, якшо у проекте ёсць TypeScript 7 як прымусовая залежнасць. Гэта дае можлівасць меркаваць час выканання ў другі раз, пашырэнне звычайнага запуску tsc.

Два таймеры, якія я насправдзе выкарыстоўваў

Усю час адной і той самай прыкладнай програме. Next.js 16.3, React 19, чатыры маршруты, табліца счэтак, а флаг компілятора быў выключаны ў гэтай сесіі, каб цифры не змешаліся.

Таймер першы: tsc --noEmit --extendedDiagnostics. Таймер другі: next build, пры чым старанна адзірвалася лінія з пераглядам типаў у яго выходных даных.

Я дадзеў проекту TypeScript 7 як залежнасць.

pnpm add -D typescript@7

Экзекуабельны файл яшчэ называецца tsc. У перыяд прыгляду пакет называўся @typescript/native-preview, а яго бінарны файл — tsgo. Такое называнне было адмовілася, калі выйшла стабільная версія. Якщо вы зустрэнете гіст або тэп, дзе яшчэ згадваецца tsgo, то гэта стосуецца перыяду прыгляду, а не нынешняго інструмента.

Ёжчы два основныя версіі маглі існаваць на дыске, Microsoft выдала супутны пакет @typescript/typescript6. Ён апускае бінарны файл tsc6, што значыць, што звычны каманд tsc можа вядомаць да версіі 7, не заставляючы команды або інструменты, якія ўсё ще залежнаць ад версіі 6, застаўцца без дапамоги.

pnpm add -D @typescript/typescript6

Далей для обох версій викорыстоўваецца той самы tsconfig.json:

pnpm exec tsc6 --noEmit --extendedDiagnostics
pnpm exec tsc --noEmit --extendedDiagnostics

Тыя ж самыя файлы-выкліканнікі. Той ж самы настаўленні strict. Тыя ж пазначкі шляхоў, якія Next.js стварыла пад час стварэння проекта за дапамою create-next-app.

Кожны каманд запускаўся тры разы, а першы запуск быў адхілены, ўжо таму, што кэш файловай системы не являецца рэалістычным спосабам першай перацягванні.

Як выглядзелі цыфры ў гэтым кодавом базе

Проект-тэст мае чатыры маршруты і прыблізна 80 файлаў на TypeScript, якія належаць самаму проекту, пашто да гэтага дадаюцца файлы, якія Next.js стварае аўтаматычна.

Запуск TypeScript 6.0 за дапамою tsc6, вылучэнне медыяны з двух застаўленых запускаў:

  • Файлы, якія былі перацягнуты: 412
  • Час перацягвання: 3,82 секунды
  • Аб’ём часу: 4,25 секунды

Запуск TypeScript 7.0 за дапамою tsc пад аднаковым настаўленнем:

  • Файлы, якія былі перацягнуты: 412
  • Час перацягвання: 0,41 секунды
  • Абсалютны час: 0,60 секунды
  • Это дае прыткі падыш у часах перагляду, аднак толькі прыблізна у 9 разоў. Не у 12 разоў, і зовсім не так сильна, як падыш з 125 секунд да 10 секунд, які іноды паводзіцца для сцэнарыяў VS Code. Гэта проста рэзультат работы гэтага конкретнага репазітарыя.

    Якщо паглядзець на крок пераканання типаў унутранік next build:

    • У версіі 6: 5,1 секунды
    • У версіі 7: 1,4 секунды

    Усе іншае ў next build — збіранне і статычна генеравання для чатырох маршрутаў — засталося прыблізна незменным. Якщо ваша CI-пайплайн спачатку выпалюе лінт, потым пераканвае типы, пасля чаго збірае проект і адрабатвае тэсты на весь цикл, час пераканання типаў значна зменіўся, але час тэстав на весь цикл не падарыў жадных падышоў.

    Другі проект, які мае множлівасці Zod і або 300 файлаў з логікай пераканання і прыемнікарамі, показаў ўжо большы падыш:

    • Час перагляду версіі 6: 11,4 секунды
    • Час перагляду версіі 7: 1,3 секунды

    Код з большой колькасцю типаў, выглядае, дае большыя рэлатыўныя выгоды. Маленькі маркетынгавы сайт з дзесяткам файлаў не пакажае нават близка да 10-кратнага прышвартавання, проста там майже няма чаго для перакалькування.

    Бяг, які з’яўіўся пасля апдэйта

    Это не была змяна ў працэсе перакалькування типаў — гэта была проблема з інструментамі.

    eslint-plugin-react-hooks яшчэ запускаў typescript через настройку parserOptions.project. Гэта працавала нормальна пад версіяй 7, але гэта перастало работаць падчас прабных месцаў tsgo раней. Стары блок parserOptions яшчэ паказываў на адны tsconfig.eslint.json, у яком было задана "compilerOptions": { "strict": false }, ў спецыяльнасці каб старэйшыя тэсты не выклікалі працоўных паведамленняў.

    CI выкарыстоўваў тую спакойную настройку для перагляду коду, тады калі tsc выкарыстоўваў рэальную настройку проекта. Два разныя источнікі правды. У результате ў абডжэце теставой утиліты застаўся непазначаны параметр noImplicitAny, які пераглядач коду не могаў пазначыць. Калі версія 7 зробіла запуск tsc настолькі дышэўным, што яго можна было запускать стацыярна, я дадаў параметр tsc --noEmit безпасова да перагляду патронавых запросаў і цэлыя адміністрыраваную настройку толькі для ESLint выдалі.

    {
      "scripts": {
        "typecheck": "tsc --noEmit",
        "lint": "biome check .",
        "ci": "pnpm typecheck && pnpm lint && pnpm test && pnpm build"
      }
    }
    

    Рэальныя рашэння былі не такімі вялікімі. Історыя, якая циркулювала, была такой: «Версія 7 зламала нашы типы». Аднак гэта не было так. Зламалася дублюючаяся настройка.

    Перагляд таго, што насправды запускаецца на вашам апаратзе

    Перш чым верыць якім-небудзь цифрам, пераканайцеся, калькі бінарны файл выкарыстоўваецца для выканання задач.

    pnpm exec tsc -v
    

    У рэзультатах вы шукаеце Version 7.x. Якщо там яшчэ паказваецца 5 або 6, ваша рабочая суперфіса выкарыстоўвае застарэлую копію з якога-небудзь месца. У pnpm monorepo команда which пакажае вам неправильную дырэкцію, тады як pnpm exec — не пакажае.

    Запускайце діагностику тры разы, а першы запуск працягніце.

    pnpm exec tsc --noEmit --extendedDiagnostics
    

    Поле, на якія трэба звернуць увагу ў гэтых рэзультатах: колькісць оброблёных файлоў, чыя частка ўсьго складаецца з коду бібліятэк, чыя — з апісаў типаў, чыя — з вашага сэрвасу, а таксама трываласць перагляду та загальная трываласць.

    Теперы запісайце версію 6 разам з версіяй 7 і налаштавьце яе на той самы набор файлоў.

    pnpm add -D @typescript/typescript6
    pnpm exec tsc6 --noEmit --extendedDiagnostics
    

    Якща час адміністрування не зменшуецца на значны калекатар у кодбазе з сотнямі файлаў, значыць адназначна вы не выканалі тэставанне пад версіяй 7, або ваш прыклад занадта маленькі — дзесятак файлаў не пакажуць нічога.

    Таксама варта два разы запусціць next build, адназначна па кожным бінарным файлу, і ў кожны раз запісваць толькі рэкорд часу пераканалення типаў. Не трэба адразу сумаваць весь час будовы ў аналіз швальнасці TypeScript — Turbopack яўляецца адзельной системай, якая выканаець адзельную роботу.

    Якща вы зіткнуліся з памылкай типа, якая з’яўляецца пад версіяй 7, але не пад версіяй 6, пры ідэнтычным tsconfig, апісайце яе. Гэта не ў межах таго, пра што гаворыцца тут. Сама Microsoft стверджуе, што логіка пераканалення застаецца структурна незменнай, таму такая разніця ёсць багом, а не чымось, што трэба вважаць нормальным выкалкам падчас міграцыі.

    Звядзе, дзе насправды выйшла такая скорасць

    Прыбытак каменяецца ў самай працэсе перагляду коду. Аналіз і з’ўязкі таксама сталі быстрэйшымі, але трываласць перагляду — гэта та цифра, якая показваецца ў логах CI і яку люди насправды відчуваюць.

    Рэакцыйнасць редактара — гэта аднае, а ўжо праця мовнага сервісу — аднае іншае, не стосуючыся самостойнага компілятора. У таблічцы рахункоў кароткія дзеяння, такія як пераход да вызначэння, суб’ектыўна здаваліся быстрэйшымі. Час адпрацоўкі кожнага натыку клавішы не фіксаваўся, таму тут няма таблицы з показнікамі ў мілісекундах.

    next dev і його цыкл Fast Refresh не сталі значна быстрэйшымі пасля гэтых змян, таму што Fast Refresh ніколі не блакався пад час повнага запуску tsc з самага пачатку.

    Найбольшая парадоксальная перадзеянаеся ў випадку агентаў чы автаматызаваных ціклаў, якіе запускаюць tsc --noEmit пасля кожнага файлу, якія яны адчыняюць. Такі цікл тепер выканаеца настолькі быстро, што прыхіленне да адскоку перастае быць прываблівым спосабам. Гэта і ёсць справжняя, хоць і не агульнаваная, перадзеянаеся. Той жа агент, які ўсё такі пішыць звычныя enum-ы замест as const об’ектаў, тепер проста быстрэй даведаецца пра гэта.

    Расчытка рэальных затрат

    Інсталяцыя: адна зміна залежнасцей, плюс выдаленне застарэлага скрыпта tsgo, які больш не быў патрэбны.

    Уплыв на CI: у галоўным дапрыемку крок пераканрання типаў зменіўся з 3,8 секунд на 0,4 секунды; у дапрыемку працоўніка — з 11,4 секунд на 1,3 секунды. Рэшта восьці хвілін і больш паўтаральнага процесу засталася некінаванай.

    Цена чутакоў: адна з просьбаў пра перадзял паказвала версію 7 як прычыну регрэсіі, якая на самай працоўвала была вызвана змінай флага, якая была ўключаная ў той самы коміт. Трэба трыважыць гэтыя коміты адна ад другога.

    Досвід рэдагавання: прыемнае паслабленне, але не такое, якое варта квантыфікацыйваць цифрамі ў прымэтках.

    Называнне: tsc тепер абыходзіцца версіяю 7, а tsc6 ўжо ўступны варыянт. Якщо оба бінарных файлы знаходзяцца ў вашай PATH, чыста задокументаваць гэта ў README, каб ніхто пазней не заплутаўся.

    Чы трэба апгрэйдаваць да 7, чы застацца на 6

    Перайдзіце да версіі 7. Працэс перакантролювання типаў адбываецца за дапамогою таго ж двіжка, проста шырэй — няма новай синтаксікі, яку трэба было б выучыць.

    Застаўсяце толькі на версіі 6, якщо існуе конкрэтны плагін, які можна назваць, і які ўжо не дадаў падтрымкі для версіі 7. Запішыце назву гэтага плагіна безпасова ў ваш параметр версіі. Фраза «Чакаем, пакуль все стабілізуецца» сама по сабе не ўважаецца правамерным адказам.

    Не выканаўце апгрэйд на версію 7 разам з змянай erasableSyntaxOnly у той самы прыём запрошэння — якщо ўсё зламаецца, вы не зможаце з’ясаваць, калькі саме змяны стала прычыной.

    Таксама не адключайце команду tsc --noEmit з вашага CI-пайплайну толькі таму, што версія 7 робіць ўсё быстрэй. Быстрына — гэта прычына заставіць гэты параметр, а не прычына яго адключыць.

    Чыстыя меры гэтага паўтарэння

    Скорасць з 3,82 секунды да 0,41 секунды стосуецца самэй спецыяльнай аплікацыі з чатырма маршрутамі. Скорасць з 11,4 секунды да 1,3 секунды была зафіксавана ў адзінам кодбэсе, прызначанам для рабочых процесаў. Падвайчыленьне карыстоўнасці на 8–12 разоў, пра якое паведамляе Microsoft, стосуецца полных версій у рэпозітарыях такога размеру, як VS Code. Жадны чалавек тут не запускаў VS Code занова.

    Фраза «структурна ідэнтычны» з датой 8 ліпеня 2026 года прыйшла безпосередна з самага аанунсу Microsoft. Якщо падчас апдэйтаі бягуцьыя праблемы вашага проекту дзейсна змінююцца, трэба адносіцца да гэтага як да дыфекту, які трэба задакументаваць, а не як да калканага паслядку, які можна ігнораваць.

    Звярнуцца да інфармацыі пра залежнасці вашага проекту звядсю немагчыма. Якщо команда pnpm exec tsc -v паказвае адну галоўную версію локальна, а журналы CI — іншую, значыць, вы ўсё яшчэ не пераканаліся ў супаработы з TypeScript 7 — у вас проста проблема з выкарыстоўваннем PATH, якая маскіруецца пад порэванне версій.

    Заўядзейце tsc6 і tsc по тры разы кожны. Запісваюце час адбыцься перагляду і колькість файлаў пасля кожнага запуску. Гэтыя чатыры цифры ёсць первісным наборам дадзеных, якія можна выкорыстаць для адзначэння падтрымкі, якщо вы хочаце атрымаць прызначэнне па вашай конкретной наладзе.

    Мінімальны прыклад для папкі scratch

    Якщо вы хочаце спачатку не чыніць змян у свайму рэальным прыкладе програмы, хутчэй тут ёсць найменшы можлівы пара інсталляцый, якія ўсё ж такі паказваюць проблему з перанесеннем коду.

    mkdir ts7-lab && cd ts7-lab
    pnpm init
    pnpm add -D typescript@7 @typescript/typescript6
    echo '{ "compilerOptions": { "strict": true, "noEmit": true } }' > tsconfig.json
    echo 'export type InvoiceId = string; export const n: InvoiceId = "inv_1";' > index.ts
    pnpm exec tsc -v
    pnpm exec tsc6 -v
    pnpm exec tsc --extendedDiagnostics
    pnpm exec tsc6 --extendedDiagnostics
    

    Запісваюце строкі версій і часы перагляду для обох. Потым дадзіце пакет працовай зоны, які ўсё ж такі выкарыстоўвае typescript@6 як залежнасць, і старайцеся разумець, што паказвае команда pnpm exec tsc -v з корня рэпазітарыю. Гэта несарабатанне — самэ гэтае, што можа стаць неспадзяванкай для системы CI.

    У проекте с рахункамі-фактурамі ўсё тое, што варта было зафіксаваць, — гэта тое, чы рэальна next build выдрукавала лінію Finished TypeScript з версіі 7. Якщо гэтая лінія ніколі не показваецца, значыць Next.js выкарыстоўвае адзіннычны перакальвалювач типаў, не той, які запускае ваш скрыпт typecheck. Павінны быць супараднаваныя гэтыя два інструменты — адразу выкарыстоўванне двух разных перакальвалювачаў было самэй прычыной таго, як баг branded-id працягнуўся праз перагляд раней.

    Мінутны тэст на правильнасць для пераглядачаў: ачыніце app/invoices/page.tsx, павесіце курсор над типам searchParams і чакайце паведамленне ў інструментальной панелі. Паўтарыце гэта як для версіі 6, так і для версіі 7. У гэтым тэсте не патрэбны стопвачы — галоўная мета проста тая, каб текст у інструментальной панелі не змяніўся межы версіяма. Аднойчыныя правілы працы, але шырэйшы дварак пад час ўжывання.

    Якщо ваш проект мае окалечаны tsconfig.eslint.json з менш строгімі настройкамі, пазберыцеся ад яго той жа тыжнь, калі будзеце апгрэйдаваць. Дашчывы каментараў пры типах усуне праблэму, калі каментары будуць перакантролюваны па іншымі правіламі, чым пры складанні проекта.

    Адной з памероў, якія варта фіксаваць з першага дня, ёст тое, каб запустыць tsc --noEmit --pretty false 2>&1 праз wc -l як да, так і пасля апгрэйду. Колькасць памылак должна быць абсалютна аднаковая. У дапраўцы-програме яна была нуль і нуль. У проекте worker-tree — чатыры і чатыры; тыя ж файлы, тыя ж паведамленні ў обох разах. Гэтае аднакавасць і ёсць сутнасцю всей процэдуры міграцыі. Якщо вашы памеры не збягаюцца, перастаньце павтараць заголовак пра 10 разоў больш, і пачніце адразу пораўняваць два лог-файлы.

    Зберагаеце оба лог-файлы як /tmp/tsc6.txt і /tmp/tsc7.txt прыблізна ў тыя ж адну недзелю пасля кожнага апдэйта. Адмахніце іх, калі ситуацыя стане стабільнай — але не той вечар, калі вы фактычна выкладзеце апдэйт.

    Кераванне для таго, хто будзе прымкнуць да гэтай базы кода

    У шаблоне прасунутага запиту неабходна наявнасць рэзультата pnpm exec tsc -v. Якщо там не напісана цифра 7, значыць павышэння працэздатнасі насправды не было выкладзена.

    Не сумайце гэты апдэйт з erasableSyntaxOnly, verbatimModuleSyntax чы ўсеўшым чысткаваннем tsconfig у той жа змяні. Гэтыя опцыі належаць да наступных крокаў. Гэты апдэйт стосуецца толькі шырэйшага кампайляра, який выканае тую ж работу быстрэй.

    Продовжайце выкананне tsc --noEmit у CI, нават як гэта тепер практычна не каштуе нічога. Самэ гэта мінімальна вартасць являецца аргументам для таго, каб яго залишыць на месцы.

    Сеанс у лабараторыі, зафіксаваны на жывую: каманды і рэзультаты

    У этай частцы описваецца той самай лабараторыі з рахункамі за чатыры маршрута, якая выкорыстоўвалася ў всій гэтай серыі. Версіі, зафіксаваныя перад пачаткам: Node 24, TypeScript 7, Next 16.3.

    Этыя крокі знаходзяцца ў файле notes/lab.md репазітарыя, ўпэўніваючы такім чынам, што будучыя сесіі не будуць залежаць ад памяці. Яны можна скопіюваць у порядку.

    node -v
    pnpm exec tsc -v
    pnpm exec next --version
    

    Запісайце всі тры номеры версій у верхней частцы свайго зьязку. Якщо якая-небудзь основная версія не паспаўляе з тым, што, як вы думаеце, запускаеце, зупініцеся тут — усё, што будзе пасля, даўаць хыбныя рэзультаты болей тонкім спосабам.

    Далей ідзе аналіз маршрутаў:

    pnpm exec next dev
    

    Адрусавайце /, /invoices, /invoices/1, /settings, а пасля знову /invoices. У рэжыме DevTools увялічціце опцыю „Preserve log“. Зробіце скрыншот як падзела для фільтрацыі, так і ленты URL. Гэта пара дадзеных апыліваецца найкорыстнейшым пунктом дадзеных для большай часткі гэтых пераконтраў, чым могло быць.

    Пасля запускіце пераканальнік типаў:

    pnpm exec tsc --noEmit --pretty false
    echo $?
    

    Код выходу 0 — гэта не канечны рэзультат; гэта проста зелены сігнал для пераконтраўвання працы програмы пад час експлуатацыі.

    Нарэшце, гэта самая важная частка цікавай нас тут тэмы: запусціце команды, якія вже пераказаны пад рубрыкай «Як адразу побачыць на вашам комп’ютере». Не прахніце іх толькі таму, што вже бачылі ціяры тут — ваш комп’ютер не ўсё той, з каго яны былі атрыманы. Атмосферная тэплота, ноутбук на 16 ГБ і все, што Chrome рабіць у фоне, змянююцы часы RSS, перагляду та завершэння запуску больш, чым хоць якія-небудзь мінорныя змены ў фреймворку.

    Ішчо адна прыкмета, яку варта падтрымаць: адна лінія з пазначэнням «неудачная спроба выправлення» у зьвіте — адна рэченце, на прыклад: «Прабаваў X, але ўсё рав даў Y». Самэ гэта дапамагае заліць гэты документ у формате працоўнага зьвіту, а не гладкага презентацыйнага матэріялу. Корыстным дапамогам будзе список версій, сама команда, рэзультаты ўвыходу та пазначэння неудачной спробы выправлення. Скріншот панелі керування такім дапамогам не ўважаецца.

    Спадневаная літэратура