zixulu 1.58.0 → 1.58.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.
@@ -99,6 +99,7 @@ var addedRules = [
99
99
  "pnpm-lock.yaml",
100
100
  "node_modules",
101
101
  "bun.lockb",
102
+ "bun.lock",
102
103
  "dist",
103
104
  "build",
104
105
  "yarn-error.log",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/constant/index.ts"],
4
- "sourcesContent": ["import { HttpsProxyAgent } from \"https-proxy-agent\"\n\nexport enum PackageManager {\n npm = \"npm\",\n yarn = \"yarn\",\n pnpm = \"pnpm\",\n bun = \"bun\",\n}\n\nexport enum Registry {\n npm = \"https://registry.npmjs.org/\",\n taobao = \"https://registry.npmmirror.com/\",\n tencent = \"https://mirrors.cloud.tencent.com/npm/\",\n}\n\nexport enum Software {\n \"VS Code\" = \"VS Code\",\n \"Chrome\" = \"Chrome\",\n \"7zip\" = \"7zip\",\n \"PeaZip\" = \"PeaZip\",\n \"Git\" = \"Git\",\n \"NodeJS\" = \"NodeJS\",\n \"Geek Uninstaller\" = \"Geek Uninstaller\",\n \"DeskGo\" = \"DeskGo\",\n \"PowerToys\" = \"PowerToys\",\n \"Honeyview\" = \"Honeyview\",\n \"AnyDesk\" = \"AnyDesk\",\n \"Firefox\" = \"Firefox\",\n \"PotPlayer\" = \"PotPlayer\",\n \"Bun\" = \"Bun\",\n}\n\nexport enum ProjectType {\n next = \"next\",\n remix = \"remix\",\n vite = \"vite\",\n rsbuild = \"rsbuild\",\n}\n\nexport enum CommitType {\n feature = \"feature\",\n fix = \"fix\",\n docs = \"docs\",\n wip = \"wip\",\n perfs = \"perfs\",\n rollback = \"rollback\",\n other = \"other\",\n}\n\nexport const CommitTypeMap = {\n [CommitType.feature]: \"✨feature: \",\n [CommitType.fix]: \"🐞 fix: \",\n [CommitType.docs]: \"📄 docs: \",\n [CommitType.wip]: \"🖥️ wip: \",\n [CommitType.perfs]: \"🚅 perfs: \",\n [CommitType.rollback]: \"⏪ rollback: \",\n [CommitType.other]: \"🔵 other: \",\n}\n\nexport const SpawnOptions = {\n shell: true,\n stdio: \"inherit\",\n}\n\nexport const agent = new HttpsProxyAgent(\"http://localhost:7890\")\n\nexport const addedRules = [\n \"package-lock.json\",\n \"yarn.lock\",\n \"pnpm-lock.yaml\",\n \"node_modules\",\n \"bun.lockb\",\n \"dist\",\n \"build\",\n \"yarn-error.log\",\n \"test.js\",\n \"test.mjs\",\n \"test.ts\",\n \"test\",\n]\n\nexport const isSudo = !!process.env.SUDO_USER\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAAgC;AAEzB,IAAK,iBAAL,kBAAKA,oBAAL;AACH,EAAAA,gBAAA,SAAM;AACN,EAAAA,gBAAA,UAAO;AACP,EAAAA,gBAAA,UAAO;AACP,EAAAA,gBAAA,SAAM;AAJE,SAAAA;AAAA,GAAA;AAOL,IAAK,WAAL,kBAAKC,cAAL;AACH,EAAAA,UAAA,SAAM;AACN,EAAAA,UAAA,YAAS;AACT,EAAAA,UAAA,aAAU;AAHF,SAAAA;AAAA,GAAA;AAML,IAAK,WAAL,kBAAKC,cAAL;AACH,EAAAA,UAAA,aAAY;AACZ,EAAAA,UAAA,YAAW;AACX,EAAAA,UAAA,UAAS;AACT,EAAAA,UAAA,YAAW;AACX,EAAAA,UAAA,SAAQ;AACR,EAAAA,UAAA,YAAW;AACX,EAAAA,UAAA,sBAAqB;AACrB,EAAAA,UAAA,YAAW;AACX,EAAAA,UAAA,eAAc;AACd,EAAAA,UAAA,eAAc;AACd,EAAAA,UAAA,aAAY;AACZ,EAAAA,UAAA,aAAY;AACZ,EAAAA,UAAA,eAAc;AACd,EAAAA,UAAA,SAAQ;AAdA,SAAAA;AAAA,GAAA;AAiBL,IAAK,cAAL,kBAAKC,iBAAL;AACH,EAAAA,aAAA,UAAO;AACP,EAAAA,aAAA,WAAQ;AACR,EAAAA,aAAA,UAAO;AACP,EAAAA,aAAA,aAAU;AAJF,SAAAA;AAAA,GAAA;AAOL,IAAK,aAAL,kBAAKC,gBAAL;AACH,EAAAA,YAAA,aAAU;AACV,EAAAA,YAAA,SAAM;AACN,EAAAA,YAAA,UAAO;AACP,EAAAA,YAAA,SAAM;AACN,EAAAA,YAAA,WAAQ;AACR,EAAAA,YAAA,cAAW;AACX,EAAAA,YAAA,WAAQ;AAPA,SAAAA;AAAA,GAAA;AAUL,IAAM,gBAAgB;AAAA,EACzB,CAAC,uBAAkB,GAAG;AAAA,EACtB,CAAC,eAAc,GAAG;AAAA,EAClB,CAAC,iBAAe,GAAG;AAAA,EACnB,CAAC,eAAc,GAAG;AAAA,EAClB,CAAC,mBAAgB,GAAG;AAAA,EACpB,CAAC,yBAAmB,GAAG;AAAA,EACvB,CAAC,mBAAgB,GAAG;AACxB;AAEO,IAAM,eAAe;AAAA,EACxB,OAAO;AAAA,EACP,OAAO;AACX;AAEO,IAAM,QAAQ,IAAI,yCAAgB,uBAAuB;AAEzD,IAAM,aAAa;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ;AAEO,IAAM,SAAS,CAAC,CAAC,QAAQ,IAAI;",
4
+ "sourcesContent": ["import { HttpsProxyAgent } from \"https-proxy-agent\"\n\nexport enum PackageManager {\n npm = \"npm\",\n yarn = \"yarn\",\n pnpm = \"pnpm\",\n bun = \"bun\",\n}\n\nexport enum Registry {\n npm = \"https://registry.npmjs.org/\",\n taobao = \"https://registry.npmmirror.com/\",\n tencent = \"https://mirrors.cloud.tencent.com/npm/\",\n}\n\nexport enum Software {\n \"VS Code\" = \"VS Code\",\n \"Chrome\" = \"Chrome\",\n \"7zip\" = \"7zip\",\n \"PeaZip\" = \"PeaZip\",\n \"Git\" = \"Git\",\n \"NodeJS\" = \"NodeJS\",\n \"Geek Uninstaller\" = \"Geek Uninstaller\",\n \"DeskGo\" = \"DeskGo\",\n \"PowerToys\" = \"PowerToys\",\n \"Honeyview\" = \"Honeyview\",\n \"AnyDesk\" = \"AnyDesk\",\n \"Firefox\" = \"Firefox\",\n \"PotPlayer\" = \"PotPlayer\",\n \"Bun\" = \"Bun\",\n}\n\nexport enum ProjectType {\n next = \"next\",\n remix = \"remix\",\n vite = \"vite\",\n rsbuild = \"rsbuild\",\n}\n\nexport enum CommitType {\n feature = \"feature\",\n fix = \"fix\",\n docs = \"docs\",\n wip = \"wip\",\n perfs = \"perfs\",\n rollback = \"rollback\",\n other = \"other\",\n}\n\nexport const CommitTypeMap = {\n [CommitType.feature]: \"✨feature: \",\n [CommitType.fix]: \"🐞 fix: \",\n [CommitType.docs]: \"📄 docs: \",\n [CommitType.wip]: \"🖥️ wip: \",\n [CommitType.perfs]: \"🚅 perfs: \",\n [CommitType.rollback]: \"⏪ rollback: \",\n [CommitType.other]: \"🔵 other: \",\n}\n\nexport const SpawnOptions = {\n shell: true,\n stdio: \"inherit\",\n}\n\nexport const agent = new HttpsProxyAgent(\"http://localhost:7890\")\n\nexport const addedRules = [\n \"package-lock.json\",\n \"yarn.lock\",\n \"pnpm-lock.yaml\",\n \"node_modules\",\n \"bun.lockb\",\n \"bun.lock\",\n \"dist\",\n \"build\",\n \"yarn-error.log\",\n \"test.js\",\n \"test.mjs\",\n \"test.ts\",\n \"test\",\n]\n\nexport const isSudo = !!process.env.SUDO_USER\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAAgC;AAEzB,IAAK,iBAAL,kBAAKA,oBAAL;AACH,EAAAA,gBAAA,SAAM;AACN,EAAAA,gBAAA,UAAO;AACP,EAAAA,gBAAA,UAAO;AACP,EAAAA,gBAAA,SAAM;AAJE,SAAAA;AAAA,GAAA;AAOL,IAAK,WAAL,kBAAKC,cAAL;AACH,EAAAA,UAAA,SAAM;AACN,EAAAA,UAAA,YAAS;AACT,EAAAA,UAAA,aAAU;AAHF,SAAAA;AAAA,GAAA;AAML,IAAK,WAAL,kBAAKC,cAAL;AACH,EAAAA,UAAA,aAAY;AACZ,EAAAA,UAAA,YAAW;AACX,EAAAA,UAAA,UAAS;AACT,EAAAA,UAAA,YAAW;AACX,EAAAA,UAAA,SAAQ;AACR,EAAAA,UAAA,YAAW;AACX,EAAAA,UAAA,sBAAqB;AACrB,EAAAA,UAAA,YAAW;AACX,EAAAA,UAAA,eAAc;AACd,EAAAA,UAAA,eAAc;AACd,EAAAA,UAAA,aAAY;AACZ,EAAAA,UAAA,aAAY;AACZ,EAAAA,UAAA,eAAc;AACd,EAAAA,UAAA,SAAQ;AAdA,SAAAA;AAAA,GAAA;AAiBL,IAAK,cAAL,kBAAKC,iBAAL;AACH,EAAAA,aAAA,UAAO;AACP,EAAAA,aAAA,WAAQ;AACR,EAAAA,aAAA,UAAO;AACP,EAAAA,aAAA,aAAU;AAJF,SAAAA;AAAA,GAAA;AAOL,IAAK,aAAL,kBAAKC,gBAAL;AACH,EAAAA,YAAA,aAAU;AACV,EAAAA,YAAA,SAAM;AACN,EAAAA,YAAA,UAAO;AACP,EAAAA,YAAA,SAAM;AACN,EAAAA,YAAA,WAAQ;AACR,EAAAA,YAAA,cAAW;AACX,EAAAA,YAAA,WAAQ;AAPA,SAAAA;AAAA,GAAA;AAUL,IAAM,gBAAgB;AAAA,EACzB,CAAC,uBAAkB,GAAG;AAAA,EACtB,CAAC,eAAc,GAAG;AAAA,EAClB,CAAC,iBAAe,GAAG;AAAA,EACnB,CAAC,eAAc,GAAG;AAAA,EAClB,CAAC,mBAAgB,GAAG;AAAA,EACpB,CAAC,yBAAmB,GAAG;AAAA,EACvB,CAAC,mBAAgB,GAAG;AACxB;AAEO,IAAM,eAAe;AAAA,EACxB,OAAO;AAAA,EACP,OAAO;AACX;AAEO,IAAM,QAAQ,IAAI,yCAAgB,uBAAuB;AAEzD,IAAM,aAAa;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ;AAEO,IAAM,SAAS,CAAC,CAAC,QAAQ,IAAI;",
6
6
  "names": ["PackageManager", "Registry", "Software", "ProjectType", "CommitType"]
7
7
  }
@@ -50,13 +50,12 @@ async function addAntd() {
50
50
  (0, import_path.join)(componentDir, "AntdNextRegistry.tsx"),
51
51
  `"use client"
52
52
 
53
- import { StyleProvider } from "@ant-design/cssinjs"
53
+ import { FC, ReactNode } from "react"
54
54
  import { AntdRegistry } from "@ant-design/nextjs-registry"
55
55
  import { ConfigProvider } from "antd"
56
56
  import zhCN from "antd/locale/zh_CN"
57
- import { FC, ReactNode } from "react"
58
57
 
59
- export type AntdNextRegistryProps = {
58
+ export interface AntdNextRegistryProps {
60
59
  children?: ReactNode
61
60
  }
62
61
 
@@ -64,10 +63,8 @@ const AntdNextRegistry: FC<AntdNextRegistryProps> = props => {
64
63
  const { children } = props
65
64
 
66
65
  return (
67
- <AntdRegistry>
68
- <ConfigProvider locale={zhCN}>
69
- <StyleProvider hashPriority="high">{children}</StyleProvider>
70
- </ConfigProvider>
66
+ <AntdRegistry hashPriority="high">
67
+ <ConfigProvider locale={zhCN}>{children}</ConfigProvider>
71
68
  </AntdRegistry>
72
69
  )
73
70
  }
@@ -91,9 +88,9 @@ const AntdRegistry: FC<AntdRegistryProps> = props => {
91
88
  const { children } = props
92
89
 
93
90
  return (
94
- <ConfigProvider locale={zhCN}>
95
- <StyleProvider hashPriority="high">{children}</StyleProvider>
96
- </ConfigProvider>
91
+ <StyleProvider hashPriority="high">
92
+ <ConfigProvider locale={zhCN}>{children}</ConfigProvider>
93
+ </StyleProvider>
97
94
  )
98
95
  }
99
96
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/addAntd.ts"],
4
- "sourcesContent": ["import { mkdir, readdir, writeFile } from \"fs/promises\"\r\nimport { join } from \"path\"\r\nimport consola from \"consola\"\r\n\r\nimport { addDependency } from \"./addDependency\"\r\nimport { readPackageJson } from \"./readPackageJson\"\r\n\r\n/**\r\n * 添加 antd 相关配置\r\n * 包括安装依赖、创建必要组件等\r\n */\r\nexport async function addAntd() {\r\n consola.start(\"开始添加 antd 配置\")\r\n await addDependency({ package: [\"@ant-design/cssinjs\", \"@ant-design/icons\", \"antd\"] })\r\n const dir = await readdir(\".\")\r\n const componentDir = dir.includes(\"src\") ? \"src/components\" : \"components\"\r\n await mkdir(componentDir, { recursive: true })\r\n const packageJson = await readPackageJson()\r\n if (packageJson.dependencies.next) {\r\n await addDependency({ package: \"@ant-design/nextjs-registry\" })\r\n await writeFile(\r\n join(componentDir, \"AntdNextRegistry.tsx\"),\r\n `\"use client\"\r\n\r\nimport { StyleProvider } from \"@ant-design/cssinjs\"\r\nimport { AntdRegistry } from \"@ant-design/nextjs-registry\"\r\nimport { ConfigProvider } from \"antd\"\r\nimport zhCN from \"antd/locale/zh_CN\"\r\nimport { FC, ReactNode } from \"react\"\r\n\r\nexport type AntdNextRegistryProps = {\r\n children?: ReactNode\r\n}\r\n\r\nconst AntdNextRegistry: FC<AntdNextRegistryProps> = props => {\r\n const { children } = props\r\n\r\n return (\r\n <AntdRegistry>\r\n <ConfigProvider locale={zhCN}>\r\n <StyleProvider hashPriority=\"high\">{children}</StyleProvider>\r\n </ConfigProvider>\r\n </AntdRegistry>\r\n )\r\n}\r\n\r\nexport default AntdNextRegistry\r\n`,\r\n )\r\n } else {\r\n await writeFile(\r\n join(componentDir, \"AntdRegistry.tsx\"),\r\n `import { StyleProvider } from \"@ant-design/cssinjs\"\r\nimport { ConfigProvider } from \"antd\"\r\nimport zhCN from \"antd/locale/zh_CN\"\r\nimport { FC, ReactNode } from \"react\"\r\n\r\nexport type AntdRegistryProps = {\r\n children?: ReactNode\r\n}\r\n\r\nconst AntdRegistry: FC<AntdRegistryProps> = props => {\r\n const { children } = props\r\n\r\n return (\r\n <ConfigProvider locale={zhCN}>\r\n <StyleProvider hashPriority=\"high\">{children}</StyleProvider>\r\n </ConfigProvider>\r\n )\r\n}\r\n\r\nexport default AntdRegistry\r\n`,\r\n )\r\n }\r\n consola.success(\"添加 antd 配置成功\")\r\n}\r\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA0C;AAC1C,kBAAqB;AACrB,qBAAoB;AAEpB,2BAA8B;AAC9B,6BAAgC;AAMhC,eAAsB,UAAU;AAC5B,iBAAAA,QAAQ,MAAM,cAAc;AAC5B,YAAM,oCAAc,EAAE,SAAS,CAAC,uBAAuB,qBAAqB,MAAM,EAAE,CAAC;AACrF,QAAM,MAAM,UAAM,yBAAQ,GAAG;AAC7B,QAAM,eAAe,IAAI,SAAS,KAAK,IAAI,mBAAmB;AAC9D,YAAM,uBAAM,cAAc,EAAE,WAAW,KAAK,CAAC;AAC7C,QAAM,cAAc,UAAM,wCAAgB;AAC1C,MAAI,YAAY,aAAa,MAAM;AAC/B,cAAM,oCAAc,EAAE,SAAS,8BAA8B,CAAC;AAC9D,cAAM;AAAA,UACF,kBAAK,cAAc,sBAAsB;AAAA,MACzC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IA0BJ;AAAA,EACJ,OAAO;AACH,cAAM;AAAA,UACF,kBAAK,cAAc,kBAAkB;AAAA,MACrC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAqBJ;AAAA,EACJ;AACA,iBAAAA,QAAQ,QAAQ,cAAc;AAClC;",
4
+ "sourcesContent": ["import { mkdir, readdir, writeFile } from \"fs/promises\"\r\nimport { join } from \"path\"\r\nimport consola from \"consola\"\r\n\r\nimport { addDependency } from \"./addDependency\"\r\nimport { readPackageJson } from \"./readPackageJson\"\r\n\r\n/**\r\n * 添加 antd 相关配置\r\n * 包括安装依赖、创建必要组件等\r\n */\r\nexport async function addAntd() {\r\n consola.start(\"开始添加 antd 配置\")\r\n await addDependency({ package: [\"@ant-design/cssinjs\", \"@ant-design/icons\", \"antd\"] })\r\n const dir = await readdir(\".\")\r\n const componentDir = dir.includes(\"src\") ? \"src/components\" : \"components\"\r\n await mkdir(componentDir, { recursive: true })\r\n const packageJson = await readPackageJson()\r\n if (packageJson.dependencies.next) {\r\n await addDependency({ package: \"@ant-design/nextjs-registry\" })\r\n await writeFile(\r\n join(componentDir, \"AntdNextRegistry.tsx\"),\r\n `\"use client\"\r\n\r\nimport { FC, ReactNode } from \"react\"\r\nimport { AntdRegistry } from \"@ant-design/nextjs-registry\"\r\nimport { ConfigProvider } from \"antd\"\r\nimport zhCN from \"antd/locale/zh_CN\"\r\n\r\nexport interface AntdNextRegistryProps {\r\n children?: ReactNode\r\n}\r\n\r\nconst AntdNextRegistry: FC<AntdNextRegistryProps> = props => {\r\n const { children } = props\r\n\r\n return (\r\n <AntdRegistry hashPriority=\"high\">\r\n <ConfigProvider locale={zhCN}>{children}</ConfigProvider>\r\n </AntdRegistry>\r\n )\r\n}\r\n\r\nexport default AntdNextRegistry\r\n`,\r\n )\r\n } else {\r\n await writeFile(\r\n join(componentDir, \"AntdRegistry.tsx\"),\r\n `import { StyleProvider } from \"@ant-design/cssinjs\"\r\nimport { ConfigProvider } from \"antd\"\r\nimport zhCN from \"antd/locale/zh_CN\"\r\nimport { FC, ReactNode } from \"react\"\r\n\r\nexport type AntdRegistryProps = {\r\n children?: ReactNode\r\n}\r\n\r\nconst AntdRegistry: FC<AntdRegistryProps> = props => {\r\n const { children } = props\r\n\r\n return (\r\n <StyleProvider hashPriority=\"high\">\r\n <ConfigProvider locale={zhCN}>{children}</ConfigProvider>\r\n </StyleProvider>\r\n )\r\n}\r\n\r\nexport default AntdRegistry\r\n`,\r\n )\r\n }\r\n consola.success(\"添加 antd 配置成功\")\r\n}\r\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA0C;AAC1C,kBAAqB;AACrB,qBAAoB;AAEpB,2BAA8B;AAC9B,6BAAgC;AAMhC,eAAsB,UAAU;AAC5B,iBAAAA,QAAQ,MAAM,cAAc;AAC5B,YAAM,oCAAc,EAAE,SAAS,CAAC,uBAAuB,qBAAqB,MAAM,EAAE,CAAC;AACrF,QAAM,MAAM,UAAM,yBAAQ,GAAG;AAC7B,QAAM,eAAe,IAAI,SAAS,KAAK,IAAI,mBAAmB;AAC9D,YAAM,uBAAM,cAAc,EAAE,WAAW,KAAK,CAAC;AAC7C,QAAM,cAAc,UAAM,wCAAgB;AAC1C,MAAI,YAAY,aAAa,MAAM;AAC/B,cAAM,oCAAc,EAAE,SAAS,8BAA8B,CAAC;AAC9D,cAAM;AAAA,UACF,kBAAK,cAAc,sBAAsB;AAAA,MACzC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAuBJ;AAAA,EACJ,OAAO;AACH,cAAM;AAAA,UACF,kBAAK,cAAc,kBAAkB;AAAA,MACrC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAqBJ;AAAA,EACJ;AACA,iBAAAA,QAAQ,QAAQ,cAAc;AAClC;",
6
6
  "names": ["consola"]
7
7
  }
@@ -32,11 +32,21 @@ __export(addPrisma_exports, {
32
32
  addPrisma: () => addPrisma
33
33
  });
34
34
  module.exports = __toCommonJS(addPrisma_exports);
35
- var import_promises = require("fs/promises");
36
35
  var import_consola = __toESM(require("consola"));
36
+ var import_promises = require("fs/promises");
37
37
  var import_soda_nodejs = require("soda-nodejs");
38
38
  var import_addDependency = require("./addDependency");
39
39
  var import_installDependceny = require("./installDependceny");
40
+ var prismaFile = `import { PrismaClient } from "@prisma/client"
41
+
42
+ declare global {
43
+ var __PRISMA__: PrismaClient
44
+ }
45
+
46
+ globalThis.__PRISMA__ ??= new PrismaClient()
47
+
48
+ export const prisma = globalThis.__PRISMA__
49
+ `;
40
50
  async function addPrisma(manager) {
41
51
  import_consola.default.start("开始添加 Prisma 配置");
42
52
  await (0, import_addDependency.addDependency)({
@@ -51,6 +61,7 @@ async function addPrisma(manager) {
51
61
  if (!dir.includes("tsconfig.json"))
52
62
  await (0, import_soda_nodejs.spawnAsync)("npx tsc --init", { shell: true, stdio: "inherit" });
53
63
  await (0, import_soda_nodejs.spawnAsync)("npx prisma init --datasource-provider sqlite", { shell: true, stdio: "inherit" });
64
+ await (0, import_promises.writeFile)("prisma/index.ts", prismaFile, "utf-8");
54
65
  import_consola.default.success("添加 Prisma 配置成功");
55
66
  }
56
67
  // Annotate the CommonJS export names for ESM import in node:
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/addPrisma.ts"],
4
- "sourcesContent": ["import { readdir } from \"fs/promises\"\r\nimport consola from \"consola\"\r\nimport { spawnAsync } from \"soda-nodejs\"\r\nimport { PackageManager } from \"src/constant\"\r\n\r\nimport { addDependency } from \"./addDependency\"\r\nimport { installDependceny } from \"./installDependceny\"\r\n\r\n/**\r\n * 添加 Prisma 相关配置\r\n * 包括安装依赖、初始化配置等\r\n * @param manager 包管理器类型\r\n */\r\nexport async function addPrisma(manager?: PackageManager) {\r\n consola.start(\"开始添加 Prisma 配置\")\r\n await addDependency({\r\n package: \"@prisma/client\",\r\n })\r\n await addDependency({\r\n package: [\"prisma\", \"ts-node\", \"@types/node\", \"typescript\"],\r\n type: \"devDependencies\",\r\n })\r\n const dir = await readdir(\".\")\r\n await installDependceny({ silent: true, manager })\r\n if (!dir.includes(\"tsconfig.json\")) await spawnAsync(\"npx tsc --init\", { shell: true, stdio: \"inherit\" })\r\n await spawnAsync(\"npx prisma init --datasource-provider sqlite\", { shell: true, stdio: \"inherit\" })\r\n consola.success(\"添加 Prisma 配置成功\")\r\n}\r\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAwB;AACxB,qBAAoB;AACpB,yBAA2B;AAG3B,2BAA8B;AAC9B,+BAAkC;AAOlC,eAAsB,UAAU,SAA0B;AACtD,iBAAAA,QAAQ,MAAM,gBAAgB;AAC9B,YAAM,oCAAc;AAAA,IAChB,SAAS;AAAA,EACb,CAAC;AACD,YAAM,oCAAc;AAAA,IAChB,SAAS,CAAC,UAAU,WAAW,eAAe,YAAY;AAAA,IAC1D,MAAM;AAAA,EACV,CAAC;AACD,QAAM,MAAM,UAAM,yBAAQ,GAAG;AAC7B,YAAM,4CAAkB,EAAE,QAAQ,MAAM,QAAQ,CAAC;AACjD,MAAI,CAAC,IAAI,SAAS,eAAe;AAAG,cAAM,+BAAW,kBAAkB,EAAE,OAAO,MAAM,OAAO,UAAU,CAAC;AACxG,YAAM,+BAAW,gDAAgD,EAAE,OAAO,MAAM,OAAO,UAAU,CAAC;AAClG,iBAAAA,QAAQ,QAAQ,gBAAgB;AACpC;",
4
+ "sourcesContent": ["import consola from \"consola\"\r\nimport { readdir, writeFile } from \"fs/promises\"\r\nimport { spawnAsync } from \"soda-nodejs\"\r\nimport { PackageManager } from \"src/constant\"\r\n\r\nimport { addDependency } from \"./addDependency\"\r\nimport { installDependceny } from \"./installDependceny\"\r\n\r\nconst prismaFile = `import { PrismaClient } from \"@prisma/client\"\r\n\r\ndeclare global {\r\n var __PRISMA__: PrismaClient\r\n}\r\n\r\nglobalThis.__PRISMA__ ??= new PrismaClient()\r\n\r\nexport const prisma = globalThis.__PRISMA__\r\n`\r\n\r\n/**\r\n * 添加 Prisma 相关配置\r\n * 包括安装依赖、初始化配置等\r\n * @param manager 包管理器类型\r\n */\r\nexport async function addPrisma(manager?: PackageManager) {\r\n consola.start(\"开始添加 Prisma 配置\")\r\n await addDependency({\r\n package: \"@prisma/client\",\r\n })\r\n await addDependency({\r\n package: [\"prisma\", \"ts-node\", \"@types/node\", \"typescript\"],\r\n type: \"devDependencies\",\r\n })\r\n const dir = await readdir(\".\")\r\n await installDependceny({ silent: true, manager })\r\n if (!dir.includes(\"tsconfig.json\")) await spawnAsync(\"npx tsc --init\", { shell: true, stdio: \"inherit\" })\r\n await spawnAsync(\"npx prisma init --datasource-provider sqlite\", { shell: true, stdio: \"inherit\" })\r\n await writeFile(\"prisma/index.ts\", prismaFile, \"utf-8\")\r\n consola.success(\"添加 Prisma 配置成功\")\r\n}\r\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAoB;AACpB,sBAAmC;AACnC,yBAA2B;AAG3B,2BAA8B;AAC9B,+BAAkC;AAElC,IAAM,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBnB,eAAsB,UAAU,SAA0B;AACtD,iBAAAA,QAAQ,MAAM,gBAAgB;AAC9B,YAAM,oCAAc;AAAA,IAChB,SAAS;AAAA,EACb,CAAC;AACD,YAAM,oCAAc;AAAA,IAChB,SAAS,CAAC,UAAU,WAAW,eAAe,YAAY;AAAA,IAC1D,MAAM;AAAA,EACV,CAAC;AACD,QAAM,MAAM,UAAM,yBAAQ,GAAG;AAC7B,YAAM,4CAAkB,EAAE,QAAQ,MAAM,QAAQ,CAAC;AACjD,MAAI,CAAC,IAAI,SAAS,eAAe;AAAG,cAAM,+BAAW,kBAAkB,EAAE,OAAO,MAAM,OAAO,UAAU,CAAC;AACxG,YAAM,+BAAW,gDAAgD,EAAE,OAAO,MAAM,OAAO,UAAU,CAAC;AAClG,YAAM,2BAAU,mBAAmB,YAAY,OAAO;AACtD,iBAAAA,QAAQ,QAAQ,gBAAgB;AACpC;",
6
6
  "names": ["consola"]
7
7
  }
@@ -45,7 +45,7 @@ async function getPackageManager(dir = ".") {
45
45
  return import_constant.PackageManager.npm;
46
46
  if (dir2.includes("pnpm-lock.yaml"))
47
47
  return import_constant.PackageManager.pnpm;
48
- if (dir2.includes("bun.lockb"))
48
+ if (dir2.includes("bun.lockb") || dir2.includes("bun.lock"))
49
49
  return import_constant.PackageManager.bun;
50
50
  const { default: inquirer } = await import("inquirer");
51
51
  const { manager } = await inquirer.prompt({
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/getPackageManager.ts"],
4
- "sourcesContent": ["import { readdir } from \"fs/promises\"\r\nimport { getEnumValues } from \"deepsea-tools\"\r\n\r\nimport { PackageManager } from \"@src/constant\"\r\n\r\ndeclare global {\r\n var __ZIXULU_PACKAGE_MANAGER__: PackageManager | undefined\r\n}\r\n\r\n/**\r\n * 获取项目使用的包管理器\r\n * @param dir 项目目录,默认为当前目录\r\n * @returns 包管理器类型\r\n * @description\r\n * 1. 优先使用缓存的包管理器\r\n * 2. 通过锁文件判断使用的包管理器类型\r\n * 3. 如果无法判断,则提示用户选择\r\n */\r\nexport async function getPackageManager(dir = \".\"): Promise<PackageManager> {\r\n if (globalThis.__ZIXULU_PACKAGE_MANAGER__) return globalThis.__ZIXULU_PACKAGE_MANAGER__\r\n const dir2 = await readdir(dir)\r\n if (dir2.includes(\"yarn.lock\")) return PackageManager.yarn\r\n if (dir2.includes(\"package-lock.json\")) return PackageManager.npm\r\n if (dir2.includes(\"pnpm-lock.yaml\")) return PackageManager.pnpm\r\n if (dir2.includes(\"bun.lockb\")) return PackageManager.bun\r\n const { default: inquirer } = await import(\"inquirer\")\r\n\r\n type PromptResult = {\r\n manager: PackageManager\r\n }\r\n\r\n const { manager } = await inquirer.prompt<PromptResult>({\r\n type: \"list\",\r\n name: \"manager\",\r\n message: \"请选择包管理器\",\r\n choices: getEnumValues(PackageManager),\r\n })\r\n globalThis.__ZIXULU_PACKAGE_MANAGER__ = manager\r\n return manager\r\n}\r\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAwB;AACxB,2BAA8B;AAE9B,sBAA+B;AAe/B,eAAsB,kBAAkB,MAAM,KAA8B;AACxE,MAAI,WAAW;AAA4B,WAAO,WAAW;AAC7D,QAAM,OAAO,UAAM,yBAAQ,GAAG;AAC9B,MAAI,KAAK,SAAS,WAAW;AAAG,WAAO,+BAAe;AACtD,MAAI,KAAK,SAAS,mBAAmB;AAAG,WAAO,+BAAe;AAC9D,MAAI,KAAK,SAAS,gBAAgB;AAAG,WAAO,+BAAe;AAC3D,MAAI,KAAK,SAAS,WAAW;AAAG,WAAO,+BAAe;AACtD,QAAM,EAAE,SAAS,SAAS,IAAI,MAAM,OAAO,UAAU;AAMrD,QAAM,EAAE,QAAQ,IAAI,MAAM,SAAS,OAAqB;AAAA,IACpD,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,IACT,aAAS,oCAAc,8BAAc;AAAA,EACzC,CAAC;AACD,aAAW,6BAA6B;AACxC,SAAO;AACX;",
4
+ "sourcesContent": ["import { readdir } from \"fs/promises\"\r\nimport { getEnumValues } from \"deepsea-tools\"\r\n\r\nimport { PackageManager } from \"@src/constant\"\r\n\r\ndeclare global {\r\n var __ZIXULU_PACKAGE_MANAGER__: PackageManager | undefined\r\n}\r\n\r\n/**\r\n * 获取项目使用的包管理器\r\n * @param dir 项目目录,默认为当前目录\r\n * @returns 包管理器类型\r\n * @description\r\n * 1. 优先使用缓存的包管理器\r\n * 2. 通过锁文件判断使用的包管理器类型\r\n * 3. 如果无法判断,则提示用户选择\r\n */\r\nexport async function getPackageManager(dir = \".\"): Promise<PackageManager> {\r\n if (globalThis.__ZIXULU_PACKAGE_MANAGER__) return globalThis.__ZIXULU_PACKAGE_MANAGER__\r\n const dir2 = await readdir(dir)\r\n if (dir2.includes(\"yarn.lock\")) return PackageManager.yarn\r\n if (dir2.includes(\"package-lock.json\")) return PackageManager.npm\r\n if (dir2.includes(\"pnpm-lock.yaml\")) return PackageManager.pnpm\r\n if (dir2.includes(\"bun.lockb\") || dir2.includes(\"bun.lock\") ) return PackageManager.bun\r\n const { default: inquirer } = await import(\"inquirer\")\r\n\r\n type PromptResult = {\r\n manager: PackageManager\r\n }\r\n\r\n const { manager } = await inquirer.prompt<PromptResult>({\r\n type: \"list\",\r\n name: \"manager\",\r\n message: \"请选择包管理器\",\r\n choices: getEnumValues(PackageManager),\r\n })\r\n globalThis.__ZIXULU_PACKAGE_MANAGER__ = manager\r\n return manager\r\n}\r\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAwB;AACxB,2BAA8B;AAE9B,sBAA+B;AAe/B,eAAsB,kBAAkB,MAAM,KAA8B;AACxE,MAAI,WAAW;AAA4B,WAAO,WAAW;AAC7D,QAAM,OAAO,UAAM,yBAAQ,GAAG;AAC9B,MAAI,KAAK,SAAS,WAAW;AAAG,WAAO,+BAAe;AACtD,MAAI,KAAK,SAAS,mBAAmB;AAAG,WAAO,+BAAe;AAC9D,MAAI,KAAK,SAAS,gBAAgB;AAAG,WAAO,+BAAe;AAC3D,MAAI,KAAK,SAAS,WAAW,KAAK,KAAK,SAAS,UAAU;AAAI,WAAO,+BAAe;AACpF,QAAM,EAAE,SAAS,SAAS,IAAI,MAAM,OAAO,UAAU;AAMrD,QAAM,EAAE,QAAQ,IAAI,MAAM,SAAS,OAAqB;AAAA,IACpD,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,IACT,aAAS,oCAAc,8BAAc;AAAA,EACzC,CAAC;AACD,aAAW,6BAA6B;AACxC,SAAO;AACX;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1 @@
1
+ export declare function isUrl(url: string): boolean;
@@ -0,0 +1,33 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/utils/isUrl.ts
20
+ var isUrl_exports = {};
21
+ __export(isUrl_exports, {
22
+ isUrl: () => isUrl
23
+ });
24
+ module.exports = __toCommonJS(isUrl_exports);
25
+ var reg = /^(((ht|f)tps?):\/\/)?([^!@#$%^&*?.\s-]([^!@#$%^&*?.\s]{0,63}[^!@#$%^&*?.\s])?\.)+[a-z]{2,6}\/?/;
26
+ function isUrl(url) {
27
+ return reg.test(url);
28
+ }
29
+ // Annotate the CommonJS export names for ESM import in node:
30
+ 0 && (module.exports = {
31
+ isUrl
32
+ });
33
+ //# sourceMappingURL=isUrl.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/isUrl.ts"],
4
+ "sourcesContent": ["const reg = /^(((ht|f)tps?):\\/\\/)?([^!@#$%^&*?.\\s-]([^!@#$%^&*?.\\s]{0,63}[^!@#$%^&*?.\\s])?\\.)+[a-z]{2,6}\\/?/\r\n\r\nexport function isUrl(url: string) {\r\n return reg.test(url)\r\n}\r\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAM,MAAM;AAEL,SAAS,MAAM,KAAa;AAC/B,SAAO,IAAI,KAAK,GAAG;AACvB;",
6
+ "names": []
7
+ }
@@ -31,6 +31,7 @@ async function removeLock() {
31
31
  await (0, import_promises.rm)("yarn.lock", { force: true, recursive: true });
32
32
  await (0, import_promises.rm)("pnpm-lock.yaml", { force: true, recursive: true });
33
33
  await (0, import_promises.rm)("bun.lockb", { force: true, recursive: true });
34
+ await (0, import_promises.rm)("bun.lock", { force: true, recursive: true });
34
35
  await (0, import_addRuleToGitIgnore.addRuleToGitIgnore)("package-lock.json", "yarn.lock", "pnpm-lock.yaml", "bun.lockb");
35
36
  return (0, import_getCommitMessage.getCommitMessage)(import_constant.CommitType.feature, "删除包管理 lock 文件");
36
37
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/removeLock.ts"],
4
- "sourcesContent": ["import { rm } from \"fs/promises\"\n\nimport { CommitType } from \"@src/constant\"\n\nimport { addRuleToGitIgnore } from \"./addRuleToGitIgnore\"\nimport { getCommitMessage } from \"./getCommitMessage\"\n\nexport async function removeLock() {\n await rm(\"package-lock.json\", { force: true, recursive: true })\n await rm(\"yarn.lock\", { force: true, recursive: true })\n await rm(\"pnpm-lock.yaml\", { force: true, recursive: true })\n await rm(\"bun.lockb\", { force: true, recursive: true })\n await addRuleToGitIgnore(\"package-lock.json\", \"yarn.lock\", \"pnpm-lock.yaml\", \"bun.lockb\")\n return getCommitMessage(CommitType.feature, \"删除包管理 lock 文件\")\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAmB;AAEnB,sBAA2B;AAE3B,gCAAmC;AACnC,8BAAiC;AAEjC,eAAsB,aAAa;AAC/B,YAAM,oBAAG,qBAAqB,EAAE,OAAO,MAAM,WAAW,KAAK,CAAC;AAC9D,YAAM,oBAAG,aAAa,EAAE,OAAO,MAAM,WAAW,KAAK,CAAC;AACtD,YAAM,oBAAG,kBAAkB,EAAE,OAAO,MAAM,WAAW,KAAK,CAAC;AAC3D,YAAM,oBAAG,aAAa,EAAE,OAAO,MAAM,WAAW,KAAK,CAAC;AACtD,YAAM,8CAAmB,qBAAqB,aAAa,kBAAkB,WAAW;AACxF,aAAO,0CAAiB,2BAAW,SAAS,eAAe;AAC/D;",
4
+ "sourcesContent": ["import { rm } from \"fs/promises\"\n\nimport { CommitType } from \"@src/constant\"\n\nimport { addRuleToGitIgnore } from \"./addRuleToGitIgnore\"\nimport { getCommitMessage } from \"./getCommitMessage\"\n\nexport async function removeLock() {\n await rm(\"package-lock.json\", { force: true, recursive: true })\n await rm(\"yarn.lock\", { force: true, recursive: true })\n await rm(\"pnpm-lock.yaml\", { force: true, recursive: true })\n await rm(\"bun.lockb\", { force: true, recursive: true })\n await rm(\"bun.lock\", { force: true, recursive: true })\n await addRuleToGitIgnore(\"package-lock.json\", \"yarn.lock\", \"pnpm-lock.yaml\", \"bun.lockb\")\n return getCommitMessage(CommitType.feature, \"删除包管理 lock 文件\")\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAmB;AAEnB,sBAA2B;AAE3B,gCAAmC;AACnC,8BAAiC;AAEjC,eAAsB,aAAa;AAC/B,YAAM,oBAAG,qBAAqB,EAAE,OAAO,MAAM,WAAW,KAAK,CAAC;AAC9D,YAAM,oBAAG,aAAa,EAAE,OAAO,MAAM,WAAW,KAAK,CAAC;AACtD,YAAM,oBAAG,kBAAkB,EAAE,OAAO,MAAM,WAAW,KAAK,CAAC;AAC3D,YAAM,oBAAG,aAAa,EAAE,OAAO,MAAM,WAAW,KAAK,CAAC;AACtD,YAAM,oBAAG,YAAY,EAAE,OAAO,MAAM,WAAW,KAAK,CAAC;AACrD,YAAM,8CAAmB,qBAAqB,aAAa,kBAAkB,WAAW;AACxF,aAAO,0CAAiB,2BAAW,SAAS,eAAe;AAC/D;",
6
6
  "names": []
7
7
  }
@@ -36,6 +36,7 @@ var import_promises = require("fs/promises");
36
36
  var import_consola = __toESM(require("consola"));
37
37
  var import_soda_nodejs = require("soda-nodejs");
38
38
  var import_constant = require("../constant");
39
+ var import_isUrl = require("./isUrl");
39
40
  var import_sudoCommand = require("./sudoCommand");
40
41
  var import_unique = require("./unique");
41
42
  async function setDockerRegistry() {
@@ -61,7 +62,7 @@ async function setDockerRegistry() {
61
62
  message: "请输入镜像地址,多个用逗号分隔,留空则跳过"
62
63
  }
63
64
  ]);
64
- daemon["registry-mirrors"].push(...mirrors.split(/[,,]/));
65
+ daemon["registry-mirrors"].push(...mirrors.split(/[,,]/).filter(import_isUrl.isUrl));
65
66
  await (0, import_promises.writeFile)("/etc/docker/daemon.json", JSON.stringify(daemon, void 0, 4), "utf-8");
66
67
  import_consola.default.success("镜像地址设置成功");
67
68
  import_consola.default.info("建议重启docker服务:");
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/setDockerRegistry.ts"],
4
- "sourcesContent": ["import { readFile, writeFile } from \"fs/promises\"\r\nimport consola from \"consola\"\r\nimport { execAsync } from \"soda-nodejs\"\r\n\r\nimport { isSudo } from \"@src/constant\"\r\n\r\nimport { sudoCommand } from \"./sudoCommand\"\r\nimport { unique } from \"./unique\"\r\n\r\nexport async function setDockerRegistry() {\r\n if (!isSudo) return sudoCommand()\r\n await execAsync(`mkdir -p /etc/docker`)\r\n let daemon: any = {}\r\n try {\r\n daemon = JSON.parse(await readFile(\"/etc/docker/daemon.json\", \"utf-8\"))\r\n } catch {}\r\n daemon[\"registry-mirrors\"] ??= []\r\n daemon[\"registry-mirrors\"].push(\"https://docker.sunzishaokao.com\", \"https://hub.hxui.site\", \"https://docker.1ms.run\")\r\n daemon[\"registry-mirrors\"] = unique(daemon[\"registry-mirrors\"])\r\n daemon[\"exec-opts\"] ??= []\r\n daemon[\"exec-opts\"].push(\"native.cgroupdriver=systemd\")\r\n daemon[\"exec-opts\"] = unique(daemon[\"exec-opts\"])\r\n const { default: inquirer } = await import(\"inquirer\")\r\n type Answer = {\r\n mirrors: string\r\n }\r\n const { mirrors } = await inquirer.prompt<Answer>([\r\n {\r\n type: \"input\",\r\n name: \"mirrors\",\r\n message: \"请输入镜像地址,多个用逗号分隔,留空则跳过\",\r\n },\r\n ])\r\n daemon[\"registry-mirrors\"].push(...mirrors.split(/[,,]/))\r\n await writeFile(\"/etc/docker/daemon.json\", JSON.stringify(daemon, undefined, 4), \"utf-8\")\r\n consola.success(\"镜像地址设置成功\")\r\n consola.info(\"建议重启docker服务:\")\r\n consola.info(\"sudo systemctl daemon-reload\")\r\n consola.info(\"sudo systemctl restart docker\")\r\n}\r\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAoC;AACpC,qBAAoB;AACpB,yBAA0B;AAE1B,sBAAuB;AAEvB,yBAA4B;AAC5B,oBAAuB;AAEvB,eAAsB,oBAAoB;AACtC,MAAI,CAAC;AAAQ,eAAO,gCAAY;AAChC,YAAM,8BAAU,sBAAsB;AACtC,MAAI,SAAc,CAAC;AACnB,MAAI;AACA,aAAS,KAAK,MAAM,UAAM,0BAAS,2BAA2B,OAAO,CAAC;AAAA,EAC1E,QAAE;AAAA,EAAO;AACT,SAAO,kBAAkB,MAAM,CAAC;AAChC,SAAO,kBAAkB,EAAE,KAAK,mCAAmC,yBAAyB,wBAAwB;AACpH,SAAO,kBAAkB,QAAI,sBAAO,OAAO,kBAAkB,CAAC;AAC9D,SAAO,WAAW,MAAM,CAAC;AACzB,SAAO,WAAW,EAAE,KAAK,6BAA6B;AACtD,SAAO,WAAW,QAAI,sBAAO,OAAO,WAAW,CAAC;AAChD,QAAM,EAAE,SAAS,SAAS,IAAI,MAAM,OAAO,UAAU;AAIrD,QAAM,EAAE,QAAQ,IAAI,MAAM,SAAS,OAAe;AAAA,IAC9C;AAAA,MACI,MAAM;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACb;AAAA,EACJ,CAAC;AACD,SAAO,kBAAkB,EAAE,KAAK,GAAG,QAAQ,MAAM,MAAM,CAAC;AACxD,YAAM,2BAAU,2BAA2B,KAAK,UAAU,QAAQ,QAAW,CAAC,GAAG,OAAO;AACxF,iBAAAA,QAAQ,QAAQ,UAAU;AAC1B,iBAAAA,QAAQ,KAAK,eAAe;AAC5B,iBAAAA,QAAQ,KAAK,8BAA8B;AAC3C,iBAAAA,QAAQ,KAAK,+BAA+B;AAChD;",
4
+ "sourcesContent": ["import { readFile, writeFile } from \"fs/promises\"\r\nimport consola from \"consola\"\r\nimport { execAsync } from \"soda-nodejs\"\r\n\r\nimport { isSudo } from \"@src/constant\"\r\n\r\nimport { isUrl } from \"./isUrl\"\r\nimport { sudoCommand } from \"./sudoCommand\"\r\nimport { unique } from \"./unique\"\r\n\r\nexport async function setDockerRegistry() {\r\n if (!isSudo) return sudoCommand()\r\n await execAsync(`mkdir -p /etc/docker`)\r\n let daemon: any = {}\r\n try {\r\n daemon = JSON.parse(await readFile(\"/etc/docker/daemon.json\", \"utf-8\"))\r\n } catch {}\r\n daemon[\"registry-mirrors\"] ??= []\r\n daemon[\"registry-mirrors\"].push(\"https://docker.sunzishaokao.com\", \"https://hub.hxui.site\", \"https://docker.1ms.run\")\r\n daemon[\"registry-mirrors\"] = unique(daemon[\"registry-mirrors\"])\r\n daemon[\"exec-opts\"] ??= []\r\n daemon[\"exec-opts\"].push(\"native.cgroupdriver=systemd\")\r\n daemon[\"exec-opts\"] = unique(daemon[\"exec-opts\"])\r\n const { default: inquirer } = await import(\"inquirer\")\r\n type Answer = {\r\n mirrors: string\r\n }\r\n const { mirrors } = await inquirer.prompt<Answer>([\r\n {\r\n type: \"input\",\r\n name: \"mirrors\",\r\n message: \"请输入镜像地址,多个用逗号分隔,留空则跳过\",\r\n },\r\n ])\r\n daemon[\"registry-mirrors\"].push(...mirrors.split(/[,,]/).filter(isUrl))\r\n await writeFile(\"/etc/docker/daemon.json\", JSON.stringify(daemon, undefined, 4), \"utf-8\")\r\n consola.success(\"镜像地址设置成功\")\r\n consola.info(\"建议重启docker服务:\")\r\n consola.info(\"sudo systemctl daemon-reload\")\r\n consola.info(\"sudo systemctl restart docker\")\r\n}\r\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAoC;AACpC,qBAAoB;AACpB,yBAA0B;AAE1B,sBAAuB;AAEvB,mBAAsB;AACtB,yBAA4B;AAC5B,oBAAuB;AAEvB,eAAsB,oBAAoB;AACtC,MAAI,CAAC;AAAQ,eAAO,gCAAY;AAChC,YAAM,8BAAU,sBAAsB;AACtC,MAAI,SAAc,CAAC;AACnB,MAAI;AACA,aAAS,KAAK,MAAM,UAAM,0BAAS,2BAA2B,OAAO,CAAC;AAAA,EAC1E,QAAE;AAAA,EAAO;AACT,SAAO,kBAAkB,MAAM,CAAC;AAChC,SAAO,kBAAkB,EAAE,KAAK,mCAAmC,yBAAyB,wBAAwB;AACpH,SAAO,kBAAkB,QAAI,sBAAO,OAAO,kBAAkB,CAAC;AAC9D,SAAO,WAAW,MAAM,CAAC;AACzB,SAAO,WAAW,EAAE,KAAK,6BAA6B;AACtD,SAAO,WAAW,QAAI,sBAAO,OAAO,WAAW,CAAC;AAChD,QAAM,EAAE,SAAS,SAAS,IAAI,MAAM,OAAO,UAAU;AAIrD,QAAM,EAAE,QAAQ,IAAI,MAAM,SAAS,OAAe;AAAA,IAC9C;AAAA,MACI,MAAM;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACb;AAAA,EACJ,CAAC;AACD,SAAO,kBAAkB,EAAE,KAAK,GAAG,QAAQ,MAAM,MAAM,EAAE,OAAO,kBAAK,CAAC;AACtE,YAAM,2BAAU,2BAA2B,KAAK,UAAU,QAAQ,QAAW,CAAC,GAAG,OAAO;AACxF,iBAAAA,QAAQ,QAAQ,UAAU;AAC1B,iBAAAA,QAAQ,KAAK,eAAe;AAC5B,iBAAAA,QAAQ,KAAK,8BAA8B;AAC3C,iBAAAA,QAAQ,KAAK,+BAA+B;AAChD;",
6
6
  "names": ["consola"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zixulu",
3
- "version": "1.58.0",
3
+ "version": "1.58.2",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "bin": {
@@ -70,6 +70,7 @@ export const addedRules = [
70
70
  "pnpm-lock.yaml",
71
71
  "node_modules",
72
72
  "bun.lockb",
73
+ "bun.lock",
73
74
  "dist",
74
75
  "build",
75
76
  "yarn-error.log",
@@ -22,13 +22,12 @@ export async function addAntd() {
22
22
  join(componentDir, "AntdNextRegistry.tsx"),
23
23
  `"use client"
24
24
 
25
- import { StyleProvider } from "@ant-design/cssinjs"
25
+ import { FC, ReactNode } from "react"
26
26
  import { AntdRegistry } from "@ant-design/nextjs-registry"
27
27
  import { ConfigProvider } from "antd"
28
28
  import zhCN from "antd/locale/zh_CN"
29
- import { FC, ReactNode } from "react"
30
29
 
31
- export type AntdNextRegistryProps = {
30
+ export interface AntdNextRegistryProps {
32
31
  children?: ReactNode
33
32
  }
34
33
 
@@ -36,10 +35,8 @@ const AntdNextRegistry: FC<AntdNextRegistryProps> = props => {
36
35
  const { children } = props
37
36
 
38
37
  return (
39
- <AntdRegistry>
40
- <ConfigProvider locale={zhCN}>
41
- <StyleProvider hashPriority="high">{children}</StyleProvider>
42
- </ConfigProvider>
38
+ <AntdRegistry hashPriority="high">
39
+ <ConfigProvider locale={zhCN}>{children}</ConfigProvider>
43
40
  </AntdRegistry>
44
41
  )
45
42
  }
@@ -63,9 +60,9 @@ const AntdRegistry: FC<AntdRegistryProps> = props => {
63
60
  const { children } = props
64
61
 
65
62
  return (
66
- <ConfigProvider locale={zhCN}>
67
- <StyleProvider hashPriority="high">{children}</StyleProvider>
68
- </ConfigProvider>
63
+ <StyleProvider hashPriority="high">
64
+ <ConfigProvider locale={zhCN}>{children}</ConfigProvider>
65
+ </StyleProvider>
69
66
  )
70
67
  }
71
68
 
@@ -1,11 +1,22 @@
1
- import { readdir } from "fs/promises"
2
1
  import consola from "consola"
2
+ import { readdir, writeFile } from "fs/promises"
3
3
  import { spawnAsync } from "soda-nodejs"
4
4
  import { PackageManager } from "src/constant"
5
5
 
6
6
  import { addDependency } from "./addDependency"
7
7
  import { installDependceny } from "./installDependceny"
8
8
 
9
+ const prismaFile = `import { PrismaClient } from "@prisma/client"
10
+
11
+ declare global {
12
+ var __PRISMA__: PrismaClient
13
+ }
14
+
15
+ globalThis.__PRISMA__ ??= new PrismaClient()
16
+
17
+ export const prisma = globalThis.__PRISMA__
18
+ `
19
+
9
20
  /**
10
21
  * 添加 Prisma 相关配置
11
22
  * 包括安装依赖、初始化配置等
@@ -24,5 +35,6 @@ export async function addPrisma(manager?: PackageManager) {
24
35
  await installDependceny({ silent: true, manager })
25
36
  if (!dir.includes("tsconfig.json")) await spawnAsync("npx tsc --init", { shell: true, stdio: "inherit" })
26
37
  await spawnAsync("npx prisma init --datasource-provider sqlite", { shell: true, stdio: "inherit" })
38
+ await writeFile("prisma/index.ts", prismaFile, "utf-8")
27
39
  consola.success("添加 Prisma 配置成功")
28
40
  }
@@ -22,7 +22,7 @@ export async function getPackageManager(dir = "."): Promise<PackageManager> {
22
22
  if (dir2.includes("yarn.lock")) return PackageManager.yarn
23
23
  if (dir2.includes("package-lock.json")) return PackageManager.npm
24
24
  if (dir2.includes("pnpm-lock.yaml")) return PackageManager.pnpm
25
- if (dir2.includes("bun.lockb")) return PackageManager.bun
25
+ if (dir2.includes("bun.lockb") || dir2.includes("bun.lock") ) return PackageManager.bun
26
26
  const { default: inquirer } = await import("inquirer")
27
27
 
28
28
  type PromptResult = {
@@ -0,0 +1,5 @@
1
+ const reg = /^(((ht|f)tps?):\/\/)?([^!@#$%^&*?.\s-]([^!@#$%^&*?.\s]{0,63}[^!@#$%^&*?.\s])?\.)+[a-z]{2,6}\/?/
2
+
3
+ export function isUrl(url: string) {
4
+ return reg.test(url)
5
+ }
@@ -10,6 +10,7 @@ export async function removeLock() {
10
10
  await rm("yarn.lock", { force: true, recursive: true })
11
11
  await rm("pnpm-lock.yaml", { force: true, recursive: true })
12
12
  await rm("bun.lockb", { force: true, recursive: true })
13
- await addRuleToGitIgnore("package-lock.json", "yarn.lock", "pnpm-lock.yaml", "bun.lockb")
13
+ await rm("bun.lock", { force: true, recursive: true })
14
+ await addRuleToGitIgnore("package-lock.json", "yarn.lock", "pnpm-lock.yaml", "bun.lockb", "bun.lock")
14
15
  return getCommitMessage(CommitType.feature, "删除包管理 lock 文件")
15
16
  }
@@ -4,6 +4,7 @@ import { execAsync } from "soda-nodejs"
4
4
 
5
5
  import { isSudo } from "@src/constant"
6
6
 
7
+ import { isUrl } from "./isUrl"
7
8
  import { sudoCommand } from "./sudoCommand"
8
9
  import { unique } from "./unique"
9
10
 
@@ -31,7 +32,7 @@ export async function setDockerRegistry() {
31
32
  message: "请输入镜像地址,多个用逗号分隔,留空则跳过",
32
33
  },
33
34
  ])
34
- daemon["registry-mirrors"].push(...mirrors.split(/[,,]/))
35
+ daemon["registry-mirrors"].push(...mirrors.split(/[,,]/).filter(isUrl))
35
36
  await writeFile("/etc/docker/daemon.json", JSON.stringify(daemon, undefined, 4), "utf-8")
36
37
  consola.success("镜像地址设置成功")
37
38
  consola.info("建议重启docker服务:")