diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..9158a6f --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +v22.15.0 diff --git a/index.js b/index.js index 4c6d122..c991be8 100644 --- a/index.js +++ b/index.js @@ -1,13 +1,13 @@ -const express = require('express'); -const rateLimit = require('express-rate-limit'); -const fs = require('fs'); +import { readFile } from "node:fs/promises"; +import express from "express"; +import rateLimit from "express-rate-limit"; const app = express(); app.set('trust proxy', true); const PORT = process.env.PORT || 3000; // Load reasons from JSON -const reasons = JSON.parse(fs.readFileSync('./reasons.json', 'utf-8')); +const reasons = JSON.parse(await readFile('./reasons.json', 'utf-8')); // Rate limiter: 120 requests per minute per IP const limiter = rateLimit({ diff --git a/package.json b/package.json index 0acd886..098d289 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "version": "1.0.0", "description": "A lightweight API that returns random rejection or no reasons.", "main": "index.js", + "type": "module", "scripts": { "start": "node index.js" }, @@ -11,5 +12,8 @@ "dependencies": { "express": "^4.18.2", "express-rate-limit": "^7.0.0" + }, + "engines": { + "node": ">=22.15.0" } }