From cedb02f2604d7a89fb77461c8803a1b8e32b1f9a Mon Sep 17 00:00:00 2001 From: Fyodor Soikin Date: Wed, 29 Nov 2023 23:30:05 -0500 Subject: [PATCH] Upgrade to PureScript 0.15.13 (#36) --- CHANGELOG.md | 6 ++ package-lock.json | 120 +++++++++++------------------ package.json | 2 +- packages.dhall | 2 +- src/Elmish/HTML/Events/Events.purs | 15 ++-- 5 files changed, 61 insertions(+), 84 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a2d7442..a3b286e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # purescript-elmish-html +## 0.7.1 + +### Changed + +- Upgraded to PureScript 0.15.13 + ## 0.7.0 ### Added diff --git a/package-lock.json b/package-lock.json index 4ccbf0f..7142ea2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,9 +15,9 @@ "elliptic": "^6.5.4", "lodash": "^4.17.21", "pulp": "^16.0.0", - "purescript": "^0.15.4", + "purescript": "^0.15.13", "purescript-psa": "^0.8.2", - "spago": "^0.20.8" + "spago": "^0.20.9" } }, "node_modules/@gar/promisify": { @@ -211,26 +211,6 @@ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true }, - "node_modules/arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/asn1.js": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", @@ -935,9 +915,9 @@ } }, "node_modules/cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", + "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==", "dev": true }, "node_modules/dash-ast": { @@ -2733,25 +2713,24 @@ "dev": true }, "node_modules/purescript": { - "version": "0.15.6", - "resolved": "https://registry.npmjs.org/purescript/-/purescript-0.15.6.tgz", - "integrity": "sha512-JRNSIvps/HQvGjJLMasCT8H871BqhJHnkuEup5x7MSaNgVEhuvQIpUz5K9TrVSdbTl7PZJScMqrVi3PqBR3p6Q==", + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/purescript/-/purescript-0.15.13.tgz", + "integrity": "sha512-nCftRcyk9qJKjuaRQ3vcDnLmiiEBp/3A2GOBrGSIeV2ZpjX4+/d7tPkvtCUR/r5GdEVdllrwc7P4R4ZkXwj8Ng==", "dev": true, "hasInstallScript": true, "dependencies": { - "purescript-installer": "^0.3.1" + "purescript-installer": "^0.3.5" }, "bin": { "purs": "purs.bin" } }, "node_modules/purescript-installer": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/purescript-installer/-/purescript-installer-0.3.3.tgz", - "integrity": "sha512-DjHbB4qlWxp1+m1pI9S5ugsjxNfgNyt6sacPD0ZdtuyVBtXwOHfrmUrZq8hXj8mYz5YaxhP+oKhZjxhuTuUEhw==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/purescript-installer/-/purescript-installer-0.3.5.tgz", + "integrity": "sha512-w04BBvW4BSQlspLsZ9Bs5vtUBZqvC4bC+FizC5GUp2/rpmYvXJ0CTf79Q3MKo2A8p1ZjqbhCI+SqdTQ30UZUIQ==", "dev": true, "dependencies": { - "arch": "^2.1.1", "byline": "^5.0.0", "cacache": "^11.3.2", "chalk": "^2.4.2", @@ -2890,9 +2869,9 @@ } }, "node_modules/purescript-installer/node_modules/glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -2923,9 +2902,9 @@ } }, "node_modules/purescript-installer/node_modules/lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", "dev": true, "engines": { "node": ">=12" @@ -3045,9 +3024,9 @@ } }, "node_modules/purescript-installer/node_modules/minimatch": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", - "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -3597,9 +3576,9 @@ "dev": true }, "node_modules/spago": { - "version": "0.20.8", - "resolved": "https://registry.npmjs.org/spago/-/spago-0.20.8.tgz", - "integrity": "sha512-9jE8rhLFKuhS13z/T5Y3vaBrJYTVec3/ivAD3S07oorD2DIVG1vvowtJhtIRqLhY/Zt4jwyPmEtd+ybLbWZrmg==", + "version": "0.20.9", + "resolved": "https://registry.npmjs.org/spago/-/spago-0.20.9.tgz", + "integrity": "sha512-r5TUxnYn9HawlQyMswlhIk24BGFSN2KGbqgZFZrn47GjTpMscU14xkt9CqTWgoSQYsoZieG+3dUtOxUQ7GYD7w==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -4233,12 +4212,6 @@ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true }, - "arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", - "dev": true - }, "asn1.js": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", @@ -4869,9 +4842,9 @@ } }, "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", + "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==", "dev": true }, "dash-ast": { @@ -6392,21 +6365,20 @@ "dev": true }, "purescript": { - "version": "0.15.6", - "resolved": "https://registry.npmjs.org/purescript/-/purescript-0.15.6.tgz", - "integrity": "sha512-JRNSIvps/HQvGjJLMasCT8H871BqhJHnkuEup5x7MSaNgVEhuvQIpUz5K9TrVSdbTl7PZJScMqrVi3PqBR3p6Q==", + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/purescript/-/purescript-0.15.13.tgz", + "integrity": "sha512-nCftRcyk9qJKjuaRQ3vcDnLmiiEBp/3A2GOBrGSIeV2ZpjX4+/d7tPkvtCUR/r5GdEVdllrwc7P4R4ZkXwj8Ng==", "dev": true, "requires": { - "purescript-installer": "^0.3.1" + "purescript-installer": "^0.3.5" } }, "purescript-installer": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/purescript-installer/-/purescript-installer-0.3.3.tgz", - "integrity": "sha512-DjHbB4qlWxp1+m1pI9S5ugsjxNfgNyt6sacPD0ZdtuyVBtXwOHfrmUrZq8hXj8mYz5YaxhP+oKhZjxhuTuUEhw==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/purescript-installer/-/purescript-installer-0.3.5.tgz", + "integrity": "sha512-w04BBvW4BSQlspLsZ9Bs5vtUBZqvC4bC+FizC5GUp2/rpmYvXJ0CTf79Q3MKo2A8p1ZjqbhCI+SqdTQ30UZUIQ==", "dev": true, "requires": { - "arch": "^2.1.1", "byline": "^5.0.0", "cacache": "^11.3.2", "chalk": "^2.4.2", @@ -6513,9 +6485,9 @@ "dev": true }, "glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -6537,9 +6509,9 @@ } }, "lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", "dev": true }, "make-fetch-happen": { @@ -6639,9 +6611,9 @@ } }, "minimatch": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", - "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "requires": { "brace-expansion": "^2.0.1" @@ -7063,9 +7035,9 @@ "dev": true }, "spago": { - "version": "0.20.8", - "resolved": "https://registry.npmjs.org/spago/-/spago-0.20.8.tgz", - "integrity": "sha512-9jE8rhLFKuhS13z/T5Y3vaBrJYTVec3/ivAD3S07oorD2DIVG1vvowtJhtIRqLhY/Zt4jwyPmEtd+ybLbWZrmg==", + "version": "0.20.9", + "resolved": "https://registry.npmjs.org/spago/-/spago-0.20.9.tgz", + "integrity": "sha512-r5TUxnYn9HawlQyMswlhIk24BGFSN2KGbqgZFZrn47GjTpMscU14xkt9CqTWgoSQYsoZieG+3dUtOxUQ7GYD7w==", "dev": true, "requires": { "make-fetch-happen": "^9.1.0", diff --git a/package.json b/package.json index 7951fe2..5884202 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "elliptic": "^6.5.4", "lodash": "^4.17.21", "pulp": "^16.0.0", - "purescript": "^0.15.7", + "purescript": "^0.15.13", "purescript-psa": "^0.8.2", "spago": "^0.20.9" }, diff --git a/packages.dhall b/packages.dhall index e322242..2992414 100644 --- a/packages.dhall +++ b/packages.dhall @@ -3,4 +3,4 @@ let upstream = sha256:e56fbdf33a5afd2a610c81f8b940b413a638931edb41532164e641bb2a9ec29c in upstream - with elmish.version = "v0.9.0" + with elmish.version = "v0.10.1" diff --git a/src/Elmish/HTML/Events/Events.purs b/src/Elmish/HTML/Events/Events.purs index 7918d1f..68c92e1 100644 --- a/src/Elmish/HTML/Events/Events.purs +++ b/src/Elmish/HTML/Events/Events.purs @@ -28,7 +28,6 @@ import Elmish.HTML.Events.Internal (RKeyboardEvent, RMouseEvent, RSyntheticEvent import Elmish.HTML.Events.Methods (class IsKeyboardOrMouseEvent, class IsSyntheticEvent) import Elmish.HTML.Events.Methods (preventDefault, stopPropagation, getModifierState) as MethodsReexport import Foreign (unsafeToForeign) -import Type.Proxy (Proxy(..)) -- | Type of every `onXyz` property on every HTML tag in this library. This is -- | the standard shape of all event handlers on React's built-in components @@ -38,27 +37,27 @@ type EventHandler a = EffectFn1 a Unit -- | The most generic event object from React, for events that don't have any -- | special properties. This type follows React docs at https://reactjs.org/docs/events.html newtype SyntheticEvent = SyntheticEvent RSyntheticEvent -instance CanReceiveFromJavaScript SyntheticEvent where validateForeignType _ = validateForeignType (Proxy :: _ {}) +instance CanReceiveFromJavaScript SyntheticEvent where validateForeignType = validateForeignType @{} instance IsSyntheticEvent SyntheticEvent -- | Event object for keyboard-related events such as `onKeyDown` or `onKeyPress`. This -- | type follows React docs at https://reactjs.org/docs/events.html#keyboard-events newtype KeyboardEvent = KeyboardEvent RKeyboardEvent -instance CanReceiveFromJavaScript KeyboardEvent where validateForeignType _ = validateForeignType (Proxy :: _ {}) +instance CanReceiveFromJavaScript KeyboardEvent where validateForeignType = validateForeignType @{} instance IsSyntheticEvent KeyboardEvent instance IsKeyboardOrMouseEvent KeyboardEvent -- | Event object for mouse-related events such as `onMouseDown` or `onMouseMove`. This -- | type follows React docs at https://reactjs.org/docs/events.html#mouse-events newtype MouseEvent = MouseEvent RMouseEvent -instance CanReceiveFromJavaScript MouseEvent where validateForeignType _ = validateForeignType (Proxy :: _ {}) +instance CanReceiveFromJavaScript MouseEvent where validateForeignType = validateForeignType @{} instance IsSyntheticEvent MouseEvent instance IsKeyboardOrMouseEvent MouseEvent -- | Event object for touch-related events such as `onTouchStart` or -- | `onTouchMove`. This type follows React docs at https://reactjs.org/docs/events.html#touch-events newtype TouchEvent = TouchEvent RTouchEvent -instance CanReceiveFromJavaScript TouchEvent where validateForeignType _ = validateForeignType (Proxy :: _ {}) +instance CanReceiveFromJavaScript TouchEvent where validateForeignType = validateForeignType @{} instance IsSyntheticEvent TouchEvent instance IsKeyboardOrMouseEvent TouchEvent @@ -73,7 +72,7 @@ instance IsKeyboardOrMouseEvent TouchEvent -- | input { type: "checkbox", onChange: dispatch <| MyCheckboxChanged <<< E.inputChecked } -- | newtype InputChangeEvent = InputChangeEvent RSyntheticEvent -instance CanReceiveFromJavaScript InputChangeEvent where validateForeignType _ = validateForeignType (Proxy :: _ {}) +instance CanReceiveFromJavaScript InputChangeEvent where validateForeignType = validateForeignType @{} instance IsSyntheticEvent InputChangeEvent -- | Event object specifically for the `onChange` event of the `