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.