yarnpkg - Kuinka lisätä mukautettuja tyyppimäärityksiä käytettäessä Typescript-viittauksia Yarn-työtilassa?


Yritän luoda esimerkkiyarn-työtilavaraston Typescriptin uuden viitteet-ominaisuuden kanssa:

https://github.com/tommedema/serverless-mono-example/tree/feature/external-types

Kun ulkoisella kirjastolla ei ole tyyppimäärityksiä, ne pitäisi voida lisätä manuaalisesti. Tähän mennessä olen tehnyt seuraavaa:

  1. luoti packages/types -työtila
  2. lisäsi esimerkin kohtaan packages/types/camelcase tiedoston index.d.ts kanssa:

    declare module 'camelcase' { export default function camelCase( strs: string | string[], options: { pascalCase?: boolean } ): string }

  3. päivitti riippuvaisen paketin packages/random tsconfig.json-tiedoston sisältämään uuden viittauksen tyyppipakettiin:

    { "laajentaa": "../../tsconfig.settings.json", "kääntäjäAsetukset": { "ulostuloHakemisto": "dist", "juuriHakemisto": "src" }, "viittaukset": [ { "polku": "../types" } ] }

  4. päivitti typeRoots tiedostossa tsconfig.settings.json:

    "typeRoots": [ "./node_modules/@types", "./packages/types" ],

Siitä huolimatta, että sekä viitteet että typeRoots on asetettu, TypeScript ei pysty löytämään tyyppimääritystä:

[ts]
Could not find a declaration file for module 'camelcase'. '/Users/tommedema/projects/vg/demos/serverless-mono-example/node_modules/camelcase/index.js' implicitly has an 'any' type.
  Try `npm install @types/camelcase` if it exists or add a new declaration (.d.ts) file containing `declare module 'camelcase';`

Onko tyyppijuurieni käyttö virheellistä? Onko järkevää käyttää viitteitä tämän saavuttamiseksi? Miksi TypeScript ei löydä tyyppimäärittelyä?