Typescript: рддреНрд░реБрдЯрд┐ "рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддрд╛ ... рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЗрдирдкреБрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░ рджреЗрдЧрд╛ред"

рдХреЛ рдирд┐рд░реНрдорд┐рдд 8 рдорд╛рд░реНрдЪ 2017  ┬╖  99рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: microsoft/TypeScript

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

рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2015 рдЕрдкрдбреЗрдЯ 3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ

рдлрд╝рд╛рдЗрд▓ 'C:/{{my-project}}/node_modules/buffer-shims/index.js' рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЗрдирдкреБрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░ рджреЗрдЧрд╛ред

рдРрд╕рд╛ рд╣рд░ рд╕рдордп рджрд┐рдЦрддрд╛ рд╣реИред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдирд╣реАрдВ рд░реЛрдХрддрд╛ рд╣реИ, рдФрд░ рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рддреНрд░реБрдЯрд┐ рд╕реВрдЪреА рд╡рд┐рдЪрд▓рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╣реЛрддреА рд╣реИ рдФрд░ рдЬрдм рд╡реЗ рд╣реЛрддреА рд╣реИрдВ рддреЛ "рд╡рд╛рд╕реНрддрд╡рд┐рдХ" рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрддрд╛ рд╣реИред

Visual Studio Error List

рдореЗрд░реА tsconfig.json рдлрд╝рд╛рдЗрд▓

{
  "compileOnSave": true,
  "compilerOptions": {
    "baseUrl": ".",
    "module": "commonjs",
    "noImplicitAny": true,
    "removeComments": true,
    "sourceMap": true,
    "target": "ES5",
    "forceConsistentCasingInFileNames": true,
    "strictNullChecks": true,
    "allowUnreachableCode": false,
    "allowUnusedLabels": false,
    "noFallthroughCasesInSwitch": true,
    "noImplicitReturns": true,
    "noImplicitThis": true,
    "noUnusedLocals": true,
    "noUnusedParameters": true,

    "typeRoots": [],
    "types": [] //Explicitly specify an empty array so that the TS2 <strong i="17">@types</strong> modules are not acquired since we aren't ready for them yet.
  },
  "exclude": ["node_modules"]
}

рдореИрдВ рдЗрди рд╕рднреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдХреИрд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛ рд╕рдХрддрд╛ рд╣реВрдБ?

_(рдореИрдВрдиреЗ рдЗрд╕ рдкреНрд░рд╢реНрди рдХреЛ StackOverflow рдкрд░ рдЕрднреА рддрдХ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ

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

рдореБрдЭреЗ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдлрд┐рдХреНрд╕ рдорд┐рд▓рд╛ред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореИрдВрдиреЗ files рд╕рд░рдгреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдмрд┐рдирд╛ outDir рдФрд░ rootDir ред outDir рдХреЗ рдкрде рдХреЛ exclude рд╕рд░рдгреА рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╕рдордп рд╕рдм рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред

{
    "compilerOptions": {
        ...,
        "outDir": "./dist",
        "rootDir": "./src",
    },
    "exclude": [
        "node_modules",
        "dist" <-- I had to add this to fix the errors
    ]
}

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ dist рдлрд╝реЛрд▓реНрдбрд░ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рднреА рджреЗрдЦ рд░рд╣рд╛ рд╣реЛ, рднрд▓реЗ рд╣реА рдЗрд╕реЗ outDir рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛред

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

рдореБрдЭреЗ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдЖрддреА рд╣реИред

--allowjs рд╕реЗрдЯ рд╣реИ? рдХреНрдпрд╛ рдЖрдк рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рд╛рдЭрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдФрд░ рдирд╣реАрдВ рдХрд┐ рдзреНрд╡рдЬ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИред рдореЗрд░рд╛ tsconfig.json рдКрдкрд░ рд╣реИ, рдФрд░ рд╣рдо рдЗрд╕реЗ рд╡реАрдПрд╕2015 рдЕрдкрдбреЗрдЯ 3 рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдПрдордПрд╕рдмрд┐рд▓реНрдб рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдб рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИред

рдореЗрд░реЗ рдкрд╛рд╕ рдЯреАрдо рдХреЗ рд╕рд╛рдереА рд╣реИрдВ рдЬреЛ рд╕рдорд╛рди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдЙрдирдХреЗ рд╕рд╛рде рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╕рдорд╛рди рдореБрджреНрджреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╢рд┐рдХрд╛рдпрдд рдХрд░рддреЗ рд╣реИрдВред рдореИрдВ рдПрдХ рдЕрд▓рдЧ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдШрд░ рдкрд░ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдФрд░ рдПрдХ рд╣реА рд╕реЗрдЯрдЕрдк (TS 2.2.1, VS2015 U3, рдЖрджрд┐) рд╣реИред

рдпрджрд┐ рдЖрдк рд╕рдорд╛рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдПрдХ рдмреЗрдпрд░-рдмреЛрди рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рдЖрдкрдХреЛ рд╡рд╣реА рд╡реНрдпрд╡рд╣рд╛рд░ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ?

рд╣рдореЗрдВ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ https://github.com/wc-catalogue/blaze-elements/issues/299 рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЯрд╛рдЗрдк рдбреЗрдлрд┐рдирд┐рд╢рди рдХреЗ рд╕рд╛рде рд░рд╛рдЗрдЯ рдПрдХреНрд╕реЗрд╕

@Hotell рдХреНрдпрд╛ рдЖрдк рдЗрд╕реЗ "рднрдпрд╛рдирдХ-рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ-рд▓реЛрдбрд░" рдХреЗ рдмрд┐рдирд╛ рджреЗрдЦрддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рдЖрдк рдореЗрд░реЗ рд╕рд╛рде рд░реЗрдкреНрд░реЛ рд╕реНрдЯреЗрдкреНрд╕ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рд╣рд╛рдБ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдЙрдЯрдкреБрдЯ рдХрдЪреНрдЪреЗ tsc рджреВрд╕рд░реА рдмрд╛рд░ рдЪрд▓рдиреЗ рд╕реЗ рд╣реИред

screen shot 2017-03-10 at 5 08 04 pm

рдмрд╕ рд░реЗрдкреЛ рдХреЛ рдХреНрд▓реЛрди рдХрд░реЗрдВ https://github.com/wc-catalogue/blaze-elements

  • рд░реВрдЯ рд╕реЗ yarn рд╣рд┐рдЯ рдХрд░реЗрдВ
  • рд╣рд┐рдЯ yarn tsc -> рдкрд╣рд▓реА рдмрд╛рд░ рд╕рдВрдХрд▓рди (рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ) => рдкрд╣рд▓реА рдмрд╛рд░ definitions/ рдлрд╝реЛрд▓реНрдбрд░ рдЙрддреНрдкрдиреНрди рд╣реБрдЖ
  • yarn tsc рдлрд┐рд░ рд╕реЗ рд╣рд┐рдЯ рдХрд░реЗрдВ -> рддреНрд░реБрдЯрд┐рдпрд╛рдВ

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рд╣реИ -- рдЯрд╛рдЗрдкрдкреНрд░рддрд┐ рдХрд╛ рдПрдХ рд╣реА рд╕рдВрд╕реНрдХрд░рдг (2.2.1) рдФрд░ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2015 (рдЕрдкрдбреЗрдЯ 3); рдкрд╣рд▓реА рдмрд╛рд░ рдЬрдм рдмрд┐рд▓реНрдб рдЪрд▓рддрд╛ рд╣реИ, рддреЛ рд╢реВрдиреНрдп рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрд╕рдХреЗ рдмрд╛рдж рд╣рдореЗрдВ рдЗрдирдореЗрдВ рд╕реЗ рд╕реИрдХрдбрд╝реЛрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓рддреА рд╣реИрдВред

рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рддреНрд░реБрдЯрд┐рдпрд╛рдВ (рд╣рдорд╛рд░реЗ рд▓рд┐рдП) "рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕" рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реИрдВ, рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдЕрдкрдиреА tsconfig.json рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИред -- рд╕рдорд╛рди рдмрдЧ рдХреЛ рджреЗрдЦрдиреЗ рд╕реЗ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдмрд╣рд┐рд╖реНрдХреГрддреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?

рд╣рдорд╛рд░реА tsconfig.json рдлрд╝рд╛рдЗрд▓:

{
  "compilerOptions": {
    "noImplicitAny": false,
    "noEmitOnError": true,
    "removeComments": false,
    "sourceMap": true,
    "target": "es5",
    "module": "commonjs",
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true
  },
  "exclude": [
    "node_modules",
    "wwwroot",
    "aot",
    "AngularApp/main-aot.ts"

  ],
  "compileOnSave": true
}

рдХреБрдЫ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЬреЛ рд╣рдореЗрдВ рдорд┐рд▓рддреА рд╣реИрдВ (рд╡реЗ рд╕рднреА рд╕рдорд╛рди рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ):

Severity    Code    Description Project File    Line    Suppression State
Error   TS5055  Cannot write file 'C:/XYZ/Project.AppWeb/node_modules/zone.js/dist/zone.js' because it would overwrite input file.  TypeScript Virtual Projects     1   Active
Error   TS5055  Cannot write file 'C:/XYZ/Project.AppWeb/node_modules/events/events.js' because it would overwrite input file.  TypeScript Virtual Projects     1   Active
Error   TS5055  Cannot write file 'C:/XYZ/Project.AppWeb/node_modules/core-js/modules/_wks.js' because it would overwrite input file.   TypeScript Virtual Projects     1   Active
Error   TS5055  Cannot write file 'C:/XYZ/Project.AppWeb/node_modules/core-js/modules/_uid.js' because it would overwrite input file.   TypeScript Virtual Projects     1   Active
Error   TS5055  Cannot write file 'C:/XYZ/Project.AppWeb/node_modules/core-js/modules/_to-primitive.js' because it would overwrite input file.  TypeScript Virtual Projects     1   Active

рджреЛрдмрд╛рд░рд╛, рдЕрдЧрд░ рд╣рдо "рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕" рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВ рддреЛ рдмрд┐рд▓реНрдб рдПрдХ рдмрд╛рд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рдЕрдЧрд▓реЗ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдкрд░ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

@рд╣реЛрдЯрд▓ рдореИрдВ рдЗрд╕реЗ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдирд╣реАрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ, рдореБрдЭреЗ рдХреНрдпрд╛ рдпрд╛рдж рдЖ рд░рд╣реА рд╣реИ?

c:\test\14538\blaze-elements>yarn tsc
yarn tsc v0.18.1
$ "c:\test\14538\blaze-elements\node_modules\.bin\tsc"
Done in 5.46s.

c:\test\14538\blaze-elements>yarn tsc
yarn tsc v0.18.1
$ "c:\test\14538\blaze-elements\node_modules\.bin\tsc"
Done in 5.87s.

c:\test\14538\blaze-elements>dir /B definitions
packages
polyfills.d.ts
styles.d.ts
test-helpers.d.ts
vendors.d.ts

c:\test\14538\blaze-elements>yarn tsc
yarn tsc v0.18.1
$ "c:\test\14538\blaze-elements\node_modules\.bin\tsc"
Done in 4.48s.

@ BrainSlugs83 рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ

рдореБрдЭреЗ рднреА рдЗрд╕реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ, рдпреЗ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВ:
screen shot 2017-03-16 at 23 34 13
рдФрд░ рдпрд╣ рдореЗрд░рд╛ tsconfig.json рд╣реИ:
screen shot 2017-03-16 at 23 34 25

рдЪреВрдВрдХрд┐ рдореИрдВ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдмрд┐рд▓реНрдб рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП tsconfig рдмрдирд╛рдпрд╛ рд╣реИ, рдореБрдЭреЗ рднреА рд▓рдХреНрд╖реНрдп = ES6 рдЪреБрдирдирд╛ рдерд╛ рдЕрдиреНрдпрдерд╛ рдореБрдЭреЗ рдЕрдиреНрдп рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛ рд░рд╣реА рдереАрдВред

рдХреНрдпрд╛ tsconfig.json рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ? рдФрд░ рдХреНрдпрд╛ рдЖрдк рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдХрд╛рд░ "рд╕рд╛рдордЧреНрд░реА" рд╣реИ? рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдХреНрдпрд╛ рдЖрдк рдЕрдкрдирд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

@mhegazy рд╣рд╛рдп, рд╣рд╛рдБ, рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ рдХрд┐ tsconfig.json рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ:

screen shot 2017-03-17 at 19 53 12

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЦреЗрдж рд╣реИ рдХрд┐ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЖрдк рдХрд┐рд╕ "рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдХрд╛рд░" рдХрд╛ рдЬрд┐рдХреНрд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рд╕реНрдкрд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдореИрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рд╛рдЭрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

рдореЗрд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░, рдореИрдВ рдпрд╣ рднреА рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ tsconfig рдлрд╝рд╛рдЗрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдФрд░ рдпрд╣ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд░реВрдк рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рд╣реИред

@ max-favilli рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ "рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдХрд╛рд░" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╕рдордп @mhegazy рдХрд╛ рдЕрд░реНрде "рдмрд┐рд▓реНрдб рдПрдХреНрд╢рди" рд╣реИред

рд╕рдорд╛рдзрд╛рди рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдореЗрдВ tsconfig.json рдЪреБрдиреЗрдВред рдЧреБрдг рд╡рд┐рдВрдбреЛ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ F4 рдХреБрдВрдЬреА) рд▓рд╛рдПрдВред рдПрдХ рдмрд┐рд▓реНрдб рдПрдХреНрд╢рди рд╕рдВрдкрддреНрддрд┐ рд╣реЛрдЧреАред

рдзрдиреНрдпрд╡рд╛рдж @kevindqc , @mhegazy рд╣рд╛рдБ "рдмрд┐рд▓реНрдб рдПрдХреНрд╢рди" "рд╕рд╛рдордЧреНрд░реА" рдкрд░ рд╕реЗрдЯ рд╣реИ
screen shot 2017-03-18 at 11 21 28

рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреА рд╡рд░реНрдЪреБрдЕрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рдВрд░рдЪрдирд╛ рдореЗрд░реЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдкрдХреЛ рдирд┐рдореНрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

  • Tools > Options > Text Editor > TypeScript > Project , рдФрд░ Display Virtual Projects when no Solution is loaded рдЬрд╛рдВрдЪреЗрдВ;
  • рд╡реАрдПрд╕ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ, рдФрд░ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдХ рдлрд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ
  • рдЕрдм рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╕рдорд╛рдзрд╛рди рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдореЗрдВ TypeScript Virtual Project . рдХреЗ рдирд╛рдо рд╕реЗ рдПрдХ рдирдпрд╛ рдиреЛрдб рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП

@mhegazy рдЗрд╕ рддрд░рд╣?

screen shot 2017-03-21 at 02 08 13

рдорджрдж рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдореЗрд░реА рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдореИрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕рд╛рдЭрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдпрдерд╛рд╕рдВрднрд╡ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред

рдореЗрд░реЗ рдкрд╛рд╕ .csproj ( <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked> ) рдореЗрдВ рдЯрд╛рдЗрдкрдкреНрд░рддрд┐ рд╕рдВрдХрд▓рди рдЕрдХреНрд╖рдо рд╣реИ
рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЗрд╕реЗ npm run build:prod рджреНрд╡рд╛рд░рд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдмрд┐рд▓реНрдб рдЗрд╡реЗрдВрдЯ рдореЗрдВ рд╣реИред

рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣рдореЗрд╢рд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВред рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рдХрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ (рд╡реАрдПрд╕ рдореЗрдВ рджрд┐рдЦрд╛рдП рдЧрдП рдереЗ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╡реАрдПрд╕ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд┐рдпрд╛)ред рдореИрдВрдиреЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ, рд╕рдорд╛рдзрд╛рди рдмрдирд╛рдиреЗ, рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ, рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЪрд▓рд╛рдиреЗ, рдХреЛрдб рдХрд╡рд░реЗрдЬ рдЪрд▓рд╛рдиреЗ рдЖрджрд┐ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИред рдХреБрдЫ рднреА рдЗрд╕реЗ рдЯреНрд░рд┐рдЧрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдлрд┐рд░, рдЬреИрд╕реЗ рд╣реА рдореИрдВ рдЕрдВрддрд┐рдо рд╡рд╛рдХреНрдп рд▓рд┐рдЦ рд░рд╣рд╛ рдерд╛, рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╕рд╛рдордиреЗ рдЖрдИрдВред рддреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдкреГрд╖реНрдарднреВрдорд┐ рдХрд╛рд░реНрдп рд╣реИрдВ рдЬреЛ рдЗрд╕реЗ рдХрд░рддреЗ рд╣реИрдВ? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдирд┐рд░реНрдорд╛рдг рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рдЧрднрдЧ 2 рдорд┐рдирдЯ рдмрд╛рдж (рдХрдо рд╕реЗ рдХрдо 2-3 рдмрд╛рд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рдЖрдЬрдорд╛рдпрд╛)

рд╕рдордпрд░реЗрдЦрд╛:
1:37:20 - рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдЦреЛрд▓рд╛
1:37:30 - рд╕реЙрд▓реНрдпреВрд╢рди рдмрд┐рд▓реНрдб рд╢реБрд░реВ рдХрд┐рдпрд╛
1:38:20 - рдирд┐рд░реНрдорд╛рдг рд╕рдорд╛рдкреНрдд
1:39:39 - рдПрд░рд░реНрд╕ рджрд┐рдЦрд╛рдИ рджрд┐рдП

рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдореЗрд░рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЕрднреА рднреА v2.0.3 Microsoft.TypeScript.Compiler рдФрд░ Microsoft.TypeScript.MSBuild nuget рд╕рдВрдХреБрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ v2.2.1 рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ред рдЕрдм рддрдХ, рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВред рдЕрдЧрд░ рдореИрдВ рдлрд┐рд░ рд╕реЗ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рддреЛ рдЕрдкрдбреЗрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред (рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдореБрдЭреЗ рдлрд┐рд░ рд╕реЗ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧрд╛, ~ 5 рдорд┐рдирдЯ, рдореЗрд░реЗ рдмрд┐рдирд╛ рдХреБрдЫ рднреА рдХрд┐рдП рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВрдиреЗ рд╡реАрдПрд╕ рдЦреЛрд▓рд╛ рддреЛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ред рдЕрд╕рд▓ рдореЗрдВ, рдореБрдЭреЗ рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ - рдмрд╕ рдЦреЛрд▓рдирд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдФрд░ рдХреБрдЫ рдорд┐рдирдЯ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рд╕реЗ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИрдВ)

рдЙрди рдкреБрд░рд╛рдиреЗ рдирдЧреЗрдЯ рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдХреНрдпрд╛ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдореИрдВрдиреЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рддреЛ рдореБрдЭреЗ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреВрд▓реНрд╕ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЙрдкрдЕрдк рдорд┐рд▓рд╛, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ <TypeScriptToolsVersion>2.2</TypeScriptToolsVersion> рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреНрдпрд╛ рдЗрд╕реЗ рдирдЧреЗрдЯ рдкреИрдХреЗрдЬ рдХреЛ рднреА рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдореИрдВрдиреЗ рдЕрднреА рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ 2.2.1 рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рд╕рднреА рдиреЛрдб_рдореЙрдбреНрдпреВрд▓ рдХреЛ рдлрд╝реНрд▓реИрдЧ рдХрд░рдирд╛ рд▓реЗрдХрд┐рди tsc рдХрдВрдкрд╛рдЗрд▓рд░ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдкреВрд░рд╛ рд╣реЛрддрд╛ рд╣реИред

@mhegazy

@рд╣реЛрдЯрд▓ рдореИрдВ рдЗрд╕реЗ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдирд╣реАрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ, рдореБрдЭреЗ рдХреНрдпрд╛ рдпрд╛рдж рдЖ рд░рд╣реА рд╣реИ?

рдареАрдХ рд╣реИ, рдпрд╣ https://github.com/wc-catalogue/blaze-elements/commit/cdb94bf8feb3a1ad7e21e6fce243e3322c1334cc рджреНрд╡рд╛рд░рд╛ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛

рд╡рд┐рд▓рдВрдмрд┐рдд рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдФрд░ thx 4 рд╕рд╣рд╛рдпрддрд╛!

@Hotell @mhegazy рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░реЗ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ "рдкрд░рд┐рднрд╛рд╖рд╛" рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ d.ts рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реИрдВ?
рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред рдореИрдВ "node_modules" рдХреЗ рдЕрдВрддрд░реНрдЧрдд @types рдЬреЛ inheritedly рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рд╣реИ?

@chrismbarr рдХреНрдпрд╛ рдореИрдВ рдкреВрдЫ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЗрд╕реЗ рдЕрднреА рддрдХ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИ? рдореИрдВ рдзрд╛рдЧреЗ рдХрд╛ рдкрд╛рд▓рди рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ @Hotell рджреНрд╡рд╛рд░рд╛ рд╕реБрдЭрд╛рдП рдЧрдП

рдХреНрдпрд╛ рдЖрдк рд╡рд┐рд╕реНрддреГрдд рд▓реЙрдЧрд┐рдВрдЧ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХреЗрдВрдЧреЗ рдФрд░ рд╣рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рднреЗрдЬ рд╕рдХреЗрдВрдЧреЗ? рд╕рд┐рд╕реНрдЯрдо рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ TSS_LOG рдХреЛ -file C:/temp/logs/tsserver.log -level verbose рдЬреИрд╕реЗ рдорд╛рди рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ (рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд▓реЙрдЧ рдлрд╝реЛрд▓реНрдбрд░ рдореМрдЬреВрдж рд╣реИ)ред рдлрд┐рд░ рдЬрдм рдЖрдк рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рд▓реЙрдЧ рднреЗрдЬреЗрдВ/рд╕рдВрд▓рдЧреНрди рдХрд░реЗрдВред (рдиреЛрдЯ: рдЗрд╕рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдкрде рдФрд░ рдкреВрд░реНрдгрддрд╛ рд╕реВрдЪреА рдЬреИрд╕реЗ рдбреЗрдЯрд╛ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдРрд╕рд╛ рдХреЛрдИ рдбреЗрдЯрд╛ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЗрд╕рдореЗрдВ рд╕рд╛рдЭрд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ)ред

рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдореИрдВрдиреЗ рдХрднреА-рдХрднреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЙрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рджреГрд╢реНрдп рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рджреЗрдЦрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЧрд▓рдд рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╕рдордп рдкрд░ рд░реБрдХ-рд░реБрдХ рдХрд░ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛрддреА рд╣реИрдВред рдореИрдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣рд╛рдВ рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВ рдЕрдкрдирд╛ рдИрдореЗрд▓ рдкрддрд╛ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдпрджрд┐ рдЖрдк рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╕реАрдзреЗ рднреЗрдЬрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдмрд┐рд▓реНрдЯреА рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдбреЙрдЯ рдХреЙрдо рдкрд░)ред рдзрдиреНрдпрд╡рд╛рджред

@ рдЬреЙрдирд▓реА рдирд╣реАрдВ,

@ рдмрд┐рд▓реНрдЯреА рд╡реИрд░рд┐рдПрдмрд▓ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛, рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ (2017) рдкреБрдирд░рд╛рд░рдВрдн рд╣реБрдЖ, рд╕рдорд╛рдзрд╛рди рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рдмрдирд╛рдИ рдЬрд╛ рд░рд╣реА рд╣реИред рдореБрдЭреЗ рдХреНрдпрд╛ рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП?

рдХреНрдпрд╛ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╣реИ (рдпрд╛рдиреА рдпрджрд┐ рдЖрдк рдПрдХ рдирдпрд╛ рдХрдорд╛рдВрдб рдкреНрд░реЙрдореНрдкреНрдЯ рдЦреЛрд▓рддреЗ рд╣реИрдВ рдФрд░ SET TSS рдЪрд▓рд╛рддреЗ рд╣реИрдВ рддреЛ рд╕реЗрдЯрд┐рдВрдЧ рд╕реВрдЪреАрдмрджреНрдз рд╣реИ)? рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╡рд╣ рдлрд╝реЛрд▓реНрдбрд░ рд╣реИ рдЬрд┐рд╕реЗ рд▓реЙрдЧ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рд╣реИ (рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ рдРрд╕реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╣реАрдВ рдмрдирд╛рдПрдЧрд╛ рдЬреЛ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ)ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрде рдореЗрдВ рдмреИрдХрд╕реНрд▓реИрд╢ рдХреЗ рдмрдЬрд╛рдп рдлреЙрд░рд╡рд░реНрдб рд╕реНрд▓реИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рднреА рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИред

typescripterrors
:(

@ рдмрд┐рд▓реНрдЯреА рдареАрдХ рд╣реИ, рдореИрдВрдиреЗ рдЕрднреА рдЬрд╛рдБрдЪ рдХреА рд╣реИ рдФрд░ рд▓реЙрдЧ рдлрд╛рдЗрд▓реЗрдВ рдЕрднреА рд╣реИрдВред рдХреГрдкрдпрд╛ рдЙрдиреНрд╣реЗрдВ рдпрд╣рд╛рдВ рд╕рдВрд▓рдЧреНрди рдХрд░реЗрдВ
tss-log.zip

рдзрдиреНрдпрд╡рд╛рджред рдореИрдВрдиреЗ рдЙрд╕ рд▓реЙрдЧ рдореЗрдВ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реА, рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЗрд╕рдореЗрдВ рдХрд┐рд╕реА рднреА рдХреЙрд▓ рджреНрд╡рд╛рд░рд╛ рддреНрд░реБрдЯрд┐ рдХреА рд╕реВрдЪрдирд╛ рджреА рдЬрд╛ рд░рд╣реА рд╣реИред рдХреНрдпрд╛ рддреНрд░реБрдЯрд┐ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЙрд╕ рд╕рдордп рд╕реАрдорд╛ рдореЗрдВ рд╣реБрдИ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рд▓реЙрдЧ рд╢рд╛рдорд┐рд▓ рд╣реИ?

@ рдмрд┐рд▓реНрдЯреА рд╣рд╛рдВ, рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣рд░ рд╕рдордп рд╣реЛ рд░рд╣реА рд╣реИрдВ:
screen shot 2017-04-11 at 01 25 24

рд╡реЗ рд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рд╡рд╣реАрдВ рд╣реИрдВред рдФрд░ рд╣рд░ рдПрдХ рдирд┐рд░реНрдорд╛рдг рдкрд░ рддрд╛рдЬрд╝рд╛ рдХрд┐рдпрд╛ред

рд╡реЗ рд╕рднреА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЧрд▓рдд рдЪрд░ рдШреЛрд╖рдгрд╛рдУрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ (рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдЖрдЧрд╛рдореА рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╣реА рддрдп рдХрд░ рджрд┐рдпрд╛ рд╣реИ)ред рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд▓рдЧрднрдЧ Cannot write file... рдкреНрд░рддрд┐ рд╢реАрд░реНрд╖рдХ рдФрд░ рдКрдкрд░ рджрд┐рдП рдЧрдП рд╕реНрдХреНрд░реАрди рд╢реЙрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рд╣реИред рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ Cannot write file... рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реИ?

@ рдмрд┐рд▓реНрдЯреА рдиреЗ рдЕрдкрдирд╛ рдкрд┐рдЫрд▓рд╛ рд╕рдВрджреЗрд╢ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж (рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЕрдкрдиреА рдореВрд░реНрдЦрддрд╛ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╣рд╛рдВ рдЫреЛрдбрд╝рд╛ рдерд╛) рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдПрдХ рдЕрд▓рдЧ рддрд░рд╣ рдХреА рд╣реИрдВред рдореИрдВ рдХреЗрд╡рд▓ рдЙрд╕ рджреГрд╢реНрдп рд╕реНрдЯреВрдбрд┐рдпреЛ рдЕрдкрдбреЗрдЯ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдХреБрдЫ рджрд┐рди рдкрд╣рд▓реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдерд╛, рдореВрд▓ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ред рдХрд┐рдВрддреБ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИред
рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрджреЗрд╢ рд╕реЗ рдЗрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛ рд▓рд┐рдпрд╛ рд╣реИ, рдмрд╕ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ @types рд╕реЗ рд╣рдЯрд╛ рд░рд╣рд╛ рд╣реВрдВред
рдмрд╣реБрдд - рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред

@ рдмрд┐рд▓реНрдЯреА рдореИрдВ рдЖрдкрдХреЛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд▓реЙрдЧ рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдХреЛрдИ рднреА рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╣реАрдВ) рдЪрд░ рдореЗрдВ TSS_LOG рд╕реЗ -file C:/temp/logs/tsserver.log -level verbose рдХрд┐рдпрд╛ рд╣реИред

C:\temp\logs рдореМрдЬреВрдж рд╣реИ, рдФрд░ рдореИрдВрдиреЗ Everyone рдХреЛ рдкреВрд░реНрдг рдирд┐рдпрдВрддреНрд░рдг рджрд┐рдпрд╛ рд╣реИред

рдЕрдЧрд░ рдореИрдВ рдЕрдкрдиреЗ рд╡реАрдПрд╕2015 рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореЗрд░реА рд╕рднреА Cannot write file... рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд╛рдж рднреА C:\temp\logs рдХреЗ рдЕрдВрджрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдЧрд░ рдореИрдВ рдПрдХ рдирдП рдХрдорд╛рдВрдб рдкреНрд░реЙрдореНрдкреНрдЯ рдореЗрдВ node node_modules\typescript\lib\tsserver.js (рдФрд░ CTRL+C рддреБрд░рдВрдд) рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рджреЛ рд▓реЙрдЧ рдлрд╛рдЗрд▓реЗрдВ рдорд┐рд▓рддреА рд╣реИрдВред

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ @kevindqc , рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдЖрдк рд╡реАрдПрд╕ 2015 рдкрд░ рдереЗред рд╡рд╣ рд▓реЙрдЧрд┐рдВрдЧ рдХреЗрд╡рд▓ рд╡реАрдПрд╕ 2017 рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИ (рдЬреЛ рдЕрдм рднрд╛рд╖рд╛ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП tsserver.js рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ)ред

рд╡рд╛рдкрд╕ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ - рдпрджрд┐ рдЖрдк рддреНрд░реБрдЯрд┐ рд╕реВрдЪреА рдХреЛ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдмрджрд▓рддреЗ рд╣реБрдП рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рд╡рд╣реА рдореБрджреНрджрд╛ рд╣реИ @zhengbli рдмрд╕ https://github.com/Microsoft/TypeScript/pull/15080 рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

@ рдмрд┐рд▓реНрдЯреА рдПрдирдкреАред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдХреЗрд╡рд▓ рд╡реАрдПрд╕2015 рдкрд░ рд╣реА рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдирд╣реАрдВ? рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рд╛рде рдПрдХрдорд╛рддреНрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬреЛ рд╡реАрдПрд╕2017 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛, рдЯрд╛рдЗрдкрд┐рдВрдЧ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рднрд┐рдиреНрди рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдереАрдВред рд╡реАрдПрд╕2015 рд╕реЗ рд╡реАрдПрд╕2017 рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдиреЗ рдХрд╣рд╛ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рджреВрд░ рд╣реЛ рдЧрдИ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рддреНрд░реБрдЯрд┐ рд╕реВрдЪреА рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдирд╣реАрдВ рдмрджрд▓рддреА рд╣реИ - рдпрд╣ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдордп рдкрд░, рдПрдХ рдмрд╛рд░, рдЙрди рд╕рднреА "рд▓рд┐рдЦ рдирд╣реАрдВ рд╕рдХрддрд╛ .." рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдкреЙрдкреНрдпреБрд▓реЗрдЯ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рдЬреЛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдХреНрдпрд╛ рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реИрдВ рдХрд┐ #15080 рдЗрд╕реЗ рдареАрдХ рдХрд░рддрд╛ рд╣реИ? рдХрд▓ рдЖрдкрдиреЗ рдЬреЛ рд╕рдВрджрд░реНрдн рджрд┐рдпрд╛ рдерд╛, рдЙрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдореБрдЭреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ? рдореИрдВ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХреИрд╕реЗ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ? рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ 2.3 рдЖрд░рд╕реА рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕реЗ 9 рджрд┐рди рдкрд╣рд▓реЗ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬрдмрдХрд┐ рдлрд┐рдХреНрд╕ 2 рджрд┐рди рдкрд╣рд▓реЗ рд╡рд┐рд▓рдп рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ :(

рд╕рд╛рде рд╣реА рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рд╕рдорд╛рдзрд╛рди рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рднреА рддреНрд░реБрдЯрд┐рдпрд╛рдБ рдореЗрд░реА рддреНрд░реБрдЯрд┐ рд╕реВрдЪреА рдореЗрдВ рдмрдиреА рд░рд╣рддреА рд╣реИрдВред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЬрд┐рд╕ рд╡реНрдпрдХреНрддрд┐ рдиреЗ рдЕрдкрдиреА рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд░реНрдЪреБрдЕрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдерд╛, рд╡рд╣ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╡рд╛рд▓рд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд╣рд╛рдпрдХ рдирд╣реАрдВ рдерд╛ред рдпрд╣рд╛рдБ рдореЗрд░рд╛ рд╣реИ:
image

рдХреНрдпрд╛ node_modules рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП? рдпрд╣ рдореЗрд░реЗ tsconfig рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдореЗрдВ рд╡рд╣ рд╕рдм рдХреБрдЫ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдореЗрд░реЗ рднреМрддрд┐рдХ рдиреЛрдб_рдореЙрдбреНрдпреВрд▓ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реИ (14 рд╕рдмрдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдо рдореЗрд░реЗ рдиреЛрдб_рдореЙрдбреНрдпреВрд▓ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ 854 рд╕рдмрдлрд╝реЛрд▓реНрдбрд░)

{
  "compilerOptions": {
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "module": "commonjs",
    "moduleResolution": "node",
    "noImplicitAny": true,
    "removeComments": false,
    "sourceMap": true,
    "suppressImplicitAnyIndexErrors": true,
    "target": "es5",
    "baseUrl": "./src",
    "skipLibCheck": true,
    "paths": {
    },
    "typeRoots": [
      "node_modules/@types"
    ]
  },
  "exclude": [
    "node_modules",
    "dist",
    "typings"
  ],
  "types": [
    "core-js",
    "jasmine",
    "lodash",
    "node",
    "webpack"
  ],
  "awesomeTypescriptLoaderOptions": {
    "forkChecker": true,
    "useWebpackText": true
  }
}

TS2.3 рдЯреВрд▓ рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЕрдм рддрдХ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реБрдИ рд╣реИред рдзрдиреНрдпрд╡рд╛рдж!
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдирд╣реАрдВред рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЕрднреА рднреА рд╣реИрдВ, рдЖрдЦрд┐рд░рдХрд╛рд░, рдкреНрд░рдХрдЯ рд╣реЛрдиреЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧрд╛ред

рд▓рдЧрддрд╛ рд╣реИ рдХреЗ рд╕рд╛рде рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЗрд╕ рдореБрджреНрджреЗ ред рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирдореВрдирд╛ рд╕рдорд╛рдзрд╛рди - рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рдореБрдЭреЗ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдлрд┐рдХреНрд╕ рдорд┐рд▓рд╛ред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореИрдВрдиреЗ files рд╕рд░рдгреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдмрд┐рдирд╛ outDir рдФрд░ rootDir ред outDir рдХреЗ рдкрде рдХреЛ exclude рд╕рд░рдгреА рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╕рдордп рд╕рдм рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред

{
    "compilerOptions": {
        ...,
        "outDir": "./dist",
        "rootDir": "./src",
    },
    "exclude": [
        "node_modules",
        "dist" <-- I had to add this to fix the errors
    ]
}

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ dist рдлрд╝реЛрд▓реНрдбрд░ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рднреА рджреЗрдЦ рд░рд╣рд╛ рд╣реЛ, рднрд▓реЗ рд╣реА рдЗрд╕реЗ outDir рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛред

рдпрджрд┐ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░реВрдЯ рдХреЗ рддрд╣рдд рдЖрдкрдХрд╛ outDir , рдФрд░ рдЖрдк рд░реВрдЯ рдХреЗ рддрд╣рдд рд╕рдм рдХреБрдЫ рд╢рд╛рдорд┐рд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реЛрдЧрд╛ред рдЖрдо рддреМрд░ рдкрд░ рдЖрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реНрд░реЛрдд рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд╣реАрдВ рдФрд░ рдЕрдкрдирд╛ рдмрд┐рд▓реНрдб рдЖрдЙрдЯрдкреБрдЯ рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдКрдкрд░ рджреА рдЧрдИ рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдЗрд╕ рдереНрд░реЗрдб рдпрд╛ рдЗрд╕рд╕реЗ рдЬреБрдбрд╝реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдЧрд░ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдФрд░ рдореИрдВ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓реВрдВрдЧрд╛ред рдзрдиреНрдпрд╡рд╛рдж!

@ рдмрд┐рд▓реНрдЯреА рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгреА рдореЗрд░реА рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ рд╣реИ? рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдпрд╣ рдЕрдм рдореЗрд░реЗ рд▓рд┐рдП рдорд╛рдорд▓рд╛ рдФрд░ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдорд╛рди рд▓рд┐рдпрд╛ рдерд╛ рдХрд┐ rootDir рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╕рдордп рд╕рдВрдХрд▓рдХ рдХреЗрд╡рд▓ рдЙрд╕ рд╡рд┐рд╢реЗрд╖ рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рджреЗрдЦреЗрдЧрд╛ рдФрд░ рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рдмрд╛рд╣рд░ рдХрд░ рджреЗрдЧрд╛ред рд▓реЗрдХрд┐рди рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред

рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди borislemke рд╕реЗ рд╣реИ ред
{ "compilerOptions": { ..., "outDir": "./dist", "rootDir": "./src", }, "exclude": [ "node_modules", "dist" <-- I had to add this to fix the errors ] }

рдореИрдВ рдПрдХ рд╣реА рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ рдФрд░ рдкрд╛рдпрд╛ рдХрд┐ рдореЗрд░рд╛ рдПрдХ рдЖрдпрд╛рдд рдореЗрд░реЗ рдбрд┐рд╕реНрдЯрд░реНрдм рдлрд╝реЛрд▓реНрдбрд░ рдИрдЬреА рдореЗрдВ рдХрдХреНрд╖рд╛ рдХреЛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░ рд░рд╣рд╛ рдерд╛
рдЖрдпрд╛рдд {ClassName} "../../dist/ClassName" рд╕реЗ;

рдЪреВрдВрдХрд┐ рдЖрдпрд╛рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╡рд░реНрдЧ рдЙрд╕реА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдерд╛, рдореИрдВрдиреЗ рдЗрд╕реЗ рдЗрд╕рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛:
рдЖрдпрд╛рдд {ClassName} "./ClassName" рд╕реЗ;

рдФрд░ рд╕рдм рдХреБрдЫ рдлрд┐рд░ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИ :)

рд╣рдорд╛рд░реЗ рдРрдк рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд 'рдбрд┐рд╕реНрдЯ' рдлреЛрд▓реНрдбрд░ рдерд╛ред рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ рд╕реЗ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдареАрдХ рд╣реЛ рдЧрдпрд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдВрдбрд░рд▓реЗрдЗрдВрдЧ рд╕рдорд╕реНрдпрд╛ рд╣реИ (рдЕрдВрддрд┐рдо рд╡рд┐рдВрдбреЛрдЬ рдХреНрд░рд┐рдПрдЯрд░реНрд╕ рдЕрдкрдбреЗрдЯ):
рд╡рд┐рдЬреБрдЕрд▓-рд╕реНрдЯреВрдбрд┐рдпреЛ-2015-рдбрд┐рд▓реАрдЯ-рдлрд╛рдЗрд▓-рдСрди-рд╕реЗрд╡-рдХреЙрд░реНрдбреЛрд╡рд╛-рд╕рдорд╛рдзрд╛рди

рдмрд╕ рдЖрдкрдХреЛ tsconfig.json рдореЗрдВ рдмрд╣рд┐рд╖реНрдХрд░рдг рд╕реВрдЪреА рдореЗрдВ "dist" рдлрд╝реЛрд▓реНрдбрд░ рдЬреЛрдбрд╝реЗрдВ
рднреВрддрдкреВрд░реНрд╡:
"рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░реЗрдВ": ["рдиреЛрдб_рдореЙрдбреНрдпреВрд▓", "рдЬрд┐рд▓рд╛"]

рдореИрдВрдиреЗ рдПрдХ рд╢рд╛рдорд┐рд▓ рдЕрдиреБрднрд╛рдЧ рдЬреЛрдбрд╝рдХрд░ рдЗрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛:

"include": [ "*.ts", ], "exclude": [ "node_modules" ]

outDir рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдореИрдВ рдЗрд╕рдореЗрдВ рднреА рднрд╛рдЧ рдЧрдпрд╛ рдЬреЛ рдореЗрд░реЗ рд╕реНрд░реЛрдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдерд╛ред

рдпрд╣ рдХреИрд╕реЗ рд╣реИ рдХрд┐ рдЯрд╛рдЗрдкрдкреНрд░рддрд┐ рд╕рдВрдХрд▓рдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЙрд╕реЗ outDir рдореЗрдВ рдЪреАрдЬреЛрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдпрд╣ рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИред рдмрд╣рд┐рд╖реНрдХрд░рдг рд╕реВрдЪреА рдореЗрдВ рдмрд╛рд╣рд░реА рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдареАрдХ рд╣реЛ рдЧрдпрд╛ред

рдореБрдЭреЗ рдиреЗрдЯрдмреАрдиреНрд╕ рд▓реЙрд▓ рдХреЗ рд╕рд╛рде рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИ

рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рддрдм рднреА рдорд┐рд▓реА рдЬрдм рдореЗрд░реЗ рдкрд╛рд╕ рджреЛ рдлрд╛рдЗрд▓реЗрдВ foo.ts рдФрд░ foo.tsx рдереАрдВ, рдЬреЛ рджреЛрдиреЛрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ foo.js рд╕рдВрдХрд▓рд┐рдд рд╣реЛрдВрдЧреАред

  "compilerOptions": {
    "noEmit": true 
  }

рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ред

noEmit рдПрдХ рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди рд╣реИ рдпрджрд┐ рдЖрдк рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП *.js рдлрд╛рдЗрд▓реЗрдВ рдЬреЗрдирд░реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╡реЗ рдЬрд░реВрд░реА рдирд╣реАрдВ рдХрд┐ tsc рд╕рд╛рде рдЙрддреНрдкрдиреНрди рд╣реЛрдВред

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, Ream.js .ream/**.js рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рддрдм рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ import XXX from '#out/yyy' рд╕рд╛рде рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реВрдВ (рдЬреЛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реАрдПрд╕ рдХреЛрдб рдореЗрдВ "рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддрд╛ ..." рдЪреЗрддрд╛рд╡рдиреА рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ)ред

рдореВрд▓ рд░реВрдк рд╕реЗ, "noEmit": false рд╣реЛрдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рдХрдЪреНрдЪреЗ tsc ред рдЕрдиреНрдп рд╕рднреА рдкрд░рд┐рд╡реЗрд╢реЛрдВ ( ts-node / ts-node-dev , webpack, рд░реЛрд▓рдЕрдк) рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИред

@uglycoyote рдХреА рддрд░рд╣ рдореЗрд░реЗ рд▓рд┐рдП рдЬреЛ рдХрд╛рдо рдХрд┐рдпрд╛ рд╡рд╣ outdir рдХреЛ рдмрд╣рд┐рд╖реНрдХреГрдд рд╕рд░рдгреА рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдерд╛ред рдЕрдиреНрдп рд╕реБрдЭрд╛рд╡реЛрдВ рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред

рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдЗрдирд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ:

рд╕рдорд╕реНрдпрд╛ рдореЗрд░реЗ рд╕рд╛рде рд╣реЛ рд░рд╣реА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ "declaration": true рдХреЛ tsconfig.json , рдЗрд╕рд▓рд┐рдП рдпрд╣ рдмрд┐рд▓реНрдб рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ d.ts рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╛рд░рд╛рдЬ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрд╛рд╣рд░ рд╣реИ рдЬрдбрд╝ред рдореИрдВ рдореБрджреНрджреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЙрд╕рдХреЗ рдмрд╛рдж рдХреЛрдИ рднреА рдирд┐рд░реНрдорд╛рдг рдлреЗрдВрдХ рджреЗрдЧрд╛: Cannot write file ... because it would overwrite input file. ред рдЕрдиреНрдп рдХрд╣рд╛рдирд┐рдпреЛрдВ рдореЗрдВ рдЬреЛ рдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рдерд╛, рд╡рд╣ рджреВрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рдерд╛, рдлрд┐рд░ рдХреБрдЫ рдмрджрд▓ рдЧрдпрд╛ рд╣реЛрдЧрд╛ред

рдЬреИрд╕реЗ рдореИрдВрдиреЗ рдЕрдкрдиреА test.ts рдлрд╛рдЗрд▓реЛрдВ рдХреЗ rootDir рдмрд╛рд╣рд░ рд╣реЛрдиреЗ рдХреЗ рдореБрджреНрджреЛрдВ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛, рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ tsconfig.json рдЬреЛрдбрд╝рдирд╛ рдкрдбрд╝рд╛ред

"exclude:" [ "./build" ]

рдпрд╣ рдХреЙрдиреНрдлрд┐рдЧ рдЗрдирд╣реЗрд░рд┐рдЯреЗрдВрд╕ рдХреЗ рд╕рд╛рде рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЕрд▓рдЧ рд╕реЗ outDir рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ outDir рдореЗрдВ рдкрде рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рд╣рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдПрдХ рдмрдЧ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

{
  "extends": "../../base/tsconfig.json",
  "compilerOptions": {
    "outDir": "myOutDir"  // <--- Don't forget this
  }
}

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ package.json рдХреЗ рднреАрддрд░ "outDir" рдХреЗ рд▓рд┐рдП рдПрдХ рдЧрд▓рдд рд╕рдВрджрд░реНрдн рд╣реИ, рддреЛ рднреА рдЬрд╛рдБрдЪ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ

"main": "lib/index.js",
  "typings": "lib/__types__",      <-------
  "devDependencies": {
    "@types/lodash.mapvalues": "^4.6.4",
    "@types/node": "^10.12.18",
    "@types/winston": "^2.4.4"
  }

рдореИрдВрдиреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрджрд░реНрднреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЗрд╕рдХрд╛ рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛ред рдмрд╣рд┐рд╖реНрдХрд░рдг рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛ рдерд╛, @elmpp рджреНрд╡рд╛рд░рд╛ рд╕рдВрдХреЗрддрд┐рдд typings рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛ред

рддреЛ рдпрд╣ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрджрд░реНрдн рдореЛрдиреЛрд░реЗрдкреЛ рдореЗрдВ TS5055: Cannot write file because it would overwrite input file рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░реЗрдЧрд╛:

  "main": "lib/cjs/index.js",
  "module": "lib/esm/index.js",
  "typings": "lib/cjs/index.ts",

рд▓реЗрдХрд┐рди рдпрд╣ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдЧрд╛:

  "main": "lib/cjs/index.js",
  "module": "lib/esm/index.js",
  "typings": "src/index.ts",

рддреЛ рдЬрд╛рд╣рд┐рд░ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдпрд╛ рддреЛ рдЗрд╕ рдкреНрд░реАрдкрдмреНрд▓рд┐рд╢ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдпрд╛ рдкреИрдХреЗрдЬ рдореЗрдВ рд╕реНрд░реЛрдд рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рд╕реНрдерд╛рдкрдирд╛:

"exclude": [
    "node_modules",
    "dist"
  ]

рдЗрд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рддрдп рдХрд┐рдпрд╛ (рдореЗрд░рд╛ outputDir dist )ред

рдпрд╣ рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдЙрдЯрдкреБрдЯ рдбреАрдЖрдИрдЖрд░ рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ tsc --watch рд▓рд┐рдП рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред

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

рддреЛ import x from 'mymodule рдЬрдм mymodule рдЕрдВрджрд░ рдпрд╣ рдЯреНрд░рд┐рдЧрд░ рд╣реЛрдЧрд╛ред рдпрд╣ рдмрд╣реБрдд рд╣реА рдЧреВрдврд╝ рд╣реИ, рдФрд░ рд╕рдВрднрд╡рддрдГ рдЗрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП!

Similary, рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдорд╛рд░рд╛ рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ index.ts рдХреА рддрд░рд╣ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХреЗ рд╕рд╛рде export * from './foo' , рдФрд░ рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ, рдореИрдВ рдХреЗ рд╕рд╛рде рдЖрдпрд╛рдд рдХрд░рдиреЗ рдЧрдпрд╛ рдерд╛ import foo from '.' рдХреЗ рдмрдЬрд╛рдп import foo from './foo' рдЙрди рдирд┐рд░реНрдпрд╛рдд рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВред

рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ рджреЛ рджрд┐рдиреЛрдВ рддрдХ рдЗрд╕ рдкрд░ рдЕрдкрдирд╛ рд╕рд┐рд░ рдлреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрдм рддрдХ рдХрд┐ рдореИрдВрдиреЗ index.ts рд╣рдЯрд╛ рдирд╣реАрдВ рджрд┐рдпрд╛ рдФрд░ рдПрдХ рдЖрдпрд╛рдд рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реБрдИред рдпрд╣ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рдерд╛ред

рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдЗрд╕рд▓рд┐рдП рдереА рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рд░реЗрдкреЛ рдореЗрдВ 2 рдЯреАрдПрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИред (рдХреЛрдгреАрдп рдФрд░ Nestjs), рд╕реНрддрд░ 1 рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ tsconfig.json рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдлреЗрдВрдХ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ рдмрд╣рд┐рд╖реНрдХреГрдд "рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ" рдбрд╛рд▓рдХрд░ рддрдп рдХрд┐рдпрд╛, рдЬреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рдореЗрд░рд╛ рдХреЛрдгреАрдп рдХреЛрдб рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЕрдкрдирд╛ tsconfig.json рд╣реИред

рдореБрдЭреЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рдереА рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рдерд╛ рдХрд┐ ts-node рдХрд╛рдо рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛, рддреЛ рдореИрдВ tsc рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдереАред рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк tsc , рдореИрдВ рдЕрдм рдХреЗ рджрд░реНрдЬрдиреЛрдВ рдерд╛ .js рдХреЗ рд╕рд╛рде рдХрдВрдзреЗ рд╕реЗ рдХрдВрдзрд╛ рдорд┐рд▓рд╛рдХрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ ts рдЬреЛ рдореИрдВ рдЪрд▓рд╛рдХрд░ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ git status

image

рд╕рдорд╛рдзрд╛рди git clean -f ред

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реА.рдПрд╕. рдХреЛрдб рдСрдЯреЛ рд╕реЗ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдерд╛ dist рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдмрдЬрд╛рдп рд╕реЗ src рдлрд╝реЛрд▓реНрдбрд░ред рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИред

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрдВрдж рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЖрдкрдХреЛ рдмрддрд╛рдП рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд▓рдЧрднрдЧ рдЕрд╕рдВрднрд╡ рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рд╣рд░ рдмрд╛рд░ рдХреНрдпрд╛ рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИ, VSCode рд╢рд╛рдпрдж tsconfig.json рд╕рдВрджрд░реНрднреЛрдВ рдХреЛ рдЧрд▓рддреА рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рдХреБрдЫ рдПрдХ рдЯрди рд╕реЗ рдзреАрдорд╛ рдХрд░ рджреЗрддрд╛ рд╣реИ рдФрд░ рд╣рд░ рдмрд╛рд░ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреИрд░-рддреБрдЪреНрдЫ рд░рд╣рд╛ рд╣реИред

Vue рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ, рдЬрдбрд╝ рдореЗрдВ, рдЗрд╕рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛:

// tsconfig.json
{
    "include": ["./src/**/*"],
    "exclude": ["node_modules", "dist", "public"],
    "compilerOptions": {
      "module": "es2015",
      "outDir": "",
      "moduleResolution": "node",
      "target": "es5",
      "allowJs": true,
      "checkJs": true, // Type checking
    }
}

рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЬреЛрдбрд╝реЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж
"outDir": "",
рд╕рдорд╕реНрдпрд╛ рджреВрд░ рд╣реЛ рдЧрдИ рдереАред

рдпрд╣рд╛рдБ рдореЗрд░рд╛ рд▓рдХреНрд╖реНрдп рд╕рд┐рд░реНрдл ts рдЗрдВрдЯреЗрд▓рд┐рдЬреЗрдВрд╕ рдХреЛ .js/vue рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИред

рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдерд╛ред рдореБрджреНрджрд╛ рдпрд╣ рдерд╛ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдирд╛рдо рдХреА рджреЛ рдлрд╛рдЗрд▓реЗрдВ рдереАрдВ, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдереЗ, рдЗрд╕рд▓рд┐рдП .js рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╡рд╛рд▓реЗ рдПрдХ рдХреЛ рд╣рдЯрд╛рдХрд░ рдЗрд╕реЗ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ред

рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдерд╛ред рдореБрджреНрджрд╛ рдпрд╣ рдерд╛ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдирд╛рдо рдХреА рджреЛ рдлрд╛рдЗрд▓реЗрдВ рдереАрдВ, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдереЗ, рдЗрд╕рд▓рд┐рдП .js рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╡рд╛рд▓реЗ рдПрдХ рдХреЛ рд╣рдЯрд╛рдХрд░ рдЗрд╕реЗ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ред

рд╣рд╛рдБ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рдерд╛ред рдореИрдВрдиреЗ рдПрдХ .tsx рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ .ts рдЬрд┐рд╕реЗ рд╡реАрдПрд╕-рдХреЛрдб рдиреЗ рдорджрджрдЧрд╛рд░ рд░реВрдк рд╕реЗ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛, рдЬрд┐рд╕рд╕реЗ рд╕рдорд╕реНрдпрд╛ рд╣реБрдИред

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕реЗ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдП, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореИрдВрдиреЗ tsconfig.json рд╕реЗ "declaration": true рд╣рдЯрд╛ рджрд┐рдпрд╛ред D.ts рдлрд╛рдЗрд▓реЗрдВ рдирд╣реАрдВ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЙрдирдХреА рд╡реИрд╕реЗ рднреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред

рдЗрд╕реА рддрд░рд╣ рдХреЗ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЛ рдЧреБрдЧрд▓ рдХрд░рдХреЗ рдпрд╣рд╛рдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдЕрдкрдиреЗ рдирд┐рд╖реНрдХрд░реНрд╖ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рджреЗрдВ:

  1. рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рддреНрд░реБрдЯрд┐ рдЗрд╕рд▓рд┐рдП рд╣реБрдИ рдХреНрдпреЛрдВрдХрд┐ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ рдПрдХ .js рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЙрд╕реА рдкрде рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рдерд╛ред
  2. рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдк .js рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ, рддреЛ рдЕрдкрдиреЗ tsconfig.json рд╕реЗ allowJs: true рдпрд╛ рдЕрдкрдиреЗ CLI рд╡рд┐рдХрд▓реНрдкреЛрдВ рд╕реЗ --allow-js рд╣рдЯрд╛ рджреЗрдВред
  3. рдпрджрд┐ рдЖрдкрдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВ рдЬрд┐рдирдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдореЗрдВ рд╕рдВрдХрд▓рди рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рд╕реВрддреНрд░ рдореЗрдВ рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдиреЗ exclude: ... рдЬреЛрдбрд╝рдХрд░ рдРрд╕рд╛ рдХрд┐рдпрд╛ рд╣реИ (рд╢рд╛рдпрдж рдзреНрдпрд╛рди рджрд┐рдП рдмрд┐рдирд╛)ред

    • рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ рдХрд┐ compilerOptions рдЕрдВрддрд░реНрдЧрдд 'рдмрд╣рд┐рд╖реНрдХреГрдд' рди рдЬреЛрдбрд╝реЗрдВред

рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ

рдореБрдЭреЗ рдЕрдкрдиреА рдмрд┐рд▓реНрдб lib/ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рдПрдХ рдмрдЧ рд╣реИ рдЬреЛ рдХреБрдЫ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдЕрд╕рдВрдЧрдд рдмрдирд╛рддрд╛ рд╣реИред рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░
allowJS true +
rootDir + outDir : рдареАрдХ
rootDir + outFile : NOK : rootDir рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦрд╛ рдЧрдпрд╛: dir рдФрд░ subdir рдореЗрдВ рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдХреБрдЫ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рд╕рдВрдпреЛрдЬрди рдирд┐рд╖рд┐рджреНрдз рд╣реИрдВред

"allowJs": true
"noEmit": true
рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдоред

Vue рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ, рдЬрдбрд╝ рдореЗрдВ, рдЗрд╕рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛:

// tsconfig.json
{
    "include": ["./src/**/*"],
    "exclude": ["node_modules", "dist", "public"],
    "compilerOptions": {
      "module": "es2015",
      "outDir": "",
      "moduleResolution": "node",
      "target": "es5",
      "allowJs": true,
      "checkJs": true, // Type checking
    }
}

рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЬреЛрдбрд╝реЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж
"outDir": "",
рд╕рдорд╕реНрдпрд╛ рджреВрд░ рд╣реЛ рдЧрдИ рдереАред

рдпрд╣рд╛рдБ рдореЗрд░рд╛ рд▓рдХреНрд╖реНрдп рд╕рд┐рд░реНрдл ts рдЗрдВрдЯреЗрд▓рд┐рдЬреЗрдВрд╕ рдХреЛ .js/vue рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИред

thx, рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдк TS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдЯрд╛рдЗрдк рдЪреЗрдХрд┐рдВрдЧ рдХреЗрд╡рд▓ (рдХреЛрдИ рд╕рдВрдХрд▓рди рдирд╣реАрдВ) рдХреЗ рд▓рд┐рдП рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЖрдкрдХреЛ .js рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ @ guaizi149 рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

"compilerOptions": {
  "allowJS": true,
  "noEmit": true
}

рдпрд╣ TS рдХреЛ рдмрддрд╛рдПрдЧрд╛ рдХрд┐ рдЙрд╕реЗ рд╕рдВрдХрд▓рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рдХреЛрдИ рднреА рдлрд╝рд╛рдЗрд▓ рдУрд╡рд░рд░рд╛рдЗрдЯ рдирд╣реАрдВ рдХреА рдЬрд╛рдПрдЧреА рдФрд░ рдХреЛрдИ рдЪреЗрддрд╛рд╡рдиреА рдЯреНрд░рд┐рдЧрд░ рдирд╣реАрдВ рдХреА рдЬрд╛рдПрдЧреАред рдпрд╣ outDir: "" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди рд╣реИред

рдпрд╣ рдХреЙрдиреНрдлрд┐рдЧ рдЗрдирд╣реЗрд░рд┐рдЯреЗрдВрд╕ рдХреЗ рд╕рд╛рде рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЕрд▓рдЧ рд╕реЗ outDir рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ outDir рдореЗрдВ рдкрде рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рд╣рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдПрдХ рдмрдЧ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

{
  "extends": "../../base/tsconfig.json",
  "compilerOptions": {
    "outDir": "myOutDir"  // <--- Don't forget this
  }
}

рдпрд╣ рд╕рдорд╛рдзрд╛рди рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдЖрдХрд░реНрд╖рдг рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ! рдореЗрд░рд╛ tsconfig.json рдЕрдм рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

{
  "compilerOptions": {
    "allowJs": true,
    "baseUrl": "../node_modules",
    "types": ["cypress"],
    "outDir": "myOutDir"
  },
  "include": ["**/*.*"]
}

"allowJs": true
"noEmit": true
рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдоред

рдзрдиреНрдпрд╡рд╛рдж @ guaizi149 , рдЖрдкрдХрд╛ рд╕рдорд╛рдзрд╛рди рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ - рдореЗрд░реЗ tsc рдмрд┐рд▓реНрдб рдореЗрдВ рдбрд┐рд╕реНрдЯрд░реНрдм рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:

"exclude": [
    "node_modules"
  ]

--- рдЬрд╛рддрд╛ рд╣реИ

"exclude": [
    "node_modules",
    "dist"
  ]

рдХреНрдпрд╛ dist рдЖрдкрдХрд╛ рдмрд┐рд▓реНрдб рдлреЛрд▓реНрдбрд░ рд╣реИ?

рдпрджрд┐ outDir рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдЖрдкрдХреЗ рдХрд╛рдо рдирд╣реАрдВ рдЖрдпрд╛, рддреЛ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдХрд┐ рдХрд╣реАрдВ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рдорд╛рди рдкрде рдФрд░ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рд▓реЗрдХрд┐рди рднрд┐рдиреНрди рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╡рд╛рд▓реА рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдлрд╝рд╛рдЗрд▓реЗрдВ рддреЛ рдирд╣реАрдВ рд╣реИрдВред

рдпрд╣ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдбрд┐рдХреНрд▓реЗрд░реЗрд╢рди рдлрд╛рдЗрд▓реНрд╕ рдХреЛ рдмрд┐рд▓реНрдб рд╕реЗ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рднреА рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рдмрд┐рд▓реНрдбрд░ рдореМрдЬреВрджрд╛ ".d.ts" рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЙрд╕реА рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рд╕реЗ рдмрджрд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реЗрдЧреА: Cannot write file ... because it would overwrite input file.

рдЗрд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЕрдкрдиреЗ "outDir":"build" рдХреЛ рдЬрд░реНрдирд▓ tsconfig.json рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдмрд╛рд╣рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

"exclude": [
    "build",
    ....
]

рдпрд╛ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ outDir рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИ рддреЛ рд╕рднреА d.ts рдмрд╛рд╣рд░ рдХрд░ рджреЗрдВред рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдлрд╝рд╛рдЗрд▓реЗрдВ:

"exclude": [
    "**/*.d.ts"
    .....
]

рдЙрдореНрдореАрдж рд╣реИ рдпреЗ рдорджрдж рдХрд░реЗрдЧрд╛

@Abadii : рд╢рд╛рдпрдж рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рд╕рдВрдХрд▓рди рдХрд░рддреЗ рд╕рдордп -b рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдЗрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

@Abadii : рд╢рд╛рдпрдж рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рд╕рдВрдХрд▓рди рдХрд░рддреЗ рд╕рдордп -b рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдЗрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреА tsconfig.json рдлрд╝рд╛рдЗрд▓ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЖрдкрдХрд╛ tsc рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ?

@Abadii : рдпрд╣рд╛рдВ рдпрд╣ рд╣реИ (рдЕрдкрдбреЗрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрд╣рд┐рд╖реНрдХреГрдд)ред tsc рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг 3.8.3 рд╣реИ:

{
    "compilerOptions": {
        "importHelpers": true,
        "target": "es6",
        "module": "CommonJS",
        "lib": ["es2018"],
        "downlevelIteration": true,
        "skipLibCheck": true,
        "strict": true,
        "moduleResolution": "node",
        "esModuleInterop": true,
        "experimentalDecorators": true,
        "outDir": "../lib",
        "sourceMap": true,
        "declaration": true
    },
    "exclude": ["node_modules"]
}

@Abadii : рдпрд╣рд╛рдВ рдпрд╣ рд╣реИ (рдЕрдкрдбреЗрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрд╣рд┐рд╖реНрдХреГрдд)ред tsc рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг 3.8.3 рд╣реИ:

{
    "compilerOptions": {
        "importHelpers": true,
        "target": "es6",
        "module": "CommonJS",
        "lib": ["es2018"],
        "downlevelIteration": true,
        "skipLibCheck": true,
        "strict": true,
        "moduleResolution": "node",
        "esModuleInterop": true,
        "experimentalDecorators": true,
        "outDir": "../lib",
        "sourceMap": true,
        "declaration": true
    },
    "exclude": ["node_modules"]
}

рдХреГрдкрдпрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд░реЗрдкреЛ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред рдореИрдВрдиреЗ рддреНрд░реБрдЯрд┐ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ tsconfig.json рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ:

https://github.com/Abadii/tsconfig

PS рдФрд░ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЬрдм рдЖрдк рдЕрдкрдирд╛ ../lib рдлреЛрд▓реНрдбрд░ рдбрд┐рд▓реАрдЯ рдХрд░ рджреЗрдВрдЧреЗ? рдХреНрдпрд╛ рдпрд╣ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдЧрд╛?

@Abadii : рдЕрдЧрд░ рдореИрдВ рдмрд┐рд▓реНрдб рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдмрди рдЬрд╛рдПрдЧрд╛ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдХреЗрд╡рд▓ рддрднреА рдмрдиреЗрдЧрд╛ рдЬрдм рдореИрдВ рдмрд┐рд▓реНрдб рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рд╣рдЯрд╛/рдЦрд╛рд▓реА рдХрд░ рджреВрдВрдЧрд╛)ред рдпрд╣ рд╕рдЪ рд╣реИ рднрд▓реЗ рд╣реА рдореИрдВ exclude рдШреЛрд╖рдгрд╛ рдлрд╝рд╛рдЗрд▓реЗрдВ рдФрд░ рдмрд┐рд▓реНрдб рдлрд╝реЛрд▓реНрдбрд░ред
FYI рдХрд░реЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрд░рдЪрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

project\
  lib\
    session.d.ts
    session.js
  src\
    session.ts
    tsconfig.json
  package.json 

рдФрд░ рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реВрдВ: tsc -p ./src/tsconfig.json
(рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдорддреМрд░ рдкрд░ рдореИрдВ rm -rf ./lib && tsc -p src/tsconfig.json рд╕рд╛рде рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдпрд╣реА рд╡рд╣ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рд╣реВрдВ;))

@Abadii : рдЕрдЧрд░ рдореИрдВ рдмрд┐рд▓реНрдб рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдмрди рдЬрд╛рдПрдЧрд╛ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдХреЗрд╡рд▓ рддрднреА рдмрдиреЗрдЧрд╛ рдЬрдм рдореИрдВ рдмрд┐рд▓реНрдб рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рд╣рдЯрд╛/рдЦрд╛рд▓реА рдХрд░ рджреВрдВрдЧрд╛)ред рдпрд╣ рд╕рдЪ рд╣реИ рднрд▓реЗ рд╣реА рдореИрдВ exclude рдШреЛрд╖рдгрд╛ рдлрд╝рд╛рдЗрд▓реЗрдВ рдФрд░ рдмрд┐рд▓реНрдб рдлрд╝реЛрд▓реНрдбрд░ред

рддреЛ рдЕрдм рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдмрд┐рд▓реНрдб рдлреЛрд▓реНрдбрд░ рд╕рдорд╕реНрдпрд╛ рдкреИрджрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред рдХрд┐рд╕реА рддрд░рд╣, рдЖрдкрдХрд╛ tsc рдмрд┐рд▓реНрдб рдЖрдкрдХреЗ рдмрд┐рд▓реНрдб рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЖрдк рдмрд╣рд┐рд╖реНрдХрд░рдг рдореЗрдВ рдкреВрд░реНрдг рдкрде рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдореИрдВрдиреЗ рдпрд╣ рднреА рдиреЛрдЯ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдмрд┐рд▓реНрдб рдлрд╝реЛрд▓реНрдбрд░ рдЖрдкрдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИ ../lib ред рд╢рд╛рдпрдж рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЗрд╕реЗ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред ./lib рдХреЛ outDir рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдЬрд╝рдорд╛рдПрдВ рдпрд╣ рдЬрд╛рдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓рддрд╛ рд╣реИ
рдпрджрд┐ рдЖрдк рдПрдХ рд╡рд┐рдВрдбреЛрдЬрд╝ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИрдВ, рддреЛ рджреЛрдмрд╛рд░рд╛ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдкреВрд░реНрдг рдкрде рд╕рд╣реА рд╣реИред

@Abadii : рдзрдиреНрдпрд╡рд╛рдж, рд▓реЗрдХрд┐рди рдореИрдВ рдкреВрд░реНрдг рдкрде рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдХрдИ рдорд╢реАрдиреЛрдВ рдкрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЙрди рд╕рднреА рдореЗрдВ рд╕рдорд╛рди рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛ рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ред рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдмрдЧ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ - рдореИрдВ tsconfig рдХреЛ рдлрд╝реЛрд▓реНрдбрд░ рдФрд░ рдШреЛрд╖рдгрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рджреЛрдиреЛрдВ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред рдХреНрдпрд╛ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП?

@Abadii : рдзрдиреНрдпрд╡рд╛рдж, рд▓реЗрдХрд┐рди рдореИрдВ рдкреВрд░реНрдг рдкрде рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдХрдИ рдорд╢реАрдиреЛрдВ рдкрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЙрди рд╕рднреА рдореЗрдВ рд╕рдорд╛рди рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛ рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ред рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдмрдЧ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ - рдореИрдВ tsconfig рдХреЛ рдлрд╝реЛрд▓реНрдбрд░ рдФрд░ рдШреЛрд╖рдгрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рджреЛрдиреЛрдВ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред рдХреНрдпрд╛ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдЦрд┐рд░реА рдЪреАрдЬ рдЬреЛ рдЖрдк рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд╡рд╣ рд╣реИ рдЕрдкрдиреА tsconfig рдлрд╛рдЗрд▓ рдХреЛ project/tsconfig.json рдореЗрдВ рдбрд╛рд▓рдирд╛ рдФрд░ рдкрде рдмрджрд▓рдирд╛ред рдореИрдВ рднреА рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдмрд╛рд╣рд░ рд╣реВрдБ рдЕрдЧрд░ рд╡рд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИред

рдХреЛрд╢рд┐рд╢ рдХреА:

  1. outDir рд╕реЗрдЯ рдХрд░рдирд╛ -> рдирд╣реАрдВред
  2. allowJs: false рд╕реЗрдЯ рдХрд░рдирд╛ -> рдирд╣реАрдВред
  3. .d.ts рдХреЛ рдЫреЛрдбрд╝рдХрд░ -> рдирд╣реАрдВред
  4. noEmit: true -> рдирд╣реАрдВред

рдореИрдВрдиреЗ рдЗрд╕ рд╕реВрддреНрд░ рдореЗрдВ рд╣рд░ рд╕реБрдЭрд╛рд╡ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИред рди рдХреЗрд╡рд▓ VSCode рддреНрд░реБрдЯрд┐ рдмрдиреА рд░рд╣рддреА рд╣реИ, рдмрд▓реНрдХрд┐ рдпрд╣ рдПрдХ рдРрд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреА рд╣реИ рдЬреЛ рдЕрдм рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред тАНтЩВя╕П

рдХреЛрд╢рд┐рд╢ рдХреА:

  1. outDir рд╕реЗрдЯ рдХрд░рдирд╛ -> рдирд╣реАрдВред
  2. allowJs: false рд╕реЗрдЯ рдХрд░рдирд╛ -> рдирд╣реАрдВред
  3. .d.ts рдХреЛ рдЫреЛрдбрд╝рдХрд░ -> рдирд╣реАрдВред
  4. noEmit: true -> рдирд╣реАрдВред

рдореИрдВрдиреЗ рдЗрд╕ рд╕реВрддреНрд░ рдореЗрдВ рд╣рд░ рд╕реБрдЭрд╛рд╡ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИред рди рдХреЗрд╡рд▓ VSCode рддреНрд░реБрдЯрд┐ рдмрдиреА рд░рд╣рддреА рд╣реИ, рдмрд▓реНрдХрд┐ рдпрд╣ рдПрдХ рдРрд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреА рд╣реИ рдЬреЛ рдЕрдм рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред

рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдк рд╕реАрдзреЗ рдЯрд░реНрдорд┐рдирд▓ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ?

рдПрдХ рдЖрдЙрдЯрдбрд┐рдпрд░ рд╕реЗрдЯ рдХрд░реЗрдВ рдФрд░ рдирд┐рд░реНрдорд╛рдг рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕реЗ рдЦрд╛рд▓реА рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ

@Abadii рддреЛ .... рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рд╣реЛрдиреЗ рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рдерд╛ рдХрд┐, рднрд▓реЗ рд╣реА рдЬреЗрдПрд╕ рдлрд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдереАрдВ, рд╡реЗ рдЕрд╕рдлрд▓ рд╣реЛ рд░рд╣реЗ рдереЗ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдХреЙрдордирдЬреЗрдПрд╕ рдореЙрдбреНрдпреВрд▓ рдереЗ .... ....

рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдПрдХ рдмрд╛рд░ рдЬрдм рд╕рдм рдХреБрдЫ рдЙрдЪрд┐рдд рдЖрдпрд╛рдд/рдирд┐рд░реНрдпрд╛рдд рд╣реЛ рдЧрдпрд╛, рддреЛ рдореБрдЭреЗ рдпрд╣ рдореБрджреНрджрд╛ рдорд┐рд▓рдирд╛ рдмрдВрдж рд╣реЛ рдЧрдпрд╛ред рддреЛ, рдЗрд╕ рдзрд╛рдЧреЗ рдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдФрд░ рд╕реБрдзрд╛рд░реЛрдВ рдХреА рднрд╛рд░реА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрди рд▓рд╛рд▓ рд╣реЗрд░рд┐рдВрдЧ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдЬреИрд╕реЗ рдХрд┐, рдЬрдм X рдкреНрд░рдХрд╛рд░ рдХрд╛ JS / Intellisense / рд╕рдВрдХрд▓рди рд╕рдорд╕реНрдпрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ VSCode рдЗрд╕ Cannot write file рддреНрд░реБрдЯрд┐ рдХреЛ рдлреЗрдВрдХ рджреЗрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди, рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдкреЗрд╢ рдХрд┐рдП рдЧрдП рдХрдИ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред тАНтЩВя╕П рдФрд░ рдлрд┐рд░ рд╕реЗ, рдЗрд╕рдиреЗ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдПрдХ рдРрд╕реА рдлрд╝рд╛рдЗрд▓ рдкрд░ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬреЛ _рдореМрдЬреВрдж рдирд╣реАрдВ рдереА_ рдФрд░ _рдмрджрд▓реА рдирд╣реАрдВ рдЬрд╛рдПрдЧреА_ред рддреЛ рд╢рд╛рдпрдж рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдХреИрд╢рд┐рдВрдЧ рдХрд░ рд░рд╣реА рд╣реИрдВ, рдФрд░ рдПрдХ рдЕрдЬреНрдЮрд╛рдд рддреНрд░реБрдЯрд┐ рдХреИрд╢ рдХреА рдЧрдИ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХрддреА рд╣реИ? рдРрд╕рд╛ рдХреБрдЫ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдХреЛ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рддреНрд░реБрдЯрд┐ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреЗ рдХреЛрдб рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдпрд╣рд╛рдВ рдЯрд┐рдкреНрдкрдгреА рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореЗрд░реА Google рдЦреЛрдЬ рдореЗрдВ рдкрд╣рд▓реА рдЪреАрдЬ рд╣реИред

рдореИрдВ рднреА рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдВрдХрд▓рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдХреБрдЫ рд╣рд┐рд╕реНрд╕рд╛ рдпрд╣ рдирд╣реАрдВ рдкрд╣рдЪрд╛рди рд░рд╣рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдмрд╣рд┐рд╖реНрдХреГрдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдЕрдВрджрд░ рд╣реИред

рдЕрдЧрд░ рдореИрдВ рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реА рд╣реИ:

  "exclude": ["**/*.d.ts", "dist", "node_modules"]

рдореИрдВ рд╕рдорд╕реНрдпрд╛ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ рдореИрдВ рдпрд╣ рдХрд░ рдХрд╛рд░реНрдп рдХрд░реЗрдВ:

  "exclude": ["dist/**/*.d.ts", "dist", "node_modules"]

рдпрд╛ рдпрд╣:

  "exclude": ["**/dist/**/*.d.ts", "dist", "node_modules"]

рддреНрд░реБрдЯрд┐ рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рд╣реЛрддреА рд╣реИ рдХрд┐ рдЬрд┐рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣ рд╢рд┐рдХрд╛рдпрдд рдХрд░ рд░рд╣рд╛ рд╣реИ рд╡реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдВрджрд░ рд╣реИрдВ dist :

error TS5055: Cannot write file '/Users/leila/dev/wip/jest-fp-ts/dist/index.d.ts' because it would overwrite input file.
error TS5055: Cannot write file '/Users/leila/dev/wip/jest-fp-ts/dist/matchers/index.d.ts' because it would overwrite input file.

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рдЖрдпрд╛рдд рд╕реЗрдЯ рдЕрдк рд╣реИ рдЬрд╣рд╛рдВ src/index.ts рдЖрдпрд╛рдд рдФрд░ рдкреБрди: рдирд┐рд░реНрдпрд╛рдд src/matchers/index.ts рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ src/matchers/eitherMatchers/index.ts рд╕реЗ рдЖрдпрд╛рдд рдФрд░ рдкреБрди: рдирд┐рд░реНрдпрд╛рдд рдХрд░рддрд╛ рд╣реИред

рдкрд╣рд▓реА рджреЛ рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ рдЬреЛ рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдХрд╛рд░рдг рдмрдирддреА рд╣реИрдВред рддреАрд╕рд░реА рдлрд╛рдЗрд▓ рдареАрдХ рд╣реИред рддреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдпрд╛рдд/рдирд┐рд░реНрдпрд╛рдд рдкреЗрдбрд╝ рд╕рдВрдХрд▓рди рдХреЛ рдХреИрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИред

рдореИрдВ рдмрд╕ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛрдиреЗ рдХреЗ рджреМрд░рд╛рди рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдареЛрдХрд░ рдЦрд╛рдИ, рдФрд░ рд╕реЛрдЪрд╛ рдХрд┐ рдЕрдЧрд░ рдЕрдиреНрдп рд▓реЛрдЧ рдЙрд╕реА рддрд░рд╣ рдареЛрдХрд░ рдЦрд╛рдПрдВрдЧреЗ рддреЛ рдореИрдВ рдЬреЛ рднреА рдирд┐рдХрд▓рд╛ рд╡рд╣ рдЬреЛрдбрд╝ рджреВрдВрдЧрд╛ред

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рдкреНрд░рддреНрдпреЗрдХ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ tsconfig рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдореЛрдиреЛрд░реЗрдкреЛ рд╣реИ, рдЬреЛ рд╕рднреА рдЖрдзрд╛рд░ tsconfig. рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдХреБрд▓ рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ references рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рд╣реЛрддреА рд╣реИрдВ рдЬреЛ рдЙрд╕ рд╕рдВрдХреБрд▓ рдХреЗ рдкрде рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреА рд╣реИрдВ рдЬрд┐рд╕ рдкрд░ рд╡рд╣ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рд░реЗрдкреЛ рдХреА рдЬрдбрд╝ рдореЗрдВ рдПрдХ tsconfig.json рднреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ files: [] рдФрд░ рдЗрд╕рдореЗрдВ рд╕рднреА рдкреИрдХреЗрдЬ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рдВрджрд░реНрдн рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдореИрдВ рд░реВрдЯ рд╕реЗ tsc -b --watch рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕реЗ рдкреВрд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдмрджрд▓рд╛рд╡реЛрдВ рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдЗрд╕рдиреЗ рдХрд╛рдлреА рд╕рдордп рддрдХ рдареАрдХ рдХрд╛рдо рдХрд┐рдпрд╛, рдлрд┐рд░ рдЕрдЪрд╛рдирдХ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдлреЗрдВрдХрдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рднрд▓реЗ рд╣реА рдХреЛрдИ рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдирд╣реАрдВ рдмрджрд▓рд╛ рдерд╛ред

рдореИрдВрдиреЗ рдЕрдВрддрддрдГ рдкреВрд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрдЬрд╛рдп, рддреНрд░реБрдЯрд┐ рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдП рдЧрдП рдПрдХ рдкреИрдХреЗрдЬ рдХреЛ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдХреЗ рдЗрд╕реЗ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ред

рд╕рдорд╕реНрдпрд╛ рдпрд╣ рдереА рдХрд┐ рдореИрдВрдиреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдерд╛ред рдкреИрдХреЗрдЬ рдХрд╛ рдирд╛рдо рдерд╛ @my-project/utils , рдФрд░ рдпрд╣ рддрдм рддрдХ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рдерд╛ рдЬрдм рддрдХ рдХрд┐ рдореИрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреИрдХреЗрдЬ рд╕реЗ рдХреБрдЫ рдХреЛрдб рдХреЛ utils рдкреИрдХреЗрдЬ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдирд╣реАрдВ рдХрд░ рджреЗрддрд╛ред рдЙрд╕ рдХреЛрдб рдореЗрдВ import stuff from '@my-project/utils'; рдерд╛ рдФрд░ рдпрд╣реА рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рдмрдирд╛ред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп import stuff from '.'; рдмрджрд▓рдХрд░ рддреНрд░реБрдЯрд┐ рджреВрд░ рд╣реЛ рдЧрдИред

@jasonk рдпрд╣ рд╢рд╛рдпрдж рдореЗрд░реА рдЕрдЬреНрдЮрд╛рдирддрд╛ рдХреЛ рдкреНрд░рдХрдЯ рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдпрд╣ рдХреЗрд╡рд▓ рддрднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдЬрдм рдЖрдкрдХреЗ рдореЛрдиреЛрд░реЗрдкреЛ рдХреЛ рдХрд┐рд╕реА рдРрд╕реА рдЪреАрдЬ рд╕реЗ рдмрд╛рдВрдзрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реЛ рдЬреЛ рдЙрди рд╕рднреА рдЖрдпрд╛рддреЛрдВ (рдЬреИрд╕реЗ рд╡реЗрдмрдкреИрдХ) рдХреЛ рд╣рд▓ рдХрд░ рджреЗ? рдпрджрд┐ рдЖрдкрдХрд╛ рдореЛрдиреЛрд░реЗрдкреЛ рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдмрдирд╛ рд╣реИ рдЬрд┐рд╕реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рд╕рд╛рдкреЗрдХреНрд╖ рдЖрдпрд╛рдд рдореЗрдВ рдмрджрд▓рдиреЗ рд╕реЗ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдХрд╛рд░рдг рд╣реЛрдЧрд╛?

@Ghirigoro рдирд╣реАрдВ, рд╕рдорд╕реНрдпрд╛ рдпрд╣ рдирд╣реАрдВ рдереА рдХрд┐ рдореИрдВ рдПрдХ рдкреИрдХреЗрдЬ рдкрде рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛, рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдкрдиреЗ рднреАрддрд░ рд╕реЗ рдПрдХ рдкреИрдХреЗрдЬ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдкрде рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмрд┐рдирд╛ рднреА, рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рдореВрд▓ рд░реВрдк рд╕реЗ рдореИрдВрдиреЗ рдЬреЛ рдХрд┐рдпрд╛ рд╡рд╣ рдЗрд╕рдХреЗ рдмрд░рд╛рдмрд░ рдерд╛:

$ mkdir problem
$ cd problem
$ npm init -y
$ echo 'console.log( "WORKED!" );' > index.js
$ echo 'require( "problem" );' > test.js

рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдиреЛрдб рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ:

$ node ./test.js
internal/modules/cjs/loader.js:985
  throw err;
  ^

Error: Cannot find module '/Users/jasonk/problem/test.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:982:15)
    at Function.Module._load (internal/modules/cjs/loader.js:864:27)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12)
    at internal/main/run_main_module.js:18:47 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}

рдпрджрд┐ рдЖрдк рдкреИрдХреЗрдЬ рдХрд╛ рдирд╛рдо рдмрджрд▓рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

$ echo 'require( "." );' > test.js
$ node ./test.js
WORKED!

рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реБрдЖ рдерд╛ рдХрд┐ рдЬрдм рдмрд┐рд▓реНрдб рдЪрд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдЕрдиреНрдп рд╕рднреА рдкреИрдХреЗрдЬ рдЬреЛ @my-project/utils рд╕реЗ рдЖрдпрд╛рдд рдХрд░ рд░рд╣реЗ рдереЗ, рдЙрд╕ рдЖрдпрд╛рдд рдХрд╛ рд╕рдорд╛рдзрд╛рди packages/utils рд╣реЛ рдЧрдпрд╛ рдерд╛ (рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ references рдореЗрдВ рд╕рд╣реА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ рдереАрдВ node_modules/@my-project/utils , рдЬреЛ packages/utils рд▓рд┐рдП рдПрдХ рд╕рд┐рдорд▓рд┐рдВрдХ рдерд╛, рд▓реЗрдХрд┐рди рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдиреЗ рдпрд╣ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛рдпрд╛ рдХрд┐ рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╣реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдереЗ рдЗрд╕рд▓рд┐рдП рдЗрд╕рдиреЗ рдЗрд╕реЗ рджреЛ рдмрд╛рд░ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рджреЛрдиреЛрдВ рдмрд┐рд▓реНрдбреЛрдВ рдореЗрдВ рдПрдХ рд╣реА рдЖрдЙрдЯрдкреБрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдереА, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реБрдЖред

рдпрд╣ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдбрд┐рдХреНрд▓реЗрд░реЗрд╢рди рдлрд╛рдЗрд▓реНрд╕ рдХреЛ рдмрд┐рд▓реНрдб рд╕реЗ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рднреА рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рдмрд┐рд▓реНрдбрд░ рдореМрдЬреВрджрд╛ ".d.ts" рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЙрд╕реА рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рд╕реЗ рдмрджрд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реЗрдЧреА: Cannot write file ... because it would overwrite input file.

рдЗрд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЕрдкрдиреЗ "outDir":"build" рдХреЛ рдЬрд░реНрдирд▓ tsconfig.json рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдмрд╛рд╣рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

"exclude": [
    "build",
    ....
]

рдпрд╛ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ outDir рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИ рддреЛ рд╕рднреА d.ts рдмрд╛рд╣рд░ рдХрд░ рджреЗрдВред рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдлрд╝рд╛рдЗрд▓реЗрдВ:

"exclude": [
    "**/*.d.ts"
    .....
]

рдЙрдореНрдореАрдж рд╣реИ рдпреЗ рдорджрдж рдХрд░реЗрдЧрд╛

рдореЗрд░реЗ рдмрд┐рд▓реНрдб рдбреАрдЖрдИрдЖрд░ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдореЗрд░реЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ

рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдРрд╕рд╛ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдк рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рджреЛ рдиреЛрдбреНрд╕ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред
рдЗрд╕ рдкрд░рд┐рдХрд▓реНрдкрдирд╛ рдХреЗ рд▓рд┐рдП, рдЖрдк рд░рди рдмрд┐рд▓реНрдб рдХреЗ рдмрд╛рдж рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ "рдиреЛрдб" рдирд╛рдордХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рдЧрд┐рдирддреА рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдореИрдВрдиреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд┐рдпрд╛:
рдЪрд░рдг 1ред
рддреБрд▓рдирд╛ рдХрд░рдирд╛
node -v
рддрдерд╛
nvm -ls , рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдгред
рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдиреЛрдб рд╕рдВрд╕реНрдХрд░рдг рд╕реЗрдЯ рдХрд░реЗрдВ:
nvm use {neededVersion}
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, nvm рдореЗрдВ рдиреЛрдб рдХреЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ (рдпрд╣ рдЖрдкрдХреЗ IDE рдХреЛ рдиреЛрдб рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛)ред
рдЪрд░рдг 2ред
рдЕрдкрдиреЗ рдЖрдИрдбреАрдИ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдиреЛрдб рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░реЗрдВред рдпрд╛рдиреА рд╡реЗрдмрд╕реНрдЯреЙрд░реНрдо рдореЗрдВ:
рд╡рд░реАрдпрддрд╛рдПрдБ-> рднрд╛рд╖рд╛рдПрдБ рдФрд░ рд░реВрдкрд░реЗрдЦрд╛рдПрдБ -> Node.js рдФрд░ NPM: рдиреЛрдб рджреБрднрд╛рд╖рд┐рдпрд╛ - рдЖрд╡рд╢реНрдпрдХ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗрдЯ рдХрд░реЗрдВред
(рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рд╣рд░ рдЬрдЧрд╣ рдкреНрд░рддреНрдпреЗрдХ рдЖрдЗрдЯрдо рдХреЗ рд▓рд┐рдП рдиреЛрдб рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ))

рд╕рд╛рде рд╣реА, рдпрд╣ рд╕рдорд╕реНрдпрд╛ рддрдм рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬрдм npm рд╕рдВрдХреБрд▓ рдпрд╛ git рд╕рдмрдореЙрдбреНрдпреВрд▓ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдиреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ

рдореИрдВ рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░ рдЖрдИрдУ/рдбрдмреНрд▓реНрдпреВрдбреАрдЖрдИрдУ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдпрд╣ рд╣рд▓ рд╣реЛ рдЧрдпрд╛ рдЬрдм рдореИрдВрдиреЗ tsconfig.json рдореЗрдВ "wdio.config.js" рдХреЛ "include" рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ред

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

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

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

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

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

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

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