@vobs/cli 1.7.8 โ†’ 1.8.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.
Files changed (80) hide show
  1. package/dist/banner.cjs +22 -3
  2. package/dist/banner.cjs.map +1 -1
  3. package/dist/banner.d.cts +6 -2
  4. package/dist/banner.d.ts +6 -2
  5. package/dist/banner.js +20 -3
  6. package/dist/banner.js.map +1 -1
  7. package/dist/cli.cjs +361 -21
  8. package/dist/cli.cjs.map +1 -1
  9. package/dist/cli.d.cts +10 -1
  10. package/dist/cli.d.ts +10 -1
  11. package/dist/cli.js +351 -12
  12. package/dist/cli.js.map +1 -1
  13. package/dist/commands/add.cjs +2 -2
  14. package/dist/commands/add.cjs.map +1 -1
  15. package/dist/commands/add.js +2 -2
  16. package/dist/commands/add.js.map +1 -1
  17. package/dist/commands/build.cjs +2 -2
  18. package/dist/commands/build.cjs.map +1 -1
  19. package/dist/commands/build.js +2 -2
  20. package/dist/commands/build.js.map +1 -1
  21. package/dist/commands/check.cjs +382 -0
  22. package/dist/commands/check.cjs.map +1 -0
  23. package/dist/commands/check.d.cts +34 -0
  24. package/dist/commands/check.d.ts +34 -0
  25. package/dist/commands/check.js +343 -0
  26. package/dist/commands/check.js.map +1 -0
  27. package/dist/commands/dev.cjs +2 -2
  28. package/dist/commands/dev.cjs.map +1 -1
  29. package/dist/commands/dev.js +2 -2
  30. package/dist/commands/dev.js.map +1 -1
  31. package/dist/commands/dsh.cjs +2 -2
  32. package/dist/commands/dsh.cjs.map +1 -1
  33. package/dist/commands/dsh.js +2 -2
  34. package/dist/commands/dsh.js.map +1 -1
  35. package/dist/commands/generate.cjs +2 -2
  36. package/dist/commands/generate.cjs.map +1 -1
  37. package/dist/commands/generate.js +2 -2
  38. package/dist/commands/generate.js.map +1 -1
  39. package/dist/commands/index.cjs +34 -17
  40. package/dist/commands/index.cjs.map +1 -1
  41. package/dist/commands/index.js +25 -8
  42. package/dist/commands/index.js.map +1 -1
  43. package/dist/commands/init.cjs +20 -3
  44. package/dist/commands/init.cjs.map +1 -1
  45. package/dist/commands/init.js +20 -3
  46. package/dist/commands/init.js.map +1 -1
  47. package/dist/index.cjs +399 -25
  48. package/dist/index.cjs.map +1 -1
  49. package/dist/index.js +388 -14
  50. package/dist/index.js.map +1 -1
  51. package/dist/repl.cjs +34 -17
  52. package/dist/repl.cjs.map +1 -1
  53. package/dist/repl.js +25 -8
  54. package/dist/repl.js.map +1 -1
  55. package/dist/start.cjs +399 -25
  56. package/dist/start.cjs.map +1 -1
  57. package/dist/start.d.cts +8 -1
  58. package/dist/start.d.ts +8 -1
  59. package/dist/start.js +388 -14
  60. package/dist/start.js.map +1 -1
  61. package/dist/utils/logger.cjs +2 -2
  62. package/dist/utils/logger.cjs.map +1 -1
  63. package/dist/utils/logger.js +2 -2
  64. package/dist/utils/logger.js.map +1 -1
  65. package/dist/version.cjs +47 -0
  66. package/dist/version.cjs.map +1 -0
  67. package/dist/version.d.cts +3 -0
  68. package/dist/version.d.ts +3 -0
  69. package/dist/version.js +23 -0
  70. package/dist/version.js.map +1 -0
  71. package/package.json +3 -2
  72. package/src/banner.ts +11 -5
  73. package/src/cli-process.test.ts +139 -0
  74. package/src/cli.ts +30 -2
  75. package/src/commands/check.test.ts +238 -0
  76. package/src/commands/check.ts +461 -0
  77. package/src/commands/init.ts +2 -1
  78. package/src/start.ts +66 -5
  79. package/src/utils/logger.ts +14 -2
  80. package/src/version.ts +27 -0
package/dist/banner.cjs CHANGED
@@ -27,7 +27,26 @@ __export(banner_exports, {
27
27
  showLogo: () => showLogo
28
28
  });
29
29
  module.exports = __toCommonJS(banner_exports);
30
- var BANNER_LINE1 = "\u{1D5E9}\u{1D5E2}\u{1D5D5}\u{1D5E6} \u{1D5D6}\u{1D5DF}\u{1D5DC} \u{1D603}\u{1D7ED}.\u{1D7EC}";
30
+
31
+ // packages/cli/src/version.ts
32
+ var import_node_fs = require("fs");
33
+ var cached;
34
+ function cliVersion() {
35
+ if (cached !== void 0) return cached;
36
+ try {
37
+ const manifest = JSON.parse(
38
+ (0, import_node_fs.readFileSync)(new URL("../package.json", __VOBS_CJS_FILE_URL), "utf8")
39
+ );
40
+ cached = manifest.version ?? "0.0.0";
41
+ } catch {
42
+ cached = "0.0.0";
43
+ }
44
+ return cached;
45
+ }
46
+ __name(cliVersion, "cliVersion");
47
+
48
+ // packages/cli/src/banner.ts
49
+ var BANNER_LINE1 = "\u{1D5E9}\u{1D5E2}\u{1D5D5}\u{1D5E6} \u{1D5D6}\u{1D5DF}\u{1D5DC}";
31
50
  var BANNER_TAGLINE = "Signals First \xB7 Zero Re-renders \xB7 Ultra Lightweight";
32
51
  var INDENT = " ";
33
52
  var DIM = "\x1B[2m";
@@ -43,12 +62,12 @@ function showLogo() {
43
62
  }
44
63
  __name(showLogo, "showLogo");
45
64
  function showBanner() {
46
- console.log(`${INDENT}${BANNER_LINE1}`);
65
+ console.log(`${INDENT}${BANNER_LINE1} v${cliVersion()}`);
47
66
  }
48
67
  __name(showBanner, "showBanner");
49
68
  function showDevBanner() {
50
69
  console.log();
51
- console.log(`${INDENT}${BANNER_LINE1}`);
70
+ console.log(`${INDENT}${BANNER_LINE1} v${cliVersion()}`);
52
71
  console.log();
53
72
  }
54
73
  __name(showDevBanner, "showDevBanner");
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/banner.ts"],"sourcesContent":["/**\n * VOBS CLI Banner โ€” Mathematical Bold Sans-Serif\n * ๐—ฉ๐—ข๐—•๐—ฆ ๐—–๐—Ÿ๐—œ ๐˜ƒ๐Ÿญ.๐Ÿฌ\n * Signals First ยท Zero Re-renders ยท Ultra Lightweight\n *\n * The banner is left-aligned with a fixed indent rather than horizontally\n * centered. Centering depends on the terminal column width and per-glyph\n * render width, neither of which is reliably knowable, so it drifts as the\n * window resizes. Fixed indent is stable across any terminal size.\n */\n\nconst BANNER_LINE1 = '๐—ฉ๐—ข๐—•๐—ฆ ๐—–๐—Ÿ๐—œ ๐˜ƒ๐Ÿญ.๐Ÿฌ'\nconst BANNER_TAGLINE = 'Signals First ยท Zero Re-renders ยท Ultra Lightweight'\n\n/** Fixed left indent applied to every banner line (2 spaces). */\nconst INDENT = ' '\nconst DIM = '\\x1b[2m'\nconst RESET = '\\x1b[0m'\n\n/** Show full banner (used for logo command, --help) */\nexport function showLogo(): void {\n console.log()\n console.log()\n console.log(`${INDENT}${BANNER_LINE1}`)\n console.log()\n console.log(`${INDENT}${DIM}${BANNER_TAGLINE}${RESET}`)\n console.log()\n console.log()\n}\n\n/** Show single-line version banner (used for --version) */\nexport function showBanner(): void {\n console.log(`${INDENT}${BANNER_LINE1}`)\n}\n\n/** Show the dev server start banner */\nexport function showDevBanner(): void {\n console.log()\n console.log(`${INDENT}${BANNER_LINE1}`)\n console.log()\n}"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWA,IAAM,eAAe;AACrB,IAAM,iBAAiB;AAGvB,IAAM,SAAS;AACf,IAAM,MAAM;AACZ,IAAM,QAAQ;AAGP,SAAS,WAAiB;AAC/B,UAAQ,IAAI;AACZ,UAAQ,IAAI;AACZ,UAAQ,IAAI,GAAG,MAAM,GAAG,YAAY,EAAE;AACtC,UAAQ,IAAI;AACZ,UAAQ,IAAI,GAAG,MAAM,GAAG,GAAG,GAAG,cAAc,GAAG,KAAK,EAAE;AACtD,UAAQ,IAAI;AACZ,UAAQ,IAAI;AACd;AARgB;AAWT,SAAS,aAAmB;AACjC,UAAQ,IAAI,GAAG,MAAM,GAAG,YAAY,EAAE;AACxC;AAFgB;AAKT,SAAS,gBAAsB;AACpC,UAAQ,IAAI;AACZ,UAAQ,IAAI,GAAG,MAAM,GAAG,YAAY,EAAE;AACtC,UAAQ,IAAI;AACd;AAJgB;","names":[]}
1
+ {"version":3,"sources":["../src/banner.ts","../src/version.ts"],"sourcesContent":["/**\n * VOBS CLI Banner โ€” Mathematical Bold Sans-Serif\n * ๐—ฉ๐—ข๐—•๐—ฆ ๐—–๐—Ÿ๐—œ\n * Signals First ยท Zero Re-renders ยท Ultra Lightweight\n *\n * The banner is left-aligned with a fixed indent rather than horizontally\n * centered. Centering depends on the terminal column width and per-glyph\n * render width, neither of which is reliably knowable, so it drifts as the\n * window resizes. Fixed indent is stable across any terminal size.\n *\n * โš ๏ธ ่ฟ™้‡Œ**ๅชๆ”พๅ“็‰Œๅญ—ๅฝข๏ผŒไธๆ”พ็‰ˆๆœฌๅท**ใ€‚็‰ˆๆœฌๅทๆ›พไปฅๆ•ฐๅญฆ็ฒ—ไฝ“ๅธธ้‡ `๐˜ƒ๐Ÿญ.๐Ÿฌ` ็š„ๅฝขๅผๅ†™ๆญปๅœจ่ฟ™้‡Œ๏ผŒ\n * ่€Œๅฎƒๅฐฑๆ˜ฏ `--version` ็š„ๅ…จ้ƒจ่พ“ๅ‡บ โ€”โ€” ๆ‰“ๅฐไธ€ไธชๅ’Œ package.json ไธ็ฌฆ็š„็‰ˆๆœฌๆฏ”ไธๆ‰“ๅฐๆ›ด็ณŸใ€‚\n * ็œŸๅฎž็‰ˆๆœฌ็ปŸไธ€็”ฑ `version.ts` ็š„ `cliVersion()` ๆไพ›ใ€‚\n */\n\nimport { cliVersion } from './version.js'\n\nconst BANNER_LINE1 = '๐—ฉ๐—ข๐—•๐—ฆ ๐—–๐—Ÿ๐—œ'\nconst BANNER_TAGLINE = 'Signals First ยท Zero Re-renders ยท Ultra Lightweight'\n\n/** Fixed left indent applied to every banner line (2 spaces). */\nconst INDENT = ' '\nconst DIM = '\\x1b[2m'\nconst RESET = '\\x1b[0m'\n\n/** Show full banner (used for logo command, --help) */\nexport function showLogo(): void {\n console.log()\n console.log()\n console.log(`${INDENT}${BANNER_LINE1}`)\n console.log()\n console.log(`${INDENT}${DIM}${BANNER_TAGLINE}${RESET}`)\n console.log()\n console.log()\n}\n\n/** Show single-line version banner (used for --version)๏ผš็œŸๅฎž็‰ˆๆœฌๅท๏ผŒไธๆ˜ฏๅ“็‰Œๅญ—ๅฝขใ€‚ */\nexport function showBanner(): void {\n console.log(`${INDENT}${BANNER_LINE1} v${cliVersion()}`)\n}\n\n/** Show the dev server start banner */\nexport function showDevBanner(): void {\n console.log()\n console.log(`${INDENT}${BANNER_LINE1} v${cliVersion()}`)\n console.log()\n}","import { readFileSync } from 'node:fs'\n\n/**\n * CLI ็‰ˆๆœฌๅท็š„**ๅ•ไธ€ๆฅๆบ**๏ผš็›ดๆŽฅ่ฏปๆœฌๅŒ…็š„ `package.json`ใ€‚\n *\n * ๆญคๅ‰็‰ˆๆœฌๅทๅœจไธ‰ๅค„ๅ„่‡ช็กฌ็ผ–็ ๏ผŒไธ”้ƒฝไธŽ `package.json` ไธ็ฌฆ๏ผš\n * - `banner.ts` ็š„ `๐—ฉ๐—ข๐—•๐—ฆ ๐—–๐—Ÿ๐—œ ๐˜ƒ๐Ÿญ.๐Ÿฌ` ๅธธ้‡ โ€”โ€” ่ฟ™ๅฐฑๆ˜ฏ `vobs --version` ็š„**ๅ…จ้ƒจ**่พ“ๅ‡บ๏ผ›\n * - `cli.ts` ็š„ `cli.version('1.0.0')` โ€”โ€” `--help` ๅคด้ƒจๆ˜พ็คบ `vobs/1.0.0`๏ผ›\n * - `init.ts` ็š„ `vobsVersion: '1.0.0'` โ€”โ€” ๅ†™่ฟ›่„šๆ‰‹ๆžถไบง็‰ฉใ€‚\n * ๅŒไธ€ไธชไป“ๅบ“็š„ `commands/dsh.ts` ๆ—ฉๅฐฑๆœ‰ๆญฃ็กฎ็š„\"่ฏป package.json\"ๅฎž็Žฐ๏ผŒๆ‰€ไปฅ่ฟ™ไธๆ˜ฏ่ƒฝๅŠ›้—ฎ้ข˜๏ผŒ\n * ่€Œๆ˜ฏๆฒกไบบไปŽ**ๅค–้ƒจ**็œ‹่ฟ‡ CLI ็š„็‰ˆๆœฌ่พ“ๅ‡บ๏ผˆไธ‰ๅค„ไธไธ€่‡ดไนŸๆญฃๅ› ๅฆ‚ๆญคไปŽๆœช่ขซๅ‘็Žฐ๏ผ‰ใ€‚\n */\nlet cached: string | undefined\n\nexport function cliVersion(): string {\n if (cached !== undefined) return cached\n try {\n const manifest = JSON.parse(\n readFileSync(new URL('../package.json', import.meta.url), 'utf8')\n ) as { version?: string }\n cached = manifest.version ?? '0.0.0'\n } catch {\n // ่ฏปไธๅˆฐ package.json๏ผˆ่ขซๆ‰“ๅŒ…ๆˆๅ•ๆ–‡ไปถ็ญ‰๏ผ‰ๆ—ถไธ่ฆ่ฐŽๆŠฅไธ€ไธชๅƒ็œŸ็‰ˆๆœฌๅท็š„ๅธธ้‡\n cached = '0.0.0'\n }\n return cached\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,qBAA6B;AAY7B,IAAI;AAEG,SAAS,aAAqB;AACnC,MAAI,WAAW,OAAW,QAAO;AACjC,MAAI;AACF,UAAM,WAAW,KAAK;AAAA,UACpB,6BAAa,IAAI,IAAI,mBAAmB,mBAAe,GAAG,MAAM;AAAA,IAClE;AACA,aAAS,SAAS,WAAW;AAAA,EAC/B,QAAQ;AAEN,aAAS;AAAA,EACX;AACA,SAAO;AACT;AAZgB;;;ADGhB,IAAM,eAAe;AACrB,IAAM,iBAAiB;AAGvB,IAAM,SAAS;AACf,IAAM,MAAM;AACZ,IAAM,QAAQ;AAGP,SAAS,WAAiB;AAC/B,UAAQ,IAAI;AACZ,UAAQ,IAAI;AACZ,UAAQ,IAAI,GAAG,MAAM,GAAG,YAAY,EAAE;AACtC,UAAQ,IAAI;AACZ,UAAQ,IAAI,GAAG,MAAM,GAAG,GAAG,GAAG,cAAc,GAAG,KAAK,EAAE;AACtD,UAAQ,IAAI;AACZ,UAAQ,IAAI;AACd;AARgB;AAWT,SAAS,aAAmB;AACjC,UAAQ,IAAI,GAAG,MAAM,GAAG,YAAY,KAAK,WAAW,CAAC,EAAE;AACzD;AAFgB;AAKT,SAAS,gBAAsB;AACpC,UAAQ,IAAI;AACZ,UAAQ,IAAI,GAAG,MAAM,GAAG,YAAY,KAAK,WAAW,CAAC,EAAE;AACvD,UAAQ,IAAI;AACd;AAJgB;","names":[]}
package/dist/banner.d.cts CHANGED
@@ -1,16 +1,20 @@
1
1
  /**
2
2
  * VOBS CLI Banner โ€” Mathematical Bold Sans-Serif
3
- * ๐—ฉ๐—ข๐—•๐—ฆ ๐—–๐—Ÿ๐—œ ๐˜ƒ๐Ÿญ.๐Ÿฌ
3
+ * ๐—ฉ๐—ข๐—•๐—ฆ ๐—–๐—Ÿ๐—œ
4
4
  * Signals First ยท Zero Re-renders ยท Ultra Lightweight
5
5
  *
6
6
  * The banner is left-aligned with a fixed indent rather than horizontally
7
7
  * centered. Centering depends on the terminal column width and per-glyph
8
8
  * render width, neither of which is reliably knowable, so it drifts as the
9
9
  * window resizes. Fixed indent is stable across any terminal size.
10
+ *
11
+ * โš ๏ธ ่ฟ™้‡Œ**ๅชๆ”พๅ“็‰Œๅญ—ๅฝข๏ผŒไธๆ”พ็‰ˆๆœฌๅท**ใ€‚็‰ˆๆœฌๅทๆ›พไปฅๆ•ฐๅญฆ็ฒ—ไฝ“ๅธธ้‡ `๐˜ƒ๐Ÿญ.๐Ÿฌ` ็š„ๅฝขๅผๅ†™ๆญปๅœจ่ฟ™้‡Œ๏ผŒ
12
+ * ่€Œๅฎƒๅฐฑๆ˜ฏ `--version` ็š„ๅ…จ้ƒจ่พ“ๅ‡บ โ€”โ€” ๆ‰“ๅฐไธ€ไธชๅ’Œ package.json ไธ็ฌฆ็š„็‰ˆๆœฌๆฏ”ไธๆ‰“ๅฐๆ›ด็ณŸใ€‚
13
+ * ็œŸๅฎž็‰ˆๆœฌ็ปŸไธ€็”ฑ `version.ts` ็š„ `cliVersion()` ๆไพ›ใ€‚
10
14
  */
11
15
  /** Show full banner (used for logo command, --help) */
12
16
  declare function showLogo(): void;
13
- /** Show single-line version banner (used for --version) */
17
+ /** Show single-line version banner (used for --version)๏ผš็œŸๅฎž็‰ˆๆœฌๅท๏ผŒไธๆ˜ฏๅ“็‰Œๅญ—ๅฝขใ€‚ */
14
18
  declare function showBanner(): void;
15
19
  /** Show the dev server start banner */
16
20
  declare function showDevBanner(): void;
package/dist/banner.d.ts CHANGED
@@ -1,16 +1,20 @@
1
1
  /**
2
2
  * VOBS CLI Banner โ€” Mathematical Bold Sans-Serif
3
- * ๐—ฉ๐—ข๐—•๐—ฆ ๐—–๐—Ÿ๐—œ ๐˜ƒ๐Ÿญ.๐Ÿฌ
3
+ * ๐—ฉ๐—ข๐—•๐—ฆ ๐—–๐—Ÿ๐—œ
4
4
  * Signals First ยท Zero Re-renders ยท Ultra Lightweight
5
5
  *
6
6
  * The banner is left-aligned with a fixed indent rather than horizontally
7
7
  * centered. Centering depends on the terminal column width and per-glyph
8
8
  * render width, neither of which is reliably knowable, so it drifts as the
9
9
  * window resizes. Fixed indent is stable across any terminal size.
10
+ *
11
+ * โš ๏ธ ่ฟ™้‡Œ**ๅชๆ”พๅ“็‰Œๅญ—ๅฝข๏ผŒไธๆ”พ็‰ˆๆœฌๅท**ใ€‚็‰ˆๆœฌๅทๆ›พไปฅๆ•ฐๅญฆ็ฒ—ไฝ“ๅธธ้‡ `๐˜ƒ๐Ÿญ.๐Ÿฌ` ็š„ๅฝขๅผๅ†™ๆญปๅœจ่ฟ™้‡Œ๏ผŒ
12
+ * ่€Œๅฎƒๅฐฑๆ˜ฏ `--version` ็š„ๅ…จ้ƒจ่พ“ๅ‡บ โ€”โ€” ๆ‰“ๅฐไธ€ไธชๅ’Œ package.json ไธ็ฌฆ็š„็‰ˆๆœฌๆฏ”ไธๆ‰“ๅฐๆ›ด็ณŸใ€‚
13
+ * ็œŸๅฎž็‰ˆๆœฌ็ปŸไธ€็”ฑ `version.ts` ็š„ `cliVersion()` ๆไพ›ใ€‚
10
14
  */
11
15
  /** Show full banner (used for logo command, --help) */
12
16
  declare function showLogo(): void;
13
- /** Show single-line version banner (used for --version) */
17
+ /** Show single-line version banner (used for --version)๏ผš็œŸๅฎž็‰ˆๆœฌๅท๏ผŒไธๆ˜ฏๅ“็‰Œๅญ—ๅฝขใ€‚ */
14
18
  declare function showBanner(): void;
15
19
  /** Show the dev server start banner */
16
20
  declare function showDevBanner(): void;
package/dist/banner.js CHANGED
@@ -1,8 +1,25 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
3
 
4
+ // packages/cli/src/version.ts
5
+ import { readFileSync } from "fs";
6
+ var cached;
7
+ function cliVersion() {
8
+ if (cached !== void 0) return cached;
9
+ try {
10
+ const manifest = JSON.parse(
11
+ readFileSync(new URL("../package.json", import.meta.url), "utf8")
12
+ );
13
+ cached = manifest.version ?? "0.0.0";
14
+ } catch {
15
+ cached = "0.0.0";
16
+ }
17
+ return cached;
18
+ }
19
+ __name(cliVersion, "cliVersion");
20
+
4
21
  // packages/cli/src/banner.ts
5
- var BANNER_LINE1 = "\u{1D5E9}\u{1D5E2}\u{1D5D5}\u{1D5E6} \u{1D5D6}\u{1D5DF}\u{1D5DC} \u{1D603}\u{1D7ED}.\u{1D7EC}";
22
+ var BANNER_LINE1 = "\u{1D5E9}\u{1D5E2}\u{1D5D5}\u{1D5E6} \u{1D5D6}\u{1D5DF}\u{1D5DC}";
6
23
  var BANNER_TAGLINE = "Signals First \xB7 Zero Re-renders \xB7 Ultra Lightweight";
7
24
  var INDENT = " ";
8
25
  var DIM = "\x1B[2m";
@@ -18,12 +35,12 @@ function showLogo() {
18
35
  }
19
36
  __name(showLogo, "showLogo");
20
37
  function showBanner() {
21
- console.log(`${INDENT}${BANNER_LINE1}`);
38
+ console.log(`${INDENT}${BANNER_LINE1} v${cliVersion()}`);
22
39
  }
23
40
  __name(showBanner, "showBanner");
24
41
  function showDevBanner() {
25
42
  console.log();
26
- console.log(`${INDENT}${BANNER_LINE1}`);
43
+ console.log(`${INDENT}${BANNER_LINE1} v${cliVersion()}`);
27
44
  console.log();
28
45
  }
29
46
  __name(showDevBanner, "showDevBanner");
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/banner.ts"],"sourcesContent":["/**\n * VOBS CLI Banner โ€” Mathematical Bold Sans-Serif\n * ๐—ฉ๐—ข๐—•๐—ฆ ๐—–๐—Ÿ๐—œ ๐˜ƒ๐Ÿญ.๐Ÿฌ\n * Signals First ยท Zero Re-renders ยท Ultra Lightweight\n *\n * The banner is left-aligned with a fixed indent rather than horizontally\n * centered. Centering depends on the terminal column width and per-glyph\n * render width, neither of which is reliably knowable, so it drifts as the\n * window resizes. Fixed indent is stable across any terminal size.\n */\n\nconst BANNER_LINE1 = '๐—ฉ๐—ข๐—•๐—ฆ ๐—–๐—Ÿ๐—œ ๐˜ƒ๐Ÿญ.๐Ÿฌ'\nconst BANNER_TAGLINE = 'Signals First ยท Zero Re-renders ยท Ultra Lightweight'\n\n/** Fixed left indent applied to every banner line (2 spaces). */\nconst INDENT = ' '\nconst DIM = '\\x1b[2m'\nconst RESET = '\\x1b[0m'\n\n/** Show full banner (used for logo command, --help) */\nexport function showLogo(): void {\n console.log()\n console.log()\n console.log(`${INDENT}${BANNER_LINE1}`)\n console.log()\n console.log(`${INDENT}${DIM}${BANNER_TAGLINE}${RESET}`)\n console.log()\n console.log()\n}\n\n/** Show single-line version banner (used for --version) */\nexport function showBanner(): void {\n console.log(`${INDENT}${BANNER_LINE1}`)\n}\n\n/** Show the dev server start banner */\nexport function showDevBanner(): void {\n console.log()\n console.log(`${INDENT}${BANNER_LINE1}`)\n console.log()\n}"],"mappings":";;;;AAWA,IAAM,eAAe;AACrB,IAAM,iBAAiB;AAGvB,IAAM,SAAS;AACf,IAAM,MAAM;AACZ,IAAM,QAAQ;AAGP,SAAS,WAAiB;AAC/B,UAAQ,IAAI;AACZ,UAAQ,IAAI;AACZ,UAAQ,IAAI,GAAG,MAAM,GAAG,YAAY,EAAE;AACtC,UAAQ,IAAI;AACZ,UAAQ,IAAI,GAAG,MAAM,GAAG,GAAG,GAAG,cAAc,GAAG,KAAK,EAAE;AACtD,UAAQ,IAAI;AACZ,UAAQ,IAAI;AACd;AARgB;AAWT,SAAS,aAAmB;AACjC,UAAQ,IAAI,GAAG,MAAM,GAAG,YAAY,EAAE;AACxC;AAFgB;AAKT,SAAS,gBAAsB;AACpC,UAAQ,IAAI;AACZ,UAAQ,IAAI,GAAG,MAAM,GAAG,YAAY,EAAE;AACtC,UAAQ,IAAI;AACd;AAJgB;","names":[]}
1
+ {"version":3,"sources":["../src/version.ts","../src/banner.ts"],"sourcesContent":["import { readFileSync } from 'node:fs'\n\n/**\n * CLI ็‰ˆๆœฌๅท็š„**ๅ•ไธ€ๆฅๆบ**๏ผš็›ดๆŽฅ่ฏปๆœฌๅŒ…็š„ `package.json`ใ€‚\n *\n * ๆญคๅ‰็‰ˆๆœฌๅทๅœจไธ‰ๅค„ๅ„่‡ช็กฌ็ผ–็ ๏ผŒไธ”้ƒฝไธŽ `package.json` ไธ็ฌฆ๏ผš\n * - `banner.ts` ็š„ `๐—ฉ๐—ข๐—•๐—ฆ ๐—–๐—Ÿ๐—œ ๐˜ƒ๐Ÿญ.๐Ÿฌ` ๅธธ้‡ โ€”โ€” ่ฟ™ๅฐฑๆ˜ฏ `vobs --version` ็š„**ๅ…จ้ƒจ**่พ“ๅ‡บ๏ผ›\n * - `cli.ts` ็š„ `cli.version('1.0.0')` โ€”โ€” `--help` ๅคด้ƒจๆ˜พ็คบ `vobs/1.0.0`๏ผ›\n * - `init.ts` ็š„ `vobsVersion: '1.0.0'` โ€”โ€” ๅ†™่ฟ›่„šๆ‰‹ๆžถไบง็‰ฉใ€‚\n * ๅŒไธ€ไธชไป“ๅบ“็š„ `commands/dsh.ts` ๆ—ฉๅฐฑๆœ‰ๆญฃ็กฎ็š„\"่ฏป package.json\"ๅฎž็Žฐ๏ผŒๆ‰€ไปฅ่ฟ™ไธๆ˜ฏ่ƒฝๅŠ›้—ฎ้ข˜๏ผŒ\n * ่€Œๆ˜ฏๆฒกไบบไปŽ**ๅค–้ƒจ**็œ‹่ฟ‡ CLI ็š„็‰ˆๆœฌ่พ“ๅ‡บ๏ผˆไธ‰ๅค„ไธไธ€่‡ดไนŸๆญฃๅ› ๅฆ‚ๆญคไปŽๆœช่ขซๅ‘็Žฐ๏ผ‰ใ€‚\n */\nlet cached: string | undefined\n\nexport function cliVersion(): string {\n if (cached !== undefined) return cached\n try {\n const manifest = JSON.parse(\n readFileSync(new URL('../package.json', import.meta.url), 'utf8')\n ) as { version?: string }\n cached = manifest.version ?? '0.0.0'\n } catch {\n // ่ฏปไธๅˆฐ package.json๏ผˆ่ขซๆ‰“ๅŒ…ๆˆๅ•ๆ–‡ไปถ็ญ‰๏ผ‰ๆ—ถไธ่ฆ่ฐŽๆŠฅไธ€ไธชๅƒ็œŸ็‰ˆๆœฌๅท็š„ๅธธ้‡\n cached = '0.0.0'\n }\n return cached\n}\n","/**\n * VOBS CLI Banner โ€” Mathematical Bold Sans-Serif\n * ๐—ฉ๐—ข๐—•๐—ฆ ๐—–๐—Ÿ๐—œ\n * Signals First ยท Zero Re-renders ยท Ultra Lightweight\n *\n * The banner is left-aligned with a fixed indent rather than horizontally\n * centered. Centering depends on the terminal column width and per-glyph\n * render width, neither of which is reliably knowable, so it drifts as the\n * window resizes. Fixed indent is stable across any terminal size.\n *\n * โš ๏ธ ่ฟ™้‡Œ**ๅชๆ”พๅ“็‰Œๅญ—ๅฝข๏ผŒไธๆ”พ็‰ˆๆœฌๅท**ใ€‚็‰ˆๆœฌๅทๆ›พไปฅๆ•ฐๅญฆ็ฒ—ไฝ“ๅธธ้‡ `๐˜ƒ๐Ÿญ.๐Ÿฌ` ็š„ๅฝขๅผๅ†™ๆญปๅœจ่ฟ™้‡Œ๏ผŒ\n * ่€Œๅฎƒๅฐฑๆ˜ฏ `--version` ็š„ๅ…จ้ƒจ่พ“ๅ‡บ โ€”โ€” ๆ‰“ๅฐไธ€ไธชๅ’Œ package.json ไธ็ฌฆ็š„็‰ˆๆœฌๆฏ”ไธๆ‰“ๅฐๆ›ด็ณŸใ€‚\n * ็œŸๅฎž็‰ˆๆœฌ็ปŸไธ€็”ฑ `version.ts` ็š„ `cliVersion()` ๆไพ›ใ€‚\n */\n\nimport { cliVersion } from './version.js'\n\nconst BANNER_LINE1 = '๐—ฉ๐—ข๐—•๐—ฆ ๐—–๐—Ÿ๐—œ'\nconst BANNER_TAGLINE = 'Signals First ยท Zero Re-renders ยท Ultra Lightweight'\n\n/** Fixed left indent applied to every banner line (2 spaces). */\nconst INDENT = ' '\nconst DIM = '\\x1b[2m'\nconst RESET = '\\x1b[0m'\n\n/** Show full banner (used for logo command, --help) */\nexport function showLogo(): void {\n console.log()\n console.log()\n console.log(`${INDENT}${BANNER_LINE1}`)\n console.log()\n console.log(`${INDENT}${DIM}${BANNER_TAGLINE}${RESET}`)\n console.log()\n console.log()\n}\n\n/** Show single-line version banner (used for --version)๏ผš็œŸๅฎž็‰ˆๆœฌๅท๏ผŒไธๆ˜ฏๅ“็‰Œๅญ—ๅฝขใ€‚ */\nexport function showBanner(): void {\n console.log(`${INDENT}${BANNER_LINE1} v${cliVersion()}`)\n}\n\n/** Show the dev server start banner */\nexport function showDevBanner(): void {\n console.log()\n console.log(`${INDENT}${BANNER_LINE1} v${cliVersion()}`)\n console.log()\n}"],"mappings":";;;;AAAA,SAAS,oBAAoB;AAY7B,IAAI;AAEG,SAAS,aAAqB;AACnC,MAAI,WAAW,OAAW,QAAO;AACjC,MAAI;AACF,UAAM,WAAW,KAAK;AAAA,MACpB,aAAa,IAAI,IAAI,mBAAmB,YAAY,GAAG,GAAG,MAAM;AAAA,IAClE;AACA,aAAS,SAAS,WAAW;AAAA,EAC/B,QAAQ;AAEN,aAAS;AAAA,EACX;AACA,SAAO;AACT;AAZgB;;;ACGhB,IAAM,eAAe;AACrB,IAAM,iBAAiB;AAGvB,IAAM,SAAS;AACf,IAAM,MAAM;AACZ,IAAM,QAAQ;AAGP,SAAS,WAAiB;AAC/B,UAAQ,IAAI;AACZ,UAAQ,IAAI;AACZ,UAAQ,IAAI,GAAG,MAAM,GAAG,YAAY,EAAE;AACtC,UAAQ,IAAI;AACZ,UAAQ,IAAI,GAAG,MAAM,GAAG,GAAG,GAAG,cAAc,GAAG,KAAK,EAAE;AACtD,UAAQ,IAAI;AACZ,UAAQ,IAAI;AACd;AARgB;AAWT,SAAS,aAAmB;AACjC,UAAQ,IAAI,GAAG,MAAM,GAAG,YAAY,KAAK,WAAW,CAAC,EAAE;AACzD;AAFgB;AAKT,SAAS,gBAAsB;AACpC,UAAQ,IAAI;AACZ,UAAQ,IAAI,GAAG,MAAM,GAAG,YAAY,KAAK,WAAW,CAAC,EAAE;AACvD,UAAQ,IAAI;AACd;AAJgB;","names":[]}