Typescript: typeRoots рдХреЛ рдХрд╕реНрдЯрдо рдШреЛрд╖рдгрд╛ рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣реА рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 28 рдлрд╝рд░ре░ 2018  ┬╖  15рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: microsoft/TypeScript



рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд╕реНрдХрд░рдг:
рд╕рдВрд╕реНрдХрд░рдг 2.6.2


рдЦреЛрдЬ рд╢рдмреНрдж:
рдореЙрдбреНрдпреВрд▓ рдирд┐рд░реНрдпрд╛рдд рд╕рдорд╛рд░реЛрд╣, рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓, рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬ, рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдШреЛрд╖рдгрд╛ рдлрд╝рд╛рдЗрд▓

рдХреЛрдб
src/testFile.ts :

import getFieldList = require('graphql-list-fields');

src/@types/graphql-list-fields/index.d.ts :

// Doing just this below (as suggested by the Typescript Handbook does not work 
// and results in the tsc error under **Actual behavior** below
import { GraphQLResolveInfo } from 'graphql';
declare function getFieldList(info: GraphQLResolveInfo): string[];
export = getFieldList;

// The code below is what actually works instead of the above
/*
declare module 'graphql-list-fields' {
    import { GraphQLResolveInfo } from 'graphql';
    function getFieldList(info: GraphQLResolveInfo): string[];
    export = getFieldList;
}
*/

рдЕрдкреЗрдХреНрд╖рд┐рддреН рд╡реНрдпрд╡рд╣рд╛рд░:
рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рд╕рдВрдХрд▓рдиред

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░:
tsc рдЪрд▓рдиреЗ рдкрд░ рддреНрд░реБрдЯрд┐:

src/testFile.ts(1,31): error TS7016: Could not find a declaration file for module 'graphql-list-fields'. '/node_modules/graphql-list-fields/index.js' implicitly has an 'any' type.
Try `npm install @types/graphql-list-fields` if it exists or add a new declaration (.d.ts) file containing `declare module 'graphql-list-fields';`

graphql-list-fields рдПрдХ рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬрд┐рд╕рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреЛрдИ рдкреНрд░рдХрд╛рд╢рд┐рдд рдкреНрд░рдХрд╛рд░ рдХреА рдШреЛрд╖рдгрд╛рдПрдВ рдирд╣реАрдВ рд╣реИрдВред

рдбрд┐рдХреНрд▓реЗрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдкрд░ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИрдВрдбрдмреБрдХ рдХреЗ рд╕реЗрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдореИрдВ рдПрдХ рдореЙрдбреНрдпреВрд▓рд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП рдбрд┐рдХреНрд▓реЗрд░реЗрд╢рди рдлрд╛рдЗрд▓ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдореЙрдбреНрдпреВрд▓- function.dts рдбрд┐рдХреНрд▓реЗрд░реЗрд╢рди рдлрд╛рдЗрд▓ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рддрд░рд╣ рд╕реЗ рдореИрдВ index.d.ts рдКрдкрд░ рдореЗрдВ рдХреЛрдб рдХреЗ рд╕рд╛рде рдЖрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдХрдВрдкрд╛рдЗрд▓рд░ рдЕрднреА рднреА рдореЙрдбреНрдпреВрд▓ 'рдЧреНрд░реЗрдлреНрд▓-рд▓рд┐рд╕реНрдЯ-рдлреАрд▓реНрдбреНрд╕' рдХреЗ рд▓рд┐рдП рдШреЛрд╖рдгрд╛ рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╢рд┐рдХрд╛рдпрдд рдХрд░рддрд╛ рд╣реИред рдкрд░реАрдХреНрд╖рдг рдФрд░ рддреНрд░реБрдЯрд┐ рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдХрдВрдкрд╛рдЗрд▓рд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд┐рдП рдЧрдП declare module 'graphql-list-fields' рдЖрд╕рдкрд╛рд╕ рд╕рдм рдХреБрдЫред

рд╣рдордиреЗ tsconfig рдбреЙрдХреНрд╕ рдореЗрдВ рдмрддрд╛рдП рдЕрдиреБрд╕рд╛рд░ "typeRoots": ["./node_modules/@types", "./src/@types"] tsconfig.json , рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА declare module 'graphql-list-fields' рдмрд┐рдирд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдпрд╣ рдПрдХ рдореБрджреНрджрд╛ рд▓рдЧрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ tsc рдЯрд╛рдЗрдкрд░реВрдЯреНрд╕ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рдкреНрд░рдХрд╛рд░ рдХреА рдШреЛрд╖рдгрд╛ рдирд╣реАрдВ рдкрд╛ рд░рд╣рд╛ рд╣реИред

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ:
3019 , 8335

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЯрд╛рдЗрдкрд░реВрдЯреНрд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдРрд╕рд╛ рд╕рдкреЛрд░реНрдЯ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╡рд╛рдкрд╕

@mhegazy рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЙрджрд╛рд░ рдмрдиреЗрдВ ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

_ рдиреЛрдЯ: рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдкреАрдЫреЗ рдХреА рдУрд░ рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рд░рд┐рд▓реАрдЬрд╝ рдиреЛрдЯреНрд╕ [рдпрд╣рд╛рдБ] рджреЗрдЦреЗрдВ ред_

рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП GitHub рдореБрджреНрджреЛрдВ, StackExchange рдЖрджрд┐ рдХреЛ рд╕реНрдХреИрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП _vastly_ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ред

рд╕рднреА 15 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

"typeRoots" рд╡реИрд╢реНрд╡рд┐рдХ рдХреЛрдб рдХреЗ рд▓рд┐рдП рд╣реИред рдпрд╛рдиреА рдРрд╕рд╛ рдХреБрдЫ рдЬрд┐рд╕реЗ рд╡реИрд╢реНрд╡рд┐рдХ рдирд╛рдо рд╕реНрдерд╛рди рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЖрдк рдЗрд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ declare module 'graphql-list-fields' {.. рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл рд╡реИрд╢реНрд╡рд┐рдХ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рдЙрд╕ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдореЙрдбреНрдпреВрд▓ рдШреЛрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред

рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП, рдЙрдирдХреЗ рдкрд╛рд╕ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рджрд╛рдпрд░рд╛ рд╣реИ, рдЖрдк рд╕рднреА рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдорд╛рд░реНрдЧ рдореИрдкрд┐рдЧ редред

рдХреБрдЫ рдЗрд╕ рддрд░рд╣:

{
    "compilerOptions": {
        "target": "es5",
        "baseUrl": "./",
        "paths": {
            "*" : ["src/@t`ypes/*"]
        }
    }
}`

@Mhegazy рдХреЛ рдХреНрд▓рд┐рдпрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдпрд╣ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбреЙрдХреНрд╕ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╕рдВрднрд╡рддрдГ рдШреЛрд╖рдгрд╛ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдЕрдиреБрднрд╛рдЧ рдХреЗ рддрд╣рддред

рдЯрд╛рдЗрдкрд░реВрдЯреНрд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдРрд╕рд╛ рд╕рдкреЛрд░реНрдЯ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╡рд╛рдкрд╕

рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдШреЛрд╖рдгрд╛ рдлрд╝рд╛рдЗрд▓ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ https://www.typescriptlang.org/docs/handbook/module-resolution.html#path -mapping рдкрд░ рдПрдХ рдиреЛрдЯ рд╣реИ

рдореИрдВ рд╕рдордЧреНрд░ рд░реВрдк рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдЕрдиреБрднрд╛рдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдШреЛрд╖рдгрд╛ рдлрд╝рд╛рдЗрд▓ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдПрдХ рдиреЛрдЯ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реВрдВред

рдЙрд╕ рдЕрдиреБрднрд╛рдЧ рдХреЛ рдкрдврд╝реЗрдВ рдФрд░ рд╣рдореЗрдВ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЕрднреА рднреА рдЙрд╕рдореЗрдВ рдХрдореА рдХреЗ рд▓рд┐рдП рдбреЙрдХреНрд╕ рдорд┐рд▓рддреЗ рд╣реИрдВ

рдУрд╣ рдореИрдВ рд╕рдордЭрд╛ред рд╣рд╛рдБ, рдпрд╣ рд╡рд╣ рдкреГрд╖реНрда рд╣реИ рдЬрд┐рд╕реЗ рдореБрдЭреЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдо рд╕реЗ рдХрдо рдкрде рдорд╛рдирдЪрд┐рддреНрд░рдг рдФрд░ рд╢рд╛рдпрдж рдЙрд╕ рд▓рд┐рдВрдХ рдХрд╛ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЙрд▓реНрд▓реЗрдЦ https://www.typescriptlang.org/docs/handbook/declaration-files/introduction.html рдХреЗ рддрд╣рдд рдХрд╣реАрдВ рднреА рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛

рд╣рд╛рдЙрд╕рдХреАрдкрд┐рдВрдЧ рдкреНрд░рдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдВрдж рдХрд░рдирд╛ рд╕рдорд╕реНрдпрд╛ рд▓реЗрдмрд▓ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕ рд╕рдордп рдЕрд╕реНрдерд┐рд░ рд╣реИ рдпрд╛ рдкрд╣рд▓реЗ рд╣реА рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИред

рдореБрдЭреЗ рдЕрднреА рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реА рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгреА @ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ-рдмреЙрдЯ рдореЗрдВ рдмрддрд╛рдП рдЕрдиреБрд╕рд╛рд░ рдбреЙрдХреНрд╕ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛

рдЯрд╛рдЗрдкрд░реВрдЯреНрд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдРрд╕рд╛ рд╕рдкреЛрд░реНрдЯ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╡рд╛рдкрд╕

@mhegazy рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЙрджрд╛рд░ рдмрдиреЗрдВ ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

_ рдиреЛрдЯ: рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдкреАрдЫреЗ рдХреА рдУрд░ рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рд░рд┐рд▓реАрдЬрд╝ рдиреЛрдЯреНрд╕ [рдпрд╣рд╛рдБ] рджреЗрдЦреЗрдВ ред_

рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП GitHub рдореБрджреНрджреЛрдВ, StackExchange рдЖрджрд┐ рдХреЛ рд╕реНрдХреИрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП _vastly_ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ред

рдПрдХ рдХрдордмрдЦреНрдд рдЯрди @mhegazy ! : рдЯрд╛рдбрд╛: @types рд▓рд┐рдП рдкрде рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдЕрдВрдд рдореЗрдВ рдЕрдиреБрдкрд▓рдмреНрдз рдЯреБрдХрдбрд╝рд╛ рдерд╛ рдЬрд┐рд╕рдиреЗ рдореЗрд░реЗ рдЧреИрд░-рдорд╛рдирдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗрдЯрдЕрдк рдХрд╛рд░реНрдп рдХреЛ рдмрдирд╛рдпрд╛ред рдореИрдВрдиреЗ рдЗрд╕ рдкрд░ рджрд┐рди рдмрд┐рддрд╛рдПред

рдпрджрд┐ рдЖрдк рдЕрдкрдиреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдзреАрдорд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдкрдиреЗ рдкреИрдХреЗрдЬ рдореЗрдВ TS_NODE_FILES=true рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред Json рдХреА рдЖрд░рдВрдн рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рд╕рднреА рдХрд╕реНрдЯрдо рдШреЛрд╖рдгрд╛ рдлрд╝рд╛рдЗрд▓ рдорд┐рд▓ рдЬрд╛рдПрдЧреАред

рдореБрдЭреЗ рдЕрдм рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ:

The following changes are being made to your tsconfig.json file:
  - compilerOptions.paths must not be set (aliased imports are not supported)

рдФрд░ рдпрд╣ рд╡рд┐рдХрд▓реНрдк рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

@KrzysztofMadejski рдХрд┐ CRA рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЯреАрдПрд╕ рд╣реА рдирд╣реАрдВред

рдпрд╣ рдзрд╛рдЧрд╛ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдЯрд╛рдЗрдкрд░реВрдЯ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд╢реНрдЪрдЧрд╛рдореА рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП рд╣реИред рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЗрдЦрдХ рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ рдЯрд╛рдЗрдкрд░реВрдЯ рдХреЗ рдмрд┐рдирд╛ рдЗрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдареАрдХ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХреИрд╕реЗ рдХрд░реВрдВрдЧрд╛? рдореИрдВрдиреЗ dts-gen рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рдХрд╛рд░ рдЙрддреНрдкрдиреНрди рдХрд┐рдП рд╣реИрдВ рдФрд░ types рдХреЛ рдЕрдкрдиреА рдкреНрд░рдХрд╛рд░ рдХреА рдЬрдбрд╝реЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рд╣реИ рдФрд░ рдЕрднреА рднреА рдХреЛрдИ рднрд╛рдЧреНрдп рдирд╣реАрдВ рд╣реИ :-(

@Roaders рдЖрдк dts-gen рдЙрддреНрдкрдиреНрди рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛?

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: https://github.com/microsoft/TypeScript/issues/22217#issuecomment -369783776 рдХреЗ рд╕рд╛рде рд╣рд▓

рдПрдХ рдмрд╛рдд рдЬреЛ рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдИ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐:

tsconfig.base.json:

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

рдФрд░ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛:

/node_modules/@types/something/index.d.ts
/types/something-else/index.d.ts

рдпрд╣ рдореЗрд░реЗ nrwl / nx рднрдВрдбрд╛рд░ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдорд┐рд▓реЗрдЧрд╛ред рдореИрдВ рдПрдХ рд▓рд╛рдЦ рдЪреАрдЬреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдореИрдВ something-else рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ node_modules/@types рдЬрд╛рдКрдВ рддреЛ рдпрд╣ рдЬрд╛рджреБрдИ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдФрд░ рдЙрдард╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ рдХрд┐ typeRoots рдмрд┐рд▓реНрдХреБрд▓ node_modules/@types рд░реВрдк рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

рдЯрд╛рдЗрдкрд░реВрдЯреНрд╕ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдирд╛ рдФрд░ рдпрд╣ рдХрд╣рдирд╛ рдХрд┐ рдпрд╣ рдПрдХ рдЕрдЬреАрдм / рд╡рд┐рдЪрд┐рддреНрд░ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдХрдо рд╕реЗ рдХрдо рдореБрдЭреЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ред

рдПрдХ рд╣реА рд░рд╛рд╕реНрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рд╣рд░ рдмрд╛рд░ рд╕реНрдерд╛рдиреАрдп рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ рд╣реВрдВ, рдореЗрд░реЗ tsconfig.base.json рдХреЗ рд╕рд╛рде рд▓рдбрд╝рдиреЗ рдореЗрдВ рдШрдВрдЯреЛрдВ рдЦрд░реНрдЪ рдХрд░рдиреЗ рдФрд░ рдКрдкрд░ mhegazy рдЯрд┐рдкреНрдкрдгреА рдкрд░ рдареЛрдХрд░ рдЦрд╛рдиреЗ рд╕реЗ рд╣реИ

рдореИрдВ рдЗрд╕рд╕реЗ рдХрд╛рдЯрддрд╛ рд░рд╣рд╛ рдФрд░ paths рд╡рд┐рдХрд▓реНрдк рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЧрдпрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЙрдЪрд┐рдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рд▓ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдмрдирд╛рдИред рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

kyasbal-1994 picture kyasbal-1994  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

remojansen picture remojansen  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jbondc picture jbondc  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Antony-Jones picture Antony-Jones  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

seanzer picture seanzer  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ