TSãv3.4.2ã«ã¢ããã°ã¬ãŒããããšãã³ã³ãã€ã«æéãéåžžã«é ããªããŸãã TS v3.3ã§ã¯ç§ã®ãããžã§ã¯ãã¯çŽ20ç§ã§æ§ç¯ãããTSv3.4ã§ã¯çŽ500äžããããŸãã
clean: true
ã§è©Šãã typescript: require('typescript')
ãè¿œå ããããšãã rollup
ãšé¢é£ãããã¹ãŠã®ãã©ã°ã€ã³ãã¢ããã°ã¬ãŒãããããšããŸãããæ¯åãåãçµæã§ã³ã³ãã€ã«ã«æéãããããŸãã ã
æ³šïŒ tsc -p tsconfig.prod.json
çŽæ¥å®è¡ãããšãdistãåºåããã®ã«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"
]'
ç§ã¯åãåé¡ãæ±ããŠããŸãã TSã3.3.4000
ãã3.4.3
ã«ãã³ããããšã 24s
ãã345s
ã
åçŸããããšãããšãæåã¯é床ãäœäžããŸãããã clean: true
ã䜿çšããŠãtypescriptããŒãžã§ã³éãäœåºŠãè¡ã£ããæ¥ãããããšãã¯ãªãŒã³ãã«ãã®éããããããŸãã...
clean: true
ãrtp2ãææ°ïŒ0.20.1ãŸãã¯ãã¹ã¿ãŒïŒã«æŽæ°ããŠãts3.3ãšts3.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
TS3.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ã§äœãããããšç§ã«æãããŸãã ããã¯ãrpt2ãã³ã³ãã€ã«ã®äžéšãšããŠäœ¿çšããAPIã§ããã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ã䜿çšãããšããšã©ãŒã衚瀺ãããŸãðïŒã
å°ãªããšããCSSïŒJSã§ïŒã«åãçµãã§ãããšãã¯check: false
å®è¡ã§ããŸãã ð
@ezolenkoæ£ç¢ºãªtypescriptapiåŒã³åºãããã«ãã®é床ãäœäžãããåå ãç¥ã£ãŠããŸããïŒ :)
@ZainlessBrombieããããç§ãç¥ã£ãŠããããšã¯ãã¹ãŠãã®ã¹ã¬ããã«ãããŸãã ãªã³ã¯ãããŠããTypescriptã®åé¡ã¯ããããé¢é£ããŠããŸãããçŽæ¥çãªåå ã§ã¯ãããŸããïŒ3.5以éã§ä¿®æ£ããå¿ èŠããããšèšãããŠãããããæããã«ããã§ã¯ãããŸããïŒã
ãããžã§ã¯ãã®ãã«ããé ãå Žåã¯ãå¯èœã§ããã°ts 3.3ã®æ¹ãå®éã«éããã©ããã確èªããŠãã ãããåé¡ã¯ã¿ã€ãã¹ã¯ãªããã§ã¯ãªããå¥ã®åé¡ã§ããå¯èœæ§ããããŸãã
ããããŸãããããããšãã ç§ãããã«è¿ã¥ããããããã¯ããã°é ãã¶ã€ããŠãæ§ããªããšæã£ãŠããå£ãããããŸãã:)
ç·šéïŒãã®åé¡ã¯ãã¹ã¿ã€ã«ä»ãã³ã³ããŒãã³ããã€ã³ããŒããããã¡ã€ã«ã§ã®ã¿çºçããŸãã
ãŸããTypescriptã®ããã¥ã¡ã³ãã¯ã²ã©ãã§ã
ã¿ã€ãã¹ã¯ãªããããããã¡ã€ãªã³ã°ãããšãåé¡ã®åå ããã¹ã¿ã€ã«èšå®ãããã³ã³ããŒãã³ããæã€ãããã®éåžžã«å€§ããªãŠããªã³ã§ããããšãæããã«ãªããŸãã ãããä¿®æ£ããå¯äžã®å Žæã¯typescriptã§ãããã ããtypescriptãååŸããŠã¢ãžã¥ãŒã«ã®è§£å床ããã£ãã·ã¥ããæ¹æ³ããªãéãïŒãããã¹ãã§ãïŒã
ç§ã¯å®éã«ã¯nodeModuleNameResolverã®åŒã³åºãã§ã¢ãžã¥ãŒã«è§£æ±ºãã£ãã·ã¥ã䜿çšããŠããŸããïŒ https ïŒ
ãããtsã«ããã©ã«ãã®ãã®ã䜿çšãããã®ãããããšããŸã£ãã䜿çšããªãã®ãããããªãã
ã¯ãç§ã¯ãã®TODOãèŠãŸãã:)
æ®å¿µãªããã䜿çšæã«ã¢ãžã¥ãŒã«è§£æ±ºãã£ãã·ã¥ããããã°ãããšãäœããã®çç±ã§ãªããŒã¹ã¯ãã£ãã·ã¥ãããŸãããã¹ã¿ã€ã«èšå®ãããã³ã³ããŒãã³ãã¯ãã£ãã·ã¥ãããªãããšã瀺ãããŸãã ãããã®å
éšãã£ãã·ã¥ãæž¡ããŸã...
çŸåšãã©ã€ãã©ãªã®CïŒã³ãŒãããŒã¹ãTypeScriptã«ç§»è¡äžã§ããããã³ãã«ã«Rollupã䜿çšããŠããŸãã ïŒä»¥åã¯ã«ã¹ã¿ã CïŒ> Haxe> JavaScriptããŒã«ãã§ãŒã³ã䜿çšããŠããŸããïŒã æ®å¿µãªãããæ°ããTypeScriptã³ãŒãããŒã¹ã®ã³ã³ãã€ã«é床ã«ãããªãã®èŠãã¿ããããéçºãéåžžã«å°é£ã«ãªã£ãŠããŸãã
å¯èœã§ããã°ããããã¡ã€ãªã³ã°ã¬ããŒããçæã§ããå Žåã¯ãããããæäŸãããŠããã ããŸãã
ããã«ç§ã®ãããžã§ã¯ããžã®ããã€ãã®æŽå¯ããããŸãïŒ
éåžžãç§ã¯ããã€ãã®ASTå€æãè¡ãããã«ttypescriptã䜿çšããŠããŸãã
ã³ãŒãè¡ïŒã50000
rollup -c rollup.config.ts ïŒã9-10ç§
rollup -c rollup.config.ts -wïŒåæã³ã³ãã€ã«ïŒ ïŒã9-10ç§
rollup -c rollup.config.ts -wïŒ1ã€ã®TSãã¡ã€ã«ã«1ã€ã®ã¢ã©ãŒããè¿œå ïŒ ïŒ
rollup -c rollup.config.ts -wïŒã¢ã©ãŒããå床åé€ïŒ ïŒ
tsc --version ïŒ3.8.3
tsc --project tsconfig.json ïŒã6-7ç§
tsc --project tsconfig.json -wïŒåæã³ã³ãã€ã«ïŒ ïŒã6-7ç§
tsc --project tsconfig.json -wïŒ1ã€ã®TSãã¡ã€ã«ã«1ã€ã®ã¢ã©ãŒããè¿œå ïŒ ïŒã0.1-0.2sec
tsc --project tsconfig.json -wïŒã¢ã©ãŒããå床åé€ïŒ ïŒã0.1-0.2sec
ttsc --version ïŒ3.8.3
ttsc --project tsconfig.json ïŒã7-8sec
ttsc --project tsconfig.json -wïŒåæã³ã³ãã€ã«ïŒ ïŒã6-7ç§
ttsc --project tsconfig.json -wïŒ1ã€ã®TSãã¡ã€ã«ã«1ã€ã®ã¢ã©ãŒããè¿œå ïŒ ïŒã0.1-0.2sec
ttsc --project tsconfig.json -wïŒã¢ã©ãŒããå床åé€ïŒ ïŒã0.1-0.2sec
ã€ã³ã¯ãªã¡ã³ã¿ã«ãã«ãã¯tsconfigã§ã¢ã¯ãã£ãã§ãã
ã€ã³ã¯ãªã¡ã³ã¿ã«/ãŠã©ãããã«ãããã«ãã«ãã®2åãããããšã¯ç§ã«ã¯éåžžã«çããããã§ãã
tiããã¹ãã«ãªããšãç§ã®ç°å¢ã§ã¯ç©äºããããããªãããã§ãã ç§ã¯ã«ã«ããšãã®typescriptãã©ã°ã€ã³ã§ããŒã«ã¢ãããæ¥ç¶ããŸããã ãåç¥ãããããŸããããåãã¹ãã¹ã€ãŒãã«ã¯ç¬èªã®ãã³ãã«ããããŸããã€ãŸããäžèšã®æ°ãå±±ç©ã¿ã«ãªã£ãŠããŸãã ã¡ã¢ãªã¯æéã®çµéãšãšãã«> 2GBã«å¢å ããŸãã æ°ååŸã§ãããã¹ãã®å®è¡ã¯å®éã«ã¯éå§ãããŸããã ããã¯ãåã·ã³ã°ã«npm run test
ãŸãã
ãã¹ãçæã®ãGeneratingbundlefor ...ãé åã«å°éãããšãã°ãããæ°ã衚瀺ãããŸãã
ããŒãµãŒã¯ã©ã¹ã®1ã€ã®ç°¡åãªãã¹ããå«ãFile01.test.tsã«ã¯15ç§ããããŸã
11åã®XML解æãã¹ããå«ãFile02.test.tsã«ã¯2.5åããããŸã
File03.test.tsã¯5ååŸã«ãå®äºããŸããã§ããã
ãã®åé¡ãã©ãã§çºçããå¯èœæ§ãããã®ãââããããæ¬åœã«ããŒã«ã¢ããã®typescriptã¢ãžã¥ãŒã«ãåå ã§ããã®ãã©ããã¯ããããŸãããããããç§ãé¢ä¿ããŠããæãå¯èœæ§ã®é«ãåé¡ã®ããã§ãã
ç§ã®ãªããžããªã¯éåžžã«å€§ããè€éãªã®ã§ãæ§æã®è©³çŽ°ã¯å ±æããŸããã§ããã 誰ããããããåéããæ¹æ³ãæããŠãããã°ããã°/ãããã¡ã€ãªã³ã°çµæãªã©ãæäŸã§ããŠããããã§ãããããžã§ã¯ãå šäœã®ç¶æ³ãåæ ããæ°ããåçŽãªç¬ç«ãããªããžããªãã»ããã¢ããããããšããŸãããåé¡ãç¶ããšã¯çŽæã§ããŸããã
@ Danielku15ããªãã®äž»ãªåé¡ã¯ãC ++ããã§ã¯ãªãCïŒãã移è¡ããŠããããšã§ã:)
ãã®ãã©ã°ã€ã³ã¯ãtypescriptç¬èªã®ã€ã³ã¯ãªã¡ã³ã¿ã«ãã«ããæ瀺çã«äœ¿çšããŠããŸããïŒããã¯éå§æã«ååšããŠããŸããã§ããïŒã
@rollup/plugin-typescript
ïŒhttps://github.com/rollup/plugins/tree/master/packages/typescriptïŒãè©Šãããšãã§ããŸãã圌ãã¯ç§ãæãã«ç°ãªãã¢ãããŒãã䜿çšããç°ãªãçªå·ãäžããå¯èœæ§ããããŸãã
ãã1ã€ã®ãªãã·ã§ã³ã¯ãããŒã«ã¢ãããã§ãŒã³ããtypescriptã³ã³ãã€ã«ãå®è¡ãïŒnpmãªã©ã®ããªãã«ãã¹ããããšããŠïŒã代ããã«çµæã®jsãããŒã«ã¢ããã«ãã£ãŒãããããšã§ãã ãŠã©ãããã«ãã¯èå³æ·±ããã®ã§ããããŠã©ããã¢ãŒãã§tscãšããŒã«ã¢ãããéå§ã§ãããããžã§ã¯ããæ£ããæ§æãããŠããã°ãæ£åžžã«æ©èœãããšæããŸãã
äž»ãªåé¡ã¯ãC ++ããã§ã¯ãªãCïŒãã移è¡ããŠããããšã§ãã
ãªããããã¯ïŒC ++ãã¬ãŒã ã¯ãŒã¯/ã©ã€ãã©ãªãTypeScriptã«ç§»è¡ãããã©ããã¯ããããŸããã ãã¯ããšãã³ãã¬ãŒãïŒC ++éçºè ã奜ãåŸåãããïŒã®äœ¿çšã«ãã£ãŠã¯ã移è¡äžã«ç¶æ³ãæªåããå¯èœæ§ããããŸãð 幞ããªããšã«ãç§ã®CïŒã³ãŒãããŒã¹ã¯åžžã«ä»ã®èšèªãžã®ã¯ãã¹ã³ã³ãã€ã«ãå¯èœã«ããã¹ã¿ã€ã«ã«èª¿æŽãããŠãããããã³ãŒãæ§é ããçµæã¯éåžžã«åãå ¥ããããŸãã ãªãŒããŒããããæžããããã«ã¢ãžã¥ãŒã«ãç·šæããæ¹æ³ãããå°ãããç解ããå¿ èŠããããŸãã ð
ãã®ãã©ã°ã€ã³ã¯ãtypescriptç¬èªã®ã€ã³ã¯ãªã¡ã³ã¿ã«ãã«ããæ瀺çã«äœ¿çšããŠããŸããïŒããã¯éå§æã«ååšããŠããŸããã§ããïŒã
ããã¯èå³æ·±ãã§ããããã®ãã©ã°ã€ã³ã«ã¯ç¬èªã®ã«ã¹ã¿ã ãã€ã³ã¯ãªã¡ã³ã¿ã«ããã«ãæŠç¥ããããŸããïŒ ããã¯ããŠã©ããã䜿çšãããšãã«ãã«ã¯ãªãŒã³ãã«ãããœãŒã¹ã®å€æŽãããæéããããçç±ã説æããŠããå¯èœæ§ããããŸãã ã¿ã€ãã¹ã¯ãªããã®ã³ã³ãã€ã«ã¯å€ããå°ãªããå®å®ããŠããããã®ãã©ã°ã€ã³ãã€ã³ã¯ãªã¡ã³ã¿ã«æŽæ°ããŸã å©çšã§ããªãã®ã¯æ®å¿µã§ãããã¿ã€ãã¹ã¯ãªããã³ã³ãã€ã©ã§è²»ããããæéã¯å®å®ããŠãããšæããŸãã ããããããŒã«ã¢ããã«è²»ããæéã¯ããŸããŸãªããã§ãã ããã ãããã¯ãªãŒã³ãã«ãããŠã©ããã¢ãŒãã§ã®ã³ãŒãå€æŽãããéãããšãç§ã«èª¬æããŠããŸãã
@ rollup / plugin-typescriptãè©Šãããšãã§ããŸã...
ãã³ããããããšããç§ã¯ãããæ¹åãããã©ããã確ãããããã«ãããè©ŠããŠã¿ãŸãã
å¥ã®ãªãã·ã§ã³ã¯ãããŒã«ã¢ãããã§ãŒã³ããtypescriptã³ã³ãã€ã«ãè¡ãããšã§ã
ç§ã¯æåã«ãã®ãããªèšå®ãããŠããŸããããéçºäžã«ãã«ãããç£èŠãããããã«éäžã§ãããèœãšããŸããã 2ã€ã®ããŒã«ãåå¥ã«ãç£èŠãããŠãã€ãã©ã€ã³ãæ¥ç¶ã§ããå Žåã¯ãããäžåºŠè©ŠããŠã¿ãŸãã ð
æŽæ°1ïŒããŒã«ã¢ããã§ãã§ãŒã³ãããtscãåŒã³åºãããšã§ãã³ã³ãã€ã«ããã³ãã¹ãç°å¢å šäœãã»ããã¢ããããããšãã§ããŸããã tsconfigãã¹ãæ£ãã解決ããã«ã¯ãç¬èªã®ããŒã«ã¢ãããã©ã°ã€ã³ãäœæããå¿ èŠããããŸãããããã®åŸã¯æ£åžžã«æ©èœããŠããŸããã
ã¯ãªãŒã³ã³ã³ãã€ã«ïŒ9ç§ããŠã©ããã³ã³ãã€ã«ïŒ0.5ã1ç§ãKarma + Rollupã«ãããã¹ããå®è¡ãããŠããŸãïŒåãã¹ãã¹ã€ãŒãã®ãã³ãã«ãçæããããããã³ã³ãã€ã«ã«ã¯å°ãæéãããããŸãïŒã
æãåèã«ãªãã³ã¡ã³ã
@ezolenkoè¿ä¿¡ãé ããªã£ãŠãã¿ãŸããïŒ
clean: true
ãå ¥ããŠãrtp2ã0.20.1
ã¢ããã°ã¬ãŒãããŸããã çµæã¯æ¬¡ã®ãšããã§ããTS 3.3.3333
TS 3.3.4000
TS3.4.1
TS 3.4.3
ããã«ãTSãªããžããªã«ãã®åé¡ããããé¢é£ããŠããããã§ããã
@types/styled-components
ãv4.1.4
åºå®ãããŠãããããç§ã®å Žåã¯ã«ããŒããŠããŸãããããã«æ å ±ãå¿ èŠãªå Žåã¯ãç¥ãããã ããã
楜ãã¿ã®ããã«ãææ°ã®
3.5
ãã«ããè©ŠããŸãããTS 3.5.0-dev.20190413