From 1ae93d9cc4c07ed953c17cb5e08a24f9aa4c3b77 Mon Sep 17 00:00:00 2001 From: sigma-andex Date: Fri, 18 Feb 2022 21:04:13 +0000 Subject: [PATCH 01/11] Add support for es modules --- src/Node/HTTP.js | 42 ++++++++++++++++++++--------------------- src/Node/HTTP/Client.js | 12 ++++++------ src/Node/HTTP/Secure.js | 6 +++--- test/Main.js | 2 +- 4 files changed, 31 insertions(+), 31 deletions(-) diff --git a/src/Node/HTTP.js b/src/Node/HTTP.js index aa2f72d..e371efb 100644 --- a/src/Node/HTTP.js +++ b/src/Node/HTTP.js @@ -1,16 +1,16 @@ "use strict"; -var http = require("http"); +import http from "http"; -exports.createServer = function (handleRequest) { +export function createServer(handleRequest) { return function () { return http.createServer(function (req, res) { handleRequest(req)(res)(); }); }; -}; +} -exports.listenImpl = function (server) { +export function listenImpl(server) { return function (port) { return function (hostname) { return function (backlog) { @@ -26,17 +26,17 @@ exports.listenImpl = function (server) { }; }; }; -}; +} -exports.closeImpl = function (server) { +export function closeImpl(server) { return function (done) { return function () { server.close(done); }; }; -}; +} -exports.listenSocket = function (server) { +export function listenSocket(server) { return function (path) { return function (done) { return function () { @@ -44,9 +44,9 @@ exports.listenSocket = function (server) { }; }; }; -}; +} -exports.onConnect = function (server) { +export function onConnect(server) { return function (cb) { return function () { server.on("connect", function (req, socket, buffer) { @@ -54,9 +54,9 @@ exports.onConnect = function (server) { }); }; }; -}; +} -exports.onUpgrade = function (server) { +export function onUpgrade(server) { return function (cb) { return function () { server.on("upgrade", function (req, socket, buffer) { @@ -64,9 +64,9 @@ exports.onUpgrade = function (server) { }); }; }; -}; +} -exports.setHeader = function (res) { +export function setHeader(res) { return function (key) { return function (value) { return function () { @@ -74,9 +74,9 @@ exports.setHeader = function (res) { }; }; }; -}; +} -exports.setHeaders = function (res) { +export function setHeaders(res) { return function (key) { return function (values) { return function () { @@ -84,20 +84,20 @@ exports.setHeaders = function (res) { }; }; }; -}; +} -exports.setStatusCode = function (res) { +export function setStatusCode(res) { return function (code) { return function () { res.statusCode = code; }; }; -}; +} -exports.setStatusMessage = function (res) { +export function setStatusMessage(res) { return function (message) { return function () { res.statusMessage = message; }; }; -}; +} diff --git a/src/Node/HTTP/Client.js b/src/Node/HTTP/Client.js index 59bddd5..ce5cdc3 100644 --- a/src/Node/HTTP/Client.js +++ b/src/Node/HTTP/Client.js @@ -1,9 +1,9 @@ "use strict"; -var http = require("http"); -var https = require("https"); +import http from "http"; +import https from "https"; -exports.requestImpl = function (opts) { +export function requestImpl(opts) { return function (k) { return function () { var lib = opts.protocol === "https:" ? https : http; @@ -12,9 +12,9 @@ exports.requestImpl = function (opts) { }); }; }; -}; +} -exports.setTimeout = function (r) { +export function setTimeout(r) { return function (ms) { return function (k) { return function () { @@ -22,4 +22,4 @@ exports.setTimeout = function (r) { }; }; }; -}; +} diff --git a/src/Node/HTTP/Secure.js b/src/Node/HTTP/Secure.js index 5912654..0108f6f 100644 --- a/src/Node/HTTP/Secure.js +++ b/src/Node/HTTP/Secure.js @@ -1,8 +1,8 @@ "use strict"; -var https = require("https"); +import https from "https"; -exports.createServerImpl = function (options) { +export function createServerImpl(options) { return function (handleRequest) { return function () { return https.createServer(options, function (req, res) { @@ -10,4 +10,4 @@ exports.createServerImpl = function (options) { }); }; }; -}; +} diff --git a/test/Main.js b/test/Main.js index 59240b1..0167a9e 100644 --- a/test/Main.js +++ b/test/Main.js @@ -1,3 +1,3 @@ "use strict"; -exports.stdout = process.stdout; +export var stdout = process.stdout; From c825463ed8fab786d5ac2977b8d2f1579a98de06 Mon Sep 17 00:00:00 2001 From: sigma-andex Date: Wed, 23 Mar 2022 14:38:35 +0000 Subject: [PATCH 02/11] Replaced 'export var' with 'export const' --- test/Main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Main.js b/test/Main.js index 0167a9e..a430060 100644 --- a/test/Main.js +++ b/test/Main.js @@ -1,3 +1,3 @@ "use strict"; -export var stdout = process.stdout; +export const stdout = process.stdout; From e5847b3d7fbcd34ed9646bd1d0d99289c8be4f59 Mon Sep 17 00:00:00 2001 From: sigma-andex Date: Wed, 23 Mar 2022 14:38:35 +0000 Subject: [PATCH 03/11] Removed '"use strict";' in FFI files --- src/Node/HTTP.js | 2 -- src/Node/HTTP/Client.js | 2 -- src/Node/HTTP/Secure.js | 2 -- test/Main.js | 2 -- 4 files changed, 8 deletions(-) diff --git a/src/Node/HTTP.js b/src/Node/HTTP.js index e371efb..85881a4 100644 --- a/src/Node/HTTP.js +++ b/src/Node/HTTP.js @@ -1,5 +1,3 @@ -"use strict"; - import http from "http"; export function createServer(handleRequest) { diff --git a/src/Node/HTTP/Client.js b/src/Node/HTTP/Client.js index ce5cdc3..5aba645 100644 --- a/src/Node/HTTP/Client.js +++ b/src/Node/HTTP/Client.js @@ -1,5 +1,3 @@ -"use strict"; - import http from "http"; import https from "https"; diff --git a/src/Node/HTTP/Secure.js b/src/Node/HTTP/Secure.js index 0108f6f..1814fd7 100644 --- a/src/Node/HTTP/Secure.js +++ b/src/Node/HTTP/Secure.js @@ -1,5 +1,3 @@ -"use strict"; - import https from "https"; export function createServerImpl(options) { diff --git a/test/Main.js b/test/Main.js index a430060..8c3e2b4 100644 --- a/test/Main.js +++ b/test/Main.js @@ -1,3 +1 @@ -"use strict"; - export const stdout = process.stdout; From 0ea0104e0f2ee5dec89c91ceeb6786d8588a6043 Mon Sep 17 00:00:00 2001 From: sigma-andex Date: Wed, 23 Mar 2022 14:38:35 +0000 Subject: [PATCH 04/11] 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 2f18f83..acebfa2 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 adf16b62b60900970dfcf5b65b368328939ff341 Mon Sep 17 00:00:00 2001 From: sigma-andex Date: Wed, 23 Mar 2022 14:38:35 +0000 Subject: [PATCH 05/11] Update Bower dependencies to master or main --- bower.json | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/bower.json b/bower.json index 2901a12..6abf887 100644 --- a/bower.json +++ b/bower.json @@ -12,22 +12,22 @@ "url": "https://github.com/purescript-node/purescript-node-http.git" }, "devDependencies": { - "purescript-console": "^5.0.0" + "purescript-console": "master" }, "dependencies": { - "purescript-arraybuffer-types": "^3.0.0", - "purescript-contravariant": "^5.0.0", - "purescript-effect": "^3.0.0", - "purescript-foreign": "^6.0.0", - "purescript-foreign-object": "^3.0.0", - "purescript-maybe": "^5.0.0", + "purescript-arraybuffer-types": "main", + "purescript-contravariant": "master", + "purescript-effect": "master", + "purescript-foreign": "master", + "purescript-foreign-object": "master", + "purescript-maybe": "master", "purescript-node-buffer": "^7.0.0", "purescript-node-net": "^2.0.0", "purescript-node-streams": "^5.0.0", "purescript-node-url": "^5.0.0", - "purescript-nullable": "^5.0.0", - "purescript-options": "^6.0.0", - "purescript-prelude": "^5.0.0", - "purescript-unsafe-coerce": "^5.0.0" + "purescript-nullable": "main", + "purescript-options": "main", + "purescript-prelude": "master", + "purescript-unsafe-coerce": "master" } } From eedb79f5f3c9c777992df49ac689743a4e9bb03c Mon Sep 17 00:00:00 2001 From: sigma-andex Date: Wed, 23 Mar 2022 14:38:35 +0000 Subject: [PATCH 06/11] 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 63f9f51..784caa5 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,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 14440f2228a35d40c9643b1cb6197428fd105116 Mon Sep 17 00:00:00 2001 From: sigma-andex Date: Wed, 23 Mar 2022 14:38:35 +0000 Subject: [PATCH 07/11] 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 784caa5..c08ce8f 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,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 a1c222b92662f1e55f6872b04aeb35bf11778b89 Mon Sep 17 00:00:00 2001 From: sigma-andex Date: Wed, 23 Mar 2022 14:39:38 +0000 Subject: [PATCH 08/11] Update Bower dependencies to master or main --- bower.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bower.json b/bower.json index 6abf887..3304ccd 100644 --- a/bower.json +++ b/bower.json @@ -21,10 +21,10 @@ "purescript-foreign": "master", "purescript-foreign-object": "master", "purescript-maybe": "master", - "purescript-node-buffer": "^7.0.0", - "purescript-node-net": "^2.0.0", - "purescript-node-streams": "^5.0.0", - "purescript-node-url": "^5.0.0", + "purescript-node-buffer": "master", + "purescript-node-net": "master", + "purescript-node-streams": "master", + "purescript-node-url": "master", "purescript-nullable": "main", "purescript-options": "main", "purescript-prelude": "master", From dc1ef44c20a29ba975f9eb5824b67314181593e9 Mon Sep 17 00:00:00 2001 From: sigma-andex Date: Wed, 23 Mar 2022 14:41:13 +0000 Subject: [PATCH 09/11] Update eslintrc --- .eslintrc.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 84cef4f..7b219e5 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,10 +1,11 @@ { "parserOptions": { - "ecmaVersion": 5 + "ecmaVersion": 6, + "sourceType": "module" }, "extends": "eslint:recommended", "env": { - "commonjs": true + "node": true }, "rules": { "strict": [2, "global"], From 62b4c775dd3f413e9e5a972ca4c471d4eab22f57 Mon Sep 17 00:00:00 2001 From: sigma-andex Date: Wed, 23 Mar 2022 14:41:22 +0000 Subject: [PATCH 10/11] Update ci.yml to v2 --- .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 acebfa2..4e91e9a 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 5594a46251cf39ed99ab8ebc33a1ce032560de03 Mon Sep 17 00:00:00 2001 From: sigma-andex Date: Wed, 23 Mar 2022 14:47:32 +0000 Subject: [PATCH 11/11] Update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a23eda9..07da869 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: +- Update project and deps to PureScript v0.15.0 (#41 by @JordanMartinez, @sigma-andex) New features: