ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ» TS Π΄ΠΎ v3.4.2, Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΡΠ°Π»ΠΎ ΠΎΡΠ΅Π½Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΌ. Π‘ TS v3.3 ΠΌΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π±ΡΠ» ΠΏΠΎΡΡΡΠΎΠ΅Π½ Π·Π° ~ 20 ΡΠ΅ΠΊΡΠ½Π΄, Π° Ρ TS v3.4 ΠΎΠ½ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ~ 5 ΠΌΠ»Π½.
Π― ΠΏΡΠΎΠ±ΠΎΠ²Π°Π» Ρ clean: true
, Ρ ΠΏΡΡΠ°Π»ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ typescript: require('typescript')
, Ρ ΠΏΡΡΠ°Π»ΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ rollup
ΠΈ Π²ΡΠ΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ .. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ .
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΊΠΎΠ³Π΄Π° Ρ Π·Π°ΠΏΡΡΠΊΠ°Ρ tsc -p tsconfig.prod.json
Π½Π°ΠΏΡΡΠΌΡΡ, Π²ΡΠ²ΠΎΠ΄ dist.
{
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
ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π΅ TS Ρ 3.3.4000
Π½Π° 3.4.3
Π― ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ, ΠΈ ΡΠ½Π°ΡΠ°Π»Π° Ρ ΡΠ²ΠΈΠ΄Π΅Π» Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΠ΅, Π½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ clean: true
ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°, Ρ Π½Π΅ Π²ΠΈΠΆΡ ΡΠ°Π·Π½ΠΈΡΡ Π² ΡΠΈΡΡΠΎΠΉ ΡΠ±ΠΎΡΠΊΠ΅ ΡΠ΅ΠΉΡΠ°Ρ ...
ΠΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π²Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ clean: true
, ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ rtp2 Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ (0.20.1 ΠΈΠ»ΠΈ master) ΠΈ Π½Π°ΡΡΡΠΎΠΈΡΡ Π²ΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΠΏΠΎΠ΄ΡΡΠ΄ Π½Π° ts 3.3 ΠΈ ts 3.4?
@ezolenko ΠΠ·Π²ΠΈΠ½ΠΈΡΠ΅ Π·Π° ΠΏΠΎΠ·Π΄Π½ΠΈΠΉ ΠΎΡΠ²Π΅Ρ!
Π― ΠΏΠΎΡΡΠ°Π²ΠΈΠ» clean: true
ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ» rtp2 Π΄ΠΎ 0.20.1
. ΠΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ:
TS 3.3.3333
build -> 18s
tsc -> 14.39s
TS 3.3.4000
build -> 17.3s
tsc -> 14.39s
TS 3.4.1
build -> 5m 25.1s
tsc -> 21.26s
TS 3.4.3
build -> 5m 52.7s
tsc -> 21.57s
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΅ΡΡΡ ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ TS, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ, Π½ΠΎ Ρ ΠΌΠ΅Π½Ρ @types/styled-components
Π·Π°ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΎ Π½Π° v4.1.4
ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½Π° Π½Π΅ ΠΏΠΎΠΊΡΡΠ²Π°Π΅Ρ ΠΌΠΎΠΉ ΡΠ»ΡΡΠ°ΠΉ.
ΠΠ°ΠΉΡΠ΅ ΠΌΠ½Π΅ Π·Π½Π°ΡΡ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
Π Π°Π΄ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ° Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠ±ΠΎΡΠΊΡ 3.5
:
TS 3.5.0-dev.20190413
build -> 1m 23.5s
tsc -> 18.84s
ΠΠ±Π½Π°ΡΡΠΆΠ΅Π½Π½Π°Ρ Π²Π°ΠΌΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° (https://github.com/Microsoft/TypeScript/issues/30663) ΠΈ ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ Π²Π΅ΡΡΠΈΡ 3.5-dev ΡΡΠ°Π»Π° Π΄Π»Ρ Π²Π°Ρ Π² 5 ΡΠ°Π· Π±ΡΡΡΡΠ΅Π΅, Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠ΅Π½Ρ Π΄ΡΠΌΠ°ΡΡ, ΡΡΠΎ ΠΎΠ½ΠΈ ΡΡΠΎ-ΡΠΎ ΡΠ΄Π΅Π»Π°Π»ΠΈ Ρ LanguageServer
API. ΠΡΠΎ API, ΠΊΠΎΡΠΎΡΡΠΉ rpt2 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠ°ΠΊ ΡΠ°ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΠΈ ΡΠΎ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΈΠΏΠΎΠ² Π² IDE (ΠΏΠΎΡΡΠΎΠΌΡ Π²ΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ WebStorm ΠΈΡΡΠ΅ΠΊΠ°Π΅Ρ ΠΈ Ρ. Π.).
Π Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΡΡΠΊΡΡΡΡ Π·Π°ΡΡΠΎΠ½ΡΡΡΡ
ΡΠΈΠΏΠΎΠ² Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ Π·Π°ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅ 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
ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ Π½Π΅ Π²ΡΠ΄Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ (Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ vscode, ΠΎΠ½ Π²ΡΠ΄Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ ).
ΠΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, Ρ ΠΌΠΎΠ³Ρ ΡΠ΄Π΅Π»Π°ΡΡ check: false
ΠΊΠΎΠ³Π΄Π° ΡΠ°Π±ΠΎΡΠ°Ρ Π½Π°Π΄ CSS (Π² JS). π
@ezolenko , Π·Π½Π°Π΅ΡΠ΅ Π»ΠΈ Π²Ρ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²ΡΠ·ΠΎΠ² api ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΠ΅ ΡΠ±ΠΎΡΠΊΠΈ? :)
@ZadingBrombie Π½Π΅Ρ, Π²ΡΠ΅, ΡΡΠΎ Ρ Π·Π½Π°Ρ, Π΅ΡΡΡ Π² ΡΡΠΎΠΉ ΡΠ΅ΠΌΠ΅. Π‘Π²ΡΠ·Π°Π½Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ Typescript, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΠ²ΡΠ·Π°Π½Π°, Π½ΠΎ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΡΠΌΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ (ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΈ Π³ΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π° ββΠ² Π²Π΅ΡΡΠΈΠΈ 3.5+, Π°, ΠΏΠΎ-Π²ΠΈΠ΄ΠΈΠΌΠΎΠΌΡ, ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ).
ΠΡΠ»ΠΈ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ, ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»ΠΈ ts 3.3 Π±ΡΡΡΡΠ΅Π΅, Π΅ΡΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ Π² ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΠΎΠΌ ΡΠ΅ΠΊΡΡΠ΅, Π° Π² ΡΠ΅ΠΌ-ΡΠΎ Π΄ΡΡΠ³ΠΎΠΌ.
Π₯ΠΎΡΠΎΡΠΎ, ΡΠΏΠ°ΡΠΈΠ±ΠΎ. ΠΡΠ»ΠΈ Ρ Π΄ΠΎΠ±Π΅ΡΡΡΡ Π΄ΠΎ Π½Π΅Π³ΠΎ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠ΅Π½Π°, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ Π³ΠΎΡΠΎΠ², ΡΠ°ΠΊ ΡΠΊΠ°Π·Π°ΡΡ, ΡΠ΄Π°ΡΠΈΡΡΡΡ Π³ΠΎΠ»ΠΎΠ²ΠΎΠΉ :)
ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ: ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΡΡ ΡΡΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΅ΡΡΡ
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ Typescript ΡΠΆΠ°ΡΠ½Π°
ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ²Π»ΡΡΡΡΡ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΡΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎ, - ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡ, Π΅ΡΠ»ΠΈ Π½Π΅Ρ ΡΠΏΠΎΡΠΎΠ±Π° ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΊΠ΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Π° ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½).
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠ΅Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π² Π²ΡΠ·ΠΎΠ²Π΅ nodeModuleNameResolver Π·Π΄Π΅ΡΡ: https://github.com/ezolenko/rollup-plugin-typescript2/blob/b7c7389dcdf168715669520128ca656d6e940111/src/index.ts#L148
ΠΠ΅ ΡΠ²Π΅ΡΠ΅Π½, Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ Π»ΠΈ ts ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ.
ΠΠ°, Ρ Π²ΠΈΠ΄Π΅Π» ΡΡΠΎ TODO :)
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΎΡΠ»Π°Π΄ΠΊΠ° ΠΊΠ΅ΡΠ° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΡΠΈ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΎΠ½ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅ ΠΊΡΡΠΈΡΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ, Π½ΠΎ Π½Π΅ ΡΡΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅. ΠΠ½ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΊΠ΅Ρ Π΄Π»Ρ ΡΠ΅Ρ
...
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΎΠΌ ΡΠ²ΠΎΠ΅ΠΉ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ C # ΠΌΠΎΠ΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π° TypeScript ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Rollup Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ. (Π Π°Π½ΡΡΠ΅ Ρ ΠΌΠ΅Π½Ρ Π±ΡΠ» ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² C #> Haxe> JavaScript). Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΠΈΠ»ΡΠ½ΠΎ ΡΡΡΠ°Π΄Π°Ρ ΠΎΡ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΌΠΎΠ΅ΠΉ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ TypeScript, ΡΡΠΎ Π·Π°ΡΡΡΠ΄Π½ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ.
ΠΡΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ Ρ ΡΠ°Π΄ΠΎΡΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΡΠ΅ΡΠΎΠ² ΠΏΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π΅ΡΠ»ΠΈ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ.
ΠΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ΄Π΅ΠΈ ΠΌΠΎΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°:
ΠΠ±ΡΡΠ½ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ttypescript Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ AST.
Π‘ΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° : ~ 50000
rollup -c rollup.config.ts : ~ 9-10 ΡΠ΅ΠΊΡΠ½Π΄
rollup -c rollup.config.ts -w (Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ) : ~ 9-10 ΡΠ΅ΠΊΡΠ½Π΄
rollup -c rollup.config.ts -w (Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ 1 ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Π² 1 ΡΠ°ΠΉΠ» TS) : ~ 20 ΡΠ΅ΠΊΡΠ½Π΄
rollup -c rollup.config.ts -w (ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ) : ~ 20 ΡΠ΅ΠΊΡΠ½Π΄
tsc - Π²Π΅ΡΡΠΈΡ : 3.8.3
tsc --project tsconfig.json : ~ 6-7 ΡΠ΅ΠΊΡΠ½Π΄
tsc --project tsconfig.json -w (Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ) : ~ 6-7 ΡΠ΅ΠΊΡΠ½Π΄
tsc --project tsconfig.json -w (Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ 1 ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Π² 1 ΡΠ°ΠΉΠ» TS) : ~ 0,1-0,2 ΡΠ΅ΠΊ.
tsc --project tsconfig.json -w (ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ) : ~ 0,1-0,2 ΡΠ΅ΠΊ.
ttsc - Π²Π΅ΡΡΠΈΡ : 3.8.3
ttsc --project tsconfig.json : ~ 7-8 ΡΠ΅ΠΊΡΠ½Π΄
ttsc --project tsconfig.json -w (Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ) : ~ 6-7 ΡΠ΅ΠΊΡΠ½Π΄
ttsc --project tsconfig.json -w (Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ 1 ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Π² 1 ΡΠ°ΠΉΠ» TS) : ~ 0,1-0,2 ΡΠ΅ΠΊ.
ttsc --project tsconfig.json -w (ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ) : ~ 0,1-0,2 ΡΠ΅ΠΊ.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ Π°ΠΊΡΠΈΠ²Π½Ρ Π² ΡΠ°ΠΉΠ»Π΅ tsconfig.
ΠΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π½Π΅ΠΎΠ±ΡΡΠ½ΡΠΌ, ΡΡΠΎ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΡΠ±ΠΎΡΠΊΠ° / ΡΠ±ΠΎΡΠΊΠ° ΡΠ°ΡΠΎΠ² ΠΏΠΎΡΡΠ΅Π±ΡΠ΅Ρ Π²Π΄Π²ΠΎΠ΅ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΠΏΠΎΠ»Π½Π°Ρ ΡΠ±ΠΎΡΠΊΠ°.
ΠΠΎΠ³Π΄Π° Π΄ΠΎΡ
ΠΎΠ΄ΠΈΡ Π΄ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π² ΠΌΠΎΠ΅ΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ Π΄Π΅Π»Π° ΠΈΠ΄ΡΡ Π±Π΅Π·ΡΠΌΠ½ΠΎ. Π― ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ» Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ Ρ ΠΊΠ°ΡΠΌΠΎΠΉ ΠΈ ΡΡΠΈΠΌ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°. ΠΠ°ΠΊ Π²Ρ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π·Π½Π°Π΅ΡΠ΅: ΠΊΠ°ΠΆΠ΄ΡΠΉ Π½Π°Π±ΠΎΡ ΡΠ΅ΡΡΠΎΠ² ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ, Π° ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠΈΡΠ»Π° Π²ΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ
Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°ΡΡΡΡ. ΠΠ°ΠΌΡΡΡ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π΄ΠΎ> 2 ΠΠ; Π΄Π°ΠΆΠ΅ ΠΏΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ²ΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΌΠΈΠ½ΡΡ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ Π·Π°ΠΏΡΡΠΊ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ. ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ npm run test
.
ΠΠΎΠ³Π΄Π° ΠΎΠ½ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ ΠΎΠ±Π»Π°ΡΡΠΈ Β«Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ° Π΄Π»Ρ ...Β» Π² ΡΠ΅ΡΡΠΎΠ²ΠΎΠΌ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠΈ, Ρ Π²ΠΈΠΆΡ ΡΠΌΠ΅Ρ
ΠΎΡΠ²ΠΎΡΠ½ΠΎ Π²ΡΡΠΎΠΊΠΈΠ΅ ΡΠΈΡΠ»Π°:
File01.test.ts, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ 1 ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ΅ΡΡ ΠΊΠ»Π°ΡΡΠ° ΠΏΠ°ΡΡΠ΅ΡΠ°, Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 15 ΡΠ΅ΠΊΡΠ½Π΄
File02.test.ts, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ 11 ΡΠ΅ΡΡΠΎΠ² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° XML, ΡΡΠ΅Π±ΡΠ΅Ρ 2,5 ΠΌΠΈΠ½ΡΡΡ.
File03.test.ts Π΄Π°ΠΆΠ΅ Π½Π΅ Π·Π°Π²Π΅ΡΡΠΈΠ»ΡΡ ΡΠ΅ΡΠ΅Π· 5 ΠΌΠΈΠ½ΡΡ.
Π― ΠΏΠΎΠ½ΡΡΠΈΡ Π½Π΅ ΠΈΠΌΠ΅Ρ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Π° ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»ΠΈ ΡΡΠΎ ΠΈΠ·-Π·Π° ΠΌΠΎΠ΄ΡΠ»Ρ Π½Π°Π±ΠΎΡΠ° ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ², Π½ΠΎ, ΠΏΠΎΡ ΠΎΠΆΠ΅, ΡΡΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π΅ΡΠΎΡΡΠ½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ ΡΠ²ΡΠ·Π°Π½.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΠΎΠ΅ ΡΠ΅ΠΏΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅, Ρ Π½Π΅ ΡΡΠ°Π» ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³Π°Ρ . ΠΡΠ»ΠΈ ΠΊΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄ΡΠΊΠ°Π·Π°ΡΡ ΠΌΠ½Π΅, ΠΊΠ°ΠΊ ΠΈΡ ΡΠΎΠ±ΠΈΡΠ°ΡΡ, Ρ Π±ΡΠ΄Ρ ΡΠ°Π΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΆΡΡΠ½Π°Π»Ρ / ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Ρ. Π. Π― ΠΏΠΎΠΏΡΡΠ°ΡΡΡ Π½Π°ΡΡΡΠΎΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΠΎΡΡΠ°ΠΆΠ°ΡΡΠΈΠΉ ΠΎΠ±ΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ Ρ ΠΌΠΎΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ, Π½ΠΎ Ρ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΎΠ±Π΅ΡΠ°ΡΡ, ΡΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠΎΡ ΡΠ°Π½ΠΈΡΡΡ.
@ Danielku15 ΠΠ°ΡΠ° ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ Π²Ρ
ΠΡΠΎΡ ΠΏΠ»Π°Π³ΠΈΠ½ ΡΠ²Π½ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ½ΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° (ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΡΠΎΠ³ΠΎ Π½Π΅ Π±ΡΠ»ΠΎ).
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ @rollup/plugin-typescript
(https://github.com/rollup/plugins/tree/master/packages/typescript), ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄, Ρ Π΄ΡΠΌΠ°Ρ, ΠΈ ΠΌΠΎΠ³ΡΡ Π΄Π°ΡΡ Π²Π°ΠΌ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΈΡΠ»Π°.
ΠΡΡΠ³ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ - Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° ΠΈΠ· ΡΠ΅ΠΏΠΎΡΠΊΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ (ΠΊΠ°ΠΊ ΡΡΠ°ΠΏ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ Π² npm ΠΈΠ»ΠΈ ΡΡΠΎ-ΡΠΎ Π² ΡΡΠΎΠΌ ΡΠΎΠ΄Π΅) ΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ js Π² ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅. ΠΡΠ»ΠΎ Π±Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ±ΠΎΡΠΊΡ, Ρ ΠΎΡΡ Ρ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ tsc ΠΈ rollup Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°, ΠΈ Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π°ΡΡΡΠΎΠ΅Π½ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΠΎΠ½ ΠΏΡΠΎΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΠ°ΡΠ° ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ Π²Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΠ΅ Ρ C #, Π° Π½Π΅ Ρ C ++.
ΠΠ΅ ΠΏΠΎ ΡΠ΅ΠΌΠ΅: Ρ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½, Ρ ΠΎΡΡ Π»ΠΈ Ρ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ / Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ C ++ Π½Π° TypeScript. Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ² ΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² (ΠΊΠΎΡΠΎΡΡΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½ΡΠ°Π²ΡΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ C ++) Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Π²ΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΉΡΠΈ Π½Π΅ ΡΠ°ΠΊ Π ΡΡΠ°ΡΡΡΡ, ΠΌΠΎΡ ΠΊΠΎΠ΄ΠΎΠ²Π°Ρ Π±Π°Π·Π° C # Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ»Π° Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π½Π° ΠΊ ΡΡΠΈΠ»Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅ΠΌΡ ΠΊΡΠΎΡΡ-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ·ΡΠΊΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌ Π΄Π»Ρ ΡΡΡΡΠΊΡΡΡΡ ΠΊΠΎΠ΄Π° . ΠΠ½Π΅ ΠΏΡΠΎΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΡΡΠΎΠ±Ρ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ ΠΎΠ΄Ρ. π
ΠΡΠΎΡ ΠΏΠ»Π°Π³ΠΈΠ½ ΡΠ²Π½ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ½ΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° (ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΡΠΎΠ³ΠΎ Π½Π΅ Π±ΡΠ»ΠΎ).
ΠΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΠΈΠΌΠ΅Π΅Ρ Π»ΠΈ ΡΡΠΎΡ ΠΏΠ»Π°Π³ΠΈΠ½ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ Β«ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠΉΒ» ΡΠ±ΠΎΡΠΊΠΈ? ΠΡΠΎ ΠΌΠΎΠ³Π»ΠΎ Π±Ρ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ ΠΏΠΎΠ»Π½Π°Ρ ΡΠΈΡΡΠ°Ρ ΡΠ±ΠΎΡΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π½ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ watch. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΡΡΠ°Π±ΠΈΠ»ΡΠ½Π°, ΠΆΠ°Π»Ρ, ΡΡΠΎ ΡΡΠΎΡ ΠΏΠ»Π°Π³ΠΈΠ½ Π΅ΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ½ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ, Π½ΠΎ Ρ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π²ΡΠ΅ΠΌΡ, ΠΏΠΎΡΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠΈΠΏΠΎΠ²ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π², ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎ. ΠΠΎ Π²ΡΠ΅ΠΌΡ, Π·Π°ΡΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΠΎΠ΅ Π½Π° Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΠ΅, ΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΠ°Π·Π½ΡΠΌ. Π’ΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ ΠΌΠ½Π΅, ΡΡΠΎ ΡΠΈΡΡΠ°Ρ ΡΠ±ΠΎΡΠΊΠ° Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ @ rollup / plugin-typescript ...
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΡ, Ρ ΠΏΠΎΠΏΡΠΎΠ±ΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΡΠ»ΡΡΡΠΈΡΡΡ Π»ΠΈ ΠΎΠ½Π°.
ΠΡΡΠ³ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ - Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° ΠΈΠ· ΡΠ΅ΠΏΠΎΡΠΊΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ.
Π£ ΠΌΠ΅Π½Ρ Π±ΡΠ»Π° ΡΠ°ΠΊΠ°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π² ΡΠ°ΠΌΠΎΠΌ Π½Π°ΡΠ°Π»Π΅, Π½ΠΎ Ρ ΠΎΡΠΊΠ°Π·Π°Π»ΡΡ ΠΎΡ Π½Π΅Π΅ Π½Π° ΠΏΠΎΠ»ΠΏΡΡΠΈ, ΡΡΠΎΠ±Ρ Β«Π½Π°Π±Π»ΡΠ΄Π°ΡΡΒ» Π·Π° ΡΠ±ΠΎΡΠΊΠ°ΠΌΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. Π― ΠΏΠΎΠΏΡΠΎΠ±ΡΡ Π΅ΡΠ΅ ΡΠ°Π·, Π΅ΡΠ»ΠΈ ΡΠΌΠΎΠ³Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ Ρ Π΄Π²ΡΠΌΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, Β«Π½Π°Π±Π»ΡΠ΄Π°ΡΡΠΈΠΌΠΈΒ» Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ. π
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ 1: ΡΠ΅ΠΏΠ΅ΡΡ Ρ ΡΠΌΠΎΠ³ Π½Π°ΡΡΡΠΎΠΈΡΡ Π²ΡΡ ΡΠ²ΠΎΡ ΡΡΠ΅Π΄Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ tsc, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ Ρ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΠ΅ΠΌ. ΠΠ½Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡ ΠΏΡΡΠΈ tsconfig, Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π» Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ.
Π§ΠΈΡΡΠ°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ: 9 ΡΠ΅ΠΊΡΠ½Π΄, Π‘ΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ: 0,5-1 ΡΠ΅ΠΊΡΠ½Π΄Ρ, ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· Karma + Rollup (ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΏΠ°ΠΊΠ΅Ρ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° ΡΠ΅ΡΡΠΎΠ²).
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
@ezolenko ΠΠ·Π²ΠΈΠ½ΠΈΡΠ΅ Π·Π° ΠΏΠΎΠ·Π΄Π½ΠΈΠΉ ΠΎΡΠ²Π΅Ρ!
Π― ΠΏΠΎΡΡΠ°Π²ΠΈΠ»
clean: true
ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ» rtp2 Π΄ΠΎ0.20.1
. ΠΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ:TS 3.3.3333
TS 3.3.4000
TS 3.4.1
TS 3.4.3
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΅ΡΡΡ ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ TS, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ, Π½ΠΎ Ρ ΠΌΠ΅Π½Ρ
@types/styled-components
Π·Π°ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΎ Π½Π°v4.1.4
ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½Π° Π½Π΅ ΠΏΠΎΠΊΡΡΠ²Π°Π΅Ρ ΠΌΠΎΠΉ ΡΠ»ΡΡΠ°ΠΉ.ΠΠ°ΠΉΡΠ΅ ΠΌΠ½Π΅ Π·Π½Π°ΡΡ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
Π Π°Π΄ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ° Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠ±ΠΎΡΠΊΡ
3.5
:TS 3.5.0-dev.20190413