diff --git a/.eslintrc.json b/.eslintrc.json index cb9c786..3a97d05 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 }, "rules": { 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 7a37aff..482d00c 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 (#17 by @JordanMartinez) New features: diff --git a/bower.json b/bower.json index d959908..a4ac44f 100644 --- a/bower.json +++ b/bower.json @@ -15,7 +15,7 @@ "package.json" ], "dependencies": { - "purescript-nullable": "^5.0.0", - "purescript-web-events": "^3.0.0" + "purescript-nullable": "main", + "purescript-web-events": "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/Storage/Event/StorageEvent.js b/src/Web/Storage/Event/StorageEvent.js index fd2ccf1..91aea14 100644 --- a/src/Web/Storage/Event/StorageEvent.js +++ b/src/Web/Storage/Event/StorageEvent.js @@ -1,21 +1,19 @@ -"use strict"; - -exports._key = function (storage) { +export function _key(storage) { return storage.key; -}; +} -exports._oldValue = function (storage) { +export function _oldValue(storage) { return storage.oldValue; -}; +} -exports._newValue = function (storage) { +export function _newValue(storage) { return storage.newValue; -}; +} -exports.url = function (storage) { +export function url(storage) { return storage.url; -}; +} -exports._storageArea = function (storage) { +export function _storageArea(storage) { return storage.storageArea; -}; +} diff --git a/src/Web/Storage/Storage.js b/src/Web/Storage/Storage.js index 8d51753..16f9c3a 100644 --- a/src/Web/Storage/Storage.js +++ b/src/Web/Storage/Storage.js @@ -1,28 +1,26 @@ -"use strict"; - -exports.length = function (storage) { +export function length(storage) { return function () { return storage.length; }; -}; +} -exports._key = function (index) { +export function _key(index) { return function (storage) { return function () { return storage.key(index); }; }; -}; +} -exports._getItem = function (key) { +export function _getItem(key) { return function (storage) { return function () { return storage.getItem(key); }; }; -}; +} -exports.setItem = function (key) { +export function setItem(key) { return function (value) { return function (storage) { return function () { @@ -30,18 +28,18 @@ exports.setItem = function (key) { }; }; }; -}; +} -exports.removeItem = function (key) { +export function removeItem(key) { return function (storage) { return function () { storage.removeItem(key); }; }; -}; +} -exports.clear = function (storage) { +export function clear(storage) { return function () { storage.clear(); }; -}; +}