Skip to content

Commit 40472a3

Browse files
Update to PureScript v0.15.0 (#51)
* 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 * Update Bower dependencies to master or main * Update pulp to 16.0.0-0 * Update psa to 0.8.2 * Update .eslintrc.json to ES6 * Added changelog entry * Update CI to use node 14
1 parent 03dfc2f commit 40472a3

22 files changed

+236
-279
lines changed

.eslintrc.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
22
"parserOptions": {
3-
"ecmaVersion": 5
3+
"ecmaVersion": 6,
4+
"sourceType": "module"
45
},
56
"extends": "eslint:recommended",
67
"env": {
7-
"commonjs": true,
88
"browser": true
99
},
1010
"rules": {

.github/workflows/ci.yml

+4-2
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,12 @@ jobs:
1313
- uses: actions/checkout@v2
1414

1515
- uses: purescript-contrib/setup-purescript@main
16+
with:
17+
purescript: "unstable"
1618

17-
- uses: actions/setup-node@v1
19+
- uses: actions/setup-node@v2
1820
with:
19-
node-version: "10"
21+
node-version: "14"
2022

2123
- name: Install dependencies
2224
run: |

CHANGELOG.md

+1
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 (#51 by @JordanMartinez)
89

910
New features:
1011

bower.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@
1515
"package.json"
1616
],
1717
"dependencies": {
18-
"purescript-web-events": "^3.0.0"
18+
"purescript-web-events": "master"
1919
}
2020
}

package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
},
77
"devDependencies": {
88
"eslint": "^7.15.0",
9-
"pulp": "^15.0.0",
10-
"purescript-psa": "^0.8.0",
9+
"pulp": "16.0.0-0",
10+
"purescript-psa": "^0.8.2",
1111
"rimraf": "^3.0.2"
1212
}
1313
}

src/Web/DOM/CharacterData.js

+14-16
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,54 @@
1-
"use strict";
2-
3-
exports.data_ = function (t) {
1+
export function data_(t) {
42
return function () {
53
return t.data;
64
};
7-
};
5+
}
86

9-
exports.length = function (t) {
7+
export function length(t) {
108
return function () {
119
return t.length;
1210
};
13-
};
11+
}
1412

15-
exports.substringData = function (offset) {
13+
export function substringData(offset) {
1614
return function (count) {
1715
return function (cd) {
1816
return function () {
1917
cd.substringData(offset, count);
2018
};
2119
};
2220
};
23-
};
21+
}
2422

25-
exports.appendData = function (data) {
23+
export function appendData(data) {
2624
return function (cd) {
2725
return function () {
2826
cd.appendData(data);
2927
};
3028
};
31-
};
29+
}
3230

33-
exports.insertData = function (offset) {
31+
export function insertData(offset) {
3432
return function (data) {
3533
return function (cd) {
3634
return function () {
3735
cd.insertData(offset, data);
3836
};
3937
};
4038
};
41-
};
39+
}
4240

43-
exports.deleteData = function (offset) {
41+
export function deleteData(offset) {
4442
return function (count) {
4543
return function (cd) {
4644
return function () {
4745
cd.deleteData(offset, count);
4846
};
4947
};
5048
};
51-
};
49+
}
5250

53-
exports.replaceData = function (offset) {
51+
export function replaceData(offset) {
5452
return function (count) {
5553
return function (data) {
5654
return function (cd) {
@@ -60,4 +58,4 @@ exports.replaceData = function (offset) {
6058
};
6159
};
6260
};
63-
};
61+
}

src/Web/DOM/ChildNode.js

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
"use strict";
2-
3-
exports.remove = function (node) {
1+
export function remove(node) {
42
return function () {
53
return node.remove();
64
};
7-
};
5+
}

src/Web/DOM/DOMTokenList.js

+12-14
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,49 @@
1-
"use strict";
2-
3-
exports.add = function(list) {
1+
export function add(list) {
42
return function(token) {
53
return function() {
64
return list.add(token);
75
};
86
};
9-
};
7+
}
108

11-
exports.remove = function(list) {
9+
export function remove(list) {
1210
return function(token) {
1311
return function() {
1412
return list.remove(token);
1513
};
1614
};
17-
};
15+
}
1816

19-
exports.contains = function(list) {
17+
export function contains(list) {
2018
return function(token) {
2119
return function() {
2220
return list.contains(token);
2321
};
2422
};
25-
};
23+
}
2624

27-
exports.toggle = function(list) {
25+
export function toggle(list) {
2826
return function(token) {
2927
return function() {
3028
return list.toggle(token);
3129
};
3230
};
33-
};
31+
}
3432

35-
exports.toggleForce = function(list) {
33+
export function toggleForce(list) {
3634
return function(token) {
3735
return function(force) {
3836
return function() {
3937
return list.toggle(token, force);
4038
};
4139
};
4240
};
43-
};
41+
}
4442

45-
exports._item = function(list) {
43+
export function _item(list) {
4644
return function(index) {
4745
return function() {
4846
return list.item(index);
4947
};
5048
};
51-
};
49+
}

src/Web/DOM/Document.js

+30-33
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
"use strict";
2-
31
var getEffProp = function (name) {
42
return function (doc) {
53
return function () {
@@ -8,106 +6,105 @@ var getEffProp = function (name) {
86
};
97
};
108

11-
exports.url = getEffProp("URL");
12-
exports.documentURI = getEffProp("documentURI");
13-
exports.origin = getEffProp("origin");
14-
exports.compatMode = getEffProp("compatMode");
15-
exports.characterSet = getEffProp("characterSet");
16-
exports.contentType = getEffProp("contentType");
17-
18-
exports._doctype = getEffProp("doctype");
19-
exports._documentElement = getEffProp("documentElement");
9+
export const url = getEffProp("URL");
10+
export const documentURI = getEffProp("documentURI");
11+
export const origin = getEffProp("origin");
12+
export const compatMode = getEffProp("compatMode");
13+
export const characterSet = getEffProp("characterSet");
14+
export const contentType = getEffProp("contentType");
15+
export const _doctype = getEffProp("doctype");
16+
export const _documentElement = getEffProp("documentElement");
2017

21-
exports.getElementsByTagName = function (localName) {
18+
export function getElementsByTagName(localName) {
2219
return function (doc) {
2320
return function () {
2421
return doc.getElementsByTagName(localName);
2522
};
2623
};
27-
};
24+
}
2825

29-
exports._getElementsByTagNameNS = function (ns) {
26+
export function _getElementsByTagNameNS(ns) {
3027
return function (localName) {
3128
return function (doc) {
3229
return function () {
3330
return doc.getElementsByTagNameNS(ns, localName);
3431
};
3532
};
3633
};
37-
};
34+
}
3835

39-
exports.getElementsByClassName = function (classNames) {
36+
export function getElementsByClassName(classNames) {
4037
return function (doc) {
4138
return function () {
4239
return doc.getElementsByClassName(classNames);
4340
};
4441
};
45-
};
42+
}
4643

47-
exports.createElement = function (localName) {
44+
export function createElement(localName) {
4845
return function (doc) {
4946
return function () {
5047
return doc.createElement(localName);
5148
};
5249
};
53-
};
50+
}
5451

55-
exports._createElementNS = function (ns) {
52+
export function _createElementNS(ns) {
5653
return function (qualifiedName) {
5754
return function (doc) {
5855
return function () {
5956
return doc.createElementNS(ns, qualifiedName);
6057
};
6158
};
6259
};
63-
};
60+
}
6461

65-
exports.createDocumentFragment = function (doc) {
62+
export function createDocumentFragment(doc) {
6663
return function () {
6764
return doc.createDocumentFragment();
6865
};
69-
};
66+
}
7067

71-
exports.createTextNode = function (data) {
68+
export function createTextNode(data) {
7269
return function (doc) {
7370
return function () {
7471
return doc.createTextNode(data);
7572
};
7673
};
77-
};
74+
}
7875

79-
exports.createComment = function (data) {
76+
export function createComment(data) {
8077
return function (doc) {
8178
return function () {
8279
return doc.createComment(data);
8380
};
8481
};
85-
};
82+
}
8683

87-
exports.createProcessingInstruction = function (target) {
84+
export function createProcessingInstruction(target) {
8885
return function (data) {
8986
return function (doc) {
9087
return function () {
9188
return doc.createProcessingInstruction(target, data);
9289
};
9390
};
9491
};
95-
};
92+
}
9693

97-
exports.importNode = function (node) {
94+
export function importNode(node) {
9895
return function (deep) {
9996
return function (doc) {
10097
return function () {
10198
return doc.importNode(node, deep);
10299
};
103100
};
104101
};
105-
};
102+
}
106103

107-
exports.adoptNode = function (node) {
104+
export function adoptNode(node) {
108105
return function (doc) {
109106
return function () {
110107
return doc.adoptNode(node);
111108
};
112109
};
113-
};
110+
}

src/Web/DOM/DocumentType.js

+3-5
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
1-
"use strict";
2-
31
var getProp = function (name) {
42
return function (doctype) {
53
return doctype[name];
64
};
75
};
86

9-
exports.name = getProp("name");
10-
exports.publicId = getProp("publicId");
11-
exports.systemId = getProp("systemId");
7+
export const name = getProp("name");
8+
export const publicId = getProp("publicId");
9+
export const systemId = getProp("systemId");

0 commit comments

Comments
 (0)