docz rc 1.0.0 rc3์ ์๋ํ๊ณ ๋ค์๊ณผ ๊ฐ์ ์ฌ๋ฌ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
โ ์ ์ ์ ํ์ ๊ตฌ๋ฌธ ๋ถ์ํ๋ ์น๋ช
์ ์ธ ์ค๋ฅ
โ ์ค๋ฅ ์ค๋ฅ : ์ ํฉํ ๊ตฌ์ฑ ์์ ์ ์๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
๊ตฌ๋ฌธ ๋ถ์์ (/Users/bugzpodder/ui/node_modules/docz-core/node_modules/react-docgen/dist/parse.js:70:13)
Object.defaultParse์์ [๋ถ์์ผ๋ก] (/Users/bugzpodder/ui/node_modules/docz-core/node_modules/react-docgen/dist/main.js:64:29)
ํด๊ฒฐ์ (/Users/bugzpodder/ui/node_modules/docz-core/dist/index.js:1412:38)
์๋ก์ด ์ฝ์์์ (
jsParser (/Users/bugzpodder/ui/node_modules/docz-core/dist/index.js:1409:12)
Promise.all.files.map (/Users/bugzpodder/ui/node_modules/docz-core/dist/index.js:1430:15)
Array.map (
docgen (/Users/bugzpodder/ui/node_modules/docz-core/dist/index.js:1427:42)
๋๋ฒ๊ทธ ์ค์ : ํด์ ํ๊ณ UI๊ฐ ๋ค์๊ณผ ๊ฐ์ด ๋ฉ ์ถฅ๋ ๋ค.
โ Docz โโโโโโโโโโโโโโโโโโโโโโโโโ ๊ฑด๋ฌผ (10 %) 2/4 ๋ชจ๋ 2 ๊ฐ ํ์ฑํ
../node_modules/url/url.js
์ฝ 5 ๋ถ ํ ๋ค์ UI ์ค๋ฅ์ ํจ๊ป ๋น๋ ์ฑ๊ณต์ ์ป์ต๋๋ค.
์๋ชป๋ ํํฌ ํธ์ถ์
๋๋ค. ํํฌ๋ ํจ์ ๊ตฌ์ฑ ์์์ ๋ณธ๋ฌธ ๋ด์์๋ง ํธ์ถ ํ ์ ์์ต๋๋ค. ๋ค์ ์ด์ ์ค ํ๋๋ก ์ธํด ๋ฐ์ํ ์ ์์ต๋๋ค.
10 | useDataServer('ws://127.0.0.1:60505')
11 | return (
12 | <Theme linkComponent={Link} db={database}>
> 13 | <Routes imports={imports} />
| ^ 14 | </Theme>
15 | )
16 | }
11 | const root = document.querySelector('#root')
12 | const render = (Component = Root) => {
13 | onPreRender()
> 14 | ReactDOM.render(<Component />, root, onPostRender)
| ^ 15 | }
16 |
17 | render(Root)
์ค๋ ์ด๊ฒ์ ์ดํด๋ณด๊ณ Docz์ ๋ํ package.json
ํ์ผ์ ์ดํด ๋ณด์์ต๋๋ค. ๋๋ ๊ทธ๋ค์ด ์ฌ์ฉํ๋ React ํ์ดํ์ด ^16.8.2
๊ฒ์ ๋ณด์์ต๋๋ค. Docz๊ฐ์๋ ํ๋ก์ ํธ์ React ^16.8.3
๋ฅผ ์ฌ์ฉํ์ต๋๋ค.
Docz๊ฐ์๋ ํ๋ก์ ํธ์์ ๋ค์ ๋ฒ์ ์ React๋ฅผ ์คํํ๊ณ ์๋์ง ํ์ธํ์ญ์์ค.
"react": "^16.8.2",
"react-dom": "^16.8.2",
๊ทธ ํ .docz
ํด๋์ node_modules
. ๋ง์ง๋ง์ผ๋ก node_modules
๋ค์ ์ค์นํ๊ณ docz๋ฅผ ์คํํ๋ฉด ๊ด์ฐฎ์ ๊ฒ์
๋๋ค!
ํฅ๋ฏธ๋ก์ด ์ ์ ํ๋ก์ ํธ๋ฅผ ์คํํ๊ธฐ ์ํด ์ค์นํด์ผํ๋ React ๋ฒ์ ์ ๋ํ๋ด๋ ํผ์ด ์ข
์์ฑ์ด ์๋ค๋ ๊ฒ์
๋๋ค. @pedronauck Readme๋ฅผ ์
๋ฐ์ดํธํ๊ณ ํน์ React ๋ฒ์ ์ package.json
์ถ๊ฐํ๊ธฐ ์ํด PR์ ์ ์ถํ๊ฒ๋์ด ๊ธฐ์ฉ๋๋ค .
@ mwood23์ด ๋งํ ๋ด์ฉ์ด์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผํฉ๋๋ค.
@pedronauck ๊ทธ๋ ์ง ์์ต๋๋ค.
๋ด ๋ฐ์์ package.json์ 16.8.2์ ๊ณ ์ ํ๊ณ docz๊ฐ ์๋์ผ๋ก 16.8.6์ ์ค์นํ๋ฏ๋ก ์ด์ ๋ ๊ฐ์ง ๋ฒ์ ์ ๋ฐ์์ด ์ค์น๋์์ต๋๋ค (์์ฌ ์ด์ ์ ๋ฐ๋ผ)
๋ด ๋ฐ์์ 16.8.6์ผ๋ก ๋ณ๊ฒฝํ๋๋ฐ ์ด์ ํ๋์ ๋ฒ์ ๋ง ์์ง๋ง ์ฌ์ ํ ์์ ๋์ผํ ์ค๋ฅ๋ก ์คํ๋์ง ์์ต๋๋ค.
DOCZ_SOURCE=./src/ yarn docz dev debug
yarn run v1.15.2
$ ~/dev/node_modules/.bin/docz dev debug
โ Docz โโโโโโโโโโโโโโโโโโโโโโโโโ building (10%) 2/4 modules 2 active
../node_modules/url/url.js
<--- Last few GCs --->
[68584:0x102645000] 123578 ms: Mark-sweep 1391.3 (1424.5) -> 1390.8 (1423.5) MB, 645.1 / 0.0 ms (average mu = 0.091, current mu = 0.038) allocation failure scavenge might not succeed
[68584:0x102645000] 123583 ms: Scavenge 1391.6 (1423.5) -> 1391.1 (1424.0) MB, 2.7 / 0.0 ms (average mu = 0.091, current mu = 0.038) allocation failure
[68584:0x102645000] 123587 ms: Scavenge 1391.8 (1424.0) -> 1391.3 (1424.5) MB, 2.5 / 0.0 ms (average mu = 0.091, current mu = 0.038) allocation failure
<--- JS stacktrace --->
==== JS stack trace =========================================
0: ExitFrame [pc: 0x17ac3f1dbe3d]
Security context: 0x31c23fe9e6e1 <JSObject>
1: /* anonymous */ [0x31c2e77794f9] [~/dev/node_modules/ast-types/lib/path-visitor.js:~174] [pc=0x17ac3f9c941f](this=0x31c2a9841179 <Object map = 0x31c2a3acbf79>,path=0x31c2b54c0d49 <NodePath map = 0x31c2a3ac6881>)
2: /* anonymous */ [0x31c2e77794f9] [~/dev/node_modules/ast-types/lib/path-visitor.js:~174] [pc=0x17ac3f9...
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
1: 0x10003b125 node::Abort() [~/.nvm/versions/node/v10.15.0/bin/node]
2: 0x10003b32f node::OnFatalError(char const*, char const*) [~/.nvm/versions/node/v10.15.0/bin/node]
3: 0x1001a8e85 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [~/.nvm/versions/node/v10.15.0/bin/node]
4: 0x1005742a2 v8::internal::Heap::FatalProcessOutOfMemory(char const*) [~/.nvm/versions/node/v10.15.0/bin/node]
5: 0x100576d75 v8::internal::Heap::CheckIneffectiveMarkCompact(unsigned long, double) [~/.nvm/versions/node/v10.15.0/bin/node]
6: 0x100572c1f v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [~/.nvm/versions/node/v10.15.0/bin/node]
7: 0x100570df4 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [~/.nvm/versions/node/v10.15.0/bin/node]
8: 0x10057d68c v8::internal::Heap::AllocateRawWithLigthRetry(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [~/.nvm/versions/node/v10.15.0/bin/node]
9: 0x10057d70f v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [~/.nvm/versions/node/v10.15.0/bin/node]
10: 0x10054d054 v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationSpace) [~/.nvm/versions/node/v10.15.0/bin/node]
11: 0x1007d4f24 v8::internal::Runtime_AllocateInNewSpace(int, v8::internal::Object**, v8::internal::Isolate*) [~/.nvm/versions/node/v10.15.0/bin/node]
12: 0x17ac3f1dbe3d
13: 0x17ac3f9c941f
error Command failed with signal "SIGABRT".
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
์๋ง๋ docz ๋ฐ docz-theme-default๊ฐ react ๋ฐ react-dom์ peerDependency๋ก ์ฌ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ผ ๊ฒ์ ๋๋ค. ๋ถํํ๋์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์ฌ๋ฐ๋ฅธ ๋ฐฉ๋ฒ์ด peerDependency๋ก ์ข ์์ฑ์ ์ฌ์ฉํ์ฌ ํ ์์ฒญ์ํ๋ ๊ฒ์ธ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๊ทธ๋์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ ์ ํ ์ ์์ต๋๋ค. npm์ ์ฌ์ฉํ๊ณ ์์ผ๋ฏ๋ก ํด๋น ๋ผ์ด๋ธ๋ฌ๋ฆฌ (https://github.com/rogeriochaves/npm-force-resolutions)๋ฅผ ์ค์นํ์ต๋๋ค. ์ด lib๋ ์ข ์์ฑ์ด ์ค๋ณต๋์ง ์์ ํ๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ง ์ฌ์ฉํ๋๋กํฉ๋๋ค. ๊ทธ๋์ ์ค์น ํ ์ด๊ฒ์ ๋ด package.json์ ์ถ๊ฐํ์ต๋๋ค.
"resolutions": {
"react": "^16.8.6",
"react-dom": "^16.8.6"
}
๊ทธ๋ฆฌ๊ณ docz๊ฐ ๋ค์ ์๋ํฉ๋๋ค.)
์ถ์ . rc7 ๋ฐ rc8 ๋ฒ์ ์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ์๋ง๋์ด ๋ฌธ์ ๋ ๋ค์ ๋ฒ์ ์์ ํด๊ฒฐ ๋ ๊ฒ์
๋๋ค.
๋๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์๋ค. docz๋ฅผ ์
๊ทธ๋ ์ด๋ํ์ ๋ ๋ด ํ๋ก์ ํธ๋ 16.8.2 ์์ผ๋ฏ๋ก docz๋ 16.8.6์์ ์์ฒด react ์ฌ๋ณธ์ ์ป์์ต๋๋ค. ๋ด node_modules ๋ฐ ํจํค์ง ์ ๊ธ์ ์ ๊ฑฐํ๊ณ ๋ค์ ์ค์นํ๋ฉด docz์์ ์ค๋ณต ์ ๊ฑฐ๋๊ณ ๋ฌธ์ ๊ฐ ์ฌ๋ผ์ก์ต๋๋ค.
์ด๊ฒ์ด ๋ฐ๋ก peerDependencies
๋ชฉ์ ์
๋๋ค.
์ฌ์ ํ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
Error parsing static types ร error Error: No suitable component definition found.
ํ์ง๋ง ๋น๋ ๋ฐ ๊ฐ๋ฐ์ ์ ์๋ํฉ๋๋ค.
์๋ ํ์ธ์, ์ ๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. package.json์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
{
"์ด๋ฆ": "๋๋ผ์ด๋ฒ ์ฑ",
"๋ฒ์ ": "0.1.0",
"private": ์ฐธ,
"ํํ์ด์ง": "/ react /",
"์ข
์์ฑ": {
"axios": "^ 0.18.0",
"๊ธฐ๋ก": "^ 4.9.0",
"๋ฐ์": "^ 16.8.2",
"react-dom": "^ 16.8.2",
"react-css-modules": "^ 4.7.9",
"react-modal": "^ 3.8.1",
"react-router-dom": "^ 4.3.1",
"๋ฐ์ ์คํฌ๋ฆฝํธ": "2.1.5",
"๋งค๋๋ฝ๊ฒ ๋ฐ์": "^ 0.23.2"
},
"์คํฌ๋ฆฝํธ": {
"start": "๋ฐ์ ์คํฌ๋ฆฝํธ ์์",
"build": "๋ฐ์ ์คํฌ๋ฆฝํธ ๋น๋",
"test": "๋ฐ์ ์คํฌ๋ฆฝํธ ํ
์คํธ",
"eject": "๋ฐ์ ์คํฌ๋ฆฝํธ ๊บผ๋ด๊ธฐ",
"docz : dev": "docz dev",
"docz : build": "docz ๋น๋"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": [
"> 0.2 %",
"์ฃฝ์ง ์์๋ค",
"์ฆ, <= 11์ด ์๋",
"op_mini ๋ชจ๋ ์๋"
],
"devDependencies": {
"docz": "์ต์ ",
"docz-theme-default": "^ 1.0.4",
"ํจ์": "^ 3.9.0",
"enzyme-adapter-react-16": "^ 1.12.1",
"svg-sprite-loader": "^ 4.1.3"
}
}
๋๊ตฌ๋ ์ง ๋์ธ ์ ์์ต๋๊น?
๊ฐ์ ๋ฌธ์
๋ด๊ฐ & @alexhawkins๊ฐ ๊ทธ๊ฒ์
๋ด ์ํฉ์ Lerna์ ๊ฐ์ monorepo ๋๊ตฌ๊ฐ ์๋ npm ์คํฌ๋ฆฝํธ๋ก ๊ด๋ฆฌ๋๋ monorepo๊ฐ โโ์๋ค๋ ๊ฒ์ ๋๋ค.
๋ชจ๋ Gatsby ์ฑ์ด ํฌํจ ๋ ํ๋ฐํธ ์๋ ํด๋๊ฐ ์์ต๋๋ค. ํ๋ฐํธ ์๋ ์ ์ฅ์ package.json์๋
"resolutions": {
"react": "^16.8.6",
"react-dom": "^16.8.6"
},
"dependencies" : {
"react": "16.8.6",
"react-dom": "16.8.6"
},
"devDependencies": {
"docz": "^1.0.4",
"docz-theme-default": "^1.0.4"
}
.docz
์ .gitignore
frontend
ํด๋, rm -rf node_modules package-lock.json .docz
frontend
ํด๋, npm i
frontend
ํด๋, docz dev
์ ๋ ๊ฒ์
๋๋ค. ์์ผ๋ก ์ด๊ฒ์ ์ฝ๋ ์ฌ๋๋ค์ ๊ฒฝ์ฐ react
์ข
์์ฑ์ https://github.com/pedronauck/docz/blob/master/core/docz/package.json์์๋ React ๋ฒ์ ๊ณผ ์ผ์นํด์ผ ํ ์ ์์ต๋๋ค.
์์ ๋ชจ๋ ๊ฒ์ ์๋ํ ํ V1๋ก ์ ๊ทธ๋ ์ด๋ํ๋ฉด React ๋ฒ์ ๋ฑ์ ์์ ํ๋ ๋ฐฉ๋ฒ์ ๊ด๊ณ์์ด ๋์ผํ ์คํ ์ถ์ ์ด ๋ฐ์ํ๋ค๋ ๊ฒ์ ์์์ต๋๋ค.
โ Docz โโโโโโโโโโโโโโโโโโโโโโโโโ building (11%) 9/16 modules 7 active
node_modules/docz-core/node_modules/webpack-dev-server/client/overlay.js
<--- Last few GCs --->
[7187:0x10276f000] 28993 ms: Scavenge 1389.3 (1422.5) -> 1388.9 (1423.0) MB, 2.2 / 0.0 ms (average mu = 0.093, current mu = 0.039) allocation failure
[7187:0x10276f000] 28996 ms: Scavenge 1389.6 (1423.0) -> 1389.2 (1423.5) MB, 2.2 / 0.0 ms (average mu = 0.093, current mu = 0.039) allocation failure
[7187:0x10276f000] 29000 ms: Scavenge 1389.9 (1423.5) -> 1389.5 (1424.5) MB, 2.4 / 0.0 ms (average mu = 0.093, current mu = 0.039) allocation failure
<--- JS stacktrace --->
==== JS stack trace =========================================
0: ExitFrame [pc: 0x14a3e9a4fc7d]
Security context: 0x3042e899d949 <JSObject>
1: getMembers(aka getMembers) [0x3042a4ca4ef9] [/Users/simon.bailey/src/web-ui/node_modules/react-docgen/dist/utils/getMembers.js:~43] [pc=0x14a3ea33dc3e](this=0x3042c9e825b1 <undefined>,0x3042b2f35bc1 <NodePath map = 0x3042a6c16111>,0x3042c9e82741 <true>)
2: getPropType(aka getPropType) [0x3042dec3fd21] [/Users/simon.bailey/src/web-ui/node_modules/r...
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
1: 0x100062991 node::Abort() [/Users/simon.bailey/.nvm/versions/node/v11.7.0/bin/node]
2: 0x100063030 node::errors::TryCatchScope::~TryCatchScope() [/Users/simon.bailey/.nvm/versions/node/v11.7.0/bin/node]
3: 0x10019cf37 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [/Users/simon.bailey/.nvm/versions/node/v11.7.0/bin/node]
4: 0x10019ced4 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/Users/simon.bailey/.nvm/versions/node/v11.7.0/bin/node]
5: 0x1005a2032 v8::internal::Heap::FatalProcessOutOfMemory(char const*) [/Users/simon.bailey/.nvm/versions/node/v11.7.0/bin/node]
6: 0x1005a4563 v8::internal::Heap::CheckIneffectiveMarkCompact(unsigned long, double) [/Users/simon.bailey/.nvm/versions/node/v11.7.0/bin/node]
7: 0x1005a0a98 v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [/Users/simon.bailey/.nvm/versions/node/v11.7.0/bin/node]
8: 0x10059ec55 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/Users/simon.bailey/.nvm/versions/node/v11.7.0/bin/node]
9: 0x1005ab4fc v8::internal::Heap::AllocateRawWithLightRetry(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [/Users/simon.bailey/.nvm/versions/node/v11.7.0/bin/node]
10: 0x1005ab57f v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [/Users/simon.bailey/.nvm/versions/node/v11.7.0/bin/node]
11: 0x10057a774 v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationSpace) [/Users/simon.bailey/.nvm/versions/node/v11.7.0/bin/node]
12: 0x10082cc94 v8::internal::Runtime_AllocateInNewSpace(int, v8::internal::Object**, v8::internal::Isolate*) [/Users/simon.bailey/.nvm/versions/node/v11.7.0/bin/node]
13: 0x14a3e9a4fc7d
๋ํ npm ๋งํฌ๋ก ๋ก์ปฌ๋ก ์ฐ๊ฒฐ๋ ๋ณ๋์ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ์ฌ์ฉ์ ์ง์ ํ ๋ง๋ฅผ ์ฌ์ฉํ๋ ค๊ณ ํ ๋ ๋ด ํ๋ก์ ํธ์์ ์ด์ค React ์ค์น๋ก ๋๋ฌ์ต๋๋ค. ํ ๋ง์ node_modules์์ ๋ฐ์์ ์ญ์ ํ๊ณ ํ ๋ง์ node_modules์ ๋ํ ๋ฌธ์ ํ๋ก์ ํธ์ ๋ฐ์์ ์ฌ๋ณผ๋ฆญ ๋งํฌํ์ฌ ํด๊ฒฐํ ์ ์์ต๋๋ค.
๊ฐ๊ฒ. ๋์ผํ ํจํค์ง ๋ฒ์ , resolutions
ํ๋ ์ถ๊ฐ ๋ฑ์ ์๋ํ์ต๋๋ค. ๋์ผํ ์คํ ์ถ์ .
์ด๊ฒ์ ๋ํ ์ ๋ฐ์ดํธ๊ฐ ์์ต๋๊น? ๋๋ 16.8.6์ ๋ํ ๋ฐ์ ๊ณ ์ ์ ์๋ํ๊ณ , node_modules ๋ฐ package-lock.json์ ์ ๊ฑฐํ์ฌ ์ค๋ณต ์ ๊ฑฐ ๋ฐ์ ๋ฒ์ ์ ์ป์์ง๋ง ์ฌ์ ํ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ด ๋์์ด ๋์์ต๋๊น? https://github.com/pedronauck/docz/pull/882
๋๋ฃ๋ babel.config.js์ api.cache (true)๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
https://babeljs.io/docs/en/configuration
package-lock.json
๊ตฌ์ถ์ด ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค.
์ฌ์ ํ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ๊ณ ์ ๋ deps๊ฐ ์๋ํ์ง๋ง ๋ ์ด์ ์๋ํ์ง ์์
์๋ ํ์ธ์ @hipstersmoothie
์ฌ์ฉ์ค์ธ docz ๋ฒ์ ์ ์ ๊ณตํด ์ฃผ์๊ฒ ์ต๋๊น?
์ต์ v1 ๋ฆด๋ฆฌ์ค์์์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. v2๊ฐ ๋ฌดํ RC ์ํ์์ ๋ฉ์ถ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ฏ๋ก ๋ ๊ฐ์ง ์ฃผ์ ๋ฒ์ ์ ๋ํ ํจํค์ง ์์ ์ฑ์ ๋ํด ๊ฑฑ์ ํฉ๋๋ค.
์๋ ํ์ธ์ @wldcordeiro
V2๋ ๋ค์ ์ฃผ ์์์ผ 11 ์ 25 ์ผ RC ์ํ์์ ์ ์ธ๋ฉ๋๋ค.
์๋ํด ๋ณด์ จ๋์?
์๋ํด ๋ณด์๊ธฐ ๋ฐ๋๋๋ค. ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ๊ธฐ๊บผ์ด ๋์ ๋๋ฆฌ๊ฒ ์ต๋๋ค! ์๋๋ฉด ๋ค์ ์ฃผ๋ฅผ ๊ธฐ๋ค๋ฆฌ์ธ์ ๐
@rakannimer ๊ทธ๋ฅ debug
์์ true
๋ฅผ doczrc.js
์์ true
๋ก ์ค์ ํ์ ๋ v2์ ์ฝ์์ ์ค๋ฅ๊ฐ ๊ณ์ ํ์ ๋ ๊ฒ์ด๋ผ๋ ์ ์ ์ธ๊ธํ๊ณ ์ถ์์ต๋๋ค
์๋ ํ์ธ์ @ Clarity-89
์ด๋ค ์ค๋ฅ๊ฐ ๋ํ๋๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
์๋์ ์ด์ง ์์ ์ฌํ ํ ์ ์์์ต๋๋ค.
์ฌํ์ ์ ๊ณตํ๊ฑฐ๋ ํ๋ก์ ํธ์ ๋ํด ์์ธํ ์ค๋ช ํด ์ฃผ์๊ฒ ์ต๋๊น?
@rakannimer ์ ํ๊ณผ ๊ด๋ จ๋ ์ค๋ฅ :
โ fatal Error parsing static types
โ error Error: No suitable component definition found.
at parse (/Users/user/dev/uikit/node_modules/react-docgen/dist/parse.js:70:13)
at Object.defaultParse [as parse] (/Users/user/dev/uikit/node_modules/react-docgen/dist/main.js:64:29)
at parseFilepathProps (/Users/user/dev/uikit/node_modules/docz-core/dist/index.js:1898:33)
at Array.map (<anonymous>)
at jsParser (/Users/user/dev/uikit/node_modules/docz-core/dist/index.js:1909:16)
at docgen (/Users/user/dev/uikit/node_modules/docz-core/dist/index.js:2116:102)
๋ถํํ๋ ํ๋ก์ ํธ๋ ์์ฉ ์ฝ๋์ด๋ฏ๋ก ์ค์ ๋ก ์ ์ฅ์๋ฅผ ๊ณต์ ํ ์ ์์ต๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก Lerna์์ ๊ด๋ฆฌํ๋ monorepo UI ๊ตฌ์ฑ ์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. ์ค๋ฅ๊ฐ ์ผ๋ถ ์ข ์์ฑ์ผ๋ก ์ธํ ๊ฒ์ผ ์ ์๋์ง ๊ถ๊ธํฉ๋๋ค. ์ด๋ค ์ ์ผ๋ก๋ ์คํ์ค์ธ ์ฑ์ ์ํฅ์ ๋ฏธ์น์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
@rakannimer ๋๋ ํ๋์ ํจํค์ง๋ก ์์ monorepo์์ ๊ฒฝ๊ณ ๋ฅผ ์ฌํ ํ ์์์์ต๋๋ค. https://github.com/Clarity-89/uikit์์ ์ฐพ์ ์ ์์ต๋๋ค
์ฌํ ๋จ๊ณ :
yarn install
docz dev
createSchemaCustomization
๋จ๊ณ ํ์ ์ค๋ฅ๊ฐ ํ์๋ฉ๋๋ค. Node 10.16.2
๋ฐ 13.2
์ฌ์ฉํ์ฌ ์๋ํ์ต๋๋ค.
๋ ๋ง์ ์ ๋ณด๊ฐ ํ์ํ๋ฉด ์๋ ค์ฃผ์ธ์.
์ฌ์ ํ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. React ์ฑ์ Docz๋ฅผ ์ค์นํ๋ฉด ๋์ผํ ์ฑ์ ๋ ์ด์์ React ์ฌ๋ณธ์ด ์์ต๋๋ค.
npm force-resolutions๋ฅผ ์ฌ์ฉํด ๋ณด์์ง๋ง ์ ๊ฒฝ์ฐ์๋์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ง ๋ชปํ์ต๋๋ค.
Docz๊ฐ ๋ค์ ๋ฒ์ ์ react ๋ฐ react-dom์ ์ฌ์ฉํ๋ ๊ฒ์ ํ์ธํ์ต๋๋ค.
"๋ฐ์": "^ 16.8.0",
"react-dom": "^ 16.8.0"
๋ด ํ๋ก์ ํธ๊ฐ 16.13.1์ ์ฌ์ฉํ๊ณ ์๋๋ฐ ์ด๊ฒ์ด ๋ฌธ์ ์ผ ์ ์์ต๋๊น?
์ด๋ค ๋์์ด๋ผ๋ ๋๋จํ ๊ฐ์ฌํ๊ฒ ์ต๋๋ค!
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๊ฐ์ ๋ฌธ์