iris-relay 1.1.0 → 1.1.1

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 CHANGED
@@ -80,11 +80,62 @@ await relayJSON({ users: 42, status: "healthy" }, "Server Stats");
80
80
 
81
81
  ### 🚀 Deploy Notifications
82
82
 
83
+ Sends a formatted deploy summary to Telegram. **Git info is auto-detected** — no config needed if you're in a git repo.
84
+
83
85
  ```ts
84
86
  import { relayDeploy } from "iris-relay";
85
87
 
86
- // Auto-reads git branch, commit, and message
88
+ // Minimal — auto-reads git branch, commit hash, and commit message
89
+ await relayDeploy();
90
+
91
+ // With app info
87
92
  await relayDeploy({ app: "my-api", env: "production", version: "1.2.3" });
93
+
94
+ // Full example
95
+ await relayDeploy({
96
+ app: "my-api",
97
+ env: "production",
98
+ version: "1.2.3",
99
+ by: "CI/CD Pipeline",
100
+ extra: { region: "us-east-1", duration: "45s" },
101
+ });
102
+ ```
103
+
104
+ **Example Telegram output:**
105
+ ```
106
+ 🚀 Deploy Notification
107
+
108
+ 📦 App: my-api
109
+ 🌍 Env: production
110
+ 🏷️ Version: 1.2.3
111
+ 🌿 Branch: main
112
+ 📝 Commit: a1b2c3d — fix: resolve login bug
113
+ 👤 By: CI/CD Pipeline
114
+ ⏰ Time: 2026-03-08T12:00:00.000Z
115
+ • region: us-east-1
116
+ • duration: 45s
117
+ ```
118
+
119
+ **How auto-detection works:**
120
+
121
+ | Field | Git command | Example output |
122
+ |-------|-------------|---------------|
123
+ | `branch` | `git rev-parse --abbrev-ref HEAD` | `main` |
124
+ | `commit` | `git rev-parse --short HEAD` | `a1b2c3d` |
125
+ | Commit message | `git log -1 --pretty=%s` | `fix: resolve login bug` |
126
+
127
+ > All auto-detected values can be overridden by passing them in the `meta` object. If git is not installed or you're not in a repo, those fields are silently omitted.
128
+
129
+ **CI/CD example (GitHub Actions):**
130
+ ```ts
131
+ await relayDeploy({
132
+ app: "my-api",
133
+ env: "production",
134
+ version: process.env.npm_package_version,
135
+ by: `GitHub Actions (${process.env.GITHUB_ACTOR})`,
136
+ commit: process.env.GITHUB_SHA?.slice(0, 7),
137
+ branch: process.env.GITHUB_REF_NAME,
138
+ });
88
139
  ```
89
140
 
90
141
  ### ✍️ Message Builder
package/dist/format.d.ts CHANGED
@@ -18,12 +18,59 @@ export declare function relayError(err: unknown, config?: RelayConfig): Promise<
18
18
  */
19
19
  export declare function relayJSON(obj: unknown, label?: string, config?: RelayConfig): Promise<RelayResult>;
20
20
  /**
21
- * Send a deploy notification with optional git info.
22
- * Auto-reads git branch/commit if not provided.
21
+ * Send a deploy notification to Telegram.
22
+ *
23
+ * **How git auto-detection works:**
24
+ * - `branch` → runs `git rev-parse --abbrev-ref HEAD` to get the current branch (e.g. "main")
25
+ * - `commit` → runs `git rev-parse --short HEAD` to get the short commit hash (e.g. "a1b2c3d")
26
+ * - Commit message → always auto-read via `git log -1 --pretty=%s` (e.g. "fix: resolve login bug")
27
+ *
28
+ * If git is not installed or you're not in a git repo, these fields are silently skipped.
29
+ * You can override any auto-detected value by passing it in the `meta` object.
30
+ *
31
+ * **Example Telegram message:**
32
+ * ```
33
+ * 🚀 Deploy Notification
34
+ *
35
+ * 📦 App: my-api
36
+ * 🌍 Env: production
37
+ * 🏷️ Version: 1.2.3
38
+ * 🌿 Branch: main
39
+ * 📝 Commit: a1b2c3d — fix: resolve login bug
40
+ * 👤 By: GitHub Actions
41
+ * ⏰ Time: 2026-03-08T12:00:00.000Z
42
+ * • region: us-east-1
43
+ * ```
44
+ *
45
+ * @param meta - Optional deploy metadata. All fields are optional.
46
+ * @param config - Optional relay config overrides.
23
47
  *
24
48
  * @example
25
49
  * ```ts
50
+ * // Minimal — just sends git info + timestamp
51
+ * await relayDeploy();
52
+ *
53
+ * // With app info
26
54
  * await relayDeploy({ app: "my-api", env: "production" });
55
+ *
56
+ * // Full — all fields
57
+ * await relayDeploy({
58
+ * app: "my-api",
59
+ * env: "production",
60
+ * version: "1.2.3",
61
+ * by: "CI/CD Pipeline",
62
+ * extra: { region: "us-east-1", duration: "45s" },
63
+ * });
64
+ *
65
+ * // In a CI/CD pipeline (GitHub Actions example)
66
+ * await relayDeploy({
67
+ * app: "my-api",
68
+ * env: "production",
69
+ * version: process.env.npm_package_version,
70
+ * by: `GitHub Actions (${process.env.GITHUB_ACTOR})`,
71
+ * commit: process.env.GITHUB_SHA?.slice(0, 7),
72
+ * branch: process.env.GITHUB_REF_NAME,
73
+ * });
27
74
  * ```
28
75
  */
29
76
  export declare function relayDeploy(meta?: DeployMeta, config?: RelayConfig): Promise<RelayResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGvE;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAUzF;AAED;;;;;;;GAOG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAKxG;AAWD;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAsB/F"}
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGvE;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAUzF;AAED;;;;;;;GAOG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAKxG;AAWD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,wBAAsB,WAAW,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAsB/F"}
package/dist/format.js CHANGED
@@ -42,12 +42,59 @@ function tryGit(cmd) {
42
42
  }
43
43
  }
44
44
  /**
45
- * Send a deploy notification with optional git info.
46
- * Auto-reads git branch/commit if not provided.
45
+ * Send a deploy notification to Telegram.
46
+ *
47
+ * **How git auto-detection works:**
48
+ * - `branch` → runs `git rev-parse --abbrev-ref HEAD` to get the current branch (e.g. "main")
49
+ * - `commit` → runs `git rev-parse --short HEAD` to get the short commit hash (e.g. "a1b2c3d")
50
+ * - Commit message → always auto-read via `git log -1 --pretty=%s` (e.g. "fix: resolve login bug")
51
+ *
52
+ * If git is not installed or you're not in a git repo, these fields are silently skipped.
53
+ * You can override any auto-detected value by passing it in the `meta` object.
54
+ *
55
+ * **Example Telegram message:**
56
+ * ```
57
+ * 🚀 Deploy Notification
58
+ *
59
+ * 📦 App: my-api
60
+ * 🌍 Env: production
61
+ * 🏷️ Version: 1.2.3
62
+ * 🌿 Branch: main
63
+ * 📝 Commit: a1b2c3d — fix: resolve login bug
64
+ * 👤 By: GitHub Actions
65
+ * ⏰ Time: 2026-03-08T12:00:00.000Z
66
+ * • region: us-east-1
67
+ * ```
68
+ *
69
+ * @param meta - Optional deploy metadata. All fields are optional.
70
+ * @param config - Optional relay config overrides.
47
71
  *
48
72
  * @example
49
73
  * ```ts
74
+ * // Minimal — just sends git info + timestamp
75
+ * await relayDeploy();
76
+ *
77
+ * // With app info
50
78
  * await relayDeploy({ app: "my-api", env: "production" });
79
+ *
80
+ * // Full — all fields
81
+ * await relayDeploy({
82
+ * app: "my-api",
83
+ * env: "production",
84
+ * version: "1.2.3",
85
+ * by: "CI/CD Pipeline",
86
+ * extra: { region: "us-east-1", duration: "45s" },
87
+ * });
88
+ *
89
+ * // In a CI/CD pipeline (GitHub Actions example)
90
+ * await relayDeploy({
91
+ * app: "my-api",
92
+ * env: "production",
93
+ * version: process.env.npm_package_version,
94
+ * by: `GitHub Actions (${process.env.GITHUB_ACTOR})`,
95
+ * commit: process.env.GITHUB_SHA?.slice(0, 7),
96
+ * branch: process.env.GITHUB_REF_NAME,
97
+ * });
51
98
  * ```
52
99
  */
53
100
  export async function relayDeploy(meta, config) {
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -34,21 +34,77 @@ export interface RelayResult {
34
34
  messageId?: number;
35
35
  error?: string;
36
36
  }
37
- /** Deploy metadata for relayDeploy() */
37
+ /**
38
+ * Deploy metadata for `relayDeploy()`.
39
+ *
40
+ * All fields are optional. If `branch` and `commit` are not provided,
41
+ * they are **auto-detected** by running `git rev-parse` in the current
42
+ * working directory. If git is not available, they are simply omitted.
43
+ *
44
+ * The latest commit message is also auto-read from `git log -1 --pretty=%s`.
45
+ *
46
+ * @example
47
+ * ```ts
48
+ * // Minimal — auto-reads git info
49
+ * await relayDeploy();
50
+ *
51
+ * // Full — all fields specified
52
+ * await relayDeploy({
53
+ * app: "my-api",
54
+ * env: "production",
55
+ * version: "1.2.3",
56
+ * branch: "main", // overrides auto-detected branch
57
+ * commit: "a1b2c3d", // overrides auto-detected commit hash
58
+ * by: "CI/CD Pipeline",
59
+ * extra: { region: "us-east-1", cluster: "prod-k8s" },
60
+ * });
61
+ * ```
62
+ */
38
63
  export interface DeployMeta {
39
- /** App or service name */
64
+ /**
65
+ * Your app or service name.
66
+ * Displayed as: 📦 **App:** my-api
67
+ * @example "my-api", "user-service", "frontend"
68
+ */
40
69
  app?: string;
41
- /** Environment (production, staging, etc.) */
70
+ /**
71
+ * Deployment environment.
72
+ * Displayed as: 🌍 **Env:** production
73
+ * @example "production", "staging", "development"
74
+ */
42
75
  env?: string;
43
- /** Version string */
76
+ /**
77
+ * Version string (semver, build number, tag, etc.).
78
+ * Displayed as: 🏷️ **Version:** 1.2.3
79
+ * @example "1.2.3", "build-4521", "v2.0.0-beta.1"
80
+ */
44
81
  version?: string;
45
- /** Git branch */
82
+ /**
83
+ * Git branch name.
84
+ * **Auto-detected** via `git rev-parse --abbrev-ref HEAD` if not provided.
85
+ * Displayed as: 🌿 **Branch:** main
86
+ * @example "main", "feat/auth", "release/v2"
87
+ */
46
88
  branch?: string;
47
- /** Git commit hash */
89
+ /**
90
+ * Git commit hash (short or full).
91
+ * **Auto-detected** via `git rev-parse --short HEAD` if not provided.
92
+ * The commit message is always auto-read from `git log -1 --pretty=%s`.
93
+ * Displayed as: 📝 **Commit:** `a1b2c3d` — fix: resolve login bug
94
+ * @example "a1b2c3d", "a1b2c3d4e5f6"
95
+ */
48
96
  commit?: string;
49
- /** Deployer name */
97
+ /**
98
+ * Who triggered the deploy (person, bot, CI system).
99
+ * Displayed as: 👤 **By:** GitHub Actions
100
+ * @example "Neeraj", "GitHub Actions", "Jenkins"
101
+ */
50
102
  by?: string;
51
- /** Custom extra fields */
103
+ /**
104
+ * Custom key-value fields appended to the notification.
105
+ * Each entry is displayed as: • **key:** value
106
+ * @example { region: "us-east-1", duration: "45s" }
107
+ */
52
108
  extra?: Record<string, string>;
53
109
  }
54
110
  /** Heartbeat options */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,MAAM,WAAW,WAAW;IACxB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,YAAY,CAAC;IAC/C,wCAAwC;IACxC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oDAAoD;IACpD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QACnC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wCAAwC;AACxC,MAAM,WAAW,UAAU;IACvB,0BAA0B;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,wBAAwB;AACxB,MAAM,WAAW,gBAAgB;IAC7B,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,6CAA6C;AAC7C,MAAM,WAAW,iBAAiB;IAC9B,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gDAAgD;IAChD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,uDAAuD;IACvD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,WAAW,CAAC;CACvB;AAED,mDAAmD;AACnD,MAAM,WAAW,OAAO;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IACrC,+BAA+B;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,MAAM,WAAW,WAAW;IACxB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,YAAY,CAAC;IAC/C,wCAAwC;IACxC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oDAAoD;IACpD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QACnC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,UAAU;IACvB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,wBAAwB;AACxB,MAAM,WAAW,gBAAgB;IAC7B,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,6CAA6C;AAC7C,MAAM,WAAW,iBAAiB;IAC9B,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gDAAgD;IAChD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,uDAAuD;IACvD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,WAAW,CAAC;CACvB;AAED,mDAAmD;AACnD,MAAM,WAAW,OAAO;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IACrC,+BAA+B;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iris-relay",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "Lightweight Telegram message relay — dev tool for notifications, crash alerts, deploy pings, and more",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",