рдПрдХ рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ TS рдХреЛ v3.4.2 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░ рджрд┐рдпрд╛, рддреЛ рд╕рдВрдХрд▓рди рдХрд╛ рд╕рдордп рдмрд╣реБрдд рдзреАрдорд╛ рд╣реИред TS v3.3 рдХреЗ рд╕рд╛рде рдореЗрд░рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ ~ 20s рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ TS v3.4 рдХреЗ рд╕рд╛рде рдЗрд╕рдореЗрдВ ~ 5mn рд▓рдЧрддрд╛ рд╣реИред
рдореИрдВрдиреЗ clean: true
рд╕рд╛рде рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рдореИрдВрдиреЗ typescript: require('typescript')
рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдореИрдВрдиреЗ rollup
рдФрд░ рд╕рднреА рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ .. рд╣рд░ рдмрд╛рд░, рдПрдХ рд╣реА рдкрд░рд┐рдгрд╛рдо рд╕рдВрдХрд▓рди рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ .
рдиреЛрдЯ: рдЬрдм рдореИрдВ рд╕реАрдзреЗ tsc -p tsconfig.prod.json
рдЪрд▓рд╛рддрд╛ рд╣реВрдВ, рддреЛ рдбрд┐рд╕реНрдЯ рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдиреЗ рдореЗрдВ 10 рд╕реЗрдХрдВрдб рд╕реЗ рднреА рдХрдо рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред
{
input: 'src/index.ts',
output: [
{ file: pkg.main, format: 'cjs' },
{ file: pkg.module, format: 'es' },
],
plugins: [
external({ includeDependencies: true }),
resolve(),
typescript({
tsconfig: './tsconfig.prod.json',
rollupCommonJSResolveHack: true,
}),
commonjs(),
filesize(),
],
}
tsconfig.json
{
"compilerOptions": {
"module": "esnext",
"target": "es5",
"jsx": "react",
"esModuleInterop": true,
"lib": ["dom", "es2017"],
"moduleResolution": "node",
"rootDir": "src",
"forceConsistentCasingInFileNames": true,
"noImplicitReturns": true,
"noImplicitThis": true,
"noImplicitAny": true,
"strictNullChecks": true,
"suppressImplicitAnyIndexErrors": true,
"noUnusedLocals": false,
"downlevelIteration": true
},
"include": ["src/**/*", "types/**/*"]
}
tsconfig.prod.json
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "./dist",
"noUnusedLocals": true,
"sourceMap": true,
"declaration": true
},
"exclude": ["src/doc", "**/stories.tsx", "**/test.tsx", "**/fixture.ts"]
}
"rollup": "^1.6.0",
"rollup-plugin-commonjs": "^9.2.1",
"rollup-plugin-filesize": "^6.0.1",
"rollup-plugin-node-resolve": "^4.0.1",
"rollup-plugin-peer-deps-external": "^2.2.0",
"rollup-plugin-typescript2": "^0.19.2",
"typescript": "^3.4.2"
рдЙрддреНрдкрд╛рджрди
rpt2: typescript version: 3.4.2
rpt2: tslib version: 1.9.3
rpt2: rollup-plugin-typescript2 version: 0.19.2
rpt2: plugin options:
{
"tsconfig": "./tsconfig.prod.json",
"rollupCommonJSResolveHack": true,
"clean": true,
"verbosity": 3,
"typescript": "version 3.4.2",
"check": true,
"cacheRoot": "/Users/yannpringault/git/PayFit/components/.rpt2_cache",
"include": [
"*.ts+(|x)",
"**/*.ts+(|x)"
],
"exclude": [
"*.d.ts",
"**/*.d.ts"
],
"abortOnError": true,
"useTsconfigDeclarationDir": false,
"tsconfigOverride": {},
"transformers": [],
"tsconfigDefaults": {},
"objectHashIgnoreUnknownHack": false
}
rpt2: rollup config:
{
"chunkGroupingSize": 5000,
"experimentalCacheExpiry": 10,
"inlineDynamicImports": false,
"input": "src/index.ts",
"perf": false,
"plugins": [
{
"name": "peer-deps-external"
},
{
"name": "node-resolve"
},
{
"name": "rpt2"
},
{
"name": "commonjs"
},
{
"name": "filesize"
}
]
}
rpt2: built-in options overrides: {
"noEmitHelpers": false,
"importHelpers": true,
"noResolve": false,
"noEmit": false,
"inlineSourceMap": false,
"outDir": "/Users/yannpringault/git/PayFit/components/.rpt2_cache/placeholder",
"moduleResolution": 2,
"allowNonTsExtensions": true,
"declarationDir": "/Users/yannpringault/git/PayFit/components"
}
rpt2: parsed tsconfig: {
"options": {
"module": 6,
"target": 1,
"jsx": 2,
"esModuleInterop": true,
"lib": [
"lib.dom.d.ts",
"lib.es2017.d.ts"
],
"moduleResolution": 2,
"rootDir": "/Users/yannpringault/git/PayFit/components/src",
"forceConsistentCasingInFileNames": true,
"noImplicitReturns": true,
"noImplicitThis": true,
"noImplicitAny": true,
"strictNullChecks": true,
"suppressImplicitAnyIndexErrors": true,
"noUnusedLocals": true,
"downlevelIteration": true,
"outDir": "/Users/yannpringault/git/PayFit/components/.rpt2_cache/placeholder",
"sourceMap": true,
"declaration": true,
"configFilePath": "/Users/yannpringault/git/PayFit/components/./tsconfig.prod.json",
"noEmitHelpers": false,
"importHelpers": true,
"noResolve": false,
"noEmit": false,
"inlineSourceMap": false,
"allowNonTsExtensions": true,
"declarationDir": "/Users/yannpringault/git/PayFit/components"
},
"fileNames": [
"/Users/yannpringault/git/PayFit/components/src/index.ts",
"/Users/yannpringault/git/PayFit/components/src/components/index.ts",
"/Users/yannpringault/git/PayFit/components/src/components/Alert/index.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Alert/style.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Avatar/index.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Avatar/style.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/AvatarGroup/index.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/AvatarGroup/style.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Badge/index.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Badge/style.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Button/index.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Button/style.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Checkbox/index.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Checkbox/style.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/CheckboxGroup/index.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/CheckboxGroup/style.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/DatePicker/index.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/DatePicker/style.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/DatePicker/Popin/index.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Dropdown/MenuContext.ts",
"/Users/yannpringault/git/PayFit/components/src/components/Dropdown/index.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Dropdown/style.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Dropdown/DropdownItem/index.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Dropdown/DropdownItem/style.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Field/index.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Field/style.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Icon/index.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Icon/style.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Input/index.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Input/style.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Layout/index.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Legend/index.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Legend/style.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Loader/index.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Loader/style.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/ProgressBar/index.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/ProgressBar/style.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/ProgressCircle/index.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/ProgressCircle/style.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/RadioGroup/index.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/RadioGroup/style.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Select/index.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Select/style.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Steps/index.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Steps/style.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Table/index.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Table/style.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Table/components/Body.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Table/components/Cell.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Table/components/Footer.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Table/components/Header.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Table/components/HeaderCell.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Table/components/HeaderRow.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Table/components/Limit.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Table/components/Row.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/TableGroup/index.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/TableGroup/style.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Tag/index.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Tag/style.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Text/index.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Toggle/index.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Toggle/style.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Tooltip/index.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/Tooltip/style.tsx",
"/Users/yannpringault/git/PayFit/components/src/components/_helpers/colors.test.ts",
"/Users/yannpringault/git/PayFit/components/src/components/_helpers/colors.ts",
"/Users/yannpringault/git/PayFit/components/src/components/_helpers/react.ts",
"/Users/yannpringault/git/PayFit/components/src/components/_helpers/string.test.ts",
"/Users/yannpringault/git/PayFit/components/src/components/_helpers/string.ts",
"/Users/yannpringault/git/PayFit/components/src/primitives/_helpers.tsx",
"/Users/yannpringault/git/PayFit/components/src/primitives/box.tsx",
"/Users/yannpringault/git/PayFit/components/src/primitives/text.tsx",
"/Users/yannpringault/git/PayFit/components/src/utils/index.ts",
"/Users/yannpringault/git/PayFit/components/src/utils/colors/index.ts",
"/Users/yannpringault/git/PayFit/components/src/utils/shadows/index.ts",
"/Users/yannpringault/git/PayFit/components/src/utils/shadows/test.ts",
"/Users/yannpringault/git/PayFit/components/src/utils/zIndex/index.ts",
"/Users/yannpringault/git/PayFit/components/types/index.d.ts",
"/Users/yannpringault/git/PayFit/components/types/modules.d.ts"
],
"typeAcquisition": {
"enable": false,
"include": [],
"exclude": []
},
"raw": {
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "./dist",
"noUnusedLocals": true,
"sourceMap": true,
"declaration": true
},
"exclude": [
"src/doc",
"**/stories.tsx",
"**/test.tsx",
"**/fixture.ts"
],
"compileOnSave": false,
"include": [
"src/**/*",
"types/**/*"
]
},
"errors": [],
"wildcardDirectories": {
"/users/yannpringault/git/payfit/components/src": 1,
"/users/yannpringault/git/payfit/components/types": 1
},
"compileOnSave": false,
"configFileSpecs": {
"includeSpecs": [
"src/**/*",
"types/**/*"
],
"excludeSpecs": [
"src/doc",
"**/stories.tsx",
"**/test.tsx",
"**/fixture.ts"
],
"validatedIncludeSpecs": [
"src/**/*",
"types/**/*"
],
"validatedExcludeSpecs": [
"src/doc",
"**/stories.tsx",
"**/test.tsx",
"**/fixture.ts"
],
"wildcardDirectories": {
"/users/yannpringault/git/payfit/components/src": 1,
"/users/yannpringault/git/payfit/components/types": 1
}
}
}
rpt2: included:
'[
"*.ts+(|x)",
"**/*.ts+(|x)"
]'
rpt2: excluded:
'[
"*.d.ts",
"**/*.d.ts"
]'
рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИред рд╕реЗ рдЪрд▓рд╛ рдЧрдпрд╛ 24s
рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 345s
рдЬрдм рд╕реЗ рдЯреАрдПрд╕ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ 3.3.4000
рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 3.4.3
рдореИрдВрдиреЗ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдореИрдВрдиреЗ рдордВрджреА рджреЗрдЦреА, рд▓реЗрдХрд┐рди clean: true
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдФрд░ рдХрдИ рдмрд╛рд░ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдкрд░, рдореБрдЭреЗ рдЕрдм рдХреНрд▓реАрди рдмрд┐рд▓реНрдб рдкрд░ рдЕрдВрддрд░ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ ...
рдХреНрдпрд╛ рдЖрдк clean: true
рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, rtp2 рдХреЛ рдирд╡реАрдирддрдо (0.20.1 рдпрд╛ рдорд╛рд╕реНрдЯрд░) рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ ts 3.3 рдФрд░ ts 3.4 рдкрд░ рд▓рдЧрд╛рддрд╛рд░ рдХрдИ рдмрд╛рд░ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
@ezolenko рджреЗрд░ рд╕реЗ рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ!
рдореИрдВрдиреЗ clean: true
рдбрд╛рд▓рд╛ рдФрд░ rtp2 рдХреЛ 0.20.1
рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ред рдпрд╣рд╛рдБ рдкрд░рд┐рдгрд╛рдо рд╣реИрдВ:
рдЯреАрдПрд╕ 3.3.3333
build -> 18s
tsc -> 14.39s
рдЯреАрдПрд╕ 3.3.4000
build -> 17.3s
tsc -> 14.39s
рдЯреАрдПрд╕ 3.4.1
build -> 5m 25.1s
tsc -> 21.26s
рдЯреАрдПрд╕ 3.4.3
build -> 5m 52.7s
tsc -> 21.57s
рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдЯреАрдПрд╕ рд░реЗрдкреЛ рдкрд░ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬреЛ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИ рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ @types/styled-components
рдХреЛ v4.1.4
рдкрд┐рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдХреЛ рдХрд╡рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдЕрдЧрд░ рдЖрдкрдХреЛ рдФрд░ рдЬрд╛рдирдХрд╛рд░реА рдЪрд╛рд╣рд┐рдП рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВред
рдордиреЛрд░рдВрдЬрди рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдирд╡реАрдирддрдо 3.5
рдмрд┐рд▓реНрдб рдХреА рднреА рдХреЛрд╢рд┐рд╢ рдХреА:
рдЯреАрдПрд╕ 3.5.0-рджреЗрд╡.20190413
build -> 1m 23.5s
tsc -> 18.84s
рд╡рд╣ рд╕рдорд╕реНрдпрд╛ рдЬреЛ рдЖрдкрдХреЛ рдорд┐рд▓реА (https://github.com/Microsoft/TypeScript/issues/30663) рдФрд░ рдпрд╣ рддрдереНрдп рдХрд┐ 3.5-рджреЗрд╡ рдЖрдкрдХреЗ рд▓рд┐рдП 5 рдЧреБрдирд╛ рддреЗрдЬ рд╣реЛ рдЧрдпрд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ LanguageServer
API рдХреЗ рд╕рд╛рде рдХреБрдЫ рдХрд┐рдпрд╛ред рдпрд╣ рдПрдкреАрдЖрдИ рдЖрд░рдкреАрдЯреА 2 рд╕рдВрдХрд▓рди рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдИрдбреАрдИ рдореЗрдВ рдЯрд╛рдЗрдкрдЪреЗрдХрд░реНрд╕ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдЗрд╕реАрд▓рд┐рдП рд╡реЗрдмрд╕реНрдЯреЙрд░реНрдо рдЯрд╛рдЗрдо рдЖрдЙрдЯ рдЖрджрд┐)ред
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╣реАрдВ рдФрд░ рдкреНрд░рднрд╛рд╡рд┐рдд рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реЛ, рдЗрд╕рд▓рд┐рдП styled-components
рдХреЛ рдкрд┐рди рдХрд░рдиреЗ рд╕реЗ рдХреЛрдИ рдорджрдж рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИред рдФрд░ рдЗрд╕рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП rpt2 рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдХреЛрдИ рдмрдбрд╝реА рдордВрджреА рдирд╣реАрдВ рджрд┐рдЦрддреАред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЕрдВрддрд┐рдо 3.5 рд░рд┐рд▓реАрдЬ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВрдЧреЗред
рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ, check: false
рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ
рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ рдкреБрд╖реНрдЯрд┐ рдХреА рд╣реИ рдХрд┐ рдпрд╣ 3.5 рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде рддрдп рд╣реИ?
@ tomasro27 рдореЗрд░реЗ рд▓рд┐рдП рдирд╣реАрдВ, рди рд╣реА 6 ( 3.6.0-dev.20190621
) рдХреЗ рд╕рд╛рдеред рд▓рдЧрддрд╛ рд╣реИ <3.3 рдЕрднреА рднреА рд╕рдмрд╕реЗ рддреЗрдЬ рд╣реИред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ 3.5 рдереЛрдбрд╝рд╛ рддреЗрдЬ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдмреЗрд╣рддрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рдХреНрдпрд╛ рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реИ? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрднреА рднреА TS рджреНрд╡рд╛рд░рд╛ рдЕрд╡рд░реБрджреНрдз рд╣реИ?
рд╣рд╛рдБ, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЗрд╕ рдУрд░ рд╕реЗ рдХреБрдЫ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ :)
+1
3.5.3 рднреА рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдзреАрдорд╛ рд╣реИ
check: false
рдмрдврд╝рд┐рдпрд╛ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред
рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХреЛрдИ рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ (рдпрджрд┐ рдЖрдк рдмрдирд╛рдо рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рдВрдХреЗрдд рджреЗрдЧрд╛)ред
рдЬрдм рдореИрдВ рд╕реАрдПрд╕рдПрд╕ (рдЬреЗрдПрд╕ рдореЗрдВ) рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рддреЛ рдХрдо рд╕реЗ рдХрдо рдореИрдВ check: false
рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред ЁЯСН
@ezolenko рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╕рдЯреАрдХ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдмрд┐рд▓реНрдб рдХреЛ рдзреАрдорд╛ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддреА рд╣реИ? :)
@ZainlessBrombie рдирд╣реАрдВ, рдореБрдЭреЗ рдЬреЛ рдХреБрдЫ рднреА рдкрддрд╛ рд╣реИ рд╡рд╣ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рд╣реИред рд▓рд┐рдВрдХ рдХреА рдЧрдИ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдорд╕реНрдпрд╛ рд╢рд╛рдпрдж рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░рддреНрдпрдХреНрд╖ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕реЗ 3.5+ рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЬрд╛рд╣рд┐рд░ рддреМрд░ рдкрд░ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ)ред
рдпрджрд┐ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдирд┐рд░реНрдорд╛рдг рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ ts 3.3 рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рддреЗрдЬрд╝ рд╣реИ рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рд╕рдорд╕реНрдпрд╛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдФрд░ рд╣реИред
рдареАрдХ рд╣реИ рдзрдиреНрдпрд╡рд╛рджред рдЕрдЧрд░ рдореИрдВ рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЬрд╛рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдПрдХ рджреАрд╡рд╛рд░ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдореИрдВ рдмреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд╕рд┐рд░ рдкреАрдЯрдиреЗ рдХреЛ рддреИрдпрд╛рд░ рд╣реВрдВ :)
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреЗрд╡рд▓ рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╣реЛрддреА рд╣реИ рдЬреЛ рд╕реНрдЯрд╛рдЗрд▓ рдШрдЯрдХреЛрдВ рдХреЛ рдЖрдпрд╛рдд рдХрд░рддреА рд╣реИрдВ рдЬреИрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ
рд╕рд╛рде рд╣реА, рдЯрд╛рдЗрдкрдкреНрд░рддрд┐ рдкреНрд░рд▓реЗрдЦрди рднрдпрд╛рдирдХ рд╣реИ
рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕реНрд░реЛрдд рдХреЛ рдЗрди рдЕрддреНрдпрдВрдд рдмрдбрд╝реЗ рд╕рдВрдШреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рдХрдЯ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╕реНрдЯрд╛рдЗрд▓ рдШрдЯрдХреЛрдВ рдХреЗ рдкрд╛рд╕ рд╣реИрдВред рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рд╕реНрдерд╛рди рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдХреИрд╢ рдореЙрдбреНрдпреВрд▓ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди (рдЬреЛ рдЗрд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП) рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред
рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣рд╛рдВ nodeModuleNameResolver рдХреЙрд▓ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХреИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ: https://github.com/ezolenko/rollup-plugin-typescript2/blob/b7c7389dcdf168715669520128ca656d6e940111/src/index.ts#L148
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ ts рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рд╣рд╛рдБ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ TODO :)
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдореЙрдбреНрдпреВрд▓ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХреИрд╢ рдХреЛ рдбреАрдмрдЧ рдХрд░рдирд╛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рд░реАрдмрд╛рд╕ рдХреЛ рдХреИрд╢ рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╕реНрдЯрд╛рдЗрд▓ рдШрдЯрдХреЛрдВ рдХреЛ рдирд╣реАрдВред рдпрд╣ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдВрддрд░рд┐рдХ рдХреИрд╢ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ ...
рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЕрдкрдиреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдЕрдкрдиреЗ рд╕реА# рдХреЛрдбрдмреЗрд╕ рдХреЛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╣реВрдВ рдФрд░ рдореИрдВ рдмрдВрдбрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд░реЛрд▓рдЕрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред (рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рдПрдХ рдХрд╕реНрдЯрдо рд╕реА #> рд╣реИрдХреНрд╕> рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреВрд▓рдЪреЗрди рдерд╛)ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореИрдВ рдЕрдкрдиреЗ рдирдП рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдбрдмреЗрд╕ рдХреА рд╕рдВрдХрд▓рди рдЧрддрд┐ рдкрд░ рднреА рдХрд╛рдлреА рдкреАрдбрд╝рд┐рдд рд╣реВрдВ рдЬреЛ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдХрд╛рдлреА рдХрдард┐рди рдмрдирд╛ рджреЗрддрд╛ рд╣реИред
рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдореБрдЭреЗ рдХреБрдЫ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдкреНрд░рд╕рдиреНрдирддрд╛ рд╣реЛ рд░рд╣реА рд╣реИ рдпрджрд┐ рдЙрдиреНрд╣реЗрдВ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред
рдпрд╣рд╛рдБ рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐:
рдЖрдо рддреМрд░ рдкрд░ рдореИрдВ рдХреБрдЫ рдПрдПрд╕рдЯреА рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдХреЛрдб рдХреА рдкрдВрдХреНрддрд┐рдпрд╛рдБ : ~релрежрежрежреж
рд░реЛрд▓рдЕрдк -c рд░реЛрд▓рдЕрдк.config.ts : ~9-10sec
рд░реЛрд▓рдЕрдк -c рд░реЛрд▓рдЕрдк.config.ts -w (рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдВрдХрд▓рди) : ~9-10sec
рд░реЛрд▓рдЕрдк -c рд░реЛрд▓рдЕрдк.config.ts -w (1 TS рдлрд╝рд╛рдЗрд▓ рдореЗрдВ 1 рдЕрд▓рд░реНрдЯ рдЬреЛрдбрд╝рдирд╛) : ~20sec
рд░реЛрд▓рдЕрдк -c рд░реЛрд▓рдЕрдк.config.ts -w (рдЕрд▓рд░реНрдЯ рдлрд┐рд░ рд╕реЗ рд╣рдЯрд╛ рд░рд╣рд╛ рд╣реИ) : ~20sec
tsc --version: 3.8.3
tsc --project tsconfig.json : ~6-7sec
tsc --project tsconfig.json -w (рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдВрдХрд▓рди) : ~6-7sec
tsc --project tsconfig.json -w (1 TS рдлрд╝рд╛рдЗрд▓ рдореЗрдВ 1 рдЕрд▓рд░реНрдЯ рдЬреЛрдбрд╝рдирд╛) : ~0.1-0.2sec
tsc --project tsconfig.json -w (рдЕрд▓рд░реНрдЯ рдлрд┐рд░ рд╕реЗ рд╣рдЯрд╛ рд░рд╣рд╛ рд╣реИ) : ~0.1-0.2sec
ttsc --рд╕рдВрд╕реНрдХрд░рдг : рей.рео.рей
ttsc --project tsconfig.json : ~7-8sec
ttsc --project tsconfig.json -w (рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдВрдХрд▓рди) : ~6-7sec
ttsc --project tsconfig.json -w (1 TS рдлрд╝рд╛рдЗрд▓ рдореЗрдВ 1 рдЕрд▓рд░реНрдЯ рдЬреЛрдбрд╝рдирд╛) : ~0.1-0.2sec
ttsc --project tsconfig.json -w (рдЕрд▓рд░реНрдЯ рдлрд┐рд░ рд╕реЗ рд╣рдЯрд╛ рд░рд╣рд╛ рд╣реИ) : ~0.1-0.2sec
рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдмрд┐рд▓реНрдб tsconfig рдореЗрдВ рд╕рдХреНрд░рд┐рдп рд╣реИрдВред
рдпрд╣ рдореБрдЭреЗ рдХрд╛рдлреА рдЕрд╕рд╛рдорд╛рдиреНрдп рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╡реГрджреНрдзрд┐рд╢реАрд▓/рдШрдбрд╝реА рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдкреВрд░реНрдг рдирд┐рд░реНрдорд╛рдг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рджреЛрдЧреБрдирд╛ рд╣реЛрдЧрд╛ред
рдЬрдм рдкрд░реАрдХреНрд╖рдг рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ рддреЛ рдореЗрд░реЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЪреАрдЬреЗрдВ рдкрд╛рдЧрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред рдореИрдВрдиреЗ рдХрд░реНрдо рдФрд░ рдЗрд╕ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде рд░реЛрд▓рдЕрдк рдХреЛ рдЬреЛрдбрд╝рд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реЛрдВрдЧреЗ: рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг рд╕реВрдЯ рдХрд╛ рдЕрдкрдирд╛ рдмрдВрдбрд▓ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдКрдкрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдвреЗрд░ рд╣реЛ рдЧрдИ рд╣реИред рдореЗрдореЛрд░реА рд╕рдордп рдХреЗ рд╕рд╛рде>2GB рддрдХ рдмрдврд╝ рдЬрд╛рддреА рд╣реИ; рдорд┐рдирдЯреЛрдВ рдХреЗ рдмрд╛рдж рднреА рдЯреЗрд╕реНрдЯ рд░рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рдПрдХрд▓ npm run test
ред
рдПрдХ рдмрд╛рд░ рдЬрдм рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдкреАрдврд╝реА рдкрд░ "рдЬрдирд░реЗрдЯрд┐рдВрдЧ рдмрдВрдбрд▓ рдлреЙрд░ ..." рдХреНрд╖реЗрддреНрд░ рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдореБрдЭреЗ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рдЙрдЪреНрдЪ рд╕рдВрдЦреНрдпрд╛ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ:
File01.test.ts рдореЗрдВ рдПрдХ рдкрд╛рд░реНрд╕рд░ рд╡рд░реНрдЧ рдХрд╛ 1 рд╕рд╛рдзрд╛рд░рдг рдкрд░реАрдХреНрд╖рдг рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ 15 рд╕реЗрдХрдВрдб рд▓рдЧрддреЗ рд╣реИрдВ
File02.test.ts рдЬрд┐рд╕рдореЗрдВ 11 XML рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдкрд░реАрдХреНрд╖рдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдХреЛ 2.5 рдорд┐рдирдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ
File03.test.ts 5 рдорд┐рдирдЯ рдХреЗ рдмрд╛рдж рднреА рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реБрдЖред
рдореБрдЭреЗ рдХреЛрдИ рд╕реБрд░рд╛рдЧ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХрд╣рд╛рдВ рд╣реЛ рд╕рдХрддреА рд╣реИ рдФрд░ рдпрджрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд░реЛрд▓рдЕрдк рдХреЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдХрд╛рд░рдг рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдмрд╕реЗ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдореИрдВ рд╕рдВрдмрдВрдзрд┐рдд рд╣реВрдВред
рдЪреВрдВрдХрд┐ рдореЗрд░рд╛ рд░реЗрдкреЛ рдХрд╛рдлреА рдмрдбрд╝рд╛ рдФрд░ рдЬрдЯрд┐рд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рд╕рд╛рдЭрд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдЕрдЧрд░ рдХреЛрдИ рдореБрдЭреЗ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЬрд╛рдП, рддреЛ рдореБрдЭреЗ рд▓реЙрдЧ/рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдкрд░рд┐рдгрд╛рдо рдЖрджрд┐ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛ рд░рд╣реА рд╣реИред рдореИрдВ рдЕрдкрдиреА рд╕рдордЧреНрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реНрдерд┐рддрд┐ рдХреЛ рджрд░реНрд╢рд╛рддреЗ рд╣реБрдП рдПрдХ рдирдпрд╛ рд╕рд░рд▓ рд╕реНрд╡рддрдВрддреНрд░ рднрдВрдбрд╛рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд╛рджрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдмрдиреА рд░рд╣реЗрдЧреАред
@ Danielku15 рдЖрдкрдХреА рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк C# рд╕реЗ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рди рдХрд┐ C++ рд╕реЗ :)
рдпрд╣ рдкреНрд▓рдЧрдЗрди рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдмрд┐рд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ (рдпрд╣ рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рдореМрдЬреВрдж рдирд╣реАрдВ рдерд╛)ред
рдЖрдк @rollup/plugin-typescript
(https://github.com/rollup/plugins/tree/master/packages/typescript) рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╡реЗ рдПрдХ рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирдВрдмрд░ рджреЗ рд╕рдХрддрд╛ рд╣реИред
рдПрдХ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рд░реЛрд▓рдЕрдк рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕реЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрдХрд▓рди рдХрд░рдирд╛ рд╣реИ (рдПрдирдкреАрдПрдо рдпрд╛ рдХреБрдЫ рдореЗрдВ рдкреНрд░реАрдмрд┐рд▓реНрдб рдЪрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ) рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЬреЗрдПрд╕ рдХреЛ рд░реЛрд▓рдЕрдк рдХреЗ рдмрдЬрд╛рдп рдлрд╝реАрдб рдХрд░реЗрдВред рд╡реЙрдЪ рдмрд┐рд▓реНрдб рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╡реЙрдЪ рдореЛрдб рдореЗрдВ рдЯреАрдПрд╕рд╕реА рдФрд░ рд░реЛрд▓рдЕрдк рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдЧрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддреЛ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
рдЖрдкрдХреА рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк C# рд╕реЗ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рди рдХрд┐ C++ рд╕реЗ
рдСрдл-рдЯреЙрдкрд┐рдХ: рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рдПрдХ рд╕реА ++ рдлреНрд░реЗрдорд╡рд░реНрдХ/рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореИрдХреНрд░реЛрдЬрд╝ рдФрд░ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ (рдЬреЛ рд╕реА ++ рджреЗрд╡ рдкреНрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ) рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдЪреАрдЬреЗрдВ рдЬрдВрдЧрд▓реА рд╣реЛ рд╕рдХрддреА рд╣реИрдВ ЁЯШЕ рд╕реМрднрд╛рдЧреНрдп рд╕реЗ рдореЗрд░рд╛ рд╕реА # рдХреЛрдбрдмреЗрд╕ рд╣рдореЗрд╢рд╛ рдПрдХ рд╢реИрд▓реА рдХреЗ рдЕрдиреБрд░реВрдк рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдХреНрд░реЙрд╕ рд╕рдВрдХрд▓рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдо рдХреЛрдб рд╕рдВрд░рдЪрдирд╛ рд╕реЗ рдХрд╛рдлреА рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ . рдореБрдЭреЗ рдмрд╕ рдХреБрдЫ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдХреБрдЫ рдУрд╡рд░рд╣реЗрдб рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рдХреЛ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред ЁЯШК
рдпрд╣ рдкреНрд▓рдЧрдЗрди рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдмрд┐рд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ (рдпрд╣ рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рдореМрдЬреВрдж рдирд╣реАрдВ рдерд╛)ред
рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рдХреНрдпрд╛ рдЗрд╕ рдкреНрд▓рдЧрдЗрди рдореЗрдВ рдХреБрдЫ рдХрд╕реНрдЯрдо "рд╡реГрджреНрдзрд┐рд╢реАрд▓" рдирд┐рд░реНрдорд╛рдг рд░рдгрдиреАрддрд┐ рд╣реИ? рдпрд╣ рд╕рдордЭрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдШрдбрд╝реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдПрдХ рдкреВрд░реНрдг-рд╕реНрд╡рдЪреНрдЫ рдирд┐рд░реНрдорд╛рдг рд╕реНрд░реЛрдд рдкрд░рд┐рд╡рд░реНрддрди рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рдХреНрдпреЛрдВ рд▓реЗ рд╕рдХрддрд╛ рд╣реИред рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрдХрд▓рди рдХрдореЛрдмреЗрд╢ рд╕реНрдерд┐рд░ рд╣реИ, рдпрд╣ рджреБрд░реНрднрд╛рдЧреНрдпрдкреВрд░реНрдг рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд▓рдЧрдЗрди рдЕрднреА рддрдХ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдЕрдкрдбреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЯрд╛рдЗрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ рдореЗрдВ рдмрд┐рддрд╛рдпрд╛ рдЧрдпрд╛ рд╕рдордп рд╕реНрдерд┐рд░ рд╣реИред рд▓реЗрдХрд┐рди рд░реЛрд▓рдЕрдк рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓рд╛ рд╕рдордп рдЕрд▓рдЧ-рдЕрд▓рдЧ рд▓рдЧрддрд╛ рд╣реИред рдХреЗрд╡рд▓ рдпрд╣ рдореБрдЭреЗ рд╕рдордЭрд╛рддрд╛ рд╣реИ рдХрд┐ рд╡реЙрдЪ-рдореЛрдб рдХреЗ рд╕рд╛рде рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдХреНрд▓реАрди рдмрд┐рд▓реНрдб рддреЗрдЬ рд╣реИред
рдЖрдк @ рд░реЛрд▓рдЕрдк/рдкреНрд▓рдЧрдЗрди-рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВ ...
рд╕рдВрдХреЗрдд рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВ рдЗрд╕реЗ рдпрд╣ рджреЗрдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╕реБрдзрд╛рд░ рдХрд░рддрд╛ рд╣реИред
рдПрдХ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рд░реЛрд▓рдЕрдк рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕реЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрдХрд▓рди рдХрд░рдирд╛ рд╣реИ
рдореЗрд░реЗ рдкрд╛рд╕ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдРрд╕рд╛ рд╕реЗрдЯрдЕрдк рдерд╛ рд▓реЗрдХрд┐рди рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди "рдШрдбрд╝реА" рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЖрдзрд╛ рд░рд╛рд╕реНрддрд╛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред рдореИрдВ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдПрдХ рд╢реЙрдЯ рджреВрдВрдЧрд╛ рдпрджрд┐ рдореИрдВ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ "рджреЗрдЦрдиреЗ" рдХреЗ рджреЛ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЛ рд╣реБрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред ЁЯСН
рдЕрджреНрдпрддрди 1: рдореИрдВ рд░реЛрд▓рдЕрдк рдХреЗ рд╕рд╛рде рдЬрдВрдЬреАрд░ рдЯреАрдПрд╕рд╕реА рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдЕрдм рдЕрдкрдирд╛ рдкреВрд░рд╛ рд╕рдВрдХрд▓рди рдФрд░ рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рдореБрдЭреЗ tsconfig рдкрдереЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рд░реЛрд▓рдЕрдк рдкреНрд▓рдЧрдЗрди рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рд▓реЗрдХрд┐рди рдЙрд╕рдХреЗ рдмрд╛рдж рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛ред
рд╕реНрд╡рдЪреНрдЫ рд╕рдВрдХрд▓рди: 9 рд╕реЗрдХреЗрдВрдб, рдШрдбрд╝реА рд╕рдВрдХрд▓рди: 0.5-1 рд╕реЗрдХреЗрдВрдб рдФрд░ рдХрд░реНрдо + рд░реЛрд▓рдЕрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░реАрдХреНрд╖рдг рднреА рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ (рд╕рдВрдХрд▓рди рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг рд╕реВрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдВрдбрд▓ рдмрдирд╛рддрд╛ рд╣реИ)ред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
@ezolenko рджреЗрд░ рд╕реЗ рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ!
рдореИрдВрдиреЗ
clean: true
рдбрд╛рд▓рд╛ рдФрд░ rtp2 рдХреЛ0.20.1
рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ред рдпрд╣рд╛рдБ рдкрд░рд┐рдгрд╛рдо рд╣реИрдВ:рдЯреАрдПрд╕ 3.3.3333
рдЯреАрдПрд╕ 3.3.4000
рдЯреАрдПрд╕ 3.4.1
рдЯреАрдПрд╕ 3.4.3
рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдЯреАрдПрд╕ рд░реЗрдкреЛ рдкрд░ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬреЛ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИ рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕
@types/styled-components
рдХреЛv4.1.4
рдкрд┐рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдХреЛ рдХрд╡рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИредрдЕрдЧрд░ рдЖрдкрдХреЛ рдФрд░ рдЬрд╛рдирдХрд╛рд░реА рдЪрд╛рд╣рд┐рдП рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВред
рдордиреЛрд░рдВрдЬрди рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдирд╡реАрдирддрдо
3.5
рдмрд┐рд▓реНрдб рдХреА рднреА рдХреЛрд╢рд┐рд╢ рдХреА:рдЯреАрдПрд╕ 3.5.0-рджреЗрд╡.20190413