zixulu 1.68.2 → 1.68.4
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/dist/utils/initProject.js +9 -3
- package/dist/utils/initProject.js.map +2 -2
- package/dist/utils/rsbuild.js +1 -0
- package/dist/utils/rsbuild.js.map +2 -2
- package/dist/utils/sortArrayOrObject.d.ts +1 -1
- package/package.json +1 -1
- package/src/utils/initProject.ts +7 -3
- package/src/utils/rsbuild.ts +1 -0
|
@@ -49,10 +49,12 @@ var import_removeESLint = require("./removeESLint");
|
|
|
49
49
|
var import_rsbuild = require("./rsbuild");
|
|
50
50
|
var import_setTsConfig = require("./setTsConfig");
|
|
51
51
|
var import_vite = require("./vite");
|
|
52
|
+
var import_addEslint = require("./addEslint");
|
|
52
53
|
async function initProject() {
|
|
53
54
|
import_consola.default.start("开始初始化项目");
|
|
54
55
|
const { default: inquirer } = await import("inquirer");
|
|
55
56
|
await (0, import_createBrowserlistrc.createBrowserlistrc)();
|
|
57
|
+
await (0, import_addEslint.addEslint)();
|
|
56
58
|
const packageJson = await (0, import_readPackageJson.readPackageJson)();
|
|
57
59
|
const allDependcies = Object.keys(packageJson.dependencies || {}).concat(Object.keys(packageJson.devDependencies || {}));
|
|
58
60
|
if (!allDependcies.includes("react") || !allDependcies.includes("react-dom")) {
|
|
@@ -89,7 +91,7 @@ async function initProject() {
|
|
|
89
91
|
await (0, import_removeESLint.removeESLint)();
|
|
90
92
|
}
|
|
91
93
|
const isFullStack = type === import_constant.ProjectType.next || type === import_constant.ProjectType.remix;
|
|
92
|
-
const choices = isFullStack ? ["antd", "@tanstack/react-query", "dayjs", "deepsea-components", "deepsea-tools", "prisma", "tailwind", "zod"] : ["antd", "@tanstack/react-query", "dayjs", "deepsea-components", "deepsea-tools", "tailwind", "react-router
|
|
94
|
+
const choices = isFullStack ? ["antd", "@heroui/react", "@tanstack/react-form", "@tanstack/react-query", "dayjs", "deepsea-components", "deepsea-tools", "prisma", "tailwind", "zod"] : ["antd", "@heroui/react", "@tanstack/react-form", "@tanstack/react-query", "dayjs", "deepsea-components", "deepsea-tools", "tailwind", "react-router"];
|
|
93
95
|
const { modules } = await inquirer.prompt({
|
|
94
96
|
type: "checkbox",
|
|
95
97
|
name: "modules",
|
|
@@ -104,8 +106,12 @@ async function initProject() {
|
|
|
104
106
|
await (0, import_addTailwind.addTailwind)();
|
|
105
107
|
else
|
|
106
108
|
await (0, import_addPrettier.addPrettier)();
|
|
109
|
+
if (modules.includes("@heroui/react"))
|
|
110
|
+
added.push("@heroui/react", "soda-heroui");
|
|
107
111
|
if (modules.includes("@tanstack/react-query"))
|
|
108
112
|
added.push("@tanstack/react-query");
|
|
113
|
+
if (modules.includes("@tanstack/react-form"))
|
|
114
|
+
added.push("@tanstack/react-form", "soda-tanstack-form");
|
|
109
115
|
if (modules.includes("dayjs"))
|
|
110
116
|
added.push("dayjs");
|
|
111
117
|
if (modules.includes("deepsea-components"))
|
|
@@ -116,8 +122,8 @@ async function initProject() {
|
|
|
116
122
|
added.push("stable-hash");
|
|
117
123
|
if (modules.includes("zod"))
|
|
118
124
|
added.push("zod");
|
|
119
|
-
if (modules.includes("react-router
|
|
120
|
-
added.push("react-router
|
|
125
|
+
if (modules.includes("react-router"))
|
|
126
|
+
added.push("react-router");
|
|
121
127
|
if (modules.includes("stable-hash"))
|
|
122
128
|
added.push("stable-hash");
|
|
123
129
|
await (0, import_addDependency.addDependency)({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/initProject.ts"],
|
|
4
|
-
"sourcesContent": ["import consola from \"consola\"\n\nimport { ProjectType } from \"@constant/index\"\n\nimport { addAntd } from \"./addAntd\"\nimport { addDependency } from \"./addDependency\"\nimport { addGitignore } from \"./addGitignore\"\nimport { addPrettier } from \"./addPrettier\"\nimport { addPrisma } from \"./addPrisma\"\nimport { addTailwind } from \"./addTailwind\"\nimport { createBrowserlistrc } from \"./createBrowserlistrc\"\nimport { getPackageManager } from \"./getPackageManager\"\nimport { installDependceny } from \"./installDependceny\"\nimport { next } from \"./next\"\nimport { readPackageJson } from \"./readPackageJson\"\nimport { removeESLint } from \"./removeESLint\"\nimport { rsbuild } from \"./rsbuild\"\nimport { setTsConfig } from \"./setTsConfig\"\nimport { vite } from \"./vite\"\n\nexport async function initProject() {\n consola.start(\"开始初始化项目\")\n const { default: inquirer } = await import(\"inquirer\")\n await createBrowserlistrc()\n const packageJson = await readPackageJson()\n const allDependcies = Object.keys(packageJson.dependencies || {}).concat(Object.keys(packageJson.devDependencies || {}))\n if (!allDependcies.includes(\"react\") || !allDependcies.includes(\"react-dom\")) {\n consola.error(\"仅支持 React 项目\")\n return\n }\n let type: ProjectType\n if (allDependcies.some(item => item === \"next\")) {\n type = ProjectType.next\n } else if (allDependcies.some(item => item === \"@remix-run/react\")) {\n type = ProjectType.remix\n } else if (allDependcies.some(item => item === \"vite\")) {\n type = ProjectType.vite\n } else if (allDependcies.some(item => item === \"@rsbuild/core\")) {\n type = ProjectType.rsbuild\n } else {\n consola.error(\"仅支持 Next、Remix、Vite、Rsbuild 项目\")\n return\n }\n await addGitignore()\n await addDependency({\n package: [\"@types/node\"],\n type: \"devDependencies\",\n })\n const manager = await getPackageManager()\n if (allDependcies.some(item => item.includes(\"eslint\"))) {\n const { removeEslintConfig } = await inquirer.prompt({\n type: \"confirm\",\n name: \"removeEslintConfig\",\n message: \"是否删除 ESLint 配置文件\",\n default: true,\n })\n if (removeEslintConfig) await removeESLint()\n }\n const isFullStack = type === ProjectType.next || type === ProjectType.remix\n const choices = isFullStack\n ? [\"antd\", \"@tanstack/react-query\", \"dayjs\", \"deepsea-components\", \"deepsea-tools\", \"prisma\", \"tailwind\", \"zod\"]\n : [\"antd\", \"@tanstack/react-query\", \"dayjs\", \"deepsea-components\", \"deepsea-tools\", \"tailwind\", \"react-router
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAoB;AAEpB,sBAA4B;AAE5B,qBAAwB;AACxB,2BAA8B;AAC9B,0BAA6B;AAC7B,yBAA4B;AAC5B,uBAA0B;AAC1B,yBAA4B;AAC5B,iCAAoC;AACpC,+BAAkC;AAClC,+BAAkC;AAClC,kBAAqB;AACrB,6BAAgC;AAChC,0BAA6B;AAC7B,qBAAwB;AACxB,yBAA4B;AAC5B,kBAAqB;
|
|
4
|
+
"sourcesContent": ["import consola from \"consola\"\n\nimport { ProjectType } from \"@constant/index\"\n\nimport { addAntd } from \"./addAntd\"\nimport { addDependency } from \"./addDependency\"\nimport { addGitignore } from \"./addGitignore\"\nimport { addPrettier } from \"./addPrettier\"\nimport { addPrisma } from \"./addPrisma\"\nimport { addTailwind } from \"./addTailwind\"\nimport { createBrowserlistrc } from \"./createBrowserlistrc\"\nimport { getPackageManager } from \"./getPackageManager\"\nimport { installDependceny } from \"./installDependceny\"\nimport { next } from \"./next\"\nimport { readPackageJson } from \"./readPackageJson\"\nimport { removeESLint } from \"./removeESLint\"\nimport { rsbuild } from \"./rsbuild\"\nimport { setTsConfig } from \"./setTsConfig\"\nimport { vite } from \"./vite\"\nimport { addEslint } from \"./addEslint\"\n\nexport async function initProject() {\n consola.start(\"开始初始化项目\")\n const { default: inquirer } = await import(\"inquirer\")\n await createBrowserlistrc()\n await addEslint()\n const packageJson = await readPackageJson()\n const allDependcies = Object.keys(packageJson.dependencies || {}).concat(Object.keys(packageJson.devDependencies || {}))\n if (!allDependcies.includes(\"react\") || !allDependcies.includes(\"react-dom\")) {\n consola.error(\"仅支持 React 项目\")\n return\n }\n let type: ProjectType\n if (allDependcies.some(item => item === \"next\")) {\n type = ProjectType.next\n } else if (allDependcies.some(item => item === \"@remix-run/react\")) {\n type = ProjectType.remix\n } else if (allDependcies.some(item => item === \"vite\")) {\n type = ProjectType.vite\n } else if (allDependcies.some(item => item === \"@rsbuild/core\")) {\n type = ProjectType.rsbuild\n } else {\n consola.error(\"仅支持 Next、Remix、Vite、Rsbuild 项目\")\n return\n }\n await addGitignore()\n await addDependency({\n package: [\"@types/node\"],\n type: \"devDependencies\",\n })\n const manager = await getPackageManager()\n if (allDependcies.some(item => item.includes(\"eslint\"))) {\n const { removeEslintConfig } = await inquirer.prompt({\n type: \"confirm\",\n name: \"removeEslintConfig\",\n message: \"是否删除 ESLint 配置文件\",\n default: true,\n })\n if (removeEslintConfig) await removeESLint()\n }\n const isFullStack = type === ProjectType.next || type === ProjectType.remix\n const choices = isFullStack\n ? [\"antd\", \"@heroui/react\", \"@tanstack/react-form\", \"@tanstack/react-query\", \"dayjs\", \"deepsea-components\", \"deepsea-tools\", \"prisma\", \"tailwind\", \"zod\"]\n : [\"antd\", \"@heroui/react\", \"@tanstack/react-form\", \"@tanstack/react-query\", \"dayjs\", \"deepsea-components\", \"deepsea-tools\", \"tailwind\", \"react-router\"]\n\n const { modules } = await inquirer.prompt({\n type: \"checkbox\",\n name: \"modules\",\n message: \"请选择要添加的模块\",\n choices,\n default: choices,\n })\n\n const added: string[] = []\n if (modules.includes(\"antd\")) await addAntd()\n if (modules.includes(\"tailwind\")) await addTailwind()\n else await addPrettier()\n if (modules.includes(\"@heroui/react\")) added.push(\"@heroui/react\", \"soda-heroui\")\n if (modules.includes(\"@tanstack/react-query\")) added.push(\"@tanstack/react-query\")\n if (modules.includes(\"@tanstack/react-form\")) added.push(\"@tanstack/react-form\", \"soda-tanstack-form\")\n if (modules.includes(\"dayjs\")) added.push(\"dayjs\")\n if (modules.includes(\"deepsea-components\")) added.push(\"deepsea-components\")\n if (modules.includes(\"deepsea-tools\")) added.push(\"deepsea-tools\")\n if (modules.includes(\"stable-hash\")) added.push(\"stable-hash\")\n if (modules.includes(\"zod\")) added.push(\"zod\")\n if (modules.includes(\"react-router\")) added.push(\"react-router\")\n if (modules.includes(\"stable-hash\")) added.push(\"stable-hash\")\n\n await addDependency({\n package: added,\n type: \"dependencies\",\n })\n\n switch (type) {\n case ProjectType.next:\n await next()\n break\n\n case ProjectType.remix:\n await vite()\n break\n\n case ProjectType.vite:\n await vite()\n break\n\n case ProjectType.rsbuild:\n await rsbuild()\n break\n }\n\n let installed = false\n if (modules.includes(\"prisma\")) {\n await addPrisma(manager)\n installed = true\n }\n if (!installed) await installDependceny({ silent: true, manager })\n await setTsConfig(\"noEmit\", true)\n consola.success(\"项目初始化完成\")\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["consola"]
|
|
7
7
|
}
|
package/dist/utils/rsbuild.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/rsbuild.ts"],
|
|
4
|
-
"sourcesContent": ["import { rm, writeFile } from \"fs/promises\"\nimport consola from \"consola\"\n\nimport { addDependency } from \"./addDependency\"\nimport { checkTailwind } from \"./checkTailwind\"\nimport { readPackageJson } from \"./readPackageJson\"\nimport { readTsConfig } from \"./readTsConfig\"\nimport { WriteRsbuildConfigParams, writeRsbuildConfig } from \"./writeRsbuildConfig\"\nimport { writeTsConfig } from \"./writeTsConfig\"\n\nexport async function rsbuild() {\n consola.start(\"开始设置 rsbuild 配置\")\n const { default: inquirer } = await import(\"inquirer\")\n await addDependency({\n package: [\"@rsbuild/plugin-svgr\", \"@rsbuild/plugin-babel\", \"babel-plugin-react-compiler\"],\n type: \"devDependencies\",\n })\n const packageJson = await readPackageJson()\n const tsConfig = await readTsConfig()\n tsConfig.compilerOptions.lib = tsConfig.compilerOptions.lib.map((item: string) => (item === tsConfig.compilerOptions.target ? \"ESNext\" : item))\n tsConfig.compilerOptions.target = \"ESNext\"\n await writeTsConfig(tsConfig)\n const { description, title, mountId } = await inquirer.prompt<WriteRsbuildConfigParams>([\n {\n type: \"input\",\n name: \"description\",\n message: \"项目描述\",\n default: \"designed by someone\",\n },\n {\n type: \"input\",\n name: \"title\",\n message: \"项目标题\",\n default: packageJson.name,\n },\n {\n type: \"input\",\n name: \"mountId\",\n message: \"入口 id\",\n default: \"root\",\n },\n ])\n await writeRsbuildConfig({ description, title, mountId })\n await rm(`src/App.css`, { force: true })\n\n await writeFile(\n `src/index.css`,\n (await checkTailwind())\n ? `@tailwind base; \n@tailwind components;\n@tailwind utilities;\n`\n : ``,\n \"utf-8\",\n )\n\n await writeFile(\n `src/App.tsx`,\n `import { FC } from \"react\"\n\nconst App: FC = () => {\n return <div>Hello, World!</div>\n}\n\nexport default App`,\n \"utf-8\",\n )\n\n await writeFile(\n `src/index.tsx`,\n `import { StrictMode } from \"react\"\nimport { createRoot } from \"react-dom/client\"\nimport App from \"./App\"\n\nimport \"./index.css\"\n\nconst root = createRoot(document.getElementById(\"${mountId}\") as HTMLDivElement)\n\nroot.render(\n <StrictMode>\n <App />\n </StrictMode>\n)`,\n \"utf-8\",\n )\n consola.success(\"设置 rsbuild 配置成功\")\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA8B;AAC9B,qBAAoB;AAEpB,2BAA8B;AAC9B,2BAA8B;AAC9B,6BAAgC;AAChC,0BAA6B;AAC7B,gCAA6D;AAC7D,2BAA8B;AAE9B,eAAsB,UAAU;AAC5B,iBAAAA,QAAQ,MAAM,iBAAiB;AAC/B,QAAM,EAAE,SAAS,SAAS,IAAI,MAAM,OAAO,UAAU;AACrD,YAAM,oCAAc;AAAA,IAChB,SAAS,CAAC,wBAAwB,yBAAyB,6BAA6B;AAAA,IACxF,MAAM;AAAA,EACV,CAAC;AACD,QAAM,cAAc,UAAM,wCAAgB;AAC1C,QAAM,WAAW,UAAM,kCAAa;AACpC,WAAS,gBAAgB,MAAM,SAAS,gBAAgB,IAAI,IAAI,CAAC,SAAkB,SAAS,SAAS,gBAAgB,SAAS,WAAW,IAAK;AAC9I,WAAS,gBAAgB,SAAS;AAClC,YAAM,oCAAc,QAAQ;AAC5B,QAAM,EAAE,aAAa,OAAO,QAAQ,IAAI,MAAM,SAAS,OAAiC;AAAA,IACpF;AAAA,MACI,MAAM;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,IACb;AAAA,IACA;AAAA,MACI,MAAM;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS,YAAY;AAAA,IACzB;AAAA,IACA;AAAA,MACI,MAAM;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,IACb;AAAA,EACJ,CAAC;AACD,YAAM,8CAAmB,EAAE,aAAa,OAAO,QAAQ,CAAC;AACxD,YAAM,oBAAG,eAAe,EAAE,OAAO,KAAK,CAAC;AAEvC,YAAM;AAAA,IACF;AAAA,IACC,UAAM,oCAAc,IACf;AAAA;AAAA;AAAA,IAIA;AAAA,IACN;AAAA,EACJ;AAEA,YAAM;AAAA,IACF;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,EACJ;AAEA,YAAM;AAAA,IACF;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,
|
|
4
|
+
"sourcesContent": ["import { rm, writeFile } from \"fs/promises\"\nimport consola from \"consola\"\n\nimport { addDependency } from \"./addDependency\"\nimport { checkTailwind } from \"./checkTailwind\"\nimport { readPackageJson } from \"./readPackageJson\"\nimport { readTsConfig } from \"./readTsConfig\"\nimport { WriteRsbuildConfigParams, writeRsbuildConfig } from \"./writeRsbuildConfig\"\nimport { writeTsConfig } from \"./writeTsConfig\"\n\nexport async function rsbuild() {\n consola.start(\"开始设置 rsbuild 配置\")\n const { default: inquirer } = await import(\"inquirer\")\n await addDependency({\n package: [\"@rsbuild/plugin-svgr\", \"@rsbuild/plugin-babel\", \"babel-plugin-react-compiler\"],\n type: \"devDependencies\",\n })\n const packageJson = await readPackageJson()\n const tsConfig = await readTsConfig()\n tsConfig.compilerOptions.lib = tsConfig.compilerOptions.lib.map((item: string) => (item === tsConfig.compilerOptions.target ? \"ESNext\" : item))\n tsConfig.compilerOptions.target = \"ESNext\"\n await writeTsConfig(tsConfig)\n const { description, title, mountId } = await inquirer.prompt<WriteRsbuildConfigParams>([\n {\n type: \"input\",\n name: \"description\",\n message: \"项目描述\",\n default: \"designed by someone\",\n },\n {\n type: \"input\",\n name: \"title\",\n message: \"项目标题\",\n default: packageJson.name,\n },\n {\n type: \"input\",\n name: \"mountId\",\n message: \"入口 id\",\n default: \"root\",\n },\n ])\n await writeRsbuildConfig({ description, title, mountId })\n await rm(`src/App.css`, { force: true })\n\n await writeFile(\n `src/index.css`,\n (await checkTailwind())\n ? `@tailwind base; \n@tailwind components;\n@tailwind utilities;\n`\n : ``,\n \"utf-8\",\n )\n\n await writeFile(\n `src/App.tsx`,\n `import { FC } from \"react\"\n\nconst App: FC = () => {\n return <div>Hello, World!</div>\n}\n\nexport default App`,\n \"utf-8\",\n )\n\n await writeFile(\n `src/index.tsx`,\n `import { StrictMode } from \"react\"\nimport { createRoot } from \"react-dom/client\"\n\nimport App from \"./App\"\n\nimport \"./index.css\"\n\nconst root = createRoot(document.getElementById(\"${mountId}\") as HTMLDivElement)\n\nroot.render(\n <StrictMode>\n <App />\n </StrictMode>\n)`,\n \"utf-8\",\n )\n consola.success(\"设置 rsbuild 配置成功\")\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA8B;AAC9B,qBAAoB;AAEpB,2BAA8B;AAC9B,2BAA8B;AAC9B,6BAAgC;AAChC,0BAA6B;AAC7B,gCAA6D;AAC7D,2BAA8B;AAE9B,eAAsB,UAAU;AAC5B,iBAAAA,QAAQ,MAAM,iBAAiB;AAC/B,QAAM,EAAE,SAAS,SAAS,IAAI,MAAM,OAAO,UAAU;AACrD,YAAM,oCAAc;AAAA,IAChB,SAAS,CAAC,wBAAwB,yBAAyB,6BAA6B;AAAA,IACxF,MAAM;AAAA,EACV,CAAC;AACD,QAAM,cAAc,UAAM,wCAAgB;AAC1C,QAAM,WAAW,UAAM,kCAAa;AACpC,WAAS,gBAAgB,MAAM,SAAS,gBAAgB,IAAI,IAAI,CAAC,SAAkB,SAAS,SAAS,gBAAgB,SAAS,WAAW,IAAK;AAC9I,WAAS,gBAAgB,SAAS;AAClC,YAAM,oCAAc,QAAQ;AAC5B,QAAM,EAAE,aAAa,OAAO,QAAQ,IAAI,MAAM,SAAS,OAAiC;AAAA,IACpF;AAAA,MACI,MAAM;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,IACb;AAAA,IACA;AAAA,MACI,MAAM;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS,YAAY;AAAA,IACzB;AAAA,IACA;AAAA,MACI,MAAM;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,IACb;AAAA,EACJ,CAAC;AACD,YAAM,8CAAmB,EAAE,aAAa,OAAO,QAAQ,CAAC;AACxD,YAAM,oBAAG,eAAe,EAAE,OAAO,KAAK,CAAC;AAEvC,YAAM;AAAA,IACF;AAAA,IACC,UAAM,oCAAc,IACf;AAAA;AAAA;AAAA,IAIA;AAAA,IACN;AAAA,EACJ;AAEA,YAAM;AAAA,IACF;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,EACJ;AAEA,YAAM;AAAA,IACF;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mDAO2C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAO3C;AAAA,EACJ;AACA,iBAAAA,QAAQ,QAAQ,iBAAiB;AACrC;",
|
|
6
6
|
"names": ["consola"]
|
|
7
7
|
}
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* @param data 要排序的数组或对象
|
|
4
4
|
* @returns 排序后的数组或对象
|
|
5
5
|
*/
|
|
6
|
-
export declare function sortArrayOrObject(data: Record<string, unknown> | unknown[]):
|
|
6
|
+
export declare function sortArrayOrObject(data: Record<string, unknown> | unknown[]): Record<string, unknown> | unknown[];
|
package/package.json
CHANGED
package/src/utils/initProject.ts
CHANGED
|
@@ -17,11 +17,13 @@ import { removeESLint } from "./removeESLint"
|
|
|
17
17
|
import { rsbuild } from "./rsbuild"
|
|
18
18
|
import { setTsConfig } from "./setTsConfig"
|
|
19
19
|
import { vite } from "./vite"
|
|
20
|
+
import { addEslint } from "./addEslint"
|
|
20
21
|
|
|
21
22
|
export async function initProject() {
|
|
22
23
|
consola.start("开始初始化项目")
|
|
23
24
|
const { default: inquirer } = await import("inquirer")
|
|
24
25
|
await createBrowserlistrc()
|
|
26
|
+
await addEslint()
|
|
25
27
|
const packageJson = await readPackageJson()
|
|
26
28
|
const allDependcies = Object.keys(packageJson.dependencies || {}).concat(Object.keys(packageJson.devDependencies || {}))
|
|
27
29
|
if (!allDependcies.includes("react") || !allDependcies.includes("react-dom")) {
|
|
@@ -58,8 +60,8 @@ export async function initProject() {
|
|
|
58
60
|
}
|
|
59
61
|
const isFullStack = type === ProjectType.next || type === ProjectType.remix
|
|
60
62
|
const choices = isFullStack
|
|
61
|
-
? ["antd", "@tanstack/react-query", "dayjs", "deepsea-components", "deepsea-tools", "prisma", "tailwind", "zod"]
|
|
62
|
-
: ["antd", "@tanstack/react-query", "dayjs", "deepsea-components", "deepsea-tools", "tailwind", "react-router
|
|
63
|
+
? ["antd", "@heroui/react", "@tanstack/react-form", "@tanstack/react-query", "dayjs", "deepsea-components", "deepsea-tools", "prisma", "tailwind", "zod"]
|
|
64
|
+
: ["antd", "@heroui/react", "@tanstack/react-form", "@tanstack/react-query", "dayjs", "deepsea-components", "deepsea-tools", "tailwind", "react-router"]
|
|
63
65
|
|
|
64
66
|
const { modules } = await inquirer.prompt({
|
|
65
67
|
type: "checkbox",
|
|
@@ -73,13 +75,15 @@ export async function initProject() {
|
|
|
73
75
|
if (modules.includes("antd")) await addAntd()
|
|
74
76
|
if (modules.includes("tailwind")) await addTailwind()
|
|
75
77
|
else await addPrettier()
|
|
78
|
+
if (modules.includes("@heroui/react")) added.push("@heroui/react", "soda-heroui")
|
|
76
79
|
if (modules.includes("@tanstack/react-query")) added.push("@tanstack/react-query")
|
|
80
|
+
if (modules.includes("@tanstack/react-form")) added.push("@tanstack/react-form", "soda-tanstack-form")
|
|
77
81
|
if (modules.includes("dayjs")) added.push("dayjs")
|
|
78
82
|
if (modules.includes("deepsea-components")) added.push("deepsea-components")
|
|
79
83
|
if (modules.includes("deepsea-tools")) added.push("deepsea-tools")
|
|
80
84
|
if (modules.includes("stable-hash")) added.push("stable-hash")
|
|
81
85
|
if (modules.includes("zod")) added.push("zod")
|
|
82
|
-
if (modules.includes("react-router
|
|
86
|
+
if (modules.includes("react-router")) added.push("react-router")
|
|
83
87
|
if (modules.includes("stable-hash")) added.push("stable-hash")
|
|
84
88
|
|
|
85
89
|
await addDependency({
|