Skip to content

chore(dev): added unused import rule to eslint #392

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 25, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
@@ -12,8 +12,17 @@ module.exports = {
sourceType: 'module'
},
ignorePatterns: ['*.js', '**/dist/**'],
plugins: ['eslint-plugin-import', 'eslint-plugin-jsdoc', '@typescript-eslint'],
plugins: [
'eslint-plugin-import',
'eslint-plugin-jsdoc',
'@typescript-eslint',
'eslint-plugin-react',
'unused-imports'
],
rules: {
'react/jsx-uses-react': 'error',
'react/jsx-uses-vars': 'error',
'unused-imports/no-unused-imports': 'error',
'@typescript-eslint/consistent-type-definitions': 'error',
'@typescript-eslint/member-delimiter-style': [
'error',
2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -68,6 +68,8 @@
"eslint-import-resolver-node": "^0.3.6",
"eslint-plugin-import": "^2.25.4",
"eslint-plugin-jsdoc": "37.7.0",
"eslint-plugin-react": "^7.28.0",
"eslint-plugin-unused-imports": "^2.0.0",
"jest": "^27.4.7",
"jest-dev-server": "^6.0.3",
"mkdirp": "^1.0.4",
2 changes: 1 addition & 1 deletion packages/board/src/chat/chat.ts
Original file line number Diff line number Diff line change
@@ -35,6 +35,6 @@ export class Webchat {
}

public async destroy() {
this.socket.disconnect()
await this.socket.disconnect()
}
}
2 changes: 1 addition & 1 deletion packages/board/src/chat/conversation/system.ts
Original file line number Diff line number Diff line change
@@ -26,7 +26,7 @@ export class WebchatConversation extends WebchatSystem {
if (!conversation) {
conversation = await this.socket.createConversation()
} else {
this.socket.switchConversation(conversation.id)
await this.socket.switchConversation(conversation.id)
}

this.storage.set(STORAGE_ID, conversation.id)
2 changes: 1 addition & 1 deletion packages/board/src/chat/user/events.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Emitter, uuid } from '@botpress/messaging-base'
import { Emitter } from '@botpress/messaging-base'
import { UserCredentials } from '@botpress/messaging-socket'

export enum UserEvents {
1 change: 0 additions & 1 deletion packages/board/src/chat/user/system.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import { User, uuid } from '@botpress/messaging-base'
import { MessagingSocket, UserCredentials } from '@botpress/messaging-socket'
import { WebchatSystem } from '../base/system'
import { WebchatStorage } from '../storage/system'
2 changes: 1 addition & 1 deletion packages/channels/src/base/stream.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import _ from 'lodash'
import { ChannelContext, IndexChoiceOption } from './context'
import { ChannelContext } from './context'
import { ChannelRenderer } from './renderer'
import { ChannelSender } from './sender'
import { ChannelSendEvent, ChannelService } from './service'
1 change: 0 additions & 1 deletion packages/channels/src/slack/api.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import {
AckFn,
ButtonAction,
ReceiverEvent,
RespondFn,
1 change: 0 additions & 1 deletion packages/channels/src/slack/renderers/carousel.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import { Button } from '@slack/bolt'
import _ from 'lodash'
import { v4 as uuidv4 } from 'uuid'
import { CarouselContext, CarouselRenderer } from '../../base/renderers/carousel'
import { ActionOpenURL, ActionPostback, ActionSaySomething, CardContent } from '../../content/types'
2 changes: 1 addition & 1 deletion packages/channels/src/teams/renderers/dropdown.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ActivityTypes, CardFactory } from 'botbuilder'
import { CardFactory } from 'botbuilder'
import { ChannelRenderer } from '../../base/renderer'
import { TeamsContext } from '../context'
import { QUICK_REPLY_PREFIX } from './choices'
1 change: 0 additions & 1 deletion packages/channels/src/telegram/stream.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import _ from 'lodash'
import { ChannelContext } from '../base/context'
import { CardToCarouselRenderer } from '../base/renderers/card'
import { DropdownToChoicesRenderer } from '../base/renderers/dropdown'
2 changes: 1 addition & 1 deletion packages/client/test/e2e/client.test.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { v4 as uuid, validate as validateUuid } from 'uuid'
import { Conversation, Message, MessagingChannel, MessagingClient, SyncRequest, SyncWebhook, User } from '../../src'
import { Conversation, Message, MessagingChannel, MessagingClient, SyncWebhook, User } from '../../src'

const FAKE_UUID = uuid()
const FAKE_CLIENT_ID = uuid()
1 change: 0 additions & 1 deletion packages/server/src/user-tokens/service.ts
Original file line number Diff line number Diff line change
@@ -10,7 +10,6 @@ import {
} from '@botpress/messaging-engine'
import crypto from 'crypto'
import { validate as validateUuid, v4 as uuidv4 } from 'uuid'
import yn from 'yn'
import { UserService } from '../users/service'
import { UserTokenTable } from './table'
import { UserToken } from './types'
6 changes: 2 additions & 4 deletions packages/server/test/security/api.test.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
import { Conversation, Endpoint, Message, SyncRequest, SyncResult, User } from '@botpress/messaging-base'
import axios, { AxiosError, AxiosRequestConfig, Method } from 'axios'
import _ from 'lodash'
import querystring from 'querystring'
import { Conversation, Endpoint, Message, SyncResult, User } from '@botpress/messaging-base'
import axios, { AxiosError, AxiosRequestConfig } from 'axios'
import { v4 as uuid } from 'uuid'
import { randStr } from '../integration/utils'
import froth from './mocha-froth'
3 changes: 0 additions & 3 deletions packages/server/test/unit/sync.test.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import { DatabaseService } from '@botpress/messaging-engine'
import cloneDeep from 'lodash/cloneDeep'

import { ChannelService } from '../../src/channels/service'
import { SyncApi } from '../../src/sync/api'

93 changes: 87 additions & 6 deletions yarn.lock
Original file line number Diff line number Diff line change
@@ -2367,6 +2367,8 @@ __metadata:
eslint-import-resolver-node: ^0.3.6
eslint-plugin-import: ^2.25.4
eslint-plugin-jsdoc: 37.7.0
eslint-plugin-react: ^7.28.0
eslint-plugin-unused-imports: ^2.0.0
jest: ^27.4.7
jest-dev-server: ^6.0.3
mkdirp: ^1.0.4
@@ -7460,7 +7462,7 @@ __metadata:
languageName: node
linkType: hard

"array-includes@npm:^3.0.3, array-includes@npm:^3.1.4":
"array-includes@npm:^3.0.3, array-includes@npm:^3.1.3, array-includes@npm:^3.1.4":
version: 3.1.4
resolution: "array-includes@npm:3.1.4"
dependencies:
@@ -7514,7 +7516,7 @@ __metadata:
languageName: node
linkType: hard

"array.prototype.flatmap@npm:^1.2.1":
"array.prototype.flatmap@npm:^1.2.1, array.prototype.flatmap@npm:^1.2.5":
version: 1.2.5
resolution: "array.prototype.flatmap@npm:1.2.5"
dependencies:
@@ -11229,6 +11231,45 @@ __metadata:
languageName: node
linkType: hard

"eslint-plugin-react@npm:^7.28.0":
version: 7.28.0
resolution: "eslint-plugin-react@npm:7.28.0"
dependencies:
array-includes: ^3.1.4
array.prototype.flatmap: ^1.2.5
doctrine: ^2.1.0
estraverse: ^5.3.0
jsx-ast-utils: ^2.4.1 || ^3.0.0
minimatch: ^3.0.4
object.entries: ^1.1.5
object.fromentries: ^2.0.5
object.hasown: ^1.1.0
object.values: ^1.1.5
prop-types: ^15.7.2
resolve: ^2.0.0-next.3
semver: ^6.3.0
string.prototype.matchall: ^4.0.6
peerDependencies:
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
checksum: 90293d0fd53bb1f735ffd32141cdd211fb1120c9f7bbe5342f9e923261a39e52a2b2575d4e46c9cd77d257f42db4a99b8b339689fc5b5c1c26048929f69b1784
languageName: node
linkType: hard

"eslint-plugin-unused-imports@npm:^2.0.0":
version: 2.0.0
resolution: "eslint-plugin-unused-imports@npm:2.0.0"
dependencies:
eslint-rule-composer: ^0.3.0
peerDependencies:
"@typescript-eslint/eslint-plugin": ^5.0.0
eslint: ^8.0.0
peerDependenciesMeta:
"@typescript-eslint/eslint-plugin":
optional: true
checksum: 8aa1e03e75da2a62a354065e0cb8fe370118c6f8d9720a32fe8c1da937de6adb81a4fed7d0d391d115ac9453b49029fb19f970d180a2cf3dba451fd4c20f0dc4
languageName: node
linkType: hard

"eslint-rule-composer@npm:^0.3.0":
version: 0.3.0
resolution: "eslint-rule-composer@npm:0.3.0"
@@ -11396,7 +11437,7 @@ __metadata:
languageName: node
linkType: hard

"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0":
"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0, estraverse@npm:^5.3.0":
version: 5.3.0
resolution: "estraverse@npm:5.3.0"
checksum: 072780882dc8416ad144f8fe199628d2b3e7bbc9989d9ed43795d2c90309a2047e6bc5979d7e2322a341163d22cfad9e21f4110597fe487519697389497e4e2b
@@ -15437,6 +15478,16 @@ __metadata:
languageName: node
linkType: hard

"jsx-ast-utils@npm:^2.4.1 || ^3.0.0":
version: 3.2.1
resolution: "jsx-ast-utils@npm:3.2.1"
dependencies:
array-includes: ^3.1.3
object.assign: ^4.1.2
checksum: dcee22e6382ee5a6bd4187333a44b6420d9d079838119a07055d6e88d137dd0afadc97a2246152b0b65006bd5fc393112dc0cef01956a01a66c1713913953c66
languageName: node
linkType: hard

"junk@npm:^3.1.0":
version: 3.1.0
resolution: "junk@npm:3.1.0"
@@ -17353,7 +17404,7 @@ __metadata:
languageName: node
linkType: hard

"object.entries@npm:^1.1.0":
"object.entries@npm:^1.1.0, object.entries@npm:^1.1.5":
version: 1.1.5
resolution: "object.entries@npm:1.1.5"
dependencies:
@@ -17364,7 +17415,7 @@ __metadata:
languageName: node
linkType: hard

"object.fromentries@npm:^2.0.0 || ^1.0.0":
"object.fromentries@npm:^2.0.0 || ^1.0.0, object.fromentries@npm:^2.0.5":
version: 2.0.5
resolution: "object.fromentries@npm:2.0.5"
dependencies:
@@ -17386,6 +17437,16 @@ __metadata:
languageName: node
linkType: hard

"object.hasown@npm:^1.1.0":
version: 1.1.0
resolution: "object.hasown@npm:1.1.0"
dependencies:
define-properties: ^1.1.3
es-abstract: ^1.19.1
checksum: 5c5d0b1b793514609f7a635f3110fbd346e142c9afd2485b802775e1ef6c90e48ff6e8e8744927933370ba30964e21af9c5fcf782b47f34d650aa6b277565330
languageName: node
linkType: hard

"object.pick@npm:^1.3.0":
version: 1.3.0
resolution: "object.pick@npm:1.3.0"
@@ -20258,6 +20319,16 @@ __metadata:
languageName: node
linkType: hard

"resolve@npm:^2.0.0-next.3":
version: 2.0.0-next.3
resolution: "resolve@npm:2.0.0-next.3"
dependencies:
is-core-module: ^2.2.0
path-parse: ^1.0.6
checksum: f34b3b93ada77d64a6d590c06a83e198f3a827624c4ec972260905fa6c4d612164fbf0200d16d2beefea4ad1755b001f4a9a1293d8fc2322a8f7d6bf692c4ff5
languageName: node
linkType: hard

"resolve@patch:resolve@^1.0.0#~builtin<compat/resolve>":
version: 1.21.0
resolution: "resolve@patch:resolve@npm%3A1.21.0#~builtin<compat/resolve>::version=1.21.0&hash=07638b"
@@ -20281,6 +20352,16 @@ __metadata:
languageName: node
linkType: hard

"resolve@patch:resolve@^2.0.0-next.3#~builtin<compat/resolve>":
version: 2.0.0-next.3
resolution: "resolve@patch:resolve@npm%3A2.0.0-next.3#~builtin<compat/resolve>::version=2.0.0-next.3&hash=07638b"
dependencies:
is-core-module: ^2.2.0
path-parse: ^1.0.6
checksum: 21684b4d99a4877337cdbd5484311c811b3e8910edb5d868eec85c6e6550b0f570d911f9a384f9e176172d6713f2715bd0b0887fa512cb8c6aeece018de6a9f8
languageName: node
linkType: hard

"restore-cursor@npm:^3.1.0":
version: 3.1.0
resolution: "restore-cursor@npm:3.1.0"
@@ -21505,7 +21586,7 @@ __metadata:
languageName: node
linkType: hard

"string.prototype.matchall@npm:^4.0.0 || ^3.0.1":
"string.prototype.matchall@npm:^4.0.0 || ^3.0.1, string.prototype.matchall@npm:^4.0.6":
version: 4.0.6
resolution: "string.prototype.matchall@npm:4.0.6"
dependencies: