diff --git a/package-lock.json b/package-lock.json index d36f19f..863aa62 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,29 +11,28 @@ "dependencies": { "dotenv": "^16.0.3", "fs-extra": "^11.1.0", - "got": "^11.8.6", + "got": "^12.6.0", "helios-distribution-types": "^1.1.0", - "luxon": "^3.2.1", - "minimatch": "^6.1.8", + "luxon": "^3.3.0", + "minimatch": "^7.4.2", "node-stream-zip": "^1.15.0", "toml": "^3.0.0", "triple-beam": "^1.3.0", "ts-json-schema-generator": "^1.2.0", "winston": "^3.8.2", - "yargs": "^17.6.2" + "yargs": "^17.7.1" }, "devDependencies": { "@types/fs-extra": "^11.0.1", "@types/luxon": "^3.2.0", - "@types/minimatch": "^5.1.2", - "@types/node": "^18.13.0", + "@types/node": "^18.15.3", "@types/triple-beam": "^1.3.2", "@types/yargs": "^17.0.22", - "@typescript-eslint/eslint-plugin": "^5.51.0", - "@typescript-eslint/parser": "^5.51.0", - "eslint": "^8.34.0", - "rimraf": "^4.1.2", - "typescript": "^4.9.5" + "@typescript-eslint/eslint-plugin": "^5.55.0", + "@typescript-eslint/parser": "^5.55.0", + "eslint": "^8.36.0", + "rimraf": "^4.4.0", + "typescript": "^5.0.2" } }, "node_modules/@colors/colors": { @@ -54,15 +53,39 @@ "kuler": "^2.0.0" } }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.3.0.tgz", + "integrity": "sha512-v3oplH6FYCULtFuCeqyuTd9D2WKO937Dxdq+GmHOLL72TTRriLxz2VLlNfkZRsvj6PKnOPAtuT6dwrs/pA5DvA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.4.0.tgz", + "integrity": "sha512-A9983Q0LnDGdLPjxyXQ00sbV+K+O+ko2Dr+CZigbHWtX9pNfxlaBkMR8X1CztI73zuEyEBXTVjx7CE+/VSwDiQ==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, "node_modules/@eslint/eslintrc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", - "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.1.tgz", + "integrity": "sha512-eFRmABvW2E5Ho6f5fHLqgena46rOj7r7OKHYfLElqcBfGFHHpjBhivyi5+jOEQuSpdc/1phIZJlbC2te+tZNIw==", "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.4.0", + "espree": "^9.5.0", "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", @@ -99,6 +122,15 @@ "node": "*" } }, + "node_modules/@eslint/js": { + "version": "8.36.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.36.0.tgz", + "integrity": "sha512-lxJ9R5ygVm8ZWgYdUweoq5ownDlJ4upvoWmO4eLxBYHdMo+vZ/Rx0EN6MbKWDJOSUGrqJy2Gt+Dyv/VKml0fjg==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.8", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", @@ -190,36 +222,25 @@ } }, "node_modules/@sindresorhus/is": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", - "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.3.0.tgz", + "integrity": "sha512-CX6t4SYQ37lzxicAqsBtxA3OseeoVrh9cSJ5PFYam0GksYlupRfy1A+Q4aYD3zvcfECLc0zO2u+ZnR2UYKvCrw==", "engines": { - "node": ">=10" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sindresorhus/is?sponsor=1" } }, "node_modules/@szmarczak/http-timer": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", - "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", + "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", "dependencies": { - "defer-to-connect": "^2.0.0" + "defer-to-connect": "^2.0.1" }, "engines": { - "node": ">=10" - } - }, - "node_modules/@types/cacheable-request": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", - "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", - "dependencies": { - "@types/http-cache-semantics": "*", - "@types/keyv": "^3.1.4", - "@types/node": "*", - "@types/responselike": "^1.0.0" + "node": ">=14.16" } }, "node_modules/@types/fs-extra": { @@ -251,38 +272,17 @@ "@types/node": "*" } }, - "node_modules/@types/keyv": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", - "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/luxon": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.2.0.tgz", "integrity": "sha512-lGmaGFoaXHuOLXFvuju2bfvZRqxAqkHPx9Y9IQdQABrinJJshJwfNCKV+u7rR3kJbiqfTF/NhOkcxxAFrObyaA==", "dev": true }, - "node_modules/@types/minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", - "dev": true - }, "node_modules/@types/node": { - "version": "18.13.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.13.0.tgz", - "integrity": "sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg==" - }, - "node_modules/@types/responselike": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", - "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", - "dependencies": { - "@types/node": "*" - } + "version": "18.15.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.3.tgz", + "integrity": "sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw==", + "dev": true }, "node_modules/@types/semver": { "version": "7.3.13", @@ -311,19 +311,19 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.51.0.tgz", - "integrity": "sha512-wcAwhEWm1RgNd7dxD/o+nnLW8oH+6RK1OGnmbmkj/GGoDPV1WWMVP0FXYQBivKHdwM1pwii3bt//RC62EriIUQ==", + "version": "5.55.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.55.0.tgz", + "integrity": "sha512-IZGc50rtbjk+xp5YQoJvmMPmJEYoC53SiKPXyqWfv15XoD2Y5Kju6zN0DwlmaGJp1Iw33JsWJcQ7nw0lGCGjVg==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.51.0", - "@typescript-eslint/type-utils": "5.51.0", - "@typescript-eslint/utils": "5.51.0", + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.55.0", + "@typescript-eslint/type-utils": "5.55.0", + "@typescript-eslint/utils": "5.55.0", "debug": "^4.3.4", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", - "regexpp": "^3.2.0", "semver": "^7.3.7", "tsutils": "^3.21.0" }, @@ -345,14 +345,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.51.0.tgz", - "integrity": "sha512-fEV0R9gGmfpDeRzJXn+fGQKcl0inIeYobmmUWijZh9zA7bxJ8clPhV9up2ZQzATxAiFAECqPQyMDB4o4B81AaA==", + "version": "5.55.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.55.0.tgz", + "integrity": "sha512-ppvmeF7hvdhUUZWSd2EEWfzcFkjJzgNQzVST22nzg958CR+sphy8A6K7LXQZd6V75m1VKjp+J4g/PCEfSCmzhw==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.51.0", - "@typescript-eslint/types": "5.51.0", - "@typescript-eslint/typescript-estree": "5.51.0", + "@typescript-eslint/scope-manager": "5.55.0", + "@typescript-eslint/types": "5.55.0", + "@typescript-eslint/typescript-estree": "5.55.0", "debug": "^4.3.4" }, "engines": { @@ -372,13 +372,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.51.0.tgz", - "integrity": "sha512-gNpxRdlx5qw3yaHA0SFuTjW4rxeYhpHxt491PEcKF8Z6zpq0kMhe0Tolxt0qjlojS+/wArSDlj/LtE69xUJphQ==", + "version": "5.55.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.55.0.tgz", + "integrity": "sha512-OK+cIO1ZGhJYNCL//a3ROpsd83psf4dUJ4j7pdNVzd5DmIk+ffkuUIX2vcZQbEW/IR41DYsfJTB19tpCboxQuw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.51.0", - "@typescript-eslint/visitor-keys": "5.51.0" + "@typescript-eslint/types": "5.55.0", + "@typescript-eslint/visitor-keys": "5.55.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -389,13 +389,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.51.0.tgz", - "integrity": "sha512-QHC5KKyfV8sNSyHqfNa0UbTbJ6caB8uhcx2hYcWVvJAZYJRBo5HyyZfzMdRx8nvS+GyMg56fugMzzWnojREuQQ==", + "version": "5.55.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.55.0.tgz", + "integrity": "sha512-ObqxBgHIXj8rBNm0yh8oORFrICcJuZPZTqtAFh0oZQyr5DnAHZWfyw54RwpEEH+fD8suZaI0YxvWu5tYE/WswA==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.51.0", - "@typescript-eslint/utils": "5.51.0", + "@typescript-eslint/typescript-estree": "5.55.0", + "@typescript-eslint/utils": "5.55.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -416,9 +416,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.51.0.tgz", - "integrity": "sha512-SqOn0ANn/v6hFn0kjvLwiDi4AzR++CBZz0NV5AnusT2/3y32jdc0G4woXPWHCumWtUXZKPAS27/9vziSsC9jnw==", + "version": "5.55.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.55.0.tgz", + "integrity": "sha512-M4iRh4AG1ChrOL6Y+mETEKGeDnT7Sparn6fhZ5LtVJF1909D5O4uqK+C5NPbLmpfZ0XIIxCdwzKiijpZUOvOug==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -429,13 +429,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.51.0.tgz", - "integrity": "sha512-TSkNupHvNRkoH9FMA3w7TazVFcBPveAAmb7Sz+kArY6sLT86PA5Vx80cKlYmd8m3Ha2SwofM1KwraF24lM9FvA==", + "version": "5.55.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.55.0.tgz", + "integrity": "sha512-I7X4A9ovA8gdpWMpr7b1BN9eEbvlEtWhQvpxp/yogt48fy9Lj3iE3ild/1H3jKBBIYj5YYJmS2+9ystVhC7eaQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.51.0", - "@typescript-eslint/visitor-keys": "5.51.0", + "@typescript-eslint/types": "5.55.0", + "@typescript-eslint/visitor-keys": "5.55.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -456,18 +456,18 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.51.0.tgz", - "integrity": "sha512-76qs+5KWcaatmwtwsDJvBk4H76RJQBFe+Gext0EfJdC3Vd2kpY2Pf//OHHzHp84Ciw0/rYoGTDnIAr3uWhhJYw==", + "version": "5.55.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.55.0.tgz", + "integrity": "sha512-FkW+i2pQKcpDC3AY6DU54yl8Lfl14FVGYDgBTyGKB75cCwV3KpkpTMFi9d9j2WAJ4271LR2HeC5SEWF/CZmmfw==", "dev": true, "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.51.0", - "@typescript-eslint/types": "5.51.0", - "@typescript-eslint/typescript-estree": "5.51.0", + "@typescript-eslint/scope-manager": "5.55.0", + "@typescript-eslint/types": "5.55.0", + "@typescript-eslint/typescript-estree": "5.55.0", "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0", "semver": "^7.3.7" }, "engines": { @@ -482,12 +482,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.51.0.tgz", - "integrity": "sha512-Oh2+eTdjHjOFjKA27sxESlA87YPSOJafGCR0md5oeMdh1ZcCfAGCIOL216uTBAkAIptvLIfKQhl7lHxMJet4GQ==", + "version": "5.55.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.55.0.tgz", + "integrity": "sha512-q2dlHHwWgirKh1D3acnuApXG+VNXpEY5/AwRxDVuEQpxWaB0jCDe0jFMVMALJ3ebSfuOVE8/rMS+9ZOYGg1GWw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.51.0", + "@typescript-eslint/types": "5.55.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -603,28 +603,28 @@ } }, "node_modules/cacheable-lookup": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", - "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", + "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", "engines": { - "node": ">=10.6.0" + "node": ">=14.16" } }, "node_modules/cacheable-request": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", - "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", + "version": "10.2.8", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.8.tgz", + "integrity": "sha512-IDVO5MJ4LItE6HKFQTqT2ocAQsisOoCTUDu1ddCmnhyiwFQjXNPp4081Xj23N4tO+AFEFNzGuNEf/c8Gwwt15A==", "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^4.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^6.0.1", - "responselike": "^2.0.0" + "@types/http-cache-semantics": "^4.0.1", + "get-stream": "^6.0.1", + "http-cache-semantics": "^4.1.1", + "keyv": "^4.5.2", + "mimic-response": "^4.0.0", + "normalize-url": "^8.0.0", + "responselike": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=14.16" } }, "node_modules/callsites": { @@ -665,17 +665,6 @@ "node": ">=12" } }, - "node_modules/clone-response": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", - "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", - "dependencies": { - "mimic-response": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/color": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", @@ -858,14 +847,6 @@ "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" - } - }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -887,12 +868,15 @@ } }, "node_modules/eslint": { - "version": "8.34.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.34.0.tgz", - "integrity": "sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg==", + "version": "8.36.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.36.0.tgz", + "integrity": "sha512-Y956lmS7vDqomxlaaQAHVmeb4tNMp2FWIvU/RnU5BD3IKMD/MJPr76xdyr68P8tV1iNMvN2mRK0yy3c+UjL+bw==", "dev": true, "dependencies": { - "@eslint/eslintrc": "^1.4.1", + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.1", + "@eslint/js": "8.36.0", "@humanwhocodes/config-array": "^0.11.8", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -903,10 +887,9 @@ "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", "eslint-visitor-keys": "^3.3.0", - "espree": "^9.4.0", - "esquery": "^1.4.0", + "espree": "^9.5.0", + "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", @@ -927,7 +910,6 @@ "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.1", - "regexpp": "^3.2.0", "strip-ansi": "^6.0.1", "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" @@ -955,33 +937,6 @@ "node": ">=8.0.0" } }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/eslint-visitor-keys": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", @@ -1036,9 +991,9 @@ } }, "node_modules/espree": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", - "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.0.tgz", + "integrity": "sha512-JPbJGhKc47++oo4JkEoTe2wjy4fmMwvFpgJT9cQzmfXKp22Dr6Hf1tdCteLz1h0P3t+mGvWZ+4Uankvh8+c6zw==", "dev": true, "dependencies": { "acorn": "^8.8.0", @@ -1053,9 +1008,9 @@ } }, "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "dependencies": { "estraverse": "^5.1.0" @@ -1293,6 +1248,14 @@ "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" }, + "node_modules/form-data-encoder": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", + "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", + "engines": { + "node": ">= 14.17" + } + }, "node_modules/fs-extra": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.0.tgz", @@ -1320,32 +1283,29 @@ } }, "node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dependencies": { - "pump": "^3.0.0" - }, + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.0.tgz", + "integrity": "sha512-EAZejC7JvnQINayvB/7BJbpZpNOJ8Lrw2OZNEvQxe0vaLn1SuwMcfV7/MNaX8L/T0wmptBFI4YMtDvSBxYDc7w==", + "dev": true, "dependencies": { "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" + "minimatch": "^7.4.1", + "minipass": "^4.2.4", + "path-scurry": "^1.6.1" }, "engines": { - "node": ">=12" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -1363,17 +1323,6 @@ "node": ">=10.13.0" } }, - "node_modules/glob/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/globals": { "version": "13.20.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", @@ -1410,33 +1359,33 @@ } }, "node_modules/got": { - "version": "11.8.6", - "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", - "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-12.6.0.tgz", + "integrity": "sha512-WTcaQ963xV97MN3x0/CbAriXFZcXCfgxVp91I+Ze6pawQOa7SgzwSx2zIJJsX+kTajMnVs0xcFD1TxZKFqhdnQ==", "dependencies": { - "@sindresorhus/is": "^4.0.0", - "@szmarczak/http-timer": "^4.0.5", - "@types/cacheable-request": "^6.0.1", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^5.0.3", - "cacheable-request": "^7.0.2", + "@sindresorhus/is": "^5.2.0", + "@szmarczak/http-timer": "^5.0.1", + "cacheable-lookup": "^7.0.0", + "cacheable-request": "^10.2.8", "decompress-response": "^6.0.0", - "http2-wrapper": "^1.0.0-beta.5.2", - "lowercase-keys": "^2.0.0", - "p-cancelable": "^2.0.0", - "responselike": "^2.0.0" + "form-data-encoder": "^2.1.2", + "get-stream": "^6.0.1", + "http2-wrapper": "^2.1.10", + "lowercase-keys": "^3.0.0", + "p-cancelable": "^3.0.0", + "responselike": "^3.0.0" }, "engines": { - "node": ">=10.19.0" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sindresorhus/got?sponsor=1" } }, "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, "node_modules/grapheme-splitter": { "version": "1.0.4", @@ -1464,12 +1413,12 @@ "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" }, "node_modules/http2-wrapper": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", - "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.0.tgz", + "integrity": "sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==", "dependencies": { "quick-lru": "^5.1.1", - "resolve-alpn": "^1.0.0" + "resolve-alpn": "^1.2.0" }, "engines": { "node": ">=10.19.0" @@ -1714,29 +1663,29 @@ } }, "node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", + "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/luxon": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.2.1.tgz", - "integrity": "sha512-QrwPArQCNLAKGO/C+ZIilgIuDnEnKx5QYODdDtbFaxzsbZcc/a7WFq7MhsVYgRlwawLtvOUESTlfJ+hc/USqPg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.3.0.tgz", + "integrity": "sha512-An0UCfG/rSiqtAIiBPO0Y9/zAnHUZxAMiCpTd5h2smgsj7GGmcenvrvww2cqNA8/4A5ZrD1gJpHN2mIHZQF+Mg==", "engines": { "node": ">=12" } @@ -1764,17 +1713,20 @@ } }, "node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", + "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", "engines": { - "node": ">=4" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/minimatch": { - "version": "6.1.8", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-6.1.8.tgz", - "integrity": "sha512-sTvS8Q4mIZiSnMo9192lZMxfeaGCslH5CC7B62hd9DlbifUVrc02ABTeRJINPosxKnvZlrmAaNSo8f4PZqDDdw==", + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.2.tgz", + "integrity": "sha512-xy4q7wou3vUoC9k1xGTXc+awNdGaGVHtFUaey8tiX4H1QRc04DZ/rmDFwNm2EBsuYEhAZ6SgMmYf3InGY6OauA==", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -1785,6 +1737,15 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/minipass": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.5.tgz", + "integrity": "sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -1823,11 +1784,11 @@ } }, "node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.0.tgz", + "integrity": "sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==", "engines": { - "node": ">=10" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -1867,11 +1828,11 @@ } }, "node_modules/p-cancelable": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", - "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", + "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", "engines": { - "node": ">=8" + "node": ">=12.20" } }, "node_modules/p-limit": { @@ -1943,6 +1904,22 @@ "node": ">=8" } }, + "node_modules/path-scurry": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.6.1.tgz", + "integrity": "sha512-OW+5s+7cw6253Q4E+8qQ/u1fVvcJQCJo/VFD8pje+dbJCF1n5ZRMV2AEHbGp+5Q7jxQIYJxkHopnj6nzdGeZLA==", + "dev": true, + "dependencies": { + "lru-cache": "^7.14.1", + "minipass": "^4.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -1973,15 +1950,6 @@ "node": ">= 0.8.0" } }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, "node_modules/punycode": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", @@ -2023,9 +1991,9 @@ } }, "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -2035,18 +2003,6 @@ "node": ">= 6" } }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -2070,11 +2026,14 @@ } }, "node_modules/responselike": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", - "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", + "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", "dependencies": { - "lowercase-keys": "^2.0.0" + "lowercase-keys": "^3.0.0" + }, + "engines": { + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -2091,10 +2050,13 @@ } }, "node_modules/rimraf": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-4.1.2.tgz", - "integrity": "sha512-BlIbgFryTbw3Dz6hyoWFhKk+unCcHMSkZGrTFVAx2WmttdBSonsdtRlwiuTbDqTKr+UlXIUqJVS4QT5tUzGENQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-4.4.0.tgz", + "integrity": "sha512-X36S+qpCUR0HjXlkDe4NAOhS//aHH0Z+h8Ckf2auGJk3PTnx5rLmrHkwNdbVQuCSUhOyFrlRvFEllZOYE+yZGQ==", "dev": true, + "dependencies": { + "glob": "^9.2.0" + }, "bin": { "rimraf": "dist/cjs/src/bin.js" }, @@ -2170,6 +2132,18 @@ "node": ">=10" } }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -2325,6 +2299,47 @@ "node": ">=10.0.0" } }, + "node_modules/ts-json-schema-generator/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ts-json-schema-generator/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-json-schema-generator/node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, "node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", @@ -2371,15 +2386,16 @@ } }, "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.2.tgz", + "integrity": "sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==", + "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4.2.0" + "node": ">=12.20" } }, "node_modules/universalify": { @@ -2498,9 +2514,9 @@ "dev": true }, "node_modules/yargs": { - "version": "17.6.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", - "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", + "version": "17.7.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz", + "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==", "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", diff --git a/package.json b/package.json index 7f4ff90..306ff1e 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,8 @@ "name": "nebula", "version": "0.1.0", "description": "Utility package to generate a distribution.json for Helios.", - "main": "dist/index.js", + "type": "module", + "exports": "./dist/index.js", "scripts": { "clean": "rimraf dist", "tsc": "tsc", @@ -30,28 +31,27 @@ "devDependencies": { "@types/fs-extra": "^11.0.1", "@types/luxon": "^3.2.0", - "@types/minimatch": "^5.1.2", - "@types/node": "^18.13.0", + "@types/node": "^18.15.3", "@types/triple-beam": "^1.3.2", "@types/yargs": "^17.0.22", - "@typescript-eslint/eslint-plugin": "^5.51.0", - "@typescript-eslint/parser": "^5.51.0", - "eslint": "^8.34.0", - "rimraf": "^4.1.2", - "typescript": "^4.9.5" + "@typescript-eslint/eslint-plugin": "^5.55.0", + "@typescript-eslint/parser": "^5.55.0", + "eslint": "^8.36.0", + "rimraf": "^4.4.0", + "typescript": "^5.0.2" }, "dependencies": { "dotenv": "^16.0.3", "fs-extra": "^11.1.0", - "got": "^11.8.6", + "got": "^12.6.0", "helios-distribution-types": "^1.1.0", - "luxon": "^3.2.1", - "minimatch": "^6.1.8", + "luxon": "^3.3.0", + "minimatch": "^7.4.2", "node-stream-zip": "^1.15.0", "toml": "^3.0.0", "triple-beam": "^1.3.0", "ts-json-schema-generator": "^1.2.0", "winston": "^3.8.2", - "yargs": "^17.6.2" + "yargs": "^17.7.1" } } diff --git a/src/index.ts b/src/index.ts index 32f0608..a01169e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,17 +1,19 @@ /* tslint:disable:no-shadowed-variable */ import dotenv from 'dotenv' -import { writeFile } from 'fs-extra' +import { writeFile } from 'fs/promises' import { resolve as resolvePath } from 'path' import { URL } from 'url' import { inspect } from 'util' -import yargs from 'yargs' -import { DistributionStructure } from './structure/spec_model/Distribution.struct' -import { ServerStructure } from './structure/spec_model/Server.struct' -import { VersionSegmentedRegistry } from './util/VersionSegmentedRegistry' -import { VersionUtil } from './util/versionutil' -import { MinecraftVersion } from './util/MinecraftVersion' -import { LoggerUtil } from './util/LoggerUtil' -import { generateSchemas } from './util/SchemaUtil' +import yargs from 'yargs/yargs' +import { Argv, CommandModule } from 'yargs' +import { hideBin } from 'yargs/helpers' +import { DistributionStructure } from './structure/spec_model/Distribution.struct.js' +import { ServerStructure } from './structure/spec_model/Server.struct.js' +import { VersionSegmentedRegistry } from './util/VersionSegmentedRegistry.js' +import { VersionUtil } from './util/VersionUtil.js' +import { MinecraftVersion } from './util/MinecraftVersion.js' +import { LoggerUtil } from './util/LoggerUtil.js' +import { generateSchemas } from './util/SchemaUtil.js' dotenv.config() @@ -41,7 +43,7 @@ function getBaseURL(): string { return (new URL(baseUrl)).toString() } -function installLocalOption(yargs: yargs.Argv): yargs.Argv { +function installLocalOption(yargs: Argv): Argv { return yargs.option('installLocal', { describe: 'Install the generated distribution to your local Helios data folder.', type: 'boolean', @@ -51,7 +53,7 @@ function installLocalOption(yargs: yargs.Argv): yargs.Argv { }) } -function discardOutputOption(yargs: yargs.Argv): yargs.Argv { +function discardOutputOption(yargs: Argv): Argv { return yargs.option('discardOutput', { describe: 'Delete cached output after it is no longer required. May be useful if disk space is limited.', type: 'boolean', @@ -61,7 +63,7 @@ function discardOutputOption(yargs: yargs.Argv): yargs.Argv { }) } -function invalidateCacheOption(yargs: yargs.Argv): yargs.Argv { +function invalidateCacheOption(yargs: Argv): Argv { return yargs.option('invalidateCache', { describe: 'Invalidate and delete existing caches as they are encountered. Requires fresh cache generation.', type: 'boolean', @@ -71,7 +73,7 @@ function invalidateCacheOption(yargs: yargs.Argv): yargs.Argv { }) } -// function rootOption(yargs: yargs.Argv) { +// function rootOption(yargs: Argv) { // return yargs.option('root', { // describe: 'File structure root.', // type: 'string', @@ -83,7 +85,7 @@ function invalidateCacheOption(yargs: yargs.Argv): yargs.Argv { // }) // } -// function baseUrlOption(yargs: yargs.Argv) { +// function baseUrlOption(yargs: Argv) { // return yargs.option('baseUrl', { // describe: 'Base url of your file host.', // type: 'string', @@ -106,7 +108,7 @@ function invalidateCacheOption(yargs: yargs.Argv): yargs.Argv { // } // eslint-disable-next-line @typescript-eslint/explicit-function-return-type -function namePositional(yargs: yargs.Argv) { +function namePositional(yargs: Argv) { return yargs.option('name', { describe: 'Distribution index file name.', type: 'string', @@ -117,7 +119,7 @@ function namePositional(yargs: yargs.Argv) { // ------------- // Init Commands -const initRootCommand: yargs.CommandModule = { +const initRootCommand: CommandModule = { command: 'root', describe: 'Generate an empty standard file structure.', builder: (yargs) => { @@ -139,7 +141,7 @@ const initRootCommand: yargs.CommandModule = { } } -const initCommand: yargs.CommandModule = { +const initCommand: CommandModule = { command: 'init', aliases: ['i'], describe: 'Base init command.', @@ -155,7 +157,7 @@ const initCommand: yargs.CommandModule = { // ----------------- // Generate Commands -const generateServerCommand: yargs.CommandModule = { +const generateServerCommand: CommandModule = { command: 'server ', describe: 'Generate a new server configuration.', builder: (yargs) => { @@ -205,7 +207,7 @@ const generateServerCommand: yargs.CommandModule = { } } -const generateDistroCommand: yargs.CommandModule = { +const generateDistroCommand: CommandModule = { command: 'distro [name]', describe: 'Generate a distribution index from the root file structure.', builder: (yargs) => { @@ -259,7 +261,7 @@ const generateDistroCommand: yargs.CommandModule = { } } -const generateSchemasCommand: yargs.CommandModule = { +const generateSchemasCommand: CommandModule = { command: 'schemas', describe: 'Generate json schemas.', handler: async (argv) => { @@ -278,7 +280,7 @@ const generateSchemasCommand: yargs.CommandModule = { } } -const generateCommand: yargs.CommandModule = { +const generateCommand: CommandModule = { command: 'generate', aliases: ['g'], describe: 'Base generate command.', @@ -293,7 +295,7 @@ const generateCommand: yargs.CommandModule = { } } -const validateCommand: yargs.CommandModule = { +const validateCommand: CommandModule = { command: 'validate [name]', describe: 'Validate a distribution.json against the spec.', builder: (yargs) => { @@ -304,7 +306,7 @@ const validateCommand: yargs.CommandModule = { } } -const latestForgeCommand: yargs.CommandModule = { +const latestForgeCommand: CommandModule = { command: 'latest-forge ', describe: 'Get the latest version of forge.', handler: async (argv) => { @@ -316,7 +318,7 @@ const latestForgeCommand: yargs.CommandModule = { } } -const recommendedForgeCommand: yargs.CommandModule = { +const recommendedForgeCommand: CommandModule = { command: 'recommended-forge ', describe: 'Get the recommended version of forge. Returns latest if there is no recommended build.', handler: async (argv) => { @@ -341,7 +343,7 @@ const recommendedForgeCommand: yargs.CommandModule = { } } -const testCommand: yargs.CommandModule = { +const testCommand: CommandModule = { command: 'test ', describe: 'Validate a distribution.json against the spec.', builder: (yargs) => { @@ -362,7 +364,7 @@ const testCommand: yargs.CommandModule = { // Registering yargs configuration. // tslint:disable-next-line:no-unused-expression -yargs +yargs(hideBin(process.argv)) .version(false) .scriptName('') .command(initCommand) diff --git a/src/model/forge/mcmodinfolist.ts b/src/model/forge/McModInfoList.ts similarity index 67% rename from src/model/forge/mcmodinfolist.ts rename to src/model/forge/McModInfoList.ts index 348e2d5..f4472af 100644 --- a/src/model/forge/mcmodinfolist.ts +++ b/src/model/forge/McModInfoList.ts @@ -1,4 +1,4 @@ -import { McModInfo } from './mcmodinfo' +import { McModInfo } from './McModInfo.js' export interface McModInfoList { diff --git a/src/resolver/baseresolver.ts b/src/resolver/BaseResolver.ts similarity index 71% rename from src/resolver/baseresolver.ts rename to src/resolver/BaseResolver.ts index d97cf0e..e26fe1b 100644 --- a/src/resolver/baseresolver.ts +++ b/src/resolver/BaseResolver.ts @@ -1,7 +1,7 @@ import { Module } from 'helios-distribution-types' -import { VersionSegmented } from '../util/VersionSegmented' -import { Resolver } from './resolver' -import { MinecraftVersion } from '../util/MinecraftVersion' +import { VersionSegmented } from '../util/VersionSegmented.js' +import { Resolver } from './Resolver.js' +import { MinecraftVersion } from '../util/MinecraftVersion.js' export abstract class BaseResolver implements Resolver, VersionSegmented { diff --git a/src/resolver/forge/forge.resolver.ts b/src/resolver/forge/Forge.resolver.ts similarity index 94% rename from src/resolver/forge/forge.resolver.ts rename to src/resolver/forge/Forge.resolver.ts index c9c8238..d65c5c0 100644 --- a/src/resolver/forge/forge.resolver.ts +++ b/src/resolver/forge/Forge.resolver.ts @@ -1,12 +1,12 @@ import StreamZip from 'node-stream-zip' import { createHash } from 'crypto' -import { Stats } from 'fs-extra' +import { Stats } from 'fs' import { Artifact } from 'helios-distribution-types' -import { RepoStructure } from '../../structure/repo/Repo.struct' -import { BaseResolver } from '../baseresolver' -import { MinecraftVersion } from '../../util/MinecraftVersion' -import { VersionUtil } from '../../util/versionutil' -import { LoggerUtil } from '../../util/LoggerUtil' +import { RepoStructure } from '../../structure/repo/Repo.struct.js' +import { BaseResolver } from '../BaseResolver.js' +import { MinecraftVersion } from '../../util/MinecraftVersion.js' +import { VersionUtil } from '../../util/VersionUtil.js' +import { LoggerUtil } from '../../util/LoggerUtil.js' export abstract class ForgeResolver extends BaseResolver { diff --git a/src/resolver/forge/adapter/ForgeGradle2.resolver.ts b/src/resolver/forge/adapter/ForgeGradle2.resolver.ts index 81cb77e..7f307f2 100644 --- a/src/resolver/forge/adapter/ForgeGradle2.resolver.ts +++ b/src/resolver/forge/adapter/ForgeGradle2.resolver.ts @@ -1,15 +1,16 @@ import { createHash } from 'crypto' -import { copy, lstat, mkdirs, pathExists, readFile, remove } from 'fs-extra' +import { copy, mkdirs, pathExists, remove } from 'fs-extra/esm' +import { lstat, readFile } from 'fs/promises' import { Module, Type } from 'helios-distribution-types' import { basename, join } from 'path' -import { VersionManifestFG2 } from '../../../model/forge/VersionManifestFG2' -import { LibRepoStructure } from '../../../structure/repo/LibRepo.struct' -import { MavenUtil } from '../../../util/maven' -import { PackXZExtractWrapper } from '../../../util/java/PackXZExtractWrapper' -import { VersionUtil } from '../../../util/versionutil' -import { ForgeResolver } from '../forge.resolver' -import { MinecraftVersion } from '../../../util/MinecraftVersion' -import { LoggerUtil } from '../../../util/LoggerUtil' +import { VersionManifestFG2 } from '../../../model/forge/VersionManifestFG2.js' +import { LibRepoStructure } from '../../../structure/repo/LibRepo.struct.js' +import { MavenUtil } from '../../../util/MavenUtil.js' +import { PackXZExtractWrapper } from '../../../util/java/PackXZExtractWrapper.js' +import { VersionUtil } from '../../../util/VersionUtil.js' +import { ForgeResolver } from '../Forge.resolver.js' +import { MinecraftVersion } from '../../../util/MinecraftVersion.js' +import { LoggerUtil } from '../../../util/LoggerUtil.js' type ArrayElement = A extends readonly (infer T)[] ? T : never diff --git a/src/resolver/forge/adapter/ForgeGradle3.resolver.ts b/src/resolver/forge/adapter/ForgeGradle3.resolver.ts index c235a53..14a01ce 100644 --- a/src/resolver/forge/adapter/ForgeGradle3.resolver.ts +++ b/src/resolver/forge/adapter/ForgeGradle3.resolver.ts @@ -1,15 +1,16 @@ -import { ForgeResolver } from '../forge.resolver' -import { MinecraftVersion } from '../../../util/MinecraftVersion' -import { LoggerUtil } from '../../../util/LoggerUtil' -import { VersionUtil } from '../../../util/versionutil' +import { ForgeResolver } from '../Forge.resolver.js' +import { MinecraftVersion } from '../../../util/MinecraftVersion.js' +import { LoggerUtil } from '../../../util/LoggerUtil.js' +import { VersionUtil } from '../../../util/VersionUtil.js' import { Module, Type } from 'helios-distribution-types' -import { LibRepoStructure } from '../../../structure/repo/LibRepo.struct' -import { pathExists, remove, mkdirs, copy, writeFile, readFile, lstat, writeJson, exists } from 'fs-extra' +import { LibRepoStructure } from '../../../structure/repo/LibRepo.struct.js' +import { pathExists, remove, mkdirs, copy, writeJson } from 'fs-extra/esm' +import { lstat, readFile, writeFile } from 'fs/promises' import { join, basename, dirname } from 'path' import { spawn } from 'child_process' -import { JavaUtil } from '../../../util/java/javautil' -import { VersionManifestFG3 } from '../../../model/forge/VersionManifestFG3' -import { MavenUtil } from '../../../util/maven' +import { JavaUtil } from '../../../util/java/JavaUtil.js' +import { VersionManifestFG3 } from '../../../model/forge/VersionManifestFG3.js' +import { MavenUtil } from '../../../util/MavenUtil.js' import { createHash } from 'crypto' interface GeneratedFile { @@ -339,7 +340,7 @@ export class ForgeGradle3Adapter extends ForgeResolver { private async verifyInstallerRan(installerOutputDir: string): Promise { const versionManifestPath = this.getVersionManifestPath(installerOutputDir) - if(!await exists(versionManifestPath)) { + if(!await pathExists(versionManifestPath)) { await remove(installerOutputDir) throw new Error(`Forge was either not installed or installed to the wrong location. When the forge installer opens, you MUST set the installation directory to ${installerOutputDir}`) } diff --git a/src/structure/BaseFileStructure.ts b/src/structure/BaseFileStructure.ts index 8415d75..5c9dfac 100644 --- a/src/structure/BaseFileStructure.ts +++ b/src/structure/BaseFileStructure.ts @@ -1,8 +1,8 @@ -import { mkdirs } from 'fs-extra' +import { mkdirs } from 'fs-extra/esm' import { join, resolve } from 'path' -import { FileStructure } from './FileStructure' +import { FileStructure } from './FileStructure.js' import { Logger } from 'winston' -import { LoggerUtil } from '../util/LoggerUtil' +import { LoggerUtil } from '../util/LoggerUtil.js' export abstract class BaseFileStructure implements FileStructure { diff --git a/src/structure/repo/BaseMavenRepo.ts b/src/structure/repo/BaseMavenRepo.ts index cd39afd..4a7fc50 100644 --- a/src/structure/repo/BaseMavenRepo.ts +++ b/src/structure/repo/BaseMavenRepo.ts @@ -1,10 +1,11 @@ import got from 'got' -import { createWriteStream, mkdirs, pathExists } from 'fs-extra' +import { mkdirs, pathExists } from 'fs-extra/esm' +import { createWriteStream } from 'fs' import { dirname, join, resolve } from 'path' import { URL } from 'url' -import { MavenUtil } from '../../util/maven' -import { BaseFileStructure } from '../BaseFileStructure' -import { LoggerUtil } from '../../util/LoggerUtil' +import { MavenUtil } from '../../util/MavenUtil.js' +import { BaseFileStructure } from '../BaseFileStructure.js' +import { LoggerUtil } from '../../util/LoggerUtil.js' export abstract class BaseMavenRepo extends BaseFileStructure { diff --git a/src/structure/repo/LibRepo.struct.ts b/src/structure/repo/LibRepo.struct.ts index 2991f93..3c2e33c 100644 --- a/src/structure/repo/LibRepo.struct.ts +++ b/src/structure/repo/LibRepo.struct.ts @@ -1,4 +1,4 @@ -import { BaseMavenRepo } from './BaseMavenRepo' +import { BaseMavenRepo } from './BaseMavenRepo.js' export class LibRepoStructure extends BaseMavenRepo { diff --git a/src/structure/repo/Repo.struct.ts b/src/structure/repo/Repo.struct.ts index c3f8917..aed4c86 100644 --- a/src/structure/repo/Repo.struct.ts +++ b/src/structure/repo/Repo.struct.ts @@ -1,8 +1,8 @@ -import { mkdirs } from 'fs-extra' +import { mkdirs } from 'fs-extra/esm' import { join } from 'path' -import { BaseFileStructure } from '../BaseFileStructure' -import { LibRepoStructure } from './LibRepo.struct' -import { VersionRepoStructure } from './VersionRepo.struct' +import { BaseFileStructure } from '../BaseFileStructure.js' +import { LibRepoStructure } from './LibRepo.struct.js' +import { VersionRepoStructure } from './VersionRepo.struct.js' export class RepoStructure extends BaseFileStructure { diff --git a/src/structure/repo/VersionRepo.struct.ts b/src/structure/repo/VersionRepo.struct.ts index a990a99..71181af 100644 --- a/src/structure/repo/VersionRepo.struct.ts +++ b/src/structure/repo/VersionRepo.struct.ts @@ -1,7 +1,7 @@ import { join } from 'path' import { URL } from 'url' -import { BaseFileStructure } from '../BaseFileStructure' -import { MinecraftVersion } from '../../util/MinecraftVersion' +import { BaseFileStructure } from '../BaseFileStructure.js' +import { MinecraftVersion } from '../../util/MinecraftVersion.js' export class VersionRepoStructure extends BaseFileStructure { diff --git a/src/structure/spec_model/BaseModel.struct.ts b/src/structure/spec_model/BaseModel.struct.ts index 3db22d9..a480bad 100644 --- a/src/structure/spec_model/BaseModel.struct.ts +++ b/src/structure/spec_model/BaseModel.struct.ts @@ -1,5 +1,5 @@ -import { BaseFileStructure } from '../BaseFileStructure' -import { SpecModelStructure } from './SpecModelStructure' +import { BaseFileStructure } from '../BaseFileStructure.js' +import { SpecModelStructure } from './SpecModelStructure.js' export abstract class BaseModelStructure extends BaseFileStructure implements SpecModelStructure { diff --git a/src/structure/spec_model/Distribution.struct.ts b/src/structure/spec_model/Distribution.struct.ts index 5213139..e2d3776 100644 --- a/src/structure/spec_model/Distribution.struct.ts +++ b/src/structure/spec_model/Distribution.struct.ts @@ -1,11 +1,12 @@ -import { mkdirs, writeFile, readFile, pathExists } from 'fs-extra' +import { mkdirs, pathExists } from 'fs-extra/esm' +import { readFile, writeFile } from 'fs/promises' import { Distribution } from 'helios-distribution-types' -import { SpecModelStructure } from './SpecModelStructure' -import { ServerStructure } from './Server.struct' +import { SpecModelStructure } from './SpecModelStructure.js' +import { ServerStructure } from './Server.struct.js' import { join, resolve } from 'path' -import { DistroMeta, getDefaultDistroMeta } from '../../model/nebula/distrometa' -import { addSchemaToObject, SchemaTypes } from '../../util/SchemaUtil' -import { LoggerUtil } from '../../util/LoggerUtil' +import { DistroMeta, getDefaultDistroMeta } from '../../model/nebula/DistroMeta.js' +import { addSchemaToObject, SchemaTypes } from '../../util/SchemaUtil.js' +import { LoggerUtil } from '../../util/LoggerUtil.js' const logger = LoggerUtil.getLogger('DistributionStructure') diff --git a/src/structure/spec_model/Server.struct.ts b/src/structure/spec_model/Server.struct.ts index 9052e95..b36d743 100644 --- a/src/structure/spec_model/Server.struct.ts +++ b/src/structure/spec_model/Server.struct.ts @@ -1,14 +1,15 @@ -import { lstat, mkdirs, pathExists, readdir, readFile, writeFile } from 'fs-extra' +import { mkdirs, pathExists } from 'fs-extra/esm' +import { lstat, readdir, readFile, writeFile } from 'fs/promises' import { Server, Module } from 'helios-distribution-types' import { dirname, join, resolve as resolvePath } from 'path' import { URL } from 'url' -import { VersionSegmentedRegistry } from '../../util/VersionSegmentedRegistry' -import { ServerMeta, getDefaultServerMeta, ServerMetaOptions, UntrackedFilesOption } from '../../model/nebula/servermeta' -import { BaseModelStructure } from './BaseModel.struct' -import { MiscFileStructure } from './module/File.struct' -import { LibraryStructure } from './module/Library.struct' -import { MinecraftVersion } from '../../util/MinecraftVersion' -import { addSchemaToObject, SchemaTypes } from '../../util/SchemaUtil' +import { VersionSegmentedRegistry } from '../../util/VersionSegmentedRegistry.js' +import { ServerMeta, getDefaultServerMeta, ServerMetaOptions, UntrackedFilesOption } from '../../model/nebula/ServerMeta.js' +import { BaseModelStructure } from './BaseModel.struct.js' +import { MiscFileStructure } from './module/File.struct.js' +import { LibraryStructure } from './module/Library.struct.js' +import { MinecraftVersion } from '../../util/MinecraftVersion.js' +import { addSchemaToObject, SchemaTypes } from '../../util/SchemaUtil.js' export class ServerStructure extends BaseModelStructure { diff --git a/src/structure/spec_model/SpecModelStructure.ts b/src/structure/spec_model/SpecModelStructure.ts index 87fa9a8..018f30c 100644 --- a/src/structure/spec_model/SpecModelStructure.ts +++ b/src/structure/spec_model/SpecModelStructure.ts @@ -1,4 +1,4 @@ -import { FileStructure } from '../FileStructure' +import { FileStructure } from '../FileStructure.js' export interface SpecModelStructure extends FileStructure { diff --git a/src/structure/spec_model/module/File.struct.ts b/src/structure/spec_model/module/File.struct.ts index bb328aa..45ed481 100644 --- a/src/structure/spec_model/module/File.struct.ts +++ b/src/structure/spec_model/module/File.struct.ts @@ -2,11 +2,11 @@ import { Stats } from 'fs' import { Type, Module } from 'helios-distribution-types' import { URL } from 'url' -import { ModuleStructure } from './Module.struct' -import { readdir, stat } from 'fs-extra' +import { ModuleStructure } from './Module.struct.js' +import { readdir, stat } from 'fs/promises' import { join, resolve, sep } from 'path' -import { MinecraftVersion } from '../../../util/MinecraftVersion' -import { UntrackedFilesOption } from '../../../model/nebula/servermeta' +import { MinecraftVersion } from '../../../util/MinecraftVersion.js' +import { UntrackedFilesOption } from '../../../model/nebula/ServerMeta.js' export class MiscFileStructure extends ModuleStructure { diff --git a/src/structure/spec_model/module/ForgeMod.struct.ts b/src/structure/spec_model/module/ForgeMod.struct.ts index c638f8c..9887410 100644 --- a/src/structure/spec_model/module/ForgeMod.struct.ts +++ b/src/structure/spec_model/module/ForgeMod.struct.ts @@ -1,13 +1,13 @@ -import { Stats } from 'fs-extra' +import { Stats } from 'fs' import { Type, Module } from 'helios-distribution-types' import { join } from 'path' import { URL } from 'url' -import { VersionSegmented } from '../../../util/VersionSegmented' -import { MinecraftVersion } from '../../../util/MinecraftVersion' -import { ToggleableModuleStructure } from './ToggleableModule.struct' -import { LibraryType } from '../../../model/claritas/ClaritasLibraryType' -import { ClaritasException } from './Module.struct' -import { UntrackedFilesOption } from '../../../model/nebula/servermeta' +import { VersionSegmented } from '../../../util/VersionSegmented.js' +import { MinecraftVersion } from '../../../util/MinecraftVersion.js' +import { ToggleableModuleStructure } from './ToggleableModule.struct.js' +import { LibraryType } from '../../../model/claritas/ClaritasLibraryType.js' +import { ClaritasException } from './Module.struct.js' +import { UntrackedFilesOption } from '../../../model/nebula/ServerMeta.js' export abstract class BaseForgeModStructure extends ToggleableModuleStructure implements VersionSegmented { diff --git a/src/structure/spec_model/module/Library.struct.ts b/src/structure/spec_model/module/Library.struct.ts index cf3ee49..e9fa1fc 100644 --- a/src/structure/spec_model/module/Library.struct.ts +++ b/src/structure/spec_model/module/Library.struct.ts @@ -1,10 +1,10 @@ -import { ModuleStructure } from './Module.struct' +import { ModuleStructure } from './Module.struct.js' import { Type, TypeMetadata } from 'helios-distribution-types' -import { Stats } from 'fs-extra' +import { Stats } from 'fs' import { join } from 'path' import { URL } from 'url' -import { MinecraftVersion } from '../../../util/MinecraftVersion' -import { UntrackedFilesOption } from '../../../model/nebula/servermeta' +import { MinecraftVersion } from '../../../util/MinecraftVersion.js' +import { UntrackedFilesOption } from '../../../model/nebula/ServerMeta.js' export class LibraryStructure extends ModuleStructure { diff --git a/src/structure/spec_model/module/Module.struct.ts b/src/structure/spec_model/module/Module.struct.ts index c008d6a..05477db 100644 --- a/src/structure/spec_model/module/Module.struct.ts +++ b/src/structure/spec_model/module/Module.struct.ts @@ -1,14 +1,16 @@ -import minimatch from 'minimatch' +import { minimatch } from 'minimatch' import { createHash } from 'crypto' -import { lstat, pathExists, readdir, readFile, Stats } from 'fs-extra' +import { pathExists } from 'fs-extra/esm' +import { Stats } from 'fs' +import { lstat, readdir, readFile } from 'fs/promises' import { Artifact, Module, Type, TypeMetadata } from 'helios-distribution-types' import { resolve } from 'path' -import { BaseModelStructure } from '../BaseModel.struct' -import { LibraryType } from '../../../model/claritas/ClaritasLibraryType' -import { ClaritasResult, ClaritasModuleMetadata } from '../../../model/claritas/ClaritasResult' -import { ClaritasWrapper } from '../../../util/java/ClaritasWrapper' -import { MinecraftVersion } from '../../../util/MinecraftVersion' -import { UntrackedFilesOption } from '../../../model/nebula/servermeta' +import { BaseModelStructure } from '../BaseModel.struct.js' +import { LibraryType } from '../../../model/claritas/ClaritasLibraryType.js' +import { ClaritasResult, ClaritasModuleMetadata } from '../../../model/claritas/ClaritasResult.js' +import { ClaritasWrapper } from '../../../util/java/ClaritasWrapper.js' +import { MinecraftVersion } from '../../../util/MinecraftVersion.js' +import { UntrackedFilesOption } from '../../../model/nebula/ServerMeta.js' export interface ModuleCandidate { file: string diff --git a/src/structure/spec_model/module/ToggleableModule.struct.ts b/src/structure/spec_model/module/ToggleableModule.struct.ts index ec38f75..ef8c895 100644 --- a/src/structure/spec_model/module/ToggleableModule.struct.ts +++ b/src/structure/spec_model/module/ToggleableModule.struct.ts @@ -1,9 +1,10 @@ -import { ModuleStructure, ModuleCandidate } from './Module.struct' +import { ModuleStructure, ModuleCandidate } from './Module.struct.js' import { Type, Module } from 'helios-distribution-types' -import { Stats, mkdirs } from 'fs-extra' +import { mkdirs } from 'fs-extra/esm' +import { Stats } from 'fs' import { resolve } from 'path' -import { MinecraftVersion } from '../../../util/MinecraftVersion' -import { UntrackedFilesOption } from '../../../model/nebula/servermeta' +import { MinecraftVersion } from '../../../util/MinecraftVersion.js' +import { UntrackedFilesOption } from '../../../model/nebula/ServerMeta.js' export enum ToggleableNamespace { diff --git a/src/structure/spec_model/module/forgemod/ForgeMod113.struct.ts b/src/structure/spec_model/module/forgemod/ForgeMod113.struct.ts index e9158a6..28c42dc 100644 --- a/src/structure/spec_model/module/forgemod/ForgeMod113.struct.ts +++ b/src/structure/spec_model/module/forgemod/ForgeMod113.struct.ts @@ -1,11 +1,11 @@ import StreamZip from 'node-stream-zip' import toml from 'toml' -import { capitalize } from '../../../../util/stringutils' -import { VersionUtil } from '../../../../util/versionutil' -import { ModsToml } from '../../../../model/forge/modstoml' -import { BaseForgeModStructure } from '../ForgeMod.struct' -import { MinecraftVersion } from '../../../../util/MinecraftVersion' -import { UntrackedFilesOption } from '../../../../model/nebula/servermeta' +import { capitalize } from '../../../../util/StringUtils.js' +import { VersionUtil } from '../../../../util/VersionUtil.js' +import { ModsToml } from '../../../../model/forge/ModsToml.js' +import { BaseForgeModStructure } from '../ForgeMod.struct.js' +import { MinecraftVersion } from '../../../../util/MinecraftVersion.js' +import { UntrackedFilesOption } from '../../../../model/nebula/ServerMeta.js' export class ForgeModStructure113 extends BaseForgeModStructure { diff --git a/src/structure/spec_model/module/forgemod/ForgeMod17.struct.ts b/src/structure/spec_model/module/forgemod/ForgeMod17.struct.ts index 8cf9cae..09f2b82 100644 --- a/src/structure/spec_model/module/forgemod/ForgeMod17.struct.ts +++ b/src/structure/spec_model/module/forgemod/ForgeMod17.struct.ts @@ -1,12 +1,12 @@ import StreamZip from 'node-stream-zip' -import { capitalize } from '../../../../util/stringutils' -import { VersionUtil } from '../../../../util/versionutil' -import { McModInfo } from '../../../../model/forge/mcmodinfo' -import { McModInfoList } from '../../../../model/forge/mcmodinfolist' -import { BaseForgeModStructure } from '../ForgeMod.struct' -import { MinecraftVersion } from '../../../../util/MinecraftVersion' -import { ForgeModType_1_7 } from '../../../../model/claritas/ClaritasResult' -import { UntrackedFilesOption } from '../../../../model/nebula/servermeta' +import { capitalize } from '../../../../util/StringUtils.js' +import { VersionUtil } from '../../../../util/VersionUtil.js' +import { McModInfo } from '../../../../model/forge/McModInfo.js' +import { McModInfoList } from '../../../../model/forge/McModInfoList.js' +import { BaseForgeModStructure } from '../ForgeMod.struct.js' +import { MinecraftVersion } from '../../../../util/MinecraftVersion.js' +import { ForgeModType_1_7 } from '../../../../model/claritas/ClaritasResult.js' +import { UntrackedFilesOption } from '../../../../model/nebula/ServerMeta.js' export class ForgeModStructure17 extends BaseForgeModStructure { diff --git a/src/util/LoggerUtil.ts b/src/util/LoggerUtil.ts index af276e2..3ea2cbc 100644 --- a/src/util/LoggerUtil.ts +++ b/src/util/LoggerUtil.ts @@ -1,12 +1,8 @@ import { createLogger, format, transports, Logger } from 'winston' -import { SPLAT as SPLAT_Symbol } from 'triple-beam' +import { SPLAT } from 'triple-beam' import { DateTime } from 'luxon' import { inspect } from 'util' -// Workaround until fixed. -// https://github.com/winstonjs/logform/issues/111 -const SPLAT = SPLAT_Symbol as unknown as string - export class LoggerUtil { public static getLogger(label: string): Logger { diff --git a/src/util/maven.ts b/src/util/MavenUtil.ts similarity index 100% rename from src/util/maven.ts rename to src/util/MavenUtil.ts diff --git a/src/util/SchemaUtil.ts b/src/util/SchemaUtil.ts index 081efdc..9c4699c 100644 --- a/src/util/SchemaUtil.ts +++ b/src/util/SchemaUtil.ts @@ -1,10 +1,11 @@ -import { mkdirs, pathExists, remove, writeFile } from 'fs-extra' +import { mkdirs, pathExists, remove } from 'fs-extra/esm' +import { writeFile } from 'fs/promises' import { join, resolve } from 'path' import { createGenerator } from 'ts-json-schema-generator' import { URL } from 'url' -import { DistroMeta } from '../model/nebula/distrometa' -import { ServerMeta } from '../model/nebula/servermeta' -import { LoggerUtil } from './LoggerUtil' +import { DistroMeta } from '../model/nebula/DistroMeta.js' +import { ServerMeta } from '../model/nebula/ServerMeta.js' +import { LoggerUtil } from './LoggerUtil.js' const logger = LoggerUtil.getLogger('SchemaUtil') diff --git a/src/util/VersionSegmented.ts b/src/util/VersionSegmented.ts index 9a57d97..a785311 100644 --- a/src/util/VersionSegmented.ts +++ b/src/util/VersionSegmented.ts @@ -1,4 +1,4 @@ -import { MinecraftVersion } from './MinecraftVersion' +import { MinecraftVersion } from './MinecraftVersion.js' export interface VersionSegmented { diff --git a/src/util/VersionSegmentedRegistry.ts b/src/util/VersionSegmentedRegistry.ts index 12a0696..f8899ff 100644 --- a/src/util/VersionSegmentedRegistry.ts +++ b/src/util/VersionSegmentedRegistry.ts @@ -1,11 +1,11 @@ -import { ForgeModStructure113 } from '../structure/spec_model/module/forgemod/ForgeMod113.struct' -import { ForgeModStructure17 } from '../structure/spec_model/module/forgemod/ForgeMod17.struct' -import { ForgeGradle3Adapter } from '../resolver/forge/adapter/ForgeGradle3.resolver' -import { ForgeGradle2Adapter } from '../resolver/forge/adapter/ForgeGradle2.resolver' -import { ForgeResolver } from '../resolver/forge/forge.resolver' -import { BaseForgeModStructure } from '../structure/spec_model/module/ForgeMod.struct' -import { MinecraftVersion } from './MinecraftVersion' -import { UntrackedFilesOption } from '../model/nebula/servermeta' +import { ForgeModStructure113 } from '../structure/spec_model/module/forgemod/ForgeMod113.struct.js' +import { ForgeModStructure17 } from '../structure/spec_model/module/forgemod/ForgeMod17.struct.js' +import { ForgeGradle3Adapter } from '../resolver/forge/adapter/ForgeGradle3.resolver.js' +import { ForgeGradle2Adapter } from '../resolver/forge/adapter/ForgeGradle2.resolver.js' +import { ForgeResolver } from '../resolver/forge/Forge.resolver.js' +import { BaseForgeModStructure } from '../structure/spec_model/module/ForgeMod.struct.js' +import { MinecraftVersion } from './MinecraftVersion.js' +import { UntrackedFilesOption } from '../model/nebula/ServerMeta.js' export class VersionSegmentedRegistry { diff --git a/src/util/versionutil.ts b/src/util/VersionUtil.ts similarity index 94% rename from src/util/versionutil.ts rename to src/util/VersionUtil.ts index 56fcd88..0bd809e 100644 --- a/src/util/versionutil.ts +++ b/src/util/VersionUtil.ts @@ -1,7 +1,7 @@ import got from 'got' -import { PromotionsSlim } from '../model/forge/promotionsslim' -import { MinecraftVersion } from './MinecraftVersion' -import { LoggerUtil } from './LoggerUtil' +import { PromotionsSlim } from '../model/forge/PromotionsSlim.js' +import { MinecraftVersion } from './MinecraftVersion.js' +import { LoggerUtil } from './LoggerUtil.js' export class VersionUtil { diff --git a/src/util/java/ClaritasWrapper.ts b/src/util/java/ClaritasWrapper.ts index 101e48b..324b87e 100644 --- a/src/util/java/ClaritasWrapper.ts +++ b/src/util/java/ClaritasWrapper.ts @@ -1,9 +1,10 @@ -import { JarExecutor } from './JarExecutor' +import { JarExecutor } from './JarExecutor.js' import { join, resolve } from 'path' -import { ClaritasResult } from '../../model/claritas/ClaritasResult' -import { MinecraftVersion } from '../MinecraftVersion' -import { LibraryType } from '../../model/claritas/ClaritasLibraryType' -import { pathExists, remove, readFile, writeFile, mkdirs } from 'fs-extra' +import { ClaritasResult } from '../../model/claritas/ClaritasResult.js' +import { MinecraftVersion } from '../MinecraftVersion.js' +import { LibraryType } from '../../model/claritas/ClaritasLibraryType.js' +import { pathExists, remove, mkdirs } from 'fs-extra/esm' +import { readFile, writeFile } from 'fs/promises' export class ClaritasWrapper extends JarExecutor { diff --git a/src/util/java/JarExecutor.ts b/src/util/java/JarExecutor.ts index 3c6107d..413cdc8 100644 --- a/src/util/java/JarExecutor.ts +++ b/src/util/java/JarExecutor.ts @@ -1,7 +1,7 @@ -import { JavaUtil } from './javautil' +import { JavaUtil } from './JavaUtil.js' import { Logger } from 'winston' import { spawn } from 'child_process' -import { LoggerUtil } from '../LoggerUtil' +import { LoggerUtil } from '../LoggerUtil.js' export abstract class JarExecutor { diff --git a/src/util/java/PackXZExtractWrapper.ts b/src/util/java/PackXZExtractWrapper.ts index 3b013bf..afb4ba3 100644 --- a/src/util/java/PackXZExtractWrapper.ts +++ b/src/util/java/PackXZExtractWrapper.ts @@ -1,5 +1,5 @@ import { join } from 'path' -import { JarExecutor } from './JarExecutor' +import { JarExecutor } from './JarExecutor.js' export class PackXZExtractWrapper extends JarExecutor { diff --git a/tsconfig.json b/tsconfig.json index 1a39ce0..b5f3f7a 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,63 +1,12 @@ { "compilerOptions": { - /* Basic Options */ - // "incremental": true, /* Enable incremental compilation */ - "target": "ES2022", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */ - "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */ - "lib": ["ES2022"], /* Specify library files to be included in the compilation. */ - // "allowJs": true, /* Allow javascript files to be compiled. */ - // "checkJs": true, /* Report errors in .js files. */ - // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ - // "declaration": true, /* Generates corresponding '.d.ts' file. */ - // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ - "sourceMap": true, /* Generates corresponding '.map' file. */ - // "outFile": "./", /* Concatenate and emit output to single file. */ - "outDir": "dist", /* Redirect output structure to the directory. */ - // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ - // "composite": true, /* Enable project compilation */ - // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ - // "removeComments": true, /* Do not emit comments to output. */ - // "noEmit": true, /* Do not emit outputs. */ - // "importHelpers": true, /* Import emit helpers from 'tslib'. */ - // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ - // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ - - /* Strict Type-Checking Options */ - "strict": true, /* Enable all strict type-checking options. */ - // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ - // "strictNullChecks": true, /* Enable strict null checks. */ - // "strictFunctionTypes": true, /* Enable strict checking of function types. */ - // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ - // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ - // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ - // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ - - /* Additional Checks */ - // "noUnusedLocals": true, /* Report errors on unused locals. */ - // "noUnusedParameters": true, /* Report errors on unused parameters. */ - // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ - // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ - - /* Module Resolution Options */ - // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ - // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ - // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ - // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ - // "typeRoots": [], /* List of folders to include type definitions from. */ - // "types": [], /* Type declaration files to be included in compilation. */ - // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ - "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ - // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - - /* Source Map Options */ - // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ - // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ - - /* Experimental Options */ - // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ - // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ + "target": "ES2022", + "module": "Node16", + "lib": ["ES2022"], + "sourceMap": true, + "outDir": "dist", + "strict": true, + "moduleResolution": "node16", + "esModuleInterop": true } }