zixulu 1.37.1 → 1.37.2

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.
@@ -59,6 +59,10 @@ async function initProject() {
59
59
  import_consola.default.error("仅支持 React 项目");
60
60
  return;
61
61
  }
62
+ (0, import_addDependency.addDependency)({
63
+ package: ["@types/node"],
64
+ type: "devDependencies"
65
+ });
62
66
  let type;
63
67
  if (allDependcies.some((item) => item === "next")) {
64
68
  type = import_constant.ProjectType.next;
@@ -85,7 +89,7 @@ async function initProject() {
85
89
  await (0, import_removeESLint.removeESLint)();
86
90
  }
87
91
  const isFullStack = type === import_constant.ProjectType.next || type === import_constant.ProjectType.remix;
88
- const choices = isFullStack ? ["antd", "ahooks", "dayjs", "deepsea-components", "deepsea-tools", "prisma", "tailwind", "zod", "@emotion/css"] : ["antd", "ahooks", "dayjs", "deepsea-components", "deepsea-tools", "tailwind", "@emotion/css", "react-router-dom"];
92
+ const choices = isFullStack ? ["antd", "ahooks", "dayjs", "deepsea-components", "deepsea-tools", "prisma", "tailwind", "zod", "@emotion/css", "stable-hash"] : ["antd", "ahooks", "dayjs", "deepsea-components", "deepsea-tools", "tailwind", "@emotion/css", "react-router-dom", "stable-hash"];
89
93
  const { modules } = await inquirer.prompt({
90
94
  type: "checkbox",
91
95
  name: "modules",
@@ -116,6 +120,8 @@ async function initProject() {
116
120
  added.push("@emotion/css");
117
121
  if (modules.includes("react-router-dom"))
118
122
  added.push("react-router-dom");
123
+ if (modules.includes("stable-hash"))
124
+ added.push("stable-hash");
119
125
  await (0, import_addDependency.addDependency)({
120
126
  package: added,
121
127
  type: "dependencies"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/initProject.ts"],
4
- "sourcesContent": ["import { ProjectType } from \"@constant/index\"\r\nimport consola from \"consola\"\r\nimport { addAntd } from \"./addAntd\"\r\nimport { addDependency } from \"./addDependency\"\r\nimport { addGitignore } from \"./addGitignore\"\r\nimport { addPrettier } from \"./addPrettier\"\r\nimport { addPrisma } from \"./addPrisma\"\r\nimport { tailwind } from \"./tailwind\"\r\nimport { createBrowserlistrc } from \"./createBrowserlistrc\"\r\nimport { getPackageManager } from \"./getPackageManager\"\r\nimport { installDependceny } from \"./installDependceny\"\r\nimport { next } from \"./next\"\r\nimport { readPackageJson } from \"./readPackageJson\"\r\nimport { removeESLint } from \"./removeESLint\"\r\nimport { rsbuild } from \"./rsbuild\"\r\nimport { setTsConfig } from \"./setTsConfig\"\r\nimport { vite } from \"./vite\"\r\n\r\nexport async function initProject() {\r\n consola.start(\"开始初始化项目\")\r\n const { default: inquirer } = await import(\"inquirer\")\r\n await createBrowserlistrc()\r\n const packageJson = await readPackageJson()\r\n const allDependcies = Object.keys(packageJson.dependencies || {}).concat(Object.keys(packageJson.devDependencies || {}))\r\n if (!allDependcies.includes(\"react\") || !allDependcies.includes(\"react-dom\")) {\r\n consola.error(\"仅支持 React 项目\")\r\n return\r\n }\r\n let type: ProjectType\r\n if (allDependcies.some(item => item === \"next\")) {\r\n type = ProjectType.next\r\n } else if (allDependcies.some(item => item === \"@remix-run/react\")) {\r\n type = ProjectType.remix\r\n } else if (allDependcies.some(item => item === \"vite\")) {\r\n type = ProjectType.vite\r\n } else if (allDependcies.some(item => item === \"@rsbuild/core\")) {\r\n type = ProjectType.rsbuild\r\n } else {\r\n consola.error(\"仅支持 Next、Remix、Vite、Rsbuild 项目\")\r\n return\r\n }\r\n await addGitignore()\r\n const manager = await getPackageManager()\r\n if (allDependcies.some(item => item.includes(\"eslint\"))) {\r\n const { removeEslintConfig } = await inquirer.prompt({\r\n type: \"confirm\",\r\n name: \"removeEslintConfig\",\r\n message: \"是否删除 ESLint 配置文件\",\r\n default: true\r\n })\r\n if (removeEslintConfig) await removeESLint()\r\n }\r\n const isFullStack = type === ProjectType.next || type === ProjectType.remix\r\n const choices = isFullStack ? [\"antd\", \"ahooks\", \"dayjs\", \"deepsea-components\", \"deepsea-tools\", \"prisma\", \"tailwind\", \"zod\", \"@emotion/css\"] : [\"antd\", \"ahooks\", \"dayjs\", \"deepsea-components\", \"deepsea-tools\", \"tailwind\", \"@emotion/css\", \"react-router-dom\"]\r\n\r\n const { modules } = await inquirer.prompt({\r\n type: \"checkbox\",\r\n name: \"modules\",\r\n message: \"请选择要添加的模块\",\r\n choices,\r\n default: choices\r\n })\r\n\r\n const added: string[] = []\r\n if (modules.includes(\"antd\")) await addAntd()\r\n if (modules.includes(\"tailwind\")) await tailwind()\r\n else await addPrettier()\r\n if (modules.includes(\"ahooks\")) added.push(\"ahooks\")\r\n if (modules.includes(\"dayjs\")) added.push(\"dayjs\")\r\n if (modules.includes(\"deepsea-components\")) added.push(\"deepsea-components\")\r\n if (modules.includes(\"deepsea-tools\")) added.push(\"deepsea-tools\")\r\n if (modules.includes(\"stable-hash\")) added.push(\"stable-hash\")\r\n if (modules.includes(\"zod\")) added.push(\"zod\")\r\n if (modules.includes(\"@emotion/css\")) added.push(\"@emotion/css\")\r\n if (modules.includes(\"react-router-dom\")) added.push(\"react-router-dom\")\r\n\r\n await addDependency({\r\n package: added,\r\n type: \"dependencies\"\r\n })\r\n\r\n switch (type) {\r\n case ProjectType.next:\r\n await next()\r\n break\r\n\r\n case ProjectType.remix:\r\n await vite()\r\n break\r\n\r\n case ProjectType.vite:\r\n await vite()\r\n break\r\n\r\n case ProjectType.rsbuild:\r\n await rsbuild()\r\n break\r\n }\r\n\r\n let installed = false\r\n if (modules.includes(\"prisma\")) {\r\n await addPrisma(manager)\r\n installed = true\r\n }\r\n if (!installed) await installDependceny({ silent: true, manager })\r\n await setTsConfig(\"noEmit\", true)\r\n consola.success(\"项目初始化完成\")\r\n}\r\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { ProjectType } from \"@constant/index\"\r\nimport consola from \"consola\"\r\nimport { addAntd } from \"./addAntd\"\r\nimport { addDependency } from \"./addDependency\"\r\nimport { addGitignore } from \"./addGitignore\"\r\nimport { addPrettier } from \"./addPrettier\"\r\nimport { addPrisma } from \"./addPrisma\"\r\nimport { tailwind } from \"./tailwind\"\r\nimport { createBrowserlistrc } from \"./createBrowserlistrc\"\r\nimport { getPackageManager } from \"./getPackageManager\"\r\nimport { installDependceny } from \"./installDependceny\"\r\nimport { next } from \"./next\"\r\nimport { readPackageJson } from \"./readPackageJson\"\r\nimport { removeESLint } from \"./removeESLint\"\r\nimport { rsbuild } from \"./rsbuild\"\r\nimport { setTsConfig } from \"./setTsConfig\"\r\nimport { vite } from \"./vite\"\r\n\r\nexport async function initProject() {\r\n consola.start(\"开始初始化项目\")\r\n const { default: inquirer } = await import(\"inquirer\")\r\n await createBrowserlistrc()\r\n const packageJson = await readPackageJson()\r\n const allDependcies = Object.keys(packageJson.dependencies || {}).concat(Object.keys(packageJson.devDependencies || {}))\r\n if (!allDependcies.includes(\"react\") || !allDependcies.includes(\"react-dom\")) {\r\n consola.error(\"仅支持 React 项目\")\r\n return\r\n }\r\n addDependency({\r\n package: [\"@types/node\"],\r\n type: \"devDependencies\"\r\n })\r\n let type: ProjectType\r\n if (allDependcies.some(item => item === \"next\")) {\r\n type = ProjectType.next\r\n } else if (allDependcies.some(item => item === \"@remix-run/react\")) {\r\n type = ProjectType.remix\r\n } else if (allDependcies.some(item => item === \"vite\")) {\r\n type = ProjectType.vite\r\n } else if (allDependcies.some(item => item === \"@rsbuild/core\")) {\r\n type = ProjectType.rsbuild\r\n } else {\r\n consola.error(\"仅支持 Next、Remix、Vite、Rsbuild 项目\")\r\n return\r\n }\r\n await addGitignore()\r\n const manager = await getPackageManager()\r\n if (allDependcies.some(item => item.includes(\"eslint\"))) {\r\n const { removeEslintConfig } = await inquirer.prompt({\r\n type: \"confirm\",\r\n name: \"removeEslintConfig\",\r\n message: \"是否删除 ESLint 配置文件\",\r\n default: true\r\n })\r\n if (removeEslintConfig) await removeESLint()\r\n }\r\n const isFullStack = type === ProjectType.next || type === ProjectType.remix\r\n const choices = isFullStack ? [\"antd\", \"ahooks\", \"dayjs\", \"deepsea-components\", \"deepsea-tools\", \"prisma\", \"tailwind\", \"zod\", \"@emotion/css\", \"stable-hash\"] : [\"antd\", \"ahooks\", \"dayjs\", \"deepsea-components\", \"deepsea-tools\", \"tailwind\", \"@emotion/css\", \"react-router-dom\", \"stable-hash\"]\r\n\r\n const { modules } = await inquirer.prompt({\r\n type: \"checkbox\",\r\n name: \"modules\",\r\n message: \"请选择要添加的模块\",\r\n choices,\r\n default: choices\r\n })\r\n\r\n const added: string[] = []\r\n if (modules.includes(\"antd\")) await addAntd()\r\n if (modules.includes(\"tailwind\")) await tailwind()\r\n else await addPrettier()\r\n if (modules.includes(\"ahooks\")) added.push(\"ahooks\")\r\n if (modules.includes(\"dayjs\")) added.push(\"dayjs\")\r\n if (modules.includes(\"deepsea-components\")) added.push(\"deepsea-components\")\r\n if (modules.includes(\"deepsea-tools\")) added.push(\"deepsea-tools\")\r\n if (modules.includes(\"stable-hash\")) added.push(\"stable-hash\")\r\n if (modules.includes(\"zod\")) added.push(\"zod\")\r\n if (modules.includes(\"@emotion/css\")) added.push(\"@emotion/css\")\r\n if (modules.includes(\"react-router-dom\")) added.push(\"react-router-dom\")\r\n if (modules.includes(\"stable-hash\")) added.push(\"stable-hash\")\r\n\r\n await addDependency({\r\n package: added,\r\n type: \"dependencies\"\r\n })\r\n\r\n switch (type) {\r\n case ProjectType.next:\r\n await next()\r\n break\r\n\r\n case ProjectType.remix:\r\n await vite()\r\n break\r\n\r\n case ProjectType.vite:\r\n await vite()\r\n break\r\n\r\n case ProjectType.rsbuild:\r\n await rsbuild()\r\n break\r\n }\r\n\r\n let installed = false\r\n if (modules.includes(\"prisma\")) {\r\n await addPrisma(manager)\r\n installed = true\r\n }\r\n if (!installed) await installDependceny({ silent: true, manager })\r\n await setTsConfig(\"noEmit\", true)\r\n consola.success(\"项目初始化完成\")\r\n}\r\n"],
5
+ "mappings": "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",
6
6
  "names": ["consola"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zixulu",
3
- "version": "1.37.1",
3
+ "version": "1.37.2",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "bin": {
@@ -26,6 +26,10 @@ export async function initProject() {
26
26
  consola.error("仅支持 React 项目")
27
27
  return
28
28
  }
29
+ addDependency({
30
+ package: ["@types/node"],
31
+ type: "devDependencies"
32
+ })
29
33
  let type: ProjectType
30
34
  if (allDependcies.some(item => item === "next")) {
31
35
  type = ProjectType.next
@@ -51,7 +55,7 @@ export async function initProject() {
51
55
  if (removeEslintConfig) await removeESLint()
52
56
  }
53
57
  const isFullStack = type === ProjectType.next || type === ProjectType.remix
54
- const choices = isFullStack ? ["antd", "ahooks", "dayjs", "deepsea-components", "deepsea-tools", "prisma", "tailwind", "zod", "@emotion/css"] : ["antd", "ahooks", "dayjs", "deepsea-components", "deepsea-tools", "tailwind", "@emotion/css", "react-router-dom"]
58
+ const choices = isFullStack ? ["antd", "ahooks", "dayjs", "deepsea-components", "deepsea-tools", "prisma", "tailwind", "zod", "@emotion/css", "stable-hash"] : ["antd", "ahooks", "dayjs", "deepsea-components", "deepsea-tools", "tailwind", "@emotion/css", "react-router-dom", "stable-hash"]
55
59
 
56
60
  const { modules } = await inquirer.prompt({
57
61
  type: "checkbox",
@@ -73,6 +77,7 @@ export async function initProject() {
73
77
  if (modules.includes("zod")) added.push("zod")
74
78
  if (modules.includes("@emotion/css")) added.push("@emotion/css")
75
79
  if (modules.includes("react-router-dom")) added.push("react-router-dom")
80
+ if (modules.includes("stable-hash")) added.push("stable-hash")
76
81
 
77
82
  await addDependency({
78
83
  package: added,