diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..4a207c5 --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +v20.18.3 diff --git a/lib/models/message.js b/lib/models/message.js index 40dab5b..b1646a6 100644 --- a/lib/models/message.js +++ b/lib/models/message.js @@ -1,7 +1,8 @@ 'use strict' const xml2js = require('xml2js') -const sql = require('sql').setDialect('postgres') +const { Sql } = require('sql-ts') +const sql = new Sql('postgres') const messages = sql.define({ name: 'messages', columns: ['identifier', 'msg_type', 'references', 'alert', 'fwis_code', 'expires', 'sent', 'created'] diff --git a/package-lock.json b/package-lock.json index cc2a194..f495c79 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,19 +1,19 @@ { "name": "cap-xml", - "version": "2.0.0", + "version": "2.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "cap-xml", - "version": "2.0.0", + "version": "2.1.0", "license": "OGL", "dependencies": { "feed": "4.2.2", "joi": "^17.13.3", "moment": "^2.30.1", "pg": "8.13.0", - "sql": "0.78.0", + "sql-ts": "7.1.0", "xml2js": "0.6.2" }, "devDependencies": { @@ -22,7 +22,7 @@ "standard": "17.1.2" }, "engines": { - "node": ">=18" + "node": ">=20" } }, "node_modules/@ampproject/remapping": { @@ -1124,10 +1124,11 @@ "dev": true }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -3176,6 +3177,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -4145,11 +4152,6 @@ "node": ">=8" } }, - "node_modules/sliced": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/sliced/-/sliced-0.0.5.tgz", - "integrity": "sha512-9bYT917D6H3+q8GlQBJmLVz3bc4OeVGfZ2BB12wvLnluTGfG6/8UdOUbKJDW1EEx9SZMDbjnatkau5/XcUeyOw==" - }, "node_modules/source-map": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", @@ -4186,22 +4188,24 @@ "node": ">= 10.x" } }, - "node_modules/sql": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/sql/-/sql-0.78.0.tgz", - "integrity": "sha512-+If27aF3UQxmnuF5JgTJKd/X6TiELa1f58Zo5TX9ULbPnqs1fBDODwwbtU0WwM5H3lSiwx2En4m2lB1rCoIhvQ==", + "node_modules/sql-ts": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/sql-ts/-/sql-ts-7.1.0.tgz", + "integrity": "sha512-1BZdFfFqPJ2m0Ah8KDm04Pc/MVoQP+3CLhcTaCgba2kJ5eZ/A19AmSEmJrHmD30Ciu7FRguGhNoj8RhZT0r9Dw==", + "license": "MIT", "dependencies": { - "lodash": "4.1.x", - "sliced": "0.0.x" + "lodash": "^4.17.21", + "sliced": "~1.0.x" }, "engines": { - "node": "*" + "node": "^18 || ^20 || >=22" } }, - "node_modules/sql/node_modules/lodash": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.1.0.tgz", - "integrity": "sha512-B9sgtKUlz0xe7lkYb80BcOpwwJJw5iOiz4HkBDzF0+i5nJLiwfBnL08m7bBkCOPBfi+0aqvrJDMdZDfAvs8vYg==" + "node_modules/sql-ts/node_modules/sliced": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz", + "integrity": "sha512-VZBmZP8WU3sMOZm1bdgTadsQbcscK0UM8oKxKVBs4XAhUo2Xxzm/OFMGBkPusxw9xL3Uy8LrzEqGqJhclsr0yA==", + "license": "MIT" }, "node_modules/standard": { "version": "17.1.2", diff --git a/package.json b/package.json index 0ca6fcb..ad12cfb 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,9 @@ { "name": "cap-xml", - "version": "2.0.0", + "version": "2.1.0", "description": "CAP XML service", "engines": { - "node": ">=18" + "node": ">=20" }, "main": "handler.js", "scripts": { @@ -21,7 +21,7 @@ "joi": "^17.13.3", "moment": "^2.30.1", "pg": "8.13.0", - "sql": "0.78.0", + "sql-ts": "7.1.0", "xml2js": "0.6.2" }, "devDependencies": { diff --git a/readme.md b/readme.md index 0de9633..bc126e5 100644 --- a/readme.md +++ b/readme.md @@ -6,6 +6,10 @@ This project provides CAP XML services through the use of AWS Lambda. +## Prerequisites + +- **Node.js 20** or higher + ## Installing `npm install`