Skip to content

Commit

Permalink
fix exported library (#105)
Browse files Browse the repository at this point in the history
  • Loading branch information
etienne-martin authored Oct 6, 2020
1 parent 549cf53 commit 53ebe70
Show file tree
Hide file tree
Showing 89 changed files with 93 additions and 70 deletions.
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
node_modules
.idea
coverage
/fixtures/.coveralls.json
/fixtures/.travis.json
/src/fixtures/.coveralls.json
/src/fixtures/.travis.json
dist
4 changes: 1 addition & 3 deletions .npmignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,9 @@ tsconfig.json
tslint.json
coverage
.circleci
/fixtures/.coveralls.json
/fixtures/.travis.json
/fixtures/Tests
/load-fixtures.js
/load-fixtures.sh
.github
.DS_Store
publish.sh
jest.config.js
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@ This library needs to be updated when matomo releases a new version of their lib

### Why do tests fail after downloading new fixtures?

When matomo releases a new version, they usually add support for new brands. [Those brands](https://github.com/matomo-org/device-detector/blob/1060530615c54796cc2045a030c7c605574060d2/Parser/Device/DeviceParserAbstract.php#L65) needs to be copied over to [this file](https://github.com/etienne-martin/device-detector-js/blob/master/src/tests/helpers.ts).
When matomo releases a new version, they usually add support for new brands. [Those brands](https://github.com/matomo-org/device-detector/blob/1060530615c54796cc2045a030c7c605574060d2/Parser/Device/DeviceParserAbstract.php#L65) needs to be copied over to [this file](https://github.com/etienne-martin/device-detector-js/blob/master/src/tests/fixtures/brands.json).

## Authors

Expand Down
2 changes: 1 addition & 1 deletion load-fixtures.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ glob("**/*.yml", {
}, (err, files) => {
for (const file of files) {
const src = path.join("./node_modules/device-detector", file);
const dest = path.join("./fixtures", file.replace(RegExp(".yml$", "i"), ".json"));
const dest = path.join("./src/fixtures", file.replace(RegExp(".yml$", "i"), ".json"));

ensureDirectoryExistence(dest);

Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "device-detector-js",
"version": "2.2.4",
"version": "2.2.5",
"description": "A javascript port of Matomo device-detector",
"homepage": "https://github.com/etienne-martin/device-detector-js",
"keywords": [
Expand Down Expand Up @@ -43,7 +43,7 @@
"predev": "yarn fixtures",
"fixtures": "sh load-fixtures.sh",
"lint": "tslint -c tslint.json -p tsconfig.json --fix",
"pretest": "yarn lint",
"pretest": "yarn build",
"test": "jest src --coverage --verbose",
"test:watch": "jest src --coverage --verbose --watch",
"coverage": "coveralls < ./coverage/lcov.info",
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion src/parsers/bot/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import bots from "../../../fixtures/regexes/bots.json";
import bots from "../../fixtures/regexes/bots.json";
import { userAgentParser } from "../../utils/user-agent";
import { BotResult } from "./typing";

Expand Down
4 changes: 2 additions & 2 deletions src/parsers/client/browser.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ interface Options {
versionTruncation: 0 | 1 | 2 | 3 | null;
}

import browsers from "../../../fixtures/regexes/client/browsers.json";
import browserEngines from "../../../fixtures/regexes/client/browser_engine.json";
import browsers from "../../fixtures/regexes/client/browsers.json";
import browserEngines from "../../fixtures/regexes/client/browser_engine.json";
import availableBrowsers from "./fixtures/available-browsers.json";
import browserFamilies from "./fixtures/browser-families.json";
import mobileOnlyBrowsers from "./fixtures/mobile-only-browsers.json";
Expand Down
2 changes: 1 addition & 1 deletion src/parsers/client/feed-readers.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import feedReaders from "../../../fixtures/regexes/client/feed_readers.json";
import feedReaders from "../../fixtures/regexes/client/feed_readers.json";
import { formatVersion } from "../../utils/version";
import { variableReplacement } from "../../utils/variable-replacement";
import { userAgentParser } from "../../utils/user-agent";
Expand Down
2 changes: 1 addition & 1 deletion src/parsers/client/libraries.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import libraries from "../../../fixtures/regexes/client/libraries.json";
import libraries from "../../fixtures/regexes/client/libraries.json";
import { formatVersion } from "../../utils/version";
import { variableReplacement } from "../../utils/variable-replacement";
import { userAgentParser } from "../../utils/user-agent";
Expand Down
2 changes: 1 addition & 1 deletion src/parsers/client/media-players.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import mediaPlayers from "../../../fixtures/regexes/client/mediaplayers.json";
import mediaPlayers from "../../fixtures/regexes/client/mediaplayers.json";
import { formatVersion } from "../../utils/version";
import { variableReplacement } from "../../utils/variable-replacement";
import { userAgentParser } from "../../utils/user-agent";
Expand Down
2 changes: 1 addition & 1 deletion src/parsers/client/mobile-apps.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import mobileApps from "../../../fixtures/regexes/client/mobile_apps.json";
import mobileApps from "../../fixtures/regexes/client/mobile_apps.json";
import { formatVersion } from "../../utils/version";
import { variableReplacement } from "../../utils/variable-replacement";
import { userAgentParser } from "../../utils/user-agent";
Expand Down
2 changes: 1 addition & 1 deletion src/parsers/client/personal-information-managers.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import personalInformationManagers from "../../../fixtures/regexes/client/pim.json";
import personalInformationManagers from "../../fixtures/regexes/client/pim.json";
import { formatVersion } from "../../utils/version";
import { variableReplacement } from "../../utils/variable-replacement";
import { userAgentParser } from "../../utils/user-agent";
Expand Down
2 changes: 1 addition & 1 deletion src/parsers/device/cameras.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import cameras from "../../../fixtures/regexes/device/cameras.json";
import cameras from "../../fixtures/regexes/device/cameras.json";
import { GenericDeviceResult } from "../../typings/device";
import { variableReplacement } from "../../utils/variable-replacement";
import { userAgentParser } from "../../utils/user-agent";
Expand Down
2 changes: 1 addition & 1 deletion src/parsers/device/cars.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import cars from "../../../fixtures/regexes/device/car_browsers.json";
import cars from "../../fixtures/regexes/device/car_browsers.json";
import { GenericDeviceResult } from "../../typings/device";
import { variableReplacement } from "../../utils/variable-replacement";
import { userAgentParser } from "../../utils/user-agent";
Expand Down
2 changes: 1 addition & 1 deletion src/parsers/device/consoles.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import consoles from "../../../fixtures/regexes/device/consoles.json";
import consoles from "../../fixtures/regexes/device/consoles.json";
import { GenericDeviceResult } from "../../typings/device";
import { variableReplacement } from "../../utils/variable-replacement";
import { userAgentParser } from "../../utils/user-agent";
Expand Down
2 changes: 1 addition & 1 deletion src/parsers/device/mobiles.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import mobiles from "../../../fixtures/regexes/device/mobiles.json";
import mobiles from "../../fixtures/regexes/device/mobiles.json";
import { GenericDeviceResult } from "../../typings/device";
import { variableReplacement } from "../../utils/variable-replacement";
import { userAgentParser } from "../../utils/user-agent";
Expand Down
2 changes: 1 addition & 1 deletion src/parsers/device/portable-media-players.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import portableMediaPlayers from "../../../fixtures/regexes/device/portable_media_player.json";
import portableMediaPlayers from "../../fixtures/regexes/device/portable_media_player.json";
import { GenericDeviceResult } from "../../typings/device";
import { variableReplacement } from "../../utils/variable-replacement";
import { userAgentParser } from "../../utils/user-agent";
Expand Down
2 changes: 1 addition & 1 deletion src/parsers/device/televisions.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import televisions from "../../../fixtures/regexes/device/televisions.json";
import televisions from "../../fixtures/regexes/device/televisions.json";
import { GenericDeviceResult } from "../../typings/device";
import { variableReplacement } from "../../utils/variable-replacement";
import { userAgentParser } from "../../utils/user-agent";
Expand Down
2 changes: 1 addition & 1 deletion src/parsers/operating-system/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import operatingSystems from "../../../fixtures/regexes/oss.json";
import operatingSystems from "../../fixtures/regexes/oss.json";
import { formatVersion } from "../../utils/version";
import { variableReplacement } from "../../utils/variable-replacement";
import { userAgentParser } from "../../utils/user-agent";
Expand Down
2 changes: 1 addition & 1 deletion src/parsers/vendor-fragment/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import vendorFragments from "../../../fixtures/regexes/vendorfragments.json";
import vendorFragments from "../../fixtures/regexes/vendorfragments.json";
import { userAgentParser } from "../../utils/user-agent";

export default class VendorFragmentParser {
Expand Down
2 changes: 1 addition & 1 deletion src/tests/bot.test.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import botTests from "../../fixtures/Tests/fixtures/bots.json";
import botTests from "../fixtures/Tests/fixtures/bots.json";
import BotParser = require("../parsers/bot");
import { BotResult } from "../parsers/bot/typing";

Expand Down
12 changes: 6 additions & 6 deletions src/tests/client.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@ import { LibraryResult } from "../parsers/client/libraries";
import { MediaPlayerResult } from "../parsers/client/media-players";
import { PersonalInformationManagerResult } from "../parsers/client/personal-information-managers";

import browserTests from "../../fixtures/Tests/Parser/Client/fixtures/browser.json";
import feedReaderTests from "../../fixtures/Tests/Parser/Client/fixtures/feed_reader.json";
import libraryTests from "../../fixtures/Tests/Parser/Client/fixtures/library.json";
import mediaPlayerTests from "../../fixtures/Tests/Parser/Client/fixtures/mediaplayer.json";
import mobileAppTests from "../../fixtures/Tests/Parser/Client/fixtures/mobile_app.json";
import personalInformationManagerTests from "../../fixtures/Tests/Parser/Client/fixtures/pim.json";
import browserTests from "../fixtures/Tests/Parser/Client/fixtures/browser.json";
import feedReaderTests from "../fixtures/Tests/Parser/Client/fixtures/feed_reader.json";
import libraryTests from "../fixtures/Tests/Parser/Client/fixtures/library.json";
import mediaPlayerTests from "../fixtures/Tests/Parser/Client/fixtures/mediaplayer.json";
import mobileAppTests from "../fixtures/Tests/Parser/Client/fixtures/mobile_app.json";
import personalInformationManagerTests from "../fixtures/Tests/Parser/Client/fixtures/pim.json";

const versionTruncation = 1;

Expand Down
6 changes: 3 additions & 3 deletions src/tests/device.test.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import DeviceDetector = require("../");
import brands from "./fixtures/brands.json";

import cameraTests from "../../fixtures/Tests/Parser/Devices/fixtures/camera.json";
import carTests from "../../fixtures/Tests/Parser/Devices/fixtures/car_browser.json";
import consoleTests from "../../fixtures/Tests/Parser/Devices/fixtures/console.json";
import cameraTests from "../fixtures/Tests/Parser/Devices/fixtures/camera.json";
import carTests from "../fixtures/Tests/Parser/Devices/fixtures/car_browser.json";
import consoleTests from "../fixtures/Tests/Parser/Devices/fixtures/console.json";

const deviceDetector = new DeviceDetector();

Expand Down
66 changes: 33 additions & 33 deletions src/tests/full.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,39 +4,39 @@ import brands from "./fixtures/brands.json";
import { BrowserResult } from "../parsers/client/browser";

const tests: any = [
...require("../../fixtures/Tests/fixtures/camera.json"),
...require("../../fixtures/Tests/fixtures/car_browser.json"),
...require("../../fixtures/Tests/fixtures/console.json"),
...require("../../fixtures/Tests/fixtures/desktop.json"),
...require("../../fixtures/Tests/fixtures/feature_phone.json"),
...require("../../fixtures/Tests/fixtures/feed_reader.json"),
...require("../../fixtures/Tests/fixtures/mediaplayer.json"),
...require("../../fixtures/Tests/fixtures/mobile_apps.json"),
...require("../../fixtures/Tests/fixtures/phablet.json"),
...require("../../fixtures/Tests/fixtures/portable_media_player.json"),
...require("../../fixtures/Tests/fixtures/smart_display.json"),
...require("../../fixtures/Tests/fixtures/smart_speaker.json"),
...require("../../fixtures/Tests/fixtures/smartphone.json"),
...require("../../fixtures/Tests/fixtures/smartphone-1.json"),
...require("../../fixtures/Tests/fixtures/smartphone-2.json"),
...require("../../fixtures/Tests/fixtures/smartphone-3.json"),
...require("../../fixtures/Tests/fixtures/smartphone-4.json"),
...require("../../fixtures/Tests/fixtures/smartphone-5.json"),
...require("../../fixtures/Tests/fixtures/smartphone-6.json"),
...require("../../fixtures/Tests/fixtures/smartphone-7.json"),
...require("../../fixtures/Tests/fixtures/smartphone-8.json"),
...require("../../fixtures/Tests/fixtures/smartphone-9.json"),
...require("../../fixtures/Tests/fixtures/smartphone-10.json"),
...require("../../fixtures/Tests/fixtures/smartphone-11.json"),
...require("../../fixtures/Tests/fixtures/smartphone-12.json"),
...require("../../fixtures/Tests/fixtures/smartphone-13.json"),
...require("../../fixtures/Tests/fixtures/smartphone-14.json"),
...require("../../fixtures/Tests/fixtures/tablet.json"),
...require("../../fixtures/Tests/fixtures/tablet-1.json"),
...require("../../fixtures/Tests/fixtures/tablet-2.json"),
...require("../../fixtures/Tests/fixtures/tablet-3.json"),
...require("../../fixtures/Tests/fixtures/tv.json"),
...require("../../fixtures/Tests/fixtures/unknown.json")
...require("../fixtures/Tests/fixtures/camera.json"),
...require("../fixtures/Tests/fixtures/car_browser.json"),
...require("../fixtures/Tests/fixtures/console.json"),
...require("../fixtures/Tests/fixtures/desktop.json"),
...require("../fixtures/Tests/fixtures/feature_phone.json"),
...require("../fixtures/Tests/fixtures/feed_reader.json"),
...require("../fixtures/Tests/fixtures/mediaplayer.json"),
...require("../fixtures/Tests/fixtures/mobile_apps.json"),
...require("../fixtures/Tests/fixtures/phablet.json"),
...require("../fixtures/Tests/fixtures/portable_media_player.json"),
...require("../fixtures/Tests/fixtures/smart_display.json"),
...require("../fixtures/Tests/fixtures/smart_speaker.json"),
...require("../fixtures/Tests/fixtures/smartphone.json"),
...require("../fixtures/Tests/fixtures/smartphone-1.json"),
...require("../fixtures/Tests/fixtures/smartphone-2.json"),
...require("../fixtures/Tests/fixtures/smartphone-3.json"),
...require("../fixtures/Tests/fixtures/smartphone-4.json"),
...require("../fixtures/Tests/fixtures/smartphone-5.json"),
...require("../fixtures/Tests/fixtures/smartphone-6.json"),
...require("../fixtures/Tests/fixtures/smartphone-7.json"),
...require("../fixtures/Tests/fixtures/smartphone-8.json"),
...require("../fixtures/Tests/fixtures/smartphone-9.json"),
...require("../fixtures/Tests/fixtures/smartphone-10.json"),
...require("../fixtures/Tests/fixtures/smartphone-11.json"),
...require("../fixtures/Tests/fixtures/smartphone-12.json"),
...require("../fixtures/Tests/fixtures/smartphone-13.json"),
...require("../fixtures/Tests/fixtures/smartphone-14.json"),
...require("../fixtures/Tests/fixtures/tablet.json"),
...require("../fixtures/Tests/fixtures/tablet-1.json"),
...require("../fixtures/Tests/fixtures/tablet-2.json"),
...require("../fixtures/Tests/fixtures/tablet-3.json"),
...require("../fixtures/Tests/fixtures/tv.json"),
...require("../fixtures/Tests/fixtures/unknown.json")
];

const versionTruncation = 1;
Expand Down
24 changes: 24 additions & 0 deletions src/tests/lib.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import { DeviceDetectorResult, DeviceDetectorOptions } from "../../dist";
import DeviceDetector = require("../../dist");
import BotDetector = require("../..//dist/parsers/bot");

export interface ExportedTypeTest {
deviceDetectorResult: DeviceDetectorResult;
deviceDetectorOptions: DeviceDetectorOptions;
}

describe("compiled library", () => {
test("compiled device detector", () => {
const deviceDetector = new DeviceDetector();
const userAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 Safari/537.36";

expect(() => deviceDetector.parse(userAgent)).not.toThrow();
});

test("compiled bot detector", () => {
const botDetector = new BotDetector();
const userAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)";

expect(() => botDetector.parse(userAgent)).not.toThrow();
});
});
2 changes: 1 addition & 1 deletion src/tests/operating-system.test.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import DeviceDetector = require("../");
import operatingSystemTests from "../../fixtures/Tests/Parser/fixtures/oss.json";
import operatingSystemTests from "../fixtures/Tests/Parser/fixtures/oss.json";
import { OperatingSystemResult } from "../parsers/operating-system";
import { formatVersion } from "../utils/version";

Expand Down
2 changes: 1 addition & 1 deletion src/tests/vendor-fragment.test.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import vendorFragmentTests from "../../fixtures/Tests/Parser/fixtures/vendorfragments.json";
import vendorFragmentTests from "../fixtures/Tests/Parser/fixtures/vendorfragments.json";
import VendorFragmentParser from "../parsers/vendor-fragment";
import brands from "./fixtures/brands.json";

Expand Down
1 change: 1 addition & 0 deletions tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"compilerOptions": {
"rootDir": "src",
"module": "commonjs",
"target": "es2017",
"strict": true,
Expand Down

0 comments on commit 53ebe70

Please sign in to comment.