@elliemae/pui-cli
v8.44.0
Published
ICE MT UI Platform CLI
Downloads
4,470
Readme
Command Line Interface for UI Applications & Libraries
Features
- 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
Migration Guide
v7 to v8
v6 to v7
v5 to v6
v4 to v5
For most users this upgrade doesn't break functionality. If it does, please reach out to ui-platform-chat channel for assistance
v3 to v4
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" } },
v2 to v3
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"
]
},
Enabling Typescript
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"]
}
v1 to v2
- after cli upgrade to v2 sync up your application code with latest version of React boilerplate