ãã°ã説æãã
create-react-app yarn start
ãšyarn test
ã䜿çšããŠæ°ãããããžã§ã¯ããäœæããåŸãå®è¡ãããŸããã
babel-loaderããŒãžã§ã³ãšã®ç«¶åããããŸãã
package.jsonã®è¡ã"babel-loader": "8.0.4"
ãšãä¿®æ£ãããããã§ãã
åçŸããã«ã¯
åäœãåçŸããæé ïŒ
npx create-react-app taskbox
ãããžã§ã¯ããéå§ããŸãnpx -p @storybook/cli sb init
yarn test
å®è¡ããŸãäºæ³ãããè¡å
ãã¹ããå®è¡ããå¿
èŠããããŸãã
ã³ãŒãã¹ãããã
npx create-react-app taskbox
Creating a new React app in /Users/aericson/projects/taskbox.
Installing packages. This might take a couple of minutes.
Installing react, react-dom, and react-scripts...
yarn add v1.12.3
[1/4] ð Resolving packages...
[2/4] ð Fetching packages...
[3/4] ð Linking dependencies...
[4/4] ð Building fresh packages...
success Saved lockfile.
success Saved 5 new dependencies.
info Direct dependencies
ââ [email protected]
ââ [email protected]
ââ [email protected]
info All dependencies
ââ [email protected]
ââ [email protected]
ââ [email protected]
ââ [email protected]
ââ [email protected]
âš Done in 75.22s.
Initialized a git repository.
Success! Created taskbox at /Users/aericson/projects/taskbox
Inside that directory, you can run several commands:
yarn start
Starts the development server.
yarn build
Bundles the app into static files for production.
yarn test
Starts the test runner.
yarn eject
Removes this tool and copies build dependencies, configuration files
and scripts into the app directory. If you do this, you canât go back!
We suggest that you begin by typing:
cd taskbox
yarn start
Happy hacking!
â projects cd taskbox
â taskbox git:(master) npx -p @storybook/cli sb init
npx: installed 423 in 38.734s
[BABEL] Note: The code generator has deoptimised the styling of /Users/aericson/.npm/_npx/7855/lib/node_modules/@storybook/cli/node_modules/lodash/lodash.js as it exceeds the max of 500KB.
sb init - the simplest way to add a storybook to your project.
⢠Detecting project type. â
⢠Adding storybook support to your "Create React App" based project. â
⢠Preparing to install dependencies. â
yarn install v1.12.3
[1/4] ð Resolving packages...
[2/4] ð Fetching packages...
[3/4] ð Linking dependencies...
warning "@storybook/react > @emotion/styled > @emotion/[email protected]" has unmet peer dependency "@emotion/[email protected]".
warning " > [email protected]" has unmet peer dependency "webpack@>=2".
[4/4] ð Building fresh packages...
success Saved lockfile.
âš Done in 58.11s.
⢠Installing dependencies. â
To run your storybook, type:
yarn storybook
For more information visit: https://storybook.js.org
â taskbox git:(master) â yarn test
yarn run v1.12.3
$ react-scripts test
There might be a problem with the project dependency tree.
It is likely not a bug in Create React App, but something you need to fix locally.
The react-scripts package provided by Create React App requires a dependency:
"babel-loader": "8.0.4"
Don't try to install it manually: your package manager does it automatically.
However, a different version of babel-loader was detected higher up in the tree:
/Users/aericson/projects/taskbox/node_modules/babel-loader (version: 8.0.5)
Manually installing incompatible versions is known to cause hard-to-debug issues.
If you would prefer to ignore this check, add SKIP_PREFLIGHT_CHECK=true to an .env file in your project.
That will permanently disable this message but you might encounter other issues.
To fix the dependency tree, try following the steps below in the exact order:
1. Delete package-lock.json (not package.json!) and/or yarn.lock in your project folder.
2. Delete node_modules in your project folder.
3. Remove "babel-loader" from dependencies and/or devDependencies in the package.json file in your project folder.
4. Run npm install or yarn, depending on the package manager you use.
In most cases, this should be enough to fix the problem.
If this has not helped, there are a few other things you can try:
5. If you used npm, install yarn (http://yarnpkg.com/) and repeat the above steps with it instead.
This may help because npm has known issues with package hoisting which may get resolved in future versions.
6. Check if /Users/aericson/projects/taskbox/node_modules/babel-loader is outside your project directory.
For example, you might have accidentally installed something in your home folder.
7. Try running npm ls babel-loader in your project folder.
This will tell you which other package (apart from the expected react-scripts) installed babel-loader.
If nothing else helps, add SKIP_PREFLIGHT_CHECK=true to an .env file in your project.
That would permanently disable this preflight check in case you want to proceed anyway.
P.S. We know this message is long but please read the steps above :-) We hope you find them helpful!
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
â taskbox git:(master) â
ã€ã³ã¹ããŒã«ãããŠããããŒãžã§ã³ã¯æ¬¡ã®ãšããã§ãã
`` `
npx create-react-app --version
2.1.3
ã¹ããŒãªãŒããã¯ãsb init
è¿œå ããããŒãžã§ã³
"devDependencies"ïŒ{
"@ storybook / react"ïŒ "^ 4.1.4"ã
"@ storybook / addon-actions"ïŒ "^ 4.1.4"ã
"@ storybook / addon-links"ïŒ "^ 4.1.4"ã
"@ storybook / addons"ïŒ "^ 4.1.4"ã
"@ babel / core"ïŒ "^ 7.2.2"ã
"babel-loader"ïŒ "^ 8.0.5"
}
ãã
ã·ã¹ãã ïŒ
+1
ããã¯ãCRAã¢ããªã«babel-loader
ãã€ã³ã¹ããŒã«ããã¹ãã§ã¯ãªããšããæå³ã§ããïŒ
ããŒãã babel-loader
depãåé€ãããšãã¹ããŒãªãŒããã¯ãå£ããŸã...ð
åãåé¡ãæ±ããŠããð
åãåé¡...ãŸã åé¿çã¯ãããŸããïŒ
@ ayoola-mooreã¯ããåé¿çã¯package.json
ã®è¡ã次ã®ããã«å€æŽããããšã§ãã
"babel-loader": "8.0.4"
ãã®ããã«ããŠã react-scripts
ãšstorybook
äž¡æ¹ãæ©èœããŸãã ãŸã ããè¯ã解決çãæ¢ããŠããŸãã ïŒæ··ä¹±ïŒ
cc @artisologic @YoannDelpierre @ovionlogis @patricknick @mrmckeb @ivnkld @viniciusreiss @dlevs @Jipperism @euskonadox @fuadajip @AMTourky @greatermeans @tmeasday @ Eugene-Sviridov @nerfologist
@shilman ãç§ãããã«ã€ããŠèããŠããŸãã react-scriptsããbabel-loader
ãå
¬ââéããããšãæ€èšã§ããŸã...ããã¯åœ¹ç«ã€ãããããŸããã chalk
ïŒhttps://github.com/facebook/create-react-app/pull/6150ïŒã§åæ§ã®ããšãããæè¿ã®PRããããŸããã
ãããã¯ãããã@storybook/react
äŸåé¢ä¿ã§ããå Žåãããç°¡åã§ããããïŒ ãã¢äŸåã§ã¯ãªãã ãã ããCRA以å€ã®ãŠãŒã¶ãŒã«ã¯åé¡ãçºçããå¯èœæ§ãããããšãèªèããŠããŸãã
ãŸãã¯ã react-scripts
ãååšããå Žåã react-scripts/node_modules/babel-loader
ããbabel-loader
ãçŽæ¥ã€ã³ããŒãããããšãã§ããŸãã react-scripts
ãã©ã«ããŒããæ§æãæ¢ã«ããŒãããŠããŸãã
@ã€ãŽãŒã«-DV @ndelangen @tmeasday @mrmckebãäžã«ã¬ã€ã¢ãŠãããããšã®ãªãã·ã§ã³äžã®ä»»æã®æèŠïŒ ããã¯CRAããªã»ããã§åŠçã§ãããã®ã§ããïŒ
åé¿çã¯ç§ã«ã¯ããŸããããªãããã§ãã åé¿çãè©ŠããåŸãã競åãçºçããŸãã
åé¿çã¯ç§ã«ã¯ããŸããããªãããã§ãã åé¿çãè©ŠããåŸãã競åãçºçããŸãã
å é ã®ã^ããå¿ ãåé€ããŠãã ãããåé€ããªããšã8.0.5ã衚瀺ãããŸãã
react-scripts
ãèŠã€ããå Žæããbabel-loader
å¿
èŠã«ãªãå¯èœæ§ããããšæããŸãïŒ react-scripts
ãšã¯ã¹ããŒãããå Žåã¯ç°¡åã«ãªããŸããã requireFrom
ãªã©ã䜿çšããŸãïŒ ïŒCRAã®webpackæ§æã䜿çšããŠããå Žåã
ããªã»ããã¯ãããããè¯ãããã§ãããããç§ãã¡ã¯ãã§ã«CRAã®ç¹å¥ãªã±ãŒã¹ã³ãŒããæã£ãŠãããšæããŸãïŒããã®æ§æã䜿çšããããã«ïŒã®ã§ãããããããã§ãããè¡ãã®ã¯æ¯èŒçç°¡åã§ããããïŒ
åé¿çã¯ç§ã«ã¯ããŸããããªãããã§ãã åé¿çãè©ŠããåŸãã競åãçºçããŸãã
å é ã®ã^ããå¿ ãåé€ããŠãã ãããåé€ããªããšã8.0.5ã衚瀺ãããŸãã
ããã¯ç§ã®package.jsonã«ãããã®ã§ãïŒ "babel-loader"ïŒ "8.0.4"
åé¿çã®ããã«å®è¡ããå¿ èŠãããä»ã®æé ã¯ãããŸããïŒ
@jlmelis ãã©ã®ããŒãžã§ã³ã®ãreact-scriptsããã€ã³ã¹ããŒã«ãããŠããŸããïŒ ãreact-scriptsãã®å ŽåïŒã2.1.3ãã®åé¿çã¯æ£åžžã«æ©èœããŠããããã§ãã
@ vsubbotskyy -npxã§create-react-appãå®è¡ããŠããŸãã 衚瀺ãããããŒãžã§ã³ã¯2.1.3ã§ãã ããããä»ã®äœããç§ã®ã»ããã¢ããã§åä»ã§ãã ä¿®æ£ãè¡ããããã©ããã確èªããããã«ããããç£èŠããŸãã ããããšãïŒ
ç§ã¯ä»äºãåé¿ããããšãã§ããŸããã ããããšã
åšããèŠåããŸãããããã®æ®µéã§ã¯ãCRAããããŒããŒã«èŠæ±ããæ¹ãç°¡åã ãšæããŸãïŒCRAã䜿çšããå ŽåïŒã ä»ããPRãããŸãã
@ tmeasday ãPRïŒ5308ãå¯ãããã ããã°å¹žãã§ãã
ç§ã¯åãåé¡ãçµéšããæçµçã«ãããä¿®æ£ããŸããã package.jsonãã¡ã€ã«ã§babel-loaderãã8.0.4ãã«æ»ããpackage-lock jsonãã¡ã€ã«ãåé€ããå¿ èŠããããŸããããã®åŸãã¹ããŒãªãŒããã¯ãèµ·åããŠãã¹ãããããšãã§ããŸããã ãããã圹ã«ç«ãŠã°å¹žãã§ãã
"_package.json_ã§babel-loaderã" 8.0.4 "ã«æ»ããŸããã"
ããã解決çã§ã¯ãªããreact-scriptsã®æŽæ°ããããã¯ããŠãããããããã«ä¿®æ£ãããããšãé¡ã£ãŠããŸãïŒ/
ããããšã
+1
ç³ãèš³ãããŸããããç§ã¯1.5é±é掻åãåæ¢ããããã«é¢ããã¬ãã¥ãŒã远跡ããŸããã§ããã ä»ããããŠããŸãã
ãŸã åãåé¡ããããŸã
@oscargwsã«æè¬ã@ndelangen ããã®PRãèŠãŠããã ããŸããïŒ
@mrmckebãããšãŠãããã åé¡ãæ±ããŠããä»ã®äººã®ããã«ãpackage.jsonã®babel-loaderããŒãžã§ã³ãæåã§å€æŽããããšã§ä¿®æ£ãããŸããïŒ
誰ããããã§äœãæ£ç¢ºã«å£ããŠãããç¥ã£ãŠããŸããïŒ ããã¯ãããããŒãžã§ã³ã®ãã³ãã§ããç§ã«ã¯å¥åŠã«æããŸãã
@ igor-dvãåé¡ã¯ãCRAãå®å
šãªããŒãžã§ã³äžèŽãæåŸ
ããŠããããšã§ã-競åããäœããpackage.json
ã€ã³ã¹ããŒã«ããããšããšã©ãŒãã¹ããŒãããŸãã ãããã£ãŠãCRAãããŒãžã§ã³ãŸãã¯2ã€é
ããŠããå Žåã¯ãã€ã§ãïŒãããããŒãžã§ã³ã§ãã£ãŠãïŒããŠãŒã¶ãŒã¯Storybookã®ã€ã³ã¹ããŒã«åŸã«ãã®ãšã©ãŒã確èªã§ããŸãã
ããã§ã®è§£æ±ºçã¯ãCRAã䜿çšãããšãã«CRAã®ããŒãžã§ã³ã®babel-loader
ã䜿çšããŠããã®åé¡ãçºçããªãããã«ããããšã§ãã
次ã®åé¿çã¯ç§ã®ããã«åããŸãïŒ
package.jsonã®è¡ã
"babel-loader": "8.0.4"
ãšãä¿®æ£ãããããã§ãã
ããã«é¢ããæŽæ°ã¯ãããŸããïŒ "babel-loader": "8.0.4"
ãŸãã¯ä»ã®ã¹ããããè¿œå ããã ãã§ã¯è§£æ±ºã§ããŸãã
ããã«é¢ããæŽæ°ã¯ãããŸããïŒ
"babel-loader": "8.0.4"
ãŸãã¯ä»ã®ã¹ããããè¿œå ããã ãã§ã¯è§£æ±ºã§ããŸãã
äŸåé¢ä¿ãšãã¢äŸåé¢ä¿ã®äž¡æ¹ãšããŠbabel-loader8.0.4ãè¿œå ããããšã§ãããã解決ããããšãã§ããŸããã
äŸåé¢ä¿ãšãã¢äŸåé¢ä¿ã®äž¡æ¹ãšããŠbabel-loader8.0.4ãè¿œå ããããšã§ãããã解決ããããšãã§ããŸããã
Unfournatatleyã¯ç§ã«ã¯åããŠããŸãããç§ã¯babel-loader": "8.0.5
ãèŠæ±ããŠããŸããããããéããçããã©ããã¯ããããŸããããŸãã npm ls babel-loader
ãå®è¡ãããšã次ã®ããã«ãªããŸãã
âââ [email protected]
ââ⬠[email protected]
âââ [email protected] deduped
ââ⬠[email protected]
âââ [email protected]
@ Rolando-Barbella package.jsonã®resolution
ãã£ãŒã«ããã8.0.4
ããŒãžã§ã³ãåºå®ããŠã¿ãŠãã ãã
ããŒãžã§ã³ã2.1.2
ãã2.1.5
ã«å€æŽãããšããã解決ããŸãã
ã¯ããããã¯ä»ã®ãšãã@nguyentuandatã®è¯ãåé¿çã§ããããããé©åã«åŠçããæ¹æ³ãç解ãããŸã§ã¯äžæçãªãã®ã§ãã
react-scriptsã®æŽæ°ã¯ç§ã®ããã«åããïŒthxã@ nguyentuandatïŒã ç§ã¯2.1.1ã«ããŠãå€æŽãã°ããã®æ瀺ã§æŽæ°ãããŸããïŒ
yarn add --exact [email protected]
ããã§ãã¹ãŠãè©ŠããåŸãç§ã¯è§£æ±ºçãèŠã€ããŸããã
ããã¹ããšãã£ã¿ã§.profileãéãã ãã§ãïŒããŒã ãã£ã¬ã¯ããªã«é衚瀺ã«ãªã£ãŠãããããCtrl + HãæŒããŸãïŒ
ãã®è¡ã.profileã®äžéšã«è²Œãä»ããã ãã§ã
export PATH = $ HOME / .node_modules_global / binïŒ$ PATH
ãããŠVoila ....ããã¯åäœããŸã
"react-scripts": "2.1.8"
ãšstorybook
v5ã䜿çšãããšãåããšã©ãŒãçºçããŸãã
ä»ã®äººãè¿°ã¹ãŠããããã«ã "babel-loader": "8.0.4"
ãdevDependency
ãšããŠæåã§è¿œå ãããšä¿®æ£ãããŸããã
Yarn
ã䜿çšããŠ"react-scripts": "2.1.5",
ãš"@storybook/react": "^4.1.4",
ãã€ã³ã¹ããŒã«ããŸãã
The react-scripts package provided by Create React App requires a dependency:
"babel-loader": "8.0.5"
Don't try to install it manually: your package manager does it automatically.
However, a different version of babel-loader was detected higher up in the tree:
babel-loader (version: 8.0.4)
npm ls babel-loader
ãå®è¡ãããšã次ã®ããã«ãªããŸãã
ââ⬠UNMET DEPENDENCY [email protected]
â âââ UNMET DEPENDENCY [email protected]
ââ⬠UNMET DEPENDENCY [email protected]
âââ UNMET DEPENDENCY [email protected]
babel-loader
ãç§ã®package.jsonã«ååšããŸããã ãŸãã8.0.4ããŒãžã§ã³ãdevDependencyãšããŠè¿œå ããŠããåé¡ã¯è§£æ±ºããŸããã
npm i
ã¯æåŸ
ã©ããã«æ©èœããŸãã ãããã npm start
ãããããšãããšãåãåé¡ãèŠã€ãããŸãïŒ
There might be a problem with the project dependency tree.
It is likely not a bug in Create React App, but something you need to fix locally.
The react-scripts package provided by Create React App requires a dependency:
"babel-loader": "8.0.5"
Don't try to install it manually: your package manager does it automatically.
However, a different version of babel-loader was detected higher up in the tree:
.../node_modules/babel-loader (version: 8.0.4)
ãããïŒ ãã®åé¡ãåç §ããPRïŒ5308ãå«ãhttps://github.com/storybooks/storybook/releases/tag/v5.1.0-alpha.25ããªãªãŒã¹ããŸããã ä»ããã¢ããã°ã¬ãŒãããŠãè©Šããã ããïŒ
ãã¬ãªãªãŒã¹ãªã®ã§ã @next
NPMã¿ã°ã§èŠã€ããããšãã§ããŸãã
ãã®åé¡ãéããŸãã ãŸã ãŸã ããããšããããšæãããå Žåã¯ãå床éããŠãã ããã
ææ°ã®ããŒã¿ãã«ããè©ŠããŸããã [email protected]
ãšããã§èª¬æãããŠããTypescriptã»ããã¢ããã§ã¹ããŒãªãŒããã¯ã䜿çšããŠããŸãïŒ https ïŒ//storybook.js.org/docs/configurations/typescript-config/#setting -up-typescript-with-babel-loader
ãã ããrequireãCRA babel-loaderãèŠã€ããããšãã§ããªããããããã¯å€±æããŸãã ãã®ããã®è§£æ±ºçã¯ãã§ã«ãããŸããïŒ
@mrmckebã¯ããã«ã€ããŠ
ææ°ã®ããŒã¿ãã«ããè©ŠããŸããã
[email protected]
ãšããã§èª¬æãããŠããTypescriptã»ããã¢ããã§ã¹ããŒãªãŒããã¯ã䜿çšããŠããŸãïŒ https ïŒ//storybook.js.org/docs/configurations/typescript-config/#setting -up-typescript-with-babel-loaderãã ããrequireãCRA babel-loaderãèŠã€ããããšãã§ããªããããããã¯å€±æããŸãã ãã®ããã®è§£æ±ºçã¯ãã§ã«ãããŸããïŒ
ããã "react-scripts": "3.0.1"
ã§ãåãåé¡ãçºçããŸãã
ããã¯ãã¹ããŒãªãŒããã¯ãã³ãŒãããŒã¹ã«è¿œå ããåŸã«åŸããã®ã§ãã
* The react-scripts package provided by Create React App requires a dependency:
"babel-jest": "24.7.1"
Don't try to install it manually: your package manager does it automatically.
However, a different version of babel-jest was detected higher up in the tree:
/xxx/node_modules/babel-jest (version: 24.8.0)
devDependencies
"typescript": "3.4.5",
"@storybook/react": "^5.0.11",
"@storybook/addon-actions": "^5.0.11",
"@storybook/addon-links": "^5.0.11",
"@storybook/addons": "^5.0.11",
"@babel/core": "^7.4.4",
"babel-loader": "^8.0.6"
npm ls babel-jest
ââ⬠[email protected]
âââ [email protected]
ââ⬠[email protected]
ââ⬠[email protected]
ââ⬠[email protected]
âââ [email protected]
ããã«ã¡ã¯@patricknickãš@ wxqee ãCRAã䜿çšããŠããå Žåã¯ã«ã¹ã¿ã æ§æã¯å¿ èŠãããŸããïŒïŒTypeScriptã¯ããã«äœ¿çšã§ããŸãã ã«ã¹ã¿ã æ§æã䜿çšããã«æ°èŠã€ã³ã¹ããŒã«ã§è©ŠããŠã¿ãŠãæ©èœããªãå Žåã¯ãç¥ãããã ããã
@ shilman-ãããããããåæ ããããã«ããã¥ã¡ã³ããæŽæ°ããå¿ èŠããããŸããïŒ
babel-jest
åé¡ã¯ãææ°ããŒãžã§ã³ã®CRA @ummahuslaã§è§£æ±ºããå¿
èŠããããŸãã解決ããªãå Žåã¯ã httpsïŒ//github.com/facebook/create-react-app/issuesã§è§£æ±ºããŠ
ããã«ã¡ã¯@mrmckeb ãããªãã®å©ããããããšãïŒ ç§ã¯ããªãã®è§£æ±ºçãè©Šããã«ã¹ã¿ã webpack.config.jsãåé€ããŸããïŒ
// @ts-check
module.exports = ({ config, mode }) => {
config.module.rules.push({
test: /\.(ts|tsx)$/,
loader: require.resolve('babel-loader'),
options: {
presets: [['react-app', { flow: false, typescript: true }]],
},
});
config.resolve.extensions.push('.ts', '.tsx');
return config;
};
æ®å¿µãªãããããã«ãã次ã®ãšã©ãŒãçºçããŸãã
ERROR in ./.storybook/config.tsx 22:32
Module parse failed: Unexpected token (22:32)
You may need an appropriate loader to handle this file type.
addDecorator(story => {
const DefaultRoute = props => <div id="router">{story()}</div>;
return (
<BrowserRouter>
ããã¯ç§ã®config.tsxã§ãïŒ
import { withOptions } from '@storybook/addon-options';
import { addDecorator, configure } from '@storybook/react';
import { Grommet } from 'grommet';
import React from 'react';
import { BrowserRouter } from 'react-router-dom';
import GlobalStyle from '../src/globalStyles';
import '../src/i18n';
import { theme } from '../src/theme/index';
// automatically import all files ending in *.stories.tsx
const req = require.context('../src', true, /\.stories\.tsx$/);
function loadStories() {
req.keys().forEach(filename => req(filename));
}
withOptions({
addonPanelInRight: true,
});
addDecorator(story => {
const DefaultRoute = props => <div id="router">{story()}</div>;
return (
<BrowserRouter>
<DefaultRoute default />
</BrowserRouter>
);
});
addDecorator(story => (
<>
<GlobalStyle />
{story()}
</>
));
addDecorator(story => <Grommet theme={theme}>{story()}</Grommet>);
configure(loadStories, module);
ããã«ã€ããŠã®ãã³ããæããŠããããŸããïŒ ããããšãïŒ
åãåé¡ãçºçããŠããŸãã JSX
解æã«ã¯éåžžã«äžæºãããããã§ãã
@mrmckeb @storybook/preset-typescript
ããªãªãŒã¹ããã°ããã§ããšã«ããtypescriptããã¥ã¡ã³ããæŽæ°ããå¿
èŠããããŸãã TypescriptãšCRAã«ã€ããŠç§ãäœãèšãã¹ãããæããŠããã ããã°ããããã¢ããããŒãã«åãå
¥ããããšãã§ããã°å¹žãã§ãã ããããšãïŒ ð
@shilmanã«æè¬ããŸãã CRAããªã»ããã¯å éšã§CRAæ§æã䜿çšãããããCRAãå®è¡ã§ãããã¹ãŠã®æ©èœïŒTypeScriptãCSSã¢ãžã¥ãŒã«ãSassãªã©ïŒããµããŒãããŸããåºæ¬çã«ããããæ©èœãããããã«å¿ èŠãªãã®ã¯ãããŸãããã€ã³ã¹ããŒã«ããŠå®è¡ããã ãã§ãã
åè¿°ã®ããã«äžèšã®babel-loader
åé¡ã«ééããStorybookã®èšå®ãè¿œå ãããšãç§ã®CRAãççºããŸããã @storybook/[email protected]
ãªãªãŒã¹ãã€ã³ã¹ããŒã«ããŸããã Storybookã¯ãã«ããããŠå®è¡ãããŸãããUIã«ã¹ããŒãªãŒ/ã³ã³ããŒãã³ããå
¥åãããŸããã ãããŠstdout
ç§ã®ãã¹ãŠã®ç©èªã¯ãããã®èŠåãæããŠããŸãã
WARNING in ./stories/core.stories.js
Module build failed (from ./node_modules/react-scripts/node_modules/babel-loader/lib/index.js):
SyntaxError: /project-ui/stories/core.stories.js: Unexpected token (14:47)
13 | storiesOf('core/component', module)
> 14 | .add('standard text', () => <Component block={FIXTURE} />)
ä»ã®ããªãšãŒã·ã§ã³ãè©ŠããŸããããã©ããæ©èœããŸãã...
const FIXTURE = {..some-data...}
storiesOf('core/component', module)
.add('standard text', () => (<Component block={FIXTURE} />))
5.0.11
ã«æ»ããšãStorybookãã«ãã§åã³æ©èœããèŠåãã¹ããŒãããªããªããŸãã ãããŠãç§ã®CRAã¯åã³æ©èœããŠããŸã...ã¢ããã°ã¬ãŒããã¹ã®ããã«äœãä»ã®ããšãããå¿
èŠããããŸããïŒ æšæ¥ã¹ããŒãªãŒããã¯ãã»ããã¢ããããã ãã§ããããžã§ã¯ãã¯ãšãŠãæ°ãããªããŸããã
çŸåšãç¶æ³ã¯åã³æ©èœããŠããŸã...ãããã 5.1.x
ãªãªãŒã¹ã«é¢ããç§ã®ç°å¢ã®ç¶æ
ã«ã€ããŠæžå¿µããããŸãã
ä»ã®èª°ããç§ãšåãç¶æ³ã«é¥ã£ãå Žåã«åããŠïŒStorybooksãCRAã®ãã«ãèšå®ã䜿çšããå ŽåãStorybooks + CRAçµ±åãæ©èœãããããšãã§ããŸããã§ããã ãããããã®åŸãèªåã®ã¹ããŒãªãŒãCRAãããžã§ã¯ãã®src/
ãã£ã¬ã¯ããªã«ç§»åããããšããŸããããçªç¶æ©èœããŸããã çç±ã¯ããããŸãããããã£ãšæšå¥šãããŠããã®ããå¿
èŠãªã®ãã¯ããããŸããããããã§ä¿®æ£ãããŸããã
æ°ããCRAtypescriptã¢ããªã§ãç§ããã®åé¡ãæ±ããŠããŸãã ãã¹ã¿ãŒãšã¹ããŒãªãŒããã¯5.0.11ããã®ææ°ã®CRA
@revmischaã¯src/
äžã®ããªãã®ç©èªã§ããïŒ
ã¯ã@ shilman-ç§ã¯åºæ¬çã«CRAãå®è¡ããŠããhttps ïŒ
ã¹ããŒãªãŒã¯src /å ã«ãããŸãã
=> Found "[email protected]"
info Has been hoisted to "babel-loader"
info This module exists because it's specified in "devDependencies".
info Disk size without dependencies: "92KB"
info Disk size with unique dependencies: "520KB"
info Disk size with transitive dependencies: "1.28MB"
info Number of shared dependencies: 18
=> Found "jetbridge-react-scripts#[email protected]"
info This module exists because "jetbridge-react-scripts" depends on it.
info Disk size without dependencies: "76KB"
info Disk size with unique dependencies: "536KB"
info Disk size with transitive dependencies: "2.4MB"
info Number of shared dependencies: 29
=> Found "babel-preset-react-app#[email protected]"
info This module exists because "@storybook#react#babel-preset-react-app" depends on it.
info Disk size without dependencies: "1020KB"
info Disk size with unique dependencies: "1.45MB"
info Disk size with transitive dependencies: "3.32MB"
info Number of shared dependencies: 29
devDependenciesããåé€ããå ŽåïŒ
=> Found "[email protected]"
info Reasons this module exists
- "jetbridge-react-scripts" depends on it
- Hoisted from "jetbridge-react-scripts#babel-loader"
- Hoisted from "@storybook#react#babel-preset-react-app#babel-loader"
info Disk size without dependencies: "92KB"
info Disk size with unique dependencies: "552KB"
info Disk size with transitive dependencies: "2.41MB"
info Number of shared dependencies: 29
å²ãã§ãããã©ã«ãã®ãããžã§ã¯ãã«å¥ã®ããŒãžã§ã³ããã£ãããã§ãã
ãã¹ãŠã®ã¹ããŒãªãŒã./stories/*
ãã./src/stories/*
ãã .storybook/config.js
ãæŽæ°ããŸãããããã§ã @storybook/[email protected]
ãŸãã å
æ¥ãããèšå®ããã°ãããªã®ã§ã React
ã®ããã¥ã¡ã³ã/ã»ããã¢ããã¬ã€ãã¯ãæ°ããCRAã»ããã¢ããã䜿çšãã人ã«ãšã£ãŠã¯æ代é
ãã«ãªããŸãã
ãã以å€ã®å Žåã¯ãåé¡ãä¿®æ£ãããããã«èŠããŸãð
ããã«ã¡ã¯ãã¯ããå¿
ãbabel-loader
ãåé€ããå¥ã®å Žæã«ãªã¹ããããŠãããã©ãããç°¡åã«ç¢ºèªããŠãã ããã
å¿ èŠã«å¿ããŠãã®ãã§ãã¯ãã¹ãããããããã«CRAã«æ瀺ããããšãã§ããŸãããå®å šã®ããã«ãããŸã...
@ storybook / react5.0.11ãšãã¹ã¿ãŒããã®ææ°ã®create-react-appã§ãŸã ãã®åé¡ãçºçããŠããŸãã
åé¡ã¯ãCRAãbabel-loader 8.0.5ãå¿
èŠãšããŠããŠã sb init
ãããš"babel-loader": "^8.0.6"
ãpackages.jsonã«è¿œå ãããããšã§ãã
ã§ã¯ãbabel-loader CRAããã§ã«å¿
èŠãšããŠãããã®ãæ€åºãããããè¿œå ããã®ã¯ã©ãã§ããããã ãŸãã¯ãCRAãæ€åºãããå Žåãsbinitã®package.jsonãžã®babel-loaderã®è¿œå ãã¹ãããããŸããïŒ ãã®åé¡ã®å±¥æŽã«åºã¥ããšãã¹ããŒãªãŒããã¯ãšCRAã®éã§2ã€ã®æ£ç¢ºãªããŒãžã§ã³ãåæãããããšã¯ãäœã®è§£æ±ºçã«ããªããŸããã
æ¬åœã«å©ããå¿ èŠã§ãã
ç§ã¯ãã¹ãŠãè©ŠããŸããããã¹ãŠãããŸããããŸãã
`ãããžã§ã¯ãã®äŸåé¢ä¿ããªãŒã«åé¡ãããå¯èœæ§ããããŸãã
Create React Appã®ãã°ã§ã¯ãªãå¯èœæ§ããããŸãããããŒã«ã«ã§ä¿®æ£ããå¿
èŠããããŸãã
Create React AppãæäŸããreact-scriptsããã±ãŒãžã«ã¯ãäŸåé¢ä¿ãå¿ èŠã§ãã
ãããã«ããŒããŒãïŒã8.0.5ã
æåã§ã€ã³ã¹ããŒã«ããããšããªãã§ãã ãããããã±ãŒãžãããŒãžã£ãŒãèªåçã«ã€ã³ã¹ããŒã«ããŸãã
ãã ããããªãŒã®äžäœã§å¥ã®ããŒãžã§ã³ã®babel-loaderãæ€åºãããŸããã
cïŒ\ Users \ Z-Dra \ node_modulesbabel-loaderïŒããŒãžã§ã³ïŒ8.0.6ïŒ
äºææ§ã®ãªãããŒãžã§ã³ãæåã§ã€ã³ã¹ããŒã«ãããšããããã°ãå°é£ã«ãªãããšãç¥ãããŠããŸãã
ãã®ãã§ãã¯ãç¡èŠãããå Žåã¯ããããžã§ã¯ãã®.envãã¡ã€ã«ã«SKIP_PREFLIGHT_CHECK = trueãè¿œå ããŠãã ããã
ããã«ããããã®ã¡ãã»ãŒãžã¯å®å
šã«ç¡å¹ã«ãªããŸãããä»ã®åé¡ãçºçããå¯èœæ§ããããŸãã
äŸåé¢ä¿ããªãŒãä¿®æ£ããã«ã¯ã以äžã®æé ãæ£ç¢ºãªé åºã§å®è¡ããŠã¿ãŠãã ããã
ã»ãšãã©ã®å Žåãããã§åé¡ã解決ã§ããŸãã
ããã§åé¡ã解決ããªãå Žåã¯ãä»ã«ãããã€ãè©Šãããšãã§ããŸãã
npmã䜿çšããå Žåã¯ãyarnïŒhttp://yarnpkg.com/ïŒãã€ã³ã¹ããŒã«ãã代ããã«äžèšã®æé ãç¹°ãè¿ããŸãã
npmã«ã¯ããã±ãŒãžã®å·»ãäžãã«é¢ããæ¢ç¥ã®åé¡ããããå°æ¥ã®ããŒãžã§ã³ã§è§£æ±ºãããå¯èœæ§ããããããããã圹ç«ã€å ŽåããããŸãã
cïŒ\ Users \ Z-Dra \ node_modulesbabel-loaderããããžã§ã¯ããã£ã¬ã¯ããªã®å€ã«ãããã©ããã確èªããŸãã
ããšãã°ãããŒã ãã©ã«ãã«èª€ã£ãŠäœããã€ã³ã¹ããŒã«ããå¯èœæ§ããããŸãã
ãããžã§ã¯ããã©ã«ããŒã§npmlsbabel-loaderãå®è¡ããŠã¿ãŠãã ããã
ããã«ãããïŒäºæ³ãããreact-scriptsãé€ããŠïŒä»ã®ã©ã®ããã±ãŒãžãbabel-loaderãã€ã³ã¹ããŒã«ããããããããŸãã
ä»ã«äœã圹ã«ç«ããªãå Žåã¯ããããžã§ã¯ãã®.envãã¡ã€ã«ã«SKIP_PREFLIGHT_CHECK = trueãè¿œå ããŸãã
ãšã«ããç¶è¡ãããå Žåã¯ããã®ããªãã©ã€ããã§ãã¯ãæ°žä¹
ã«ç¡å¹ã«ãªããŸãã
PSãã®ã¡ãã»ãŒãžãé·ãããšã¯æ¿ç¥ããŠããŸãããäžèšã®æé ããèªã¿ãã ãã:-)ã圹ã«ç«ãŠã°å¹žãã§ãã
npm ERRïŒ ã³ãŒãELIFECYCLE
npm ERRïŒ errno 1
npm ERRïŒ [email protected]éå§ïŒ react-scripts start
npm ERRïŒ çµäºã¹ããŒã¿ã¹1
npm ERRïŒ
npm ERRïŒ [email protected]éå§ã¹ã¯ãªããã§å€±æããŸããã
npm ERRïŒ ããã¯ããããnpmã®åé¡ã§ã¯ãããŸããã äžèšã®è¿œå ã®ãã°åºåãããå¯èœæ§ããããŸãã
npm ERRïŒ ãã®å®è¡ã®å®å
šãªãã°ã¯ã次ã®å Žæã«ãããŸãã
npm ERRïŒ CïŒ\ Users \ Z-Dra \ AppData \ Roaming \ npm-cache_logs \ 2019-05-29T12_53_58_726Z-debug.log`
誰ãå©ããŠãããŸãããïŒ
babel-loader 8.0.6
ããŒã ãã£ã¬ã¯ããª/home/user/node_modules
ã«ã°ããŒãã«ã«ã€ã³ã¹ããŒã«ãããŠããããšãçºèŠããã®ã§ããããžã§ã¯ããã£ã¬ã¯ããªã®äžã«babel-loader 8.0.5ãã€ã³ã¹ããŒã«ãããã®ã§ãããŒã ã®npm remove babel-loader
ãåé€ããŸãããã£ã¬ã¯ããªïŒ8.0.6ïŒããã¹ãŠãæ£åžžã«åäœããããã
ããã¯ç§ã確信ããŠããã°ããã質åã§ãã...
typescriptã䜿çšããŠããå Žåãäœã®ããã«babelãå¿
èŠã§ããïŒ
@shilmanã«æè¬ã
npx create-react-app my-app --typescript
ä»ããCRAïŒreact-script 3.0.1ïŒã®npx -p @storybook/cli sb init --type react
yarn.lock
ïŒããŒãã¢ãžã¥ãŒã«ãã©ã«ããåé€ããŸãã@babel/core
ãšbabel-loader
éçºäŸåé¢ä¿ãåé€ããŸãyarn add -D @storybook/react@next
yarn
yarn storybook
-ãšã©ãŒïŒ Cannot find module 'babel-loader'
"dependencies": {
"@types/jest": "24.0.13",
"@types/node": "12.0.4",
"@types/react": "16.8.19",
"@types/react-dom": "16.8.4",
"react": "^16.8.6",
"react-dom": "^16.8.6",
"react-scripts": "3.0.1",
"styled-components": "^4.2.1",
"typescript": "3.5.1"
},
"devDependencies": {
"@babel/core": "^7.4.5", // I added this back the first time I got babel-loader missing error, but this still doesn't solve it.
"@storybook/addon-actions": "^5.0.11",
"@storybook/addon-info": "^5.0.11",
"@storybook/addon-links": "^5.0.11",
"@storybook/addons": "^5.0.11",
"@storybook/react": "^5.1.0-rc.3",
"@testing-library/react": "^8.0.1",
"@types/storybook__addon-actions": "^3.4.2",
"@types/storybook__addon-info": "^4.1.1",
"@types/storybook__addon-links": "^3.3.4",
"@types/storybook__addons": "^4.1.0",
"@types/storybook__react": "^4.0.1",
"husky": "^2.3.0",
"jest-dom": "^3.4.0",
"lint-staged": "^8.1.7",
"prettier": "^1.17.1",
"react-docgen-typescript-loader": "^3.1.0"
},
Typescriptã䜿çšããªãåºæ¬çãªã»ããã¢ããã¯ç§ã«ãšã£ãŠãæ©èœããŸãã
npx create-react-app my-app
cd my-app
npx -p @storybook/cli sb init --type react
CRAã¯"babel-loader": "8.0.5"
æåŸ
ããŠããŸããã 8.0.6
èŠã€ããŸãã ãã ãã次ã®devDependenciesã«ãã£ãŠçæãããpackages.json
hsaã¯æ¬¡ã®ãšããã§ãã
"devDependencies": {
"@storybook/react": "^5.0.11",
"@storybook/addon-actions": "^5.0.11",
"@storybook/addon-links": "^5.0.11",
"@storybook/addons": "^5.0.11",
"@babel/core": "^7.4.5",
"babel-loader": "^8.0.6"
}
ããŒãžã§ã³ã"babel-loader": "8.0.5"
èšå®ãããšããã®åé¡ã¯è§£æ±ºããŸãã
ãŸããCRAïŒ3.0.1ïŒã"webpack": "4.29.6"
æåŸ
ããŠãããã 4.32.2
èŠã€ããå¥ã®ãããžã§ã¯ãã§ãåæ§ã®åé¡ããããŸãã ããã¯package.json
å
ã®ç§ã®dependecirdã§ã¯å®çŸ©ãããŠããŸãã
npm ls webpack
ã·ã§ãŒïŒ
+-- @storybook/[email protected]
| +-- @storybook/[email protected]
| | `-- [email protected] deduped
| `-- [email protected]
+-- [email protected]
| `-- [email protected]
`-- [email protected]
`-- [email protected] deduped
[email protected]ã¯æ°ããããŒãžã§ã³ã®webpackãæäŸããŠããŸãããCRAã¯å€ãããŒãžã§ã³ãæãã§ããŸãã
äŸåé¢ä¿ã«[email protected]
ãè¿œå ãããšãä¿®æ£ãããŸãã ãããã¹ããŒãªãŒããã¯ã®åé¡ã§ãããã©ããã¯ããããããŸããã
@vipyoshiããã€ãã®ã³ã¡ã³ãïŒ
--type react
æž¡ããŠã¯ãããŸããã 代ããã«CRAãã³ãã¬ãŒãã䜿çšãããŠãã ããã@storybook/cli@next
ã§ä¿®æ£ãããŠãããä»åŸ24æé以å
ã«å®å®çãšããŠãªãªãŒã¹ãããŸããçå£ã«ãTypeScriptã䜿çšããŠããã®ã«ãªãbabelãå¿ èŠãªã®ã§ããïŒ
@shilman @mrmckebãšææ°ããŒãžã§ã³ïŒ
"@storybook/addon-actions": "^5.1.1",
"@storybook/addon-links": "^5.1.1",
"@storybook/addons": "^5.1.1",
"@storybook/react": "^5.1.1",
JSXæ§æã¯.storybooks/config.js
å€æãããã start-storybook
ã¯æ§æãšã©ãŒã§å€±æããŸãïŒæåã®<
ïŒã
babel-loaderãã€ã³ã¹ããŒã«ãããšãã以åã®åé¿çã䜿çšããŸãããããŒãžã§ã³ãCRAãšåæããŠããå Žåã¯æ£åžžã«æ©èœããŸãã
CRAããã¹ãŠã§ã¯ãªããäžéšã®ãã©ã«ãã§babel-preset-react
ã䜿çšããŠãããã©ããã確èªããããšããŸããããã©ãã«ãè¡ããŸããã§ããã
ã³ã³ããã¹ããšããŠãCRA 3.0.1ã䜿çšããŠããŸãããæåºãããŠããŸããã
ä»ã«äœãåé¡ã«ãªãå¯èœæ§ããããŸããïŒéãå¿
èŠããããŸãïŒïŒ
æäŒããŸããããïŒ
PSïŒã°ããŒãã«ã¹ã¿ã€ã«ã®ãã³ã¬ãŒã¿ã䜿çšããŠããŸãã
JSXæ§æã¯.storybooks / config.jsã§å€æããããstart-storybookã¯æ§æãšã©ãŒïŒæåã®<ïŒã§å€±æããŸãã
@ rlecaro2ãŸã£ããåãåé¡ãããã«ãããŸãïŒ
ERROR in ./.storybook/config.js
Module build failed (from ./node_modules/react-scripts/node_modules/babel-loader/lib/index.js):
SyntaxError: /Users/.../Documents/pro/workshop/workshop-atomic-design/.storybook/config.js: Unexpected token (9:34)
> 9 | const themeDecorator = storyFn => <ThemeProvider theme={Theme}>{ storyFn() }</ThemeProvider>
| ^
10 | addDecorator(themeDecorator);
11 | configure(loadStories, module);
ïŒdevDependenciesã§babel-loaderãv8.0.5
ã«å®£èšãããšããã®åé¡ãä¿®æ£ãããŸãïŒ
@revmischa Babelã¯ãTypeScriptã®äœ¿çšæ¹æ³ã§ãã TSããŒã ã¯ãTypeScriptã³ã³ãã€ã©ãŸãã¯Babelãã©ã°ã€ã³ã®2ã€ã®ãã¹ãæäŸããŸãã
@ rlecaro2ãš@Akaryatrhã¯ãæ°ãæåã«å€æŽãå ããŸãããææ°ã®StorybookãªãªãŒã¹ã§ã¯ãbabel-loaderã¯CRAãšäžç·ã«ã€ã³ã¹ããŒã«ãããã代ããã«CRAå ããæ€åºãããŸãã
ç§ãç解ããŠããããã«ã .storybook
å
ã®ãã¡ã€ã«ãæ£ããåŠçãããŠããªããšããäºå®ãé€ãã°ãåé¡ã¯ãŸã£ãããããŸããã ããã¯ãCreate ReactAppã®æ§æããœãŒã¹å€ã®ãã¡ã€ã«ãç¡èŠããããã§ãã
ç§ãã¡ã¯ãå
éšã®æŽ»åäœãå¯èœã«ããããã«å°ããªå€æŽãå ãã.storybook
ãã£ã¬ã¯ããªããã§ã¯ãããã³èšå®ã®æ®ãã®éšåã®ããã«åãããšãè¡ãããšãã§ããŸãã ç§ã¯ããªããäž¡æ¹ãšãTypeScriptã䜿çšããŠããªããšä»®å®ããŠããã®ã§ããã®ä¿®æ£ã¯ããªãã®ããã«æ©èœããŸããã§ããã
devDependencies
ä¿®æ£ãæ©èœããçç±ã¯å°ãæ··ä¹±ããŠããŸã...ããã調æ»ãå¿
èŠã ãšæããŸãã
ãŸããããã¯æ°ããåé¡ã§ãããäžèšãšã¯é¢ä¿ãããŸããã ããã®ã³ã¡ã³ãããã¹ãŠã®ãŠãŒã¶ãŒã«èŠåããã®ã§ãç§ã¯ããã«æ°ãããã±ãããäœæããŸããïŒïŒ7201ã ããã«è©³çŽ°ãè¿œå ããŠãã ããã
ãããïŒ äœãéçºäŸåé¢ä¿ãæ©èœãããŠããã®ããç解ããããšããŸãã ä»ã®äººã«ãšã£ãŠã¯ãåé¡ã¯ïŒ7201ïŒãã€ããŒãªã¿ã€ããã¹ïŒã§ãã
@ ramonex1
ã¯ããç§ã«ãšã£ãŠã¯æããªèãã§ãã
ããã¯ç§ã®ãã©ã«ãå ã®å¥ã®ããŒãã¢ãžã¥ãŒã«ã§ã
ããã¯ãŸã ç§ã«ã¯æ©èœããŠããŸãããç§ã¯ãã®åé¡ãããããèŠãŸãããã決å®çãªä¿®æ£/ã¢ããã°ã¬ãŒããã¹ãŸãã¯ä¿®æ£æ¹æ³ã®ã¬ã€ãã©ã€ã³ãèŠã€ããããšãã§ããªãããã§ãã
åèãŸã§ã«ã ç»æçãªäœæ¥ããããŸã-ããŸãããã°ããããã®åé¡ã«ã€ããŠã®æšè«ãã¯ããã«ç°¡åã«ãªããŸã
ç§ãåãåé¡ã«çŽé¢ãããããä¿®æ£ããŸããã ç§ã®ãããžã§ã¯ãåã¯ãidash2ãã§ãã€ã³ã¹ããŒã«ããŸã
ã³ãŒã/ãŠã§ã/ããã³ããšã³ã/ idash2
ããããåé¡ã¯ããã®ãã£ã¬ã¯ããªã«èª€ã£ãŠnode_modulesãã€ã³ã¹ããŒã«ããããšã§ã
ã³ãŒã/ãŠã§ã/ããã³ããšã³ã
code / web / frontend / node_modulesãåé€ããreactã¢ããªãåã€ã³ã¹ããŒã«ããåŸãåé¡ã¯è§£æ±ºããŸããã
ãã®ãœãªã¥ãŒã·ã§ã³ã®å瞟ïŒParinya Onsuwan
ç§ã¯åãåé¡ãæ±ããŠããŸãããäœãæ©èœããŠããªãããã§ã...ãã®åé¡ã®æ°žç¶çãªè§£æ±ºçã¯ãããŸããïŒ
@iseneseããã¯https://www.npmjs.com/package/@storybook/preset-create-react-appã®äžéšã§ãããããŸããªãå ¬éããããšæããŸã
@isenese ãç³ãèš³ãããŸããããæè¿å°ã掻åãåæ¢ããŠããŸãã
ããã¯Storybookã®æ°ããããŒãžã§ã³ã§è§£æ±ºãããããå°ãªããšã解決ãããã¯ãã§ãããŸã ããã«çŽé¢ããŠããå Žåã¯ãããŒãžã§ã³ã®è©³çŽ°ãæäŸããŠãã ããããµããŒããããŠããã ããŸãã
ããã«ã¡ã¯ãç§ã¯CRAãŠãŒã¶ãŒã§ãããReactã®ããã¥ã¡ã³ãã§èª¬æãããŠãã次ã®ã³ãã³ãã§ã¹ããŒãªãŒããã¯ãåæåãããšãã«ããã®åé¡ã«çŽé¢ããŸã
npx -p @storybook/cli sb init --type react
次ã«ã以äžã§åæåããŠåé¡ãä¿®æ£ããŸããã
npx -p @storybook/cli sb init --type react_scripts
ïŒãããŠã --type
ãªãã·ã§ã³ãªãã®èªåæ€åºãæåããŸããããã£ãããã§ãïŒïŒ
ããã¯ããã¥ã¡ã³ãã®äžè¶³ã§ããããã®ãããªééããç¯ãå¯èœæ§ããããšæããŸãã
Storybook for ReactããŒãžã«--type react_scripts
ã«é¢ãã説æãè¿œå ããããCRAçšã®å¥ã®ãã¥ãŒããªã¢ã«ãäœæããŠãã ããã
ããããšãïŒ
ãŸããCRAã®çµã¿èŸŒã¿ããªã»ããã眮ãæãããCRAã®æ°ããããªã»ãããè©ŠããŠããŸãã ããã«ãããå°æ¥ã®ã»ããã¢ããã容æã«ãªããŸãã
ããã«ã¡ã¯ãç§ã¯CRAãŠãŒã¶ãŒã§ãããReactã®ããã¥ã¡ã³ãã§èª¬æãããŠãã次ã®ã³ãã³ãã§ã¹ããŒãªãŒããã¯ãåæåãããšãã«ããã®åé¡ã«çŽé¢ããŸã
npx -p @storybook/cli sb init --type react
次ã«ã以äžã§åæåããŠåé¡ãä¿®æ£ããŸããã
npx -p @storybook/cli sb init --type react_scripts
ïŒãããŠã
--type
ãªãã·ã§ã³ãªãã®èªåæ€åºãæåããŸããããã£ãããã§ãïŒïŒããã¯ããã¥ã¡ã³ãã®äžè¶³ã§ããããã®ãããªééããç¯ãå¯èœæ§ããããšæããŸãã
Storybook for ReactããŒãžã«--type react_scripts
ã«é¢ãã説æãè¿œå ããããCRAçšã®å¥ã®ãã¥ãŒããªã¢ã«ãäœæããŠãã ãããããããšãïŒ
ã©ããããããšãããããŸãïŒ ããã§ãããã«è¡ããŸããã
ã¿ããªããããšããç§ã¯ãã®ããã¥ã¡ã³ããæŽæ°ããããã«ã¡ã¢ãåããŸãã
@mrmckebã¯ãŸã åãåé¡ïŒCRA 3.3 + Storybook 5.2.8ïŒã«çŽé¢ããŠããã react_scripts
ãã©ã°ã«é¢ããããã¥ã¡ã³ãã«ã¯äœãèŠã€ãããŸãã-ä»ã®äººãè¡ãå¿
èŠããªãããã«ãããã«ãããšçŽ æŽãããã§ããããããèŠã€ããããã«GHã®åé¡ãéããŠ...ð
@aericson ããäžäŸ¿ããããããŠç³ãèš³ãããŸããã ä»æ¥èŠãŠã¿ãŸãã
ããã¯è©³çŽ°èšå®ã«ããããšã«æ³šæããŠãã ããã ããã¯èšãïŒ
ã¯ã€ãã¯ã¹ã¿ãŒãã¬ã€ãã䜿çšããŠãã¹ããŒãªãŒããã¯çšã«ãããžã§ã¯ããã»ããã¢ããããããšããå¯èœæ§ããããŸãã Reactã䜿çšããŠããããšãæ€åºã§ããªãã£ãããã«å€±æããå Žåã¯ãReactã䜿çšããããã«åŒ·å¶ããŠã¿ãŠãã ããã
CRAã«ã€ããŠãèšåããããã«æŽæ°ããŸãã
@mrmckebç§ã¯ããããã èŠã€ããããšã«ã€ããŠã ãšæããŸã
npx -p @storybook/cli sb init --type react
ã ãããã
npx -p @storybook/cli sb init --type react_scripts
èŠããšãã®ããã¥ã¡ã³ãã§ïŒ
ãããã£ãŠãCRAãªããžããªãããå Žåã¯ã --type react
ã䜿çšããŠãã¹ãŠãæ£ããè¡ã£ãŠãããšæããŸãã
--type react
ã䜿çšãããšã Cannot find module 'babel-jest'
ãšã©ãŒãçºçããŸãã- --type react_scripts
ã¯ãã®ãŸãŸã§æ©èœããŸãã
ç解ããããã¥ã¡ã³ãã¯@pkyeckã§æŽæ°ãã
å šäœãšããŠãããã¥ã¡ã³ãã®ãã®éšåã¯ããæ確ã«ãªãã¯ãã§ã...ïŒ9182ã®æ¹èšãããã§ããããšãé¡ã£ãŠããŸãã @shilmanã¯ãŸããªããªãªãŒã¹ããããšæããŸãã
package.jsonã«babel-loaderãããå Žåãã¢ããªã±ãŒã·ã§ã³ããã«ãããããšã¯ã§ããŸããã ç§ãåŸãæè¯ã®è§£æ±ºçã¯æ¬¡ã®ãšããã§ãã
`
"devDependencies"ïŒ{
"@ babel / core"ïŒ "^ 7.12.3"ã
"@ storybook / addon-actions"ïŒ "^ 6.0.28"ã
"@ storybook / addon-essentials"ïŒ "^ 6.0.28"ã
"@ storybook / addon-links"ïŒ "^ 6.0.28"ã
"@ storybook / node-logger"ïŒ "^ 6.0.28"ã
"@ storybook / prefix-create-react-app"ïŒ "^ 3.1.5"ã
"@ storybook / react"ïŒ "^ 6.0.28"ã
"@ tests-library / dom"ïŒ "^ 7.26.5"ã
"@ tests-library / react-hooks"ïŒ "^ 3.4.2"ã
"@ types / react"ïŒ "^ 16.9.56"ã
"@ types / react-dom"ïŒ "^ 16.9.9"ã
"@ types / styled-components"ïŒ "^ 5.1.4"ã
"babel-loader"ïŒ "8.1.0"ã
"babel-eslint"ïŒ "^ 10.1.0"ã
"eslint-config-prettier"ïŒ "^ 6.14.0"ã
"eslint-config-react-app"ïŒ "^ 5.2.1"ã
"eslint-import-resolver-typescript"ïŒ "^ 2.3.0"ã
"eslint-plugin-flowtype"ïŒ "^ 4.7.0"ã
"eslint-plugin-import"ïŒ "^ 2.22.1"ã
"eslint-plugin-jsx-a11y"ïŒ "^ 6.3.1"ã
"eslint-plugin-prettier"ïŒ "^ 3.1.4"ã
"eslint-plugin-react"ïŒ "^ 7.21.5"ã
"eslint-plugin-react-hooks"ïŒ "^ 4.2.0"ã
"jest-environment-jsdom-sixteen"ïŒ "^ 1.0.3"ã
"jest-styled-components"ïŒ "^ 7.0.3"ã
"json-server"ïŒ "^ 0.16.2"ã
"msw"ïŒ "^ 0.21.3"ã
"ããããã"ïŒ "^ 2.1.2"ã
"react-docgen-typescript-plugin"ïŒ "^ 0.6.0"ã
"react-is"ïŒ "^ 17.0.1"ã
"react-test-renderer"ïŒ "^ 17.0.1"
}ã
ã解å床ãïŒ{
" / react-scripts / / babel-loader"ïŒ "^ 8.1.0"
}
`
åãlibã®babel-loaderã䜿çšããå±æ§ã®è§£æ±ºã
ãããææ°ããŒãžã§ã³ã®creat-react-appãšstorybookã®åé¡ã§ããããšã確èªããŸãã
ç·šéïŒcreate-react-appã¯ãnode_modulesã®äžæ£ãªbabel-loaderããŒãžã§ã³ã«ã€ããŠæå¥ãèšããŸãã CRAãå¿
èŠãšããããŒãžã§ã³ã§ããyarn add -D --exact [email protected]
ã䜿çšããŠåé¡ã解決ããããšãã§ããŸããã
ç§ãããã«ééããŠããããšã確èªã§ããŸããããã®åé¡ãåéã§ããŸããïŒ èªåã§äœ¿çšããªãå Žåã¯ãããã±ãŒãžã«babel-loaderãå«ããå¿
èŠã¯ãããŸãããïŒ
@DylanCulfogienisã®ä¿®æ£ãæ©èœããããšã¯ç¢ºèªã§ããŸãïŒ
CRAã¢ããªã«babel-loaderãã€ã³ã¹ããŒã«ããªããªã£ãããã @ eglavinã®åé¡ãå床éãå¿ èŠã¯ãªããšæããŸãã
æ°èŠã€ã³ã¹ããŒã«ã§ãŸã 倱æããŠããŸããïŒ
ããã§åãåé¡
CRAã¢ããªã«babel-loaderãã€ã³ã¹ããŒã«ããªããªã£ããããåé¡@eglavinãå床éãå¿ èŠã¯ãªããšæããŸãã
æ°èŠã€ã³ã¹ããŒã«ã§ãŸã 倱æããŠããŸããïŒ
ããã§ãåãåé¡ããããŸããã¢ããªãã¹ããŒãªãŒããã¯ã§å®è¡ããå¿
èŠãããå Žåã§ãã babel-loader
ãå«ããå¿
èŠããããŸãã
Babel-loaderã¯ãã§ã«CRAã«å«ãŸããŠãããã¹ããŒãªãŒããã¯ã¯ããã䜿çšã§ããŸãã çªå·ïŒ
ããã¯ãææ°ã®CRA / SBããŒãžã§ã³ïŒãã®èšäºã®å·çæç¹ã§ã¯ããããã4.0.1ãš6.1.18ïŒã®æ°èŠã€ã³ã¹ããŒã«ã§ã¯äŸç¶ãšããŠåé¡ã§ãã
ãŸããSBv6.1ãšãšãã«CRAv4ãã€ã³ã¹ããŒã«ãããšãã«ããã«ééããŸããã
ããã§åãåé¡ïŒReact4.0.1ãš
yarn install @storybook/react
front | There might be a problem with the project dependency tree.
front | It is likely not a bug in Create React App, but something you need to fix locally.
front | The react-scripts package provided by Create React App requires a dependency:
front | "babel-loader": "8.1.0"
front | Don't try to install it manually: your package manager does it automatically.
front | However, a different version of babel-loader was detected higher up in the tree:
front | /path/to/front/node_modules/babel-loader (version: 8.2.2)
PSïŒåãåé¡ã®ç°ãªãããŒãžã§ã³ã«é¢ä¿ããã®ã§ãæ°ããåé¡ãéãå¿ èŠããããŸããïŒ
@DylanCulfogienisã«æè¬ãyarn add -D --exact [email protected]
ã¯æ©èœããŸããïŒ
ç§ã¯Monorepoãæã£ãŠããŠãäžèšã®ããã«React web
ããã±ãŒãžã«babel-loader
ãè¿œå ããŸããïŒ8.1.0ïŒã babel-loader
ãšã©ãŒã¯è§£æ±ºãããŸããããæ°ãããšã©ãŒãäœæãããŸããã
../../node_modules/@types/react-dom/node_modules/@types/react/index.d.ts(2982,14): error TS2300: Duplicate identifier 'LibraryManagedAttributes'.
../../node_modules/@types/react-dom/node_modules/@types/react/index.d.ts(2995,13): error TS2717: Subsequent property declarations must have the same type. Property 'a' must be of type 'DetailedHTMLProps<AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>', but here has type 'DetailedHTMLProps<AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>'.
../../node_modules/@types/react-dom/node_modules/@types/react/index.d.ts(2996,13): error TS2717: Subsequent property declarations must have the same type. Property 'abbr' must be of type 'DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>', but here has type 'DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>'.
../../node_modules/@types/react-dom/node_modules/@types/react/index.d.ts(2997,13): error TS2717: Subsequent property declarations must have the same type. Property 'address' must be of type 'DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>', but here has type 'DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>'.
@types/react-dom
ã®ããŒãžã§ã³ãã17.0.0ãã«ã¢ããã°ã¬ãŒãããããšã§ããã解決ããããšãã§ããŸããã
@DylanCulfogienisãœãªã¥ãŒã·ã§ã³ã¯ãåæ¥ã®æŠãã®åŸãç§ã«ããããä¿®æ£ããŸããã https://github.com/storybookjs/storybook/issues/12408ããå¥ã®ã³ãã³ããããã«ãŸãšããããŠããŸããããããç§ãåãããã»ããã¢ããã§ãã
# Create project
npx create-react-app my-project
cd my-project
# Add Storybook:
npx -p @storybook/cli sb init
# Update Storybook
npx sb<strong i="8">@next</strong> upgrade --prerelease
# Fix babel error
yarn add -D --exact [email protected]
# Start app
yarn start
# Start Storybook
yarn storybook
ïŒ4764ã«è€è£œ
æãåèã«ãªãã³ã¡ã³ã
ããŒãã
babel-loader
depãåé€ãããšãã¹ããŒãªãŒããã¯ãå£ããŸã...ð