@elliemae/pui-cli 8.59.1 → 8.59.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/build/docs/404.html +4 -4
  2. package/build/docs/api/functions/loadRoutes/index.html +9 -9
  3. package/build/docs/api/index.html +8 -8
  4. package/build/docs/api/type-aliases/LIB_NAME/index.html +5 -5
  5. package/build/docs/api/variables/babelConfig/index.html +28 -28
  6. package/build/docs/api/variables/commitlintConfig/index.html +8 -8
  7. package/build/docs/api/variables/eslintBaseConfig/index.html +118 -118
  8. package/build/docs/api/variables/eslintConfig/index.html +166 -166
  9. package/build/docs/api/variables/jestConfig/index.html +86 -86
  10. package/build/docs/api/variables/jestNodeConfig/index.html +86 -86
  11. package/build/docs/api/variables/lintStagedConfig/index.html +12 -12
  12. package/build/docs/api/variables/prettierConfig/index.html +18 -18
  13. package/build/docs/api/variables/stylelintConfig/index.html +18 -18
  14. package/build/docs/api/variables/vitestConfig/index.html +5 -5
  15. package/build/docs/assets/css/{styles.42b0cfc8.css → styles.164dab6e.css} +1 -1
  16. package/build/docs/assets/js/{04ee7372.6b073b6d.js → 04ee7372.ee65fc00.js} +1 -1
  17. package/build/docs/assets/js/{1146.7c40c1b2.js → 1146.7ff9d7f5.js} +1 -1
  18. package/build/docs/assets/js/16b7bc88.80829a1f.js +1 -0
  19. package/build/docs/assets/js/17896441.5d790e19.js +1 -0
  20. package/build/docs/assets/js/{1b9df811.b92d0967.js → 1b9df811.33c3d080.js} +1 -1
  21. package/build/docs/assets/js/{37d86055.e4a25e8e.js → 37d86055.5f233dc9.js} +1 -1
  22. package/build/docs/assets/js/{4807.fb6cb703.js → 4807.c1b8e16b.js} +2 -2
  23. package/build/docs/assets/js/{5d5f1db0.d8acea60.js → 5d5f1db0.da94e667.js} +1 -1
  24. package/build/docs/assets/js/{5e8c322a.24c71bef.js → 5e8c322a.2c70908e.js} +1 -1
  25. package/build/docs/assets/js/5e95c892.d1c2c7e1.js +1 -0
  26. package/build/docs/assets/js/5fb3c522.ac972d37.js +1 -0
  27. package/build/docs/assets/js/{6bd11e52.8deaee4f.js → 6bd11e52.d3c9cc53.js} +1 -1
  28. package/build/docs/assets/js/{6e96545e.61c14c1e.js → 6e96545e.131cd57a.js} +1 -1
  29. package/build/docs/assets/js/71f6d02b.5e113622.js +1 -0
  30. package/build/docs/assets/js/{80e87108.2fcf4956.js → 80e87108.569da4f4.js} +1 -1
  31. package/build/docs/assets/js/{5239.616f2bb0.js → 9343.779b42d3.js} +1 -1
  32. package/build/docs/assets/js/{a7bd4aaa.7fcbb4cb.js → a7bd4aaa.42ef5d44.js} +1 -1
  33. package/build/docs/assets/js/a94703ab.16532bab.js +1 -0
  34. package/build/docs/assets/js/{b8ac1d98.80801b14.js → b8ac1d98.2d6ab9ef.js} +1 -1
  35. package/build/docs/assets/js/{bde5209a.bdcbbd93.js → bde5209a.6b1c2e2e.js} +1 -1
  36. package/build/docs/assets/js/{c377a04b.54a1d1f0.js → c377a04b.fe8a2640.js} +1 -1
  37. package/build/docs/assets/js/{e5f79924.af0ec4f0.js → e5f79924.5282f01b.js} +1 -1
  38. package/build/docs/assets/js/{f736c962.1d45902e.js → f736c962.c7b122a4.js} +1 -1
  39. package/build/docs/assets/js/main.518812f9.js +2 -0
  40. package/build/docs/assets/js/runtime~main.2e301887.js +1 -0
  41. package/build/docs/index.html +65 -65
  42. package/build/docs/ssl-certificate-setup/index.html +23 -23
  43. package/build/docs/usage-guide/index.html +78 -78
  44. package/dist/cjs/webpack/webpack.dev.babel.js +1 -0
  45. package/dist/cjs/webpack/webpack.lib.base.babel.js +2 -0
  46. package/dist/esm/webpack/webpack.dev.babel.js +1 -0
  47. package/dist/esm/webpack/webpack.lib.base.babel.js +2 -0
  48. package/dist/types/tsconfig.tsbuildinfo +1 -1
  49. package/package.json +11 -11
  50. package/build/docs/assets/js/16b7bc88.a9f75905.js +0 -1
  51. package/build/docs/assets/js/17896441.c4b39d86.js +0 -1
  52. package/build/docs/assets/js/5e95c892.e513d94d.js +0 -1
  53. package/build/docs/assets/js/5fb3c522.a0880202.js +0 -1
  54. package/build/docs/assets/js/71f6d02b.15085a4a.js +0 -1
  55. package/build/docs/assets/js/a94703ab.7bd2c471.js +0 -1
  56. package/build/docs/assets/js/main.274facb6.js +0 -2
  57. package/build/docs/assets/js/runtime~main.835b0db4.js +0 -1
  58. /package/build/docs/assets/js/{4807.fb6cb703.js.LICENSE.txt → 4807.c1b8e16b.js.LICENSE.txt} +0 -0
  59. /package/build/docs/assets/js/{main.274facb6.js.LICENSE.txt → main.518812f9.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- "use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[3361],{404(e,n,i){i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>s,toc:()=>a});const s=JSON.parse('{"id":"index","title":"PUI CLI Documentation","description":"Welcome to the ICE MT UI Platform CLI documentation. This CLI tool provides a comprehensive set of commands for building, testing, and maintaining UI applications and libraries.","source":"@site/docs/index.md","sourceDirName":".","slug":"/","permalink":"/cli/","draft":false,"unlisted":false,"editUrl":"https://git.elliemae.io/platform-ui/pui-cli.git/docs/index.md","tags":[],"version":"current","frontMatter":{},"sidebar":"docsSidebar","previous":{"title":"vitestConfig","permalink":"/cli/api/variables/vitestConfig"},"next":{"title":"Trust SSL Certificate Guide","permalink":"/cli/ssl-certificate-setup"}}');var l=i(6070),t=i(116);const r={},o="PUI CLI Documentation",c={},a=[{value:"Quick Links",id:"quick-links",level:2},{value:"Features",id:"features",level:2},{value:"Getting Started",id:"getting-started",level:2},{value:"Prerequisites",id:"prerequisites",level:3},{value:"Installation",id:"installation",level:3},{value:"For New Projects",id:"for-new-projects",level:4},{value:"Quick Start",id:"quick-start",level:3},{value:"Setting Up a New Application",id:"setting-up-a-new-application",level:4},{value:"Project Structure",id:"project-structure",level:2},{value:"Application Structure",id:"application-structure",level:3},{value:"Library Structure",id:"library-structure",level:3},{value:"Configuration Files",id:"configuration-files",level:2},{value:"Prettier Configuration",id:"prettier-configuration",level:3},{value:"Stylelint Configuration",id:"stylelint-configuration",level:3},{value:"Commitlint Configuration",id:"commitlint-configuration",level:3},{value:"Lint-staged Configuration",id:"lint-staged-configuration",level:3},{value:"Babel Configuration (Optional)",id:"babel-configuration-optional",level:3},{value:"Git Hooks Setup",id:"git-hooks-setup",level:2},{value:"Additional Configuration Files",id:"additional-configuration-files",level:2},{value:"Jest Configuration",id:"jest-configuration",level:3},{value:"Environment Variables",id:"environment-variables",level:2},{value:"Running Your First Build",id:"running-your-first-build",level:2},{value:"Start Development Server",id:"start-development-server",level:3},{value:"Build for Production",id:"build-for-production",level:3},{value:"Run Tests",id:"run-tests",level:3},{value:"Linting and Type Checking",id:"linting-and-type-checking",level:3},{value:"Storybook",id:"storybook",level:3},{value:"Next Steps",id:"next-steps",level:2},{value:"Troubleshooting",id:"troubleshooting",level:2},{value:"Common Issues",id:"common-issues",level:3},{value:"Getting Help",id:"getting-help",level:2}];function d(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(n.header,{children:(0,l.jsx)(n.h1,{id:"pui-cli-documentation",children:"PUI CLI Documentation"})}),"\n",(0,l.jsx)(n.p,{children:"Welcome to the ICE MT UI Platform CLI documentation. This CLI tool provides a comprehensive set of commands for building, testing, and maintaining UI applications and libraries."}),"\n",(0,l.jsx)(n.h2,{id:"quick-links",children:"Quick Links"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"https://git.elliemae.io/platform-ui/pui-cli",children:"GitHub Repository"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"https://jenkinsbuild.elliemae.cloud/job/UIPlatform/job/pui-cli/job/master",children:"Build Job"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"https://sonarqube.jenkins.elliemae.cloud/overview?id=elliemae.pui.cli-master",children:"SonarQube Report"})}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:(0,l.jsx)(n.a,{href:"/cli/usage-guide",children:"Usage Guide"})})," - Detailed command reference and examples"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:(0,l.jsx)(n.a,{href:"./api/",children:"API Documentation"})})," - Generated API docs from source code"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:(0,l.jsx)(n.a,{href:"/cli/ssl-certificate-setup",children:"SSL Certificate Setup"})})," - HTTPS certificate configuration"]}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"features",children:"Features"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["\ud83d\ude80 ",(0,l.jsx)(n.strong,{children:"Modern Build Tools"})," - Webpack and Vite integration"]}),"\n",(0,l.jsxs)(n.li,{children:["\ud83e\uddea ",(0,l.jsx)(n.strong,{children:"Testing"})," - Jest and Vitest support with coverage"]}),"\n",(0,l.jsxs)(n.li,{children:["\ud83c\udfa8 ",(0,l.jsx)(n.strong,{children:"Linting"})," - ESLint, Prettier, and Stylelint configurations"]}),"\n",(0,l.jsxs)(n.li,{children:["\ud83d\udcdd ",(0,l.jsx)(n.strong,{children:"TypeScript"})," - Full TypeScript support"]}),"\n",(0,l.jsxs)(n.li,{children:["\ud83d\udcda ",(0,l.jsx)(n.strong,{children:"Storybook"})," - Component development and documentation"]}),"\n",(0,l.jsxs)(n.li,{children:["\ud83d\udd27 ",(0,l.jsx)(n.strong,{children:"Development Server"})," - Hot module replacement"]}),"\n",(0,l.jsxs)(n.li,{children:["\ud83d\udce6 ",(0,l.jsx)(n.strong,{children:"Library Support"})," - Build both applications and libraries"]}),"\n",(0,l.jsxs)(n.li,{children:["\ud83c\udfaf ",(0,l.jsx)(n.strong,{children:"Monorepo Support"})," - Workspace version management"]}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"getting-started",children:"Getting Started"}),"\n",(0,l.jsxs)(n.p,{children:["This guide will help you get started with ",(0,l.jsx)(n.code,{children:"@elliemae/pui-cli"}),", a command-line interface tool for building and managing UI applications and libraries."]}),"\n",(0,l.jsx)(n.h3,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,l.jsx)(n.p,{children:"Before you begin, ensure you have the following installed:"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Node.js"}),": Version 20"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"pnpm"}),": Version 8 (recommended package manager)"]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"installation",children:"Installation"}),"\n",(0,l.jsx)(n.h4,{id:"for-new-projects",children:"For New Projects"}),"\n",(0,l.jsx)(n.p,{children:"Install the CLI as a development dependency in your project:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pnpm add -D @elliemae/pui-cli\n"})}),"\n",(0,l.jsx)(n.h3,{id:"quick-start",children:"Quick Start"}),"\n",(0,l.jsx)(n.h4,{id:"setting-up-a-new-application",children:"Setting Up a New Application"}),"\n",(0,l.jsxs)(n.ol,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Create a package.json"})," if you don't have one:"]}),"\n"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pnpm init\n"})}),"\n",(0,l.jsxs)(n.ol,{start:"2",children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Install pui-cli"}),":"]}),"\n"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pnpm add -D @elliemae/pui-cli\n"})}),"\n",(0,l.jsxs)(n.ol,{start:"3",children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Add scripts to your package.json"}),":"]}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:"For applications:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-json",children:'{\n "scripts": {\n "start": "pui-cli start",\n "start:prod": "pui-cli start -p",\n "build": "pui-cli build",\n "test": "pui-cli test",\n "vitest": "pui-cli vitest",\n "test:fix": "pui-cli test -f",\n "test:debug": "pui-cli test --debug",\n "lint": "pui-cli lint",\n "lint:fix": "pui-cli lint --fix",\n "lint:staged": "lint-staged",\n "tscheck": "pui-cli tscheck --files",\n "storybook": "pui-cli storybook",\n "storybook:docs": "pui-cli storybook --docs",\n "storybook:build": "pui-cli storybook -b",\n "gendoc": "pui-cli gendoc"\n }\n}\n'})}),"\n",(0,l.jsx)(n.p,{children:"For libraries:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-json",children:'{\n "scripts": {\n "build": "pui-cli pack -p",\n "build:dev": "pui-cli pack",\n "test": "pui-cli test",\n "test:fix": "pui-cli test -f",\n "lint": "pui-cli lint",\n "lint:fix": "pui-cli lint --fix",\n "tscheck": "pui-cli tscheck --files"\n }\n}\n'})}),"\n",(0,l.jsxs)(n.ol,{start:"4",children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Create a TypeScript configuration"})," (",(0,l.jsx)(n.code,{children:"tsconfig.json"}),"):"]}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:"For applications:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-json",children:'{\n "extends": "@elliemae/pui-cli/app.tsconfig.json",\n "compilerOptions": {\n "outDir": "dist/types",\n "baseUrl": ".",\n "paths": {}\n },\n "include": [\n "app/**/*",\n "wdio.config.mjs",\n "vitest.config.ts",\n "docusaurus.config.ts"\n ],\n "exclude": ["node_modules", "**/*.spec.ts"]\n}\n'})}),"\n",(0,l.jsx)(n.p,{children:"For libraries:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-json",children:'{\n "extends": "@elliemae/pui-cli/library.tsconfig.json",\n "compilerOptions": {\n "outDir": "dist/types",\n "declarationDir": "dist/types",\n "baseUrl": "."\n },\n "include": ["lib/**/*", "./docusaurus.config.ts"],\n "exclude": ["node_modules"]\n}\n'})}),"\n",(0,l.jsxs)(n.ol,{start:"5",children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Create your source structure"}),":"]}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:"For applications:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{children:"your-project/\n\u251c\u2500\u2500 app/\n\u2502 \u251c\u2500\u2500 index.tsx # Entry point\n\u2502 \u251c\u2500\u2500 route/ # Routes\n\u2502 \u251c\u2500\u2500 view/ # Components\n\u2502 \u251c\u2500\u2500 data/ # Redux slices\n\u2502 \u251c\u2500\u2500 api/ # RTK Query APIs\n\u2502 \u251c\u2500\u2500 sideeffect/ # Redux Sagas\n\u2502 \u251c\u2500\u2500 utils/ # Utilities\n\u2502 \u2514\u2500\u2500 app.config.json # App configuration\n\u251c\u2500\u2500 public/ # Static assets\n\u251c\u2500\u2500 package.json\n\u2514\u2500\u2500 tsconfig.json\n"})}),"\n",(0,l.jsx)(n.p,{children:"For libraries:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{children:"your-project/\n\u251c\u2500\u2500 lib/\n\u2502 \u251c\u2500\u2500 index.ts # Entry point\n\u2502 \u251c\u2500\u2500 components/ # Components\n\u2502 \u251c\u2500\u2500 utils/ # Utilities\n\u2502 \u2514\u2500\u2500 __tests__/ # Tests\n\u251c\u2500\u2500 stories/ # Storybook stories (optional)\n\u251c\u2500\u2500 package.json\n\u2514\u2500\u2500 tsconfig.json\n"})}),"\n",(0,l.jsx)(n.h2,{id:"project-structure",children:"Project Structure"}),"\n",(0,l.jsx)(n.h3,{id:"application-structure",children:"Application Structure"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{children:"your-app/\n\u251c\u2500\u2500 app/ # Application source code\n\u2502 \u251c\u2500\u2500 index.tsx # Entry point\n\u2502 \u251c\u2500\u2500 route/ # Route definitions\n\u2502 \u251c\u2500\u2500 view/ # UI components\n\u2502 \u251c\u2500\u2500 data/ # Redux slices (state)\n\u2502 \u251c\u2500\u2500 api/ # RTK Query API definitions\n\u2502 \u251c\u2500\u2500 sideeffect/ # Redux Sagas\n\u2502 \u251c\u2500\u2500 utils/ # Utility functions\n\u2502 \u251c\u2500\u2500 tests/ # Test files\n\u2502 \u2514\u2500\u2500 app.config.json # App configuration\n\u251c\u2500\u2500 public/ # Static assets\n\u251c\u2500\u2500 e2e/ # E2E tests (optional)\n\u251c\u2500\u2500 docs/ # Docusaurus docs (optional)\n\u251c\u2500\u2500 package.json\n\u2514\u2500\u2500 tsconfig.json\n"})}),"\n",(0,l.jsx)(n.h3,{id:"library-structure",children:"Library Structure"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{children:"your-library/\n\u251c\u2500\u2500 lib/ # Library source code\n\u2502 \u251c\u2500\u2500 index.ts # Entry point\n\u2502 \u251c\u2500\u2500 components/ # Components\n\u2502 \u2514\u2500\u2500 __tests__/ # Test files\n\u251c\u2500\u2500 stories/ # Storybook stories\n\u251c\u2500\u2500 package.json\n\u2514\u2500\u2500 tsconfig.json\n"})}),"\n",(0,l.jsx)(n.h2,{id:"configuration-files",children:"Configuration Files"}),"\n",(0,l.jsx)(n.h3,{id:"prettier-configuration",children:"Prettier Configuration"}),"\n",(0,l.jsxs)(n.p,{children:["Create ",(0,l.jsx)(n.code,{children:"prettier.config.cjs"}),":"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-javascript",children:"const { prettierConfig } = require('@elliemae/pui-cli');\nmodule.exports = prettierConfig;\n"})}),"\n",(0,l.jsx)(n.h3,{id:"stylelint-configuration",children:"Stylelint Configuration"}),"\n",(0,l.jsxs)(n.p,{children:["Create ",(0,l.jsx)(n.code,{children:"stylelint.config.cjs"}),":"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-javascript",children:"const { stylelintConfig } = require('@elliemae/pui-cli');\nmodule.exports = stylelintConfig;\n"})}),"\n",(0,l.jsx)(n.h3,{id:"commitlint-configuration",children:"Commitlint Configuration"}),"\n",(0,l.jsxs)(n.p,{children:["Create ",(0,l.jsx)(n.code,{children:"commitlint.config.cjs"}),":"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-javascript",children:"const { commitlintConfig } = require('@elliemae/pui-cli');\nmodule.exports = commitlintConfig;\n"})}),"\n",(0,l.jsx)(n.h3,{id:"lint-staged-configuration",children:"Lint-staged Configuration"}),"\n",(0,l.jsxs)(n.p,{children:["Create ",(0,l.jsx)(n.code,{children:"lint-staged.config.mjs"}),":"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-javascript",children:"import { lintStagedConfig } from '@elliemae/pui-cli';\nexport default lintStagedConfig;\n"})}),"\n",(0,l.jsx)(n.h3,{id:"babel-configuration-optional",children:"Babel Configuration (Optional)"}),"\n",(0,l.jsxs)(n.p,{children:["Create ",(0,l.jsx)(n.code,{children:"babel.config.cjs"})," for custom Babel configuration:"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-javascript",children:"const { babelConfig } = require('@elliemae/pui-cli');\nmodule.exports = babelConfig;\n"})}),"\n",(0,l.jsx)(n.h2,{id:"git-hooks-setup",children:"Git Hooks Setup"}),"\n",(0,l.jsx)(n.p,{children:"To enable pre-commit hooks with Husky:"}),"\n",(0,l.jsxs)(n.ol,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Install Husky"}),":"]}),"\n"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pnpm add -D husky\nnpx husky init\n"})}),"\n",(0,l.jsxs)(n.ol,{start:"2",children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsxs)(n.strong,{children:["Create ",(0,l.jsx)(n.code,{children:".husky/pre-commit"})]}),":"]}),"\n"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:'#!/bin/sh\n. "$(dirname "$0")/_/husky.sh"\n\nnpx lint-staged\n'})}),"\n",(0,l.jsxs)(n.ol,{start:"3",children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Make it executable"}),":"]}),"\n"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"chmod +x .husky/pre-commit\n"})}),"\n",(0,l.jsx)(n.h2,{id:"additional-configuration-files",children:"Additional Configuration Files"}),"\n",(0,l.jsx)(n.h3,{id:"jest-configuration",children:"Jest Configuration"}),"\n",(0,l.jsxs)(n.p,{children:["For custom Jest configuration, create ",(0,l.jsx)(n.code,{children:"jest.config.cjs"}),":"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-javascript",children:"const { jestConfig } = require('@elliemae/pui-cli');\nmodule.exports = jestConfig;\n"})}),"\n",(0,l.jsx)(n.h2,{id:"environment-variables",children:"Environment Variables"}),"\n",(0,l.jsxs)(n.p,{children:["Create a ",(0,l.jsx)(n.code,{children:".env"})," file in your project root for environment-specific configuration:"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-env",children:"PORT=3000\nNODE_ENV=development\n"})}),"\n",(0,l.jsx)(n.h2,{id:"running-your-first-build",children:"Running Your First Build"}),"\n",(0,l.jsx)(n.h3,{id:"start-development-server",children:"Start Development Server"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"# Start development server\npnpm start\n\n# Start with production mode\npnpm start:prod\n# or\npui-cli start -p\n"})}),"\n",(0,l.jsx)(n.p,{children:"This will:"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Start webpack dev server"}),"\n",(0,l.jsx)(n.li,{children:"Enable hot module replacement"}),"\n",(0,l.jsxs)(n.li,{children:["Serve your application (default: ",(0,l.jsx)(n.a,{href:"http://localhost:3000",children:"http://localhost:3000"}),")"]}),"\n",(0,l.jsx)(n.li,{children:"Watch for file changes"}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"build-for-production",children:"Build for Production"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"# Build application\npnpm build\n\n# Build library\npui-cli pack -p\n\n# Build library for development (no minification)\npui-cli pack\n"})}),"\n",(0,l.jsx)(n.p,{children:"This will:"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Create an optimized production build"}),"\n",(0,l.jsxs)(n.li,{children:["Output files to the ",(0,l.jsx)(n.code,{children:"dist/"})," or ",(0,l.jsx)(n.code,{children:"build/"})," directory"]}),"\n",(0,l.jsx)(n.li,{children:"Generate source maps"}),"\n",(0,l.jsx)(n.li,{children:"Minify and bundle your code"}),"\n",(0,l.jsx)(n.li,{children:"For libraries: Generate ESM, CJS, and type declarations"}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"run-tests",children:"Run Tests"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"# Run Jest tests\npnpm test\n\n# Run tests with auto-fix\npnpm test:fix\n\n# Debug tests\npnpm test:debug\n\n# Watch mode\npnpm test:watch\n"})}),"\n",(0,l.jsx)(n.h3,{id:"linting-and-type-checking",children:"Linting and Type Checking"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"# Lint code\npnpm lint\n\n# Auto-fix lint issues\npnpm lint:fix\n\n# Type check\npnpm tscheck\n\n# Lint staged files only\npnpm lint:staged\n"})}),"\n",(0,l.jsx)(n.h3,{id:"storybook",children:"Storybook"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"# Run Storybook dev server\npnpm storybook\n\n# Run with docs mode\npnpm storybook:docs\n\n# Build static Storybook\npnpm storybook:build\n"})}),"\n",(0,l.jsx)(n.h2,{id:"next-steps",children:"Next Steps"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["Read the ",(0,l.jsx)(n.a,{href:"/cli/usage-guide",children:"Usage Guide"})," for detailed command documentation"]}),"\n",(0,l.jsxs)(n.li,{children:["Check out the ",(0,l.jsx)(n.a,{href:"./api/",children:"API Documentation"})," for library exports"]}),"\n",(0,l.jsxs)(n.li,{children:["Review the ",(0,l.jsx)(n.a,{href:"https://git.elliemae.io/platform-ui/pui-cli#migration-guide",children:"Migration Guide"})," if upgrading from an older version"]}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,l.jsx)(n.h3,{id:"common-issues",children:"Common Issues"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Port already in use:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"# Change the port in your .env file\nPORT=3001\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Module not found errors:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"# Clear node_modules and reinstall\nrm -rf node_modules\npnpm install\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Build fails with TypeScript errors:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"# Run type checking separately to see detailed errors\npnpm tscheck\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"HTTPS certificate warnings:"})}),"\n",(0,l.jsx)(n.p,{children:'If you see "Not Secure" or certificate warnings when using HTTPS in development:'}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["See the ",(0,l.jsx)(n.a,{href:"/cli/ssl-certificate-setup",children:"SSL Certificate Setup Guide"})," for detailed instructions"]}),"\n",(0,l.jsx)(n.li,{children:"You need to trust the self-signed CA certificate on your system"}),"\n",(0,l.jsx)(n.li,{children:"Platform-specific instructions available for macOS, Windows, and Firefox"}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"getting-help",children:"Getting Help"}),"\n",(0,l.jsx)(n.p,{children:"If you encounter issues:"}),"\n",(0,l.jsxs)(n.ol,{children:["\n",(0,l.jsxs)(n.li,{children:["Review the documentation in the ",(0,l.jsx)(n.code,{children:"docs/"})," folder"]}),"\n",(0,l.jsx)(n.li,{children:"Reach out to the ui-platform teams channel"}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,l.jsx)(n,{...e,children:(0,l.jsx)(d,{...e})}):d(e)}}}]);
1
+ "use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[3361],{944(e,n,i){i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>s,toc:()=>a});const s=JSON.parse('{"id":"index","title":"PUI CLI Documentation","description":"Welcome to the ICE MT UI Platform CLI documentation. This CLI tool provides a comprehensive set of commands for building, testing, and maintaining UI applications and libraries.","source":"@site/docs/index.md","sourceDirName":".","slug":"/","permalink":"/cli/","draft":false,"unlisted":false,"editUrl":"https://git.elliemae.io/platform-ui/pui-cli.git/docs/index.md","tags":[],"version":"current","frontMatter":{},"sidebar":"docsSidebar","previous":{"title":"vitestConfig","permalink":"/cli/api/variables/vitestConfig"},"next":{"title":"Trust SSL Certificate Guide","permalink":"/cli/ssl-certificate-setup"}}');var l=i(6070),t=i(116);const r={},o="PUI CLI Documentation",c={},a=[{value:"Quick Links",id:"quick-links",level:2},{value:"Features",id:"features",level:2},{value:"Getting Started",id:"getting-started",level:2},{value:"Prerequisites",id:"prerequisites",level:3},{value:"Installation",id:"installation",level:3},{value:"For New Projects",id:"for-new-projects",level:4},{value:"Quick Start",id:"quick-start",level:3},{value:"Setting Up a New Application",id:"setting-up-a-new-application",level:4},{value:"Project Structure",id:"project-structure",level:2},{value:"Application Structure",id:"application-structure",level:3},{value:"Library Structure",id:"library-structure",level:3},{value:"Configuration Files",id:"configuration-files",level:2},{value:"Prettier Configuration",id:"prettier-configuration",level:3},{value:"Stylelint Configuration",id:"stylelint-configuration",level:3},{value:"Commitlint Configuration",id:"commitlint-configuration",level:3},{value:"Lint-staged Configuration",id:"lint-staged-configuration",level:3},{value:"Babel Configuration (Optional)",id:"babel-configuration-optional",level:3},{value:"Git Hooks Setup",id:"git-hooks-setup",level:2},{value:"Additional Configuration Files",id:"additional-configuration-files",level:2},{value:"Jest Configuration",id:"jest-configuration",level:3},{value:"Environment Variables",id:"environment-variables",level:2},{value:"Running Your First Build",id:"running-your-first-build",level:2},{value:"Start Development Server",id:"start-development-server",level:3},{value:"Build for Production",id:"build-for-production",level:3},{value:"Run Tests",id:"run-tests",level:3},{value:"Linting and Type Checking",id:"linting-and-type-checking",level:3},{value:"Storybook",id:"storybook",level:3},{value:"Next Steps",id:"next-steps",level:2},{value:"Troubleshooting",id:"troubleshooting",level:2},{value:"Common Issues",id:"common-issues",level:3},{value:"Getting Help",id:"getting-help",level:2}];function d(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(n.header,{children:(0,l.jsx)(n.h1,{id:"pui-cli-documentation",children:"PUI CLI Documentation"})}),"\n",(0,l.jsx)(n.p,{children:"Welcome to the ICE MT UI Platform CLI documentation. This CLI tool provides a comprehensive set of commands for building, testing, and maintaining UI applications and libraries."}),"\n",(0,l.jsx)(n.h2,{id:"quick-links",children:"Quick Links"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"https://git.elliemae.io/platform-ui/pui-cli",children:"GitHub Repository"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"https://jenkinsbuild.elliemae.cloud/job/UIPlatform/job/pui-cli/job/master",children:"Build Job"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"https://sonarqube.jenkins.elliemae.cloud/overview?id=elliemae.pui.cli-master",children:"SonarQube Report"})}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:(0,l.jsx)(n.a,{href:"/cli/usage-guide",children:"Usage Guide"})})," - Detailed command reference and examples"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:(0,l.jsx)(n.a,{href:"./api/",children:"API Documentation"})})," - Generated API docs from source code"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:(0,l.jsx)(n.a,{href:"/cli/ssl-certificate-setup",children:"SSL Certificate Setup"})})," - HTTPS certificate configuration"]}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"features",children:"Features"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["\ud83d\ude80 ",(0,l.jsx)(n.strong,{children:"Modern Build Tools"})," - Webpack and Vite integration"]}),"\n",(0,l.jsxs)(n.li,{children:["\ud83e\uddea ",(0,l.jsx)(n.strong,{children:"Testing"})," - Jest and Vitest support with coverage"]}),"\n",(0,l.jsxs)(n.li,{children:["\ud83c\udfa8 ",(0,l.jsx)(n.strong,{children:"Linting"})," - ESLint, Prettier, and Stylelint configurations"]}),"\n",(0,l.jsxs)(n.li,{children:["\ud83d\udcdd ",(0,l.jsx)(n.strong,{children:"TypeScript"})," - Full TypeScript support"]}),"\n",(0,l.jsxs)(n.li,{children:["\ud83d\udcda ",(0,l.jsx)(n.strong,{children:"Storybook"})," - Component development and documentation"]}),"\n",(0,l.jsxs)(n.li,{children:["\ud83d\udd27 ",(0,l.jsx)(n.strong,{children:"Development Server"})," - Hot module replacement"]}),"\n",(0,l.jsxs)(n.li,{children:["\ud83d\udce6 ",(0,l.jsx)(n.strong,{children:"Library Support"})," - Build both applications and libraries"]}),"\n",(0,l.jsxs)(n.li,{children:["\ud83c\udfaf ",(0,l.jsx)(n.strong,{children:"Monorepo Support"})," - Workspace version management"]}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"getting-started",children:"Getting Started"}),"\n",(0,l.jsxs)(n.p,{children:["This guide will help you get started with ",(0,l.jsx)(n.code,{children:"@elliemae/pui-cli"}),", a command-line interface tool for building and managing UI applications and libraries."]}),"\n",(0,l.jsx)(n.h3,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,l.jsx)(n.p,{children:"Before you begin, ensure you have the following installed:"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Node.js"}),": Version 20"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"pnpm"}),": Version 8 (recommended package manager)"]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"installation",children:"Installation"}),"\n",(0,l.jsx)(n.h4,{id:"for-new-projects",children:"For New Projects"}),"\n",(0,l.jsx)(n.p,{children:"Install the CLI as a development dependency in your project:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pnpm add -D @elliemae/pui-cli\n"})}),"\n",(0,l.jsx)(n.h3,{id:"quick-start",children:"Quick Start"}),"\n",(0,l.jsx)(n.h4,{id:"setting-up-a-new-application",children:"Setting Up a New Application"}),"\n",(0,l.jsxs)(n.ol,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Create a package.json"})," if you don't have one:"]}),"\n"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pnpm init\n"})}),"\n",(0,l.jsxs)(n.ol,{start:"2",children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Install pui-cli"}),":"]}),"\n"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pnpm add -D @elliemae/pui-cli\n"})}),"\n",(0,l.jsxs)(n.ol,{start:"3",children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Add scripts to your package.json"}),":"]}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:"For applications:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-json",children:'{\n "scripts": {\n "start": "pui-cli start",\n "start:prod": "pui-cli start -p",\n "build": "pui-cli build",\n "test": "pui-cli test",\n "vitest": "pui-cli vitest",\n "test:fix": "pui-cli test -f",\n "test:debug": "pui-cli test --debug",\n "lint": "pui-cli lint",\n "lint:fix": "pui-cli lint --fix",\n "lint:staged": "lint-staged",\n "tscheck": "pui-cli tscheck --files",\n "storybook": "pui-cli storybook",\n "storybook:docs": "pui-cli storybook --docs",\n "storybook:build": "pui-cli storybook -b",\n "gendoc": "pui-cli gendoc"\n }\n}\n'})}),"\n",(0,l.jsx)(n.p,{children:"For libraries:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-json",children:'{\n "scripts": {\n "build": "pui-cli pack -p",\n "build:dev": "pui-cli pack",\n "test": "pui-cli test",\n "test:fix": "pui-cli test -f",\n "lint": "pui-cli lint",\n "lint:fix": "pui-cli lint --fix",\n "tscheck": "pui-cli tscheck --files"\n }\n}\n'})}),"\n",(0,l.jsxs)(n.ol,{start:"4",children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Create a TypeScript configuration"})," (",(0,l.jsx)(n.code,{children:"tsconfig.json"}),"):"]}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:"For applications:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-json",children:'{\n "extends": "@elliemae/pui-cli/app.tsconfig.json",\n "compilerOptions": {\n "outDir": "dist/types",\n "baseUrl": ".",\n "paths": {}\n },\n "include": [\n "app/**/*",\n "wdio.config.mjs",\n "vitest.config.ts",\n "docusaurus.config.ts"\n ],\n "exclude": ["node_modules", "**/*.spec.ts"]\n}\n'})}),"\n",(0,l.jsx)(n.p,{children:"For libraries:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-json",children:'{\n "extends": "@elliemae/pui-cli/library.tsconfig.json",\n "compilerOptions": {\n "outDir": "dist/types",\n "declarationDir": "dist/types",\n "baseUrl": "."\n },\n "include": ["lib/**/*", "./docusaurus.config.ts"],\n "exclude": ["node_modules"]\n}\n'})}),"\n",(0,l.jsxs)(n.ol,{start:"5",children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Create your source structure"}),":"]}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:"For applications:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{children:"your-project/\n\u251c\u2500\u2500 app/\n\u2502 \u251c\u2500\u2500 index.tsx # Entry point\n\u2502 \u251c\u2500\u2500 route/ # Routes\n\u2502 \u251c\u2500\u2500 view/ # Components\n\u2502 \u251c\u2500\u2500 data/ # Redux slices\n\u2502 \u251c\u2500\u2500 api/ # RTK Query APIs\n\u2502 \u251c\u2500\u2500 sideeffect/ # Redux Sagas\n\u2502 \u251c\u2500\u2500 utils/ # Utilities\n\u2502 \u2514\u2500\u2500 app.config.json # App configuration\n\u251c\u2500\u2500 public/ # Static assets\n\u251c\u2500\u2500 package.json\n\u2514\u2500\u2500 tsconfig.json\n"})}),"\n",(0,l.jsx)(n.p,{children:"For libraries:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{children:"your-project/\n\u251c\u2500\u2500 lib/\n\u2502 \u251c\u2500\u2500 index.ts # Entry point\n\u2502 \u251c\u2500\u2500 components/ # Components\n\u2502 \u251c\u2500\u2500 utils/ # Utilities\n\u2502 \u2514\u2500\u2500 __tests__/ # Tests\n\u251c\u2500\u2500 stories/ # Storybook stories (optional)\n\u251c\u2500\u2500 package.json\n\u2514\u2500\u2500 tsconfig.json\n"})}),"\n",(0,l.jsx)(n.h2,{id:"project-structure",children:"Project Structure"}),"\n",(0,l.jsx)(n.h3,{id:"application-structure",children:"Application Structure"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{children:"your-app/\n\u251c\u2500\u2500 app/ # Application source code\n\u2502 \u251c\u2500\u2500 index.tsx # Entry point\n\u2502 \u251c\u2500\u2500 route/ # Route definitions\n\u2502 \u251c\u2500\u2500 view/ # UI components\n\u2502 \u251c\u2500\u2500 data/ # Redux slices (state)\n\u2502 \u251c\u2500\u2500 api/ # RTK Query API definitions\n\u2502 \u251c\u2500\u2500 sideeffect/ # Redux Sagas\n\u2502 \u251c\u2500\u2500 utils/ # Utility functions\n\u2502 \u251c\u2500\u2500 tests/ # Test files\n\u2502 \u2514\u2500\u2500 app.config.json # App configuration\n\u251c\u2500\u2500 public/ # Static assets\n\u251c\u2500\u2500 e2e/ # E2E tests (optional)\n\u251c\u2500\u2500 docs/ # Docusaurus docs (optional)\n\u251c\u2500\u2500 package.json\n\u2514\u2500\u2500 tsconfig.json\n"})}),"\n",(0,l.jsx)(n.h3,{id:"library-structure",children:"Library Structure"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{children:"your-library/\n\u251c\u2500\u2500 lib/ # Library source code\n\u2502 \u251c\u2500\u2500 index.ts # Entry point\n\u2502 \u251c\u2500\u2500 components/ # Components\n\u2502 \u2514\u2500\u2500 __tests__/ # Test files\n\u251c\u2500\u2500 stories/ # Storybook stories\n\u251c\u2500\u2500 package.json\n\u2514\u2500\u2500 tsconfig.json\n"})}),"\n",(0,l.jsx)(n.h2,{id:"configuration-files",children:"Configuration Files"}),"\n",(0,l.jsx)(n.h3,{id:"prettier-configuration",children:"Prettier Configuration"}),"\n",(0,l.jsxs)(n.p,{children:["Create ",(0,l.jsx)(n.code,{children:"prettier.config.cjs"}),":"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-javascript",children:"const { prettierConfig } = require('@elliemae/pui-cli');\nmodule.exports = prettierConfig;\n"})}),"\n",(0,l.jsx)(n.h3,{id:"stylelint-configuration",children:"Stylelint Configuration"}),"\n",(0,l.jsxs)(n.p,{children:["Create ",(0,l.jsx)(n.code,{children:"stylelint.config.cjs"}),":"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-javascript",children:"const { stylelintConfig } = require('@elliemae/pui-cli');\nmodule.exports = stylelintConfig;\n"})}),"\n",(0,l.jsx)(n.h3,{id:"commitlint-configuration",children:"Commitlint Configuration"}),"\n",(0,l.jsxs)(n.p,{children:["Create ",(0,l.jsx)(n.code,{children:"commitlint.config.cjs"}),":"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-javascript",children:"const { commitlintConfig } = require('@elliemae/pui-cli');\nmodule.exports = commitlintConfig;\n"})}),"\n",(0,l.jsx)(n.h3,{id:"lint-staged-configuration",children:"Lint-staged Configuration"}),"\n",(0,l.jsxs)(n.p,{children:["Create ",(0,l.jsx)(n.code,{children:"lint-staged.config.mjs"}),":"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-javascript",children:"import { lintStagedConfig } from '@elliemae/pui-cli';\nexport default lintStagedConfig;\n"})}),"\n",(0,l.jsx)(n.h3,{id:"babel-configuration-optional",children:"Babel Configuration (Optional)"}),"\n",(0,l.jsxs)(n.p,{children:["Create ",(0,l.jsx)(n.code,{children:"babel.config.cjs"})," for custom Babel configuration:"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-javascript",children:"const { babelConfig } = require('@elliemae/pui-cli');\nmodule.exports = babelConfig;\n"})}),"\n",(0,l.jsx)(n.h2,{id:"git-hooks-setup",children:"Git Hooks Setup"}),"\n",(0,l.jsx)(n.p,{children:"To enable pre-commit hooks with Husky:"}),"\n",(0,l.jsxs)(n.ol,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Install Husky"}),":"]}),"\n"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pnpm add -D husky\nnpx husky init\n"})}),"\n",(0,l.jsxs)(n.ol,{start:"2",children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsxs)(n.strong,{children:["Create ",(0,l.jsx)(n.code,{children:".husky/pre-commit"})]}),":"]}),"\n"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:'#!/bin/sh\n. "$(dirname "$0")/_/husky.sh"\n\nnpx lint-staged\n'})}),"\n",(0,l.jsxs)(n.ol,{start:"3",children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Make it executable"}),":"]}),"\n"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"chmod +x .husky/pre-commit\n"})}),"\n",(0,l.jsx)(n.h2,{id:"additional-configuration-files",children:"Additional Configuration Files"}),"\n",(0,l.jsx)(n.h3,{id:"jest-configuration",children:"Jest Configuration"}),"\n",(0,l.jsxs)(n.p,{children:["For custom Jest configuration, create ",(0,l.jsx)(n.code,{children:"jest.config.cjs"}),":"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-javascript",children:"const { jestConfig } = require('@elliemae/pui-cli');\nmodule.exports = jestConfig;\n"})}),"\n",(0,l.jsx)(n.h2,{id:"environment-variables",children:"Environment Variables"}),"\n",(0,l.jsxs)(n.p,{children:["Create a ",(0,l.jsx)(n.code,{children:".env"})," file in your project root for environment-specific configuration:"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-env",children:"PORT=3000\nNODE_ENV=development\n"})}),"\n",(0,l.jsx)(n.h2,{id:"running-your-first-build",children:"Running Your First Build"}),"\n",(0,l.jsx)(n.h3,{id:"start-development-server",children:"Start Development Server"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"# Start development server\npnpm start\n\n# Start with production mode\npnpm start:prod\n# or\npui-cli start -p\n"})}),"\n",(0,l.jsx)(n.p,{children:"This will:"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Start webpack dev server"}),"\n",(0,l.jsx)(n.li,{children:"Enable hot module replacement"}),"\n",(0,l.jsxs)(n.li,{children:["Serve your application (default: ",(0,l.jsx)(n.a,{href:"http://localhost:3000",children:"http://localhost:3000"}),")"]}),"\n",(0,l.jsx)(n.li,{children:"Watch for file changes"}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"build-for-production",children:"Build for Production"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"# Build application\npnpm build\n\n# Build library\npui-cli pack -p\n\n# Build library for development (no minification)\npui-cli pack\n"})}),"\n",(0,l.jsx)(n.p,{children:"This will:"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Create an optimized production build"}),"\n",(0,l.jsxs)(n.li,{children:["Output files to the ",(0,l.jsx)(n.code,{children:"dist/"})," or ",(0,l.jsx)(n.code,{children:"build/"})," directory"]}),"\n",(0,l.jsx)(n.li,{children:"Generate source maps"}),"\n",(0,l.jsx)(n.li,{children:"Minify and bundle your code"}),"\n",(0,l.jsx)(n.li,{children:"For libraries: Generate ESM, CJS, and type declarations"}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"run-tests",children:"Run Tests"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"# Run Jest tests\npnpm test\n\n# Run tests with auto-fix\npnpm test:fix\n\n# Debug tests\npnpm test:debug\n\n# Watch mode\npnpm test:watch\n"})}),"\n",(0,l.jsx)(n.h3,{id:"linting-and-type-checking",children:"Linting and Type Checking"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"# Lint code\npnpm lint\n\n# Auto-fix lint issues\npnpm lint:fix\n\n# Type check\npnpm tscheck\n\n# Lint staged files only\npnpm lint:staged\n"})}),"\n",(0,l.jsx)(n.h3,{id:"storybook",children:"Storybook"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"# Run Storybook dev server\npnpm storybook\n\n# Run with docs mode\npnpm storybook:docs\n\n# Build static Storybook\npnpm storybook:build\n"})}),"\n",(0,l.jsx)(n.h2,{id:"next-steps",children:"Next Steps"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["Read the ",(0,l.jsx)(n.a,{href:"/cli/usage-guide",children:"Usage Guide"})," for detailed command documentation"]}),"\n",(0,l.jsxs)(n.li,{children:["Check out the ",(0,l.jsx)(n.a,{href:"./api/",children:"API Documentation"})," for library exports"]}),"\n",(0,l.jsxs)(n.li,{children:["Review the ",(0,l.jsx)(n.a,{href:"https://git.elliemae.io/platform-ui/pui-cli#migration-guide",children:"Migration Guide"})," if upgrading from an older version"]}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,l.jsx)(n.h3,{id:"common-issues",children:"Common Issues"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Port already in use:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"# Change the port in your .env file\nPORT=3001\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Module not found errors:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"# Clear node_modules and reinstall\nrm -rf node_modules\npnpm install\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Build fails with TypeScript errors:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"# Run type checking separately to see detailed errors\npnpm tscheck\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"HTTPS certificate warnings:"})}),"\n",(0,l.jsx)(n.p,{children:'If you see "Not Secure" or certificate warnings when using HTTPS in development:'}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["See the ",(0,l.jsx)(n.a,{href:"/cli/ssl-certificate-setup",children:"SSL Certificate Setup Guide"})," for detailed instructions"]}),"\n",(0,l.jsx)(n.li,{children:"You need to trust the self-signed CA certificate on your system"}),"\n",(0,l.jsx)(n.li,{children:"Platform-specific instructions available for macOS, Windows, and Firefox"}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"getting-help",children:"Getting Help"}),"\n",(0,l.jsx)(n.p,{children:"If you encounter issues:"}),"\n",(0,l.jsxs)(n.ol,{children:["\n",(0,l.jsxs)(n.li,{children:["Review the documentation in the ",(0,l.jsx)(n.code,{children:"docs/"})," folder"]}),"\n",(0,l.jsx)(n.li,{children:"Reach out to the ui-platform teams channel"}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,l.jsx)(n,{...e,children:(0,l.jsx)(d,{...e})}):d(e)}}}]);
@@ -1 +1 @@
1
- "use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[1724],{8434(e,n,s){s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>t,default:()=>c,frontMatter:()=>a,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"api/variables/eslintBaseConfig","title":"eslintBaseConfig","description":"Type Declaration","source":"@site/docs/api/variables/eslintBaseConfig.md","sourceDirName":"api/variables","slug":"/api/variables/eslintBaseConfig","permalink":"/cli/api/variables/eslintBaseConfig","draft":false,"unlisted":false,"editUrl":"https://git.elliemae.io/platform-ui/pui-cli.git/docs/api/variables/eslintBaseConfig.md","tags":[],"version":"current","frontMatter":{},"sidebar":"docsSidebar","previous":{"title":"commitlintConfig","permalink":"/cli/api/variables/commitlintConfig"},"next":{"title":"eslintConfig","permalink":"/cli/api/variables/eslintConfig"}}');var l=s(6070),i=s(116);const a={},t="eslintBaseConfig",o={},d=[{value:"Type Declaration",id:"type-declaration",level:2},{value:"env",id:"env",level:3},{value:"env.browser",id:"envbrowser",level:4},{value:"env.es2021",id:"enves2021",level:4},{value:"env.jest",id:"envjest",level:4},{value:"env.node",id:"envnode",level:4},{value:"extends",id:"extends",level:3},{value:"ignorePatterns",id:"ignorepatterns",level:3},{value:"overrides",id:"overrides",level:3},{value:"parser",id:"parser",level:3},{value:"parserOptions",id:"parseroptions",level:3},{value:"parserOptions.babelOptions",id:"parseroptionsbabeloptions",level:4},{value:"parserOptions.babelOptions.plugins",id:"parseroptionsbabeloptionsplugins",level:4},{value:"parserOptions.ecmaFeatures",id:"parseroptionsecmafeatures",level:4},{value:"parserOptions.ecmaFeatures.jsx",id:"parseroptionsecmafeaturesjsx",level:4},{value:"parserOptions.sourceType",id:"parseroptionssourcetype",level:4},{value:"plugins",id:"plugins",level:3},{value:"rules",id:"rules",level:3},{value:"rules.arrow-body-style",id:"rulesarrow-body-style",level:4},{value:"rules.class-methods-use-this",id:"rulesclass-methods-use-this",level:4},{value:"rules.complexity",id:"rulescomplexity",level:4},{value:"rules.eslint-comments/disable-enable-pair",id:"ruleseslint-commentsdisable-enable-pair",level:4},{value:"rules.import/extensions",id:"rulesimportextensions",level:4},{value:"rules.import/imports-first",id:"rulesimportimports-first",level:4},{value:"rules.import/newline-after-import",id:"rulesimportnewline-after-import",level:4},{value:"rules.import/no-dynamic-require",id:"rulesimportno-dynamic-require",level:4},{value:"rules.import/no-extraneous-dependencies",id:"rulesimportno-extraneous-dependencies",level:4},{value:"rules.import/no-named-as-default",id:"rulesimportno-named-as-default",level:4},{value:"rules.import/no-unresolved",id:"rulesimportno-unresolved",level:4},{value:"rules.import/no-webpack-loader-syntax",id:"rulesimportno-webpack-loader-syntax",level:4},{value:"rules.import/prefer-default-export",id:"rulesimportprefer-default-export",level:4},{value:"rules.indent",id:"rulesindent",level:4},{value:"rules.jsdoc/require-jsdoc",id:"rulesjsdocrequire-jsdoc",level:4},{value:"rules.max-depth",id:"rulesmax-depth",level:4},{value:"rules.max-len",id:"rulesmax-len",level:4},{value:"rules.max-lines",id:"rulesmax-lines",level:4},{value:"rules.max-lines-per-function",id:"rulesmax-lines-per-function",level:4},{value:"rules.max-nested-callbacks",id:"rulesmax-nested-callbacks",level:4},{value:"rules.max-params",id:"rulesmax-params",level:4},{value:"rules.max-statements",id:"rulesmax-statements",level:4},{value:"rules.newline-per-chained-call",id:"rulesnewline-per-chained-call",level:4},{value:"rules.no-confusing-arrow",id:"rulesno-confusing-arrow",level:4},{value:"rules.no-console",id:"rulesno-console",level:4},{value:"rules.no-param-reassign",id:"rulesno-param-reassign",level:4},{value:"rules.no-unused-vars",id:"rulesno-unused-vars",level:4},{value:"rules.no-use-before-define",id:"rulesno-use-before-define",level:4},{value:"rules.prefer-template",id:"rulesprefer-template",level:4},{value:"rules.prettier/prettier",id:"rulesprettierprettier",level:4},{value:"rules.require-yield",id:"rulesrequire-yield",level:4},{value:"settings",id:"settings",level:3},{value:"settings.import/resolver",id:"settingsimportresolver",level:4},{value:"settings.import/resolver.node",id:"settingsimportresolvernode",level:4},{value:"settings.import/resolver.node.extensions",id:"settingsimportresolvernodeextensions",level:4},{value:"settings.jest",id:"settingsjest",level:4},{value:"settings.jest.version",id:"settingsjestversion",level:4},{value:"settings.react",id:"settingsreact",level:4},{value:"settings.react.version",id:"settingsreactversion",level:4}];function u(e){const n={code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",pre:"pre",...(0,i.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(n.header,{children:(0,l.jsx)(n.h1,{id:"eslintbaseconfig",children:"eslintBaseConfig"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"eslintBaseConfig: {\n env: {\n browser: boolean;\n es2021: boolean;\n jest: boolean;\n node: boolean;\n };\n extends: string[];\n ignorePatterns: string[];\n overrides: {\n files: string[];\n rules: {\n jest/valid-expect: string;\n };\n }[];\n parser: string;\n parserOptions: {\n babelOptions: {\n plugins: string[];\n };\n ecmaFeatures: {\n jsx: boolean;\n };\n sourceType: string;\n };\n plugins: string[];\n rules: {\n arrow-body-style: (string | number)[];\n class-methods-use-this: number;\n complexity: (\n | string\n | {\n max: number;\n })[];\n eslint-comments/disable-enable-pair: number;\n import/extensions: (\n | string\n | number\n | {\n js: string;\n json: string;\n })[];\n import/imports-first: number;\n import/newline-after-import: number;\n import/no-dynamic-require: number;\n import/no-extraneous-dependencies: number;\n import/no-named-as-default: number;\n import/no-unresolved: (\n | number\n | {\n caseSensitive: boolean;\n caseSensitiveStrict: boolean;\n })[];\n import/no-webpack-loader-syntax: number;\n import/prefer-default-export: number;\n indent: (\n | number\n | {\n SwitchCase: number;\n })[];\n jsdoc/require-jsdoc: number;\n max-depth: (\n | string\n | {\n max: number;\n })[];\n max-len: number;\n max-lines: (\n | string\n | {\n max: number;\n skipComments: boolean;\n })[];\n max-lines-per-function: number;\n max-nested-callbacks: (\n | string\n | {\n max: number;\n })[];\n max-params: (\n | string\n | {\n max: number;\n })[];\n max-statements: (\n | string\n | {\n max: number;\n })[];\n newline-per-chained-call: number;\n no-confusing-arrow: number;\n no-console: number;\n no-param-reassign: (\n | string\n | {\n props: boolean;\n })[];\n no-unused-vars: number;\n no-use-before-define: number;\n prefer-template: number;\n prettier/prettier: (string | __module)[];\n require-yield: number;\n };\n settings: {\n import/resolver: {\n node: {\n extensions: string[];\n };\n };\n jest: {\n version: number;\n };\n react: {\n version: string;\n };\n };\n};\n"})}),"\n",(0,l.jsx)(n.h2,{id:"type-declaration",children:"Type Declaration"}),"\n",(0,l.jsx)(n.h3,{id:"env",children:"env"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"env: {\n browser: boolean;\n es2021: boolean;\n jest: boolean;\n node: boolean;\n};\n"})}),"\n",(0,l.jsx)(n.h4,{id:"envbrowser",children:"env.browser"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"browser: boolean = true;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"enves2021",children:"env.es2021"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"es2021: boolean = true;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"envjest",children:"env.jest"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"jest: boolean = true;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"envnode",children:"env.node"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"node: boolean = true;\n"})}),"\n",(0,l.jsx)(n.h3,{id:"extends",children:"extends"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"extends: string[];\n"})}),"\n",(0,l.jsx)(n.h3,{id:"ignorepatterns",children:"ignorePatterns"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"ignorePatterns: string[];\n"})}),"\n",(0,l.jsx)(n.h3,{id:"overrides",children:"overrides"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"overrides: {\n files: string[];\n rules: {\n jest/valid-expect: string;\n };\n}[];\n"})}),"\n",(0,l.jsx)(n.h3,{id:"parser",children:"parser"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:'parser: string = "@babel/eslint-parser";\n'})}),"\n",(0,l.jsx)(n.h3,{id:"parseroptions",children:"parserOptions"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"parserOptions: {\n babelOptions: {\n plugins: string[];\n };\n ecmaFeatures: {\n jsx: boolean;\n };\n sourceType: string;\n};\n"})}),"\n",(0,l.jsx)(n.h4,{id:"parseroptionsbabeloptions",children:"parserOptions.babelOptions"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"babelOptions: {\n plugins: string[];\n};\n"})}),"\n",(0,l.jsx)(n.h4,{id:"parseroptionsbabeloptionsplugins",children:"parserOptions.babelOptions.plugins"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"plugins: string[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"parseroptionsecmafeatures",children:"parserOptions.ecmaFeatures"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"ecmaFeatures: {\n jsx: boolean;\n};\n"})}),"\n",(0,l.jsx)(n.h4,{id:"parseroptionsecmafeaturesjsx",children:"parserOptions.ecmaFeatures.jsx"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"jsx: boolean = true;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"parseroptionssourcetype",children:"parserOptions.sourceType"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:'sourceType: string = "module";\n'})}),"\n",(0,l.jsx)(n.h3,{id:"plugins",children:"plugins"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"plugins: string[] = basePlugins;\n"})}),"\n",(0,l.jsx)(n.h3,{id:"rules",children:"rules"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"rules: {\n arrow-body-style: (string | number)[];\n class-methods-use-this: number;\n complexity: (\n | string\n | {\n max: number;\n })[];\n eslint-comments/disable-enable-pair: number;\n import/extensions: (\n | string\n | number\n | {\n js: string;\n json: string;\n })[];\n import/imports-first: number;\n import/newline-after-import: number;\n import/no-dynamic-require: number;\n import/no-extraneous-dependencies: number;\n import/no-named-as-default: number;\n import/no-unresolved: (\n | number\n | {\n caseSensitive: boolean;\n caseSensitiveStrict: boolean;\n })[];\n import/no-webpack-loader-syntax: number;\n import/prefer-default-export: number;\n indent: (\n | number\n | {\n SwitchCase: number;\n })[];\n jsdoc/require-jsdoc: number;\n max-depth: (\n | string\n | {\n max: number;\n })[];\n max-len: number;\n max-lines: (\n | string\n | {\n max: number;\n skipComments: boolean;\n })[];\n max-lines-per-function: number;\n max-nested-callbacks: (\n | string\n | {\n max: number;\n })[];\n max-params: (\n | string\n | {\n max: number;\n })[];\n max-statements: (\n | string\n | {\n max: number;\n })[];\n newline-per-chained-call: number;\n no-confusing-arrow: number;\n no-console: number;\n no-param-reassign: (\n | string\n | {\n props: boolean;\n })[];\n no-unused-vars: number;\n no-use-before-define: number;\n prefer-template: number;\n prettier/prettier: (string | __module)[];\n require-yield: number;\n} = baseRules;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesarrow-body-style",children:"rules.arrow-body-style"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"arrow-body-style: (string | number)[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesclass-methods-use-this",children:"rules.class-methods-use-this"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"class-methods-use-this: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulescomplexity",children:"rules.complexity"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"complexity: (\n | string\n | {\n max: number;\n})[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"ruleseslint-commentsdisable-enable-pair",children:"rules.eslint-comments/disable-enable-pair"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"eslint-comments/disable-enable-pair: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesimportextensions",children:"rules.import/extensions"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"import/extensions: (\n | string\n | number\n | {\n js: string;\n json: string;\n})[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesimportimports-first",children:"rules.import/imports-first"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"import/imports-first: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesimportnewline-after-import",children:"rules.import/newline-after-import"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"import/newline-after-import: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesimportno-dynamic-require",children:"rules.import/no-dynamic-require"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"import/no-dynamic-require: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesimportno-extraneous-dependencies",children:"rules.import/no-extraneous-dependencies"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"import/no-extraneous-dependencies: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesimportno-named-as-default",children:"rules.import/no-named-as-default"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"import/no-named-as-default: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesimportno-unresolved",children:"rules.import/no-unresolved"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"import/no-unresolved: (\n | number\n | {\n caseSensitive: boolean;\n caseSensitiveStrict: boolean;\n})[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesimportno-webpack-loader-syntax",children:"rules.import/no-webpack-loader-syntax"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"import/no-webpack-loader-syntax: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesimportprefer-default-export",children:"rules.import/prefer-default-export"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"import/prefer-default-export: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesindent",children:"rules.indent"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"indent: (\n | number\n | {\n SwitchCase: number;\n})[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesjsdocrequire-jsdoc",children:"rules.jsdoc/require-jsdoc"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"jsdoc/require-jsdoc: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesmax-depth",children:"rules.max-depth"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"max-depth: (\n | string\n | {\n max: number;\n})[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesmax-len",children:"rules.max-len"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"max-len: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesmax-lines",children:"rules.max-lines"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"max-lines: (\n | string\n | {\n max: number;\n skipComments: boolean;\n})[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesmax-lines-per-function",children:"rules.max-lines-per-function"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"max-lines-per-function: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesmax-nested-callbacks",children:"rules.max-nested-callbacks"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"max-nested-callbacks: (\n | string\n | {\n max: number;\n})[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesmax-params",children:"rules.max-params"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"max-params: (\n | string\n | {\n max: number;\n})[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesmax-statements",children:"rules.max-statements"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"max-statements: (\n | string\n | {\n max: number;\n})[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesnewline-per-chained-call",children:"rules.newline-per-chained-call"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"newline-per-chained-call: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesno-confusing-arrow",children:"rules.no-confusing-arrow"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"no-confusing-arrow: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesno-console",children:"rules.no-console"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"no-console: number = 1;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesno-param-reassign",children:"rules.no-param-reassign"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"no-param-reassign: (\n | string\n | {\n props: boolean;\n})[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesno-unused-vars",children:"rules.no-unused-vars"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"no-unused-vars: number = 2;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesno-use-before-define",children:"rules.no-use-before-define"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"no-use-before-define: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesprefer-template",children:"rules.prefer-template"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"prefer-template: number = 2;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesprettierprettier",children:"rules.prettier/prettier"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"prettier/prettier: (string | __module)[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesrequire-yield",children:"rules.require-yield"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"require-yield: number = 0;\n"})}),"\n",(0,l.jsx)(n.h3,{id:"settings",children:"settings"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"settings: {\n import/resolver: {\n node: {\n extensions: string[];\n };\n };\n jest: {\n version: number;\n };\n react: {\n version: string;\n };\n};\n"})}),"\n",(0,l.jsx)(n.h4,{id:"settingsimportresolver",children:"settings.import/resolver"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"import/resolver: {\n node: {\n extensions: string[];\n };\n};\n"})}),"\n",(0,l.jsx)(n.h4,{id:"settingsimportresolvernode",children:"settings.import/resolver.node"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"node: {\n extensions: string[];\n};\n"})}),"\n",(0,l.jsx)(n.h4,{id:"settingsimportresolvernodeextensions",children:"settings.import/resolver.node.extensions"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"extensions: string[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"settingsjest",children:"settings.jest"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"jest: {\n version: number;\n};\n"})}),"\n",(0,l.jsx)(n.h4,{id:"settingsjestversion",children:"settings.jest.version"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"version: number = 28;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"settingsreact",children:"settings.react"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"react: {\n version: string;\n};\n"})}),"\n",(0,l.jsx)(n.h4,{id:"settingsreactversion",children:"settings.react.version"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:'version: string = "detect";\n'})})]})}function c(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,l.jsx)(n,{...e,children:(0,l.jsx)(u,{...e})}):u(e)}}}]);
1
+ "use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[1724],{7426(e,n,s){s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>t,default:()=>c,frontMatter:()=>a,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"api/variables/eslintBaseConfig","title":"eslintBaseConfig","description":"Type Declaration","source":"@site/docs/api/variables/eslintBaseConfig.md","sourceDirName":"api/variables","slug":"/api/variables/eslintBaseConfig","permalink":"/cli/api/variables/eslintBaseConfig","draft":false,"unlisted":false,"editUrl":"https://git.elliemae.io/platform-ui/pui-cli.git/docs/api/variables/eslintBaseConfig.md","tags":[],"version":"current","frontMatter":{},"sidebar":"docsSidebar","previous":{"title":"commitlintConfig","permalink":"/cli/api/variables/commitlintConfig"},"next":{"title":"eslintConfig","permalink":"/cli/api/variables/eslintConfig"}}');var l=s(6070),i=s(116);const a={},t="eslintBaseConfig",o={},d=[{value:"Type Declaration",id:"type-declaration",level:2},{value:"env",id:"env",level:3},{value:"env.browser",id:"envbrowser",level:4},{value:"env.es2021",id:"enves2021",level:4},{value:"env.jest",id:"envjest",level:4},{value:"env.node",id:"envnode",level:4},{value:"extends",id:"extends",level:3},{value:"ignorePatterns",id:"ignorepatterns",level:3},{value:"overrides",id:"overrides",level:3},{value:"parser",id:"parser",level:3},{value:"parserOptions",id:"parseroptions",level:3},{value:"parserOptions.babelOptions",id:"parseroptionsbabeloptions",level:4},{value:"parserOptions.babelOptions.plugins",id:"parseroptionsbabeloptionsplugins",level:4},{value:"parserOptions.ecmaFeatures",id:"parseroptionsecmafeatures",level:4},{value:"parserOptions.ecmaFeatures.jsx",id:"parseroptionsecmafeaturesjsx",level:4},{value:"parserOptions.sourceType",id:"parseroptionssourcetype",level:4},{value:"plugins",id:"plugins",level:3},{value:"rules",id:"rules",level:3},{value:"rules.arrow-body-style",id:"rulesarrow-body-style",level:4},{value:"rules.class-methods-use-this",id:"rulesclass-methods-use-this",level:4},{value:"rules.complexity",id:"rulescomplexity",level:4},{value:"rules.eslint-comments/disable-enable-pair",id:"ruleseslint-commentsdisable-enable-pair",level:4},{value:"rules.import/extensions",id:"rulesimportextensions",level:4},{value:"rules.import/imports-first",id:"rulesimportimports-first",level:4},{value:"rules.import/newline-after-import",id:"rulesimportnewline-after-import",level:4},{value:"rules.import/no-dynamic-require",id:"rulesimportno-dynamic-require",level:4},{value:"rules.import/no-extraneous-dependencies",id:"rulesimportno-extraneous-dependencies",level:4},{value:"rules.import/no-named-as-default",id:"rulesimportno-named-as-default",level:4},{value:"rules.import/no-unresolved",id:"rulesimportno-unresolved",level:4},{value:"rules.import/no-webpack-loader-syntax",id:"rulesimportno-webpack-loader-syntax",level:4},{value:"rules.import/prefer-default-export",id:"rulesimportprefer-default-export",level:4},{value:"rules.indent",id:"rulesindent",level:4},{value:"rules.jsdoc/require-jsdoc",id:"rulesjsdocrequire-jsdoc",level:4},{value:"rules.max-depth",id:"rulesmax-depth",level:4},{value:"rules.max-len",id:"rulesmax-len",level:4},{value:"rules.max-lines",id:"rulesmax-lines",level:4},{value:"rules.max-lines-per-function",id:"rulesmax-lines-per-function",level:4},{value:"rules.max-nested-callbacks",id:"rulesmax-nested-callbacks",level:4},{value:"rules.max-params",id:"rulesmax-params",level:4},{value:"rules.max-statements",id:"rulesmax-statements",level:4},{value:"rules.newline-per-chained-call",id:"rulesnewline-per-chained-call",level:4},{value:"rules.no-confusing-arrow",id:"rulesno-confusing-arrow",level:4},{value:"rules.no-console",id:"rulesno-console",level:4},{value:"rules.no-param-reassign",id:"rulesno-param-reassign",level:4},{value:"rules.no-unused-vars",id:"rulesno-unused-vars",level:4},{value:"rules.no-use-before-define",id:"rulesno-use-before-define",level:4},{value:"rules.prefer-template",id:"rulesprefer-template",level:4},{value:"rules.prettier/prettier",id:"rulesprettierprettier",level:4},{value:"rules.require-yield",id:"rulesrequire-yield",level:4},{value:"settings",id:"settings",level:3},{value:"settings.import/resolver",id:"settingsimportresolver",level:4},{value:"settings.import/resolver.node",id:"settingsimportresolvernode",level:4},{value:"settings.import/resolver.node.extensions",id:"settingsimportresolvernodeextensions",level:4},{value:"settings.jest",id:"settingsjest",level:4},{value:"settings.jest.version",id:"settingsjestversion",level:4},{value:"settings.react",id:"settingsreact",level:4},{value:"settings.react.version",id:"settingsreactversion",level:4}];function u(e){const n={code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",pre:"pre",...(0,i.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(n.header,{children:(0,l.jsx)(n.h1,{id:"eslintbaseconfig",children:"eslintBaseConfig"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"eslintBaseConfig: {\n env: {\n browser: boolean;\n es2021: boolean;\n jest: boolean;\n node: boolean;\n };\n extends: string[];\n ignorePatterns: string[];\n overrides: {\n files: string[];\n rules: {\n jest/valid-expect: string;\n };\n }[];\n parser: string;\n parserOptions: {\n babelOptions: {\n plugins: string[];\n };\n ecmaFeatures: {\n jsx: boolean;\n };\n sourceType: string;\n };\n plugins: string[];\n rules: {\n arrow-body-style: (string | number)[];\n class-methods-use-this: number;\n complexity: (\n | string\n | {\n max: number;\n })[];\n eslint-comments/disable-enable-pair: number;\n import/extensions: (\n | string\n | number\n | {\n js: string;\n json: string;\n })[];\n import/imports-first: number;\n import/newline-after-import: number;\n import/no-dynamic-require: number;\n import/no-extraneous-dependencies: number;\n import/no-named-as-default: number;\n import/no-unresolved: (\n | number\n | {\n caseSensitive: boolean;\n caseSensitiveStrict: boolean;\n })[];\n import/no-webpack-loader-syntax: number;\n import/prefer-default-export: number;\n indent: (\n | number\n | {\n SwitchCase: number;\n })[];\n jsdoc/require-jsdoc: number;\n max-depth: (\n | string\n | {\n max: number;\n })[];\n max-len: number;\n max-lines: (\n | string\n | {\n max: number;\n skipComments: boolean;\n })[];\n max-lines-per-function: number;\n max-nested-callbacks: (\n | string\n | {\n max: number;\n })[];\n max-params: (\n | string\n | {\n max: number;\n })[];\n max-statements: (\n | string\n | {\n max: number;\n })[];\n newline-per-chained-call: number;\n no-confusing-arrow: number;\n no-console: number;\n no-param-reassign: (\n | string\n | {\n props: boolean;\n })[];\n no-unused-vars: number;\n no-use-before-define: number;\n prefer-template: number;\n prettier/prettier: (string | __module)[];\n require-yield: number;\n };\n settings: {\n import/resolver: {\n node: {\n extensions: string[];\n };\n };\n jest: {\n version: number;\n };\n react: {\n version: string;\n };\n };\n};\n"})}),"\n",(0,l.jsx)(n.h2,{id:"type-declaration",children:"Type Declaration"}),"\n",(0,l.jsx)(n.h3,{id:"env",children:"env"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"env: {\n browser: boolean;\n es2021: boolean;\n jest: boolean;\n node: boolean;\n};\n"})}),"\n",(0,l.jsx)(n.h4,{id:"envbrowser",children:"env.browser"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"browser: boolean = true;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"enves2021",children:"env.es2021"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"es2021: boolean = true;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"envjest",children:"env.jest"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"jest: boolean = true;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"envnode",children:"env.node"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"node: boolean = true;\n"})}),"\n",(0,l.jsx)(n.h3,{id:"extends",children:"extends"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"extends: string[];\n"})}),"\n",(0,l.jsx)(n.h3,{id:"ignorepatterns",children:"ignorePatterns"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"ignorePatterns: string[];\n"})}),"\n",(0,l.jsx)(n.h3,{id:"overrides",children:"overrides"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"overrides: {\n files: string[];\n rules: {\n jest/valid-expect: string;\n };\n}[];\n"})}),"\n",(0,l.jsx)(n.h3,{id:"parser",children:"parser"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:'parser: string = "@babel/eslint-parser";\n'})}),"\n",(0,l.jsx)(n.h3,{id:"parseroptions",children:"parserOptions"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"parserOptions: {\n babelOptions: {\n plugins: string[];\n };\n ecmaFeatures: {\n jsx: boolean;\n };\n sourceType: string;\n};\n"})}),"\n",(0,l.jsx)(n.h4,{id:"parseroptionsbabeloptions",children:"parserOptions.babelOptions"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"babelOptions: {\n plugins: string[];\n};\n"})}),"\n",(0,l.jsx)(n.h4,{id:"parseroptionsbabeloptionsplugins",children:"parserOptions.babelOptions.plugins"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"plugins: string[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"parseroptionsecmafeatures",children:"parserOptions.ecmaFeatures"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"ecmaFeatures: {\n jsx: boolean;\n};\n"})}),"\n",(0,l.jsx)(n.h4,{id:"parseroptionsecmafeaturesjsx",children:"parserOptions.ecmaFeatures.jsx"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"jsx: boolean = true;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"parseroptionssourcetype",children:"parserOptions.sourceType"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:'sourceType: string = "module";\n'})}),"\n",(0,l.jsx)(n.h3,{id:"plugins",children:"plugins"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"plugins: string[] = basePlugins;\n"})}),"\n",(0,l.jsx)(n.h3,{id:"rules",children:"rules"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"rules: {\n arrow-body-style: (string | number)[];\n class-methods-use-this: number;\n complexity: (\n | string\n | {\n max: number;\n })[];\n eslint-comments/disable-enable-pair: number;\n import/extensions: (\n | string\n | number\n | {\n js: string;\n json: string;\n })[];\n import/imports-first: number;\n import/newline-after-import: number;\n import/no-dynamic-require: number;\n import/no-extraneous-dependencies: number;\n import/no-named-as-default: number;\n import/no-unresolved: (\n | number\n | {\n caseSensitive: boolean;\n caseSensitiveStrict: boolean;\n })[];\n import/no-webpack-loader-syntax: number;\n import/prefer-default-export: number;\n indent: (\n | number\n | {\n SwitchCase: number;\n })[];\n jsdoc/require-jsdoc: number;\n max-depth: (\n | string\n | {\n max: number;\n })[];\n max-len: number;\n max-lines: (\n | string\n | {\n max: number;\n skipComments: boolean;\n })[];\n max-lines-per-function: number;\n max-nested-callbacks: (\n | string\n | {\n max: number;\n })[];\n max-params: (\n | string\n | {\n max: number;\n })[];\n max-statements: (\n | string\n | {\n max: number;\n })[];\n newline-per-chained-call: number;\n no-confusing-arrow: number;\n no-console: number;\n no-param-reassign: (\n | string\n | {\n props: boolean;\n })[];\n no-unused-vars: number;\n no-use-before-define: number;\n prefer-template: number;\n prettier/prettier: (string | __module)[];\n require-yield: number;\n} = baseRules;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesarrow-body-style",children:"rules.arrow-body-style"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"arrow-body-style: (string | number)[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesclass-methods-use-this",children:"rules.class-methods-use-this"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"class-methods-use-this: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulescomplexity",children:"rules.complexity"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"complexity: (\n | string\n | {\n max: number;\n})[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"ruleseslint-commentsdisable-enable-pair",children:"rules.eslint-comments/disable-enable-pair"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"eslint-comments/disable-enable-pair: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesimportextensions",children:"rules.import/extensions"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"import/extensions: (\n | string\n | number\n | {\n js: string;\n json: string;\n})[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesimportimports-first",children:"rules.import/imports-first"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"import/imports-first: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesimportnewline-after-import",children:"rules.import/newline-after-import"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"import/newline-after-import: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesimportno-dynamic-require",children:"rules.import/no-dynamic-require"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"import/no-dynamic-require: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesimportno-extraneous-dependencies",children:"rules.import/no-extraneous-dependencies"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"import/no-extraneous-dependencies: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesimportno-named-as-default",children:"rules.import/no-named-as-default"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"import/no-named-as-default: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesimportno-unresolved",children:"rules.import/no-unresolved"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"import/no-unresolved: (\n | number\n | {\n caseSensitive: boolean;\n caseSensitiveStrict: boolean;\n})[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesimportno-webpack-loader-syntax",children:"rules.import/no-webpack-loader-syntax"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"import/no-webpack-loader-syntax: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesimportprefer-default-export",children:"rules.import/prefer-default-export"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"import/prefer-default-export: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesindent",children:"rules.indent"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"indent: (\n | number\n | {\n SwitchCase: number;\n})[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesjsdocrequire-jsdoc",children:"rules.jsdoc/require-jsdoc"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"jsdoc/require-jsdoc: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesmax-depth",children:"rules.max-depth"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"max-depth: (\n | string\n | {\n max: number;\n})[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesmax-len",children:"rules.max-len"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"max-len: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesmax-lines",children:"rules.max-lines"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"max-lines: (\n | string\n | {\n max: number;\n skipComments: boolean;\n})[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesmax-lines-per-function",children:"rules.max-lines-per-function"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"max-lines-per-function: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesmax-nested-callbacks",children:"rules.max-nested-callbacks"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"max-nested-callbacks: (\n | string\n | {\n max: number;\n})[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesmax-params",children:"rules.max-params"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"max-params: (\n | string\n | {\n max: number;\n})[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesmax-statements",children:"rules.max-statements"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"max-statements: (\n | string\n | {\n max: number;\n})[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesnewline-per-chained-call",children:"rules.newline-per-chained-call"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"newline-per-chained-call: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesno-confusing-arrow",children:"rules.no-confusing-arrow"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"no-confusing-arrow: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesno-console",children:"rules.no-console"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"no-console: number = 1;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesno-param-reassign",children:"rules.no-param-reassign"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"no-param-reassign: (\n | string\n | {\n props: boolean;\n})[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesno-unused-vars",children:"rules.no-unused-vars"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"no-unused-vars: number = 2;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesno-use-before-define",children:"rules.no-use-before-define"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"no-use-before-define: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesprefer-template",children:"rules.prefer-template"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"prefer-template: number = 2;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesprettierprettier",children:"rules.prettier/prettier"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"prettier/prettier: (string | __module)[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesrequire-yield",children:"rules.require-yield"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"require-yield: number = 0;\n"})}),"\n",(0,l.jsx)(n.h3,{id:"settings",children:"settings"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"settings: {\n import/resolver: {\n node: {\n extensions: string[];\n };\n };\n jest: {\n version: number;\n };\n react: {\n version: string;\n };\n};\n"})}),"\n",(0,l.jsx)(n.h4,{id:"settingsimportresolver",children:"settings.import/resolver"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"import/resolver: {\n node: {\n extensions: string[];\n };\n};\n"})}),"\n",(0,l.jsx)(n.h4,{id:"settingsimportresolvernode",children:"settings.import/resolver.node"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"node: {\n extensions: string[];\n};\n"})}),"\n",(0,l.jsx)(n.h4,{id:"settingsimportresolvernodeextensions",children:"settings.import/resolver.node.extensions"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"extensions: string[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"settingsjest",children:"settings.jest"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"jest: {\n version: number;\n};\n"})}),"\n",(0,l.jsx)(n.h4,{id:"settingsjestversion",children:"settings.jest.version"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"version: number = 28;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"settingsreact",children:"settings.react"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"react: {\n version: string;\n};\n"})}),"\n",(0,l.jsx)(n.h4,{id:"settingsreactversion",children:"settings.react.version"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:'version: string = "detect";\n'})})]})}function c(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,l.jsx)(n,{...e,children:(0,l.jsx)(u,{...e})}):u(e)}}}]);
@@ -1 +1 @@
1
- "use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[2577],{8041(e,i,n){n.r(i),n.d(i,{assets:()=>o,contentTitle:()=>r,default:()=>m,frontMatter:()=>s,metadata:()=>t,toc:()=>c});const t=JSON.parse('{"id":"api/variables/commitlintConfig","title":"commitlintConfig","description":"Type Declaration","source":"@site/docs/api/variables/commitlintConfig.md","sourceDirName":"api/variables","slug":"/api/variables/commitlintConfig","permalink":"/cli/api/variables/commitlintConfig","draft":false,"unlisted":false,"editUrl":"https://git.elliemae.io/platform-ui/pui-cli.git/docs/api/variables/commitlintConfig.md","tags":[],"version":"current","frontMatter":{},"sidebar":"docsSidebar","previous":{"title":"babelConfig","permalink":"/cli/api/variables/babelConfig"},"next":{"title":"eslintBaseConfig","permalink":"/cli/api/variables/eslintBaseConfig"}}');var a=n(6070),l=n(116);const s={},r="commitlintConfig",o={},c=[{value:"Type Declaration",id:"type-declaration",level:2},{value:"extends",id:"extends",level:3}];function d(e){const i={code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",pre:"pre",...(0,l.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(i.header,{children:(0,a.jsx)(i.h1,{id:"commitlintconfig",children:"commitlintConfig"})}),"\n",(0,a.jsx)(i.pre,{children:(0,a.jsx)(i.code,{className:"language-ts",children:"commitlintConfig: {\n extends: string[];\n};\n"})}),"\n",(0,a.jsx)(i.h2,{id:"type-declaration",children:"Type Declaration"}),"\n",(0,a.jsx)(i.h3,{id:"extends",children:"extends"}),"\n",(0,a.jsx)(i.pre,{children:(0,a.jsx)(i.code,{className:"language-ts",children:"extends: string[];\n"})})]})}function m(e={}){const{wrapper:i}={...(0,l.R)(),...e.components};return i?(0,a.jsx)(i,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}}}]);
1
+ "use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[2577],{7435(e,i,n){n.r(i),n.d(i,{assets:()=>o,contentTitle:()=>r,default:()=>m,frontMatter:()=>s,metadata:()=>t,toc:()=>c});const t=JSON.parse('{"id":"api/variables/commitlintConfig","title":"commitlintConfig","description":"Type Declaration","source":"@site/docs/api/variables/commitlintConfig.md","sourceDirName":"api/variables","slug":"/api/variables/commitlintConfig","permalink":"/cli/api/variables/commitlintConfig","draft":false,"unlisted":false,"editUrl":"https://git.elliemae.io/platform-ui/pui-cli.git/docs/api/variables/commitlintConfig.md","tags":[],"version":"current","frontMatter":{},"sidebar":"docsSidebar","previous":{"title":"babelConfig","permalink":"/cli/api/variables/babelConfig"},"next":{"title":"eslintBaseConfig","permalink":"/cli/api/variables/eslintBaseConfig"}}');var a=n(6070),l=n(116);const s={},r="commitlintConfig",o={},c=[{value:"Type Declaration",id:"type-declaration",level:2},{value:"extends",id:"extends",level:3}];function d(e){const i={code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",pre:"pre",...(0,l.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(i.header,{children:(0,a.jsx)(i.h1,{id:"commitlintconfig",children:"commitlintConfig"})}),"\n",(0,a.jsx)(i.pre,{children:(0,a.jsx)(i.code,{className:"language-ts",children:"commitlintConfig: {\n extends: string[];\n};\n"})}),"\n",(0,a.jsx)(i.h2,{id:"type-declaration",children:"Type Declaration"}),"\n",(0,a.jsx)(i.h3,{id:"extends",children:"extends"}),"\n",(0,a.jsx)(i.pre,{children:(0,a.jsx)(i.code,{className:"language-ts",children:"extends: string[];\n"})})]})}function m(e={}){const{wrapper:i}={...(0,l.R)(),...e.components};return i?(0,a.jsx)(i,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}}}]);