- Supports typescript
- Builds react application / library using webpack
- Builds storybook application in libraries
- Provides code quality check configurations such as
- eslint configurations
- prettier configuration
- commit lint configuration
- style lint configuration
- Provides common unit/integration test configuration
- Runs react application using webpack dev server and express
- Runs mocked application apis using express server
For most users this upgrade doesn't break functionality. If it does, please reach out to ui-platform-chat channel for assistance
Version 4 has breaking changes that impacts only libraries (e.g: app sdk, app widgets etc) not applications
Following changes to be done in package.json file of the library after upgrading to v4
-
in main field, replace ./dist/index.js with ./dist/cjs/index.js
-
in module field, replace ./lib/index.js with ./dist/es/index.js
-
add following exports field to your package.json
"exports": { ".": { "import": "./dist/es/index.js", "require": "./dist/cjs/index.js" } },
V3 uses new version of husky, after upgrading cli follow the steps below to configure git hooks
npx --no-install husky-init && npm exec -- github:typicode/husky-4-to-6 --remove-v4-config
- remove .husky folder from your git repo root
- copy the entire /.husky folder from this repo and place it in your git repo root
npm run prepare
- create 'lint-staged.config.js' in your git repo root and copy the contents below
const { lintStagedConfig } = require('@elliemae/pui-cli');
module.exports = lintStagedConfig;
- remove following lines from your package.json
"lint-staged": {
"*.js": [
"npm run lint:fix",
"npm run test:staged",
"npm run gendoc"
],
"*.mdx": [
"prettier --write"
],
"*.json": [
"prettier --write"
]
},
Version 3 has support to Typescript
To enable typescript for your application source code add tsconfig.json file to your application root and add the json snippet below
{
"extends": "@elliemae/pui-cli/lib/typescript/app.tsconfig.json",
"compilerOptions": {
"outDir": "dist"
},
"include": ["app/**/*"],
"exclude": ["node_modules"]
}
for library source code
{
"extends": "@elliemae/pui-cli/lib/typescript/library.tsconfig.json",
"compilerOptions": {
"outDir": "dist",
"declarationDir": "dist/types"
},
"include": ["lib/**/*"],
"exclude": ["node_modules"]
}
- after cli upgrade to v2 sync up your application code with latest version of React boilerplate