zixulu 1.31.2 → 1.32.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 +7 -4
- package/dist/index.js.map +2 -2
- package/dist/utils/addPathAlias.js +170 -0
- package/dist/utils/addPathAlias.js.map +7 -0
- package/dist/utils/downloadLatestSoftware.js +1 -1
- package/dist/utils/downloadLatestSoftware.js.map +2 -2
- package/dist/utils/getRelativePath.js +37 -0
- package/dist/utils/getRelativePath.js.map +7 -0
- package/dist/utils/getTsFile.js +71 -0
- package/dist/utils/getTsFile.js.map +7 -0
- package/dist/utils/hasChangeNoCommit.js +34 -0
- package/dist/utils/hasChangeNoCommit.js.map +7 -0
- package/dist/utils/index.js +7 -7
- package/dist/utils/index.js.map +2 -2
- package/dist/utils/initProject.js +1 -1
- package/dist/utils/initProject.js.map +2 -2
- package/dist/utils/setRegistry.js +1 -1
- package/dist/utils/setRegistry.js.map +1 -1
- package/dist/utils/upgradeDependcy.js +1 -1
- package/dist/utils/upgradeDependcy.js.map +2 -2
- package/package.json +1 -1
- package/src/index.ts +36 -31
- package/src/utils/addPathAlias.ts +141 -0
- package/src/utils/downloadLatestSoftware.ts +1 -1
- package/src/utils/getRelativePath.ts +6 -0
- package/src/utils/getTsFile.ts +48 -0
- package/src/utils/hasChangeNoCommit.ts +6 -0
- package/src/utils/index.ts +7 -7
- package/src/utils/initProject.ts +1 -1
- package/src/utils/setRegistry.ts +1 -1
- package/src/utils/upgradeDependcy.ts +1 -1
- package/dist/utils/addPathAlidas.js +0 -69
- package/dist/utils/addPathAlidas.js.map +0 -7
- package/src/utils/addPathAlidas.ts +0 -31
package/dist/index.js
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
// src/index.ts
|
|
4
|
-
var
|
|
5
|
-
var import_path = require("path");
|
|
6
|
-
var import_constant = require("./constant");
|
|
7
|
-
var import_utils = require("./utils");
|
|
4
|
+
var import_constant = require("./constant/index");
|
|
8
5
|
var import_addAntd = require("./utils/addAntd");
|
|
9
6
|
var import_addGitignore = require("./utils/addGitignore");
|
|
7
|
+
var import_addPathAlias = require("./utils/addPathAlias");
|
|
10
8
|
var import_addPrettier = require("./utils/addPrettier");
|
|
11
9
|
var import_addPrisma = require("./utils/addPrisma");
|
|
12
10
|
var import_addTailwind = require("./utils/addTailwind");
|
|
@@ -17,6 +15,7 @@ var import_code2Snippet = require("./utils/code2Snippet");
|
|
|
17
15
|
var import_downloadLatestSoftware = require("./utils/downloadLatestSoftware");
|
|
18
16
|
var import_downloadNpm = require("./utils/downloadNpm");
|
|
19
17
|
var import_generatePrisma = require("./utils/generatePrisma");
|
|
18
|
+
var import_utils = require("./utils/index");
|
|
20
19
|
var import_initProject = require("./utils/initProject");
|
|
21
20
|
var import_interfaceToType = require("./utils/interfaceToType");
|
|
22
21
|
var import_killProcessByPort = require("./utils/killProcessByPort");
|
|
@@ -34,6 +33,8 @@ var import_sortPackageJson = require("./utils/sortPackageJson");
|
|
|
34
33
|
var import_syncVscode = require("./utils/syncVscode");
|
|
35
34
|
var import_upgradeDependcy = require("./utils/upgradeDependcy");
|
|
36
35
|
var import_vite = require("./utils/vite");
|
|
36
|
+
var import_commander = require("commander");
|
|
37
|
+
var import_path = require("path");
|
|
37
38
|
var program = new import_commander.Command();
|
|
38
39
|
var pkg = (0, import_utils.readPackageJsonSync)((0, import_path.resolve)(__dirname, "../"));
|
|
39
40
|
program.name("格数科技").version(pkg.version);
|
|
@@ -66,5 +67,7 @@ program.command("tsc").description("类型检查").action(import_checkType.check
|
|
|
66
67
|
program.command("beta-version").alias("bv").description("设置版本号").action(import_betaVersion.betaVersion);
|
|
67
68
|
program.command("reinstall").alias("re").description("重新安装依赖").argument("name", "包名").action(import_reinstall.reinstall);
|
|
68
69
|
program.command("snippet").alias("sn").description("生成 vscode snippet").argument("path", "文件路径").action(import_code2Snippet.code2Snippet);
|
|
70
|
+
program.command("add-alias").alias("aa").description("添加路径别名").action(import_addPathAlias.addFolderPathAlias);
|
|
71
|
+
program.command("replace-alias").alias("ra").description("替换路径别名").action((0, import_utils.actionWithBackup)(import_addPathAlias.replacePathAlias));
|
|
69
72
|
program.parse();
|
|
70
73
|
//# 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\n\r\nimport {
|
|
5
|
-
"mappings": ";;;AAEA,
|
|
4
|
+
"sourcesContent": ["#!/usr/bin/env node\r\n\r\nimport { CommitType } from \"@constant/index\"\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 { addTailwind } from \"@utils/addTailwind\"\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 { actionWithBackup, getCommitMessage, readPackageJsonSync } from \"@utils/index\"\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 { reinstall } from \"@utils/reinstall\"\r\nimport { removeComment } from \"@utils/removeComment\"\r\nimport { removeESLint } from \"@utils/removeESLint\"\r\nimport { removeFileOrFolderFromGit } from \"@utils/removeFileOrFolderFromGit\"\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 { upgradeDependency } from \"@utils/upgradeDependcy\"\r\nimport { vite } from \"@utils/vite\"\r\nimport { Command } from \"commander\"\r\nimport { resolve } from \"path\"\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(addTailwind, 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.command(\"upgrade-dependency\").alias(\"ud\").description(\"升级项目依赖\").action(actionWithBackup(upgradeDependency))\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\r\n .command(\"gitignore\")\r\n .description(\"添加 .gitignore 配置\")\r\n .action(actionWithBackup(addGitignore, getCommitMessage(CommitType.feature, \"添加 .gitignore 配置\")))\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.command(\"reinstall\").alias(\"re\").description(\"重新安装依赖\").argument(\"name\", \"包名\").action(reinstall)\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(addFolderPathAlias)\r\n\r\nprogram.command(\"replace-alias\").alias(\"ra\").description(\"替换路径别名\").action(actionWithBackup(replacePathAlias))\r\n\r\nprogram.parse()\r\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,170 @@
|
|
|
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/addPathAlias.ts
|
|
30
|
+
var addPathAlias_exports = {};
|
|
31
|
+
__export(addPathAlias_exports, {
|
|
32
|
+
addFolderPathAlias: () => addFolderPathAlias,
|
|
33
|
+
addPathAlias: () => addPathAlias,
|
|
34
|
+
getPathAlias: () => getPathAlias,
|
|
35
|
+
replacePathAlias: () => replacePathAlias
|
|
36
|
+
});
|
|
37
|
+
module.exports = __toCommonJS(addPathAlias_exports);
|
|
38
|
+
var import_constant = require("../constant");
|
|
39
|
+
var import_promises = require("fs/promises");
|
|
40
|
+
var import_path = require("path");
|
|
41
|
+
var import__ = require(".");
|
|
42
|
+
var import_getRelativePath = require("./getRelativePath");
|
|
43
|
+
var import_getTsFile = require("./getTsFile");
|
|
44
|
+
var import_readTsConfig = require("./readTsConfig");
|
|
45
|
+
var import_writeTsConfig = require("./writeTsConfig");
|
|
46
|
+
async function getPathAlias(name) {
|
|
47
|
+
const { default: inquirer } = await import("inquirer");
|
|
48
|
+
const folder = await (0, import__.getFiles)({
|
|
49
|
+
match(path2, stats) {
|
|
50
|
+
return stats.isDirectory() && path2.base === name;
|
|
51
|
+
},
|
|
52
|
+
exclude(path2, stats) {
|
|
53
|
+
return stats.isDirectory() && (path2.base === "node_modules" || path2.base === ".git" || path2.base === ".vscode" || path2.base === "dist" || path2.base === "build");
|
|
54
|
+
},
|
|
55
|
+
count: 1
|
|
56
|
+
});
|
|
57
|
+
const defaultPath = folder[0] ? (0, import_getRelativePath.getRelativePath)(folder[0]) : void 0;
|
|
58
|
+
const { path } = await inquirer.prompt({
|
|
59
|
+
type: "input",
|
|
60
|
+
name: "path",
|
|
61
|
+
message: `请输入你的 @${name}/ 的路径`,
|
|
62
|
+
default: defaultPath
|
|
63
|
+
});
|
|
64
|
+
return path;
|
|
65
|
+
}
|
|
66
|
+
async function addPathAlias(nameOrAlias, path) {
|
|
67
|
+
nameOrAlias = Array.isArray(nameOrAlias) ? nameOrAlias : [{ name: nameOrAlias, path }];
|
|
68
|
+
const tsConfig = await (0, import_readTsConfig.readTsConfig)();
|
|
69
|
+
tsConfig.compilerOptions ??= {};
|
|
70
|
+
tsConfig.compilerOptions.paths ??= {};
|
|
71
|
+
nameOrAlias.forEach(({ name, path: path2 }) => {
|
|
72
|
+
tsConfig.compilerOptions.paths[`@${name}/*`] ??= [];
|
|
73
|
+
path2 = `${(0, import_getRelativePath.getRelativePath)(path2)}/*`;
|
|
74
|
+
if (!tsConfig.compilerOptions.paths[`@${name}/*`].includes(path2))
|
|
75
|
+
tsConfig.compilerOptions.paths[`@${name}/*`].push(path2);
|
|
76
|
+
});
|
|
77
|
+
await (0, import_writeTsConfig.writeTsConfig)(tsConfig);
|
|
78
|
+
}
|
|
79
|
+
async function replacePathAlias() {
|
|
80
|
+
const tsConfig = await (0, import_readTsConfig.readTsConfig)();
|
|
81
|
+
const oldPaths = tsConfig.compilerOptions?.paths ?? {};
|
|
82
|
+
const paths = {};
|
|
83
|
+
Object.entries(oldPaths).forEach(([key, value]) => {
|
|
84
|
+
paths[key.replace(/\/?\*?$/, "")] = value.map((item) => item.replace(/\/?\*?$/, ""));
|
|
85
|
+
});
|
|
86
|
+
const files = await (0, import__.getFiles)({
|
|
87
|
+
match(path, stats) {
|
|
88
|
+
return (path.ext === ".ts" || path.ext === ".tsx") && stats.isFile();
|
|
89
|
+
},
|
|
90
|
+
exclude(path, stats) {
|
|
91
|
+
return stats.isDirectory() && (path.base === "node_modules" || path.base === ".git" || path.base === ".vscode" || path.base === "dist" || path.base === "build");
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
const reg = /(import [\d\D]*?")(.+?)(")/gm;
|
|
95
|
+
for (const file of files) {
|
|
96
|
+
let code = await (0, import_promises.readFile)(file, "utf-8");
|
|
97
|
+
code = code.replace(reg, (match, arg, arg2, arg3) => {
|
|
98
|
+
if (!arg2.startsWith("./") && !arg2.startsWith("../"))
|
|
99
|
+
return match;
|
|
100
|
+
let pathToReplace;
|
|
101
|
+
let depth;
|
|
102
|
+
try {
|
|
103
|
+
const tsFile = (0, import_getTsFile.getTsFile)((0, import_getRelativePath.getRelativePath)((0, import_path.join)(file, "../", arg2)));
|
|
104
|
+
pathToReplace = tsFile.path;
|
|
105
|
+
depth = tsFile.depth;
|
|
106
|
+
} catch (error) {
|
|
107
|
+
return match;
|
|
108
|
+
}
|
|
109
|
+
pathToReplace = (0, import_getRelativePath.getRelativePath)(pathToReplace);
|
|
110
|
+
if (arg2.startsWith("./")) {
|
|
111
|
+
const f = arg2.slice(2);
|
|
112
|
+
if ((0, import_path.parse)(f).base === f && depth === 0)
|
|
113
|
+
return match;
|
|
114
|
+
}
|
|
115
|
+
let matchedKey = "";
|
|
116
|
+
let matchedPath = "";
|
|
117
|
+
Object.entries(paths).forEach(([key, value]) => {
|
|
118
|
+
value.forEach((item) => {
|
|
119
|
+
if (pathToReplace === item || pathToReplace.startsWith(`${item}/`)) {
|
|
120
|
+
if (!matchedPath || item.length > matchedPath.length) {
|
|
121
|
+
matchedKey = key;
|
|
122
|
+
matchedPath = item;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
if (matchedKey && matchedPath) {
|
|
128
|
+
const newPath = `${matchedKey}${pathToReplace.slice(matchedPath.length)}`.replace(/\/$/, "").replace(/\.tsx?$/, "");
|
|
129
|
+
const finalPath = `${arg}${newPath}${arg3}`;
|
|
130
|
+
return finalPath;
|
|
131
|
+
}
|
|
132
|
+
return match;
|
|
133
|
+
});
|
|
134
|
+
await (0, import_promises.writeFile)(file, code, "utf-8");
|
|
135
|
+
}
|
|
136
|
+
return (0, import__.getCommitMessage)(import_constant.CommitType.feature, "replace path alias");
|
|
137
|
+
}
|
|
138
|
+
async function addFolderPathAlias() {
|
|
139
|
+
const { default: inquirer } = await import("inquirer");
|
|
140
|
+
const { folder } = await inquirer.prompt({
|
|
141
|
+
type: "input",
|
|
142
|
+
name: "folder",
|
|
143
|
+
message: "请输入文件夹路径",
|
|
144
|
+
default: "./"
|
|
145
|
+
});
|
|
146
|
+
const dir = await (0, import__.getFiles)({
|
|
147
|
+
match(path, stats) {
|
|
148
|
+
return stats.isDirectory();
|
|
149
|
+
},
|
|
150
|
+
depth: 1,
|
|
151
|
+
path: folder
|
|
152
|
+
});
|
|
153
|
+
const names = dir.map((item) => (0, import_path.parse)(item).name);
|
|
154
|
+
const { result } = await inquirer.prompt({
|
|
155
|
+
type: "checkbox",
|
|
156
|
+
name: "result",
|
|
157
|
+
message: "请选择要添加的文件夹",
|
|
158
|
+
choices: names,
|
|
159
|
+
default: names.filter((item) => item !== "node_modules" && item !== ".git" && item !== ".vscode" && item !== "dist" && item !== "build")
|
|
160
|
+
});
|
|
161
|
+
await addPathAlias(result.map((item) => ({ name: item, path: (0, import_getRelativePath.getRelativePath)((0, import_path.join)(folder, item)) })));
|
|
162
|
+
}
|
|
163
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
164
|
+
0 && (module.exports = {
|
|
165
|
+
addFolderPathAlias,
|
|
166
|
+
addPathAlias,
|
|
167
|
+
getPathAlias,
|
|
168
|
+
replacePathAlias
|
|
169
|
+
});
|
|
170
|
+
//# sourceMappingURL=addPathAlias.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/utils/addPathAlias.ts"],
|
|
4
|
+
"sourcesContent": ["import { CommitType } from \"@src/constant\"\r\nimport { readFile, writeFile } from \"fs/promises\"\r\nimport { join, parse } from \"path\"\r\nimport { getCommitMessage, getFiles } from \".\"\r\nimport { getRelativePath } from \"./getRelativePath\"\r\nimport { getTsFile } from \"./getTsFile\"\r\nimport { readTsConfig } from \"./readTsConfig\"\r\nimport { writeTsConfig } from \"./writeTsConfig\"\r\n\r\nexport async function getPathAlias(name: string) {\r\n const { default: inquirer } = await import(\"inquirer\")\r\n const folder = await getFiles({\r\n match(path, stats) {\r\n return stats.isDirectory() && path.base === name\r\n },\r\n exclude(path, stats) {\r\n return stats.isDirectory() && (path.base === \"node_modules\" || path.base === \".git\" || path.base === \".vscode\" || path.base === \"dist\" || path.base === \"build\")\r\n },\r\n count: 1\r\n })\r\n const defaultPath = folder[0] ? getRelativePath(folder[0]) : undefined\r\n const { path } = await inquirer.prompt({\r\n type: \"input\",\r\n name: \"path\",\r\n message: `请输入你的 @${name}/ 的路径`,\r\n default: defaultPath\r\n })\r\n return path\r\n}\r\n\r\nexport type PathAlias = {\r\n name: string\r\n path: string\r\n}\r\n\r\nexport async function addPathAlias(name: string, path: string): Promise<void>\r\nexport async function addPathAlias(alias: PathAlias[]): Promise<void>\r\nexport async function addPathAlias(nameOrAlias: string | PathAlias[], path?: string) {\r\n nameOrAlias = Array.isArray(nameOrAlias) ? nameOrAlias : [{ name: nameOrAlias, path: path! }]\r\n const tsConfig = await readTsConfig()\r\n tsConfig.compilerOptions ??= {}\r\n tsConfig.compilerOptions.paths ??= {}\r\n nameOrAlias.forEach(({ name, path }) => {\r\n tsConfig.compilerOptions.paths[`@${name}/*`] ??= []\r\n path = `${getRelativePath(path)}/*`\r\n if (!tsConfig.compilerOptions.paths[`@${name}/*`].includes(path)) tsConfig.compilerOptions.paths[`@${name}/*`].push(path)\r\n })\r\n await writeTsConfig(tsConfig)\r\n}\r\n\r\nexport async function replacePathAlias() {\r\n const tsConfig = await readTsConfig()\r\n const oldPaths: Record<string, string[]> = tsConfig.compilerOptions?.paths ?? {}\r\n const paths: Record<string, string[]> = {}\r\n Object.entries(oldPaths).forEach(([key, value]) => {\r\n paths[key.replace(/\\/?\\*?$/, \"\")] = value.map(item => item.replace(/\\/?\\*?$/, \"\"))\r\n })\r\n const files = await getFiles({\r\n match(path, stats) {\r\n return (path.ext === \".ts\" || path.ext === \".tsx\") && stats.isFile()\r\n },\r\n exclude(path, stats) {\r\n return stats.isDirectory() && (path.base === \"node_modules\" || path.base === \".git\" || path.base === \".vscode\" || path.base === \"dist\" || path.base === \"build\")\r\n }\r\n })\r\n const reg = /(import [\\d\\D]*?\")(.+?)(\")/gm\r\n for (const file of files) {\r\n let code = await readFile(file, \"utf-8\")\r\n code = code.replace(reg, (match: string, arg: string, arg2: string, arg3: string) => {\r\n // 如果不是相对路径,直接返回\r\n if (!arg2.startsWith(\"./\") && !arg2.startsWith(\"../\")) return match\r\n\r\n /** 获取最终的 ts 文件地址 */\r\n let pathToReplace: string\r\n let depth: 0 | 1\r\n try {\r\n const tsFile = getTsFile(getRelativePath(join(file, \"../\", arg2)))\r\n pathToReplace = tsFile.path\r\n depth = tsFile.depth\r\n } catch (error) {\r\n return match\r\n }\r\n\r\n pathToReplace = getRelativePath(pathToReplace)\r\n\r\n // 如果就是本目录的文件,直接返回\r\n if (arg2.startsWith(\"./\")) {\r\n const f = arg2.slice(2)\r\n if (parse(f).base === f && depth === 0) return match\r\n }\r\n\r\n let matchedKey = \"\"\r\n let matchedPath = \"\"\r\n Object.entries(paths).forEach(([key, value]) => {\r\n value.forEach(item => {\r\n /** 必须等于路径或者以路径开头 */\r\n if (pathToReplace === item || pathToReplace.startsWith(`${item}/`)) {\r\n if (!matchedPath || item.length > matchedPath.length) {\r\n matchedKey = key\r\n matchedPath = item\r\n }\r\n }\r\n })\r\n })\r\n if (matchedKey && matchedPath) {\r\n const newPath = `${matchedKey}${pathToReplace.slice(matchedPath.length)}`.replace(/\\/$/, \"\").replace(/\\.tsx?$/, \"\")\r\n const finalPath = `${arg}${newPath}${arg3}`\r\n return finalPath\r\n }\r\n return match\r\n })\r\n await writeFile(file, code, \"utf-8\")\r\n }\r\n return getCommitMessage(CommitType.feature, \"replace path alias\")\r\n}\r\n\r\nexport async function addFolderPathAlias() {\r\n const { default: inquirer } = await import(\"inquirer\")\r\n const { folder } = await inquirer.prompt({\r\n type: \"input\",\r\n name: \"folder\",\r\n message: \"请输入文件夹路径\",\r\n default: \"./\"\r\n })\r\n const dir = await getFiles({\r\n match(path, stats) {\r\n return stats.isDirectory()\r\n },\r\n depth: 1,\r\n path: folder\r\n })\r\n const names = dir.map(item => parse(item).name)\r\n const { result } = await inquirer.prompt({\r\n type: \"checkbox\",\r\n name: \"result\",\r\n message: \"请选择要添加的文件夹\",\r\n choices: names,\r\n default: names.filter(item => item !== \"node_modules\" && item !== \".git\" && item !== \".vscode\" && item !== \"dist\" && item !== \"build\")\r\n })\r\n await addPathAlias(result.map((item: string) => ({ name: item, path: getRelativePath(join(folder, item)) })))\r\n}\r\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["path"]
|
|
7
|
+
}
|
|
@@ -32,9 +32,9 @@ __export(downloadLatestSoftware_exports, {
|
|
|
32
32
|
downloadLatestSoftware: () => downloadLatestSoftware
|
|
33
33
|
});
|
|
34
34
|
module.exports = __toCommonJS(downloadLatestSoftware_exports);
|
|
35
|
+
var import_constant = require("../constant/index");
|
|
35
36
|
var import_consola = __toESM(require("consola"));
|
|
36
37
|
var import_promises = require("fs/promises");
|
|
37
|
-
var import_constant = require("../constant");
|
|
38
38
|
var import__ = require(".");
|
|
39
39
|
async function downloadLatestSoftware() {
|
|
40
40
|
import_consola.default.start("开始下载软件");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/downloadLatestSoftware.ts"],
|
|
4
|
-
"sourcesContent": ["import
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAoB;AACpB,sBAAsB;AACtB,
|
|
4
|
+
"sourcesContent": ["import { Software } from \"@constant/index\"\r\nimport consola from \"consola\"\r\nimport { mkdir } from \"fs/promises\"\r\nimport { SoftwareDownloadMap } from \".\"\r\n\r\nexport async function downloadLatestSoftware() {\r\n consola.start(\"开始下载软件\")\r\n const { default: inquirer } = await import(\"inquirer\")\r\n const dir = `softwares-${Date.now()}`\r\n const { softwares } = await inquirer.prompt({\r\n type: \"checkbox\",\r\n name: \"softwares\",\r\n message: \"请选择要下载的软件\",\r\n choices: Object.values(Software),\r\n default: Object.values(Software)\r\n })\r\n if (softwares.length === 0) return\r\n await mkdir(dir, { recursive: true })\r\n for (const software of softwares) {\r\n consola.start(`正在下载 ${software}`)\r\n await SoftwareDownloadMap[software as Software](dir)\r\n }\r\n consola.success(\"软件下载完成\")\r\n}\r\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAyB;AACzB,qBAAoB;AACpB,sBAAsB;AACtB,eAAoC;AAEpC,eAAsB,yBAAyB;AAC3C,iBAAAA,QAAQ,MAAM,QAAQ;AACtB,QAAM,EAAE,SAAS,SAAS,IAAI,MAAM,OAAO,UAAU;AACrD,QAAM,MAAM,aAAa,KAAK,IAAI;AAClC,QAAM,EAAE,UAAU,IAAI,MAAM,SAAS,OAAO;AAAA,IACxC,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS,OAAO,OAAO,wBAAQ;AAAA,IAC/B,SAAS,OAAO,OAAO,wBAAQ;AAAA,EACnC,CAAC;AACD,MAAI,UAAU,WAAW;AAAG;AAC5B,YAAM,uBAAM,KAAK,EAAE,WAAW,KAAK,CAAC;AACpC,aAAW,YAAY,WAAW;AAC9B,mBAAAA,QAAQ,MAAM,QAAQ,UAAU;AAChC,UAAM,6BAAoB,QAAoB,EAAE,GAAG;AAAA,EACvD;AACA,iBAAAA,QAAQ,QAAQ,QAAQ;AAC5B;",
|
|
6
6
|
"names": ["consola"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,37 @@
|
|
|
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/getRelativePath.ts
|
|
20
|
+
var getRelativePath_exports = {};
|
|
21
|
+
__export(getRelativePath_exports, {
|
|
22
|
+
getRelativePath: () => getRelativePath
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(getRelativePath_exports);
|
|
25
|
+
function getRelativePath(path) {
|
|
26
|
+
path = path.replace(/\\/g, "/");
|
|
27
|
+
if (path.startsWith("./"))
|
|
28
|
+
return path;
|
|
29
|
+
if (path.startsWith("../"))
|
|
30
|
+
return path;
|
|
31
|
+
return `./${path}`;
|
|
32
|
+
}
|
|
33
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
34
|
+
0 && (module.exports = {
|
|
35
|
+
getRelativePath
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=getRelativePath.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/utils/getRelativePath.ts"],
|
|
4
|
+
"sourcesContent": ["export function getRelativePath(path: string) {\r\n path = path.replace(/\\\\/g, \"/\")\r\n if (path.startsWith(\"./\")) return path\r\n if (path.startsWith(\"../\")) return path\r\n return `./${path}`\r\n}\r\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,SAAS,gBAAgB,MAAc;AAC1C,SAAO,KAAK,QAAQ,OAAO,GAAG;AAC9B,MAAI,KAAK,WAAW,IAAI;AAAG,WAAO;AAClC,MAAI,KAAK,WAAW,KAAK;AAAG,WAAO;AACnC,SAAO,KAAK;AAChB;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
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/getTsFile.ts
|
|
20
|
+
var getTsFile_exports = {};
|
|
21
|
+
__export(getTsFile_exports, {
|
|
22
|
+
getTsFile: () => getTsFile
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(getTsFile_exports);
|
|
25
|
+
var import_fs = require("fs");
|
|
26
|
+
var import_path = require("path");
|
|
27
|
+
function getTsFile(path) {
|
|
28
|
+
const { ext } = (0, import_path.parse)(path);
|
|
29
|
+
if (ext !== "" && ext !== ".ts" && ext !== ".tsx")
|
|
30
|
+
throw new Error("请传入 ts 或 tsx 文件");
|
|
31
|
+
if (ext === ".ts" || ext === ".tsx")
|
|
32
|
+
return {
|
|
33
|
+
depth: 0,
|
|
34
|
+
ext,
|
|
35
|
+
path
|
|
36
|
+
};
|
|
37
|
+
const path2 = path + ".ts";
|
|
38
|
+
if ((0, import_fs.existsSync)(path2))
|
|
39
|
+
return {
|
|
40
|
+
depth: 0,
|
|
41
|
+
ext: ".ts",
|
|
42
|
+
path: path2
|
|
43
|
+
};
|
|
44
|
+
const path3 = path + ".tsx";
|
|
45
|
+
if ((0, import_fs.existsSync)(path3))
|
|
46
|
+
return {
|
|
47
|
+
depth: 0,
|
|
48
|
+
ext: ".tsx",
|
|
49
|
+
path: path3
|
|
50
|
+
};
|
|
51
|
+
const path4 = (0, import_path.join)(path, "index.ts");
|
|
52
|
+
if ((0, import_fs.existsSync)(path4))
|
|
53
|
+
return {
|
|
54
|
+
depth: 1,
|
|
55
|
+
ext: ".ts",
|
|
56
|
+
path: path4
|
|
57
|
+
};
|
|
58
|
+
const path5 = (0, import_path.join)(path, "index.tsx");
|
|
59
|
+
if ((0, import_fs.existsSync)(path5))
|
|
60
|
+
return {
|
|
61
|
+
depth: 1,
|
|
62
|
+
ext: ".tsx",
|
|
63
|
+
path: path5
|
|
64
|
+
};
|
|
65
|
+
throw new Error(`找不到 ${path} 对应的 ts 或 tsx 文件`);
|
|
66
|
+
}
|
|
67
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
68
|
+
0 && (module.exports = {
|
|
69
|
+
getTsFile
|
|
70
|
+
});
|
|
71
|
+
//# sourceMappingURL=getTsFile.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/utils/getTsFile.ts"],
|
|
4
|
+
"sourcesContent": ["import { existsSync } from \"fs\"\r\nimport { join, parse } from \"path\"\r\n\r\nexport type TsFile = {\r\n depth: 0 | 1\r\n ext: \".ts\" | \".tsx\"\r\n path: string\r\n}\r\n\r\nexport function getTsFile(path: string): TsFile {\r\n const { ext } = parse(path)\r\n if (ext !== \"\" && ext !== \".ts\" && ext !== \".tsx\") throw new Error(\"请传入 ts 或 tsx 文件\")\r\n if (ext === \".ts\" || ext === \".tsx\")\r\n return {\r\n depth: 0,\r\n ext: ext,\r\n path\r\n }\r\n const path2 = path + \".ts\"\r\n if (existsSync(path2))\r\n return {\r\n depth: 0,\r\n ext: \".ts\",\r\n path: path2\r\n }\r\n const path3 = path + \".tsx\"\r\n if (existsSync(path3))\r\n return {\r\n depth: 0,\r\n ext: \".tsx\",\r\n path: path3\r\n }\r\n const path4 = join(path, \"index.ts\")\r\n if (existsSync(path4))\r\n return {\r\n depth: 1,\r\n ext: \".ts\",\r\n path: path4\r\n }\r\n const path5 = join(path, \"index.tsx\")\r\n if (existsSync(path5))\r\n return {\r\n depth: 1,\r\n ext: \".tsx\",\r\n path: path5\r\n }\r\n throw new Error(`找不到 ${path} 对应的 ts 或 tsx 文件`)\r\n}\r\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAA2B;AAC3B,kBAA4B;AAQrB,SAAS,UAAU,MAAsB;AAC5C,QAAM,EAAE,IAAI,QAAI,mBAAM,IAAI;AAC1B,MAAI,QAAQ,MAAM,QAAQ,SAAS,QAAQ;AAAQ,UAAM,IAAI,MAAM,iBAAiB;AACpF,MAAI,QAAQ,SAAS,QAAQ;AACzB,WAAO;AAAA,MACH,OAAO;AAAA,MACP;AAAA,MACA;AAAA,IACJ;AACJ,QAAM,QAAQ,OAAO;AACrB,UAAI,sBAAW,KAAK;AAChB,WAAO;AAAA,MACH,OAAO;AAAA,MACP,KAAK;AAAA,MACL,MAAM;AAAA,IACV;AACJ,QAAM,QAAQ,OAAO;AACrB,UAAI,sBAAW,KAAK;AAChB,WAAO;AAAA,MACH,OAAO;AAAA,MACP,KAAK;AAAA,MACL,MAAM;AAAA,IACV;AACJ,QAAM,YAAQ,kBAAK,MAAM,UAAU;AACnC,UAAI,sBAAW,KAAK;AAChB,WAAO;AAAA,MACH,OAAO;AAAA,MACP,KAAK;AAAA,MACL,MAAM;AAAA,IACV;AACJ,QAAM,YAAQ,kBAAK,MAAM,WAAW;AACpC,UAAI,sBAAW,KAAK;AAChB,WAAO;AAAA,MACH,OAAO;AAAA,MACP,KAAK;AAAA,MACL,MAAM;AAAA,IACV;AACJ,QAAM,IAAI,MAAM,OAAO,sBAAsB;AACjD;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
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/hasChangeNoCommit.ts
|
|
20
|
+
var hasChangeNoCommit_exports = {};
|
|
21
|
+
__export(hasChangeNoCommit_exports, {
|
|
22
|
+
hasChangeNoCommit: () => hasChangeNoCommit
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(hasChangeNoCommit_exports);
|
|
25
|
+
var import__ = require(".");
|
|
26
|
+
async function hasChangeNoCommit(cwd) {
|
|
27
|
+
const status = await (0, import__.execAsync)("git status", { cwd });
|
|
28
|
+
return !status.includes("nothing to commit, working tree clean");
|
|
29
|
+
}
|
|
30
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
31
|
+
0 && (module.exports = {
|
|
32
|
+
hasChangeNoCommit
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=hasChangeNoCommit.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/utils/hasChangeNoCommit.ts"],
|
|
4
|
+
"sourcesContent": ["import { execAsync } from \".\"\r\n\r\nexport async function hasChangeNoCommit(cwd?: string) {\r\n const status = await execAsync(\"git status\", { cwd })\r\n return !status.includes(\"nothing to commit, working tree clean\")\r\n}\r\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAA0B;AAE1B,eAAsB,kBAAkB,KAAc;AAClD,QAAM,SAAS,UAAM,oBAAU,cAAc,EAAE,IAAI,CAAC;AACpD,SAAO,CAAC,OAAO,SAAS,uCAAuC;AACnE;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/dist/utils/index.js
CHANGED
|
@@ -89,6 +89,7 @@ __export(utils_exports, {
|
|
|
89
89
|
zipDir: () => zipDir
|
|
90
90
|
});
|
|
91
91
|
module.exports = __toCommonJS(utils_exports);
|
|
92
|
+
var import_constant = require("../constant/index");
|
|
92
93
|
var import_archiver = __toESM(require("archiver"));
|
|
93
94
|
var import_child_process = require("child_process");
|
|
94
95
|
var import_consola = __toESM(require("consola"));
|
|
@@ -100,7 +101,7 @@ var import_path = require("path");
|
|
|
100
101
|
var import_process = require("process");
|
|
101
102
|
var import_stream = require("stream");
|
|
102
103
|
var import_yaml = __toESM(require("yaml"));
|
|
103
|
-
var
|
|
104
|
+
var import_hasChangeNoCommit = require("./hasChangeNoCommit");
|
|
104
105
|
function getPackageJsonPath(path) {
|
|
105
106
|
return (0, import_path.join)(path ?? (0, import_process.cwd)(), "package.json");
|
|
106
107
|
}
|
|
@@ -845,18 +846,17 @@ async function backupFirst(forceRepo = false) {
|
|
|
845
846
|
import_consola.default.error("git 不可用");
|
|
846
847
|
(0, import_process.exit)();
|
|
847
848
|
}
|
|
848
|
-
import_consola.default.warn("
|
|
849
|
+
import_consola.default.warn("强烈建议使用前备份代码");
|
|
849
850
|
await ifContinue();
|
|
850
851
|
return;
|
|
851
852
|
}
|
|
852
|
-
|
|
853
|
-
if (!status.includes("nothing to commit, working tree clean")) {
|
|
853
|
+
if (await (0, import_hasChangeNoCommit.hasChangeNoCommit)()) {
|
|
854
854
|
const { default: inquirer } = await import("inquirer");
|
|
855
855
|
const { skip } = await inquirer.prompt({
|
|
856
856
|
type: "confirm",
|
|
857
857
|
name: "skip",
|
|
858
|
-
message: "
|
|
859
|
-
default:
|
|
858
|
+
message: "检测到未提交的更改,是否继续(强烈建议使用前先提交代码)",
|
|
859
|
+
default: false
|
|
860
860
|
});
|
|
861
861
|
if (!skip)
|
|
862
862
|
(0, import_process.exit)();
|
|
@@ -872,7 +872,7 @@ function actionWithBackup(action, message) {
|
|
|
872
872
|
return async (...args) => {
|
|
873
873
|
const skip = await backupFirst();
|
|
874
874
|
const msg = await action(...args);
|
|
875
|
-
if (!await isRepo() || skip)
|
|
875
|
+
if (!await isRepo() || skip || !await (0, import_hasChangeNoCommit.hasChangeNoCommit)())
|
|
876
876
|
return;
|
|
877
877
|
const { default: inquirer } = await import("inquirer");
|
|
878
878
|
const { commit } = await inquirer.prompt({
|