diff --git a/.eslintrc.json b/.eslintrc.json index 65496fa..6dd17f6 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,10 +1,10 @@ { "parserOptions": { - "ecmaVersion": 5 + "ecmaVersion": 6, + "sourceType": "module" }, "extends": "eslint:recommended", "env": { - "commonjs": true, "browser": true }, "globals": { diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 063845e..06ed895 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,10 +13,12 @@ jobs: - uses: actions/checkout@v2 - uses: purescript-contrib/setup-purescript@main + with: + purescript: "unstable" - - uses: actions/setup-node@v1 + - uses: actions/setup-node@v2 with: - node-version: "10" + node-version: "14" - name: Install dependencies run: | diff --git a/CHANGELOG.md b/CHANGELOG.md index d60d0e0..a52cba2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ Notable changes to this project are documented in this file. The format is based ## [Unreleased] Breaking changes: +- Migrate FFI to ES modules (#14 by @JordanMartinez) New features: diff --git a/bower.json b/bower.json index 060778b..7cc1da9 100644 --- a/bower.json +++ b/bower.json @@ -13,11 +13,11 @@ "output" ], "dependencies": { - "purescript-effect": "^3.0.0", - "purescript-exceptions": "^5.0.0", - "purescript-functions": "^5.0.0", - "purescript-maybe": "^5.0.0", - "purescript-prelude": "^5.0.0", - "purescript-foldable-traversable": "^5.0.0" + "purescript-effect": "master", + "purescript-exceptions": "master", + "purescript-functions": "master", + "purescript-maybe": "master", + "purescript-prelude": "master", + "purescript-foldable-traversable": "master" } } diff --git a/package.json b/package.json index 1c67b54..4ea39f9 100644 --- a/package.json +++ b/package.json @@ -6,8 +6,8 @@ }, "devDependencies": { "eslint": "^7.15.0", - "pulp": "^15.0.0", - "purescript-psa": "^0.8.0", + "pulp": "16.0.0-0", + "purescript-psa": "^0.8.2", "rimraf": "^3.0.2" } } diff --git a/src/Web/Promise/Internal.js b/src/Web/Promise/Internal.js index 4cc44d7..f3b6e8a 100644 --- a/src/Web/Promise/Internal.js +++ b/src/Web/Promise/Internal.js @@ -1,33 +1,34 @@ -"use strict"; - -exports.new = function(k) { +const newImpl = function (k) { return new Promise(k); }; +export { newImpl as new }; -exports.then_ = function(k, p) { +export function then_(k, p) { return p.then(k); -}; +} -exports.catch = function(k, p) { +const catchImpl = function (k, p) { return p.catch(k); }; +export { catchImpl as catch }; -exports.finally = function(k, p) { +const finallyImpl = function (k, p) { return p.finally(k); }; +export { finallyImpl as finally }; -exports.resolve = function(a) { +export function resolve(a) { return Promise.resolve(a); -}; +} -exports.reject = function(a) { +export function reject(a) { return Promise.reject(a); -}; +} -exports.all = function(a) { +export function all(a) { return Promise.all(a); -}; +} -exports.race = function(a) { +export function race(a) { return Promise.race(a); -}; +} diff --git a/src/Web/Promise/Rejection.js b/src/Web/Promise/Rejection.js index 3c8ea75..83dcb67 100644 --- a/src/Web/Promise/Rejection.js +++ b/src/Web/Promise/Rejection.js @@ -1,12 +1,10 @@ -"use strict"; - -exports.fromError = function(a) { +export function fromError(a) { return a; -}; +} -exports._toError = function(just, nothing, ref) { +export function _toError(just, nothing, ref) { if (ref instanceof Error) { return just(ref); } return nothing; -}; +}