@reverso/cli 0.1.1 → 0.1.3
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/bin.js +2 -0
- package/dist/bin.js.map +1 -1
- package/dist/commands/index.d.ts +1 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +1 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/init.d.ts +6 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +165 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/ui/banner.d.ts +39 -0
- package/dist/ui/banner.d.ts.map +1 -0
- package/dist/ui/banner.js +144 -0
- package/dist/ui/banner.js.map +1 -0
- package/dist/ui/index.d.ts +5 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +5 -0
- package/dist/ui/index.js.map +1 -0
- package/package.json +11 -6
package/dist/bin.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { program } from 'commander';
|
|
6
6
|
import { buildCommand } from './commands/build.js';
|
|
7
7
|
import { devCommand } from './commands/dev.js';
|
|
8
|
+
import { initCommand } from './commands/init.js';
|
|
8
9
|
import { migrateCommand } from './commands/migrate.js';
|
|
9
10
|
import { scanCommand } from './commands/scan.js';
|
|
10
11
|
import { startCommand } from './commands/start.js';
|
|
@@ -14,6 +15,7 @@ program
|
|
|
14
15
|
.description('Command line interface for Reverso CMS')
|
|
15
16
|
.version(VERSION);
|
|
16
17
|
// Register commands
|
|
18
|
+
initCommand(program);
|
|
17
19
|
scanCommand(program);
|
|
18
20
|
devCommand(program);
|
|
19
21
|
buildCommand(program);
|
package/dist/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,wCAAwC,CAAC;KACrD,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,oBAAoB;AACpB,WAAW,CAAC,OAAO,CAAC,CAAC;AACrB,UAAU,CAAC,OAAO,CAAC,CAAC;AACpB,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,cAAc,CAAC,OAAO,CAAC,CAAC;AAExB,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,wCAAwC,CAAC;KACrD,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,oBAAoB;AACpB,WAAW,CAAC,OAAO,CAAC,CAAC;AACrB,WAAW,CAAC,OAAO,CAAC,CAAC;AACrB,UAAU,CAAC,OAAO,CAAC,CAAC;AACpB,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,cAAc,CAAC,OAAO,CAAC,CAAC;AAExB,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
package/dist/commands/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/commands/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqDzC,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoHlD"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Init command - initialize Reverso in an existing project.
|
|
3
|
+
*/
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import ora from 'ora';
|
|
6
|
+
import { existsSync, writeFileSync, mkdirSync } from 'node:fs';
|
|
7
|
+
import { resolve, join } from 'node:path';
|
|
8
|
+
import { showBanner, showSuccess, showNextSteps } from '../ui/index.js';
|
|
9
|
+
const CONFIG_TEMPLATE = `import { defineConfig } from '@reverso/core';
|
|
10
|
+
|
|
11
|
+
export default defineConfig({
|
|
12
|
+
// Source directory to scan for data-reverso markers
|
|
13
|
+
srcDir: './src',
|
|
14
|
+
|
|
15
|
+
// Output directory for generated files
|
|
16
|
+
outputDir: '.reverso',
|
|
17
|
+
|
|
18
|
+
// Database configuration
|
|
19
|
+
database: {
|
|
20
|
+
type: 'sqlite',
|
|
21
|
+
url: '.reverso/dev.db',
|
|
22
|
+
},
|
|
23
|
+
|
|
24
|
+
// API server configuration
|
|
25
|
+
api: {
|
|
26
|
+
port: 4000,
|
|
27
|
+
cors: true,
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
`;
|
|
31
|
+
const EXAMPLE_COMPONENT = `// Example component with Reverso markers
|
|
32
|
+
// Add data-reverso attributes to make content editable
|
|
33
|
+
|
|
34
|
+
export function Hero() {
|
|
35
|
+
return (
|
|
36
|
+
<section className="hero">
|
|
37
|
+
<h1 data-reverso="home.hero.title" data-reverso-type="text">
|
|
38
|
+
Welcome to My Site
|
|
39
|
+
</h1>
|
|
40
|
+
<p data-reverso="home.hero.subtitle" data-reverso-type="textarea">
|
|
41
|
+
This content can be edited in the Reverso admin panel.
|
|
42
|
+
</p>
|
|
43
|
+
<img
|
|
44
|
+
data-reverso="home.hero.image"
|
|
45
|
+
data-reverso-type="image"
|
|
46
|
+
src="/placeholder.jpg"
|
|
47
|
+
alt="Hero image"
|
|
48
|
+
/>
|
|
49
|
+
</section>
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
`;
|
|
53
|
+
export function initCommand(program) {
|
|
54
|
+
program
|
|
55
|
+
.command('init')
|
|
56
|
+
.description('Initialize Reverso in an existing project')
|
|
57
|
+
.option('-f, --force', 'Overwrite existing configuration', false)
|
|
58
|
+
.option('--example', 'Create an example component with markers', false)
|
|
59
|
+
.action(async (options) => {
|
|
60
|
+
const spinner = ora();
|
|
61
|
+
// Show branded banner
|
|
62
|
+
showBanner({ version: '0.1.2' });
|
|
63
|
+
console.log(chalk.blue.bold('Initializing Reverso CMS...'));
|
|
64
|
+
console.log();
|
|
65
|
+
// Verify current directory exists
|
|
66
|
+
let cwd;
|
|
67
|
+
try {
|
|
68
|
+
cwd = process.cwd();
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
console.log(chalk.red('✖ Error: Current directory does not exist.'));
|
|
72
|
+
console.log(chalk.gray(' Please navigate to a valid directory and try again.'));
|
|
73
|
+
process.exit(1);
|
|
74
|
+
}
|
|
75
|
+
const configPath = resolve(cwd, 'reverso.config.ts');
|
|
76
|
+
const configPathJs = resolve(cwd, 'reverso.config.js');
|
|
77
|
+
// Check if config already exists
|
|
78
|
+
if (!options.force && (existsSync(configPath) || existsSync(configPathJs))) {
|
|
79
|
+
console.log(chalk.yellow('⚠ Configuration file already exists.'));
|
|
80
|
+
console.log(chalk.gray(' Use --force to overwrite.'));
|
|
81
|
+
console.log();
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
// Create config file
|
|
85
|
+
spinner.start('Creating configuration file...');
|
|
86
|
+
try {
|
|
87
|
+
writeFileSync(configPath, CONFIG_TEMPLATE);
|
|
88
|
+
spinner.succeed(`Created ${chalk.cyan('reverso.config.ts')}`);
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
spinner.fail('Failed to create configuration file');
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
// Create .reverso directory
|
|
95
|
+
spinner.start('Creating .reverso directory...');
|
|
96
|
+
try {
|
|
97
|
+
const reversoDir = resolve(cwd, '.reverso');
|
|
98
|
+
if (!existsSync(reversoDir)) {
|
|
99
|
+
mkdirSync(reversoDir, { recursive: true });
|
|
100
|
+
}
|
|
101
|
+
spinner.succeed(`Created ${chalk.cyan('.reverso/')} directory`);
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
spinner.fail('Failed to create .reverso directory');
|
|
105
|
+
}
|
|
106
|
+
// Create example component if requested
|
|
107
|
+
if (options.example) {
|
|
108
|
+
spinner.start('Creating example component...');
|
|
109
|
+
try {
|
|
110
|
+
const srcDir = resolve(cwd, 'src');
|
|
111
|
+
const componentsDir = join(srcDir, 'components');
|
|
112
|
+
if (!existsSync(componentsDir)) {
|
|
113
|
+
mkdirSync(componentsDir, { recursive: true });
|
|
114
|
+
}
|
|
115
|
+
const examplePath = join(componentsDir, 'Hero.tsx');
|
|
116
|
+
if (!existsSync(examplePath) || options.force) {
|
|
117
|
+
writeFileSync(examplePath, EXAMPLE_COMPONENT);
|
|
118
|
+
spinner.succeed(`Created ${chalk.cyan('src/components/Hero.tsx')}`);
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
spinner.info('Example component already exists, skipping');
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
catch {
|
|
125
|
+
spinner.fail('Failed to create example component');
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
// Add to .gitignore if it exists
|
|
129
|
+
spinner.start('Updating .gitignore...');
|
|
130
|
+
try {
|
|
131
|
+
const gitignorePath = resolve(cwd, '.gitignore');
|
|
132
|
+
if (existsSync(gitignorePath)) {
|
|
133
|
+
const { readFileSync, appendFileSync } = await import('node:fs');
|
|
134
|
+
const content = readFileSync(gitignorePath, 'utf-8');
|
|
135
|
+
if (!content.includes('.reverso')) {
|
|
136
|
+
const additions = '\n# Reverso\n.reverso/\n';
|
|
137
|
+
appendFileSync(gitignorePath, additions);
|
|
138
|
+
spinner.succeed('Added .reverso/ to .gitignore');
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
spinner.info('.reverso/ already in .gitignore');
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
spinner.info('No .gitignore found, skipping');
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
spinner.info('Could not update .gitignore');
|
|
150
|
+
}
|
|
151
|
+
// Show success message
|
|
152
|
+
showSuccess('Reverso initialized successfully!', [
|
|
153
|
+
`${chalk.cyan('Config:')} reverso.config.ts`,
|
|
154
|
+
`${chalk.cyan('Output:')} .reverso/`,
|
|
155
|
+
]);
|
|
156
|
+
// Show next steps
|
|
157
|
+
showNextSteps([
|
|
158
|
+
{ step: 'Install dependencies', command: 'npm install @reverso/core' },
|
|
159
|
+
{ step: 'Add markers to your components', command: '<h1 data-reverso="page.section.field" data-reverso-type="text">' },
|
|
160
|
+
{ step: 'Scan and start the dev server', command: 'npx reverso scan && npx reverso dev' },
|
|
161
|
+
{ step: 'Open admin panel', command: 'http://localhost:4000/admin' },
|
|
162
|
+
]);
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -17,5 +17,5 @@
|
|
|
17
17
|
* ```
|
|
18
18
|
*/
|
|
19
19
|
export declare const VERSION = "0.0.0";
|
|
20
|
-
export { scanCommand, devCommand, migrateCommand } from './commands/index.js';
|
|
20
|
+
export { initCommand, scanCommand, devCommand, migrateCommand } from './commands/index.js';
|
|
21
21
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -18,5 +18,5 @@
|
|
|
18
18
|
*/
|
|
19
19
|
export const VERSION = '0.0.0';
|
|
20
20
|
// Export commands for programmatic use
|
|
21
|
-
export { scanCommand, devCommand, migrateCommand } from './commands/index.js';
|
|
21
|
+
export { initCommand, scanCommand, devCommand, migrateCommand } from './commands/index.js';
|
|
22
22
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,uCAAuC;AACvC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,uCAAuC;AACvC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI branding and welcome banner.
|
|
3
|
+
*/
|
|
4
|
+
export type LogoStyle = 'default' | 'compact' | 'minimal';
|
|
5
|
+
/**
|
|
6
|
+
* Generate ASCII art logo
|
|
7
|
+
*/
|
|
8
|
+
export declare function generateLogo(style?: LogoStyle): string;
|
|
9
|
+
/**
|
|
10
|
+
* Display the welcome banner
|
|
11
|
+
*/
|
|
12
|
+
export declare function showBanner(options?: {
|
|
13
|
+
version?: string;
|
|
14
|
+
compact?: boolean;
|
|
15
|
+
}): void;
|
|
16
|
+
/**
|
|
17
|
+
* Show a success message in a box
|
|
18
|
+
*/
|
|
19
|
+
export declare function showSuccess(title: string, messages: string[]): void;
|
|
20
|
+
/**
|
|
21
|
+
* Show an error message in a box
|
|
22
|
+
*/
|
|
23
|
+
export declare function showError(title: string, messages: string[]): void;
|
|
24
|
+
/**
|
|
25
|
+
* Show a tip/hint box
|
|
26
|
+
*/
|
|
27
|
+
export declare function showTip(content: string): void;
|
|
28
|
+
/**
|
|
29
|
+
* Show next steps in a formatted way
|
|
30
|
+
*/
|
|
31
|
+
export declare function showNextSteps(steps: Array<{
|
|
32
|
+
step: string;
|
|
33
|
+
command?: string;
|
|
34
|
+
}>): void;
|
|
35
|
+
/**
|
|
36
|
+
* Show a divider line
|
|
37
|
+
*/
|
|
38
|
+
export declare function showDivider(): void;
|
|
39
|
+
//# sourceMappingURL=banner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../src/ui/banner.ts"],"names":[],"mappings":"AAAA;;GAEG;AA4CH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAE1D;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,GAAE,SAAqB,GAAG,MAAM,CAQjE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAsClF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAWnE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAWjE;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAU7C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,IAAI,CAWpF;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAElC"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI branding and welcome banner.
|
|
3
|
+
*/
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import gradient from 'gradient-string';
|
|
6
|
+
import boxen from 'boxen';
|
|
7
|
+
// Custom gradient colors (blue to purple)
|
|
8
|
+
const reversoGradient = gradient(['#3b82f6', '#8b5cf6', '#d946ef']);
|
|
9
|
+
// Official Reverso ASCII art logo
|
|
10
|
+
const REVERSO_LOGO = `
|
|
11
|
+
███████████████▓▒
|
|
12
|
+
▒███░ ▓███░
|
|
13
|
+
▒███ ▒███░
|
|
14
|
+
▒███ ████
|
|
15
|
+
▒███ ███▓ ░██▓▓██▓ ████████▒ ▓█████▓ ▒██▓▓██▓ ░▓█░ ▒████░ ▓██▓████ ▓██▓███▓
|
|
16
|
+
▒███ ▓███ ░██░ ░██▓ ░███▒ ▓█░ ▒██░ ▒██▓ ▒████▓█▒▒███▒ ▒██ ▒█▒ ███ ███░
|
|
17
|
+
▒██▒ ▒███ ▒██▓ ▓██▒ ▒███░ ░█▒ ▒██▒ ███░ ████ ███ █▒ ▒███ ███░
|
|
18
|
+
░░ ▒▓▓▓████░ ███▒ ████ ████ █▓ ░███░ ░███▓ ███▒ ▓███▓ ████ ▓███
|
|
19
|
+
▒███░ ████ ░████▒▒▒▒▒▒▒▒▒░ ███▓ ▓█ ▒███▓▒▒▒▒▒▒▒▒▒ ███▒ ░██████░ ███▒ ▒███░
|
|
20
|
+
▒███░ ████░ ░███░ ░███▒ ░█░ ▒███░ ███▒ ▒█████▒ ███▒ ▒███░
|
|
21
|
+
▒███░ ▓███▒ ███▓ ▒ ▒███░█▒ ███▒ ▒ ███▒ ▒███▒ ▓███ ▓███
|
|
22
|
+
▒███░ ▓███▒ ░███▒ █▓ ▓███▓ ░███▒ █▒ ███▒ █▒ ▓██▒ ░███░ ░███
|
|
23
|
+
████▒ ▒████░ █████▒▒▒██░ ███ █████▒▒▓██ ░███▓ ██▒ ██▒ ▓██▒ ▒██▒
|
|
24
|
+
░░░░░░░░░ ░░░░░ ▒▓▓▓▒ ▒ ░▒▓▓▓▒ ░░░░░░░░ ░▒▒▓▓▓▒ ▒▒▓▓▒░
|
|
25
|
+
`;
|
|
26
|
+
// Compact version for smaller terminals
|
|
27
|
+
const REVERSO_LOGO_COMPACT = `
|
|
28
|
+
██████╗ ███████╗██╗ ██╗███████╗██████╗ ███████╗ ██████╗
|
|
29
|
+
██╔══██╗██╔════╝██║ ██║██╔════╝██╔══██╗██╔════╝██╔═══██╗
|
|
30
|
+
██████╔╝█████╗ ██║ ██║█████╗ ██████╔╝███████╗██║ ██║
|
|
31
|
+
██╔══██╗██╔══╝ ╚██╗ ██╔╝██╔══╝ ██╔══██╗╚════██║██║ ██║
|
|
32
|
+
██║ ██║███████╗ ╚████╔╝ ███████╗██║ ██║███████║╚██████╔╝
|
|
33
|
+
╚═╝ ╚═╝╚══════╝ ╚═══╝ ╚══════╝╚═╝ ╚═╝╚══════╝ ╚═════╝
|
|
34
|
+
`;
|
|
35
|
+
// Minimal version
|
|
36
|
+
const REVERSO_LOGO_MINIMAL = `
|
|
37
|
+
╦═╗ ╔═╗ ╦ ╦ ╔═╗ ╦═╗ ╔═╗ ╔═╗
|
|
38
|
+
╠╦╝ ║╣ ╚╗╔╝ ║╣ ╠╦╝ ╚═╗ ║ ║
|
|
39
|
+
╩╚═ ╚═╝ ╚╝ ╚═╝ ╩╚═ ╚═╝ ╚═╝
|
|
40
|
+
`;
|
|
41
|
+
/**
|
|
42
|
+
* Generate ASCII art logo
|
|
43
|
+
*/
|
|
44
|
+
export function generateLogo(style = 'default') {
|
|
45
|
+
const logos = {
|
|
46
|
+
default: REVERSO_LOGO,
|
|
47
|
+
compact: REVERSO_LOGO_COMPACT,
|
|
48
|
+
minimal: REVERSO_LOGO_MINIMAL,
|
|
49
|
+
};
|
|
50
|
+
return reversoGradient(logos[style]);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Display the welcome banner
|
|
54
|
+
*/
|
|
55
|
+
export function showBanner(options) {
|
|
56
|
+
const { version = '0.1.0', compact = false } = options ?? {};
|
|
57
|
+
if (compact) {
|
|
58
|
+
// Compact banner for subcommands
|
|
59
|
+
console.log();
|
|
60
|
+
console.log(reversoGradient(' ▶ Reverso CMS') + chalk.gray(` v${version}`));
|
|
61
|
+
console.log();
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
// Full banner
|
|
65
|
+
console.log();
|
|
66
|
+
console.log(generateLogo('compact'));
|
|
67
|
+
console.log();
|
|
68
|
+
const tagline = chalk.bold('The front-to-back CMS for modern web development');
|
|
69
|
+
const description = chalk.gray('Add markers to your React code. Get a fully-featured CMS automatically.');
|
|
70
|
+
console.log(tagline);
|
|
71
|
+
console.log(description);
|
|
72
|
+
console.log();
|
|
73
|
+
// Info box
|
|
74
|
+
const infoContent = [
|
|
75
|
+
`${chalk.cyan('Version')} ${version}`,
|
|
76
|
+
`${chalk.cyan('Docs')} ${chalk.underline('https://reverso.dev/docs')}`,
|
|
77
|
+
`${chalk.cyan('GitHub')} ${chalk.underline('https://github.com/hogrid/reverso')}`,
|
|
78
|
+
].join('\n');
|
|
79
|
+
console.log(boxen(infoContent, {
|
|
80
|
+
padding: 1,
|
|
81
|
+
margin: { top: 0, bottom: 1, left: 0, right: 0 },
|
|
82
|
+
borderStyle: 'round',
|
|
83
|
+
borderColor: 'gray',
|
|
84
|
+
}));
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Show a success message in a box
|
|
88
|
+
*/
|
|
89
|
+
export function showSuccess(title, messages) {
|
|
90
|
+
const content = messages.join('\n');
|
|
91
|
+
console.log(boxen(content, {
|
|
92
|
+
title: chalk.green.bold(`✓ ${title}`),
|
|
93
|
+
padding: 1,
|
|
94
|
+
margin: { top: 1, bottom: 1, left: 0, right: 0 },
|
|
95
|
+
borderStyle: 'round',
|
|
96
|
+
borderColor: 'green',
|
|
97
|
+
}));
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Show an error message in a box
|
|
101
|
+
*/
|
|
102
|
+
export function showError(title, messages) {
|
|
103
|
+
const content = messages.join('\n');
|
|
104
|
+
console.log(boxen(content, {
|
|
105
|
+
title: chalk.red.bold(`✖ ${title}`),
|
|
106
|
+
padding: 1,
|
|
107
|
+
margin: { top: 1, bottom: 1, left: 0, right: 0 },
|
|
108
|
+
borderStyle: 'round',
|
|
109
|
+
borderColor: 'red',
|
|
110
|
+
}));
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Show a tip/hint box
|
|
114
|
+
*/
|
|
115
|
+
export function showTip(content) {
|
|
116
|
+
console.log(boxen(content, {
|
|
117
|
+
title: chalk.yellow.bold('💡 Tip'),
|
|
118
|
+
padding: 1,
|
|
119
|
+
margin: { top: 0, bottom: 1, left: 0, right: 0 },
|
|
120
|
+
borderStyle: 'round',
|
|
121
|
+
borderColor: 'yellow',
|
|
122
|
+
}));
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Show next steps in a formatted way
|
|
126
|
+
*/
|
|
127
|
+
export function showNextSteps(steps) {
|
|
128
|
+
console.log(chalk.bold('\n📋 Next Steps:\n'));
|
|
129
|
+
steps.forEach((item, index) => {
|
|
130
|
+
const number = chalk.cyan.bold(`${index + 1}.`);
|
|
131
|
+
console.log(` ${number} ${item.step}`);
|
|
132
|
+
if (item.command) {
|
|
133
|
+
console.log(chalk.gray(` $ ${chalk.cyan(item.command)}`));
|
|
134
|
+
}
|
|
135
|
+
console.log();
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Show a divider line
|
|
140
|
+
*/
|
|
141
|
+
export function showDivider() {
|
|
142
|
+
console.log(chalk.gray('─'.repeat(50)));
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=banner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"banner.js","sourceRoot":"","sources":["../../src/ui/banner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,YAAY,EACZ,UAAU,EACV,WAAW,EACX,SAAS,EACT,OAAO,EACP,aAAa,EACb,WAAW,EACX,KAAK,SAAS,GACf,MAAM,aAAa,CAAC"}
|
package/dist/ui/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,YAAY,EACZ,UAAU,EACV,WAAW,EACX,SAAS,EACT,OAAO,EACP,aAAa,EACb,WAAW,GAEZ,MAAM,aAAa,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reverso/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Command line interface for Reverso CMS",
|
|
5
5
|
"homepage": "https://reverso.dev/docs/packages/cli",
|
|
6
6
|
"bugs": {
|
|
@@ -35,17 +35,22 @@
|
|
|
35
35
|
"clean": "rm -rf dist .turbo"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
+
"@reverso/api": "^0.1.1",
|
|
38
39
|
"@reverso/core": "^0.1.1",
|
|
39
|
-
"@reverso/scanner": "^0.1.1",
|
|
40
40
|
"@reverso/db": "^0.1.1",
|
|
41
|
-
"@reverso/
|
|
42
|
-
"
|
|
41
|
+
"@reverso/scanner": "^0.1.1",
|
|
42
|
+
"boxen": "^8.0.1",
|
|
43
43
|
"chalk": "^5.4.1",
|
|
44
|
+
"commander": "^14.0.2",
|
|
45
|
+
"dotenv": "^17.2.3",
|
|
46
|
+
"figlet": "^1.10.0",
|
|
47
|
+
"gradient-string": "^3.0.0",
|
|
44
48
|
"ora": "^9.1.0",
|
|
45
|
-
"prompts": "^2.4.2"
|
|
46
|
-
"dotenv": "^17.2.3"
|
|
49
|
+
"prompts": "^2.4.2"
|
|
47
50
|
},
|
|
48
51
|
"devDependencies": {
|
|
52
|
+
"@types/figlet": "^1.7.0",
|
|
53
|
+
"@types/gradient-string": "^1.1.6",
|
|
49
54
|
"@types/node": "^22.10.7",
|
|
50
55
|
"@types/prompts": "^2.4.9",
|
|
51
56
|
"typescript": "^5.7.3",
|