typescript - installer @types-definisjon fra fork
Kontekst
Jeg har forket DefinitelyTyped og laget en løsning for én typedefinisjon. Denne løsningen finnes på en gren i denne fork-en.
Denne endringen bør ikke slås sammen tilbake, siden det bare er en midlertidig løsning.
Spørsmål
Hvordan installerer jeg denne tilpassede typedefinisjonen via npm eller yarn?
Problemer
- Jeg kan ikke bare installere grenen, siden det ville installere hele DefinitelyTyped-repoet i stedet for bare biblioteket.
- Ideelt sett vil jeg gjerne ha det installert på samme måte som standard typedefinisjoner, slik at ingen ytterligere (global) konfigurasjon er nødvendig.
Svar #1
Hvis dette bare er midlertidig som du sier (eller kanskje en veldig spesifikk brukstilfelle), gir det sannsynligvis mest mening å bare kopiere de endrede typedefinisjonene inn i prosjektets repository. Du kan deretter referere til disse definisjonene på samme måte som du ville gjort med alle tilpassede typings (se mitt andre svar for instruksjoner).
Svar #2
Så vidt jeg vet, finnes det ingen løsning i ett trinn fordi npm og yarn ikke støtter installasjon direkte fra en undermappe i et git-repositorium. Se problemene for npm (kanskje det finnes en nyere) og yarn, og tidligere spørsmål på Stack Overflow inkludert dette. (Hvis repositoriet ditt er hostet på en tjeneste som tilbyr en URL for å laste ned en tarball av en undermappe i repositoriet, kunne du prøve å kjøre npm install på den URL-en; jeg fulgte ikke den tilnærmingen.)
Jeg foreslår at du bruker Braid (disclosure: jeg er en Braid-bidragsyter) for å kopiere undermappen til DefinitelyTyped-forken inn i en undermappe i prosjektet ditt, og deretter kjøre npm install (eller yarn add) på den undermappen. npm eller yarn vil lage en symbolsk lenke fra riktig sted under node_modules til undermappen, slik at TypeScript vil finne typede deklarasjoner uten ytterligere konfigurasjon. Siden DefinitelyTyped-repositoriet ikke inneholder fullt funksjonelle package.json-filer for individuelle typerpakker, vil du sannsynligvis trenge å lage package.json-filen i den lokale undermappen eller legge til de manglende feltene før du kjører npm install. (Du kan bare la denne endringen være som en downstream-endring til Braid-speilet.)
Den eneste ulempen jeg ser med denne løsningen er at den lager en kopi av types-pakken i det nedstrøms depotet, som permanent vil ta opp noe plass i depotet. (Og Braid vil kopiere hele historien til DefinitelyTyped inn i din lokale klone av det nedstrøms depotet, men den plassen kan gjenvinnes ved søppelinnsamling.)