From 6ed575abc212c6d5ca48ed2294680e7bcd6dcb28 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Tue, 22 Mar 2022 15:05:29 -0500 Subject: [PATCH 1/9] Migrated FFI to ES modules via 'lebab' --- src/Web/Socket/Event/CloseEvent.js | 12 ++++----- src/Web/Socket/Event/MessageEvent.js | 12 ++++----- src/Web/Socket/WebSocket.js | 40 ++++++++++++++-------------- 3 files changed, 32 insertions(+), 32 deletions(-) diff --git a/src/Web/Socket/Event/CloseEvent.js b/src/Web/Socket/Event/CloseEvent.js index 88734db..bd28787 100644 --- a/src/Web/Socket/Event/CloseEvent.js +++ b/src/Web/Socket/Event/CloseEvent.js @@ -1,13 +1,13 @@ "use strict"; -exports.code = function (e) { +export function code(e) { return e.code; -}; +} -exports.reason = function (e) { +export function reason(e) { return e.reason; -}; +} -exports.wasClean = function (e) { +export function wasClean(e) { return e.wasClean; -}; +} diff --git a/src/Web/Socket/Event/MessageEvent.js b/src/Web/Socket/Event/MessageEvent.js index 62472b6..6584fe6 100644 --- a/src/Web/Socket/Event/MessageEvent.js +++ b/src/Web/Socket/Event/MessageEvent.js @@ -1,13 +1,13 @@ "use strict"; -exports.data_ = function (e) { +export function data_(e) { return e.data; -}; +} -exports.origin = function (e) { +export function origin(e) { return e.origin; -}; +} -exports.lastEventId = function (e) { +export function lastEventId(e) { return e.lastEventId; -}; +} diff --git a/src/Web/Socket/WebSocket.js b/src/Web/Socket/WebSocket.js index 77405ab..b23776a 100644 --- a/src/Web/Socket/WebSocket.js +++ b/src/Web/Socket/WebSocket.js @@ -1,67 +1,67 @@ "use strict"; -exports.create = function (url) { +export function create(url) { return function (protocols) { return function () { return new WebSocket(url, protocols); }; }; -}; +} -exports.url = function (ws) { +export function url(ws) { return function () { return ws.url; }; -}; +} -exports.readyStateImpl = function (ws) { +export function readyStateImpl(ws) { return function () { return ws.readyState; }; -}; +} -exports.bufferedAmount = function (ws) { +export function bufferedAmount(ws) { return function () { return ws.bufferedAmount; }; -}; +} -exports.extensions = function (ws) { +export function extensions(ws) { return function () { return ws.extensions; }; -}; +} -exports.protocol = function (ws) { +export function protocol(ws) { return function () { return ws.protocol; }; -}; +} -exports.close = function (ws) { +export function close(ws) { return function () { return ws.close(); }; -}; +} -exports.getBinaryTypeImpl = function (ws) { +export function getBinaryTypeImpl(ws) { return function () { return ws.binaryType; }; -}; +} -exports.setBinaryTypeImpl = function (ws) { +export function setBinaryTypeImpl(ws) { return function (bt) { return function () { ws.binaryType = bt; }; }; -}; +} -exports.sendImpl = function (ws) { +export function sendImpl(ws) { return function (value) { return function () { ws.send(value); }; }; -}; +} From fcb802f6aec4ec498b38f182a835553a5b2db156 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Tue, 22 Mar 2022 15:05:29 -0500 Subject: [PATCH 2/9] Removed '"use strict";' in FFI files --- src/Web/Socket/Event/CloseEvent.js | 2 -- src/Web/Socket/Event/MessageEvent.js | 2 -- src/Web/Socket/WebSocket.js | 2 -- 3 files changed, 6 deletions(-) diff --git a/src/Web/Socket/Event/CloseEvent.js b/src/Web/Socket/Event/CloseEvent.js index bd28787..d52f621 100644 --- a/src/Web/Socket/Event/CloseEvent.js +++ b/src/Web/Socket/Event/CloseEvent.js @@ -1,5 +1,3 @@ -"use strict"; - export function code(e) { return e.code; } diff --git a/src/Web/Socket/Event/MessageEvent.js b/src/Web/Socket/Event/MessageEvent.js index 6584fe6..a4fea20 100644 --- a/src/Web/Socket/Event/MessageEvent.js +++ b/src/Web/Socket/Event/MessageEvent.js @@ -1,5 +1,3 @@ -"use strict"; - export function data_(e) { return e.data; } diff --git a/src/Web/Socket/WebSocket.js b/src/Web/Socket/WebSocket.js index b23776a..9f5fc4d 100644 --- a/src/Web/Socket/WebSocket.js +++ b/src/Web/Socket/WebSocket.js @@ -1,5 +1,3 @@ -"use strict"; - export function create(url) { return function (protocols) { return function () { From a5260e9d1259ac3d727d5b912f2a2dcdf9abeb89 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Tue, 22 Mar 2022 15:05:29 -0500 Subject: [PATCH 3/9] Update to CI to use 'unstable' purescript --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 063845e..f5a96fe 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,6 +13,8 @@ jobs: - uses: actions/checkout@v2 - uses: purescript-contrib/setup-purescript@main + with: + purescript: "unstable" - uses: actions/setup-node@v1 with: From ffe84b9461a5ed8c55eb0b2cad95494e61b41d2b Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Tue, 22 Mar 2022 15:05:29 -0500 Subject: [PATCH 4/9] Update Bower dependencies to master or main --- bower.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bower.json b/bower.json index 4ba6908..563cd8d 100644 --- a/bower.json +++ b/bower.json @@ -15,7 +15,7 @@ "package.json" ], "dependencies": { - "purescript-arraybuffer-types": "^3.0.0", - "purescript-web-file": "^3.0.0" + "purescript-arraybuffer-types": "main", + "purescript-web-file": "master" } } From ab79600f25c8508681aa4f6adea3439dbdfc58ab Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Tue, 22 Mar 2022 15:05:29 -0500 Subject: [PATCH 5/9] Update pulp to 16.0.0-0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1c67b54..18136bd 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ }, "devDependencies": { "eslint": "^7.15.0", - "pulp": "^15.0.0", + "pulp": "16.0.0-0", "purescript-psa": "^0.8.0", "rimraf": "^3.0.2" } From bbf2f4504a8fe3e28c457712668336347e773a94 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Tue, 22 Mar 2022 15:05:29 -0500 Subject: [PATCH 6/9] Update psa to 0.8.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 18136bd..4ea39f9 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "devDependencies": { "eslint": "^7.15.0", "pulp": "16.0.0-0", - "purescript-psa": "^0.8.0", + "purescript-psa": "^0.8.2", "rimraf": "^3.0.2" } } From e242c0f9fda07a194cdb769ec5cb7891ed81f615 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Tue, 22 Mar 2022 16:30:19 -0500 Subject: [PATCH 7/9] Update .eslintrc.json to ES6 --- .eslintrc.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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": { From 70e666a4c0d55b1d14bed38a17965d49a0122725 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Tue, 22 Mar 2022 16:38:33 -0500 Subject: [PATCH 8/9] Update CI to use Node 14 --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f5a96fe..06ed895 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,9 +16,9 @@ jobs: with: purescript: "unstable" - - uses: actions/setup-node@v1 + - uses: actions/setup-node@v2 with: - node-version: "10" + node-version: "14" - name: Install dependencies run: | From 4795c3dcf97759f6ab88b5d9505744d2d3163f4a Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Tue, 22 Mar 2022 16:38:57 -0500 Subject: [PATCH 9/9] Added changelog entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6affe6a..49a9376 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 (#12 by @JordanMartinez) New features: