zixulu 1.77.0 → 1.78.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 +87 -0
- package/dist/index.js.map +1 -1
- package/dist/src/utils/createRepository.d.ts +22 -0
- package/package.json +1 -1
- package/src/index.ts +3 -0
- package/src/utils/createRepository.ts +121 -0
package/dist/index.js
CHANGED
|
@@ -198,6 +198,7 @@ __webpack_require__.add({
|
|
|
198
198
|
var _utils_vite__rspack_import_12 = __webpack_require__("./src/utils/vite.ts");
|
|
199
199
|
var _utils_winget__rspack_import_58 = __webpack_require__("./src/utils/winget.ts");
|
|
200
200
|
var _utils_addOpenWith__rspack_import_81 = __webpack_require__("./src/utils/addOpenWith.ts");
|
|
201
|
+
var _utils_createRepository__rspack_import_85 = __webpack_require__("./src/utils/createRepository.ts");
|
|
201
202
|
var _utils_gdm__rspack_import_80 = __webpack_require__("./src/utils/gdm.ts");
|
|
202
203
|
var _utils_pullDockerImage__rspack_import_83 = __webpack_require__("./src/utils/pullDockerImage.ts");
|
|
203
204
|
var _utils_removeOpenWith__rspack_import_82 = __webpack_require__("./src/utils/removeOpenWith.ts");
|
|
@@ -435,6 +436,7 @@ __webpack_require__.add({
|
|
|
435
436
|
sha256
|
|
436
437
|
}));
|
|
437
438
|
program.command("sync-template").alias("st").description("同步模板项目").action(_utils_syncTemplate__rspack_import_84.i6);
|
|
439
|
+
program.command("create-repository").alias("cr").description("创建 GitHub 仓库").action(_utils_createRepository__rspack_import_85.v);
|
|
438
440
|
program.parse();
|
|
439
441
|
__rspack_async_done();
|
|
440
442
|
} catch (e) {
|
|
@@ -2977,6 +2979,91 @@ const prisma = new PrismaClient()
|
|
|
2977
2979
|
});
|
|
2978
2980
|
}
|
|
2979
2981
|
},
|
|
2982
|
+
"./src/utils/createRepository.ts" (__unused_rspack_module, __webpack_exports__, __webpack_require__) {
|
|
2983
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
2984
|
+
v: ()=>createRepository
|
|
2985
|
+
});
|
|
2986
|
+
var node_path__rspack_import_0 = __webpack_require__("node:path");
|
|
2987
|
+
var consola__rspack_import_1 = __webpack_require__("consola");
|
|
2988
|
+
var inquirer__rspack_import_2 = __webpack_require__("inquirer");
|
|
2989
|
+
var soda_nodejs__rspack_import_3 = __webpack_require__("soda-nodejs");
|
|
2990
|
+
var _isRepository__rspack_import_5 = __webpack_require__("./src/utils/isRepository.ts");
|
|
2991
|
+
var _readPackageJson__rspack_import_4 = __webpack_require__("./src/utils/readPackageJson.ts");
|
|
2992
|
+
const RepositoryVisibility = {
|
|
2993
|
+
private: "private",
|
|
2994
|
+
public: "public"
|
|
2995
|
+
};
|
|
2996
|
+
function getRootFolderName() {
|
|
2997
|
+
return (0, node_path__rspack_import_0.basename)(process.cwd());
|
|
2998
|
+
}
|
|
2999
|
+
function ensureRepositoryName(name) {
|
|
3000
|
+
if (!name.trim()) throw new Error("仓库名称不能为空");
|
|
3001
|
+
return name.trim();
|
|
3002
|
+
}
|
|
3003
|
+
async function getDefaultRepositoryName() {
|
|
3004
|
+
try {
|
|
3005
|
+
const packageJson = await (0, _readPackageJson__rspack_import_4.j)();
|
|
3006
|
+
if (packageJson.name?.trim()) return packageJson.name.trim();
|
|
3007
|
+
} catch {}
|
|
3008
|
+
return getRootFolderName();
|
|
3009
|
+
}
|
|
3010
|
+
async function getRepositoryBranchName() {
|
|
3011
|
+
try {
|
|
3012
|
+
await (0, soda_nodejs__rspack_import_3.execAsync)("git rev-parse --verify main");
|
|
3013
|
+
return "main";
|
|
3014
|
+
} catch {}
|
|
3015
|
+
try {
|
|
3016
|
+
await (0, soda_nodejs__rspack_import_3.execAsync)("git rev-parse --verify master");
|
|
3017
|
+
return "master";
|
|
3018
|
+
} catch {
|
|
3019
|
+
throw new Error("当前仓库不存在 main 或 master 分支");
|
|
3020
|
+
}
|
|
3021
|
+
}
|
|
3022
|
+
async function createRepository() {
|
|
3023
|
+
if (!await (0, _isRepository__rspack_import_5.Z)()) throw new Error("当前目录不是 Git 仓库");
|
|
3024
|
+
const defaultRepositoryName = await getDefaultRepositoryName();
|
|
3025
|
+
const { repositoryName } = await inquirer__rspack_import_2["default"].prompt({
|
|
3026
|
+
type: "input",
|
|
3027
|
+
name: "repositoryName",
|
|
3028
|
+
message: "请输入仓库名称",
|
|
3029
|
+
default: defaultRepositoryName
|
|
3030
|
+
});
|
|
3031
|
+
const finalRepositoryName = ensureRepositoryName(repositoryName);
|
|
3032
|
+
const { repositoryVisibility } = await inquirer__rspack_import_2["default"].prompt({
|
|
3033
|
+
type: "select",
|
|
3034
|
+
name: "repositoryVisibility",
|
|
3035
|
+
message: "请选择仓库类型",
|
|
3036
|
+
choices: [
|
|
3037
|
+
{
|
|
3038
|
+
name: RepositoryVisibility.private,
|
|
3039
|
+
value: RepositoryVisibility.private
|
|
3040
|
+
},
|
|
3041
|
+
{
|
|
3042
|
+
name: RepositoryVisibility.public,
|
|
3043
|
+
value: RepositoryVisibility.public
|
|
3044
|
+
}
|
|
3045
|
+
],
|
|
3046
|
+
default: RepositoryVisibility.private
|
|
3047
|
+
});
|
|
3048
|
+
const branchName = await getRepositoryBranchName();
|
|
3049
|
+
consola__rspack_import_1["default"].start(`开始创建 GitHub 仓库:${finalRepositoryName}`);
|
|
3050
|
+
await (0, soda_nodejs__rspack_import_3.spawnAsync)(`gh repo create ${finalRepositoryName} --${repositoryVisibility} --source=. --remote=origin`, {
|
|
3051
|
+
shell: true,
|
|
3052
|
+
stdio: "inherit"
|
|
3053
|
+
});
|
|
3054
|
+
consola__rspack_import_1["default"].start("开始设置默认远程仓库");
|
|
3055
|
+
await (0, soda_nodejs__rspack_import_3.spawnAsync)("gh repo set-default origin", {
|
|
3056
|
+
shell: true,
|
|
3057
|
+
stdio: "inherit"
|
|
3058
|
+
});
|
|
3059
|
+
consola__rspack_import_1["default"].start(`开始推送本地 ${branchName} 分支到远程 ${branchName} 分支`);
|
|
3060
|
+
await (0, soda_nodejs__rspack_import_3.spawnAsync)(`git push --set-upstream origin ${branchName}:${branchName}`, {
|
|
3061
|
+
shell: true,
|
|
3062
|
+
stdio: "inherit"
|
|
3063
|
+
});
|
|
3064
|
+
consola__rspack_import_1["default"].success(`创建 GitHub 仓库成功:${finalRepositoryName}`);
|
|
3065
|
+
}
|
|
3066
|
+
},
|
|
2980
3067
|
"./src/utils/download.ts" (module, __webpack_exports__, __webpack_require__) {
|
|
2981
3068
|
__webpack_require__.a(module, async function(__rspack_load_async_deps, __rspack_async_done) {
|
|
2982
3069
|
try {
|