Typescript: рдЖрдпрд╛рдд рдХрд░рддреЗ рд╕рдордп рдиреЛрдб_рдореЙрдбреНрдпреВрд▓ рдХреЗ рддрд╣рдд рдореЙрдбреНрдпреВрд▓ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 25 рдЬреБрд▓ре░ 2014  ┬╖  138рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: microsoft/TypeScript

рдЕрдкрдбреЗрдЯ 5 рдирд╡рдВрдмрд░ 2015

рдиреАрдЪреЗ рдЕрдиреБрд░реЛрдз рдХреА рдЧрдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо 1.8 рд╕реЗ рдПрдХ рдореБрдЦреНрдп рдЕрдВрддрд░ рдХреЗ рд╕рд╛рде рд▓рд╛рдЧреВ рдХреА рдЧрдИ рд╣реИ:

typescript.main рдФрд░ typescript.definition рдЧреБрдг рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдХреЗрд╡рд▓ рдПрдХ typings рд╕рдВрдкрддреНрддрд┐ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк d.ts рдлрд╝рд╛рдЗрд▓ рдпрд╛ рд╕рд╛рдорд╛рдиреНрдп .ts рдкрд░ рдЗрдВрдЧрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдореЙрдбреНрдпреВрд▓ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ typings рдПрдХ .ts рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдмрд┐рдВрджреБ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдореЙрдбреНрдпреВрд▓ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдПрдХ d.ts рдлрд╝рд╛рдЗрд▓ред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рдХрд┐ рдЖрдкрдХреЗ рдореЙрдбреНрдпреВрд▓ рдЙрдкрднреЛрдХреНрддрд╛ рдЖрдкрдХреА рдореЙрдбреНрдпреВрд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВ, рдмрд╕ рдЗрд╕рдХреА рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░реЗрдВред

рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ:
https://github.com/chanon/typescript_module_example

рдпрд╣рд╛рдВ рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдкреГрд╖реНрда рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рд╣реИ:
http://www.typescriptlang.org/docs/handbook/typings-for-npm-packages.html

рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдФрд░ рд╕рднреА рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рдзрдиреНрдпрд╡рд╛рджред

рдореВрд▓ рдореБрджреНрджрд╛ / рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ


рдкреНрд░реЗрд░рдгрд╛

рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ npm рдореЙрдбреНрдпреВрд▓ рдХреЗ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рдХрдард┐рди рд╣реИред

рдпрд╣ рдлрд╛рдпрджреЗрдордВрдж рд╣реЛрдЧрд╛ рдпрджрд┐ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕ рдлреЛрд▓реНрдбрд░ рдФрд░ package.json рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрдорд╛рд░реНрдЯ рд╣реИред

рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдПрдирдкреАрдПрдо рдореЙрдбреНрдпреВрд▓ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЬреЛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рдПрдирдкреАрдПрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реА рдореЙрдбреНрдпреВрд▓ рд▓рд┐рдЦрдирд╛ рдФрд░ рд╡рд┐рддрд░рд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ npm рдХреЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдФрд░ рд╡реНрдпрд╛рдкрдХ рд╕рдорд░реНрдерди рдкрд░ рдкрд┐рдЧрдмреИрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ред

рдиреЛрдб_рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдг

рдЕрдЧрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣реЛрддрд╛ рддреЛ:

./node_modules/concator/index.ts
./myApp.ts

рдФрд░ index.ts рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдерд╛:

export function concat(param1: string, param2:string): string {
      return param1 + ' ' + param2;
}

myApp.ts рдореЗрдВ:

import concator = require('concator');  // loads the module from node_modules
var result = concator.concat('I like', 'this.');
var wontWork = concator.concat('this will fail');  // compile error, concat needs 2 params

рддреЛ рдореВрд▓ рд░реВрдк рд╕реЗ, рдХрдВрдкрд╛рдЗрд▓рд░ рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрдорд╛рд░реНрдЯ рд╣реИ рдФрд░ рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд╕реНрдХрд░рдг (index.ts) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдлрд┐рд░ рдЬрдм рдХреЛрдб рдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдлрд╝реЛрд▓реНрдбрд░ рдЖрдпрд╛рдд рдХрд░рдирд╛

рдПрдХ рдФрд░ рдмреБрдирд┐рдпрд╛рджреА рдорд╛рдорд▓рд╛ Node.js рдХреЗ http://nodejs.org/api/modules.html#modules_folders_as_modules рдХреЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдирд┐рдпрдо рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдиреАрдЪреЗ @vvakame рджреНрд╡рд╛рд░рд╛ рд╕реБрдЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдХреНрд▓реЛрдЬреНрдб (рд╕реЗрдореА-рдбреБрдкреНрд▓рд┐рдХреЗрдЯ) #207 рдЕрдВрдХ рдореЗрдВ рд╣реИред

typescript.main package.json рдореЗрдВ

рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдирдкреАрдПрдо рдореЙрдбреНрдпреВрд▓ рдХреА рдореБрдЦреНрдп .ts рдлрд╛рдЗрд▓ рдХрд╣рд╛рдВ рд╣реИ, рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП package.json рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ main рдХреБрдВрдЬреА рдХреЗ рд╕рдорд╛рди рд╣реЛрдЧрд╛ рдЬреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреА рд╣реИ рдХрд┐ рдореБрдЦреНрдп рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ / .js рдлрд╝рд╛рдЗрд▓ рдХрд╣рд╛рдБ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдПред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП node_modules/myModule/package.json рдкрд░ рд╕реНрдерд┐рдд "myModule" рдирд╛рдордХ npm рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП package.json

{
     "main": "./dist/index.js",
     "typescript": {
          "main": "./src/index.ts"
     }
}

рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ node_modules/myModule/src/index.ts рдореБрдЦреНрдп рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рд╣реЛрдЧреА рдФрд░ import myModule = require("myModule"); рдХрд░рдиреЗ рд╕реЗ node_modules/myModule/src/index.ts рдлрд╝рд╛рдЗрд▓ рдЖрдпрд╛рдд рд╣реЛ рдЬрд╛рдПрдЧреАред

рдХрд┐рд╕реА JavaScript рдлрд╝рд╛рдЗрд▓ рдореЗрдВ var myModule = require("myModule"); рд▓рд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ JavaScript рдХреЛрдбрд░ рдХреЗ рд▓рд┐рдП, рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ node_modules/myModule/dist/index.js рдлрд╝рд╛рдЗрд▓ рд▓реЛрдб рдХрд░реЗрдЧреАред

рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрд░реЛрдд node_modules/module-name/src рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реИ рдФрд░ рд╕рдВрдХрд▓рд┐рдд JS рдлрд╝рд╛рдЗрд▓реЗрдВ node_modules/module-name/dist рдореЗрдВ рд╣реЛрдВрдЧреАред

рдРрд╕рд╛ рдХреБрдЫ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдирдкреАрдПрдо рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ (рдЕрд░реНрдз) рдорд╛рдирдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрд░реЛрдд рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред

рдиреАрдЪреЗ рджрд┐рдП рдЧрдП @vvakame рджреНрд╡рд╛рд░рд╛ рд╕реБрдЭрд╛рдП рдЧрдП рдПрдХ рдЕрдзрд┐рдХ рдмреБрдирд┐рдпрд╛рджреА рдорд╛рдорд▓рд╛ http://nodejs.org/api/modules.html#modules_folders_as_module рдХреЗ рд▓реЛрдХрдкреНрд░рд┐рдп Node.js рдирд┐рдпрдо рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд░рд╣рд╛ рд╣реИред

typescript.definition in package.json

рдЧреИрд░-рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ (рд╕рд╛рджрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ) npm рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП package.json рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреНрдп рд╕рдВрднрд╛рд╡рд┐рдд рдХреБрдВрдЬреА typescript.definition рд╣реЛ рд╕рдХрддреА рд╣реИред рдпрд╣ рдПрдХ .d.ts рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдЧрд╛ рдЬреЛ npm рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред

рддрд╛рдХрд┐ рдПрдХ
import $ = require('jquery');
jQuery рдХреЗ package.json рдореЗрдВ typescript.definition рдХреБрдВрдЬреА рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд jquery.d.ts рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкрдврд╝реЗрдЧрд╛ рдФрд░ $ рдХреЛ рд╕рд╣реА рдкреНрд░рдХрд╛рд░ рдмрдирд╛ рджреЗрдЧрд╛ред

рдЙрджрд╛рд╣рд░рдг рдкреНрд░рд╛рд░реВрдк:

{
     "main": "./dist/index.js",
     "typescript": {
          "definition": "./index.d.ts"
     }
}

(рдпрд╣ рдкреНрд░рд╛рд░реВрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА tsd рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ @Bartvds рдиреАрдЪреЗ рдмрддрд╛рддрд╛ рд╣реИред)

рдлрд┐рд░ рд╣рдореЗрдВ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдбрд░реНрд╕ рдХреЛ рд╣рдорд╛рд░реЗ рдкреБрд▓ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдорд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рддрдиреЗ рдЧреИрд░-рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ npm рдореЙрдбреНрдпреВрд▓ рдЕрдиреБрд░рдХреНрд╖рдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рд╣рдорд╛рд░реА .d.ts рдлрд╝рд╛рдЗрд▓реЗрдВ рдФрд░ package.json typescript.definition рдХреБрдВрдЬрд┐рдпрд╛рдБ рд╣реЛрдВред

рдпрджрд┐ рд╣рдо рдЗрд╕рдореЗрдВ рд╕рдлрд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдбрд░реНрд╕ рдХрд╛ рдЬреАрд╡рди рдЖрдирдВрджрдордп рд╣реЛ рдЬрд╛рдПрдЧрд╛ ... рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдк рдХреА рдЧрдИ .d.ts рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдФрд░ рдХреЛрдИ рдЕрд▓рдЧ рдкреНрд░рдмрдВрдзрди рдирд╣реАрдВред рдмрд╕ npm рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ рдФрд░ рдЖрдкрдХреЛ рдЕрдкрдиреА рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рднреА рдорд┐рд▓ рдЬрд╛рдПрдБрдЧреА! рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдФрд░ рдЕрдк-рдЯреВ-рдбреЗрдЯ рдореЙрдбреНрдпреВрд▓ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХреЗ рд╕рд╛рдеред

рд▓рд╛рднреЛрдВ рдХреА рд╕реВрдЪреА

рдЗрди рд╕рдм рд╕реЗ рд╣рдореЗрдВ рдЬреЛ рдорд┐рд▓рддрд╛ рд╣реИ рд╡рд╣ рд╣реИ

  • npm рдореЙрдбреНрдпреВрд▓ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд┐рдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
  • рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдбрд░ рджреЛрдиреЛрдВ рдЗрди рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
  • рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдореЙрдбреНрдпреВрд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдореЙрдбреНрдпреВрд▓ рдХреЛрдбрд░ (рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛) рдХреЗ рдмрд┐рдирд╛ рд╕реНрдерд┐рд░ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХрд╛ рд▓рд╛рдн рдорд┐рд▓рддрд╛ рд╣реИ, рдЕрд▓рдЧ-рдЕрд▓рдЧ .d.ts рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ (рдпрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ) рдХреА рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ (рдЗрд╕рд▓рд┐рдП рдЬрдм рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╣реЛ рд╣рдореЗрдВ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ .d.ts рдлрд╝рд╛рдЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ)
  • рдПрдирдкреАрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреБрди: рдЙрдкрдпреЛрдЧ рдФрд░ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рд╕реЗ рд╣рд░ рдХреЛрдИ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд░рд┐рдЪрд┐рдд рд╣реИ
  • рдпрд╣ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдбрд░реНрд╕ рдЬреЛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП npm рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрд░реЛрдд рдХрд┐рддрдирд╛ рдЕрдЪреНрдЫрд╛ / рдмреЗрд╣рддрд░ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдпрд╛ рд╡реЗ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдЪреВрдВрдХрд┐ рд╕реНрд░реЛрдд рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдЗрд╕реЗ рд╕реАрдЦрдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рд╕реЗ рд╡реЗ рдЗрд╕реЗ рдкрд╕рдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред
  • рдореВрд▓ рд░реВрдк рд╕реЗ рдпрд╣ рд╕рднреА рдХреЛрдб рд╕рд╛рдЭрд╛рдХрд░рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдореБрджрд╛рдп рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЕрднреА рд╣рд░ рдХрд┐рд╕реА рдХрд╛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдЬреНрдпрд╛рджрд╛рддрд░ рдЙрдирдХрд╛ рдЕрдкрдирд╛ / рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕рд╛рдЗрд▓реЛ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╢рд╛рдпрдж рдПрдХ рдЕрддреНрдпрдВрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╕рд╛рдЭрд╛/рд╡рд┐рддрд░рд┐рдд/рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЙрдЪрд┐рдд/рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рд╢рд╛рдпрдж рднрд╛рд╖рд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рд╕реАрдорд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИред [1]
  • рдЖрдВрддрд░рд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдкрд░реЗрд╢рд╛рдиреА рд╕реЗ рдмрд╣реБрдд рдХрдо рд╣реЛрдЧрд╛ рдФрд░ рдЙрди рд╕рднреА рд╕рд╛рдкреЗрдХреНрд╖ рдкрдереЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ .d.ts рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╕рд╛рдкреЗрдХреНрд╖ рдкрдереЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдХрдо рдХрд░реЗрдЧрд╛, рдФрд░ рд╕рд╛рдорд╛рдиреНрдп .d.ts рд╕рд╛рдорд╛рдиред (рдЕрднреА рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╕рдордп, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдЧрд┐рдирддреА рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫрд╛ рд╣реЛрдирд╛ рд╕реАрдЦрдирд╛ рд╣реИ ../../ s)
  • рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг Browserify/Webpack рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ Browserify/Webpack рднреА node_modules рдХреЗ рдЕрдВрддрд░реНрдЧрдд рджрд┐рдЦрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕рд░реНрд╡рд░ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп/npm рд╡рд┐рддрд░рд┐рдд рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЙрдбреНрдпреВрд▓ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
  • рдЧреИрд░-рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдирдкреАрдПрдо рдореЙрдбреНрдпреВрд▓ рдЖрд╕рд╛рдиреА рд╕реЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ typescript.definition рдХреБрдВрдЬреА рдЬреЛрдбрд╝ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯрд╛рдЗрдк рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ .d.ts рдкрд░рд┐рднрд╛рд╖рд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ npm рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдкреИрдХ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рддрд╛рдХрд┐ npm рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдЗрд╕рдХреА .d.ts рдкрд░рд┐рднрд╛рд╖рд╛ рдлрд╝рд╛рдЗрд▓ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдбреЗрдЯ рд╣реЛ рдЬрд╛рдПред рдпрд╣ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ .d.ts рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред
  • typescript.definition рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ import moduleName = require("moduleName") рдХрдерди рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЕрд▓рдЧ ///<reference ... рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ
  • typescript.definition рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдПрдХ рд╣реА рдХреЛрдб рдмреЗрд╕ рдореЗрдВ рдмрд┐рдирд╛ рдЯрд╛рдЗрдк рдирд╛рдореЛрдВ рдХреЗ рдЯрдХрд░рд╛рд╡ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рдиреА рдЪрд╛рд╣рд┐рдПред

рд╡рд┐рд╕реНрддреГрдд рдкреНрд░рд╕реНрддрд╛рд╡

@ Nemo157 рдиреЗ рдПрдХ рдмрд╣реБрдд рд╡рд┐рд╕реНрддреГрдд рдкреНрд░рд╕реНрддрд╛рд╡ рд▓рд┐рдЦрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдм рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:

рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рдВрдХрд▓реНрдк рд╢рдмреНрджрд╛рд░реНрде рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
https://gist.github.com/Nemo157/f20064a282ee620f3877

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

рдЕрдВрддрд┐рдо рд╕рд╣рд╛рдпрдХ рддрдереНрдп

рдЪреВрдВрдХрд┐ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рджреЛ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ: node.js рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ, npm рдФрд░ Browserify/Webpack рдХреЗ рдХрд╛рд░рдг рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рджреЛрдиреЛрдВ рдЬрдЧрд╣реЛрдВ (рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдЬрд╣рд╛рдВ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдлрд╛рдпрджреЗрдордВрдж рд╣реИред

рдЕрд░реНрдерд╛рддред рдПрдХ рдЕрд▓рдЧ рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рде рдЖрдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ рдЬрдм рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕ рд╡рд╣ рд╣реИ рдЬреЛ рд╕рднреА рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдкрдиреЗ рд╕рднреА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХреЗ 75% -100% рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред (рд╢рд╛рдпрдж RequJS рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП 25% рдирд┐рдХрд╛рд▓рдирд╛ред)

рдлреБрдЯрдиреЛрдЯ

[1] - рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╕реЗ рдПрдХ рдиреБрдЧреЗрдЯ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ (?) рд╣реИ рдЬреЛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЙрдбреНрдпреВрд▓ (?) рд╡рд┐рддрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдиреЛрдб.рдЬреЗрдПрд╕ рдХреЗрдВрджреНрд░рд┐рдд (рдЧреИрд░ .NET рдХреЗрдВрджреНрд░рд┐рдд) рдкреГрд╖реНрдарднреВрдорд┐ рд╕реЗ рдЖ рд░рд╣рд╛ рд╣реИ, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ NuGet рдмрди рд░рд╣рд╛ рд╣реИ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЗрдВрджреНрд░рд┐рдд рджреБрдХрд╛рдиреЛрдВ рдХреЗ рдмрд╛рд╣рд░ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдирдкреАрдПрдо рдиреЛрдб.рдЬреЗрдПрд╕ рдХреЗ рд▓рд┐рдП _the_ рдорд╛рдирдХ рд╣реИ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рднреА рдПрдХ рдкреНрд░рдореБрдЦ рдорд╛рдирдХ рд╣реИред рдЕрдЧрд░ рдореИрдВ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рддреЛ рдореИрдВрдиреЗ рдХрднреА рднреА NuGet рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реБрдирд╛ рд╣реЛрддрд╛ред рдФрд╕рдд рдиреЛрдб.рдЬреЗрдПрд╕ / рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдбрд░ рд╢рд╛рдпрдж npm рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗ, рд╡рд╣реА рдЙрдкрдХрд░рдг рдЬреЛ рд╡реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдмрдЬрд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдХреБрдЫ Microsoft рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЬреИрд╕реЗ рдХрд┐ NuGet рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред (рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ NuGet рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рдЬрд╛рдирддрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдпрд╣рд╛рдВ рдЬреЛ рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛ред)

Committed Suggestion

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

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

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

[рдКрдкрд░ рджрд┐рдП рдЧрдП рдореБрджреНрджреЗ рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ package.json рдореЗрдВ typescript.main рдкрд░ рд▓реЗ рдЬрд╛рдпрд╛ рдЧрдпрд╛]

:+1:
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ http://nodejs.org/api/modules.html#modules_folders_as_modules Node.js рдХрд╛ рдмрд╣реБрдд рд▓реЛрдХрдкреНрд░рд┐рдп рдирд┐рдпрдо рд╣реИред

рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдгред

./test/index.ts

export function hello() { return "Hello, world"; }

./main.ts

import test = require("./test/");
console.log(test.hello()); // print "Hello, world"

[рдЙрдкрд░реЛрдХреНрдд рд╕рдорд╕реНрдпрд╛ рд╡рд┐рд╡рд░рдг рдореЗрдВ package.json рдореЗрдВ typescript.definition рдкрд░ рд▓реЗ рдЬрд╛рдпрд╛ рдЧрдпрд╛]

рдПрдХ рдЙрдкрд╛рдп рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдЗрд╕реЗ рдмреЗрд╣рддрд░ рдЯреВрд▓реАрдВрдЧ рд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ import foo = require('foo') рдЖрдкрдХреЛ рдХреБрдЫ рд╕реНрдерд╛рдиреАрдп рдиреЛрдб_рдореЙрдбреНрдпреВрд▓+рдкреИрдХреЗрдЬ.рдЬреЗрд╕рди (рдлреВ рдПрдХ рдЯреАрдПрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИ) рдпрд╛ рдбреАрдЯреА рдкрд░рд┐рднрд╛рд╖рд╛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИ (рдлреВ рдПрдХ рдЬреЗрдПрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИ рдЬрд╣рд╛рдВ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд▓реЗрдЦрдХ рдЯреАрдПрд╕ рдбреАрдИрдПрдлрд╝ рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ) .

рдПрдлрд╡рд╛рдИрдЖрдИ; рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЯреАрдПрд╕рдбреА рдореЗрдВ рдЗрд╕рдХреЗ рд╕рдорд╛рди рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВ; рдПрдирдкреАрдПрдо (рдпрд╛ рдмреЛрд╡рд░) рдкреИрдХреЗрдЬ рдореЗрдВ рдмрдВрдбрд▓ рдХреА рдЧрдИ рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдФрд░ рд▓рд┐рдВрдХ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ред

рдпрд╣ 0.6 рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рджреЗрд╡ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╣реИ, рдФрд░ рдпрд╣ рдкреИрдХреЗрдЬ рдореЗрдВ typescript definition рдЬреЛрдбрд╝рдХрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рджрд┐рди source рднреА рд╣реЛрдЧрд╛, рдпрд╛ рдЬреЛ рднреА рд╣реЛ)ред

{
    ...
    "main": "./index.js",
    "typescript": {
        "definition": "./foo.d.ts"
    }
    ...
},

рдлрд┐рд░ рдЖрдк рдЯреАрдПрд╕рдбреА рдкрд░ рдПрдХ рдХрдорд╛рдВрдб рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╡рд░реНрддрдорд╛рди рдореЗрдВ tsd link рдФрд░ рдпрд╣ рд╕рднреА package.json рдлрд╛рдЗрд▓реЛрдВ рдХреЛ node_modules (рдпрд╛ рдмреЛрд╡рд░ рдпрд╛ рдЬреЛ рдХреБрдЫ рднреА) рдореЗрдВ рд╕реНрдХреИрди рдХрд░реЗрдЧрд╛, рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реЛрдиреЗ рдкрд░ рдЙрд╕ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдвреВрдВрдвреЗрдВ рдФрд░ рдХреЗрдВрджреНрд░реАрдп tsd.d.ts рдореЗрдВ рдЗрд╕рдХрд╛ рд╕рдВрджрд░реНрдн рдЬреЛрдбрд╝реЗрдВ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ

рдЙрджрд╛рд╣рд░рдг: рдпрд╣рд╛рдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдФрд░ рдпрд╣рд╛рдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

@Bartvds рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИред npm рд╕рдВрдХреБрд▓ рдореЗрдВ .d.ts рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓рд╛ рдХрджрдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореБрдЭреЗ "рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ" рдореЗрдВ "рдкрд░рд┐рднрд╛рд╖рд╛" рдХреЗ рд╕рд╛рде package.json рд╕рдВрд░рдЪрдирд╛ рдкрд╕рдВрдж рд╣реИ, рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд╣реИред

рдпрджрд┐ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ рд╕реНрд╡рдпрдВ рдЗрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкрдврд╝ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЯреИрдЧ рдХрд░рдирд╛ - рд╕реНрдорд╛рд░реНрдЯ рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдореЗрдВ рдпрд╣рд╛рдВ рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕реЗ рдкрд╣рд▓реЗ рд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рд╣рдордиреЗ 1.0 рдореЗрдВ рдХреБрдЫ рдмрджрд▓рд╛рд╡ рдХрд┐рдП рд╣реИрдВред

#207 рдкрд░ рднреА рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВ - 'рд╕реВрдЪрдХрд╛рдВрдХ' рдХреЗ рдЕрдВрддрд░реНрдЧрдд рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ

:+1:

@chanon tsMain рдпрджрд┐ рд╣рдо рдбрд┐рдХреНрд▓реЗрд░реЗрд╢рди рдЬрдирд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред

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

:+1:

рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреЛрдбрдкреНрд▓реЗрдХреНрд╕ рд░реЗрдкреЛ рдореЗрдВ рдХреБрдЫ рдХрд╛рдо рд╣реЛ рдЪреБрдХрд╛ рд╣реИ, рдПрдХ рд▓реАрдмрд░реЙрди рджреНрд╡рд╛рд░рд╛ рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдФрд░ рдПрдХ kayahr рджреНрд╡рд╛рд░рд╛ ред

рдореИрдВ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдирдП рднрдВрдбрд╛рд░ рдореЗрдВ рд░рдЦрдиреЗ рдФрд░ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдЕрд░реНрде рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдореИрдВрдиреЗ рдЗрд╕реЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ рдореЗрдВ рдХреИрд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдП, рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡ рд▓рд┐рдЦрд╛ рд╣реИред рдЗрд╕рдореЗрдВ typings рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рджреЗрдЦрдирд╛ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛрдЧрд╛ рдЬреЛ рдЕрдкрдиреА рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдмрдирд╛рдП рдирд╣реАрдВ рд░рдЦреЗрдЧрд╛ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдпрд╣ рд╕рдм tsd рдХреЗ рд╕рд╛рде рдкрд╛рд░рджрд░реНрд╢реА рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреА рднреА рдереЛрдбрд╝рд╛ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ /// <reference d рдлрд╛рдЗрд▓реЛрдВ рдХреА рдкрд░рд┐рд╡реЗрд╢ рдмрд╛рд╣рд░реА рдШреЛрд╖рдгрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЪреАрдЬреЛрдВ рдХреЛ рдереЛрдбрд╝рд╛ рдмрд╛рд▓реЛрдВ рд╡рд╛рд▓реА рдмрдирд╛рддреА рд╣реИред рдореИрдВ рдЗрд╕реЗ рдПрдХ рд╢рд╛рдЦрд╛ рдкрд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рдореЙрдбреНрдпреВрд▓ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реВрдВрдЧрд╛ред

рд╕рдордЭрджрд╛рд░ рд▓рдЧрддрд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рдХреНрд▓реИрд╢рд┐рдВрдЧ рдкреНрд░рдХрд╛рд░ рдХреА рдирд┐рд░реНрднрд░рддрд╛ рд╡рд╛рд▓реЗ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдХрд╡рд░ рдХрд░реЗрдЧрд╛? рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрджрд┐ рдХреЛрдИ рдРрдк рдП рдФрд░ рдмреА рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдмреА рднреА рдП рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИред рдмрд╛рд╣рд░реА рдШреЛрд╖рдгрд╛рдУрдВ рдХреА рджреЛ рдкреНрд░рддрд┐рдпрд╛рдВ рд╣реЛрдиреЗ рдкрд░ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдореЗрдВ рдкрдбрд╝рдирд╛ рдЖрд╕рд╛рди рд╣реИред

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

рдпрд╣ рдореМрдЬреВрджрд╛ tsd рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рдореБрдЦ рдореБрджреНрджреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬрд┐рд╕реЗ рдпрд╣ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдмрд╛рд╣рд░реА рдкрд░рд┐рд╡реЗрд╢ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдХреЗ рдЙрдирдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдирд╛рдо рд╡рд╛рд▓реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдХрдИ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ .

@joewood рднреА A . рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ рдкрд░реЗрд╢рд╛рдиреА рд╣реЛрдЧреА

тФЬтФАтФА [email protected]
тФФтФАтФА [email protected]
    тФФтФАтФА [email protected]

рдЙрдирдХреЗ рдкрд╛рд╕ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдирд╛рдорд┐рдд, рд▓реЗрдХрд┐рди рдереЛрдбрд╝реЗ рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдХрдИ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред

рдЙрд╕реА рдХреЗ рд╕рдорд╛рдзрд╛рди рд╕реБрдирдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реИрдВред рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкрд░рд┐рд╡реЗрд╢реА рдШреЛрд╖рдгрд╛рдУрдВ рдХреЗ рд▓рд┐рдП global рд╕реНрддрд░ рдЪрд░ рдЧреБрдВрдЬрд╛рдЗрд╢ рд╣реИ

рднрд▓реЗ рд╣реА рд╕рдВрд╕реНрдХрд░рдг рдореЗрд▓ рдЦрд╛рддреЗ рд╣реЛрдВ, рдлрд┐рд▓рд╣рд╛рд▓ рдореБрдЭреЗ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореБрджреНрджреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкрд░рд┐рд╡реЗрд╢ рдШреЛрд╖рдгрд╛ рдлрд╛рдЗрд▓реЛрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдкреНрд░рддреАрдХ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛрддреА рд╣реИрдВред рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд /// reference рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдХрд┐рд╕реА рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡рд╛рдкрд╕ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╛ рддреЛ рд╡рд╣, рдпрд╛ рдкреНрд░рдХрд╛рд░ рдХреА рдкрд╣рдЪрд╛рди рдореЗрдВ рдкрде рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рдЯрд╛рдЗрдкрд┐рдВрдЧ рд╕рдВрд╕реНрдХрд░рдг рдмреЗрдореЗрд▓ рдЖрджрд┐ рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦреЗрдЧреАред

@joewood рд╣рд╛рдБ, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ require рдХреЛ рдмрджрд▓рдХрд░, рдЬрд╣рд╛рдБ рднреА рд╕рдВрднрд╡ рд╣реЛ /// reference рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд╣реА рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓ рдХреЛ рдкрд░рд┐рд╡реЗрд╢ рдШреЛрд╖рдгрд╛рдУрдВ рдХреЗ рдмрдЬрд╛рдп рдЙрдирдХреЗ рдкреВрд░реНрдг рдкрде рд╕реЗ рдкрд╣рдЪрд╛рдирд╛ рдЬрд╛рдПрдЧрд╛, рдЗрд╕рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдкрдереЛрдВ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рд╕реЗ рдПрдХ рд╣реА рдирд╛рдо рдХреЗ рдПрдХрд╛рдзрд┐рдХ рд▓реЛрдб рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

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

:+1:

:+1: рдзрдиреНрдпрд╡рд╛рдж @ Nemo157 рдФрд░ рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рд╕рднреАред

рдореИрдВрдиреЗ package.json рдкрд░рд┐рд╡рд░реНрдзрди рдХреЛ рдорд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреЙрдк рдЗрд╢реНрдпреВ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ @ Nemo157 рдХреЗ рдкреНрд░рд╕реНрддрд╛рд╡ рд╕реЗ рд▓рд┐рдВрдХ рдХрд┐рдпрд╛ рд╣реИред

:+1:

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

:+1:

index.ts рдХреЗ рд╕рд╛рде рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдлрд╝реЛрд▓реНрдбрд░: +1:

:+1:

:+1:

:+1:

:+1:

:+1: :+1: :+1:

:+1: :+1: :+1: :+1:

рд╣рдорд╛рд░реЗ рд░рдбрд╛рд░ рдкрд░ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдЯрдХреНрдХрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд┐рдкреНрдкрдгреА рдХрд░рдирд╛ред

рдореБрдЭреЗ @Bartvds рдХреЗ рд╕реБрдЭрд╛рд╡ рд╕реЗ рдЕрдЪреНрдЫреА рд╕рдлрд▓рддрд╛ рдорд┐рд▓реА рд╣реИ:

рдлрд┐рд░ рдЖрдк рдЯреАрдПрд╕рдбреА рдкрд░ рдПрдХ рдХрдорд╛рдВрдб рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЯреАрдПрд╕рдбреА рд▓рд┐рдВрдХ рдФрд░ рдпрд╣ рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕ (рдпрд╛ рдмреЛрд╡рд░ рдпрд╛ рдЬреЛ рдХреБрдЫ рднреА) рдореЗрдВ рд╕рднреА рдкреИрдХреЗрдЬ.рдЬреЗрд╕рди рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реНрдХреИрди рдХрд░реЗрдЧрд╛, рдЕрдЧрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддреЛ рдЙрд╕ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдвреВрдВрдвреЗрдВ рдФрд░ рдХреЗрдВрджреНрд░реАрдп tsd.d.ts рдмрдВрдбрд▓ рдореЗрдВ рдЗрд╕рдХрд╛ рд╕рдВрджрд░реНрдн рдЬреЛрдбрд╝реЗрдВред рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВред

рддреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ typescript рдореЗрдВ package.json рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рддрд░рд╣ рд╕рдореБрджрд╛рдп рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реИред

рдпрджрд┐ рдиреЛрдб.рдЬреЗрдПрд╕ рд╕рдореБрджрд╛рдп рдореЗрдВ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ node_modules рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдЧрд░реВрдХ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП tsc рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рд╕рд┐рдореНрд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдореЗрд░реА рд╡рд┐рдХрд╛рд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ (рдПрдирдкреАрдПрдо-рд╡рд░реНрдХрд╕реНрдкреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИрдВ, рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕ рд╕рдордп рджреЛ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:

  • рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕ рд╕реЗ рд╕реАрдзреЗ рдЖрдпрд╛рдд рдХрд░реЗрдВ, рдЬреЛ рдЧрд▓рдд рджрд┐рдЦрддрд╛ рд╣реИ: import Foo = require("node_modules/mymodule/Foo");
  • рдШреЛрд╖рдгрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП tsc рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдмрдирд╛рдП рд░рдЦрд╛ рдореЙрдбреНрдпреВрд▓ рдШреЛрд╖рдгрд╛ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕рд╛рде рд╕рд┐рд▓рд╛рдИ рдХрд░реЗрдВ рдЬреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЙрдбреНрдпреВрд▓ рдирд╛рдореЛрдВ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рддрд╛ рд╣реИ

рдХреНрдпрд╛ рдЯреАрдПрд╕рд╕реА рдЖрдпрд╛рдд рдШреЛрд╖рдгрд╛рдУрдВ рдореЗрдВ рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓ рдирд╛рдо рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдкрде рд╕рдВрдХрд▓реНрдк рдХреЗ рджреМрд░рд╛рди рднреА node_modules рдЙрд╕реА рддрд░рд╣ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдиреЛрдб.рдЬреЗрдПрд╕ рд░рдирдЯрд╛рдЗрдо рдХрд░рддрд╛ рд╣реИ? рдПрдХ рдХрдВрдкрд╛рдЗрд▓рд░ рд╡рд┐рдХрд▓реНрдк рдЗрд╕реЗ рдЪрд╛рд▓реВ рдпрд╛ рдмрдВрдж рднреА рдХрд░ рд╕рдХрддрд╛ рд╣реИред

:+1: :+1: :+1:

рдЯреАрдПрд╕рд╕реА рдЖрдпрд╛рдд рдШреЛрд╖рдгрд╛рдУрдВ рдореЗрдВ рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓ рдирд╛рдо рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдкрде рд╕рдВрдХрд▓реНрдк рдХреЗ рджреМрд░рд╛рди рднреА рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕ рдХреЛ рдЙрд╕реА рддрд░рд╣ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдиреЛрдб.рдЬреЗрдПрд╕ рд░рдирдЯрд╛рдЗрдо рдХрд░рддрд╛ рд╣реИ

рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдХрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рд╣реИред рдЙрдХреНрдд рдирд╛рдо рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЯреНрд░реА рдХреЛ рджреЗрдЦрдиреЗ рдХрд╛ рд╡рд░реНрддрдорд╛рди рддрд░реАрдХрд╛ JS рдирд┐рд╖реНрдкрд╛рджрди рд╕рдВрджрд░реНрднреЛрдВ рд╕реЗ рдХреЛрдИ рд╕рдорд╛рдирддрд╛ рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИред

рдпрд╣ рдХреБрдЫ рд╕рдордп рд╕реЗ рдореЗрд░реА рд╕реВрдЪреА рдореЗрдВ рд╣реИред рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬ рдореЗрдВ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗред

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

рд╕рдорд╛рдзрд╛рди (рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╕реЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреЗ рдХреЗ рдХреНрд░рдо рдореЗрдВ):

  1. node_modules . рдореЗрдВ рд╣рд╛рд░реНрдб-рдХреЛрдбреЗрдб рд▓реБрдХрдЕрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓ рдирд╛рдореЛрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди
  2. рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓ рдирд╛рдореЛрдВ рдХреЗ рд╕рдорд╛рдзрд╛рди рдкрд░ рдХреЛрдИ рдирд┐рдпрдВрддреНрд░рдг рдирд╣реАрдВ
  3. node_modules рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓ рдирд╛рдореЛрдВ рдХреЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдВрдкрд╛рдЗрд▓рд░ рдзреНрд╡рдЬ
  4. рджрд┐рдП рдЧрдП рдкрде (рдкрдереЛрдВ) рдореЗрдВ рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓ рдирд╛рдореЛрдВ рдХреЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдВрдкрд╛рдЗрд▓рд░ "рдореЙрдбреНрдпреВрд▓ рдЦреЛрдЬ рдкрде" рдкреИрд░рд╛рдореАрдЯрд░
  5. рдПрдХ рдХрдВрдкрд╛рдЗрд▓рд░ "рдореЙрдбреНрдпреВрд▓ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░" рдкреИрд░рд╛рдореАрдЯрд░ рдПрдХ рдЬреЗрдПрд╕ рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде рдХрдВрдкрд╛рдЗрд▓рд░ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рд╕рднреА (рди рдХреЗрд╡рд▓ рд╢реАрд░реНрд╖-рд╕реНрддрд░) рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓ рдирд╛рдореЛрдВ рдХреЛ рд╣рд▓ рдХрд░реЗрдЧрд╛
  6. рднрд╛рд╖рд╛ рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рд╣реБрдХ рдЬреИрд╕реЗ рдХрд┐ рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓ рдирд╛рдо рд╕рдВрдХрд▓реНрдк рдирд┐рдпрдВрддреНрд░рдгреАрдп рд╣реИ

рд╡рд┐рдХрд▓реНрдк 1 рднрдпрд╛рдирдХ рд╣реИ, рдореИрдВ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╡рд┐рдХрд▓реНрдк 2 рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред

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

рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреА рдЕрдЧрд░ рд╡рд┐рдХрд▓реНрдк 4 рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЕрдЧрд░ рд╡рд┐рдХрд▓реНрдк 6 рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рд╡рд┐рдХрд▓реНрдк 4 рдФрд░ рд╡рд┐рдХрд▓реНрдк 6 рджреЛрдиреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдЦреБрд╢реА рд╣реЛрдЧреАред

рдЖрдкрдХреЗ рдореЙрдбреНрдпреВрд▓ рдЦреЛрдЬ рд░реВрдЯ рдХреЗ рд▓рд┐рдП --basePath рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рд╕рднреА рдореЙрдбреНрдпреВрд▓ рдЖрдпрд╛рдд рдЙрд╕ рдкрде рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рджреЗрдЦреЗ рдЬрд╛рдПрдВрдЧреЗред рдпрд╣ рдХреЗрд╡рд▓ рдПрдПрдордбреА рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдиреЛрдб рдореБрджреНрджрд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ, рд╣рдореЗрдВ рдмрд╕ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ :)

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рдкрд╣рд▓реЗ @ Nemo157 рд╕реЗ рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (рдФрд░ рдкрд░реАрдХреНрд╖рдг) рдорд┐рд▓рд╛ рдерд╛ https://github.com/Microsoft/TypeScript/issues/247#issuecomment -57422329

@ рдорд╛рд░реНрдХ-рдмреНрдпреВрд░ рдФрд░ @mhegazy рд╕реЗ рд╕рд╣рдордд рд╣реИрдВ, рд╡рд┐рдХрд▓реНрдк 4 рдПрдХ рдЦреЛрдЬ рдкрде рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдлрд┐рдХреНрд╕ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рднрд╛рд╖рд╛ рд╕реЗрд╡рд╛ рдореЗрдВ рдПрдХ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рд╕рдорд╛рдзрд╛рди (рд╡рд┐рдХрд▓реНрдк 6) рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд▓рдВрдмреА рдЕрд╡рдзрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

_рд╡рд░реНрде рдЬреЛрдбрд╝рдиреЗ_: рдпрд╣ рдЕрдХреЗрд▓реЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреБрди: рдЙрдкрдпреЛрдЧ рд╕рдорд╕реНрдпрд╛ рдХреЛ npm рдореЗрдВ рдареАрдХ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрджрд░реНрднреЛрдВ рдХреЗ рд▓рд┐рдП рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдкреНрд░рддреАрдХ рд╕рдорд╕реНрдпрд╛ #1125 рд╣реИред рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрдЪрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ ///.tsconfig рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдФрд░ рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдПрдХ рдмрд╛рд╣рд░реА рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдмрдВрдбрд▓ рдХрд░рдХреЗ рдЗрд╕реЗ рдареАрдХ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдЬреИрд╕рд╛ рдХрд┐ #17 рдореЗрдВ рд╕реБрдЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ

рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ рджреНрд╡рд╛рд░рд╛ рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдорд╛рдиреНрдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╡реЛрдЯред

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

рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдЕрдиреНрдп рдиреЛрдб рдкреИрдХреЗрдЬрд░реНрд╕ рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ browserifyред @ Nemo157 рдХрд╛ рдкреИрдЪ рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдореМрдЬреВрджрд╛ рдкреИрдХреЗрдЬрд░реНрд╕ рдХреЗ рд╕рд╛рде рдЖрд╕рд╛рди рдкрд░реАрдХреНрд╖рдг рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЪрд▓реЗ рдЧрдП рд╣реИрдВ рдФрд░ рдЕрдм рдЙрдирдХреЗ рдХреЛрдб рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИрдВ

node_modules рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдХрд╣рд╛рдБ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?

рдПрдЯрдо-рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрдм рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ typescript.definition рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рд╡рд┐рд╡рд░рдг: https://github.com/Microsoft/TypeScript/issues/2829

рдЖрдк рдПрдЯрдо-рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдРрд╕реЗ рдкреИрдХреЗрдЬ рднреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ:рдЧреБрд▓рд╛рдм: рдлрд┐рд░ рд╕реЗ рджреЗрдЦреЗрдВ #2829

рдкрд░рд┐рд╕реАрдорди

рдпрджрд┐ рдЖрдк рдРрд╕рд╛ рдкреИрдХреЗрдЬ рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐рд╕реА рдмрд╛рд╣рд░реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рд╣реИ рддреЛ рдпрд╣ _flawless_ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рддреЛ рд╣рдореЗрдВ рдПрдХ рдореЙрдбреНрдпреВрд▓ рд╕рдВрдШрд░реНрд╖ рд╕рдорд╛рдзрд╛рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

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

  • рд╣рдо рдРрд╕реЗ d.ts рдХреЛ рдкрдврд╝рдиреЗ рдореЗрдВ рдХреБрдЫ рд╕реНрдорд╛рд░реНрдЯ рдЪреАрдЬреЗрдВ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдмрд╛рд╣рд░реА reference рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ node.d.ts https://github.com/TypeStrong/atom-typescript-examples /blob/master/node/node_modules/example-typescript-b/definition/sample-bdts) рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╣рдорд╛рд░реЗ рдЕрдкрдиреЗ .d.ts рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ рд╣реБрдП рдЕрдЧрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдпрд╣ рд╣рдорд╛рд░реА рдЯрд╛рдЗрдкрд┐рдВрдЧ рдореЗрдВ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ 2.0 рдХреЗ рд▓рд┐рдП рдЯреНрд░реИрдХ рдкрд░ рд░рд╣рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ? рдпрд╣ Node.js рдЕрдкрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ, рдЬреЛ рдЕрднреА рджрд░реНрджрдирд╛рдХ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдк рдФрд░ рдкрд╕рдВрдж рдХреЗ рд╕рд╛рде рднреАред

рдпрд╣ Node.js рдЕрдкрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ, рдЬреЛ рдЕрднреА рджрд░реНрджрдирд╛рдХ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдк рдФрд░ рдкрд╕рдВрдж рдХреЗ рд╕рд╛рде рднреАред

@LPGhatguy рдХреГрдкрдпрд╛ https://github.com/Microsoft/TypeScript/issues/2338 рджреЗрдЦреЗрдВред @рд╡реНрд▓рд╛рджрд┐рдорд╛ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЗрд╕реЗ рдЕрднреА рддрдХ рдХреЛрдИ рдореАрд▓ рдХрд╛ рдкрддреНрдерд░ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИ: рдЧреБрд▓рд╛рдм:

@LPGhatguy рд╣рдо рдЗрд╕реЗ рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬ рдореЗрдВ рд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЬрд▓реНрдж рд╣реАред

@mhegazy рдЖрдкрдХрд╛ рдорддрд▓рдм 1.6 рд╣реИ? рдпрд╣ рдХрдорд╛рд▓ рдХрд╛ рд╣реЛрдЧрд╛!

рдХреНрдпрд╛ рдпрд╣ #2338 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ?

рд╣рд╛рдБ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ 1.6 рдХреЗ рд▓рд┐рдП (рдХрдо рд╕реЗ рдХрдо рд╣рдо рдпрд╣реА рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ), #2338 рдХреЗ рд▓рд┐рдП рд╣рд╛рдБ; рдЗрд╕рдХреЗ рдЖрд╕-рдкрд╛рд╕ рдХреБрдЫ рдЕрдиреНрдп рдкрд░рд┐рд╡рд░реНрддрди рдФрд░ рдореБрджреНрджреЗ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ #3147 рдФрд░ #4154 . рд╢рд╛рдорд┐рд▓ рд╣реИрдВ

рдлрд┐рд░, рдЗрд╕реЗ рдПрдХ рдореАрд▓ рдХрд╛ рдкрддреНрдерд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ 2.0 рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрдпреЛрдВ рдЯреИрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛?

рдзрдиреНрдпрд╡рд╛рдж @heycalmdown , рдореАрд▓ рдХрд╛ рдкрддреНрдерд░ рд╣рдЯрд╛ рджрд┐рдпрд╛ред рд╣рдо рдЖрдо рддреМрд░ рдкрд░ рд╕реБрдЭрд╛рд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдореАрд▓ рдХреЗ рдкрддреНрдерд░ рдЯреИрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдПрдХ рдпрд╛ рджреЛ рд╕рдкреНрддрд╛рд╣ рдХреЗ рднреАрддрд░ рдПрдХ рдЕрдкрдбреЗрдЯ рд╣реЛрдЧрд╛ред рдмрдиреЗ рд░рд╣реЗрдВред

рдореИрдВ рдЗрд╕рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ES6 рдореЙрдбреНрдпреВрд▓ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдкреВрдЫрдиреЗ рдореЗрдВ рдЭрдВрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ (рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╣реЛрдЧрд╛?)

рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдкрд┐рдВрдЧ

import mylib = require('mylib');
mylib.foo(mylib.bar);

рдЬреИрд╕рд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

import { foo, bar } from 'mylib';
foo(bar);

рдореИрдВ рдЗрд╕рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ES6 рдореЙрдбреНрдпреВрд▓ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдкреВрдЫрдиреЗ рдореЗрдВ рдЭрдВрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ (рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╣реЛрдЧрд╛?

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

рдЗрд╕реЗ #4154 рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЕрдЧрд░ рдореИрдВ рд░рд╛рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рддреЛ рдХрд▓ рд╕реЗ рдореБрдЭреЗ "рдмрд╕ рдХрд╛рдо" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреЛрдб рдореЙрдбреНрдпреВрд▓ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП?

рдкреНрд░рд╢реНрди:
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рдирд╛рдо рд░рдЦрдирд╛ рдПрдХ рдЖрдо рдкрд░рдВрдкрд░рд╛ рд╣реИ
рдХреЙрдордирдЬреЗрдПрд╕ рдореЗрдВ "рдЗрдВрдбреЗрдХреНрд╕" рдФрд░
рдПрдПрдордбреА рдореЗрдВ "рдореБрдЦреНрдп"
рдЫреЛрдЯреЗ рд░рд╛рд╕реНрддреЛрдВ рдХреЗ рд▓рд┐рдПред
рд╢реАрд░реНрд╖ рдкрд░ рдкреНрд░рд╢реНрди рдореЗрдВ рд▓реЗрдЦрдХ рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реИ
/node_modules/concator/index.ts рдХреЗ рд░реВрдк рдореЗрдВ
import concator = require('concator');

рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдХреНрд╖рдорд╛ рдХрд░реЗрдВ - рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдЕрднреА рднреА рд╕реВрдЪрдХрд╛рдВрдХ рд╕рдВрдХрд▓реНрдк рд╕рдорд░реНрдерд┐рдд рд╣реИ рдФрд░ рдПрдПрдордбреА рдореЗрдВ index.ts рдпрд╛ main.ts рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ рд╕рдорд╛рдзрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?
рдореИрдВ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП @basarat рдХреЛ рднреА рдкрд┐рдВрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ https://github.com/TypeStrong/atom-typescript рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИ / рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рдпрд╣ рдореБрдЭреЗ рдКрдкрд░ рдмрддрд╛рдП рдЕрдиреБрд╕рд╛рд░ рдХрд┐рд╕реА рднреА index.ts рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

@sebilasse , рдЕрдЧрд░ рдЖрдк рдЖрдЬ typescript@next рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ --module commonjs рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

import concator = require('concator'); // resolves to node_modules/concator/index.ts

рдкрд┐рдЫрд▓реЗ рд░рд┐рд▓реАрдЬ рд╕реЗ рдПрдПрдордбреА рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдореЗрдВ рдХреЛрдИ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рдЖрдпрд╛ рд╣реИред

@ рдбреЗрд╡рд┐рдб рд╕рд╛рдЙрдерд░ рдпрд╣ рдЖрдЬ typescript@next рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдПрдВ рдФрд░ рд╣рдореЗрдВ рдмрддрд╛рдПрдВ рдХрд┐ рдЗрд╕рдХрд╛ рдХрд┐рд░рд╛рдпрд╛ рдХреИрд╕рд╛ рд╣реИред

@mhegazy @basarat : +1: рдареАрдХ рд╣реИред рд▓реЗрдХрд┐рди рдЖрдк main.ts рдпрд╛ index.ts рдХреЗ рд▓рд┐рдП AMD рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ - рдХреНрдпрд╛ рдпрд╣ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?

@sebilasse , AMD рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ #2338 рдореЗрдВ @vladima рджреНрд╡рд╛рд░рд╛ рдмрддрд╛рдП рдЧрдП рдЕрдиреБрд╕рд╛рд░ рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдЕрдиреБрднрд╛рдЧ рдХреЗ рд▓рд┐рдП: RequJS/ES6 рдореЙрдбреНрдпреВрд▓ рд▓реЛрдбрд░)ред

рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛!! \o/

@mhegazy рдЕрднреА рднреА рдореЗрд░реА рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдореИрдВрдиреЗ рдЕрдкрдиреЗ "рдЖрджрд░реНрд╢" рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд╕рд╛рде https://github.com/DavidSouther/typescript-example-using-node рдПрдХ рд╕рд╛рде рд░рдЦрд╛ред tslib рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ рдЬреЛ рдПрдХрд▓ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддрд╛ рд╣реИред tsclient tslib рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА readline рдиреЛрдб рдкреИрдХреЗрдЬ рд╕реЗред рд╕реЗрдЯрдЕрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ, рд▓рд┐рдВрдХ рдХрд░рдиреЗ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рд╣реИред рдореИрдВрдиреЗ рдПрдХ рд░рди рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдЗрдирд▓рд╛рдЗрди рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдирдкреЗрдХреНрд╖рд┐рдд рднрд╛рдЧреЛрдВ рдХреЛ рдПрдиреЛрдЯреЗрдЯ рдХрд┐рдпрд╛ рд╣реИред

% ./setup
...
> [email protected] build ~/ts-node/tslib
> tsc --version ; tsc -p src/

message TS6029: Version 1.7.0-dev.20150831
...
> [email protected] build /Users/southerd/devel/tmp/ts-node/tsclient
> tsc --version ; tsc -p src/

message TS6029: Version 1.7.0-dev.20150831
# Expect this to find tslib, but fail type checking.
# See tsclient/app.ts for details
src/app.ts(4,21): error TS2307: Cannot find module 'tslib'.

+ node ./dist/app.js # This works as expected!
What would you ask? What is the meaning of life?
42
+ set +x

рдореБрдЭреЗ tsclient (VSCode рд╕рдВрд╕реНрдХрд░рдг 0.7.0 (0.7.0)) рдореЗрдВ tslib рдЖрдпрд╛рдд рдХреЗ рд▓рд┐рдП рднрд╛рд╖рд╛ рд╕рдорд░реНрдерди рднреА рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕ TSC рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдпрд╛ рдЗрд╕реЗ рдХреИрд╕реЗ рдмрджрд▓рд╛ рдЬрд╛рдПред

@DavidSouther рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ '.d.ts' рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП package.json рдореЗрдВ 'рдЯрд╛рдЗрдкрд┐рдВрдЧ' рдлрд╝реАрд▓реНрдб рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рд╛рде рдореБрдЭреЗ src/app.ts(13,7): error TS2322: Type 'string' is not assignable to type 'number'. рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдПрдХ рд╡реИрдз рддреНрд░реБрдЯрд┐ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ

рдЖрд╣, рдореИрдВрдиреЗ рдбреЙрдХреНрд╕ рдХреЗ рдЙрд╕ рдЯреБрдХрдбрд╝реЗ рдХреЛ рдпрд╛рдж рдХрд┐рдпрд╛ рд╣реЛрдЧрд╛ред рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рджреВрд╕рд░рд╛ рдореБрджреНрджрд╛ рд╣реИ - рдореИрдВ VSCode tsc рд╕рдВрд╕реНрдХрд░рдг рдХреИрд╕реЗ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реВрдБ?

рдЖрдк "typescript.tsdk" рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ VSCode рдХреЛ рдХрд╕реНрдЯрдо рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ SDK рд╕реНрдерд╛рди рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдпрд╣ tsserver.js рдФрд░ рдорд╛рдирдХ '.d.ts' рдлрд╝рд╛рдЗрд▓реЛрдВ рд╡рд╛рд▓реЗ рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрдЧрд░ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ npm рдкреИрдХреЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддреЛ рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╣реЛрдЧрд╛

// Place your settings in this file to overwrite the default settings
{   
    "typescript.tsdk": "C:\\Sources\\bugs\\node\\typescript-example-using-node\\tslib\\node_modules\\typescript\\lib"       
}

рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдирдореВрдирд╛ рдорд┐рд▓рд╛? рдореИрдВрдиреЗ рдкреВрд░реА рджреЛрдкрд╣рд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдореИрдВ рд╣рдореЗрд╢рд╛ рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реВрдВ

error TS2307: Cannot find module

рдлрд┐рд▓рд╣рд╛рд▓ рдХреЛрдб node_modules/my-module/ рдореЗрдВ рд╣реИред рдФрд░ рдореИрдВрдиреЗ рдПрдХ index.ts рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬреЛ рд╕рдм рдХреБрдЫ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦрддрд╛ рд╣реИ, рдФрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ typescript.main рдХреЗ рддрд╣рдд package.json рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ред рдЙрдкрднреЛрдХреНрддрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдореИрдВрдиреЗ 'my-module' рд╕реЗ {AClass} рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛; рдФрд░ my-module рдЖрдпрд╛рдд рдХрд░реЗрдВ = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('my-module'); рд╡реЗ рджреЛрдиреЛрдВ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ 1.7.0-dev.20150901 рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВред

--module commonjs рдХреЗ рд╕рд╛рде рдЧреИрд░-рд░рд┐рд╢реНрддреЗрджрд╛рд░ рдирд╛рдо рд╡рд╛рд▓реЗ рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╣рд▓ рдХрд░рддреЗ рд╕рдордп, рдХрдВрдкрд╛рдЗрд▓рд░ .d.ts рдХреА рддрд▓рд╛рд╢ рдХрд░реЗрдЧрд╛ рдЬреЛ node_modules\name\index.d.ts рдореЗрдВ рдирд╛рдо рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ рдпрд╛ package.json рдореЗрдВ рджрд┐рдЦрддрд╛ рд╣реИ рдПрдХ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд▓рд┐рдП typings , рдФрд░ .d.ts рдХреЛ рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рд▓реЛрдб рдХрд░реЗрдВред

рдЖрдкрдХреЗ рд╡рд┐рд╡рд░рдг рд╕реЗ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ index.ts рдкрд░ рд╕реЗрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдкрдиреА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЖрдк рдХреЗрд╡рд▓ рдЙрдирдХреА рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрд╕реЗ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп index.d.ts рдкрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореИрдВрдиреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рджрд░реНрд╢рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдиреЛрдб рдореЙрдбреНрдпреВрд▓ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдореЗрдВ рдЪрд░рдгреЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИ: https://github.com/Microsoft/TypeScript/issues/2338

@ рдбреЗрд╡рд┐рдбрд╕реБрдерд░ рдореБрдЭреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдЬрдм рдореИрдВ node_modules рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░, рдпрд╣ рдЕрднреА рднреА рдЬреЗрдПрд╕ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдореИрдВ рдЗрд╕реЗ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдЪрд▓рддрд╛ рд╣реИред рд╢рд╛рдпрдж рдпрд╣ рдореЗрд░реЗ рд╕реЗрдЯрдЕрдк рдХреЗ рдХрд╛рд░рдг рд╣реИ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ред рдореЗрд░рд╛ d.ts рдЬреНрдпрд╛рджрд╛рддрд░ рдЦрд╛рд▓реА рд╣реИ, рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ index.ts рд╣реИ рдЬреЛ рдХрдИ .ts рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдореЗрд░реЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рднреА рд╡рд░реНрдЧреЛрдВ рдХреЛ рдЖрдпрд╛рдд рдФрд░ рдкреБрди: рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦрддрд╛ рд╣реИред рдФрд░ рдлрд┐рд░ рдореЗрд░реА d.ts рдлрд╝рд╛рдЗрд▓ рдХреЗрд╡рд▓ рдЗрд╕ index.ts рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреА рд╣реИ рдФрд░ index.ts рд╕реЗ рд╕рдм рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддреА рд╣реИ:

/// <reference path="index.ts" />

declare module 'my_module' {
    export * from 'index';
}

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

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдореБрдЭреЗ рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рд▓рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реБрдкрд░ рд╣реИрдХреА рд╣реИ рдФрд░ рдЕрднреА рднреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдбреАрдЯреАрдПрд╕-рдЬрдирд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдбреАрдЯреАрдПрд╕ рдмрдирд╛рдпрд╛, рдФрд░ рдлрд┐рд░ рдореИрдВрдиреЗ рдЕрдкрдиреА рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рдЗрд╕ рддрд░рд╣ рдЖрдпрд╛рдд рдХрд┐рдпрд╛:

import MyClass from '../../node_modules/my_module/dist/MyClass';

рдЕрдЧрд░ рдореИрдВ 'my_module/MyClass' рд╕реЗ рдЖрдпрд╛рдд MyClass рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рдЗрд╕реЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд░рдирдЯрд╛рдЗрдо рдкрд░ рдореБрдЭреЗ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ рдХрд┐ рдореЙрдбреНрдпреВрд▓ 'my_module/MyClass' рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред рдЙрдкрд░реЛрдХреНрдд рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рдпрд╣ рд╕реАрдзреЗ рд╕рдВрдХрд▓рд┐рдд .js рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдпрд╣ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдпрд╣ рддреНрд░реБрдЯрд┐ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддрд╛ рд╣реИ, рд╕рдВрдХрд▓рди рд╕рдордп рдкрд░ рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдвреВрдВрдв рд╕рдХрддрд╛ рд╣реИред

рдЕрднреА рднреА рд╕рдмрдореЙрдбреНрдпреВрд▓ рд╕реЗ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдЖ рд░рд╣реА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП npm install angular2, import { Inject, Binding } from 'angular2/di' ред рдЖрдЬ рд░рд╛рдд рддрдХ рдПрдХ рдирд┐рд╣рд┐рдд рдкрд░реАрдХреНрд╖рдг рдХреЗрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рдРрд╕рд╛ рдордд рд╕реЛрдЪреЛ рдХрд┐ рдХреЛрдгреАрдп рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ рджреНрд╡рд╛рд░рд╛ рдЕрдкреЗрдХреНрд╖рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдЕрдкрдиреА рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЛ рдмрдВрдбрд▓ рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рд╢рд╛рдпрдж рд╕рдЪ рд╣реИ; рдореИрдВ рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реВрдВрдЧрд╛ рдФрд░ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдХрд╣рд╛рдВ рдЦрддреНрдо рд╣реЛрддрд╛ рд╣реИред

рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ 1.1 рдкрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП https://github.com/Nemo157/typescript_w_node_modules_example

рд▓реЗрдХрд┐рди рдЯрд╛рдЗрдкрдкреНрд░рддрд┐ 1.5.3 рдореЗрдВ рд╡рд┐рдлрд▓, рдХреБрдЫ рднреА рдмрджрд▓ рдЧрдпрд╛?

------ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ ---------

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

рдореИрдВ рдХреЗрд╡рд▓ 1.6.2 . рдореЗрдВ рдпрд╣ "рдЖрдзрд╛ рдХрд╛рдо" рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ dist рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ my-lib.d.ts рдХреЗ рд╕рд╛рде рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкреИрдХреЗрдЬ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ package.json рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ typings рд╡рд┐рд╢реЗрд╖рддрд╛ (рдЙрджрд╛рд╣рд░рдг "typings" : "dist/my-lib.d.ts" )

рдлрд┐рд░ рдореИрдВ рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ Test.ts рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реВрдВ

import { MyObject } from "my-lib"

MyObject рдареАрдХ рд╕реЗ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЬреЗрдПрд╕ рдХреЛрдб рдЯреНрд░рд╛рдВрд╕рдкрд┐рд▓реЗрд╢рди рдкрд░ рдЙрддреНрд╕рд░реНрдЬрд┐рдд рд╣реЛрддрд╛ рд╣реИред
рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЛрдб MyObject . рдкрд░ рднреА рдкреВрд░реНрдгрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рдХрдВрдкрд╛рдЗрд▓рд░ рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдВ рдорд┐рд▓рддреА рд╣реИрдВ рдХрд┐:
Test.ts(10,60): error TS2306: File '[]/node_modules/my-lib/dist/my-lib.d.ts' is not a module.

рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЛрдб рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдпрд╛рдд рдХреЛ рдПрдХ рдХрдард┐рди рддреНрд░реБрдЯрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛рдПрдЧрд╛

рдиреЛрдб рдкреИрдХреЗрдЬ рд╕реЗ рдХрд┐рд╕реА рднреА рдЖрдпрд╛рддрд┐рдд рдореЙрдбреНрдпреВрд▓ рдХреЛ "рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рди рдХрд┐ "рдкрд░рд┐рд╡реЗрд╢ рдореЙрдбреНрдпреВрд▓ рдШреЛрд╖рдгрд╛рдПрдВ"ред рдпрд╛рдиреА рдХреЛрдИ declare module "foo" {.. } рдШреЛрд╖рдгрд╛рдПрдВ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╢реАрд░реНрд╖ рд╕реНрддрд░реАрдп рдЖрдпрд╛рдд рдпрд╛ рдирд┐рд░реНрдпрд╛рдд рдШреЛрд╖рдгрд╛рдПрдВред

рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдкрдХрд╛ рдкреИрдХреЗрдЬ "my-lib" рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдмрд╕ рдЗрд╕реЗ --declarations рдХреЗ рд╕рд╛рде рдмрдирд╛рдПрдВ рдФрд░ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЛ рдЕрдкрдиреЗ рдореБрдЦреНрдп рдореЙрдбреНрдпреВрд▓ рдХреА .d.ts рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реЗрдЯ рдХрд░реЗрдВред рдпрджрд┐ рдирд╣реАрдВ, рдФрд░ рдЖрдкрдХреА рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреБрдЫ рдРрд╕реА рд╣реИ рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рд╣рд╛рде рд╕реЗ рд▓рд┐рдЦрд╛ рд╣реИ, рдпрд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдпрд╛ рддреЛ рдЗрд╕реЗ рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛, рдпрд╛ #4665 рдХреЗ рд╣рд▓ рд╣реЛрдиреЗ рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреА рд╣реЛрдЧреА (рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЬрд▓реНрдж рд╣реА)ред

рдЗрд╕ рдкреНрд░рддрд┐рдмрдВрдз рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рдкреИрдХреЗрдЬ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдмрд╛рдж рдореЗрдВ рд╡реИрд╢реНрд╡рд┐рдХ рджрд╛рдпрд░реЗ рдХреЗ рдкреНрд░рджреВрд╖рдг рдФрд░ рд╕рдВрдШрд░реНрд╖ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИред #4665 рдореЗрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд▓рдВрдмреА рдЪрд░реНрдЪрд╛ рд╣реИред

рднрд╡рд┐рд╖реНрдп рдХреА рдЦреЛрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдХреБрдЫ рджрд╕реНрддрд╛рд╡реЗрдЬ рджрд┐рдП рдЧрдП рд╣реИрдВ: https://github.com/Microsoft/TypeScript/wiki/Typings-for-npm-packages

@mhegazy рдЖрдкрдХреЗ рддреНрд╡рд░рд┐рдд рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдЬрд┐рд╕рдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдХреЙрдордирдЬ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдореЗрд░реА рдЦреЛрдЬ рдореЗрдВ рдорджрдж рдХреА, рдЬрд┐рд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рджреЛрдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрднреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
import/export рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдФрд░ рд╕рдВрдХрд▓реНрдк рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЗрддрдиреА рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрднреА рдЬреЛ рдЧрд╛рдпрдм рд╣реИ рд╡рд╣ рдПрдХ рдмрдирд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкрд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рд╣реИред

рдореБрдЭреЗ рдпрд╣ рдХрд╛рдо рдорд┐рд▓ рдЧрдпрд╛ ... рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рд╕рд╛рде (рдФрд░ рдЗрд╕рд▓рд┐рдП рдПрдХ рдФрд░ рд╕рд╡рд╛рд▓)

рдпрд╣рд╛рдБ рд╕реЗрдЯрдЕрдк рдХрд╛ рдПрдХ рд╕рд░рд▓реАрдХреГрдд рджреГрд╢реНрдп рд╣реИред

рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рддреАрди рдСрдмреНрдЬреЗрдХреНрдЯ A1, A2 рдФрд░ B 2 рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ A.ts рдФрд░ B.ts рдореЗрдВ рд╣реЛрддреЗ рд╣реИрдВ; рдХреБрдЫ рдЗрд╕ рддрд░рд╣

рд╕реВрддреНрд░реЛрдВ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ

A.ts

class A1{}
class A2{}
export { A1, A2 }

B.ts

class B{}
export { B }

рд╣рдо рдЬреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЙрд╕реЗ index.ts рдореЗрдВ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

export * from './A'
export * from './B'

рдирд┐рд░реНрдорд╛рдг
рдирд┐рд░реНрдорд╛рдг рдЧреНрд░рдВрдЯ рдХреА рдорджрдж рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ --module commonjs рдФрд░ --declaration рдЭрдВрдбреЗ tsc 1.6.2 рдкрд░ рд╕реЗрдЯ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ
рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рдПрдХ рдРрд╕рд╛ рдкреЗрдбрд╝ рд╣реИ рдЬреЛ рджрд┐рдЦрддрд╛ рд╣реИ

    package.json
    dist/
        js/
             A.js
             B.js
             index.js
        typings/
             A.d.ts
             B.d.ts
             index.d.ts

package.json рдореЗрдВ рдпреЗ рджреЛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рд╣реИрдВ:

"main": "dist/js/index.js",
"typings": "dist/typings/index.d.ts"

рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ 1.6.2 рдореЗрдВ рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рд╕рд╛рдзрд╛рд░рдг import {A1, A2, B} from "mylib" рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдХреБрд▓ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдПрдХрд╛рдзрд┐рдХ рд╕реНрддрд░ рдирд┐рд░реНрднрд░рддрд╛ (рдпрд╛рдиреА рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп) рднреА рдареАрдХ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

рдЬрд╣рд╛рдБ рд╕рдорд╕реНрдпрд╛рдПрдБ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВ, рдЬрдм рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд┐рд╕реА рдЕрдиреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрд┐ _not_ рдПрдХ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИред
рдорд╛рди рд▓реЗрдВ рдХрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп Node.js рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ NodeJS рдХреА рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХрд╛ рд╕рдВрджрд░реНрдн рд╣реЛрдЧрд╛ рдЬреИрд╕реЗ
///<reference path="../typings/node/node.d.ts"/>

рдЯреНрд░рд╛рдВрд╕рдкрд┐рд▓реЗрд╢рди рдкрд░ рдХрд┐ <reference > рдирд┐рд░реНрджреЗрд╢ рд╕рдВрдмрдВрдзрд┐рдд рдШреЛрд╖рдгрд╛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ; рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ node.d.ts рдХрд╛ рдкрде рдЧрд▓рдд рдпрд╛ рдЕрд╕реНрддрд┐рддреНрд╡рд╣реАрди рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред
рдХреНрдпрд╛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рдЕрдиреБрд╢рдВрд╕рд┐рдд рддрд░реАрдХрд╛ рд╣реИ?

_рдиреЛрдЯ_: рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рджрд┐рд▓рдЪрд╕реНрдк рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП index.ts рдлрд╝рд╛рдЗрд▓ рдкрд░ рдЙрдкрдпреЛрдЧ рджреНрд╡рд╛рд░рд╛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХрдо рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ index.ts рдореЗрдВ <reference > рдирд┐рд░реНрджреЗрд╢ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ рдФрд░ 1.6 рдХреЗ рд╕рд╛рде .2, рд╕рдВрдХрд▓рдХ рдХреЛ рдЗрд╕ рдмрд╛рдд рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рдВрджрд░реНрдн рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ Adts рдХрд╛ рдкрде рдЕрдорд╛рдиреНрдп рд╣реИ

@bgrieder рд╣рдо рдЗрд╕реЗ tsconfig.json рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлреЙрд╕реНрдлрд░ рдореЗрдВ рд╕рдВрднрд╛рд▓рддреЗ рд╣реИрдВ:
https://github.com/phosphorjs/phosphor-widget/blob/master/src/tsconfig.json

рд╣рдо рдХреЗрд╡рд▓ рд╕рдВрдХрд▓рд┐рдд рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХрд┐рд╕реА рднреА рдмрд╛рд╣рд░реА рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдЗрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдмрд╛рд╣рд░реА рдкреНрд░рдХрд╛рд░ рд╣рдорд╛рд░реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рддреЛ рдХреЛрдб рдХреЗ рдЙрдкрднреЛрдХреНрддрд╛рдУрдВ рдХреЛ рдЕрдкрдиреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрди рдмрд╛рд╣рд░реА рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЛ рднреА рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред _рдпреЗ рдареАрдХ рд╣реИ_ред рдЕрдЧрд░ рд╣рдо рдЙрди рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдмрдВрдбрд▓ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЙрдкрднреЛрдХреНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХреБрдЫ рдЕрдиреНрдп lib _also_ рдЙрдиреНрд╣реАрдВ рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдмрдВрдбрд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдкреНрд░рддреАрдХ рд╕рдВрдШрд░реНрд╖ рд╣реЛрдВрдЧреЗред

@sccolbert рд╣рд╛рдБ!
рдореИрдВ рдЪрд┐рдВрддрд┐рдд рдерд╛ рдХрд┐ <reference ...> рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рд╕рднреА рдЖрдИрдбреАрдИ рдкрд░ рд╕реНрд╡рдд: рдкреВрд░реНрдгрддрд╛ рдЯреВрдЯ рдЬрд╛рдПрдЧреА, рд▓реЗрдХрд┐рди рд╣реЗ, рдирд╣реАрдВ: рдХрдо рд╕реЗ рдХрдо рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЛрдб 0.8.0 tsconfig.json рд╕реЗ рдЙрди рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрдорд╛рд░реНрдЯ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ

reference рдХреЗ рд╕рд╛рде рд╣реЛ рдЧрдпрд╛ред рдЙрддреНрдХреГрд╖реНрдЯ !

@sccolbert

рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рдЗрд╕рдХреЗ рднреАрддрд░ рдПрдХ рд╕рд╛рджрд╛ Node.js рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП *.d.ts рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ tsconfig рд╕рдорд╛рдзрд╛рди рдЖрдкрдХреА рдХреИрд╕реЗ рдорджрдж рдХрд░рддрд╛ рд╣реИ?

@heycalmdown рдЖрдк d.ts рдХреЛ files рдлрд╝реАрд▓реНрдб рдореЗрдВ tsconfig рдкрд░ рдЬреЛрдбрд╝реЗрдВ, рдпрд╣рд╛рдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдпрд╣ рдХрд░рддрд╛ рд╣реИ:

https://github.com/phosphorjs/phosphor-widget/blob/master/test/src/tsconfig.json#L11
https://github.com/phosphorjs/phosphor-widget/blob/master/test/src/index.ts#L10

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдореЗрдВ $#$4 import #$ рдХреЗ рдмрдЬрд╛рдп рдпрд╣рд╛рдВ require рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдХреЗрд╡рд▓ рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ рдХрд┐ рдХреИрд╕реЗ d.ts рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рд▓рд┐рдЦреА рдЧрдИ рд╣реИред

рдареАрдХ рд╣реИ рдореИрдВ рд╕рдордЭ рдЧрдпрд╛ред рдЖрдкрдХреА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдПрдХ рдЕрдЪреНрдЫреЗ рдЙрджрд╛рд╣рд░рдг рдХреА рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ 1.6.2 рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?

рдЕрдЧрд░ рдпрд╣ рд╣реИ, рддреЛ рдХреНрдпрд╛ рдХреЛрдИ рдореБрдЭреЗ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдпрд╣рд╛рдБ рдХреНрдпрд╛ рдЧрд▓рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдБ ?:
https://github.com/chanon/typescript_module_example

рдЖрдк рд╢рд╛рдпрдж es6 рдЖрдпрд╛рдд рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдмреБрдзрд╡рд╛рд░ рдХреЛ, 4 рдирд╡рдВрдмрд░, 2015, 6:10 рдкреВрд░реНрд╡рд╛рд╣реНрди рдЪреИрдирди рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдХреНрдпрд╛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ 1.6.2 рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?

рдЕрдЧрд░ рдРрд╕рд╛ рд╣реИ, рддреЛ рдХреНрдпрд╛ рдХреЛрдИ рдореБрдЭреЗ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдпрд╣рд╛рдБ рдХреНрдпрд╛ рдЧрд▓рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдБ ?:
https://github.com/chanon/typescript_module_example

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/Microsoft/TypeScript/issues/247#issuecomment -153688004
.

рдореИрдВрдиреЗ рдЗрд╕реЗ es6 рдЖрдпрд╛рдд рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреА рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдЕрднреА рднреА рд╡рд╣реА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓рддреА рд╣реИрдВ (рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ)ред

@chanon package.json рдХреЗ рд▓рд┐рдП node_modules рдкреИрдХреЗрдЬ рдореЗрдВ typings рдХреБрдВрдЬреА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдЬреЛ d.ts рдлрд╝рд╛рдЗрд▓ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреА рд╣реИ, _not_ рдПрдХ typescript рдХреБрдВрдЬреА рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИ .ts рдлрд╝рд╛рдЗрд▓реЗрдВ рдЬреИрд╕реЗ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрднреА рд╣реИрдВред

рд╣рдо PhosphorJS рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ (TS 1.6.2 рдкрд░) рдиреЛрдб рдореЙрдбреНрдпреВрд▓ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: https://github.com/phosphorjs/phosphor-widget/blob/f908341cb1d46ada8ad8149e695a75e7ea2fde57/package.json#L6

рдзрдиреНрдпрд╡рд╛рдж @sccolbert , рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореЗрд░рд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреНрд░рд╕реНрддрд╛рд╡ (рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░) typescript.main рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд▓рд┐рдП package.json рдореЗрдВ рдЕрдиреБрдорддрд┐ рджреЗрдирд╛ рдерд╛ рдЬреЛ рдиреЛрдб рдореЙрдбреНрдпреВрд▓ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдмрд┐рдВрджреБ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдЧрд╛ред рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВред

рдпрд╣ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдореЗрдВ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЙрдбреНрдпреВрд▓ рдХреЛ d.ts рдЯрд╛рдЗрдкрд┐рдВрдЧ рдлрд╛рдЗрд▓реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ (рдЙрдиреНрд╣реЗрдВ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рднреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА)ред

@chanon рдореИрдВ рд╕рд┐рд░реНрдл рдпрд╣ рдмрддрд╛ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдЖрдкрдХреЛ рдЕрдкрдирд╛ рдХреЛрдб рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред

@sccolbert рдореИрдВ рдзрдиреНрдпрд╡рд╛рдж рджреЗрдЦрддрд╛ рд╣реВрдБред

рдХреНрдпрд╛ рдХреЛрдИ рдЬрд╛рдирдиреЗ рд╡рд╛рд▓рд╛ рдореБрдЭреЗ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдореБрдЭреЗ рдЗрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реБрдП рдХреЛрдИ рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛ рдмрдирд╛рдиреА рдЪрд╛рд╣рд┐рдП?

рдореЙрдбреНрдпреВрд▓ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рд▓реЙрдЬрд┐рдХ (рдЗрд╕ рдПрдХ рдХреЗ рдЕрд▓рд╛рд╡рд╛) рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдореБрдЦреНрдп рдореБрджреНрджреЗ #2338 рд╣реИрдВ рдЬреЛ рдмрдВрдж рд╣реИрдВ рдФрд░ #5039 рдЬреЛ рд╕рд┐рд╕реНрдЯрдордЬреЗрдПрд╕ рд╕реНрдЯрд╛рдЗрд▓ рдкрде рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рджрд┐рдЦрддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рд╢реБрд░реВ рдореЗрдВ рдЕрдиреБрд░реЛрдз рдХреА рддрд░рд╣ рдЖрдпрд╛рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕рд╛рдзрд╛рд░рдг рдХреЙрдордирдЬреЗрдПрд╕ рд╢реИрд▓реА рдХреЛ рднреБрд▓рд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ? рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ typescript.main рдФрд░ рдлрд╝реЛрд▓реНрдбрд░реНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рд╣рд┐рд╕реНрд╕рд╛?

рдпрджрд┐ рдореЙрдбреНрдпреВрд▓ рдФрд░ рдореЙрдбреНрдпреВрд▓ рдЙрдкрднреЛрдХреНрддрд╛ рджреЛрдиреЛрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВ, рддреЛ рдореБрдЭреЗ d.ts рдлрд╛рдЗрд▓реЗрдВ рд░рдЦрдиреЗ (рдФрд░ рд░рдЦрдиреЗ рдХреА рдЗрдЪреНрдЫрд╛) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддреА рд╣реИред

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдкреВрд░реНрд╡ рдЖрдпрд╛рдд рдХрд░рдиреЗ рд╕реЗ рдмрд╣реБрдд рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИ ред

рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп:
import * as lib from '../relative/path/to/typescriptFile.ts'

рдпрд╛:
import * as lib from '../../node_modules/myModule/index.ts'

рдмрд╕ TSC рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдиреЛрдб_рдореЙрдбреНрдпреВрд▓ рдкрде рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдЦреЛрдЬрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рджреЗрдВред рдФрд░ рдХрдо рд╕реЗ рдХрдо рдлрд╝реЛрд▓реНрдбрд░реНрд╕ рдХреЛ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВ (index.ts рдХреЗ рд╕рд╛рде) рддрд╛рдХрд┐ рджреВрд╕рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдореИрдВ рдХрд░ рд╕рдХреВрдВ:

import * as lib from 'myModule'

рдпрд╛ рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ "рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдкрдиреА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЖрдк рдХреЗрд╡рд▓ рдЙрдирдХреА рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ"?

@chanon рдЬрд┐рд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЖрдк рд░реЗрдЦрд╛рдВрдХрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рд╡рд╣ рдЕрдм рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рд╣реИред рдХреНрдпрд╛ рдЖрдк typescript@next рдПрдХ рдХреЛрд╢рд┐рд╢ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ?

#2338 рдХреЗ рдореВрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдиреЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдБрдЪреЗрдВ рдЬреЛрдбрд╝реАрдВ рдХрд┐ рдпрд╣ рдПрдХ .d.ts рд╣реИ, рдФрд░ рдпрд╣ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдмрддрд╛рдП рдЧрдП рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП рд╣реИред рдЖрдк рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рдХрд┐ рдЖрдкрдХреЗ рдкреИрдХреЗрдЬ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рддреНрдпреЗрдХ рдХрдВрдкрд╛рдЗрд▓рд░ рдЖрдордВрддреНрд░рдг рдкрд░ рдЖрдкрдХреЗ "рд╕реНрд░реЛрдд" рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВ, рдФрд░ рдЙрдирдХреЗ рдХрдВрдкрд╛рдЗрд▓рд░ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдЖрдк рдХреЗрд╡рд▓ рдЕрдкрдиреА рдЯрд╛рдЗрдкрд┐рдВрдЧ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрджрд┐ рдЖрдк рджреЛрдиреЛрдВ рдкреИрдХреЗрдЬ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдЖрдк рдЙрди рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░рддреЗ рд╣реБрдП рдРрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВред #5278 рдореЗрдВ рдкреНрд░рддрд┐рдмрдВрдз рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдХреГрдкрдпрд╛ рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯрд╛рдЗрдкрд┐рдВрдЧ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХреА рдкреЗрдЬ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ: https://github.com/Microsoft/TypeScript/wiki/Typings-for-npm-packages

рдЖрдкрдХреЗ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж @mhegazy! рдореИрдВ рдЗрд╕реЗ рдЖрдЬрдорд╛рдКрдВрдЧрд╛ред

@mhegazy рдмрд╕ typescript@next рдХреЗ рд╕рд╛рде рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!

рдпрд╣ рднреА рдЦреВрдм рд░рд╣реА!!

рдФрд░ рдЗрд╕ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рд╕рднреА рдХрд╛ рдзрдиреНрдпрд╡рд╛рдж: +1:

рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрд╕реЗ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдКрдкрд░ рджрд┐рдП рдЧрдП рд╕рдорд╕реНрдпрд╛ рдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ рдПрдХ рдЕрдкрдбреЗрдЯ рдЬреЛрдбрд╝рд╛ рд╣реИред

рдПрдХ рдЦрджрд╛рди рдореЗрдВ рдХрджрдо рд░рдЦрдиреЗ рдХреЗ рдЬреЛрдЦрд┐рдо рдкрд░, рдпрд╣ рдХреИрд╕реЗ рд╕рд╛рджреЗ-рдкреБрд░рд╛рдиреЗ npm рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ _don't_ рдХреЗ рдкрд╛рд╕ package.json рдореЗрдВ typings рд╕рдВрдкрддреНрддрд┐ рд╣реИ? tape рдпрд╛ get-parameter-names рдХреЗ рд╕рд╛рде typescript@next рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рд╕реЗ рдпрд╣ рдореЗрд░реЗ рдЪреЗрд╣рд░реЗ рдкрд░ рдЙрдбрд╝ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЙрди рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдпрд╣ рдирд╣реАрдВ рд╣реИ рд╕рдВрдкрддреНрддрд┐ред

рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╡реЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХреЛрдИ рдХрд╛рдо рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ рдФрд░ рдпрд╣ npm рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЗ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИред

@danpantry рдЖрдорддреМрд░ рдкрд░ рдЖрдк рдЙрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд▓рд┐рдЦреА рдЧрдИ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп .d.ts рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдмрд╣реБрдд рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП .d.ts рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реИрдВред рдПрдХ tsd рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ .d.ts рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреА рд╣реИред

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

рдЬреИрд╕реЗ
рд╡рд░ рдореЙрдбреНрдпреВрд▓рдирд╛рдо = рдЖрд╡рд╢реНрдпрдХрддрд╛ ("рдореЙрдбреНрдпреВрд▓рдирд╛рдо")

рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде ES6 рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп @chanon 'рдХреНрд▓рд╛рд╕рд┐рдХ' require рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реИрдХ рдХреА рддрд░рд╣ рдорд╣рд╕реВрд╕ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдзрдиреНрдпрд╡рд╛рджред рдореИрдВрдиреЗ tsd рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдирд┐рд╢реНрдЪрд┐рдд рд╣реВрдВ рдХрд┐ рдпрд╣ ES6 рдЖрдпрд╛рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдХрд╛рд░рдХ рд╣реЛрдЧрд╛ .. рдЬрдм рддрдХ рдореБрдЭреЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП /// <reference path=... рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ?

рд╣рд╛рдБ рдпрд╣ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛ рд╣реИ рд╣рдорд╛рд░реЗ рд▓рд┐рдП tsconfig.json рдлрд╛рдЗрд▓реЗрдВ рдФрд░ рдЕрдкрдиреА рд░реВрдЯ tsd.d.ts рдлрд╛рдЗрд▓ рдХреЛ рдкрд╣рд▓реА рдлрд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд░рдЦреЗрдВред

рдЖрдкрдХреЛ рдЗрд╕реЗ рдкрдврд╝рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИ, tsd рдФрд░ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЛ рдХрд╡рд░ рдХрд░рдирд╛ https://angularclass.com/the-state-of-typescript-packages/

@joewood рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рджреЗрдЦрд╛ рддреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд .d.ts рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рджрд┐рдиреЛрдВ рдореЗрдВ рдерд╛ред рдЙрддреНрдХреГрд╖реНрдЯ рд▓реЗрдЦ

@chanon @danpantry рдпрд╣ рдХреБрдЫ рд╣рдж рддрдХ рджреБрд░реНрднрд╛рдЧреНрдпрдкреВрд░реНрдг рд╣реИ рдХрд┐ import foo = require('foo') (foo рдХреЗ рд╕рд╛рде node_modules рдХреЗ рддрд╣рдд) рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬрдм foo's package.json рдореЗрдВ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред

@wmono рдареАрдХ рд╣реИ, рд╢рд╛рдпрдж рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ 0.80 рдпрд╛ рд╢рд╛рдпрдж рдкрд╣рд▓реЗ import foo = require('foo') рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗрд╡рд▓ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдореЙрдбреНрдпреВрд▓ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдерд╛ред рдпрджрд┐ рдЗрд╕рдореЗрдВ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдирд╣реАрдВ рд╣реЛрддреА рддреЛ рдЖрдк рдЗрд╕рдХреЗ рдмрдЬрд╛рдп var foo = require('foo') рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗред рддреЛ рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдЬреИрд╕рд╛ рд╣реИ рд╡реИрд╕рд╛ рд╣реА рд╣реИред

@chanon рдХреНрд╖рдорд╛ рдХрд░реЗрдВ; рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддреНрд░реБрдЯрд┐ред рдРрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдХрд┐ рд╡реЗрдмрдкреИрдХ "рдирдВрдЧреЗ" require рдХреЗ рд╕рд╛рде рд╕рдВрдШрд░реНрд╖ рдХрд░ рд░рд╣рд╛ рдерд╛ рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛ рдХрд╣реАрдВ рдФрд░ рдереАред

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдХреЛрдИ рд╕реНрдкрд╖реНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВ
var foo = require('foo');
рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рдмрд┐рдирд╛ рдПрдХ рдорд╛рдирдХ рдиреЛрдб_рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди
import foo from 'foo';
рдирд╣реАрдВ? рдХреНрдпрд╛ рдпрд╣ рд╕рд┐рд░реНрдл рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛? рдореИрдВ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рдмрд╛рдж рд╡рд╛рд▓рд╛ _ should't_ рдХрд╛рдо рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рддрд╛ - рдореБрдЭреЗ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдмрд╛рд╣рд░реА JS рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдЯрд╛рдЗрдкрд┐рдВрдЧ рд╣реИ рдпрд╛ рдирд╣реАрдВред

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдХреЛрдИ рд╕реНрдкрд╖реНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВ
рд╡рд░ рдлреВ = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('рдлреВ');
рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рдмрд┐рдирд╛ рдПрдХ рдорд╛рдирдХ рдиреЛрдб_рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди
'рдлреВ' рд╕реЗ рдлреВ рдЖрдпрд╛рдд рдХрд░реЗрдВ;
рдирд╣реАрдВ? рдХреНрдпрд╛ рдпрд╣ рд╕рд┐рд░реНрдл рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛? рдореИрдВ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рдмрд╛рдж рд╡рд╛рд▓реЗ рдХреЛ рдХрд╛рдо рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП - рдореБрдЭреЗ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдмрд╛рд╣рд░реА рдЬреЗрдПрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдЯрд╛рдЗрдкрд┐рдВрдЧ рд╣реИ рдпрд╛ рдирд╣реАрдВред

@harangue рдХреНрдпреЛрдВрдХрд┐ var require рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдореЙрдбреНрдпреВрд▓ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рдерд╛ (рдпрд╣ рдПрдХ commonjs рд╣реИ рдФрд░ рд╕реВрдЪреА рдореЗрдВ рдЕрдиреНрдп рдореЗрдВ amd рд╢рд╛рдорд┐рд▓ рд╣реИ) рдЬреЛ рдХрд┐ рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдБрдЪ рдкреНрд░рдгрд╛рд▓реА_ рдХреЗ рдмрд╛рд╣рд░ _ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рдерд╛ред рдпрджрд┐ рдХреЛрдИ рдЯрд╛рдЗрдк рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рддреЛ рд╡рд╣ import require рдХрд░реЗрдЧрд╛ред ES6 рд▓реЗрдиреЗ рдХреЗ рд╕рд╛рде: рд╣рдереМрдбрд╝рд╛: рдФрд░ рдХрд╣ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдПрдХ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ (: рдЕрдВрдЧреВрдареА :) рдЙрди рд╕рднреА рдкрд░ рд╢рд╛рд╕рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ... рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рдореЙрдбреНрдпреВрд▓ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдмреЙрдХреНрд╕ рдХреЗ рдмрд╛рд╣рд░ рдЯрд╛рдЗрдк рдЪреЗрдХрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИ: рдЧреБрд▓рд╛рдм:

@рдмрд╕рд░рдд рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдЖрдЗрдХрди рднреА рдорджрджрдЧрд╛рд░ рдереЗред ;) рдореБрдЭреЗ рдЕрднреА рднреА рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ ES6 рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЕрдирд┐рд╡рд╛рд░реНрдп рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдБрдЪ рдХреНрдпреЛрдВ рдХрд░рддрд╛ рд╣реИред рд╕рдВрдХрд▓рдХ рдХреЛ рдпрд╣ рдХрд╣рдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рд╣реИ - "рдУрд╣, рдореБрдЭреЗ рдЙрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдбреЗрдЯрд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рд╡реИрд╕реЗ рднреА рдЖрдпрд╛рдд рдХрд░реВрдВрдЧрд╛"ред рдпрд╣ (рдмрд▓реНрдХрд┐ рд╕рд╣рдЬ рдЬреНрдЮрд╛рди рдпреБрдХреНрдд, IMO) рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдХреНрдпрд╛ рджреБрд╖реНрдкреНрд░рднрд╛рд╡ рд╣реЛрдВрдЧреЗ?

рдпрд╣ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ (рдЬреИрд╕реЗ рдореИрдВ) ES6 рд╕реЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЖ рд░рд╣рд╛ рд╣реВрдВред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ ES6 рдореЙрдбреНрдпреВрд▓ рдЖрдпрд╛рдд рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЙрд╕реА рддрд░рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрдлрд╕реЛрд╕ рдХрд┐ рдпрд╣ рдЕрдзрд┐рдХрд╛рдВрд╢ npm рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдХреБрд▓ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ ...

рд▓реЗрдХрд┐рди рдЕрдлрд╕реЛрд╕ рдХрд┐ рдпрд╣ рдЕрдзрд┐рдХрд╛рдВрд╢ npm рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдХреБрд▓ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ ...

@teohhanhui рдореИрдВ рдЙрд▓рдЭрди рдореЗрдВ рд╣реВрдБред рдХреНрдпрд╛ рдЖрдк рдПрдХ рдареЛрд╕ рдЙрджрд╛рд╣рд░рдг рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдХреНрдпрд╛ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЖрдкрдиреЗ рдХрд┐рд╕ рдХреЛрдб рдХреЛ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИред рдпрд╣ рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рд╣реИ рддрд╛рдХрд┐ рдореИрдВ рдЖрдкрдХреА рдорджрдж рдХрд░ рд╕рдХреВрдВ :рдЧреБрд▓рд╛рдм:

import koa from 'koa';

Cannot find module 'koa'. (2307) рджреЗрддрд╛ рд╣реИ рдЬрдм target es6 рд╣реИ

koa (рдмреЗрд╢рдХ) node_modules рдореЗрдВ рд╣реИ

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХреЛрдЖ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдкреНрд░рдХрд╛рд╢рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рдЙрди рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬреЛ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде .d.ts рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреЗ package.json рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддреЗ рд╣реИрдВред рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдЖ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдк рдХреА рдЧрдИ рдЙрди рдкреНрд░рдХрд╛рд░ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред

рдпрд╣ рдПрдХ рдЦрд░рд╛рдм рдирд┐рд░реНрдгрдп рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдИ import рдХрдерди рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдпрд╣ рд╕рд╛рджреЗ ES6 рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред (рд╣рд╛рдВ, рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдЕрдзрд┐рдХрд╛рдВрд╢ npm рдкреИрдХреЗрдЬ рдХреЙрдордирдЬреЗрдПрд╕ рдореЙрдбреНрдпреВрд▓ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдЙрдирдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЕрднреА рднреА рд╕рдордЭрджрд╛рд░реА рдХреА рдмрд╛рдд рд╣реЛрдЧреАред)

рдореИрдВ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдирдпрд╛ рд╣реВрдВ рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╢рд╛рдпрдж рдЧрд▓рдд рд╕рдордЭ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЯрд╛рдЗрдк рдкрд░рд┐рднрд╛рд╖рд╛рдПрдВ рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд╣реАрдВ рд╣реИрдВ? рдореИрдВ рдЯрд╛рдЗрдк рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдмрд┐рдирд╛ рдкреИрдХреЗрдЬ рдЖрдпрд╛рдд рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛? рдореИрдВ рдЯрд╛рдЗрдк рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рджреЗрдЦрдиреЗ/рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рд▓реАрдЧреЗрд╕реА TS рдореЙрдбреНрдпреВрд▓ рдЖрдпрд╛рдд рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ es6 рд▓рдХреНрд╖реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИред

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

рдпрд╣ рдЧрд▓рдд рд╣реИред рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рдЯрд╛рдЗрдк рдХрд░реЗрдВ _in рдЖрдкрдХрд╛ рдЕрдкрдирд╛ рдХреЛрдб_ рдирд┐рд╣рд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ "рдЗрд╕реЗ рд╕рдордЭреЗрдЧрд╛"ред рдЖрдк рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрднреА рднреА рдХрд┐рд╕реА рддреГрддреАрдп-рдкрдХреНрд╖ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдкрд╛рд╕ рдирд╣реАрдВ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдХрдВрдкрд╛рдЗрд▓рд░ рдХрднреА рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рд╡реЗ рдкреНрд░рдХрд╛рд░ рдХреНрдпрд╛ рд╣реИрдВред рдпрджрд┐ рдЖрдк рддреГрддреАрдп-рдкрдХреНрд╖ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рдФрд░ tsd рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реАрдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред

@basarat рдХреЗ рдЗрд╕ рдЬрд╡рд╛рдм рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

http://stackoverflow.com/a/27434010/1529493

рдЯрд╛рдЗрдк рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдЧреИрд░-рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЗрд╕ рддрд░рд╣ рдЖрдпрд╛рдд рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рд╡реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: const koa = require(тАШkoaтАЩ)

21 рдЬрдирд╡рд░реА 2016 рдХреЛ 14:47 рдмрдЬреЗ, рддреЗрд╣ рд╣рд╛рди рд╣реБрдИ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдЯрд╛рдЗрдк рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЗрд╕ рддрд░рд╣ рдЖрдпрд╛рдд рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub https://github.com/Microsoft/TypeScript/issues/247#issuecomment -173574234 рдкрд░ рджреЗрдЦреЗрдВред

@bgrieder рдореИрдВ ES6 рдЖрдпрд╛рдд рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рдЬрд┐рдХреНрд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

(рдЕрд░реНрдерд╛рдд рдЖрдк рдХреЙрдордирдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ), рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдмрд╕рд░рдд рдЙрддреНрддрд░ рдХреЗ declare var рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

21 рдЬрдирд╡рд░реА 2016 рдХреЛ 14:48 рдмрдЬреЗ рдмреНрд░реВрдиреЛ рдЧреНрд░реАрдбрд░ рдмреНрд░реВрдиреЛред [email protected] рдиреЗ рд▓рд┐рдЦрд╛:

рд╡реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: const koa = require(тАШkoaтАЩ)

21 рдЬрдирд╡рд░реА 2016 рдХреЛ 14:47 рдмрдЬреЗ, рддреЗрд╣ рд╣рд╛рди рд╣реБрдИ < рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com [email protected] > рдиреЗ рд▓рд┐рдЦрд╛:

рдЯрд╛рдЗрдк рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЗрд╕ рддрд░рд╣ рдЖрдпрд╛рдд рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub https://github.com/Microsoft/TypeScript/issues/247#issuecomment -173574234 рдкрд░ рджреЗрдЦреЗрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрджреНрджрд╛ рдмрдирд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рдХреНрд╖реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рд╡реИрдз рдЬреЗрдПрд╕ рд╡реИрдз рдЯреАрдПрд╕ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред ES6 рдореЙрдбреНрдпреВрд▓ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд▓рд┐рдП, TS рдХреЛ рдЗрд╕реЗ рдЯрд╛рдЗрдк рдбрд┐рдХреНрд▓реЗрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдпрд╛ рдЙрд╕рдХреЗ рдмрд┐рдирд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдкреНрд░рдХрд╛рд░ рдХреА рдШреЛрд╖рдгрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ import рдХрдерди рдХреЛ рдХреЗрд╡рд▓ any рдкрд░ рд╣рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореИрдВ рдЙрд╕рд╕реЗ рдкреВрд░реНрдгрддрдпрд╛ рд╕рд╣рдордд рд╣реВрдБред

@ рдЬреЛ рд╡реБрдб

21 рдЬрдирд╡рд░реА 2016 рдХреЛ 14:52 рдмрдЬреЗ, рдЬреЛ рд╡реБрдб рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрджреНрджрд╛ рдмрдирд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рдХреНрд╖реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рд╡реИрдз рдЬреЗрдПрд╕ рд╡реИрдз рдЯреАрдПрд╕ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред ES6 рдореЙрдбреНрдпреВрд▓ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд▓рд┐рдП, TS рдХреЛ рдЗрд╕реЗ рдЯрд╛рдЗрдк рдбрд┐рдХреНрд▓реЗрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдпрд╛ рдЙрд╕рдХреЗ рдмрд┐рдирд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдкреНрд░рдХрд╛рд░ рдХреА рдШреЛрд╖рдгрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдПрдХ рдЖрдпрд╛рдд рд╡рд┐рд╡рд░рдг рдХрд┐рд╕реА рдХреЛ рднреА рд╣рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореИрдВ рдЙрд╕рд╕реЗ рдкреВрд░реНрдгрддрдпрд╛ рд╕рд╣рдордд рд╣реВрдБред

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub https://github.com/Microsoft/TypeScript/issues/247#issuecomment -173575301 рдкрд░ рджреЗрдЦреЗрдВред

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

  • рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рдкрд░ рдирд╣реАрдВ рд╣реИрдВ
  • ./typings рдлрд╝реЛрд▓реНрдбрд░ рдирд╣реАрдВ рд╣реИ
  • рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕реЗ рдЦреБрдж рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИ

рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдореБрдЭреЗ рдХрд┐рд╕реА рдРрд╕реА рдЪреАрдЬ рд╕реЗ рд▓рдбрд╝рдирд╛ рдирд╣реАрдВ рдкрдбрд╝реЗрдЧрд╛ рдЬреЛ рдореЗрд░реЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛред

@danpantry , рдХреНрдпреЛрдВ рди рдХреЗрд╡рд▓ рдЕрдкрдиреЗ рд▓рд┐рдм рдПрдВрдЯреНрд░реА рдкреЙрдЗрдВрдЯ рдХреЛ рдХрд┐рд╕реА рдХреЗ рд░реВрдк рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд░реЗрдВ, рдФрд░ рдХрдВрдкрд╛рдЗрд▓рд░ рдЗрд╕рд╕реЗ рд╕рдВрддреБрд╖реНрдЯ рд╣реЛрдЧрд╛:

declare var $: any;

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

рд░рдирдЯрд╛рдЗрдо рдореБрджреНрджреЛрдВ рдХреЛ рдХрд┐рд╕реА рдХрд╛ рдзреНрдпрд╛рди рдирд╣реАрдВ рдЬрд╛рдиреЗ рджреЗрдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдореИрдВ рд╕рдВрдХрд▓рдХ рдХреЛ рдЬрд▓реНрджреА рдФрд░ рдЬреЛрд░ рд╕реЗ (рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░) рд╡рд┐рдлрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред "рдпрд╣ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ, рдФрд░ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ" рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ declare var foo: any рд▓рд╛рдЗрди рд░рдЦрдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред

рдЬрдм рдХреЛрдИ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ рддреЛ ES6 рдЖрдпрд╛рдд рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреА рдЕрдиреБрдорддрд┐ рдХреНрдпреЛрдВ рди рджреЗрдВ, рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХрдВрдкрд╛рдЗрд▓рд░ рдЪреЗрддрд╛рд╡рдиреА рд╣реИ рдХрд┐ рдЖрдпрд╛рдд рдиреЗ ┬лрдЙрддреНрд╕рд░реНрдЬрди рд░реЛрдХрдерд╛рдо┬╗ рддреНрд░реБрдЯрд┐ рдХреЗ рдмрдЬрд╛рдп any рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд┐рдпрд╛ рд╣реИ?

21 рдЬрдирд╡рд░реА 2016 рдХреЛ 18:42 рдмрдЬреЗ рдПрд╕. рдХреНрд░рд┐рд╕ рдХреЛрд▓рдмрд░реНрдЯ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдореИрдВ рд╕рдВрдХрд▓рдХ рдХреЛ рдЬрд▓реНрджреА рдФрд░ рдЬреЛрд░ рд╕реЗ (рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░) рд╡рд┐рдлрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛, рдмрдЬрд╛рдп рд░рдирдЯрд╛рдЗрдо рдореБрджреНрджреЛрдВ рдХреЛ рдХрд┐рд╕реА рдХрд╛ рдзреНрдпрд╛рди рдирд╣реАрдВ рдЬрд╛рдиреЗ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдПред рдореИрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ var foo рдШреЛрд╖рд┐рдд рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛: "рдпрд╣ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ, рдФрд░ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ" рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рднреА рдкрдВрдХреНрддрд┐ред

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub https://github.com/Microsoft/TypeScript/issues/247#issuecomment -173649845 рдкрд░ рджреЗрдЦреЗрдВред

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

^^^ рдпрд╣ рдПрдХ рд╣рдЬрд╛рд░ рдмрд╛рд░ред рдЗрд╕ рдмрд╛рдд рдХрд╛ рдХреЛрдИ рд╕рдВрдХреЗрдд рдирд╣реАрдВ рдерд╛ рдХрд┐ рдЬрдм рдореИрдВ рдкрд╣рд▓реА рдмрд╛рд░ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЖрдпрд╛ рддреЛ рдореИрдВ рдХреБрдЫ рдЧрд▓рдд рдХрд░ рд░рд╣рд╛ рдерд╛ред рдЖрдЦрд┐рд░ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рдерд╛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреБрдЧрд▓рд┐рдВрдЧ рдореЗрдВ рдХреБрдЫ рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧрд╛ (рд╕рдВрдпреЛрдЧ рд╕реЗ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдПрдХрдорд╛рддреНрд░ рдЦреЛрдЬ рдпреЛрдЧреНрдп рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬреЛ рдЗрд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд░рддрд╛ рд╣реИ)ред рдпрд╣ рдЗрддрдирд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╣реИред рдФрд░ рдХреЛрдгреАрдп 2 рдХреЗ рд╕рд╛рде рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдореБрдЦреНрдпрдзрд╛рд░рд╛ рдореЗрдВ рд▓рд╛рдиреЗ рд╕реЗ рдореИрдВ рдХреЗрд╡рд▓ рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ рдХрд┐рддрдиреЗ рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдкреНрд░рд╢реНрди рдЖрдПрдВрдЧреЗред

рдЦрд░рд╛рдм рддреНрд░реБрдЯрд┐ рдкреНрд░рдмрдВрдзрди рд╡рд┐рд╡рд░рдг рд╕реЗ рдмрд╣реБрдд рд╕рд╣рдордд рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдЖрдпрд╛рдд рдХрд░реЗрдВ!

@sccolbert рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдПрдХ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╡рд┐рдлрд▓рддрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП - рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдЪреЗрддрд╛рд╡рдиреА, рд╢рд╛рдпрдж

рдореИрдВ @mhegazy рдФрд░ @sccolbert рд╕реЗ рд╕рд╣рдордд рд╣реВрдВред

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

рд╣рд╛рдп рджреЛрд╕реНрддреЛрдВ,
рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдореБрдЭреЗ рдкрд╛рдЧрд▓ рдХрд░ рджреЗрддрд╛ рд╣реИред рдкрд░рд┐рднрд╛рд╖рд╛ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЕрджреНрдпрддрд┐рдд рдирд╣реАрдВ рд╣реИрдВ рдпрд╛ package.json рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдирд╣реАрдВ рд╣реИрдВред
рдЕрдВрдд рдореЗрдВ TypeScript JavaScript $ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдЬрдм рддрдХ рд╣рдо рд╕рднреА рдЗрд╕ рднрд╛рд╖рд╛ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рддреЗ рд╣реИрдВ, рддрдм рддрдХ pls рджреБрдирд┐рдпрд╛ рдХреЗ рдмрд╛рдХреА рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЗ рдкреНрд░рддрд┐ рд╡рд┐рдирдореНрд░ рд░рд╣реЗрдВ рдЬреЛ рдЖрдкрдХреА рдЬреИрд╕реА рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдЯреНрд░рд╛рдВрд╕рдкрд┐рд▓реНрдб рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдорд╛рддреГрднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред .
рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ TypeScript JavaScript рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВ рд░рд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ (рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ "рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП" рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ, рдЕрднреА рддрдХ рдирд╣реАрдВ рд╣реИ) рдпрд╛ рдЕрд▓рдЧ рдЬреАрд╡рди рдЬреАрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рджреВрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк рдореБрдЭреЗ рдХреБрдЫ рдФрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд░реЗрдЧрд╛ред
рдпрд╣ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ .tsconfig рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдЧрд╛, рдЙрд╕рдХреЗ рд▓рд┐рдП рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рд╕рдЦреНрдд рдЖрдпрд╛рдд рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред
рд╕реАрдЖрдИ рдЬрд╝реЛрд░рджрд╛рд░ рд╢рд┐рдХрд╛рдпрдд рдХреЗ рд▓рд┐рдП рдЙрд╕рдХреЗ рд▓рд┐рдП JavaScript рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдврд╛рдВрдЪреЗ рд╣реИрдВред рд╡реИрд╕реЗ рднреА, рдЖрдкрдХреЛ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдЯрд╛рдЗрдк рдЪреЗрдХрд┐рдВрдЧ рдирд╣реАрдВ рдорд┐рд▓реЗрдЧреА, рдЦрд░рд╛рдм рдЖрдпрд╛рдд рдЬрд╛рдВрдЪ рдХрдо рдорд╣рддреНрд╡рдкреВрд░реНрдг рдореБрджреНрджрд╛ рд╣реИред
рд╢реБрднрдХрд╛рдордирд╛рдПрдВред

@ devel-pa, рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЖрдкрдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрдВ рдХрд┐ рд╕рдВрдХрд▓рдХ рдХреЛ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдЖрдпрд╛рдд рдХреНрдпрд╛ рд╣реИред рдЖрдпрд╛рдд рдХреЗ рдмрд╛рдж рдХреЗ рдХрд┐рд╕реА рднреА рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдБрдЪ рдирд╣реАрдВ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред

рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рд╕реЗ рдХрд┐рд╕реА рднреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдЗрди "рдЕрдЬреНрдЮрд╛рдд" рдХреЛ рдЪреБрдкрдЪрд╛рдк рдЖрдкрдХреЗ рдкреВрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдзрдХреЗрд▓ рджреЗрддрд╛ рд╣реИред рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдмрд┐рдирд╛, рд╕рдВрдХрд▓рдХ рдЖрдкрдХреЛ рдЪреЗрддрд╛рд╡рдиреА рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ рдХрд┐ рдХреНрдпрд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ рдФрд░ рдХреНрдпрд╛ рдирд╣реАрдВред рдФрд░ рд╡рд╣ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдкреВрд░рд╛ рдмрд┐рдВрджреБ рд╣реИ :)

рдЙрддреНрдкрдиреНрди рдЬреЗрдПрд╕ рдХреЗ рд▓рд┐рдПред TS рдкреНрд░рдХрд╛рд░ рдХреА рдХреЛрдИ рднреА рддреНрд░реБрдЯрд┐ рдЖрдкрдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рд╕реЗ рдирд╣реАрдВ рд░реЛрдХрддреА рд╣реИред рдпрджрд┐ рдЖрдк рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдмрд╕ рдЙрди рд╕рднреА рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░реЗрдВред рдХрдВрдкрд╛рдЗрд▓рд░ рдЕрднреА рднреА рдЖрдкрдХреА рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓реА .js рдлрд╛рдЗрд▓реЗрдВ рдЬреЗрдирд░реЗрдЯ рдХрд░рддрд╛ рд╣реИред

рд▓рд╛рдкрддрд╛ рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдЙрдиреНрд╣реЗрдВ рдШреЛрд╖рд┐рдд рдХрд░рдирд╛ рд╣реИред рдЖрдкрдХреЗ рдкрд╛рд╕ рдШреЛрд╖рд┐рдд рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдкреВрд░реНрдг рдЖрдХрд╛рд░ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдХреЗрд╡рд▓ рдирд╛рдо рд╣реИред рдпрд╣ рд╕рдВрдХрд▓рдХ рдХреЛ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдореЙрдбреНрдпреВрд▓ "myLibrary" рд╣реИ, рдпрд╣ рдЖрдкрдХреЛ рдореЙрдбреНрдпреВрд▓ рдирд╛рдореЛрдВ рдореЗрдВ рдЯрд╛рдЗрдкреЛ рдХреЗ рд▓рд┐рдП рдЪреЗрддрд╛рд╡рдиреА рджреЗ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд╕реЗ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдХреЛрдИ рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

declare module "myLibrary" {
    var a: any;
    export = a;
}

рдЬреИрд╕рд╛ рдХрд┐ #6615 рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЬрд▓реНрдж рд╣реА рдЗрд╕рдХреЗ рдЫреЛрдЯреЗ рд░реВрдк рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рдореИрдВ TS рдореЗрдВ рдирдП рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдБ рднреНрд░рдо рдХреЛ рд╕рдордЭ рд╕рдХрддрд╛ рд╣реВрдБред рдпрджрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ JS рдореЗрдВ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ ES6 рдореЙрдбреНрдпреВрд▓ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХреЗрд╡рд▓ TS рдореЗрдВ рдХреНрдпреЛрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ? import from рд╕реЗ рдЕрдзрд┐рдХ var x = require рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рдХреНрдпрд╛ рд╣реИ - рдЬрд┐рд╕реЗ _is_ рдПрдХ рдирд┐рд╣рд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдореВрд▓ рд░реВрдк рд╕реЗ рдЖрдпрд╛рдд рдПрдХ рдЯреАрдПрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреАрд╡рд░реНрдб рдерд╛, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рддрд╛рддреНрдкрд░реНрдп рдпрд╣ рдерд╛ рдХрд┐ рдбреЗрд╡рд▓рдкрд░ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рдПред рдЕрдм рдЬрдмрдХрд┐ рдпрд╣ TS рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдзрд╛рд░рдгрд╛ рдмрдирд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИред

рдирд┐рд╣рд┐рдд-рдХреЛрдИ рднреА рддреНрд░реБрдЯрд┐ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдШреЛрд╖рдгрд╛рдУрдВ рдкрд░ рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди рдПрдХ рдЕрдШреЛрд╖рд┐рдд рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрдЬ рднреА рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реИред Jquery рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрднреА рднреА declare var $; рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╕рдВрдХрд▓рдХ рдпрд╣ рдЬрд╛рди рд╕рдХреЗ рдХрд┐ рдЖрдкрдХрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ $ рдирд╛рдордХ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ рдФрд░ рди рдХреЗрд╡рд▓ рдЗрд╕реЗ рдорд┐рд╕-рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдХрдореЛрдмреЗрд╢ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╣реИ, рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ "myLibrary" рдирд╛рдордХ рдПрдХ рдореЙрдбреНрдпреВрд▓ рд╣реИ рдФрд░ рдпрд╣ рдорд┐рд╕-рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рдирд╛рдо рдирд╣реАрдВ рд╣реИред рддреЛ рдмрд╕ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдШреЛрд╖рдгрд╛ рдЬреЛрдбрд╝реЗрдВред

рдХрд┐рд╕реА рднреА рджрд░ рдкрд░, #6615 рдХреЛ рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕рднреА рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП declare module "*"; рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдЯреВрд▓рд┐рдВрдЧ рд╕реЗ рдХреЛрдИ рдорджрдж рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣реА рд╣реИ, рдФрд░ рдЖрдк рдЦреБрдж рдХреЛ рдПрдХ рджрд░реНрджрдирд╛рдХ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╕рдВрдХреНрд░рдордг рдмрд╛рдж рдореЗрдВ рдЬрдм рдЖрдк рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВред

@mhegazy рдореИрдВ рдЖрдкрдХреЗ рддрд░реНрдХ рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рддрд░реНрдХ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рд╣реИ

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

рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рдореЙрдбреНрдпреВрд▓ (рдкреИрдХреЗрдЬ.json рдореЗрдВ typings рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╡рд╛рд▓реЗ) рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рддрд┐ рдФрд░ рднреА рдЦрд░рд╛рдм рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рдареАрдХ рд╕реЗ рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рд╣реБрдЖ рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдЙрди рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

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

(рдПрдХ рдкрдХреНрд╖ рдХреЗ рд░реВрдк рдореЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ typescriptlang.org рд╣реЛрдо рдкреЗрдЬ рдкрд░ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдПрдХ 'рд╕реБрдкрд░рд╕реЗрдЯ' рд╣реИ, рдФрд░ рдЖрдИрдПрдордПрдЪрдУ рдХрд┐рд╕реА рднреА рд╡реИрдз рдИрдПрд╕ 6 рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдмрд╕ рдирд┐рдЧрд▓ рд▓рд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП)

рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдФрд░ рдХрд╛рд░реНрдкреЗрдЯ рдХреЗ рдиреАрдЪреЗ рдХрдЪрд░рд╛ рдЫрд┐рдкрд╛рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдмреБрд░рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (ES6 рд╕реБрдкрд░ рдХреЗ рдмрдЧрд▓ рдореЗрдВ)ред
рдореИрдВ рд╣рд░ рд╕рдордп JS libs рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдЖрдорддреМрд░ рдкрд░ рдореЗрд░реЗ рдХрд╛рдо рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдФрд░ рдШрд░ рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЛрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рдеред 90% рдЯрд╛рдЗрдк рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВ рдпрд╛ рдкреБрд░рд╛рдиреЗ рдбреАрдлрд╝ рд╣реИрдВ, 9% рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЯрд╛рдЗрдк рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВ (рдХреНрдпреЛрдВрдХрд┐ рдХрдВрдкрд╛рдЗрд▓рд░ рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдбреАрдлрд╝ рдмрдирд╛рдирд╛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ)ред рди рддреЛ рдореЗрд░реЗ рдкрд╛рд╕ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ def рд╣реИ, рдЙрд╕реА рдкрд┐рдЫрд▓реЗ рдХрд╛рд░рдг рд╕реЗ рдФрд░ рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ рдХрд┐ рдореЗрд░рд╛ рд▓рдХреНрд╖реНрдп рдЬреЗрдПрд╕ рд╣реИ, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдореБрдЭреЗ рдореВрд▓ рднрд╛рд╖рд╛ рдХреА рдкрд░рд╡рд╛рд╣ рд╣реИред
рд╕рд╛рде рд╣реА, рдореИрдВрдиреЗ рдХрд╛рд░рдг рджреЗрдЦрд╛ рд╣реИ рдХрд┐ 'рдЕрдЬреНрдЮрд╛рдд' libs рд╣реИрдВред рдирд╣реАрдВ, рдмрд┐рд▓рдХреБрд▓ рдирд╣реАрдВ, рдпрджрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдФрд░ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЙрдирд╕реЗ рдкрд░реЗрд╢рд╛рди рдХреНрдпреЛрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рд╕рд╛рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдореИрдВ рд╕реНрдЯреИрдХ рдореЗрдВ рдХреНрдпреЛрдВ рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реВрдВред рдЪреЗрддрд╛рд╡рдиреА рдФрд░ рдкрд░реАрдХреНрд╖рдг (рдпрджрд┐ рдпрд╣ рдореМрдЬреВрдж рд╣реИ) рдЙрд╕рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВред
рдХреГрдкрдпрд╛, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд╣рд▓реЗ, рдпрд╣ рд▓рдХреНрд╖реНрдп рдФрд░ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рд╣реИред TS рд╕рдВрдХрд▓рди рд╕рдордп рдкрд░ рдмреЗрд╣рддрд░ рдХреЛрдбрд┐рдВрдЧ рдФрд░ рдЯрд╛рдЗрдк рдЪреЗрдХ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рдПрдХреНрд╕реЗрд╕рд░реА рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЙрд╕рдХреЗ рд▓рд┐рдП рдЬреЛ рд╣рдо рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред рдмрд╛рдХреА рдХреЛрдИ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡реНрдпрд╡рд╕рд╛рдп рдирд╣реАрдВ рд╣реИред
рдореИрдВ рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ nmps peerDependencies рдХреЗ рднреА рдЦрд┐рд▓рд╛рдл рдерд╛, рдореИрдВ рд╡рд╣ рд╣реВрдВ рдЬрд┐рд╕рдиреЗ рдЪреБрдирд╛ рд╣реИ, рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдирд╣реАрдВред рдЕрдирд┐рд╡рд╛рд░реНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ, рдмреЗрдмреАред

рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕ рдХреЗ рдмрдЬрд╛рдп рдЬреЗрдПрд╕рдкреАрдПрдо рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рдореЙрдбреНрдпреВрд▓ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдореБрдЭреЗ рдПрдХ рдореМрдЬреВрджрд╛ рдЯрд┐рдХрдЯ рдорд┐рд▓рд╛ рд╣реИ -> https://github.com/Microsoft/TypeScript/issues/6012

рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП SystemJS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдореИрдВ рдиреЛрдб рдореЙрдбреНрдпреВрд▓ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХреЗ рд╕рд╛рде рдмрд╕ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛:

рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЬрдмрдХрд┐ рдиреЛрдб (рдФрд░ рдЗрд╕рд▓рд┐рдП рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ) рд╕рдордЭрддрд╛ рд╣реИ рдХрд┐ рдкрде рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рдмрдЬрд╛рдп index.ts рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ, рд╕рд┐рд╕реНрдЯрдордЬреЗрдПрд╕ рдРрд╕рд╛ рдХреБрдЫ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╡реИрдз рдЯреАрдПрд╕ рдХреЛрдб рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣реЗрдЧрд╛ред

рдпрд╣ рдиреЛрдб рдореЙрдбреНрдпреВрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рд╕рдЪ рд╣реИ рдЬрд┐рд╕рдореЗрдВ index.ts/js рдПрдВрдЯреНрд░реА рдкреЙрдЗрдВрдЯ рд╣реЛрддрд╛ рд╣реИ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ package.json main рдкреНрд░реЙрдкрд░реНрдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдереЛрдбрд╝рд╛ рдЖрд╕рд╛рди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ SystemJS рдореЗрдВ рдкреИрдХреЗрдЬ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЬреЛрдбрд╝рдирд╛ рдЖрд╕рд╛рди (рд╣рд╛рд▓рд╛рдВрдХрд┐ рджреЛрд╣рд░рд╛рд╡) рд╣реИред рдордирдорд╛рдиреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдпрд╣ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред

рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╕рдорд╛рдзрд╛рди рдХреНрдпрд╛ рд╣реИ?

JSPM рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдореЙрдбреНрдпреВрд▓ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред рдЗрд╕реЗ https://github.com/Microsoft/TypeScript/issues/6012 рджреНрд╡рд╛рд░рд╛ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдкрде рдореИрдкрд┐рдВрдЧ рдореЙрдбреНрдпреВрд▓ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рд╕рдорд░реНрдерди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рд╣реИ, рджреЗрдЦреЗрдВ https://github.com/Microsoft/TypeScript-Handbook/blob/release-2.0/pages/Module%20Resolution.md#path -mapping

рдЙрдкрд░реЛрдХреНрдд рдирд┐рд░реНрджреЗрд╢ рдПрдХ рд╢реБрд░реБрдЖрдд рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреЛ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ... рдЖрдкрдХреЛ рдЬреЛрдбрд╝рдирд╛ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИ
<Folder Include="node_modules" />
рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП .njsproj

рдФрд░ рдЬрд╛рдирдХрд╛рд░реА

рдореИрдВ рдЧрд▓реНрдк рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдорд╛рдг рдХрд░ рд░рд╣рд╛ рдерд╛, рдФрд░ .nsproj рдореЗрдВ TypeScriptCompileBlocked рдерд╛ред рд╡реАрдПрд╕ 15 рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 5 рдореЗрдВ рдбрд┐рдмрдЧрд┐рдВрдЧ рдмреНрд░реЗрдХрдкреНрд╡рд╛рдЗрдВрдЯ рдореЗрдВ рдореБрджреНрджреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдореБрдЭреЗ "рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдлреНрд░реЗрдо рдирд╣реАрдВ" рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рдереА) рдФрд░ рдЬрд┐рди рдореБрджреНрджреЛрдВ рдкрд░ рдореИрдВ рдЗрдВрдЯреЗрд▓рд┐рдЬреЗрдВрд╕ рдХреЗ рд╕рд╛рде рдерд╛, рдореБрдЭреЗ рдЬреЛрдбрд╝рдирд╛ рдкрдбрд╝рд╛ рдХреЛ .njsproj. рд╡рд╣ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдереА рдЬрдм рдореИрдВрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЧрд┐рдЯ-рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣реА рдореЗрд░рд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рд╣реИ рдХрд┐ рдХреНрдпреЛрдВ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдиреЗ рдЗрд╕реЗ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рджрд┐рдпрд╛ (рд╢рд╛рдпрдж рдЗрд╕рдореЗрдВ рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЕрдкрд╡рд╛рдж рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?)

рдбрд┐рдмрдЧрд┐рдВрдЧ рдФрд░ рдЗрдВрдЯреЗрд▓рд┐рдЬреЗрдВрд╕ рджреЛрдиреЛрдВ рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рдкрд░реЗ, рдореИрдВрдиреЗ рдЗрдВрдЯреЗрд▓рд┐рдЬреЗрдВрд╕ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЙрд╕реА рд╕рдЯреАрдХ рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдкрд░реЗ рджреЗрдЦрдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛, рдЬреЛ рдореИрдВрдиреЗ рдЗрд╕реЗ рдмрдирд╛рддреЗ рд╕рдордп рдЧрд▓реНрдк рд╕реЗ рджреЗрдЦрд╛ рдерд╛, рдЬрд┐рд╕рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХреА рдЬрд╛рддреА рд╣реИред

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

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

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

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

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

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

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