Skip to content

Commit 4858ace

Browse files
Update to PureScript v0.15.0 (#29)
* Migrated FFI to ES modules via 'lebab' * 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 * Update .eslintrc.json to ES6
1 parent b37e022 commit 4858ace

File tree

8 files changed

+47
-39
lines changed

8 files changed

+47
-39
lines changed

.eslintrc.json

+2-2
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

+12-2
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

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

910
New features:
1011

bower.json

+10-10
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,17 @@
2323
"tests"
2424
],
2525
"dependencies": {
26-
"purescript-aff": "^6.0.0",
27-
"purescript-effect": "^3.0.0",
28-
"purescript-either": "^5.0.0",
29-
"purescript-exceptions": "^5.0.0",
30-
"purescript-functions": "^5.0.0",
31-
"purescript-maybe": "^5.0.0"
26+
"purescript-aff": "main",
27+
"purescript-effect": "master",
28+
"purescript-either": "master",
29+
"purescript-exceptions": "master",
30+
"purescript-functions": "master",
31+
"purescript-maybe": "master"
3232
},
3333
"devDependencies": {
34-
"purescript-assert": "^5.0.0",
35-
"purescript-console": "^5.0.0",
36-
"purescript-refs": "^5.0.0",
37-
"purescript-transformers": "^5.0.0"
34+
"purescript-assert": "master",
35+
"purescript-console": "master",
36+
"purescript-refs": "master",
37+
"purescript-transformers": "master"
3838
}
3939
}

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@
66
},
77
"devDependencies": {
88
"eslint": "^7.6.0",
9-
"purescript-psa": "^0.8.0"
9+
"purescript-psa": "^0.8.2"
1010
}
1111
}

packages.dhall

+1-1
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

-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
, "functions"
1111
, "maybe"
1212
, "prelude"
13-
, "psci-support"
1413
, "refs"
1514
]
1615
, packages = ./packages.dhall

src/Effect/AVar.js

+20-22
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
"use strict";
2-
31
var AVar = function () {
42

53
function MutableQueue () {
@@ -210,57 +208,57 @@ var AVar = function () {
210208
return AVar;
211209
}();
212210

213-
exports.empty = function () {
211+
export function empty() {
214212
return new AVar(AVar.EMPTY);
215-
};
213+
}
216214

217-
exports._newVar = function (value) {
215+
export function _newVar(value) {
218216
return function () {
219217
return new AVar(value);
220218
};
221-
};
219+
}
222220

223-
exports._killVar = function (util, error, avar) {
221+
export function _killVar(util, error, avar) {
224222
return function () {
225223
if (avar.error === null) {
226224
avar.error = error;
227225
avar.value = AVar.EMPTY;
228226
AVar.drainVar(util, avar);
229227
}
230228
};
231-
};
229+
}
232230

233-
exports._putVar = function (util, value, avar, cb) {
231+
export function _putVar(util, value, avar, cb) {
234232
return function () {
235233
var cell = AVar.putLast(avar.puts, { cb: cb, value: value });
236234
AVar.drainVar(util, avar);
237235
return function () {
238236
AVar.deleteCell(cell);
239237
};
240238
};
241-
};
239+
}
242240

243-
exports._takeVar = function (util, avar, cb) {
241+
export function _takeVar(util, avar, cb) {
244242
return function () {
245243
var cell = AVar.putLast(avar.takes, cb);
246244
AVar.drainVar(util, avar);
247245
return function () {
248246
AVar.deleteCell(cell);
249247
};
250248
};
251-
};
249+
}
252250

253-
exports._readVar = function (util, avar, cb) {
251+
export function _readVar(util, avar, cb) {
254252
return function () {
255253
var cell = AVar.putLast(avar.reads, cb);
256254
AVar.drainVar(util, avar);
257255
return function () {
258256
AVar.deleteCell(cell);
259257
};
260258
};
261-
};
259+
}
262260

263-
exports._tryPutVar = function (util, value, avar) {
261+
export function _tryPutVar(util, value, avar) {
264262
return function () {
265263
if (avar.value === AVar.EMPTY && avar.error === null) {
266264
avar.value = value;
@@ -270,9 +268,9 @@ exports._tryPutVar = function (util, value, avar) {
270268
return false;
271269
}
272270
};
273-
};
271+
}
274272

275-
exports._tryTakeVar = function (util, avar) {
273+
export function _tryTakeVar(util, avar) {
276274
return function () {
277275
var value = avar.value;
278276
if (value === AVar.EMPTY) {
@@ -283,19 +281,19 @@ exports._tryTakeVar = function (util, avar) {
283281
return util.just(value);
284282
}
285283
};
286-
};
284+
}
287285

288-
exports._tryReadVar = function (util, avar) {
286+
export function _tryReadVar(util, avar) {
289287
return function () {
290288
if (avar.value === AVar.EMPTY) {
291289
return util.nothing;
292290
} else {
293291
return util.just(avar.value);
294292
}
295293
};
296-
};
294+
}
297295

298-
exports._status = function (util, avar) {
296+
export function _status(util, avar) {
299297
return function () {
300298
if (avar.error) {
301299
return util.killed(avar.error);
@@ -305,5 +303,5 @@ exports._status = function (util, avar) {
305303
}
306304
return util.filled(avar.value);
307305
};
308-
};
306+
}
309307

0 commit comments

Comments
 (0)