@elliemae/pui-cli 8.62.2 → 9.0.0-alpha.10
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 +43 -0
- package/app.tsconfig.json +1 -1
- package/build/docs/404.html +16 -0
- package/build/docs/api/functions/loadRoutes/index.html +22 -0
- package/build/docs/api/index.html +22 -0
- package/build/docs/api/type-aliases/LIB_NAME/index.html +17 -0
- package/build/docs/api/variables/babelConfig/index.html +40 -0
- package/build/docs/api/variables/commitlintConfig/index.html +20 -0
- package/build/docs/api/variables/eslintBaseConfig/index.html +132 -0
- package/build/docs/api/variables/eslintConfig/index.html +180 -0
- package/build/docs/api/variables/eslintFlatBaseConfig/index.html +18 -0
- package/build/docs/api/variables/eslintFlatBaseConfigStrict/index.html +18 -0
- package/build/docs/api/variables/eslintFlatConfig/index.html +18 -0
- package/build/docs/api/variables/eslintFlatConfigStrict/index.html +18 -0
- package/build/docs/api/variables/jestConfig/index.html +98 -0
- package/build/docs/api/variables/jestNodeConfig/index.html +98 -0
- package/build/docs/api/variables/lintStagedConfig/index.html +24 -0
- package/build/docs/api/variables/prettierConfig/index.html +30 -0
- package/build/docs/api/variables/stylelintConfig/index.html +17 -0
- package/build/docs/api/variables/vitestConfig/index.html +17 -0
- package/build/docs/assets/css/styles.74603f39.css +1 -0
- package/build/docs/assets/js/04ee7372.eaa386ed.js +1 -0
- package/build/docs/assets/js/0551d4dd.ebb18f4f.js +1 -0
- package/build/docs/assets/js/0a1d0315.fc8f91a7.js +1 -0
- package/build/docs/assets/js/1126.fa547e9c.js +1 -0
- package/build/docs/assets/js/1127.f28430e6.js +1 -0
- package/build/docs/assets/js/1298.fb0939c9.js +1 -0
- package/build/docs/assets/js/13097d8d.c1821d28.js +1 -0
- package/build/docs/assets/js/1617.b2623271.js +1 -0
- package/build/docs/assets/js/16b7bc88.c3779e27.js +1 -0
- package/build/docs/assets/js/1700.4f7a9007.js +1 -0
- package/build/docs/assets/js/17896441.84339068.js +1 -0
- package/build/docs/assets/js/1b9df811.aaa95da1.js +1 -0
- package/build/docs/assets/js/213.e69351b3.js +1 -0
- package/build/docs/assets/js/2297.e63290f4.js +1 -0
- package/build/docs/assets/js/232a0286.33b2782b.js +1 -0
- package/build/docs/assets/js/2399.cc5803e0.js +1 -0
- package/build/docs/assets/js/242.73516ab6.js +1 -0
- package/build/docs/assets/js/247.e1522e52.js +1 -0
- package/build/docs/assets/js/2673.da75a556.js +1 -0
- package/build/docs/assets/js/2805.f0505f8c.js +1 -0
- package/build/docs/assets/js/3395.eb3dad5b.js +1 -0
- package/build/docs/assets/js/3499.2d5c6821.js +1 -0
- package/build/docs/assets/js/3552.9272c0d9.js +1 -0
- package/build/docs/assets/js/3720.8e7f36d4.js +2 -0
- package/build/docs/assets/js/3720.8e7f36d4.js.LICENSE.txt +9 -0
- package/build/docs/assets/js/37d86055.47211796.js +1 -0
- package/build/docs/assets/js/3992.0ac29b2f.js +2 -0
- package/build/docs/assets/js/3992.0ac29b2f.js.LICENSE.txt +1 -0
- package/build/docs/assets/js/4069.301f1115.js +1 -0
- package/build/docs/assets/js/4134.553b3645.js +1 -0
- package/build/docs/assets/js/4257.9afce6ac.js +1 -0
- package/build/docs/assets/js/4772.6294b364.js +1 -0
- package/build/docs/assets/js/4884.9dbe23e5.js +1 -0
- package/build/docs/assets/js/4fb6949f.369cc1b9.js +1 -0
- package/build/docs/assets/js/5196.98f7e06a.js +1 -0
- package/build/docs/assets/js/5248.ee436cea.js +1 -0
- package/build/docs/assets/js/5428.71752e9a.js +1 -0
- package/build/docs/assets/js/5964.0728ed91.js +1 -0
- package/build/docs/assets/js/5968.5f4ccba7.js +1 -0
- package/build/docs/assets/js/5befad71.5f19afb5.js +1 -0
- package/build/docs/assets/js/5d5f1db0.c5aa5afa.js +1 -0
- package/build/docs/assets/js/5e8c322a.ef3b894b.js +1 -0
- package/build/docs/assets/js/5e95c892.f550b901.js +1 -0
- package/build/docs/assets/js/5fb3c522.da5628e8.js +1 -0
- package/build/docs/assets/js/6486.68ae0007.js +1 -0
- package/build/docs/assets/js/6704.2615a5c6.js +1 -0
- package/build/docs/assets/js/6bd11e52.08b95209.js +1 -0
- package/build/docs/assets/js/6e96545e.30c1b801.js +1 -0
- package/build/docs/assets/js/7080.efd5ba6c.js +1 -0
- package/build/docs/assets/js/71f6d02b.cfd98385.js +1 -0
- package/build/docs/assets/js/7201.e90ba636.js +1 -0
- package/build/docs/assets/js/7344.95656e38.js +1 -0
- package/build/docs/assets/js/7516.b6668d60.js +1 -0
- package/build/docs/assets/js/7525.a8d0db87.js +1 -0
- package/build/docs/assets/js/7540.7a4353cf.js +1 -0
- package/build/docs/assets/js/7985.8c6943d6.js +1 -0
- package/build/docs/assets/js/8049.8ba75278.js +1 -0
- package/build/docs/assets/js/80e87108.f9507b95.js +1 -0
- package/build/docs/assets/js/8152.f2bebb2f.js +1 -0
- package/build/docs/assets/js/821.8d4e2a80.js +1 -0
- package/build/docs/assets/js/8290.a4f7a2ca.js +1 -0
- package/build/docs/assets/js/8355.864847a1.js +1 -0
- package/build/docs/assets/js/8389.26a9caca.js +1 -0
- package/build/docs/assets/js/8585.3cb09ff7.js +1 -0
- package/build/docs/assets/js/8788.03856709.js +1 -0
- package/build/docs/assets/js/9178.50ac2954.js +1 -0
- package/build/docs/assets/js/9210.1ac21da8.js +1 -0
- package/build/docs/assets/js/9354.37ad86f9.js +1 -0
- package/build/docs/assets/js/936.c151b43f.js +1 -0
- package/build/docs/assets/js/9574.b172d607.js +1 -0
- package/build/docs/assets/js/97.70eddfb5.js +1 -0
- package/build/docs/assets/js/9852.f77caf52.js +1 -0
- package/build/docs/assets/js/9953.f6278635.js +1 -0
- package/build/docs/assets/js/a7bd4aaa.30ffad02.js +1 -0
- package/build/docs/assets/js/a94703ab.f1796514.js +1 -0
- package/build/docs/assets/js/aba21aa0.3bbcf0cc.js +1 -0
- package/build/docs/assets/js/b7b585d8.6d53e73f.js +1 -0
- package/build/docs/assets/js/b8ac1d98.62684003.js +1 -0
- package/build/docs/assets/js/bde5209a.f5bca8b2.js +1 -0
- package/build/docs/assets/js/c377a04b.0f8625c6.js +1 -0
- package/build/docs/assets/js/dfd75424.51c4e2cb.js +1 -0
- package/build/docs/assets/js/e5f79924.c793a74d.js +1 -0
- package/build/docs/assets/js/f736c962.dbd0d004.js +1 -0
- package/build/docs/assets/js/main.00e13c37.js +2 -0
- package/build/docs/assets/js/main.00e13c37.js.LICENSE.txt +51 -0
- package/build/docs/assets/js/runtime~main.cb214d1a.js +1 -0
- package/build/docs/eslint-rules-migration/index.html +135 -0
- package/build/docs/img/favicon.ico +0 -0
- package/build/docs/img/logo.jpeg +0 -0
- package/build/docs/img/logo.svg +22 -0
- package/build/docs/img/readme.md +1 -0
- package/build/docs/index.html +179 -0
- package/build/docs/pui-cli-9-migration/index.html +150 -0
- package/build/docs/readme.md +1 -0
- package/build/docs/sitemap.xml +1 -0
- package/build/docs/ssl-certificate-setup/index.html +284 -0
- package/build/docs/stylelint-migration/index.html +57 -0
- package/build/docs/usage-guide/index.html +439 -0
- package/dist/cjs/cli.js +3 -13
- package/dist/cjs/commands/build.js +1 -2
- package/dist/cjs/commands/buildcdn.js +1 -2
- package/dist/cjs/commands/codemod.js +1 -12
- package/dist/cjs/commands/gendoc.js +1 -2
- package/dist/cjs/commands/lint.js +11 -9
- package/dist/cjs/commands/pack.js +1 -2
- package/dist/cjs/commands/skills.js +206 -0
- package/dist/cjs/commands/start.js +1 -2
- package/dist/cjs/commands/storybook.js +1 -12
- package/dist/cjs/commands/test.js +1 -13
- package/dist/cjs/commands/tscheck.js +1 -2
- package/dist/cjs/commands/utils.js +16 -12
- package/dist/cjs/commands/version.js +1 -12
- package/dist/cjs/commands/vitest.js +1 -13
- package/dist/cjs/index.cjs +13 -1
- package/dist/cjs/index.js +8 -2
- package/dist/cjs/lint-config/eslint/common.cjs +1 -1
- package/dist/cjs/lint-config/eslint/flat/common.mjs +169 -0
- package/dist/cjs/lint-config/eslint/flat/compat.mjs +27 -0
- package/dist/cjs/lint-config/eslint/flat/index.mjs +21 -0
- package/dist/cjs/lint-config/eslint/flat/non-react-export.mjs +10 -0
- package/dist/cjs/lint-config/eslint/flat/non-react.mjs +6 -0
- package/dist/cjs/lint-config/eslint/flat/presets.mjs +96 -0
- package/dist/cjs/lint-config/eslint/flat/react-export.mjs +7 -0
- package/dist/cjs/lint-config/eslint/flat/react.mjs +59 -0
- package/dist/cjs/lint-config/eslint/flat/rules.mjs +185 -0
- package/dist/cjs/lint-config/eslint/typescript/non-react.cjs +1 -1
- package/dist/cjs/lint-config/eslint/typescript/react.cjs +1 -1
- package/dist/cjs/lint-config/stylelint/config.mjs +27 -0
- package/dist/cjs/lint-config/stylelint/export.mjs +1 -0
- package/dist/cjs/lint-config/stylelint.config.cjs +3 -19
- package/dist/cjs/monorepo/utils.cjs +16 -8
- package/dist/cjs/monorepo/utils.js +5 -8
- package/dist/cjs/{release.config.cjs → release.config.mjs} +3 -2
- package/dist/cjs/{semantic-release-plugin.cjs → semantic-release-plugin.mjs} +3 -3
- package/dist/cjs/skills/migrate-to-pui-cli-9/SKILL.md +271 -0
- package/dist/cjs/testing/jest.config.cjs +5 -9
- package/dist/cjs/testing/resolver.cjs +1 -1
- package/dist/cjs/testing/setup-react-env.js +1 -1
- package/dist/cjs/testing/vitest.config.js +2 -1
- package/dist/cjs/transpile/esbuild.js +1 -1
- package/dist/cjs/webpack/csp-plugin.js +2 -4
- package/dist/cjs/webpack/helpers.js +2 -6
- package/dist/cjs/webpack/prop-types-shim.js +0 -1
- package/dist/cjs/webpack/webpack.dev.babel.js +1 -23
- package/dist/cjs/webpack/webpack.lib.base.babel.js +0 -8
- package/dist/esm/cli.js +3 -13
- package/dist/esm/commands/build.js +1 -2
- package/dist/esm/commands/buildcdn.js +1 -2
- package/dist/esm/commands/codemod.js +1 -2
- package/dist/esm/commands/gendoc.js +1 -2
- package/dist/esm/commands/lint.js +11 -9
- package/dist/esm/commands/pack.js +1 -2
- package/dist/esm/commands/skills.js +175 -0
- package/dist/esm/commands/start.js +1 -2
- package/dist/esm/commands/storybook.js +1 -2
- package/dist/esm/commands/test.js +1 -3
- package/dist/esm/commands/tscheck.js +1 -2
- package/dist/esm/commands/utils.js +17 -13
- package/dist/esm/commands/version.js +1 -2
- package/dist/esm/commands/vitest.js +1 -3
- package/dist/esm/index.cjs +13 -1
- package/dist/esm/index.js +13 -1
- package/dist/esm/lint-config/eslint/common.cjs +1 -1
- package/dist/esm/lint-config/eslint/flat/common.mjs +169 -0
- package/dist/esm/lint-config/eslint/flat/compat.mjs +27 -0
- package/dist/esm/lint-config/eslint/flat/index.mjs +21 -0
- package/dist/esm/lint-config/eslint/flat/non-react-export.mjs +10 -0
- package/dist/esm/lint-config/eslint/flat/non-react.mjs +6 -0
- package/dist/esm/lint-config/eslint/flat/presets.mjs +96 -0
- package/dist/esm/lint-config/eslint/flat/react-export.mjs +7 -0
- package/dist/esm/lint-config/eslint/flat/react.mjs +59 -0
- package/dist/esm/lint-config/eslint/flat/rules.mjs +185 -0
- package/dist/esm/lint-config/eslint/typescript/non-react.cjs +1 -1
- package/dist/esm/lint-config/eslint/typescript/react.cjs +1 -1
- package/dist/esm/lint-config/stylelint/config.mjs +27 -0
- package/dist/esm/lint-config/stylelint/export.mjs +1 -0
- package/dist/esm/lint-config/stylelint.config.cjs +3 -19
- package/dist/esm/monorepo/utils.cjs +16 -8
- package/dist/esm/monorepo/utils.js +5 -8
- package/dist/esm/{release.config.cjs → release.config.mjs} +3 -2
- package/dist/esm/{semantic-release-plugin.cjs → semantic-release-plugin.mjs} +3 -3
- package/dist/esm/skills/migrate-to-pui-cli-9/SKILL.md +271 -0
- package/dist/esm/testing/jest.config.cjs +5 -9
- package/dist/esm/testing/resolver.cjs +1 -1
- package/dist/esm/testing/setup-react-env.js +1 -1
- package/dist/esm/testing/vitest.config.js +2 -1
- package/dist/esm/transpile/esbuild.js +1 -1
- package/dist/esm/webpack/csp-plugin.js +2 -4
- package/dist/esm/webpack/helpers.js +2 -6
- package/dist/esm/webpack/prop-types-shim.js +0 -1
- package/dist/esm/webpack/webpack.dev.babel.js +2 -26
- package/dist/esm/webpack/webpack.lib.base.babel.js +0 -8
- package/dist/types/docusaurus.config.d.ts +3 -2
- package/dist/types/lib/commands/build.d.ts +1 -1
- package/dist/types/lib/commands/buildcdn.d.ts +1 -1
- package/dist/types/lib/commands/codemod.d.ts +1 -1
- package/dist/types/lib/commands/gendoc.d.ts +1 -1
- package/dist/types/lib/commands/lint.d.ts +1 -1
- package/dist/types/lib/commands/pack.d.ts +1 -1
- package/dist/types/lib/commands/skills.d.ts +11 -0
- package/dist/types/lib/commands/start.d.ts +1 -1
- package/dist/types/lib/commands/storybook.d.ts +1 -1
- package/dist/types/lib/commands/test.d.ts +1 -1
- package/dist/types/lib/commands/tscheck.d.ts +1 -1
- package/dist/types/lib/commands/utils.d.ts +43 -2
- package/dist/types/lib/commands/version.d.ts +1 -1
- package/dist/types/lib/commands/vitest.d.ts +1 -1
- package/dist/types/lib/index.d.cts +6 -2
- package/dist/types/lib/index.d.ts +5 -1
- package/dist/types/lib/lint-config/eslint/flat/common.d.mts +6 -0
- package/dist/types/lib/lint-config/eslint/flat/compat.d.mts +9 -0
- package/dist/types/lib/lint-config/eslint/flat/index.d.mts +6 -0
- package/dist/types/lib/lint-config/eslint/flat/non-react-export.d.mts +4 -0
- package/dist/types/lib/lint-config/eslint/flat/non-react.d.mts +3 -0
- package/dist/types/lib/lint-config/eslint/flat/presets.d.mts +34 -0
- package/dist/types/lib/lint-config/eslint/flat/react-export.d.mts +4 -0
- package/dist/types/lib/lint-config/eslint/flat/react.d.mts +4 -0
- package/dist/types/lib/lint-config/eslint/flat/rules.d.mts +361 -0
- package/dist/types/lib/lint-config/stylelint/config.d.mts +3 -0
- package/dist/types/lib/lint-config/stylelint/export.d.mts +1 -0
- package/dist/types/lib/lint-config/stylelint.config.d.cts +2 -10
- package/dist/types/lib/release.config.d.mts +10 -0
- package/dist/types/lib/semantic-release-plugin.d.mts +4 -0
- package/dist/types/lib/server/appRoutes.d.ts +1 -1
- package/dist/types/lib/server/csp.d.ts +1 -1
- package/dist/types/lib/server/middlewares.d.ts +1 -1
- package/dist/types/lib/webpack/csp-plugin.d.ts +3 -3
- package/dist/types/lib/webpack/helpers.d.ts +1 -6
- package/dist/types/lib/webpack/interceptor-middleware.d.ts +2 -2
- package/dist/types/lib/webpack/webpack.base.babel.d.ts +1 -1
- package/dist/types/lib/webpack/webpack.lib.base.babel.d.ts +1 -1
- package/dist/types/lib/webpack/webpack.lib.prod.babel.d.ts +1 -1
- package/dist/types/lib/webpack/webpack.prod.babel.d.ts +1 -1
- package/dist/types/lib/webpack/webpack.storybook.d.ts +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/lib/lint-config/commitlint.config.cjs +1 -0
- package/lib/lint-config/eslint/common.cjs +164 -0
- package/lib/lint-config/eslint/flat/common.mjs +169 -0
- package/lib/lint-config/eslint/flat/compat.mjs +27 -0
- package/lib/lint-config/eslint/flat/index.mjs +21 -0
- package/lib/lint-config/eslint/flat/non-react-export.mjs +10 -0
- package/lib/lint-config/eslint/flat/non-react.mjs +6 -0
- package/lib/lint-config/eslint/flat/presets.mjs +96 -0
- package/lib/lint-config/eslint/flat/react-export.mjs +7 -0
- package/lib/lint-config/eslint/flat/react.mjs +59 -0
- package/lib/lint-config/eslint/flat/rules.mjs +185 -0
- package/lib/lint-config/eslint/non-react.cjs +14 -0
- package/lib/lint-config/eslint/react.cjs +26 -0
- package/lib/lint-config/eslint/typescript/common.cjs +49 -0
- package/lib/lint-config/eslint/typescript/non-react.cjs +12 -0
- package/lib/lint-config/eslint/typescript/react.cjs +19 -0
- package/lib/lint-config/lint-staged.config.js +15 -0
- package/lib/lint-config/prettier.config.cjs +8 -0
- package/lib/lint-config/stylelint/config.mjs +27 -0
- package/lib/lint-config/stylelint/export.mjs +1 -0
- package/lib/lint-config/stylelint.config.cjs +3 -0
- package/lib/release.config.mjs +28 -0
- package/lib/semantic-release-plugin.mjs +30 -0
- package/lib/skills/migrate-to-pui-cli-9/SKILL.md +271 -0
- package/library.tsconfig.json +1 -1
- package/package.json +103 -89
- package/dist/cjs/server/versionPathMiddleware.js +0 -44
- package/dist/cjs/testing/setup-env.js +0 -8
- package/dist/esm/server/versionPathMiddleware.js +0 -24
- package/dist/esm/testing/setup-env.js +0 -7
- package/dist/types/lib/release.config.d.cts +0 -7
- package/dist/types/lib/semantic-release-plugin.d.cts +0 -1
- package/dist/types/lib/server/versionPathMiddleware.d.ts +0 -8
- package/dist/types/lib/testing/setup-env.d.ts +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[5908],{4391(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://git.elliemae.io/platform-ui/pui-cli.git/docs/usage-guide.md","tags":[],"version":"current","frontMatter":{},"sidebar":"docsSidebar","previous":{"title":"Stylelint migration guide (pui-cli 8 \u2192 9 / Stylelint 17)","permalink":"/cli/stylelint-migration"}}');var l=i(6070),r=i(6607);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:"<code>pui-cli skills</code>",id:"pui-cli-skills",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.h3,{id:"pui-cli-skills",children:(0,l.jsx)(n.code,{children:"pui-cli skills"})}),"\n",(0,l.jsxs)(n.p,{children:["Installs bundled agent skills from ",(0,l.jsx)(n.code,{children:"@elliemae/pui-cli"})," into the current repo."]}),"\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 skills list\npui-cli skills install [name] [--target <target>] [--force]\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:"--target"})," \u2014 ",(0,l.jsx)(n.code,{children:"cursor"})," (default), ",(0,l.jsx)(n.code,{children:"claude"}),", ",(0,l.jsx)(n.code,{children:"copilot"}),", or ",(0,l.jsx)(n.code,{children:"all"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"cursor"})," \u2192 ",(0,l.jsx)(n.code,{children:".cursor/skills/"})]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"claude"})," \u2192 ",(0,l.jsx)(n.code,{children:".claude/skills/"})]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"copilot"})," \u2192 ",(0,l.jsx)(n.code,{children:".github/skills/"})]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"all"})," \u2192 all three paths (recommended for mixed teams)"]}),"\n"]}),"\n"]}),"\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:"# List bundled skills shipped with this pui-cli version\npnpm exec pui-cli skills list\n\n# Install for Cursor, Claude Code, and GitHub Copilot\npnpm exec pui-cli skills install migrate-to-pui-cli-9 --target all\n\n# Install for Cursor only (default)\npnpm exec pui-cli skills install migrate-to-pui-cli-9\n\n# Install for Claude Code only\npnpm exec pui-cli skills install migrate-to-pui-cli-9 --target claude\n\n# Overwrite an existing skill directory\npnpm exec pui-cli skills install migrate-to-pui-cli-9 --target all --force\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.jsxs)(n.li,{children:["Copies ",(0,l.jsx)(n.code,{children:"lib/skills/<name>/"})," from the installed package into the target skill directories"]}),"\n",(0,l.jsxs)(n.li,{children:["Uses the shared Agent Skills ",(0,l.jsx)(n.code,{children:"SKILL.md"})," format (works across Cursor, Claude Code, and Copilot)"]}),"\n",(0,l.jsxs)(n.li,{children:["See ",(0,l.jsx)(n.a,{href:"/cli/pui-cli-9-migration",children:"pui-cli 9 migration guide"})," for the full upgrade path"]}),"\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://git.elliemae.io/platform-ui/pui-cli#migration-guide",children:"Migration Guide"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"https://git.elliemae.io/platform-ui/pui-cli",children:"GitHub Repository"})}),"\n"]}),"\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)}},6607(e,n,i){i.d(n,{R:()=>c,x:()=>d});var s=i(758);const l={},r=s.createContext(l);function c(e){const n=s.useContext(r);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:c(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[1712],{797(i){i.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docsSidebar":[{"type":"category","label":"Cli API","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"functions","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/cli/api/functions/loadRoutes","label":"loadRoutes()","docId":"api/functions/loadRoutes","unlisted":false}]},{"type":"category","label":"type-aliases","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/cli/api/type-aliases/LIB_NAME","label":"LIB\\\\_NAME","docId":"api/type-aliases/LIB_NAME","unlisted":false}]},{"type":"category","label":"variables","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/cli/api/variables/babelConfig","label":"babelConfig","docId":"api/variables/babelConfig","unlisted":false},{"type":"link","href":"/cli/api/variables/commitlintConfig","label":"commitlintConfig","docId":"api/variables/commitlintConfig","unlisted":false},{"type":"link","href":"/cli/api/variables/eslintBaseConfig","label":"~~eslintBaseConfig~~","docId":"api/variables/eslintBaseConfig","unlisted":false},{"type":"link","href":"/cli/api/variables/eslintConfig","label":"~~eslintConfig~~","docId":"api/variables/eslintConfig","unlisted":false},{"type":"link","href":"/cli/api/variables/eslintFlatBaseConfig","label":"eslintFlatBaseConfig","docId":"api/variables/eslintFlatBaseConfig","unlisted":false},{"type":"link","href":"/cli/api/variables/eslintFlatBaseConfigStrict","label":"eslintFlatBaseConfigStrict","docId":"api/variables/eslintFlatBaseConfigStrict","unlisted":false},{"type":"link","href":"/cli/api/variables/eslintFlatConfig","label":"eslintFlatConfig","docId":"api/variables/eslintFlatConfig","unlisted":false},{"type":"link","href":"/cli/api/variables/eslintFlatConfigStrict","label":"eslintFlatConfigStrict","docId":"api/variables/eslintFlatConfigStrict","unlisted":false},{"type":"link","href":"/cli/api/variables/jestConfig","label":"jestConfig","docId":"api/variables/jestConfig","unlisted":false},{"type":"link","href":"/cli/api/variables/jestNodeConfig","label":"jestNodeConfig","docId":"api/variables/jestNodeConfig","unlisted":false},{"type":"link","href":"/cli/api/variables/lintStagedConfig","label":"lintStagedConfig","docId":"api/variables/lintStagedConfig","unlisted":false},{"type":"link","href":"/cli/api/variables/prettierConfig","label":"prettierConfig","docId":"api/variables/prettierConfig","unlisted":false},{"type":"link","href":"/cli/api/variables/stylelintConfig","label":"stylelintConfig","docId":"api/variables/stylelintConfig","unlisted":false},{"type":"link","href":"/cli/api/variables/vitestConfig","label":"vitestConfig","docId":"api/variables/vitestConfig","unlisted":false}]}],"href":"/cli/api/"},{"type":"link","href":"/cli/eslint-rules-migration","label":"ESLint rules migration guide (legacy \u2192 ESLint 10 flat config)","docId":"eslint-rules-migration","unlisted":false},{"type":"link","href":"/cli/","label":"PUI CLI Documentation","docId":"index","unlisted":false},{"type":"link","href":"/cli/pui-cli-9-migration","label":"pui-cli 9 migration guide","docId":"pui-cli-9-migration","unlisted":false},{"type":"link","href":"/cli/ssl-certificate-setup","label":"Trust SSL Certificate Guide","docId":"ssl-certificate-setup","unlisted":false},{"type":"link","href":"/cli/stylelint-migration","label":"Stylelint migration guide (pui-cli 8 \u2192 9 / Stylelint 17)","docId":"stylelint-migration","unlisted":false},{"type":"link","href":"/cli/usage-guide","label":"Usage Guide","docId":"usage-guide","unlisted":false}]},"docs":{"api/functions/loadRoutes":{"id":"api/functions/loadRoutes","title":"loadRoutes()","description":"Parameters","sidebar":"docsSidebar"},"api/index":{"id":"api/index","title":"Cli API","description":"Functions","sidebar":"docsSidebar"},"api/type-aliases/LIB_NAME":{"id":"api/type-aliases/LIB_NAME","title":"LIB\\\\_NAME","description":"","sidebar":"docsSidebar"},"api/variables/babelConfig":{"id":"api/variables/babelConfig","title":"babelConfig","description":"Type Declaration","sidebar":"docsSidebar"},"api/variables/commitlintConfig":{"id":"api/variables/commitlintConfig","title":"commitlintConfig","description":"Type Declaration","sidebar":"docsSidebar"},"api/variables/eslintBaseConfig":{"id":"api/variables/eslintBaseConfig","title":"~~eslintBaseConfig~~","description":"Type Declaration","sidebar":"docsSidebar"},"api/variables/eslintConfig":{"id":"api/variables/eslintConfig","title":"~~eslintConfig~~","description":"Type Declaration","sidebar":"docsSidebar"},"api/variables/eslintFlatBaseConfig":{"id":"api/variables/eslintFlatBaseConfig","title":"eslintFlatBaseConfig","description":"Flat ESLint config for non-React TypeScript libraries and services.","sidebar":"docsSidebar"},"api/variables/eslintFlatBaseConfigStrict":{"id":"api/variables/eslintFlatBaseConfigStrict","title":"eslintFlatBaseConfigStrict","description":"Strict flat ESLint config for non-React TypeScript (no-unsafe-* as error).","sidebar":"docsSidebar"},"api/variables/eslintFlatConfig":{"id":"api/variables/eslintFlatConfig","title":"eslintFlatConfig","description":"Flat ESLint config for React + TypeScript PUI apps.","sidebar":"docsSidebar"},"api/variables/eslintFlatConfigStrict":{"id":"api/variables/eslintFlatConfigStrict","title":"eslintFlatConfigStrict","description":"Strict flat ESLint config for React + TypeScript (errors on no-unsafe-* and exhaustive-deps).","sidebar":"docsSidebar"},"api/variables/jestConfig":{"id":"api/variables/jestConfig","title":"jestConfig","description":"Type Declaration","sidebar":"docsSidebar"},"api/variables/jestNodeConfig":{"id":"api/variables/jestNodeConfig","title":"jestNodeConfig","description":"Type Declaration","sidebar":"docsSidebar"},"api/variables/lintStagedConfig":{"id":"api/variables/lintStagedConfig","title":"lintStagedConfig","description":"Type Declaration","sidebar":"docsSidebar"},"api/variables/prettierConfig":{"id":"api/variables/prettierConfig","title":"prettierConfig","description":"Type Declaration","sidebar":"docsSidebar"},"api/variables/stylelintConfig":{"id":"api/variables/stylelintConfig","title":"stylelintConfig","description":"","sidebar":"docsSidebar"},"api/variables/vitestConfig":{"id":"api/variables/vitestConfig","title":"vitestConfig","description":"","sidebar":"docsSidebar"},"eslint-rules-migration":{"id":"eslint-rules-migration","title":"ESLint rules migration guide (legacy \u2192 ESLint 10 flat config)","description":"This document compares the previous @elliemae/pui-cli ESLint setup (ESLint 8 + .eslintrc.cjs + Airbnb) with the current setup (ESLint 10 + eslint.config.mjs + typescript-eslint v8 flat config).","sidebar":"docsSidebar"},"index":{"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.","sidebar":"docsSidebar"},"pui-cli-9-migration":{"id":"pui-cli-9-migration","title":"pui-cli 9 migration guide","description":"This guide helps PUI consumers upgrade apps and libraries from pui-cli 8 to pui-cli 9.","sidebar":"docsSidebar"},"ssl-certificate-setup":{"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.","sidebar":"docsSidebar"},"stylelint-migration":{"id":"stylelint-migration","title":"Stylelint migration guide (pui-cli 8 \u2192 9 / Stylelint 17)","description":"This document covers Stylelint changes shipped with pui-cli 9 (Stylelint 17.x).","sidebar":"docsSidebar"},"usage-guide":{"id":"usage-guide","title":"Usage Guide","description":"This guide provides detailed documentation for all available commands in @elliemae/pui-cli.","sidebar":"docsSidebar"}}}}')}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[1572],{7963(e,t,i){i.r(t),i.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>f,frontMatter:()=>r,metadata:()=>n,toc:()=>c});const n=JSON.parse('{"id":"api/variables/eslintFlatBaseConfigStrict","title":"eslintFlatBaseConfigStrict","description":"Strict flat ESLint config for non-React TypeScript (no-unsafe-* as error).","source":"@site/docs/api/variables/eslintFlatBaseConfigStrict.md","sourceDirName":"api/variables","slug":"/api/variables/eslintFlatBaseConfigStrict","permalink":"/cli/api/variables/eslintFlatBaseConfigStrict","draft":false,"unlisted":false,"editUrl":"https://git.elliemae.io/platform-ui/pui-cli.git/docs/api/variables/eslintFlatBaseConfigStrict.md","tags":[],"version":"current","frontMatter":{},"sidebar":"docsSidebar","previous":{"title":"eslintFlatBaseConfig","permalink":"/cli/api/variables/eslintFlatBaseConfig"},"next":{"title":"eslintFlatConfig","permalink":"/cli/api/variables/eslintFlatConfig"}}');var a=i(6070),s=i(6607);const r={},l="eslintFlatBaseConfigStrict",o={},c=[];function p(e){const t={code:"code",h1:"h1",header:"header",p:"p",pre:"pre",...(0,s.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.header,{children:(0,a.jsx)(t.h1,{id:"eslintflatbaseconfigstrict",children:"eslintFlatBaseConfigStrict"})}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-ts",children:"const eslintFlatBaseConfigStrict: any = nonReactFlatConfigsStrict;\n"})}),"\n",(0,a.jsxs)(t.p,{children:["Strict flat ESLint config for non-React TypeScript (",(0,a.jsx)(t.code,{children:"no-unsafe-*"})," as error)."]})]})}function f(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(p,{...e})}):p(e)}},6607(e,t,i){i.d(t,{R:()=>r,x:()=>l});var n=i(758);const a={},s=n.createContext(a);function r(e){const t=n.useContext(s);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[1126],{124(t,e,i){i.d(e,{A:()=>r});var s=i(6554),n=i(7766);const r=(t,e)=>s.A.lang.round(n.A.parse(t)[e])},2626(t,e,i){i.d(e,{P:()=>r});var s=i(3316),n=i(7970),r=(0,n.K2)((t,e,i,r)=>{t.attr("class",i);const{width:c,height:l,x:h,y:u}=a(t,e);(0,s.a$)(t,l,c,r);const d=o(h,u,c,l,e);t.attr("viewBox",d),n.Rm.debug(`viewBox configured: ${d} with padding: ${e}`)},"setupViewPortForSVG"),a=(0,n.K2)((t,e)=>{const i=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:i.width+2*e,height:i.height+2*e,x:i.x,y:i.y}},"calculateDimensionsWithPadding"),o=(0,n.K2)((t,e,i,s,n)=>`${t-n} ${e-n} ${i} ${s}`,"createViewBox")},5934(t,e,i){i.d(e,{A:()=>r});var s=i(7970),n=i(7012),r=(0,s.K2)((t,e)=>{let i;"sandbox"===e&&(i=(0,n.Ltv)("#i"+t));return("sandbox"===e?(0,n.Ltv)(i.nodes()[0].contentDocument.body):(0,n.Ltv)("body")).select(`[id="${t}"]`)},"getDiagramElement")},1126(t,e,i){i.d(e,{diagram:()=>k});var s=i(5934),n=i(2626),r=i(7019),a=(i(2452),i(2993),i(3641),i(566),i(9478),i(2864),i(1546)),o=i(3316),c=i(7970),l=i(7012),h=i(941),u=i(124),d=function(){var t=(0,c.K2)(function(t,e,i,s){for(i=i||{},s=t.length;s--;i[t[s]]=e);return i},"o"),e=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52],i=[1,10],s=[1,11],n=[1,12],r=[1,13],a=[1,23],o=[1,24],l=[1,25],h=[1,26],u=[1,27],d=[1,19],y=[1,28],p=[1,29],_=[1,20],g=[1,18],b=[1,21],m=[1,22],f=[1,36],E=[1,37],k=[1,38],T=[1,39],O=[1,40],S=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52,65,66,67,68,69],A=[1,45],N=[1,46],R=[1,55],I=[40,48,50,51,52,70,71],C=[1,66],$=[1,64],x=[1,61],D=[1,65],v=[1,67],w=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,51,52,65,66,67,68,69],L=[65,66,67,68,69],K=[1,84],M=[1,83],B=[1,81],F=[1,82],Y=[6,10,42,47],P=[6,10,13,41,42,47,48,49],z=[1,92],G=[1,91],U=[1,90],Z=[19,58],W=[1,101],j=[1,100],X=[19,58,60,62],V={trace:(0,c.K2)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,DECIMAL_NUM:51,ENTITY_ONE:52,attribute:53,attributeType:54,attributeName:55,attributeKeyTypeList:56,attributeComment:57,ATTRIBUTE_WORD:58,attributeKeyType:59,",":60,ATTRIBUTE_KEY:61,COMMENT:62,cardinality:63,relType:64,ZERO_OR_ONE:65,ZERO_OR_MORE:66,ONE_OR_MORE:67,ONLY_ONE:68,MD_PARENT:69,NON_IDENTIFYING:70,IDENTIFYING:71,WORD:72,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",51:"DECIMAL_NUM",52:"ENTITY_ONE",58:"ATTRIBUTE_WORD",60:",",61:"ATTRIBUTE_KEY",62:"COMMENT",65:"ZERO_OR_ONE",66:"ZERO_OR_MORE",67:"ONE_OR_MORE",68:"ONLY_ONE",69:"MD_PARENT",70:"NON_IDENTIFYING",71:"IDENTIFYING",72:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[11,1],[11,1],[11,1],[18,1],[18,2],[53,2],[53,3],[53,3],[53,4],[54,1],[55,1],[56,1],[56,3],[59,1],[57,1],[12,3],[63,1],[63,1],[63,1],[63,1],[63,1],[64,1],[64,1],[14,1],[14,1],[14,1]],performAction:(0,c.K2)(function(t,e,i,s,n,r,a){var o=r.length-1;switch(n){case 1:break;case 2:case 6:case 7:this.$=[];break;case 3:r[o-1].push(r[o]),this.$=r[o-1];break;case 4:case 5:case 55:case 56:case 57:case 58:case 81:case 65:case 66:case 69:this.$=r[o];break;case 8:s.addEntity(r[o-4]),s.addEntity(r[o-2]),s.addRelationship(r[o-4],r[o],r[o-2],r[o-3]);break;case 9:s.addEntity(r[o-8]),s.addEntity(r[o-4]),s.addRelationship(r[o-8],r[o],r[o-4],r[o-5]),s.setClass([r[o-8]],r[o-6]),s.setClass([r[o-4]],r[o-2]);break;case 10:s.addEntity(r[o-6]),s.addEntity(r[o-2]),s.addRelationship(r[o-6],r[o],r[o-2],r[o-3]),s.setClass([r[o-6]],r[o-4]);break;case 11:s.addEntity(r[o-6]),s.addEntity(r[o-4]),s.addRelationship(r[o-6],r[o],r[o-4],r[o-5]),s.setClass([r[o-4]],r[o-2]);break;case 12:s.addEntity(r[o-3]),s.addAttributes(r[o-3],r[o-1]);break;case 13:s.addEntity(r[o-5]),s.addAttributes(r[o-5],r[o-1]),s.setClass([r[o-5]],r[o-3]);break;case 14:s.addEntity(r[o-2]);break;case 15:s.addEntity(r[o-4]),s.setClass([r[o-4]],r[o-2]);break;case 16:s.addEntity(r[o]);break;case 17:s.addEntity(r[o-2]),s.setClass([r[o-2]],r[o]);break;case 18:s.addEntity(r[o-6],r[o-4]),s.addAttributes(r[o-6],r[o-1]);break;case 19:s.addEntity(r[o-8],r[o-6]),s.addAttributes(r[o-8],r[o-1]),s.setClass([r[o-8]],r[o-3]);break;case 20:s.addEntity(r[o-5],r[o-3]);break;case 21:s.addEntity(r[o-7],r[o-5]),s.setClass([r[o-7]],r[o-2]);break;case 22:s.addEntity(r[o-3],r[o-1]);break;case 23:s.addEntity(r[o-5],r[o-3]),s.setClass([r[o-5]],r[o]);break;case 24:case 25:this.$=r[o].trim(),s.setAccTitle(this.$);break;case 26:case 27:this.$=r[o].trim(),s.setAccDescription(this.$);break;case 32:s.setDirection("TB");break;case 33:s.setDirection("BT");break;case 34:s.setDirection("RL");break;case 35:s.setDirection("LR");break;case 36:this.$=r[o-3],s.addClass(r[o-2],r[o-1]);break;case 37:case 38:case 59:case 67:case 43:this.$=[r[o]];break;case 39:case 40:this.$=r[o-2].concat([r[o]]);break;case 41:this.$=r[o-2],s.setClass(r[o-1],r[o]);break;case 42:this.$=r[o-3],s.addCssStyles(r[o-2],r[o-1]);break;case 44:case 68:r[o-2].push(r[o]),this.$=r[o-2];break;case 46:this.$=r[o-1]+r[o];break;case 54:case 79:case 80:case 70:this.$=r[o].replace(/"/g,"");break;case 60:r[o].push(r[o-1]),this.$=r[o];break;case 61:this.$={type:r[o-1],name:r[o]};break;case 62:this.$={type:r[o-2],name:r[o-1],keys:r[o]};break;case 63:this.$={type:r[o-2],name:r[o-1],comment:r[o]};break;case 64:this.$={type:r[o-3],name:r[o-2],keys:r[o-1],comment:r[o]};break;case 71:this.$={cardA:r[o],relType:r[o-1],cardB:r[o-2]};break;case 72:this.$=s.Cardinality.ZERO_OR_ONE;break;case 73:this.$=s.Cardinality.ZERO_OR_MORE;break;case 74:this.$=s.Cardinality.ONE_OR_MORE;break;case 75:this.$=s.Cardinality.ONLY_ONE;break;case 76:this.$=s.Cardinality.MD_PARENT;break;case 77:this.$=s.Identification.NON_IDENTIFYING;break;case 78:this.$=s.Identification.IDENTIFYING}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:i,24:s,26:n,28:r,29:14,30:15,31:16,32:17,33:a,34:o,35:l,36:h,37:u,40:d,43:y,44:p,48:_,50:g,51:b,52:m},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:30,11:9,22:i,24:s,26:n,28:r,29:14,30:15,31:16,32:17,33:a,34:o,35:l,36:h,37:u,40:d,43:y,44:p,48:_,50:g,51:b,52:m},t(e,[2,5]),t(e,[2,6]),t(e,[2,16],{12:31,63:35,15:[1,32],17:[1,33],20:[1,34],65:f,66:E,67:k,68:T,69:O}),{23:[1,41]},{25:[1,42]},{27:[1,43]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),t(e,[2,30]),t(e,[2,31]),t(S,[2,54]),t(S,[2,55]),t(S,[2,56]),t(S,[2,57]),t(S,[2,58]),t(e,[2,32]),t(e,[2,33]),t(e,[2,34]),t(e,[2,35]),{16:44,40:A,41:N},{16:47,40:A,41:N},{16:48,40:A,41:N},t(e,[2,4]),{11:49,40:d,48:_,50:g,51:b,52:m},{16:50,40:A,41:N},{18:51,19:[1,52],53:53,54:54,58:R},{11:56,40:d,48:_,50:g,51:b,52:m},{64:57,70:[1,58],71:[1,59]},t(I,[2,72]),t(I,[2,73]),t(I,[2,74]),t(I,[2,75]),t(I,[2,76]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),{13:C,38:60,41:$,42:x,45:62,46:63,48:D,49:v},t(w,[2,37]),t(w,[2,38]),{16:68,40:A,41:N,42:x},{13:C,38:69,41:$,42:x,45:62,46:63,48:D,49:v},{13:[1,70],15:[1,71]},t(e,[2,17],{63:35,12:72,17:[1,73],42:x,65:f,66:E,67:k,68:T,69:O}),{19:[1,74]},t(e,[2,14]),{18:75,19:[2,59],53:53,54:54,58:R},{55:76,58:[1,77]},{58:[2,65]},{21:[1,78]},{63:79,65:f,66:E,67:k,68:T,69:O},t(L,[2,77]),t(L,[2,78]),{6:K,10:M,39:80,42:B,47:F},{40:[1,85],41:[1,86]},t(Y,[2,43],{46:87,13:C,41:$,48:D,49:v}),t(P,[2,45]),t(P,[2,50]),t(P,[2,51]),t(P,[2,52]),t(P,[2,53]),t(e,[2,41],{42:x}),{6:K,10:M,39:88,42:B,47:F},{14:89,40:z,50:G,72:U},{16:93,40:A,41:N},{11:94,40:d,48:_,50:g,51:b,52:m},{18:95,19:[1,96],53:53,54:54,58:R},t(e,[2,12]),{19:[2,60]},t(Z,[2,61],{56:97,57:98,59:99,61:W,62:j}),t([19,58,61,62],[2,66]),t(e,[2,22],{15:[1,103],17:[1,102]}),t([40,48,50,51,52],[2,71]),t(e,[2,36]),{13:C,41:$,45:104,46:63,48:D,49:v},t(e,[2,47]),t(e,[2,48]),t(e,[2,49]),t(w,[2,39]),t(w,[2,40]),t(P,[2,46]),t(e,[2,42]),t(e,[2,8]),t(e,[2,79]),t(e,[2,80]),t(e,[2,81]),{13:[1,105],42:x},{13:[1,107],15:[1,106]},{19:[1,108]},t(e,[2,15]),t(Z,[2,62],{57:109,60:[1,110],62:j}),t(Z,[2,63]),t(X,[2,67]),t(Z,[2,70]),t(X,[2,69]),{18:111,19:[1,112],53:53,54:54,58:R},{16:113,40:A,41:N},t(Y,[2,44],{46:87,13:C,41:$,48:D,49:v}),{14:114,40:z,50:G,72:U},{16:115,40:A,41:N},{14:116,40:z,50:G,72:U},t(e,[2,13]),t(Z,[2,64]),{59:117,61:W},{19:[1,118]},t(e,[2,20]),t(e,[2,23],{17:[1,119],42:x}),t(e,[2,11]),{13:[1,120],42:x},t(e,[2,10]),t(X,[2,68]),t(e,[2,18]),{18:121,19:[1,122],53:53,54:54,58:R},{14:123,40:z,50:G,72:U},{19:[1,124]},t(e,[2,21]),t(e,[2,9]),t(e,[2,19])],defaultActions:{55:[2,65],75:[2,60]},parseError:(0,c.K2)(function(t,e){if(!e.recoverable){var i=new Error(t);throw i.hash=e,i}this.trace(t)},"parseError"),parse:(0,c.K2)(function(t){var e=this,i=[0],s=[],n=[null],r=[],a=this.table,o="",l=0,h=0,u=0,d=r.slice.call(arguments,1),y=Object.create(this.lexer),p={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(p.yy[_]=this.yy[_]);y.setInput(t,p.yy),p.yy.lexer=y,p.yy.parser=this,void 0===y.yylloc&&(y.yylloc={});var g=y.yylloc;r.push(g);var b=y.options&&y.options.ranges;function m(){var t;return"number"!=typeof(t=s.pop()||y.lex()||1)&&(t instanceof Array&&(t=(s=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,c.K2)(function(t){i.length=i.length-2*t,n.length=n.length-t,r.length=r.length-t},"popStack"),(0,c.K2)(m,"lex");for(var f,E,k,T,O,S,A,N,R,I={};;){if(k=i[i.length-1],this.defaultActions[k]?T=this.defaultActions[k]:(null==f&&(f=m()),T=a[k]&&a[k][f]),void 0===T||!T.length||!T[0]){var C="";for(S in R=[],a[k])this.terminals_[S]&&S>2&&R.push("'"+this.terminals_[S]+"'");C=y.showPosition?"Parse error on line "+(l+1)+":\n"+y.showPosition()+"\nExpecting "+R.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(C,{text:y.match,token:this.terminals_[f]||f,line:y.yylineno,loc:g,expected:R})}if(T[0]instanceof Array&&T.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+f);switch(T[0]){case 1:i.push(f),n.push(y.yytext),r.push(y.yylloc),i.push(T[1]),f=null,E?(f=E,E=null):(h=y.yyleng,o=y.yytext,l=y.yylineno,g=y.yylloc,u>0&&u--);break;case 2:if(A=this.productions_[T[1]][1],I.$=n[n.length-A],I._$={first_line:r[r.length-(A||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(A||1)].first_column,last_column:r[r.length-1].last_column},b&&(I._$.range=[r[r.length-(A||1)].range[0],r[r.length-1].range[1]]),void 0!==(O=this.performAction.apply(I,[o,h,l,p.yy,T[1],n,r].concat(d))))return O;A&&(i=i.slice(0,-1*A*2),n=n.slice(0,-1*A),r=r.slice(0,-1*A)),i.push(this.productions_[T[1]][0]),n.push(I.$),r.push(I._$),N=a[i[i.length-2]][i[i.length-1]],i.push(N);break;case 3:return!0}}return!0},"parse")},Q=function(){return{EOF:1,parseError:(0,c.K2)(function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},"parseError"),setInput:(0,c.K2)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,c.K2)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,c.K2)(function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===s.length?this.yylloc.first_column:0)+s[s.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,c.K2)(function(){return this._more=!0,this},"more"),reject:(0,c.K2)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,c.K2)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,c.K2)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,c.K2)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,c.K2)(function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,c.K2)(function(t,e){var i,s,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(n.yylloc.range=this.yylloc.range.slice(0))),(s=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var r in n)this[r]=n[r];return!1}return!1},"test_match"),next:(0,c.K2)(function(){if(this.done)return this.EOF;var t,e,i,s;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),r=0;r<n.length;r++)if((i=this._input.match(this.rules[n[r]]))&&(!e||i[0].length>e[0].length)){if(e=i,s=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[r])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[s]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,c.K2)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,c.K2)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,c.K2)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,c.K2)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,c.K2)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,c.K2)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,c.K2)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,c.K2)(function(t,e,i,s){switch(i){case 0:return this.begin("acc_title"),24;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),26;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:case 23:case 28:case 35:break;case 13:return 8;case 14:return 50;case 15:return 72;case 16:return 4;case 17:return this.begin("block"),17;case 18:case 19:case 38:return 49;case 20:case 37:return 42;case 21:return 15;case 22:case 36:return 13;case 24:return 61;case 25:case 26:return 58;case 27:return 62;case 29:return this.popState(),19;case 30:case 77:return e.yytext[0];case 31:return 20;case 32:return 21;case 33:return this.begin("style"),44;case 34:return this.popState(),10;case 39:return this.begin("style"),37;case 40:return 43;case 41:case 45:case 46:case 64:return 65;case 42:case 43:case 44:case 52:case 54:case 66:return 67;case 47:case 48:case 49:case 50:case 51:case 53:case 65:return 66;case 55:case 56:case 58:case 59:case 60:case 63:return 68;case 57:return 51;case 61:return 52;case 62:return 48;case 67:return 69;case 68:case 71:case 72:case 73:return 70;case 69:case 70:return 71;case 74:return 41;case 75:return 47;case 76:return 40;case 78:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\u00C0-\uFFFF\*]*))/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:[0-9]+\.[0-9]+)/i,/^(?:1(?=\s+[A-Za-z_"']))/i,/^(?:1(?=\s+[0-9]))/i,/^(?:1(?=(--|\.\.|\.-|-\.)))/i,/^(?:1\b)/i,/^(?:[0-9]+)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:u(?=[\.\-\|]))/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*|\.)+)/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[34,35,36,37,38,74,75],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[23,24,25,26,27,28,29,30],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,31,32,33,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,76,77,78],inclusive:!0}}}}();function q(){this.yy={}}return V.lexer=Q,(0,c.K2)(q,"Parser"),q.prototype=V,V.Parser=q,new q}();d.parser=d;var y=d,p=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.direction="TB",this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},this.setAccTitle=o.SV,this.getAccTitle=o.iN,this.setAccDescription=o.EI,this.getAccDescription=o.m7,this.setDiagramTitle=o.ke,this.getDiagramTitle=o.ab,this.getConfig=(0,c.K2)(()=>(0,o.D7)().er,"getConfig"),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}static{(0,c.K2)(this,"ErDB")}addEntity(t,e=""){return this.entities.has(t)?!this.entities.get(t)?.alias&&e&&(this.entities.get(t).alias=e,c.Rm.info(`Add alias '${e}' to entity '${t}'`)):(this.entities.set(t,{id:`entity-${t}-${this.entities.size}`,label:t,attributes:[],alias:e,shape:"erBox",look:(0,o.D7)().look??"default",cssClasses:"default",cssStyles:[],labelType:"markdown"}),c.Rm.info("Added new entity :",t)),this.entities.get(t)}getEntity(t){return this.entities.get(t)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(t,e){const i=this.addEntity(t);let s;for(s=e.length-1;s>=0;s--)e[s].keys||(e[s].keys=[]),e[s].comment||(e[s].comment=""),i.attributes.push(e[s]),c.Rm.debug("Added attribute ",e[s].name)}addRelationship(t,e,i,s){const n=this.entities.get(t),r=this.entities.get(i);if(!n||!r)return;const a={entityA:n.id,roleA:e,entityB:r.id,relSpec:s};this.relationships.push(a),c.Rm.debug("Added new relationship :",a)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(t){this.direction=t}getCompiledStyles(t){let e=[];for(const i of t){const t=this.classes.get(i);t?.styles&&(e=[...e,...t.styles??[]].map(t=>t.trim())),t?.textStyles&&(e=[...e,...t.textStyles??[]].map(t=>t.trim()))}return e}addCssStyles(t,e){for(const i of t){const t=this.entities.get(i);if(!e||!t)return;for(const i of e)t.cssStyles.push(i)}}addClass(t,e){t.forEach(t=>{let i=this.classes.get(t);void 0===i&&(i={id:t,styles:[],textStyles:[]},this.classes.set(t,i)),e&&e.forEach(function(t){if(/color/.exec(t)){const e=t.replace("fill","bgFill");i.textStyles.push(e)}i.styles.push(t)})})}setClass(t,e){for(const i of t){const t=this.entities.get(i);if(t)for(const i of e)t.cssClasses+=" "+i}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],(0,o.IU)()}getData(){const t=[],e=[],i=(0,o.D7)();let s=0;for(const r of this.entities.keys()){const e=this.entities.get(r);e&&(e.cssCompiledStyles=this.getCompiledStyles(e.cssClasses.split(" ")),e.colorIndex=s++,t.push(e))}let n=0;for(const r of this.relationships){const t={id:(0,a.rY)(r.entityA,r.entityB,{prefix:"id",counter:n++}),type:"normal",curve:"basis",start:r.entityA,end:r.entityB,label:r.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:r.relSpec.cardB.toLowerCase(),arrowTypeEnd:r.relSpec.cardA.toLowerCase(),pattern:"IDENTIFYING"==r.relSpec.relType?"solid":"dashed",look:i.look,labelType:"markdown"};e.push(t)}return{nodes:t,edges:e,other:{},config:i,direction:"TB"}}},_={};(0,c.VA)(_,{draw:()=>g});var g=(0,c.K2)(async function(t,e,i,h){c.Rm.info("REF0:"),c.Rm.info("Drawing er diagram (unified)",e);const{securityLevel:u,er:d,layout:y}=(0,o.D7)(),p=h.db.getData(),_=(0,s.A)(e,u);p.type=h.type,p.layoutAlgorithm=(0,r.q7)(y),p.config.flowchart.nodeSpacing=d?.nodeSpacing||140,p.config.flowchart.rankSpacing=d?.rankSpacing||80,p.direction=h.db.getDirection();const{config:g}=p,{look:b}=g;p.markers="neo"===b?["only_one_neo","zero_or_one_neo","one_or_more_neo","zero_or_more_neo"]:["only_one","zero_or_one","one_or_more","zero_or_more"],p.diagramId=e,await(0,r.XX)(p,_),"elk"===p.layoutAlgorithm&&_.select(".edges").lower();const m=_.selectAll('[id*="-background"]');Array.from(m).length>0&&m.each(function(){const t=(0,l.Ltv)(this),e=t.attr("id").replace("-background",""),i=_.select(`#${CSS.escape(e)}`);if(!i.empty()){const e=i.attr("transform");t.attr("transform",e)}});a._K.insertTitle(_,"erDiagramTitleText",d?.titleTopMargin??25,h.db.getDiagramTitle()),(0,n.P)(_,8,"erDiagram",d?.useMaxWidth??!0)},"draw"),b=(0,c.K2)((t,e)=>{const i=u.A,s=i(t,"r"),n=i(t,"g"),r=i(t,"b");return h.A(s,n,r,e)},"fade"),m=new Set(["redux-color","redux-dark-color"]),f=(0,c.K2)(t=>{const{theme:e,look:i,bkgColorArray:s,borderColorArray:n}=t;if(!m.has(e))return"";const r=s?.length>0;let a="";for(let o=0;o<t.THEME_COLOR_LIMIT;o++)a+=`\n\n [data-look="${i}"][data-color-id="color-${o}"].node path {\n stroke: ${n[o]};\n ${r?`fill: ${s[o]};`:""}\n }\n\n [data-look="${i}"][data-color-id="color-${o}"].node rect {\n stroke: ${n[o]};\n ${r?`fill: ${s[o]};`:""}\n }\n `;return a},"genColor"),E=(0,c.K2)(t=>{const{look:e,theme:i,erEdgeLabelBackground:s,strokeWidth:n}=t;return`\n ${f(t)}\n .entityBox {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n }\n\n .relationshipLabelBox {\n fill: ${t.tertiaryColor};\n opacity: 0.7;\n background-color: ${t.tertiaryColor};\n rect {\n opacity: 0.5;\n }\n }\n\n .labelBkg {\n background-color: ${m.has(i)&&s?s:b(t.tertiaryColor,.5)};\n }\n\n .edgeLabel {\n background-color: ${m.has(i)&&s?s:t.edgeLabelBackground};\n }\n .edgeLabel .label rect {\n fill: ${m.has(i)&&s?s:t.edgeLabelBackground};\n }\n .edgeLabel .label text {\n fill: ${t.textColor};\n }\n\n .edgeLabel .label {\n fill: ${t.nodeBorder};\n font-size: 14px;\n }\n\n .label {\n font-family: ${t.fontFamily};\n color: ${t.nodeTextColor||t.textColor};\n }\n\n .edge-pattern-dashed {\n stroke-dasharray: 8,8;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon\n {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n stroke-width: ${"neo"===e?n:"1px"};\n }\n\n .relationshipLine {\n stroke: ${t.lineColor};\n stroke-width: ${"neo"===e?n:"1px"};\n fill: none;\n }\n\n .marker {\n fill: none !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n }\n [data-look=neo].labelBkg {\n background-color: ${b(t.tertiaryColor,.5)};\n }\n`},"getStyles"),k={parser:y,get db(){return new p},renderer:_,styles:E}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[1127],{1127(e,i,l){l.d(i,{createPieServices:()=>a.f});var a=l(6886);l(3228)}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[1298],{2626(e,t,n){n.d(t,{P:()=>o});var i=n(3316),s=n(7970),o=(0,s.K2)((e,t,n,o)=>{e.attr("class",n);const{width:c,height:l,x:h,y:d}=r(e,t);(0,i.a$)(e,l,c,o);const g=a(h,d,c,l,t);e.attr("viewBox",g),s.Rm.debug(`viewBox configured: ${g} with padding: ${t}`)},"setupViewPortForSVG"),r=(0,s.K2)((e,t)=>{const n=e.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:n.width+2*t,height:n.height+2*t,x:n.x,y:n.y}},"calculateDimensionsWithPadding"),a=(0,s.K2)((e,t,n,i,s)=>`${e-s} ${t-s} ${n} ${i}`,"createViewBox")},5934(e,t,n){n.d(t,{A:()=>o});var i=n(7970),s=n(7012),o=(0,i.K2)((e,t)=>{let n;"sandbox"===t&&(n=(0,s.Ltv)("#i"+e));return("sandbox"===t?(0,s.Ltv)(n.nodes()[0].contentDocument.body):(0,s.Ltv)("body")).select(`[id="${e}"]`)},"getDiagramElement")},1298(e,t,n){n.d(t,{diagram:()=>x});var i=n(5934),s=n(2626),o=n(7019),r=(n(2452),n(2993),n(3641),n(566),n(9478),n(2864),n(1546),n(3316)),a=n(7970);const c=new Uint8Array(16);const l=[];for(let L=0;L<256;++L)l.push((L+256).toString(16).slice(1));function h(e,t=0){return(l[e[t+0]]+l[e[t+1]]+l[e[t+2]]+l[e[t+3]]+"-"+l[e[t+4]]+l[e[t+5]]+"-"+l[e[t+6]]+l[e[t+7]]+"-"+l[e[t+8]]+l[e[t+9]]+"-"+l[e[t+10]]+l[e[t+11]]+l[e[t+12]]+l[e[t+13]]+l[e[t+14]]+l[e[t+15]]).toLowerCase()}const d=function(e,t,n){return t||e||!crypto.randomUUID?function(e,t,n){e=e||{};const i=e.random??e.rng?.()??crypto.getRandomValues(c);if(i.length<16)throw new Error("Random bytes length must be >= 16");if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,t){if((n=n||0)<0||n+16>t.length)throw new RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[n+e]=i[e];return t}return h(i)}(e,t,n):crypto.randomUUID()};var g=n(3212),u=n(8480),p=n(9515),y=function(){var e=(0,a.K2)(function(e,t,n,i){for(n=n||{},i=e.length;i--;n[e[i]]=t);return n},"o"),t=[1,4],n=[1,13],i=[1,12],s=[1,15],o=[1,16],r=[1,20],c=[1,19],l=[6,7,8],h=[1,26],d=[1,24],g=[1,25],u=[6,7,11],p=[1,6,13,15,16,19,22],y=[1,33],m=[1,34],f=[1,6,7,11,13,15,16,19,22],_={trace:(0,a.K2)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:(0,a.K2)(function(e,t,n,i,s,o,r){var a=o.length-1;switch(s){case 6:case 7:return i;case 8:i.getLogger().trace("Stop NL ");break;case 9:i.getLogger().trace("Stop EOF ");break;case 11:i.getLogger().trace("Stop NL2 ");break;case 12:i.getLogger().trace("Stop EOF2 ");break;case 15:i.getLogger().info("Node: ",o[a].id),i.addNode(o[a-1].length,o[a].id,o[a].descr,o[a].type);break;case 16:i.getLogger().trace("Icon: ",o[a]),i.decorateNode({icon:o[a]});break;case 17:case 21:i.decorateNode({class:o[a]});break;case 18:i.getLogger().trace("SPACELIST");break;case 19:i.getLogger().trace("Node: ",o[a].id),i.addNode(0,o[a].id,o[a].descr,o[a].type);break;case 20:i.decorateNode({icon:o[a]});break;case 25:i.getLogger().trace("node found ..",o[a-2]),this.$={id:o[a-1],descr:o[a-1],type:i.getType(o[a-2],o[a])};break;case 26:this.$={id:o[a],descr:o[a],type:i.nodeType.DEFAULT};break;case 27:i.getLogger().trace("node found ..",o[a-3]),this.$={id:o[a-3],descr:o[a-1],type:i.getType(o[a-2],o[a])}}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:t},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:t},{6:n,7:[1,10],9:9,12:11,13:i,14:14,15:s,16:o,17:17,18:18,19:r,22:c},e(l,[2,3]),{1:[2,2]},e(l,[2,4]),e(l,[2,5]),{1:[2,6],6:n,12:21,13:i,14:14,15:s,16:o,17:17,18:18,19:r,22:c},{6:n,9:22,12:11,13:i,14:14,15:s,16:o,17:17,18:18,19:r,22:c},{6:h,7:d,10:23,11:g},e(u,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:r,22:c}),e(u,[2,18]),e(u,[2,19]),e(u,[2,20]),e(u,[2,21]),e(u,[2,23]),e(u,[2,24]),e(u,[2,26],{19:[1,30]}),{20:[1,31]},{6:h,7:d,10:32,11:g},{1:[2,7],6:n,12:21,13:i,14:14,15:s,16:o,17:17,18:18,19:r,22:c},e(p,[2,14],{7:y,11:m}),e(f,[2,8]),e(f,[2,9]),e(f,[2,10]),e(u,[2,15]),e(u,[2,16]),e(u,[2,17]),{20:[1,35]},{21:[1,36]},e(p,[2,13],{7:y,11:m}),e(f,[2,11]),e(f,[2,12]),{21:[1,37]},e(u,[2,25]),e(u,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:(0,a.K2)(function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},"parseError"),parse:(0,a.K2)(function(e){var t=this,n=[0],i=[],s=[null],o=[],r=this.table,c="",l=0,h=0,d=0,g=o.slice.call(arguments,1),u=Object.create(this.lexer),p={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(p.yy[y]=this.yy[y]);u.setInput(e,p.yy),p.yy.lexer=u,p.yy.parser=this,void 0===u.yylloc&&(u.yylloc={});var m=u.yylloc;o.push(m);var f=u.options&&u.options.ranges;function _(){var e;return"number"!=typeof(e=i.pop()||u.lex()||1)&&(e instanceof Array&&(e=(i=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,a.K2)(function(e){n.length=n.length-2*e,s.length=s.length-e,o.length=o.length-e},"popStack"),(0,a.K2)(_,"lex");for(var b,k,E,S,x,L,N,D,$,I={};;){if(E=n[n.length-1],this.defaultActions[E]?S=this.defaultActions[E]:(null==b&&(b=_()),S=r[E]&&r[E][b]),void 0===S||!S.length||!S[0]){var T="";for(L in $=[],r[E])this.terminals_[L]&&L>2&&$.push("'"+this.terminals_[L]+"'");T=u.showPosition?"Parse error on line "+(l+1)+":\n"+u.showPosition()+"\nExpecting "+$.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(T,{text:u.match,token:this.terminals_[b]||b,line:u.yylineno,loc:m,expected:$})}if(S[0]instanceof Array&&S.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(S[0]){case 1:n.push(b),s.push(u.yytext),o.push(u.yylloc),n.push(S[1]),b=null,k?(b=k,k=null):(h=u.yyleng,c=u.yytext,l=u.yylineno,m=u.yylloc,d>0&&d--);break;case 2:if(N=this.productions_[S[1]][1],I.$=s[s.length-N],I._$={first_line:o[o.length-(N||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(N||1)].first_column,last_column:o[o.length-1].last_column},f&&(I._$.range=[o[o.length-(N||1)].range[0],o[o.length-1].range[1]]),void 0!==(x=this.performAction.apply(I,[c,h,l,p.yy,S[1],s,o].concat(g))))return x;N&&(n=n.slice(0,-1*N*2),s=s.slice(0,-1*N),o=o.slice(0,-1*N)),n.push(this.productions_[S[1]][0]),s.push(I.$),o.push(I._$),D=r[n[n.length-2]][n[n.length-1]],n.push(D);break;case 3:return!0}}return!0},"parse")},b=function(){return{EOF:1,parseError:(0,a.K2)(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:(0,a.K2)(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,a.K2)(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:(0,a.K2)(function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var s=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:(0,a.K2)(function(){return this._more=!0,this},"more"),reject:(0,a.K2)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,a.K2)(function(e){this.unput(this.match.slice(e))},"less"),pastInput:(0,a.K2)(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,a.K2)(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,a.K2)(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},"showPosition"),test_match:(0,a.K2)(function(e,t){var n,i,s;if(this.options.backtrack_lexer&&(s={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(s.yylloc.range=this.yylloc.range.slice(0))),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var o in s)this[o]=s[o];return!1}return!1},"test_match"),next:(0,a.K2)(function(){if(this.done)return this.EOF;var e,t,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var s=this._currentRules(),o=0;o<s.length;o++)if((n=this._input.match(this.rules[s[o]]))&&(!t||n[0].length>t[0].length)){if(t=n,i=o,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,s[o])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,s[i]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,a.K2)(function(){var e=this.next();return e||this.lex()},"lex"),begin:(0,a.K2)(function(e){this.conditionStack.push(e)},"begin"),popState:(0,a.K2)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,a.K2)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,a.K2)(function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},"topState"),pushState:(0,a.K2)(function(e){this.begin(e)},"pushState"),stateStackSize:(0,a.K2)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,a.K2)(function(e,t,n,i){switch(n){case 0:return e.getLogger().trace("Found comment",t.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:case 23:case 26:this.popState();break;case 5:e.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return e.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:e.getLogger().trace("end icon"),this.popState();break;case 10:return e.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return e.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return e.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return e.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:case 15:case 16:case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 24:e.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return e.getLogger().trace("description:",t.yytext),"NODE_DESCR";case 27:return this.popState(),e.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),e.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),e.getLogger().trace("node end ...",t.yytext),"NODE_DEND";case 30:case 33:case 34:return this.popState(),e.getLogger().trace("node end (("),"NODE_DEND";case 31:case 32:return this.popState(),e.getLogger().trace("node end (-"),"NODE_DEND";case 35:case 36:return e.getLogger().trace("Long description:",t.yytext),20}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}}}();function k(){this.yy={}}return _.lexer=b,(0,a.K2)(k,"Parser"),k.prototype=_,_.Parser=k,new k}();y.parser=y;var m=y,f={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},_=class{constructor(){this.nodes=[],this.count=0,this.elements={},this.getLogger=this.getLogger.bind(this),this.nodeType=f,this.clear(),this.getType=this.getType.bind(this),this.getElementById=this.getElementById.bind(this),this.getParent=this.getParent.bind(this),this.getMindmap=this.getMindmap.bind(this),this.addNode=this.addNode.bind(this),this.decorateNode=this.decorateNode.bind(this)}static{(0,a.K2)(this,"MindmapDB")}clear(){this.nodes=[],this.count=0,this.elements={},this.baseLevel=void 0}getParent(e){for(let t=this.nodes.length-1;t>=0;t--)if(this.nodes[t].level<e)return this.nodes[t];return null}getMindmap(){return this.nodes.length>0?this.nodes[0]:null}addNode(e,t,n,i){a.Rm.info("addNode",e,t,n,i);let s=!1;0===this.nodes.length?(this.baseLevel=e,e=0,s=!0):void 0!==this.baseLevel&&(e-=this.baseLevel,s=!1);const o=(0,r.D7)();let c=o.mindmap?.padding??r.UI.mindmap.padding;switch(i){case this.nodeType.ROUNDED_RECT:case this.nodeType.RECT:case this.nodeType.HEXAGON:c*=2}const l={id:this.count++,nodeId:(0,r.jZ)(t,o),level:e,descr:(0,r.jZ)(n,o),type:i,children:[],width:o.mindmap?.maxNodeWidth??r.UI.mindmap.maxNodeWidth,padding:c,isRoot:s},h=this.getParent(e);if(h)h.children.push(l),this.nodes.push(l);else{if(!s)throw new Error(`There can be only one root. No parent could be found for ("${l.descr}")`);this.nodes.push(l)}}getType(e,t){switch(a.Rm.debug("In get type",e,t),e){case"[":return this.nodeType.RECT;case"(":return")"===t?this.nodeType.ROUNDED_RECT:this.nodeType.CLOUD;case"((":return this.nodeType.CIRCLE;case")":return this.nodeType.CLOUD;case"))":return this.nodeType.BANG;case"{{":return this.nodeType.HEXAGON;default:return this.nodeType.DEFAULT}}setElementForId(e,t){this.elements[e]=t}getElementById(e){return this.elements[e]}decorateNode(e){if(!e)return;const t=(0,r.D7)(),n=this.nodes[this.nodes.length-1];e.icon&&(n.icon=(0,r.jZ)(e.icon,t)),e.class&&(n.class=(0,r.jZ)(e.class,t))}type2Str(e){switch(e){case this.nodeType.DEFAULT:return"no-border";case this.nodeType.RECT:return"rect";case this.nodeType.ROUNDED_RECT:return"rounded-rect";case this.nodeType.CIRCLE:return"circle";case this.nodeType.CLOUD:return"cloud";case this.nodeType.BANG:return"bang";case this.nodeType.HEXAGON:return"hexgon";default:return"no-border"}}assignSections(e,t){if(0===e.level?e.section=void 0:e.section=t,e.children)for(const[n,i]of e.children.entries()){const s=0===e.level?n%11:t;this.assignSections(i,s)}}flattenNodes(e,t){const n=(0,r.D7)(),i=["mindmap-node"];!0===e.isRoot?i.push("section-root","section--1"):void 0!==e.section&&i.push(`section-${e.section}`),e.class&&i.push(e.class);const s=i.join(" "),o=(0,a.K2)(e=>{const t=(n.theme?.toLowerCase()??"").includes("redux");switch(e){case f.CIRCLE:return"mindmapCircle";case f.RECT:return"rect";case f.ROUNDED_RECT:return"rounded";case f.CLOUD:return"cloud";case f.BANG:return"bang";case f.HEXAGON:return"hexagon";case f.DEFAULT:return t?"rounded":"defaultMindmapNode";default:return"rect"}},"getShapeFromType"),c={id:e.id.toString(),domId:"node_"+e.id.toString(),label:e.descr,labelType:"markdown",isGroup:!1,shape:o(e.type),width:e.width,height:e.height??0,padding:e.padding,cssClasses:s,cssStyles:[],look:n.look,icon:e.icon,x:e.x,y:e.y,level:e.level,nodeId:e.nodeId,type:e.type,section:e.section};if(t.push(c),e.children)for(const r of e.children)this.flattenNodes(r,t)}generateEdges(e,t){if(!e.children)return;const n=(0,r.D7)();for(const i of e.children){let s="edge";void 0!==i.section&&(s+=` section-edge-${i.section}`);s+=` edge-depth-${e.level+1}`;const o={id:`edge_${e.id}_${i.id}`,start:e.id.toString(),end:i.id.toString(),type:"normal",curve:"basis",thickness:"normal",look:n.look,classes:s,depth:e.level,section:i.section};t.push(o),this.generateEdges(i,t)}}getData(){const e=this.getMindmap(),t=(0,r.D7)(),n=t;if(void 0!==(0,r.TM)().layout||(n.layout="cose-bilkent"),!e)return{nodes:[],edges:[],config:n};a.Rm.debug("getData: mindmapRoot",e,t),this.assignSections(e);const i=[],s=[];this.flattenNodes(e,i),this.generateEdges(e,s),a.Rm.debug(`getData: processed ${i.length} nodes and ${s.length} edges`);const o=new Map;for(const r of i)o.set(r.id,{shape:r.shape,width:r.width,height:r.height,padding:r.padding});return{nodes:i,edges:s,config:n,rootNode:e,markers:["point"],direction:"TB",nodeSpacing:50,rankSpacing:50,shapes:Object.fromEntries(o),type:"mindmap",diagramId:"mindmap-"+d()}}getLogger(){return a.Rm}},b={draw:(0,a.K2)(async(e,t,n,c)=>{a.Rm.debug("Rendering mindmap diagram\n"+e);const l=c.db,h=l.getData(),d=(0,i.A)(t,h.config.securityLevel);h.type=c.type,h.layoutAlgorithm=(0,o.q7)(h.config.layout,{fallback:"cose-bilkent"}),h.diagramId=t;if(!l.getMindmap())return;h.nodes.forEach(e=>{"rounded"===e.shape?(e.radius=15,e.taper=15,e.stroke="none",e.width=0,e.padding=15):"circle"===e.shape?e.padding=10:"rect"===e.shape?(e.width=0,e.padding=10):"hexagon"===e.shape&&(e.width=0,e.height=0)}),await(0,o.XX)(h,d);const{themeVariables:g}=(0,r.zj)(),{useGradient:u,gradientStart:p,gradientStop:y}=g;if(u&&p&&y){const e=d.attr("id"),t=d.append("defs").append("linearGradient").attr("id",`${e}-gradient`).attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");t.append("stop").attr("offset","0%").attr("stop-color",p).attr("stop-opacity",1),t.append("stop").attr("offset","100%").attr("stop-color",y).attr("stop-opacity",1)}(0,s.P)(d,h.config.mindmap?.padding??r.UI.mindmap.padding,"mindmapDiagram",h.config.mindmap?.useMaxWidth??r.UI.mindmap.useMaxWidth)},"draw")},k=(0,a.K2)(e=>{const{theme:t,look:n}=e;let i="";for(let s=0;s<e.THEME_COLOR_LIMIT;s++)e["lineColor"+s]=e["lineColor"+s]||e["cScaleInv"+s],(0,g.A)(e["lineColor"+s])?e["lineColor"+s]=(0,u.A)(e["lineColor"+s],20):e["lineColor"+s]=(0,p.A)(e["lineColor"+s],20);for(let s=0;s<e.THEME_COLOR_LIMIT;s++){const o=""+("neo"===n?Math.max(10-2*(s-1),2):17-3*s);i+=`\n .section-${s-1} rect, .section-${s-1} path, .section-${s-1} circle, .section-${s-1} polygon, .section-${s-1} path {\n fill: ${e["cScale"+s]};\n }\n .section-${s-1} text {\n fill: ${e["cScaleLabel"+s]};\n }\n .section-${s-1} span {\n color: ${e["cScaleLabel"+s]};\n }\n .node-icon-${s-1} {\n font-size: 40px;\n color: ${e["cScaleLabel"+s]};\n }\n .section-edge-${s-1}{\n stroke: ${e["cScale"+s]};\n }\n .edge-depth-${s-1}{\n stroke-width: ${o};\n }\n .section-${s-1} line {\n stroke: ${e["cScaleInv"+s]} ;\n stroke-width: 3;\n }\n\n .disabled, .disabled circle, .disabled text {\n fill: lightgray;\n }\n .disabled text {\n fill: #efefef;\n }\n [data-look="neo"].mindmap-node.section-${s-1} rect, [data-look="neo"].mindmap-node.section-${s-1} path, [data-look="neo"].mindmap-node.section-${s-1} circle, [data-look="neo"].mindmap-node.section-${s-1} polygon {\n fill: ${"redux"===t||"redux-dark"===t||"neutral"===t?e.mainBkg:e["cScale"+s]};\n stroke: ${"redux"===t||"redux-dark"===t?e.nodeBorder:e["cScale"+s]};\n stroke-width: ${e.strokeWidth??2}px;\n }\n [data-look="neo"].section-edge-${s-1}{\n stroke: ${t?.includes("redux")||"neo-dark"===t?e.nodeBorder:e["cScale"+s]};\n }\n [data-look="neo"].mindmap-node.section-${s-1} text {\n fill: ${"redux"===t||"redux-dark"===t?e.nodeBorder:e["cScaleLabel"+("neutral"===t?1:s)]};\n }\n `}return i},"genSections"),E=(0,a.K2)((e,t,n)=>{let i="";for(let s=0;s<e;s++)i+=`\n [data-look="neo"].mindmap-node.section-${s-1} rect, [data-look="neo"].mindmap-node.section-${s-1} path, [data-look="neo"].mindmap-node.section-${s-1} circle, [data-look="neo"].mindmap-node.section-${s-1} polygon {\n stroke: url(${t}-gradient);\n fill: ${n};\n }\n .section-${s-1} line {\n stroke-width: 0;\n }`;return i},"genGradient"),S=(0,a.K2)(e=>{const{theme:t}=e,n=e.svgId,i=e.dropShadow?e.dropShadow.replace("url(#drop-shadow)",`url(${n}-drop-shadow)`):"none";return`\n .edge {\n stroke-width: 3;\n }\n ${k(e)}\n .section-root rect, .section-root path, .section-root circle, .section-root polygon {\n fill: ${e.git0};\n }\n .section-root text {\n fill: ${e.gitBranchLabel0};\n }\n .section-root span {\n color: ${t?.includes("redux")?e.nodeBorder:e.gitBranchLabel0};\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n .mindmap-node-label {\n dy: 1em;\n alignment-baseline: middle;\n text-anchor: middle;\n dominant-baseline: middle;\n text-align: center;\n }\n [data-look="neo"].mindmap-node {\n filter: ${i};\n }\n [data-look="neo"].mindmap-node.section-root rect, [data-look="neo"].mindmap-node.section-root path, [data-look="neo"].mindmap-node.section-root circle, [data-look="neo"].mindmap-node.section-root polygon {\n fill: ${t?.includes("redux")?e.mainBkg:e.git0};\n }\n [data-look="neo"].mindmap-node.section-root .text-inner-tspan {\n fill: ${t?.includes("redux")?e.nodeBorder:e["cScaleLabel"+("neutral"===t?1:0)]};\n }\n ${e.useGradient&&n&&e.mainBkg?E(e.THEME_COLOR_LIMIT,n,e.mainBkg):""}\n`},"getStyles"),x={get db(){return new _},renderer:b,parser:m,styles:S}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[5455],{2668(e,i,n){n.r(i),n.d(i,{assets:()=>d,contentTitle:()=>t,default:()=>h,frontMatter:()=>c,metadata:()=>s,toc:()=>o});const s=JSON.parse('{"id":"pui-cli-9-migration","title":"pui-cli 9 migration guide","description":"This guide helps PUI consumers upgrade apps and libraries from pui-cli 8 to pui-cli 9.","source":"@site/docs/pui-cli-9-migration.md","sourceDirName":".","slug":"/pui-cli-9-migration","permalink":"/cli/pui-cli-9-migration","draft":false,"unlisted":false,"editUrl":"https://git.elliemae.io/platform-ui/pui-cli.git/docs/pui-cli-9-migration.md","tags":[],"version":"current","frontMatter":{},"sidebar":"docsSidebar","previous":{"title":"PUI CLI Documentation","permalink":"/cli/"},"next":{"title":"Trust SSL Certificate Guide","permalink":"/cli/ssl-certificate-setup"}}');var l=n(6070),r=n(6607);const c={},t="pui-cli 9 migration guide",d={},o=[{value:"At a glance",id:"at-a-glance",level:2},{value:"Recommended rollout",id:"recommended-rollout",level:2},{value:"Step-by-step",id:"step-by-step",level:2},{value:"1. Upgrade toolchain",id:"1-upgrade-toolchain",level:3},{value:"2. Upgrade pui-cli",id:"2-upgrade-pui-cli",level:3},{value:"3. Add flat ESLint config",id:"3-add-flat-eslint-config",level:3},{value:"4. Update Stylelint config",id:"4-update-stylelint-config",level:3},{value:"5. Fix lint",id:"5-fix-lint",level:3},{value:"6. Install the migration skill (optional)",id:"6-install-the-migration-skill-optional",level:3},{value:"Temporary overrides",id:"temporary-overrides",level:2},{value:"Strict config (after cleanup)",id:"strict-config-after-cleanup",level:2},{value:"Husky 9",id:"husky-9",level:2},{value:"Vitest 4",id:"vitest-4",level:2},{value:"semantic-release 25",id:"semantic-release-25",level:2},{value:"1. Upgrade semantic-release (if pinned locally)",id:"1-upgrade-semantic-release-if-pinned-locally",level:3},{value:"2. Migrate release config to ESM",id:"2-migrate-release-config-to-esm",level:3},{value:"3. Custom plugins or overrides",id:"3-custom-plugins-or-overrides",level:3},{value:"4. Verify locally",id:"4-verify-locally",level:3},{value:"Agent-assisted migration",id:"agent-assisted-migration",level:3},{value:"CI checklist",id:"ci-checklist",level:2},{value:"Getting help",id:"getting-help",level:2}];function a(e){const i={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",input:"input",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)(i.header,{children:(0,l.jsx)(i.h1,{id:"pui-cli-9-migration-guide",children:"pui-cli 9 migration guide"})}),"\n",(0,l.jsxs)(i.p,{children:["This guide helps PUI consumers upgrade apps and libraries from ",(0,l.jsx)(i.strong,{children:"pui-cli 8"})," to ",(0,l.jsx)(i.strong,{children:"pui-cli 9"}),".\nFor ESLint rule-level detail, see ",(0,l.jsx)(i.a,{href:"/cli/eslint-rules-migration",children:"ESLint rules migration guide"}),"."]}),"\n",(0,l.jsx)(i.hr,{}),"\n",(0,l.jsx)(i.h2,{id:"at-a-glance",children:"At a glance"}),"\n",(0,l.jsxs)(i.table,{children:[(0,l.jsx)(i.thead,{children:(0,l.jsxs)(i.tr,{children:[(0,l.jsx)(i.th,{children:"Topic"}),(0,l.jsx)(i.th,{children:"pui-cli 8"}),(0,l.jsx)(i.th,{children:"pui-cli 9"})]})}),(0,l.jsxs)(i.tbody,{children:[(0,l.jsxs)(i.tr,{children:[(0,l.jsx)(i.td,{children:"Node.js"}),(0,l.jsx)(i.td,{children:"20"}),(0,l.jsx)(i.td,{children:(0,l.jsx)(i.strong,{children:"24"})})]}),(0,l.jsxs)(i.tr,{children:[(0,l.jsx)(i.td,{children:"pnpm"}),(0,l.jsx)(i.td,{children:"8\u201310"}),(0,l.jsx)(i.td,{children:(0,l.jsx)(i.strong,{children:"11"})})]}),(0,l.jsxs)(i.tr,{children:[(0,l.jsx)(i.td,{children:"App/library bundler"}),(0,l.jsx)(i.td,{children:"Webpack"}),(0,l.jsxs)(i.td,{children:[(0,l.jsx)(i.strong,{children:"Webpack"})," (unchanged)"]})]}),(0,l.jsxs)(i.tr,{children:[(0,l.jsx)(i.td,{children:"ESLint"}),(0,l.jsxs)(i.td,{children:["8.x + ",(0,l.jsx)(i.code,{children:".eslintrc.cjs"})]}),(0,l.jsxs)(i.td,{children:[(0,l.jsx)(i.strong,{children:"10.x"})," + ",(0,l.jsx)(i.code,{children:"eslint.config.mjs"})]})]}),(0,l.jsxs)(i.tr,{children:[(0,l.jsx)(i.td,{children:"Stylelint"}),(0,l.jsxs)(i.td,{children:["15.x + ",(0,l.jsx)(i.code,{children:"stylelint-config-styled-components"})]}),(0,l.jsxs)(i.td,{children:[(0,l.jsx)(i.strong,{children:"17.x"})," + ",(0,l.jsx)(i.code,{children:"postcss-styled-syntax"})," (styled-components rules inlined)"]})]}),(0,l.jsxs)(i.tr,{children:[(0,l.jsxs)(i.td,{children:["Vitest (via ",(0,l.jsx)(i.code,{children:"pui-cli vitest"}),")"]}),(0,l.jsx)(i.td,{children:"1.x"}),(0,l.jsxs)(i.td,{children:[(0,l.jsx)(i.strong,{children:"4.x"})," (uses Vite internally; not the app bundler)"]})]}),(0,l.jsxs)(i.tr,{children:[(0,l.jsx)(i.td,{children:"TypeScript lint"}),(0,l.jsxs)(i.td,{children:[(0,l.jsx)(i.code,{children:"@typescript-eslint"})," v5"]}),(0,l.jsxs)(i.td,{children:[(0,l.jsx)(i.code,{children:"typescript-eslint"})," v8"]})]}),(0,l.jsxs)(i.tr,{children:[(0,l.jsx)(i.td,{children:"Exported tsconfig"}),(0,l.jsx)(i.td,{children:(0,l.jsx)(i.code,{children:'moduleResolution: "node"'})}),(0,l.jsx)(i.td,{children:(0,l.jsx)(i.strong,{children:(0,l.jsx)(i.code,{children:'moduleResolution: "bundler"'})})})]}),(0,l.jsxs)(i.tr,{children:[(0,l.jsx)(i.td,{children:"Shared config import"}),(0,l.jsx)(i.td,{children:(0,l.jsx)(i.code,{children:"require('@elliemae/pui-cli').eslintConfig"})}),(0,l.jsx)(i.td,{children:(0,l.jsx)(i.code,{children:"import { eslintFlatConfig } from '@elliemae/pui-cli/eslint'"})})]}),(0,l.jsxs)(i.tr,{children:[(0,l.jsx)(i.td,{children:"Stylelint import"}),(0,l.jsx)(i.td,{children:(0,l.jsx)(i.code,{children:"require('@elliemae/pui-cli').stylelintConfig"})}),(0,l.jsxs)(i.td,{children:[(0,l.jsx)(i.code,{children:"import { stylelintConfig } from '@elliemae/pui-cli/stylelint'"})," (or keep CJS re-export)"]})]}),(0,l.jsxs)(i.tr,{children:[(0,l.jsx)(i.td,{children:"semantic-release"}),(0,l.jsxs)(i.td,{children:["21.x + ",(0,l.jsx)(i.code,{children:"release.config.cjs"})]}),(0,l.jsxs)(i.td,{children:[(0,l.jsx)(i.strong,{children:"25.x"})," + ",(0,l.jsx)(i.code,{children:"release.config.mjs"})," (ESM ",(0,l.jsx)(i.code,{children:"extends"})," for shareable config)"]})]}),(0,l.jsxs)(i.tr,{children:[(0,l.jsx)(i.td,{children:"Husky"}),(0,l.jsx)(i.td,{children:"8.x"}),(0,l.jsx)(i.td,{children:(0,l.jsx)(i.strong,{children:"9.x"})})]}),(0,l.jsxs)(i.tr,{children:[(0,l.jsx)(i.td,{children:"Cursor skill"}),(0,l.jsx)(i.td,{children:"\u2014"}),(0,l.jsx)(i.td,{children:(0,l.jsx)(i.code,{children:"pui-cli skills install migrate-to-pui-cli-9 --target all"})})]})]})]}),"\n",(0,l.jsx)(i.hr,{}),"\n",(0,l.jsx)(i.h2,{id:"recommended-rollout",children:"Recommended rollout"}),"\n",(0,l.jsxs)(i.p,{children:["Ship in ",(0,l.jsx)(i.strong,{children:"small PRs"})," to reduce regression risk:"]}),"\n",(0,l.jsxs)(i.ol,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.strong,{children:"Toolchain"})," \u2014 Node 24 + pnpm 11 + CI image updates"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.strong,{children:"Dependency bump"})," \u2014 ",(0,l.jsx)(i.code,{children:"@elliemae/pui-cli@9"})," without ESLint config change"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.strong,{children:"ESLint flat config"})," \u2014 add ",(0,l.jsx)(i.code,{children:"eslint.config.mjs"}),", delete legacy ESLint files, fix lint"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.strong,{children:"Stylelint 17"})," \u2014 simplify ",(0,l.jsx)(i.code,{children:"stylelint.config.cjs"})," (remove ",(0,l.jsx)(i.code,{children:"stylelint-config-styled-components"})," overrides); optional ",(0,l.jsx)(i.code,{children:"stylelint.config.mjs"})]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.strong,{children:"Husky 9"})," \u2014 update ",(0,l.jsx)(i.code,{children:"prepare"})," script and hook files (if ",(0,l.jsx)(i.code,{children:".husky/"})," exists)"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.strong,{children:"Vitest 4"})," \u2014 only if the repo uses ",(0,l.jsx)(i.code,{children:"pui-cli vitest"})," (see below)"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.strong,{children:"semantic-release 25"})," \u2014 migrate ",(0,l.jsx)(i.code,{children:"release.config.cjs"})," \u2192 ",(0,l.jsx)(i.code,{children:"release.config.mjs"})," (libraries that publish to npm)"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.strong,{children:"Debt (optional)"})," \u2014 remove temporary rule overrides, adopt strict config"]}),"\n"]}),"\n",(0,l.jsxs)(i.p,{children:["Each PR should pass: ",(0,l.jsx)(i.code,{children:"lint"}),", ",(0,l.jsx)(i.code,{children:"tscheck"}),", ",(0,l.jsx)(i.code,{children:"test"}),", ",(0,l.jsx)(i.code,{children:"build"}),"."]}),"\n",(0,l.jsx)(i.hr,{}),"\n",(0,l.jsx)(i.h2,{id:"step-by-step",children:"Step-by-step"}),"\n",(0,l.jsx)(i.h3,{id:"1-upgrade-toolchain",children:"1. Upgrade toolchain"}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-bash",children:"# .node-version\n24\n"})}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-json",children:'// package.json (root monorepos)\n"packageManager": "pnpm@11.x.x"\n'})}),"\n",(0,l.jsx)(i.p,{children:"Update Jenkins/docker Node images before merging."}),"\n",(0,l.jsx)(i.h3,{id:"2-upgrade-pui-cli",children:"2. Upgrade pui-cli"}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-bash",children:"pnpm add -D @elliemae/pui-cli@9\n"})}),"\n",(0,l.jsx)(i.h3,{id:"3-add-flat-eslint-config",children:"3. Add flat ESLint config"}),"\n",(0,l.jsx)(i.p,{children:(0,l.jsx)(i.strong,{children:"React app or library:"})}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-js",children:"// eslint.config.mjs\nimport { eslintFlatConfig } from '@elliemae/pui-cli/eslint';\n\nexport default eslintFlatConfig;\n"})}),"\n",(0,l.jsx)(i.p,{children:(0,l.jsx)(i.strong,{children:"Node / TS service:"})}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-js",children:"// eslint.config.mjs\nimport { eslintFlatBaseConfig } from '@elliemae/pui-cli/eslint';\n\nexport default eslintFlatBaseConfig;\n"})}),"\n",(0,l.jsx)(i.p,{children:"Remove:"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsx)(i.li,{children:(0,l.jsx)(i.code,{children:".eslintrc.cjs"})}),"\n",(0,l.jsx)(i.li,{children:(0,l.jsx)(i.code,{children:".eslintignore"})}),"\n"]}),"\n",(0,l.jsx)(i.h3,{id:"4-update-stylelint-config",children:"4. Update Stylelint config"}),"\n",(0,l.jsxs)(i.p,{children:["pui-cli 9 ships ",(0,l.jsx)(i.strong,{children:"Stylelint 17"})," with ",(0,l.jsx)(i.code,{children:"stylelint-config-recommended@18"})," and ",(0,l.jsx)(i.code,{children:"postcss-styled-syntax"}),". The unmaintained ",(0,l.jsx)(i.code,{children:"stylelint-config-styled-components"})," package is removed; its rules are inlined in the shared config."]}),"\n",(0,l.jsx)(i.p,{children:(0,l.jsx)(i.strong,{children:"Minimal (CJS \u2014 still supported):"})}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-javascript",children:"// stylelint.config.cjs\nconst { stylelintConfig } = require('@elliemae/pui-cli');\nmodule.exports = stylelintConfig;\n"})}),"\n",(0,l.jsxs)(i.p,{children:["If your repo previously filtered out ",(0,l.jsx)(i.code,{children:"stylelint-config-styled-components"})," from ",(0,l.jsx)(i.code,{children:"extends"}),", delete that workaround \u2014 the base config no longer extends it."]}),"\n",(0,l.jsx)(i.p,{children:(0,l.jsx)(i.strong,{children:"Recommended (ESM):"})}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-javascript",children:"// stylelint.config.mjs\nimport { stylelintConfig } from '@elliemae/pui-cli/stylelint';\n\nexport default stylelintConfig;\n"})}),"\n",(0,l.jsxs)(i.p,{children:[(0,l.jsx)(i.code,{children:"pui-cli lint"})," prefers ",(0,l.jsx)(i.code,{children:"stylelint.config.mjs"})," when present, otherwise falls back to ",(0,l.jsx)(i.code,{children:"stylelint.config.cjs"}),"."]}),"\n",(0,l.jsxs)(i.p,{children:["See ",(0,l.jsx)(i.a,{href:"/cli/stylelint-migration",children:"Stylelint migration guide"})," for version and rule changes."]}),"\n",(0,l.jsx)(i.h3,{id:"5-fix-lint",children:"5. Fix lint"}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-bash",children:"pnpm exec pui-cli lint --fix\npnpm exec pui-cli lint\npnpm exec pui-cli tscheck --files\npnpm test\npnpm run build\n"})}),"\n",(0,l.jsx)(i.h3,{id:"6-install-the-migration-skill-optional",children:"6. Install the migration skill (optional)"}),"\n",(0,l.jsx)(i.p,{children:"Gives Cursor, Claude Code, and GitHub Copilot agents a step-by-step playbook in the repo:"}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-bash",children:"pnpm exec pui-cli skills list\npnpm exec pui-cli skills install migrate-to-pui-cli-9 --target all\n"})}),"\n",(0,l.jsxs)(i.p,{children:["Skills are copied to ",(0,l.jsx)(i.code,{children:".cursor/skills/"}),", ",(0,l.jsx)(i.code,{children:".claude/skills/"}),", and ",(0,l.jsx)(i.code,{children:".github/skills/"})," (commit them if you want the whole team to share the same agent guidance)."]}),"\n",(0,l.jsx)(i.hr,{}),"\n",(0,l.jsx)(i.h2,{id:"temporary-overrides",children:"Temporary overrides"}),"\n",(0,l.jsxs)(i.p,{children:["Large repos may have pre-existing ",(0,l.jsx)(i.code,{children:"any"})," usage. Legacy ESLint reported these as ",(0,l.jsx)(i.strong,{children:"warnings"}),"; flat config defaults them to ",(0,l.jsx)(i.strong,{children:"error"}),"."]}),"\n",(0,l.jsx)(i.p,{children:"Short-term override (remove in a follow-up):"}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-js",children:"import { eslintFlatConfig } from '@elliemae/pui-cli/eslint';\n\nexport default [\n ...eslintFlatConfig,\n {\n rules: {\n '@typescript-eslint/no-explicit-any': 'warn',\n },\n },\n];\n"})}),"\n",(0,l.jsx)(i.p,{children:"Libraries with heavy decorator/micro-frontend typings may need additional one-off overrides \u2014 keep them minimal and tracked."}),"\n",(0,l.jsx)(i.hr,{}),"\n",(0,l.jsx)(i.h2,{id:"strict-config-after-cleanup",children:"Strict config (after cleanup)"}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-js",children:"import { eslintFlatConfigStrict } from '@elliemae/pui-cli/eslint';\n\nexport default eslintFlatConfigStrict;\n"})}),"\n",(0,l.jsxs)(i.p,{children:["Strict mode elevates ",(0,l.jsx)(i.code,{children:"no-unsafe-*"})," and ",(0,l.jsx)(i.code,{children:"exhaustive-deps"})," to error."]}),"\n",(0,l.jsx)(i.hr,{}),"\n",(0,l.jsx)(i.h2,{id:"husky-9",children:"Husky 9"}),"\n",(0,l.jsx)(i.p,{children:"If your repo uses Husky 8 hooks from pui-cli boilerplate:"}),"\n",(0,l.jsxs)(i.ol,{children:["\n",(0,l.jsxs)(i.li,{children:["Upgrade: ",(0,l.jsx)(i.code,{children:"pnpm add -D husky@9"})]}),"\n",(0,l.jsxs)(i.li,{children:["Update ",(0,l.jsx)(i.code,{children:"package.json"}),":","\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-diff",children:'- "prepare": "[ -n \\"$CI\\" ] || husky install"\n+ "prepare": "[ -n \\"$CI\\" ] || husky"\n'})}),"\n"]}),"\n",(0,l.jsxs)(i.li,{children:["Remove the shebang and ",(0,l.jsx)(i.code,{children:"husky.sh"})," source from each hook in ",(0,l.jsx)(i.code,{children:".husky/"}),":","\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-diff",children:'- #!/bin/sh\n- . "$(dirname "$0")/_/husky.sh"\n\npnpm -s dlx lint-staged\n'})}),"\n"]}),"\n",(0,l.jsxs)(i.li,{children:["Delete ",(0,l.jsx)(i.code,{children:".husky/.gitignore"})," if present (v9 regenerates ",(0,l.jsx)(i.code,{children:".husky/_"})," on install)."]}),"\n",(0,l.jsxs)(i.li,{children:["Remove ",(0,l.jsx)(i.code,{children:"husky-init"})," from devDependencies (use ",(0,l.jsx)(i.code,{children:"pnpm exec husky init"})," for new projects)."]}),"\n",(0,l.jsxs)(i.li,{children:["Run ",(0,l.jsx)(i.code,{children:"pnpm prepare"})," and verify with a test commit."]}),"\n"]}),"\n",(0,l.jsxs)(i.p,{children:[(0,l.jsx)(i.strong,{children:"Environment variable changes:"})," ",(0,l.jsx)(i.code,{children:"HUSKY_SKIP_HOOKS"})," / ",(0,l.jsx)(i.code,{children:"HUSKY_SKIP_INSTALL"})," \u2192 ",(0,l.jsx)(i.code,{children:"HUSKY=0"}),"; ",(0,l.jsx)(i.code,{children:"HUSKY_GIT_PARAMS"})," \u2192 use ",(0,l.jsx)(i.code,{children:"$1"})," in hook scripts."]}),"\n",(0,l.jsx)(i.hr,{}),"\n",(0,l.jsx)(i.h2,{id:"vitest-4",children:"Vitest 4"}),"\n",(0,l.jsxs)(i.p,{children:["Skip this section if the repo uses Jest (",(0,l.jsx)(i.code,{children:"pui-cli test"}),") only. ",(0,l.jsx)(i.strong,{children:"pui-cli 9 still builds apps and libraries with Webpack"}),"; Vite is used by Vitest (and optional ",(0,l.jsx)(i.code,{children:"pui-cli buildCDN"}),"), not for production bundling."]}),"\n",(0,l.jsxs)(i.p,{children:["After bumping ",(0,l.jsx)(i.code,{children:"@elliemae/pui-cli@9"}),", align local test dependencies with the versions pui-cli ships:"]}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-bash",children:"pnpm add -D vitest@4 @vitest/coverage-v8@4 vite@8 @vitejs/plugin-react@6 vite-tsconfig-paths@6\npnpm remove @vitest/coverage-c8 @types/uuid # if present; uuid 14+ includes types\n"})}),"\n",(0,l.jsxs)(i.p,{children:[(0,l.jsx)(i.strong,{children:"Extend the shared config"})," (recommended):"]}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-typescript",children:"// vitest.config.ts\nimport { defineConfig, mergeConfig } from 'vitest/config';\nimport { vitestConfig } from '@elliemae/pui-cli/vitest';\n\nexport default mergeConfig(vitestConfig, defineConfig({\n test: {\n // repo-specific overrides\n },\n}));\n"})}),"\n",(0,l.jsxs)(i.p,{children:[(0,l.jsxs)(i.strong,{children:["If you spread ",(0,l.jsx)(i.code,{children:"vitestConfig"})," manually"]}),", update any Vitest 1.x options:"]}),"\n",(0,l.jsxs)(i.table,{children:[(0,l.jsx)(i.thead,{children:(0,l.jsxs)(i.tr,{children:[(0,l.jsx)(i.th,{children:"pui-cli 8 / Vitest 1"}),(0,l.jsx)(i.th,{children:"pui-cli 9 / Vitest 4"})]})}),(0,l.jsxs)(i.tbody,{children:[(0,l.jsxs)(i.tr,{children:[(0,l.jsx)(i.td,{children:(0,l.jsx)(i.code,{children:"test.deps.optimizer.web"})}),(0,l.jsx)(i.td,{children:(0,l.jsx)(i.code,{children:"test.deps.optimizer.client"})})]}),(0,l.jsxs)(i.tr,{children:[(0,l.jsx)(i.td,{children:(0,l.jsx)(i.code,{children:"@vitest/coverage-c8"})}),(0,l.jsxs)(i.td,{children:[(0,l.jsx)(i.code,{children:"@vitest/coverage-v8"})," (coverage provider ",(0,l.jsx)(i.code,{children:"v8"}),")"]})]}),(0,l.jsxs)(i.tr,{children:[(0,l.jsx)(i.td,{children:(0,l.jsx)(i.code,{children:"import { PluginOption } from 'vite'"})}),(0,l.jsxs)(i.td,{children:[(0,l.jsx)(i.code,{children:"import type { PluginOption } from 'vite'"})," (Vite 8)"]})]})]})]}),"\n",(0,l.jsxs)(i.p,{children:[(0,l.jsx)(i.strong,{children:"TypeScript:"})," exported ",(0,l.jsx)(i.code,{children:"@elliemae/pui-cli/app.tsconfig.json"})," and ",(0,l.jsx)(i.code,{children:"library.tsconfig.json"})," use ",(0,l.jsx)(i.code,{children:'moduleResolution: "bundler"'}),". If your ",(0,l.jsx)(i.code,{children:"tsconfig.json"})," extends them, reinstall pui-cli and re-run ",(0,l.jsx)(i.code,{children:"tscheck"}),". Custom tsconfigs that import ",(0,l.jsx)(i.code,{children:"vitest/config"})," or ",(0,l.jsx)(i.code,{children:"vite"})," may need the same setting."]}),"\n",(0,l.jsxs)(i.p,{children:[(0,l.jsx)(i.strong,{children:"Vitest config import:"})," use ",(0,l.jsx)(i.code,{children:"@elliemae/pui-cli/vitest"})," (not the package root). pui-cli 9 publishes ",(0,l.jsx)(i.code,{children:"types"})," on each ",(0,l.jsx)(i.code,{children:"package.json"})," ",(0,l.jsx)(i.code,{children:"exports"})," entry so ",(0,l.jsx)(i.code,{children:"tsc"})," resolves declarations under ",(0,l.jsx)(i.code,{children:'moduleResolution: "bundler"'})," \u2014 no ",(0,l.jsx)(i.code,{children:"tsconfig"})," ",(0,l.jsx)(i.code,{children:"paths"})," workaround."]}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-bash",children:"pnpm exec pui-cli vitest --passWithNoTests\npnpm exec pui-cli tscheck --files\n"})}),"\n",(0,l.jsx)(i.hr,{}),"\n",(0,l.jsx)(i.h2,{id:"semantic-release-25",children:"semantic-release 25"}),"\n",(0,l.jsxs)(i.p,{children:["pui-cli 9 ships ",(0,l.jsx)(i.strong,{children:"semantic-release 25"})," with an ESM shareable config at ",(0,l.jsx)(i.code,{children:"@elliemae/pui-cli/releaseConfig"}),". semantic-release 22+ loads ESM ",(0,l.jsx)(i.code,{children:"extends"})," targets via dynamic ",(0,l.jsx)(i.code,{children:"import()"})," \u2014 the old ",(0,l.jsx)(i.code,{children:"release.config.cjs"})," + ",(0,l.jsx)(i.code,{children:"require()"})," path no longer works for the shared config."]}),"\n",(0,l.jsxs)(i.p,{children:[(0,l.jsxs)(i.strong,{children:["Libraries that run ",(0,l.jsx)(i.code,{children:"semantic-release"})," in CI"]})," should migrate in the same PR as the pui-cli 9 bump (or immediately after)."]}),"\n",(0,l.jsx)(i.h3,{id:"1-upgrade-semantic-release-if-pinned-locally",children:"1. Upgrade semantic-release (if pinned locally)"}),"\n",(0,l.jsxs)(i.p,{children:["Most PUI libraries inherit semantic-release from ",(0,l.jsx)(i.code,{children:"@elliemae/pui-cli"}),". If your ",(0,l.jsx)(i.code,{children:"package.json"})," pins ",(0,l.jsx)(i.code,{children:"semantic-release"})," or ",(0,l.jsx)(i.code,{children:"@semantic-release/*"})," plugins directly, align with pui-cli 9:"]}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-bash",children:"pnpm add -D semantic-release@25 @semantic-release/changelog@6 @semantic-release/exec@7 @semantic-release/git@10\n"})}),"\n",(0,l.jsxs)(i.p,{children:["Remove explicit pins if the repo only uses ",(0,l.jsx)(i.code,{children:"pnpm release"})," and relies on pui-cli's dependency tree."]}),"\n",(0,l.jsx)(i.h3,{id:"2-migrate-release-config-to-esm",children:"2. Migrate release config to ESM"}),"\n",(0,l.jsx)(i.p,{children:(0,l.jsx)(i.strong,{children:"Before:"})}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-javascript",children:"// release.config.cjs\nmodule.exports = {\n extends: '@elliemae/pui-cli/releaseConfig',\n};\n"})}),"\n",(0,l.jsx)(i.p,{children:(0,l.jsx)(i.strong,{children:"After:"})}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-javascript",children:"// release.config.mjs\n/** @type {import('semantic-release').GlobalConfig} */\nexport default {\n extends: '@elliemae/pui-cli/releaseConfig',\n};\n"})}),"\n",(0,l.jsxs)(i.p,{children:["Delete ",(0,l.jsx)(i.code,{children:"release.config.cjs"})," after adding ",(0,l.jsx)(i.code,{children:"release.config.mjs"}),"."]}),"\n",(0,l.jsx)(i.h3,{id:"3-custom-plugins-or-overrides",children:"3. Custom plugins or overrides"}),"\n",(0,l.jsxs)(i.p,{children:["Keep repo-specific plugins as relative paths from the config file. ESM plugins use ",(0,l.jsx)(i.code,{children:"export default"}),":"]}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-javascript",children:"// release.config.mjs\nexport default {\n extends: '@elliemae/pui-cli/releaseConfig',\n plugins: [\n '@semantic-release/commit-analyzer',\n // ...other plugins from the shared config if replacing extends entirely\n './my-custom-plugin.mjs',\n ],\n};\n"})}),"\n",(0,l.jsxs)(i.p,{children:["CJS plugins (",(0,l.jsx)(i.code,{children:".cjs"}),") still work when referenced by path."]}),"\n",(0,l.jsx)(i.h3,{id:"4-verify-locally",children:"4. Verify locally"}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-bash",children:"pnpm exec semantic-release --dry-run\n"})}),"\n",(0,l.jsx)(i.h3,{id:"agent-assisted-migration",children:"Agent-assisted migration"}),"\n",(0,l.jsx)(i.p,{children:"Install the pui-cli 9 skill so Cursor / Copilot agents follow the full config migration playbook (ESLint, Stylelint, Vitest, Husky, and semantic-release):"}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-bash",children:"pnpm exec pui-cli skills install migrate-to-pui-cli-9 --target all\n"})}),"\n",(0,l.jsx)(i.p,{children:"Then ask the agent to migrate configuration files for pui-cli 9."}),"\n",(0,l.jsx)(i.hr,{}),"\n",(0,l.jsx)(i.h2,{id:"ci-checklist",children:"CI checklist"}),"\n",(0,l.jsxs)(i.ul,{className:"contains-task-list",children:["\n",(0,l.jsxs)(i.li,{className:"task-list-item",children:[(0,l.jsx)(i.input,{type:"checkbox",disabled:!0})," ","Node 24 in pipeline"]}),"\n",(0,l.jsxs)(i.li,{className:"task-list-item",children:[(0,l.jsx)(i.input,{type:"checkbox",disabled:!0})," ","pnpm 11 in pipeline"]}),"\n",(0,l.jsxs)(i.li,{className:"task-list-item",children:[(0,l.jsx)(i.input,{type:"checkbox",disabled:!0})," ",(0,l.jsx)(i.code,{children:"pui-cli lint"})," (0 errors)"]}),"\n",(0,l.jsxs)(i.li,{className:"task-list-item",children:[(0,l.jsx)(i.input,{type:"checkbox",disabled:!0})," ",(0,l.jsx)(i.code,{children:"pui-cli tscheck --files"})]}),"\n",(0,l.jsxs)(i.li,{className:"task-list-item",children:[(0,l.jsx)(i.input,{type:"checkbox",disabled:!0})," ","Unit tests"]}),"\n",(0,l.jsxs)(i.li,{className:"task-list-item",children:[(0,l.jsx)(i.input,{type:"checkbox",disabled:!0})," ","Production build"]}),"\n",(0,l.jsxs)(i.li,{className:"task-list-item",children:[(0,l.jsx)(i.input,{type:"checkbox",disabled:!0})," ","lint-staged / husky hooks pass locally"]}),"\n",(0,l.jsxs)(i.li,{className:"task-list-item",children:[(0,l.jsx)(i.input,{type:"checkbox",disabled:!0})," ",(0,l.jsx)(i.code,{children:"semantic-release --dry-run"})," (libraries that publish to npm)"]}),"\n"]}),"\n",(0,l.jsx)(i.hr,{}),"\n",(0,l.jsx)(i.h2,{id:"getting-help",children:"Getting help"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.strong,{children:"Rule changes:"})," ",(0,l.jsx)(i.a,{href:"/cli/eslint-rules-migration",children:"eslint-rules-migration.md"})]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.strong,{children:"Stylelint changes:"})," ",(0,l.jsx)(i.a,{href:"/cli/stylelint-migration",children:"stylelint-migration.md"})]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.strong,{children:"Commands:"})," ",(0,l.jsx)(i.a,{href:"/cli/usage-guide",children:"usage guide"})]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.strong,{children:"Platform team:"})," ",(0,l.jsx)(i.code,{children:"#pui-platform"})," or your team's platform-ui channel"]}),"\n"]})]})}function h(e={}){const{wrapper:i}={...(0,r.R)(),...e.components};return i?(0,l.jsx)(i,{...e,children:(0,l.jsx)(a,{...e})}):a(e)}},6607(e,i,n){n.d(i,{R:()=>c,x:()=>t});var s=n(758);const l={},r=s.createContext(l);function c(e){const i=s.useContext(r);return s.useMemo(function(){return"function"==typeof e?e(i):{...i,...e}},[i,e])}function t(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:c(e.components),s.createElement(r.Provider,{value:i},e.children)}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[1617],{1617(e,i,l){l.d(i,{createEventModelingServices:()=>a.g});var a=l(8382);l(3228)}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[6130],{8140(e,t,i){i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>n,toc:()=>c});const n=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://git.elliemae.io/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 a=i(6070),s=i(6607);const o={},r="LIB_NAME",l={},c=[];function p(e){const t={code:"code",h1:"h1",header:"header",pre:"pre",...(0,s.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.header,{children:(0,a.jsx)(t.h1,{id:"lib_name",children:"LIB_NAME"})}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-ts",children:'type LIB_NAME = "pui-cli";\n'})})]})}function u(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(p,{...e})}):p(e)}},6607(e,t,i){i.d(t,{R:()=>o,x:()=>r});var n=i(758);const a={},s=n.createContext(a);function o(e){const t=n.useContext(s);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[1700],{1700(e,i,l){l.d(i,{createTreemapServices:()=>a.d});var a=l(5419);l(3228)}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[8401],{3040(e,n,t){"use strict";t.r(n),t.d(n,{default:()=>Wt});var s=t(758),a=t(4485),i=t(8243),r=t(6070);const o=s.createContext(null);function c({children:e,content:n}){const t=function(e){return(0,s.useMemo)(()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc}),[e])}(n);return(0,r.jsx)(o.Provider,{value:t,children:e})}function l(){const e=(0,s.useContext)(o);if(null===e)throw new i.dV("DocProvider");return e}function d(){const{metadata:e,frontMatter:n,assets:t}=l();return(0,r.jsx)(a.be,{title:e.title,description:e.description,keywords:n.keywords,image:t.image??n.image})}var u=t(3526),m=t(5284),h=t(2984),f=t(6258);function x(e){const{permalink:n,title:t,subLabel:s,isNext:a}=e;return(0,r.jsxs)(f.A,{className:(0,u.A)("pagination-nav__link",a?"pagination-nav__link--next":"pagination-nav__link--prev"),to:n,children:[s&&(0,r.jsx)("div",{className:"pagination-nav__sublabel",children:s}),(0,r.jsx)("div",{className:"pagination-nav__label",children:t})]})}function p(e){const{className:n,previous:t,next:s}=e;return(0,r.jsxs)("nav",{className:(0,u.A)(n,"pagination-nav"),"aria-label":(0,h.T)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[t&&(0,r.jsx)(x,{...t,subLabel:(0,r.jsx)(h.A,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),s&&(0,r.jsx)(x,{...s,subLabel:(0,r.jsx)(h.A,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}function g(){const{metadata:e}=l();return(0,r.jsx)(p,{className:"docusaurus-mt-lg",previous:e.previous,next:e.next})}var b=t(7958),j=t(7215),v=t(3386),N=t(4823),A=t(5754);const y={unreleased:function({siteTitle:e,versionMetadata:n}){return(0,r.jsx)(h.A,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:e,versionLabel:(0,r.jsx)("b",{children:n.label})},children:"This is unreleased documentation for {siteTitle} {versionLabel} version."})},unmaintained:function({siteTitle:e,versionMetadata:n}){return(0,r.jsx)(h.A,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:e,versionLabel:(0,r.jsx)("b",{children:n.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function L(e){const n=y[e.versionMetadata.banner];return(0,r.jsx)(n,{...e})}function C({versionLabel:e,to:n,onClick:t}){return(0,r.jsx)(h.A,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:e,latestVersionLink:(0,r.jsx)("b",{children:(0,r.jsx)(f.A,{to:n,onClick:t,children:(0,r.jsx)(h.A,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:"For up-to-date documentation, see the {latestVersionLink} ({versionLabel})."})}function k({className:e,versionMetadata:n}){const{siteConfig:{title:t}}=(0,b.A)(),{pluginId:s}=(0,j.vT)({failfast:!0}),{savePreferredVersionName:a}=(0,N.g1)(s),{latestDocSuggestion:i,latestVersionSuggestion:o}=(0,j.HW)(s),c=i??(l=o).docs.find(e=>e.id===l.mainDocId);var l;return(0,r.jsxs)("div",{className:(0,u.A)(e,v.G.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,r.jsx)("div",{children:(0,r.jsx)(L,{siteTitle:t,versionMetadata:n})}),(0,r.jsx)("div",{className:"margin-top--md",children:(0,r.jsx)(C,{versionLabel:o.label,to:c.path,onClick:()=>a(o.name)})})]})}function w({className:e}){const n=(0,A.r)();return n.banner?(0,r.jsx)(k,{className:e,versionMetadata:n}):null}function _({className:e}){const n=(0,A.r)();return n.badge?(0,r.jsx)("span",{className:(0,u.A)(e,v.G.docs.docVersionBadge,"badge badge--secondary"),children:(0,r.jsx)(h.A,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label},children:"Version: {versionLabel}"})}):null}const T="tag_LIAx",B="tagRegular_RRkA",H="tagWithCount_kEc0";function M({permalink:e,label:n,count:t,description:s}){return(0,r.jsxs)(f.A,{rel:"tag",href:e,title:s,className:(0,u.A)(T,t?H:B),children:[n,t&&(0,r.jsx)("span",{children:t})]})}const E="tags_Cnsq",I="tag_n9xH";function S({tags:e}){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("b",{children:(0,r.jsx)(h.A,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,r.jsx)("ul",{className:(0,u.A)(E,"padding--none","margin-left--sm"),children:e.map(e=>(0,r.jsx)("li",{className:I,children:(0,r.jsx)(M,{...e})},e.permalink))})]})}const R="iconEdit_sbI6";function U({className:e,...n}){return(0,r.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,u.A)(R,e),"aria-hidden":"true",...n,children:(0,r.jsx)("g",{children:(0,r.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function V({editUrl:e}){return(0,r.jsxs)(f.A,{to:e,className:v.G.common.editThisPage,children:[(0,r.jsx)(U,{}),(0,r.jsx)(h.A,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}function z(e={}){const{i18n:{currentLocale:n}}=(0,b.A)(),t=function(){const{i18n:{currentLocale:e,localeConfigs:n}}=(0,b.A)();return n[e].calendar}();return new Intl.DateTimeFormat(n,{calendar:t,...e})}function O({lastUpdatedAt:e}){const n=new Date(e),t=z({day:"numeric",month:"short",year:"numeric",timeZone:"UTC"}).format(n);return(0,r.jsx)(h.A,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,r.jsx)("b",{children:(0,r.jsx)("time",{dateTime:n.toISOString(),itemProp:"dateModified",children:t})})},children:" on {date}"})}function D({lastUpdatedBy:e}){return(0,r.jsx)(h.A,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,r.jsx)("b",{children:e})},children:" by {user}"})}function $({lastUpdatedAt:e,lastUpdatedBy:n}){return(0,r.jsxs)("span",{className:v.G.common.lastUpdated,children:[(0,r.jsx)(h.A,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:e?(0,r.jsx)(O,{lastUpdatedAt:e}):"",byUser:n?(0,r.jsx)(D,{lastUpdatedBy:n}):""},children:"Last updated{atDate}{byUser}"}),!1]})}const F="lastUpdated_n07i",G="noPrint_sn50";function W({className:e,editUrl:n,lastUpdatedAt:t,lastUpdatedBy:s}){return(0,r.jsxs)("div",{className:(0,u.A)("row",e),children:[(0,r.jsx)("div",{className:(0,u.A)("col",G),children:n&&(0,r.jsx)(V,{editUrl:n})}),(0,r.jsx)("div",{className:(0,u.A)("col",F),children:(t||s)&&(0,r.jsx)($,{lastUpdatedAt:t,lastUpdatedBy:s})})]})}function P(){const{metadata:e}=l(),{editUrl:n,lastUpdatedAt:t,lastUpdatedBy:s,tags:a}=e,i=a.length>0,o=!!(n||t||s);return i||o?(0,r.jsxs)("footer",{className:(0,u.A)(v.G.docs.docFooter,"docusaurus-mt-lg"),children:[i&&(0,r.jsx)("div",{className:(0,u.A)("row margin-top--sm",v.G.docs.docFooterTagsRow),children:(0,r.jsx)("div",{className:"col",children:(0,r.jsx)(S,{tags:a})})}),o&&(0,r.jsx)(W,{className:(0,u.A)("margin-top--sm",v.G.docs.docFooterEditMetaRow),editUrl:n,lastUpdatedAt:t,lastUpdatedBy:s})]}):null}var q=t(6153),Z=t(2041);function J(e){const n=e.map(e=>({...e,parentIndex:-1,children:[]})),t=Array(7).fill(-1);n.forEach((e,n)=>{const s=t.slice(2,e.level);e.parentIndex=Math.max(...s),t[e.level]=n});const s=[];return n.forEach(e=>{const{parentIndex:t,...a}=e;t>=0?n[t].children.push(a):s.push(a)}),s}function Q({toc:e,minHeadingLevel:n,maxHeadingLevel:t}){return e.flatMap(e=>{const s=Q({toc:e.children,minHeadingLevel:n,maxHeadingLevel:t});return function(e){return e.level>=n&&e.level<=t}(e)?[{...e,children:s}]:s})}function X(e){const n=e.getBoundingClientRect();return n.top===n.bottom?X(e.parentNode):n}function K(e,{anchorTopOffset:n}){const t=e.find(e=>X(e).top>=n);if(t){return function(e){return e.top>0&&e.bottom<window.innerHeight/2}(X(t))?t:e[e.indexOf(t)-1]??null}return e[e.length-1]??null}function Y(){const e=(0,s.useRef)(0),{navbar:{hideOnScroll:n}}=(0,Z.p)();return(0,s.useEffect)(()=>{e.current=n?0:document.querySelector(".navbar").clientHeight},[n]),e}function ee(e){const n=(0,s.useRef)(void 0),t=Y();(0,s.useEffect)(()=>{if(!e)return()=>{};const{linkClassName:s,linkActiveClassName:a,minHeadingLevel:i,maxHeadingLevel:r}=e;function o(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(s),o=function({minHeadingLevel:e,maxHeadingLevel:n}){const t=[];for(let s=e;s<=n;s+=1)t.push(`h${s}.anchor`);return Array.from(document.querySelectorAll(t.join()))}({minHeadingLevel:i,maxHeadingLevel:r}),c=K(o,{anchorTopOffset:t.current}),l=e.find(e=>c&&c.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e));e.forEach(e=>{!function(e,t){t?(n.current&&n.current!==e&&n.current.classList.remove(a),e.classList.add(a),n.current=e):e.classList.remove(a)}(e,e===l)})}return document.addEventListener("scroll",o),document.addEventListener("resize",o),o(),()=>{document.removeEventListener("scroll",o),document.removeEventListener("resize",o)}},[e,t])}function ne({toc:e,className:n,linkClassName:t,isChild:s}){return e.length?(0,r.jsx)("ul",{className:s?void 0:n,children:e.map(e=>(0,r.jsxs)("li",{children:[(0,r.jsx)(f.A,{to:`#${e.id}`,className:t??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,r.jsx)(ne,{isChild:!0,toc:e.children,className:n,linkClassName:t})]},e.id))}):null}const te=s.memo(ne);function se({toc:e,className:n="table-of-contents table-of-contents__left-border",linkClassName:t="table-of-contents__link",linkActiveClassName:a,minHeadingLevel:i,maxHeadingLevel:o,...c}){const l=(0,Z.p)(),d=i??l.tableOfContents.minHeadingLevel,u=o??l.tableOfContents.maxHeadingLevel,m=function({toc:e,minHeadingLevel:n,maxHeadingLevel:t}){return(0,s.useMemo)(()=>Q({toc:J(e),minHeadingLevel:n,maxHeadingLevel:t}),[e,n,t])}({toc:e,minHeadingLevel:d,maxHeadingLevel:u});return ee((0,s.useMemo)(()=>{if(t&&a)return{linkClassName:t,linkActiveClassName:a,minHeadingLevel:d,maxHeadingLevel:u}},[t,a,d,u])),(0,r.jsx)(te,{toc:m,className:n,linkClassName:t,...c})}const ae="tocCollapsibleButton_wt2y",ie="tocCollapsibleButtonExpanded_j0fa";function re({collapsed:e,...n}){return(0,r.jsx)("button",{type:"button",...n,className:(0,u.A)("clean-btn",ae,!e&&ie,n.className),children:(0,r.jsx)(h.A,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component",children:"On this page"})})}const oe="tocCollapsible_XRgF",ce="tocCollapsibleContent_RyaZ",le="tocCollapsibleExpanded_L0tF";function de({toc:e,className:n,minHeadingLevel:t,maxHeadingLevel:s}){const{collapsed:a,toggleCollapsed:i}=(0,q.u)({initialState:!0});return(0,r.jsxs)("div",{className:(0,u.A)(oe,!a&&le,n),children:[(0,r.jsx)(re,{collapsed:a,onClick:i}),(0,r.jsx)(q.N,{lazy:!0,className:ce,collapsed:a,children:(0,r.jsx)(se,{toc:e,minHeadingLevel:t,maxHeadingLevel:s})})]})}const ue="tocMobile_QmTN";function me(){const{toc:e,frontMatter:n}=l();return(0,r.jsx)(de,{toc:e,minHeadingLevel:n.toc_min_heading_level,maxHeadingLevel:n.toc_max_heading_level,className:(0,u.A)(v.G.docs.docTocMobile,ue)})}const he="tableOfContents_gGRX";function fe({className:e,...n}){return(0,r.jsx)("div",{className:(0,u.A)(he,"thin-scrollbar",e),children:(0,r.jsx)(se,{...n,linkClassName:"table-of-contents__link toc-highlight",linkActiveClassName:"table-of-contents__link--active"})})}function xe(){const{toc:e,frontMatter:n}=l();return(0,r.jsx)(fe,{toc:e,minHeadingLevel:n.toc_min_heading_level,maxHeadingLevel:n.toc_max_heading_level,className:v.G.docs.docTocDesktop})}var pe=t(7699),ge=t(6607),be=t(6376),je=t(899),ve=t(4802);function Ne(){const{prism:e}=(0,Z.p)(),{colorMode:n}=(0,ve.G)(),t=e.theme,s=e.darkTheme||t;return"dark"===n?s:t}var Ae=t(4809),ye=t.n(Ae);const Le=/title=(?<quote>["'])(?<title>.*?)\1/,Ce=/\{(?<range>[\d,-]+)\}/,ke={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},we={...ke,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},_e=Object.keys(ke);function Te(e,n){const t=e.map(e=>{const{start:t,end:s}=we[e];return`(?:${t}\\s*(${n.flatMap(e=>[e.line,e.block?.start,e.block?.end].filter(Boolean)).join("|")})\\s*${s})`}).join("|");return new RegExp(`^\\s*(?:${t})\\s*$`)}function Be({showLineNumbers:e,metastring:n}){return"boolean"==typeof e?e?1:void 0:"number"==typeof e?e:function(e){const n=e?.split(" ").find(e=>e.startsWith("showLineNumbers"));if(n){if(n.startsWith("showLineNumbers=")){const e=n.replace("showLineNumbers=","");return parseInt(e,10)}return 1}}(n)}function He(e,n){const{language:t,magicComments:s}=n;if(void 0===t)return{lineClassNames:{},code:e};const a=function(e,n){switch(e){case"js":case"javascript":case"ts":case"typescript":return Te(["js","jsBlock"],n);case"jsx":case"tsx":return Te(["js","jsBlock","jsx"],n);case"html":return Te(["js","jsBlock","html"],n);case"python":case"py":case"bash":return Te(["bash"],n);case"markdown":case"md":return Te(["html","jsx","bash"],n);case"tex":case"latex":case"matlab":return Te(["tex"],n);case"lua":case"haskell":return Te(["lua"],n);case"sql":return Te(["lua","jsBlock"],n);case"wasm":return Te(["wasm"],n);case"vb":case"vba":case"visual-basic":return Te(["vb","rem"],n);case"vbnet":return Te(["vbnet","rem"],n);case"batch":return Te(["rem"],n);case"basic":return Te(["rem","f90"],n);case"fsharp":return Te(["js","ml"],n);case"ocaml":case"sml":return Te(["ml"],n);case"fortran":return Te(["f90"],n);case"cobol":return Te(["cobol"],n);default:return Te(_e,n)}}(t,s),i=e.split(/\r?\n/),r=Object.fromEntries(s.map(e=>[e.className,{start:0,range:""}])),o=Object.fromEntries(s.filter(e=>e.line).map(({className:e,line:n})=>[n,e])),c=Object.fromEntries(s.filter(e=>e.block).map(({className:e,block:n})=>[n.start,e])),l=Object.fromEntries(s.filter(e=>e.block).map(({className:e,block:n})=>[n.end,e]));for(let u=0;u<i.length;){const e=i[u].match(a);if(!e){u+=1;continue}const n=e.slice(1).find(e=>void 0!==e);o[n]?r[o[n]].range+=`${u},`:c[n]?r[c[n]].start=u:l[n]&&(r[l[n]].range+=`${r[l[n]].start}-${u-1},`),i.splice(u,1)}const d={};return Object.entries(r).forEach(([e,{range:n}])=>{ye()(n).forEach(n=>{d[n]??=[],d[n].push(e)})}),{code:i.join("\n"),lineClassNames:d}}function Me(e,n){const t=e.replace(/\r?\n$/,"");return function(e,{metastring:n,magicComments:t}){if(n&&Ce.test(n)){const s=n.match(Ce).groups.range;if(0===t.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${n}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const a=t[0].className,i=ye()(s).filter(e=>e>0).map(e=>[e-1,[a]]);return{lineClassNames:Object.fromEntries(i),code:e}}return null}(t,{...n})??He(t,{...n})}function Ee(e){const n=function(e){return n=e.language??function(e){if(!e)return;const n=e.split(" ").find(e=>e.startsWith("language-"));return n?.replace(/language-/,"")}(e.className)??e.defaultLanguage,n?.toLowerCase()??"text";var n}({language:e.language,defaultLanguage:e.defaultLanguage,className:e.className}),{lineClassNames:t,code:s}=Me(e.code,{metastring:e.metastring,magicComments:e.magicComments,language:n}),a=function({className:e,language:n}){return(0,u.A)(e,n&&!e?.includes(`language-${n}`)&&`language-${n}`)}({className:e.className,language:n}),i=(r=e.metastring,(r?.match(Le)?.groups.title??"")||e.title);var r;const o=Be({showLineNumbers:e.showLineNumbers,metastring:e.metastring});return{codeInput:e.code,code:s,className:a,language:n,title:i,lineNumbersStart:o,lineClassNames:t}}const Ie=(0,s.createContext)(null);function Se({metadata:e,wordWrap:n,children:t}){const a=(0,s.useMemo)(()=>({metadata:e,wordWrap:n}),[e,n]);return(0,r.jsx)(Ie.Provider,{value:a,children:t})}function Re(){const e=(0,s.useContext)(Ie);if(null===e)throw new i.dV("CodeBlockContextProvider");return e}const Ue="codeBlockContainer_uLrG";function Ve({as:e,...n}){const t=function(e){const n={color:"--prism-color",backgroundColor:"--prism-background-color"},t={};return Object.entries(e.plain).forEach(([e,s])=>{const a=n[e];a&&"string"==typeof s&&(t[a]=s)}),t}(Ne());return(0,r.jsx)(e,{...n,style:t,className:(0,u.A)(n.className,Ue,v.G.common.codeBlock)})}const ze="codeBlock_whMN",Oe="codeBlockStandalone_ult9",De="codeBlockLines_r5mI",$e="codeBlockLinesWithNumbering_kaK3";function Fe({children:e,className:n}){return(0,r.jsx)(Ve,{as:"pre",tabIndex:0,className:(0,u.A)(Oe,"thin-scrollbar",n),children:(0,r.jsx)("code",{className:De,children:e})})}const Ge={attributes:!0,characterData:!0,childList:!0,subtree:!0};function We(e,n){const[t,a]=(0,s.useState)(),r=(0,s.useCallback)(()=>{a(e.current?.closest("[role=tabpanel][hidden]"))},[e,a]);(0,s.useEffect)(()=>{r()},[r]),function(e,n,t=Ge){const a=(0,i._q)(n),r=(0,i.Be)(t);(0,s.useEffect)(()=>{const n=new MutationObserver(a);return e&&n.observe(e,r),()=>n.disconnect()},[e,a,r])}(t,e=>{e.forEach(e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(n(),r())})},{attributes:!0,characterData:!1,childList:!1,subtree:!1})}function Pe({children:e}){return e}var qe=t(6194);function Ze({line:e,token:n,...t}){return(0,r.jsx)("span",{...t})}const Je="codeLine_Qx8J",Qe="codeLineNumber_R7jq",Xe="codeLineContent_mCQs";function Ke(){return(0,r.jsx)("br",{})}function Ye({line:e,classNames:n,showLineNumbers:t,getLineProps:s,getTokenProps:a}){const i=function(e){const n=1===e.length&&"\n"===e[0].content?e[0]:void 0;return n?[{...n,content:""}]:e}(e),o=s({line:i,className:(0,u.A)(n,t&&Je)}),c=i.map((e,n)=>{const t=a({token:e});return(0,r.jsx)(Ze,{...t,line:i,token:e,children:t.children},n)});return(0,r.jsxs)("div",{...o,children:[t?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:Qe}),(0,r.jsx)("span",{className:Xe,children:c})]}):c,(0,r.jsx)(Ke,{})]})}const en=s.forwardRef((e,n)=>(0,r.jsx)("pre",{ref:n,tabIndex:0,...e,className:(0,u.A)(e.className,ze,"thin-scrollbar")}));function nn(e){const{metadata:n}=Re();return(0,r.jsx)("code",{...e,className:(0,u.A)(e.className,De,void 0!==n.lineNumbersStart&&$e),style:{...e.style,counterReset:void 0===n.lineNumbersStart?void 0:"line-count "+(n.lineNumbersStart-1)}})}function tn({className:e}){const{metadata:n,wordWrap:t}=Re(),s=Ne(),{code:a,language:i,lineNumbersStart:o,lineClassNames:c}=n;return(0,r.jsx)(qe.f4,{theme:s,code:a,language:i,children:({className:n,style:s,tokens:a,getLineProps:i,getTokenProps:l})=>(0,r.jsx)(en,{ref:t.codeBlockRef,className:(0,u.A)(e,n),style:s,children:(0,r.jsx)(nn,{children:a.map((e,n)=>(0,r.jsx)(Ye,{line:e,getLineProps:i,getTokenProps:l,classNames:c[n],showLineNumbers:void 0!==o},n))})})})}function sn({children:e,fallback:n}){return(0,je.A)()?(0,r.jsx)(r.Fragment,{children:e?.()}):n??null}function an({className:e,...n}){return(0,r.jsx)("button",{type:"button",...n,className:(0,u.A)("clean-btn",e)})}function rn(e){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,r.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function on(e){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,r.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}const cn={copyButtonCopied:"copyButtonCopied_F2ph",copyButtonIcons:"copyButtonIcons_Vbtl",copyButtonIcon:"copyButtonIcon_M27n",copyButtonSuccessIcon:"copyButtonSuccessIcon_mSpV"};function ln(e){return e?(0,h.T)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,h.T)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"})}function dn(){const{metadata:{code:e}}=Re(),[n,a]=(0,s.useState)(!1),i=(0,s.useRef)(void 0),r=(0,s.useCallback)(()=>{(async function(e){if(navigator.clipboard)return navigator.clipboard.writeText(e);const{default:n}=await t.e(821).then(t.bind(t,821));return n(e)})(e).then(()=>{a(!0),i.current=window.setTimeout(()=>{a(!1)},1e3)})},[e]);return(0,s.useEffect)(()=>()=>window.clearTimeout(i.current),[]),{copyCode:r,isCopied:n}}function un({className:e}){const{copyCode:n,isCopied:t}=dn();return(0,r.jsx)(an,{"aria-label":ln(t),title:(0,h.T)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,u.A)(e,cn.copyButton,t&&cn.copyButtonCopied),onClick:n,children:(0,r.jsxs)("span",{className:cn.copyButtonIcons,"aria-hidden":"true",children:[(0,r.jsx)(rn,{className:cn.copyButtonIcon}),(0,r.jsx)(on,{className:cn.copyButtonSuccessIcon})]})})}function mn(e){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,r.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}const hn="wordWrapButtonIcon_rau9",fn="wordWrapButtonEnabled_onh2";function xn({className:e}){const{wordWrap:n}=Re();if(!(n.isEnabled||n.isCodeScrollable))return!1;const t=(0,h.T)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,r.jsx)(an,{onClick:()=>n.toggle(),className:(0,u.A)(e,n.isEnabled&&fn),"aria-label":t,title:t,children:(0,r.jsx)(mn,{className:hn,"aria-hidden":"true"})})}const pn="buttonGroup_uW_2";function gn({className:e}){return(0,r.jsx)(sn,{children:()=>(0,r.jsxs)("div",{className:(0,u.A)(e,pn),children:[(0,r.jsx)(xn,{}),(0,r.jsx)(un,{})]})})}const bn="codeBlockContent_yDoo",jn="codeBlockTitle_Dgpo";function vn({className:e}){const{metadata:n}=Re();return(0,r.jsxs)(Ve,{as:"div",className:(0,u.A)(e,n.className),children:[n.title&&(0,r.jsx)("div",{className:jn,children:(0,r.jsx)(Pe,{children:n.title})}),(0,r.jsxs)("div",{className:bn,children:[(0,r.jsx)(tn,{}),(0,r.jsx)(gn,{})]})]})}function Nn(e){const n=function(e){const{prism:n}=(0,Z.p)();return Ee({code:e.children,className:e.className,metastring:e.metastring,magicComments:n.magicComments,defaultLanguage:n.defaultLanguage,language:e.language,title:e.title,showLineNumbers:e.showLineNumbers})}(e),t=function(){const[e,n]=(0,s.useState)(!1),[t,a]=(0,s.useState)(!1),i=(0,s.useRef)(null),r=(0,s.useCallback)(()=>{const t=i.current.querySelector("code");e?t.removeAttribute("style"):(t.style.whiteSpace="pre-wrap",t.style.overflowWrap="anywhere"),n(e=>!e)},[i,e]),o=(0,s.useCallback)(()=>{const{scrollWidth:e,clientWidth:n}=i.current,t=e>n||i.current.querySelector("code").hasAttribute("style");a(t)},[i]);return We(i,o),(0,s.useEffect)(()=>{o()},[e,o]),(0,s.useEffect)(()=>(window.addEventListener("resize",o,{passive:!0}),()=>{window.removeEventListener("resize",o)}),[o]),{codeBlockRef:i,isEnabled:e,isCodeScrollable:t,toggle:r}}();return(0,r.jsx)(Se,{metadata:n,wordWrap:t,children:(0,r.jsx)(vn,{})})}function An({children:e,...n}){const t=(0,je.A)(),a=function(e){return s.Children.toArray(e).some(e=>(0,s.isValidElement)(e))?e:Array.isArray(e)?e.join(""):e}(e),i="string"==typeof a?Nn:Fe;return(0,r.jsx)(i,{...n,children:a},String(t))}function yn(e){return(0,r.jsx)("code",{...e})}var Ln=t(4782);var Cn=t(4013);const kn="details_Pzvs",wn="isBrowser_n_Jc",_n="collapsibleContent_FiJ2";function Tn(e){return!!e&&("SUMMARY"===e.tagName||Tn(e.parentElement))}function Bn(e,n){return!!e&&(e===n||Bn(e.parentElement,n))}function Hn({summary:e,children:n,...t}){(0,Cn.A)().collectAnchor(t.id);const a=(0,je.A)(),i=(0,s.useRef)(null),{collapsed:o,setCollapsed:c}=(0,q.u)({initialState:!t.open}),[l,d]=(0,s.useState)(t.open),m=s.isValidElement(e)?e:(0,r.jsx)("summary",{children:e??"Details"});return(0,r.jsxs)("details",{...t,ref:i,open:l,"data-collapsed":o,className:(0,u.A)(kn,a&&wn,t.className),onMouseDown:e=>{Tn(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const n=e.target;Tn(n)&&Bn(n,i.current)&&(e.preventDefault(),o?(c(!1),d(!0)):c(!0))},children:[m,(0,r.jsx)(q.N,{lazy:!1,collapsed:o,onCollapseTransitionEnd:e=>{c(e),d(!e)},children:(0,r.jsx)("div",{className:_n,children:n})})]})}const Mn="details_aC2W";function En({...e}){return(0,r.jsx)(Hn,{...e,className:(0,u.A)("alert alert--info",Mn,e.className)})}function In(e){const n=s.Children.toArray(e.children),t=n.find(e=>s.isValidElement(e)&&"summary"===e.type),a=(0,r.jsx)(r.Fragment,{children:n.filter(e=>e!==t)});return(0,r.jsx)(En,{...e,summary:t,children:a})}function Sn(e){return(0,r.jsx)(pe.A,{...e})}const Rn="containsTaskList_nAax";function Un(e){if(void 0!==e)return(0,u.A)(e,e?.includes("contains-task-list")&&Rn)}const Vn="img_pebZ";function zn(e){const{mdxAdmonitionTitle:n,rest:t}=function(e){const n=s.Children.toArray(e),t=n.find(e=>s.isValidElement(e)&&"mdxAdmonitionTitle"===e.type),a=n.filter(e=>e!==t),i=t?.props.children;return{mdxAdmonitionTitle:i,rest:a.length>0?(0,r.jsx)(r.Fragment,{children:a}):null}}(e.children),a=e.title??n;return{...e,...a&&{title:a},children:t}}const On="admonition_Vkul",Dn="admonitionHeading_ekH3",$n="admonitionIcon_guwV",Fn="admonitionContent_sZjU";function Gn({type:e,className:n,children:t,id:s}){return(0,r.jsx)("div",{className:(0,u.A)(v.G.common.admonition,v.G.common.admonitionType(e),On,n),id:s,children:t})}function Wn({icon:e,title:n}){return(0,r.jsxs)("div",{className:Dn,children:[(0,r.jsx)("span",{className:$n,children:e}),n]})}function Pn({children:e}){return e?(0,r.jsx)("div",{className:Fn,children:e}):null}function qn(e){const{type:n,icon:t,title:s,children:a,className:i,id:o}=e;return(0,r.jsxs)(Gn,{type:n,className:i,id:o,children:[s||t?(0,r.jsx)(Wn,{title:s,icon:t}):null,(0,r.jsx)(Pn,{children:a})]})}function Zn(e){return(0,r.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})}const Jn={icon:(0,r.jsx)(Zn,{}),title:(0,r.jsx)(h.A,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function Qn(e){return(0,r.jsx)(qn,{...Jn,...e,className:(0,u.A)("alert alert--secondary",e.className),children:e.children})}function Xn(e){return(0,r.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})}const Kn={icon:(0,r.jsx)(Xn,{}),title:(0,r.jsx)(h.A,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function Yn(e){return(0,r.jsx)(qn,{...Kn,...e,className:(0,u.A)("alert alert--success",e.className),children:e.children})}function et(e){return(0,r.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}const nt={icon:(0,r.jsx)(et,{}),title:(0,r.jsx)(h.A,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function tt(e){return(0,r.jsx)(qn,{...nt,...e,className:(0,u.A)("alert alert--info",e.className),children:e.children})}function st(e){return(0,r.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}const at={icon:(0,r.jsx)(st,{}),title:(0,r.jsx)(h.A,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})};function it(e){return(0,r.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})}const rt={icon:(0,r.jsx)(it,{}),title:(0,r.jsx)(h.A,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})};const ot={icon:(0,r.jsx)(st,{}),title:(0,r.jsx)(h.A,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};const ct={...{note:Qn,tip:Yn,info:tt,warning:function(e){return(0,r.jsx)(qn,{...at,...e,className:(0,u.A)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,r.jsx)(qn,{...rt,...e,className:(0,u.A)("alert alert--danger",e.className),children:e.children})}},...{secondary:e=>(0,r.jsx)(Qn,{title:"secondary",...e}),important:e=>(0,r.jsx)(tt,{title:"important",...e}),success:e=>(0,r.jsx)(Yn,{title:"success",...e}),caution:function(e){return(0,r.jsx)(qn,{...ot,...e,className:(0,u.A)("alert alert--warning",e.className),children:e.children})}}};function lt(e){const n=zn(e),t=(s=n.type,ct[s]||(console.warn(`No admonition component found for admonition type "${s}". Using Info as fallback.`),ct.info));var s;return(0,r.jsx)(t,{...n})}var dt=t(2128),ut=t(8530);let mt=null;async function ht(){return mt||(mt=async function(){return(await t.e(3992).then(t.bind(t,3992))).default}()),mt}function ft(){const{colorMode:e}=(0,ve.G)(),n=(0,Z.p)().mermaid,t=n.theme[e],{options:a}=n;return(0,s.useMemo)(()=>({startOnLoad:!1,...a,theme:t}),[t,a])}function xt({text:e,config:n}){const[t,a]=(0,s.useState)(null),i=(0,s.useState)(`mermaid-svg-${Math.round(1e7*Math.random())}`)[0],r=ft(),o=n??r;return(0,s.useEffect)(()=>{(async function({id:e,text:n,config:t}){const s=await ht();s.initialize(t);try{return await s.render(e,n)}catch(a){throw document.querySelector(`#d${e}`)?.remove(),a}})({id:i,text:e,config:o}).then(a).catch(e=>{a(()=>{throw e})})},[i,e,o]),t}const pt="container_IEyZ";function gt({renderResult:e}){const n=(0,s.useRef)(null);return(0,s.useEffect)(()=>{const t=n.current;e.bindFunctions?.(t)},[e]),(0,r.jsx)("div",{ref:n,className:`docusaurus-mermaid-container ${pt}`,dangerouslySetInnerHTML:{__html:e.svg}})}function bt({value:e}){const n=xt({text:e});return null===n?null:(0,r.jsx)(gt,{renderResult:n})}const jt={Head:be.A,details:In,Details:In,code:function(e){return function(e){return void 0!==e.children&&s.Children.toArray(e.children).every(e=>"string"==typeof e&&!e.includes("\n"))}(e)?(0,r.jsx)(yn,{...e}):(0,r.jsx)(An,{...e})},a:function(e){const n=(0,Ln.v)(e.id);return(0,r.jsx)(f.A,{...e,className:(0,u.A)(n,e.className)})},pre:function(e){return(0,r.jsx)(r.Fragment,{children:e.children})},ul:function(e){return(0,r.jsx)("ul",{...e,className:Un(e.className)})},li:function(e){(0,Cn.A)().collectAnchor(e.id);const n=(0,Ln.v)(e.id);return(0,r.jsx)("li",{className:(0,u.A)(n,e.className),...e})},img:function(e){return(0,r.jsx)("img",{decoding:"async",loading:"lazy",...e,className:(n=e.className,(0,u.A)(n,Vn))});var n},h1:e=>(0,r.jsx)(Sn,{as:"h1",...e}),h2:e=>(0,r.jsx)(Sn,{as:"h2",...e}),h3:e=>(0,r.jsx)(Sn,{as:"h3",...e}),h4:e=>(0,r.jsx)(Sn,{as:"h4",...e}),h5:e=>(0,r.jsx)(Sn,{as:"h5",...e}),h6:e=>(0,r.jsx)(Sn,{as:"h6",...e}),admonition:lt,mermaid:function(e){return(0,r.jsx)(dt.A,{fallback:e=>(0,r.jsx)(ut.MN,{...e}),children:(0,r.jsx)(bt,{...e})})}};function vt({children:e}){return(0,r.jsx)(ge.x,{components:jt,children:e})}function Nt({children:e}){const n=function(){const{metadata:e,frontMatter:n,contentTitle:t}=l();return n.hide_title||void 0!==t?null:e.title}();return(0,r.jsxs)("div",{className:(0,u.A)(v.G.docs.docMarkdown,"markdown"),children:[n&&(0,r.jsx)("header",{children:(0,r.jsx)(pe.A,{as:"h1",children:n})}),(0,r.jsx)(vt,{children:e})]})}var At=t(7272),yt=t(4640),Lt=t(2877);function Ct(e){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,r.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})})}const kt="breadcrumbHomeIcon_eRUI";function wt(){const e=(0,Lt.Ay)("/");return(0,r.jsx)("li",{className:"breadcrumbs__item",children:(0,r.jsx)(f.A,{"aria-label":(0,h.T)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,r.jsx)(Ct,{className:kt})})})}function _t(e){const n=function({breadcrumbs:e}){const{siteConfig:n}=(0,b.A)();return{"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:e.filter(e=>e.href).map((e,t)=>({"@type":"ListItem",position:t+1,name:e.label,item:`${n.url}${e.href}`}))}}({breadcrumbs:e.breadcrumbs});return(0,r.jsx)(be.A,{children:(0,r.jsx)("script",{type:"application/ld+json",children:JSON.stringify(n)})})}const Tt="breadcrumbsContainer_WbZx";function Bt({children:e,href:n,isLast:t}){const s="breadcrumbs__link";return t?(0,r.jsx)("span",{className:s,children:e}):n?(0,r.jsx)(f.A,{className:s,href:n,children:(0,r.jsx)("span",{children:e})}):(0,r.jsx)("span",{className:s,children:e})}function Ht({children:e,active:n}){return(0,r.jsx)("li",{className:(0,u.A)("breadcrumbs__item",{"breadcrumbs__item--active":n}),children:e})}function Mt(){const e=(0,At.OF)(),n=(0,yt.Dt)();return e?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(_t,{breadcrumbs:e}),(0,r.jsx)("nav",{className:(0,u.A)(v.G.docs.docBreadcrumbs,Tt),"aria-label":(0,h.T)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,r.jsxs)("ul",{className:"breadcrumbs",children:[n&&(0,r.jsx)(wt,{}),e.map((n,t)=>{const s=t===e.length-1,a="category"===n.type&&n.linkUnlisted?void 0:n.href;return(0,r.jsx)(Ht,{active:s,children:(0,r.jsx)(Bt,{href:a,isLast:s,children:n.label})},t)})]})})]}):null}function Et(){return(0,r.jsx)(h.A,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function It(){return(0,r.jsx)(h.A,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function St(){return(0,r.jsx)(be.A,{children:(0,r.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function Rt(){return(0,r.jsx)(h.A,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function Ut(){return(0,r.jsx)(h.A,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}function Vt({className:e}){return(0,r.jsx)(lt,{type:"caution",title:(0,r.jsx)(Rt,{}),className:(0,u.A)(e,v.G.common.draftBanner),children:(0,r.jsx)(Ut,{})})}function zt({className:e}){return(0,r.jsx)(lt,{type:"caution",title:(0,r.jsx)(Et,{}),className:(0,u.A)(e,v.G.common.unlistedBanner),children:(0,r.jsx)(It,{})})}function Ot(e){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(St,{}),(0,r.jsx)(zt,{...e})]})}function Dt({metadata:e}){const{unlisted:n,frontMatter:t}=e;return(0,r.jsxs)(r.Fragment,{children:[(n||t.unlisted)&&(0,r.jsx)(Ot,{}),t.draft&&(0,r.jsx)(Vt,{})]})}const $t="docItemContainer_gTAZ",Ft="docItemCol_zFNv";function Gt({children:e}){const n=function(){const{frontMatter:e,toc:n}=l(),t=(0,m.l)(),s=e.hide_table_of_contents,a=!s&&n.length>0;return{hidden:s,mobile:a?(0,r.jsx)(me,{}):void 0,desktop:!a||"desktop"!==t&&"ssr"!==t?void 0:(0,r.jsx)(xe,{})}}(),{metadata:t}=l();return(0,r.jsxs)("div",{className:"row",children:[(0,r.jsxs)("div",{className:(0,u.A)("col",!n.hidden&&Ft),children:[(0,r.jsx)(Dt,{metadata:t}),(0,r.jsx)(w,{}),(0,r.jsxs)("div",{className:$t,children:[(0,r.jsxs)("article",{children:[(0,r.jsx)(Mt,{}),(0,r.jsx)(_,{}),n.mobile,(0,r.jsx)(Nt,{children:e}),(0,r.jsx)(P,{})]}),(0,r.jsx)(g,{})]})]}),n.desktop&&(0,r.jsx)("div",{className:"col col--3",children:n.desktop})]})}function Wt(e){const n=`docs-doc-id-${e.content.metadata.id}`,t=e.content;return(0,r.jsx)(c,{content:e.content,children:(0,r.jsxs)(a.e3,{className:n,children:[(0,r.jsx)(d,{}),(0,r.jsx)(Gt,{children:(0,r.jsx)(t,{})})]})})}},4809(e,n){function t(e){let n,t=[];for(let s of e.split(",").map(e=>e.trim()))if(/^-?\d+$/.test(s))t.push(parseInt(s,10));else if(n=s.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,s,a,i]=n;if(s&&i){s=parseInt(s),i=parseInt(i);const e=s<i?1:-1;"-"!==a&&".."!==a&&"\u2025"!==a||(i+=e);for(let n=s;n!==i;n+=e)t.push(n)}}return t}n.default=t,e.exports=t},6607(e,n,t){"use strict";t.d(n,{R:()=>r,x:()=>o});var s=t(758);const a={},i=s.createContext(a);function r(e){const n=s.useContext(i);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[9577],{3436(e,t,n){n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>i,toc:()=>c});const i=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://git.elliemae.io/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 s=n(6070),o=n(6607);const r={},a="loadRoutes()",l={},c=[{value:"Parameters",id:"parameters",level:2},{value:"app",id:"app",level:3},{value:"Returns",id:"returns",level:2}];function d(e){const t={code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",pre:"pre",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"loadroutes",children:"loadRoutes()"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ts",children:"function loadRoutes(app: Application): Promise<void>;\n"})}),"\n",(0,s.jsx)(t.h2,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsx)(t.h3,{id:"app",children:"app"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.code,{children:"Application"})}),"\n",(0,s.jsx)(t.h2,{id:"returns",children:"Returns"}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.code,{children:"Promise"}),"<",(0,s.jsx)(t.code,{children:"void"}),">"]})]})}function p(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},6607(e,t,n){n.d(t,{R:()=>r,x:()=>a});var i=n(758);const s={},o=i.createContext(s);function r(e){const t=i.useContext(o);return i.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]);
|