Skip to content

Commit fa252a0

Browse files
committedMay 11, 2020
Update code tools
1 parent c04cc26 commit fa252a0

9 files changed

+2491
-1716
lines changed
 

‎.npmignore

+1-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ node_modules/
22
yarn-error.log
33
yarn.lock
44

5-
.editorconfig
65
test/
76
coverage/
8-
.travis.yml
7+
tsconfig.json

‎index.d.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ export declare class Emitter<Events extends EventsMap> {
3838
* @param cb The listener function.
3939
* @returns Unbind listener from event.
4040
*/
41-
on <K extends keyof Events>(this: this, event: K, cb: Events[K]): Unsubscribe
41+
on<K extends keyof Events> (this: this, event: K, cb: Events[K]): Unsubscribe
4242

4343
/**
4444
* Calls each of the listeners registered for a given event.
@@ -50,7 +50,7 @@ export declare class Emitter<Events extends EventsMap> {
5050
* @param event The event name.
5151
* @param args The arguments for listeners.
5252
*/
53-
emit <K extends keyof Events>(
53+
emit<K extends keyof Events> (
5454
this: this,
5555
event: K,
5656
...args: Parameters<Events[K]>

‎index.js

+3-5
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
let createNanoEvents = () => ({
2-
events: { },
2+
events: {},
33
emit (event, ...args) {
44
for (let i of this.events[event] || []) {
55
i(...args)
66
}
77
},
88
on (event, cb) {
9-
(this.events[event] = this.events[event] || []).push(cb)
10-
return () => (
11-
this.events[event] = this.events[event].filter(i => i !== cb)
12-
)
9+
;(this.events[event] = this.events[event] || []).push(cb)
10+
return () => (this.events[event] = this.events[event].filter(i => i !== cb))
1311
}
1412
})
1513

‎package.json

+31-19
Original file line numberDiff line numberDiff line change
@@ -26,30 +26,35 @@
2626
},
2727
"sideEffects": false,
2828
"devDependencies": {
29-
"@logux/eslint-config": "^36.1.1",
30-
"@logux/sharec-config": "^0.6.2",
31-
"@size-limit/dual-publish": "^4.4.1",
32-
"@size-limit/preset-small-lib": "^4.4.1",
33-
"@types/jest": "^25.1.4",
34-
"check-dts": "^0.1.4",
35-
"dual-publish": "^0.8.5",
36-
"eslint": "^6.8.0",
29+
"@logux/eslint-config": "^38.0.0",
30+
"@logux/sharec-config": "^0.7.2",
31+
"@size-limit/dual-publish": "^4.5.0",
32+
"@size-limit/preset-small-lib": "^4.5.0",
33+
"@types/jest": "^25.2.1",
34+
"@typescript-eslint/eslint-plugin": "^2.32.0",
35+
"@typescript-eslint/parser": "^2.32.0",
36+
"check-dts": "^0.3.0",
37+
"dual-publish": "^0.10.2",
38+
"eslint": "^7.0.0",
3739
"eslint-ci": "^1.0.0",
3840
"eslint-config-standard": "^14.1.1",
39-
"eslint-plugin-import": "^2.20.1",
40-
"eslint-plugin-jest": "^23.8.2",
41-
"eslint-plugin-node": "^11.0.0",
41+
"eslint-plugin-import": "^2.20.2",
42+
"eslint-plugin-jest": "^23.10.0",
43+
"eslint-plugin-node": "^11.1.0",
4244
"eslint-plugin-prefer-let": "^1.0.1",
45+
"eslint-plugin-prettierx": "^0.11.0",
4346
"eslint-plugin-promise": "^4.2.1",
4447
"eslint-plugin-security": "^1.4.0",
4548
"eslint-plugin-standard": "^4.0.1",
46-
"eslint-plugin-unicorn": "^17.2.0",
47-
"husky": "^4.2.3",
48-
"jest": "^25.1.0",
49+
"eslint-plugin-unicorn": "^19.0.1",
50+
"husky": "^4.2.5",
51+
"jest": "^26.0.1",
4952
"jest-ci": "^0.1.1",
50-
"lint-staged": "^10.0.8",
53+
"lint-staged": "^10.2.2",
5154
"rimraf": "^3.0.2",
52-
"size-limit": "^4.4.1",
55+
"size-limit": "^4.5.0",
56+
"ts-jest": "^25.5.1",
57+
"typescript": "^3.8.3",
5358
"yaspeller-ci": "^1.0.2"
5459
},
5560
"size-limit": [
@@ -59,6 +64,7 @@
5964
}
6065
],
6166
"jest": {
67+
"preset": "ts-jest",
6268
"testEnvironment": "node",
6369
"coverageThreshold": {
6470
"global": {
@@ -73,11 +79,17 @@
7379
},
7480
"lint-staged": {
7581
"*.md": "yaspeller",
76-
"*.js": "eslint"
82+
"*.js": "eslint --fix"
7783
},
7884
"eslintConfig": {
79-
"extends": "@logux/eslint-config"
85+
"extends": "@logux/eslint-config/ts",
86+
"rules": {
87+
"@typescript-eslint/no-explicit-any": "off"
88+
}
8089
},
90+
"eslintIgnore": [
91+
"**/errors.ts"
92+
],
8193
"yaspeller": {
8294
"lang": "en",
8395
"ignoreCapitalization": true,
@@ -101,6 +113,6 @@
101113
},
102114
"sharec": {
103115
"config": "@logux/sharec-config",
104-
"version": "0.6.2"
116+
"version": "0.7.2"
105117
}
106118
}

‎test/errors.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { createNanoEvents } from '..'
22

33
interface Events {
4-
set: (a: string, b: number) => void,
5-
add: (c: number) => void,
4+
set: (a: string, b: number) => void
5+
add: (c: number) => void
66
tick: () => void
77
}
88

‎test/index.test.js ‎test/index.test.ts

+9-6
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
let { createNanoEvents } = require('../')
1+
import { createNanoEvents } from '../'
22

33
it('is empty from the beggining', () => {
44
let ee = createNanoEvents()
5-
expect(ee.events).toEqual({ })
5+
expect(ee.events).toEqual({})
66
})
77

88
it('adds listeners', () => {
@@ -19,7 +19,7 @@ it('adds listeners', () => {
1919

2020
it('calls listener', () => {
2121
let ee = createNanoEvents()
22-
let calls = []
22+
let calls: number[][] = []
2323
ee.on('event', (...args) => {
2424
calls.push(args)
2525
})
@@ -36,12 +36,12 @@ it('calls listener', () => {
3636
it('unbinds listener', () => {
3737
let ee = createNanoEvents()
3838

39-
let calls1 = []
39+
let calls1: number[] = []
4040
let unbind = ee.on('event', a => {
4141
calls1.push(a)
4242
})
4343

44-
let calls2 = []
44+
let calls2: number[] = []
4545
ee.on('event', a => {
4646
calls2.push(a)
4747
})
@@ -75,7 +75,7 @@ it('removes event on no listeners', () => {
7575
it('removes listener during event', () => {
7676
let ee = createNanoEvents()
7777

78-
let calls = []
78+
let calls: number[] = []
7979
let remove1 = ee.on('event', () => {
8080
remove1()
8181
calls.push(1)
@@ -91,7 +91,10 @@ it('removes listener during event', () => {
9191
it('allows to use arrow function to bind a context', () => {
9292
let ee = createNanoEvents()
9393
let app = {
94+
check: ['a'],
95+
9496
value: 'test',
97+
9598
getListener () {
9699
return () => {
97100
this.check = this.value.split('')

‎test/types.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { createNanoEvents } from '..'
22

33
interface Events {
4-
set: (a: string, b: number) => void,
5-
add: (c: number) => void,
4+
set: (a: string, b: number) => void
5+
add: (c: number) => void
66
tick: () => void
77
}
88

@@ -20,7 +20,7 @@ ee.emit('add', 2)
2020
ee.emit('tick')
2121

2222
ee.events = {
23-
'set': [
23+
set: [
2424
a => {
2525
fn(a)
2626
}

‎tsconfig.json

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"compilerOptions": {
3+
"target": "esnext",
4+
"module": "commonjs",
5+
"allowJs": true,
6+
"strict": true,
7+
"noEmit": true
8+
},
9+
"exclude": [
10+
"**/errors.ts"
11+
]
12+
}

‎yarn.lock

+2,428-1,677
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)
Please sign in to comment.