nightingale-slack 11.7.0 → 12.0.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/.eslintrc.json +1 -1
- package/CHANGELOG.md +52 -0
- package/README.md +1 -1
- package/dist/{index-node12.cjs.js → index-node14.cjs.js} +14 -14
- package/dist/index-node14.cjs.js.map +1 -0
- package/dist/{index-node12.mjs → index-node14.mjs} +5 -4
- package/dist/index-node14.mjs.map +1 -0
- package/dist/index.d.ts +1 -4
- package/dist/index.d.ts.map +1 -1
- package/package.json +20 -63
- package/rollup.config.mjs +3 -0
- package/src/.eslintrc.json +1 -1
- package/src/createBody.test.ts +1 -1
- package/src/createBody.ts +2 -2
- package/src/index.ts +13 -14
- package/dist/index-node12-dev.cjs.js +0 -65
- package/dist/index-node12-dev.cjs.js.map +0 -1
- package/dist/index-node12-dev.mjs +0 -54
- package/dist/index-node12-dev.mjs.map +0 -1
- package/dist/index-node12.cjs.js.map +0 -1
- package/dist/index-node12.mjs.map +0 -1
- package/index.js +0 -6
package/.eslintrc.json
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,58 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [12.0.0](https://github.com/christophehurpeau/nightingale/compare/v11.9.0...v12.0.0) (2021-12-11)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Build System
|
|
10
|
+
|
|
11
|
+
* node 14 and remove dev builds ([432ecd1](https://github.com/christophehurpeau/nightingale/commit/432ecd1faafd0419f57dea00fce560e4cccc207f))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* drop default exports ([8878e49](https://github.com/christophehurpeau/nightingale/commit/8878e492b94852fcb892fd6d12c02c15c31b38b9))
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### BREAKING CHANGES
|
|
20
|
+
|
|
21
|
+
* use named imports instead of default exports
|
|
22
|
+
* requires node 14
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
## [11.7.4](https://github.com/christophehurpeau/nightingale/compare/v11.7.3...v11.7.4) (2021-11-27)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
### Bug Fixes
|
|
32
|
+
|
|
33
|
+
* build all packages ([dbb4785](https://github.com/christophehurpeau/nightingale/commit/dbb4785cbb8c75942935c4a5935df32fd2e93690))
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
## [11.7.2](https://github.com/christophehurpeau/nightingale/compare/v11.7.1...v11.7.2) (2021-11-27)
|
|
40
|
+
|
|
41
|
+
**Note:** Version bump only for package nightingale-slack
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
## [11.7.1](https://github.com/christophehurpeau/nightingale/compare/v11.7.0...v11.7.1) (2021-06-29)
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
### Bug Fixes
|
|
51
|
+
|
|
52
|
+
* update pob-babel to bring back webpack 4 support ([4887431](https://github.com/christophehurpeau/nightingale/commit/4887431b3b272496511f879af022638723b9056e))
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
6
58
|
# [11.7.0](https://github.com/christophehurpeau/nightingale/compare/v11.6.0...v11.7.0) (2021-03-29)
|
|
7
59
|
|
|
8
60
|
**Note:** Version bump only for package nightingale-slack
|
package/README.md
CHANGED
|
@@ -20,7 +20,7 @@ npm install --save nightingale nightingale-slack
|
|
|
20
20
|
|
|
21
21
|
```js
|
|
22
22
|
import { configure, Level } from 'nightingale';
|
|
23
|
-
import SlackHandler from 'nightingale-slack';
|
|
23
|
+
import { SlackHandler } from 'nightingale-slack';
|
|
24
24
|
|
|
25
25
|
const slackErrorConfig = {
|
|
26
26
|
webhookUrl: string,
|
|
@@ -3,26 +3,25 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const request = require('request');
|
|
6
|
-
const
|
|
6
|
+
const nightingaleLevels = require('nightingale-levels');
|
|
7
7
|
const markdownFormatter = require('nightingale-markdown-formatter');
|
|
8
8
|
const rawFormatter = require('nightingale-raw-formatter');
|
|
9
9
|
|
|
10
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e[
|
|
10
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
|
|
11
11
|
|
|
12
|
-
const Level__default = /*#__PURE__*/_interopDefaultLegacy(Level);
|
|
13
12
|
const markdownFormatter__default = /*#__PURE__*/_interopDefaultLegacy(markdownFormatter);
|
|
14
13
|
const rawFormatter__default = /*#__PURE__*/_interopDefaultLegacy(rawFormatter);
|
|
15
14
|
|
|
16
15
|
/* eslint-disable camelcase */
|
|
17
16
|
const levelToSlackColor = {
|
|
18
|
-
[
|
|
19
|
-
[
|
|
20
|
-
[
|
|
21
|
-
[
|
|
22
|
-
[
|
|
23
|
-
[
|
|
24
|
-
[
|
|
25
|
-
[
|
|
17
|
+
[nightingaleLevels.Level.TRACE]: '#808080',
|
|
18
|
+
[nightingaleLevels.Level.DEBUG]: '#808080',
|
|
19
|
+
[nightingaleLevels.Level.INFO]: '#808080',
|
|
20
|
+
[nightingaleLevels.Level.WARN]: 'warning',
|
|
21
|
+
[nightingaleLevels.Level.ERROR]: 'danger',
|
|
22
|
+
[nightingaleLevels.Level.CRITICAL]: 'danger',
|
|
23
|
+
[nightingaleLevels.Level.FATAL]: 'danger',
|
|
24
|
+
[nightingaleLevels.Level.EMERGENCY]: 'danger'
|
|
26
25
|
};
|
|
27
26
|
function createBody(record, slackConfig) {
|
|
28
27
|
const markdown = markdownFormatter__default(record);
|
|
@@ -48,7 +47,9 @@ const createHandler = slackConfig => record => {
|
|
|
48
47
|
url: slackConfig.webhookUrl,
|
|
49
48
|
body,
|
|
50
49
|
json: true
|
|
51
|
-
}).on('error', err2 =>
|
|
50
|
+
}).on('error', err2 => {
|
|
51
|
+
console.error(err2.stack);
|
|
52
|
+
});
|
|
52
53
|
};
|
|
53
54
|
|
|
54
55
|
class SlackHandler {
|
|
@@ -61,5 +62,4 @@ class SlackHandler {
|
|
|
61
62
|
|
|
62
63
|
exports.SlackHandler = SlackHandler;
|
|
63
64
|
exports.createBody = createBody;
|
|
64
|
-
|
|
65
|
-
//# sourceMappingURL=index-node12.cjs.js.map
|
|
65
|
+
//# sourceMappingURL=index-node14.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-node14.cjs.js","sources":["../src/createBody.ts","../src/index.ts"],"sourcesContent":["/* eslint-disable camelcase */\nimport { Level } from 'nightingale-levels';\nimport markdownFormatter from 'nightingale-markdown-formatter';\nimport rawFormatter from 'nightingale-raw-formatter';\nimport type { LogRecord, Metadata } from 'nightingale-types';\nimport type SlackConfig from './SlackConfig';\n\nconst levelToSlackColor: Record<number, string> = {\n [Level.TRACE]: '#808080',\n [Level.DEBUG]: '#808080',\n [Level.INFO]: '#808080',\n [Level.WARN]: 'warning',\n [Level.ERROR]: 'danger',\n [Level.CRITICAL]: 'danger',\n [Level.FATAL]: 'danger',\n [Level.EMERGENCY]: 'danger',\n};\n\nexport default function createBody<T extends Metadata>(\n record: LogRecord<T>,\n slackConfig: SlackConfig,\n): Record<string, unknown> {\n const markdown = markdownFormatter(record);\n const raw = rawFormatter(record);\n\n return {\n channel: slackConfig.channel,\n username: slackConfig.username,\n icon_url: slackConfig.iconUrl,\n icon_emoji: slackConfig.iconEmoji,\n attachments: [\n {\n fallback: raw,\n title: record.message,\n color: levelToSlackColor[record.level],\n text: markdown,\n mrkdwn_in: ['text'],\n },\n ],\n };\n}\n","import type {\n LogRecord,\n Handle,\n Metadata,\n Handler,\n Level,\n} from 'nightingale-types';\nimport { post } from 'request';\nimport type SlackConfig from './SlackConfig';\nimport createBody from './createBody';\n\nexport { default as createBody } from './createBody';\n\nconst createHandler =\n (slackConfig: SlackConfig) =>\n <T extends Metadata>(record: LogRecord<T>) => {\n const body = createBody(record, slackConfig);\n\n post({ url: slackConfig.webhookUrl, body, json: true }).on(\n 'error',\n (err2: Error) => {\n console.error(err2.stack);\n },\n );\n };\n\nexport class SlackHandler implements Handler {\n minLevel: Level;\n\n handle: Handle;\n\n constructor(slackConfig: SlackConfig, minLevel: Level) {\n this.minLevel = minLevel;\n this.handle = createHandler(slackConfig);\n }\n}\n"],"names":["levelToSlackColor","Level","TRACE","DEBUG","INFO","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","createBody","record","slackConfig","markdown","markdownFormatter","raw","rawFormatter","channel","username","icon_url","iconUrl","icon_emoji","iconEmoji","attachments","fallback","title","message","color","level","text","mrkdwn_in","createHandler","body","post","url","webhookUrl","json","on","err2","console","error","stack","SlackHandler","constructor","minLevel","handle"],"mappings":";;;;;;;;;;;;;;AAAA;AAOA,MAAMA,iBAAyC,GAAG;AAChD,GAACC,uBAAK,CAACC,KAAP,GAAe,SADiC;AAEhD,GAACD,uBAAK,CAACE,KAAP,GAAe,SAFiC;AAGhD,GAACF,uBAAK,CAACG,IAAP,GAAc,SAHkC;AAIhD,GAACH,uBAAK,CAACI,IAAP,GAAc,SAJkC;AAKhD,GAACJ,uBAAK,CAACK,KAAP,GAAe,QALiC;AAMhD,GAACL,uBAAK,CAACM,QAAP,GAAkB,QAN8B;AAOhD,GAACN,uBAAK,CAACO,KAAP,GAAe,QAPiC;AAQhD,GAACP,uBAAK,CAACQ,SAAP,GAAmB;AAR6B,CAAlD;AAWe,SAASC,UAAT,CACbC,MADa,EAEbC,WAFa,EAGY;AACzB,QAAMC,QAAQ,GAAGC,0BAAiB,CAACH,MAAD,CAAlC;AACA,QAAMI,GAAG,GAAGC,qBAAY,CAACL,MAAD,CAAxB;AAEA,SAAO;AACLM,IAAAA,OAAO,EAAEL,WAAW,CAACK,OADhB;AAELC,IAAAA,QAAQ,EAAEN,WAAW,CAACM,QAFjB;AAGLC,IAAAA,QAAQ,EAAEP,WAAW,CAACQ,OAHjB;AAILC,IAAAA,UAAU,EAAET,WAAW,CAACU,SAJnB;AAKLC,IAAAA,WAAW,EAAE,CACX;AACEC,MAAAA,QAAQ,EAAET,GADZ;AAEEU,MAAAA,KAAK,EAAEd,MAAM,CAACe,OAFhB;AAGEC,MAAAA,KAAK,EAAE3B,iBAAiB,CAACW,MAAM,CAACiB,KAAR,CAH1B;AAIEC,MAAAA,IAAI,EAAEhB,QAJR;AAKEiB,MAAAA,SAAS,EAAE,CAAC,MAAD;AALb,KADW;AALR,GAAP;AAeD;;AC3BD,MAAMC,aAAa,GAChBnB,WAAD,IACqBD,MAArB,IAA8C;AAC5C,QAAMqB,IAAI,GAAGtB,UAAU,CAACC,MAAD,EAASC,WAAT,CAAvB;AAEAqB,EAAAA,YAAI,CAAC;AAAEC,IAAAA,GAAG,EAAEtB,WAAW,CAACuB,UAAnB;AAA+BH,IAAAA,IAA/B;AAAqCI,IAAAA,IAAI,EAAE;AAA3C,GAAD,CAAJ,CAAwDC,EAAxD,CACE,OADF,EAEGC,IAAD,IAAiB;AACfC,IAAAA,OAAO,CAACC,KAAR,CAAcF,IAAI,CAACG,KAAnB;AACD,GAJH;AAMD,CAXH;;AAaO,MAAMC,YAAN,CAAsC;AAK3CC,EAAAA,WAAW,CAAC/B,WAAD,EAA2BgC,QAA3B,EAA4C;AACrD,SAAKA,QAAL,GAAgBA,QAAhB;AACA,SAAKC,MAAL,GAAcd,aAAa,CAACnB,WAAD,CAA3B;AACD;;AAR0C;;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { post } from 'request';
|
|
2
|
-
import Level from 'nightingale-levels';
|
|
2
|
+
import { Level } from 'nightingale-levels';
|
|
3
3
|
import markdownFormatter from 'nightingale-markdown-formatter';
|
|
4
4
|
import rawFormatter from 'nightingale-raw-formatter';
|
|
5
5
|
|
|
@@ -38,7 +38,9 @@ const createHandler = slackConfig => record => {
|
|
|
38
38
|
url: slackConfig.webhookUrl,
|
|
39
39
|
body,
|
|
40
40
|
json: true
|
|
41
|
-
}).on('error', err2 =>
|
|
41
|
+
}).on('error', err2 => {
|
|
42
|
+
console.error(err2.stack);
|
|
43
|
+
});
|
|
42
44
|
};
|
|
43
45
|
|
|
44
46
|
class SlackHandler {
|
|
@@ -49,6 +51,5 @@ class SlackHandler {
|
|
|
49
51
|
|
|
50
52
|
}
|
|
51
53
|
|
|
52
|
-
export default SlackHandler;
|
|
53
54
|
export { SlackHandler, createBody };
|
|
54
|
-
//# sourceMappingURL=index-
|
|
55
|
+
//# sourceMappingURL=index-node14.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-node14.mjs","sources":["../src/createBody.ts","../src/index.ts"],"sourcesContent":["/* eslint-disable camelcase */\nimport { Level } from 'nightingale-levels';\nimport markdownFormatter from 'nightingale-markdown-formatter';\nimport rawFormatter from 'nightingale-raw-formatter';\nimport type { LogRecord, Metadata } from 'nightingale-types';\nimport type SlackConfig from './SlackConfig';\n\nconst levelToSlackColor: Record<number, string> = {\n [Level.TRACE]: '#808080',\n [Level.DEBUG]: '#808080',\n [Level.INFO]: '#808080',\n [Level.WARN]: 'warning',\n [Level.ERROR]: 'danger',\n [Level.CRITICAL]: 'danger',\n [Level.FATAL]: 'danger',\n [Level.EMERGENCY]: 'danger',\n};\n\nexport default function createBody<T extends Metadata>(\n record: LogRecord<T>,\n slackConfig: SlackConfig,\n): Record<string, unknown> {\n const markdown = markdownFormatter(record);\n const raw = rawFormatter(record);\n\n return {\n channel: slackConfig.channel,\n username: slackConfig.username,\n icon_url: slackConfig.iconUrl,\n icon_emoji: slackConfig.iconEmoji,\n attachments: [\n {\n fallback: raw,\n title: record.message,\n color: levelToSlackColor[record.level],\n text: markdown,\n mrkdwn_in: ['text'],\n },\n ],\n };\n}\n","import type {\n LogRecord,\n Handle,\n Metadata,\n Handler,\n Level,\n} from 'nightingale-types';\nimport { post } from 'request';\nimport type SlackConfig from './SlackConfig';\nimport createBody from './createBody';\n\nexport { default as createBody } from './createBody';\n\nconst createHandler =\n (slackConfig: SlackConfig) =>\n <T extends Metadata>(record: LogRecord<T>) => {\n const body = createBody(record, slackConfig);\n\n post({ url: slackConfig.webhookUrl, body, json: true }).on(\n 'error',\n (err2: Error) => {\n console.error(err2.stack);\n },\n );\n };\n\nexport class SlackHandler implements Handler {\n minLevel: Level;\n\n handle: Handle;\n\n constructor(slackConfig: SlackConfig, minLevel: Level) {\n this.minLevel = minLevel;\n this.handle = createHandler(slackConfig);\n }\n}\n"],"names":["levelToSlackColor","Level","TRACE","DEBUG","INFO","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","createBody","record","slackConfig","markdown","markdownFormatter","raw","rawFormatter","channel","username","icon_url","iconUrl","icon_emoji","iconEmoji","attachments","fallback","title","message","color","level","text","mrkdwn_in","createHandler","body","post","url","webhookUrl","json","on","err2","console","error","stack","SlackHandler","constructor","minLevel","handle"],"mappings":";;;;;AAAA;AAOA,MAAMA,iBAAyC,GAAG;AAChD,GAACC,KAAK,CAACC,KAAP,GAAe,SADiC;AAEhD,GAACD,KAAK,CAACE,KAAP,GAAe,SAFiC;AAGhD,GAACF,KAAK,CAACG,IAAP,GAAc,SAHkC;AAIhD,GAACH,KAAK,CAACI,IAAP,GAAc,SAJkC;AAKhD,GAACJ,KAAK,CAACK,KAAP,GAAe,QALiC;AAMhD,GAACL,KAAK,CAACM,QAAP,GAAkB,QAN8B;AAOhD,GAACN,KAAK,CAACO,KAAP,GAAe,QAPiC;AAQhD,GAACP,KAAK,CAACQ,SAAP,GAAmB;AAR6B,CAAlD;AAWe,SAASC,UAAT,CACbC,MADa,EAEbC,WAFa,EAGY;AACzB,QAAMC,QAAQ,GAAGC,iBAAiB,CAACH,MAAD,CAAlC;AACA,QAAMI,GAAG,GAAGC,YAAY,CAACL,MAAD,CAAxB;AAEA,SAAO;AACLM,IAAAA,OAAO,EAAEL,WAAW,CAACK,OADhB;AAELC,IAAAA,QAAQ,EAAEN,WAAW,CAACM,QAFjB;AAGLC,IAAAA,QAAQ,EAAEP,WAAW,CAACQ,OAHjB;AAILC,IAAAA,UAAU,EAAET,WAAW,CAACU,SAJnB;AAKLC,IAAAA,WAAW,EAAE,CACX;AACEC,MAAAA,QAAQ,EAAET,GADZ;AAEEU,MAAAA,KAAK,EAAEd,MAAM,CAACe,OAFhB;AAGEC,MAAAA,KAAK,EAAE3B,iBAAiB,CAACW,MAAM,CAACiB,KAAR,CAH1B;AAIEC,MAAAA,IAAI,EAAEhB,QAJR;AAKEiB,MAAAA,SAAS,EAAE,CAAC,MAAD;AALb,KADW;AALR,GAAP;AAeD;;AC3BD,MAAMC,aAAa,GAChBnB,WAAD,IACqBD,MAArB,IAA8C;AAC5C,QAAMqB,IAAI,GAAGtB,UAAU,CAACC,MAAD,EAASC,WAAT,CAAvB;AAEAqB,EAAAA,IAAI,CAAC;AAAEC,IAAAA,GAAG,EAAEtB,WAAW,CAACuB,UAAnB;AAA+BH,IAAAA,IAA/B;AAAqCI,IAAAA,IAAI,EAAE;AAA3C,GAAD,CAAJ,CAAwDC,EAAxD,CACE,OADF,EAEGC,IAAD,IAAiB;AACfC,IAAAA,OAAO,CAACC,KAAR,CAAcF,IAAI,CAACG,KAAnB;AACD,GAJH;AAMD,CAXH;;AAaO,MAAMC,YAAN,CAAsC;AAK3CC,EAAAA,WAAW,CAAC/B,WAAD,EAA2BgC,QAA3B,EAA4C;AACrD,SAAKA,QAAL,GAAgBA,QAAhB;AACA,SAAKC,MAAL,GAAcd,aAAa,CAACnB,WAAD,CAA3B;AACD;;AAR0C;;;;"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import type { Handle, Handler, Level } from 'nightingale-types';
|
|
2
2
|
import type SlackConfig from './SlackConfig';
|
|
3
|
-
|
|
4
|
-
export { createBody };
|
|
3
|
+
export { default as createBody } from './createBody';
|
|
5
4
|
export declare class SlackHandler implements Handler {
|
|
6
5
|
minLevel: Level;
|
|
7
6
|
handle: Handle;
|
|
8
7
|
constructor(slackConfig: SlackConfig, minLevel: Level);
|
|
9
8
|
}
|
|
10
|
-
/** @deprecated use named export instead */
|
|
11
|
-
export default SlackHandler;
|
|
12
9
|
//# 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":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,MAAM,EAEN,OAAO,EACP,KAAK,EACN,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAG7C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AAerD,qBAAa,YAAa,YAAW,OAAO;IAC1C,QAAQ,EAAE,KAAK,CAAC;IAEhB,MAAM,EAAE,MAAM,CAAC;gBAEH,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK;CAItD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nightingale-slack",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "12.0.0",
|
|
4
4
|
"description": "Slack handler for nightingale",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"nightingale",
|
|
@@ -14,35 +14,29 @@
|
|
|
14
14
|
"directory": "packages/nightingale-slack"
|
|
15
15
|
},
|
|
16
16
|
"homepage": "https://github.com/christophehurpeau/nightingale",
|
|
17
|
+
"type": "commonjs",
|
|
17
18
|
"engines": {
|
|
18
|
-
"node": ">=
|
|
19
|
+
"node": "^14.13.1 || >=16.0.0"
|
|
19
20
|
},
|
|
20
|
-
"main": "./index.js",
|
|
21
|
+
"main": "./dist/index-node14.cjs.js",
|
|
21
22
|
"types": "./dist/index.d.ts",
|
|
22
23
|
"exports": {
|
|
24
|
+
"./package.json": "./package.json",
|
|
23
25
|
".": {
|
|
24
26
|
"node": {
|
|
25
|
-
"
|
|
26
|
-
|
|
27
|
-
"require": "./dist/index-node12-dev.cjs.js"
|
|
28
|
-
},
|
|
29
|
-
"import": "./dist/index-node12.mjs",
|
|
30
|
-
"require": "./dist/index-node12.cjs.js"
|
|
27
|
+
"import": "./dist/index-node14.mjs",
|
|
28
|
+
"require": "./dist/index-node14.cjs.js"
|
|
31
29
|
}
|
|
32
30
|
}
|
|
33
31
|
},
|
|
34
|
-
"module:node": "./dist/index-
|
|
35
|
-
"module:node-dev": "./dist/index-node12-dev.mjs",
|
|
32
|
+
"module:node": "./dist/index-node14.mjs",
|
|
36
33
|
"sideEffects": false,
|
|
37
34
|
"scripts": {
|
|
38
35
|
"build": "pob-build && yarn run build:definitions",
|
|
39
36
|
"build:definitions": "tsc -p tsconfig.build.json",
|
|
40
|
-
"clean": "rm -Rf
|
|
41
|
-
"generate:test-coverage": "rm -Rf docs/coverage/ ; NODE_ENV=production BABEL_ENV=test jest --coverage --coverageReporters=pob-lcov-reporter --coverageDirectory=docs/coverage/",
|
|
37
|
+
"clean": "rm -Rf dist",
|
|
42
38
|
"lint": "yarn run lint:eslint",
|
|
43
|
-
"lint:eslint": "
|
|
44
|
-
"test": "jest",
|
|
45
|
-
"test:watch": "jest",
|
|
39
|
+
"lint:eslint": "cd ../.. && yarn run eslint --report-unused-disable-directives --resolve-plugins-relative-to . --quiet packages/nightingale-slack",
|
|
46
40
|
"watch": "pob-watch"
|
|
47
41
|
},
|
|
48
42
|
"prettier": {
|
|
@@ -50,30 +44,11 @@
|
|
|
50
44
|
"singleQuote": true,
|
|
51
45
|
"arrowParens": "always"
|
|
52
46
|
},
|
|
53
|
-
"jest": {
|
|
54
|
-
"cacheDirectory": "./node_modules/.cache/jest",
|
|
55
|
-
"testMatch": [
|
|
56
|
-
"<rootDir>/src/**/__tests__/**/*.ts",
|
|
57
|
-
"<rootDir>/src/**/*.test.ts"
|
|
58
|
-
],
|
|
59
|
-
"collectCoverageFrom": [
|
|
60
|
-
"src/**/*.ts"
|
|
61
|
-
],
|
|
62
|
-
"moduleFileExtensions": [
|
|
63
|
-
"ts",
|
|
64
|
-
"js",
|
|
65
|
-
"json"
|
|
66
|
-
],
|
|
67
|
-
"transform": {
|
|
68
|
-
"^.+\\.ts$": "babel-jest"
|
|
69
|
-
},
|
|
70
|
-
"testEnvironment": "node"
|
|
71
|
-
},
|
|
72
47
|
"pob": {
|
|
73
48
|
"babelEnvs": [
|
|
74
49
|
{
|
|
75
50
|
"target": "node",
|
|
76
|
-
"version": "
|
|
51
|
+
"version": "14",
|
|
77
52
|
"formats": [
|
|
78
53
|
"cjs",
|
|
79
54
|
"es"
|
|
@@ -85,35 +60,17 @@
|
|
|
85
60
|
]
|
|
86
61
|
},
|
|
87
62
|
"dependencies": {
|
|
88
|
-
"nightingale-levels": "^
|
|
89
|
-
"nightingale-markdown-formatter": "^
|
|
90
|
-
"nightingale-raw-formatter": "^
|
|
91
|
-
"nightingale-types": "^
|
|
63
|
+
"nightingale-levels": "^12.0.0",
|
|
64
|
+
"nightingale-markdown-formatter": "^12.0.0",
|
|
65
|
+
"nightingale-raw-formatter": "^12.0.0",
|
|
66
|
+
"nightingale-types": "^12.0.0",
|
|
92
67
|
"request": "^2.88.0"
|
|
93
68
|
},
|
|
94
69
|
"devDependencies": {
|
|
95
|
-
"@babel/core": "7.
|
|
96
|
-
"@
|
|
97
|
-
"
|
|
98
|
-
"
|
|
99
|
-
"@pob/eslint-config-typescript-node": "43.0.0",
|
|
100
|
-
"@types/jest": "26.0.22",
|
|
101
|
-
"@types/request": "2.48.5",
|
|
102
|
-
"@typescript-eslint/eslint-plugin": "4.19.0",
|
|
103
|
-
"@typescript-eslint/parser": "4.19.0",
|
|
104
|
-
"babel-jest": "26.6.3",
|
|
105
|
-
"babel-preset-latest-node": "5.5.1",
|
|
106
|
-
"eslint": "7.23.0",
|
|
107
|
-
"eslint-import-resolver-node": "0.3.4",
|
|
108
|
-
"eslint-plugin-import": "2.22.1",
|
|
109
|
-
"eslint-plugin-node": "11.1.0",
|
|
110
|
-
"eslint-plugin-unicorn": "25.0.1",
|
|
111
|
-
"jest": "26.6.3",
|
|
112
|
-
"pob-babel": "26.8.0",
|
|
113
|
-
"pob-lcov-reporter": "4.0.1",
|
|
114
|
-
"rollup": "2.43.1",
|
|
115
|
-
"typescript": "4.2.3",
|
|
116
|
-
"xunit-file": "1.0.0"
|
|
70
|
+
"@babel/core": "7.16.0",
|
|
71
|
+
"@types/request": "2.48.7",
|
|
72
|
+
"pob-babel": "29.3.0",
|
|
73
|
+
"typescript": "4.5.3"
|
|
117
74
|
},
|
|
118
|
-
"gitHead": "
|
|
75
|
+
"gitHead": "682f57fa30eaca9732681d16008abb2680b24174"
|
|
119
76
|
}
|
package/src/.eslintrc.json
CHANGED
package/src/createBody.test.ts
CHANGED
package/src/createBody.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/* eslint-disable camelcase */
|
|
2
|
-
import Level from 'nightingale-levels';
|
|
2
|
+
import { Level } from 'nightingale-levels';
|
|
3
3
|
import markdownFormatter from 'nightingale-markdown-formatter';
|
|
4
4
|
import rawFormatter from 'nightingale-raw-formatter';
|
|
5
5
|
import type { LogRecord, Metadata } from 'nightingale-types';
|
|
6
6
|
import type SlackConfig from './SlackConfig';
|
|
7
7
|
|
|
8
|
-
const levelToSlackColor:
|
|
8
|
+
const levelToSlackColor: Record<number, string> = {
|
|
9
9
|
[Level.TRACE]: '#808080',
|
|
10
10
|
[Level.DEBUG]: '#808080',
|
|
11
11
|
[Level.INFO]: '#808080',
|
package/src/index.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { post } from 'request';
|
|
2
1
|
import type {
|
|
3
2
|
LogRecord,
|
|
4
3
|
Handle,
|
|
@@ -6,21 +5,24 @@ import type {
|
|
|
6
5
|
Handler,
|
|
7
6
|
Level,
|
|
8
7
|
} from 'nightingale-types';
|
|
8
|
+
import { post } from 'request';
|
|
9
9
|
import type SlackConfig from './SlackConfig';
|
|
10
10
|
import createBody from './createBody';
|
|
11
11
|
|
|
12
|
-
export { createBody };
|
|
12
|
+
export { default as createBody } from './createBody';
|
|
13
13
|
|
|
14
|
-
const createHandler =
|
|
15
|
-
|
|
16
|
-
) => {
|
|
17
|
-
|
|
14
|
+
const createHandler =
|
|
15
|
+
(slackConfig: SlackConfig) =>
|
|
16
|
+
<T extends Metadata>(record: LogRecord<T>) => {
|
|
17
|
+
const body = createBody(record, slackConfig);
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
19
|
+
post({ url: slackConfig.webhookUrl, body, json: true }).on(
|
|
20
|
+
'error',
|
|
21
|
+
(err2: Error) => {
|
|
22
|
+
console.error(err2.stack);
|
|
23
|
+
},
|
|
24
|
+
);
|
|
25
|
+
};
|
|
24
26
|
|
|
25
27
|
export class SlackHandler implements Handler {
|
|
26
28
|
minLevel: Level;
|
|
@@ -32,6 +34,3 @@ export class SlackHandler implements Handler {
|
|
|
32
34
|
this.handle = createHandler(slackConfig);
|
|
33
35
|
}
|
|
34
36
|
}
|
|
35
|
-
|
|
36
|
-
/** @deprecated use named export instead */
|
|
37
|
-
export default SlackHandler;
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
const request = require('request');
|
|
6
|
-
const Level = require('nightingale-levels');
|
|
7
|
-
const markdownFormatter = require('nightingale-markdown-formatter');
|
|
8
|
-
const rawFormatter = require('nightingale-raw-formatter');
|
|
9
|
-
|
|
10
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
|
|
11
|
-
|
|
12
|
-
const Level__default = /*#__PURE__*/_interopDefaultLegacy(Level);
|
|
13
|
-
const markdownFormatter__default = /*#__PURE__*/_interopDefaultLegacy(markdownFormatter);
|
|
14
|
-
const rawFormatter__default = /*#__PURE__*/_interopDefaultLegacy(rawFormatter);
|
|
15
|
-
|
|
16
|
-
/* eslint-disable camelcase */
|
|
17
|
-
const levelToSlackColor = {
|
|
18
|
-
[Level__default.TRACE]: '#808080',
|
|
19
|
-
[Level__default.DEBUG]: '#808080',
|
|
20
|
-
[Level__default.INFO]: '#808080',
|
|
21
|
-
[Level__default.WARN]: 'warning',
|
|
22
|
-
[Level__default.ERROR]: 'danger',
|
|
23
|
-
[Level__default.CRITICAL]: 'danger',
|
|
24
|
-
[Level__default.FATAL]: 'danger',
|
|
25
|
-
[Level__default.EMERGENCY]: 'danger'
|
|
26
|
-
};
|
|
27
|
-
function createBody(record, slackConfig) {
|
|
28
|
-
const markdown = markdownFormatter__default(record);
|
|
29
|
-
const raw = rawFormatter__default(record);
|
|
30
|
-
return {
|
|
31
|
-
channel: slackConfig.channel,
|
|
32
|
-
username: slackConfig.username,
|
|
33
|
-
icon_url: slackConfig.iconUrl,
|
|
34
|
-
icon_emoji: slackConfig.iconEmoji,
|
|
35
|
-
attachments: [{
|
|
36
|
-
fallback: raw,
|
|
37
|
-
title: record.message,
|
|
38
|
-
color: levelToSlackColor[record.level],
|
|
39
|
-
text: markdown,
|
|
40
|
-
mrkdwn_in: ['text']
|
|
41
|
-
}]
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
const createHandler = slackConfig => record => {
|
|
46
|
-
const body = createBody(record, slackConfig);
|
|
47
|
-
request.post({
|
|
48
|
-
url: slackConfig.webhookUrl,
|
|
49
|
-
body,
|
|
50
|
-
json: true
|
|
51
|
-
}).on('error', err2 => console.error(err2.stack));
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
class SlackHandler {
|
|
55
|
-
constructor(slackConfig, minLevel) {
|
|
56
|
-
this.minLevel = minLevel;
|
|
57
|
-
this.handle = createHandler(slackConfig);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
exports.SlackHandler = SlackHandler;
|
|
63
|
-
exports.createBody = createBody;
|
|
64
|
-
exports.default = SlackHandler;
|
|
65
|
-
//# sourceMappingURL=index-node12-dev.cjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-node12-dev.cjs.js","sources":["../src/createBody.ts","../src/index.ts"],"sourcesContent":["/* eslint-disable camelcase */\nimport Level from 'nightingale-levels';\nimport markdownFormatter from 'nightingale-markdown-formatter';\nimport rawFormatter from 'nightingale-raw-formatter';\nimport type { LogRecord, Metadata } from 'nightingale-types';\nimport type SlackConfig from './SlackConfig';\n\nconst levelToSlackColor: { [level: number]: string } = {\n [Level.TRACE]: '#808080',\n [Level.DEBUG]: '#808080',\n [Level.INFO]: '#808080',\n [Level.WARN]: 'warning',\n [Level.ERROR]: 'danger',\n [Level.CRITICAL]: 'danger',\n [Level.FATAL]: 'danger',\n [Level.EMERGENCY]: 'danger',\n};\n\nexport default function createBody<T extends Metadata>(\n record: LogRecord<T>,\n slackConfig: SlackConfig,\n): Record<string, unknown> {\n const markdown = markdownFormatter(record);\n const raw = rawFormatter(record);\n\n return {\n channel: slackConfig.channel,\n username: slackConfig.username,\n icon_url: slackConfig.iconUrl,\n icon_emoji: slackConfig.iconEmoji,\n attachments: [\n {\n fallback: raw,\n title: record.message,\n color: levelToSlackColor[record.level],\n text: markdown,\n mrkdwn_in: ['text'],\n },\n ],\n };\n}\n","import { post } from 'request';\nimport type {\n LogRecord,\n Handle,\n Metadata,\n Handler,\n Level,\n} from 'nightingale-types';\nimport type SlackConfig from './SlackConfig';\nimport createBody from './createBody';\n\nexport { createBody };\n\nconst createHandler = (slackConfig: SlackConfig) => <T extends Metadata>(\n record: LogRecord<T>,\n) => {\n const body = createBody(record, slackConfig);\n\n post({ url: slackConfig.webhookUrl, body, json: true }).on(\n 'error',\n (err2: Error) => console.error(err2.stack),\n );\n};\n\nexport class SlackHandler implements Handler {\n minLevel: Level;\n\n handle: Handle;\n\n constructor(slackConfig: SlackConfig, minLevel: Level) {\n this.minLevel = minLevel;\n this.handle = createHandler(slackConfig);\n }\n}\n\n/** @deprecated use named export instead */\nexport default SlackHandler;\n"],"names":["levelToSlackColor","Level","TRACE","DEBUG","INFO","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","createBody","record","slackConfig","markdown","markdownFormatter","raw","rawFormatter","channel","username","icon_url","iconUrl","icon_emoji","iconEmoji","attachments","fallback","title","message","color","level","text","mrkdwn_in","createHandler","body","post","url","webhookUrl","json","on","err2","console","error","stack","SlackHandler","constructor","minLevel","handle"],"mappings":";;;;;;;;;;;;;;;AAAA;AAOA,MAAMA,iBAA8C,GAAG;AACrD,GAACC,cAAK,CAACC,KAAP,GAAe,SADsC;AAErD,GAACD,cAAK,CAACE,KAAP,GAAe,SAFsC;AAGrD,GAACF,cAAK,CAACG,IAAP,GAAc,SAHuC;AAIrD,GAACH,cAAK,CAACI,IAAP,GAAc,SAJuC;AAKrD,GAACJ,cAAK,CAACK,KAAP,GAAe,QALsC;AAMrD,GAACL,cAAK,CAACM,QAAP,GAAkB,QANmC;AAOrD,GAACN,cAAK,CAACO,KAAP,GAAe,QAPsC;AAQrD,GAACP,cAAK,CAACQ,SAAP,GAAmB;AARkC,CAAvD;AAWe,SAASC,UAAT,CACbC,MADa,EAEbC,WAFa,EAGY;AACzB,QAAMC,QAAQ,GAAGC,0BAAiB,CAACH,MAAD,CAAlC;AACA,QAAMI,GAAG,GAAGC,qBAAY,CAACL,MAAD,CAAxB;AAEA,SAAO;AACLM,IAAAA,OAAO,EAAEL,WAAW,CAACK,OADhB;AAELC,IAAAA,QAAQ,EAAEN,WAAW,CAACM,QAFjB;AAGLC,IAAAA,QAAQ,EAAEP,WAAW,CAACQ,OAHjB;AAILC,IAAAA,UAAU,EAAET,WAAW,CAACU,SAJnB;AAKLC,IAAAA,WAAW,EAAE,CACX;AACEC,MAAAA,QAAQ,EAAET,GADZ;AAEEU,MAAAA,KAAK,EAAEd,MAAM,CAACe,OAFhB;AAGEC,MAAAA,KAAK,EAAE3B,iBAAiB,CAACW,MAAM,CAACiB,KAAR,CAH1B;AAIEC,MAAAA,IAAI,EAAEhB,QAJR;AAKEiB,MAAAA,SAAS,EAAE,CAAC,MAAD;AALb,KADW;AALR,GAAP;AAeD;;AC3BD,MAAMC,aAAa,GAAInB,WAAD,IACpBD,MADkD,IAE/C;AACH,QAAMqB,IAAI,GAAGtB,UAAU,CAACC,MAAD,EAASC,WAAT,CAAvB;AAEAqB,EAAAA,YAAI,CAAC;AAAEC,IAAAA,GAAG,EAAEtB,WAAW,CAACuB,UAAnB;AAA+BH,IAAAA,IAA/B;AAAqCI,IAAAA,IAAI,EAAE;AAA3C,GAAD,CAAJ,CAAwDC,EAAxD,CACE,OADF,EAEGC,IAAD,IAAiBC,OAAO,CAACC,KAAR,CAAcF,IAAI,CAACG,KAAnB,CAFnB;AAID,CATD;;AAWO,MAAMC,YAAN,CAAsC;AAK3CC,EAAAA,WAAW,CAAC/B,WAAD,EAA2BgC,QAA3B,EAA4C;AACrD,SAAKA,QAAL,GAAgBA,QAAhB;AACA,SAAKC,MAAL,GAAcd,aAAa,CAACnB,WAAD,CAA3B;AACD;;AAR0C;;;;;;"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { post } from 'request';
|
|
2
|
-
import Level from 'nightingale-levels';
|
|
3
|
-
import markdownFormatter from 'nightingale-markdown-formatter';
|
|
4
|
-
import rawFormatter from 'nightingale-raw-formatter';
|
|
5
|
-
|
|
6
|
-
/* eslint-disable camelcase */
|
|
7
|
-
const levelToSlackColor = {
|
|
8
|
-
[Level.TRACE]: '#808080',
|
|
9
|
-
[Level.DEBUG]: '#808080',
|
|
10
|
-
[Level.INFO]: '#808080',
|
|
11
|
-
[Level.WARN]: 'warning',
|
|
12
|
-
[Level.ERROR]: 'danger',
|
|
13
|
-
[Level.CRITICAL]: 'danger',
|
|
14
|
-
[Level.FATAL]: 'danger',
|
|
15
|
-
[Level.EMERGENCY]: 'danger'
|
|
16
|
-
};
|
|
17
|
-
function createBody(record, slackConfig) {
|
|
18
|
-
const markdown = markdownFormatter(record);
|
|
19
|
-
const raw = rawFormatter(record);
|
|
20
|
-
return {
|
|
21
|
-
channel: slackConfig.channel,
|
|
22
|
-
username: slackConfig.username,
|
|
23
|
-
icon_url: slackConfig.iconUrl,
|
|
24
|
-
icon_emoji: slackConfig.iconEmoji,
|
|
25
|
-
attachments: [{
|
|
26
|
-
fallback: raw,
|
|
27
|
-
title: record.message,
|
|
28
|
-
color: levelToSlackColor[record.level],
|
|
29
|
-
text: markdown,
|
|
30
|
-
mrkdwn_in: ['text']
|
|
31
|
-
}]
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
const createHandler = slackConfig => record => {
|
|
36
|
-
const body = createBody(record, slackConfig);
|
|
37
|
-
post({
|
|
38
|
-
url: slackConfig.webhookUrl,
|
|
39
|
-
body,
|
|
40
|
-
json: true
|
|
41
|
-
}).on('error', err2 => console.error(err2.stack));
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
class SlackHandler {
|
|
45
|
-
constructor(slackConfig, minLevel) {
|
|
46
|
-
this.minLevel = minLevel;
|
|
47
|
-
this.handle = createHandler(slackConfig);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export default SlackHandler;
|
|
53
|
-
export { SlackHandler, createBody };
|
|
54
|
-
//# sourceMappingURL=index-node12-dev.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-node12-dev.mjs","sources":["../src/createBody.ts","../src/index.ts"],"sourcesContent":["/* eslint-disable camelcase */\nimport Level from 'nightingale-levels';\nimport markdownFormatter from 'nightingale-markdown-formatter';\nimport rawFormatter from 'nightingale-raw-formatter';\nimport type { LogRecord, Metadata } from 'nightingale-types';\nimport type SlackConfig from './SlackConfig';\n\nconst levelToSlackColor: { [level: number]: string } = {\n [Level.TRACE]: '#808080',\n [Level.DEBUG]: '#808080',\n [Level.INFO]: '#808080',\n [Level.WARN]: 'warning',\n [Level.ERROR]: 'danger',\n [Level.CRITICAL]: 'danger',\n [Level.FATAL]: 'danger',\n [Level.EMERGENCY]: 'danger',\n};\n\nexport default function createBody<T extends Metadata>(\n record: LogRecord<T>,\n slackConfig: SlackConfig,\n): Record<string, unknown> {\n const markdown = markdownFormatter(record);\n const raw = rawFormatter(record);\n\n return {\n channel: slackConfig.channel,\n username: slackConfig.username,\n icon_url: slackConfig.iconUrl,\n icon_emoji: slackConfig.iconEmoji,\n attachments: [\n {\n fallback: raw,\n title: record.message,\n color: levelToSlackColor[record.level],\n text: markdown,\n mrkdwn_in: ['text'],\n },\n ],\n };\n}\n","import { post } from 'request';\nimport type {\n LogRecord,\n Handle,\n Metadata,\n Handler,\n Level,\n} from 'nightingale-types';\nimport type SlackConfig from './SlackConfig';\nimport createBody from './createBody';\n\nexport { createBody };\n\nconst createHandler = (slackConfig: SlackConfig) => <T extends Metadata>(\n record: LogRecord<T>,\n) => {\n const body = createBody(record, slackConfig);\n\n post({ url: slackConfig.webhookUrl, body, json: true }).on(\n 'error',\n (err2: Error) => console.error(err2.stack),\n );\n};\n\nexport class SlackHandler implements Handler {\n minLevel: Level;\n\n handle: Handle;\n\n constructor(slackConfig: SlackConfig, minLevel: Level) {\n this.minLevel = minLevel;\n this.handle = createHandler(slackConfig);\n }\n}\n\n/** @deprecated use named export instead */\nexport default SlackHandler;\n"],"names":["levelToSlackColor","Level","TRACE","DEBUG","INFO","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","createBody","record","slackConfig","markdown","markdownFormatter","raw","rawFormatter","channel","username","icon_url","iconUrl","icon_emoji","iconEmoji","attachments","fallback","title","message","color","level","text","mrkdwn_in","createHandler","body","post","url","webhookUrl","json","on","err2","console","error","stack","SlackHandler","constructor","minLevel","handle"],"mappings":";;;;;AAAA;AAOA,MAAMA,iBAA8C,GAAG;AACrD,GAACC,KAAK,CAACC,KAAP,GAAe,SADsC;AAErD,GAACD,KAAK,CAACE,KAAP,GAAe,SAFsC;AAGrD,GAACF,KAAK,CAACG,IAAP,GAAc,SAHuC;AAIrD,GAACH,KAAK,CAACI,IAAP,GAAc,SAJuC;AAKrD,GAACJ,KAAK,CAACK,KAAP,GAAe,QALsC;AAMrD,GAACL,KAAK,CAACM,QAAP,GAAkB,QANmC;AAOrD,GAACN,KAAK,CAACO,KAAP,GAAe,QAPsC;AAQrD,GAACP,KAAK,CAACQ,SAAP,GAAmB;AARkC,CAAvD;AAWe,SAASC,UAAT,CACbC,MADa,EAEbC,WAFa,EAGY;AACzB,QAAMC,QAAQ,GAAGC,iBAAiB,CAACH,MAAD,CAAlC;AACA,QAAMI,GAAG,GAAGC,YAAY,CAACL,MAAD,CAAxB;AAEA,SAAO;AACLM,IAAAA,OAAO,EAAEL,WAAW,CAACK,OADhB;AAELC,IAAAA,QAAQ,EAAEN,WAAW,CAACM,QAFjB;AAGLC,IAAAA,QAAQ,EAAEP,WAAW,CAACQ,OAHjB;AAILC,IAAAA,UAAU,EAAET,WAAW,CAACU,SAJnB;AAKLC,IAAAA,WAAW,EAAE,CACX;AACEC,MAAAA,QAAQ,EAAET,GADZ;AAEEU,MAAAA,KAAK,EAAEd,MAAM,CAACe,OAFhB;AAGEC,MAAAA,KAAK,EAAE3B,iBAAiB,CAACW,MAAM,CAACiB,KAAR,CAH1B;AAIEC,MAAAA,IAAI,EAAEhB,QAJR;AAKEiB,MAAAA,SAAS,EAAE,CAAC,MAAD;AALb,KADW;AALR,GAAP;AAeD;;AC3BD,MAAMC,aAAa,GAAInB,WAAD,IACpBD,MADkD,IAE/C;AACH,QAAMqB,IAAI,GAAGtB,UAAU,CAACC,MAAD,EAASC,WAAT,CAAvB;AAEAqB,EAAAA,IAAI,CAAC;AAAEC,IAAAA,GAAG,EAAEtB,WAAW,CAACuB,UAAnB;AAA+BH,IAAAA,IAA/B;AAAqCI,IAAAA,IAAI,EAAE;AAA3C,GAAD,CAAJ,CAAwDC,EAAxD,CACE,OADF,EAEGC,IAAD,IAAiBC,OAAO,CAACC,KAAR,CAAcF,IAAI,CAACG,KAAnB,CAFnB;AAID,CATD;;AAWO,MAAMC,YAAN,CAAsC;AAK3CC,EAAAA,WAAW,CAAC/B,WAAD,EAA2BgC,QAA3B,EAA4C;AACrD,SAAKA,QAAL,GAAgBA,QAAhB;AACA,SAAKC,MAAL,GAAcd,aAAa,CAACnB,WAAD,CAA3B;AACD;;AAR0C;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-node12.cjs.js","sources":["../src/createBody.ts","../src/index.ts"],"sourcesContent":["/* eslint-disable camelcase */\nimport Level from 'nightingale-levels';\nimport markdownFormatter from 'nightingale-markdown-formatter';\nimport rawFormatter from 'nightingale-raw-formatter';\nimport type { LogRecord, Metadata } from 'nightingale-types';\nimport type SlackConfig from './SlackConfig';\n\nconst levelToSlackColor: { [level: number]: string } = {\n [Level.TRACE]: '#808080',\n [Level.DEBUG]: '#808080',\n [Level.INFO]: '#808080',\n [Level.WARN]: 'warning',\n [Level.ERROR]: 'danger',\n [Level.CRITICAL]: 'danger',\n [Level.FATAL]: 'danger',\n [Level.EMERGENCY]: 'danger',\n};\n\nexport default function createBody<T extends Metadata>(\n record: LogRecord<T>,\n slackConfig: SlackConfig,\n): Record<string, unknown> {\n const markdown = markdownFormatter(record);\n const raw = rawFormatter(record);\n\n return {\n channel: slackConfig.channel,\n username: slackConfig.username,\n icon_url: slackConfig.iconUrl,\n icon_emoji: slackConfig.iconEmoji,\n attachments: [\n {\n fallback: raw,\n title: record.message,\n color: levelToSlackColor[record.level],\n text: markdown,\n mrkdwn_in: ['text'],\n },\n ],\n };\n}\n","import { post } from 'request';\nimport type {\n LogRecord,\n Handle,\n Metadata,\n Handler,\n Level,\n} from 'nightingale-types';\nimport type SlackConfig from './SlackConfig';\nimport createBody from './createBody';\n\nexport { createBody };\n\nconst createHandler = (slackConfig: SlackConfig) => <T extends Metadata>(\n record: LogRecord<T>,\n) => {\n const body = createBody(record, slackConfig);\n\n post({ url: slackConfig.webhookUrl, body, json: true }).on(\n 'error',\n (err2: Error) => console.error(err2.stack),\n );\n};\n\nexport class SlackHandler implements Handler {\n minLevel: Level;\n\n handle: Handle;\n\n constructor(slackConfig: SlackConfig, minLevel: Level) {\n this.minLevel = minLevel;\n this.handle = createHandler(slackConfig);\n }\n}\n\n/** @deprecated use named export instead */\nexport default SlackHandler;\n"],"names":["levelToSlackColor","Level","TRACE","DEBUG","INFO","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","createBody","record","slackConfig","markdown","markdownFormatter","raw","rawFormatter","channel","username","icon_url","iconUrl","icon_emoji","iconEmoji","attachments","fallback","title","message","color","level","text","mrkdwn_in","createHandler","body","post","url","webhookUrl","json","on","err2","console","error","stack","SlackHandler","constructor","minLevel","handle"],"mappings":";;;;;;;;;;;;;;;AAAA;AAOA,MAAMA,iBAA8C,GAAG;AACrD,GAACC,cAAK,CAACC,KAAP,GAAe,SADsC;AAErD,GAACD,cAAK,CAACE,KAAP,GAAe,SAFsC;AAGrD,GAACF,cAAK,CAACG,IAAP,GAAc,SAHuC;AAIrD,GAACH,cAAK,CAACI,IAAP,GAAc,SAJuC;AAKrD,GAACJ,cAAK,CAACK,KAAP,GAAe,QALsC;AAMrD,GAACL,cAAK,CAACM,QAAP,GAAkB,QANmC;AAOrD,GAACN,cAAK,CAACO,KAAP,GAAe,QAPsC;AAQrD,GAACP,cAAK,CAACQ,SAAP,GAAmB;AARkC,CAAvD;AAWe,SAASC,UAAT,CACbC,MADa,EAEbC,WAFa,EAGY;AACzB,QAAMC,QAAQ,GAAGC,0BAAiB,CAACH,MAAD,CAAlC;AACA,QAAMI,GAAG,GAAGC,qBAAY,CAACL,MAAD,CAAxB;AAEA,SAAO;AACLM,IAAAA,OAAO,EAAEL,WAAW,CAACK,OADhB;AAELC,IAAAA,QAAQ,EAAEN,WAAW,CAACM,QAFjB;AAGLC,IAAAA,QAAQ,EAAEP,WAAW,CAACQ,OAHjB;AAILC,IAAAA,UAAU,EAAET,WAAW,CAACU,SAJnB;AAKLC,IAAAA,WAAW,EAAE,CACX;AACEC,MAAAA,QAAQ,EAAET,GADZ;AAEEU,MAAAA,KAAK,EAAEd,MAAM,CAACe,OAFhB;AAGEC,MAAAA,KAAK,EAAE3B,iBAAiB,CAACW,MAAM,CAACiB,KAAR,CAH1B;AAIEC,MAAAA,IAAI,EAAEhB,QAJR;AAKEiB,MAAAA,SAAS,EAAE,CAAC,MAAD;AALb,KADW;AALR,GAAP;AAeD;;AC3BD,MAAMC,aAAa,GAAInB,WAAD,IACpBD,MADkD,IAE/C;AACH,QAAMqB,IAAI,GAAGtB,UAAU,CAACC,MAAD,EAASC,WAAT,CAAvB;AAEAqB,EAAAA,YAAI,CAAC;AAAEC,IAAAA,GAAG,EAAEtB,WAAW,CAACuB,UAAnB;AAA+BH,IAAAA,IAA/B;AAAqCI,IAAAA,IAAI,EAAE;AAA3C,GAAD,CAAJ,CAAwDC,EAAxD,CACE,OADF,EAEGC,IAAD,IAAiBC,OAAO,CAACC,KAAR,CAAcF,IAAI,CAACG,KAAnB,CAFnB;AAID,CATD;;AAWO,MAAMC,YAAN,CAAsC;AAK3CC,EAAAA,WAAW,CAAC/B,WAAD,EAA2BgC,QAA3B,EAA4C;AACrD,SAAKA,QAAL,GAAgBA,QAAhB;AACA,SAAKC,MAAL,GAAcd,aAAa,CAACnB,WAAD,CAA3B;AACD;;AAR0C;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-node12.mjs","sources":["../src/createBody.ts","../src/index.ts"],"sourcesContent":["/* eslint-disable camelcase */\nimport Level from 'nightingale-levels';\nimport markdownFormatter from 'nightingale-markdown-formatter';\nimport rawFormatter from 'nightingale-raw-formatter';\nimport type { LogRecord, Metadata } from 'nightingale-types';\nimport type SlackConfig from './SlackConfig';\n\nconst levelToSlackColor: { [level: number]: string } = {\n [Level.TRACE]: '#808080',\n [Level.DEBUG]: '#808080',\n [Level.INFO]: '#808080',\n [Level.WARN]: 'warning',\n [Level.ERROR]: 'danger',\n [Level.CRITICAL]: 'danger',\n [Level.FATAL]: 'danger',\n [Level.EMERGENCY]: 'danger',\n};\n\nexport default function createBody<T extends Metadata>(\n record: LogRecord<T>,\n slackConfig: SlackConfig,\n): Record<string, unknown> {\n const markdown = markdownFormatter(record);\n const raw = rawFormatter(record);\n\n return {\n channel: slackConfig.channel,\n username: slackConfig.username,\n icon_url: slackConfig.iconUrl,\n icon_emoji: slackConfig.iconEmoji,\n attachments: [\n {\n fallback: raw,\n title: record.message,\n color: levelToSlackColor[record.level],\n text: markdown,\n mrkdwn_in: ['text'],\n },\n ],\n };\n}\n","import { post } from 'request';\nimport type {\n LogRecord,\n Handle,\n Metadata,\n Handler,\n Level,\n} from 'nightingale-types';\nimport type SlackConfig from './SlackConfig';\nimport createBody from './createBody';\n\nexport { createBody };\n\nconst createHandler = (slackConfig: SlackConfig) => <T extends Metadata>(\n record: LogRecord<T>,\n) => {\n const body = createBody(record, slackConfig);\n\n post({ url: slackConfig.webhookUrl, body, json: true }).on(\n 'error',\n (err2: Error) => console.error(err2.stack),\n );\n};\n\nexport class SlackHandler implements Handler {\n minLevel: Level;\n\n handle: Handle;\n\n constructor(slackConfig: SlackConfig, minLevel: Level) {\n this.minLevel = minLevel;\n this.handle = createHandler(slackConfig);\n }\n}\n\n/** @deprecated use named export instead */\nexport default SlackHandler;\n"],"names":["levelToSlackColor","Level","TRACE","DEBUG","INFO","WARN","ERROR","CRITICAL","FATAL","EMERGENCY","createBody","record","slackConfig","markdown","markdownFormatter","raw","rawFormatter","channel","username","icon_url","iconUrl","icon_emoji","iconEmoji","attachments","fallback","title","message","color","level","text","mrkdwn_in","createHandler","body","post","url","webhookUrl","json","on","err2","console","error","stack","SlackHandler","constructor","minLevel","handle"],"mappings":";;;;;AAAA;AAOA,MAAMA,iBAA8C,GAAG;AACrD,GAACC,KAAK,CAACC,KAAP,GAAe,SADsC;AAErD,GAACD,KAAK,CAACE,KAAP,GAAe,SAFsC;AAGrD,GAACF,KAAK,CAACG,IAAP,GAAc,SAHuC;AAIrD,GAACH,KAAK,CAACI,IAAP,GAAc,SAJuC;AAKrD,GAACJ,KAAK,CAACK,KAAP,GAAe,QALsC;AAMrD,GAACL,KAAK,CAACM,QAAP,GAAkB,QANmC;AAOrD,GAACN,KAAK,CAACO,KAAP,GAAe,QAPsC;AAQrD,GAACP,KAAK,CAACQ,SAAP,GAAmB;AARkC,CAAvD;AAWe,SAASC,UAAT,CACbC,MADa,EAEbC,WAFa,EAGY;AACzB,QAAMC,QAAQ,GAAGC,iBAAiB,CAACH,MAAD,CAAlC;AACA,QAAMI,GAAG,GAAGC,YAAY,CAACL,MAAD,CAAxB;AAEA,SAAO;AACLM,IAAAA,OAAO,EAAEL,WAAW,CAACK,OADhB;AAELC,IAAAA,QAAQ,EAAEN,WAAW,CAACM,QAFjB;AAGLC,IAAAA,QAAQ,EAAEP,WAAW,CAACQ,OAHjB;AAILC,IAAAA,UAAU,EAAET,WAAW,CAACU,SAJnB;AAKLC,IAAAA,WAAW,EAAE,CACX;AACEC,MAAAA,QAAQ,EAAET,GADZ;AAEEU,MAAAA,KAAK,EAAEd,MAAM,CAACe,OAFhB;AAGEC,MAAAA,KAAK,EAAE3B,iBAAiB,CAACW,MAAM,CAACiB,KAAR,CAH1B;AAIEC,MAAAA,IAAI,EAAEhB,QAJR;AAKEiB,MAAAA,SAAS,EAAE,CAAC,MAAD;AALb,KADW;AALR,GAAP;AAeD;;AC3BD,MAAMC,aAAa,GAAInB,WAAD,IACpBD,MADkD,IAE/C;AACH,QAAMqB,IAAI,GAAGtB,UAAU,CAACC,MAAD,EAASC,WAAT,CAAvB;AAEAqB,EAAAA,IAAI,CAAC;AAAEC,IAAAA,GAAG,EAAEtB,WAAW,CAACuB,UAAnB;AAA+BH,IAAAA,IAA/B;AAAqCI,IAAAA,IAAI,EAAE;AAA3C,GAAD,CAAJ,CAAwDC,EAAxD,CACE,OADF,EAEGC,IAAD,IAAiBC,OAAO,CAACC,KAAR,CAAcF,IAAI,CAACG,KAAnB,CAFnB;AAID,CATD;;AAWO,MAAMC,YAAN,CAAsC;AAK3CC,EAAAA,WAAW,CAAC/B,WAAD,EAA2BgC,QAA3B,EAA4C;AACrD,SAAKA,QAAL,GAAgBA,QAAhB;AACA,SAAKC,MAAL,GAAcd,aAAa,CAACnB,WAAD,CAA3B;AACD;;AAR0C;;;;;"}
|