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 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 {