diff --git a/package-lock.json b/package-lock.json index 5d922ac..22e61e6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "scroll-to-fragment", - "version": "1.0.7", + "version": "1.0.9", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -1418,17 +1418,12 @@ } }, "history": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", - "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/history/-/history-5.0.0.tgz", + "integrity": "sha512-3NyRMKIiFSJmIPdq7FxkNMJkQ7ZEtVblOQ38VtKaA0zZMW1Eo6Q6W8oDKEflr1kNNTItSnk4JMCO1deeSgbLLg==", "dev": true, "requires": { - "@babel/runtime": "^7.1.2", - "loose-envify": "^1.2.0", - "resolve-pathname": "^3.0.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0", - "value-equal": "^1.0.1" + "@babel/runtime": "^7.7.6" } }, "hmac-drbg": { @@ -2109,15 +2104,6 @@ } } }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, "make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", @@ -2560,12 +2546,6 @@ "path-parse": "^1.0.6" } }, - "resolve-pathname": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", - "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==", - "dev": true - }, "rfdc": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.4.tgz", @@ -2974,18 +2954,6 @@ "setimmediate": "^1.0.4" } }, - "tiny-invariant": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.1.0.tgz", - "integrity": "sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw==", - "dev": true - }, - "tiny-warning": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", - "dev": true - }, "tmp": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", @@ -3106,12 +3074,6 @@ "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", "dev": true }, - "value-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", - "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==", - "dev": true - }, "vm-browserify": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", diff --git a/package.json b/package.json index fc04969..22e0373 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "devDependencies": { "@types/history": "^4.7.8", "@types/jasmine": "^3.5.14", - "history": "^4.10.1", + "history": "^5.0.0", "jasmine-core": "^3.6.0", "karma": "^5.2.3", "karma-chrome-launcher": "^3.1.0", @@ -33,12 +33,14 @@ "main": "dist/index.js", "types": "dist/index.d.ts", "name": "scroll-to-fragment", - "peerDependencies": {}, + "peerDependencies": { + "history": "4 || 5" + }, "repository": "github:Scrivito/scroll-to-fragment", "scripts": { "prepare": "rm -rf dist/* && npm test && tsc --build", "test": "karma start --single-run", "watch": "karma start" }, - "version": "1.0.8" + "version": "1.0.9" } diff --git a/src/index.ts b/src/index.ts index c7676aa..1c22f79 100644 --- a/src/index.ts +++ b/src/index.ts @@ -59,11 +59,16 @@ function removeStopListener(eventName: string) { document.removeEventListener(eventName, stopObserving); } +function handleHistoryPush(update: History.Update): void; // history version 5 function handleHistoryPush( - _location: History.Location, + location: History.Location, action: History.Action +): void; // history version 4 +function handleHistoryPush( + update: History.Update & History.Location, + action?: History.Action ) { - if (action === "PUSH") startObserving(); + if ("PUSH" === (action || update.action)) startObserving(); } function handleDocumentClick(event: Event) { @@ -107,7 +112,7 @@ function throttle(callback: () => void) { } let currentOptions: Readonly; -let unlistenHistory: History.UnregisterCallback | undefined; +let unlistenHistory: () => void | undefined; let documentObserver: MutationObserver | undefined; let observeTimeout: number | undefined; let throttleRequestId: number | undefined;