From c8c8619bebdfb3bc0e0ae1bda5427441a0e26636 Mon Sep 17 00:00:00 2001 From: andys8 Date: Sat, 16 Jul 2022 16:53:12 +0200 Subject: [PATCH 1/4] Update npm, including react v18 --- package.json | 16 ++++++++-------- packages.dhall | 21 ++++++++++++++++++++- 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index b057621a..58457574 100644 --- a/package.json +++ b/package.json @@ -2,16 +2,16 @@ "license": "MIT", "devDependencies": { "esbuild": "^0.14.49", - "parcel": "^2.6.0", + "parcel": "^2.6.2", "process": "^0.11.10", - "purescript": "^0.15.3", - "spago": "^0.20.3" + "purescript": "^0.15.4", + "spago": "^0.20.9" }, "dependencies": { - "ace-builds": "^1.4.11", - "big-integer": "^1.6.48", - "react": "^16.14.0", - "react-dom": "^16.14.0", - "xhr2": "^0.2.0" + "ace-builds": "^1.7.1", + "big-integer": "^1.6.51", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "xhr2": "^0.2.1" } } diff --git a/packages.dhall b/packages.dhall index f8b0e86c..6f5d62b6 100644 --- a/packages.dhall +++ b/packages.dhall @@ -2,7 +2,26 @@ let upstream = https://github.com/purescript/package-sets/releases/download/psc-0.15.3-20220712/packages.dhall sha256:ffc496e19c93f211b990f52e63e8c16f31273d4369dbae37c7cf6ea852d4442f -let overrides = {=} +let overrides = + { react-basic-dom = + { dependencies = + [ "effect" + , "foldable-traversable" + , "foreign-object" + , "maybe" + , "nullable" + , "prelude" + , "react-basic" + , "unsafe-coerce" + , "web-dom" + , "web-events" + , "web-file" + , "web-html" + ] + , repo = "https://github.com/andys8/purescript-react-basic-dom.git" + , version = "4633ad95b47a5806ca559dfb3b16b5339564f0ad" + } + } let additions = {=} From 13d1623875e0875d7648c91aba77251956c308b0 Mon Sep 17 00:00:00 2001 From: andys8 Date: Mon, 11 Jul 2022 15:53:57 +0200 Subject: [PATCH 2/4] Update HelloReactHooks --- packages.dhall | 2 +- recipes/HelloReactHooks/spago.dhall | 1 + recipes/HelloReactHooks/src/Main.purs | 19 +++++++++++-------- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/packages.dhall b/packages.dhall index 6f5d62b6..8206a46f 100644 --- a/packages.dhall +++ b/packages.dhall @@ -18,7 +18,7 @@ let overrides = , "web-file" , "web-html" ] - , repo = "https://github.com/andys8/purescript-react-basic-dom.git" + , repo = "https://github.com/lumihq/purescript-react-basic-dom.git" , version = "4633ad95b47a5806ca559dfb3b16b5339564f0ad" } } diff --git a/recipes/HelloReactHooks/spago.dhall b/recipes/HelloReactHooks/spago.dhall index 9ca2b28d..0644939e 100644 --- a/recipes/HelloReactHooks/spago.dhall +++ b/recipes/HelloReactHooks/spago.dhall @@ -7,6 +7,7 @@ , "react-basic-dom" , "react-basic-hooks" , "web-html" + , "web-dom" ] , packages = ../../packages.dhall , sources = [ "recipes/HelloReactHooks/src/**/*.purs" ] diff --git a/recipes/HelloReactHooks/src/Main.purs b/recipes/HelloReactHooks/src/Main.purs index ab5713fd..cdacccef 100644 --- a/recipes/HelloReactHooks/src/Main.purs +++ b/recipes/HelloReactHooks/src/Main.purs @@ -1,25 +1,28 @@ module HelloReactHooks.Main where import Prelude + import Data.Maybe (Maybe(..)) import Effect (Effect) import Effect.Exception (throw) -import React.Basic.DOM (render) import React.Basic.DOM as R +import React.Basic.DOM.Client (createRoot, renderRoot) import React.Basic.Hooks (Component, component) +import Web.DOM.NonElementParentNode (getElementById) import Web.HTML (window) -import Web.HTML.HTMLDocument (body) -import Web.HTML.HTMLElement (toElement) +import Web.HTML.HTMLDocument (toNonElementParentNode) import Web.HTML.Window (document) main :: Effect Unit main = do - body <- body =<< document =<< window - case body of - Nothing -> throw "Could not find body." - Just b -> do + doc <- document =<< window + root <- getElementById "root" $ toNonElementParentNode doc + case root of + Nothing -> throw "Could not find root." + Just container -> do + reactRoot <- createRoot container helloComponent <- mkHelloComponent - render (helloComponent {}) (toElement b) + renderRoot reactRoot (helloComponent {}) mkHelloComponent :: Component {} mkHelloComponent = do From 468ae021bc8be6d18c966e3db73435d4b4d5fc43 Mon Sep 17 00:00:00 2001 From: andys8 Date: Sat, 16 Jul 2022 17:09:15 +0200 Subject: [PATCH 3/4] More generic naming of react component --- recipes/HelloReactHooks/src/Main.purs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/HelloReactHooks/src/Main.purs b/recipes/HelloReactHooks/src/Main.purs index cdacccef..a7544a5c 100644 --- a/recipes/HelloReactHooks/src/Main.purs +++ b/recipes/HelloReactHooks/src/Main.purs @@ -21,10 +21,10 @@ main = do Nothing -> throw "Could not find root." Just container -> do reactRoot <- createRoot container - helloComponent <- mkHelloComponent - renderRoot reactRoot (helloComponent {}) + app <- mkApp + renderRoot reactRoot (app {}) -mkHelloComponent :: Component {} -mkHelloComponent = do - component "HelloComponent" \_ -> React.do +mkApp :: Component {} +mkApp = do + component "App" \_ -> React.do pure (R.text "Hello!") From e5a9fb18450f9c71ea4ad53708d972a0b865f0cf Mon Sep 17 00:00:00 2001 From: andys8 Date: Mon, 25 Jul 2022 13:39:23 +0200 Subject: [PATCH 4/4] package-set 0.15.4-20220723 --- packages.dhall | 25 +++---------------------- 1 file changed, 3 insertions(+), 22 deletions(-) diff --git a/packages.dhall b/packages.dhall index 8206a46f..d6322c23 100644 --- a/packages.dhall +++ b/packages.dhall @@ -1,27 +1,8 @@ let upstream = - https://github.com/purescript/package-sets/releases/download/psc-0.15.3-20220712/packages.dhall - sha256:ffc496e19c93f211b990f52e63e8c16f31273d4369dbae37c7cf6ea852d4442f + https://github.com/purescript/package-sets/releases/download/psc-0.15.4-20220723/packages.dhall + sha256:efb50561d50d0bebe01f8e5ab21cda51662cca0f5548392bafc3216953a0ed88 -let overrides = - { react-basic-dom = - { dependencies = - [ "effect" - , "foldable-traversable" - , "foreign-object" - , "maybe" - , "nullable" - , "prelude" - , "react-basic" - , "unsafe-coerce" - , "web-dom" - , "web-events" - , "web-file" - , "web-html" - ] - , repo = "https://github.com/lumihq/purescript-react-basic-dom.git" - , version = "4633ad95b47a5806ca559dfb3b16b5339564f0ad" - } - } +let overrides = {=} let additions = {=}