Skip to content

Commit 285c28d

Browse files
committed
refactor: migrate to TS with tsdx
1 parent ce6cb74 commit 285c28d

24 files changed

+4423
-1204
lines changed

.babelrc

-13
This file was deleted.

.travis.yml

-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
language: node_js
22
node_js:
33
- '10'
4-
- '11'
54

65
cache: npm
76

jest.config.js

-3
This file was deleted.

package-lock.json

+4,263-807
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+27-21
Original file line numberDiff line numberDiff line change
@@ -12,40 +12,46 @@
1212
],
1313
"repository": "z0al/unread",
1414
"license": "MIT",
15-
"author": "Ahmed T. Ali <[email protected]>",
15+
"author": "Ahmed T. Ali",
1616
"files": [
17-
"dist",
18-
"src/index.d.ts"
17+
"dist"
1918
],
2019
"main": "dist/index.js",
21-
"module": "dist/index.esm.js",
22-
"types": "src/index.d.ts",
23-
"source": "src/index.js",
20+
"module": "dist/unread.esm.js",
21+
"types": "dist/index.d.ts",
2422
"scripts": {
25-
"build": "rimraf ./dist && rollup -c",
26-
"dev": "rollup -c -w",
23+
"build": "rimraf -rf ./dist && tsdx build",
2724
"prepublishOnly": "npm run build",
28-
"test": "jest"
25+
"test": "tsdx test"
2926
},
3027
"dependencies": {
3128
"saxes": "^3.1.11"
3229
},
3330
"devDependencies": {
34-
"@babel/plugin-proposal-class-properties": "^7.3.4",
35-
"@babel/preset-env": "^7.3.4",
36-
"@types/jest": "^24.0.11",
31+
"@types/globby": "^9.1.0",
32+
"@types/jest": "^24.0.15",
3733
"@types/sax": "^1.2.0",
3834
"globby": "^9.0.0",
39-
"jest": "^24.3.1",
35+
"husky": "^3.0.0",
36+
"jest": "^24.8.0",
37+
"prettier": "^1.18.2",
38+
"pretty-quick": "^1.11.1",
4039
"rimraf": "^2.6.3",
41-
"rollup": "^1.6.0",
42-
"rollup-plugin-babel": "^4.3.2",
43-
"rollup-plugin-commonjs": "^9.2.1",
44-
"rollup-plugin-node-resolve": "^4.0.1",
45-
"rollup-plugin-terser": "^4.0.4",
46-
"semantic-release": "^15.13.3"
40+
"semantic-release": "^15.13.3",
41+
"ts-jest": "^24.0.2",
42+
"tsdx": "^0.7.2",
43+
"tslib": "^1.10.0",
44+
"typescript": "^3.5.3"
4745
},
48-
"engines": {
49-
"node": ">=10"
46+
"prettier": {
47+
"printWidth": 72,
48+
"semi": true,
49+
"singleQuote": true,
50+
"useTabs": true
51+
},
52+
"husky": {
53+
"hooks": {
54+
"pre-commit": "pretty-quick --staged"
55+
}
5056
}
5157
}

rollup.config.js

-29
This file was deleted.

src/index.d.ts

-107
This file was deleted.

src/index.js src/index.ts

-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
// @ts-check
2-
31
// Ours
42
import parse from './parse';
53
import RSSParser from './parser/rss';

src/parse.js src/parse.ts

+8-11
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,17 @@
1-
// @ts-check
2-
31
// Ours
42
import RSS from './parser/rss';
3+
import { Feed, Item } from './types';
4+
5+
interface ParserResult {
6+
feed?: Feed;
7+
items: Item[];
8+
}
59

610
/**
711
* A simple promise interface for the parsing RSS/Atom feeds.
8-
*
9-
* @typedef ParserResult
10-
* @property {import('./parser/types').Item} feed
11-
* @property {import('./parser/types').Item[]} items
12-
*
13-
* @param {string} text
14-
* @returns {Promise<ParserResult>}
1512
*/
16-
async function parse(text) {
17-
const result = { feed: null, items: [] };
13+
async function parse(text: string) {
14+
const result: ParserResult = { items: [] };
1815

1916
const parser = new RSS();
2017

0 commit comments

Comments
 (0)