Skip to content

Commit

Permalink
fix: require minimum node@v10
Browse files Browse the repository at this point in the history
  • Loading branch information
simenandre committed Sep 15, 2021
1 parent 901b467 commit e3cd75d
Show file tree
Hide file tree
Showing 6 changed files with 54 additions and 15 deletions.
22 changes: 21 additions & 1 deletion package.json
Expand Up @@ -9,6 +9,24 @@
"module": "./dist/index.js",
"source": "src/index.ts",
"types": "./dist/index.d.ts",
"engines": {
"node": ">=10"
},
"keywords": [
"google",
"app",
"cloud",
"logger",
"logging",
"stackdriver",
"cloud-run",
"run",
"pubsub",
"handler",
"fastify",
"fastify-plugin",
"cloud-functions"
],
"files": [
"dist/"
],
Expand All @@ -33,10 +51,12 @@
"dependencies": {
"@slack-wrench/jest-mock-web-client": "^1.3.0",
"@slack/web-api": "^6.4.0",
"@tsconfig/node10": "^1.0.8",
"axios": "^0.21.2",
"fastify": "^3.21.1",
"pubsub-http-handler": "^2.1.2",
"runtypes": "^6.3.2"
"runtypes": "^6.3.2",
"ts-invariant": "^0.9.3"
},
"lint-staged": {
"*.ts": [
Expand Down
10 changes: 9 additions & 1 deletion src/handler.ts
@@ -1,4 +1,5 @@
import { PubSubHandler } from 'pubsub-http-handler';
import { invariant } from 'ts-invariant';
import { SlackApiMethod } from './methods/api';
import { SlackWebhookMethod } from './methods/webhook';
import { LogEntry, SlackConfig, SlackMethod } from './types';
Expand All @@ -11,14 +12,21 @@ export function makeHandler(config: SlackConfig): PubSubHandler<LogEntry> {
let method: SlackMethod;

if (config.type === 'api') {
invariant(config.apiOptions, 'expected apiOptions to not be undefined');
method = new SlackApiMethod(config.apiOptions);
}

if (config.type === 'webhook') {
invariant(
config.webhookOptions,
'expected webhookOptions to not be undefined',
);
method = new SlackWebhookMethod(config.webhookOptions);
}

return async ({ data }) => {
await method.send(data);
if (data) {
await method.send(data);
}
};
}
2 changes: 1 addition & 1 deletion src/methods/api.ts
Expand Up @@ -12,7 +12,7 @@ export class SlackApiMethod implements SlackMethod {
async send(entry: LogEntry): Promise<void> {
const parsedLog = await parseLog(entry);
await this.client.chat.postMessage({
channel: this.config.defaultChannel,
channel: this.config.defaultChannel ?? '',
...parsedLog,
});
}
Expand Down
4 changes: 3 additions & 1 deletion src/parse-log.ts
@@ -1,6 +1,8 @@
import { LogEntry, SlackMessageRequest } from './types';

export async function parseLog(entry: LogEntry): Promise<SlackMessageRequest> {
export async function parseLog(
entry: LogEntry,
): Promise<SlackMessageRequest | void> {
if (entry.jsonPayload?.slack) {
return entry.jsonPayload.slack;
}
Expand Down
14 changes: 3 additions & 11 deletions tsconfig.json
@@ -1,18 +1,10 @@
{
"extends": "@tsconfig/node10/tsconfig.json",
"compilerOptions": {
"module": "es2020",
"declaration": true,
"noImplicitAny": false,
"importHelpers": true,
"removeComments": true,
"noLib": false,
"moduleResolution": "node",
"target": "es2015",
"sourceMap": false,
"outDir": "./dist",
"rootDir": "./src",
"esModuleInterop": true,
"skipLibCheck": true
"declaration": true,
"sourceMap": true
},
"include": ["src/**/*"],
"exclude": ["node_modules", "**/*.spec.ts"]
Expand Down
17 changes: 17 additions & 0 deletions yarn.lock
Expand Up @@ -645,6 +645,11 @@
resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82"
integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==

"@tsconfig/node10@^1.0.8":
version "1.0.8"
resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9"
integrity sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==

"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14":
version "7.1.15"
resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.15.tgz#2ccfb1ad55a02c83f8e0ad327cbc332f55eb1024"
Expand Down Expand Up @@ -4252,6 +4257,13 @@ tr46@^2.1.0:
dependencies:
punycode "^2.1.1"

ts-invariant@^0.9.3:
version "0.9.3"
resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.9.3.tgz#4b41e0a80c2530a56ce4b8fd4e14183aaac0efa8"
integrity sha512-HinBlTbFslQI0OHP07JLsSXPibSegec6r9ai5xxq/qHYCsIQbzpymLpDhAUsnXcSrDEcd0L62L8vsOEdzM0qlA==
dependencies:
tslib "^2.1.0"

ts-jest@^27.0.5:
version "27.0.5"
resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-27.0.5.tgz#0b0604e2271167ec43c12a69770f0bb65ad1b750"
Expand Down Expand Up @@ -4281,6 +4293,11 @@ tslib@^1.8.1, tslib@^1.9.0:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==

tslib@^2.1.0:
version "2.3.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01"
integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==

tsutils@^3.21.0:
version "3.21.0"
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
Expand Down

0 comments on commit e3cd75d

Please sign in to comment.