create-done-coding 0.11.17 → 0.11.18
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/es/cli.mjs +1 -1
- package/es/{index-4bae0d72.js → index-d1258ba5.js} +169 -159
- package/es/index.mjs +1 -1
- package/package.json +2 -2
package/es/cli.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { readCliConfig as To, log as R, HooksNameEnum as v, createSubcommand as St, getRootScriptName as Gn, xPrompts as
|
|
2
|
+
import { readCliConfig as To, log as R, HooksNameEnum as v, createSubcommand as St, getRootScriptName as Gn, xPrompts as T, getConfigFileCommonOptions as Tt, addHuskyHooks as Co, initHandlerCommon as Ao, readConfigFile as ge, lookForParentTarget as qn, decryptAES as $o, encryptAES as No, getCurrentBranchName as Po, getCommitByHookName as jo, resolveMergeInfoByGitReflogAction as xo, checkCurrentIsRebasing as Fo, resolveMergeInfoByCommitMsg as Bo, getCurrentBranchLastCommitList as Uo, getLastReflogList as Do, createMainCommand as Lo } from "@done-coding/cli-utils";
|
|
3
3
|
import { execSync as Y } from "node:child_process";
|
|
4
4
|
import gt, { existsSync as on, rmSync as je } from "node:fs";
|
|
5
5
|
import Ee, { resolve as Io } from "node:path";
|
|
@@ -7,7 +7,7 @@ import { getConfigPath as Mo, batchCompileHandler as ko, MODULE_DEFAULT_CONFIG_R
|
|
|
7
7
|
import { getTargetRepoUrl as Go } from "@done-coding/cli-git";
|
|
8
8
|
const Kn = "自定义模版路径", Wn = "某个git平台用户仓库", se = {
|
|
9
9
|
name: "create-done-coding",
|
|
10
|
-
version: "0.11.
|
|
10
|
+
version: "0.11.18",
|
|
11
11
|
description: "项目创建命令行工具",
|
|
12
12
|
bin: "es/cli.mjs",
|
|
13
13
|
cliConfig: {
|
|
@@ -319,8 +319,8 @@ function zs(e, t, n, r) {
|
|
|
319
319
|
for (; ++o < a; ) {
|
|
320
320
|
var c = e[o], p = n ? n(c) : c;
|
|
321
321
|
if (c = r || c !== 0 ? c : 0, i && p === p) {
|
|
322
|
-
for (var
|
|
323
|
-
if (t[
|
|
322
|
+
for (var m = f; m--; )
|
|
323
|
+
if (t[m] === p)
|
|
324
324
|
continue e;
|
|
325
325
|
u.push(c);
|
|
326
326
|
} else
|
|
@@ -774,12 +774,12 @@ function Aa(e, t, n, r) {
|
|
|
774
774
|
return c;
|
|
775
775
|
}
|
|
776
776
|
function $a(e, t, n, r) {
|
|
777
|
-
for (var o = -1, s = e.length, i = -1, a = n.length, u = -1, f = t.length, c = Le(s - a, 0), p = Array(c + f),
|
|
777
|
+
for (var o = -1, s = e.length, i = -1, a = n.length, u = -1, f = t.length, c = Le(s - a, 0), p = Array(c + f), m = !r; ++o < c; )
|
|
778
778
|
p[o] = e[o];
|
|
779
|
-
for (var
|
|
780
|
-
p[
|
|
779
|
+
for (var y = o; ++u < f; )
|
|
780
|
+
p[y + u] = t[u];
|
|
781
781
|
for (; ++i < a; )
|
|
782
|
-
(
|
|
782
|
+
(m || o < s) && (p[y + n[i]] = e[o++]);
|
|
783
783
|
return p;
|
|
784
784
|
}
|
|
785
785
|
function Na(e, t) {
|
|
@@ -846,13 +846,13 @@ function ja(e, t, n) {
|
|
|
846
846
|
return o;
|
|
847
847
|
}
|
|
848
848
|
function Ft(e, t, n, r, o, s, i, a, u, f) {
|
|
849
|
-
var c = t & dr, p = t & z,
|
|
849
|
+
var c = t & dr, p = t & z, m = t & Je, y = t & (K | be), h = t & mr, g = m ? void 0 : ve(e);
|
|
850
850
|
function d() {
|
|
851
851
|
for (var b = arguments.length, E = Array(b), O = b; O--; )
|
|
852
852
|
E[O] = arguments[O];
|
|
853
|
-
if (
|
|
853
|
+
if (y)
|
|
854
854
|
var $ = Or(d), S = Ea(E, $);
|
|
855
|
-
if (r && (E = Aa(E, r, o,
|
|
855
|
+
if (r && (E = Aa(E, r, o, y)), s && (E = $a(E, s, i, y)), b -= S, y && b < f) {
|
|
856
856
|
var F = yr(E, $);
|
|
857
857
|
return Rr(
|
|
858
858
|
e,
|
|
@@ -867,27 +867,27 @@ function Ft(e, t, n, r, o, s, i, a, u, f) {
|
|
|
867
867
|
f - b
|
|
868
868
|
);
|
|
869
869
|
}
|
|
870
|
-
var B = p ? n : this, I =
|
|
871
|
-
return b = E.length, a ? E = Ia(E, a) : h && b > 1 && E.reverse(), c && u < b && (E.length = u), this && this !== $e && this instanceof d && (I =
|
|
870
|
+
var B = p ? n : this, I = m ? B[e] : e;
|
|
871
|
+
return b = E.length, a ? E = Ia(E, a) : h && b > 1 && E.reverse(), c && u < b && (E.length = u), this && this !== $e && this instanceof d && (I = g || ve(I)), I.apply(B, E);
|
|
872
872
|
}
|
|
873
873
|
return d;
|
|
874
874
|
}
|
|
875
875
|
function xa(e, t, n, r) {
|
|
876
876
|
var o = t & z, s = ve(e);
|
|
877
877
|
function i() {
|
|
878
|
-
for (var a = -1, u = arguments.length, f = -1, c = r.length, p = Array(c + u),
|
|
878
|
+
for (var a = -1, u = arguments.length, f = -1, c = r.length, p = Array(c + u), m = this && this !== $e && this instanceof i ? s : e; ++f < c; )
|
|
879
879
|
p[f] = r[f];
|
|
880
880
|
for (; u--; )
|
|
881
881
|
p[f++] = arguments[++a];
|
|
882
|
-
return gr(
|
|
882
|
+
return gr(m, o ? n : this, p);
|
|
883
883
|
}
|
|
884
884
|
return i;
|
|
885
885
|
}
|
|
886
886
|
function Rr(e, t, n, r, o, s, i, a, u, f) {
|
|
887
|
-
var c = t & K, p = c ? i : void 0,
|
|
887
|
+
var c = t & K, p = c ? i : void 0, m = c ? void 0 : i, y = c ? s : void 0, h = c ? void 0 : s;
|
|
888
888
|
t |= c ? te : we, t &= ~(c ? we : te), t & Wi || (t &= ~(z | Je));
|
|
889
|
-
var
|
|
890
|
-
return
|
|
889
|
+
var g = n(e, t, o, y, p, h, m, a, u, f);
|
|
890
|
+
return g.placeholder = r, wr(g, e, t);
|
|
891
891
|
}
|
|
892
892
|
function Fa(e, t, n, r, o, s, i, a) {
|
|
893
893
|
var u = t & Je;
|
|
@@ -898,7 +898,7 @@ function Fa(e, t, n, r, o, s, i, a) {
|
|
|
898
898
|
var c = r, p = o;
|
|
899
899
|
r = o = void 0;
|
|
900
900
|
}
|
|
901
|
-
var
|
|
901
|
+
var m = [
|
|
902
902
|
e,
|
|
903
903
|
t,
|
|
904
904
|
n,
|
|
@@ -910,11 +910,11 @@ function Fa(e, t, n, r, o, s, i, a) {
|
|
|
910
910
|
i,
|
|
911
911
|
a
|
|
912
912
|
];
|
|
913
|
-
if (e =
|
|
914
|
-
var
|
|
913
|
+
if (e = m[0], t = m[1], n = m[2], r = m[3], o = m[4], a = m[9] = m[9] == null ? u ? 0 : e.length : Le(m[9] - f, 0), !a && t & (K | be) && (t &= ~(K | be)), !t || t == z)
|
|
914
|
+
var y = Pa(e, t, n);
|
|
915
915
|
else
|
|
916
|
-
t == K || t == be ?
|
|
917
|
-
return wr(
|
|
916
|
+
t == K || t == be ? y = ja(e, t, a) : (t == te || t == (z | te)) && !o.length ? y = xa(e, t, n, r) : y = Ft.apply(void 0, m);
|
|
917
|
+
return wr(y, e, t);
|
|
918
918
|
}
|
|
919
919
|
function Or(e) {
|
|
920
920
|
var t = e;
|
|
@@ -1088,38 +1088,38 @@ class Ya {
|
|
|
1088
1088
|
});
|
|
1089
1089
|
if (c)
|
|
1090
1090
|
return c;
|
|
1091
|
-
const
|
|
1091
|
+
const m = {
|
|
1092
1092
|
uiConfig: u,
|
|
1093
1093
|
cacheConfig: f
|
|
1094
|
-
},
|
|
1094
|
+
}, y = {
|
|
1095
1095
|
...a,
|
|
1096
1096
|
BASE_PATH: this.basePath,
|
|
1097
1097
|
TIMEOUT: this.timeout,
|
|
1098
1098
|
debug: r
|
|
1099
1099
|
};
|
|
1100
1100
|
try {
|
|
1101
|
-
const h = await this.issue(
|
|
1101
|
+
const h = await this.issue(y, m);
|
|
1102
1102
|
return p == null || p(h, f), h;
|
|
1103
1103
|
} catch (h) {
|
|
1104
|
-
const
|
|
1104
|
+
const g = await Za(() => {
|
|
1105
1105
|
var d;
|
|
1106
1106
|
return r && P({
|
|
1107
1107
|
stage: N.DEAL_ERROR,
|
|
1108
1108
|
data: h
|
|
1109
1109
|
}), ((d = this.beforeError) == null ? void 0 : d.call(this, h, {
|
|
1110
1110
|
apiConfig: n,
|
|
1111
|
-
extendConfig:
|
|
1111
|
+
extendConfig: m
|
|
1112
1112
|
})) || {
|
|
1113
1113
|
canShowErrorToast: !0,
|
|
1114
1114
|
newError: h
|
|
1115
1115
|
};
|
|
1116
1116
|
}, r);
|
|
1117
|
-
if (
|
|
1117
|
+
if (g.reload)
|
|
1118
1118
|
return r && P({
|
|
1119
1119
|
stage: N.DEAL_ERROR_RESULT_RELOAD
|
|
1120
1120
|
}), this.request(n, r);
|
|
1121
1121
|
{
|
|
1122
|
-
const { newError: d, canShowErrorToast: b = !0 } =
|
|
1122
|
+
const { newError: d, canShowErrorToast: b = !0 } = g;
|
|
1123
1123
|
b && (u.errorToast ?? !0) && ((o = this.showToast) == null || o.call(this, d.message));
|
|
1124
1124
|
let E;
|
|
1125
1125
|
return d instanceof re ? E = d : d.isBusinessError ? E = new Jn(d) : E = new Re(d), r && P({
|
|
@@ -1380,8 +1380,8 @@ function Jc(e, t, n, r) {
|
|
|
1380
1380
|
for (; ++o < a; ) {
|
|
1381
1381
|
var c = e[o], p = n ? n(c) : c;
|
|
1382
1382
|
if (c = r || c !== 0 ? c : 0, i && p === p) {
|
|
1383
|
-
for (var
|
|
1384
|
-
if (t[
|
|
1383
|
+
for (var m = f; m--; )
|
|
1384
|
+
if (t[m] === p)
|
|
1385
1385
|
continue e;
|
|
1386
1386
|
u.push(c);
|
|
1387
1387
|
} else
|
|
@@ -1799,25 +1799,25 @@ const yl = /* @__PURE__ */ vr(gl), qr = ({
|
|
|
1799
1799
|
...a,
|
|
1800
1800
|
basePath: e,
|
|
1801
1801
|
timeout: t,
|
|
1802
|
-
issue: ({ TIMEOUT: c, DEBUG: p, ...
|
|
1802
|
+
issue: ({ TIMEOUT: c, DEBUG: p, ...m }) => u({
|
|
1803
1803
|
timeout: c,
|
|
1804
|
-
..._u(
|
|
1805
|
-
}).then((
|
|
1806
|
-
if (
|
|
1804
|
+
..._u(m, ["BASE_PATH"])
|
|
1805
|
+
}).then((y) => _i(y, a, p)).catch((y) => {
|
|
1806
|
+
if (y instanceof re)
|
|
1807
1807
|
return p && P(
|
|
1808
1808
|
{
|
|
1809
1809
|
stage: N.NETWORK_ERROR_ORIGIN,
|
|
1810
|
-
data:
|
|
1810
|
+
data: y
|
|
1811
1811
|
},
|
|
1812
1812
|
H.ERROR
|
|
1813
|
-
), Promise.reject(
|
|
1814
|
-
const { response: h, request:
|
|
1813
|
+
), Promise.reject(y);
|
|
1814
|
+
const { response: h, request: g } = y;
|
|
1815
1815
|
let d, b;
|
|
1816
|
-
h ? (d = h.status, b = h.statusText) :
|
|
1816
|
+
h ? (d = h.status, b = h.statusText) : g ? (d = M.NO_RESPONSE, i.isAxiosError(y) ? y.message.includes("timeout of") ? (d = M.NO_RESPONSE_TIMEOUT, b = "请求超时") : yl(globalThis, "navigator.onLine") === !1 ? (d = M.NO_RESPONSE_OFFLINE, b = "网络未连接") : b = y.message : b = _e(y) ?? "未响应") : (d = M.REQUEST_ERROR, b = _e(y) ?? "发起请求出错");
|
|
1817
1817
|
const E = new Re({
|
|
1818
1818
|
code: d,
|
|
1819
1819
|
message: b,
|
|
1820
|
-
cause:
|
|
1820
|
+
cause: y
|
|
1821
1821
|
});
|
|
1822
1822
|
return p && P(
|
|
1823
1823
|
{
|
|
@@ -2131,8 +2131,8 @@ function rt(e, t, n) {
|
|
|
2131
2131
|
metaTokens: !0,
|
|
2132
2132
|
dots: !1,
|
|
2133
2133
|
indexes: !1
|
|
2134
|
-
}, !1, function(
|
|
2135
|
-
return !l.isUndefined(d[
|
|
2134
|
+
}, !1, function(g, d) {
|
|
2135
|
+
return !l.isUndefined(d[g]);
|
|
2136
2136
|
});
|
|
2137
2137
|
const r = n.metaTokens, o = n.visitor || c, s = n.dots, i = n.indexes, u = (n.Blob || typeof Blob < "u" && Blob) && l.isSpecCompliantForm(t);
|
|
2138
2138
|
if (!l.isFunction(o))
|
|
@@ -2146,45 +2146,45 @@ function rt(e, t, n) {
|
|
|
2146
2146
|
throw new _("Blob is not supported. Use a Buffer instead.");
|
|
2147
2147
|
return l.isArrayBuffer(h) || l.isTypedArray(h) ? u && typeof Blob == "function" ? new Blob([h]) : Buffer.from(h) : h;
|
|
2148
2148
|
}
|
|
2149
|
-
function c(h,
|
|
2149
|
+
function c(h, g, d) {
|
|
2150
2150
|
let b = h;
|
|
2151
2151
|
if (h && !d && typeof h == "object") {
|
|
2152
|
-
if (l.endsWith(
|
|
2153
|
-
|
|
2154
|
-
else if (l.isArray(h) && rf(h) || (l.isFileList(h) || l.endsWith(
|
|
2155
|
-
return
|
|
2152
|
+
if (l.endsWith(g, "{}"))
|
|
2153
|
+
g = r ? g : g.slice(0, -2), h = JSON.stringify(h);
|
|
2154
|
+
else if (l.isArray(h) && rf(h) || (l.isFileList(h) || l.endsWith(g, "[]")) && (b = l.toArray(h)))
|
|
2155
|
+
return g = eo(g), b.forEach(function(O, $) {
|
|
2156
2156
|
!(l.isUndefined(O) || O === null) && t.append(
|
|
2157
2157
|
// eslint-disable-next-line no-nested-ternary
|
|
2158
|
-
i === !0 ? $n([
|
|
2158
|
+
i === !0 ? $n([g], $, s) : i === null ? g : g + "[]",
|
|
2159
2159
|
f(O)
|
|
2160
2160
|
);
|
|
2161
2161
|
}), !1;
|
|
2162
2162
|
}
|
|
2163
|
-
return bt(h) ? !0 : (t.append($n(d,
|
|
2163
|
+
return bt(h) ? !0 : (t.append($n(d, g, s), f(h)), !1);
|
|
2164
2164
|
}
|
|
2165
|
-
const p = [],
|
|
2165
|
+
const p = [], m = Object.assign(of, {
|
|
2166
2166
|
defaultVisitor: c,
|
|
2167
2167
|
convertValue: f,
|
|
2168
2168
|
isVisitable: bt
|
|
2169
2169
|
});
|
|
2170
|
-
function
|
|
2170
|
+
function y(h, g) {
|
|
2171
2171
|
if (!l.isUndefined(h)) {
|
|
2172
2172
|
if (p.indexOf(h) !== -1)
|
|
2173
|
-
throw Error("Circular reference detected in " +
|
|
2173
|
+
throw Error("Circular reference detected in " + g.join("."));
|
|
2174
2174
|
p.push(h), l.forEach(h, function(b, E) {
|
|
2175
2175
|
(!(l.isUndefined(b) || b === null) && o.call(
|
|
2176
2176
|
t,
|
|
2177
2177
|
b,
|
|
2178
2178
|
l.isString(E) ? E.trim() : E,
|
|
2179
|
-
|
|
2180
|
-
|
|
2181
|
-
)) === !0 &&
|
|
2179
|
+
g,
|
|
2180
|
+
m
|
|
2181
|
+
)) === !0 && y(b, g ? g.concat(E) : [E]);
|
|
2182
2182
|
}), p.pop();
|
|
2183
2183
|
}
|
|
2184
2184
|
}
|
|
2185
2185
|
if (!l.isObject(e))
|
|
2186
2186
|
throw new TypeError("data must be an object");
|
|
2187
|
-
return
|
|
2187
|
+
return y(e), t;
|
|
2188
2188
|
}
|
|
2189
2189
|
function Nn(e) {
|
|
2190
2190
|
const t = {
|
|
@@ -2307,14 +2307,14 @@ self instanceof WorkerGlobalScope && typeof self.importScripts == "function")(),
|
|
|
2307
2307
|
hasStandardBrowserWebWorkerEnv: hf,
|
|
2308
2308
|
navigator: Rt,
|
|
2309
2309
|
origin: df
|
|
2310
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
2310
|
+
}, Symbol.toStringTag, { value: "Module" })), C = {
|
|
2311
2311
|
...mf,
|
|
2312
2312
|
...ff
|
|
2313
2313
|
};
|
|
2314
2314
|
function gf(e, t) {
|
|
2315
|
-
return rt(e, new
|
|
2315
|
+
return rt(e, new C.classes.URLSearchParams(), Object.assign({
|
|
2316
2316
|
visitor: function(n, r, o, s) {
|
|
2317
|
-
return
|
|
2317
|
+
return C.isNode && l.isBuffer(n) ? (this.append(r, n.toString("base64")), !1) : s.defaultVisitor.apply(this, arguments);
|
|
2318
2318
|
}
|
|
2319
2319
|
}, t));
|
|
2320
2320
|
}
|
|
@@ -2409,8 +2409,8 @@ const Vt = {
|
|
|
2409
2409
|
maxContentLength: -1,
|
|
2410
2410
|
maxBodyLength: -1,
|
|
2411
2411
|
env: {
|
|
2412
|
-
FormData:
|
|
2413
|
-
Blob:
|
|
2412
|
+
FormData: C.classes.FormData,
|
|
2413
|
+
Blob: C.classes.Blob
|
|
2414
2414
|
},
|
|
2415
2415
|
validateStatus: function(t) {
|
|
2416
2416
|
return t >= 200 && t < 300;
|
|
@@ -2656,13 +2656,13 @@ function Cf(e, t) {
|
|
|
2656
2656
|
return t = t !== void 0 ? t : 1e3, function(u) {
|
|
2657
2657
|
const f = Date.now(), c = r[s];
|
|
2658
2658
|
i || (i = f), n[o] = u, r[o] = f;
|
|
2659
|
-
let p = s,
|
|
2659
|
+
let p = s, m = 0;
|
|
2660
2660
|
for (; p !== o; )
|
|
2661
|
-
|
|
2661
|
+
m += n[p++], p = p % e;
|
|
2662
2662
|
if (o = (o + 1) % e, o === s && (s = (s + 1) % e), f - i < t)
|
|
2663
2663
|
return;
|
|
2664
|
-
const
|
|
2665
|
-
return
|
|
2664
|
+
const y = c && f - c;
|
|
2665
|
+
return y ? Math.round(m * 1e3 / y) : void 0;
|
|
2666
2666
|
};
|
|
2667
2667
|
}
|
|
2668
2668
|
function Af(e, t) {
|
|
@@ -2703,10 +2703,10 @@ const Me = (e, t, n = 3) => {
|
|
|
2703
2703
|
total: e,
|
|
2704
2704
|
loaded: r
|
|
2705
2705
|
}), t[1]];
|
|
2706
|
-
}, Fn = (e) => (...t) => l.asap(() => e(...t)), $f =
|
|
2707
|
-
new URL(
|
|
2708
|
-
|
|
2709
|
-
) : () => !0, Nf =
|
|
2706
|
+
}, Fn = (e) => (...t) => l.asap(() => e(...t)), $f = C.hasStandardBrowserEnv ? ((e, t) => (n) => (n = new URL(n, C.origin), e.protocol === n.protocol && e.host === n.host && (t || e.port === n.port)))(
|
|
2707
|
+
new URL(C.origin),
|
|
2708
|
+
C.navigator && /(msie|trident)/i.test(C.navigator.userAgent)
|
|
2709
|
+
) : () => !0, Nf = C.hasStandardBrowserEnv ? (
|
|
2710
2710
|
// Standard browser envs support document.cookie
|
|
2711
2711
|
{
|
|
2712
2712
|
write(e, t, n, r, o, s) {
|
|
@@ -2747,15 +2747,15 @@ const Bn = (e) => e instanceof j ? { ...e } : e;
|
|
|
2747
2747
|
function X(e, t) {
|
|
2748
2748
|
t = t || {};
|
|
2749
2749
|
const n = {};
|
|
2750
|
-
function r(f, c, p,
|
|
2751
|
-
return l.isPlainObject(f) && l.isPlainObject(c) ? l.merge.call({ caseless:
|
|
2750
|
+
function r(f, c, p, m) {
|
|
2751
|
+
return l.isPlainObject(f) && l.isPlainObject(c) ? l.merge.call({ caseless: m }, f, c) : l.isPlainObject(c) ? l.merge({}, c) : l.isArray(c) ? c.slice() : c;
|
|
2752
2752
|
}
|
|
2753
|
-
function o(f, c, p,
|
|
2753
|
+
function o(f, c, p, m) {
|
|
2754
2754
|
if (l.isUndefined(c)) {
|
|
2755
2755
|
if (!l.isUndefined(f))
|
|
2756
|
-
return r(void 0, f, p,
|
|
2756
|
+
return r(void 0, f, p, m);
|
|
2757
2757
|
} else
|
|
2758
|
-
return r(f, c, p,
|
|
2758
|
+
return r(f, c, p, m);
|
|
2759
2759
|
}
|
|
2760
2760
|
function s(f, c) {
|
|
2761
2761
|
if (!l.isUndefined(c))
|
|
@@ -2806,8 +2806,8 @@ function X(e, t) {
|
|
|
2806
2806
|
headers: (f, c, p) => o(Bn(f), Bn(c), p, !0)
|
|
2807
2807
|
};
|
|
2808
2808
|
return l.forEach(Object.keys(Object.assign({}, e, t)), function(c) {
|
|
2809
|
-
const p = u[c] || o,
|
|
2810
|
-
l.isUndefined(
|
|
2809
|
+
const p = u[c] || o, m = p(e[c], t[c], c);
|
|
2810
|
+
l.isUndefined(m) && p !== a || (n[c] = m);
|
|
2811
2811
|
}), n;
|
|
2812
2812
|
}
|
|
2813
2813
|
const co = (e) => {
|
|
@@ -2819,14 +2819,14 @@ const co = (e) => {
|
|
|
2819
2819
|
);
|
|
2820
2820
|
let u;
|
|
2821
2821
|
if (l.isFormData(n)) {
|
|
2822
|
-
if (
|
|
2822
|
+
if (C.hasStandardBrowserEnv || C.hasStandardBrowserWebWorkerEnv)
|
|
2823
2823
|
i.setContentType(void 0);
|
|
2824
2824
|
else if ((u = i.getContentType()) !== !1) {
|
|
2825
2825
|
const [f, ...c] = u ? u.split(";").map((p) => p.trim()).filter(Boolean) : [];
|
|
2826
2826
|
i.setContentType([f || "multipart/form-data", ...c].join("; "));
|
|
2827
2827
|
}
|
|
2828
2828
|
}
|
|
2829
|
-
if (
|
|
2829
|
+
if (C.hasStandardBrowserEnv && (r && l.isFunction(r) && (r = r(t)), r || r !== !1 && $f(t.url))) {
|
|
2830
2830
|
const f = o && s && Nf.read(s);
|
|
2831
2831
|
f && i.set(o, f);
|
|
2832
2832
|
}
|
|
@@ -2836,9 +2836,9 @@ const co = (e) => {
|
|
|
2836
2836
|
const o = co(e);
|
|
2837
2837
|
let s = o.data;
|
|
2838
2838
|
const i = j.from(o.headers).normalize();
|
|
2839
|
-
let { responseType: a, onUploadProgress: u, onDownloadProgress: f } = o, c, p,
|
|
2840
|
-
function
|
|
2841
|
-
|
|
2839
|
+
let { responseType: a, onUploadProgress: u, onDownloadProgress: f } = o, c, p, m, y, h;
|
|
2840
|
+
function g() {
|
|
2841
|
+
y && y(), h && h(), o.cancelToken && o.cancelToken.unsubscribe(c), o.signal && o.signal.removeEventListener("abort", c);
|
|
2842
2842
|
}
|
|
2843
2843
|
let d = new XMLHttpRequest();
|
|
2844
2844
|
d.open(o.method.toUpperCase(), o.url, !0), d.timeout = o.timeout;
|
|
@@ -2856,9 +2856,9 @@ const co = (e) => {
|
|
|
2856
2856
|
request: d
|
|
2857
2857
|
};
|
|
2858
2858
|
io(function(B) {
|
|
2859
|
-
n(B),
|
|
2859
|
+
n(B), g();
|
|
2860
2860
|
}, function(B) {
|
|
2861
|
-
r(B),
|
|
2861
|
+
r(B), g();
|
|
2862
2862
|
}, S), d = null;
|
|
2863
2863
|
}
|
|
2864
2864
|
"onloadend" in d ? d.onloadend = b : d.onreadystatechange = function() {
|
|
@@ -2878,11 +2878,11 @@ const co = (e) => {
|
|
|
2878
2878
|
)), d = null;
|
|
2879
2879
|
}, s === void 0 && i.setContentType(null), "setRequestHeader" in d && l.forEach(i.toJSON(), function($, S) {
|
|
2880
2880
|
d.setRequestHeader(S, $);
|
|
2881
|
-
}), l.isUndefined(o.withCredentials) || (d.withCredentials = !!o.withCredentials), a && a !== "json" && (d.responseType = o.responseType), f && ([
|
|
2881
|
+
}), l.isUndefined(o.withCredentials) || (d.withCredentials = !!o.withCredentials), a && a !== "json" && (d.responseType = o.responseType), f && ([m, h] = Me(f, !0), d.addEventListener("progress", m)), u && d.upload && ([p, y] = Me(u), d.upload.addEventListener("progress", p), d.upload.addEventListener("loadend", y)), (o.cancelToken || o.signal) && (c = (O) => {
|
|
2882
2882
|
d && (r(!O || O.type ? new de(null, e, d) : O), d.abort(), d = null);
|
|
2883
2883
|
}, o.cancelToken && o.cancelToken.subscribe(c), o.signal && (o.signal.aborted ? c() : o.signal.addEventListener("abort", c)));
|
|
2884
2884
|
const E = Tf(o.url);
|
|
2885
|
-
if (E &&
|
|
2885
|
+
if (E && C.protocols.indexOf(E) === -1) {
|
|
2886
2886
|
r(new _("Unsupported protocol " + E + ":", _.ERR_BAD_REQUEST, e));
|
|
2887
2887
|
return;
|
|
2888
2888
|
}
|
|
@@ -2954,8 +2954,8 @@ const co = (e) => {
|
|
|
2954
2954
|
}
|
|
2955
2955
|
let p = c.byteLength;
|
|
2956
2956
|
if (n) {
|
|
2957
|
-
let
|
|
2958
|
-
n(
|
|
2957
|
+
let m = s += p;
|
|
2958
|
+
n(m);
|
|
2959
2959
|
}
|
|
2960
2960
|
u.enqueue(new Uint8Array(c));
|
|
2961
2961
|
} catch (f) {
|
|
@@ -2976,7 +2976,7 @@ const co = (e) => {
|
|
|
2976
2976
|
}
|
|
2977
2977
|
}, kf = uo && lo(() => {
|
|
2978
2978
|
let e = !1;
|
|
2979
|
-
const t = new Request(
|
|
2979
|
+
const t = new Request(C.origin, {
|
|
2980
2980
|
body: new ReadableStream(),
|
|
2981
2981
|
method: "POST",
|
|
2982
2982
|
get duplex() {
|
|
@@ -3000,7 +3000,7 @@ const Hf = async (e) => {
|
|
|
3000
3000
|
if (l.isBlob(e))
|
|
3001
3001
|
return e.size;
|
|
3002
3002
|
if (l.isSpecCompliantForm(e))
|
|
3003
|
-
return (await new Request(
|
|
3003
|
+
return (await new Request(C.origin, {
|
|
3004
3004
|
method: "POST",
|
|
3005
3005
|
body: e
|
|
3006
3006
|
}).arrayBuffer()).byteLength;
|
|
@@ -3024,12 +3024,12 @@ const Hf = async (e) => {
|
|
|
3024
3024
|
responseType: f,
|
|
3025
3025
|
headers: c,
|
|
3026
3026
|
withCredentials: p = "same-origin",
|
|
3027
|
-
fetchOptions:
|
|
3027
|
+
fetchOptions: m
|
|
3028
3028
|
} = co(e);
|
|
3029
3029
|
f = f ? (f + "").toLowerCase() : "text";
|
|
3030
|
-
let
|
|
3031
|
-
const
|
|
3032
|
-
|
|
3030
|
+
let y = Uf([o, s && s.toAbortSignal()], i), h;
|
|
3031
|
+
const g = y && y.unsubscribe && (() => {
|
|
3032
|
+
y.unsubscribe();
|
|
3033
3033
|
});
|
|
3034
3034
|
let d;
|
|
3035
3035
|
try {
|
|
@@ -3050,8 +3050,8 @@ const Hf = async (e) => {
|
|
|
3050
3050
|
l.isString(p) || (p = p ? "include" : "omit");
|
|
3051
3051
|
const b = "credentials" in Request.prototype;
|
|
3052
3052
|
h = new Request(t, {
|
|
3053
|
-
...
|
|
3054
|
-
signal:
|
|
3053
|
+
...m,
|
|
3054
|
+
signal: y,
|
|
3055
3055
|
method: n.toUpperCase(),
|
|
3056
3056
|
headers: c.normalize().toJSON(),
|
|
3057
3057
|
body: r,
|
|
@@ -3060,7 +3060,7 @@ const Hf = async (e) => {
|
|
|
3060
3060
|
});
|
|
3061
3061
|
let E = await fetch(h);
|
|
3062
3062
|
const O = Ot && (f === "stream" || f === "response");
|
|
3063
|
-
if (Ot && (a || O &&
|
|
3063
|
+
if (Ot && (a || O && g)) {
|
|
3064
3064
|
const S = {};
|
|
3065
3065
|
["status", "statusText", "headers"].forEach((rn) => {
|
|
3066
3066
|
S[rn] = E[rn];
|
|
@@ -3071,14 +3071,14 @@ const Hf = async (e) => {
|
|
|
3071
3071
|
) || [];
|
|
3072
3072
|
E = new Response(
|
|
3073
3073
|
Un(E.body, Dn, B, () => {
|
|
3074
|
-
I && I(),
|
|
3074
|
+
I && I(), g && g();
|
|
3075
3075
|
}),
|
|
3076
3076
|
S
|
|
3077
3077
|
);
|
|
3078
3078
|
}
|
|
3079
3079
|
f = f || "text";
|
|
3080
3080
|
let $ = await ke[l.findKey(ke, f) || "text"](E, e);
|
|
3081
|
-
return !O &&
|
|
3081
|
+
return !O && g && g(), await new Promise((S, F) => {
|
|
3082
3082
|
io(S, F, {
|
|
3083
3083
|
data: $,
|
|
3084
3084
|
headers: j.from(E.headers),
|
|
@@ -3089,7 +3089,7 @@ const Hf = async (e) => {
|
|
|
3089
3089
|
});
|
|
3090
3090
|
});
|
|
3091
3091
|
} catch (b) {
|
|
3092
|
-
throw
|
|
3092
|
+
throw g && g(), b && b.name === "TypeError" && /fetch/i.test(b.message) ? Object.assign(
|
|
3093
3093
|
new _("Network Error", _.ERR_NETWORK, e, h),
|
|
3094
3094
|
{
|
|
3095
3095
|
cause: b.cause || b
|
|
@@ -3272,37 +3272,37 @@ class He {
|
|
|
3272
3272
|
), n.headers = j.concat(i, s);
|
|
3273
3273
|
const a = [];
|
|
3274
3274
|
let u = !0;
|
|
3275
|
-
this.interceptors.request.forEach(function(
|
|
3276
|
-
typeof
|
|
3275
|
+
this.interceptors.request.forEach(function(g) {
|
|
3276
|
+
typeof g.runWhen == "function" && g.runWhen(n) === !1 || (u = u && g.synchronous, a.unshift(g.fulfilled, g.rejected));
|
|
3277
3277
|
});
|
|
3278
3278
|
const f = [];
|
|
3279
|
-
this.interceptors.response.forEach(function(
|
|
3280
|
-
f.push(
|
|
3279
|
+
this.interceptors.response.forEach(function(g) {
|
|
3280
|
+
f.push(g.fulfilled, g.rejected);
|
|
3281
3281
|
});
|
|
3282
|
-
let c, p = 0,
|
|
3282
|
+
let c, p = 0, m;
|
|
3283
3283
|
if (!u) {
|
|
3284
3284
|
const h = [In.bind(this), void 0];
|
|
3285
|
-
for (h.unshift.apply(h, a), h.push.apply(h, f),
|
|
3285
|
+
for (h.unshift.apply(h, a), h.push.apply(h, f), m = h.length, c = Promise.resolve(n); p < m; )
|
|
3286
3286
|
c = c.then(h[p++], h[p++]);
|
|
3287
3287
|
return c;
|
|
3288
3288
|
}
|
|
3289
|
-
|
|
3290
|
-
let
|
|
3291
|
-
for (p = 0; p <
|
|
3292
|
-
const h = a[p++],
|
|
3289
|
+
m = a.length;
|
|
3290
|
+
let y = n;
|
|
3291
|
+
for (p = 0; p < m; ) {
|
|
3292
|
+
const h = a[p++], g = a[p++];
|
|
3293
3293
|
try {
|
|
3294
|
-
|
|
3294
|
+
y = h(y);
|
|
3295
3295
|
} catch (d) {
|
|
3296
|
-
|
|
3296
|
+
g.call(this, d);
|
|
3297
3297
|
break;
|
|
3298
3298
|
}
|
|
3299
3299
|
}
|
|
3300
3300
|
try {
|
|
3301
|
-
c = In.call(this,
|
|
3301
|
+
c = In.call(this, y);
|
|
3302
3302
|
} catch (h) {
|
|
3303
3303
|
return Promise.reject(h);
|
|
3304
3304
|
}
|
|
3305
|
-
for (p = 0,
|
|
3305
|
+
for (p = 0, m = f.length; p < m; )
|
|
3306
3306
|
c = c.then(f[p++], f[p++]);
|
|
3307
3307
|
return c;
|
|
3308
3308
|
}
|
|
@@ -3648,7 +3648,7 @@ const Zf = 3e4, kn = Math.random(), mo = {
|
|
|
3648
3648
|
platform: e,
|
|
3649
3649
|
username: t
|
|
3650
3650
|
};
|
|
3651
|
-
e || (n.platform = (await
|
|
3651
|
+
e || (n.platform = (await T(en())).platform), t || (n.username = (await T(tn())).username);
|
|
3652
3652
|
const { platform: r, username: o } = n;
|
|
3653
3653
|
let s = [];
|
|
3654
3654
|
const i = sp({
|
|
@@ -3688,7 +3688,7 @@ const Zf = 3e4, kn = Math.random(), mo = {
|
|
|
3688
3688
|
return;
|
|
3689
3689
|
} else
|
|
3690
3690
|
R.stage(`共${s.length}个仓库`);
|
|
3691
|
-
const { repoUrl: f } = await
|
|
3691
|
+
const { repoUrl: f } = await T({
|
|
3692
3692
|
name: "repoUrl",
|
|
3693
3693
|
type: "select",
|
|
3694
3694
|
message: "选择仓库",
|
|
@@ -3789,7 +3789,7 @@ const Zf = 3e4, kn = Math.random(), mo = {
|
|
|
3789
3789
|
});
|
|
3790
3790
|
}
|
|
3791
3791
|
case ne.CLONE_CONFIG: {
|
|
3792
|
-
const { rootDir: n } = e, { platform: r } = await
|
|
3792
|
+
const { rootDir: n } = e, { platform: r } = await T(en()), { username: o } = await T(tn()), { accessToken: s } = await T(ap);
|
|
3793
3793
|
return ip({
|
|
3794
3794
|
rootDir: n,
|
|
3795
3795
|
platform: r,
|
|
@@ -3910,19 +3910,19 @@ const Zf = 3e4, kn = Math.random(), mo = {
|
|
|
3910
3910
|
o.forEach((u, f) => {
|
|
3911
3911
|
var c;
|
|
3912
3912
|
const p = u.mergeInfo || ((c = a[u.hash]) == null ? void 0 : c.mergeInfo);
|
|
3913
|
-
p && Object.entries(n).forEach(([
|
|
3914
|
-
const
|
|
3915
|
-
if (f >
|
|
3916
|
-
R.skip(`${
|
|
3913
|
+
p && Object.entries(n).forEach(([m]) => {
|
|
3914
|
+
const y = s[m];
|
|
3915
|
+
if (f > y) {
|
|
3916
|
+
R.skip(`${m} 只检测${y + 1}条, 超出不再检测`);
|
|
3917
3917
|
return;
|
|
3918
3918
|
}
|
|
3919
3919
|
const h = nn({
|
|
3920
3920
|
mergeInfo: p,
|
|
3921
3921
|
configMap: n,
|
|
3922
3922
|
currentBranch: t
|
|
3923
|
-
}), { fromBranch:
|
|
3923
|
+
}), { fromBranch: g } = p;
|
|
3924
3924
|
if (h) {
|
|
3925
|
-
const d = `发现${
|
|
3925
|
+
const d = `发现${g}被合并
|
|
3926
3926
|
本次提交版本 ${u.hash}
|
|
3927
3927
|
提交注释 ${u.message}
|
|
3928
3928
|
提交人: ${u.committer}
|
|
@@ -4083,9 +4083,9 @@ const Zf = 3e4, kn = Math.random(), mo = {
|
|
|
4083
4083
|
].map(St), Gn({ packageJson: Zt });
|
|
4084
4084
|
const Bp = async (e) => {
|
|
4085
4085
|
console.log("克隆done-coding系列项目"), console.log("选择平台:");
|
|
4086
|
-
const { platform: t } = await
|
|
4086
|
+
const { platform: t } = await T(en(L.GITEE));
|
|
4087
4087
|
console.log("选择用户名:");
|
|
4088
|
-
const { username: n } = await
|
|
4088
|
+
const { username: n } = await T(
|
|
4089
4089
|
tn(
|
|
4090
4090
|
{
|
|
4091
4091
|
[L.GITHUB]: "done-coding",
|
|
@@ -4117,74 +4117,84 @@ const Bp = async (e) => {
|
|
|
4117
4117
|
R.info("仅仅(从done-coding系列项目列表中)克隆远程仓库"), await Bp(t);
|
|
4118
4118
|
return;
|
|
4119
4119
|
}
|
|
4120
|
-
const o = ((t ?? (await
|
|
4120
|
+
const o = ((t ?? (await T(Ko)).projectName) || "").trim();
|
|
4121
4121
|
if (!o)
|
|
4122
4122
|
return R.error("项目名称不能为空"), process.exit(1);
|
|
4123
4123
|
if (o.includes(" ") || o.includes("\\") || o.includes("/"))
|
|
4124
4124
|
return R.error(`项目名称\`${o}\`不能包含空格或者\\或者/`), process.exit(1);
|
|
4125
4125
|
const s = Io(process.cwd(), o);
|
|
4126
4126
|
if (on(s)) {
|
|
4127
|
-
const { isRemove:
|
|
4128
|
-
if (
|
|
4127
|
+
const { isRemove: h } = await T(Vo());
|
|
4128
|
+
if (h === !0)
|
|
4129
4129
|
je(s, { recursive: !0, force: !0 });
|
|
4130
4130
|
else
|
|
4131
4131
|
return R.error(`项目${o}已存在`), process.exit(1);
|
|
4132
4132
|
}
|
|
4133
|
-
const { template: i } = await
|
|
4133
|
+
const { template: i } = await T(await zo());
|
|
4134
4134
|
let a = "", u = "";
|
|
4135
4135
|
if (i === Kn) {
|
|
4136
|
-
const { customUrl:
|
|
4137
|
-
a =
|
|
4136
|
+
const { customUrl: h } = await T(Xo);
|
|
4137
|
+
a = h;
|
|
4138
4138
|
} else if (i === Wn)
|
|
4139
4139
|
a = await Go();
|
|
4140
4140
|
else {
|
|
4141
|
-
const
|
|
4142
|
-
(
|
|
4141
|
+
const h = (await zn()).find(
|
|
4142
|
+
(g) => g.name === i
|
|
4143
4143
|
);
|
|
4144
|
-
if (!
|
|
4144
|
+
if (!h)
|
|
4145
4145
|
return R.error(`模板${i}不存在`), process.exit(1);
|
|
4146
|
-
if (!
|
|
4146
|
+
if (!h.url)
|
|
4147
4147
|
return R.error(`模板${i}仓库地址不存在`), process.exit(1);
|
|
4148
|
-
if (a =
|
|
4149
|
-
u =
|
|
4150
|
-
else if (Array.isArray(
|
|
4151
|
-
const { targetBranch:
|
|
4148
|
+
if (a = h.url, typeof h.branch == "string")
|
|
4149
|
+
u = h.branch;
|
|
4150
|
+
else if (Array.isArray(h.branch) && h.branch.length > 0) {
|
|
4151
|
+
const { targetBranch: g } = await T({
|
|
4152
4152
|
type: "select",
|
|
4153
4153
|
name: "targetBranch",
|
|
4154
4154
|
message: "请选择模板分支",
|
|
4155
|
-
choices:
|
|
4156
|
-
title:
|
|
4157
|
-
value:
|
|
4158
|
-
description:
|
|
4155
|
+
choices: h.branch.map((d) => ({
|
|
4156
|
+
title: d.name,
|
|
4157
|
+
value: d.name,
|
|
4158
|
+
description: d.description
|
|
4159
4159
|
}))
|
|
4160
4160
|
// initial: 0,
|
|
4161
4161
|
});
|
|
4162
|
-
u =
|
|
4162
|
+
u = g;
|
|
4163
4163
|
}
|
|
4164
4164
|
}
|
|
4165
4165
|
const f = qn(".git");
|
|
4166
|
+
let c = "";
|
|
4167
|
+
if (!f && u) {
|
|
4168
|
+
const { localBranchName: h } = await T({
|
|
4169
|
+
type: "text",
|
|
4170
|
+
name: "localBranchName",
|
|
4171
|
+
message: "请输入克隆到本地后的分支名",
|
|
4172
|
+
initial: "master"
|
|
4173
|
+
});
|
|
4174
|
+
c = h;
|
|
4175
|
+
}
|
|
4166
4176
|
R.stage("正在初始化项目,请稍等..."), Y(
|
|
4167
|
-
`git clone${u ? ` -b ${u}` : ""} ${a} ${o} --depth=1`,
|
|
4177
|
+
`git clone${u ? ` -b ${u} ${c}` : ""} ${a} ${o} --depth=1`,
|
|
4168
4178
|
{ stdio: "inherit" }
|
|
4169
4179
|
);
|
|
4170
|
-
const
|
|
4180
|
+
const p = Ho, m = Mo({
|
|
4171
4181
|
rootDir: s,
|
|
4172
|
-
configPath:
|
|
4182
|
+
configPath: p
|
|
4173
4183
|
});
|
|
4174
|
-
if (
|
|
4184
|
+
if (m && (await ko({
|
|
4175
4185
|
rootDir: s,
|
|
4176
|
-
configPath:
|
|
4186
|
+
configPath: p,
|
|
4177
4187
|
extraEnvData: {
|
|
4178
4188
|
$projectName: o
|
|
4179
4189
|
}
|
|
4180
|
-
}), je(
|
|
4181
|
-
const
|
|
4182
|
-
if (!on(
|
|
4190
|
+
}), je(m, { force: !0 }), R.stage("模板项目配置注入成功, 模版项目配置文件已删除")), R.stage("项目初始化完成"), f) {
|
|
4191
|
+
const h = Ee.resolve(s), g = Ee.resolve(h, ".git");
|
|
4192
|
+
if (!on(g))
|
|
4183
4193
|
throw new Error("git目录不存在");
|
|
4184
|
-
je(
|
|
4185
|
-
`项目创建在父级git仓库${f}中,已删除${o}目录下的.git(${
|
|
4194
|
+
je(g, { recursive: !0, force: !0 }), R.stage(
|
|
4195
|
+
`项目创建在父级git仓库${f}中,已删除${o}目录下的.git(${g})`
|
|
4186
4196
|
);
|
|
4187
|
-
} else if ((await
|
|
4197
|
+
} else if ((await T(Jo)).saveGitHistory)
|
|
4188
4198
|
Y("git remote rename origin upstream && git fetch --unshallow", {
|
|
4189
4199
|
cwd: s,
|
|
4190
4200
|
stdio: "inherit"
|
|
@@ -4192,16 +4202,16 @@ const Bp = async (e) => {
|
|
|
4192
4202
|
"已经将origin重命名为upstream,后续可以与模板git仓库有完整的交互"
|
|
4193
4203
|
), R.success("已保存git历史记录");
|
|
4194
4204
|
else {
|
|
4195
|
-
const
|
|
4196
|
-
je(
|
|
4205
|
+
const g = Ee.resolve(s, ".git");
|
|
4206
|
+
je(g, { recursive: !0, force: !0 }), Y("git init", {
|
|
4197
4207
|
cwd: s,
|
|
4198
4208
|
stdio: "inherit"
|
|
4199
4209
|
});
|
|
4200
4210
|
}
|
|
4201
|
-
const { gitCommitMessage:
|
|
4211
|
+
const { gitCommitMessage: y } = await T(
|
|
4202
4212
|
Qo(o)
|
|
4203
4213
|
);
|
|
4204
|
-
Y(`git add . && git commit -m '${
|
|
4214
|
+
Y(`git add . && git commit -m '${y}'`, {
|
|
4205
4215
|
cwd: s,
|
|
4206
4216
|
stdio: "inherit"
|
|
4207
4217
|
}), R.success(`项目${o}初始化完成`), R.info(`
|
package/es/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { S as d, e as s, a as p, b as c, h as b, d as l } from "./index-
|
|
2
|
+
import { S as d, e as s, a as p, b as c, h as b, d as l } from "./index-d1258ba5.js";
|
|
3
3
|
import "@done-coding/cli-utils";
|
|
4
4
|
import "node:child_process";
|
|
5
5
|
import "node:fs";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-done-coding",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.18",
|
|
4
4
|
"description": "项目创建命令行工具",
|
|
5
5
|
"module": "es/index.mjs",
|
|
6
6
|
"type": "module",
|
|
@@ -54,5 +54,5 @@
|
|
|
54
54
|
"@done-coding/cli-template": "0.8.4",
|
|
55
55
|
"@done-coding/cli-utils": "0.7.7"
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "85266dee9219d30f35adba2a02dcaf2e2ff4ed52"
|
|
58
58
|
}
|