Tyyppitarkistus CI:ssa: se turvaverkko, joka katosi huomaamatta

Node.js v24 LTS -linja toi natiivin TypeScript-suorituksen, ja se on poistanut kokonaisen tyokalukerroksen projekteista. Yksi yksityiskohta jaa siirtymassa usein huomaamatta, ja se on tarkein.

Riisunta ei ole tarkistus

Natiivi suoritus tarkoittaa, etta Node riisuu tyyppimerkinnat ajonaikaisesti. Se ei tarkista niita.

Koodi, jossa on tyyppivirhe, suoriutuu normaalisti. Tyyppi vain haviaa ajonaikana.

Aiemmin kaannosvaihe kaatui virheeseen ja esti julkaisun. Se turvaverkko oli olemassa ilman etta sita tarvitsi ajatella.

Miksi tama on vaarallinen tavalla, joka ei nay

Muut siirtymien virheet ilmenevat heti: jokin ei kaanny, jokin kaatuu, testi punaiselle.

Tyyppitarkistuksen katoaminen ei ilmene mitenkaan. Kaikki toimii. Virheet kertyvat hiljaa siihen asti, kunnes yksi niista aiheuttaa ajonaikaisen ongelman tuotannossa — ja silloin se nayttaa tavalliselta bugilta eika prosessin puutteelta.

Mita tehda

Lisaa tyyppitarkistus eksplisiittisesti CI-putkeen. Erillinen vaihe, joka ajaa tarkistuksen ja kaataa putken virheeseen.

Aja se myos paikallisesti ennen commitia. Nopein palaute on kehittajan koneella.

Tarkista, ettei se ole vain varoitus. Tarkistus, joka tulostaa virheita mutta palauttaa nollan, ei estä mitaan.

Mita muuta ytimeen siirtyi

Node.js v24 LTS toi myos sisaanrakennetun testiajurin, watch-tilan ja .env-jasennyksen. Sama periaate patee: alustan ominaisuus saa alustan tuen ja 30 kuukauden LTS-ikkunan.

Sama suunta nakyy muualla — WordPress 7.0 toi PHP-pohjaiset lohkot ilman Reactia, mika poistaa tyokaluketjun yksinkertaisilta komponenteilta.

Periaate

Kun kerros poistetaan, kannattaa luetella mita se teki. Kaannosvaihe teki kaksi asiaa: muunsi koodin ja tarkisti tyypit. Natiivi suoritus korvaa ensimmaisen.

Toinen on siirrettava jonnekin eksplisiittisesti — ja se on juuri se osa, jonka poistuminen ei nay missaan.

Lahteet

Leave a Reply

Your email address will not be published. Required fields are marked *