Rollup-plugin-typescript2: рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдШреЛрд╖рдгрд╛рдПрдВ рдХреНрдпреЛрдВ рд╣рдЯрд╛рдИ рдЬрд╛рддреА рд╣реИрдВ?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 19 рдЬреБрд▓ре░ 2017  ┬╖  19рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: ezolenko/rollup-plugin-typescript2

рдирдорд╕реНрддреЗ,

рдореИрдВ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд▓рд┐рдП рд╡реЗрдмрдкреИрдХ рд╕реЗ рд░реЛрд▓рдЕрдк рдореЗрдВ рдЬрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдореБрдЭреЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдШреЛрд╖рдгрд╛рдПрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдкрд░реЗрд╢рд╛рдиреА рд╣реЛ рд░рд╣реА рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрдВрдЯрд░рдлреЗрд╕ рдШреЛрд╖рдгрд╛рдПрдВ рдирд┐рд░реНрдпрд╛рдд рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИрдВ, рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬрдм рдореЗрд░реЗ рдкрд╛рд╕ рдЪреАрдЬреЗрдВ рд╣реИрдВ:

import { RenderedCell } from "../RenderedCell";

export default class MergedCell implements RenderedCell {
    // ...
}

рдореБрдЭреЗ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ рдХрд┐ RenderedCell рдирд╣реАрдВ рдорд┐рд▓рд╛ред
рдореИрдВрдиреЗ рд╡реЗрдмрдкреИрдХ рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛, рдФрд░ рдореИрдВ рдпрд╣ рдирд╣реАрдВ рд╕рдордЭ рд╕рдХрддрд╛ рдХрд┐ рдореЗрд░реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ рдЬрд┐рд╕рдиреЗ рдЗрд╕реЗ рддреЛрдбрд╝рд╛ред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд░реЛрд▓рдЕрдк рдХреЗ рд╕рд╛рде рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд╣реИред

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

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

рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдХреНрдпрд╛ рд╣реИ, рдореИрдВ рд░реЛрд▓рдЕрдк рдХреЗ рдмрд╛рдж рдмрд╕ tsc --emitDeclarationOnly рдкрд░ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реВрдВ, рдЬреЛ рдШреЛрд╖рдгрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрд┐рд▓реНрдб рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рддрд╛ рд╣реИред
рдореЗрд░реЗ рдкреИрдХреЗрдЬ рдореЗрдВредjson

"scripts": {
    "build": "rollup -c",
    "postbuild: "tsc --emitDeclarationOnly"
}

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

рдХреНрдпрд╛ рдпрд╣ рд░рдирдЯрд╛рдЗрдо рддреНрд░реБрдЯрд┐ рд╣реИ, рдпрд╛ рдЯрд╛рдЗрдкрдкреНрд░рддрд┐ рддреНрд░реБрдЯрд┐ рд╣реИ? рдХреНрдпрд╛ рдЖрдк рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ RenderedCell рд╕реЗ рдХреИрд╕реЗ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ?

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

рд░реБрдХреЛ, рдХреНрдпрд╛ рдЖрдк RenderedCell рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдХреЛрдб рд╕реЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд░реНрддрдорд╛рди рдлрд╝рд╛рдЗрд▓ рдХреЗ рдКрдкрд░ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореМрдЬреВрдж рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП RenderedCell.ts рдирд╛рдо рдХреА рдлрд╝рд╛рдЗрд▓ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░реЗрдЧрд╛ рдФрд░ рдЗрд╕рдореЗрдВ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

export interface RenderedCell 
{ 
    // ...
}

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

рд╣рд╛рдБ рдореИрдВ рдЗрд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдБред

рдпрд╣рд╛рдБ рдореЗрд░реА рд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИрдВ:

рдирд┐рд░реНрдорд╛рдг рдЪрд▓ рд░рд╣рд╛ рд╣реИ: rollup -c -f es -n sq-web-component-table -o dist/sq-web-component-table.es.min.js

рдореИрдВрдиреЗ рдкреВрд░рд╛ рдкреЗрдбрд╝ рдирд╣реАрдВ рд▓рдЧрд╛рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрд╛рдлреА рдмрдбрд╝рд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ рдФрд░ рдпрд╣ рд╕рд┐рдЧреНрдирд▓ рд╕реЗ рдЬреНрдпрд╛рджрд╛ рд╢реЛрд░ рд╣реИред рд▓реЗрдХрд┐рди рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЬрд┐рд▓реЗ рдореЗрдВ рдХрдИ рдлрд╛рдЗрд▓реЗрдВ рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рд╣реБрдИ рд╣реИрдВред

рд░реЛрд▓рдЕрдк.config.ts

import typescript from 'rollup-plugin-typescript2';
import uglify from 'rollup-plugin-uglify';
import { minify } from 'uglify-es';

export default {
    entry: './src/index.ts',
    dest: 'dist/sq-web-component-table.min.js',
    sourceMap: true,

    plugins: [
        typescript(),
        uglify({}, minify)
    ]
}

tsconfig.json

{
  "compilerOptions": {
    "target": "es5",
    "module": "es2015",
    "moduleResolution": "node",
    "declaration": true,
    "noImplicitAny": true,
    "noImplicitReturns": true,
    "outDir": "dist"
  },
  "include": [
    "src/**/*.ts"
  ],
  "exclude": [
    "dist",
    "node_modules",
    "**/*-test.ts"
  ]
}

RenderedCell.ts

import {RenderedElement} from "./RenderedElement";
import {RenderedRow} from "./RenderedRow";
export interface RenderedCell extends RenderedElement {
    isMergedCell(): boolean;
    getColspan(): number;
    setColspan(colspan: number): void;
    getParent(): RenderedRow;
}

рдлрд╛рдЗрд▓ рдЯреНрд░реА

.
тФЬтФАтФА src
тФВ┬а┬а тФЬтФАтФА index.ts
тФВ┬а┬а тФФтФАтФА table
тФВ┬а┬а     тФЬтФАтФА extensions
тФВ┬а┬а     тФВ┬а┬а тФЬтФАтФА base
тФВ┬а┬а     тФВ┬а┬а тФВ┬а┬а тФЬтФАтФА FirstTableExtension.ts
тФВ┬а┬а     тФВ┬а┬а тФВ┬а┬а тФЬтФАтФА LastTableExtension.ts
тФВ┬а┬а     тФВ┬а┬а тФВ┬а┬а тФЬтФАтФА SectionDispatcher.ts
тФВ┬а┬а     тФВ┬а┬а тФВ┬а┬а тФЬтФАтФА SectionManager.ts
тФВ┬а┬а     тФВ┬а┬а тФВ┬а┬а тФФтФАтФА SizeChangeMonitor.ts
тФВ┬а┬а     тФВ┬а┬а тФЬтФАтФА InvalidateEvent.ts
тФВ┬а┬а     тФВ┬а┬а тФЬтФАтФА InvalidateSizesEvent.ts
тФВ┬а┬а     тФВ┬а┬а тФЬтФАтФА RenderedCell.ts
тФВ┬а┬а     тФВ┬а┬а тФЬтФАтФА RenderedElement.ts
тФВ┬а┬а     тФВ┬а┬а тФЬтФАтФА RenderedRow.ts
тФВ┬а┬а     тФВ┬а┬а тФЬтФАтФА RenderedSection.ts
тФВ┬а┬а     тФВ┬а┬а тФЬтФАтФА RenderedTable.ts
тФВ┬а┬а     тФВ┬а┬а тФЬтФАтФА SectionClickedEvent.ts
тФВ┬а┬а     тФВ┬а┬а тФЬтФАтФА support
тФВ┬а┬а     тФВ┬а┬а тФВ┬а┬а тФФтФАтФА ...
тФВ┬а┬а     тФВ┬а┬а тФЬтФАтФА TableAttributes.ts
тФВ┬а┬а     тФВ┬а┬а тФЬтФАтФА TableExtensionChain.ts
тФВ┬а┬а     тФВ┬а┬а тФЬтФАтФА TableExtensionList.ts
тФВ┬а┬а     тФВ┬а┬а тФФтФАтФА TableExtension.ts
тФВ┬а┬а     тФЬтФАтФА model
тФВ┬а┬а     тФВ┬а┬а тФФтФАтФА ...
тФВ┬а┬а     тФЬтФАтФА TableRenderingOptions.ts
тФВ┬а┬а     тФЬтФАтФА Table.ts
тФВ┬а┬а     тФЬтФАтФА util
тФВ┬а┬а     тФВ┬а┬а тФФтФАтФА ...
тФВ┬а┬а     тФФтФАтФА view
тФВ┬а┬а         тФФтФАтФА ...
тФЬтФАтФА dist
тФВ┬а┬а тФЬтФАтФА index.d.ts
тФВ┬а┬а тФЬтФАтФА sq-web-component-table.es.min.js
тФВ┬а┬а тФЬтФАтФА sq-web-component-table.es.min.js.map
тФВ┬а┬а тФЬтФАтФА sq-web-component-table.min.js
тФВ┬а┬а тФЬтФАтФА sq-web-component-table.min.js.map
тФВ┬а┬а тФФтФАтФА table
тФВ┬а┬а     тФЬтФАтФА extensions
тФВ┬а┬а     тФВ┬а┬а тФЬтФАтФА base
тФВ┬а┬а     тФВ┬а┬а тФВ┬а┬а тФЬтФАтФА FirstTableExtension.d.ts
тФВ┬а┬а     тФВ┬а┬а тФВ┬а┬а тФЬтФАтФА LastTableExtension.d.ts
тФВ┬а┬а     тФВ┬а┬а тФВ┬а┬а тФЬтФАтФА SectionDispatcher.d.ts
тФВ┬а┬а     тФВ┬а┬а тФВ┬а┬а тФЬтФАтФА SectionManager.d.ts
тФВ┬а┬а     тФВ┬а┬а тФВ┬а┬а тФФтФАтФА SizeChangeMonitor.d.ts
тФВ┬а┬а     тФВ┬а┬а тФЬтФАтФА InvalidateEvent.d.ts
тФВ┬а┬а     тФВ┬а┬а тФЬтФАтФА InvalidateSizesEvent.d.ts
тФВ┬а┬а     тФВ┬а┬а тФЬтФАтФА RenderedRow.d.ts
тФВ┬а┬а     тФВ┬а┬а тФЬтФАтФА SectionClickedEvent.d.ts
тФВ┬а┬а     тФВ┬а┬а тФЬтФАтФА support
тФВ┬а┬а     тФВ┬а┬а тФВ┬а┬а тФФтФАтФА ...
тФВ┬а┬а     тФВ┬а┬а тФЬтФАтФА TableAttributes.d.ts
тФВ┬а┬а     тФВ┬а┬а тФФтФАтФА TableExtensionList.d.ts
тФВ┬а┬а     тФЬтФАтФА model
тФВ┬а┬а     тФВ┬а┬а тФФтФАтФА ...
тФВ┬а┬а     тФЬтФАтФА Table.d.ts
тФВ┬а┬а     тФЬтФАтФА util
тФВ┬а┬а     тФВ┬а┬а тФФтФАтФА ...
тФВ┬а┬а     тФФтФАтФА view
тФВ┬а┬а         тФФтФАтФА ...
тФЬтФАтФА node_modules
тФВ┬а┬а тФФтФАтФА ...
тФЬтФАтФА __tests__
тФВ┬а┬а тФФтФАтФА ...
тФЬтФАтФА package.json
тФЬтФАтФА rollup.config.js
тФФтФАтФА tsconfig.json

рдУрд╣ рд╕рдордЭрд╛ред рдХреНрдпрд╛ рд▓рд┐рдм рдУрдкрдирд╕реЛрд░реНрд╕ рдХрд┐рд╕реА рднреА рдореМрдХреЗ рд╕реЗ рд╣реИ?

рдЙрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:

typescript({ verbosity: 2, clean: true }),

рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╕рднреА рдлрд╛рдЗрд▓реЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХреА рдЬрд╛ рд░рд╣реА рд╣реИрдВред рдЕрдЧрд░ рдЕрдирд╛рдпрд╛рд╕ рд╣реА рдбрд┐рдХреНрд▓реЗрд░реЗрд╢рди рдЬреЗрдирд░реЗрдЯ рд╣реЛрдиреЗ рд▓рдЧреЗрдВ рддреЛ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рдХреИрд╢ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдпрджрд┐ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ RenderedCell.ts рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рд╣реИ ( rpt2: transpiling '...' ), рд╡рд░реНрдмреЛрд╕рд┐рдЯреА рдХреЛ 3 рддрдХ рдмрдврд╝рд╛рдПрдВ рдФрд░ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЬреЛ рдЗрд╕реЗ рдЖрдпрд╛рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╣реИрдВ, рд╡реЗ рдРрд╕рд╛ рдХрд░ рд░рд╣реА рд╣реИрдВред рдЖрдкрдХреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП

rpt2: resolving '../RenderedCell'
rpt2:     to '...'

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

рдореБрдЭреЗ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛, рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ :)

рдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВ рдЗрд╕реЗ рд╕реЛрдорд╡рд╛рд░ рдХреЛ рдЖрдЬрдорд╛рдКрдВрдЧрд╛ред

рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ tsconfig рдХреЗ рдХрдВрдкрд╛рдЗрд▓рд░рдСрдкреНрд╢рди рд╕реЗрдХреНрд╢рди рдореЗрдВ declaration: false рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рд╕реЗ рдХрдВрдкрд╛рдЗрд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рджреВрд░ рд╣реЛ рдЬрд╛рддреА рд╣реИ? рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдХреНрдпрд╛ рдЯреАрдПрд╕рд╕реА рджреНрд╡рд╛рд░рд╛ рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдЧрдИ рддреНрд░реБрдЯрд┐ рдЬрд┐рд▓рд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХрд┐рд╕реА рдПрдХ рдлрд╛рдЗрд▓ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ? рдпрджрд┐ рдЖрдкрдХрд╛ рдЙрддреНрддрд░ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╣рд╛рдБ рд╣реИ, рддреЛ рдХреНрдпрд╛ рддреНрд░реБрдЯрд┐ рджреВрд░ рд╣реЛ рдЬрд╛рддреА рд╣реИ рдпрджрд┐ рдЖрдк рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреБрдЫ рдЧреИрд░-рдкреНрд░рдХрд╛рд░ рдХреЗ рддрд░реНрдХ рдкреЗрд╢ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ RenderedCell рдлрд╝рд╛рдЗрд▓ рд╣реЛрддреА рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдирд┐рд░реНрдпрд╛рдд? рдпрджрд┐ рд╣рд╛рдБ, рддреЛ рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ RenderedCell рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдкреНрд░рдпреБрдХреНрдд рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрднреА рднреА рдШреЛрд╖рдгрд╛рдПрдБ рддреИрдпрд╛рд░ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рдпрджрд┐ рдпрд╣ рд╕рдм рдЖрдк рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ 2 рд╡рд┐рдХрд▓реНрдк рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ:

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

рдирдорд╕реНрддреЗ,

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

рдореИрдВрдиреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ typescript({ verbosity: 3, clean: true }) рдмрджрд▓ рджрд┐рдпрд╛ред
рдЙрддреНрдкрдиреНрди рдмрд┐рд▓реНрдб рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ RenderedCell рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдПрдХ рднреА рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ 100% рдпрдХреАрди рд╣реИ рдХрд┐ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ index.d.ts рдХреЛ рд╕реАрдзреЗ рдЗрд╕рдХреА рдФрд░ рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рд▓реЗрдХрд┐рди рдЗрдВрдЯрд░рдлреЗрд╕ рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрдВрдЯрд░рдлреЗрд╕ рдЕрднреА рднреА index.d.ts рдХреЗ рдЖрдпрд╛рдд рдореЗрдВ рд╣реИрдВ рдлрд╝рд╛рдЗрд▓ред

рдореИрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдореЗрдВ рдЧреЛрддрд╛ рд▓рдЧрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╡реЗ рдлрд╛рдЗрд▓реЗрдВ рдХреНрдпреЛрдВ рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВред

@wessberg рдореЗрд░реЗ рдмрдВрдбрд▓ рдХреЗ рд▓рд┐рдП рдШреЛрд╖рдгрд╛рдПрдВ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ рдЬреЛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рдПрдХ рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЗрд╕рдореЗрдВ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдирд╣реАрдВ рд╣реИ рддреЛ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдХреБрдЫ рдЬрд╛рдВрдЪ рдХреА рдФрд░ рдПрдХ рднрдВрдбрд╛рд░ рдмрдирд╛рдпрд╛ рдЬреЛ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдиреНрдпреВрдирддрдо рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдкреБрди: рдкреЗрд╢ рдХрд░рддрд╛ рд╣реИ: https://github.com/onigoetz/typescript-rollup-experiment

рд╡реЗрдмрдкреИрдХ рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдПрдХ рд╡реЗрдмрдкреИрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рднреА рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ред

рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрд░реА рд╕рдордЭ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рд░реЛрд▓рдЕрдк-рдкреНрд▓рдЧрдЗрди-рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ 2 рдХреЛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рдВрдХрд▓рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдорд╛рди рд▓реЗрдВ рдХрд┐ index.ts) рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрдХрд▓рд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдЙрд╕рдХреЗ рдЖрдпрд╛рдд рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЖрдпрд╛рдд рдореЗрдВ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдмрд┐рдирд╛ред

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

рднрдВрдбрд╛рд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдЕрдВрджрд░ npm install && npm run build рдХрд░реЗрдВред

рдпрджрд┐ рдЖрдк рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:
рдЖрдкрдХреА index.ts рдлрд╝рд╛рдЗрд▓ рдореЗрдВ import "./SomeInterface"; (рдмрд┐рд▓реНрдХреБрд▓ рдЙрд╕реА рддрд░рд╣, - рдмрд┐рдирд╛ рдХрд┐рд╕реА рдирд╛рдо рдХреЗ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ), рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреНрдпрд╛ рдпрд╣?

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд░реЛрд▓рдЕрдк рдХреЗрд╡рд▓ рдШреЛрд╖рдгрд╛-рдкрддреНрд░ рд╡рд╛рд▓реА рдлрд╛рдЗрд▓реЛрдВ рдЬреИрд╕реЗ рдХрд┐ рдХреЗрд╡рд▓ рдкреНрд░рдХрд╛рд░ рдХреА рдШреЛрд╖рдгрд╛рдУрдВ рд╡рд╛рд▓реА рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдо рд╣реИрдВрдбрд▓рд░ рдХрд╛ рдЖрд╣реНрд╡рд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдКрдкрд░ рджреА рдЧрдИ рдЪреАрдЬрд╝ рдХреЛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣ рд░реЛрд▓рдЕрдк рдХреЛ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд░рддреА рд╣реИред рдпрд╣ рд╕рдорд╕реНрдпрд╛: https://github.com/rollup/rollup-plugin-typescript/issues/28 рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреИрд╕реЗ рдФрд░ рдХреНрдпреЛрдВ рдореМрдЬреВрдж рд╣реИред рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ, рд╣рдо рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рд╕реЗ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреА рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдХреЗрд╡рд▓ рдкреНрд░рдХрд╛рд░ рдХреА рдШреЛрд╖рдгрд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдо рд╣реБрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░реЛрд▓рдЕрдк рдХреЛ рдордЬрдмреВрд░ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ (рдЕрдиреНрдп рд╕реНрдкрд╖реНрдЯ рдбрд╛рдЙрдирд╕рд╛рдЗрдбреНрд╕ рдЬреИрд╕реЗ рдХрд┐ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдмрд┐рд▓реНрдб-рд╕реНрдЯреЗрдк рдЬрдЯрд┐рд▓рддрд╛ )

рдореБрдЭреЗ рдбрд░ рд╣реИ рдХрд┐ рд╣рдо рд░реЛрд▓рдЕрдк рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдореИрдВрдиреЗ рд╡рд░реНрдгрд┐рдд "рд╣реИрдХ" рдХреЛ рдЕрднреА рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП ред

рд╣рд╛рдВ, рдЕрднреА рдЪреЗрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдкрд░реАрдХреНрд╖рдг рд░реЗрдкреЛ рдореЗрдВ import "./SomeInterface"; рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдЪреАрдЬреЗрдВ рдареАрдХ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред

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

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

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

@onigoetz , рдареАрдХ рд╣реИ, рдорд╛рд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╕рд╣реА рдШреЛрд╖рдгрд╛рдПрдВ рдЙрддреНрдкрдиреНрди рд╣реБрдИ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рднреА рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреЛрдИ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдирд╣реАрдВ рд╣реИ :)

рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛, рдЬрдм рдореИрдВ рд╕реЛ рд░рд╣рд╛ рдерд╛ рддрдм рдЖрдкрдиреЗ рдЗрд╕реЗ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ :)

рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рд▓рдЧрднрдЧ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

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

рдЙрджрд╛рд╣рд░рдг рдХреЗ рддреМрд░ рдкреЗ; рдЕрдЧрд░ рдореЗрд░реЗ рд░реЗрдкреЛ рдореЗрдВ рддреАрди рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ:

  • index.ts рдЖрдпрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реИ SomeInterface.ts
  • SomeInterface.ts
  • nongenerated.ts рдЖрдпрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реИ SomeInterface.ts

nongenerated.ts рдХреЛ рдХрднреА рднреА рд╕рдВрджрд░реНрднрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдкреНрд░рдХрд╛рд░ рд╡реИрд╕реЗ рднреА рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВред

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

рд╣рд╛рдБ рд░реЛрд▓рдЕрдк рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рддреЗ рд╣реБрдП рд╣рдо рдЗрддрдирд╛ рдХреБрдЫ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдЖрдк рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ exclude рд╡рд┐рдХрд▓реНрдк рдореЗрдВ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЦрд░рд╛рдм рд╕рдорд╛рдзрд╛рди рд╣реИред

рдареАрдХ рд╣реИ, рдЕрднреА 0.5.1 рдореЗрдВ

рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░реЗрдВ, рдмрд╕ tsconfig.json рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ

{
    "compilerOptions": {
        "module": "es2015",
        "target": "es5",
        "declaration":true,
        "declarationDir": "lib",
        "typeRoots": [
            "node_modules/@six006",
            "node_modules/@types"
        ],
        "lib": [
            "es2015",
            "es2017",
            "es5"
        ],
    },
    "include": [
        "src/index.ts",
        "src/module/**/*.ts"
    ],
    "exclude": [
        "node_modules"
    ]
}

include рдЕрдиреБрднрд╛рдЧ рдЖрдкрдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рд╣реИ

рд╡рд╛рдИрдПрдордПрдорд╡реА рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рд▓рд╛ ...

рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ

export type MyType = { ... };

рдмрд╛рдж рдореЗрдВ

type MyType = { ... };

export { MyType }

рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдХреНрдпрд╛ рд╣реИ, рдореИрдВ рд░реЛрд▓рдЕрдк рдХреЗ рдмрд╛рдж рдмрд╕ tsc --emitDeclarationOnly рдкрд░ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реВрдВ, рдЬреЛ рдШреЛрд╖рдгрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрд┐рд▓реНрдб рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рддрд╛ рд╣реИред
рдореЗрд░реЗ рдкреИрдХреЗрдЬ рдореЗрдВредjson

"scripts": {
    "build": "rollup -c",
    "postbuild: "tsc --emitDeclarationOnly"
}
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

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

vwxyutarooo picture vwxyutarooo  ┬╖  15рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

freeman picture freeman  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

stakx picture stakx  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

alshdavid picture alshdavid  ┬╖  16рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ