ã¯ããã«
ããã«ã¡ã¯ããã¯ã³ã´æè²äºæ¥ã§ã¨ã³ã¸ãã¢ããã¦ããã¦ã¼ã³ã§ãã
Näºåæ ¡ã¢ããªã±ã¼ã·ã§ã³ããã®ä»è¤æ°ã®ããã¸ã§ã¯ã㧠pnpm ãæ¡ç¨ãã¾ãããpnpm ã¨ã¯ä½ããnpm ã¨ã©ãéãã®ãã¨ããã®ã node_modules ã®æ§é ã追ããªããç解ãã¤ã¤ãæè²äºæ¥ã§ã®æ¡ç¨ããçµæã«ã¤ãã¦ã話ãã¾ãã
pnpm ã¨ã¯
pnpm ã¨ã¯ãnpm ã yarn ã¨ã¬ã¤ã¤ã¼ãåããããããã±ã¼ã¸ããã¼ã¸ã£ã§ããããµã¼ããã¼ãã£ã®ãã®ã§ãã
pnpm ã¯ä»ã®ãã¼ã«ã¨æ¯è¼ãã¦é«éã§ãããã£ã¹ã¯å¹çãè¯ãã¨è¬³ã£ã¦ãã¾ãã
ãã® pnpm ã®æ大ã®ç¹å¾´ã¯ã node_modules ã®æ§é ã«ããã¾ãã ä¾ãã° npm ã§ã¯ v3 ãããã©ãã㪠node_modules ã使ãããã«ãªã£ã¦ããã¾ããyarn ãããã©ã«ãã§ã¯åæ§ã«ãã©ãã㪠node_modules ãæä¾ãã¦ãã¾ãã
ãã©ãã㪠node_modules ã«ããªãå ´åã foo ã®ä¾åã® bar ã®ä¾åã® baz ã®ä¾åã® qux...... ã¨å®¹æã«ç¶ãã¦ãã¾ãã node_modules ãæ·±ããªãããã¦ãã¾ãã¾ãããã©ãã¯ãã¼ã«ã¨è¨ããã¦ããæ以ã§ããããã㯠Windows ãªã© File Path ã«æåæ°å¶éã®ãããã¡ã¤ã«ã·ã¹ãã ã§ã¯ã¤ã³ã¹ãã¼ã«ã失æãã¦ãã¾ãã¾ãã
ä¸æ¹ pnpm ã¯ã·ã³ããªãã¯ãªã³ã¯ãå©ç¨ããã¢ã¸ã¥ã¼ã«å®ä½ã¨ãã£ã¬ã¯ããªæ§é ãåé¢ãã¦ãã¾ããããã«ããéè¤ã¢ã¸ã¥ã¼ã«ã®åä¸åã¨ä¾åé¢ä¿ã®è¡¨ç¾ã両ç«ãã¦ãã¾ãã ããã§ã¯ node_modules ã¯ç¡éã«æ·±ããªã£ã¦ãã¾ãã®ã§ã¯â¦â¦ã¨æãããããã¾ãããã ã·ã³ããªãã¯ãªã³ã¯ã§ãããã file system ä¸ã¯ãããªãã¾ããã
npm ã§ã® node_modules ã®èª²é¡
"devDependencies": { "postcss": "8.4.38", "stylelint": "16.4.0" }
ãããã®ãã¼ã¸ã§ã³ã¯å·çæç¹ã§ã®ææ°ãã¼ã¸ã§ã³ã§ããã v16.4.0 ã® stylelint ã® dependencies 以ä¸ã« postcss 㯠^8.4.38
ãæå®ããã¦ãã¾ãã
ãã®ç¶æ³ã®å ´åãnpm ã§ã¯ä»¥ä¸ã®ãããªããªã¼ã«ãªãã¾ãã
node_modules âââ .bin âââ .package-lock.json âââ @babel âââ @csstools âââ @dual-bundle âââ @nodelib âââ ajv âââ ansi-regex ... âââ postcss âââ LICENSE â âââ README.md â âââ lib â âââ package.json ... âââ stylelint â âââ LICENSE â âââ README.md â âââ bin â âââ lib â âââ package.json â âââ types ... 105 directories, 1 files
éä¸çç¥ãã¾ãããã 104 ãã®ã¢ã¸ã¥ã¼ã«ãã node_modules
ãã£ã¬ã¯ããªã«ä¸¦ãã§ãã¾ããä¸è¬çãªæ§é ã§ããã
postcss ã stylelint 両æ¹ä»¥ä¸ã« node_modules
ã¯åå¨ãã¾ããã
次ã«ã(postcss ã peerDep ã§æå®ããã¦ããã©ã¤ãã©ãªã§ã®)æåã®å¤æ´ã®åé¿çã®ããã« postcss ã®ãã¼ã¸ã§ã³ã v7 ç³»ããä¸ããããªãã±ã¼ã¹ãä¾ã¨ãã¾ãããã®å ´åã® node_modules
ã¯ä»¥ä¸ã®ããã«ãªãã¾ãã
node_modules ... âââ picocolors (v0.2.1) ... âââ postcss (v7.0.39) âââ LICENSE â âââ README.md â âââ lib â âââ package.json ... âââ stylelint (v16.4.0) â âââ LICENSE â âââ README.md â âââ bin â âââ lib â âââ node_modules â â âââ picocolors (v1.0.0) â â âââ postcss (v8.4.38) â â âââ postcss-safe-parser (v7.0.0) â âââ package.json â âââ types ...
node_modules/stylelint
以ä¸ã« node_modules
ãå¢ãã¦ãã¾ãããã®ãããªæ¹æ³ã«ãã£ã¦ã npm ã¯åä¸ã©ã¤ãã©ãªãè¤æ°ãã¼ã¸ã§ã³æ··å¨ããã±ã¼ã¹ã«å¯¾å¿ãã¦ãã¾ãã
ãã¦ããã㧠node_modules/stylelint/node_modules
以ä¸ãè¦ã¦ããã¾ãããã ããã㯠[email protected] ã® dependencies ã«è¨è¼ã®ããéãã®ãã¼ã¸ã§ã³ã«ãªã£ã¦ããããããã
[email protected] ã [email protected] ã [email protected] ã¨ãªã£ã¦ãã¾ãã
ä¸æ¹ãnode_modules
ç´ä¸ã«ã¯ [email protected] ã[email protected] ãããã¾ãã[email protected] 㯠[email protected] ã® dependencies ã«æå®ããã¦ãã¾ãã
ãã®ç¶æ
ã§ãããã®ã¾ã¾ picocolors ã使ç¨ãããå ´åã node_modules/stylelint/node_modules
ã¸ã®æ¢ç´¢ã¯è¡ããªãããã v0.2.1 ã使ç¨ããããã¨ã«ãªãã¾ããã§ã¯ããã§ã [email protected] ã使ç¨ãããå ´åã©ããªãã§ãããããpackage.json ã« "picocolors": "1.0.0"
ãæå®ãã¦è©¦ãã¦ã¿ã¾ãããã
node_modules ... âââ picocolors (v1.0.0) ... âââ postcss (v7.0.39) âââ LICENSE â âââ README.md â âââ lib â âââ node_modules â â âââ picocolors (v0.2.1) â âââ package.json ... âââ stylelint (v16.4.0) â âââ LICENSE â âââ README.md â âââ bin â âââ lib â âââ node_modules â â âââ postcss (v8.4.38) â â âââ postcss-safe-parser (v7.0.0) â âââ package.json â âââ types ...
æãã éã node_modules
ç´ä¸ã® picocolors 㯠v1.0.0 ã«ãªã£ã¦ãã¾ããã node_modules/postcss
以ä¸ã«æ°ãã« node_modules
ãèªçãã node_modules/stylelint/node_modules
以ä¸ãå¤ãã£ã¦ãã¾ãã
node_modules/postcss
以ä¸ã® picocolors 㯠v0.2.1 ã§ã node_modules/stylelint
以ä¸ã® postcss 㯠v8.4.38 ã§ãã
ããã§ä¾ã«ä¸ãã 3 ã¢ã¸ã¥ã¼ã«ã®ä¾ã ãã§ããããã ãã®éããããã®ã§ãã Web ã¢ããªã±ã¼ã·ã§ã³ãæ§ç¯ããã»ã©å¤æ°ã®ã¢ã¸ã¥ã¼ã«ãããå ´åã node_modules
以ä¸ãè¤éã«ãªããã¨ã¯æ³åã«é£ãããã¾ããã
ããã§ã¯ä¾ã«ä¸ãã¾ããã§ããã(å¶çºçã«çºçããã®ã§æå³ãã¦ä¾ç¤ºããã®ãé£ããã®ã§ã)ã ç´æ¥ã¤ã³ã¹ãã¼ã«ãã¦ããªãã¢ã¸ã¥ã¼ã«ã node_modules
ç´ä¸ã«è¡¨åºãããã¨ã«ããçºçããåé¡ãããã¾ãã
ä¾ãã°ãæå³ãã¦ããªããã¼ã¸ã§ã³ã®ãã®ã import ãã¦ãã¾ã£ã¦ãããã React ãè¤æ°ãã¼ã¸ã§ã³æ··ãã£ã¦ãã¾ãè¦åãåºããªã©ã®ãã©ãã«ãçºçãå¾ã¾ãã
pnpm ã® node_modules ã«ãã解決
ä»æ¹ã pnpm ã® node_modules ã®æ§é ã§ã¯ä½ãå¬ãããã®èª¬æã®ããã«ãåæ§ã®æ§æã®å ´åã® node_modules
以ä¸ãã¿ã¦ã¿ã¾ãã
ã¾ã [email protected] ã[email protected] ã®å ´åã¯ä»¥ä¸ã®ããã«ãªãã¾ãã
node_modules âââ .bin âââ .modules.yaml âââ .pnpm âââ postcss -> .pnpm/[email protected]/node_modules/postcss âââ stylelint -> .pnpm/[email protected]/node_modules/stylelint 5 directories, 1 file
node_modules
ç´ä¸ã«ããã¢ã¸ã¥ã¼ã«ã¯ postcss 㨠stylelint ã® 2 ã¤ã®ã¿ã¨ãªã£ã¦ããããããã node_modules/.pnpm
以ä¸ã«ã·ã³ããªãã¯ãªã³ã¯ããã¦ãã¾ãã
ãã㧠.pnpm 以ä¸ãè¦ã¦ã¿ã¾ãããã
node_modules/.pnpm âââ @[email protected] âââ @[email protected] âââ @[email protected] âââ @[email protected]_@[email protected] âââ @[email protected] âââ @[email protected]_@[email protected]_@[email protected] âââ @[email protected][email protected] âââ @[email protected] âââ @[email protected] âââ @[email protected] âââ @[email protected] âââ [email protected] âââ [email protected] âââ [email protected] ... âââ [email protected] ... âââ [email protected] ... 120 directories, 1 file
å ã»ã©è¦ããããããªä¾åã¢ã¸ã¥ã¼ã«ãããã¾ãããåã¢ã¸ã¥ã¼ã«ã®æ«å°¾ã«ãã¼ã¸ã§ã³ãä»ä¸ããã¦ãããã¨ãåä¸ã¢ã¸ã¥ã¼ã«ã®ãã¼ã¸ã§ã³éããè¤æ°åå¨ãã¦ãããã¨ã«æ³¨ç®ãã¦ãã ããã
ããã§ãã·ã³ããªãã¯ãªã³ã¯å
ã§ãã node_modules/.pnpm/[email protected]/node_modules/postcss
ãè¦ã¦ã¿ã¾ãã
[email protected] âââ node_modules âââ nanoid -> ../../[email protected]/node_modules/nanoid âââ picocolors -> ../../[email protected]/node_modules/picocolors âââ postcss â âââ LICENSE â âââ README.md â âââ lib â âââ node_modules â â âââ .bin â â âââ nanoid â âââ package.json âââ source-map-js -> ../../[email protected]/node_modules/source-map-js
æ«ç«¯ã® postcss
ã® node_modules
以ä¸ã«ã¯ .bin
ã® nanoid
ã®ã¿ã§ãä»ã®ä¾åã¯ããã¾ããã
ã§ã¯ãã® postcss ã¯ã©ã®ããã«ä¾åã¢ã¸ã¥ã¼ã«ã解決ãããã¨ããã¨ãroot ãã£ã¬ã¯ããªã«åãã£ã¦ä¸é層㮠node_modules
ãé ã«æ¢ç´¢ãã¦ãããããã¾ãèªèº«ãæå±ãã¦ãã node_modules
ã解決ãã¾ãã
ããã«åå¨ãã [email protected] 㨠[email protected] ã[email protected] ã¯ã以ä¸ã«ç¤ºã [email protected] ã® dependency ã¨ä¸è´ãã¦ãã¾ãã
"dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.0.0", "source-map-js": "^1.2.0" }
ããã¦ã postcss ããã®ã¢ã¸ã¥ã¼ã«æ¢ç´¢ã¯ãããè¿ãä½ç½®ã§è§£æ±ºãã次第æã¡åããããããä»®ã«ä¸ä½ã® node_modules
ã«ä¾åã¨åä¸ã®ã¢ã¸ã¥ã¼ã«ããã£ãã¨ãã¦ããä¾åã«ãããã¼ã¸ã§ã³ã®ãã®ã常ã«è§£æ±ºããããã¨ã«ãªãã¾ãã
ã¾ãã postcss
ã®ç´ä¸ã® picocolors
㨠stylelint
ã®ç´ä¸ã® picocolors
ã®ã·ã³ããªãã¯ãªã³ã¯ã®å®ä½ã¯åä¸ã®ãã®ã§ããããã node_modules
ã®ãµã¤ãºãè¨ãã¾ãªãããã«ãªã£ã¦ãã¾ãã
ç¶ãã¦ãå ã»ã©ã¨åæ§ã«ã postcss ã®ãã¼ã¸ã§ã³ãä¸ããç¶æ³ã試ãã¦ã¿ã¾ãã
node_modules âââ .bin âââ .modules.yaml âââ .pnpm â ... â âââ [email protected] â â âââ node_modules â â âââ picocolors â âââ [email protected] â â âââ node_modules â â âââ picocolors â ... â âââ [email protected] â â âââ node_modules â â âââ picocolors -> ../../[email protected]/node_modules/picocolors â â âââ postcss â â âââ source-map -> ../../[email protected]/node_modules/source-map â âââ [email protected] â â âââ node_modules â â âââ nanoid -> ../../[email protected]/node_modules/nanoid â â âââ picocolors -> ../../[email protected]/node_modules/picocolors â â âââ postcss â â âââ source-map-js -> ../../[email protected]/node_modules/source-map-js â ... â âââ [email protected] â â âââ node_modules â â ... â â âââ postcss -> ../../[email protected]/node_modules/postcss â â ... â â âââ stylelint â â ... â ... âââ postcss -> .pnpm/[email protected]/node_modules/postcss âââ stylelint -> .pnpm/[email protected]/node_modules/stylelint
å
ã»ã©ã¨åæ§ã node_modules
ç´ä¸ã«ã¯ postcss
㨠stylelint
ã®ã¿ã§ããã postcss ã®ãã¼ã¸ã§ã³ã¯ 7.0.39 ã«ãªã£ã¦ãã¾ãã
ã¾ã .pnpm 以ä¸ã« 2 ã¤ã®ãã¼ã¸ã§ã³ã® picocolors 㨠postcss ãããããããããä¾åå
ã® node_modules ã«ã·ã³ããªãã¯ãªã³ã¯ããã¦ãã¾ãã
node_modules/stylelint
ã®å®ä½ã§ãã node_modules/.pnpm/[email protected]/node_modules/stylelint
ããã¯ãåã node_modules 以ä¸ã«å±ãã¦ãã postcss ([email protected] ã¸ã®ã·ã³ããªãã¯ãªã³ã¯) ã解決ãããããã«ãªã£ã¦ãã¾ãã
è¤æ°ãã picocolors ãããããä¾åã«æå®ããããã¼ã¸ã§ã³ã®ãã®ã解決ãããããã«ãªã£ã¦ãã¾ãã
ãã®ç¶æ
㧠[email protected] ã dependencies ã«è¿½å ããå ´åã§ãã node_modules
ã®æä¸ä½ã« picocolors
ãã¤ããããå®ä½ã¯ .pnpm
以ä¸ã¸ã®ã·ã³ããªãã¯ãªã³ã¯ã§ãããã¨ãäºæ³ã§ãã¾ããåæ§ã«ã¢ã¸ã¥ã¼ã«æ°ãå¢ãã¦ãæ§é ã大ããå¤ãããªããã¨ãäºæ³ã§ããã§ãããã
ãã®ä»çµã¿ã node_modules ã®ç¯ç´ã«ç¹ãã£ã¦ãããã¾ãåã¢ã¸ã¥ã¼ã«ç¬ç«ãã¦ãã£ãã·ã¥ã§ãããã¨ãããã£ãã·ã¥ã®å¹çåã«ãç¹ãã£ã¦ãã¾ãã
ããã¾ã§ pnpm ã§è¤æ°ãã¼ã¸ã§ã³ã®ã¢ã¸ã¥ã¼ã«ãæ··å¨ããå ´åã§ãåé¡ãªãåããã¨ã説æãã¦ãã¾ããã
ä»ã«ãããããã¬ãã«ã® node_modules
ã«ã¯ãä¾åã®ä¾åããé
ç½®ãããªãããã dependencies ã«æå®ããã¦ããªãã¢ã¸ã¥ã¼ã«ã¯ã¦ã¼ã¶ç©ºéããèªã¿è¾¼ããã¨ãã§ããªããªã©ã®ä»çµã¿ããããããå®å
¨ã§æ確㪠dependencies ã®éç¨ãæ¯ãã¦ããããã®ã¨ãªã£ã¦ãã¾ãã
ãã®ä»ã® pnpm ã®ä»çµã¿ã®è©³ç´°ã«ã¤ãã¦ã¯ã以ä¸ã®å ¬å¼ã«ããè¨äºãåèã«ãªãã¾ãã pnpm.io pnpm.io
workspace
pnpm ãä»ã®ããã±ã¼ã¸ããã¼ã¸ã£åæ§ã workspace æ©è½ãæä¾ãã¦ãã¾ãã
npm ã yarn ã® workspace ã§ã¯åä¸ã©ã¤ãã©ãªã® hoisting ã解決é åºã®åé¡ãªã©éç¨ã«ãã¯ããã¯ãå¿ è¦ã§ãããã pnpm ã§ã¯ä¸è¨ã®ä»çµã¿ã«ãããã¢ã¸ã¥ã¼ã«ã®è§£æ±ºã¨å¹çåãã¦ã¼ã¶ãæå³ããå¿ è¦ãããã¾ããã
ãã®ããã node_modules ã®å¹çåã hoisting ãæ°ã«ããç´ç²ã«è²¬åã«å¿ãã¦ä¾åã¢ã¸ã¥ã¼ã«ã workspace root ã«ç½®ãããããã¼ã¸ã§ã³éãã® React ã¢ããªã±ã¼ã·ã§ã³ãåä¸ã® workspace ã«é ç½®ãããããç¨åº¦ã§ã¯åé¡ã¯çºçããªãããã«ãªã£ã¦ãã¾ãã
注æç¹
åè¿°ã®éãã pnpm ã§ã¯æ示çã«ä¾åã«ç¤ºãããã¢ã¸ã¥ã¼ã«ãã import ã§ãã¾ãããããã¯ãä¾åã®ä¾åãã«ã¤ãã¦ãåæ§ã§ããä¾åãã® dependencies ã«è¨è¿°ããã¦ããªããã®ã¯ä½¿ç¨ã§ãã¾ããã
使ç¨ãã¦ããã¢ã¸ã¥ã¼ã«ã® peerDependencies ã«æå®ããã¦ãããã®ãå¶ç¶ä»ã®ã¢ã¸ã¥ã¼ã«ã«ãã£ã¦å ¥ã£ã¦ããå ´åã«æ£å¸¸ã«åä½ããªããªãå¯è½æ§ãããããã peerDependencies ã®ç²¾æ»ãå¿ è¦ã§ããã¢ã¸ã¥ã¼ã«ã«ãã£ã¦ã¯ãä¾åã®ä¾åãã§æé»ã«ã¤ã³ã¹ãã¼ã«ããããã¨ãæå¾ ã㦠peerDependencies ã®è¨è¼ããªããã®ãããããããã¾ããã
ã¾ããç¹å®ã¢ã¸ã¥ã¼ã«ããããããããç¹å®ã¢ã¸ã¥ã¼ã«ã plugin ã¨ãã¦åãåããã®ã注æãå¿ è¦ã§ãã
å ·ä½çã«ã¯ webpack 㯠compiler ã¨ã㦠webpack-dev-server ãåãåãã¾ãããããå®è¡ã³ã³ããã¹ã㯠webpack å ã®ã³ã¼ãã¨ãªãããã webpack-dev-server ã® dependencies ã«ããã³ã¼ãã«ã¯å°éã§ããã¨ã©ã¼ã¨ãªã£ã¦ãã¾ãã¾ãã(ãã®è¾ºãã¯è¬ãå¤ãã深追ãã§ãã¦ããªãã®ãç¾ç¶ã§ãã)
ç§ãçºè¦ã§ããã®ã¯ webpack ã ãã§ãããä»ã® plugin æ©æ§ãæã¤ã¢ã¸ã¥ã¼ã«ã§ãåæ§ã®ãã¨ãèµ·ããå¾ãå¯è½æ§ãããã¾ãã ãããã«ãããååãªåä½ç¢ºèªãå¿ è¦ã¨ãªãã¾ããããã³ãã¨ã³ãã®ã³ã¼ãã§ããã°ãã«ããã§ããã° import ã®åé¡ã¯è§£æ±ºããã¨èãããã¨ãã§ãã¾ãããããã§ãªãå ´åã¯ãã¹ãã±ã¼ã¹ãååå¿ è¦ã§ãããã
ãããã®å¿é
ãããã« pnpm ã«ç§»è¡ããæ¹æ³ãããã¾ãããã㯠.npmrc
ã« node-linker:hoisted
ãæå®ãããã¨ã§ãã(https://pnpm.io/npmrc#node-linker)
ããã¯å¾æ¥ã® npm ã®ãããªãã©ãã㪠node_modules ãçæãããªãã·ã§ã³ã§ããããã«ããå³å¯ãªä¾åã®ç®¡çãã§ããªããªãã¾ããããããã移è¡ã®é害ã¨ãªã£ã¦ããå ´åã«ã¯æå¹ãã¨æããã¾ãã
Näºåæ ¡ã¢ããªã±ã¼ã·ã§ã³ã§ã® pnpm æ¡ç¨
ããã¾ã§ã§ pnpm ãã©ã®ãããªä»çµã¿ã§ãããããã¾ã§ã®èª²é¡ã解決ãã¦ãããããªãã¨ããããã¾ããããã§ã¯ããã§ãç§ãã¡ã®è©±ããã¾ãã
Näºåæ ¡ã¢ããªã±ã¼ã·ã§ã³ã§ã¯ yarn v3 ã使ç¨ãã¦ãã¾ããããã®ã³ã¼ããã¼ã¹ã¯ç´ 8 å¹´ãã®é代è¬ãç¶ããªããæ¡å¤§ãç¶ãã¦ãã¦ãããä¾åã¢ã¸ã¥ã¼ã«ã®æ°ãç¸å½ãªãã®ã¨ãªã£ã¦ãã¾ãã
ã¾ãç§ãã¡ç¹æã®äºæ ã¨ãã¦ã CI ç°å¢ã§ãã AWS CodeBuild ä¸ã§ yarn ã®ä¸¦åã¤ã³ã¹ãã¼ã«ããã¾ãåããã並åæ° 1 ã§å®è¡ãã¦ãããã¨ãæéããããåå ã¨ãªã£ã¦ãã¾ããã
ãã®ããã CI/CD æã®ã¢ã¸ã¥ã¼ã«ã®ã¤ã³ã¹ãã¼ã«ã®æéãå ããå²åãé«ããç¹ã«ãªãªã¼ã¹ä½æ¥çã§é£ç¶ã㦠CI/CD ãå¾ ã¤å¿ è¦ãããå ´åã«å¾ ã¡æéãé·ããä½æ¥ã«å¤§ããªæ¯éããããã¦ãã¾ããã
æ¨å¹´ã® 10 æã«å ¥ç¤¾ããç§ãã¯ããã¦ã®ãªãªã¼ã¹ä½æ¥ãããéã«ããã¾ãã®å¾ ã¡æéã®é·ãã«ä¸ä¾¿ããæãããã¨ããæ¤è¨æ®µéã«ãã£ã pnpm 移è¡ãå®æ½ã«è¸ã¿åããã£ããã§ãããç§ã¯å人ããã¸ã§ã¯ãã以åã®è·å ´ãå«ã㦠pnpm ã®æ¡ç¨ã§é«éåã§ããçµé¨ããã£ããããæ¥é½ pnpm 対å¿ã®ãã«ãªã¯ã¨ã¹ããåºããå®å ¨æ§ã®ç¢ºèªã説æããããã¼ã ã«ãç¡äºåãå ¥ãããããã移è¡ããéã³ã¨ãªãã¾ããã
ä¸è¨ã®ã¡ãªãããç¸ã¾ã£ã¦ããã±ã¼ã¸ã¤ã³ã¹ãã¼ã«ã®æéã¯å¤§å¹ åæ¸ããã CI ã§ã¯ãã£ãã·ã¥ã¯ä½¿ã£ã¦ãã¾ããã並åã¤ã³ã¹ãã¼ã«ãå¯è½ã«ãªã£ããã¨ã§ç´ 20 åããã£ã¦ããã¨ãããç´ 14 åã«ã CD ã§ã¯ cache ããã¾ãå¹ããã¨ã«ãã£ã¦ 7 åãã 1 åã¸ãç縮ãã§ãã¾ããã
å¯æ¬¡çãªä½ç¨ã¨ãã¦ããã¼ã«ã«ã§ã webpack ã jest ã®èµ·åãé«éåãã¾ãããããã¯èª¿ã¹ã¦ãæ確ãªçç±ã¯ã¯ã£ãããã¾ãããã node_modules ã®è§£æ±ºãé«éãããã¨ãé¢ä¿ãã¦ããã®ãã¨æ¨æ¸¬ãã¦ãã¾ãã
çµããã«
æè²äºæ¥ã§ã¯ Näºåæ ¡ã¢ããªã±ã¼ã·ã§ã³ä»¥å¤ã«ãæ§ã ãªã¢ããªã±ã¼ã·ã§ã³ãããã¾ãããä¸è¨ã®æåä¾ãå ã«ä»ã®ã¢ããªã±ã¼ã·ã§ã³ã§ã pnpm ã®æ¡ç¨ãé²ã¿ã¾ããã ä»ã«ãããã³ãã¨ã³ãã®è¶³åãã軽ãããæ¥ãã¹ãæ¹ä¿®ã«åããåãã常ã«ãã¦ããã¾ãã
ææ¥ 5 æ 11 æ¥ã«éå¬ããã TSKaigi ã§ãã¯ã³ã´ã¯ãã©ããã¹ãã³ãµã¼ãããã¦ããã ãã¦ããã¾ãã
æè²äºæ¥ã®ã¡ã³ãã¼ãã¹ãã³ãµã¼ LT æ ã§çºè¡¨ããã®ã§ããã²ãã¯ã³ã´ã®åãçµã¿ãè¦ã«ãè¶ããã ããã ç§ã¯ LT æ ã§ãã¯ãã«ãª TypeScript ã®ä½¿ãæ¹ã«ã¤ãã¦çºè¡¨ãã¾ããã楽ãã¿ã«ï¼
We are hiring!
Näºåæ ¡ã® Web ããã³ãã¨ã³ããã¼ã ã§ã¯ãç¡çãªãç¶ç¶çãªéçºããã¦ããæ段ã模索ãã仲éãåéãã¦ãã¾ãã ã«ã¸ã¥ã¢ã«é¢è«ãè¡ã£ã¦ãã¾ãã ãæ°è»½ã«ãé£çµ¡ãã ããï¼
ã«ã¸ã¥ã¢ã«é¢è«å¿åãã©ã¼ã ã¯ãã¡ã
éçºãã¼ã ã®åãçµã¿ãæè²äºæ¥ã®ä»å¾ã«ã¤ãã¦ã¯ãä»ã®è¨äºãæ¡ç¨è³æãã覧ãã ããã