React: nwb
Reactコンポーネントライブラリを作るためのCLIツール。
ref: nwb | React Components and Libraries nwbでReact Component libraryを作る
インストール
yarn global add nwb
ライブラリのプロジェクト作成
nwb new react-component [ライブラリ名]
Error: spawn npm ENOENT
がで失敗するときはnpmが入っていないので入れる。
sudo apt install npm
起動
yarn start
TypeScript環境の構築
必要な依存関係を入れる。
yarn add -D ts-loader typescript @types/react @types/react-dom
tsconfig.jsonを作成する。
{
"compilerOptions": {
"module": "esnext",
"target": "es5",
"lib": ["es6", "dom"],
"sourceMap": true,
"allowJs": true,
"jsx": "react",
"moduleResolution": "node",
"forceConsistentCasingInFileNames": true,
"noImplicitReturns": true,
"noImplicitThis": true,
"noImplicitAny": true,
"strictNullChecks": true,
"suppressImplicitAnyIndexErrors": true,
"noUnusedLocals": true
},
"exclude": [
"node_modules",
"build",
"scripts",
"acceptance-tests",
"webpack",
"jest",
"src/setupTests.ts"
]
}
nwb.config.js
にwebpackの設定を追記する。
module.exports = {
type: "react-component",
npm: {
esModules: true,
umd: false
},
// ここから下を追加
webpack: {
extra: {
entry: "./src/index",
resolve: {
extensions: [".ts", ".tsx", ".js", ".jsx"]
},
module: {
rules: [{ test: /\.tsx$/, loader: "ts-loader" }]
}
}
}
};
Ref: https://github.com/drager/nwb-react-typescript
コンポーネントライブラリの作り方
npmモジュールとして公開
yarn publish
すると自動でビルドされるようになっている。
yarn publish