Skip to content

Commit 1842a81

Browse files
Update to v0.15.0 (#209)
* 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 * Installed bower dev dependency: purescript-minibench@master * Installed bower dev dependency: purescript-assert@master * Add changelog entry
1 parent 9a236f3 commit 1842a81

File tree

8 files changed

+63
-55
lines changed

8 files changed

+63
-55
lines changed

.eslintrc.json

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
{
2-
"env": { "commonjs": true },
32
"extends": "eslint:recommended",
4-
"parserOptions": { "ecmaVersion": 5 },
3+
"parserOptions": { "ecmaVersion": 6, "sourceType": "module" },
54
"rules": {
65
"block-scoped-var": "error",
76
"consistent-return": "error",

.github/workflows/ci.yml

+10-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,15 @@ 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 pulp@16.0.0-0
62+
npx bower install
63+
npx pulp build -- --censor-lib --strict
64+
npx pulp test

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

910
New features:
1011

bower.json

+21-17
Original file line numberDiff line numberDiff line change
@@ -17,22 +17,26 @@
1717
"package.json"
1818
],
1919
"dependencies": {
20-
"purescript-arrays": "^v6.0.0",
21-
"purescript-bifunctors": "^v5.0.0",
22-
"purescript-control": "^v5.0.0",
23-
"purescript-datetime": "^v5.0.0",
24-
"purescript-effect": "^v3.0.0",
25-
"purescript-either": "^v5.0.0",
26-
"purescript-exceptions": "^v5.0.0",
27-
"purescript-foldable-traversable": "^v5.0.0",
28-
"purescript-functions": "^v5.0.0",
29-
"purescript-maybe": "^v5.0.0",
30-
"purescript-newtype": "^v4.0.0",
31-
"purescript-parallel": "^v5.0.0",
32-
"purescript-prelude": "^v5.0.0",
33-
"purescript-refs": "^v5.0.0",
34-
"purescript-tailrec": "^v5.0.0",
35-
"purescript-transformers": "^v5.0.0",
36-
"purescript-unsafe-coerce": "^v5.0.0"
20+
"purescript-arrays": "master",
21+
"purescript-bifunctors": "master",
22+
"purescript-control": "master",
23+
"purescript-datetime": "master",
24+
"purescript-effect": "master",
25+
"purescript-either": "master",
26+
"purescript-exceptions": "master",
27+
"purescript-foldable-traversable": "master",
28+
"purescript-functions": "master",
29+
"purescript-maybe": "master",
30+
"purescript-newtype": "master",
31+
"purescript-parallel": "master",
32+
"purescript-prelude": "master",
33+
"purescript-refs": "master",
34+
"purescript-tailrec": "master",
35+
"purescript-transformers": "master",
36+
"purescript-unsafe-coerce": "master"
37+
},
38+
"devDependencies": {
39+
"purescript-minibench": "master",
40+
"purescript-assert": "master"
3741
}
3842
}

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@
66
},
77
"devDependencies": {
88
"eslint": "^7.10.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
@@ -17,7 +17,6 @@
1717
, "parallel"
1818
, "partial"
1919
, "prelude"
20-
, "psci-support"
2120
, "refs"
2221
, "tailrec"
2322
, "transformers"

src/Effect/Aff.js

+28-31
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
/* globals setImmediate, clearImmediate, setTimeout, clearTimeout */
22
/* eslint-disable no-unused-vars, no-prototype-builtins, no-use-before-define, no-unused-labels, no-param-reassign */
3-
"use strict";
4-
53
var Aff = function () {
64
// A unique value for empty.
75
var EMPTY = {};
@@ -1039,17 +1037,16 @@ var Aff = function () {
10391037
return Aff;
10401038
}();
10411039

1042-
exports._pure = Aff.Pure;
1043-
1044-
exports._throwError = Aff.Throw;
1040+
export const _pure = Aff.Pure;
1041+
export const _throwError = Aff.Throw;
10451042

1046-
exports._catchError = function (aff) {
1043+
export function _catchError(aff) {
10471044
return function (k) {
10481045
return Aff.Catch(aff, k);
10491046
};
1050-
};
1047+
}
10511048

1052-
exports._map = function (f) {
1049+
export function _map(f) {
10531050
return function (aff) {
10541051
if (aff.tag === Aff.Pure.tag) {
10551052
return Aff.Pure(f(aff._1));
@@ -1059,71 +1056,71 @@ exports._map = function (f) {
10591056
});
10601057
}
10611058
};
1062-
};
1059+
}
10631060

1064-
exports._bind = function (aff) {
1061+
export function _bind(aff) {
10651062
return function (k) {
10661063
return Aff.Bind(aff, k);
10671064
};
1068-
};
1065+
}
10691066

1070-
exports._fork = function (immediate) {
1067+
export function _fork(immediate) {
10711068
return function (aff) {
10721069
return Aff.Fork(immediate, aff);
10731070
};
1074-
};
1071+
}
10751072

1076-
exports._liftEffect = Aff.Sync;
1073+
export const _liftEffect = Aff.Sync;
10771074

1078-
exports._parAffMap = function (f) {
1075+
export function _parAffMap(f) {
10791076
return function (aff) {
10801077
return Aff.ParMap(f, aff);
10811078
};
1082-
};
1079+
}
10831080

1084-
exports._parAffApply = function (aff1) {
1081+
export function _parAffApply(aff1) {
10851082
return function (aff2) {
10861083
return Aff.ParApply(aff1, aff2);
10871084
};
1088-
};
1085+
}
10891086

1090-
exports._parAffAlt = function (aff1) {
1087+
export function _parAffAlt(aff1) {
10911088
return function (aff2) {
10921089
return Aff.ParAlt(aff1, aff2);
10931090
};
1094-
};
1091+
}
10951092

1096-
exports.makeAff = Aff.Async;
1093+
export const makeAff = Aff.Async;
10971094

1098-
exports.generalBracket = function (acquire) {
1095+
export function generalBracket(acquire) {
10991096
return function (options) {
11001097
return function (k) {
11011098
return Aff.Bracket(acquire, options, k);
11021099
};
11031100
};
1104-
};
1101+
}
11051102

1106-
exports._makeFiber = function (util, aff) {
1103+
export function _makeFiber(util, aff) {
11071104
return function () {
11081105
return Aff.Fiber(util, null, aff);
11091106
};
1110-
};
1107+
}
11111108

1112-
exports._makeSupervisedFiber = function (util, aff) {
1109+
export function _makeSupervisedFiber(util, aff) {
11131110
return function () {
11141111
var supervisor = Aff.Supervisor(util);
11151112
return {
11161113
fiber: Aff.Fiber(util, supervisor, aff),
11171114
supervisor: supervisor
11181115
};
11191116
};
1120-
};
1117+
}
11211118

1122-
exports._killAll = function (error, supervisor, cb) {
1119+
export function _killAll(error, supervisor, cb) {
11231120
return supervisor.killAll(error, cb);
1124-
};
1121+
}
11251122

1126-
exports._delay = function () {
1123+
export const _delay = function () {
11271124
function setDelay(n, k) {
11281125
if (n === 0 && typeof setImmediate !== "undefined") {
11291126
return setImmediate(k);
@@ -1154,4 +1151,4 @@ exports._delay = function () {
11541151
};
11551152
}();
11561153

1157-
exports._sequential = Aff.Seq;
1154+
export const _sequential = Aff.Seq;

0 commit comments

Comments
 (0)