@zalkera/cli 0.28.0 → 0.28.1

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.
Files changed (2) hide show
  1. package/dist/main.js +44 -21
  2. package/package.json +1 -1
package/dist/main.js CHANGED
@@ -29,7 +29,7 @@ function plainNotice(text, limit = 300) {
29
29
  const tidy = defang(stripped).replace(/\s+/g, " ").trim();
30
30
  return tidy.length > cap ? `${tidy.slice(0, cap)}\u2026` : tidy;
31
31
  }
32
- var INNER_BOUND, MAX_CAP, LINK_SHAPE, AUTOLINK_SHAPE, DEFANG_PASSES;
32
+ var INNER_BOUND, MAX_CAP, LINK_SHAPE, AUTOLINK_SHAPE, DEFANG_PASSES, count, JOSA_PAIRS, countJosa;
33
33
  var init_notice = __esm({
34
34
  "../core/dist/notice.js"() {
35
35
  "use strict";
@@ -38,6 +38,28 @@ var init_notice = __esm({
38
38
  LINK_SHAPE = new RegExp(`\\]\\s*\\(\\s*([A-Za-z][A-Za-z0-9+.-]*:[^)]{0,${INNER_BOUND}})\\)`, "g");
39
39
  AUTOLINK_SHAPE = new RegExp(`<\\s*([A-Za-z][A-Za-z0-9+.-]*:[^>\\s]{0,${INNER_BOUND}})\\s*>`, "g");
40
40
  DEFANG_PASSES = 4;
41
+ count = (value) => {
42
+ if (typeof value !== "number" && typeof value !== "bigint")
43
+ return "?";
44
+ const n = Number(value);
45
+ return Number.isFinite(n) ? String(n) : "?";
46
+ };
47
+ JOSA_PAIRS = {
48
+ "\uC774/\uAC00": ["\uC774", "\uAC00"],
49
+ "\uC744/\uB97C": ["\uC744", "\uB97C"],
50
+ "\uC740/\uB294": ["\uC740", "\uB294"],
51
+ "\uC73C\uB85C/\uB85C": ["\uC73C\uB85C", "\uB85C"]
52
+ };
53
+ countJosa = (value, josa) => {
54
+ const drawn = count(value);
55
+ const pair = JOSA_PAIRS[josa];
56
+ if (!pair)
57
+ return drawn;
58
+ const last = drawn.slice(-1);
59
+ const kind = /[2459]/.test(last) ? "none" : /[178]/.test(last) ? "rieul" : /[036]/.test(last) ? "other" : "none";
60
+ const withoutFinal = kind === "none" || kind === "rieul" && josa === "\uC73C\uB85C/\uB85C";
61
+ return `${drawn}${withoutFinal ? pair[1] : pair[0]}`;
62
+ };
41
63
  }
42
64
  });
43
65
 
@@ -3136,10 +3158,10 @@ async function pushSiteSource(options) {
3136
3158
  const notYetLive = active < ledger.base.revisionNo;
3137
3159
  const mineRow = notYetLive ? rows.find((row) => row.revisionNo === ledger.base.revisionNo) : void 0;
3138
3160
  if (mineRow?.status === "BUILDING") {
3139
- throw new DevtoolsError("PUSH_BASE_BUILDING", `${ledger.base.revisionNo}\uD310\uC744 \uC9D3\uB294 \uC911\uC774\uB77C \uC544\uC9C1 \uC62C\uB9B4 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.`, "\uBE4C\uB4DC\uAC00 \uB05D\uB098\uBA74 \uADF8 \uBC84\uC804\uC774 \uCF1C\uC9D1\uB2C8\uB2E4 \u2014 `zalkera status` \uB85C \uD655\uC778\uD55C \uB4A4 \uB2E4\uC2DC \uC62C\uB824 \uC8FC\uC138\uC694. \uC774 \uD3F4\uB354\uB294 \uADF8\uB300\uB85C \uB450\uC154\uB3C4 \uB429\uB2C8\uB2E4.");
3161
+ throw new DevtoolsError("PUSH_BASE_BUILDING", `\uBC84\uC804 ${countJosa(ledger.base.revisionNo, "\uC744/\uB97C")} \uC9D3\uB294 \uC911\uC774\uB77C \uC544\uC9C1 \uC62C\uB9B4 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.`, "\uBE4C\uB4DC\uAC00 \uB05D\uB098\uBA74 \uADF8 \uBC84\uC804\uC774 \uCF1C\uC9D1\uB2C8\uB2E4 \u2014 `zalkera status` \uB85C \uD655\uC778\uD55C \uB4A4 \uB2E4\uC2DC \uC62C\uB824 \uC8FC\uC138\uC694. \uC774 \uD3F4\uB354\uB294 \uADF8\uB300\uB85C \uB450\uC154\uB3C4 \uB429\uB2C8\uB2E4.");
3140
3162
  }
3141
3163
  if (mineRow?.status === "FAILED") {
3142
- throw new DevtoolsError("PUSH_BASE_BUILD_FAILED", `${ledger.base.revisionNo}\uD310\uC740 \uC9D3\uB2E4\uAC00 \uC2E4\uD328\uD574 \uCF1C\uC9C0\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4 \u2014 \uC9C0\uAE08 \uCF1C\uC838 \uC788\uB294 \uAC83\uC740 ${active}\uD310\uC785\uB2C8\uB2E4.`, "`zalkera status` \uB85C \uC2E4\uD328 \uC0AC\uC720\uB97C \uD655\uC778\uD574 \uC8FC\uC138\uC694. \uACE0\uCCD0\uC11C \uB2E4\uC2DC \uC62C\uB9AC\uB824\uBA74 `zalkera baseline` \uC73C\uB85C \uAE30\uC900\uC744 \uC9C0\uAE08 \uCF1C\uC9C4 \uBC84\uC804\uC73C\uB85C \uB9DE\uCD98 \uB4A4 \uC791\uC5C5\uD574 \uC8FC\uC138\uC694.");
3164
+ throw new DevtoolsError("PUSH_BASE_BUILD_FAILED", `\uBC84\uC804 ${countJosa(ledger.base.revisionNo, "\uC740/\uB294")} \uC9D3\uB2E4\uAC00 \uC2E4\uD328\uD574 \uCF1C\uC9C0\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4 \u2014 \uC9C0\uAE08 \uCF1C\uC838 \uC788\uB294 \uAC83\uC740 \uBC84\uC804 ${count(active)} \uC785\uB2C8\uB2E4.`, "`zalkera status` \uB85C \uC2E4\uD328 \uC0AC\uC720\uB97C \uD655\uC778\uD574 \uC8FC\uC138\uC694. \uACE0\uCCD0\uC11C \uB2E4\uC2DC \uC62C\uB9AC\uB824\uBA74 `zalkera baseline` \uC73C\uB85C \uAE30\uC900\uC744 \uC9C0\uAE08 \uCF1C\uC9C4 \uBC84\uC804\uC73C\uB85C \uB9DE\uCD98 \uB4A4 \uC791\uC5C5\uD574 \uC8FC\uC138\uC694.");
3143
3165
  }
3144
3166
  const dirty = Object.keys(ledger.files).filter((path) => local[path]?.sha256 !== ledger.files[path]?.sha256).length;
3145
3167
  throw baseMoved(ledger.base.revisionNo, active, dirty);
@@ -3373,13 +3395,14 @@ function unreachable() {
3373
3395
  return new DevtoolsError("SERVER_REJECTED", "\uC62C\uB9AC\uAE30\uAC00 \uB05D\uB098\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.", "\uB2E4\uC2DC \uC2DC\uB3C4\uD574 \uC8FC\uC138\uC694.");
3374
3396
  }
3375
3397
  function baseMoved(mine, now, dirty) {
3376
- const way = dirty === 0 ? `\uC774 \uD3F4\uB354\uB97C ${now}\uD310\uC5D0 \uB9DE\uCD94\uB824\uBA74 \`zalkera pull\` \uC744 \uC2E4\uD589\uD558\uC138\uC694.` : `\uC774 \uD3F4\uB354\uC5D0\uC11C \uACE0\uCE5C \uAC83\uC774 ${dirty}\uAC1C \uC788\uC5B4 \`zalkera pull\` \uB3C4 \uADF8\uB300\uB85C\uB294 \uB9C9\uD799\uB2C8\uB2E4. \`zalkera pull --discard-local\` \uC744 \uC2E4\uD589\uD558\uBA74 \uACE0\uCE5C \uD30C\uC77C\uC744 \uC606 \uD3F4\uB354\uC5D0 \uC62E\uACA8 \uB450\uACE0 \uC0C8 \uD310\uC744 \uBC1B\uC2B5\uB2C8\uB2E4 \u2014 \uADF8 \uB4A4 \uC62E\uACA8 \uB454 \uD30C\uC77C\uC744 \uBCF4\uACE0 \uB2E4\uC2DC \uACE0\uCCD0 \uC62C\uB9AC\uC2DC\uBA74 \uB429\uB2C8\uB2E4.`;
3377
- return new DevtoolsError("PUSH_BASE_MOVED", `\uAE30\uC900\uC774 ${mine}\uD310\uC5D0\uC11C ${now}\uD310\uC73C\uB85C \uC6C0\uC9C1\uC5EC \uC544\uBB34\uAC83\uB3C4 \uC62C\uB9AC\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.`, `${way} \uC9C0\uAE08 \uC62C\uB9AC\uBA74 ${mine}\uD310\uC744 \uBCF4\uACE0 \uACE0\uCE5C \uB0B4\uC6A9\uC774 ${now}\uD310 \uC704\uC5D0 \uC5B9\uD799\uB2C8\uB2E4.`);
3398
+ const way = dirty === 0 ? `\uC774 \uD3F4\uB354\uB97C \uBC84\uC804 ${count(now)} \uC5D0 \uB9DE\uCD94\uB824\uBA74 \`zalkera pull\` \uC744 \uC2E4\uD589\uD558\uC138\uC694.` : `\uC774 \uD3F4\uB354\uC5D0\uC11C \uACE0\uCE5C \uAC83\uC774 ${dirty}\uAC1C \uC788\uC5B4 \`zalkera pull\` \uB3C4 \uADF8\uB300\uB85C\uB294 \uB9C9\uD799\uB2C8\uB2E4. \`zalkera pull --discard-local\` \uC744 \uC2E4\uD589\uD558\uBA74 \uACE0\uCE5C \uD30C\uC77C\uC744 \uC606 \uD3F4\uB354\uC5D0 \uC62E\uACA8 \uB450\uACE0 \uC0C8 \uD310\uC744 \uBC1B\uC2B5\uB2C8\uB2E4 \u2014 \uADF8 \uB4A4 \uC62E\uACA8 \uB454 \uD30C\uC77C\uC744 \uBCF4\uACE0 \uB2E4\uC2DC \uACE0\uCCD0 \uC62C\uB9AC\uC2DC\uBA74 \uB429\uB2C8\uB2E4.`;
3399
+ return new DevtoolsError("PUSH_BASE_MOVED", `\uAE30\uC900\uC774 \uBC84\uC804 ${count(mine)} \uC5D0\uC11C \uBC84\uC804 ${countJosa(now, "\uC73C\uB85C/\uB85C")} \uC6C0\uC9C1\uC5EC \uC544\uBB34\uAC83\uB3C4 \uC62C\uB9AC\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.`, `${way} \uC9C0\uAE08 \uC62C\uB9AC\uBA74 \uBC84\uC804 ${countJosa(mine, "\uC744/\uB97C")} \uBCF4\uACE0 \uACE0\uCE5C \uB0B4\uC6A9\uC774 \uBC84\uC804 ${count(now)} \uC704\uC5D0 \uC5B9\uD799\uB2C8\uB2E4.`);
3378
3400
  }
3379
3401
 
3380
3402
  // ../core/dist/draftLifecycle.js
3381
3403
  import { resolve as resolve9 } from "node:path";
3382
3404
  init_errors();
3405
+ init_notice();
3383
3406
  import { rm as rm5 } from "node:fs/promises";
3384
3407
  async function publishDraft(options) {
3385
3408
  const report = options.onProgress ?? (() => {
@@ -3412,9 +3435,9 @@ async function rollbackRevision(options) {
3412
3435
  const root = resolve9(options.folder);
3413
3436
  const active = await activeRevisionNo(options.api);
3414
3437
  if (options.revisionNo === active) {
3415
- throw new DevtoolsError("ROLLBACK_IS_DISCARD", `${options.revisionNo}\uD310\uC740 \uC9C0\uAE08 \uCF1C\uC838 \uC788\uB294 \uBC84\uC804\uC785\uB2C8\uB2E4 \u2014 \uB418\uB3CC\uB9B4 \uAC83\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.`, "\uD3B8\uC9D1 \uC911\uC778 \uAC83\uC744 \uBC84\uB9AC\uB824\uB294 \uAC83\uC774\uB77C\uBA74 `zalkera discard` \uB97C \uC4F0\uC138\uC694. \uADF8\uCABD\uC740 \uD310\uC744 \uC62E\uAE30\uC9C0 \uC54A\uACE0 \uD3B8\uC9D1\uB9CC \uBC84\uB9BD\uB2C8\uB2E4.");
3438
+ throw new DevtoolsError("ROLLBACK_IS_DISCARD", `\uBC84\uC804 ${countJosa(options.revisionNo, "\uC740/\uB294")} \uC9C0\uAE08 \uCF1C\uC838 \uC788\uC2B5\uB2C8\uB2E4 \u2014 \uB418\uB3CC\uB9B4 \uAC83\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.`, "\uD3B8\uC9D1 \uC911\uC778 \uAC83\uC744 \uBC84\uB9AC\uB824\uB294 \uAC83\uC774\uB77C\uBA74 `zalkera discard` \uB97C \uC4F0\uC138\uC694. \uADF8\uCABD\uC740 \uD310\uC744 \uC62E\uAE30\uC9C0 \uC54A\uACE0 \uD3B8\uC9D1\uB9CC \uBC84\uB9BD\uB2C8\uB2E4.");
3416
3439
  }
3417
- report(`${options.revisionNo}\uD310\uC73C\uB85C \uB418\uB3CC\uB9AC\uB294 \uC911\uC785\uB2C8\uB2E4\u2026`);
3440
+ report(`\uBC84\uC804 ${countJosa(options.revisionNo, "\uC73C\uB85C/\uB85C")} \uB418\uB3CC\uB9AC\uB294 \uC911\uC785\uB2C8\uB2E4\u2026`);
3418
3441
  const result = await requireConsent(() => options.api.activateRevision(options.revisionNo, options.discardPending === true)).catch((error) => {
3419
3442
  if (isDraftInProgress(error)) {
3420
3443
  throw new DevtoolsError("ROLLBACK_BLOCKED_BY_DRAFT", "\uC0AC\uC774\uD2B8 \uCABD\uC5D0 \uD3B8\uC9D1 \uC911\uC778 \uAC83\uC774 \uC788\uC5B4 \uBC84\uC804\uC744 \uB418\uB3CC\uB9B4 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.", "`zalkera publish` \uB85C \uADF8 \uD3B8\uC9D1\uC744 \uC0C8 \uBC84\uC804\uC73C\uB85C \uB9CC\uB4E4\uAC70\uB098, `zalkera discard` \uB85C \uBC84\uB9B0 \uB4A4 \uB2E4\uC2DC \uC2DC\uB3C4\uD574 \uC8FC\uC138\uC694. \uBC84\uB9AC\uAE30\uB294 \uBB34\uC5C7\uC774 \uAC78\uB824 \uC788\uB294\uC9C0 \uBA3C\uC800 \uBCF4\uC5EC \uC90D\uB2C8\uB2E4.", error);
@@ -3782,18 +3805,18 @@ function describeStatus(status, verbose = false) {
3782
3805
  const lines = [];
3783
3806
  lines.push(`\uC0AC\uC774\uD2B8: ${status.tenant ?? "(\uBAA8\uB984)"}`);
3784
3807
  lines.push(
3785
- status.baseRevisionNo === null ? "\uC774 \uD3F4\uB354\uAC00 \uC120 \uD310: \uBAA8\uB984" : `\uC774 \uD3F4\uB354\uAC00 \uC120 \uD310: ${status.baseRevisionNo}\uD310`
3808
+ status.baseRevisionNo === null ? "\uC774 \uD3F4\uB354\uAC00 \uC120 \uD310: \uBAA8\uB984" : `\uC774 \uD3F4\uB354\uAC00 \uC120 \uD310: \uBC84\uC804 ${count(status.baseRevisionNo)}`
3786
3809
  );
3787
- if (status.activeRevisionNo !== null) lines.push(`\uC9C0\uAE08 \uC0AC\uC774\uD2B8\uC5D0 \uCF1C\uC9C4 \uD310: ${status.activeRevisionNo}\uD310`);
3810
+ if (status.activeRevisionNo !== null) lines.push(`\uC9C0\uAE08 \uC0AC\uC774\uD2B8\uC5D0 \uCF1C\uC9C4 \uD310: \uBC84\uC804 ${count(status.activeRevisionNo)}`);
3788
3811
  if (status.behind) {
3789
3812
  lines.push("");
3790
- lines.push(`\uAE30\uC900\uC774 ${status.baseRevisionNo}\uD310\uC5D0\uC11C ${status.activeRevisionNo}\uD310\uC73C\uB85C \uC6C0\uC9C1\uC600\uC2B5\uB2C8\uB2E4.`);
3813
+ lines.push(`\uAE30\uC900\uC774 \uBC84\uC804 ${count(status.baseRevisionNo)} \uC5D0\uC11C \uBC84\uC804 ${countJosa(status.activeRevisionNo, "\uC73C\uB85C/\uB85C")} \uC6C0\uC9C1\uC600\uC2B5\uB2C8\uB2E4.`);
3791
3814
  const dirty = status.changed.length + status.removed.length;
3792
3815
  lines.push(
3793
- dirty === 0 ? `\uC774 \uD3F4\uB354\uB97C ${status.activeRevisionNo}\uD310\uC5D0 \uB9DE\uCD94\uB824\uBA74 \`zalkera pull\` \uC744 \uC2E4\uD589\uD558\uC138\uC694.` : `\uC774 \uD3F4\uB354\uC5D0\uC11C \uACE0\uCE5C \uAC83\uC774 ${dirty}\uAC1C \uC788\uC5B4 \`zalkera pull\` \uC740 \uADF8\uB300\uB85C\uB294 \uB9C9\uD799\uB2C8\uB2E4. \`zalkera pull --discard-local\` \uC744 \uC2E4\uD589\uD558\uBA74 \uACE0\uCE5C \uD30C\uC77C\uC744 \uC606 \uD3F4\uB354\uC5D0 \uC62E\uACA8 \uB450\uACE0 \uC0C8 \uD310\uC744 \uBC1B\uC2B5\uB2C8\uB2E4.`
3816
+ dirty === 0 ? `\uC774 \uD3F4\uB354\uB97C \uBC84\uC804 ${count(status.activeRevisionNo)} \uC5D0 \uB9DE\uCD94\uB824\uBA74 \`zalkera pull\` \uC744 \uC2E4\uD589\uD558\uC138\uC694.` : `\uC774 \uD3F4\uB354\uC5D0\uC11C \uACE0\uCE5C \uAC83\uC774 ${dirty}\uAC1C \uC788\uC5B4 \`zalkera pull\` \uC740 \uADF8\uB300\uB85C\uB294 \uB9C9\uD799\uB2C8\uB2E4. \`zalkera pull --discard-local\` \uC744 \uC2E4\uD589\uD558\uBA74 \uACE0\uCE5C \uD30C\uC77C\uC744 \uC606 \uD3F4\uB354\uC5D0 \uC62E\uACA8 \uB450\uACE0 \uC0C8 \uD310\uC744 \uBC1B\uC2B5\uB2C8\uB2E4.`
3794
3817
  );
3795
3818
  lines.push(
3796
- `\uC9C0\uAE08 \uC62C\uB9AC\uBA74 ${status.baseRevisionNo}\uD310\uC744 \uBCF4\uACE0 \uACE0\uCE5C \uB0B4\uC6A9\uC774 ${status.activeRevisionNo}\uD310 \uC704\uC5D0 \uC5B9\uD799\uB2C8\uB2E4.`
3819
+ `\uC9C0\uAE08 \uC62C\uB9AC\uBA74 \uBC84\uC804 ${countJosa(status.baseRevisionNo, "\uC744/\uB97C")} \uBCF4\uACE0 \uACE0\uCE5C \uB0B4\uC6A9\uC774 \uBC84\uC804 ${count(status.activeRevisionNo)} \uC704\uC5D0 \uC5B9\uD799\uB2C8\uB2E4.`
3797
3820
  );
3798
3821
  }
3799
3822
  const changes = [
@@ -3965,7 +3988,7 @@ async function main(argv) {
3965
3988
  `)
3966
3989
  });
3967
3990
  const parts = [
3968
- `${result.revisionNo}\uD310\uC744 \uBC1B\uC558\uC2B5\uB2C8\uB2E4.`,
3991
+ `\uBC84\uC804 ${countJosa(result.revisionNo, "\uC744/\uB97C")} \uBC1B\uC558\uC2B5\uB2C8\uB2E4.`,
3969
3992
  `\uC0C8\uB85C \uC4F4 \uAC83 ${result.written}\uAC1C \xB7 \uC9C0\uC6B4 \uAC83 ${result.deleted}\uAC1C \xB7 \uADF8\uB300\uB85C \uB454 \uAC83 ${result.unchanged}\uAC1C`
3970
3993
  ];
3971
3994
  if (result.untracked > 0) parts.push(`\uC774 \uD3F4\uB354\uC5D0\uB9CC \uC788\uB294 \uD30C\uC77C ${result.untracked}\uAC1C\uB294 \uAC74\uB4DC\uB9AC\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.`);
@@ -4022,7 +4045,7 @@ async function main(argv) {
4022
4045
  `)
4023
4046
  });
4024
4047
  const lines = [
4025
- `${result.revisionNo}\uD310\uC73C\uB85C \uC62C\uB838\uC2B5\uB2C8\uB2E4.`,
4048
+ `\uBC84\uC804 ${countJosa(result.revisionNo, "\uC73C\uB85C/\uB85C")} \uC62C\uB838\uC2B5\uB2C8\uB2E4.`,
4026
4049
  result.siteType === "STATIC" ? "\uC9C0\uAE08 \uBC14\uB85C \uC190\uB2D8\uC5D0\uAC8C \uBCF4\uC785\uB2C8\uB2E4." : "\uC0AC\uC774\uD2B8\uB97C \uB2E4\uC2DC \uC9D3\uB294 \uC911\uC785\uB2C8\uB2E4 \u2014 \uB2E4 \uC9C0\uC5B4\uC9C0\uBA74 \uC790\uB3D9\uC73C\uB85C \uC190\uB2D8\uC5D0\uAC8C \uBCF4\uC785\uB2C8\uB2E4."
4027
4050
  ];
4028
4051
  if (result.capabilityNote) lines.push(result.capabilityNote);
@@ -4051,14 +4074,14 @@ async function main(argv) {
4051
4074
  `)
4052
4075
  });
4053
4076
  const lines = [
4054
- result.revisionNo === null ? "\uB418\uB3CC\uB838\uC2B5\uB2C8\uB2E4 \u2014 \uB2E4\uB9CC \uC9C0\uAE08 \uCF1C\uC9C4 \uBC84\uC804\uC758 \uBC88\uD638\uB97C \uD655\uC778\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4." : result.pointerMoved ? `${result.revisionNo}\uD310\uC73C\uB85C \uB418\uB3CC\uB838\uC2B5\uB2C8\uB2E4.` : `\uC774\uBBF8 ${result.revisionNo}\uD310\uC774\uC5C8\uC2B5\uB2C8\uB2E4.`
4077
+ result.revisionNo === null ? "\uB418\uB3CC\uB838\uC2B5\uB2C8\uB2E4 \u2014 \uB2E4\uB9CC \uC9C0\uAE08 \uCF1C\uC9C4 \uBC84\uC804\uC758 \uBC88\uD638\uB97C \uD655\uC778\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4." : result.pointerMoved ? `\uBC84\uC804 ${countJosa(result.revisionNo, "\uC73C\uB85C/\uB85C")} \uB418\uB3CC\uB838\uC2B5\uB2C8\uB2E4.` : `\uC774\uBBF8 \uBC84\uC804 ${count(result.revisionNo)} \uC774\uC5C8\uC2B5\uB2C8\uB2E4.`
4055
4078
  ];
4056
4079
  if (result.revisionNo === null) {
4057
4080
  lines.push("`zalkera status` \uB85C \uD655\uC778\uD574 \uC8FC\uC138\uC694. **\uB2E4\uC2DC \uB418\uB3CC\uB9AC\uC9C0 \uB9C8\uC138\uC694** \u2014 \uAC19\uC740 \uB0B4\uC6A9\uC758 \uBC84\uC804\uC774 \uD558\uB098 \uB354 \uC0DD\uAE41\uB2C8\uB2E4.");
4058
4081
  }
4059
4082
  if (result.revisionNo !== null && result.revisionNo !== result.requested) {
4060
4083
  lines.push(
4061
- `(${result.requested}\uD310\uC758 \uB0B4\uC6A9\uC73C\uB85C **\uC0C8 ${result.revisionNo}\uD310**\uC744 \uC138\uC6CC \uCF30\uC2B5\uB2C8\uB2E4 \u2014 \uC6D0\uC7A5\uC740 \uB418\uAC10\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.)`
4084
+ `(\uBC84\uC804 ${count(result.requested)} \uC758 \uB0B4\uC6A9\uC73C\uB85C **\uC0C8 \uBC84\uC804 ${count(result.revisionNo)}** \uC744 \uC138\uC6CC \uCF30\uC2B5\uB2C8\uB2E4 \u2014 \uC6D0\uC7A5\uC740 \uB418\uAC10\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.)`
4062
4085
  );
4063
4086
  }
4064
4087
  if (result.discardedPendingChanges > 0) {
@@ -4067,9 +4090,9 @@ async function main(argv) {
4067
4090
  lines.push("", "\uC774 \uD3F4\uB354\uC758 \uD30C\uC77C\uC740 \uAC74\uB4DC\uB9AC\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4 \u2014 \uB9DE\uCD94\uB824\uBA74 `zalkera pull` \uC744 \uC2E4\uD589\uD558\uC138\uC694.");
4068
4091
  if (result.differing.length > 0) {
4069
4092
  lines.push(
4070
- `\u26A0 \uC774 \uD3F4\uB354\uC758 ${result.differing.length}\uAC1C \uD30C\uC77C\uC774 ${result.revisionNo}\uD310\uACFC \uB2E4\uB985\uB2C8\uB2E4.`,
4093
+ `\u26A0 \uC774 \uD3F4\uB354\uC758 ${result.differing.length}\uAC1C \uD30C\uC77C\uC774 \uBC84\uC804 ${count(result.revisionNo)} \uC758 \uB0B4\uC6A9\uACFC \uB2E4\uB985\uB2C8\uB2E4.`,
4071
4094
  ...pathLines(result.differing, verbose),
4072
- `\uC9C0\uAE08 \`zalkera push\` \uB97C \uD558\uBA74 \uC774 ${result.differing.length}\uAC1C\uAC00 **\uC804\uBD80** \uC62C\uB77C\uAC00 ${result.revisionNo}\uD310\uC758 \uB0B4\uC6A9\uC744 \uB36E\uC2B5\uB2C8\uB2E4.`
4095
+ `\uC9C0\uAE08 \`zalkera push\` \uB97C \uD558\uBA74 \uC774 ${result.differing.length}\uAC1C\uAC00 **\uC804\uBD80** \uC62C\uB77C\uAC00 \uBC84\uC804 ${count(result.revisionNo)} \uC758 \uB0B4\uC6A9\uC744 \uB36E\uC2B5\uB2C8\uB2E4.`
4073
4096
  );
4074
4097
  }
4075
4098
  if (!result.ledgerRebuilt) {
@@ -4204,15 +4227,15 @@ async function main(argv) {
4204
4227
  `)
4205
4228
  });
4206
4229
  const lines = [
4207
- `${result.revisionNo}\uD310(\uD30C\uC77C ${result.files}\uAC1C)\uC744 \uAE30\uC900\uC73C\uB85C ${result.replaced ? "\uB2E4\uC2DC " : ""}\uC138\uC6E0\uC2B5\uB2C8\uB2E4.`,
4230
+ `\uBC84\uC804 ${count(result.revisionNo)} (\uD30C\uC77C ${count(result.files)}\uAC1C)\uC744 \uAE30\uC900\uC73C\uB85C ${result.replaced ? "\uB2E4\uC2DC " : ""}\uC138\uC6E0\uC2B5\uB2C8\uB2E4.`,
4208
4231
  "\uD3F4\uB354\uC758 \uD30C\uC77C\uC740 \uAC74\uB4DC\uB9AC\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."
4209
4232
  ];
4210
4233
  if (result.differing.length > 0) {
4211
4234
  lines.push(
4212
4235
  "",
4213
- `\u26A0 \uC774 \uD3F4\uB354\uC758 ${result.differing.length}\uAC1C \uD30C\uC77C\uC774 ${result.revisionNo}\uD310\uACFC \uB2E4\uB985\uB2C8\uB2E4.`,
4236
+ `\u26A0 \uC774 \uD3F4\uB354\uC758 ${result.differing.length}\uAC1C \uD30C\uC77C\uC774 \uBC84\uC804 ${count(result.revisionNo)} \uC758 \uB0B4\uC6A9\uACFC \uB2E4\uB985\uB2C8\uB2E4.`,
4214
4237
  ...pathLines(result.differing, verbose),
4215
- `\uC9C0\uAE08 \`zalkera push\` \uB97C \uD558\uBA74 \uC774 ${result.differing.length}\uAC1C\uAC00 **\uC804\uBD80** \uC62C\uB77C\uAC00 ${result.revisionNo}\uD310\uC758 \uB0B4\uC6A9\uC744 \uB36E\uC2B5\uB2C8\uB2E4.`,
4238
+ `\uC9C0\uAE08 \`zalkera push\` \uB97C \uD558\uBA74 \uC774 ${result.differing.length}\uAC1C\uAC00 **\uC804\uBD80** \uC62C\uB77C\uAC00 \uBC84\uC804 ${count(result.revisionNo)} \uC758 \uB0B4\uC6A9\uC744 \uB36E\uC2B5\uB2C8\uB2E4.`,
4216
4239
  "\uACE0\uCE5C \uAC83\uC774 \uADF8\uC911 \uC77C\uBD80\uBFD0\uC774\uB77C\uBA74 `zalkera pull` \uB85C \uBC1B\uB294 \uCABD\uC774 \uB9DE\uC2B5\uB2C8\uB2E4."
4217
4240
  );
4218
4241
  } else {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zalkera/cli",
3
- "version": "0.28.0",
3
+ "version": "0.28.1",
4
4
  "description": "잘커라 사이트 소스를 터미널에서 받고·올리고·발행합니다. 편집기 없이, 스크립트에서도.",
5
5
  "license": "MIT",
6
6
  "type": "module",