package.json - Kako bi verzioniranje trebalo funkcionirati s novim Typescript 2 @types?


Umjesto korištenja typings-a, s Typescript 2 trebali bismo instalirati ovisnosti u @type namespace putem npm-a. Ali verzioniranje izgleda kao kaos.

Na primjer, ako napravim npm view urijs, vidim ove verzije:

 '1.17.1': '2016-02-25T10:06:35.269Z',
 '1.18.0': '2016-04-30T09:27:13.484Z',
 '1.18.1': '2016-05-29T16:43:29.257Z',
 '1.18.2': '2016-09-25T19:59:43.684Z',
 '1.18.3': '2016-11-17T22:13:15.243Z' 

Ako izvršim npm view @types/urijs, dobijem ovo:

 '1.15.24-alpha': '2016-07-04T01:27:50.730Z',
 '1.15.25-alpha': '2016-07-08T21:42:31.607Z',
 '1.15.26': '2016-07-14T16:18:54.580Z',
 '1.15.27': '2016-08-02T16:14:09.235Z',
 '1.15.28': '2016-08-19T15:45:23.543Z',
 '1.15.29': '2016-08-25T19:04:03.083Z',
 '1.15.30': '2016-09-19T18:17:20.887Z',
 '1.15.31': '2016-10-05T21:04:18.199Z' 

Recimo da imam ovisnost o [email , kako da znam koju verziju @types trebam uzeti? Moram li pribjegavati gledanju datuma i nadati se da ću dobiti dobru?

Je li ovo samo slučaj da programer 'radi pogrešno'? Naime, je li plan da programeri objave odgovarajuću verziju @types s istim brojem, po mogućnosti u isto vrijeme?

Odgovor #1

Općenito govoreći, za bilo koju verziju @types paketa major.minor.xxx.xxx trebala bi odražavati najnoviju verziju major.minor.xxx.xxx samog paketa. Dakle, ako bi bila objavljena verzija 1.18.49 na @types, ona bi idealno trebala odražavati verziju 1.18.3 samog paketa.

Može biti jednostavno slučaj da nije bilo ažuriranja između verzije 1.15 i 1.18 koja bi zahtijevala ažuriranje .d.ts datoteke. Također može biti da netko jednostavno "radi pogrešno", kako si rekao.

Svakako biste se trebali slobodno ažurirati verziju .d.ts na grani types-2.0 na DefinitelyTyped.