Skip to content

Commit 3a9aa01

Browse files
committed
1.1.0
1 parent 7b1a32e commit 3a9aa01

File tree

8 files changed

+725
-892
lines changed

8 files changed

+725
-892
lines changed

.eslintrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"parserOptions": {
77
"ecmaVersion": 2018,
88
"sourceType": "module",
9-
"project": "./tsconfig.tests.json"
9+
"project": "./tsconfig.lint.json"
1010
},
1111
"plugins": [
1212
"import"

package-lock.json

Lines changed: 702 additions & 834 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "trello.js",
3-
"version": "1.0.3",
3+
"version": "1.1.0",
44
"description": "Simple Trello API Client",
55
"author": "Vladislav Tupikin <[email protected]>",
66
"license": "MIT",
@@ -12,9 +12,7 @@
1212
"doc": "typedoc --name \"Trello.js - API library\" --out docs ./src/index.ts --plugin typedoc-plugin-extras --footerDate --footerTime --footerTypedocVersion --favicon https://svgshare.com/i/bQb.svg",
1313
"lint": "eslint src tests --ext .ts",
1414
"lint:fix": "npm run lint -- --fix",
15-
"test": "jest tests",
16-
"test:verbose": "npm run test -- --verbose",
17-
"test:coverage": "npm run test -- --coverage"
15+
"test": "jest tests"
1816
},
1917
"jest": {
2018
"preset": "ts-jest",
@@ -31,23 +29,22 @@
3129
],
3230
"devDependencies": {
3331
"@types/dotenv": "^8.2.0",
34-
"@types/jest": "^27.0.2",
35-
"@typescript-eslint/eslint-plugin": "^5.1.0",
36-
"@typescript-eslint/parser": "^5.1.0",
32+
"@types/jest": "^27.0.3",
33+
"@typescript-eslint/eslint-plugin": "^5.6.0",
34+
"@typescript-eslint/parser": "^5.6.0",
3735
"dotenv": "^10.0.0",
38-
"eslint": "^8.0.1",
39-
"eslint-config-airbnb": "^18.2.1",
40-
"eslint-config-airbnb-typescript": "^14.0.1",
36+
"eslint": "^8.4.1",
37+
"eslint-config-airbnb": "^19.0.2",
38+
"eslint-config-airbnb-typescript": "^16.1.0",
4139
"eslint-import-resolver-typescript": "^2.5.0",
42-
"eslint-plugin-import": "^2.25.2",
43-
"jest": "^27.3.1",
44-
"ts-jest": "^27.0.7",
45-
"typedoc": "^0.22.6",
40+
"eslint-plugin-import": "^2.25.3",
41+
"jest": "^27.4.3",
42+
"ts-jest": "^27.1.1",
43+
"typedoc": "^0.22.10",
4644
"typedoc-plugin-extras": "^2.2.1",
47-
"typescript": "^4.4.4"
45+
"typescript": "^4.5.2"
4846
},
4947
"dependencies": {
50-
"axios": "^0.23.0",
51-
"telemetry.trello.js": "<2"
48+
"axios": "^0.24.0"
5249
}
5350
}

src/clients/baseClient.ts

Lines changed: 3 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,12 @@
11
import axios, { AxiosInstance } from 'axios';
2-
import { Telemetry, TelemetryClient } from 'telemetry.trello.js';
32
import { Client } from './client';
43
import { Callback, RequestConfig } from '../types';
54
import { Config } from '../config';
65

76
export class BaseClient implements Client {
87
private instance: AxiosInstance;
9-
private telemetryClient: TelemetryClient;
108

119
constructor(private config: Config) {
12-
this.telemetryClient = new TelemetryClient(config.telemetry);
1310
this.instance = axios.create({
1411
paramsSerializer: this.paramSerializer.bind(this),
1512
...config.baseRequestConfig,
@@ -56,10 +53,9 @@ export class BaseClient implements Client {
5653
.replace(/%5D/gi, ']');
5754
}
5855

59-
async sendRequest<T>(requestConfig: RequestConfig, callback?: Callback<T> | undefined, telemetryData?: Partial<Telemetry>): Promise<T>;
60-
async sendRequest<T>(requestConfig: RequestConfig, callback: Callback<T>, telemetryData?: Partial<Telemetry>): Promise<void>;
61-
async sendRequest<T>(rawRequestConfig: RequestConfig, callback?: Callback<T>, telemetryData?: Partial<Telemetry>): Promise<T | void> {
62-
const startDateTime = new Date();
56+
async sendRequest<T>(requestConfig: RequestConfig, callback?: Callback<T> | undefined, telemetryData?: any): Promise<T>;
57+
async sendRequest<T>(requestConfig: RequestConfig, callback: Callback<T>, telemetryData?: any): Promise<void>;
58+
async sendRequest<T>(rawRequestConfig: RequestConfig, callback?: Callback<T>): Promise<T | void> {
6359
const requestConfig: RequestConfig = {
6460
...rawRequestConfig,
6561
params: {
@@ -69,23 +65,6 @@ export class BaseClient implements Client {
6965
},
7066
};
7167

72-
const telemetry: Telemetry = {
73-
authenticated: !!(this.config.key && this.config.token),
74-
bodyExists: !!requestConfig.data,
75-
callbackUsed: !!callback,
76-
libVersion: '1.0.3',
77-
libVersionHash: '55f9c405bd87ba23896f34011ffce8da',
78-
methodName: telemetryData?.methodName || 'sendRequest',
79-
onErrorMiddlewareUser: !!this.config.middlewares?.onError,
80-
onResponseMiddlewareUsed: !!this.config.middlewares?.onResponse,
81-
queryExists: !!requestConfig.params,
82-
requestStartTime: startDateTime,
83-
requestEndTime: new Date(),
84-
requestStatusCode: 0,
85-
timeout: this.config.baseRequestConfig?.timeout || this.instance.defaults.timeout || -1,
86-
...telemetryData,
87-
};
88-
8968
try {
9069
const response = await this.instance.request<T>(requestConfig);
9170

@@ -96,8 +75,6 @@ export class BaseClient implements Client {
9675

9776
this.config.middlewares?.onResponse?.(response.data);
9877

99-
telemetry.requestStatusCode = response.status;
100-
10178
return responseHandler(response.data);
10279
} catch (e: any) {
10380
const callbackErrorHandler = callback && ((error: Config.Error) => callback(error));
@@ -109,13 +86,7 @@ export class BaseClient implements Client {
10986

11087
this.config.middlewares?.onError?.(e);
11188

112-
telemetry.requestStatusCode = e.response?.status ?? 0;
113-
11489
return errorHandler(e);
115-
} finally {
116-
telemetry.requestEndTime = new Date();
117-
118-
this.telemetryClient.sendTelemetry(telemetry);
11990
}
12091
}
12192
}

src/clients/client.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
import { Telemetry } from 'telemetry.trello.js';
21
import {
32
Callback,
43
RequestConfig,
54
} from '../types';
65

76
export interface Client {
8-
sendRequest<T>(requestConfig: RequestConfig, callback?: Callback<T> | undefined, telemetryData?: Partial<Telemetry>): Promise<T>;
9-
sendRequest<T>(requestConfig: RequestConfig, callback: Callback<T>, telemetryData?: Partial<Telemetry>): Promise<void>;
7+
sendRequest<T>(requestConfig: RequestConfig, callback?: Callback<T> | undefined, telemetryData?: any): Promise<T>;
8+
sendRequest<T>(requestConfig: RequestConfig, callback: Callback<T>, telemetryData?: any): Promise<void>;
109
}

src/config.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
11
import { AxiosError, AxiosRequestConfig } from 'axios';
2-
import { TelemetryConfig } from 'telemetry.trello.js';
32

43
export interface Config {
54
key: string;
65
token: string;
76
baseRequestConfig?: Config.BaseRequestConfig;
87
middlewares?: Config.Middlewares;
8+
/** @deprecated */
99
telemetry?: Config.Telemetry;
1010
}
1111

1212
export namespace Config {
1313
export type Error = AxiosError;
1414
export type BaseRequestConfig = AxiosRequestConfig;
15-
export type Telemetry = boolean | TelemetryConfig;
15+
/** @deprecated */
16+
export type Telemetry = any;
1617

1718
export interface Middlewares {
1819
onError?: Config.Middlewares.OnErrorHandler;

tests/setup.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
11
import * as dotenv from 'dotenv';
2-
import { TelemetryClient } from 'telemetry.trello.js';
32

43
dotenv.config();
5-
6-
TelemetryClient.prototype.sendTelemetry = () => Promise.resolve();
File renamed without changes.

0 commit comments

Comments
 (0)