nivii 0.1.7 → 0.1.8
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/cli.js +9 -4
- package/dist/cli.js.map +1 -1
- package/dist/ui/welcome.d.ts +1 -0
- package/dist/ui/welcome.d.ts.map +1 -1
- package/dist/ui/welcome.js +37 -11
- package/dist/ui/welcome.js.map +1 -1
- package/package.json +1 -1
- package/src/cli.ts +10 -4
- package/src/ui/welcome.ts +42 -17
package/dist/cli.js
CHANGED
|
@@ -6,7 +6,7 @@ import { runConfig } from './commands/config.js';
|
|
|
6
6
|
import { runWhoami } from './commands/whoami.js';
|
|
7
7
|
import { runAnalytics } from './core/analytics.js';
|
|
8
8
|
import { loadConfig, updateConfig } from './utils/config.js';
|
|
9
|
-
import { showWelcome } from './ui/welcome.js';
|
|
9
|
+
import { showWelcome, showHelp } from './ui/welcome.js';
|
|
10
10
|
const cli = cac('nivii');
|
|
11
11
|
// ─── First run ────────────────────────────────────────────────────────────────
|
|
12
12
|
const config = loadConfig();
|
|
@@ -92,9 +92,14 @@ cli
|
|
|
92
92
|
.action(async (slug) => {
|
|
93
93
|
await runAnalytics(slug);
|
|
94
94
|
});
|
|
95
|
-
cli.
|
|
96
|
-
|
|
97
|
-
cli.parse();
|
|
95
|
+
cli.version('0.1.8');
|
|
96
|
+
// ─── Show help when no command given ─────────────────────────────────────────
|
|
97
|
+
cli.parse(process.argv, { run: false });
|
|
98
|
+
if (!cli.matchedCommand) {
|
|
99
|
+
showHelp();
|
|
100
|
+
process.exit(0);
|
|
101
|
+
}
|
|
102
|
+
await cli.runMatchedCommand();
|
|
98
103
|
function timeSince(date) {
|
|
99
104
|
const seconds = Math.floor((Date.now() - date.getTime()) / 1000);
|
|
100
105
|
if (seconds < 60)
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/welcome.d.ts
CHANGED
package/dist/ui/welcome.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"welcome.d.ts","sourceRoot":"","sources":["../../src/ui/welcome.ts"],"names":[],"mappings":"AA4BA,wBAAgB,WAAW,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"welcome.d.ts","sourceRoot":"","sources":["../../src/ui/welcome.ts"],"names":[],"mappings":"AA4BA,wBAAgB,WAAW,IAAI,IAAI,CAkBlC;AAED,wBAAgB,QAAQ,IAAI,IAAI,CA0B/B;AAED,wBAAgB,UAAU,IAAI,IAAI,CAQjC"}
|
package/dist/ui/welcome.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
|
-
// Block-style NIVII ASCII art
|
|
2
|
+
// Block-style NIVII ASCII art
|
|
3
3
|
const NIVII_ASCII = [
|
|
4
4
|
'███╗ ██╗██╗██╗ ██╗██╗██╗',
|
|
5
5
|
'████╗ ██║██║██║ ██║██║██║',
|
|
@@ -8,29 +8,28 @@ const NIVII_ASCII = [
|
|
|
8
8
|
'██║ ╚████║██║ ██╔██╗ ██║██║',
|
|
9
9
|
'╚═╝ ╚═══╝╚═╝ ╚═╝ ╚═╝╚═╝╚═╝',
|
|
10
10
|
];
|
|
11
|
-
// Purple gradient rows top→bottom (matches the image)
|
|
12
11
|
const GRADIENT = [
|
|
13
|
-
'#6B21A8',
|
|
14
|
-
'#7C3AED',
|
|
15
|
-
'#8B5CF6',
|
|
16
|
-
'#A78BFA',
|
|
17
|
-
'#C4B5FD',
|
|
18
|
-
'#DDD6FE',
|
|
12
|
+
'#6B21A8',
|
|
13
|
+
'#7C3AED',
|
|
14
|
+
'#8B5CF6',
|
|
15
|
+
'#A78BFA',
|
|
16
|
+
'#C4B5FD',
|
|
17
|
+
'#DDD6FE',
|
|
19
18
|
];
|
|
20
19
|
const cyan = chalk.hex('#06B6D4');
|
|
21
20
|
const gray = chalk.hex('#6B7280');
|
|
22
21
|
const green = chalk.hex('#10B981');
|
|
23
22
|
const orange = chalk.hex('#F97316');
|
|
24
23
|
const white = chalk.white;
|
|
24
|
+
const purple = chalk.hex('#A78BFA');
|
|
25
25
|
export function showWelcome() {
|
|
26
26
|
console.log('');
|
|
27
|
-
// Big ASCII logo with gradient
|
|
28
27
|
for (let i = 0; i < NIVII_ASCII.length; i++) {
|
|
29
28
|
console.log(' ' + chalk.hex(GRADIENT[i])(NIVII_ASCII[i]));
|
|
30
29
|
}
|
|
31
30
|
console.log('');
|
|
32
31
|
console.log(' ' + orange('⚡') + ' ' + cyan('Share any project in seconds. No accounts. No config.'));
|
|
33
|
-
console.log(' ' + gray('v0.1.
|
|
32
|
+
console.log(' ' + gray('v0.1.8 · nivii.app'));
|
|
34
33
|
console.log('');
|
|
35
34
|
console.log(' ' + gray('─'.repeat(46)));
|
|
36
35
|
console.log(' ' + cyan('Quick start:') + ' ' + white('nivii share'));
|
|
@@ -42,11 +41,38 @@ export function showWelcome() {
|
|
|
42
41
|
console.log(' ' + green('✓') + ' ' + cyan('First-run setup complete!') + gray(' Config saved to ~/.nivii/config.json'));
|
|
43
42
|
console.log('');
|
|
44
43
|
}
|
|
44
|
+
export function showHelp() {
|
|
45
|
+
console.log('');
|
|
46
|
+
for (let i = 0; i < NIVII_ASCII.length; i++) {
|
|
47
|
+
console.log(' ' + chalk.hex(GRADIENT[i])(NIVII_ASCII[i]));
|
|
48
|
+
}
|
|
49
|
+
console.log('');
|
|
50
|
+
console.log(' ' + orange('⚡') + ' ' + cyan('Share any project in seconds. No accounts. No config.'));
|
|
51
|
+
console.log(' ' + gray('v0.1.8 · nivii.app'));
|
|
52
|
+
console.log('');
|
|
53
|
+
console.log(' ' + gray('─'.repeat(50)));
|
|
54
|
+
console.log(' ' + purple.bold('Commands'));
|
|
55
|
+
console.log('');
|
|
56
|
+
console.log(' ' + cyan('nivii share') + ' ' + gray('Deploy current directory'));
|
|
57
|
+
console.log(' ' + cyan('nivii share --slug my-demo') + ' ' + gray('Custom slug (Pro)'));
|
|
58
|
+
console.log(' ' + cyan('nivii share --pass secret') + ' ' + gray('Password protect'));
|
|
59
|
+
console.log(' ' + cyan('nivii share --expires 24h') + ' ' + gray('Set expiry (1h/24h/7d/30d)'));
|
|
60
|
+
console.log(' ' + cyan('nivii share --live') + ' ' + gray('Live sync on file changes'));
|
|
61
|
+
console.log(' ' + cyan('nivii share --no-build') + ' ' + gray('Skip build step'));
|
|
62
|
+
console.log(' ' + cyan('nivii ls') + ' ' + gray('List recent deployments'));
|
|
63
|
+
console.log(' ' + cyan('nivii whoami') + ' ' + gray('Show account info'));
|
|
64
|
+
console.log(' ' + cyan('nivii analytics [slug]') + ' ' + gray('View deployment analytics'));
|
|
65
|
+
console.log(' ' + cyan('nivii config') + ' ' + gray('View/set config values'));
|
|
66
|
+
console.log('');
|
|
67
|
+
console.log(' ' + gray('─'.repeat(50)));
|
|
68
|
+
console.log(' ' + gray('Docs: ') + white('https://nivii.app') + ' ' + gray('·') + ' ' + gray('Pro: ') + white('https://nivii.app/#pricing'));
|
|
69
|
+
console.log('');
|
|
70
|
+
}
|
|
45
71
|
export function showBanner() {
|
|
46
72
|
console.log('');
|
|
47
73
|
console.log(' ' + orange('⚡') + ' ' +
|
|
48
74
|
chalk.hex('#A78BFA').bold('NIVII') + ' ' +
|
|
49
|
-
gray('v0.1.
|
|
75
|
+
gray('v0.1.8'));
|
|
50
76
|
console.log('');
|
|
51
77
|
}
|
|
52
78
|
//# sourceMappingURL=welcome.js.map
|
package/dist/ui/welcome.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"welcome.js","sourceRoot":"","sources":["../../src/ui/welcome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,
|
|
1
|
+
{"version":3,"file":"welcome.js","sourceRoot":"","sources":["../../src/ui/welcome.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/cli.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { runConfig } from './commands/config.js';
|
|
|
6
6
|
import { runWhoami } from './commands/whoami.js';
|
|
7
7
|
import { runAnalytics } from './core/analytics.js';
|
|
8
8
|
import { loadConfig, updateConfig } from './utils/config.js';
|
|
9
|
-
import { showWelcome } from './ui/welcome.js';
|
|
9
|
+
import { showWelcome, showHelp } from './ui/welcome.js';
|
|
10
10
|
|
|
11
11
|
const cli = cac('nivii');
|
|
12
12
|
|
|
@@ -99,9 +99,15 @@ cli
|
|
|
99
99
|
await runAnalytics(slug);
|
|
100
100
|
});
|
|
101
101
|
|
|
102
|
-
cli.
|
|
103
|
-
|
|
104
|
-
|
|
102
|
+
cli.version('0.1.8');
|
|
103
|
+
|
|
104
|
+
// ─── Show help when no command given ─────────────────────────────────────────
|
|
105
|
+
cli.parse(process.argv, { run: false });
|
|
106
|
+
if (!cli.matchedCommand) {
|
|
107
|
+
showHelp();
|
|
108
|
+
process.exit(0);
|
|
109
|
+
}
|
|
110
|
+
await cli.runMatchedCommand();
|
|
105
111
|
|
|
106
112
|
function timeSince(date: Date): string {
|
|
107
113
|
const seconds = Math.floor((Date.now() - date.getTime()) / 1000);
|
package/src/ui/welcome.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
|
|
3
|
-
// Block-style NIVII ASCII art
|
|
3
|
+
// Block-style NIVII ASCII art
|
|
4
4
|
const NIVII_ASCII = [
|
|
5
5
|
'███╗ ██╗██╗██╗ ██╗██╗██╗',
|
|
6
6
|
'████╗ ██║██║██║ ██║██║██║',
|
|
@@ -10,33 +10,30 @@ const NIVII_ASCII = [
|
|
|
10
10
|
'╚═╝ ╚═══╝╚═╝ ╚═╝ ╚═╝╚═╝╚═╝',
|
|
11
11
|
];
|
|
12
12
|
|
|
13
|
-
// Purple gradient rows top→bottom (matches the image)
|
|
14
13
|
const GRADIENT = [
|
|
15
|
-
'#6B21A8',
|
|
16
|
-
'#7C3AED',
|
|
17
|
-
'#8B5CF6',
|
|
18
|
-
'#A78BFA',
|
|
19
|
-
'#C4B5FD',
|
|
20
|
-
'#DDD6FE',
|
|
14
|
+
'#6B21A8',
|
|
15
|
+
'#7C3AED',
|
|
16
|
+
'#8B5CF6',
|
|
17
|
+
'#A78BFA',
|
|
18
|
+
'#C4B5FD',
|
|
19
|
+
'#DDD6FE',
|
|
21
20
|
];
|
|
22
21
|
|
|
23
|
-
const cyan
|
|
24
|
-
const gray
|
|
25
|
-
const green
|
|
22
|
+
const cyan = chalk.hex('#06B6D4');
|
|
23
|
+
const gray = chalk.hex('#6B7280');
|
|
24
|
+
const green = chalk.hex('#10B981');
|
|
26
25
|
const orange = chalk.hex('#F97316');
|
|
27
|
-
const white
|
|
26
|
+
const white = chalk.white;
|
|
27
|
+
const purple = chalk.hex('#A78BFA');
|
|
28
28
|
|
|
29
29
|
export function showWelcome(): void {
|
|
30
30
|
console.log('');
|
|
31
|
-
|
|
32
|
-
// Big ASCII logo with gradient
|
|
33
31
|
for (let i = 0; i < NIVII_ASCII.length; i++) {
|
|
34
32
|
console.log(' ' + chalk.hex(GRADIENT[i])(NIVII_ASCII[i]));
|
|
35
33
|
}
|
|
36
|
-
|
|
37
34
|
console.log('');
|
|
38
35
|
console.log(' ' + orange('⚡') + ' ' + cyan('Share any project in seconds. No accounts. No config.'));
|
|
39
|
-
console.log(' ' + gray('v0.1.
|
|
36
|
+
console.log(' ' + gray('v0.1.8 · nivii.app'));
|
|
40
37
|
console.log('');
|
|
41
38
|
console.log(' ' + gray('─'.repeat(46)));
|
|
42
39
|
console.log(' ' + cyan('Quick start:') + ' ' + white('nivii share'));
|
|
@@ -49,12 +46,40 @@ export function showWelcome(): void {
|
|
|
49
46
|
console.log('');
|
|
50
47
|
}
|
|
51
48
|
|
|
49
|
+
export function showHelp(): void {
|
|
50
|
+
console.log('');
|
|
51
|
+
for (let i = 0; i < NIVII_ASCII.length; i++) {
|
|
52
|
+
console.log(' ' + chalk.hex(GRADIENT[i])(NIVII_ASCII[i]));
|
|
53
|
+
}
|
|
54
|
+
console.log('');
|
|
55
|
+
console.log(' ' + orange('⚡') + ' ' + cyan('Share any project in seconds. No accounts. No config.'));
|
|
56
|
+
console.log(' ' + gray('v0.1.8 · nivii.app'));
|
|
57
|
+
console.log('');
|
|
58
|
+
console.log(' ' + gray('─'.repeat(50)));
|
|
59
|
+
console.log(' ' + purple.bold('Commands'));
|
|
60
|
+
console.log('');
|
|
61
|
+
console.log(' ' + cyan('nivii share') + ' ' + gray('Deploy current directory'));
|
|
62
|
+
console.log(' ' + cyan('nivii share --slug my-demo') + ' ' + gray('Custom slug (Pro)'));
|
|
63
|
+
console.log(' ' + cyan('nivii share --pass secret') + ' ' + gray('Password protect'));
|
|
64
|
+
console.log(' ' + cyan('nivii share --expires 24h') + ' ' + gray('Set expiry (1h/24h/7d/30d)'));
|
|
65
|
+
console.log(' ' + cyan('nivii share --live') + ' ' + gray('Live sync on file changes'));
|
|
66
|
+
console.log(' ' + cyan('nivii share --no-build') + ' ' + gray('Skip build step'));
|
|
67
|
+
console.log(' ' + cyan('nivii ls') + ' ' + gray('List recent deployments'));
|
|
68
|
+
console.log(' ' + cyan('nivii whoami') + ' ' + gray('Show account info'));
|
|
69
|
+
console.log(' ' + cyan('nivii analytics [slug]') + ' ' + gray('View deployment analytics'));
|
|
70
|
+
console.log(' ' + cyan('nivii config') + ' ' + gray('View/set config values'));
|
|
71
|
+
console.log('');
|
|
72
|
+
console.log(' ' + gray('─'.repeat(50)));
|
|
73
|
+
console.log(' ' + gray('Docs: ') + white('https://nivii.app') + ' ' + gray('·') + ' ' + gray('Pro: ') + white('https://nivii.app/#pricing'));
|
|
74
|
+
console.log('');
|
|
75
|
+
}
|
|
76
|
+
|
|
52
77
|
export function showBanner(): void {
|
|
53
78
|
console.log('');
|
|
54
79
|
console.log(
|
|
55
80
|
' ' + orange('⚡') + ' ' +
|
|
56
81
|
chalk.hex('#A78BFA').bold('NIVII') + ' ' +
|
|
57
|
-
gray('v0.1.
|
|
82
|
+
gray('v0.1.8')
|
|
58
83
|
);
|
|
59
84
|
console.log('');
|
|
60
85
|
}
|