-
storybook: https://andy770921.github.io/react-ts-npm-boilerplate/demo
-
npm package: https://www.npmjs.com/package/react-ts-npm-boilerplate
-
Deploy your own React-Component package to npmjs.com easily
-
Fix format error automatically on save
-
Generate static storybook files and host storybook website automatically via GitHub Actions
-
npm run start
: start running dev-server for local development -
npm run storybook
: start running storybook server for previewing demo page -
npm run build
: build index.js and index.d.ts file from src folder -
npm run build-storybook
: build index.html in demo folder for static hosting -
chagne setting in
package.json
-
use
npm login
andnpm publish
for publishing to https://www.npmjs.com/ -
npm run watch
: start typescript watch mode -
npm run lint
: use ESLint for manually checking files inside src folder
-
npm i react-ts-npm-boilerplate
-
import library
// TypsScript
import React, { FC } from 'react';
import { MyButton } from 'react-ts-npm-boilerplate';
const MyComponent: FC = () => (
<div>
<MyButton>My Button</MyButton>
</div>
);
export default MyComponent;
┌── .github/workflows # Settings for GitHub Actions
├── .storybook # Storybook settings
├── .vscode # VSCode settings for ESLint auto-fix function
├── demo # Storybook static file
├── dist # Bundled JS and TS declaration file for deployed npm package
├── src # All source code
│ ├── components # React components
│ │ └── button # Component folder
│ │ ├── MyButton.tsx # Component for npm package
│ │ └── MyButton.stories.tsx # Component displayed in storybook
│ ├── index.dev.tsx # Development entry that uses ReactDOM.redner for local development
│ └── index.tsx # Production entry that exports all components
├── .gitignore # Excluded files for ignoring Git version control
├── .eslintrc.js # ESLint settings
├── index.html # HTML for local development
├── README.md # README
├── package-lock.json # Package settings that locked the version of dependencies packages
├── package.json # Package settings that listed dependencies packages, npm scripts, project name etc.
├── webpack.config.common.js # Webpack settings in both development and production mode
├── webpack.config.dev.js # Webpack settings in development mode
├── webpack.config.prod.js # Webpack settings in production mode
└── tsconfig.json # TypeScript settings