From 29f0334602e10d8d2889f940b2d7383349e75426 Mon Sep 17 00:00:00 2001 From: Phil Freeman Date: Mon, 3 Apr 2017 20:18:44 -0700 Subject: [PATCH 1/2] Updates for 0.11 --- .travis.yml | 15 ++++++++ README.md | 2 +- bower.json | 6 +-- {docs => generated-docs}/ReactDOM.md | 0 package.json | 14 +++++-- src/ReactDOM.purs | 56 +++++++++++++++------------- 6 files changed, 60 insertions(+), 33 deletions(-) create mode 100644 .travis.yml rename {docs => generated-docs}/ReactDOM.md (100%) diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..968390b --- /dev/null +++ b/.travis.yml @@ -0,0 +1,15 @@ +language: node_js +dist: trusty +sudo: required +node_js: stable +install: + - npm install -g bower + - npm install + - bower install +script: + - npm run -s build +after_success: +- >- + test $TRAVIS_TAG && + echo $GITHUB_TOKEN | pulp login && + echo y | pulp publish --no-push diff --git a/README.md b/README.md index 2a2e03e..a075ab3 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Low-level React DOM bindings for PureScript -- [Module Documentation](docs/) +- [Module Documentation](generated-docs/) ## Installation diff --git a/bower.json b/bower.json index ab78fe1..3f30927 100644 --- a/bower.json +++ b/bower.json @@ -16,8 +16,8 @@ "url": "git://github.com/purescript-contrib/purescript-react-dom.git" }, "dependencies": { - "purescript-dom": "^3.1.0", - "purescript-react": "^2.0.0", - "purescript-eff-functions": "^2.0.0" + "purescript-dom": "0.11", + "purescript-react": "^3.0.0", + "purescript-eff": "^3.1.0" } } diff --git a/docs/ReactDOM.md b/generated-docs/ReactDOM.md similarity index 100% rename from docs/ReactDOM.md rename to generated-docs/ReactDOM.md diff --git a/package.json b/package.json index 7419f60..6c76bc4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,13 @@ { - "name": "purescript-react-dom", - "files": [], - "peerDependencies": { - "react-dom": "^0.14.6" + "private": true, + "scripts": { + "clean": "rimraf output && rimraf .pulp-cache", + "build": "pulp build" + }, + "devDependencies": { + "pulp": "^11.0.0", + "purescript-psa": "^0.5.0", + "purescript": "^0.11.1", + "rimraf": "^2.5.4" } } diff --git a/src/ReactDOM.purs b/src/ReactDOM.purs index 428a490..d3c7afd 100644 --- a/src/ReactDOM.purs +++ b/src/ReactDOM.purs @@ -7,16 +7,19 @@ module ReactDOM ) where import Control.Monad.Eff (Eff) -import DOM (DOM) -import DOM.Node.Types (Element) -import Data.Function.Eff (runEffFn1, EffFn4, EffFn1, runEffFn4) +import Control.Monad.Eff.Uncurried (runEffFn1, EffFn4, EffFn1, runEffFn4) import Data.Function.Uncurried (runFn1, Fn1) import Data.Maybe (Maybe(..)) +import DOM (DOM) +import DOM.Node.Types (Element) import React (ReactElement, ReactComponent) -- | Render a React element in a document element. Returns Nothing for stateless components. -render :: forall eff. - ReactElement -> Element -> Eff (dom :: DOM | eff) (Maybe ReactComponent) +render + :: forall eff + . ReactElement + -> Element + -> Eff (dom :: DOM | eff) (Maybe ReactComponent) render = runEffFn4 renderImpl Nothing Just -- | Removes a mounted React element in a document element. @@ -36,26 +39,29 @@ renderToString = runFn1 renderToStringImpl renderToStaticMarkup :: ReactElement -> String renderToStaticMarkup = runFn1 renderToStaticMarkupImpl -foreign import renderImpl :: forall eff. - EffFn4 - (dom :: DOM | eff) - (Maybe ReactComponent) - (ReactComponent -> Maybe ReactComponent) - ReactElement - Element - (Maybe ReactComponent) - -foreign import unmountComponentAtNodeImpl :: forall eff. - EffFn1 - (dom :: DOM | eff) - Element - Boolean - -foreign import findDOMNodeImpl :: forall eff. - EffFn1 - (dom :: DOM | eff) - ReactComponent - Element +foreign import renderImpl + :: forall eff + . EffFn4 + (dom :: DOM | eff) + (Maybe ReactComponent) + (ReactComponent -> Maybe ReactComponent) + ReactElement + Element + (Maybe ReactComponent) + +foreign import unmountComponentAtNodeImpl + :: forall eff + . EffFn1 + (dom :: DOM | eff) + Element + Boolean + +foreign import findDOMNodeImpl + :: forall eff + . EffFn1 + (dom :: DOM | eff) + ReactComponent + Element foreign import renderToStringImpl :: Fn1 ReactElement String From 93b77d06c54d556fabfac0185126db375319027d Mon Sep 17 00:00:00 2001 From: Phil Freeman Date: Wed, 5 Apr 2017 08:33:08 -0700 Subject: [PATCH 2/2] Use latest dom --- bower.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bower.json b/bower.json index 3f30927..ac48b42 100644 --- a/bower.json +++ b/bower.json @@ -16,7 +16,7 @@ "url": "git://github.com/purescript-contrib/purescript-react-dom.git" }, "dependencies": { - "purescript-dom": "0.11", + "purescript-dom": "^4.0.0", "purescript-react": "^3.0.0", "purescript-eff": "^3.1.0" }