nightingale-slack 11.7.4 → 12.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/.eslintrc.json +1 -1
- package/CHANGELOG.md +49 -0
- package/README.md +1 -1
- package/createBody.js +1 -3
- package/dist/{index-node12.cjs.js → index-node14.cjs.js} +1 -2
- package/dist/index-node14.cjs.js.map +1 -0
- package/dist/{index-node12.mjs → index-node14.mjs} +2 -2
- package/dist/index-node14.mjs.map +1 -0
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +1 -1
- package/package.json +18 -52
- package/src/index.ts +0 -3
- package/babel.config.cjs +0 -14
- package/dist/index-node12-dev.cjs.js +0 -66
- package/dist/index-node12-dev.cjs.js.map +0 -1
- package/dist/index-node12-dev.mjs +0 -55
- 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/.eslintrc.json
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,55 @@
|
|
|
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.1.1](https://github.com/christophehurpeau/nightingale/compare/v12.1.0...v12.1.1) (2022-01-01)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* properly configure package type ([2e0cbf5](https://github.com/christophehurpeau/nightingale/commit/2e0cbf555bd3b9fa3c3851025452937f64408aa8))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# [12.1.0](https://github.com/christophehurpeau/nightingale/compare/v12.0.1...v12.1.0) (2021-12-15)
|
|
18
|
+
|
|
19
|
+
**Note:** Version bump only for package nightingale-slack
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
## [12.0.1](https://github.com/christophehurpeau/nightingale/compare/v12.0.0...v12.0.1) (2021-12-12)
|
|
26
|
+
|
|
27
|
+
**Note:** Version bump only for package nightingale-slack
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
# [12.0.0](https://github.com/christophehurpeau/nightingale/compare/v11.9.0...v12.0.0) (2021-12-11)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
### Build System
|
|
37
|
+
|
|
38
|
+
* node 14 and remove dev builds ([432ecd1](https://github.com/christophehurpeau/nightingale/commit/432ecd1faafd0419f57dea00fce560e4cccc207f))
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
### Features
|
|
42
|
+
|
|
43
|
+
* drop default exports ([8878e49](https://github.com/christophehurpeau/nightingale/commit/8878e492b94852fcb892fd6d12c02c15c31b38b9))
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
### BREAKING CHANGES
|
|
47
|
+
|
|
48
|
+
* use named imports instead of default exports
|
|
49
|
+
* requires node 14
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
6
55
|
## [11.7.4](https://github.com/christophehurpeau/nightingale/compare/v11.7.3...v11.7.4) (2021-11-27)
|
|
7
56
|
|
|
8
57
|
|
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,
|
package/createBody.js
CHANGED
|
@@ -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;;;;;"}
|
|
@@ -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
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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
|
|
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.1.1",
|
|
4
4
|
"description": "Slack handler for nightingale",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"nightingale",
|
|
@@ -14,37 +14,29 @@
|
|
|
14
14
|
"directory": "packages/nightingale-slack"
|
|
15
15
|
},
|
|
16
16
|
"homepage": "https://github.com/christophehurpeau/nightingale",
|
|
17
|
-
"type": "
|
|
17
|
+
"type": "module",
|
|
18
18
|
"engines": {
|
|
19
|
-
"node": "^
|
|
19
|
+
"node": "^14.13.1 || >=16.0.0"
|
|
20
20
|
},
|
|
21
|
-
"main": "./dist/index-
|
|
21
|
+
"main": "./dist/index-node14.cjs.js",
|
|
22
22
|
"types": "./dist/index.d.ts",
|
|
23
23
|
"exports": {
|
|
24
24
|
"./package.json": "./package.json",
|
|
25
25
|
".": {
|
|
26
26
|
"node": {
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
"require": "./dist/index-node12-dev.cjs.js"
|
|
30
|
-
},
|
|
31
|
-
"import": "./dist/index-node12.mjs",
|
|
32
|
-
"require": "./dist/index-node12.cjs.js"
|
|
27
|
+
"import": "./dist/index-node14.mjs",
|
|
28
|
+
"require": "./dist/index-node14.cjs.js"
|
|
33
29
|
}
|
|
34
30
|
}
|
|
35
31
|
},
|
|
36
|
-
"module:node": "./dist/index-
|
|
37
|
-
"module:node-dev": "./dist/index-node12-dev.mjs",
|
|
32
|
+
"module:node": "./dist/index-node14.mjs",
|
|
38
33
|
"sideEffects": false,
|
|
39
34
|
"scripts": {
|
|
40
35
|
"build": "pob-build && yarn run build:definitions",
|
|
41
36
|
"build:definitions": "tsc -p tsconfig.build.json",
|
|
42
|
-
"clean": "rm -Rf
|
|
43
|
-
"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",
|
|
44
38
|
"lint": "yarn run lint:eslint",
|
|
45
39
|
"lint:eslint": "cd ../.. && yarn run eslint --report-unused-disable-directives --resolve-plugins-relative-to . --quiet packages/nightingale-slack",
|
|
46
|
-
"test": "jest",
|
|
47
|
-
"test:watch": "jest --watch",
|
|
48
40
|
"watch": "pob-watch"
|
|
49
41
|
},
|
|
50
42
|
"prettier": {
|
|
@@ -52,30 +44,11 @@
|
|
|
52
44
|
"singleQuote": true,
|
|
53
45
|
"arrowParens": "always"
|
|
54
46
|
},
|
|
55
|
-
"jest": {
|
|
56
|
-
"cacheDirectory": "./node_modules/.cache/jest",
|
|
57
|
-
"testMatch": [
|
|
58
|
-
"<rootDir>/src/**/__tests__/**/*.ts",
|
|
59
|
-
"<rootDir>/src/**/*.test.ts"
|
|
60
|
-
],
|
|
61
|
-
"collectCoverageFrom": [
|
|
62
|
-
"src/**/*.ts"
|
|
63
|
-
],
|
|
64
|
-
"moduleFileExtensions": [
|
|
65
|
-
"ts",
|
|
66
|
-
"js",
|
|
67
|
-
"json"
|
|
68
|
-
],
|
|
69
|
-
"transform": {
|
|
70
|
-
"^.+\\.ts$": "babel-jest"
|
|
71
|
-
},
|
|
72
|
-
"testEnvironment": "node"
|
|
73
|
-
},
|
|
74
47
|
"pob": {
|
|
75
48
|
"babelEnvs": [
|
|
76
49
|
{
|
|
77
50
|
"target": "node",
|
|
78
|
-
"version": "
|
|
51
|
+
"version": "14",
|
|
79
52
|
"formats": [
|
|
80
53
|
"cjs",
|
|
81
54
|
"es"
|
|
@@ -87,24 +60,17 @@
|
|
|
87
60
|
]
|
|
88
61
|
},
|
|
89
62
|
"dependencies": {
|
|
90
|
-
"nightingale-levels": "
|
|
91
|
-
"nightingale-markdown-formatter": "
|
|
92
|
-
"nightingale-raw-formatter": "
|
|
93
|
-
"nightingale-types": "
|
|
63
|
+
"nightingale-levels": "12.1.1",
|
|
64
|
+
"nightingale-markdown-formatter": "12.1.1",
|
|
65
|
+
"nightingale-raw-formatter": "12.1.1",
|
|
66
|
+
"nightingale-types": "12.1.1",
|
|
94
67
|
"request": "^2.88.0"
|
|
95
68
|
},
|
|
96
69
|
"devDependencies": {
|
|
97
|
-
"@babel/core": "7.16.
|
|
98
|
-
"@types/
|
|
99
|
-
"
|
|
100
|
-
"
|
|
101
|
-
"babel-preset-latest-node": "5.5.1",
|
|
102
|
-
"jest": "27.3.1",
|
|
103
|
-
"pob-babel": "28.5.0",
|
|
104
|
-
"pob-lcov-reporter": "5.4.0",
|
|
105
|
-
"rollup": "2.60.1",
|
|
106
|
-
"typescript": "4.5.2",
|
|
107
|
-
"xunit-file": "1.0.0"
|
|
70
|
+
"@babel/core": "7.16.7",
|
|
71
|
+
"@types/request": "2.48.8",
|
|
72
|
+
"pob-babel": "29.6.1",
|
|
73
|
+
"typescript": "4.5.4"
|
|
108
74
|
},
|
|
109
|
-
"gitHead": "
|
|
75
|
+
"gitHead": "719598e0a3d508801b18542a1054301200b62ed0"
|
|
110
76
|
}
|
package/src/index.ts
CHANGED
package/babel.config.cjs
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const path = require('path');
|
|
4
|
-
|
|
5
|
-
module.exports = function babelConfig(api) {
|
|
6
|
-
const isTest = api.env('test');
|
|
7
|
-
|
|
8
|
-
if (!isTest) return {};
|
|
9
|
-
|
|
10
|
-
return {
|
|
11
|
-
only: [path.resolve(__dirname, 'src')],
|
|
12
|
-
presets: [require.resolve('pob-babel/preset')],
|
|
13
|
-
};
|
|
14
|
-
};
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
const request = require('request');
|
|
6
|
-
const nightingaleLevels = 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 markdownFormatter__default = /*#__PURE__*/_interopDefaultLegacy(markdownFormatter);
|
|
13
|
-
const rawFormatter__default = /*#__PURE__*/_interopDefaultLegacy(rawFormatter);
|
|
14
|
-
|
|
15
|
-
/* eslint-disable camelcase */
|
|
16
|
-
const levelToSlackColor = {
|
|
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'
|
|
25
|
-
};
|
|
26
|
-
function createBody(record, slackConfig) {
|
|
27
|
-
const markdown = markdownFormatter__default(record);
|
|
28
|
-
const raw = rawFormatter__default(record);
|
|
29
|
-
return {
|
|
30
|
-
channel: slackConfig.channel,
|
|
31
|
-
username: slackConfig.username,
|
|
32
|
-
icon_url: slackConfig.iconUrl,
|
|
33
|
-
icon_emoji: slackConfig.iconEmoji,
|
|
34
|
-
attachments: [{
|
|
35
|
-
fallback: raw,
|
|
36
|
-
title: record.message,
|
|
37
|
-
color: levelToSlackColor[record.level],
|
|
38
|
-
text: markdown,
|
|
39
|
-
mrkdwn_in: ['text']
|
|
40
|
-
}]
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
const createHandler = slackConfig => record => {
|
|
45
|
-
const body = createBody(record, slackConfig);
|
|
46
|
-
request.post({
|
|
47
|
-
url: slackConfig.webhookUrl,
|
|
48
|
-
body,
|
|
49
|
-
json: true
|
|
50
|
-
}).on('error', err2 => {
|
|
51
|
-
console.error(err2.stack);
|
|
52
|
-
});
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
class SlackHandler {
|
|
56
|
-
constructor(slackConfig, minLevel) {
|
|
57
|
-
this.minLevel = minLevel;
|
|
58
|
-
this.handle = createHandler(slackConfig);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
exports.SlackHandler = SlackHandler;
|
|
64
|
-
exports.createBody = createBody;
|
|
65
|
-
exports["default"] = SlackHandler;
|
|
66
|
-
//# 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: 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\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,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,55 +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 => {
|
|
42
|
-
console.error(err2.stack);
|
|
43
|
-
});
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
class SlackHandler {
|
|
47
|
-
constructor(slackConfig, minLevel) {
|
|
48
|
-
this.minLevel = minLevel;
|
|
49
|
-
this.handle = createHandler(slackConfig);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export { SlackHandler, createBody, SlackHandler as default };
|
|
55
|
-
//# 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: 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\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,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;;;;"}
|
|
@@ -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: 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\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,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 +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: 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\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,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;;;;"}
|