-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathindex.js
More file actions
executable file
·89 lines (66 loc) · 1.89 KB
/
Copy pathindex.js
File metadata and controls
executable file
·89 lines (66 loc) · 1.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#!/usr/bin/env node
const consola = require('consola');
const args = process.argv.slice(2);
function displayBanner() {
console.log(`
┌─────────────────────────────────────────┐
│ StaticShort │
│ Create static URL shortener pages │
└─────────────────────────────────────────┘
`);
}
function showHelp() {
console.log(`
Usage:
static-short [command]
Commands:
start Start a development server to redirect pages
build Generate redirect pages (default)
clean Remove existing redirect pages
help Show this help message
Examples:
static-short # Generate redirect pages
static-short build # Same as above
static-short clean # Clean redirect directories
static-short help # Show this help message
`);
}
function compile() {
const { generateRedirects } = require('./core/compile');
console.log('\n🚀 Generating redirect pages...');
generateRedirects();
}
function clean() {
const { cleanRedirectPages } = require('./core/clean');
console.log('🧹 Cleaning redirect directories...');
cleanRedirectPages();
}
function startServer() {
const { startDevServer } = require('./core/server');
clean();
compile();
startDevServer({ port: 8081 });
}
/*-------------------------- Main --------------------------*/
displayBanner();
// Check for argument
const command = args[0] || 'build';
switch (command.toLowerCase())
{
case 'build':
compile();
break;
case 'clean':
clean();
break;
case 'help':
showHelp();
break;
case 'start':
startServer();
break;
default:
consola.error(`Unknown command: ${command}`);
showHelp();
process.exit(1);
}