Browse Source

Upgrade to last ricochetjs with ESM supports

Jeremie Pardou-Piquemal 1 year ago
parent
commit
92f0735b38

File diff suppressed because it is too large
+ 1489 - 832
backend/package-lock.json


+ 7 - 5
backend/package.json

@@ -3,6 +3,8 @@
   "version": "0.1.0",
   "description": "Backend files for Airboardgame executed by Ricochet.js",
   "main": "index.js",
+  "type": "module",
+  "exports": "./src/index.js",
   "scripts": {
     "watch": "webpack --config webpack.watch.js",
     "serve": "webpack serve --config webpack.development.js",
@@ -26,10 +28,10 @@
     "concurrently": "^7.2.1",
     "dotenv-webpack": "^7.1.0",
     "pino-tiny": "^1.1.2",
-    "ricochetjs": "^1.3.2",
+    "ricochetjs": "^1.5.2",
     "transform-loader": "^0.2.4",
-    "webpack": "^5.73.0",
-    "webpack-cli": "^4.9.2",
+    "webpack": "^5.74.0",
+    "webpack-cli": "^4.10.0",
     "webpack-dev-server": "^3.11.2",
     "webpack-plugin-localtunnel": "^1.0.3"
   },
@@ -37,7 +39,7 @@
     "@seald-io/nedb": "^2.2.0",
     "btoa": "^1.2.1",
     "dotenv": "^8.2.0",
-    "mongodb": "^3.7.3",
-    "node-fetch": "^2.6.1"
+    "mongodb": "^4.8.1",
+    "node-fetch": "^2.6.2"
   }
 }

+ 1 - 1
backend/src/hooks.js

@@ -1,4 +1,4 @@
-import { throwError } from "./utils";
+import { throwError } from "./utils.js";
 
 export const ownerOrAdminOrNewHooks = async (context) => {
   let existingGame = null;

+ 2 - 2
backend/src/index.js

@@ -2,8 +2,8 @@ import {
   ownerOrAdminOrNewHooks,
   onlySelfOrPublicGames,
   onlySelfUser,
-} from "./hooks";
-import getConfToken from "./getConfToken";
+} from "./hooks.js";
+import getConfToken from "./getConfToken.js";
 
 const SESSION_DURATION = 60; // Session duration in days
 

+ 13 - 8
backend/webpack.common.js

@@ -1,9 +1,14 @@
-const path = require("path");
-require("dotenv").config({
-  path: path.join(__dirname, ".env"),
+import path from "path";
+import dotenv from "dotenv";
+import Dotenv from "dotenv-webpack";
+import EncryptPlugin from "ricochetjs/encrypt-webpack-plugin";
+import { fileURLToPath } from "url";
+
+const dirname = path.dirname(fileURLToPath(import.meta.url));
+
+dotenv.config({
+  path: path.join(dirname, ".env"),
 });
-const EncryptPlugin = require("ricochetjs").EncryptPlugin;
-const Dotenv = require("dotenv-webpack");
 
 const SECRET_KEY = process.env.RICOCHET_SITE_KEY;
 
@@ -15,15 +20,15 @@ if (!SECRET_KEY) {
   process.exit(-1);
 }
 
-module.exports = {
+export default {
   entry: "./src/index.js",
   target: "node",
   devtool: false,
   output: {
-    path: path.resolve(__dirname, "../public"),
+    path: path.resolve(dirname, "../public"),
     filename: "ricochet.json",
     library: {
-      type: "commonjs",
+      type: "commonjs2",
     },
   },
   plugins: [

+ 4 - 4
backend/webpack.development.js

@@ -1,8 +1,8 @@
-const path = require("path");
-const { merge } = require("webpack-merge");
-const common = require("./webpack.common.js");
+import path from "path";
+import { merge } from "webpack-merge";
+import common from "./webpack.common.js";
 
-module.exports = merge(common, {
+export default merge(common, {
   mode: "development",
   watchOptions: {
     ignored: ["node_modules/**"],

+ 3 - 3
backend/webpack.production.js

@@ -1,6 +1,6 @@
-const { merge } = require("webpack-merge");
-const common = require("./webpack.common.js");
+import { merge } from "webpack-merge";
+import common from "./webpack.common.js";
 
-module.exports = merge(common, {
+export default merge(common, {
   mode: "production",
 });

+ 11 - 8
backend/webpack.tunnel.js

@@ -1,22 +1,25 @@
-const path = require("path");
-const { merge } = require("webpack-merge");
-const common = require("./webpack.common.js");
-const LocaltunnelPlugin = require("webpack-plugin-localtunnel");
+import path from "path";
+import { merge } from "webpack-merge";
+import common from "./webpack.common.js";
+import LocalTunnelPlugin from "webpack-plugin-localtunnel";
+import { fileURLToPath } from "url";
+
+const dirname = path.dirname(fileURLToPath(import.meta.url));
 
 const prefix =
-  process.env.TUNNEL_PREFIX || Math.random().toString().substr(2, 8);
+  process.env.TUNNEL_PREFIX || Math.random().toString().substring(2, 10);
 
-module.exports = merge(common, {
+export default merge(common, {
   mode: "development",
   watchOptions: {
     ignored: ["node_modules/**"],
   },
   devServer: {
-    contentBase: path.join(__dirname, "dist"),
+    contentBase: path.join(dirname, "dist"),
     public: prefix + "-ricochet.loca.lt",
     compress: true,
     allowedHosts: [".loca.lt"],
     port: 9000,
   },
-  plugins: [new LocaltunnelPlugin({ subdomain: prefix + "-ricochet" })],
+  plugins: [new LocalTunnelPlugin({ subdomain: prefix + "-ricochet" })],
 });

+ 3 - 3
backend/webpack.watch.js

@@ -1,7 +1,7 @@
-const { merge } = require("webpack-merge");
-const common = require("./webpack.common.js");
+import { merge } from "webpack-merge";
+import common from "./webpack.common.js";
 
-module.exports = merge(common, {
+export default merge(common, {
   mode: "development",
   watch: true,
   watchOptions: {

+ 0 - 139
package-lock.json

@@ -67,7 +67,6 @@
         "eslint-plugin-react-hooks": "^4.2.0",
         "http-proxy-middleware": "^2.0.0",
         "i18next-scanner": "^3.0.0",
-        "node-fetch": "^3.1.1",
         "prettier": "2.0.5",
         "rollup-plugin-analyzer": "^4.0.0",
         "vite": "^2.2.4",
@@ -4171,15 +4170,6 @@
         "node": ">=0.10"
       }
     },
-    "node_modules/data-uri-to-buffer": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz",
-      "integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==",
-      "dev": true,
-      "engines": {
-        "node": ">= 12"
-      }
-    },
     "node_modules/dayjs": {
       "version": "1.11.0",
       "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.0.tgz",
@@ -5487,29 +5477,6 @@
         "pend": "~1.2.0"
       }
     },
-    "node_modules/fetch-blob": {
-      "version": "3.1.5",
-      "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.1.5.tgz",
-      "integrity": "sha512-N64ZpKqoLejlrwkIAnb9iLSA3Vx/kjgzpcDhygcqJ2KKjky8nCgUQ+dzXtbrLaWZGZNmNfQTsiQ0weZ1svglHg==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/jimmywarting"
-        },
-        {
-          "type": "paypal",
-          "url": "https://paypal.me/jimmywarting"
-        }
-      ],
-      "dependencies": {
-        "node-domexception": "^1.0.0",
-        "web-streams-polyfill": "^3.0.3"
-      },
-      "engines": {
-        "node": "^12.20 || >= 14.13"
-      }
-    },
     "node_modules/figures": {
       "version": "3.2.0",
       "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
@@ -5718,18 +5685,6 @@
         "node": ">= 0.12"
       }
     },
-    "node_modules/formdata-polyfill": {
-      "version": "4.0.10",
-      "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz",
-      "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==",
-      "dev": true,
-      "dependencies": {
-        "fetch-blob": "^3.1.2"
-      },
-      "engines": {
-        "node": ">=12.20.0"
-      }
-    },
     "node_modules/freeice": {
       "version": "2.2.2",
       "resolved": "https://registry.npmjs.org/freeice/-/freeice-2.2.2.tgz",
@@ -7811,25 +7766,6 @@
       "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz",
       "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ=="
     },
-    "node_modules/node-domexception": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz",
-      "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/jimmywarting"
-        },
-        {
-          "type": "github",
-          "url": "https://paypal.me/jimmywarting"
-        }
-      ],
-      "engines": {
-        "node": ">=10.5.0"
-      }
-    },
     "node_modules/node-environment-flags": {
       "version": "1.0.6",
       "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz",
@@ -7849,24 +7785,6 @@
         "semver": "bin/semver"
       }
     },
-    "node_modules/node-fetch": {
-      "version": "3.2.3",
-      "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.3.tgz",
-      "integrity": "sha512-AXP18u4pidSZ1xYXRDPY/8jdv3RAozIt/WLNR/MBGZAz+xjtlr90RvCnsvHQRiXyWliZF/CpytExp32UU67/SA==",
-      "dev": true,
-      "dependencies": {
-        "data-uri-to-buffer": "^4.0.0",
-        "fetch-blob": "^3.1.4",
-        "formdata-polyfill": "^4.0.10"
-      },
-      "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/node-fetch"
-      }
-    },
     "node_modules/node-releases": {
       "version": "2.0.3",
       "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.3.tgz",
@@ -10553,15 +10471,6 @@
         "npm": ">=2.0.0"
       }
     },
-    "node_modules/web-streams-polyfill": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz",
-      "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==",
-      "dev": true,
-      "engines": {
-        "node": ">= 8"
-      }
-    },
     "node_modules/which": {
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
@@ -13753,12 +13662,6 @@
         "assert-plus": "^1.0.0"
       }
     },
-    "data-uri-to-buffer": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz",
-      "integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==",
-      "dev": true
-    },
     "dayjs": {
       "version": "1.11.0",
       "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.0.tgz",
@@ -14675,16 +14578,6 @@
         "pend": "~1.2.0"
       }
     },
-    "fetch-blob": {
-      "version": "3.1.5",
-      "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.1.5.tgz",
-      "integrity": "sha512-N64ZpKqoLejlrwkIAnb9iLSA3Vx/kjgzpcDhygcqJ2KKjky8nCgUQ+dzXtbrLaWZGZNmNfQTsiQ0weZ1svglHg==",
-      "dev": true,
-      "requires": {
-        "node-domexception": "^1.0.0",
-        "web-streams-polyfill": "^3.0.3"
-      }
-    },
     "figures": {
       "version": "3.2.0",
       "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
@@ -14847,15 +14740,6 @@
         "mime-types": "^2.1.12"
       }
     },
-    "formdata-polyfill": {
-      "version": "4.0.10",
-      "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz",
-      "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==",
-      "dev": true,
-      "requires": {
-        "fetch-blob": "^3.1.2"
-      }
-    },
     "freeice": {
       "version": "2.2.2",
       "resolved": "https://registry.npmjs.org/freeice/-/freeice-2.2.2.tgz",
@@ -16466,12 +16350,6 @@
       "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz",
       "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ=="
     },
-    "node-domexception": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz",
-      "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==",
-      "dev": true
-    },
     "node-environment-flags": {
       "version": "1.0.6",
       "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz",
@@ -16490,17 +16368,6 @@
         }
       }
     },
-    "node-fetch": {
-      "version": "3.2.3",
-      "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.3.tgz",
-      "integrity": "sha512-AXP18u4pidSZ1xYXRDPY/8jdv3RAozIt/WLNR/MBGZAz+xjtlr90RvCnsvHQRiXyWliZF/CpytExp32UU67/SA==",
-      "dev": true,
-      "requires": {
-        "data-uri-to-buffer": "^4.0.0",
-        "fetch-blob": "^3.1.4",
-        "formdata-polyfill": "^4.0.10"
-      }
-    },
     "node-releases": {
       "version": "2.0.3",
       "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.3.tgz",
@@ -18594,12 +18461,6 @@
         }
       }
     },
-    "web-streams-polyfill": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz",
-      "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==",
-      "dev": true
-    },
     "which": {
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",

+ 0 - 1
package.json

@@ -87,7 +87,6 @@
     "eslint-plugin-react-hooks": "^4.2.0",
     "http-proxy-middleware": "^2.0.0",
     "i18next-scanner": "^3.0.0",
-    "node-fetch": "^3.1.1",
     "prettier": "2.0.5",
     "rollup-plugin-analyzer": "^4.0.0",
     "vite": "^2.2.4",

Some files were not shown because too many files changed in this diff