zixulu 1.56.2 → 1.57.0
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/index.js +5 -1
- package/dist/index.js.map +2 -2
- package/dist/utils/addPrettier.js +6 -2
- package/dist/utils/addPrettier.js.map +2 -2
- package/dist/utils/serverToAction.d.ts +1 -0
- package/dist/utils/serverToAction.js +55 -0
- package/dist/utils/serverToAction.js.map +7 -0
- package/dist/utils/tar.d.ts +5 -0
- package/dist/utils/tar.js +55 -0
- package/dist/utils/tar.js.map +7 -0
- package/package.json +66 -66
- package/src/index.ts +12 -1
- package/src/utils/addPrettier.ts +5 -2
- package/src/utils/serverToAction.ts +27 -0
- package/src/utils/tar.ts +24 -0
package/dist/index.js
CHANGED
|
@@ -23,10 +23,10 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
23
23
|
));
|
|
24
24
|
|
|
25
25
|
// src/index.ts
|
|
26
|
+
var import_path = require("path");
|
|
26
27
|
var import_commander = require("commander");
|
|
27
28
|
var import_consola = __toESM(require("consola"));
|
|
28
29
|
var import_deepsea_tools = require("deepsea-tools");
|
|
29
|
-
var import_path = require("path");
|
|
30
30
|
var import_soda_nodejs = require("soda-nodejs");
|
|
31
31
|
var import_constant = require("./constant/index");
|
|
32
32
|
var import_addAntd = require("./utils/addAntd");
|
|
@@ -73,11 +73,13 @@ var import_readPackageJsonSync = require("./utils/readPackageJsonSync");
|
|
|
73
73
|
var import_removeLock = require("./utils/removeLock");
|
|
74
74
|
var import_replaceAssets = require("./utils/replaceAssets");
|
|
75
75
|
var import_replaceCommitAuthor = require("./utils/replaceCommitAuthor");
|
|
76
|
+
var import_serverToAction = require("./utils/serverToAction");
|
|
76
77
|
var import_setBun = require("./utils/setBun");
|
|
77
78
|
var import_setDockerRegistry = require("./utils/setDockerRegistry");
|
|
78
79
|
var import_setGlobalConfig = require("./utils/setGlobalConfig");
|
|
79
80
|
var import_syncSnippets = require("./utils/syncSnippets");
|
|
80
81
|
var import_tailwindPatch = require("./utils/tailwindPatch");
|
|
82
|
+
var import_tar = require("./utils/tar");
|
|
81
83
|
var import_test = require("./utils/test");
|
|
82
84
|
var import_upgradeRsbuild = require("./utils/upgradeRsbuild");
|
|
83
85
|
var import_upgradeTailwind = require("./utils/upgradeTailwind");
|
|
@@ -189,5 +191,7 @@ program.command("test").description("这是一个测试命令,生产环境中
|
|
|
189
191
|
await (0, import_test.test)();
|
|
190
192
|
});
|
|
191
193
|
program.command("sync-snippets").alias("ss").description("同步 vscode snippets").action(import_syncSnippets.syncSnippets);
|
|
194
|
+
program.command("server-to-action").alias("sta").description("将 server 文件夹下的文件转换为 action").action(import_serverToAction.serverToAction);
|
|
195
|
+
program.command("tar").description("压缩文件").argument("input", "输入文件夹").option("-o, --output <output>", "输出文件").action(async (input, { output }) => (0, import_tar.tar)({ input, output }));
|
|
192
196
|
program.parse();
|
|
193
197
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/index.ts"],
|
|
4
|
-
"sourcesContent": ["#!/usr/bin/env node\r\nimport { Command } from \"commander\"\r\nimport consola from \"consola\"\r\nimport { emailReg } from \"deepsea-tools\"\r\nimport { resolve } from \"path\"\r\nimport { setDefaultOptions } from \"soda-nodejs\"\r\n\r\nimport { CommitType } from \"@constant/index\"\r\n\r\nimport { addAntd } from \"@utils/addAntd\"\r\nimport { addGitignore } from \"@utils/addGitignore\"\r\nimport { addFolderPathAlias, replacePathAlias } from \"@utils/addPathAlias\"\r\nimport { addPrettier } from \"@utils/addPrettier\"\r\nimport { addPrisma } from \"@utils/addPrisma\"\r\nimport { arrowToFunction } from \"@utils/arrowToFunction\"\r\nimport { betaVersion } from \"@utils/betaVersion\"\r\nimport { checkType } from \"@utils/checkType\"\r\nimport { code2Snippet } from \"@utils/code2Snippet\"\r\nimport { downloadLatestSoftware } from \"@utils/downloadLatestSoftware\"\r\nimport { downloadNpm } from \"@utils/downloadNpm\"\r\nimport { generatePrisma } from \"@utils/generatePrisma\"\r\nimport { initProject } from \"@utils/initProject\"\r\nimport { interfaceToType } from \"@utils/interfaceToType\"\r\nimport { killProcessByPort } from \"@utils/killProcessByPort\"\r\nimport { next } from \"@utils/next\"\r\nimport { pnpm } from \"@utils/pnpm\"\r\nimport { reinstall } from \"@utils/reinstall\"\r\nimport { removeComment } from \"@utils/removeComment\"\r\nimport { removeESLint } from \"@utils/removeESLint\"\r\nimport { removeFileOrFolderFromGit } from \"@utils/removeFileOrFolderFromGit\"\r\nimport { rollup } from \"@utils/rollup\"\r\nimport { rsbuild } from \"@utils/rsbuild\"\r\nimport { setFatherConfig } from \"@utils/setFatherConfig\"\r\nimport { setGitProxy } from \"@utils/setGitProxy\"\r\nimport { setRegistry } from \"@utils/setRegistry\"\r\nimport { setShellProxy } from \"@utils/setShellProxy\"\r\nimport { sortPackageJson } from \"@utils/sortPackageJson\"\r\nimport { syncVscode } from \"@utils/syncVscode\"\r\nimport { tailwind } from \"@utils/tailwind\"\r\nimport { upgradeDependency } from \"@utils/upgradeDependency\"\r\nimport { vite } from \"@utils/vite\"\r\n\r\nimport { actionWithBackup } from \"./utils/actionWithBackup\"\r\nimport { addStartScript } from \"./utils/addStartScript\"\r\nimport { addSyncPackageScript } from \"./utils/addSyncPackageScript\"\r\nimport { addZipDist } from \"./utils/addZipDist\"\r\nimport { createBrowserlistrc } from \"./utils/createBrowserlistrc\"\r\nimport { getCommitMessage } from \"./utils/getCommitMessage\"\r\nimport { getHeaders } from \"./utils/getHeaders\"\r\nimport { installDocker } from \"./utils/installDocker\"\r\nimport { readPackageJsonSync } from \"./utils/readPackageJsonSync\"\r\nimport { removeLock } from \"./utils/removeLock\"\r\nimport { replaceAssets } from \"./utils/replaceAssets\"\r\nimport { CommitAuthor, replaceCommitAuthor } from \"./utils/replaceCommitAuthor\"\r\nimport { setBun } from \"./utils/setBun\"\r\nimport { setDockerRegistry } from \"./utils/setDockerRegistry\"\r\nimport { setGlobalConfig } from \"./utils/setGlobalConfig\"\r\nimport { syncSnippets } from \"./utils/syncSnippets\"\r\nimport { tailwindPatch } from \"./utils/tailwindPatch\"\r\nimport { test } from \"./utils/test\"\r\nimport { upgradeRsbuild } from \"./utils/upgradeRsbuild\"\r\nimport { upgradeTailwind } from \"./utils/upgradeTailwind\"\r\nimport { upgradeWorkspaceDependceny } from \"./utils/upgradeWorkspaceDependceny\"\r\nimport { winget } from \"./utils/winget\"\r\n\r\nsetDefaultOptions({\r\n shell: true,\r\n stdio: \"inherit\",\r\n})\r\n\r\nconst program = new Command()\r\n\r\nconst pkg = readPackageJsonSync(resolve(__dirname, \"../\"))\r\n\r\nprogram.name(\"格数科技\").version(pkg.version)\r\n\r\nprogram\r\n .command(\"eslint\")\r\n .description(\"删除 ESLint 相关配置\")\r\n .action(actionWithBackup(removeESLint, getCommitMessage(CommitType.feature, \"删除 ESLint 相关配置\")))\r\n\r\nprogram\r\n .command(\"prettier\")\r\n .description(\"添加 prettier 配置\")\r\n .action(actionWithBackup(addPrettier, getCommitMessage(CommitType.feature, \"添加 prettier 配置文件\")))\r\n\r\nprogram\r\n .command(\"vite\")\r\n .description(\"初始化 vite 配置\")\r\n .action(actionWithBackup(vite, getCommitMessage(CommitType.feature, \"初始化 vite 配置\")))\r\n\r\nprogram\r\n .command(\"rsbuild\")\r\n .description(\"初始化 rsbuild 配置\")\r\n .action(actionWithBackup(rsbuild, getCommitMessage(CommitType.feature, \"初始化 rsbuild 配置\")))\r\n\r\nprogram\r\n .command(\"next\")\r\n .description(\"初始化 next 配置\")\r\n .action(actionWithBackup(next, getCommitMessage(CommitType.feature, \"初始化 next 配置\")))\r\n\r\nprogram\r\n .command(\"tailwind\")\r\n .description(\"添加 tailwind 配置\")\r\n .action(actionWithBackup(tailwind, getCommitMessage(CommitType.feature, \"添加 tailwind 配置\")))\r\n\r\nprogram\r\n .command(\"remove-comment\")\r\n .description(\"删除文件注释\")\r\n .argument(\"path\", \"文件路径\")\r\n .action(actionWithBackup(removeComment, getCommitMessage(CommitType.feature, \"删除文件注释\")))\r\n\r\nprogram\r\n .command(\"father\")\r\n .alias(\"fs\")\r\n .description(\"初始化 father 项目配置\")\r\n .action(actionWithBackup(setFatherConfig, getCommitMessage(CommitType.feature, \"初始化 father 项目配置\")))\r\n\r\nprogram\r\n .command(\"upgrade-dependency\")\r\n .alias(\"ud\")\r\n .description(\"升级项目依赖\")\r\n .option(\"-r, --registry <registry>\", \"npm 源地址,可以是 npm、taobao、tencent 或者自定义地址\")\r\n .option(\"-p, --proxy\", \"是否使用代理\")\r\n .action(async optios => {\r\n setGlobalConfig(optios)\r\n await actionWithBackup(() => upgradeDependency())()\r\n })\r\n\r\nprogram\r\n .command(\"upgrade-workspace-dependency\")\r\n .alias(\"uwd\")\r\n .description(\"升级工作区项目依赖\")\r\n .option(\"-r, --registry <registry>\", \"npm 源地址,可以是 npm、taobao、tencent 或者自定义地址\")\r\n .option(\"-p, --proxy\", \"是否使用代理\")\r\n .action(async options => {\r\n setGlobalConfig(options)\r\n await upgradeWorkspaceDependceny()\r\n })\r\n\r\nprogram.command(\"registry\").description(\"设置 npm registry\").action(setRegistry)\r\n\r\nprogram\r\n .command(\"sort-package-json\")\r\n .alias(\"spj\")\r\n .description(\"对 package.json 中的依赖进行排序\")\r\n .action(actionWithBackup(sortPackageJson, getCommitMessage(CommitType.feature, \"对 package.json 中的依赖进行排序\")))\r\n\r\nprogram\r\n .command(\"arrow-to-function\")\r\n .alias(\"a2f\")\r\n .description(\"将箭头函数组件转换为函数组件\")\r\n .action(actionWithBackup(arrowToFunction, getCommitMessage(CommitType.feature, \"将箭头函数组件转换为函数组件\")))\r\n\r\nprogram\r\n .command(\"interface-to-type\")\r\n .alias(\"i2t\")\r\n .description(\"将 interface 转换为 type\")\r\n .action(actionWithBackup(interfaceToType, getCommitMessage(CommitType.feature, \"将 interface 转换为 type\")))\r\n\r\nprogram.command(\"gitignore\").description(\"添加 .gitignore 配置\").action(actionWithBackup(addGitignore))\r\n\r\nprogram.command(\"git-proxy\").alias(\"gp\").description(\"设置 git 代理\").action(setGitProxy)\r\n\r\nprogram.command(\"shell-proxy\").alias(\"sp\").description(\"设置 Shell 代理\").action(setShellProxy)\r\n\r\nprogram.command(\"download-software\").alias(\"ds\").description(\"下载最新版软件\").action(downloadLatestSoftware)\r\n\r\nprogram.command(\"vscode\").alias(\"vsc\").description(\"同步 VS Code 配置\").action(syncVscode)\r\n\r\nprogram.command(\"kill-port\").description(\"根据端口号杀死进程\").argument(\"port\", \"端口号\").action(killProcessByPort)\r\n\r\nprogram.command(\"rm-git\").argument(\"path\", \"要移除的文件或文件夹\").action(removeFileOrFolderFromGit)\r\n\r\nprogram.command(\"npm-download\").alias(\"nd\").description(\"下载 npm 包\").argument(\"name\", \"包名\").action(downloadNpm)\r\n\r\nprogram\r\n .command(\"prisma\")\r\n .description(\"添加 prisma 配置\")\r\n .action(actionWithBackup(() => addPrisma(), getCommitMessage(CommitType.feature, \"添加 prisma 配置\")))\r\n\r\nprogram.command(\"prisma-generate\").alias(\"pg\").description(\"生成 prisma client\").action(generatePrisma)\r\n\r\nprogram\r\n .command(\"antd\")\r\n .description(\"添加 antd 配置\")\r\n .action(actionWithBackup(addAntd, getCommitMessage(CommitType.feature, \"添加 antd 配置\")))\r\n\r\nprogram\r\n .command(\"init\")\r\n .description(\"初始化项目\")\r\n .action(actionWithBackup(initProject, getCommitMessage(CommitType.feature, \"初始化项目\")))\r\n\r\nprogram.command(\"tsc\").description(\"类型检查\").action(checkType)\r\n\r\nprogram.command(\"beta-version\").alias(\"bv\").description(\"设置版本号\").action(betaVersion)\r\n\r\nprogram\r\n .command(\"reinstall\")\r\n .alias(\"ri\")\r\n .description(\"重新安装依赖\")\r\n .option(\"-r, --registry <registry>\", \"npm 源地址,可以是 npm、taobao、tencent 或者自定义地址\")\r\n .action(async options => {\r\n setGlobalConfig(options)\r\n reinstall()\r\n })\r\n\r\nprogram.command(\"snippet\").alias(\"sn\").description(\"生成 vscode snippet\").argument(\"path\", \"文件路径\").action(code2Snippet)\r\n\r\nprogram.command(\"add-alias\").alias(\"aa\").description(\"添加路径别名\").action(actionWithBackup(addFolderPathAlias))\r\n\r\nprogram.command(\"replace-alias\").alias(\"ra\").description(\"替换路径别名\").action(actionWithBackup(replacePathAlias))\r\n\r\nprogram.command(\"pnpm\").description(\"设置 pnpm 配置\").action(pnpm)\r\n\r\nprogram.command(\"rollup\").description(\"rollup 打包\").action(rollup)\r\n\r\nprogram.command(\"browserlistrc\").alias(\"blr\").description(\"添加 browserlistrc 配置\").action(createBrowserlistrc)\r\n\r\nprogram\r\n .command(\"asset\")\r\n .description(\"替换文件中的资源地址\")\r\n .argument(\"input\", \"静态文件夹路径\")\r\n .option(\"-b, --base <base>\", \"资源地址 BaseUrl\")\r\n .option(\"-o, --output <output>\", \"输出文件夹\")\r\n .option(\"-p, --proxy\", \"是否使用代理\")\r\n .action((input, { proxy, base, output }) => replaceAssets({ base, input, proxy, output }))\r\n\r\nprogram\r\n .command(\"upgrade-rsbuild\")\r\n .alias(\"ur\")\r\n .description(\"升级 rsbuild\")\r\n .option(\"-r, --registry <registry>\", \"npm 源地址,可以是 npm、taobao、tencent 或者自定义地址\")\r\n .option(\"-p, --proxy\", \"是否使用代理\")\r\n .action(async options => {\r\n setGlobalConfig(options)\r\n await actionWithBackup(() => upgradeRsbuild())()\r\n })\r\n\r\nprogram\r\n .command(\"add-start-script\")\r\n .alias(\"ass\")\r\n .argument(\"type\", \"启动脚本类型:express、next\")\r\n .option(\"-p, --port <port>\", \"端口地址\")\r\n .option(\"-c, --core <core>\", \"实例数\")\r\n .option(\"-h, --hostname <hostname>\", \"主机名\")\r\n .option(\"-pem, --pemPath <pemPath>\", \"证书目录\")\r\n .description(\"添加 express 启动脚本\")\r\n .action(async (type, { port, core, pemPath }) => actionWithBackup(addStartScript)({ type, port, core, pemPath }))\r\n\r\nprogram.command(\"headers\").description(\"将浏览器中直接复制的 headers 转换为对象\").action(getHeaders)\r\n\r\nprogram\r\n .command(\"add-zip-dist\")\r\n .alias(\"azd\")\r\n .description(\"添加将 dist 压缩的脚本\")\r\n .action(actionWithBackup(() => addZipDist({ install: true })))\r\n\r\nprogram\r\n .command(\"upgrade-tailwind\")\r\n .alias(\"ut\")\r\n .description(\"升级 tailwind\")\r\n .option(\"-r, --registry <registry>\", \"npm 源地址,可以是 npm、taobao、tencent 或者自定义地址\")\r\n .option(\"-p, --proxy\", \"是否使用代理\")\r\n .action(async options => {\r\n setGlobalConfig(options)\r\n await actionWithBackup(() => upgradeTailwind())()\r\n })\r\n\r\nprogram.command(\"bun\").description(\"设置 bun\").action(setBun)\r\n\r\nprogram.command(\"tailwind-patch\").alias(\"tp\").description(\"tailwind 补丁\").action(tailwindPatch)\r\n\r\nprogram\r\n .command(\"remove-lock\")\r\n .alias(\"rl\")\r\n .description(\"删除 lock 文件\")\r\n .action(actionWithBackup(() => removeLock()))\r\n\r\nprogram\r\n .command(\"rename-commit-author\")\r\n .alias(\"rca\")\r\n .description(\"重写 Git 提交历史的作者信息\")\r\n .arguments(\"[infos...]\")\r\n .action(async (infos: string[]) => {\r\n let prev: CommitAuthor | undefined\r\n let next: CommitAuthor | undefined\r\n infos = infos.slice(0, 2)\r\n function getUsernameAndEmail(info: string): CommitAuthor {\r\n const index = info.indexOf(\":\")\r\n if (index === -1) {\r\n if (emailReg.test(info)) return { email: info }\r\n return { name: info }\r\n }\r\n return {\r\n name: info.slice(0, index),\r\n email: info.slice(index + 1),\r\n }\r\n }\r\n if (infos.length === 0) throw new Error(\"请输入作者信息!\")\r\n else if (infos.length === 1) next = getUsernameAndEmail(infos[0])\r\n else {\r\n prev = getUsernameAndEmail(infos[0])\r\n next = getUsernameAndEmail(infos[1])\r\n }\r\n await replaceCommitAuthor({ prev, next })\r\n })\r\n\r\nprogram.command(\"install-docker\").alias(\"id\").description(\"安装 Docker\").action(installDocker)\r\n\r\nprogram.command(\"set-docker-registry\").alias(\"sdr\").description(\"设置 Docker 镜像地址\").action(setDockerRegistry)\r\n\r\nprogram\r\n .command(\"add-sync\")\r\n .alias(\"asp\")\r\n .option(\"-m, --monorepo\", \"是否是 monorepo\")\r\n .description(\"添加同步包脚本\")\r\n .action(actionWithBackup(addSyncPackageScript))\r\n\r\nprogram\r\n .command(\"winget\")\r\n .option(\"-p, --proxy\", \"是否使用代理\")\r\n .description(\"使用 winget 更新软件\")\r\n .action(async options => {\r\n setGlobalConfig(options)\r\n await winget()\r\n })\r\n\r\nprogram\r\n .command(\"test\")\r\n .description(\"这是一个测试命令,生产环境中使用,非开发人员请勿使用!\")\r\n .action(async () => {\r\n consola.warn(\"这是一个测试命令,生产环境中使用,非开发人员请勿使用!\")\r\n consola.warn(\"这是一个测试命令,生产环境中使用,非开发人员请勿使用!\")\r\n consola.warn(\"这是一个测试命令,生产环境中使用,非开发人员请勿使用!\")\r\n await test()\r\n })\r\n\r\nprogram.command(\"sync-snippets\").alias(\"ss\").description(\"同步 vscode snippets\").action(syncSnippets)\r\n\r\nprogram.parse()\r\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AACA,uBAAwB;AACxB,qBAAoB;AACpB,2BAAyB;AACzB,
|
|
4
|
+
"sourcesContent": ["#!/usr/bin/env node\r\nimport { resolve } from \"path\"\r\nimport { Command } from \"commander\"\r\nimport consola from \"consola\"\r\nimport { emailReg } from \"deepsea-tools\"\r\nimport { setDefaultOptions } from \"soda-nodejs\"\r\n\r\nimport { CommitType } from \"@constant/index\"\r\n\r\nimport { addAntd } from \"@utils/addAntd\"\r\nimport { addGitignore } from \"@utils/addGitignore\"\r\nimport { addFolderPathAlias, replacePathAlias } from \"@utils/addPathAlias\"\r\nimport { addPrettier } from \"@utils/addPrettier\"\r\nimport { addPrisma } from \"@utils/addPrisma\"\r\nimport { arrowToFunction } from \"@utils/arrowToFunction\"\r\nimport { betaVersion } from \"@utils/betaVersion\"\r\nimport { checkType } from \"@utils/checkType\"\r\nimport { code2Snippet } from \"@utils/code2Snippet\"\r\nimport { downloadLatestSoftware } from \"@utils/downloadLatestSoftware\"\r\nimport { downloadNpm } from \"@utils/downloadNpm\"\r\nimport { generatePrisma } from \"@utils/generatePrisma\"\r\nimport { initProject } from \"@utils/initProject\"\r\nimport { interfaceToType } from \"@utils/interfaceToType\"\r\nimport { killProcessByPort } from \"@utils/killProcessByPort\"\r\nimport { next } from \"@utils/next\"\r\nimport { pnpm } from \"@utils/pnpm\"\r\nimport { reinstall } from \"@utils/reinstall\"\r\nimport { removeComment } from \"@utils/removeComment\"\r\nimport { removeESLint } from \"@utils/removeESLint\"\r\nimport { removeFileOrFolderFromGit } from \"@utils/removeFileOrFolderFromGit\"\r\nimport { rollup } from \"@utils/rollup\"\r\nimport { rsbuild } from \"@utils/rsbuild\"\r\nimport { setFatherConfig } from \"@utils/setFatherConfig\"\r\nimport { setGitProxy } from \"@utils/setGitProxy\"\r\nimport { setRegistry } from \"@utils/setRegistry\"\r\nimport { setShellProxy } from \"@utils/setShellProxy\"\r\nimport { sortPackageJson } from \"@utils/sortPackageJson\"\r\nimport { syncVscode } from \"@utils/syncVscode\"\r\nimport { tailwind } from \"@utils/tailwind\"\r\nimport { upgradeDependency } from \"@utils/upgradeDependency\"\r\nimport { vite } from \"@utils/vite\"\r\n\r\nimport { actionWithBackup } from \"./utils/actionWithBackup\"\r\nimport { addStartScript } from \"./utils/addStartScript\"\r\nimport { addSyncPackageScript } from \"./utils/addSyncPackageScript\"\r\nimport { addZipDist } from \"./utils/addZipDist\"\r\nimport { createBrowserlistrc } from \"./utils/createBrowserlistrc\"\r\nimport { getCommitMessage } from \"./utils/getCommitMessage\"\r\nimport { getHeaders } from \"./utils/getHeaders\"\r\nimport { installDocker } from \"./utils/installDocker\"\r\nimport { readPackageJsonSync } from \"./utils/readPackageJsonSync\"\r\nimport { removeLock } from \"./utils/removeLock\"\r\nimport { replaceAssets } from \"./utils/replaceAssets\"\r\nimport { CommitAuthor, replaceCommitAuthor } from \"./utils/replaceCommitAuthor\"\r\nimport { serverToAction } from \"./utils/serverToAction\"\r\nimport { setBun } from \"./utils/setBun\"\r\nimport { setDockerRegistry } from \"./utils/setDockerRegistry\"\r\nimport { setGlobalConfig } from \"./utils/setGlobalConfig\"\r\nimport { syncSnippets } from \"./utils/syncSnippets\"\r\nimport { tailwindPatch } from \"./utils/tailwindPatch\"\r\nimport { tar } from \"./utils/tar\"\r\nimport { test } from \"./utils/test\"\r\nimport { upgradeRsbuild } from \"./utils/upgradeRsbuild\"\r\nimport { upgradeTailwind } from \"./utils/upgradeTailwind\"\r\nimport { upgradeWorkspaceDependceny } from \"./utils/upgradeWorkspaceDependceny\"\r\nimport { winget } from \"./utils/winget\"\r\n\r\nsetDefaultOptions({\r\n shell: true,\r\n stdio: \"inherit\",\r\n})\r\n\r\nconst program = new Command()\r\n\r\nconst pkg = readPackageJsonSync(resolve(__dirname, \"../\"))\r\n\r\nprogram.name(\"格数科技\").version(pkg.version)\r\n\r\nprogram\r\n .command(\"eslint\")\r\n .description(\"删除 ESLint 相关配置\")\r\n .action(actionWithBackup(removeESLint, getCommitMessage(CommitType.feature, \"删除 ESLint 相关配置\")))\r\n\r\nprogram\r\n .command(\"prettier\")\r\n .description(\"添加 prettier 配置\")\r\n .action(actionWithBackup(addPrettier, getCommitMessage(CommitType.feature, \"添加 prettier 配置文件\")))\r\n\r\nprogram\r\n .command(\"vite\")\r\n .description(\"初始化 vite 配置\")\r\n .action(actionWithBackup(vite, getCommitMessage(CommitType.feature, \"初始化 vite 配置\")))\r\n\r\nprogram\r\n .command(\"rsbuild\")\r\n .description(\"初始化 rsbuild 配置\")\r\n .action(actionWithBackup(rsbuild, getCommitMessage(CommitType.feature, \"初始化 rsbuild 配置\")))\r\n\r\nprogram\r\n .command(\"next\")\r\n .description(\"初始化 next 配置\")\r\n .action(actionWithBackup(next, getCommitMessage(CommitType.feature, \"初始化 next 配置\")))\r\n\r\nprogram\r\n .command(\"tailwind\")\r\n .description(\"添加 tailwind 配置\")\r\n .action(actionWithBackup(tailwind, getCommitMessage(CommitType.feature, \"添加 tailwind 配置\")))\r\n\r\nprogram\r\n .command(\"remove-comment\")\r\n .description(\"删除文件注释\")\r\n .argument(\"path\", \"文件路径\")\r\n .action(actionWithBackup(removeComment, getCommitMessage(CommitType.feature, \"删除文件注释\")))\r\n\r\nprogram\r\n .command(\"father\")\r\n .alias(\"fs\")\r\n .description(\"初始化 father 项目配置\")\r\n .action(actionWithBackup(setFatherConfig, getCommitMessage(CommitType.feature, \"初始化 father 项目配置\")))\r\n\r\nprogram\r\n .command(\"upgrade-dependency\")\r\n .alias(\"ud\")\r\n .description(\"升级项目依赖\")\r\n .option(\"-r, --registry <registry>\", \"npm 源地址,可以是 npm、taobao、tencent 或者自定义地址\")\r\n .option(\"-p, --proxy\", \"是否使用代理\")\r\n .action(async optios => {\r\n setGlobalConfig(optios)\r\n await actionWithBackup(() => upgradeDependency())()\r\n })\r\n\r\nprogram\r\n .command(\"upgrade-workspace-dependency\")\r\n .alias(\"uwd\")\r\n .description(\"升级工作区项目依赖\")\r\n .option(\"-r, --registry <registry>\", \"npm 源地址,可以是 npm、taobao、tencent 或者自定义地址\")\r\n .option(\"-p, --proxy\", \"是否使用代理\")\r\n .action(async options => {\r\n setGlobalConfig(options)\r\n await upgradeWorkspaceDependceny()\r\n })\r\n\r\nprogram.command(\"registry\").description(\"设置 npm registry\").action(setRegistry)\r\n\r\nprogram\r\n .command(\"sort-package-json\")\r\n .alias(\"spj\")\r\n .description(\"对 package.json 中的依赖进行排序\")\r\n .action(actionWithBackup(sortPackageJson, getCommitMessage(CommitType.feature, \"对 package.json 中的依赖进行排序\")))\r\n\r\nprogram\r\n .command(\"arrow-to-function\")\r\n .alias(\"a2f\")\r\n .description(\"将箭头函数组件转换为函数组件\")\r\n .action(actionWithBackup(arrowToFunction, getCommitMessage(CommitType.feature, \"将箭头函数组件转换为函数组件\")))\r\n\r\nprogram\r\n .command(\"interface-to-type\")\r\n .alias(\"i2t\")\r\n .description(\"将 interface 转换为 type\")\r\n .action(actionWithBackup(interfaceToType, getCommitMessage(CommitType.feature, \"将 interface 转换为 type\")))\r\n\r\nprogram.command(\"gitignore\").description(\"添加 .gitignore 配置\").action(actionWithBackup(addGitignore))\r\n\r\nprogram.command(\"git-proxy\").alias(\"gp\").description(\"设置 git 代理\").action(setGitProxy)\r\n\r\nprogram.command(\"shell-proxy\").alias(\"sp\").description(\"设置 Shell 代理\").action(setShellProxy)\r\n\r\nprogram.command(\"download-software\").alias(\"ds\").description(\"下载最新版软件\").action(downloadLatestSoftware)\r\n\r\nprogram.command(\"vscode\").alias(\"vsc\").description(\"同步 VS Code 配置\").action(syncVscode)\r\n\r\nprogram.command(\"kill-port\").description(\"根据端口号杀死进程\").argument(\"port\", \"端口号\").action(killProcessByPort)\r\n\r\nprogram.command(\"rm-git\").argument(\"path\", \"要移除的文件或文件夹\").action(removeFileOrFolderFromGit)\r\n\r\nprogram.command(\"npm-download\").alias(\"nd\").description(\"下载 npm 包\").argument(\"name\", \"包名\").action(downloadNpm)\r\n\r\nprogram\r\n .command(\"prisma\")\r\n .description(\"添加 prisma 配置\")\r\n .action(actionWithBackup(() => addPrisma(), getCommitMessage(CommitType.feature, \"添加 prisma 配置\")))\r\n\r\nprogram.command(\"prisma-generate\").alias(\"pg\").description(\"生成 prisma client\").action(generatePrisma)\r\n\r\nprogram\r\n .command(\"antd\")\r\n .description(\"添加 antd 配置\")\r\n .action(actionWithBackup(addAntd, getCommitMessage(CommitType.feature, \"添加 antd 配置\")))\r\n\r\nprogram\r\n .command(\"init\")\r\n .description(\"初始化项目\")\r\n .action(actionWithBackup(initProject, getCommitMessage(CommitType.feature, \"初始化项目\")))\r\n\r\nprogram.command(\"tsc\").description(\"类型检查\").action(checkType)\r\n\r\nprogram.command(\"beta-version\").alias(\"bv\").description(\"设置版本号\").action(betaVersion)\r\n\r\nprogram\r\n .command(\"reinstall\")\r\n .alias(\"ri\")\r\n .description(\"重新安装依赖\")\r\n .option(\"-r, --registry <registry>\", \"npm 源地址,可以是 npm、taobao、tencent 或者自定义地址\")\r\n .action(async options => {\r\n setGlobalConfig(options)\r\n reinstall()\r\n })\r\n\r\nprogram.command(\"snippet\").alias(\"sn\").description(\"生成 vscode snippet\").argument(\"path\", \"文件路径\").action(code2Snippet)\r\n\r\nprogram.command(\"add-alias\").alias(\"aa\").description(\"添加路径别名\").action(actionWithBackup(addFolderPathAlias))\r\n\r\nprogram.command(\"replace-alias\").alias(\"ra\").description(\"替换路径别名\").action(actionWithBackup(replacePathAlias))\r\n\r\nprogram.command(\"pnpm\").description(\"设置 pnpm 配置\").action(pnpm)\r\n\r\nprogram.command(\"rollup\").description(\"rollup 打包\").action(rollup)\r\n\r\nprogram.command(\"browserlistrc\").alias(\"blr\").description(\"添加 browserlistrc 配置\").action(createBrowserlistrc)\r\n\r\nprogram\r\n .command(\"asset\")\r\n .description(\"替换文件中的资源地址\")\r\n .argument(\"input\", \"静态文件夹路径\")\r\n .option(\"-b, --base <base>\", \"资源地址 BaseUrl\")\r\n .option(\"-o, --output <output>\", \"输出文件夹\")\r\n .option(\"-p, --proxy\", \"是否使用代理\")\r\n .action((input, { proxy, base, output }) => replaceAssets({ base, input, proxy, output }))\r\n\r\nprogram\r\n .command(\"upgrade-rsbuild\")\r\n .alias(\"ur\")\r\n .description(\"升级 rsbuild\")\r\n .option(\"-r, --registry <registry>\", \"npm 源地址,可以是 npm、taobao、tencent 或者自定义地址\")\r\n .option(\"-p, --proxy\", \"是否使用代理\")\r\n .action(async options => {\r\n setGlobalConfig(options)\r\n await actionWithBackup(() => upgradeRsbuild())()\r\n })\r\n\r\nprogram\r\n .command(\"add-start-script\")\r\n .alias(\"ass\")\r\n .argument(\"type\", \"启动脚本类型:express、next\")\r\n .option(\"-p, --port <port>\", \"端口地址\")\r\n .option(\"-c, --core <core>\", \"实例数\")\r\n .option(\"-h, --hostname <hostname>\", \"主机名\")\r\n .option(\"-pem, --pemPath <pemPath>\", \"证书目录\")\r\n .description(\"添加 express 启动脚本\")\r\n .action(async (type, { port, core, pemPath }) => actionWithBackup(addStartScript)({ type, port, core, pemPath }))\r\n\r\nprogram.command(\"headers\").description(\"将浏览器中直接复制的 headers 转换为对象\").action(getHeaders)\r\n\r\nprogram\r\n .command(\"add-zip-dist\")\r\n .alias(\"azd\")\r\n .description(\"添加将 dist 压缩的脚本\")\r\n .action(actionWithBackup(() => addZipDist({ install: true })))\r\n\r\nprogram\r\n .command(\"upgrade-tailwind\")\r\n .alias(\"ut\")\r\n .description(\"升级 tailwind\")\r\n .option(\"-r, --registry <registry>\", \"npm 源地址,可以是 npm、taobao、tencent 或者自定义地址\")\r\n .option(\"-p, --proxy\", \"是否使用代理\")\r\n .action(async options => {\r\n setGlobalConfig(options)\r\n await actionWithBackup(() => upgradeTailwind())()\r\n })\r\n\r\nprogram.command(\"bun\").description(\"设置 bun\").action(setBun)\r\n\r\nprogram.command(\"tailwind-patch\").alias(\"tp\").description(\"tailwind 补丁\").action(tailwindPatch)\r\n\r\nprogram\r\n .command(\"remove-lock\")\r\n .alias(\"rl\")\r\n .description(\"删除 lock 文件\")\r\n .action(actionWithBackup(() => removeLock()))\r\n\r\nprogram\r\n .command(\"rename-commit-author\")\r\n .alias(\"rca\")\r\n .description(\"重写 Git 提交历史的作者信息\")\r\n .arguments(\"[infos...]\")\r\n .action(async (infos: string[]) => {\r\n let prev: CommitAuthor | undefined\r\n let next: CommitAuthor | undefined\r\n infos = infos.slice(0, 2)\r\n function getUsernameAndEmail(info: string): CommitAuthor {\r\n const index = info.indexOf(\":\")\r\n if (index === -1) {\r\n if (emailReg.test(info)) return { email: info }\r\n return { name: info }\r\n }\r\n return {\r\n name: info.slice(0, index),\r\n email: info.slice(index + 1),\r\n }\r\n }\r\n if (infos.length === 0) throw new Error(\"请输入作者信息!\")\r\n else if (infos.length === 1) next = getUsernameAndEmail(infos[0])\r\n else {\r\n prev = getUsernameAndEmail(infos[0])\r\n next = getUsernameAndEmail(infos[1])\r\n }\r\n await replaceCommitAuthor({ prev, next })\r\n })\r\n\r\nprogram.command(\"install-docker\").alias(\"id\").description(\"安装 Docker\").action(installDocker)\r\n\r\nprogram.command(\"set-docker-registry\").alias(\"sdr\").description(\"设置 Docker 镜像地址\").action(setDockerRegistry)\r\n\r\nprogram\r\n .command(\"add-sync\")\r\n .alias(\"asp\")\r\n .option(\"-m, --monorepo\", \"是否是 monorepo\")\r\n .description(\"添加同步包脚本\")\r\n .action(actionWithBackup(addSyncPackageScript))\r\n\r\nprogram\r\n .command(\"winget\")\r\n .option(\"-p, --proxy\", \"是否使用代理\")\r\n .description(\"使用 winget 更新软件\")\r\n .action(async options => {\r\n setGlobalConfig(options)\r\n await winget()\r\n })\r\n\r\nprogram\r\n .command(\"test\")\r\n .description(\"这是一个测试命令,生产环境中使用,非开发人员请勿使用!\")\r\n .action(async () => {\r\n consola.warn(\"这是一个测试命令,生产环境中使用,非开发人员请勿使用!\")\r\n consola.warn(\"这是一个测试命令,生产环境中使用,非开发人员请勿使用!\")\r\n consola.warn(\"这是一个测试命令,生产环境中使用,非开发人员请勿使用!\")\r\n await test()\r\n })\r\n\r\nprogram.command(\"sync-snippets\").alias(\"ss\").description(\"同步 vscode snippets\").action(syncSnippets)\r\n\r\nprogram.command(\"server-to-action\").alias(\"sta\").description(\"将 server 文件夹下的文件转换为 action\").action(serverToAction)\r\n\r\nprogram\r\n .command(\"tar\")\r\n .description(\"压缩文件\")\r\n .argument(\"input\", \"输入文件夹\")\r\n .option(\"-o, --output <output>\", \"输出文件\")\r\n .action(async (input, { output }) => tar({ input, output }))\r\n\r\nprogram.parse()\r\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["next", "consola"]
|
|
7
7
|
}
|
|
@@ -137,8 +137,12 @@ async function addPrettier() {
|
|
|
137
137
|
import_consola.default.start("开始添加 prettier 配置");
|
|
138
138
|
const packageJson = await (0, import_readPackageJson.readPackageJson)();
|
|
139
139
|
const tailwind = Object.keys(packageJson.dependencies ?? {}).includes("tailwindcss") || Object.keys(packageJson.devDependencies ?? {}).includes("tailwindcss");
|
|
140
|
-
|
|
141
|
-
|
|
140
|
+
let atAlias = false;
|
|
141
|
+
try {
|
|
142
|
+
const config = await (0, import_readTsConfig.readTsConfig)();
|
|
143
|
+
atAlias = Object.keys(config.compilerOptions?.paths ?? {}).some((path) => /^@[a-zA-Z]/.test(path));
|
|
144
|
+
} catch (error) {
|
|
145
|
+
}
|
|
142
146
|
const next = !!await (0, import_getDependcy.getDependcy)("next");
|
|
143
147
|
const react = !!await (0, import_getDependcy.getDependcy)("react");
|
|
144
148
|
await (0, import_promises.writeFile)("./prettier.config.mjs", getPrettierConfig({ tailwind, atAlias, next, react }), "utf-8");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/addPrettier.ts"],
|
|
4
|
-
"sourcesContent": ["import { writeFile } from \"fs/promises\"\r\nimport consola from \"consola\"\r\n\r\nimport { AddDependenciesConfig, addDependency } from \"./addDependency\"\r\nimport { getDependcy } from \"./getDependcy\"\r\nimport { installDependceny } from \"./installDependceny\"\r\nimport { readPackageJson } from \"./readPackageJson\"\r\nimport { readTsConfig } from \"./readTsConfig\"\r\nimport { writePackageJson } from \"./writePackageJson\"\r\n\r\n/**\r\n * prettier 配置生成器参数\r\n */\r\nexport type GetPrettierConfigParams = {\r\n /** 是否使用 tailwind */\r\n tailwind: boolean\r\n /** 是否使用了本地 @images 类似的别名 */\r\n atAlias: boolean\r\n /** 是否是 next 项目 */\r\n next: boolean\r\n /** 是否是 react 项目 */\r\n react: boolean\r\n}\r\n\r\n/**\r\n * 生成 prettier 配置文件内容\r\n * @param params 配置参数\r\n */\r\nexport function getPrettierConfig({ tailwind, atAlias, next, react }: GetPrettierConfigParams) {\r\n const plugins = [\"@ianvs/prettier-plugin-sort-imports\"]\r\n\r\n if (tailwind) plugins.push(\"prettier-plugin-tailwindcss\")\r\n\r\n const prettierConfigText = `// @ts-check\r\n${\r\n atAlias\r\n ? `\r\nimport { readFileSync } from \"fs\"`\r\n : \"\"\r\n}\r\nimport { parse } from \"path\"\r\nimport { globSync } from \"glob\"\r\n\r\n/**\r\n * 数组去重\r\n * @template T - 数组的元素类型\r\n * @param {T[]} array - 输入的数组\r\n * @return {T[]} 新数组\r\n */\r\nfunction unique(array) {\r\n return Array.from(new Set(array))\r\n}\r\n\r\nconst jsExts = [\".js\", \".jsx\", \".ts\", \".tsx\", \".cjs\", \".mjs\", \".cts\", \".mts\", \".vue\"]\r\n\r\nconst assetExts = unique(\r\n globSync(\"**/*\", { ignore: [\"node_modules/**\"${next ? `, \".next/**\"` : \"\"}], withFileTypes: true, cwd: import.meta.dirname })\r\n .filter(path => path.isFile() && !jsExts.some(ext => path.name.toLowerCase().endsWith(ext)))\r\n .map(path => parse(path.name).ext.slice(1))\r\n .filter(ext => ext !== \"\"),\r\n)\r\n\r\nconst assetExtsRegStr = \\`\\\\\\\\.(\\${assetExts.join(\"|\")}|\\${assetExts.join(\"|\").toUpperCase()})\\`\r\n\r\nconst assetQueryRegStr = \"(\\\\\\\\?[a-zA-Z0-9]+)?\"\r\n${\r\n atAlias\r\n ? `\r\nconst namespaces = unique(\r\n unique(\r\n globSync(\"**/package.json\", { withFileTypes: true, cwd: import.meta.dirname })\r\n .filter(path => path.isFile())\r\n .map(path => path.fullpath()),\r\n )\r\n .map(path => JSON.parse(readFileSync(path, \"utf8\")))\r\n .map(json =>\r\n Object.keys({\r\n ...json.dependencies,\r\n ...json.devDependencies,\r\n ...json.peerDependencies,\r\n ...json.optionalDependencies,\r\n }),\r\n )\r\n .flat()\r\n .filter(dep => dep.startsWith(\"@\"))\r\n .map(dep => dep.split(\"/\")[0].slice(1)),\r\n)\r\n`\r\n : \"\"\r\n}\r\nconst folders = unique(\r\n globSync(\"**/*\", { withFileTypes: true, cwd: import.meta.dirname, ignore: [\"node_modules/**\"${next ? `, \".next/**\"` : \"\"}] })\r\n .filter(path => path.isDirectory())\r\n .map(path => path.name),\r\n).sort()\r\n\r\n/**\r\n * @type {import(\"prettier\").Options}\r\n */\r\nconst config = {\r\n semi: false,\r\n tabWidth: 4,\r\n arrowParens: \"avoid\",\r\n printWidth: 160,\r\n plugins: [${plugins.map(plugin => `\"${plugin}\"`).join(\", \")}],\r\n importOrder: [${\r\n react\r\n ? `\r\n \"^react(/.+)?$\",\r\n \"^react-dom(/.+)?$\",\r\n \"^react-native(/.+)?$\",`\r\n : \"\"\r\n }\r\n \"<BUILTIN_MODULES>\",\r\n ${atAlias ? `\\`^@(\\${namespaces.join(\"|\")})/\\`,` : `\"^@[^/]\",`}\r\n \"<THIRD_PARTY_MODULES>\",\r\n ...folders.map(folder => [\"\", \\`^@/?\\${folder}(.+?(?<!\\${assetExtsRegStr}\\${assetQueryRegStr}))?$\\`]).flat(),\r\n \"\",\r\n \\`^@/.+?(?<!\\${assetExtsRegStr}\\${assetQueryRegStr})$\\`,\r\n \\`^\\\\\\\\.{1,2}/.+?(?<!\\${assetExtsRegStr}\\${assetQueryRegStr})$\\`,\r\n \"\",\r\n \\`^@/.+?\\${assetExtsRegStr}\\${assetQueryRegStr}$\\`,\r\n \\`^\\\\\\\\.{1,2}/.+?\\${assetExtsRegStr}\\${assetQueryRegStr}$\\`,\r\n ],\r\n importOrderParserPlugins: [\"typescript\", \"jsx\", \"decorators-legacy\"],\r\n importOrderTypeScriptVersion: \"5.0.0\",\r\n importOrderCaseSensitive: true,\r\n}\r\n\r\nexport default config\r\n`\r\n return prettierConfigText\r\n}\r\n\r\n/**\r\n * 添加 prettier 相关配置\r\n * 包括安装依赖、创建配置文件等\r\n */\r\nexport async function addPrettier() {\r\n consola.start(\"开始添加 prettier 配置\")\r\n const packageJson = await readPackageJson()\r\n const tailwind =\r\n Object.keys(packageJson.dependencies ?? {}).includes(\"tailwindcss\") || Object.keys(packageJson.devDependencies ?? {}).includes(\"tailwindcss\")\r\n const config = await readTsConfig()\r\n
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA0B;AAC1B,qBAAoB;AAEpB,2BAAqD;AACrD,yBAA4B;AAC5B,+BAAkC;AAClC,6BAAgC;AAChC,0BAA6B;AAC7B,8BAAiC;AAoB1B,SAAS,kBAAkB,EAAE,UAAU,SAAS,MAAM,MAAM,GAA4B;AAC3F,QAAM,UAAU,CAAC,qCAAqC;AAEtD,MAAI;AAAU,YAAQ,KAAK,6BAA6B;AAExD,QAAM,qBAAqB;AAAA,EAE3B,UACM;AAAA,qCAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mDAkByC,OAAO,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUvE,UACM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAqBA;AAAA;AAAA,kGAGwF,OAAO,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAa1G,QAAQ,IAAI,YAAU,IAAI,SAAS,EAAE,KAAK,IAAI;AAAA,oBAEtD,QACM;AAAA;AAAA;AAAA,mCAIA;AAAA;AAAA,UAGJ,UAAU,uCAAuC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBvD,SAAO;AACX;AAMA,eAAsB,cAAc;AAChC,iBAAAA,QAAQ,MAAM,kBAAkB;AAChC,QAAM,cAAc,UAAM,wCAAgB;AAC1C,QAAM,WACF,OAAO,KAAK,YAAY,gBAAgB,CAAC,CAAC,EAAE,SAAS,aAAa,KAAK,OAAO,KAAK,YAAY,mBAAmB,CAAC,CAAC,EAAE,SAAS,aAAa;AAChJ,
|
|
4
|
+
"sourcesContent": ["import { writeFile } from \"fs/promises\"\r\nimport consola from \"consola\"\r\n\r\nimport { AddDependenciesConfig, addDependency } from \"./addDependency\"\r\nimport { getDependcy } from \"./getDependcy\"\r\nimport { installDependceny } from \"./installDependceny\"\r\nimport { readPackageJson } from \"./readPackageJson\"\r\nimport { readTsConfig } from \"./readTsConfig\"\r\nimport { writePackageJson } from \"./writePackageJson\"\r\n\r\n/**\r\n * prettier 配置生成器参数\r\n */\r\nexport type GetPrettierConfigParams = {\r\n /** 是否使用 tailwind */\r\n tailwind: boolean\r\n /** 是否使用了本地 @images 类似的别名 */\r\n atAlias: boolean\r\n /** 是否是 next 项目 */\r\n next: boolean\r\n /** 是否是 react 项目 */\r\n react: boolean\r\n}\r\n\r\n/**\r\n * 生成 prettier 配置文件内容\r\n * @param params 配置参数\r\n */\r\nexport function getPrettierConfig({ tailwind, atAlias, next, react }: GetPrettierConfigParams) {\r\n const plugins = [\"@ianvs/prettier-plugin-sort-imports\"]\r\n\r\n if (tailwind) plugins.push(\"prettier-plugin-tailwindcss\")\r\n\r\n const prettierConfigText = `// @ts-check\r\n${\r\n atAlias\r\n ? `\r\nimport { readFileSync } from \"fs\"`\r\n : \"\"\r\n}\r\nimport { parse } from \"path\"\r\nimport { globSync } from \"glob\"\r\n\r\n/**\r\n * 数组去重\r\n * @template T - 数组的元素类型\r\n * @param {T[]} array - 输入的数组\r\n * @return {T[]} 新数组\r\n */\r\nfunction unique(array) {\r\n return Array.from(new Set(array))\r\n}\r\n\r\nconst jsExts = [\".js\", \".jsx\", \".ts\", \".tsx\", \".cjs\", \".mjs\", \".cts\", \".mts\", \".vue\"]\r\n\r\nconst assetExts = unique(\r\n globSync(\"**/*\", { ignore: [\"node_modules/**\"${next ? `, \".next/**\"` : \"\"}], withFileTypes: true, cwd: import.meta.dirname })\r\n .filter(path => path.isFile() && !jsExts.some(ext => path.name.toLowerCase().endsWith(ext)))\r\n .map(path => parse(path.name).ext.slice(1))\r\n .filter(ext => ext !== \"\"),\r\n)\r\n\r\nconst assetExtsRegStr = \\`\\\\\\\\.(\\${assetExts.join(\"|\")}|\\${assetExts.join(\"|\").toUpperCase()})\\`\r\n\r\nconst assetQueryRegStr = \"(\\\\\\\\?[a-zA-Z0-9]+)?\"\r\n${\r\n atAlias\r\n ? `\r\nconst namespaces = unique(\r\n unique(\r\n globSync(\"**/package.json\", { withFileTypes: true, cwd: import.meta.dirname })\r\n .filter(path => path.isFile())\r\n .map(path => path.fullpath()),\r\n )\r\n .map(path => JSON.parse(readFileSync(path, \"utf8\")))\r\n .map(json =>\r\n Object.keys({\r\n ...json.dependencies,\r\n ...json.devDependencies,\r\n ...json.peerDependencies,\r\n ...json.optionalDependencies,\r\n }),\r\n )\r\n .flat()\r\n .filter(dep => dep.startsWith(\"@\"))\r\n .map(dep => dep.split(\"/\")[0].slice(1)),\r\n)\r\n`\r\n : \"\"\r\n}\r\nconst folders = unique(\r\n globSync(\"**/*\", { withFileTypes: true, cwd: import.meta.dirname, ignore: [\"node_modules/**\"${next ? `, \".next/**\"` : \"\"}] })\r\n .filter(path => path.isDirectory())\r\n .map(path => path.name),\r\n).sort()\r\n\r\n/**\r\n * @type {import(\"prettier\").Options}\r\n */\r\nconst config = {\r\n semi: false,\r\n tabWidth: 4,\r\n arrowParens: \"avoid\",\r\n printWidth: 160,\r\n plugins: [${plugins.map(plugin => `\"${plugin}\"`).join(\", \")}],\r\n importOrder: [${\r\n react\r\n ? `\r\n \"^react(/.+)?$\",\r\n \"^react-dom(/.+)?$\",\r\n \"^react-native(/.+)?$\",`\r\n : \"\"\r\n }\r\n \"<BUILTIN_MODULES>\",\r\n ${atAlias ? `\\`^@(\\${namespaces.join(\"|\")})/\\`,` : `\"^@[^/]\",`}\r\n \"<THIRD_PARTY_MODULES>\",\r\n ...folders.map(folder => [\"\", \\`^@/?\\${folder}(.+?(?<!\\${assetExtsRegStr}\\${assetQueryRegStr}))?$\\`]).flat(),\r\n \"\",\r\n \\`^@/.+?(?<!\\${assetExtsRegStr}\\${assetQueryRegStr})$\\`,\r\n \\`^\\\\\\\\.{1,2}/.+?(?<!\\${assetExtsRegStr}\\${assetQueryRegStr})$\\`,\r\n \"\",\r\n \\`^@/.+?\\${assetExtsRegStr}\\${assetQueryRegStr}$\\`,\r\n \\`^\\\\\\\\.{1,2}/.+?\\${assetExtsRegStr}\\${assetQueryRegStr}$\\`,\r\n ],\r\n importOrderParserPlugins: [\"typescript\", \"jsx\", \"decorators-legacy\"],\r\n importOrderTypeScriptVersion: \"5.0.0\",\r\n importOrderCaseSensitive: true,\r\n}\r\n\r\nexport default config\r\n`\r\n return prettierConfigText\r\n}\r\n\r\n/**\r\n * 添加 prettier 相关配置\r\n * 包括安装依赖、创建配置文件等\r\n */\r\nexport async function addPrettier() {\r\n consola.start(\"开始添加 prettier 配置\")\r\n const packageJson = await readPackageJson()\r\n const tailwind =\r\n Object.keys(packageJson.dependencies ?? {}).includes(\"tailwindcss\") || Object.keys(packageJson.devDependencies ?? {}).includes(\"tailwindcss\")\r\n let atAlias = false\r\n try {\r\n const config = await readTsConfig()\r\n atAlias = Object.keys(config.compilerOptions?.paths ?? {}).some(path => /^@[a-zA-Z]/.test(path))\r\n } catch (error) {}\r\n const next = !!(await getDependcy(\"next\"))\r\n const react = !!(await getDependcy(\"react\"))\r\n await writeFile(\"./prettier.config.mjs\", getPrettierConfig({ tailwind, atAlias, next, react }), \"utf-8\")\r\n const config2: AddDependenciesConfig = {\r\n package: [\"prettier\", \"@ianvs/prettier-plugin-sort-imports\", \"glob\"],\r\n type: \"devDependencies\",\r\n }\r\n if (tailwind) (config2.package as string[]).push(\"prettier-plugin-tailwindcss\")\r\n await addDependency(config2)\r\n const packageJson2 = await readPackageJson()\r\n packageJson2.scripts ??= {}\r\n packageJson2.scripts.lint = \"prettier --write .\"\r\n await writePackageJson({ data: packageJson2 })\r\n await installDependceny()\r\n consola.success(\"添加 prettier 配置成功\")\r\n}\r\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA0B;AAC1B,qBAAoB;AAEpB,2BAAqD;AACrD,yBAA4B;AAC5B,+BAAkC;AAClC,6BAAgC;AAChC,0BAA6B;AAC7B,8BAAiC;AAoB1B,SAAS,kBAAkB,EAAE,UAAU,SAAS,MAAM,MAAM,GAA4B;AAC3F,QAAM,UAAU,CAAC,qCAAqC;AAEtD,MAAI;AAAU,YAAQ,KAAK,6BAA6B;AAExD,QAAM,qBAAqB;AAAA,EAE3B,UACM;AAAA,qCAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mDAkByC,OAAO,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUvE,UACM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAqBA;AAAA;AAAA,kGAGwF,OAAO,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAa1G,QAAQ,IAAI,YAAU,IAAI,SAAS,EAAE,KAAK,IAAI;AAAA,oBAEtD,QACM;AAAA;AAAA;AAAA,mCAIA;AAAA;AAAA,UAGJ,UAAU,uCAAuC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBvD,SAAO;AACX;AAMA,eAAsB,cAAc;AAChC,iBAAAA,QAAQ,MAAM,kBAAkB;AAChC,QAAM,cAAc,UAAM,wCAAgB;AAC1C,QAAM,WACF,OAAO,KAAK,YAAY,gBAAgB,CAAC,CAAC,EAAE,SAAS,aAAa,KAAK,OAAO,KAAK,YAAY,mBAAmB,CAAC,CAAC,EAAE,SAAS,aAAa;AAChJ,MAAI,UAAU;AACd,MAAI;AACA,UAAM,SAAS,UAAM,kCAAa;AAClC,cAAU,OAAO,KAAK,OAAO,iBAAiB,SAAS,CAAC,CAAC,EAAE,KAAK,UAAQ,aAAa,KAAK,IAAI,CAAC;AAAA,EACnG,SAAS,OAAP;AAAA,EAAe;AACjB,QAAM,OAAO,CAAC,CAAE,UAAM,gCAAY,MAAM;AACxC,QAAM,QAAQ,CAAC,CAAE,UAAM,gCAAY,OAAO;AAC1C,YAAM,2BAAU,yBAAyB,kBAAkB,EAAE,UAAU,SAAS,MAAM,MAAM,CAAC,GAAG,OAAO;AACvG,QAAM,UAAiC;AAAA,IACnC,SAAS,CAAC,YAAY,uCAAuC,MAAM;AAAA,IACnE,MAAM;AAAA,EACV;AACA,MAAI;AAAU,IAAC,QAAQ,QAAqB,KAAK,6BAA6B;AAC9E,YAAM,oCAAc,OAAO;AAC3B,QAAM,eAAe,UAAM,wCAAgB;AAC3C,eAAa,YAAY,CAAC;AAC1B,eAAa,QAAQ,OAAO;AAC5B,YAAM,0CAAiB,EAAE,MAAM,aAAa,CAAC;AAC7C,YAAM,4CAAkB;AACxB,iBAAAA,QAAQ,QAAQ,kBAAkB;AACtC;",
|
|
6
6
|
"names": ["consola"]
|
|
7
7
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function serverToAction(): Promise<void>;
|
|
@@ -0,0 +1,55 @@
|
|
|
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/serverToAction.ts
|
|
20
|
+
var serverToAction_exports = {};
|
|
21
|
+
__export(serverToAction_exports, {
|
|
22
|
+
serverToAction: () => serverToAction
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(serverToAction_exports);
|
|
25
|
+
var import_promises = require("fs/promises");
|
|
26
|
+
var import_path = require("path");
|
|
27
|
+
async function serverToAction() {
|
|
28
|
+
const dir = await (0, import_promises.readdir)("server");
|
|
29
|
+
await (0, import_promises.rm)("actions", { recursive: true, force: true });
|
|
30
|
+
const actions = dir.filter((item) => item.toLowerCase().endsWith(".ts"));
|
|
31
|
+
await (0, import_promises.mkdir)("actions", { recursive: true });
|
|
32
|
+
await Promise.all(
|
|
33
|
+
actions.map(async (item) => {
|
|
34
|
+
const base = item.replace(/\.ts$/i, "");
|
|
35
|
+
await (0, import_promises.writeFile)(
|
|
36
|
+
(0, import_path.join)("actions", item),
|
|
37
|
+
`"use server"
|
|
38
|
+
|
|
39
|
+
import { ${base} } from "@/server/${base}"
|
|
40
|
+
|
|
41
|
+
import { getDataResponse } from "@/utils/getDataResponse"
|
|
42
|
+
|
|
43
|
+
export async function ${base}Action(...args: Parameters<typeof ${base}>) {
|
|
44
|
+
return await getDataResponse(${base}, ...args)
|
|
45
|
+
}
|
|
46
|
+
`
|
|
47
|
+
);
|
|
48
|
+
})
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
52
|
+
0 && (module.exports = {
|
|
53
|
+
serverToAction
|
|
54
|
+
});
|
|
55
|
+
//# sourceMappingURL=serverToAction.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/utils/serverToAction.ts"],
|
|
4
|
+
"sourcesContent": ["import { mkdir, readdir, rm, writeFile } from \"fs/promises\"\r\nimport { join } from \"path\"\r\n\r\nexport async function serverToAction() {\r\n const dir = await readdir(\"server\")\r\n await rm(\"actions\", { recursive: true, force: true })\r\n const actions = dir.filter(item => item.toLowerCase().endsWith(\".ts\"))\r\n await mkdir(\"actions\", { recursive: true })\r\n await Promise.all(\r\n actions.map(async item => {\r\n const base = item.replace(/\\.ts$/i, \"\")\r\n await writeFile(\r\n join(\"actions\", item),\r\n `\"use server\"\r\n\r\nimport { ${base} } from \"@/server/${base}\"\r\n\r\nimport { getDataResponse } from \"@/utils/getDataResponse\"\r\n\r\nexport async function ${base}Action(...args: Parameters<typeof ${base}>) {\r\n return await getDataResponse(${base}, ...args)\r\n}\r\n`,\r\n )\r\n }),\r\n )\r\n}\r\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA8C;AAC9C,kBAAqB;AAErB,eAAsB,iBAAiB;AACnC,QAAM,MAAM,UAAM,yBAAQ,QAAQ;AAClC,YAAM,oBAAG,WAAW,EAAE,WAAW,MAAM,OAAO,KAAK,CAAC;AACpD,QAAM,UAAU,IAAI,OAAO,UAAQ,KAAK,YAAY,EAAE,SAAS,KAAK,CAAC;AACrE,YAAM,uBAAM,WAAW,EAAE,WAAW,KAAK,CAAC;AAC1C,QAAM,QAAQ;AAAA,IACV,QAAQ,IAAI,OAAM,SAAQ;AACtB,YAAM,OAAO,KAAK,QAAQ,UAAU,EAAE;AACtC,gBAAM;AAAA,YACF,kBAAK,WAAW,IAAI;AAAA,QACpB;AAAA;AAAA,WAEL,yBAAyB;AAAA;AAAA;AAAA;AAAA,wBAIZ,yCAAyC;AAAA,mCAC9B;AAAA;AAAA;AAAA,MAGvB;AAAA,IACJ,CAAC;AAAA,EACL;AACJ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
|
|
29
|
+
// src/utils/tar.ts
|
|
30
|
+
var tar_exports = {};
|
|
31
|
+
__export(tar_exports, {
|
|
32
|
+
tar: () => tar
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(tar_exports);
|
|
35
|
+
var import_fs = require("fs");
|
|
36
|
+
var import_soda_nodejs = require("soda-nodejs");
|
|
37
|
+
async function tar({ input, output }) {
|
|
38
|
+
output = `${input}.tar.gz`;
|
|
39
|
+
if ((0, import_fs.existsSync)(output)) {
|
|
40
|
+
const { default: inquirer } = await import("inquirer");
|
|
41
|
+
const { overwrite } = await inquirer.prompt({
|
|
42
|
+
type: "confirm",
|
|
43
|
+
name: "overwrite",
|
|
44
|
+
message: "文件已存在,是否覆盖"
|
|
45
|
+
});
|
|
46
|
+
if (!overwrite)
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
await (0, import_soda_nodejs.compress)({ input, output });
|
|
50
|
+
}
|
|
51
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
52
|
+
0 && (module.exports = {
|
|
53
|
+
tar
|
|
54
|
+
});
|
|
55
|
+
//# sourceMappingURL=tar.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/utils/tar.ts"],
|
|
4
|
+
"sourcesContent": ["import { existsSync } from \"fs\"\r\nimport { compress } from \"soda-nodejs\"\r\n\r\nexport interface TarParams {\r\n input: string\r\n output?: string\r\n}\r\n\r\nexport async function tar({ input, output }: TarParams) {\r\n output = `${input}.tar.gz`\r\n if (existsSync(output)) {\r\n const { default: inquirer } = await import(\"inquirer\")\r\n interface Answer {\r\n overwrite: boolean\r\n }\r\n const { overwrite } = await inquirer.prompt<Answer>({\r\n type: \"confirm\",\r\n name: \"overwrite\",\r\n message: \"文件已存在,是否覆盖\",\r\n })\r\n if (!overwrite) return\r\n }\r\n await compress({ input, output })\r\n}\r\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAA2B;AAC3B,yBAAyB;AAOzB,eAAsB,IAAI,EAAE,OAAO,OAAO,GAAc;AACpD,WAAS,GAAG;AACZ,UAAI,sBAAW,MAAM,GAAG;AACpB,UAAM,EAAE,SAAS,SAAS,IAAI,MAAM,OAAO,UAAU;AAIrD,UAAM,EAAE,UAAU,IAAI,MAAM,SAAS,OAAe;AAAA,MAChD,MAAM;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACb,CAAC;AACD,QAAI,CAAC;AAAW;AAAA,EACpB;AACA,YAAM,6BAAS,EAAE,OAAO,OAAO,CAAC;AACpC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/package.json
CHANGED
|
@@ -1,66 +1,66 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "zixulu",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"main": "dist/index.js",
|
|
5
|
-
"types": "dist/index.d.ts",
|
|
6
|
-
"bin": {
|
|
7
|
-
"zixulu": "dist/index.js"
|
|
8
|
-
},
|
|
9
|
-
"scripts": {
|
|
10
|
-
"dev": "father dev",
|
|
11
|
-
"build": "father build",
|
|
12
|
-
"build:deps": "father prebundle",
|
|
13
|
-
"prepublishOnly": "father doctor && npm run build",
|
|
14
|
-
"postpublish": "npm run sync",
|
|
15
|
-
"lint": "prettier --write .",
|
|
16
|
-
"sync": "node scripts/syncPackage.mjs"
|
|
17
|
-
},
|
|
18
|
-
"keywords": [],
|
|
19
|
-
"authors": [],
|
|
20
|
-
"license": "MIT",
|
|
21
|
-
"files": [
|
|
22
|
-
"compiled",
|
|
23
|
-
"dist",
|
|
24
|
-
"src"
|
|
25
|
-
],
|
|
26
|
-
"publishConfig": {
|
|
27
|
-
"access": "public",
|
|
28
|
-
"registry": "https://registry.npmjs.org/"
|
|
29
|
-
},
|
|
30
|
-
"repository": {
|
|
31
|
-
"type": "git",
|
|
32
|
-
"url": "git+https://github.com/1adybug/zixulu.git"
|
|
33
|
-
},
|
|
34
|
-
"dependencies": {
|
|
35
|
-
"@iarna/toml": "^3.0.0",
|
|
36
|
-
"clipboardy": "^4.0.0",
|
|
37
|
-
"commander": "^12.1.0",
|
|
38
|
-
"consola": "^3.
|
|
39
|
-
"dayjs": "^1.11.13",
|
|
40
|
-
"deepsea-tools": "^5.
|
|
41
|
-
"https-proxy-agent": "^7.0.6",
|
|
42
|
-
"inquirer": "^9.3.7",
|
|
43
|
-
"jsdom": "^25.0.1",
|
|
44
|
-
"json5": "^2.2.3",
|
|
45
|
-
"md5": "^2.3.0",
|
|
46
|
-
"node-fetch": "^3.3.2",
|
|
47
|
-
"simple-git": "^3.27.0",
|
|
48
|
-
"soda-nodejs": "^0.
|
|
49
|
-
"yaml": "^2.
|
|
50
|
-
},
|
|
51
|
-
"devDependencies": {
|
|
52
|
-
"@ianvs/prettier-plugin-sort-imports": "^4.4.
|
|
53
|
-
"@types/inquirer": "^9.0.7",
|
|
54
|
-
"@types/jsdom": "^21.1.7",
|
|
55
|
-
"@types/md5": "^2.3.5",
|
|
56
|
-
"@types/node": "^22.10.
|
|
57
|
-
"father": "^4.5.
|
|
58
|
-
"glob": "^11.0.
|
|
59
|
-
"prettier": "^3.4.2",
|
|
60
|
-
"typescript": "^5.7.
|
|
61
|
-
},
|
|
62
|
-
"resolutions": {
|
|
63
|
-
"string-width": "^4",
|
|
64
|
-
"strip-ansi": "^6"
|
|
65
|
-
}
|
|
66
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "zixulu",
|
|
3
|
+
"version": "1.57.0",
|
|
4
|
+
"main": "dist/index.js",
|
|
5
|
+
"types": "dist/index.d.ts",
|
|
6
|
+
"bin": {
|
|
7
|
+
"zixulu": "dist/index.js"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"dev": "father dev",
|
|
11
|
+
"build": "father build",
|
|
12
|
+
"build:deps": "father prebundle",
|
|
13
|
+
"prepublishOnly": "father doctor && npm run build",
|
|
14
|
+
"postpublish": "npm run sync",
|
|
15
|
+
"lint": "prettier --write .",
|
|
16
|
+
"sync": "node scripts/syncPackage.mjs"
|
|
17
|
+
},
|
|
18
|
+
"keywords": [],
|
|
19
|
+
"authors": [],
|
|
20
|
+
"license": "MIT",
|
|
21
|
+
"files": [
|
|
22
|
+
"compiled",
|
|
23
|
+
"dist",
|
|
24
|
+
"src"
|
|
25
|
+
],
|
|
26
|
+
"publishConfig": {
|
|
27
|
+
"access": "public",
|
|
28
|
+
"registry": "https://registry.npmjs.org/"
|
|
29
|
+
},
|
|
30
|
+
"repository": {
|
|
31
|
+
"type": "git",
|
|
32
|
+
"url": "git+https://github.com/1adybug/zixulu.git"
|
|
33
|
+
},
|
|
34
|
+
"dependencies": {
|
|
35
|
+
"@iarna/toml": "^3.0.0",
|
|
36
|
+
"clipboardy": "^4.0.0",
|
|
37
|
+
"commander": "^12.1.0",
|
|
38
|
+
"consola": "^3.4.0",
|
|
39
|
+
"dayjs": "^1.11.13",
|
|
40
|
+
"deepsea-tools": "^5.16.7",
|
|
41
|
+
"https-proxy-agent": "^7.0.6",
|
|
42
|
+
"inquirer": "^9.3.7",
|
|
43
|
+
"jsdom": "^25.0.1",
|
|
44
|
+
"json5": "^2.2.3",
|
|
45
|
+
"md5": "^2.3.0",
|
|
46
|
+
"node-fetch": "^3.3.2",
|
|
47
|
+
"simple-git": "^3.27.0",
|
|
48
|
+
"soda-nodejs": "^0.6.0",
|
|
49
|
+
"yaml": "^2.7.0"
|
|
50
|
+
},
|
|
51
|
+
"devDependencies": {
|
|
52
|
+
"@ianvs/prettier-plugin-sort-imports": "^4.4.1",
|
|
53
|
+
"@types/inquirer": "^9.0.7",
|
|
54
|
+
"@types/jsdom": "^21.1.7",
|
|
55
|
+
"@types/md5": "^2.3.5",
|
|
56
|
+
"@types/node": "^22.10.7",
|
|
57
|
+
"father": "^4.5.2",
|
|
58
|
+
"glob": "^11.0.1",
|
|
59
|
+
"prettier": "^3.4.2",
|
|
60
|
+
"typescript": "^5.7.3"
|
|
61
|
+
},
|
|
62
|
+
"resolutions": {
|
|
63
|
+
"string-width": "^4",
|
|
64
|
+
"strip-ansi": "^6"
|
|
65
|
+
}
|
|
66
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { resolve } from "path"
|
|
2
3
|
import { Command } from "commander"
|
|
3
4
|
import consola from "consola"
|
|
4
5
|
import { emailReg } from "deepsea-tools"
|
|
5
|
-
import { resolve } from "path"
|
|
6
6
|
import { setDefaultOptions } from "soda-nodejs"
|
|
7
7
|
|
|
8
8
|
import { CommitType } from "@constant/index"
|
|
@@ -52,11 +52,13 @@ import { readPackageJsonSync } from "./utils/readPackageJsonSync"
|
|
|
52
52
|
import { removeLock } from "./utils/removeLock"
|
|
53
53
|
import { replaceAssets } from "./utils/replaceAssets"
|
|
54
54
|
import { CommitAuthor, replaceCommitAuthor } from "./utils/replaceCommitAuthor"
|
|
55
|
+
import { serverToAction } from "./utils/serverToAction"
|
|
55
56
|
import { setBun } from "./utils/setBun"
|
|
56
57
|
import { setDockerRegistry } from "./utils/setDockerRegistry"
|
|
57
58
|
import { setGlobalConfig } from "./utils/setGlobalConfig"
|
|
58
59
|
import { syncSnippets } from "./utils/syncSnippets"
|
|
59
60
|
import { tailwindPatch } from "./utils/tailwindPatch"
|
|
61
|
+
import { tar } from "./utils/tar"
|
|
60
62
|
import { test } from "./utils/test"
|
|
61
63
|
import { upgradeRsbuild } from "./utils/upgradeRsbuild"
|
|
62
64
|
import { upgradeTailwind } from "./utils/upgradeTailwind"
|
|
@@ -338,4 +340,13 @@ program
|
|
|
338
340
|
|
|
339
341
|
program.command("sync-snippets").alias("ss").description("同步 vscode snippets").action(syncSnippets)
|
|
340
342
|
|
|
343
|
+
program.command("server-to-action").alias("sta").description("将 server 文件夹下的文件转换为 action").action(serverToAction)
|
|
344
|
+
|
|
345
|
+
program
|
|
346
|
+
.command("tar")
|
|
347
|
+
.description("压缩文件")
|
|
348
|
+
.argument("input", "输入文件夹")
|
|
349
|
+
.option("-o, --output <output>", "输出文件")
|
|
350
|
+
.action(async (input, { output }) => tar({ input, output }))
|
|
351
|
+
|
|
341
352
|
program.parse()
|
package/src/utils/addPrettier.ts
CHANGED
|
@@ -141,8 +141,11 @@ export async function addPrettier() {
|
|
|
141
141
|
const packageJson = await readPackageJson()
|
|
142
142
|
const tailwind =
|
|
143
143
|
Object.keys(packageJson.dependencies ?? {}).includes("tailwindcss") || Object.keys(packageJson.devDependencies ?? {}).includes("tailwindcss")
|
|
144
|
-
|
|
145
|
-
|
|
144
|
+
let atAlias = false
|
|
145
|
+
try {
|
|
146
|
+
const config = await readTsConfig()
|
|
147
|
+
atAlias = Object.keys(config.compilerOptions?.paths ?? {}).some(path => /^@[a-zA-Z]/.test(path))
|
|
148
|
+
} catch (error) {}
|
|
146
149
|
const next = !!(await getDependcy("next"))
|
|
147
150
|
const react = !!(await getDependcy("react"))
|
|
148
151
|
await writeFile("./prettier.config.mjs", getPrettierConfig({ tailwind, atAlias, next, react }), "utf-8")
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { mkdir, readdir, rm, writeFile } from "fs/promises"
|
|
2
|
+
import { join } from "path"
|
|
3
|
+
|
|
4
|
+
export async function serverToAction() {
|
|
5
|
+
const dir = await readdir("server")
|
|
6
|
+
await rm("actions", { recursive: true, force: true })
|
|
7
|
+
const actions = dir.filter(item => item.toLowerCase().endsWith(".ts"))
|
|
8
|
+
await mkdir("actions", { recursive: true })
|
|
9
|
+
await Promise.all(
|
|
10
|
+
actions.map(async item => {
|
|
11
|
+
const base = item.replace(/\.ts$/i, "")
|
|
12
|
+
await writeFile(
|
|
13
|
+
join("actions", item),
|
|
14
|
+
`"use server"
|
|
15
|
+
|
|
16
|
+
import { ${base} } from "@/server/${base}"
|
|
17
|
+
|
|
18
|
+
import { getDataResponse } from "@/utils/getDataResponse"
|
|
19
|
+
|
|
20
|
+
export async function ${base}Action(...args: Parameters<typeof ${base}>) {
|
|
21
|
+
return await getDataResponse(${base}, ...args)
|
|
22
|
+
}
|
|
23
|
+
`,
|
|
24
|
+
)
|
|
25
|
+
}),
|
|
26
|
+
)
|
|
27
|
+
}
|
package/src/utils/tar.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { existsSync } from "fs"
|
|
2
|
+
import { compress } from "soda-nodejs"
|
|
3
|
+
|
|
4
|
+
export interface TarParams {
|
|
5
|
+
input: string
|
|
6
|
+
output?: string
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export async function tar({ input, output }: TarParams) {
|
|
10
|
+
output = `${input}.tar.gz`
|
|
11
|
+
if (existsSync(output)) {
|
|
12
|
+
const { default: inquirer } = await import("inquirer")
|
|
13
|
+
interface Answer {
|
|
14
|
+
overwrite: boolean
|
|
15
|
+
}
|
|
16
|
+
const { overwrite } = await inquirer.prompt<Answer>({
|
|
17
|
+
type: "confirm",
|
|
18
|
+
name: "overwrite",
|
|
19
|
+
message: "文件已存在,是否覆盖",
|
|
20
|
+
})
|
|
21
|
+
if (!overwrite) return
|
|
22
|
+
}
|
|
23
|
+
await compress({ input, output })
|
|
24
|
+
}
|