header-generator 1.1.3 → 2.0.0-beta.2

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/dist/utils.js ADDED
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.shuffleArray = exports.getBrowsersFromQuery = exports.getBrowser = exports.getUserAgent = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const browserslist_1 = (0, tslib_1.__importDefault)(require("browserslist"));
6
+ const constants_1 = require("./constants");
7
+ const getUserAgent = (headers) => {
8
+ for (const [header, value] of Object.entries(headers)) {
9
+ if (header.toLowerCase() === 'user-agent') {
10
+ return value;
11
+ }
12
+ }
13
+ return undefined;
14
+ };
15
+ exports.getUserAgent = getUserAgent;
16
+ const getBrowser = (userAgent) => {
17
+ if (!userAgent) {
18
+ return;
19
+ }
20
+ let browser;
21
+ if (userAgent.includes('Firefox')) {
22
+ browser = 'firefox';
23
+ }
24
+ else if (userAgent.includes('Chrome')) {
25
+ browser = 'chrome';
26
+ }
27
+ else {
28
+ browser = 'safari';
29
+ }
30
+ return browser;
31
+ };
32
+ exports.getBrowser = getBrowser;
33
+ const getBrowsersWithVersions = (browserList) => {
34
+ const browsersWithVersions = {};
35
+ for (const browserDefinition of browserList) {
36
+ const [browserSplit, versionString] = browserDefinition.split(' ');
37
+ const browser = browserSplit;
38
+ const version = parseInt(versionString, 10);
39
+ if (!constants_1.SUPPORTED_BROWSERS.includes(browser)) {
40
+ // eslint-disable-next-line no-continue
41
+ continue;
42
+ }
43
+ if (browsersWithVersions[browser]) {
44
+ browsersWithVersions[browser].push(version);
45
+ }
46
+ else {
47
+ browsersWithVersions[browser] = [version];
48
+ }
49
+ }
50
+ return browsersWithVersions;
51
+ };
52
+ const getOptimizedVersionDistribution = (browsersWithVersions) => {
53
+ const finalOptimizedBrowsers = [];
54
+ Object.entries(browsersWithVersions).forEach(([browser, versions]) => {
55
+ const sortedVersions = versions.sort((a, b) => a - b);
56
+ let lowestVersionSoFar = sortedVersions[0];
57
+ sortedVersions.forEach((version, index) => {
58
+ const nextVersion = sortedVersions[index + 1];
59
+ const isLast = index === sortedVersions.length - 1;
60
+ const isNextVersionGap = nextVersion - version > 1;
61
+ if (isNextVersionGap || isLast) {
62
+ finalOptimizedBrowsers.push({
63
+ name: browser,
64
+ minVersion: lowestVersionSoFar,
65
+ maxVersion: version,
66
+ });
67
+ lowestVersionSoFar = nextVersion;
68
+ }
69
+ });
70
+ });
71
+ return finalOptimizedBrowsers;
72
+ };
73
+ const getBrowsersFromQuery = (browserListQuery) => {
74
+ const browserList = (0, browserslist_1.default)(browserListQuery);
75
+ const browsersWithVersions = getBrowsersWithVersions(browserList);
76
+ return getOptimizedVersionDistribution(browsersWithVersions);
77
+ };
78
+ exports.getBrowsersFromQuery = getBrowsersFromQuery;
79
+ const shuffleArray = (array) => {
80
+ for (let i = array.length - 1; i > 0; i--) {
81
+ const j = Math.floor(Math.random() * (i + 1));
82
+ [array[i], array[j]] = [array[j], array[i]];
83
+ }
84
+ return array;
85
+ };
86
+ exports.shuffleArray = shuffleArray;
87
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "header-generator",
3
- "version": "1.1.3",
3
+ "version": "2.0.0-beta.2",
4
4
  "description": "NodeJs package for generating browser-like headers.",
5
5
  "author": {
6
6
  "name": "Apify",
@@ -9,28 +9,52 @@
9
9
  },
10
10
  "homepage": "https://github.com/apify/header-generator#readme",
11
11
  "license": "Apache-2.0",
12
- "main": "src/main.js",
12
+ "engines": {
13
+ "node": ">=15.10.0"
14
+ },
13
15
  "files": [
14
- "src"
16
+ "dist"
15
17
  ],
18
+ "main": "dist/index.js",
19
+ "module": "dist/index.mjs",
20
+ "types": "dist/index.d.ts",
21
+ "exports": {
22
+ ".": {
23
+ "import": "./dist/index.mjs",
24
+ "require": "./dist/index.js"
25
+ }
26
+ },
16
27
  "dependencies": {
28
+ "browserslist": "^4.19.1",
17
29
  "generative-bayesian-network": "0.1.0-beta.1",
18
- "ow": "^0.23.0"
30
+ "ow": "^0.23.0",
31
+ "tslib": "^2.3.1"
19
32
  },
20
33
  "devDependencies": {
21
- "@apify/eslint-config": "^0.1.3",
22
- "eslint": "^7.19.0",
23
- "fs-extra": "^9.1.0",
24
- "jest": "^26.6.3",
34
+ "@apify/eslint-config-ts": "^0.1.4",
35
+ "@apify/tsconfig": "^0.1.0",
36
+ "@types/jest": "^27.0.2",
37
+ "@typescript-eslint/eslint-plugin": "^4.32.0",
38
+ "@typescript-eslint/parser": "^4.32.0",
39
+ "eslint": "^7.0.0",
40
+ "gen-esm-wrapper": "^1.1.3",
41
+ "jest": "^27.2.5",
42
+ "jest-circus": "^27.2.4",
25
43
  "jsdoc-to-markdown": "^7.0.0",
26
- "markdown-toc": "^1.2.0"
44
+ "markdown-toc": "^1.2.0",
45
+ "ts-jest": "^27.0.5",
46
+ "ts-node": "^10.2.1",
47
+ "typescript": "^4.4.3"
27
48
  },
28
49
  "scripts": {
29
- "build-docs": "npm run build-toc && node docs/build-docs.js",
30
- "build-toc": "markdown-toc docs/README.md -i",
31
- "lint": "eslint ./src --ext .js,.jsx",
32
- "lint:fix": "eslint ./src --ext .js,.jsx --fix",
33
- "test": "jest --maxWorkers=3 --forceExit"
50
+ "build": "rimraf dist && tsc",
51
+ "postbuild": "gen-esm-wrapper dist/index.js dist/index.mjs",
52
+ "prepublishOnly": "npm run build",
53
+ "lint": "eslint src test",
54
+ "lint:fix": "eslint src test --fix",
55
+ "test": "npm run build && jest",
56
+ "build-docs": "npm run build && npm run build-toc && node docs/build-docs.js",
57
+ "build-toc": "markdown-toc docs/README.md -i"
34
58
  },
35
59
  "bugs": {
36
60
  "url": "https://github.com/apify/header-generator/issues"
@@ -1 +0,0 @@
1
- ["chrome/87.0.4280.66|2","chrome/48.0.2564.116|2","chrome/69.0.3497.100|2","chrome/60.0.3112.90|2","chrome/79.0.3945.79|2","chrome/86.0.4240.75|2","chrome/94.0.4590.2|2","chrome/92.0.4512.0|2","chrome/76.0.3809.71|2","chrome/93.0.4577.63|1","chrome/79.0.3945.130|2","firefox/44.0|2","chrome/71.0.3578.80|2","chrome/75.0.3765.0|2","chrome/93.0.4577.63|2","firefox/38.0|2","*MISSING_VALUE*|2","safari/601.4.4|2","chrome/56.0.2924.87|2","chrome/84.0.4147.125|2","chrome/80.0.3987.122|2","chrome/91.0.4472.101|2","firefox/91.0|2","chrome/47.0.2526.106|2","chrome/88.0.4324.182|2","chrome/92.0.4515.115|2","chrome/90.0.4430.212|2","chrome/91.0.4472.164|2","chrome/90.0.4430.85|1","chrome/87.0.4280.67|2","chrome/91.0.4472.88|2","chrome/61.0.3163.100|2","chrome/61.0.3163.79|1","chrome/93.0.4577.0|2","chrome/91.0.4472.124|2","safari/601.3.9|2","chrome/48.0.2564.103|2","chrome/86.0.4240.193|2","firefox/90.0|2","firefox/91.0|1","chrome/92.0.4515.159|1","firefox/90.0|1","chrome/91.0.4472.77|2","chrome/88.0.4298.0|2","safari/604.1|2","chrome/91.0.4472.114|2","chrome/46.0.2486.0|2","chrome/92.0.4515.131|2","chrome/64.0.3282.140|2","chrome/48.0.2564.109|2","firefox/43.0|2","chrome/48.0.2564.97|2","chrome/90.0.4430.91|2","chrome/60.0.3694.1234|2","chrome/92.0.4515.159|2","firefox/57.0|2","chrome/73.0.3683.75|2","chrome/80.0.3987.132|2","chrome/83.0.4103.116|2","chrome/80.0.3987.116|2","chrome/57.0.2987.108|1","chrome/65.0.3325.146|2","chrome/83.0.4103.97|2","chrome/68.0.3440.106|2","safari/605.1.15|2","chrome/87.0.4280.141|2","chrome/62.0.3202.9|2","chrome/91.0.4472.120|2","chrome/86.0.4240.198|2","chrome/80.0.3987.149|2","chrome/89.0.4389.128|2","chrome/92.0.4515.107|2","chrome/60.0.3112.113|2","chrome/90.0.4430.229|2","chrome/90.0.4430.210|2","firefox/92.0|2","chrome/90.0.4430.93|2","chrome/89.0.4389.105|2","firefox/89.0|2","chrome/91.0.4472.81|2","chrome/92.0.4515.157|2","chrome/70.0.3538.102|2","chrome/75.0.3770.142|2","chrome/92.0.4515.131|1","chrome/94.0.4595.0|2","chrome/90.0.4430.85|2","chrome/80.0.3987.87|2","chrome/69.2.0.1713|2","chrome/90.0.4420.0|2","chrome/81.0.4044.138|2","firefox/71.0|2","chrome/81.0.4044.92|2","chrome/91.0.4472.114|1","chrome/90.0.4430.86|2","chrome/79.0.3945.88|2","firefox/88.0|2","chrome/86.0.4|2","firefox/85.0|2","chrome/93.0.4577.51|2","chrome/87.0.4280.101|2","chrome/89.0.4389.82|2","chrome/81.0.4044.129|2","chrome/88.0.4324.187|2","firefox/78.0|2","chrome/83.0.4103.106|2","firefox/87.0|2","chrome/92.0.4515.126|2","chrome/93.0.4577.18|2","chrome/74.0.3729.169|2","safari/537.36|2","chrome/92.0.4515.134|2","chrome/92.0.0.0|2","firefox/93.0|2","firefox/68.0|2","chrome/89.0.4389.114|2","chrome/94.0.4606.12|2","chrome/70.0.3538.110|2","chrome/93.0.4577.42|2","chrome/85.0.4183.93|2","chrome/74.0.3729.108|2","chrome/94.0.4603.0|2","chrome/94.0.4592.0|2","firefox/80.0|2","firefox/56.0|2","chrome/95.0.4609.6|2","chrome/90.0.4430.214|2","chrome/86.0.4240.80|2","chrome/91.0.4472.106|2","chrome/80.0.3987.100|2","chrome/89.0.4389.90|2","chrome/80.0.3987.99|2","chrome/93.0.4577.39|2","chrome/72.0.3626.109|2","chrome/49.0.2623.75|2","chrome/91.0.4472.167|2","chrome/89.0.4389.72|2","chrome/92.0.4515.107|1","firefox/86.0|2","chrome/77.0.3865.116|2","chrome/85.0.4183.102|2","chrome/86.0.4240.183|2","chrome/79.0.3945.136|2","chrome/79.0.3945.116|2","chrome/81.0.4044.111|2","chrome/91.0.4472.124|1","chrome/75.0.3770.100|2","chrome/91.0.4472.102|2","chrome/91.0.4472.77|1","firefox/60.0|2","chrome/90.0.4430.218|2","chrome/71.0.3578.141|2","chrome/88.0.4324.146|2","chrome/90.0.0.0|2","chrome/91.0.4472.106|1","chrome/90.0.4430.72|2","chrome/87.0.4280.88|2","chrome/89.0.4389.114|1","chrome/63.0.3235.0|2","chrome/72.0.3626.121|2","chrome/86.0.4240.111|2","chrome/55.0.2883.91|2","chrome/80.0.3987.145|1","chrome/77.0.3865.92|2","chrome/88.0.4324.181|2","chrome/92.0.4515.130|2","chrome/91.0.4472.135|2","chrome/94.0.4606.3|2","chrome/95.0.4609.3|2","chrome/61.0.3163.91|2","firefox/72.0|2","chrome/90.0.4403.0|2","chrome/93.0.4577.37|2","chrome/62.0.3202.84|2","chrome/93.0.4577.22|2","chrome/74.0.3729.136|2","chrome/88.0.4324.192|2","chrome/55.0.4874.1831|2","chrome/93.0.4577.36|2","chrome/72.0.3626.81|2","chrome/57.0.2987.137|2","chrome/91.0.4472.164|1","chrome/86.0.4240.277|2","chrome/81.0.4044.117|2","chrome/81.0.4044.122|2","chrome/71.0.3578.98|2","chrome/91.0.4472.194|2","chrome/94.0.4596.0|2","chrome/92.0.4515.93|2","chrome/78.0.3904.97|2","chrome/80.0.3987.119|2","firefox/84.0|2","chrome/94.0.4604.0|2","chrome/71.0.3578.99|2","safari/601.2.7|2","chrome/93.0.4577.15|2","chrome/85.0.4183.121|1","chrome/70.0.3538.80|2","firefox/79.0|2","chrome/85.0.4183.83|2","chrome/67.0.3396.87|2","chrome/93.0.4577.25|2","chrome/70.0.3538.77|2","firefox/78.0|1","firefox/63.0|2","chrome/88.0.4324.152|2","chrome/74.0.3729.157|2","chrome/49.0.2623.87|2","chrome/93.0.4531.0|2","firefox/69.0|2","chrome/77.0.3835.0|2","chrome/99.0.3538.77|2","chrome/84.0.4147.122|2","chrome/87.0.4280.88|1","chrome/91.0.4472.166|2","chrome/85.0.4183.121|2","chrome/91.0.4472.147|2","chrome/85.0.4183.127|2","safari/602.1|2","chrome/59.0.3071.125|2","chrome/48.0.2564.82|2","chrome/94.0.4585.0|2","chrome/88.0.4324.93|2","chrome/63.0.3237.0|2","firefox/81.0|2","firefox/83.0|2","chrome/91.0.4472.101|1","chrome/80.0.3987.88|2","firefox/82.0|2","chrome/94.0.4600.0|2","chrome/49.0.2623.112|2","chrome/76.0.3809.132|1","chrome/63.0.3239.132|2","chrome/89.0.4389.128|1","firefox/74.0|2","chrome/71.0.3563.0|2","chrome/59.0.3071.115|2","chrome/44.0.2403.119|2","chrome/50.0.2661.89|2","chrome/86.0.4240.111|1","chrome/88.0.4324.190|2","chrome/89.0.4389.130|2","chrome/78.0.3904.108|2","chrome/84.0.4147.89|2","chrome/87.0.4280.144|2","chrome/88.0.4324.150|2","chrome/90.0.4430.230|2","chrome/79.0.3945.147|2","firefox/47.0|2","chrome/54.0.2862.63|2","firefox/51.0|2","chrome/68.0.3440.91|2","chrome/92.0.4515.115|1","chrome/90.0.4430.82|2","chrome/94.0.4590.0|2","chrome/94.0.4595.3|2","chrome/70.0.3538.67|2","chrome/83.0.4103.119|2","chrome/83.0.4103.61|1","chrome/84.0.4147.135|2","chrome/88.0.4324.104|2","chrome/88.0.4324.96|2","chrome/92.0.4515.80|2","firefox/89.0|1","safari/604.1|1","*MISSING_VALUE*|1","chrome/93.0.4558.0|2","chrome/64.0.3282.39|2","chrome/87.0.4280.142|2","chrome/86.0.4240.272|2","chrome/61.0.3163.128|2","chrome/91.0.4464.0|2","chrome/94.0.4589.2|2","chrome/91.0.0.0|2","chrome/76.0.3809.132|2","chrome/91.0.4472.146|2","chrome/93.0.4566.0|2","chrome/92.0.4515.111|2","chrome/76.0.3809.136|2","chrome/84.0.4147.111|1","chrome/55.0.2883.91|1","chrome/55.0.2883.95|2","chrome/57.0.8883.1194|2","chrome/85.0.4183.81|1","chrome/78.0.3904.70|2","chrome/85.0.4183.101|1","chrome/87.0.4280.66|1","chrome/86.0.4240.198|1","chrome/90.0.4430.93|1","chrome/92.0.4515.105|2","chrome/52.0.2743.116|1","chrome/94.0.4589.0|2","chrome/84.0.4147.105|2","chrome/90.0.4430.0|2","chrome/92.0.4515.51|2","chrome/92.0.4515.101|2","chrome/81.0.4044.93|2","chrome/90.0.4430.212|1","chrome/78.0.3904.87|2","chrome/57.0.2987.108|2","chrome/94.0.4588.0|2","chrome/87.0.4280.152|2","safari/605.1.15|1","chrome/67.0.3396.99|2","chrome/91.0.4472.135|1","chrome/84.0.4147.89|1","chrome/85.0.4183.127|1","chrome/93.0.4577.8|2","chrome/94.0.4587.0|2","chrome/90.0.4430.66|2","chrome/77.0.3865.90|2","chrome/50.0.2661.102|2","chrome/49.0.2991.1751|2","chrome/42.0.2311.135|2","chrome/86.0.4240.77|1","chrome/79.0.3945.117|1","chrome/77.0.3865.116|1","chrome/92.0.4515.76|2","chrome/43.0.3835.1044|2","chrome/91.0.4472.120|1","chrome/93.0.4563.0|2","chrome/79.0.3945.117|2","chrome/85.0.4183.101|2","chrome/84.0.4147.111|2","chrome/92.0.4515.105|1","chrome/89.0.4389.72|1","firefox/52.0|2","chrome/80.0.3987.163|2","chrome/89.0.4389.86|2","chrome/80.0.3987.99|1","chrome/81.0.4044.152|2","chrome/85.0.4183.81|2","chrome/83.0.4103.87|2","chrome/94.0.4583.0|2","chrome/90.0.4430.216|2","chrome/77.0.3865.120|2","chrome/61.0.3163.98|2","chrome/86.0.4240.185|2","firefox/45.0|2"]