diff --git a/package-lock.json b/package-lock.json index ab8cf6f..c55b13f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,16 +5,16 @@ "packages": { "": { "dependencies": { - "@radically-straightforward/production": "^1.0.32", + "@radically-straightforward/production": "^1.0.33", "crypto-random-string": "^5.0.0", "mailparser": "^3.7.2", "smtp-server": "^3.13.6" }, "devDependencies": { "@fontsource-variable/roboto-flex": "^5.1.1", - "@radically-straightforward/development": "^1.0.48", + "@radically-straightforward/development": "^1.0.50", "@types/mailparser": "^3.4.5", - "@types/node": "^22.10.9", + "@types/node": "^22.13.0", "@types/nodemailer": "^6.4.17", "@types/smtp-server": "^3.5.10", "bootstrap-icons": "^1.11.3", @@ -54,9 +54,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.2.tgz", - "integrity": "sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.5.tgz", + "integrity": "sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==", "dev": true, "license": "MIT", "engines": { @@ -64,22 +64,22 @@ } }, "node_modules/@babel/core": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", - "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.7.tgz", + "integrity": "sha512-SRijHmF0PSPgLIBYlWnG0hyeJLwXE2CgpsXaMOrtt2yp9/86ALw6oUlj9KYuZ0JN07T4eBMVIW4li/9S1j2BGA==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.26.0", - "@babel/generator": "^7.26.0", - "@babel/helper-compilation-targets": "^7.25.9", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.5", + "@babel/helper-compilation-targets": "^7.26.5", "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.0", - "@babel/parser": "^7.26.0", + "@babel/helpers": "^7.26.7", + "@babel/parser": "^7.26.7", "@babel/template": "^7.25.9", - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.26.0", + "@babel/traverse": "^7.26.7", + "@babel/types": "^7.26.7", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -112,13 +112,13 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", - "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", + "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.25.9", + "@babel/compat-data": "^7.26.5", "@babel/helper-validator-option": "^7.25.9", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", @@ -191,27 +191,27 @@ } }, "node_modules/@babel/helpers": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz", - "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.7.tgz", + "integrity": "sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==", "dev": true, "license": "MIT", "dependencies": { "@babel/template": "^7.25.9", - "@babel/types": "^7.26.0" + "@babel/types": "^7.26.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.5.tgz", - "integrity": "sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==", + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.7.tgz", + "integrity": "sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.26.5" + "@babel/types": "^7.26.7" }, "bin": { "parser": "bin/babel-parser.js" @@ -236,17 +236,17 @@ } }, "node_modules/@babel/traverse": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.9.tgz", - "integrity": "sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==", + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.7.tgz", + "integrity": "sha512-1x1sgeyRLC3r5fQOM0/xtQKsYjyxmFjaOrLJNtZ81inNjyJHGIolTULPiSc/2qe1/qfpFLisLQYFnnZl7QoedA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.25.9", - "@babel/generator": "^7.25.9", - "@babel/parser": "^7.25.9", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.5", + "@babel/parser": "^7.26.7", "@babel/template": "^7.25.9", - "@babel/types": "^7.25.9", + "@babel/types": "^7.26.7", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -255,9 +255,9 @@ } }, "node_modules/@babel/types": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.5.tgz", - "integrity": "sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==", + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.7.tgz", + "integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==", "dev": true, "license": "MIT", "dependencies": { @@ -970,9 +970,9 @@ } }, "node_modules/@radically-straightforward/build": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@radically-straightforward/build/-/build-2.0.8.tgz", - "integrity": "sha512-dvzOB1YHG7eCZZ/AsAXJ5j0Ah8SvvU0BVuA9/6lvO86NvhIpn1T4RJR2d/RaL7WTzIo0cKCxjGwresgMu+47wA==", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@radically-straightforward/build/-/build-2.0.9.tgz", + "integrity": "sha512-urVpSRX6j88LFbGhydxIJLN+S+zDgRxcCORlCTY4nawZoZckQhUmRhPzAtzQlEGtj6vgRZDXysbfshStteFgUQ==", "dev": true, "funding": [ "https://patreon.com/leafac", @@ -982,14 +982,15 @@ ], "license": "MIT", "dependencies": { - "@babel/core": "^7.26.0", + "@babel/core": "^7.26.7", "@babel/generator": "^7.26.5", "@csstools/postcss-light-dark-function": "^2.0.7", "@radically-straightforward/css": "^3.0.0", - "@radically-straightforward/javascript": "^4.0.13", + "@radically-straightforward/javascript": "^4.0.14", "base-x": "^5.0.0", "esbuild": "^0.24.2", "globby": "^14.0.2", + "make-synchronized": "^0.2.9", "postcss": "^8.5.1", "prettier": "^3.4.2", "xxhash-addon": "^2.0.3" @@ -999,9 +1000,9 @@ } }, "node_modules/@radically-straightforward/caddy": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@radically-straightforward/caddy/-/caddy-2.0.4.tgz", - "integrity": "sha512-6jTUAwraG4cmiadhyTJUi3J7rvoZpmMoyLrz/x4s2Mv35QbQgdkSfkLJXZ/W66GYnckwJHRIDZ8PsoFsShEkog==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@radically-straightforward/caddy/-/caddy-2.0.5.tgz", + "integrity": "sha512-m/qEPwAZJ1zL7ZLMt6GF3IIRI/671Jsa/L0KbHBysE9/iFGjjVKYrzqYtjSxARTUgVBi+f4N/W4sEQgTcTjQqA==", "funding": [ "https://patreon.com/leafac", "https://github.com/sponsors/leafac", @@ -1031,9 +1032,9 @@ "license": "MIT" }, "node_modules/@radically-straightforward/development": { - "version": "1.0.48", - "resolved": "https://registry.npmjs.org/@radically-straightforward/development/-/development-1.0.48.tgz", - "integrity": "sha512-0/Zor2xBF2pA6SzZluAn+a96KJGZtcW17RpcrOlp8Ni5i0Y9ARU+w1eBp90n0HGhDx/fb8WRr6QLMcPezUFFBw==", + "version": "1.0.50", + "resolved": "https://registry.npmjs.org/@radically-straightforward/development/-/development-1.0.50.tgz", + "integrity": "sha512-Zh6XRz+2H7shVEMWlLeVNfeZuCgyHS+vzv//C++PqIjJnrSsGu8e2yul0LvZOvgiByMf6LHVAM7jPUdlt3mPQw==", "dev": true, "funding": [ "https://patreon.com/leafac", @@ -1043,10 +1044,10 @@ ], "license": "MIT", "dependencies": { - "@radically-straightforward/build": "^2.0.8", + "@radically-straightforward/build": "^2.0.9", "@radically-straightforward/css": "^3.0.0", "@radically-straightforward/documentation": "^1.0.4", - "@radically-straightforward/javascript": "^4.0.13", + "@radically-straightforward/javascript": "^4.0.14", "@radically-straightforward/package": "^2.0.1", "@radically-straightforward/typescript": "^1.0.0" } @@ -1103,9 +1104,9 @@ "license": "MIT" }, "node_modules/@radically-straightforward/javascript": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/@radically-straightforward/javascript/-/javascript-4.0.13.tgz", - "integrity": "sha512-gMx/murapnygOPKc7SXwr/H/c5tB2Jx9sUjJjCtWIipo1p4EIrX4u950f2if7je6uFqZ5ulmPL56CW9dK55VEA==", + "version": "4.0.14", + "resolved": "https://registry.npmjs.org/@radically-straightforward/javascript/-/javascript-4.0.14.tgz", + "integrity": "sha512-cQZifAfpnRjdPUggYvSMZmGmevno2OzPkaEvmJfW0iqvXCea3QvWcu8dOk/CPZxPlHHLOQ560AlkyPo9vi2Tcg==", "dev": true, "funding": [ "https://patreon.com/leafac", @@ -1158,9 +1159,9 @@ } }, "node_modules/@radically-straightforward/production": { - "version": "1.0.32", - "resolved": "https://registry.npmjs.org/@radically-straightforward/production/-/production-1.0.32.tgz", - "integrity": "sha512-DbjnEhycpBkTA5X28GqoEV3RBoX8mScFOVufjvmxLwMT8C4hQ2zDXYkVZRH8ib4BK5Uu57BPQEyPCcPJTB70Eg==", + "version": "1.0.33", + "resolved": "https://registry.npmjs.org/@radically-straightforward/production/-/production-1.0.33.tgz", + "integrity": "sha512-lz81Kshv07dxN/g2JF0cUSGHxt/IzvfYEuBUdancZKuxKMdk5QdcYNtrzJQu/n3dy2vIYlqXHLw4HKgTBX5BpQ==", "funding": [ "https://patreon.com/leafac", "https://github.com/sponsors/leafac", @@ -1169,7 +1170,7 @@ ], "license": "MIT", "dependencies": { - "@radically-straightforward/caddy": "^2.0.4", + "@radically-straightforward/caddy": "^2.0.5", "@radically-straightforward/examples": "^1.0.0", "@radically-straightforward/html": "^1.0.1", "@radically-straightforward/node": "^3.1.7", @@ -1286,9 +1287,9 @@ } }, "node_modules/@types/node": { - "version": "22.10.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.9.tgz", - "integrity": "sha512-Ir6hwgsKyNESl/gLOcEz3krR4CBGgliDqBQ2ma4wIhEx0w+xnoeTq3tdrNw15kU3SxogDjOgv9sqdtLW8mIHaw==", + "version": "22.13.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.0.tgz", + "integrity": "sha512-ClIbNe36lawluuvq3+YYhnIN2CELi+6q8NpnM7PYp4hBn/TatfboPgVSm2rwKRfnV2M+Ty9GWDFI64KEe+kysA==", "license": "MIT", "dependencies": { "undici-types": "~6.20.0" @@ -1600,9 +1601,9 @@ } }, "node_modules/browserslist": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", - "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", "dev": true, "funding": [ { @@ -1620,9 +1621,9 @@ ], "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001669", - "electron-to-chromium": "^1.5.41", - "node-releases": "^2.0.18", + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", "update-browserslist-db": "^1.1.1" }, "bin": { @@ -1679,9 +1680,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001680", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001680.tgz", - "integrity": "sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==", + "version": "1.0.30001696", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001696.tgz", + "integrity": "sha512-pDCPkvzfa39ehJtJ+OwGT/2yvT2SbjfHhiIW2LWOAcMQ7BzwxT/XuyUp4OTOd0XFWA6BKw0JalnBHgSi5DGJBQ==", "dev": true, "funding": [ { @@ -2017,9 +2018,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.56", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.56.tgz", - "integrity": "sha512-7lXb9dAvimCFdvUMTyucD4mnIndt/xhRKFAlky0CyFogdnNmdPQNoHI23msF/2V4mpTxMzgMdjK4+YRlFlRQZw==", + "version": "1.5.90", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.90.tgz", + "integrity": "sha512-C3PN4aydfW91Natdyd449Kw+BzhLmof6tzy5W1pFC5SpQxVXT+oyiyOG9AgYYSN9OdA/ik3YkCrpwqI8ug5Tug==", "dev": true, "license": "ISC" }, @@ -2172,9 +2173,9 @@ "license": "MIT" }, "node_modules/fastq": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.18.0.tgz", - "integrity": "sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==", + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.0.tgz", + "integrity": "sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==", "dev": true, "license": "ISC", "dependencies": { @@ -2760,6 +2761,16 @@ "libqp": "2.1.1" } }, + "node_modules/make-synchronized": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/make-synchronized/-/make-synchronized-0.2.9.tgz", + "integrity": "sha512-4wczOs8SLuEdpEvp3vGo83wh8rjJ78UsIk7DIX5fxdfmfMJGog4bQzxfvOwq7Q3yCHLC4jp1urPHIxRS/A93gA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/fisker/make-synchronized?sponsor=1" + } + }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -2894,9 +2905,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", - "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", "dev": true, "license": "MIT" }, @@ -3885,9 +3896,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", - "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", + "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", "dev": true, "funding": [ { @@ -3906,7 +3917,7 @@ "license": "MIT", "dependencies": { "escalade": "^3.2.0", - "picocolors": "^1.1.0" + "picocolors": "^1.1.1" }, "bin": { "update-browserslist-db": "cli.js" diff --git a/package.json b/package.json index d15e608..9f80cdb 100644 --- a/package.json +++ b/package.json @@ -6,16 +6,16 @@ "backup": "rsync -av --delete --progress root@kill-the-newsletter.com:kill-the-newsletter/data/ /Volumes/leafac--external-storage/Backups/kill-the-newsletter/" }, "dependencies": { - "@radically-straightforward/production": "^1.0.32", + "@radically-straightforward/production": "^1.0.33", "crypto-random-string": "^5.0.0", "mailparser": "^3.7.2", "smtp-server": "^3.13.6" }, "devDependencies": { "@fontsource-variable/roboto-flex": "^5.1.1", - "@radically-straightforward/development": "^1.0.48", + "@radically-straightforward/development": "^1.0.50", "@types/mailparser": "^3.4.5", - "@types/node": "^22.10.9", + "@types/node": "^22.13.0", "@types/nodemailer": "^6.4.17", "@types/smtp-server": "^3.5.10", "bootstrap-icons": "^1.11.3",