@elliemae/pui-cli 8.62.4 → 8.62.5
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.
- package/README.md +4 -4
- package/build/docs/404.html +3 -3
- package/build/docs/api/functions/loadRoutes/index.html +4 -4
- package/build/docs/api/index.html +4 -4
- package/build/docs/api/type-aliases/LIB_NAME/index.html +4 -4
- package/build/docs/api/variables/babelConfig/index.html +4 -4
- package/build/docs/api/variables/commitlintConfig/index.html +4 -4
- package/build/docs/api/variables/eslintBaseConfig/index.html +4 -4
- package/build/docs/api/variables/eslintConfig/index.html +4 -4
- package/build/docs/api/variables/jestConfig/index.html +4 -4
- package/build/docs/api/variables/jestNodeConfig/index.html +4 -4
- package/build/docs/api/variables/lintStagedConfig/index.html +4 -4
- package/build/docs/api/variables/prettierConfig/index.html +4 -4
- package/build/docs/api/variables/stylelintConfig/index.html +4 -4
- package/build/docs/api/variables/vitestConfig/index.html +4 -4
- package/build/docs/assets/js/04ee7372.10dc7b87.js +1 -0
- package/build/docs/assets/js/16b7bc88.09d7a936.js +1 -0
- package/build/docs/assets/js/1b9df811.4c365a77.js +1 -0
- package/build/docs/assets/js/37d86055.62cb9375.js +1 -0
- package/build/docs/assets/js/5d5f1db0.6d1e2ded.js +1 -0
- package/build/docs/assets/js/5e8c322a.87ab192f.js +1 -0
- package/build/docs/assets/js/5fb3c522.f7692080.js +1 -0
- package/build/docs/assets/js/6bd11e52.579a258f.js +1 -0
- package/build/docs/assets/js/6e96545e.98638370.js +1 -0
- package/build/docs/assets/js/71f6d02b.d527386b.js +1 -0
- package/build/docs/assets/js/80e87108.e3842bf0.js +1 -0
- package/build/docs/assets/js/b8ac1d98.82a71558.js +1 -0
- package/build/docs/assets/js/bde5209a.2f4cffb9.js +1 -0
- package/build/docs/assets/js/c377a04b.b37c28ea.js +1 -0
- package/build/docs/assets/js/e5f79924.02553e82.js +1 -0
- package/build/docs/assets/js/f736c962.de62964c.js +1 -0
- package/build/docs/assets/js/{main.ceaf5a1d.js → main.3866246a.js} +2 -2
- package/build/docs/assets/js/{runtime~main.2ef68500.js → runtime~main.8ad117cf.js} +1 -1
- package/build/docs/index.html +8 -8
- package/build/docs/ssl-certificate-setup/index.html +4 -4
- package/build/docs/usage-guide/index.html +6 -6
- package/package.json +2 -2
- package/build/docs/assets/js/04ee7372.6701a521.js +0 -1
- package/build/docs/assets/js/16b7bc88.98d0e7e1.js +0 -1
- package/build/docs/assets/js/1b9df811.cbc3937e.js +0 -1
- package/build/docs/assets/js/37d86055.ac328609.js +0 -1
- package/build/docs/assets/js/5d5f1db0.ee0a2786.js +0 -1
- package/build/docs/assets/js/5e8c322a.03e5f869.js +0 -1
- package/build/docs/assets/js/5fb3c522.7fa934f6.js +0 -1
- package/build/docs/assets/js/6bd11e52.4a64999a.js +0 -1
- package/build/docs/assets/js/6e96545e.82b3f634.js +0 -1
- package/build/docs/assets/js/71f6d02b.f4ef9e77.js +0 -1
- package/build/docs/assets/js/80e87108.fb514ef2.js +0 -1
- package/build/docs/assets/js/b8ac1d98.eac62e10.js +0 -1
- package/build/docs/assets/js/bde5209a.1f661437.js +0 -1
- package/build/docs/assets/js/c377a04b.54071de3.js +0 -1
- package/build/docs/assets/js/e5f79924.3b9434d6.js +0 -1
- package/build/docs/assets/js/f736c962.1745b6ff.js +0 -1
- /package/build/docs/assets/js/{main.ceaf5a1d.js.LICENSE.txt → main.3866246a.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[5908],{96(e,n,i){i.r(n),i.d(n,{assets:()=>t,contentTitle:()=>d,default:()=>h,frontMatter:()=>c,metadata:()=>s,toc:()=>o});const s=JSON.parse('{"id":"usage-guide","title":"Usage Guide","description":"This guide provides detailed documentation for all available commands in @elliemae/pui-cli.","source":"@site/docs/usage-guide.md","sourceDirName":".","slug":"/usage-guide","permalink":"/cli/usage-guide","draft":false,"unlisted":false,"editUrl":"https://github.com/intcx/PLATFORM-UI.pui-cli.git/docs/usage-guide.md","tags":[],"version":"current","frontMatter":{},"sidebar":"docsSidebar","previous":{"title":"Trust SSL Certificate Guide","permalink":"/cli/ssl-certificate-setup"}}');var l=i(6070),r=i(5676);const c={},d="Usage Guide",t={},o=[{value:"Table of Contents",id:"table-of-contents",level:2},{value:"Build Commands",id:"build-commands",level:2},{value:"<code>pui-cli build</code>",id:"pui-cli-build",level:3},{value:"<code>pui-cli buildCDN</code>",id:"pui-cli-buildcdn",level:3},{value:"<code>pui-cli pack</code>",id:"pui-cli-pack",level:3},{value:"Development Commands",id:"development-commands",level:2},{value:"<code>pui-cli start</code>",id:"pui-cli-start",level:3},{value:"<code>pui-cli storybook</code>",id:"pui-cli-storybook",level:3},{value:"Testing Commands",id:"testing-commands",level:2},{value:"<code>pui-cli test</code>",id:"pui-cli-test",level:3},{value:"<code>pui-cli vitest</code>",id:"pui-cli-vitest",level:3},{value:"Linting Commands",id:"linting-commands",level:2},{value:"<code>pui-cli lint</code>",id:"pui-cli-lint",level:3},{value:"<code>pui-cli tscheck</code>",id:"pui-cli-tscheck",level:3},{value:"Documentation Commands",id:"documentation-commands",level:2},{value:"<code>pui-cli gendoc</code>",id:"pui-cli-gendoc",level:3},{value:"Utility Commands",id:"utility-commands",level:2},{value:"<code>pui-cli version</code>",id:"pui-cli-version",level:3},{value:"<code>pui-cli codemod</code>",id:"pui-cli-codemod",level:3},{value:"Advanced Usage",id:"advanced-usage",level:2},{value:"Using pui-cli in npm scripts",id:"using-pui-cli-in-npm-scripts",level:3},{value:"CI/CD Integration",id:"cicd-integration",level:3},{value:"Using Exported Configurations",id:"using-exported-configurations",level:3},{value:"Configuration Priority",id:"configuration-priority",level:2},{value:"Best Practices",id:"best-practices",level:2},{value:"Development Workflow",id:"development-workflow",level:3},{value:"Library Development Workflow",id:"library-development-workflow",level:3},{value:"Performance Tips",id:"performance-tips",level:3},{value:"Framework Chunk Splitting",id:"framework-chunk-splitting",level:3},{value:"Troubleshooting",id:"troubleshooting",level:2},{value:"Build Issues",id:"build-issues",level:3},{value:"Test Issues",id:"test-issues",level:3},{value:"Linting Issues",id:"linting-issues",level:3},{value:"Additional Resources",id:"additional-resources",level:2},{value:"Need Help?",id:"need-help",level:2}];function a(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(n.header,{children:(0,l.jsx)(n.h1,{id:"usage-guide",children:"Usage Guide"})}),"\n",(0,l.jsxs)(n.p,{children:["This guide provides detailed documentation for all available commands in ",(0,l.jsx)(n.code,{children:"@elliemae/pui-cli"}),"."]}),"\n",(0,l.jsx)(n.h2,{id:"table-of-contents",children:"Table of Contents"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"#build-commands",children:"Build Commands"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"#development-commands",children:"Development Commands"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"#testing-commands",children:"Testing Commands"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"#linting-commands",children:"Linting Commands"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"#documentation-commands",children:"Documentation Commands"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"#utility-commands",children:"Utility Commands"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"#framework-chunk-splitting",children:"Framework Chunk Splitting"})}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"build-commands",children:"Build Commands"}),"\n",(0,l.jsx)(n.h3,{id:"pui-cli-build",children:(0,l.jsx)(n.code,{children:"pui-cli build"})}),"\n",(0,l.jsx)(n.p,{children:"Builds your application for production."}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Usage:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pui-cli build [options]\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Options:"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"-p, --prod"})," - Production build with optimizations"]}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Examples:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"# Build web application (development)\npui-cli build\n\n# Build web application (production)\npui-cli build -p\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Output:"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["Application builds go to ",(0,l.jsx)(n.code,{children:"build/"})," or ",(0,l.jsx)(n.code,{children:"dist/"})," directory"]}),"\n",(0,l.jsx)(n.li,{children:"Creates optimized bundles with code splitting"}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"What it does:"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Bundles code using Webpack"}),"\n",(0,l.jsx)(n.li,{children:"Minifies JavaScript and CSS"}),"\n",(0,l.jsx)(n.li,{children:"Generates source maps"}),"\n",(0,l.jsx)(n.li,{children:"Optimizes assets"}),"\n",(0,l.jsx)(n.li,{children:"Creates production-ready build"}),"\n",(0,l.jsx)(n.li,{children:"Applies tree shaking for smaller bundles"}),"\n"]}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h3,{id:"pui-cli-buildcdn",children:(0,l.jsx)(n.code,{children:"pui-cli buildCDN"})}),"\n",(0,l.jsx)(n.p,{children:"Builds the application for CDN deployment."}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Usage:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pui-cli buildCDN\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"What it does:"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Creates CDN-optimized builds"}),"\n",(0,l.jsx)(n.li,{children:"Generates proper asset paths for CDN"}),"\n",(0,l.jsx)(n.li,{children:"Optimizes bundle splitting"}),"\n"]}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h3,{id:"pui-cli-pack",children:(0,l.jsx)(n.code,{children:"pui-cli pack"})}),"\n",(0,l.jsx)(n.p,{children:"Packages your library for distribution with multiple output formats."}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Usage:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pui-cli pack [options]\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Options:"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"-p, --prod"})," - Production build with minification"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"-t, --target <target>"})," - Build target (default: browser, options: node, browser)"]}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Examples:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"# Build library (development)\npui-cli pack\n\n# Build library (production)\npui-cli pack -p\n\n# Build for Node.js target\npui-cli pack -p -t node\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Output:"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["Creates ",(0,l.jsx)(n.code,{children:"dist/"})," directory with:","\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"dist/esm/"})," - ES Module format"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"dist/cjs/"})," - CommonJS format"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"dist/types/"})," - TypeScript declarations"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"dist/umd/"})," - UMD format (browser)"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"What it does:"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Builds library in multiple formats (ESM, CJS, UMD)"}),"\n",(0,l.jsx)(n.li,{children:"Generates TypeScript declaration files"}),"\n",(0,l.jsx)(n.li,{children:"Minifies code in production mode"}),"\n",(0,l.jsx)(n.li,{children:"Creates source maps"}),"\n",(0,l.jsx)(n.li,{children:"Validates package.json exports"}),"\n",(0,l.jsx)(n.li,{children:"Optimized for tree-shaking"}),"\n"]}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h2,{id:"development-commands",children:"Development Commands"}),"\n",(0,l.jsx)(n.h3,{id:"pui-cli-start",children:(0,l.jsx)(n.code,{children:"pui-cli start"})}),"\n",(0,l.jsx)(n.p,{children:"Starts the development server with hot module replacement."}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Usage:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pui-cli start [options]\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Options:"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"-p, --prod"})," - Start in production mode"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"--port <number>"})," - Specify port (default: 3000)"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"--open"})," - Automatically open browser"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"--hot"})," - Enable hot module replacement (default: true)"]}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Examples:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"# Start on default port (development)\npui-cli start\n\n# Start in production mode\npui-cli start -p\n# or\npnpm start:prod\n\n# Start on custom port\npui-cli start --port 8080\n\n# Start and open browser\npui-cli start --open\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"What it does:"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Starts Webpack dev server"}),"\n",(0,l.jsx)(n.li,{children:"Enables hot module replacement"}),"\n",(0,l.jsx)(n.li,{children:"Serves static files"}),"\n",(0,l.jsx)(n.li,{children:"Provides mock API endpoints"}),"\n",(0,l.jsx)(n.li,{children:"Auto-reloads on file changes"}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Environment Variables:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-env",children:"PORT=3000\nHOST=localhost\nHTTPS=false\n"})}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h3,{id:"pui-cli-storybook",children:(0,l.jsx)(n.code,{children:"pui-cli storybook"})}),"\n",(0,l.jsx)(n.p,{children:"Runs Storybook for component development and documentation."}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Usage:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pui-cli storybook [options]\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Options:"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"-b, --build"})," - Build static storybook"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"--docs"})," - Run in documentation mode"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"--port <number>"})," - Specify port (default: 6006)"]}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Examples:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"# Start Storybook dev server\npui-cli storybook\n\n# Start with documentation mode\npui-cli storybook --docs\n\n# Build static Storybook\npui-cli storybook -b\n\n# Build with documentation mode\npui-cli storybook -b --docs\n\n# Run on custom port\npui-cli storybook --port 9000\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"What it does:"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Starts Storybook development server"}),"\n",(0,l.jsx)(n.li,{children:"Provides interactive component playground"}),"\n",(0,l.jsx)(n.li,{children:"Generates component documentation"}),"\n",(0,l.jsx)(n.li,{children:"Useful for library development"}),"\n"]}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h2,{id:"testing-commands",children:"Testing Commands"}),"\n",(0,l.jsx)(n.h3,{id:"pui-cli-test",children:(0,l.jsx)(n.code,{children:"pui-cli test"})}),"\n",(0,l.jsx)(n.p,{children:"Runs Jest tests with coverage reporting."}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Usage:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pui-cli test [options]\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Options:"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"-f, --fix"})," - Update snapshots (",(0,l.jsx)(n.code,{children:"-u"}),")"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"-p, --prod"})," - Run tests in production mode"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"--watch"})," - Run tests in watch mode"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"--debug"})," - Run tests in debug mode"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"--coverage"})," - Generate coverage reports (default: true)"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"--passWithNoTests"})," - Don't fail if no tests found"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"--bail"})," - Stop on first test failure"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"--findRelatedTests"})," - Run tests related to changed files"]}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Examples:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"# Run all tests with coverage\npui-cli test\n\n# Run tests in production mode\npui-cli test -p\n\n# Run in watch mode\npnpm test:watch\n\n# Update snapshots\npui-cli test -f\n# or\npnpm test:fix\n\n# Debug tests\npui-cli test --debug\n# or\npnpm test:debug\n\n# Run only tests related to changed files (useful for pre-commit)\npui-cli test --coverage --passWithNoTests --bail --findRelatedTests\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"What it does:"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Executes Jest test runner"}),"\n",(0,l.jsxs)(n.li,{children:["Generates coverage reports in ",(0,l.jsx)(n.code,{children:"reports/"})," directory"]}),"\n",(0,l.jsx)(n.li,{children:"Supports React Testing Library"}),"\n",(0,l.jsx)(n.li,{children:"Provides snapshot testing"}),"\n",(0,l.jsx)(n.li,{children:"Generates HTML coverage reports"}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Coverage Reports:"})}),"\n",(0,l.jsx)(n.p,{children:"After running tests, view coverage at:"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"reports/index.html"})," - Overall coverage report"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"reports/lcov-report/index.html"})," - Detailed line coverage"]}),"\n"]}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h3,{id:"pui-cli-vitest",children:(0,l.jsx)(n.code,{children:"pui-cli vitest"})}),"\n",(0,l.jsx)(n.p,{children:"Runs Vitest for modern, fast testing."}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Usage:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pui-cli vitest [options]\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Options:"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"--watch"})," - Run in watch mode"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"--ui"})," - Open Vitest UI"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"--coverage"})," - Generate coverage"]}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Examples:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"# Run tests\npui-cli vitest\n\n# Run with UI\npui-cli vitest --ui\n\n# Run in watch mode\npui-cli vitest --watch\n\n# Generate coverage\npui-cli vitest --coverage\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"What it does:"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Provides fast test execution with Vite"}),"\n",(0,l.jsx)(n.li,{children:"Supports ESM natively"}),"\n",(0,l.jsx)(n.li,{children:"Offers visual test UI"}),"\n",(0,l.jsx)(n.li,{children:"Compatible with Jest syntax"}),"\n"]}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h2,{id:"linting-commands",children:"Linting Commands"}),"\n",(0,l.jsx)(n.h3,{id:"pui-cli-lint",children:(0,l.jsx)(n.code,{children:"pui-cli lint"})}),"\n",(0,l.jsx)(n.p,{children:"Lints your codebase for code quality and style issues."}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Usage:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pui-cli lint [options]\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Options:"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"--fix"})," - Automatically fix linting issues"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"--js"})," - Lint JavaScript/TypeScript files only"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"--css"})," - Lint CSS/SCSS files only"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"--commit"})," - Lint commit messages"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"--debug"})," - Show detailed error messages"]}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Examples:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"# Lint all files\npui-cli lint\n\n# Auto-fix issues\npui-cli lint --fix\n\n# Lint only JavaScript files\npui-cli lint --js\n\n# Lint only CSS files\npui-cli lint --css\n\n# Lint commit messages\npui-cli lint --commit\n\n# Show debug information\npui-cli lint --debug\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"What it does:"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Runs ESLint on JavaScript/TypeScript files"}),"\n",(0,l.jsx)(n.li,{children:"Runs Stylelint on CSS/SCSS files"}),"\n",(0,l.jsx)(n.li,{children:"Runs Commitlint on commit messages"}),"\n",(0,l.jsx)(n.li,{children:"Enforces code style consistency"}),"\n",(0,l.jsx)(n.li,{children:"Checks for common errors and anti-patterns"}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Linting Rules:"})}),"\n",(0,l.jsx)(n.p,{children:"The CLI provides pre-configured rules for:"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"ESLint"}),": React, TypeScript, Jest best practices"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Stylelint"}),": CSS best practices and conventions"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Commitlint"}),": Conventional Commits format"]}),"\n"]}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h3,{id:"pui-cli-tscheck",children:(0,l.jsx)(n.code,{children:"pui-cli tscheck"})}),"\n",(0,l.jsx)(n.p,{children:"Type-checks TypeScript files without emitting output."}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Usage:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pui-cli tscheck [options]\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Options:"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"--files"})," - Check specific files only"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"--watch"})," - Watch mode for continuous type checking"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"--debug"})," - Show detailed TypeScript errors"]}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Examples:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"# Check all types\npui-cli tscheck\n\n# Check with file listing\npui-cli tscheck --files\n\n# Watch for changes\npui-cli tscheck --watch\n\n# Show detailed errors\npui-cli tscheck --debug\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"What it does:"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Runs TypeScript compiler in check mode"}),"\n",(0,l.jsx)(n.li,{children:"Reports type errors"}),"\n",(0,l.jsx)(n.li,{children:"Doesn't emit JavaScript files"}),"\n",(0,l.jsx)(n.li,{children:"Useful for CI/CD pipelines"}),"\n"]}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h2,{id:"documentation-commands",children:"Documentation Commands"}),"\n",(0,l.jsx)(n.h3,{id:"pui-cli-gendoc",children:(0,l.jsx)(n.code,{children:"pui-cli gendoc"})}),"\n",(0,l.jsx)(n.p,{children:"Generates API documentation from your code."}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Usage:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pui-cli gendoc\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"What it does:"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Generates TypeDoc documentation"}),"\n",(0,l.jsx)(n.li,{children:"Extracts JSDoc comments"}),"\n",(0,l.jsx)(n.li,{children:"Creates HTML documentation"}),"\n",(0,l.jsxs)(n.li,{children:["Outputs to ",(0,l.jsx)(n.code,{children:"docs/api/"})," directory"]}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Example JSDoc comments:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-typescript",children:"/**\n * Adds two numbers together\n * @param a - First number\n * @param b - Second number\n * @returns The sum of a and b\n * @example\n * ```ts\n * add(2, 3) // returns 5\n * ```\n */\nexport function add(a: number, b: number): number {\n return a + b;\n}\n"})}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h2,{id:"utility-commands",children:"Utility Commands"}),"\n",(0,l.jsx)(n.h3,{id:"pui-cli-version",children:(0,l.jsx)(n.code,{children:"pui-cli version"})}),"\n",(0,l.jsx)(n.p,{children:"Manages versioning for monorepo workspaces."}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Usage:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pui-cli version [options]\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Options:"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"--set <version>"})," - Set specific version for all packages"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"--workspace"})," - Update workspace package versions"]}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Examples:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"# Update versions in monorepo\npui-cli version --workspace\n\n# Set specific version\npui-cli version --set 2.0.0\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"What it does:"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Updates package.json versions"}),"\n",(0,l.jsx)(n.li,{children:"Maintains version consistency in monorepos"}),"\n",(0,l.jsx)(n.li,{children:"Updates dependency versions"}),"\n"]}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h3,{id:"pui-cli-codemod",children:(0,l.jsx)(n.code,{children:"pui-cli codemod"})}),"\n",(0,l.jsx)(n.p,{children:"Runs code transformations using jscodeshift."}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Usage:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pui-cli codemod <transform>\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Arguments:"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"<transform>"})," - Name of the transform to apply"]}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"What it does:"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Applies automated code transformations"}),"\n",(0,l.jsx)(n.li,{children:"Useful for migrations"}),"\n",(0,l.jsx)(n.li,{children:"Batch code refactoring"}),"\n"]}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h2,{id:"advanced-usage",children:"Advanced Usage"}),"\n",(0,l.jsx)(n.h3,{id:"using-pui-cli-in-npm-scripts",children:"Using pui-cli in npm scripts"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"package.json example:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-json",children:'{\n "scripts": {\n "dev": "pui-cli start",\n "build": "pui-cli build",\n "build:lib": "pui-cli build --service",\n "test": "pui-cli test --coverage",\n "test:watch": "pui-cli test --watch",\n "test:debug": "pui-cli test --debug",\n "lint": "pui-cli lint",\n "lint:fix": "pui-cli lint --fix",\n "lint:js": "pui-cli lint --js --fix",\n "lint:css": "pui-cli lint --css --fix",\n "typecheck": "pui-cli tscheck",\n "storybook": "pui-cli storybook",\n "storybook:build": "pui-cli storybook --build",\n "gendoc": "pui-cli gendoc",\n "pack": "pui-cli pack",\n "precommit": "lint-staged"\n }\n}\n'})}),"\n",(0,l.jsx)(n.h3,{id:"cicd-integration",children:"CI/CD Integration"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Jenkins example:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-groovy",children:"pipeline {\n agent any\n stages {\n stage('Install') {\n steps {\n sh 'pnpm install'\n }\n }\n stage('Lint') {\n steps {\n sh 'pnpm lint'\n }\n }\n stage('Type Check') {\n steps {\n sh 'pnpm tscheck'\n }\n }\n stage('Test') {\n steps {\n sh 'pnpm test'\n }\n }\n stage('Build') {\n steps {\n sh 'pnpm build'\n }\n }\n }\n}\n"})}),"\n",(0,l.jsx)(n.h3,{id:"using-exported-configurations",children:"Using Exported Configurations"}),"\n",(0,l.jsx)(n.p,{children:"You can import and extend the CLI's configurations in your own config files:"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"ESLint:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-javascript",children:"import { eslintConfig } from '@elliemae/pui-cli';\n\nexport default [\n ...eslintConfig,\n {\n rules: {\n // Your custom rules\n 'no-console': 'warn',\n },\n },\n];\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Prettier:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-javascript",children:"import { prettierConfig } from '@elliemae/pui-cli';\n\nexport default {\n ...prettierConfig,\n // Your custom overrides\n printWidth: 100,\n};\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Vitest:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-typescript",children:"import { defineConfig } from 'vitest/config';\nimport { vitestConfig } from '@elliemae/pui-cli/vitest';\n\nexport default defineConfig({\n ...vitestConfig,\n test: {\n ...vitestConfig.test,\n // Your custom test config\n },\n});\n"})}),"\n",(0,l.jsx)(n.h2,{id:"configuration-priority",children:"Configuration Priority"}),"\n",(0,l.jsx)(n.p,{children:"The CLI follows this priority order for configuration:"}),"\n",(0,l.jsxs)(n.ol,{children:["\n",(0,l.jsx)(n.li,{children:"Project-level configuration files"}),"\n",(0,l.jsx)(n.li,{children:"CLI's default configurations"}),"\n",(0,l.jsx)(n.li,{children:"Command-line arguments"}),"\n",(0,l.jsx)(n.li,{children:"Environment variables"}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"best-practices",children:"Best Practices"}),"\n",(0,l.jsx)(n.h3,{id:"development-workflow",children:"Development Workflow"}),"\n",(0,l.jsxs)(n.ol,{children:["\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Start development server:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pnpm start\n"})}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Run tests in watch mode (separate terminal):"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pnpm test --watch\n"})}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Type check (separate terminal):"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pnpm tscheck --watch\n"})}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Before committing:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pnpm lint:fix\npnpm test\npnpm typecheck\n"})}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"library-development-workflow",children:"Library Development Workflow"}),"\n",(0,l.jsxs)(n.ol,{children:["\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Start Storybook:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pnpm storybook\n"})}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Run tests in watch mode:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pnpm test --watch\n"})}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Build library:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pnpm build --service\n"})}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Test package:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pnpm pack\n"})}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"performance-tips",children:"Performance Tips"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["Use ",(0,l.jsx)(n.code,{children:"--findRelatedTests"})," to run only relevant tests"]}),"\n",(0,l.jsxs)(n.li,{children:["Enable ",(0,l.jsx)(n.code,{children:"--watch"})," mode during development"]}),"\n",(0,l.jsxs)(n.li,{children:["Use ",(0,l.jsx)(n.code,{children:"--silent"})," in CI to reduce output"]}),"\n",(0,l.jsxs)(n.li,{children:["Run ",(0,l.jsx)(n.code,{children:"lint --js"})," and ",(0,l.jsx)(n.code,{children:"lint --css"})," separately for faster feedback"]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"framework-chunk-splitting",children:"Framework Chunk Splitting"}),"\n",(0,l.jsxs)(n.p,{children:[(0,l.jsx)(n.code,{children:"pui-cli"})," supports an opt-in ",(0,l.jsx)(n.strong,{children:"framework chunk"})," that separates React core libraries into a dedicated bundle. Because the framework changes far less frequently than other vendor dependencies, this improves long-term browser caching and reduces the amount of JavaScript users re-download on routine releases."]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"How it works"})}),"\n",(0,l.jsx)(n.p,{children:"When enabled, the production (and dev) Webpack build creates three vendor-level chunks instead of two:"}),"\n",(0,l.jsxs)(n.table,{children:[(0,l.jsx)(n.thead,{children:(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.th,{children:"Chunk"}),(0,l.jsx)(n.th,{children:"Contents"})]})}),(0,l.jsxs)(n.tbody,{children:[(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"emui.js"})}),(0,l.jsxs)(n.td,{children:[(0,l.jsx)(n.code,{children:"@elliemae/*"})," packages (design system, SDK, diagnostics, etc.)"]})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"framework.js"})}),(0,l.jsxs)(n.td,{children:[(0,l.jsx)(n.code,{children:"react"}),", ",(0,l.jsx)(n.code,{children:"react-dom"}),", ",(0,l.jsx)(n.code,{children:"scheduler"}),", ",(0,l.jsx)(n.code,{children:"react-router"}),", ",(0,l.jsx)(n.code,{children:"react-router-dom"}),", ",(0,l.jsx)(n.code,{children:"history"}),", ",(0,l.jsx)(n.code,{children:"react-is"})]})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"vendors.js"})}),(0,l.jsxs)(n.td,{children:["Everything else from ",(0,l.jsx)(n.code,{children:"node_modules"})]})]})]})]}),"\n",(0,l.jsxs)(n.p,{children:["Without the flag, the default two-chunk layout is preserved (",(0,l.jsx)(n.code,{children:"emui.js"})," + ",(0,l.jsx)(n.code,{children:"vendors.js"}),")."]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Enabling the flag"})}),"\n",(0,l.jsxs)(n.p,{children:["Add the following to your application's ",(0,l.jsx)(n.code,{children:".env"})," file:"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-env",children:"SPLIT_FRAMEWORK_CHUNK=true\n"})}),"\n",(0,l.jsxs)(n.p,{children:["The flag is read at build time. No changes to ",(0,l.jsx)(n.code,{children:"pui-cli"})," itself are needed."]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Required application updates"})}),"\n",(0,l.jsxs)(n.p,{children:["After enabling the flag you must update three places in your application to include ",(0,l.jsx)(n.code,{children:"framework.js"})," in the script loading order."]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsxs)(n.strong,{children:["1. ",(0,l.jsx)(n.code,{children:"index-app-loader.html"})]})}),"\n",(0,l.jsxs)(n.p,{children:["If your application uses ",(0,l.jsx)(n.code,{children:"pui-app-loader"}),", update the ",(0,l.jsx)(n.code,{children:"bodyScripts"})," array to include ",(0,l.jsx)(n.code,{children:"framework.js"})," ",(0,l.jsx)(n.strong,{children:"before"})," ",(0,l.jsx)(n.code,{children:"vendors.js"}),":"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-javascript",children:"emuiAppLoader.load({\n appId: 'loanapp',\n headScripts: [],\n bodyScripts: ['runtime~app.js', 'framework.js', 'vendors.js', 'emui.js', 'app.js'],\n styles: ['vendors.css', 'emui.css'],\n isJsModule: true,\n});\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsxs)(n.strong,{children:["2. ",(0,l.jsx)(n.code,{children:"app.config.json"})," \u2014 ",(0,l.jsx)(n.code,{children:"microFrontendApps"})," file lists"]})}),"\n",(0,l.jsxs)(n.p,{children:["Any microapp built with the framework chunk enabled must list ",(0,l.jsx)(n.code,{children:"framework.js"})," in its ",(0,l.jsx)(n.code,{children:"development.files"})," and ",(0,l.jsx)(n.code,{children:"production.files"})," arrays. The host app's ",(0,l.jsx)(n.code,{children:"app.config.json"})," must reflect this so that ",(0,l.jsx)(n.code,{children:"app-bridge"})," loads the scripts in the correct order."]}),"\n",(0,l.jsx)(n.p,{children:"Development example:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-json",children:'{\n "microFrontendApps": {\n "myapp": {\n "name": "My App",\n "hostUrl": "./myapp",\n "development": {\n "files": [\n "https://cdn.mortgagetech.q1.ice.com/pui-diagnostics@3",\n "https://cdn.mortgagetech.q1.ice.com/pui-logrocket@1",\n "js/global.js",\n "framework.js",\n "emui.js",\n "vendors.js",\n "app.js"\n ]\n }\n }\n }\n}\n'})}),"\n",(0,l.jsx)(n.p,{children:"Production example:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-json",children:'{\n "microFrontendApps": {\n "myapp": {\n "name": "My App",\n "hostUrl": "./myapp",\n "production": {\n "files": [\n "https://cdn.mortgagetech.q1.ice.com/pui-diagnostics@3",\n "https://cdn.mortgagetech.q1.ice.com/pui-logrocket@1",\n "js/global.js",\n "runtime~app.js",\n "framework.js",\n "emui.js",\n "vendors.js",\n "app.js",\n "emui.css",\n "vendors.css"\n ]\n }\n }\n }\n}\n'})}),"\n",(0,l.jsxs)(n.blockquote,{children:["\n",(0,l.jsxs)(n.p,{children:[(0,l.jsx)(n.strong,{children:"Load order matters."})," ",(0,l.jsx)(n.code,{children:"framework.js"})," must appear before ",(0,l.jsx)(n.code,{children:"vendors.js"})," and ",(0,l.jsx)(n.code,{children:"emui.js"})," because both depend on React."]}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"3. Verify the build output"})}),"\n",(0,l.jsx)(n.p,{children:"After enabling the flag, run a production build and confirm the new chunk appears:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pnpm build\nls build/latest/js/framework.*.js\n"})}),"\n",(0,l.jsxs)(n.p,{children:["You should see a hashed file like ",(0,l.jsx)(n.code,{children:"framework.abc123.js"})," alongside the existing ",(0,l.jsx)(n.code,{children:"emui"}),", ",(0,l.jsx)(n.code,{children:"vendors"}),", and ",(0,l.jsx)(n.code,{children:"app"})," chunks."]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Disabling the flag"})}),"\n",(0,l.jsxs)(n.p,{children:["Remove ",(0,l.jsx)(n.code,{children:"SPLIT_FRAMEWORK_CHUNK=true"})," from ",(0,l.jsx)(n.code,{children:".env"})," (or set it to ",(0,l.jsx)(n.code,{children:"false"}),"), then reverse the file-list changes above \u2014 remove ",(0,l.jsx)(n.code,{children:"framework.js"})," from ",(0,l.jsx)(n.code,{children:"index-app-loader.html"})," and ",(0,l.jsx)(n.code,{children:"app.config.json"}),". The build will revert to the default two-chunk layout."]}),"\n",(0,l.jsx)(n.h2,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,l.jsx)(n.h3,{id:"build-issues",children:"Build Issues"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Error: Module not found"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"# Clear cache and rebuild\nrm -rf node_modules dist\npnpm install\npnpm build\n"})}),"\n",(0,l.jsx)(n.h3,{id:"test-issues",children:"Test Issues"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Error: Tests timing out"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"# Increase timeout in jest.config\npui-cli test --debug\n"})}),"\n",(0,l.jsx)(n.h3,{id:"linting-issues",children:"Linting Issues"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Error: Too many linting errors"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"# Fix automatically\npnpm lint --fix\n\n# Fix only JS\npnpm lint --js --fix\n\n# Fix only CSS\npnpm lint --css --fix\n"})}),"\n",(0,l.jsx)(n.h2,{id:"additional-resources",children:"Additional Resources"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"/cli/#getting-started",children:"Getting Started Guide"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"./api/",children:"API Documentation"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"https://github.com/intcx/PLATFORM-UI.pui-cli#migration-guide",children:"Migration Guide"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"https://github.com/intcx/PLATFORM-UI.pui-cli",children:"GitHub Repository"})}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"need-help",children:"Need Help?"}),"\n",(0,l.jsx)(n.p,{children:"If you encounter issues or have questions:"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Review the documentation"}),"\n",(0,l.jsx)(n.li,{children:"Contact the UI Platform team via ui-platform teams channel"}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,l.jsx)(n,{...e,children:(0,l.jsx)(a,{...e})}):a(e)}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[6130],{7211(e,i,a){a.r(i),a.d(i,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>n,metadata:()=>s,toc:()=>p});const s=JSON.parse('{"id":"api/type-aliases/LIB_NAME","title":"LIB\\\\_NAME","description":"","source":"@site/docs/api/type-aliases/LIB_NAME.md","sourceDirName":"api/type-aliases","slug":"/api/type-aliases/LIB_NAME","permalink":"/cli/api/type-aliases/LIB_NAME","draft":false,"unlisted":false,"editUrl":"https://github.com/intcx/PLATFORM-UI.pui-cli.git/docs/api/type-aliases/LIB_NAME.md","tags":[],"version":"current","frontMatter":{},"sidebar":"docsSidebar","previous":{"title":"loadRoutes()","permalink":"/cli/api/functions/loadRoutes"},"next":{"title":"babelConfig","permalink":"/cli/api/variables/babelConfig"}}');var t=a(6070),l=a(5676);const n={},r="LIB_NAME",c={},p=[];function o(e){const i={code:"code",h1:"h1",header:"header",pre:"pre",...(0,l.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.header,{children:(0,t.jsx)(i.h1,{id:"lib_name",children:"LIB_NAME"})}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-ts",children:'type LIB_NAME = "pui-cli";\n'})})]})}function d(e={}){const{wrapper:i}={...(0,l.R)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(o,{...e})}):o(e)}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[9577],{3800(e,i,s){s.r(i),s.d(i,{assets:()=>o,contentTitle:()=>l,default:()=>p,frontMatter:()=>r,metadata:()=>t,toc:()=>c});const t=JSON.parse('{"id":"api/functions/loadRoutes","title":"loadRoutes()","description":"Parameters","source":"@site/docs/api/functions/loadRoutes.md","sourceDirName":"api/functions","slug":"/api/functions/loadRoutes","permalink":"/cli/api/functions/loadRoutes","draft":false,"unlisted":false,"editUrl":"https://github.com/intcx/PLATFORM-UI.pui-cli.git/docs/api/functions/loadRoutes.md","tags":[],"version":"current","frontMatter":{},"sidebar":"docsSidebar","previous":{"title":"Cli API","permalink":"/cli/api/"},"next":{"title":"LIB\\\\_NAME","permalink":"/cli/api/type-aliases/LIB_NAME"}}');var a=s(6070),n=s(5676);const r={},l="loadRoutes()",o={},c=[{value:"Parameters",id:"parameters",level:2},{value:"app",id:"app",level:3},{value:"Returns",id:"returns",level:2}];function d(e){const i={code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",pre:"pre",...(0,n.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(i.header,{children:(0,a.jsx)(i.h1,{id:"loadroutes",children:"loadRoutes()"})}),"\n",(0,a.jsx)(i.pre,{children:(0,a.jsx)(i.code,{className:"language-ts",children:"function loadRoutes(app: Application): Promise<void>;\n"})}),"\n",(0,a.jsx)(i.h2,{id:"parameters",children:"Parameters"}),"\n",(0,a.jsx)(i.h3,{id:"app",children:"app"}),"\n",(0,a.jsx)(i.p,{children:(0,a.jsx)(i.code,{children:"Application"})}),"\n",(0,a.jsx)(i.h2,{id:"returns",children:"Returns"}),"\n",(0,a.jsxs)(i.p,{children:[(0,a.jsx)(i.code,{children:"Promise"}),"<",(0,a.jsx)(i.code,{children:"void"}),">"]})]})}function p(e={}){const{wrapper:i}={...(0,n.R)(),...e.components};return i?(0,a.jsx)(i,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[7581],{6549(n,e,l){l.r(e),l.d(e,{assets:()=>a,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"api/variables/stylelintConfig","title":"stylelintConfig","description":"Type Declaration","source":"@site/docs/api/variables/stylelintConfig.md","sourceDirName":"api/variables","slug":"/api/variables/stylelintConfig","permalink":"/cli/api/variables/stylelintConfig","draft":false,"unlisted":false,"editUrl":"https://github.com/intcx/PLATFORM-UI.pui-cli.git/docs/api/variables/stylelintConfig.md","tags":[],"version":"current","frontMatter":{},"sidebar":"docsSidebar","previous":{"title":"prettierConfig","permalink":"/cli/api/variables/prettierConfig"},"next":{"title":"vitestConfig","permalink":"/cli/api/variables/vitestConfig"}}');var s=l(6070),t=l(5676);const r={},o="stylelintConfig",a={},c=[{value:"Type Declaration",id:"type-declaration",level:2},{value:"customSyntax",id:"customsyntax",level:3},{value:"extends",id:"extends",level:3},{value:"ignoreFiles",id:"ignorefiles",level:3},{value:"rules",id:"rules",level:3},{value:"rules.function-no-unknown",id:"rulesfunction-no-unknown",level:4},{value:"rules.selector-type-no-unknown",id:"rulesselector-type-no-unknown",level:4}];function u(n){const e={code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",pre:"pre",...(0,t.R)(),...n.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.header,{children:(0,s.jsx)(e.h1,{id:"stylelintconfig",children:"stylelintConfig"})}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-ts",children:"stylelintConfig: {\n customSyntax: string;\n extends: string[];\n ignoreFiles: string[];\n rules: {\n function-no-unknown: null;\n selector-type-no-unknown: null;\n };\n};\n"})}),"\n",(0,s.jsx)(e.h2,{id:"type-declaration",children:"Type Declaration"}),"\n",(0,s.jsx)(e.h3,{id:"customsyntax",children:"customSyntax"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-ts",children:'customSyntax: string = "postcss-styled-syntax";\n'})}),"\n",(0,s.jsx)(e.h3,{id:"extends",children:"extends"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-ts",children:"extends: string[];\n"})}),"\n",(0,s.jsx)(e.h3,{id:"ignorefiles",children:"ignoreFiles"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-ts",children:"ignoreFiles: string[];\n"})}),"\n",(0,s.jsx)(e.h3,{id:"rules",children:"rules"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-ts",children:"rules: {\n function-no-unknown: null;\n selector-type-no-unknown: null;\n};\n"})}),"\n",(0,s.jsx)(e.h4,{id:"rulesfunction-no-unknown",children:"rules.function-no-unknown"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-ts",children:"function-no-unknown: null = null;\n"})}),"\n",(0,s.jsx)(e.h4,{id:"rulesselector-type-no-unknown",children:"rules.selector-type-no-unknown"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-ts",children:"selector-type-no-unknown: null = null;\n"})})]})}function d(n={}){const{wrapper:e}={...(0,t.R)(),...n.components};return e?(0,s.jsx)(e,{...n,children:(0,s.jsx)(u,{...n})}):u(n)}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[2960],{7571(e,i,n){n.r(i),n.d(i,{assets:()=>d,contentTitle:()=>s,default:()=>h,frontMatter:()=>r,metadata:()=>a,toc:()=>c});const a=JSON.parse('{"id":"api/variables/prettierConfig","title":"prettierConfig","description":"Type Declaration","source":"@site/docs/api/variables/prettierConfig.md","sourceDirName":"api/variables","slug":"/api/variables/prettierConfig","permalink":"/cli/api/variables/prettierConfig","draft":false,"unlisted":false,"editUrl":"https://github.com/intcx/PLATFORM-UI.pui-cli.git/docs/api/variables/prettierConfig.md","tags":[],"version":"current","frontMatter":{},"sidebar":"docsSidebar","previous":{"title":"lintStagedConfig","permalink":"/cli/api/variables/lintStagedConfig"},"next":{"title":"stylelintConfig","permalink":"/cli/api/variables/stylelintConfig"}}');var t=n(6070),l=n(5676);const r={},s="prettierConfig",d={},c=[{value:"Type Declaration",id:"type-declaration",level:2},{value:"printWidth",id:"printwidth",level:3},{value:"semi",id:"semi",level:3},{value:"singleQuote",id:"singlequote",level:3},{value:"tabWidth",id:"tabwidth",level:3},{value:"trailingComma",id:"trailingcomma",level:3},{value:"useTabs",id:"usetabs",level:3}];function o(e){const i={code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",pre:"pre",...(0,l.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.header,{children:(0,t.jsx)(i.h1,{id:"prettierconfig",children:"prettierConfig"})}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-ts",children:"prettierConfig: {\n printWidth: number;\n semi: boolean;\n singleQuote: boolean;\n tabWidth: number;\n trailingComma: string;\n useTabs: boolean;\n};\n"})}),"\n",(0,t.jsx)(i.h2,{id:"type-declaration",children:"Type Declaration"}),"\n",(0,t.jsx)(i.h3,{id:"printwidth",children:"printWidth"}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-ts",children:"printWidth: number = 80;\n"})}),"\n",(0,t.jsx)(i.h3,{id:"semi",children:"semi"}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-ts",children:"semi: boolean = true;\n"})}),"\n",(0,t.jsx)(i.h3,{id:"singlequote",children:"singleQuote"}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-ts",children:"singleQuote: boolean = true;\n"})}),"\n",(0,t.jsx)(i.h3,{id:"tabwidth",children:"tabWidth"}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-ts",children:"tabWidth: number = 2;\n"})}),"\n",(0,t.jsx)(i.h3,{id:"trailingcomma",children:"trailingComma"}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-ts",children:"trailingComma: string = 'all';\n"})}),"\n",(0,t.jsx)(i.h3,{id:"usetabs",children:"useTabs"}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-ts",children:"useTabs: boolean = false;\n"})})]})}function h(e={}){const{wrapper:i}={...(0,l.R)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(o,{...e})}):o(e)}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[594],{9707(i,e,s){s.r(e),s.d(e,{assets:()=>c,contentTitle:()=>d,default:()=>x,frontMatter:()=>r,metadata:()=>l,toc:()=>a});const l=JSON.parse('{"id":"api/index","title":"Cli API","description":"Functions","source":"@site/docs/api/index.md","sourceDirName":"api","slug":"/api/","permalink":"/cli/api/","draft":false,"unlisted":false,"editUrl":"https://github.com/intcx/PLATFORM-UI.pui-cli.git/docs/api/index.md","tags":[],"version":"current","frontMatter":{},"sidebar":"docsSidebar","next":{"title":"loadRoutes()","permalink":"/cli/api/functions/loadRoutes"}}');var n=s(6070),t=s(5676);const r={},d="Cli API",c={},a=[{value:"Functions",id:"functions",level:2},{value:"Type Aliases",id:"type-aliases",level:2},{value:"Variables",id:"variables",level:2}];function h(i){const e={a:"a",h1:"h1",h2:"h2",header:"header",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,t.R)(),...i.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.header,{children:(0,n.jsx)(e.h1,{id:"cli-api",children:"Cli API"})}),"\n",(0,n.jsx)(e.h2,{id:"functions",children:"Functions"}),"\n",(0,n.jsxs)(e.table,{children:[(0,n.jsx)(e.thead,{children:(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.th,{children:"Function"}),(0,n.jsx)(e.th,{children:"Description"})]})}),(0,n.jsx)(e.tbody,{children:(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/functions/loadRoutes",children:"loadRoutes"})}),(0,n.jsx)(e.td,{children:"-"})]})})]}),"\n",(0,n.jsx)(e.h2,{id:"type-aliases",children:"Type Aliases"}),"\n",(0,n.jsxs)(e.table,{children:[(0,n.jsx)(e.thead,{children:(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.th,{children:"Type Alias"}),(0,n.jsx)(e.th,{children:"Description"})]})}),(0,n.jsx)(e.tbody,{children:(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/type-aliases/LIB_NAME",children:"LIB_NAME"})}),(0,n.jsx)(e.td,{children:"-"})]})})]}),"\n",(0,n.jsx)(e.h2,{id:"variables",children:"Variables"}),"\n",(0,n.jsxs)(e.table,{children:[(0,n.jsx)(e.thead,{children:(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.th,{children:"Variable"}),(0,n.jsx)(e.th,{children:"Description"})]})}),(0,n.jsxs)(e.tbody,{children:[(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/variables/babelConfig",children:"babelConfig"})}),(0,n.jsx)(e.td,{children:"-"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/variables/commitlintConfig",children:"commitlintConfig"})}),(0,n.jsx)(e.td,{children:"-"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/variables/eslintBaseConfig",children:"eslintBaseConfig"})}),(0,n.jsx)(e.td,{children:"-"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/variables/eslintConfig",children:"eslintConfig"})}),(0,n.jsx)(e.td,{children:"-"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/variables/jestConfig",children:"jestConfig"})}),(0,n.jsx)(e.td,{children:"-"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/variables/jestNodeConfig",children:"jestNodeConfig"})}),(0,n.jsx)(e.td,{children:"-"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/variables/lintStagedConfig",children:"lintStagedConfig"})}),(0,n.jsx)(e.td,{children:"-"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/variables/prettierConfig",children:"prettierConfig"})}),(0,n.jsx)(e.td,{children:"-"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/variables/stylelintConfig",children:"stylelintConfig"})}),(0,n.jsx)(e.td,{children:"-"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/variables/vitestConfig",children:"vitestConfig"})}),(0,n.jsx)(e.td,{children:"-"})]})]})]})]})}function x(i={}){const{wrapper:e}={...(0,t.R)(),...i.components};return e?(0,n.jsx)(e,{...i,children:(0,n.jsx)(h,{...i})}):h(i)}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[1091],{2797(e,i,n){n.r(i),n.d(i,{assets:()=>o,contentTitle:()=>c,default:()=>a,frontMatter:()=>t,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"ssl-certificate-setup","title":"Trust SSL Certificate Guide","description":"This guide explains how to trust the self-signed CA certificate on different operating systems and browsers so your HTTPS connection works without warnings.","source":"@site/docs/ssl-certificate-setup.md","sourceDirName":".","slug":"/ssl-certificate-setup","permalink":"/cli/ssl-certificate-setup","draft":false,"unlisted":false,"editUrl":"https://github.com/intcx/PLATFORM-UI.pui-cli.git/docs/ssl-certificate-setup.md","tags":[],"version":"current","frontMatter":{},"sidebar":"docsSidebar","previous":{"title":"PUI CLI Documentation","permalink":"/cli/"},"next":{"title":"Usage Guide","permalink":"/cli/usage-guide"}}');var r=n(6070),l=n(5676);const t={},c="Trust SSL Certificate Guide",o={},d=[{value:"\ud83d\udccb Table of Contents",id:"-table-of-contents",level:2},{value:"\ud83c\udf4e macOS",id:"-macos",level:2},{value:"Via Keychain Access",id:"via-keychain-access",level:3},{value:"Remove Certificate from macOS",id:"remove-certificate-from-macos",level:3},{value:"\ud83e\ude9f Windows",id:"-windows",level:2},{value:"Via Certificate Manager",id:"via-certificate-manager",level:3},{value:"Remove Certificate from Windows",id:"remove-certificate-from-windows",level:3},{value:"\ud83e\udd8a Firefox (All Platforms)",id:"-firefox-all-platforms",level:2},{value:"Import Certificate to Firefox",id:"import-certificate-to-firefox",level:3},{value:"Remove Certificate from Firefox",id:"remove-certificate-from-firefox",level:3},{value:"Troubleshooting",id:"troubleshooting",level:2},{value:"Still seeing "Not Secure" warning?",id:"still-seeing-not-secure-warning",level:3},{value:"Browser not trusting certificate?",id:"browser-not-trusting-certificate",level:3},{value:"Certificate Details",id:"certificate-details",level:2},{value:"Security Notes",id:"security-notes",level:2},{value:"Regenerate Certificates",id:"regenerate-certificates",level:2}];function h(e){const i={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,l.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.header,{children:(0,r.jsx)(i.h1,{id:"trust-ssl-certificate-guide",children:"Trust SSL Certificate Guide"})}),"\n",(0,r.jsx)(i.p,{children:"This guide explains how to trust the self-signed CA certificate on different operating systems and browsers so your HTTPS connection works without warnings."}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h2,{id:"-table-of-contents",children:"\ud83d\udccb Table of Contents"}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:(0,r.jsx)(i.a,{href:"#-macos",children:"macOS"})}),"\n",(0,r.jsx)(i.li,{children:(0,r.jsx)(i.a,{href:"#-windows",children:"Windows"})}),"\n",(0,r.jsx)(i.li,{children:(0,r.jsx)(i.a,{href:"#-firefox-all-platforms",children:"Firefox (All Platforms)"})}),"\n"]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h2,{id:"-macos",children:"\ud83c\udf4e macOS"}),"\n",(0,r.jsx)(i.h3,{id:"via-keychain-access",children:"Via Keychain Access"}),"\n",(0,r.jsxs)(i.ol,{children:["\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Locate the certificate file:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Open Finder and navigate to the ",(0,r.jsx)(i.code,{children:"certs"})," folder"]}),"\n",(0,r.jsxs)(i.li,{children:["Find the file ",(0,r.jsx)(i.code,{children:"ca-cert.pem"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Import the certificate:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.strong,{children:"Double-click"})," ",(0,r.jsx)(i.code,{children:"ca-cert.pem"})]}),"\n",(0,r.jsxs)(i.li,{children:["In the popup dialog, select ",(0,r.jsx)(i.strong,{children:'"login"'})," keychain"]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Add"'})]}),"\n",(0,r.jsx)(i.li,{children:"Enter your macOS password if prompted"}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Trust the certificate:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Press ",(0,r.jsx)(i.code,{children:"Cmd + Space"})," and type ",(0,r.jsx)(i.strong,{children:'"Keychain Access"'})," to open the app"]}),"\n",(0,r.jsxs)(i.li,{children:["In the left sidebar, click ",(0,r.jsx)(i.strong,{children:'"login"'})," keychain"]}),"\n",(0,r.jsxs)(i.li,{children:["In the bottom-left category selector, choose ",(0,r.jsx)(i.strong,{children:'"Certificates"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Search for ",(0,r.jsx)(i.strong,{children:'"localhost"'})," in the search box (top right)"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Set trust level:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.strong,{children:"Double-click"}),' the "localhost" certificate']}),"\n",(0,r.jsxs)(i.li,{children:["Click the ",(0,r.jsx)(i.strong,{children:"\u25b6 triangle"})," next to ",(0,r.jsx)(i.strong,{children:'"Trust"'})," to expand the section"]}),"\n",(0,r.jsxs)(i.li,{children:["Change ",(0,r.jsx)(i.strong,{children:'"When using this certificate"'})," dropdown to ",(0,r.jsx)(i.strong,{children:'"Always Trust"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Optionally, set ",(0,r.jsx)(i.strong,{children:'"Secure Sockets Layer (SSL)"'})," to ",(0,r.jsx)(i.strong,{children:'"Always Trust"'})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Save changes:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:"Close the certificate window"}),"\n",(0,r.jsx)(i.li,{children:"Enter your macOS password when prompted"}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"Restart your browser"})," (important!)"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"Test:"})," Visit ",(0,r.jsx)(i.code,{children:"https://localhost:8443"})," - should show secure! \ud83d\udd12"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(i.h3,{id:"remove-certificate-from-macos",children:"Remove Certificate from macOS"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Via Keychain Access:"})}),"\n",(0,r.jsxs)(i.ol,{children:["\n",(0,r.jsx)(i.li,{children:"Open Keychain Access"}),"\n",(0,r.jsx)(i.li,{children:'Find "localhost" certificate'}),"\n",(0,r.jsxs)(i.li,{children:["Right-click \u2192 ",(0,r.jsx)(i.strong,{children:'Delete "localhost"'})]}),"\n",(0,r.jsx)(i.li,{children:"Enter password"}),"\n"]}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Via Command Line:"})}),"\n",(0,r.jsx)(i.pre,{children:(0,r.jsx)(i.code,{className:"language-bash",children:'# From login keychain\nsecurity delete-certificate -c "localhost" ~/Library/Keychains/login.keychain-db\n'})}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h2,{id:"-windows",children:"\ud83e\ude9f Windows"}),"\n",(0,r.jsx)(i.h3,{id:"via-certificate-manager",children:"Via Certificate Manager"}),"\n",(0,r.jsxs)(i.ol,{children:["\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Open Certificate Manager:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Press ",(0,r.jsx)(i.code,{children:"Win + R"})," to open Run dialog"]}),"\n",(0,r.jsxs)(i.li,{children:["Type ",(0,r.jsx)(i.code,{children:"certmgr.msc"})," and press Enter"]}),"\n",(0,r.jsx)(i.li,{children:'Or search for "Manage user certificates" in Start menu'}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Import the certificate:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["In the left panel, expand ",(0,r.jsx)(i.strong,{children:'"Trusted Root Certification Authorities"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Right-click on ",(0,r.jsx)(i.strong,{children:'"Certificates"'})," folder"]}),"\n",(0,r.jsxs)(i.li,{children:["Select ",(0,r.jsx)(i.strong,{children:"Action"})," \u2192 ",(0,r.jsx)(i.strong,{children:"All Tasks"})," \u2192 ",(0,r.jsx)(i.strong,{children:"Import..."})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Certificate Import Wizard:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Next"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Browse..."'})," and navigate to your ",(0,r.jsx)(i.code,{children:"certs"})," folder"]}),"\n",(0,r.jsxs)(i.li,{children:["Change file type filter to ",(0,r.jsxs)(i.strong,{children:['"All Files (',(0,r.jsx)(i.em,{children:"."}),')"']})]}),"\n",(0,r.jsxs)(i.li,{children:["Select ",(0,r.jsx)(i.strong,{children:(0,r.jsx)(i.code,{children:"ca-cert.pem"})})]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Open"'})," then ",(0,r.jsx)(i.strong,{children:'"Next"'})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Choose certificate store:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Select ",(0,r.jsx)(i.strong,{children:'"Place all certificates in the following store"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Ensure it says ",(0,r.jsx)(i.strong,{children:'"Trusted Root Certification Authorities"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Next"'})," then ",(0,r.jsx)(i.strong,{children:'"Finish"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"OK"'})," on the success message"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Verify installation:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["In Certificate Manager, navigate to ",(0,r.jsx)(i.strong,{children:'"Trusted Root Certification Authorities"'})," \u2192 ",(0,r.jsx)(i.strong,{children:'"Certificates"'})]}),"\n",(0,r.jsx)(i.li,{children:'You should see "localhost" or "Development" in the list'}),"\n",(0,r.jsx)(i.li,{children:"Double-click to view details"}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"Restart your browser"})," (close all windows completely)"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"Test:"})," Visit ",(0,r.jsx)(i.code,{children:"https://localhost:8443"})," - should show secure! \ud83d\udd12"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(i.h3,{id:"remove-certificate-from-windows",children:"Remove Certificate from Windows"}),"\n",(0,r.jsxs)(i.ol,{children:["\n",(0,r.jsxs)(i.li,{children:["Open Certificate Manager (",(0,r.jsx)(i.code,{children:"certmgr.msc"}),")"]}),"\n",(0,r.jsxs)(i.li,{children:["Navigate to ",(0,r.jsx)(i.strong,{children:'"Trusted Root Certification Authorities"'})," \u2192 ",(0,r.jsx)(i.strong,{children:'"Certificates"'})]}),"\n",(0,r.jsx)(i.li,{children:'Find "localhost" certificate'}),"\n",(0,r.jsxs)(i.li,{children:["Right-click \u2192 ",(0,r.jsx)(i.strong,{children:"Delete"})]}),"\n",(0,r.jsx)(i.li,{children:"Confirm deletion"}),"\n"]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h2,{id:"-firefox-all-platforms",children:"\ud83e\udd8a Firefox (All Platforms)"}),"\n",(0,r.jsx)(i.p,{children:"Firefox uses its own certificate store, independent of the operating system."}),"\n",(0,r.jsx)(i.h3,{id:"import-certificate-to-firefox",children:"Import Certificate to Firefox"}),"\n",(0,r.jsxs)(i.ol,{children:["\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Open Firefox Settings:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Click menu (\u2630) \u2192 ",(0,r.jsx)(i.strong,{children:"Settings"})]}),"\n",(0,r.jsxs)(i.li,{children:["Or type ",(0,r.jsx)(i.code,{children:"about:preferences"})," in the address bar"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Navigate to Privacy & Security:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Privacy & Security"'})," in the left sidebar"]}),"\n",(0,r.jsxs)(i.li,{children:["Or go directly to ",(0,r.jsx)(i.code,{children:"about:preferences#privacy"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Access Certificates:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Scroll down to the ",(0,r.jsx)(i.strong,{children:'"Security"'})," section"]}),"\n",(0,r.jsxs)(i.li,{children:["Find ",(0,r.jsx)(i.strong,{children:'"Certificates"'})," heading"]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"View Certificates..."'})," button"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Import CA Certificate:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["In the Certificate Manager window, click the ",(0,r.jsx)(i.strong,{children:'"Authorities"'})," tab"]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Import..."'})," button"]}),"\n",(0,r.jsxs)(i.li,{children:["Navigate to your ",(0,r.jsx)(i.code,{children:"certs"})," folder"]}),"\n",(0,r.jsxs)(i.li,{children:["Select ",(0,r.jsx)(i.strong,{children:(0,r.jsx)(i.code,{children:"ca-cert.pem"})})]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Open"'})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Set trust options:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["In the popup dialog, check:","\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["\u2705 ",(0,r.jsx)(i.strong,{children:'"Trust this CA to identify websites"'})]}),"\n",(0,r.jsxs)(i.li,{children:["\u2705 ",(0,r.jsx)(i.strong,{children:'"Trust this CA to identify email users"'})," (optional)"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"OK"'})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Verify import:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["In the Authorities tab, look for ",(0,r.jsx)(i.strong,{children:'"Development"'})," or organization name"]}),"\n",(0,r.jsx)(i.li,{children:'Expand it to find "localhost"'}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Close and restart Firefox"})}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"Test:"})," Visit ",(0,r.jsx)(i.code,{children:"https://localhost:8443"})," - should show secure! \ud83d\udd12"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(i.h3,{id:"remove-certificate-from-firefox",children:"Remove Certificate from Firefox"}),"\n",(0,r.jsxs)(i.ol,{children:["\n",(0,r.jsxs)(i.li,{children:["Go to ",(0,r.jsx)(i.code,{children:"about:preferences#privacy"})]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"View Certificates"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Authorities"'})," tab"]}),"\n",(0,r.jsxs)(i.li,{children:["Find ",(0,r.jsx)(i.strong,{children:'"Development"'})," \u2192 ",(0,r.jsx)(i.strong,{children:'"localhost"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Select it and click ",(0,r.jsx)(i.strong,{children:'"Delete or Distrust..."'})]}),"\n",(0,r.jsx)(i.li,{children:"Confirm deletion"}),"\n"]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h2,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,r.jsx)(i.h3,{id:"still-seeing-not-secure-warning",children:'Still seeing "Not Secure" warning?'}),"\n",(0,r.jsxs)(i.ol,{children:["\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.strong,{children:"Restart your browser"})," - Browsers cache certificate trust settings"]}),"\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.strong,{children:"Check the certificate is in login keychain"})," - Look in Keychain Access"]}),"\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.strong,{children:"Verify trust settings"}),' - Must be set to "Always Trust"']}),"\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.strong,{children:"Clear browser cache"})," - Especially SSL state"]}),"\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.strong,{children:"Check hostname"})," - Must use ",(0,r.jsx)(i.code,{children:"localhost"}),", not ",(0,r.jsx)(i.code,{children:"127.0.0.1"})]}),"\n"]}),"\n",(0,r.jsx)(i.h3,{id:"browser-not-trusting-certificate",children:"Browser not trusting certificate?"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Chrome/Edge (Windows):"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:"These browsers use the Windows certificate store"}),"\n",(0,r.jsx)(i.li,{children:'Make sure you imported to "Trusted Root Certification Authorities"'}),"\n",(0,r.jsx)(i.li,{children:"Restart the browser completely"}),"\n"]}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Chrome/Safari (macOS):"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:"These browsers use the macOS Keychain"}),"\n",(0,r.jsx)(i.li,{children:'Make sure certificate is in "login" keychain'}),"\n",(0,r.jsx)(i.li,{children:'Trust must be set to "Always Trust"'}),"\n",(0,r.jsx)(i.li,{children:"Restart the browser completely"}),"\n"]}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Firefox (All Platforms):"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:"Firefox has its own certificate store"}),"\n",(0,r.jsxs)(i.li,{children:["See ",(0,r.jsx)(i.a,{href:"#firefox-all-platforms",children:"Firefox section"})," above"]}),"\n",(0,r.jsx)(i.li,{children:"Must import the certificate directly into Firefox"}),"\n"]}),"\n",(0,r.jsx)(i.h2,{id:"certificate-details",children:"Certificate Details"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"CA Certificate (ca-cert.pem):"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:"Type: Root CA Certificate"}),"\n",(0,r.jsx)(i.li,{children:"Validity: 5 years (1825 days)"}),"\n",(0,r.jsx)(i.li,{children:"Purpose: Sign server certificates"}),"\n",(0,r.jsx)(i.li,{children:"Trust: Add to system trust store"}),"\n"]}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Server Certificate (cert.pem):"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:"Type: Server Certificate"}),"\n",(0,r.jsx)(i.li,{children:"Validity: 2+ years (825 days)"}),"\n",(0,r.jsx)(i.li,{children:"Signed by: Our CA"}),"\n",(0,r.jsx)(i.li,{children:"Hostnames: localhost, *.localhost, 127.0.0.1"}),"\n",(0,r.jsx)(i.li,{children:"Purpose: HTTPS server"}),"\n"]}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Private Keys:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.code,{children:"ca-key.pem"}),": CA private key (password protected)"]}),"\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.code,{children:"key.pem"}),": Server private key (no password for convenience)"]}),"\n"]}),"\n",(0,r.jsx)(i.h2,{id:"security-notes",children:"Security Notes"}),"\n",(0,r.jsxs)(i.p,{children:["\u26a0\ufe0f ",(0,r.jsx)(i.strong,{children:"These certificates are for local development only!"})]}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:"Never use these certificates in production"}),"\n",(0,r.jsxs)(i.li,{children:["Keep ",(0,r.jsx)(i.code,{children:"ca-key.pem"})," secure (it can sign certificates)"]}),"\n",(0,r.jsxs)(i.li,{children:["The CA password is: ",(0,r.jsx)(i.code,{children:"uiplatform"})," (change if needed)"]}),"\n",(0,r.jsx)(i.li,{children:"Don't commit private keys to version control"}),"\n",(0,r.jsxs)(i.li,{children:["Add to ",(0,r.jsx)(i.code,{children:".gitignore"}),": ",(0,r.jsx)(i.code,{children:"*.pem"}),", ",(0,r.jsx)(i.code,{children:"*.key"})]}),"\n"]}),"\n",(0,r.jsx)(i.h2,{id:"regenerate-certificates",children:"Regenerate Certificates"}),"\n",(0,r.jsx)(i.p,{children:"If you need to regenerate the certificates:"}),"\n",(0,r.jsx)(i.pre,{children:(0,r.jsx)(i.code,{className:"language-bash",children:"cd ssl\n./generate-certs.sh\n"})}),"\n",(0,r.jsx)(i.p,{children:"Then re-trust the new CA certificate using the steps above."})]})}function a(e={}){const{wrapper:i}={...(0,l.R)(),...e.components};return i?(0,r.jsx)(i,{...e,children:(0,r.jsx)(h,{...e})}):h(e)}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[2113],{4202(s,e,t){t.r(e),t.d(e,{assets:()=>d,contentTitle:()=>r,default:()=>x,frontMatter:()=>l,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"api/variables/lintStagedConfig","title":"lintStagedConfig","description":"Type Declaration","source":"@site/docs/api/variables/lintStagedConfig.md","sourceDirName":"api/variables","slug":"/api/variables/lintStagedConfig","permalink":"/cli/api/variables/lintStagedConfig","draft":false,"unlisted":false,"editUrl":"https://github.com/intcx/PLATFORM-UI.pui-cli.git/docs/api/variables/lintStagedConfig.md","tags":[],"version":"current","frontMatter":{},"sidebar":"docsSidebar","previous":{"title":"jestNodeConfig","permalink":"/cli/api/variables/jestNodeConfig"},"next":{"title":"prettierConfig","permalink":"/cli/api/variables/prettierConfig"}}');var n=t(6070),a=t(5676);const l={},r="lintStagedConfig",d={},c=[{value:"Type Declaration",id:"type-declaration",level:2},{value:"*.{js,ts,jsx,tsx,md,mdx,html,css,json}",id:"jstsjsxtsxmdmdxhtmlcssjson",level:4},{value:"*.{js,ts,jsx,tsx}",id:"jstsjsxtsx",level:4},{value:"*.{ts,tsx}",id:"tstsx",level:4}];function o(s){const e={code:"code",h1:"h1",h2:"h2",h4:"h4",header:"header",pre:"pre",...(0,a.R)(),...s.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.header,{children:(0,n.jsx)(e.h1,{id:"lintstagedconfig",children:"lintStagedConfig"})}),"\n",(0,n.jsx)(e.pre,{children:(0,n.jsx)(e.code,{className:"language-ts",children:"const lintStagedConfig: {\n *.{js,ts,jsx,tsx,md,mdx,html,css,json}: string[];\n *.{js,ts,jsx,tsx}: string[];\n *.{ts,tsx}: string[];\n};\n"})}),"\n",(0,n.jsx)(e.h2,{id:"type-declaration",children:"Type Declaration"}),"\n",(0,n.jsx)(e.h4,{id:"jstsjsxtsxmdmdxhtmlcssjson",children:"*.{js,ts,jsx,tsx,md,mdx,html,css,json}"}),"\n",(0,n.jsx)(e.pre,{children:(0,n.jsx)(e.code,{className:"language-ts",children:"*.{js,ts,jsx,tsx,md,mdx,html,css,json}: string[];\n"})}),"\n",(0,n.jsx)(e.h4,{id:"jstsjsxtsx",children:"*.{js,ts,jsx,tsx}"}),"\n",(0,n.jsx)(e.pre,{children:(0,n.jsx)(e.code,{className:"language-ts",children:"*.{js,ts,jsx,tsx}: string[];\n"})}),"\n",(0,n.jsx)(e.h4,{id:"tstsx",children:"*.{ts,tsx}"}),"\n",(0,n.jsx)(e.pre,{children:(0,n.jsx)(e.code,{className:"language-ts",children:"*.{ts,tsx}: string[];\n"})})]})}function x(s={}){const{wrapper:e}={...(0,a.R)(),...s.components};return e?(0,n.jsx)(e,{...s,children:(0,n.jsx)(o,{...s})}):o(s)}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[6688],{445(e,n,s){s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>t,default:()=>m,frontMatter:()=>i,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"api/variables/jestNodeConfig","title":"jestNodeConfig","description":"Type Declaration","source":"@site/docs/api/variables/jestNodeConfig.md","sourceDirName":"api/variables","slug":"/api/variables/jestNodeConfig","permalink":"/cli/api/variables/jestNodeConfig","draft":false,"unlisted":false,"editUrl":"https://github.com/intcx/PLATFORM-UI.pui-cli.git/docs/api/variables/jestNodeConfig.md","tags":[],"version":"current","frontMatter":{},"sidebar":"docsSidebar","previous":{"title":"jestConfig","permalink":"/cli/api/variables/jestConfig"},"next":{"title":"lintStagedConfig","permalink":"/cli/api/variables/lintStagedConfig"}}');var a=s(6070),l=s(5676);const i={},t="jestNodeConfig",o={},d=[{value:"Type Declaration",id:"type-declaration",level:2},{value:"collectCoverageFrom",id:"collectcoveragefrom",level:3},{value:"coverageDirectory",id:"coveragedirectory",level:3},{value:"coverageReporters",id:"coveragereporters",level:3},{value:"coverageThreshold",id:"coveragethreshold",level:3},{value:"globals",id:"globals",level:3},{value:"globals.__webpack_public_path__",id:"globals__webpack_public_path__",level:4},{value:"globals.APP_CONFIG",id:"globalsapp_config",level:4},{value:"moduleDirectories",id:"moduledirectories",level:3},{value:"moduleFileExtensions",id:"modulefileextensions",level:3},{value:"moduleNameMapper",id:"modulenamemapper",level:3},{value:"moduleNameMapper..*.(css|scss)$",id:"modulenamemappercssscss",level:4},{value:"moduleNameMapper..*.(jpg|jpeg|png|gif|eot|otf|webp|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga|ico)$",id:"modulenamemapperjpgjpegpnggifeototfwebpttfwoffwoff2mp4webmwavmp3m4aaacogaico",level:4},{value:"moduleNameMapper..*.html(?:?[a-zA-Z]+)?$",id:"modulenamemapperhtmla-za-z",level:4},{value:"moduleNameMapper..*.svg(?:?[a-zA-Z]+)?$",id:"modulenamemappersvga-za-z",level:4},{value:"moduleNameMapper..*\\webpack-hmr(.[t|j]s)?$",id:"modulenamemapperwebpack-hmrtjs",level:4},{value:"moduleNameMapper..*frame.html(?:?[a-zA-Z]+)?$",id:"modulenamemapperframehtmla-za-z",level:4},{value:"moduleNameMapper..*iframe.html(?:?[a-zA-Z]+)?$",id:"modulenamemapperiframehtmla-za-z",level:4},{value:"moduleNameMapper.@elliemae/pui-app-loader",id:"modulenamemapperelliemaepui-app-loader",level:4},{value:"moduleNameMapper.@elliemae/pui-diagnostics",id:"modulenamemapperelliemaepui-diagnostics",level:4},{value:"moduleNameMapper.@elliemae/pui-logrocket",id:"modulenamemapperelliemaepui-logrocket",level:4},{value:"moduleNameMapper.@elliemae/pui-user-monitoring",id:"modulenamemapperelliemaepui-user-monitoring",level:4},{value:"moduleNameMapper.^d3-(.*)$",id:"modulenamemapperd3-",level:4},{value:"moduleNameMapper.d3",id:"modulenamemapperd3",level:4},{value:"moduleNameMapper.react-spring/renderprops",id:"modulenamemapperreact-springrenderprops",level:4},{value:"moduleNameMapper.react-spring/web",id:"modulenamemapperreact-springweb",level:4},{value:"resolver",id:"resolver",level:3},{value:"setupFiles",id:"setupfiles",level:3},{value:"setupFilesAfterEnv",id:"setupfilesafterenv",level:3},{value:"snapshotSerializers",id:"snapshotserializers",level:3},{value:"testEnvironment",id:"testenvironment",level:3},{value:"testEnvironmentOptions",id:"testenvironmentoptions",level:3},{value:"testEnvironmentOptions.resources",id:"testenvironmentoptionsresources",level:4},{value:"testEnvironmentOptions.url",id:"testenvironmentoptionsurl",level:4},{value:"testRegex",id:"testregex",level:3},{value:"testResultsProcessor",id:"testresultsprocessor",level:3},{value:"testTimeout",id:"testtimeout",level:3},{value:"transform",id:"transform",level:3},{value:"transform.^.+.[jt]sx?$",id:"transformjtsx",level:4},{value:"transformIgnorePatterns",id:"transformignorepatterns",level:3},{value:"watchPlugins",id:"watchplugins",level:3}];function p(e){const n={code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",pre:"pre",...(0,l.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.header,{children:(0,a.jsx)(n.h1,{id:"jestnodeconfig",children:"jestNodeConfig"})}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"jestNodeConfig: {\n collectCoverageFrom: string[];\n coverageDirectory: string;\n coverageReporters: string[];\n coverageThreshold: {\n };\n globals: {\n __webpack_public_path__: string;\n APP_CONFIG: string | NonSharedBuffer;\n };\n moduleDirectories: string[];\n moduleFileExtensions: string[];\n moduleNameMapper: {\n .*\\.(css|scss)$: string;\n .*\\.(jpg|jpeg|png|gif|eot|otf|webp|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga|ico)$: string;\n .*\\.html(?:\\?[a-zA-Z]+)?$: string;\n .*\\.svg(?:\\?[a-zA-Z]+)?$: string;\n .*\\webpack-hmr(.[t|j]s)?$: string;\n .*frame\\.html(?:\\?[a-zA-Z]+)?$: string;\n .*iframe\\.html(?:\\?[a-zA-Z]+)?$: string;\n @elliemae/pui-app-loader: string;\n @elliemae/pui-diagnostics: string;\n @elliemae/pui-logrocket: string;\n @elliemae/pui-user-monitoring: string;\n ^d3-(.*)$: string;\n d3: string;\n react-spring/renderprops: string;\n react-spring/web: string;\n };\n resolver: string;\n setupFiles: never[];\n setupFilesAfterEnv: never[];\n snapshotSerializers: never[];\n testEnvironment: string;\n testEnvironmentOptions: {\n resources: string;\n url: string;\n };\n testRegex: string;\n testResultsProcessor: string;\n testTimeout: number;\n transform: {\n ^.+\\.[jt]sx?$: any[];\n };\n transformIgnorePatterns: never[];\n watchPlugins: string[];\n};\n"})}),"\n",(0,a.jsx)(n.h2,{id:"type-declaration",children:"Type Declaration"}),"\n",(0,a.jsx)(n.h3,{id:"collectcoveragefrom",children:"collectCoverageFrom"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"collectCoverageFrom: string[];\n"})}),"\n",(0,a.jsx)(n.h3,{id:"coveragedirectory",children:"coverageDirectory"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"coverageDirectory: string = 'reports';\n"})}),"\n",(0,a.jsx)(n.h3,{id:"coveragereporters",children:"coverageReporters"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"coverageReporters: string[];\n"})}),"\n",(0,a.jsx)(n.h3,{id:"coveragethreshold",children:"coverageThreshold"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"coverageThreshold: {\n} = {};\n"})}),"\n",(0,a.jsx)(n.h3,{id:"globals",children:"globals"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"globals: {\n __webpack_public_path__: string;\n APP_CONFIG: string | NonSharedBuffer;\n};\n"})}),"\n",(0,a.jsx)(n.h4,{id:"globals__webpack_public_path__",children:"globals.__webpack_public_path__"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"__webpack_public_path__: string = '/';\n"})}),"\n",(0,a.jsx)(n.h4,{id:"globalsapp_config",children:"globals.APP_CONFIG"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"APP_CONFIG: string | NonSharedBuffer;\n"})}),"\n",(0,a.jsx)(n.h3,{id:"moduledirectories",children:"moduleDirectories"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"moduleDirectories: string[];\n"})}),"\n",(0,a.jsx)(n.h3,{id:"modulefileextensions",children:"moduleFileExtensions"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"moduleFileExtensions: string[];\n"})}),"\n",(0,a.jsx)(n.h3,{id:"modulenamemapper",children:"moduleNameMapper"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"moduleNameMapper: {\n .*\\.(css|scss)$: string;\n .*\\.(jpg|jpeg|png|gif|eot|otf|webp|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga|ico)$: string;\n .*\\.html(?:\\?[a-zA-Z]+)?$: string;\n .*\\.svg(?:\\?[a-zA-Z]+)?$: string;\n .*\\webpack-hmr(.[t|j]s)?$: string;\n .*frame\\.html(?:\\?[a-zA-Z]+)?$: string;\n .*iframe\\.html(?:\\?[a-zA-Z]+)?$: string;\n @elliemae/pui-app-loader: string;\n @elliemae/pui-diagnostics: string;\n @elliemae/pui-logrocket: string;\n @elliemae/pui-user-monitoring: string;\n ^d3-(.*)$: string;\n d3: string;\n react-spring/renderprops: string;\n react-spring/web: string;\n};\n"})}),"\n",(0,a.jsx)(n.h4,{id:"modulenamemappercssscss",children:"moduleNameMapper..*.(css|scss)$"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:".*\\.(css|scss)$: string;\n"})}),"\n",(0,a.jsx)(n.h4,{id:"modulenamemapperjpgjpegpnggifeototfwebpttfwoffwoff2mp4webmwavmp3m4aaacogaico",children:"moduleNameMapper..*.(jpg|jpeg|png|gif|eot|otf|webp|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga|ico)$"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:".*\\.(jpg|jpeg|png|gif|eot|otf|webp|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga|ico)$: string;\n"})}),"\n",(0,a.jsx)(n.h4,{id:"modulenamemapperhtmla-za-z",children:"moduleNameMapper..*.html(?:?[a-zA-Z]+)?$"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:".*\\.html(?:\\?[a-zA-Z]+)?$: string;\n"})}),"\n",(0,a.jsx)(n.h4,{id:"modulenamemappersvga-za-z",children:"moduleNameMapper..*.svg(?:?[a-zA-Z]+)?$"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:".*\\.svg(?:\\?[a-zA-Z]+)?$: string;\n"})}),"\n",(0,a.jsx)(n.h4,{id:"modulenamemapperwebpack-hmrtjs",children:"moduleNameMapper..*\\webpack-hmr(.[t|j]s)?$"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:".*\\webpack-hmr(.[t|j]s)?$: string;\n"})}),"\n",(0,a.jsx)(n.h4,{id:"modulenamemapperframehtmla-za-z",children:"moduleNameMapper..*frame.html(?:?[a-zA-Z]+)?$"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:".*frame\\.html(?:\\?[a-zA-Z]+)?$: string;\n"})}),"\n",(0,a.jsx)(n.h4,{id:"modulenamemapperiframehtmla-za-z",children:"moduleNameMapper..*iframe.html(?:?[a-zA-Z]+)?$"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:".*iframe\\.html(?:\\?[a-zA-Z]+)?$: string;\n"})}),"\n",(0,a.jsx)(n.h4,{id:"modulenamemapperelliemaepui-app-loader",children:"moduleNameMapper.@elliemae/pui-app-loader"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"@elliemae/pui-app-loader: string;\n"})}),"\n",(0,a.jsx)(n.h4,{id:"modulenamemapperelliemaepui-diagnostics",children:"moduleNameMapper.@elliemae/pui-diagnostics"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"@elliemae/pui-diagnostics: string;\n"})}),"\n",(0,a.jsx)(n.h4,{id:"modulenamemapperelliemaepui-logrocket",children:"moduleNameMapper.@elliemae/pui-logrocket"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"@elliemae/pui-logrocket: string;\n"})}),"\n",(0,a.jsx)(n.h4,{id:"modulenamemapperelliemaepui-user-monitoring",children:"moduleNameMapper.@elliemae/pui-user-monitoring"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"@elliemae/pui-user-monitoring: string;\n"})}),"\n",(0,a.jsx)(n.h4,{id:"modulenamemapperd3-",children:"moduleNameMapper.^d3-(.*)$"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"^d3-(.*)$: string = '<rootDir>/node_modules/d3-$1/dist/d3-$1.min.js';\n"})}),"\n",(0,a.jsx)(n.h4,{id:"modulenamemapperd3",children:"moduleNameMapper.d3"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"d3: string = '<rootDir>/node_modules/d3/dist/d3.min.js';\n"})}),"\n",(0,a.jsx)(n.h4,{id:"modulenamemapperreact-springrenderprops",children:"moduleNameMapper.react-spring/renderprops"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"react-spring/renderprops: string;\n"})}),"\n",(0,a.jsx)(n.h4,{id:"modulenamemapperreact-springweb",children:"moduleNameMapper.react-spring/web"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"react-spring/web: string;\n"})}),"\n",(0,a.jsx)(n.h3,{id:"resolver",children:"resolver"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"resolver: string;\n"})}),"\n",(0,a.jsx)(n.h3,{id:"setupfiles",children:"setupFiles"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"setupFiles: never[] = [];\n"})}),"\n",(0,a.jsx)(n.h3,{id:"setupfilesafterenv",children:"setupFilesAfterEnv"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"setupFilesAfterEnv: never[] = [];\n"})}),"\n",(0,a.jsx)(n.h3,{id:"snapshotserializers",children:"snapshotSerializers"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"snapshotSerializers: never[] = [];\n"})}),"\n",(0,a.jsx)(n.h3,{id:"testenvironment",children:"testEnvironment"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"testEnvironment: string = 'node';\n"})}),"\n",(0,a.jsx)(n.h3,{id:"testenvironmentoptions",children:"testEnvironmentOptions"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"testEnvironmentOptions: {\n resources: string;\n url: string;\n};\n"})}),"\n",(0,a.jsx)(n.h4,{id:"testenvironmentoptionsresources",children:"testEnvironmentOptions.resources"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"resources: string = 'usable';\n"})}),"\n",(0,a.jsx)(n.h4,{id:"testenvironmentoptionsurl",children:"testEnvironmentOptions.url"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"url: string;\n"})}),"\n",(0,a.jsx)(n.h3,{id:"testregex",children:"testRegex"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"testRegex: string = '(app|lib).*/tests/.*\\.test\\.[jt]sx?$';\n"})}),"\n",(0,a.jsx)(n.h3,{id:"testresultsprocessor",children:"testResultsProcessor"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"testResultsProcessor: string = 'jest-sonar-reporter';\n"})}),"\n",(0,a.jsx)(n.h3,{id:"testtimeout",children:"testTimeout"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"testTimeout: number = 5000;\n"})}),"\n",(0,a.jsx)(n.h3,{id:"transform",children:"transform"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"transform: {\n ^.+\\.[jt]sx?$: any[];\n};\n"})}),"\n",(0,a.jsx)(n.h4,{id:"transformjtsx",children:"transform.^.+.[jt]sx?$"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"^.+\\.[jt]sx?$: any[];\n"})}),"\n",(0,a.jsx)(n.h3,{id:"transformignorepatterns",children:"transformIgnorePatterns"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"transformIgnorePatterns: never[] = [];\n"})}),"\n",(0,a.jsx)(n.h3,{id:"watchplugins",children:"watchPlugins"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"watchPlugins: string[];\n"})})]})}function m(e={}){const{wrapper:n}={...(0,l.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(p,{...e})}):p(e)}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[3891],{9628(e,n,s){s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>t,default:()=>m,frontMatter:()=>i,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"api/variables/jestConfig","title":"jestConfig","description":"Type Declaration","source":"@site/docs/api/variables/jestConfig.md","sourceDirName":"api/variables","slug":"/api/variables/jestConfig","permalink":"/cli/api/variables/jestConfig","draft":false,"unlisted":false,"editUrl":"https://github.com/intcx/PLATFORM-UI.pui-cli.git/docs/api/variables/jestConfig.md","tags":[],"version":"current","frontMatter":{},"sidebar":"docsSidebar","previous":{"title":"eslintConfig","permalink":"/cli/api/variables/eslintConfig"},"next":{"title":"jestNodeConfig","permalink":"/cli/api/variables/jestNodeConfig"}}');var a=s(6070),l=s(5676);const i={},t="jestConfig",o={},d=[{value:"Type Declaration",id:"type-declaration",level:2},{value:"collectCoverageFrom",id:"collectcoveragefrom",level:3},{value:"coverageDirectory",id:"coveragedirectory",level:3},{value:"coverageReporters",id:"coveragereporters",level:3},{value:"coverageThreshold",id:"coveragethreshold",level:3},{value:"globals",id:"globals",level:3},{value:"globals.__webpack_public_path__",id:"globals__webpack_public_path__",level:4},{value:"globals.APP_CONFIG",id:"globalsapp_config",level:4},{value:"moduleDirectories",id:"moduledirectories",level:3},{value:"moduleFileExtensions",id:"modulefileextensions",level:3},{value:"moduleNameMapper",id:"modulenamemapper",level:3},{value:"moduleNameMapper..*.(css|scss)$",id:"modulenamemappercssscss",level:4},{value:"moduleNameMapper..*.(jpg|jpeg|png|gif|eot|otf|webp|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga|ico)$",id:"modulenamemapperjpgjpegpnggifeototfwebpttfwoffwoff2mp4webmwavmp3m4aaacogaico",level:4},{value:"moduleNameMapper..*.html(?:?[a-zA-Z]+)?$",id:"modulenamemapperhtmla-za-z",level:4},{value:"moduleNameMapper..*.svg(?:?[a-zA-Z]+)?$",id:"modulenamemappersvga-za-z",level:4},{value:"moduleNameMapper..*\\webpack-hmr(.[t|j]s)?$",id:"modulenamemapperwebpack-hmrtjs",level:4},{value:"moduleNameMapper..*frame.html(?:?[a-zA-Z]+)?$",id:"modulenamemapperframehtmla-za-z",level:4},{value:"moduleNameMapper..*iframe.html(?:?[a-zA-Z]+)?$",id:"modulenamemapperiframehtmla-za-z",level:4},{value:"moduleNameMapper.@elliemae/pui-app-loader",id:"modulenamemapperelliemaepui-app-loader",level:4},{value:"moduleNameMapper.@elliemae/pui-diagnostics",id:"modulenamemapperelliemaepui-diagnostics",level:4},{value:"moduleNameMapper.@elliemae/pui-logrocket",id:"modulenamemapperelliemaepui-logrocket",level:4},{value:"moduleNameMapper.@elliemae/pui-user-monitoring",id:"modulenamemapperelliemaepui-user-monitoring",level:4},{value:"moduleNameMapper.^d3-(.*)$",id:"modulenamemapperd3-",level:4},{value:"moduleNameMapper.d3",id:"modulenamemapperd3",level:4},{value:"moduleNameMapper.react-spring/renderprops",id:"modulenamemapperreact-springrenderprops",level:4},{value:"moduleNameMapper.react-spring/web",id:"modulenamemapperreact-springweb",level:4},{value:"resolver",id:"resolver",level:3},{value:"setupFiles",id:"setupfiles",level:3},{value:"setupFilesAfterEnv",id:"setupfilesafterenv",level:3},{value:"snapshotSerializers",id:"snapshotserializers",level:3},{value:"testEnvironment",id:"testenvironment",level:3},{value:"testEnvironmentOptions",id:"testenvironmentoptions",level:3},{value:"testEnvironmentOptions.resources",id:"testenvironmentoptionsresources",level:4},{value:"testEnvironmentOptions.url",id:"testenvironmentoptionsurl",level:4},{value:"testRegex",id:"testregex",level:3},{value:"testResultsProcessor",id:"testresultsprocessor",level:3},{value:"testTimeout",id:"testtimeout",level:3},{value:"transform",id:"transform",level:3},{value:"transform.^.+.[jt]sx?$",id:"transformjtsx",level:4},{value:"transformIgnorePatterns",id:"transformignorepatterns",level:3},{value:"watchPlugins",id:"watchplugins",level:3}];function p(e){const n={code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",pre:"pre",...(0,l.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.header,{children:(0,a.jsx)(n.h1,{id:"jestconfig",children:"jestConfig"})}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"const jestConfig: {\n collectCoverageFrom: string[];\n coverageDirectory: string;\n coverageReporters: string[];\n coverageThreshold: {\n };\n globals: {\n __webpack_public_path__: string;\n APP_CONFIG: string | NonSharedBuffer;\n };\n moduleDirectories: string[];\n moduleFileExtensions: string[];\n moduleNameMapper: {\n .*\\.(css|scss)$: string;\n .*\\.(jpg|jpeg|png|gif|eot|otf|webp|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga|ico)$: string;\n .*\\.html(?:\\?[a-zA-Z]+)?$: string;\n .*\\.svg(?:\\?[a-zA-Z]+)?$: string;\n .*\\webpack-hmr(.[t|j]s)?$: string;\n .*frame\\.html(?:\\?[a-zA-Z]+)?$: string;\n .*iframe\\.html(?:\\?[a-zA-Z]+)?$: string;\n @elliemae/pui-app-loader: string;\n @elliemae/pui-diagnostics: string;\n @elliemae/pui-logrocket: string;\n @elliemae/pui-user-monitoring: string;\n ^d3-(.*)$: string;\n d3: string;\n react-spring/renderprops: string;\n react-spring/web: string;\n };\n resolver: string;\n setupFiles: string[];\n setupFilesAfterEnv: string[];\n snapshotSerializers: never[];\n testEnvironment: string;\n testEnvironmentOptions: {\n resources: string;\n url: string;\n };\n testRegex: string;\n testResultsProcessor: string;\n testTimeout: number;\n transform: {\n ^.+\\.[jt]sx?$: any[];\n };\n transformIgnorePatterns: string[];\n watchPlugins: string[];\n};\n"})}),"\n",(0,a.jsx)(n.h2,{id:"type-declaration",children:"Type Declaration"}),"\n",(0,a.jsx)(n.h3,{id:"collectcoveragefrom",children:"collectCoverageFrom"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"collectCoverageFrom: string[];\n"})}),"\n",(0,a.jsx)(n.h3,{id:"coveragedirectory",children:"coverageDirectory"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"coverageDirectory: string = 'reports';\n"})}),"\n",(0,a.jsx)(n.h3,{id:"coveragereporters",children:"coverageReporters"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"coverageReporters: string[];\n"})}),"\n",(0,a.jsx)(n.h3,{id:"coveragethreshold",children:"coverageThreshold"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"coverageThreshold: {\n} = {};\n"})}),"\n",(0,a.jsx)(n.h3,{id:"globals",children:"globals"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"globals: {\n __webpack_public_path__: string;\n APP_CONFIG: string | NonSharedBuffer;\n};\n"})}),"\n",(0,a.jsx)(n.h4,{id:"globals__webpack_public_path__",children:"globals.__webpack_public_path__"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"__webpack_public_path__: string = '/';\n"})}),"\n",(0,a.jsx)(n.h4,{id:"globalsapp_config",children:"globals.APP_CONFIG"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"APP_CONFIG: string | NonSharedBuffer;\n"})}),"\n",(0,a.jsx)(n.h3,{id:"moduledirectories",children:"moduleDirectories"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"moduleDirectories: string[];\n"})}),"\n",(0,a.jsx)(n.h3,{id:"modulefileextensions",children:"moduleFileExtensions"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"moduleFileExtensions: string[];\n"})}),"\n",(0,a.jsx)(n.h3,{id:"modulenamemapper",children:"moduleNameMapper"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"moduleNameMapper: {\n .*\\.(css|scss)$: string;\n .*\\.(jpg|jpeg|png|gif|eot|otf|webp|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga|ico)$: string;\n .*\\.html(?:\\?[a-zA-Z]+)?$: string;\n .*\\.svg(?:\\?[a-zA-Z]+)?$: string;\n .*\\webpack-hmr(.[t|j]s)?$: string;\n .*frame\\.html(?:\\?[a-zA-Z]+)?$: string;\n .*iframe\\.html(?:\\?[a-zA-Z]+)?$: string;\n @elliemae/pui-app-loader: string;\n @elliemae/pui-diagnostics: string;\n @elliemae/pui-logrocket: string;\n @elliemae/pui-user-monitoring: string;\n ^d3-(.*)$: string;\n d3: string;\n react-spring/renderprops: string;\n react-spring/web: string;\n};\n"})}),"\n",(0,a.jsx)(n.h4,{id:"modulenamemappercssscss",children:"moduleNameMapper..*.(css|scss)$"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:".*\\.(css|scss)$: string;\n"})}),"\n",(0,a.jsx)(n.h4,{id:"modulenamemapperjpgjpegpnggifeototfwebpttfwoffwoff2mp4webmwavmp3m4aaacogaico",children:"moduleNameMapper..*.(jpg|jpeg|png|gif|eot|otf|webp|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga|ico)$"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:".*\\.(jpg|jpeg|png|gif|eot|otf|webp|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga|ico)$: string;\n"})}),"\n",(0,a.jsx)(n.h4,{id:"modulenamemapperhtmla-za-z",children:"moduleNameMapper..*.html(?:?[a-zA-Z]+)?$"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:".*\\.html(?:\\?[a-zA-Z]+)?$: string;\n"})}),"\n",(0,a.jsx)(n.h4,{id:"modulenamemappersvga-za-z",children:"moduleNameMapper..*.svg(?:?[a-zA-Z]+)?$"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:".*\\.svg(?:\\?[a-zA-Z]+)?$: string;\n"})}),"\n",(0,a.jsx)(n.h4,{id:"modulenamemapperwebpack-hmrtjs",children:"moduleNameMapper..*\\webpack-hmr(.[t|j]s)?$"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:".*\\webpack-hmr(.[t|j]s)?$: string;\n"})}),"\n",(0,a.jsx)(n.h4,{id:"modulenamemapperframehtmla-za-z",children:"moduleNameMapper..*frame.html(?:?[a-zA-Z]+)?$"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:".*frame\\.html(?:\\?[a-zA-Z]+)?$: string;\n"})}),"\n",(0,a.jsx)(n.h4,{id:"modulenamemapperiframehtmla-za-z",children:"moduleNameMapper..*iframe.html(?:?[a-zA-Z]+)?$"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:".*iframe\\.html(?:\\?[a-zA-Z]+)?$: string;\n"})}),"\n",(0,a.jsx)(n.h4,{id:"modulenamemapperelliemaepui-app-loader",children:"moduleNameMapper.@elliemae/pui-app-loader"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"@elliemae/pui-app-loader: string;\n"})}),"\n",(0,a.jsx)(n.h4,{id:"modulenamemapperelliemaepui-diagnostics",children:"moduleNameMapper.@elliemae/pui-diagnostics"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"@elliemae/pui-diagnostics: string;\n"})}),"\n",(0,a.jsx)(n.h4,{id:"modulenamemapperelliemaepui-logrocket",children:"moduleNameMapper.@elliemae/pui-logrocket"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"@elliemae/pui-logrocket: string;\n"})}),"\n",(0,a.jsx)(n.h4,{id:"modulenamemapperelliemaepui-user-monitoring",children:"moduleNameMapper.@elliemae/pui-user-monitoring"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"@elliemae/pui-user-monitoring: string;\n"})}),"\n",(0,a.jsx)(n.h4,{id:"modulenamemapperd3-",children:"moduleNameMapper.^d3-(.*)$"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"^d3-(.*)$: string = '<rootDir>/node_modules/d3-$1/dist/d3-$1.min.js';\n"})}),"\n",(0,a.jsx)(n.h4,{id:"modulenamemapperd3",children:"moduleNameMapper.d3"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"d3: string = '<rootDir>/node_modules/d3/dist/d3.min.js';\n"})}),"\n",(0,a.jsx)(n.h4,{id:"modulenamemapperreact-springrenderprops",children:"moduleNameMapper.react-spring/renderprops"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"react-spring/renderprops: string;\n"})}),"\n",(0,a.jsx)(n.h4,{id:"modulenamemapperreact-springweb",children:"moduleNameMapper.react-spring/web"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"react-spring/web: string;\n"})}),"\n",(0,a.jsx)(n.h3,{id:"resolver",children:"resolver"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"resolver: string;\n"})}),"\n",(0,a.jsx)(n.h3,{id:"setupfiles",children:"setupFiles"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"setupFiles: string[];\n"})}),"\n",(0,a.jsx)(n.h3,{id:"setupfilesafterenv",children:"setupFilesAfterEnv"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"setupFilesAfterEnv: string[];\n"})}),"\n",(0,a.jsx)(n.h3,{id:"snapshotserializers",children:"snapshotSerializers"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"snapshotSerializers: never[] = [];\n"})}),"\n",(0,a.jsx)(n.h3,{id:"testenvironment",children:"testEnvironment"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"testEnvironment: string = 'jsdom';\n"})}),"\n",(0,a.jsx)(n.h3,{id:"testenvironmentoptions",children:"testEnvironmentOptions"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"testEnvironmentOptions: {\n resources: string;\n url: string;\n};\n"})}),"\n",(0,a.jsx)(n.h4,{id:"testenvironmentoptionsresources",children:"testEnvironmentOptions.resources"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"resources: string = 'usable';\n"})}),"\n",(0,a.jsx)(n.h4,{id:"testenvironmentoptionsurl",children:"testEnvironmentOptions.url"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"url: string;\n"})}),"\n",(0,a.jsx)(n.h3,{id:"testregex",children:"testRegex"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"testRegex: string = '(app|lib).*/tests/.*\\.test\\.[jt]sx?$';\n"})}),"\n",(0,a.jsx)(n.h3,{id:"testresultsprocessor",children:"testResultsProcessor"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"testResultsProcessor: string = 'jest-sonar-reporter';\n"})}),"\n",(0,a.jsx)(n.h3,{id:"testtimeout",children:"testTimeout"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"testTimeout: number = 5000;\n"})}),"\n",(0,a.jsx)(n.h3,{id:"transform",children:"transform"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"transform: {\n ^.+\\.[jt]sx?$: any[];\n};\n"})}),"\n",(0,a.jsx)(n.h4,{id:"transformjtsx",children:"transform.^.+.[jt]sx?$"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"^.+\\.[jt]sx?$: any[];\n"})}),"\n",(0,a.jsx)(n.h3,{id:"transformignorepatterns",children:"transformIgnorePatterns"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"transformIgnorePatterns: string[];\n"})}),"\n",(0,a.jsx)(n.h3,{id:"watchplugins",children:"watchPlugins"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"watchPlugins: string[];\n"})})]})}function m(e={}){const{wrapper:n}={...(0,l.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(p,{...e})}):p(e)}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[4676],{5353(n,e,i){i.r(e),i.d(e,{assets:()=>o,contentTitle:()=>a,default:()=>p,frontMatter:()=>t,metadata:()=>s,toc:()=>g});const s=JSON.parse('{"id":"api/variables/babelConfig","title":"babelConfig","description":"Type Declaration","source":"@site/docs/api/variables/babelConfig.md","sourceDirName":"api/variables","slug":"/api/variables/babelConfig","permalink":"/cli/api/variables/babelConfig","draft":false,"unlisted":false,"editUrl":"https://github.com/intcx/PLATFORM-UI.pui-cli.git/docs/api/variables/babelConfig.md","tags":[],"version":"current","frontMatter":{},"sidebar":"docsSidebar","previous":{"title":"LIB\\\\_NAME","permalink":"/cli/api/type-aliases/LIB_NAME"},"next":{"title":"commitlintConfig","permalink":"/cli/api/variables/commitlintConfig"}}');var l=i(6070),r=i(5676);const t={},a="babelConfig",o={},g=[{value:"Type Declaration",id:"type-declaration",level:2},{value:"env",id:"env",level:3},{value:"env.development",id:"envdevelopment",level:4},{value:"env.development.plugins",id:"envdevelopmentplugins",level:4},{value:"env.production",id:"envproduction",level:4},{value:"env.production.plugins",id:"envproductionplugins",level:4},{value:"env.test",id:"envtest",level:4},{value:"env.test.plugins",id:"envtestplugins",level:4},{value:"ignore",id:"ignore",level:3},{value:"plugins",id:"plugins",level:3},{value:"presets",id:"presets",level:3},{value:"sourceType",id:"sourcetype",level:3}];function d(n){const e={code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",pre:"pre",...(0,r.R)(),...n.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(e.header,{children:(0,l.jsx)(e.h1,{id:"babelconfig",children:"babelConfig"})}),"\n",(0,l.jsx)(e.pre,{children:(0,l.jsx)(e.code,{className:"language-ts",children:"const babelConfig: {\n env: {\n development: {\n plugins: (\n | string\n | (\n | string\n | {\n displayName: boolean;\n })[])[];\n };\n production: {\n plugins: (\n | string\n | (\n | string\n | {\n displayName: boolean;\n pure: boolean;\n })[]\n | (\n | string\n | {\n exclude: string[];\n })[])[];\n };\n test: {\n plugins: (\n | string\n | (\n | string\n | {\n displayName: boolean;\n })[]\n | (\n | string\n | {\n identifiers: {\n end: string;\n start: string;\n }[];\n requireDirective: boolean;\n })[])[];\n };\n };\n ignore: RegExp[];\n plugins: (\n | string\n | (\n | string\n | {\n alias: {\n @: string;\n };\n stripExtensions: never[];\n })[]\n | (\n | string\n | {\n displayName: boolean;\n })[]\n | (\n | string\n | {\n regenerator: boolean;\n })[])[];\n presets: (\n | string\n | (\n | string\n | {\n modules: string | boolean;\n targets: {\n node: string;\n };\n }\n | {\n corejs: {\n proposals: boolean;\n version: string;\n };\n modules: string | boolean;\n useBuiltIns: string;\n })[]\n | (\n | string\n | {\n runtime: string;\n })[])[];\n sourceType: string;\n};\n"})}),"\n",(0,l.jsx)(e.h2,{id:"type-declaration",children:"Type Declaration"}),"\n",(0,l.jsx)(e.h3,{id:"env",children:"env"}),"\n",(0,l.jsx)(e.pre,{children:(0,l.jsx)(e.code,{className:"language-ts",children:"env: {\n development: {\n plugins: (\n | string\n | (\n | string\n | {\n displayName: boolean;\n })[])[];\n };\n production: {\n plugins: (\n | string\n | (\n | string\n | {\n displayName: boolean;\n pure: boolean;\n })[]\n | (\n | string\n | {\n exclude: string[];\n })[])[];\n };\n test: {\n plugins: (\n | string\n | (\n | string\n | {\n displayName: boolean;\n })[]\n | (\n | string\n | {\n identifiers: {\n end: string;\n start: string;\n }[];\n requireDirective: boolean;\n })[])[];\n };\n};\n"})}),"\n",(0,l.jsx)(e.h4,{id:"envdevelopment",children:"env.development"}),"\n",(0,l.jsx)(e.pre,{children:(0,l.jsx)(e.code,{className:"language-ts",children:"development: {\n plugins: (\n | string\n | (\n | string\n | {\n displayName: boolean;\n })[])[];\n};\n"})}),"\n",(0,l.jsx)(e.h4,{id:"envdevelopmentplugins",children:"env.development.plugins"}),"\n",(0,l.jsx)(e.pre,{children:(0,l.jsx)(e.code,{className:"language-ts",children:"plugins: (\n | string\n | (\n | string\n | {\n displayName: boolean;\n})[])[];\n"})}),"\n",(0,l.jsx)(e.h4,{id:"envproduction",children:"env.production"}),"\n",(0,l.jsx)(e.pre,{children:(0,l.jsx)(e.code,{className:"language-ts",children:"production: {\n plugins: (\n | string\n | (\n | string\n | {\n displayName: boolean;\n pure: boolean;\n })[]\n | (\n | string\n | {\n exclude: string[];\n })[])[];\n};\n"})}),"\n",(0,l.jsx)(e.h4,{id:"envproductionplugins",children:"env.production.plugins"}),"\n",(0,l.jsx)(e.pre,{children:(0,l.jsx)(e.code,{className:"language-ts",children:"plugins: (\n | string\n | (\n | string\n | {\n displayName: boolean;\n pure: boolean;\n})[]\n | (\n | string\n | {\n exclude: string[];\n})[])[];\n"})}),"\n",(0,l.jsx)(e.h4,{id:"envtest",children:"env.test"}),"\n",(0,l.jsx)(e.pre,{children:(0,l.jsx)(e.code,{className:"language-ts",children:"test: {\n plugins: (\n | string\n | (\n | string\n | {\n displayName: boolean;\n })[]\n | (\n | string\n | {\n identifiers: {\n end: string;\n start: string;\n }[];\n requireDirective: boolean;\n })[])[];\n};\n"})}),"\n",(0,l.jsx)(e.h4,{id:"envtestplugins",children:"env.test.plugins"}),"\n",(0,l.jsx)(e.pre,{children:(0,l.jsx)(e.code,{className:"language-ts",children:"plugins: (\n | string\n | (\n | string\n | {\n displayName: boolean;\n})[]\n | (\n | string\n | {\n identifiers: {\n end: string;\n start: string;\n }[];\n requireDirective: boolean;\n})[])[];\n"})}),"\n",(0,l.jsx)(e.h3,{id:"ignore",children:"ignore"}),"\n",(0,l.jsx)(e.pre,{children:(0,l.jsx)(e.code,{className:"language-ts",children:"ignore: RegExp[];\n"})}),"\n",(0,l.jsx)(e.h3,{id:"plugins",children:"plugins"}),"\n",(0,l.jsx)(e.pre,{children:(0,l.jsx)(e.code,{className:"language-ts",children:"plugins: (\n | string\n | (\n | string\n | {\n alias: {\n @: string;\n };\n stripExtensions: never[];\n})[]\n | (\n | string\n | {\n displayName: boolean;\n})[]\n | (\n | string\n | {\n regenerator: boolean;\n})[])[];\n"})}),"\n",(0,l.jsx)(e.h3,{id:"presets",children:"presets"}),"\n",(0,l.jsx)(e.pre,{children:(0,l.jsx)(e.code,{className:"language-ts",children:"presets: (\n | string\n | (\n | string\n | {\n modules: string | boolean;\n targets: {\n node: string;\n };\n}\n | {\n corejs: {\n proposals: boolean;\n version: string;\n };\n modules: string | boolean;\n useBuiltIns: string;\n})[]\n | (\n | string\n | {\n runtime: string;\n})[])[];\n"})}),"\n",(0,l.jsx)(e.h3,{id:"sourcetype",children:"sourceType"}),"\n",(0,l.jsx)(e.pre,{children:(0,l.jsx)(e.code,{className:"language-ts",children:"sourceType: string = 'unambiguous';\n"})})]})}function p(n={}){const{wrapper:e}={...(0,r.R)(),...n.components};return e?(0,l.jsx)(e,{...n,children:(0,l.jsx)(d,{...n})}):d(n)}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[7613],{3016(e,n,s){s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>t,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>c});const r=JSON.parse('{"id":"api/variables/eslintConfig","title":"eslintConfig","description":"Type Declaration","source":"@site/docs/api/variables/eslintConfig.md","sourceDirName":"api/variables","slug":"/api/variables/eslintConfig","permalink":"/cli/api/variables/eslintConfig","draft":false,"unlisted":false,"editUrl":"https://github.com/intcx/PLATFORM-UI.pui-cli.git/docs/api/variables/eslintConfig.md","tags":[],"version":"current","frontMatter":{},"sidebar":"docsSidebar","previous":{"title":"eslintBaseConfig","permalink":"/cli/api/variables/eslintBaseConfig"},"next":{"title":"jestConfig","permalink":"/cli/api/variables/jestConfig"}}');var l=s(6070),a=s(5676);const i={},t="eslintConfig",o={},c=[{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.jsx-a11y/aria-props",id:"rulesjsx-a11yaria-props",level:4},{value:"rules.jsx-a11y/heading-has-content",id:"rulesjsx-a11yheading-has-content",level:4},{value:"rules.jsx-a11y/label-has-associated-control",id:"rulesjsx-a11ylabel-has-associated-control",level:4},{value:"rules.jsx-a11y/label-has-for",id:"rulesjsx-a11ylabel-has-for",level:4},{value:"rules.jsx-a11y/mouse-events-have-key-events",id:"rulesjsx-a11ymouse-events-have-key-events",level:4},{value:"rules.jsx-a11y/role-has-required-aria-props",id:"rulesjsx-a11yrole-has-required-aria-props",level:4},{value:"rules.jsx-a11y/role-supports-aria-props",id:"rulesjsx-a11yrole-supports-aria-props",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.react-hooks/rules-of-hooks",id:"rulesreact-hooksrules-of-hooks",level:4},{value:"rules.react/destructuring-assignment",id:"rulesreactdestructuring-assignment",level:4},{value:"rules.react/forbid-prop-types",id:"rulesreactforbid-prop-types",level:4},{value:"rules.react/function-component-definition",id:"rulesreactfunction-component-definition",level:4},{value:"rules.react/jsx-closing-tag-location",id:"rulesreactjsx-closing-tag-location",level:4},{value:"rules.react/jsx-filename-extension",id:"rulesreactjsx-filename-extension",level:4},{value:"rules.react/jsx-first-prop-new-line",id:"rulesreactjsx-first-prop-new-line",level:4},{value:"rules.react/jsx-no-target-blank",id:"rulesreactjsx-no-target-blank",level:4},{value:"rules.react/jsx-props-no-spreading",id:"rulesreactjsx-props-no-spreading",level:4},{value:"rules.react/jsx-uses-vars",id:"rulesreactjsx-uses-vars",level:4},{value:"rules.react/react-in-jsx-scope",id:"rulesreactreact-in-jsx-scope",level:4},{value:"rules.react/require-default-props",id:"rulesreactrequire-default-props",level:4},{value:"rules.react/require-extension",id:"rulesreactrequire-extension",level:4},{value:"rules.react/self-closing-comp",id:"rulesreactself-closing-comp",level:4},{value:"rules.react/sort-comp",id:"rulesreactsort-comp",level:4},{value:"rules.redux-saga/no-yield-in-race",id:"rulesredux-sagano-yield-in-race",level:4},{value:"rules.redux-saga/yield-effects",id:"rulesredux-sagayield-effects",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,a.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(n.header,{children:(0,l.jsx)(n.h1,{id:"eslintconfig",children:"eslintConfig"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"eslintConfig: {\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 jsx-a11y/aria-props: number;\n jsx-a11y/heading-has-content: number;\n jsx-a11y/label-has-associated-control: (\n | number\n | {\n controlComponents: string[];\n })[];\n jsx-a11y/label-has-for: number;\n jsx-a11y/mouse-events-have-key-events: number;\n jsx-a11y/role-has-required-aria-props: number;\n jsx-a11y/role-supports-aria-props: 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 react-hooks/rules-of-hooks: string;\n react/destructuring-assignment: number;\n react/forbid-prop-types: number;\n react/function-component-definition: (\n | number\n | {\n namedComponents: string;\n })[];\n react/jsx-closing-tag-location: number;\n react/jsx-filename-extension: (\n | number\n | {\n extensions: string[];\n })[];\n react/jsx-first-prop-new-line: (string | number)[];\n react/jsx-no-target-blank: number;\n react/jsx-props-no-spreading: number;\n react/jsx-uses-vars: number;\n react/react-in-jsx-scope: number;\n react/require-default-props: number;\n react/require-extension: number;\n react/self-closing-comp: number;\n react/sort-comp: number;\n redux-saga/no-yield-in-race: number;\n redux-saga/yield-effects: number;\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 jsx-a11y/aria-props: number;\n jsx-a11y/heading-has-content: number;\n jsx-a11y/label-has-associated-control: (\n | number\n | {\n controlComponents: string[];\n })[];\n jsx-a11y/label-has-for: number;\n jsx-a11y/mouse-events-have-key-events: number;\n jsx-a11y/role-has-required-aria-props: number;\n jsx-a11y/role-supports-aria-props: 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 react-hooks/rules-of-hooks: string;\n react/destructuring-assignment: number;\n react/forbid-prop-types: number;\n react/function-component-definition: (\n | number\n | {\n namedComponents: string;\n })[];\n react/jsx-closing-tag-location: number;\n react/jsx-filename-extension: (\n | number\n | {\n extensions: string[];\n })[];\n react/jsx-first-prop-new-line: (string | number)[];\n react/jsx-no-target-blank: number;\n react/jsx-props-no-spreading: number;\n react/jsx-uses-vars: number;\n react/react-in-jsx-scope: number;\n react/require-default-props: number;\n react/require-extension: number;\n react/self-closing-comp: number;\n react/sort-comp: number;\n redux-saga/no-yield-in-race: number;\n redux-saga/yield-effects: number;\n require-yield: number;\n};\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:"rulesjsx-a11yaria-props",children:"rules.jsx-a11y/aria-props"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"jsx-a11y/aria-props: number = 2;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesjsx-a11yheading-has-content",children:"rules.jsx-a11y/heading-has-content"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"jsx-a11y/heading-has-content: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesjsx-a11ylabel-has-associated-control",children:"rules.jsx-a11y/label-has-associated-control"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"jsx-a11y/label-has-associated-control: (\n | number\n | {\n controlComponents: string[];\n})[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesjsx-a11ylabel-has-for",children:"rules.jsx-a11y/label-has-for"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"jsx-a11y/label-has-for: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesjsx-a11ymouse-events-have-key-events",children:"rules.jsx-a11y/mouse-events-have-key-events"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"jsx-a11y/mouse-events-have-key-events: number = 2;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesjsx-a11yrole-has-required-aria-props",children:"rules.jsx-a11y/role-has-required-aria-props"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"jsx-a11y/role-has-required-aria-props: number = 2;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesjsx-a11yrole-supports-aria-props",children:"rules.jsx-a11y/role-supports-aria-props"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"jsx-a11y/role-supports-aria-props: number = 2;\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:"rulesreact-hooksrules-of-hooks",children:"rules.react-hooks/rules-of-hooks"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:'react-hooks/rules-of-hooks: string = "error";\n'})}),"\n",(0,l.jsx)(n.h4,{id:"rulesreactdestructuring-assignment",children:"rules.react/destructuring-assignment"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"react/destructuring-assignment: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesreactforbid-prop-types",children:"rules.react/forbid-prop-types"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"react/forbid-prop-types: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesreactfunction-component-definition",children:"rules.react/function-component-definition"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"react/function-component-definition: (\n | number\n | {\n namedComponents: string;\n})[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesreactjsx-closing-tag-location",children:"rules.react/jsx-closing-tag-location"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"react/jsx-closing-tag-location: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesreactjsx-filename-extension",children:"rules.react/jsx-filename-extension"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"react/jsx-filename-extension: (\n | number\n | {\n extensions: string[];\n})[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesreactjsx-first-prop-new-line",children:"rules.react/jsx-first-prop-new-line"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"react/jsx-first-prop-new-line: (string | number)[];\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesreactjsx-no-target-blank",children:"rules.react/jsx-no-target-blank"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"react/jsx-no-target-blank: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesreactjsx-props-no-spreading",children:"rules.react/jsx-props-no-spreading"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"react/jsx-props-no-spreading: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesreactjsx-uses-vars",children:"rules.react/jsx-uses-vars"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"react/jsx-uses-vars: number = 2;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesreactreact-in-jsx-scope",children:"rules.react/react-in-jsx-scope"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"react/react-in-jsx-scope: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesreactrequire-default-props",children:"rules.react/require-default-props"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"react/require-default-props: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesreactrequire-extension",children:"rules.react/require-extension"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"react/require-extension: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesreactself-closing-comp",children:"rules.react/self-closing-comp"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"react/self-closing-comp: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesreactsort-comp",children:"rules.react/sort-comp"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"react/sort-comp: number = 0;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesredux-sagano-yield-in-race",children:"rules.redux-saga/no-yield-in-race"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"redux-saga/no-yield-in-race: number = 2;\n"})}),"\n",(0,l.jsx)(n.h4,{id:"rulesredux-sagayield-effects",children:"rules.redux-saga/yield-effects"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"redux-saga/yield-effects: number = 2;\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 d(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,l.jsx)(n,{...e,children:(0,l.jsx)(u,{...e})}):u(e)}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[8155],{1498(e,i,t){t.r(i),t.d(i,{assets:()=>o,contentTitle:()=>l,default:()=>p,frontMatter:()=>r,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"api/variables/vitestConfig","title":"vitestConfig","description":"","source":"@site/docs/api/variables/vitestConfig.md","sourceDirName":"api/variables","slug":"/api/variables/vitestConfig","permalink":"/cli/api/variables/vitestConfig","draft":false,"unlisted":false,"editUrl":"https://github.com/intcx/PLATFORM-UI.pui-cli.git/docs/api/variables/vitestConfig.md","tags":[],"version":"current","frontMatter":{},"sidebar":"docsSidebar","previous":{"title":"stylelintConfig","permalink":"/cli/api/variables/stylelintConfig"},"next":{"title":"PUI CLI Documentation","permalink":"/cli/"}}');var n=t(6070),a=t(5676);const r={},l="vitestConfig",o={},c=[];function d(e){const i={code:"code",h1:"h1",header:"header",pre:"pre",...(0,a.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.header,{children:(0,n.jsx)(i.h1,{id:"vitestconfig",children:"vitestConfig"})}),"\n",(0,n.jsx)(i.pre,{children:(0,n.jsx)(i.code,{className:"language-ts",children:"const vitestConfig: UserConfig;\n"})})]})}function p(e={}){const{wrapper:i}={...(0,a.R)(),...e.components};return i?(0,n.jsx)(i,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[3361],{5149(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://github.com/intcx/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 t=i(6070),l=i(5676);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,l.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"pui-cli-documentation",children:"PUI CLI Documentation"})}),"\n",(0,t.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,t.jsx)(n.h2,{id:"quick-links",children:"Quick Links"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/intcx/PLATFORM-UI.pui-cli",children:"GitHub Repository"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://build.encompass.intcx.net/job/UIPlatform/job/pui-cli/job/master",children:"Build Job"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://sonarqube.intcx.net/dashboard?id=pui-cli-master&branch=master",children:"SonarQube Report"})}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:(0,t.jsx)(n.a,{href:"/cli/usage-guide",children:"Usage Guide"})})," - Detailed command reference and examples"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:(0,t.jsx)(n.a,{href:"./api/",children:"API Documentation"})})," - Generated API docs from source code"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:(0,t.jsx)(n.a,{href:"/cli/ssl-certificate-setup",children:"SSL Certificate Setup"})})," - HTTPS certificate configuration"]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"features",children:"Features"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\ud83d\ude80 ",(0,t.jsx)(n.strong,{children:"Modern Build Tools"})," - Webpack and Vite integration"]}),"\n",(0,t.jsxs)(n.li,{children:["\ud83e\uddea ",(0,t.jsx)(n.strong,{children:"Testing"})," - Jest and Vitest support with coverage"]}),"\n",(0,t.jsxs)(n.li,{children:["\ud83c\udfa8 ",(0,t.jsx)(n.strong,{children:"Linting"})," - ESLint, Prettier, and Stylelint configurations"]}),"\n",(0,t.jsxs)(n.li,{children:["\ud83d\udcdd ",(0,t.jsx)(n.strong,{children:"TypeScript"})," - Full TypeScript support"]}),"\n",(0,t.jsxs)(n.li,{children:["\ud83d\udcda ",(0,t.jsx)(n.strong,{children:"Storybook"})," - Component development and documentation"]}),"\n",(0,t.jsxs)(n.li,{children:["\ud83d\udd27 ",(0,t.jsx)(n.strong,{children:"Development Server"})," - Hot module replacement"]}),"\n",(0,t.jsxs)(n.li,{children:["\ud83d\udce6 ",(0,t.jsx)(n.strong,{children:"Library Support"})," - Build both applications and libraries"]}),"\n",(0,t.jsxs)(n.li,{children:["\ud83c\udfaf ",(0,t.jsx)(n.strong,{children:"Monorepo Support"})," - Workspace version management"]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"getting-started",children:"Getting Started"}),"\n",(0,t.jsxs)(n.p,{children:["This guide will help you get started with ",(0,t.jsx)(n.code,{children:"@elliemae/pui-cli"}),", a command-line interface tool for building and managing UI applications and libraries."]}),"\n",(0,t.jsx)(n.h3,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,t.jsx)(n.p,{children:"Before you begin, ensure you have the following installed:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Node.js"}),": Version 20"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"pnpm"}),": Version 8 (recommended package manager)"]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"installation",children:"Installation"}),"\n",(0,t.jsx)(n.h4,{id:"for-new-projects",children:"For New Projects"}),"\n",(0,t.jsx)(n.p,{children:"Install the CLI as a development dependency in your project:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm add -D @elliemae/pui-cli\n"})}),"\n",(0,t.jsx)(n.h3,{id:"quick-start",children:"Quick Start"}),"\n",(0,t.jsx)(n.h4,{id:"setting-up-a-new-application",children:"Setting Up a New Application"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Create a package.json"})," if you don't have one:"]}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm init\n"})}),"\n",(0,t.jsxs)(n.ol,{start:"2",children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Install pui-cli"}),":"]}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm add -D @elliemae/pui-cli\n"})}),"\n",(0,t.jsxs)(n.ol,{start:"3",children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Add scripts to your package.json"}),":"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"For applications:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.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,t.jsx)(n.p,{children:"For libraries:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.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,t.jsxs)(n.ol,{start:"4",children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Create a TypeScript configuration"})," (",(0,t.jsx)(n.code,{children:"tsconfig.json"}),"):"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"For applications:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.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,t.jsx)(n.p,{children:"For libraries:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.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,t.jsxs)(n.ol,{start:"5",children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Create your source structure"}),":"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"For applications:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.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,t.jsx)(n.p,{children:"For libraries:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.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,t.jsx)(n.h2,{id:"project-structure",children:"Project Structure"}),"\n",(0,t.jsx)(n.h3,{id:"application-structure",children:"Application Structure"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.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,t.jsx)(n.h3,{id:"library-structure",children:"Library Structure"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.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,t.jsx)(n.h2,{id:"configuration-files",children:"Configuration Files"}),"\n",(0,t.jsx)(n.h3,{id:"prettier-configuration",children:"Prettier Configuration"}),"\n",(0,t.jsxs)(n.p,{children:["Create ",(0,t.jsx)(n.code,{children:"prettier.config.cjs"}),":"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-javascript",children:"const { prettierConfig } = require('@elliemae/pui-cli');\nmodule.exports = prettierConfig;\n"})}),"\n",(0,t.jsx)(n.h3,{id:"stylelint-configuration",children:"Stylelint Configuration"}),"\n",(0,t.jsxs)(n.p,{children:["Create ",(0,t.jsx)(n.code,{children:"stylelint.config.cjs"}),":"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-javascript",children:"const { stylelintConfig } = require('@elliemae/pui-cli');\nmodule.exports = stylelintConfig;\n"})}),"\n",(0,t.jsx)(n.h3,{id:"commitlint-configuration",children:"Commitlint Configuration"}),"\n",(0,t.jsxs)(n.p,{children:["Create ",(0,t.jsx)(n.code,{children:"commitlint.config.cjs"}),":"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-javascript",children:"const { commitlintConfig } = require('@elliemae/pui-cli');\nmodule.exports = commitlintConfig;\n"})}),"\n",(0,t.jsx)(n.h3,{id:"lint-staged-configuration",children:"Lint-staged Configuration"}),"\n",(0,t.jsxs)(n.p,{children:["Create ",(0,t.jsx)(n.code,{children:"lint-staged.config.mjs"}),":"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-javascript",children:"import { lintStagedConfig } from '@elliemae/pui-cli';\nexport default lintStagedConfig;\n"})}),"\n",(0,t.jsx)(n.h3,{id:"babel-configuration-optional",children:"Babel Configuration (Optional)"}),"\n",(0,t.jsxs)(n.p,{children:["Create ",(0,t.jsx)(n.code,{children:"babel.config.cjs"})," for custom Babel configuration:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-javascript",children:"const { babelConfig } = require('@elliemae/pui-cli');\nmodule.exports = babelConfig;\n"})}),"\n",(0,t.jsx)(n.h2,{id:"git-hooks-setup",children:"Git Hooks Setup"}),"\n",(0,t.jsx)(n.p,{children:"To enable pre-commit hooks with Husky:"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Install Husky"}),":"]}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm add -D husky\nnpx husky init\n"})}),"\n",(0,t.jsxs)(n.ol,{start:"2",children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsxs)(n.strong,{children:["Create ",(0,t.jsx)(n.code,{children:".husky/pre-commit"})]}),":"]}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:'#!/bin/sh\n. "$(dirname "$0")/_/husky.sh"\n\nnpx lint-staged\n'})}),"\n",(0,t.jsxs)(n.ol,{start:"3",children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Make it executable"}),":"]}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"chmod +x .husky/pre-commit\n"})}),"\n",(0,t.jsx)(n.h2,{id:"additional-configuration-files",children:"Additional Configuration Files"}),"\n",(0,t.jsx)(n.h3,{id:"jest-configuration",children:"Jest Configuration"}),"\n",(0,t.jsxs)(n.p,{children:["For custom Jest configuration, create ",(0,t.jsx)(n.code,{children:"jest.config.cjs"}),":"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-javascript",children:"const { jestConfig } = require('@elliemae/pui-cli');\nmodule.exports = jestConfig;\n"})}),"\n",(0,t.jsx)(n.h2,{id:"environment-variables",children:"Environment Variables"}),"\n",(0,t.jsxs)(n.p,{children:["Create a ",(0,t.jsx)(n.code,{children:".env"})," file in your project root for environment-specific configuration:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-env",children:"PORT=3000\nNODE_ENV=development\n"})}),"\n",(0,t.jsx)(n.h2,{id:"running-your-first-build",children:"Running Your First Build"}),"\n",(0,t.jsx)(n.h3,{id:"start-development-server",children:"Start Development Server"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.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,t.jsx)(n.p,{children:"This will:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Start webpack dev server"}),"\n",(0,t.jsx)(n.li,{children:"Enable hot module replacement"}),"\n",(0,t.jsxs)(n.li,{children:["Serve your application (default: ",(0,t.jsx)(n.a,{href:"http://localhost:3000",children:"http://localhost:3000"}),")"]}),"\n",(0,t.jsx)(n.li,{children:"Watch for file changes"}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"build-for-production",children:"Build for Production"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.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,t.jsx)(n.p,{children:"This will:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Create an optimized production build"}),"\n",(0,t.jsxs)(n.li,{children:["Output files to the ",(0,t.jsx)(n.code,{children:"dist/"})," or ",(0,t.jsx)(n.code,{children:"build/"})," directory"]}),"\n",(0,t.jsx)(n.li,{children:"Generate source maps"}),"\n",(0,t.jsx)(n.li,{children:"Minify and bundle your code"}),"\n",(0,t.jsx)(n.li,{children:"For libraries: Generate ESM, CJS, and type declarations"}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"run-tests",children:"Run Tests"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.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,t.jsx)(n.h3,{id:"linting-and-type-checking",children:"Linting and Type Checking"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.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,t.jsx)(n.h3,{id:"storybook",children:"Storybook"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.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,t.jsx)(n.h2,{id:"next-steps",children:"Next Steps"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Read the ",(0,t.jsx)(n.a,{href:"/cli/usage-guide",children:"Usage Guide"})," for detailed command documentation"]}),"\n",(0,t.jsxs)(n.li,{children:["Check out the ",(0,t.jsx)(n.a,{href:"./api/",children:"API Documentation"})," for library exports"]}),"\n",(0,t.jsxs)(n.li,{children:["Review the ",(0,t.jsx)(n.a,{href:"https://github.com/intcx/PLATFORM-UI.pui-cli#migration-guide",children:"Migration Guide"})," if upgrading from an older version"]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,t.jsx)(n.h3,{id:"common-issues",children:"Common Issues"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Port already in use:"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"# Change the port in your .env file\nPORT=3001\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Module not found errors:"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"# Clear node_modules and reinstall\nrm -rf node_modules\npnpm install\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Build fails with TypeScript errors:"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"# Run type checking separately to see detailed errors\npnpm tscheck\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"HTTPS certificate warnings:"})}),"\n",(0,t.jsx)(n.p,{children:'If you see "Not Secure" or certificate warnings when using HTTPS in development:'}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["See the ",(0,t.jsx)(n.a,{href:"/cli/ssl-certificate-setup",children:"SSL Certificate Setup Guide"})," for detailed instructions"]}),"\n",(0,t.jsx)(n.li,{children:"You need to trust the self-signed CA certificate on your system"}),"\n",(0,t.jsx)(n.li,{children:"Platform-specific instructions available for macOS, Windows, and Firefox"}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"getting-help",children:"Getting Help"}),"\n",(0,t.jsx)(n.p,{children:"If you encounter issues:"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Review the documentation in the ",(0,t.jsx)(n.code,{children:"docs/"})," folder"]}),"\n",(0,t.jsx)(n.li,{children:"Reach out to the ui-platform teams channel"}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,l.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}}}]);
|