@elliemae/pui-cli 9.0.0-alpha.10 → 9.0.0-alpha.11
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/build/docs/404.html +2 -2
- package/build/docs/api/functions/loadRoutes/index.html +2 -2
- package/build/docs/api/index.html +2 -2
- package/build/docs/api/type-aliases/LIB_NAME/index.html +2 -2
- package/build/docs/api/variables/babelConfig/index.html +2 -2
- package/build/docs/api/variables/commitlintConfig/index.html +2 -2
- package/build/docs/api/variables/eslintBaseConfig/index.html +2 -2
- package/build/docs/api/variables/eslintConfig/index.html +2 -2
- package/build/docs/api/variables/eslintFlatBaseConfig/index.html +2 -2
- package/build/docs/api/variables/eslintFlatBaseConfigStrict/index.html +2 -2
- package/build/docs/api/variables/eslintFlatConfig/index.html +2 -2
- package/build/docs/api/variables/eslintFlatConfigStrict/index.html +2 -2
- package/build/docs/api/variables/jestConfig/index.html +2 -2
- package/build/docs/api/variables/jestNodeConfig/index.html +2 -2
- package/build/docs/api/variables/lintStagedConfig/index.html +2 -2
- package/build/docs/api/variables/prettierConfig/index.html +2 -2
- package/build/docs/api/variables/stylelintConfig/index.html +2 -2
- package/build/docs/api/variables/vitestConfig/index.html +2 -2
- package/build/docs/assets/js/13097d8d.af480dfd.js +1 -0
- package/build/docs/assets/js/{main.00e13c37.js → main.7f815b7e.js} +2 -2
- package/build/docs/assets/js/{runtime~main.cb214d1a.js → runtime~main.f7c5bef0.js} +1 -1
- package/build/docs/eslint-rules-migration/index.html +2 -2
- package/build/docs/index.html +2 -2
- package/build/docs/pui-cli-9-migration/index.html +34 -4
- package/build/docs/ssl-certificate-setup/index.html +2 -2
- package/build/docs/stylelint-migration/index.html +2 -2
- package/build/docs/usage-guide/index.html +2 -2
- package/dist/cjs/skills/migrate-to-pui-cli-9/SKILL.md +43 -5
- package/dist/esm/skills/migrate-to-pui-cli-9/SKILL.md +43 -5
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/lib/skills/migrate-to-pui-cli-9/SKILL.md +43 -5
- package/package.json +4 -5
- package/build/docs/assets/js/13097d8d.c1821d28.js +0 -1
- /package/build/docs/assets/js/{main.00e13c37.js.LICENSE.txt → main.7f815b7e.js.LICENSE.txt} +0 -0
package/build/docs/404.html
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.10.1">
|
|
6
6
|
<title data-rh="true">Cli</title><meta data-rh="true" property="og:title" content="Cli"><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://pui.ice.com/cli/404.html"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><link data-rh="true" rel="icon" href="/cli/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://pui.ice.com/cli/404.html"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/404.html" hreflang="en"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/404.html" hreflang="x-default"><link rel="stylesheet" href="/cli/assets/css/styles.74603f39.css">
|
|
7
|
-
<script src="/cli/assets/js/runtime~main.
|
|
8
|
-
<script src="/cli/assets/js/main.
|
|
7
|
+
<script src="/cli/assets/js/runtime~main.f7c5bef0.js" defer="defer"></script>
|
|
8
|
+
<script src="/cli/assets/js/main.7f815b7e.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.10.1">
|
|
6
6
|
<title data-rh="true">loadRoutes() | Cli</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://pui.ice.com/cli/api/functions/loadRoutes"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="loadRoutes() | Cli"><meta data-rh="true" name="description" content="Parameters"><meta data-rh="true" property="og:description" content="Parameters"><link data-rh="true" rel="icon" href="/cli/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://pui.ice.com/cli/api/functions/loadRoutes"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/functions/loadRoutes" hreflang="en"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/functions/loadRoutes" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Cli API","item":"https://pui.ice.com/cli/api/"},{"@type":"ListItem","position":2,"name":"loadRoutes()","item":"https://pui.ice.com/cli/api/functions/loadRoutes"}]}</script><link rel="stylesheet" href="/cli/assets/css/styles.74603f39.css">
|
|
7
|
-
<script src="/cli/assets/js/runtime~main.
|
|
8
|
-
<script src="/cli/assets/js/main.
|
|
7
|
+
<script src="/cli/assets/js/runtime~main.f7c5bef0.js" defer="defer"></script>
|
|
8
|
+
<script src="/cli/assets/js/main.7f815b7e.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.10.1">
|
|
6
6
|
<title data-rh="true">Cli API | Cli</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://pui.ice.com/cli/api/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Cli API | Cli"><meta data-rh="true" name="description" content="Functions"><meta data-rh="true" property="og:description" content="Functions"><link data-rh="true" rel="icon" href="/cli/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://pui.ice.com/cli/api/"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/" hreflang="en"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Cli API","item":"https://pui.ice.com/cli/api/"}]}</script><link rel="stylesheet" href="/cli/assets/css/styles.74603f39.css">
|
|
7
|
-
<script src="/cli/assets/js/runtime~main.
|
|
8
|
-
<script src="/cli/assets/js/main.
|
|
7
|
+
<script src="/cli/assets/js/runtime~main.f7c5bef0.js" defer="defer"></script>
|
|
8
|
+
<script src="/cli/assets/js/main.7f815b7e.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.10.1">
|
|
6
6
|
<title data-rh="true">LIB\_NAME | Cli</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://pui.ice.com/cli/api/type-aliases/LIB_NAME"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="LIB\_NAME | Cli"><link data-rh="true" rel="icon" href="/cli/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://pui.ice.com/cli/api/type-aliases/LIB_NAME"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/type-aliases/LIB_NAME" hreflang="en"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/type-aliases/LIB_NAME" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Cli API","item":"https://pui.ice.com/cli/api/"},{"@type":"ListItem","position":2,"name":"LIB\\_NAME","item":"https://pui.ice.com/cli/api/type-aliases/LIB_NAME"}]}</script><link rel="stylesheet" href="/cli/assets/css/styles.74603f39.css">
|
|
7
|
-
<script src="/cli/assets/js/runtime~main.
|
|
8
|
-
<script src="/cli/assets/js/main.
|
|
7
|
+
<script src="/cli/assets/js/runtime~main.f7c5bef0.js" defer="defer"></script>
|
|
8
|
+
<script src="/cli/assets/js/main.7f815b7e.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.10.1">
|
|
6
6
|
<title data-rh="true">babelConfig | Cli</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://pui.ice.com/cli/api/variables/babelConfig"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="babelConfig | Cli"><meta data-rh="true" name="description" content="Type Declaration"><meta data-rh="true" property="og:description" content="Type Declaration"><link data-rh="true" rel="icon" href="/cli/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://pui.ice.com/cli/api/variables/babelConfig"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/variables/babelConfig" hreflang="en"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/variables/babelConfig" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Cli API","item":"https://pui.ice.com/cli/api/"},{"@type":"ListItem","position":2,"name":"babelConfig","item":"https://pui.ice.com/cli/api/variables/babelConfig"}]}</script><link rel="stylesheet" href="/cli/assets/css/styles.74603f39.css">
|
|
7
|
-
<script src="/cli/assets/js/runtime~main.
|
|
8
|
-
<script src="/cli/assets/js/main.
|
|
7
|
+
<script src="/cli/assets/js/runtime~main.f7c5bef0.js" defer="defer"></script>
|
|
8
|
+
<script src="/cli/assets/js/main.7f815b7e.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.10.1">
|
|
6
6
|
<title data-rh="true">commitlintConfig | Cli</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://pui.ice.com/cli/api/variables/commitlintConfig"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="commitlintConfig | Cli"><meta data-rh="true" name="description" content="Type Declaration"><meta data-rh="true" property="og:description" content="Type Declaration"><link data-rh="true" rel="icon" href="/cli/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://pui.ice.com/cli/api/variables/commitlintConfig"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/variables/commitlintConfig" hreflang="en"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/variables/commitlintConfig" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Cli API","item":"https://pui.ice.com/cli/api/"},{"@type":"ListItem","position":2,"name":"commitlintConfig","item":"https://pui.ice.com/cli/api/variables/commitlintConfig"}]}</script><link rel="stylesheet" href="/cli/assets/css/styles.74603f39.css">
|
|
7
|
-
<script src="/cli/assets/js/runtime~main.
|
|
8
|
-
<script src="/cli/assets/js/main.
|
|
7
|
+
<script src="/cli/assets/js/runtime~main.f7c5bef0.js" defer="defer"></script>
|
|
8
|
+
<script src="/cli/assets/js/main.7f815b7e.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.10.1">
|
|
6
6
|
<title data-rh="true">~~eslintBaseConfig~~ | Cli</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://pui.ice.com/cli/api/variables/eslintBaseConfig"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="~~eslintBaseConfig~~ | Cli"><meta data-rh="true" name="description" content="Type Declaration"><meta data-rh="true" property="og:description" content="Type Declaration"><link data-rh="true" rel="icon" href="/cli/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://pui.ice.com/cli/api/variables/eslintBaseConfig"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/variables/eslintBaseConfig" hreflang="en"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/variables/eslintBaseConfig" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Cli API","item":"https://pui.ice.com/cli/api/"},{"@type":"ListItem","position":2,"name":"~~eslintBaseConfig~~","item":"https://pui.ice.com/cli/api/variables/eslintBaseConfig"}]}</script><link rel="stylesheet" href="/cli/assets/css/styles.74603f39.css">
|
|
7
|
-
<script src="/cli/assets/js/runtime~main.
|
|
8
|
-
<script src="/cli/assets/js/main.
|
|
7
|
+
<script src="/cli/assets/js/runtime~main.f7c5bef0.js" defer="defer"></script>
|
|
8
|
+
<script src="/cli/assets/js/main.7f815b7e.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.10.1">
|
|
6
6
|
<title data-rh="true">~~eslintConfig~~ | Cli</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://pui.ice.com/cli/api/variables/eslintConfig"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="~~eslintConfig~~ | Cli"><meta data-rh="true" name="description" content="Type Declaration"><meta data-rh="true" property="og:description" content="Type Declaration"><link data-rh="true" rel="icon" href="/cli/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://pui.ice.com/cli/api/variables/eslintConfig"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/variables/eslintConfig" hreflang="en"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/variables/eslintConfig" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Cli API","item":"https://pui.ice.com/cli/api/"},{"@type":"ListItem","position":2,"name":"~~eslintConfig~~","item":"https://pui.ice.com/cli/api/variables/eslintConfig"}]}</script><link rel="stylesheet" href="/cli/assets/css/styles.74603f39.css">
|
|
7
|
-
<script src="/cli/assets/js/runtime~main.
|
|
8
|
-
<script src="/cli/assets/js/main.
|
|
7
|
+
<script src="/cli/assets/js/runtime~main.f7c5bef0.js" defer="defer"></script>
|
|
8
|
+
<script src="/cli/assets/js/main.7f815b7e.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.10.1">
|
|
6
6
|
<title data-rh="true">eslintFlatBaseConfig | Cli</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://pui.ice.com/cli/api/variables/eslintFlatBaseConfig"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="eslintFlatBaseConfig | Cli"><meta data-rh="true" name="description" content="Flat ESLint config for non-React TypeScript libraries and services."><meta data-rh="true" property="og:description" content="Flat ESLint config for non-React TypeScript libraries and services."><link data-rh="true" rel="icon" href="/cli/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://pui.ice.com/cli/api/variables/eslintFlatBaseConfig"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/variables/eslintFlatBaseConfig" hreflang="en"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/variables/eslintFlatBaseConfig" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Cli API","item":"https://pui.ice.com/cli/api/"},{"@type":"ListItem","position":2,"name":"eslintFlatBaseConfig","item":"https://pui.ice.com/cli/api/variables/eslintFlatBaseConfig"}]}</script><link rel="stylesheet" href="/cli/assets/css/styles.74603f39.css">
|
|
7
|
-
<script src="/cli/assets/js/runtime~main.
|
|
8
|
-
<script src="/cli/assets/js/main.
|
|
7
|
+
<script src="/cli/assets/js/runtime~main.f7c5bef0.js" defer="defer"></script>
|
|
8
|
+
<script src="/cli/assets/js/main.7f815b7e.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.10.1">
|
|
6
6
|
<title data-rh="true">eslintFlatBaseConfigStrict | Cli</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://pui.ice.com/cli/api/variables/eslintFlatBaseConfigStrict"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="eslintFlatBaseConfigStrict | Cli"><meta data-rh="true" name="description" content="Strict flat ESLint config for non-React TypeScript (no-unsafe-* as error)."><meta data-rh="true" property="og:description" content="Strict flat ESLint config for non-React TypeScript (no-unsafe-* as error)."><link data-rh="true" rel="icon" href="/cli/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://pui.ice.com/cli/api/variables/eslintFlatBaseConfigStrict"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/variables/eslintFlatBaseConfigStrict" hreflang="en"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/variables/eslintFlatBaseConfigStrict" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Cli API","item":"https://pui.ice.com/cli/api/"},{"@type":"ListItem","position":2,"name":"eslintFlatBaseConfigStrict","item":"https://pui.ice.com/cli/api/variables/eslintFlatBaseConfigStrict"}]}</script><link rel="stylesheet" href="/cli/assets/css/styles.74603f39.css">
|
|
7
|
-
<script src="/cli/assets/js/runtime~main.
|
|
8
|
-
<script src="/cli/assets/js/main.
|
|
7
|
+
<script src="/cli/assets/js/runtime~main.f7c5bef0.js" defer="defer"></script>
|
|
8
|
+
<script src="/cli/assets/js/main.7f815b7e.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.10.1">
|
|
6
6
|
<title data-rh="true">eslintFlatConfig | Cli</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://pui.ice.com/cli/api/variables/eslintFlatConfig"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="eslintFlatConfig | Cli"><meta data-rh="true" name="description" content="Flat ESLint config for React + TypeScript PUI apps."><meta data-rh="true" property="og:description" content="Flat ESLint config for React + TypeScript PUI apps."><link data-rh="true" rel="icon" href="/cli/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://pui.ice.com/cli/api/variables/eslintFlatConfig"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/variables/eslintFlatConfig" hreflang="en"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/variables/eslintFlatConfig" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Cli API","item":"https://pui.ice.com/cli/api/"},{"@type":"ListItem","position":2,"name":"eslintFlatConfig","item":"https://pui.ice.com/cli/api/variables/eslintFlatConfig"}]}</script><link rel="stylesheet" href="/cli/assets/css/styles.74603f39.css">
|
|
7
|
-
<script src="/cli/assets/js/runtime~main.
|
|
8
|
-
<script src="/cli/assets/js/main.
|
|
7
|
+
<script src="/cli/assets/js/runtime~main.f7c5bef0.js" defer="defer"></script>
|
|
8
|
+
<script src="/cli/assets/js/main.7f815b7e.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.10.1">
|
|
6
6
|
<title data-rh="true">eslintFlatConfigStrict | Cli</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://pui.ice.com/cli/api/variables/eslintFlatConfigStrict"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="eslintFlatConfigStrict | Cli"><meta data-rh="true" name="description" content="Strict flat ESLint config for React + TypeScript (errors on no-unsafe-* and exhaustive-deps)."><meta data-rh="true" property="og:description" content="Strict flat ESLint config for React + TypeScript (errors on no-unsafe-* and exhaustive-deps)."><link data-rh="true" rel="icon" href="/cli/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://pui.ice.com/cli/api/variables/eslintFlatConfigStrict"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/variables/eslintFlatConfigStrict" hreflang="en"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/variables/eslintFlatConfigStrict" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Cli API","item":"https://pui.ice.com/cli/api/"},{"@type":"ListItem","position":2,"name":"eslintFlatConfigStrict","item":"https://pui.ice.com/cli/api/variables/eslintFlatConfigStrict"}]}</script><link rel="stylesheet" href="/cli/assets/css/styles.74603f39.css">
|
|
7
|
-
<script src="/cli/assets/js/runtime~main.
|
|
8
|
-
<script src="/cli/assets/js/main.
|
|
7
|
+
<script src="/cli/assets/js/runtime~main.f7c5bef0.js" defer="defer"></script>
|
|
8
|
+
<script src="/cli/assets/js/main.7f815b7e.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.10.1">
|
|
6
6
|
<title data-rh="true">jestConfig | Cli</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://pui.ice.com/cli/api/variables/jestConfig"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="jestConfig | Cli"><meta data-rh="true" name="description" content="Type Declaration"><meta data-rh="true" property="og:description" content="Type Declaration"><link data-rh="true" rel="icon" href="/cli/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://pui.ice.com/cli/api/variables/jestConfig"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/variables/jestConfig" hreflang="en"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/variables/jestConfig" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Cli API","item":"https://pui.ice.com/cli/api/"},{"@type":"ListItem","position":2,"name":"jestConfig","item":"https://pui.ice.com/cli/api/variables/jestConfig"}]}</script><link rel="stylesheet" href="/cli/assets/css/styles.74603f39.css">
|
|
7
|
-
<script src="/cli/assets/js/runtime~main.
|
|
8
|
-
<script src="/cli/assets/js/main.
|
|
7
|
+
<script src="/cli/assets/js/runtime~main.f7c5bef0.js" defer="defer"></script>
|
|
8
|
+
<script src="/cli/assets/js/main.7f815b7e.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.10.1">
|
|
6
6
|
<title data-rh="true">jestNodeConfig | Cli</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://pui.ice.com/cli/api/variables/jestNodeConfig"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="jestNodeConfig | Cli"><meta data-rh="true" name="description" content="Type Declaration"><meta data-rh="true" property="og:description" content="Type Declaration"><link data-rh="true" rel="icon" href="/cli/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://pui.ice.com/cli/api/variables/jestNodeConfig"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/variables/jestNodeConfig" hreflang="en"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/variables/jestNodeConfig" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Cli API","item":"https://pui.ice.com/cli/api/"},{"@type":"ListItem","position":2,"name":"jestNodeConfig","item":"https://pui.ice.com/cli/api/variables/jestNodeConfig"}]}</script><link rel="stylesheet" href="/cli/assets/css/styles.74603f39.css">
|
|
7
|
-
<script src="/cli/assets/js/runtime~main.
|
|
8
|
-
<script src="/cli/assets/js/main.
|
|
7
|
+
<script src="/cli/assets/js/runtime~main.f7c5bef0.js" defer="defer"></script>
|
|
8
|
+
<script src="/cli/assets/js/main.7f815b7e.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.10.1">
|
|
6
6
|
<title data-rh="true">lintStagedConfig | Cli</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://pui.ice.com/cli/api/variables/lintStagedConfig"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="lintStagedConfig | Cli"><meta data-rh="true" name="description" content="Type Declaration"><meta data-rh="true" property="og:description" content="Type Declaration"><link data-rh="true" rel="icon" href="/cli/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://pui.ice.com/cli/api/variables/lintStagedConfig"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/variables/lintStagedConfig" hreflang="en"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/variables/lintStagedConfig" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Cli API","item":"https://pui.ice.com/cli/api/"},{"@type":"ListItem","position":2,"name":"lintStagedConfig","item":"https://pui.ice.com/cli/api/variables/lintStagedConfig"}]}</script><link rel="stylesheet" href="/cli/assets/css/styles.74603f39.css">
|
|
7
|
-
<script src="/cli/assets/js/runtime~main.
|
|
8
|
-
<script src="/cli/assets/js/main.
|
|
7
|
+
<script src="/cli/assets/js/runtime~main.f7c5bef0.js" defer="defer"></script>
|
|
8
|
+
<script src="/cli/assets/js/main.7f815b7e.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.10.1">
|
|
6
6
|
<title data-rh="true">prettierConfig | Cli</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://pui.ice.com/cli/api/variables/prettierConfig"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="prettierConfig | Cli"><meta data-rh="true" name="description" content="Type Declaration"><meta data-rh="true" property="og:description" content="Type Declaration"><link data-rh="true" rel="icon" href="/cli/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://pui.ice.com/cli/api/variables/prettierConfig"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/variables/prettierConfig" hreflang="en"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/variables/prettierConfig" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Cli API","item":"https://pui.ice.com/cli/api/"},{"@type":"ListItem","position":2,"name":"prettierConfig","item":"https://pui.ice.com/cli/api/variables/prettierConfig"}]}</script><link rel="stylesheet" href="/cli/assets/css/styles.74603f39.css">
|
|
7
|
-
<script src="/cli/assets/js/runtime~main.
|
|
8
|
-
<script src="/cli/assets/js/main.
|
|
7
|
+
<script src="/cli/assets/js/runtime~main.f7c5bef0.js" defer="defer"></script>
|
|
8
|
+
<script src="/cli/assets/js/main.7f815b7e.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.10.1">
|
|
6
6
|
<title data-rh="true">stylelintConfig | Cli</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://pui.ice.com/cli/api/variables/stylelintConfig"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="stylelintConfig | Cli"><link data-rh="true" rel="icon" href="/cli/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://pui.ice.com/cli/api/variables/stylelintConfig"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/variables/stylelintConfig" hreflang="en"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/variables/stylelintConfig" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Cli API","item":"https://pui.ice.com/cli/api/"},{"@type":"ListItem","position":2,"name":"stylelintConfig","item":"https://pui.ice.com/cli/api/variables/stylelintConfig"}]}</script><link rel="stylesheet" href="/cli/assets/css/styles.74603f39.css">
|
|
7
|
-
<script src="/cli/assets/js/runtime~main.
|
|
8
|
-
<script src="/cli/assets/js/main.
|
|
7
|
+
<script src="/cli/assets/js/runtime~main.f7c5bef0.js" defer="defer"></script>
|
|
8
|
+
<script src="/cli/assets/js/main.7f815b7e.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="generator" content="Docusaurus v3.10.1">
|
|
6
6
|
<title data-rh="true">vitestConfig | Cli</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://pui.ice.com/cli/api/variables/vitestConfig"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="vitestConfig | Cli"><link data-rh="true" rel="icon" href="/cli/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://pui.ice.com/cli/api/variables/vitestConfig"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/variables/vitestConfig" hreflang="en"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/api/variables/vitestConfig" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Cli API","item":"https://pui.ice.com/cli/api/"},{"@type":"ListItem","position":2,"name":"vitestConfig","item":"https://pui.ice.com/cli/api/variables/vitestConfig"}]}</script><link rel="stylesheet" href="/cli/assets/css/styles.74603f39.css">
|
|
7
|
-
<script src="/cli/assets/js/runtime~main.
|
|
8
|
-
<script src="/cli/assets/js/main.
|
|
7
|
+
<script src="/cli/assets/js/runtime~main.f7c5bef0.js" defer="defer"></script>
|
|
8
|
+
<script src="/cli/assets/js/main.7f815b7e.js" defer="defer"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<svg style="display: none;"><defs>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[5455],{2668(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":"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=i(6070),r=i(6607);const c={},d="pui-cli 9 migration guide",t={},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:"Lerna 9 and Nx 22 (monorepos only)",id:"lerna-9-and-nx-22-monorepos-only",level:2},{value:"1. Remove legacy Nx package pins",id:"1-remove-legacy-nx-package-pins",level:3},{value:"2. Migrate <code>nx.json</code>",id:"2-migrate-nxjson",level:3},{value:"3. Lerna 9 notes",id:"3-lerna-9-notes",level:3},{value:"4. Verify monorepo workflows",id:"4-verify-monorepo-workflows",level:3},{value:"CI checklist",id:"ci-checklist",level:2},{value:"Getting help",id:"getting-help",level:2}];function a(e){const n={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)(n.header,{children:(0,l.jsx)(n.h1,{id:"pui-cli-9-migration-guide",children:"pui-cli 9 migration guide"})}),"\n",(0,l.jsxs)(n.p,{children:["This guide helps PUI consumers upgrade apps and libraries from ",(0,l.jsx)(n.strong,{children:"pui-cli 8"})," to ",(0,l.jsx)(n.strong,{children:"pui-cli 9"}),".\nFor ESLint rule-level detail, see ",(0,l.jsx)(n.a,{href:"/cli/eslint-rules-migration",children:"ESLint rules migration guide"}),"."]}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h2,{id:"at-a-glance",children:"At a glance"}),"\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:"Topic"}),(0,l.jsx)(n.th,{children:"pui-cli 8"}),(0,l.jsx)(n.th,{children:"pui-cli 9"})]})}),(0,l.jsxs)(n.tbody,{children:[(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"Node.js"}),(0,l.jsx)(n.td,{children:"20"}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.strong,{children:"24"})})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"pnpm"}),(0,l.jsx)(n.td,{children:"8\u201310"}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.strong,{children:"11"})})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"App/library bundler"}),(0,l.jsx)(n.td,{children:"Webpack"}),(0,l.jsxs)(n.td,{children:[(0,l.jsx)(n.strong,{children:"Webpack"})," (unchanged)"]})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"ESLint"}),(0,l.jsxs)(n.td,{children:["8.x + ",(0,l.jsx)(n.code,{children:".eslintrc.cjs"})]}),(0,l.jsxs)(n.td,{children:[(0,l.jsx)(n.strong,{children:"10.x"})," + ",(0,l.jsx)(n.code,{children:"eslint.config.mjs"})]})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"Stylelint"}),(0,l.jsxs)(n.td,{children:["15.x + ",(0,l.jsx)(n.code,{children:"stylelint-config-styled-components"})]}),(0,l.jsxs)(n.td,{children:[(0,l.jsx)(n.strong,{children:"17.x"})," + ",(0,l.jsx)(n.code,{children:"postcss-styled-syntax"})," (styled-components rules inlined)"]})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsxs)(n.td,{children:["Vitest (via ",(0,l.jsx)(n.code,{children:"pui-cli vitest"}),")"]}),(0,l.jsx)(n.td,{children:"1.x"}),(0,l.jsxs)(n.td,{children:[(0,l.jsx)(n.strong,{children:"4.x"})," (uses Vite internally; not the app bundler)"]})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"TypeScript lint"}),(0,l.jsxs)(n.td,{children:[(0,l.jsx)(n.code,{children:"@typescript-eslint"})," v5"]}),(0,l.jsxs)(n.td,{children:[(0,l.jsx)(n.code,{children:"typescript-eslint"})," v8"]})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"Exported tsconfig"}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:'moduleResolution: "node"'})}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.strong,{children:(0,l.jsx)(n.code,{children:'moduleResolution: "bundler"'})})})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"Shared config import"}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"require('@elliemae/pui-cli').eslintConfig"})}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"import { eslintFlatConfig } from '@elliemae/pui-cli/eslint'"})})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"Stylelint import"}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"require('@elliemae/pui-cli').stylelintConfig"})}),(0,l.jsxs)(n.td,{children:[(0,l.jsx)(n.code,{children:"import { stylelintConfig } from '@elliemae/pui-cli/stylelint'"})," (or keep CJS re-export)"]})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"semantic-release"}),(0,l.jsxs)(n.td,{children:["21.x + ",(0,l.jsx)(n.code,{children:"release.config.cjs"})]}),(0,l.jsxs)(n.td,{children:[(0,l.jsx)(n.strong,{children:"25.x"})," + ",(0,l.jsx)(n.code,{children:"release.config.mjs"})," (ESM ",(0,l.jsx)(n.code,{children:"extends"})," for shareable config)"]})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"Husky"}),(0,l.jsx)(n.td,{children:"8.x"}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.strong,{children:"9.x"})})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"Lerna (monorepos)"}),(0,l.jsx)(n.td,{children:"6.x"}),(0,l.jsxs)(n.td,{children:[(0,l.jsx)(n.strong,{children:"9.x"})," (via pui-cli; ",(0,l.jsx)(n.code,{children:"bootstrap"}),"/",(0,l.jsx)(n.code,{children:"add"}),"/",(0,l.jsx)(n.code,{children:"link"})," removed)"]})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"Nx (monorepos)"}),(0,l.jsxs)(n.td,{children:["15.x (",(0,l.jsx)(n.code,{children:"@nrwl/*"}),")"]}),(0,l.jsxs)(n.td,{children:[(0,l.jsx)(n.strong,{children:"22.x"})," (",(0,l.jsx)(n.code,{children:"nx"})," + ",(0,l.jsx)(n.code,{children:"@nx/workspace"}),"; modern ",(0,l.jsx)(n.code,{children:"nx.json"}),")"]})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"Cursor skill"}),(0,l.jsx)(n.td,{children:"\u2014"}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"pui-cli skills install migrate-to-pui-cli-9 --target all"})})]})]})]}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h2,{id:"recommended-rollout",children:"Recommended rollout"}),"\n",(0,l.jsxs)(n.p,{children:["Ship in ",(0,l.jsx)(n.strong,{children:"small PRs"})," to reduce regression risk:"]}),"\n",(0,l.jsxs)(n.ol,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Toolchain"})," \u2014 Node 24 + pnpm 11 + CI image updates"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Dependency bump"})," \u2014 ",(0,l.jsx)(n.code,{children:"@elliemae/pui-cli@9"})," without ESLint config change"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"ESLint flat config"})," \u2014 add ",(0,l.jsx)(n.code,{children:"eslint.config.mjs"}),", delete legacy ESLint files, fix lint"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Stylelint 17"})," \u2014 simplify ",(0,l.jsx)(n.code,{children:"stylelint.config.cjs"})," (remove ",(0,l.jsx)(n.code,{children:"stylelint-config-styled-components"})," overrides); optional ",(0,l.jsx)(n.code,{children:"stylelint.config.mjs"})]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Husky 9"})," \u2014 update ",(0,l.jsx)(n.code,{children:"prepare"})," script and hook files (if ",(0,l.jsx)(n.code,{children:".husky/"})," exists)"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Vitest 4"})," \u2014 only if the repo uses ",(0,l.jsx)(n.code,{children:"pui-cli vitest"})," (see below)"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"semantic-release 25"})," \u2014 migrate ",(0,l.jsx)(n.code,{children:"release.config.cjs"})," \u2192 ",(0,l.jsx)(n.code,{children:"release.config.mjs"})," (libraries that publish to npm)"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Lerna 9 + Nx 22"})," \u2014 monorepos only: update ",(0,l.jsx)(n.code,{children:"nx.json"}),", remove ",(0,l.jsx)(n.code,{children:"@nrwl/*"})," pins, verify ",(0,l.jsx)(n.code,{children:"pui-cli version"})," / ",(0,l.jsx)(n.code,{children:"nx run-many"})]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Debt (optional)"})," \u2014 remove temporary rule overrides, adopt strict config"]}),"\n"]}),"\n",(0,l.jsxs)(n.p,{children:["Each PR should pass: ",(0,l.jsx)(n.code,{children:"lint"}),", ",(0,l.jsx)(n.code,{children:"tscheck"}),", ",(0,l.jsx)(n.code,{children:"test"}),", ",(0,l.jsx)(n.code,{children:"build"}),"."]}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h2,{id:"step-by-step",children:"Step-by-step"}),"\n",(0,l.jsx)(n.h3,{id:"1-upgrade-toolchain",children:"1. Upgrade toolchain"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"# .node-version\n24\n"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-json",children:'// package.json (root monorepos)\n"packageManager": "pnpm@11.x.x"\n'})}),"\n",(0,l.jsx)(n.p,{children:"Update Jenkins/docker Node images before merging."}),"\n",(0,l.jsx)(n.h3,{id:"2-upgrade-pui-cli",children:"2. Upgrade pui-cli"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pnpm add -D @elliemae/pui-cli@9\n"})}),"\n",(0,l.jsx)(n.h3,{id:"3-add-flat-eslint-config",children:"3. Add flat ESLint config"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"React app or library:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-js",children:"// eslint.config.mjs\nimport { eslintFlatConfig } from '@elliemae/pui-cli/eslint';\n\nexport default eslintFlatConfig;\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Node / TS service:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-js",children:"// eslint.config.mjs\nimport { eslintFlatBaseConfig } from '@elliemae/pui-cli/eslint';\n\nexport default eslintFlatBaseConfig;\n"})}),"\n",(0,l.jsx)(n.p,{children:"Remove:"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.code,{children:".eslintrc.cjs"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.code,{children:".eslintignore"})}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"4-update-stylelint-config",children:"4. Update Stylelint config"}),"\n",(0,l.jsxs)(n.p,{children:["pui-cli 9 ships ",(0,l.jsx)(n.strong,{children:"Stylelint 17"})," with ",(0,l.jsx)(n.code,{children:"stylelint-config-recommended@18"})," and ",(0,l.jsx)(n.code,{children:"postcss-styled-syntax"}),". The unmaintained ",(0,l.jsx)(n.code,{children:"stylelint-config-styled-components"})," package is removed; its rules are inlined in the shared config."]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Minimal (CJS \u2014 still supported):"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-javascript",children:"// stylelint.config.cjs\nconst { stylelintConfig } = require('@elliemae/pui-cli');\nmodule.exports = stylelintConfig;\n"})}),"\n",(0,l.jsxs)(n.p,{children:["If your repo previously filtered out ",(0,l.jsx)(n.code,{children:"stylelint-config-styled-components"})," from ",(0,l.jsx)(n.code,{children:"extends"}),", delete that workaround \u2014 the base config no longer extends it."]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Recommended (ESM):"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-javascript",children:"// stylelint.config.mjs\nimport { stylelintConfig } from '@elliemae/pui-cli/stylelint';\n\nexport default stylelintConfig;\n"})}),"\n",(0,l.jsxs)(n.p,{children:[(0,l.jsx)(n.code,{children:"pui-cli lint"})," prefers ",(0,l.jsx)(n.code,{children:"stylelint.config.mjs"})," when present, otherwise falls back to ",(0,l.jsx)(n.code,{children:"stylelint.config.cjs"}),"."]}),"\n",(0,l.jsxs)(n.p,{children:["See ",(0,l.jsx)(n.a,{href:"/cli/stylelint-migration",children:"Stylelint migration guide"})," for version and rule changes."]}),"\n",(0,l.jsx)(n.h3,{id:"5-fix-lint",children:"5. Fix lint"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.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)(n.h3,{id:"6-install-the-migration-skill-optional",children:"6. Install the migration skill (optional)"}),"\n",(0,l.jsx)(n.p,{children:"Gives Cursor, Claude Code, and GitHub Copilot agents a step-by-step playbook in the repo:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.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)(n.p,{children:["Skills are copied to ",(0,l.jsx)(n.code,{children:".cursor/skills/"}),", ",(0,l.jsx)(n.code,{children:".claude/skills/"}),", and ",(0,l.jsx)(n.code,{children:".github/skills/"})," (commit them if you want the whole team to share the same agent guidance)."]}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h2,{id:"temporary-overrides",children:"Temporary overrides"}),"\n",(0,l.jsxs)(n.p,{children:["Large repos may have pre-existing ",(0,l.jsx)(n.code,{children:"any"})," usage. Legacy ESLint reported these as ",(0,l.jsx)(n.strong,{children:"warnings"}),"; flat config defaults them to ",(0,l.jsx)(n.strong,{children:"error"}),"."]}),"\n",(0,l.jsx)(n.p,{children:"Short-term override (remove in a follow-up):"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.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)(n.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)(n.hr,{}),"\n",(0,l.jsx)(n.h2,{id:"strict-config-after-cleanup",children:"Strict config (after cleanup)"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-js",children:"import { eslintFlatConfigStrict } from '@elliemae/pui-cli/eslint';\n\nexport default eslintFlatConfigStrict;\n"})}),"\n",(0,l.jsxs)(n.p,{children:["Strict mode elevates ",(0,l.jsx)(n.code,{children:"no-unsafe-*"})," and ",(0,l.jsx)(n.code,{children:"exhaustive-deps"})," to error."]}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h2,{id:"husky-9",children:"Husky 9"}),"\n",(0,l.jsx)(n.p,{children:"If your repo uses Husky 8 hooks from pui-cli boilerplate:"}),"\n",(0,l.jsxs)(n.ol,{children:["\n",(0,l.jsxs)(n.li,{children:["Upgrade: ",(0,l.jsx)(n.code,{children:"pnpm add -D husky@9"})]}),"\n",(0,l.jsxs)(n.li,{children:["Update ",(0,l.jsx)(n.code,{children:"package.json"}),":","\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-diff",children:'- "prepare": "[ -n \\"$CI\\" ] || husky install"\n+ "prepare": "[ -n \\"$CI\\" ] || husky"\n'})}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["Remove the shebang and ",(0,l.jsx)(n.code,{children:"husky.sh"})," source from each hook in ",(0,l.jsx)(n.code,{children:".husky/"}),":","\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-diff",children:'- #!/bin/sh\n- . "$(dirname "$0")/_/husky.sh"\n\npnpm -s dlx lint-staged\n'})}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["Delete ",(0,l.jsx)(n.code,{children:".husky/.gitignore"})," if present (v9 regenerates ",(0,l.jsx)(n.code,{children:".husky/_"})," on install)."]}),"\n",(0,l.jsxs)(n.li,{children:["Remove ",(0,l.jsx)(n.code,{children:"husky-init"})," from devDependencies (use ",(0,l.jsx)(n.code,{children:"pnpm exec husky init"})," for new projects)."]}),"\n",(0,l.jsxs)(n.li,{children:["Run ",(0,l.jsx)(n.code,{children:"pnpm prepare"})," and verify with a test commit."]}),"\n"]}),"\n",(0,l.jsxs)(n.p,{children:[(0,l.jsx)(n.strong,{children:"Environment variable changes:"})," ",(0,l.jsx)(n.code,{children:"HUSKY_SKIP_HOOKS"})," / ",(0,l.jsx)(n.code,{children:"HUSKY_SKIP_INSTALL"})," \u2192 ",(0,l.jsx)(n.code,{children:"HUSKY=0"}),"; ",(0,l.jsx)(n.code,{children:"HUSKY_GIT_PARAMS"})," \u2192 use ",(0,l.jsx)(n.code,{children:"$1"})," in hook scripts."]}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h2,{id:"vitest-4",children:"Vitest 4"}),"\n",(0,l.jsxs)(n.p,{children:["Skip this section if the repo uses Jest (",(0,l.jsx)(n.code,{children:"pui-cli test"}),") only. ",(0,l.jsx)(n.strong,{children:"pui-cli 9 still builds apps and libraries with Webpack"}),"; Vite is used by Vitest (and optional ",(0,l.jsx)(n.code,{children:"pui-cli buildCDN"}),"), not for production bundling."]}),"\n",(0,l.jsxs)(n.p,{children:["After bumping ",(0,l.jsx)(n.code,{children:"@elliemae/pui-cli@9"}),", align local test dependencies with the versions pui-cli ships:"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.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)(n.p,{children:[(0,l.jsx)(n.strong,{children:"Extend the shared config"})," (recommended):"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.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)(n.p,{children:[(0,l.jsxs)(n.strong,{children:["If you spread ",(0,l.jsx)(n.code,{children:"vitestConfig"})," manually"]}),", update any Vitest 1.x options:"]}),"\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:"pui-cli 8 / Vitest 1"}),(0,l.jsx)(n.th,{children:"pui-cli 9 / Vitest 4"})]})}),(0,l.jsxs)(n.tbody,{children:[(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"test.deps.optimizer.web"})}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"test.deps.optimizer.client"})})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"@vitest/coverage-c8"})}),(0,l.jsxs)(n.td,{children:[(0,l.jsx)(n.code,{children:"@vitest/coverage-v8"})," (coverage provider ",(0,l.jsx)(n.code,{children:"v8"}),")"]})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"import { PluginOption } from 'vite'"})}),(0,l.jsxs)(n.td,{children:[(0,l.jsx)(n.code,{children:"import type { PluginOption } from 'vite'"})," (Vite 8)"]})]})]})]}),"\n",(0,l.jsxs)(n.p,{children:[(0,l.jsx)(n.strong,{children:"TypeScript:"})," exported ",(0,l.jsx)(n.code,{children:"@elliemae/pui-cli/app.tsconfig.json"})," and ",(0,l.jsx)(n.code,{children:"library.tsconfig.json"})," use ",(0,l.jsx)(n.code,{children:'moduleResolution: "bundler"'}),". If your ",(0,l.jsx)(n.code,{children:"tsconfig.json"})," extends them, reinstall pui-cli and re-run ",(0,l.jsx)(n.code,{children:"tscheck"}),". Custom tsconfigs that import ",(0,l.jsx)(n.code,{children:"vitest/config"})," or ",(0,l.jsx)(n.code,{children:"vite"})," may need the same setting."]}),"\n",(0,l.jsxs)(n.p,{children:[(0,l.jsx)(n.strong,{children:"Vitest config import:"})," use ",(0,l.jsx)(n.code,{children:"@elliemae/pui-cli/vitest"})," (not the package root). pui-cli 9 publishes ",(0,l.jsx)(n.code,{children:"types"})," on each ",(0,l.jsx)(n.code,{children:"package.json"})," ",(0,l.jsx)(n.code,{children:"exports"})," entry so ",(0,l.jsx)(n.code,{children:"tsc"})," resolves declarations under ",(0,l.jsx)(n.code,{children:'moduleResolution: "bundler"'})," \u2014 no ",(0,l.jsx)(n.code,{children:"tsconfig"})," ",(0,l.jsx)(n.code,{children:"paths"})," workaround."]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pnpm exec pui-cli vitest --passWithNoTests\npnpm exec pui-cli tscheck --files\n"})}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h2,{id:"semantic-release-25",children:"semantic-release 25"}),"\n",(0,l.jsxs)(n.p,{children:["pui-cli 9 ships ",(0,l.jsx)(n.strong,{children:"semantic-release 25"})," with an ESM shareable config at ",(0,l.jsx)(n.code,{children:"@elliemae/pui-cli/releaseConfig"}),". semantic-release 22+ loads ESM ",(0,l.jsx)(n.code,{children:"extends"})," targets via dynamic ",(0,l.jsx)(n.code,{children:"import()"})," \u2014 the old ",(0,l.jsx)(n.code,{children:"release.config.cjs"})," + ",(0,l.jsx)(n.code,{children:"require()"})," path no longer works for the shared config."]}),"\n",(0,l.jsxs)(n.p,{children:[(0,l.jsxs)(n.strong,{children:["Libraries that run ",(0,l.jsx)(n.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)(n.h3,{id:"1-upgrade-semantic-release-if-pinned-locally",children:"1. Upgrade semantic-release (if pinned locally)"}),"\n",(0,l.jsxs)(n.p,{children:["Most PUI libraries inherit semantic-release from ",(0,l.jsx)(n.code,{children:"@elliemae/pui-cli"}),". If your ",(0,l.jsx)(n.code,{children:"package.json"})," pins ",(0,l.jsx)(n.code,{children:"semantic-release"})," or ",(0,l.jsx)(n.code,{children:"@semantic-release/*"})," plugins directly, align with pui-cli 9:"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.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)(n.p,{children:["Remove explicit pins if the repo only uses ",(0,l.jsx)(n.code,{children:"pnpm release"})," and relies on pui-cli's dependency tree."]}),"\n",(0,l.jsx)(n.h3,{id:"2-migrate-release-config-to-esm",children:"2. Migrate release config to ESM"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Before:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-javascript",children:"// release.config.cjs\nmodule.exports = {\n extends: '@elliemae/pui-cli/releaseConfig',\n};\n"})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"After:"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.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)(n.p,{children:["Delete ",(0,l.jsx)(n.code,{children:"release.config.cjs"})," after adding ",(0,l.jsx)(n.code,{children:"release.config.mjs"}),"."]}),"\n",(0,l.jsx)(n.h3,{id:"3-custom-plugins-or-overrides",children:"3. Custom plugins or overrides"}),"\n",(0,l.jsxs)(n.p,{children:["Keep repo-specific plugins as relative paths from the config file. ESM plugins use ",(0,l.jsx)(n.code,{children:"export default"}),":"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.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)(n.p,{children:["CJS plugins (",(0,l.jsx)(n.code,{children:".cjs"}),") still work when referenced by path."]}),"\n",(0,l.jsx)(n.h3,{id:"4-verify-locally",children:"4. Verify locally"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pnpm exec semantic-release --dry-run\n"})}),"\n",(0,l.jsx)(n.h3,{id:"agent-assisted-migration",children:"Agent-assisted migration"}),"\n",(0,l.jsx)(n.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)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pnpm exec pui-cli skills install migrate-to-pui-cli-9 --target all\n"})}),"\n",(0,l.jsx)(n.p,{children:"Then ask the agent to migrate configuration files for pui-cli 9."}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h2,{id:"lerna-9-and-nx-22-monorepos-only",children:"Lerna 9 and Nx 22 (monorepos only)"}),"\n",(0,l.jsxs)(n.p,{children:["Skip this section for single-package apps and libraries. PUI monorepos (for example ",(0,l.jsx)(n.code,{children:"pui-microfe"}),", ",(0,l.jsx)(n.code,{children:"pui-websocket"}),", ",(0,l.jsx)(n.code,{children:"pui-mono-repo-boilerplate"}),") use ",(0,l.jsx)(n.strong,{children:"Nx"})," for task orchestration and ",(0,l.jsx)(n.strong,{children:"Lerna"})," (via ",(0,l.jsx)(n.code,{children:"pui-cli version"}),") for independent package versioning."]}),"\n",(0,l.jsxs)(n.p,{children:["pui-cli 9 ships ",(0,l.jsx)(n.strong,{children:"lerna 9"})," and ",(0,l.jsx)(n.strong,{children:"nx 22"})," (",(0,l.jsx)(n.code,{children:"nx"})," + ",(0,l.jsx)(n.code,{children:"@nx/workspace"}),"). After bumping ",(0,l.jsx)(n.code,{children:"@elliemae/pui-cli@9"}),", reinstall so the workspace picks up the new CLIs:"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pnpm install\npnpm exec nx --version # expect 22.x\npnpm exec lerna --version # expect 9.x\n"})}),"\n",(0,l.jsx)(n.h3,{id:"1-remove-legacy-nx-package-pins",children:"1. Remove legacy Nx package pins"}),"\n",(0,l.jsxs)(n.p,{children:["Most monorepos inherit Nx and Lerna from pui-cli and do ",(0,l.jsx)(n.strong,{children:"not"})," pin them locally. If your root ",(0,l.jsx)(n.code,{children:"package.json"})," still lists ",(0,l.jsx)(n.code,{children:"@nrwl/cli"}),", ",(0,l.jsx)(n.code,{children:"@nrwl/tao"}),", or ",(0,l.jsx)(n.code,{children:"@nrwl/workspace"}),", remove those entries and any direct ",(0,l.jsx)(n.code,{children:"lerna"})," / ",(0,l.jsx)(n.code,{children:"nx"})," pins \u2014 pui-cli 9 provides them."]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pnpm remove @nrwl/cli @nrwl/tao @nrwl/workspace lerna nx # only if explicitly pinned\npnpm install\n"})}),"\n",(0,l.jsxs)(n.h3,{id:"2-migrate-nxjson",children:["2. Migrate ",(0,l.jsx)(n.code,{children:"nx.json"})]}),"\n",(0,l.jsxs)(n.p,{children:["Nx 15 configs use deprecated ",(0,l.jsx)(n.code,{children:"@nrwl/workspace"})," presets, ",(0,l.jsx)(n.code,{children:"tasksRunnerOptions"}),", and ",(0,l.jsx)(n.code,{children:"targetDependencies"}),". Nx 22 uses ",(0,l.jsx)(n.code,{children:"nx/presets/npm.json"})," (or ",(0,l.jsx)(n.code,{children:"@nx/workspace/presets/npm.json"}),") and ",(0,l.jsx)(n.code,{children:"targetDefaults.dependsOn"}),"."]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"Before (pui-cli 8 / Nx 15):"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-json",children:'{\n "extends": "@nrwl/workspace/presets/npm.json",\n "tasksRunnerOptions": {\n "default": {\n "runner": "@nrwl/workspace/tasks-runners/default",\n "options": {\n "cacheableOperations": ["build", "test", "lint"]\n }\n }\n },\n "targetDependencies": {\n "build": [{ "target": "build", "projects": "dependencies" }],\n "test": [{ "target": "build", "projects": "dependencies" }]\n }\n}\n'})}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"After (pui-cli 9 / Nx 22):"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-json",children:'{\n "$schema": "./node_modules/nx/schemas/nx-schema.json",\n "extends": "nx/presets/npm.json",\n "targetDefaults": {\n "build": {\n "dependsOn": ["^build"],\n "cache": true\n },\n "test": {\n "dependsOn": ["^build"],\n "cache": true\n },\n "dts": {\n "dependsOn": ["^dts"],\n "cache": true\n },\n "lint": {\n "dependsOn": ["^dts"],\n "cache": true\n },\n "dev": {\n "dependsOn": ["^dev"],\n "cache": true\n },\n "storybook:start": {\n "dependsOn": ["^build"],\n "cache": true\n },\n "storybook:build": {\n "dependsOn": ["^build"],\n "cache": true\n },\n "prepare": {\n "dependsOn": ["^prepare"],\n "cache": true\n },\n "package": {\n "dependsOn": ["^package"],\n "cache": true\n },\n "postinstall": {\n "cache": true\n },\n "compile:scss": {\n "cache": true\n }\n }\n}\n'})}),"\n",(0,l.jsxs)(n.p,{children:["Map each legacy ",(0,l.jsx)(n.code,{children:"targetDependencies"})," entry to ",(0,l.jsx)(n.code,{children:'"dependsOn": ["^<target>"]'})," on the same target name. Targets that were only listed under ",(0,l.jsx)(n.code,{children:"cacheableOperations"})," get ",(0,l.jsx)(n.code,{children:'"cache": true'})," in ",(0,l.jsx)(n.code,{children:"targetDefaults"}),"."]}),"\n",(0,l.jsxs)(n.p,{children:[(0,l.jsx)(n.strong,{children:"Automated migration (optional):"})," from the monorepo root after installing pui-cli 9:"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pnpm exec nx migrate latest\npnpm exec nx migrate --run-migrations\n"})}),"\n",(0,l.jsxs)(n.p,{children:["Review the generated migrations; they may simplify ",(0,l.jsx)(n.code,{children:"nx.json"})," further. Commit the result with your pui-cli 9 bump."]}),"\n",(0,l.jsx)(n.h3,{id:"3-lerna-9-notes",children:"3. Lerna 9 notes"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Removed commands:"})," ",(0,l.jsx)(n.code,{children:"lerna bootstrap"}),", ",(0,l.jsx)(n.code,{children:"lerna add"}),", and ",(0,l.jsx)(n.code,{children:"lerna link"})," are gone. Use pnpm workspaces (",(0,l.jsx)(n.code,{children:"pnpm add <pkg> --filter <lib>"}),") for linking and dependency management."]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsxs)(n.strong,{children:[(0,l.jsx)(n.code,{children:"lerna.json"}),":"]})," existing PUI repos can keep ",(0,l.jsx)(n.code,{children:'npmClient: "pnpm"'})," and ",(0,l.jsx)(n.code,{children:"useWorkspaces: true"}),". No change required unless you relied on removed commands."]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsxs)(n.strong,{children:[(0,l.jsx)(n.code,{children:"pui-cli version"}),":"]})," unchanged \u2014 still wraps ",(0,l.jsx)(n.code,{children:"lerna version --conventional-commits --exact --create-release github --force-publish --yes"}),"."]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Dry-run override:"})," ",(0,l.jsx)(n.code,{children:"semantic-version:dryrun:override"})," scripts that call ",(0,l.jsx)(n.code,{children:"lerna version"})," directly continue to work with lerna 9."]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"4-verify-monorepo-workflows",children:"4. Verify monorepo workflows"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-bash",children:"pnpm exec nx run-many --target=build --all --parallel\npnpm exec nx affected --target=test --uncommitted\npnpm exec pui-cli lint\npnpm exec pui-cli version --help # confirms pui-cli can invoke lerna 9\n"})}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h2,{id:"ci-checklist",children:"CI checklist"}),"\n",(0,l.jsxs)(n.ul,{className:"contains-task-list",children:["\n",(0,l.jsxs)(n.li,{className:"task-list-item",children:[(0,l.jsx)(n.input,{type:"checkbox",disabled:!0})," ","Node 24 in pipeline"]}),"\n",(0,l.jsxs)(n.li,{className:"task-list-item",children:[(0,l.jsx)(n.input,{type:"checkbox",disabled:!0})," ","pnpm 11 in pipeline"]}),"\n",(0,l.jsxs)(n.li,{className:"task-list-item",children:[(0,l.jsx)(n.input,{type:"checkbox",disabled:!0})," ",(0,l.jsx)(n.code,{children:"pui-cli lint"})," (0 errors)"]}),"\n",(0,l.jsxs)(n.li,{className:"task-list-item",children:[(0,l.jsx)(n.input,{type:"checkbox",disabled:!0})," ",(0,l.jsx)(n.code,{children:"pui-cli tscheck --files"})]}),"\n",(0,l.jsxs)(n.li,{className:"task-list-item",children:[(0,l.jsx)(n.input,{type:"checkbox",disabled:!0})," ","Unit tests"]}),"\n",(0,l.jsxs)(n.li,{className:"task-list-item",children:[(0,l.jsx)(n.input,{type:"checkbox",disabled:!0})," ","Production build"]}),"\n",(0,l.jsxs)(n.li,{className:"task-list-item",children:[(0,l.jsx)(n.input,{type:"checkbox",disabled:!0})," ","lint-staged / husky hooks pass locally"]}),"\n",(0,l.jsxs)(n.li,{className:"task-list-item",children:[(0,l.jsx)(n.input,{type:"checkbox",disabled:!0})," ",(0,l.jsx)(n.code,{children:"semantic-release --dry-run"})," (libraries that publish to npm)"]}),"\n",(0,l.jsxs)(n.li,{className:"task-list-item",children:[(0,l.jsx)(n.input,{type:"checkbox",disabled:!0})," ",(0,l.jsx)(n.code,{children:"nx run-many --target=build --all"})," (monorepos)"]}),"\n",(0,l.jsxs)(n.li,{className:"task-list-item",children:[(0,l.jsx)(n.input,{type:"checkbox",disabled:!0})," ",(0,l.jsx)(n.code,{children:"pui-cli version --help"})," or dry-run versioning (monorepos that publish packages)"]}),"\n"]}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h2,{id:"getting-help",children:"Getting help"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Rule changes:"})," ",(0,l.jsx)(n.a,{href:"/cli/eslint-rules-migration",children:"eslint-rules-migration.md"})]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Stylelint changes:"})," ",(0,l.jsx)(n.a,{href:"/cli/stylelint-migration",children:"stylelint-migration.md"})]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Commands:"})," ",(0,l.jsx)(n.a,{href:"/cli/usage-guide",children:"usage guide"})]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Platform team:"})," ",(0,l.jsx)(n.code,{children:"#pui-platform"})," or your team's platform-ui 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)}}}]);
|