feedsub 0.7.8 → 0.7.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/feedsub.d.ts +8 -8
- package/dist/feedsub.js +37 -27
- package/dist/feedsub.js.map +1 -1
- package/package.json +10 -7
package/README.md
CHANGED
|
@@ -4,7 +4,8 @@ FeedSub subscribes to a remote RSS/Atom/JSON feed and notifies you of any new it
|
|
|
4
4
|
|
|
5
5
|
It works by checking the feed every once in a while, comparing the date of the document via a conditional GET if supported. Otherwise it looks for a date tag in the feed. If it's the same as the last date, it stops downloading it and parsing the xml/json. If it's an updated document, then it looks through it top to bottom taking note of all the new items. Once it finds something it has already read, it stops downloading and parsing the document.
|
|
6
6
|
|
|
7
|
-
](https://www.npmjs.com/package/feedsub)
|
|
8
|
+
[](https://github.com/fent/node-feedsub/actions/workflows/nodejs.yml)
|
|
8
9
|
[](https://codecov.io/gh/fent/node-feedsub)
|
|
9
10
|
|
|
10
11
|
# Usage
|
package/dist/feedsub.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { FeedItem } from 'feedme';
|
|
3
|
-
import NewsEmitter from 'newsemitter';
|
|
1
|
+
import { type FeedItem } from 'feedme';
|
|
4
2
|
import miniget from 'miniget';
|
|
3
|
+
import NewsEmitter from 'newsemitter';
|
|
4
|
+
import { TypedEmitter } from 'tiny-typed-emitter';
|
|
5
5
|
export interface Options {
|
|
6
6
|
interval?: number;
|
|
7
7
|
forceInterval?: boolean;
|
|
@@ -16,11 +16,11 @@ export interface Options {
|
|
|
16
16
|
daysToSkip?: string[];
|
|
17
17
|
requestOpts?: miniget.Options;
|
|
18
18
|
}
|
|
19
|
-
export
|
|
19
|
+
export type DefaultOptions = Required<Options>;
|
|
20
20
|
interface FeedSubEvents {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
error: (err: Error) => void;
|
|
22
|
+
item: (item: FeedItem) => void;
|
|
23
|
+
items: (items: FeedItem[]) => void;
|
|
24
24
|
}
|
|
25
25
|
export { FeedItem } from 'feedme';
|
|
26
26
|
export default class FeedSub extends TypedEmitter<FeedSubEvents> {
|
|
@@ -31,7 +31,7 @@ export default class FeedSub extends TypedEmitter<FeedSubEvents> {
|
|
|
31
31
|
headers: Record<string, string>;
|
|
32
32
|
};
|
|
33
33
|
private _first;
|
|
34
|
-
private _intervalid
|
|
34
|
+
private _intervalid?;
|
|
35
35
|
/**
|
|
36
36
|
* @constructor
|
|
37
37
|
* @param {string} feed
|
package/dist/feedsub.js
CHANGED
|
@@ -3,14 +3,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const tiny_typed_emitter_1 = require("tiny-typed-emitter");
|
|
7
6
|
const feedme_1 = __importDefault(require("feedme"));
|
|
8
|
-
const newsemitter_1 = __importDefault(require("newsemitter"));
|
|
9
7
|
const miniget_1 = __importDefault(require("miniget"));
|
|
8
|
+
const newsemitter_1 = __importDefault(require("newsemitter"));
|
|
9
|
+
const tiny_typed_emitter_1 = require("tiny-typed-emitter");
|
|
10
10
|
const zlib_1 = __importDefault(require("zlib"));
|
|
11
11
|
// Used for the skipdays tag.
|
|
12
|
-
const DAYS = [
|
|
13
|
-
'
|
|
12
|
+
const DAYS = [
|
|
13
|
+
'sunday',
|
|
14
|
+
'monday',
|
|
15
|
+
'tuesday',
|
|
16
|
+
'wednesday',
|
|
17
|
+
'thursday',
|
|
18
|
+
'friday',
|
|
19
|
+
'saturday',
|
|
20
|
+
];
|
|
14
21
|
class FeedSub extends tiny_typed_emitter_1.TypedEmitter {
|
|
15
22
|
/**
|
|
16
23
|
* @constructor
|
|
@@ -39,15 +46,15 @@ class FeedSub extends tiny_typed_emitter_1.TypedEmitter {
|
|
|
39
46
|
maxHistory: this.options.maxHistory,
|
|
40
47
|
manageHistory: true,
|
|
41
48
|
identifier: (item) => {
|
|
42
|
-
|
|
49
|
+
const feedItem = item[0];
|
|
43
50
|
return [
|
|
44
51
|
feedItem.title,
|
|
45
52
|
feedItem.link,
|
|
46
53
|
feedItem.pubdate,
|
|
47
54
|
feedItem.published,
|
|
48
|
-
feedItem.updated
|
|
55
|
+
feedItem.updated,
|
|
49
56
|
].join(',');
|
|
50
|
-
}
|
|
57
|
+
},
|
|
51
58
|
});
|
|
52
59
|
this.news.addHistory('item', this.options.history);
|
|
53
60
|
this._first = this.news.history.get('item').size === 0;
|
|
@@ -69,7 +76,7 @@ class FeedSub extends tiny_typed_emitter_1.TypedEmitter {
|
|
|
69
76
|
*/
|
|
70
77
|
start(readOnStart) {
|
|
71
78
|
this.stop();
|
|
72
|
-
|
|
79
|
+
const ms = this.options.interval * 60000;
|
|
73
80
|
this._intervalid = setInterval(this.read.bind(this), ms);
|
|
74
81
|
if (readOnStart) {
|
|
75
82
|
this.read();
|
|
@@ -94,7 +101,7 @@ class FeedSub extends tiny_typed_emitter_1.TypedEmitter {
|
|
|
94
101
|
read(callback) {
|
|
95
102
|
let ended = false;
|
|
96
103
|
let req;
|
|
97
|
-
|
|
104
|
+
const items = [];
|
|
98
105
|
let newItems = [];
|
|
99
106
|
let sortOrder = 0;
|
|
100
107
|
const error = (err) => {
|
|
@@ -120,7 +127,9 @@ class FeedSub extends tiny_typed_emitter_1.TypedEmitter {
|
|
|
120
127
|
if (this._first && !this.options.emitOnStart) {
|
|
121
128
|
newItems = [];
|
|
122
129
|
}
|
|
123
|
-
newItems.forEach(item =>
|
|
130
|
+
newItems.forEach((item) => {
|
|
131
|
+
this.emit('item', item);
|
|
132
|
+
});
|
|
124
133
|
this.emit('items', newItems);
|
|
125
134
|
if (req) {
|
|
126
135
|
req.destroy();
|
|
@@ -134,17 +143,18 @@ class FeedSub extends tiny_typed_emitter_1.TypedEmitter {
|
|
|
134
143
|
const now = new Date();
|
|
135
144
|
const shouldSkip = () => {
|
|
136
145
|
return ((!this._first || !this.options.emitOnStart) &&
|
|
137
|
-
(this.options.hoursToSkip || this.options.daysToSkip)
|
|
138
|
-
this.options.hoursToSkip
|
|
139
|
-
|
|
140
|
-
this.options.daysToSkip
|
|
141
|
-
|
|
142
|
-
|
|
146
|
+
(this.options.hoursToSkip || this.options.daysToSkip) &&
|
|
147
|
+
((this.options.hoursToSkip &&
|
|
148
|
+
this.options.hoursToSkip.indexOf(now.getHours()) !== -1) ||
|
|
149
|
+
(this.options.daysToSkip &&
|
|
150
|
+
this.options.daysToSkip.some((day) => {
|
|
151
|
+
return day.toLowerCase() === DAYS[now.getDay()];
|
|
152
|
+
}))));
|
|
143
153
|
};
|
|
144
154
|
if (shouldSkip()) {
|
|
145
155
|
return success();
|
|
146
156
|
}
|
|
147
|
-
req = miniget_1.default(this.feed, this.getOpts);
|
|
157
|
+
req = (0, miniget_1.default)(this.feed, this.getOpts);
|
|
148
158
|
req.on('response', (res) => {
|
|
149
159
|
// Check if not modified code is sent back
|
|
150
160
|
// in this case, the body will be empty.
|
|
@@ -153,14 +163,15 @@ class FeedSub extends tiny_typed_emitter_1.TypedEmitter {
|
|
|
153
163
|
}
|
|
154
164
|
// Check headers for conditional get.
|
|
155
165
|
if (res.headers['last-modified']) {
|
|
156
|
-
this.getOpts.headers['If-Modified-Since'] =
|
|
166
|
+
this.getOpts.headers['If-Modified-Since'] =
|
|
167
|
+
res.headers['last-modified'];
|
|
157
168
|
}
|
|
158
169
|
if (res.headers.etag) {
|
|
159
170
|
this.getOpts.headers['If-None-Match'] = res.headers.etag;
|
|
160
171
|
}
|
|
161
172
|
// Save date.
|
|
162
173
|
let date;
|
|
163
|
-
|
|
174
|
+
const getdate = (text) => (date = text);
|
|
164
175
|
// Create feed parser.
|
|
165
176
|
const parser = new feedme_1.default();
|
|
166
177
|
parser.on('error', error);
|
|
@@ -184,8 +195,9 @@ class FeedSub extends tiny_typed_emitter_1.TypedEmitter {
|
|
|
184
195
|
// Listen for skipHours if enabled.
|
|
185
196
|
if (this.options.skipHours && !this.options.hoursToSkip) {
|
|
186
197
|
parser.once('skiphours', (data) => {
|
|
187
|
-
this.options.hoursToSkip =
|
|
188
|
-
|
|
198
|
+
this.options.hoursToSkip = []
|
|
199
|
+
.concat(data.hour)
|
|
200
|
+
.map((h) => parseInt(h, 10));
|
|
189
201
|
});
|
|
190
202
|
}
|
|
191
203
|
// Listen for skipDays if enabled.
|
|
@@ -196,10 +208,6 @@ class FeedSub extends tiny_typed_emitter_1.TypedEmitter {
|
|
|
196
208
|
}
|
|
197
209
|
// Compare date when first item is encountered.
|
|
198
210
|
const firstitem = (item) => {
|
|
199
|
-
// If date is the same as last, abort.
|
|
200
|
-
if (date && this.options.lastDate === date) {
|
|
201
|
-
return success();
|
|
202
|
-
}
|
|
203
211
|
if (shouldSkip()) {
|
|
204
212
|
return success();
|
|
205
213
|
}
|
|
@@ -211,7 +219,9 @@ class FeedSub extends tiny_typed_emitter_1.TypedEmitter {
|
|
|
211
219
|
getItem(item);
|
|
212
220
|
};
|
|
213
221
|
parser.once('item', firstitem);
|
|
214
|
-
const getItemDate = (item) =>
|
|
222
|
+
const getItemDate = (item) => Date.parse(item.pubdate) ||
|
|
223
|
+
Date.parse(item.published) ||
|
|
224
|
+
0;
|
|
215
225
|
const getItem = (item) => {
|
|
216
226
|
if (sortOrder === 0) {
|
|
217
227
|
items.push(item);
|
|
@@ -235,7 +245,7 @@ class FeedSub extends tiny_typed_emitter_1.TypedEmitter {
|
|
|
235
245
|
newItems.push(item);
|
|
236
246
|
}
|
|
237
247
|
else if (!ended) {
|
|
238
|
-
|
|
248
|
+
const emitted = this.news.emit('item', item);
|
|
239
249
|
if (emitted) {
|
|
240
250
|
newItems.push(item);
|
|
241
251
|
}
|
package/dist/feedsub.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedsub.js","sourceRoot":"","sources":["../src/feedsub.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"feedsub.js","sourceRoot":"","sources":["../src/feedsub.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"json",
|
|
9
9
|
"subscribe"
|
|
10
10
|
],
|
|
11
|
-
"version": "0.7.
|
|
11
|
+
"version": "0.7.9",
|
|
12
12
|
"repository": {
|
|
13
13
|
"type": "git",
|
|
14
14
|
"url": "git://github.com/fent/node-feedsub.git"
|
|
@@ -19,6 +19,8 @@
|
|
|
19
19
|
"dist"
|
|
20
20
|
],
|
|
21
21
|
"scripts": {
|
|
22
|
+
"lint": "biome check .",
|
|
23
|
+
"lint:fix": "biome check --write .",
|
|
22
24
|
"prepare": "tsc -p tsconfig.build.json",
|
|
23
25
|
"build": "tsc -p tsconfig.build.json",
|
|
24
26
|
"test": "nyc --extension .ts --reporter=lcov --reporter=text-summary npm run test:unit",
|
|
@@ -31,16 +33,17 @@
|
|
|
31
33
|
"tiny-typed-emitter": "^2.0.3"
|
|
32
34
|
},
|
|
33
35
|
"devDependencies": {
|
|
34
|
-
"@
|
|
36
|
+
"@biomejs/biome": "^2.5.15",
|
|
37
|
+
"@types/mocha": "^10.0.10",
|
|
35
38
|
"@types/nock": "^11.1.0",
|
|
36
|
-
"@types/node": "^
|
|
39
|
+
"@types/node": "^20.1.2",
|
|
37
40
|
"@types/sinon": "^9.0.9",
|
|
38
|
-
"mocha": "^
|
|
41
|
+
"mocha": "^12.0.3",
|
|
39
42
|
"nock": "^11.1.0",
|
|
40
|
-
"nyc": "^
|
|
43
|
+
"nyc": "^18.0.0",
|
|
41
44
|
"sinon": "^8.0.0",
|
|
42
|
-
"ts-node": "^9.
|
|
43
|
-
"typescript": "^
|
|
45
|
+
"ts-node": "^10.9.2",
|
|
46
|
+
"typescript": "^5.6.3"
|
|
44
47
|
},
|
|
45
48
|
"engines": {
|
|
46
49
|
"node": ">=10"
|