Skip to content

Commit b9c3442

Browse files
Update to PureScript v0.15.0 (#28)
* Update .eslintrc.json to ES6 * Migrated FFI to ES modules via 'lebab' * Replaced 'export var' with 'export const' * Removed '"use strict";' in FFI files * Update to CI to use 'unstable' purescript * Add CI test: verify 'bower.json' file works via pulp * Ignore spago-based tests (temporarily) * Update Bower dependencies to master or main * Update packages.dhall to 'prepare-0.15' package set * Removed unneeded 'psci-support' package * Update psa to 0.8.2 * Added changelog entry
1 parent 0f1659a commit b9c3442

File tree

8 files changed

+31
-24
lines changed

8 files changed

+31
-24
lines changed

.eslintrc.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
2-
"env": { "browser": true, "commonjs": true },
2+
"env": { "browser": true },
33
"extends": "eslint:recommended",
4-
"parserOptions": { "ecmaVersion": 5 },
4+
"parserOptions": { "ecmaVersion": 6, "sourceType": "module" },
55
"rules": {
66
"block-scoped-var": "error",
77
"consistent-return": "error",

.github/workflows/ci.yml

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ jobs:
1616
- name: Set up PureScript toolchain
1717
uses: purescript-contrib/setup-purescript@main
1818
with:
19+
purescript: "unstable"
1920
purs-tidy: "latest"
2021

2122
- name: Cache PureScript dependencies
@@ -49,8 +50,17 @@ jobs:
4950
- name: Build the project
5051
run: npm run build
5152

52-
- name: Run tests
53-
run: npm run test
53+
# - name: Run tests
54+
# run: npm run test
5455

5556
- name: Check formatting
5657
run: purs-tidy check src test
58+
59+
- name: Verify Bower & Pulp
60+
run: |
61+
npm install bower [email protected]
62+
npx bower install
63+
npx pulp build -- --censor-lib --strict
64+
if [ -d "test" ]; then
65+
npx pulp test
66+
fi

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ Notable changes to this project are documented in this file. The format is based
55
## [Unreleased]
66

77
Breaking changes:
8+
- Migrate FFI to ES modules (#28 by @JordanMartinez)
89

910
New features:
1011

bower.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@
1616
"url": "https://github.com/purescript-contrib/purescript-react-dom.git"
1717
},
1818
"dependencies": {
19-
"purescript-effect": "^3.0.0",
20-
"purescript-react": "^9.0.0",
21-
"purescript-web-dom": "^5.0.0"
19+
"purescript-effect": "master",
20+
"purescript-react": "main",
21+
"purescript-web-dom": "master"
2222
},
2323
"devDependencies": {
24-
"purescript-console": "^5.0.0"
24+
"purescript-console": "master"
2525
}
2626
}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
},
77
"devDependencies": {
88
"eslint": "^7.6.0",
9-
"purescript-psa": "^0.8.0"
9+
"purescript-psa": "^0.8.2"
1010
},
1111
"peerDependencies": {
1212
"react-dom": "^16.0.0"

packages.dhall

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
let upstream =
2-
https://github.com/purescript/package-sets/releases/download/psc-0.14.3-20210722/packages.dhall sha256:1ceb43aa59436bf5601bac45f6f3781c4e1f0e4c2b8458105b018e5ed8c30f8c
2+
https://raw.githubusercontent.com/purescript/package-sets/prepare-0.15/src/packages.dhall
33

44
in upstream

spago.dhall

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
, "maybe"
77
, "nullable"
88
, "prelude"
9-
, "psci-support"
109
, "react"
1110
, "web-dom"
1211
]

src/ReactDOM.js

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,15 @@
1-
"use strict";
1+
import ReactDOM from "react-dom";
2+
import ReactDOMServer from "react-dom/server";
23

3-
var ReactDOM = require("react-dom");
4-
var ReactDOMServer = require("react-dom/server");
5-
6-
exports.renderImpl = function (element, container) {
4+
export function renderImpl(element, container) {
75
return ReactDOM.render(element, container);
8-
};
6+
}
97

10-
exports.hydrateImpl = function (element, container) {
8+
export function hydrateImpl(element, container) {
119
return ReactDOM.hydrate(element, container);
12-
};
13-
14-
exports.unmountComponentAtNodeImpl = ReactDOM.unmountComponentAtNode;
15-
exports.findDOMNodeImpl = ReactDOM.findDOMNode;
10+
}
1611

17-
exports.renderToStringImpl = ReactDOMServer.renderToString;
18-
exports.renderToStaticMarkupImpl = ReactDOMServer.renderToStaticMarkup;
12+
export const unmountComponentAtNodeImpl = ReactDOM.unmountComponentAtNode;
13+
export const findDOMNodeImpl = ReactDOM.findDOMNode;
14+
export const renderToStringImpl = ReactDOMServer.renderToString;
15+
export const renderToStaticMarkupImpl = ReactDOMServer.renderToStaticMarkup;

0 commit comments

Comments
 (0)