@hed-hog/cli 0.0.100 → 0.0.102

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hed-hog/cli",
3
- "version": "0.0.100",
3
+ "version": "0.0.102",
4
4
  "description": "HedHog CLI tool",
5
5
  "author": "HedHog",
6
6
  "private": false,
@@ -16,14 +16,15 @@
16
16
  "command-line"
17
17
  ],
18
18
  "files": [
19
- "dist"
19
+ "dist",
20
+ "scripts/postinstall.js"
20
21
  ],
21
22
  "bin": {
22
23
  "hedhog": "./dist/src/main.js",
23
24
  "hh": "./dist/src/main.js"
24
25
  },
25
26
  "scripts": {
26
- "postinstall": "node -e \"var p=require('path');var f=p.join(process.cwd(),'dist','src','postinstall.js');require('fs').existsSync(f)&&require(f)\"",
27
+ "postinstall": "node scripts/postinstall.js",
27
28
  "prebuild": "rimraf dist && npm run format && npm run validate:templates",
28
29
  "build": "nest build",
29
30
  "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
@@ -0,0 +1,90 @@
1
+ 'use strict';
2
+
3
+ var fs = require('fs');
4
+ var path = require('path');
5
+
6
+ // ANSI helpers — no external dependencies
7
+ var R = '\x1b[0m';
8
+ var BOLD = '\x1b[1m';
9
+ var PURPLE = '\x1b[38;2;124;58;237m';
10
+ var CYAN = '\x1b[36m';
11
+ var GREEN = '\x1b[32m';
12
+ var GRAY = '\x1b[90m';
13
+ var WHITE = '\x1b[97m';
14
+ var UNDERLINE = '\x1b[4m';
15
+ var BLUE = '\x1b[34m';
16
+
17
+ function c(ansi, text) {
18
+ return ansi + text + R;
19
+ }
20
+
21
+ function drawBox(lines) {
22
+ var width = 0;
23
+ for (var i = 0; i < lines.length; i++) {
24
+ var len = stripAnsi(lines[i]).length;
25
+ if (len > width) width = len;
26
+ }
27
+ var inner = width + 4; // 2 spaces padding each side
28
+ var top = '\u256d' + '\u2500'.repeat(inner) + '\u256e';
29
+ var bottom = '\u2570' + '\u2500'.repeat(inner) + '\u256f';
30
+ var mid = '\u2502';
31
+
32
+ var out = ['\n', top];
33
+ out.push(mid + ' '.repeat(inner) + mid); // empty padding line
34
+ for (var j = 0; j < lines.length; j++) {
35
+ var raw = stripAnsi(lines[j]);
36
+ var pad = width - raw.length;
37
+ out.push(mid + ' ' + lines[j] + ' '.repeat(pad) + ' ' + mid);
38
+ }
39
+ out.push(mid + ' '.repeat(inner) + mid); // empty padding line
40
+ out.push(bottom, '');
41
+ return out.join('\n');
42
+ }
43
+
44
+ function stripAnsi(str) {
45
+ return str.replace(/\x1b\[[0-9;]*m/g, '');
46
+ }
47
+
48
+ try {
49
+ var pkg = JSON.parse(
50
+ fs.readFileSync(path.join(__dirname, '..', 'package.json'), 'utf-8'),
51
+ );
52
+ var version = pkg.version || '';
53
+
54
+ var cmds = [
55
+ ['hedhog new <name>', 'Create a new project'],
56
+ ['hedhog add <library>', 'Add a library to your project'],
57
+ ['hedhog dev apply', 'Apply local library changes'],
58
+ ['hedhog dev initdb', 'Initialize the database'],
59
+ ];
60
+
61
+ var lines = [
62
+ c(BOLD + PURPLE, ' HedHog CLI'),
63
+ '',
64
+ ' ' +
65
+ c(GRAY, 'Version') +
66
+ ' ' +
67
+ c(BOLD + CYAN, 'v' + version) +
68
+ ' ' +
69
+ c(GREEN, 'installed successfully!'),
70
+ '',
71
+ c(GRAY, ' Commands:'),
72
+ ];
73
+
74
+ for (var k = 0; k < cmds.length; k++) {
75
+ var cmd = cmds[k][0];
76
+ var desc = cmds[k][1];
77
+ lines.push(' ' + c(BOLD + WHITE, cmd.padEnd(26)) + ' ' + c(GRAY, desc));
78
+ }
79
+
80
+ lines.push('');
81
+ lines.push(
82
+ ' ' +
83
+ c(GRAY, 'Docs: ') +
84
+ c(UNDERLINE + BLUE, 'https://github.com/hed-hog/cli'),
85
+ );
86
+
87
+ process.stdout.write(drawBox(lines));
88
+ } catch (_) {
89
+ // Silently ignore — postinstall message is non-critical
90
+ }