iris-relay 1.1.3 → 1.2.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.
- package/README.md +53 -6
- package/dist/cli.js +289 -11
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,17 +5,30 @@ Lightweight Telegram relay dev tool — crash alerts, deploy notifications, hear
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
+
# pnpm
|
|
8
9
|
pnpm add iris-relay
|
|
10
|
+
|
|
11
|
+
# npm
|
|
12
|
+
npm install iris-relay
|
|
9
13
|
```
|
|
10
14
|
|
|
11
15
|
## Setup
|
|
12
16
|
|
|
13
|
-
|
|
17
|
+
Run the interactive setup wizard:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
# pnpm
|
|
21
|
+
pnpm dlx iris-relay init
|
|
22
|
+
|
|
23
|
+
# npm
|
|
24
|
+
npx iris-relay init
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Or manually create a `.env` file:
|
|
14
28
|
|
|
15
29
|
```env
|
|
16
30
|
XERO_BOT_TOKEN=your_bot_token_from_botfather
|
|
17
31
|
XERO_CHAT_ID=your_telegram_chat_id
|
|
18
|
-
XERO_DRY_RUN=false
|
|
19
32
|
```
|
|
20
33
|
|
|
21
34
|
> **Bot Token** → [@BotFather](https://t.me/BotFather) · **Chat ID** → [@userinfobot](https://t.me/userinfobot)
|
|
@@ -225,20 +238,54 @@ Set `XERO_DRY_RUN=true` in `.env` to log messages to console instead of sending
|
|
|
225
238
|
|
|
226
239
|
---
|
|
227
240
|
|
|
241
|
+
## Getting Started
|
|
242
|
+
|
|
243
|
+
```bash
|
|
244
|
+
# pnpm
|
|
245
|
+
pnpm dlx iris-relay init
|
|
246
|
+
|
|
247
|
+
# npm
|
|
248
|
+
npx iris-relay init
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
The setup wizard will:
|
|
252
|
+
|
|
253
|
+
**Step 1 — Credentials**
|
|
254
|
+
- Ask for your **Bot Token** (from @BotFather)
|
|
255
|
+
- Ask for your **Chat ID** (from @userinfobot)
|
|
256
|
+
|
|
257
|
+
**Step 2 — Features** (auto-detects your framework & package manager)
|
|
258
|
+
- 🛡️ Crash watcher — auto-report uncaught exceptions
|
|
259
|
+
- 💓 Heartbeat — periodic alive pings with custom interval
|
|
260
|
+
- 🔌 Express/Fastify middleware — slow request & error reporting (only if detected)
|
|
261
|
+
- 🧪 Dry run mode — log to console instead of sending
|
|
262
|
+
|
|
263
|
+
**Step 3 — Scaffolding**
|
|
264
|
+
- 📄 Generates `iris.ts` or `iris.js` starter file with selected features pre-wired
|
|
265
|
+
- 🚀 GitHub Actions deploy notification workflow
|
|
266
|
+
- 🐳 Docker Compose env var setup
|
|
267
|
+
|
|
268
|
+
**Then** → writes `.env`, updates `.gitignore`, sends a test message ✅
|
|
269
|
+
|
|
270
|
+
---
|
|
271
|
+
|
|
228
272
|
## CLI
|
|
229
273
|
|
|
230
274
|
```bash
|
|
275
|
+
# Interactive setup
|
|
276
|
+
pnpm dlx iris-relay init # or: npx iris-relay init
|
|
277
|
+
|
|
231
278
|
# Send a message
|
|
232
|
-
|
|
279
|
+
pnpm dlx iris-relay "Deploy complete ✅" # or: npx iris-relay "..."
|
|
233
280
|
|
|
234
281
|
# Send with HTML
|
|
235
|
-
|
|
282
|
+
pnpm dlx iris-relay --html "<b>Bold</b> message"
|
|
236
283
|
|
|
237
284
|
# Send a file
|
|
238
|
-
|
|
285
|
+
pnpm dlx iris-relay --file ./logs/error.log "Error log attached"
|
|
239
286
|
|
|
240
287
|
# Silent (no notification sound)
|
|
241
|
-
|
|
288
|
+
pnpm dlx iris-relay --silent "Background update"
|
|
242
289
|
```
|
|
243
290
|
|
|
244
291
|
---
|
package/dist/cli.js
CHANGED
|
@@ -2,20 +2,21 @@
|
|
|
2
2
|
import { config } from "dotenv";
|
|
3
3
|
import { relay } from "./relay.js";
|
|
4
4
|
import { relayFile } from "./file.js";
|
|
5
|
-
|
|
5
|
+
import { createInterface } from "node:readline/promises";
|
|
6
|
+
import { writeFileSync, existsSync, readFileSync, mkdirSync } from "node:fs";
|
|
7
|
+
import { join } from "node:path";
|
|
8
|
+
config({ quiet: true });
|
|
6
9
|
const args = process.argv.slice(2);
|
|
7
10
|
function printHelp() {
|
|
8
11
|
console.log(`
|
|
9
|
-
iris-relay —
|
|
12
|
+
iris-relay — Telegram message relay for developers
|
|
10
13
|
|
|
11
|
-
|
|
12
|
-
iris-relay
|
|
13
|
-
iris-relay
|
|
14
|
-
iris-relay --
|
|
15
|
-
iris-relay --html "<b>Bold</b> message"
|
|
14
|
+
Commands:
|
|
15
|
+
iris-relay init Interactive setup wizard
|
|
16
|
+
iris-relay "message" Send a text message
|
|
17
|
+
iris-relay --file <path> Send a file
|
|
16
18
|
|
|
17
19
|
Options:
|
|
18
|
-
--file <path> Send a file instead of a text message
|
|
19
20
|
--silent Send without notification sound
|
|
20
21
|
--html Parse message as HTML
|
|
21
22
|
--markdown Parse message as Markdown
|
|
@@ -24,9 +25,289 @@ Options:
|
|
|
24
25
|
Environment:
|
|
25
26
|
XERO_BOT_TOKEN Your Telegram bot token
|
|
26
27
|
XERO_CHAT_ID Your Telegram chat ID
|
|
28
|
+
XERO_DRY_RUN Set to "true" to log instead of send
|
|
27
29
|
`);
|
|
28
30
|
}
|
|
31
|
+
// ─── Helpers ─────────────────────────────────────────────────
|
|
32
|
+
function yn(answer) {
|
|
33
|
+
return answer.toLowerCase() === "y" || answer.toLowerCase() === "yes";
|
|
34
|
+
}
|
|
35
|
+
function detectPackageManager() {
|
|
36
|
+
if (existsSync(join(process.cwd(), "pnpm-lock.yaml")))
|
|
37
|
+
return "pnpm";
|
|
38
|
+
if (existsSync(join(process.cwd(), "yarn.lock")))
|
|
39
|
+
return "yarn";
|
|
40
|
+
if (existsSync(join(process.cwd(), "bun.lockb")))
|
|
41
|
+
return "bun";
|
|
42
|
+
return "npm";
|
|
43
|
+
}
|
|
44
|
+
function detectFramework() {
|
|
45
|
+
const pkgPath = join(process.cwd(), "package.json");
|
|
46
|
+
if (!existsSync(pkgPath))
|
|
47
|
+
return null;
|
|
48
|
+
const pkg = JSON.parse(readFileSync(pkgPath, "utf-8"));
|
|
49
|
+
const allDeps = { ...pkg.dependencies, ...pkg.devDependencies };
|
|
50
|
+
if (allDeps["next"])
|
|
51
|
+
return "next";
|
|
52
|
+
if (allDeps["express"])
|
|
53
|
+
return "express";
|
|
54
|
+
if (allDeps["fastify"])
|
|
55
|
+
return "fastify";
|
|
56
|
+
if (allDeps["hono"])
|
|
57
|
+
return "hono";
|
|
58
|
+
if (allDeps["koa"])
|
|
59
|
+
return "koa";
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
// ─── Interactive Setup ───────────────────────────────────────
|
|
63
|
+
async function runInit() {
|
|
64
|
+
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
65
|
+
const pm = detectPackageManager();
|
|
66
|
+
const framework = detectFramework();
|
|
67
|
+
console.log(`
|
|
68
|
+
╔══════════════════════════════════════════╗
|
|
69
|
+
║ 🛰️ iris-relay setup wizard ║
|
|
70
|
+
╚══════════════════════════════════════════╝
|
|
71
|
+
`);
|
|
72
|
+
if (framework)
|
|
73
|
+
console.log(` Detected: ${framework} project (${pm})\n`);
|
|
74
|
+
// ── Step 1: Credentials ──────────────────────
|
|
75
|
+
console.log("Step 1 — Telegram Credentials\n");
|
|
76
|
+
console.log(" Get bot token → https://t.me/BotFather");
|
|
77
|
+
console.log(" Get chat ID → https://t.me/userinfobot\n");
|
|
78
|
+
const botToken = (await rl.question(" XERO_BOT_TOKEN: ")).trim();
|
|
79
|
+
if (!botToken) {
|
|
80
|
+
console.error("\n❌ Bot token is required.");
|
|
81
|
+
rl.close();
|
|
82
|
+
process.exit(1);
|
|
83
|
+
}
|
|
84
|
+
const chatId = (await rl.question(" XERO_CHAT_ID: ")).trim();
|
|
85
|
+
if (!chatId) {
|
|
86
|
+
console.error("\n❌ Chat ID is required.");
|
|
87
|
+
rl.close();
|
|
88
|
+
process.exit(1);
|
|
89
|
+
}
|
|
90
|
+
// ── Step 2: Features ─────────────────────────
|
|
91
|
+
console.log("\nStep 2 — Features to enable\n");
|
|
92
|
+
const enableCrashWatch = yn(await rl.question(" 🛡️ Auto-report crashes to Telegram? (Y/n): ") || "y");
|
|
93
|
+
const enableHeartbeat = yn(await rl.question(" 💓 Send periodic heartbeat pings? (y/N): "));
|
|
94
|
+
let heartbeatInterval = 60;
|
|
95
|
+
let appName = "";
|
|
96
|
+
if (enableHeartbeat) {
|
|
97
|
+
appName = (await rl.question(" App name (for heartbeat label): ")).trim() || "My App";
|
|
98
|
+
const intervalStr = (await rl.question(" Interval in seconds (default: 60): ")).trim();
|
|
99
|
+
heartbeatInterval = parseInt(intervalStr) || 60;
|
|
100
|
+
}
|
|
101
|
+
const enableMiddleware = framework === "express" || framework === "fastify" || framework === "koa"
|
|
102
|
+
? yn(await rl.question(` 🔌 Add ${framework} error/slow-request middleware? (Y/n): `) || "y")
|
|
103
|
+
: false;
|
|
104
|
+
const enableDryRun = yn(await rl.question(" 🧪 Enable dry run mode for now? (y/N): "));
|
|
105
|
+
// ── Step 3: Scaffolding ──────────────────────
|
|
106
|
+
console.log("\nStep 3 — Project scaffolding\n");
|
|
107
|
+
const generateStarter = yn(await rl.question(" 📄 Generate a starter file (iris.ts / iris.js)? (Y/n): ") || "y");
|
|
108
|
+
const generateCI = yn(await rl.question(" 🚀 Generate GitHub Actions deploy notification? (y/N): "));
|
|
109
|
+
const generateDocker = yn(await rl.question(" 🐳 Add XERO_ env vars to docker-compose.yml? (y/N): "));
|
|
110
|
+
rl.close();
|
|
111
|
+
// ── Write .env ───────────────────────────────
|
|
112
|
+
console.log("\n── Writing files ──\n");
|
|
113
|
+
const envPath = join(process.cwd(), ".env");
|
|
114
|
+
let envContent = "";
|
|
115
|
+
if (existsSync(envPath)) {
|
|
116
|
+
const existing = readFileSync(envPath, "utf-8");
|
|
117
|
+
envContent = existing
|
|
118
|
+
.split("\n")
|
|
119
|
+
.filter((line) => !line.startsWith("XERO_BOT_TOKEN=") &&
|
|
120
|
+
!line.startsWith("XERO_CHAT_ID=") &&
|
|
121
|
+
!line.startsWith("XERO_DRY_RUN="))
|
|
122
|
+
.join("\n")
|
|
123
|
+
.trimEnd();
|
|
124
|
+
if (envContent)
|
|
125
|
+
envContent += "\n\n";
|
|
126
|
+
}
|
|
127
|
+
envContent += `# iris-relay config\n`;
|
|
128
|
+
envContent += `XERO_BOT_TOKEN=${botToken}\n`;
|
|
129
|
+
envContent += `XERO_CHAT_ID=${chatId}\n`;
|
|
130
|
+
if (enableDryRun) {
|
|
131
|
+
envContent += `XERO_DRY_RUN=true\n`;
|
|
132
|
+
}
|
|
133
|
+
writeFileSync(envPath, envContent);
|
|
134
|
+
console.log(`✅ .env → ${envPath}`);
|
|
135
|
+
// ── .gitignore ───────────────────────────────
|
|
136
|
+
const gitignorePath = join(process.cwd(), ".gitignore");
|
|
137
|
+
if (existsSync(gitignorePath)) {
|
|
138
|
+
const gitignore = readFileSync(gitignorePath, "utf-8");
|
|
139
|
+
if (!gitignore.includes(".env")) {
|
|
140
|
+
writeFileSync(gitignorePath, gitignore.trimEnd() + "\n.env\n");
|
|
141
|
+
console.log("✅ .env added to .gitignore");
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
writeFileSync(gitignorePath, "node_modules\n.env\n");
|
|
146
|
+
console.log("✅ .gitignore created");
|
|
147
|
+
}
|
|
148
|
+
// ── Starter file ─────────────────────────────
|
|
149
|
+
if (generateStarter) {
|
|
150
|
+
const isTS = existsSync(join(process.cwd(), "tsconfig.json"));
|
|
151
|
+
const ext = isTS ? "ts" : "js";
|
|
152
|
+
const starterPath = join(process.cwd(), `iris.${ext}`);
|
|
153
|
+
let starter = "";
|
|
154
|
+
if (isTS) {
|
|
155
|
+
starter += `import { relay, relayError, relayDeploy } from "iris-relay";\n`;
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
starter += `const { relay, relayError, relayDeploy } = require("iris-relay");\n`;
|
|
159
|
+
}
|
|
160
|
+
starter += `\n`;
|
|
161
|
+
if (enableCrashWatch) {
|
|
162
|
+
if (isTS) {
|
|
163
|
+
starter += `import { watchProcess } from "iris-relay";\n`;
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
starter += `const { watchProcess } = require("iris-relay");\n`;
|
|
167
|
+
}
|
|
168
|
+
starter += `\n// Auto-report uncaught exceptions & unhandled rejections\n`;
|
|
169
|
+
starter += `watchProcess();\n\n`;
|
|
170
|
+
}
|
|
171
|
+
if (enableHeartbeat) {
|
|
172
|
+
if (isTS) {
|
|
173
|
+
starter += `import { startHeartbeat } from "iris-relay";\n`;
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
starter += `const { startHeartbeat } = require("iris-relay");\n`;
|
|
177
|
+
}
|
|
178
|
+
starter += `\n// Send periodic heartbeat (every ${heartbeatInterval}s)\n`;
|
|
179
|
+
starter += `const stopHeartbeat = startHeartbeat({\n`;
|
|
180
|
+
starter += ` interval: ${heartbeatInterval * 1000},\n`;
|
|
181
|
+
starter += ` app: "${appName}",\n`;
|
|
182
|
+
starter += `});\n\n`;
|
|
183
|
+
}
|
|
184
|
+
if (enableMiddleware && framework === "express") {
|
|
185
|
+
if (isTS) {
|
|
186
|
+
starter += `import { irisMiddleware, irisErrorHandler } from "iris-relay";\n`;
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
starter += `const { irisMiddleware, irisErrorHandler } = require("iris-relay");\n`;
|
|
190
|
+
}
|
|
191
|
+
starter += `\n// Add to your Express app:\n`;
|
|
192
|
+
starter += `// app.use(irisMiddleware({ slowThreshold: 3000 }));\n`;
|
|
193
|
+
starter += `// app.use(irisErrorHandler()); // after all routes\n\n`;
|
|
194
|
+
}
|
|
195
|
+
starter += `// ── Examples ──\n\n`;
|
|
196
|
+
starter += `// Send a message\n`;
|
|
197
|
+
starter += `// await relay("Server started 🚀");\n\n`;
|
|
198
|
+
starter += `// Report an error\n`;
|
|
199
|
+
starter += `// try { ... } catch (err) { await relayError(err); }\n\n`;
|
|
200
|
+
starter += `// Deploy notification (auto-reads git info)\n`;
|
|
201
|
+
starter += `// await relayDeploy({ app: "${appName || "my-app"}", env: "production" });\n`;
|
|
202
|
+
writeFileSync(starterPath, starter);
|
|
203
|
+
console.log(`✅ iris.${ext} → ${starterPath}`);
|
|
204
|
+
}
|
|
205
|
+
// ── GitHub Actions ───────────────────────────
|
|
206
|
+
if (generateCI) {
|
|
207
|
+
const workflowDir = join(process.cwd(), ".github", "workflows");
|
|
208
|
+
const workflowPath = join(workflowDir, "iris-notify.yml");
|
|
209
|
+
const workflowContent = `# iris-relay deploy notification
|
|
210
|
+
# Add XERO_BOT_TOKEN and XERO_CHAT_ID as repository secrets
|
|
211
|
+
|
|
212
|
+
name: Deploy Notification
|
|
213
|
+
|
|
214
|
+
on:
|
|
215
|
+
push:
|
|
216
|
+
branches: [main]
|
|
217
|
+
|
|
218
|
+
jobs:
|
|
219
|
+
notify:
|
|
220
|
+
runs-on: ubuntu-latest
|
|
221
|
+
steps:
|
|
222
|
+
- uses: actions/checkout@v4
|
|
223
|
+
|
|
224
|
+
- uses: actions/setup-node@v4
|
|
225
|
+
with:
|
|
226
|
+
node-version: "20"
|
|
227
|
+
|
|
228
|
+
- run: ${pm} install iris-relay
|
|
229
|
+
|
|
230
|
+
- name: Send deploy notification
|
|
231
|
+
env:
|
|
232
|
+
XERO_BOT_TOKEN: \${{ secrets.XERO_BOT_TOKEN }}
|
|
233
|
+
XERO_CHAT_ID: \${{ secrets.XERO_CHAT_ID }}
|
|
234
|
+
run: npx iris-relay "🚀 Deployed \${{ github.repository }}@\${{ github.sha }}"
|
|
235
|
+
`;
|
|
236
|
+
mkdirSync(workflowDir, { recursive: true });
|
|
237
|
+
writeFileSync(workflowPath, workflowContent);
|
|
238
|
+
console.log(`✅ GitHub Actions → ${workflowPath}`);
|
|
239
|
+
console.log(" ⚠️ Add XERO_BOT_TOKEN and XERO_CHAT_ID as repo secrets!");
|
|
240
|
+
}
|
|
241
|
+
// ── Docker Compose ───────────────────────────
|
|
242
|
+
if (generateDocker) {
|
|
243
|
+
const composePath = join(process.cwd(), "docker-compose.yml");
|
|
244
|
+
if (existsSync(composePath)) {
|
|
245
|
+
const existing = readFileSync(composePath, "utf-8");
|
|
246
|
+
if (!existing.includes("XERO_BOT_TOKEN")) {
|
|
247
|
+
const envBlock = `\n # iris-relay\n environment:\n - XERO_BOT_TOKEN=\${XERO_BOT_TOKEN}\n - XERO_CHAT_ID=\${XERO_CHAT_ID}\n`;
|
|
248
|
+
console.log(`\n📋 Add this to your service in docker-compose.yml:\n${envBlock}`);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
const composeContent = `version: "3.8"
|
|
253
|
+
|
|
254
|
+
services:
|
|
255
|
+
app:
|
|
256
|
+
build: .
|
|
257
|
+
env_file:
|
|
258
|
+
- .env
|
|
259
|
+
environment:
|
|
260
|
+
- XERO_BOT_TOKEN=\${XERO_BOT_TOKEN}
|
|
261
|
+
- XERO_CHAT_ID=\${XERO_CHAT_ID}
|
|
262
|
+
`;
|
|
263
|
+
writeFileSync(composePath, composeContent);
|
|
264
|
+
console.log(`✅ docker-compose.yml → ${composePath}`);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
// ── Test connection ──────────────────────────
|
|
268
|
+
console.log("\n🧪 Testing connection...");
|
|
269
|
+
process.env.XERO_BOT_TOKEN = botToken;
|
|
270
|
+
process.env.XERO_CHAT_ID = chatId;
|
|
271
|
+
const result = await relay("✅ iris-relay connected successfully!");
|
|
272
|
+
if (result.success) {
|
|
273
|
+
console.log("✅ Test message sent! Check your Telegram.");
|
|
274
|
+
}
|
|
275
|
+
else {
|
|
276
|
+
console.error(`⚠️ Test failed: ${result.error}`);
|
|
277
|
+
console.log(" .env was still saved — double-check your token and chat ID.");
|
|
278
|
+
}
|
|
279
|
+
// ── Summary ──────────────────────────────────
|
|
280
|
+
const features = [];
|
|
281
|
+
if (enableCrashWatch)
|
|
282
|
+
features.push("crash watcher");
|
|
283
|
+
if (enableHeartbeat)
|
|
284
|
+
features.push(`heartbeat (${heartbeatInterval}s)`);
|
|
285
|
+
if (enableMiddleware)
|
|
286
|
+
features.push(`${framework} middleware`);
|
|
287
|
+
if (enableDryRun)
|
|
288
|
+
features.push("dry run mode");
|
|
289
|
+
console.log(`
|
|
290
|
+
╔══════════════════════════════════════════╗
|
|
291
|
+
║ 🎉 Setup complete! ║
|
|
292
|
+
╚══════════════════════════════════════════╝
|
|
293
|
+
|
|
294
|
+
Features: ${features.length > 0 ? features.join(", ") : "core only"}
|
|
295
|
+
|
|
296
|
+
Quick start:
|
|
297
|
+
import { relay } from "iris-relay";
|
|
298
|
+
await relay("Hello from my server! 🚀");
|
|
299
|
+
|
|
300
|
+
CLI:
|
|
301
|
+
npx iris-relay "Quick message"
|
|
302
|
+
`);
|
|
303
|
+
}
|
|
304
|
+
// ─── Message / File Sending ──────────────────────────────────
|
|
29
305
|
async function main() {
|
|
306
|
+
const command = args[0];
|
|
307
|
+
if (command === "init") {
|
|
308
|
+
await runInit();
|
|
309
|
+
return;
|
|
310
|
+
}
|
|
30
311
|
if (args.length === 0 || args.includes("--help") || args.includes("-h")) {
|
|
31
312
|
printHelp();
|
|
32
313
|
process.exit(0);
|
|
@@ -35,12 +316,10 @@ async function main() {
|
|
|
35
316
|
const html = args.includes("--html");
|
|
36
317
|
const markdown = args.includes("--markdown");
|
|
37
318
|
const fileIdx = args.indexOf("--file");
|
|
38
|
-
// Filter out flags to get the message
|
|
39
319
|
const messageArgs = args.filter((a, i) => !a.startsWith("--") && !(i === fileIdx + 1 && fileIdx >= 0));
|
|
40
320
|
const message = messageArgs.join(" ");
|
|
41
321
|
const parseMode = html ? "HTML" : markdown ? "Markdown" : undefined;
|
|
42
322
|
try {
|
|
43
|
-
// File mode
|
|
44
323
|
if (fileIdx >= 0) {
|
|
45
324
|
const filePath = args[fileIdx + 1];
|
|
46
325
|
if (!filePath) {
|
|
@@ -60,7 +339,6 @@ async function main() {
|
|
|
60
339
|
}
|
|
61
340
|
return;
|
|
62
341
|
}
|
|
63
|
-
// Message mode
|
|
64
342
|
if (!message) {
|
|
65
343
|
console.error("Error: No message provided");
|
|
66
344
|
printHelp();
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED