diff --git a/.nvmrc b/.nvmrc index 7950a44..805b5a4 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v18.17.0 +v20.9.0 diff --git a/package-lock.json b/package-lock.json index 68643b1..5c4e13c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -43,6 +43,7 @@ "eslint-plugin-prettier": "^5.0.1", "eslint-plugin-vue": "^9.16.1", "esm": "^3.2.25", + "extensionless": "^1.7.3", "husky": "^8.0.3", "jest": "^29.6.2", "jest-environment-jsdom": "^29.6.2", @@ -58,6 +59,9 @@ "vue-template-compiler": "^2.7.14", "webpack": "^5.88.2", "webpack-bundle-analyzer": "^4.9.0" + }, + "engines": { + "node": "20.9.0" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -69,18 +73,49 @@ "node": ">=0.10.0" } }, - "node_modules/@achrinza/node-ipc": { - "version": "9.2.5", - "resolved": "https://registry.npmjs.org/@achrinza/node-ipc/-/node-ipc-9.2.5.tgz", - "integrity": "sha512-kBX7Ay911iXZ3VZ1pYltj3Rfu7Ow9H7sK4H4RSfWIfWR2JKNB40K808wppoRIEzE2j2hXLU+r6TJgCAliCGhyQ==", + "node_modules/@achrinza/event-pubsub": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@achrinza/event-pubsub/-/event-pubsub-5.0.9.tgz", + "integrity": "sha512-49RyPP7w4abKMsLRHKgB9neAH085mdHQtv+0H5TnJeOq3oK57qQRd/JD9K5Z5D3vFODsvBODiBjYkRQZKdqiAA==", "dev": true, "dependencies": { + "@achrinza/strong-type": "0.1.11" + }, + "engines": { + "node": "13 || 14 || 16 || 17 || 18 || 19 || 20" + } + }, + "node_modules/@achrinza/event-pubsub/node_modules/@achrinza/strong-type": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/@achrinza/strong-type/-/strong-type-0.1.11.tgz", + "integrity": "sha512-35Ou0jcGHGKQS8a6lgdan+u3BajmL315ZpDhH2/WSRNgG1jPpizhe87epgLaotN4uY3kXaEbfRU56sBPMdR5LA==", + "dev": true, + "engines": { + "node": "12 || 13 || 14 || 15 || 16 || 17 || 18 || 19 || 20" + } + }, + "node_modules/@achrinza/node-ipc": { + "version": "10.1.10", + "resolved": "https://registry.npmjs.org/@achrinza/node-ipc/-/node-ipc-10.1.10.tgz", + "integrity": "sha512-eBP/YMdiaxFHQ5OlKfYpnarMtuMmdtv+iI21UeXL1yATZEGEvRm2gqPsnio6SRlarLt9/IxTQJl0b/6S5yX+1g==", + "dev": true, + "dependencies": { + "@achrinza/event-pubsub": "5.0.9", + "@achrinza/strong-type": "1.1.8", "@node-ipc/js-queue": "2.0.3", - "event-pubsub": "4.3.0", "js-message": "1.0.7" }, "engines": { - "node": "8 || 9 || 10 || 11 || 12 || 13 || 14 || 15 || 16 || 17 || 18" + "node": "14 || 16 || 17 || 18 || 19 || 20 || 21" + } + }, + "node_modules/@achrinza/strong-type": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@achrinza/strong-type/-/strong-type-1.1.8.tgz", + "integrity": "sha512-ub/mgPRjbqZmwhU3rGya745IMn9znh3cm4g2iGepzvzhZUlKhLRfdkVoUD+H1NLaHE30pRp/FQHEoHTAVcleBQ==", + "dev": true, + "engines": { + "node": "^12.21.0 || 14 || 15 || 16 || 17 || 18 || 19 || 20 || 21" } }, "node_modules/@ampproject/remapping": { @@ -9572,15 +9607,6 @@ "node": ">= 0.6" } }, - "node_modules/event-pubsub": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/event-pubsub/-/event-pubsub-4.3.0.tgz", - "integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==", - "dev": true, - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", @@ -9727,6 +9753,12 @@ "node": ">= 0.8" } }, + "node_modules/extensionless": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/extensionless/-/extensionless-1.7.3.tgz", + "integrity": "sha512-XnabdmjuuRetGf4isqbDG5SyZTbeWvS1tE+Sba5UR4DJ9hAi3PRBYWnzxaqrghCF3q5hYrQ+L0w5TR+NqnznLA==", + "dev": true + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -20730,17 +20762,41 @@ "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", "dev": true }, - "@achrinza/node-ipc": { - "version": "9.2.5", - "resolved": "https://registry.npmjs.org/@achrinza/node-ipc/-/node-ipc-9.2.5.tgz", - "integrity": "sha512-kBX7Ay911iXZ3VZ1pYltj3Rfu7Ow9H7sK4H4RSfWIfWR2JKNB40K808wppoRIEzE2j2hXLU+r6TJgCAliCGhyQ==", + "@achrinza/event-pubsub": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@achrinza/event-pubsub/-/event-pubsub-5.0.9.tgz", + "integrity": "sha512-49RyPP7w4abKMsLRHKgB9neAH085mdHQtv+0H5TnJeOq3oK57qQRd/JD9K5Z5D3vFODsvBODiBjYkRQZKdqiAA==", "dev": true, "requires": { + "@achrinza/strong-type": "0.1.11" + }, + "dependencies": { + "@achrinza/strong-type": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/@achrinza/strong-type/-/strong-type-0.1.11.tgz", + "integrity": "sha512-35Ou0jcGHGKQS8a6lgdan+u3BajmL315ZpDhH2/WSRNgG1jPpizhe87epgLaotN4uY3kXaEbfRU56sBPMdR5LA==", + "dev": true + } + } + }, + "@achrinza/node-ipc": { + "version": "10.1.10", + "resolved": "https://registry.npmjs.org/@achrinza/node-ipc/-/node-ipc-10.1.10.tgz", + "integrity": "sha512-eBP/YMdiaxFHQ5OlKfYpnarMtuMmdtv+iI21UeXL1yATZEGEvRm2gqPsnio6SRlarLt9/IxTQJl0b/6S5yX+1g==", + "dev": true, + "requires": { + "@achrinza/event-pubsub": "5.0.9", + "@achrinza/strong-type": "1.1.8", "@node-ipc/js-queue": "2.0.3", - "event-pubsub": "4.3.0", "js-message": "1.0.7" } }, + "@achrinza/strong-type": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@achrinza/strong-type/-/strong-type-1.1.8.tgz", + "integrity": "sha512-ub/mgPRjbqZmwhU3rGya745IMn9znh3cm4g2iGepzvzhZUlKhLRfdkVoUD+H1NLaHE30pRp/FQHEoHTAVcleBQ==", + "dev": true + }, "@ampproject/remapping": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", @@ -23780,7 +23836,7 @@ "integrity": "sha512-uK2YB7bBVuQhjOJF+O52P9yFMXeJVj7ozqJkwYE9PlMHL1LMHjtCYm4cSdOebuPzyP+/9p0BimM/OqxsevIopQ==", "dev": true, "requires": { - "@achrinza/node-ipc": "^9.2.5", + "@achrinza/node-ipc": "^10.1.10", "chalk": "^4.1.2", "execa": "^1.0.0", "joi": "^17.4.0", @@ -27473,12 +27529,6 @@ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" }, - "event-pubsub": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/event-pubsub/-/event-pubsub-4.3.0.tgz", - "integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==", - "dev": true - }, "eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", @@ -27600,6 +27650,12 @@ } } }, + "extensionless": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/extensionless/-/extensionless-1.7.3.tgz", + "integrity": "sha512-XnabdmjuuRetGf4isqbDG5SyZTbeWvS1tE+Sba5UR4DJ9hAi3PRBYWnzxaqrghCF3q5hYrQ+L0w5TR+NqnznLA==", + "dev": true + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", diff --git a/package.json b/package.json index 4751d3e..820c29f 100644 --- a/package.json +++ b/package.json @@ -2,8 +2,11 @@ "name": "nginxconfig.io", "version": "1.0.0", "description": "NGINX config generator on steroids", - "private": true, "license": "MIT", + "private": true, + "engines": { + "node": "20.9.0" + }, "main": "src/nginxconfig/mount.js", "type": "module", "scripts": { @@ -22,7 +25,7 @@ "test:eslint": "eslint 'src/**/*.{js,vue}' --cache", "test:eslint:fix": "npm run test:eslint -- --fix", "test:stylelint": "stylelint 'src/**/*.scss' --config node_modules/do-bulma/.stylelintrc.json", - "test:i18n-packs": "node --es-module-specifier-resolution=node src/nginxconfig/i18n/verify.js", + "test:i18n-packs": "node --import=extensionless/register src/nginxconfig/i18n/verify.js", "test:prettier": "prettier 'src/**/*.{js,vue}' --check", "test:prettier:fix": "prettier --write 'src/**/*.{js,vue}'", "prepare": "husky install" @@ -77,6 +80,7 @@ "eslint-plugin-prettier": "^5.0.1", "eslint-plugin-vue": "^9.16.1", "esm": "^3.2.25", + "extensionless": "^1.7.3", "husky": "^8.0.3", "jest": "^29.6.2", "jest-environment-jsdom": "^29.6.2", @@ -95,7 +99,8 @@ }, "overrides": { "@vue/cli-service": { - "mini-css-extract-plugin": "^1.6.2" + "mini-css-extract-plugin": "^1.6.2", + "@achrinza/node-ipc": "^10.1.10" }, "pretty-checkbox-vue": { "vue": "^3.0.0"