diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..6bac9cf --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,38 @@ +# .github/workflows/ci.yml +name: CI + +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Set up Node.js + uses: actions/setup-node@v2 + with: + node-version: '22.x' + + - name: Install dependencies + run: npm install + + - name: Run lint + run: npm run lint + + - name: Run tests + run: npm test + + - name: Build project (optional) + run: npm run build # Uncomment if you have a build script + + + # Add more steps as needed, such as linting, formatting, etc. diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 0000000..72c4429 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1 @@ +npm test diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000..6db6c15 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,80 @@ +import typescriptEslint from '@typescript-eslint/eslint-plugin'; +import prettier from 'eslint-plugin-prettier'; +import tsParser from '@typescript-eslint/parser'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import js from '@eslint/js'; +import { FlatCompat } from '@eslint/eslintrc'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all, +}); + +export default [ + { + ignores: ['**/out', '**/dist', '**/*.d.ts'], + }, + ...compat.extends( + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:prettier/recommended', + 'prettier' + ), + { + plugins: { + '@typescript-eslint': typescriptEslint, + prettier, + }, + + languageOptions: { + globals: { + console: 'readonly', + __dirname: 'readonly', + module: 'readonly', + require: 'readonly', + }, + + parser: tsParser, + ecmaVersion: 6, + sourceType: 'module', + }, + + rules: { + '@typescript-eslint/naming-convention': [ + 'warn', + { + selector: 'import', + format: ['camelCase', 'PascalCase'], + }, + ], + curly: 'warn', + 'no-throw-literal': 'warn', + semi: ['error', 'always'], + + quotes: [ + 'error', + 'single', + { + avoidEscape: true, + }, + ], + + indent: [ + 'error', + 4, + { + SwitchCase: 1, + }, + ], + + 'no-unused-vars': 'off', + eqeqeq: ['error', 'always'], + 'no-console': 'warn', + 'prettier/prettier': ['error'], + }, + }, +]; diff --git a/package-lock.json b/package-lock.json index 240b489..74dc111 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,29 +1,33 @@ { "name": "scalr", - "version": "0.0.2", + "version": "0.0.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "scalr", - "version": "0.0.2", + "version": "0.0.3", "license": "MPL-2.0", "dependencies": { - "@hey-api/client-fetch": "^0.1.13", + "@hey-api/client-fetch": "^0.2.4", "date-fns": "^3.6.0" }, "devDependencies": { - "@hey-api/openapi-ts": "^0.51.0", + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "^9.10.0", + "@hey-api/openapi-ts": "^0.53.0", "@types/mocha": "^10.0.7", - "@types/node": "20.x", + "@types/node": "^22.5.4", "@types/vscode": "^1.91.0", - "@typescript-eslint/eslint-plugin": "^7.14.1", - "@typescript-eslint/parser": "^7.11.0", - "@vscode/test-cli": "^0.0.9", + "@typescript-eslint/eslint-plugin": "^8.5.0", + "@typescript-eslint/parser": "^8.5.0", + "@vscode/test-cli": "^0.0.10", "@vscode/test-electron": "^2.4.0", - "eslint": "^8.57.0", + "eslint": "^9.10.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.2.1", + "husky": "^8.0.0", + "lint-staged": "^15.2.10", "prettier": "^3.3.3", "ts-loader": "^9.5.1", "typescript": "^5.5.4", @@ -35,9 +39,9 @@ } }, "node_modules/@apidevtools/json-schema-ref-parser": { - "version": "11.6.4", - "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-11.6.4.tgz", - "integrity": "sha512-9K6xOqeevacvweLGik6LnZCb1fBtCOSIWQs8d096XGeqoLKC33UVMGz9+77Gw44KvbH4pKcQPWo4ZpxkXYj05w==", + "version": "11.7.0", + "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-11.7.0.tgz", + "integrity": "sha512-pRrmXMCwnmrkS3MLgAIW5dXRzeTv6GLjkjb4HmxNnvAKXN1Nfzp4KmGADBQvlVUcqi+a5D+hfGDLLnd5NnYxog==", "dev": true, "license": "MIT", "dependencies": { @@ -95,17 +99,56 @@ "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, + "node_modules/@eslint/config-array": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz", + "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.4", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", + "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", "dev": true, "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", + "espree": "^10.0.1", + "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -113,7 +156,7 @@ "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -144,31 +187,53 @@ } }, "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "version": "9.10.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.10.0.tgz", + "integrity": "sha512-fuXtbiP5GWIn8Fz+LWoOMVf/Jxm+aajZYkhi6CuEm4SxymFM+eUWzbO9qXT+L0iCkL5+KGYMCSGxo686H19S1g==", "dev": true, "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", + "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.1.0.tgz", + "integrity": "sha512-autAXT203ixhqei9xt+qkYOvY8l6LAFIdT2UXc/RPNeUVfqRF1BV94GTJyVPFKT8nFM6MyVJhjLj9E8JWvf5zQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@hey-api/client-fetch": { - "version": "0.1.14", - "resolved": "https://registry.npmjs.org/@hey-api/client-fetch/-/client-fetch-0.1.14.tgz", - "integrity": "sha512-6RoO2prOVrQfx2wClJ7DkeIVWQokiRLIdqiuxvFTfWEQVfOc+hQhAw6/IijYrSM9cA7A7DzmHpzTLc/gbQ7/2Q==", + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@hey-api/client-fetch/-/client-fetch-0.2.4.tgz", + "integrity": "sha512-SGTVAVw3PlKDLw+IyhNhb/jCH3P1P2xJzLxA8Kyz1g95HrkYOJdRpl9F5I7LLwo9aCIB7nwR2NrSeX7QaQD7vQ==", "license": "MIT" }, "node_modules/@hey-api/openapi-ts": { - "version": "0.51.0", - "resolved": "https://registry.npmjs.org/@hey-api/openapi-ts/-/openapi-ts-0.51.0.tgz", - "integrity": "sha512-ODZyPrUIVeufqPr6A2MEuLlk+UtaPQT40sgDD2OyfpK5gYFXS+/3A11guQoTX+wdgUgM6CR+cNh4MDXAScAlKg==", + "version": "0.53.0", + "resolved": "https://registry.npmjs.org/@hey-api/openapi-ts/-/openapi-ts-0.53.0.tgz", + "integrity": "sha512-5pDd/s0yHJniruYyKYmEsAMbY10Nh/EwhHlgIrdpQ1KZWQdyTbH/tn8rVHT5Mopr1dMuYX0kq0TzpjcNlvrROQ==", "dev": true, "license": "MIT", "dependencies": { - "@apidevtools/json-schema-ref-parser": "11.6.4", + "@apidevtools/json-schema-ref-parser": "11.7.0", "c12": "1.11.1", - "camelcase": "8.0.0", "commander": "12.1.0", "handlebars": "4.7.8" }, @@ -182,46 +247,6 @@ "typescript": "^5.x" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", - "deprecated": "Use @eslint/config-array instead", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", - "debug": "^4.3.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -236,13 +261,19 @@ "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "deprecated": "Use @eslint/object-schema instead", + "node_modules/@humanwhocodes/retry": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.0.tgz", + "integrity": "sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==", "dev": true, - "license": "BSD-3-Clause" + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } }, "node_modules/@isaacs/cliui": { "version": "8.0.2", @@ -263,9 +294,9 @@ } }, "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, "license": "MIT", "engines": { @@ -456,16 +487,16 @@ "license": "MIT" }, "node_modules/@types/mocha": { - "version": "10.0.7", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.7.tgz", - "integrity": "sha512-GN8yJ1mNTcFcah/wKEFIJckJx9iJLoMSzWcfRRuxz/Jk+U6KQNnml+etbtxFK8lPjzOw3zp4Ha/kjSst9fsHYw==", + "version": "10.0.8", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.8.tgz", + "integrity": "sha512-HfMcUmy9hTMJh66VNcmeC9iVErIZJli2bszuXc6julh5YGuRb/W5OnkHjwLNYdFlMis0sY3If5SEAp+PktdJjw==", "dev": true, "license": "MIT" }, "node_modules/@types/node": { - "version": "20.16.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.1.tgz", - "integrity": "sha512-zJDo7wEadFtSyNz5QITDfRcrhqDvQI1xQNQ0VoizPjM/dVAODqqIUWbJPkvsxmTI0MYRGRikcdjMPhOssnPejQ==", + "version": "22.5.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.4.tgz", + "integrity": "sha512-FDuKUJQm/ju9fT/SeX/6+gBzoPzlVCzfzmGkwKvRHQVxi4BntVbyIwf6a4Xn62mrvndLiml6z/UBXIdEVjQLXg==", "dev": true, "license": "MIT", "dependencies": { @@ -473,39 +504,39 @@ } }, "node_modules/@types/vscode": { - "version": "1.92.0", - "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.92.0.tgz", - "integrity": "sha512-DcZoCj17RXlzB4XJ7IfKdPTcTGDLYvTOcTNkvtjXWF+K2TlKzHHkBEXNWQRpBIXixNEUgx39cQeTFunY0E2msw==", + "version": "1.93.0", + "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.93.0.tgz", + "integrity": "sha512-kUK6jAHSR5zY8ps42xuW89NLcBpw1kOabah7yv38J8MyiYuOHxLQBi0e7zeXbQgVefDy/mZZetqEFC+Fl5eIEQ==", "dev": true, "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz", - "integrity": "sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.5.0.tgz", + "integrity": "sha512-lHS5hvz33iUFQKuPFGheAB84LwcJ60G8vKnEhnfcK1l8kGVLro2SFYW6K0/tj8FUhRJ0VHyg1oAfg50QGbPPHw==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.18.0", - "@typescript-eslint/type-utils": "7.18.0", - "@typescript-eslint/utils": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0", + "@typescript-eslint/scope-manager": "8.5.0", + "@typescript-eslint/type-utils": "8.5.0", + "@typescript-eslint/utils": "8.5.0", + "@typescript-eslint/visitor-keys": "8.5.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^7.0.0", - "eslint": "^8.56.0" + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "eslint": "^8.57.0 || ^9.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -514,27 +545,27 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz", - "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.5.0.tgz", + "integrity": "sha512-gF77eNv0Xz2UJg/NbpWJ0kqAm35UMsvZf1GHj8D9MRFTj/V3tAciIWXfmPLsAAF/vUlpWPvUDyH1jjsr0cMVWw==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "7.18.0", - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/typescript-estree": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0", + "@typescript-eslint/scope-manager": "8.5.0", + "@typescript-eslint/types": "8.5.0", + "@typescript-eslint/typescript-estree": "8.5.0", + "@typescript-eslint/visitor-keys": "8.5.0", "debug": "^4.3.4" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.56.0" + "eslint": "^8.57.0 || ^9.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -543,17 +574,17 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", - "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.5.0.tgz", + "integrity": "sha512-06JOQ9Qgj33yvBEx6tpC8ecP9o860rsR22hWMEd12WcTRrfaFgHr2RB/CA/B+7BMhHkXT4chg2MyboGdFGawYg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0" + "@typescript-eslint/types": "8.5.0", + "@typescript-eslint/visitor-keys": "8.5.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", @@ -561,27 +592,24 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz", - "integrity": "sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.5.0.tgz", + "integrity": "sha512-N1K8Ix+lUM+cIDhL2uekVn/ZD7TZW+9/rwz8DclQpcQ9rk4sIL5CAlBC0CugWKREmDjBzI/kQqU4wkg46jWLYA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "7.18.0", - "@typescript-eslint/utils": "7.18.0", + "@typescript-eslint/typescript-estree": "8.5.0", + "@typescript-eslint/utils": "8.5.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, - "peerDependencies": { - "eslint": "^8.56.0" - }, "peerDependenciesMeta": { "typescript": { "optional": true @@ -589,13 +617,13 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", - "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.5.0.tgz", + "integrity": "sha512-qjkormnQS5wF9pjSi6q60bKUHH44j2APxfh9TQRXK8wbYVeDYYdYJGIROL87LGZZ2gz3Rbmjc736qyL8deVtdw==", "dev": true, "license": "MIT", "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", @@ -603,23 +631,23 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz", - "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.5.0.tgz", + "integrity": "sha512-vEG2Sf9P8BPQ+d0pxdfndw3xIXaoSjliG0/Ejk7UggByZPKXmJmw3GW5jV2gHNQNawBUyfahoSiCFVov0Ruf7Q==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0", + "@typescript-eslint/types": "8.5.0", + "@typescript-eslint/visitor-keys": "8.5.0", "debug": "^4.3.4", - "globby": "^11.1.0", + "fast-glob": "^3.3.2", "is-glob": "^4.0.3", "minimatch": "^9.0.4", "semver": "^7.6.0", "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", @@ -632,57 +660,50 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.18.0.tgz", - "integrity": "sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.5.0.tgz", + "integrity": "sha512-6yyGYVL0e+VzGYp60wvkBHiqDWOpT63pdMV2CVG4LVDd5uR6q1qQN/7LafBZtAtNIn/mqXjsSeS5ggv/P0iECw==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.18.0", - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/typescript-estree": "7.18.0" + "@typescript-eslint/scope-manager": "8.5.0", + "@typescript-eslint/types": "8.5.0", + "@typescript-eslint/typescript-estree": "8.5.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.56.0" + "eslint": "^8.57.0 || ^9.0.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", - "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.5.0.tgz", + "integrity": "sha512-yTPqMnbAZJNy2Xq2XU8AdtOW9tJIr+UQb64aXB9f3B1498Zx9JorVgFJcZpEc9UBuCCrdzKID2RGAMkYcDtZOw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/types": "8.5.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true, - "license": "ISC" - }, "node_modules/@vscode/test-cli": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/@vscode/test-cli/-/test-cli-0.0.9.tgz", - "integrity": "sha512-vsl5/ueE3Jf0f6XzB0ECHHMsd5A0Yu6StElb8a+XsubZW7kHNAOw4Y3TSSuDzKEpLnJ92nbMy1Zl+KLGCE6NaA==", + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/@vscode/test-cli/-/test-cli-0.0.10.tgz", + "integrity": "sha512-B0mMH4ia+MOOtwNiLi79XhA+MLmUItIC8FckEuKrVAVriIuSWjt7vv4+bF8qVFiNFe4QRfzPaIZk39FZGWEwHA==", "dev": true, "license": "MIT", "dependencies": { @@ -1025,6 +1046,22 @@ "node": ">=6" } }, + "node_modules/ansi-escapes": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", + "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "environment": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -1072,16 +1109,6 @@ "dev": true, "license": "Python-2.0" }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -1310,23 +1337,10 @@ "node": ">=6" } }, - "node_modules/camelcase": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", - "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/caniuse-lite": { - "version": "1.0.30001653", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001653.tgz", - "integrity": "sha512-XGWQVB8wFQ2+9NZwZ10GxTYC5hk0Fa+q8cSkr0tgvMhYhMHP/QC+WTgrePMDBWiWc/pV+1ik82Al20XOK25Gcw==", + "version": "1.0.30001660", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001660.tgz", + "integrity": "sha512-GacvNTTuATm26qC74pt+ad1fW15mlQ/zuTzzY1ZoIzECTP8HURDfF43kNxPgf7H1jmelCBQTTbBNxdSXOA7Bqg==", "dev": true, "funding": [ { @@ -1430,16 +1444,16 @@ } }, "node_modules/cli-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", - "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", "dev": true, "license": "MIT", "dependencies": { - "restore-cursor": "^4.0.0" + "restore-cursor": "^5.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -1458,6 +1472,77 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/cli-truncate": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", + "dev": true, + "license": "MIT", + "dependencies": { + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/cli-truncate/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true, + "license": "MIT" + }, + "node_modules/cli-truncate/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -1480,6 +1565,16 @@ "dev": true, "license": "MIT" }, + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/cliui/node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -1629,13 +1724,13 @@ } }, "node_modules/debug": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", - "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, "license": "MIT", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -1690,32 +1785,6 @@ "node": ">=0.3.1" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/dotenv": { "version": "16.4.5", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", @@ -1737,9 +1806,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz", - "integrity": "sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==", + "version": "1.5.22", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.22.tgz", + "integrity": "sha512-tKYm5YHPU1djz0O+CGJ+oJIvimtsCcwR2Z9w7Skh08lUdyzXY5djods3q+z2JkWdb7tCcmM//eVavSRAiaPRNg==", "dev": true, "license": "ISC" }, @@ -1765,9 +1834,9 @@ } }, "node_modules/envinfo": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.13.0.tgz", - "integrity": "sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.14.0.tgz", + "integrity": "sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==", "dev": true, "license": "MIT", "bin": { @@ -1777,6 +1846,19 @@ "node": ">=4" } }, + "node_modules/environment": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", + "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/es-module-lexer": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", @@ -1785,9 +1867,9 @@ "license": "MIT" }, "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, "license": "MIT", "engines": { @@ -1808,44 +1890,40 @@ } }, "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "version": "9.10.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.10.0.tgz", + "integrity": "sha512-Y4D0IgtBZfOcOUAIQTSXBKoNGfY0REGqHJG6+Q81vNippW5YlKjHFj4soMxamKK1NXHUWuBZTLdU3Km+L/pcHw==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", + "@eslint-community/regexpp": "^4.11.0", + "@eslint/config-array": "^0.18.0", + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "9.10.0", + "@eslint/plugin-kit": "^0.1.0", "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.3.0", "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", - "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", + "eslint-scope": "^8.0.2", + "eslint-visitor-keys": "^4.0.0", + "espree": "^10.1.0", + "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", + "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", @@ -1857,10 +1935,18 @@ "eslint": "bin/eslint.js" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } } }, "node_modules/eslint-config-prettier": { @@ -1908,9 +1994,9 @@ } }, "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.2.tgz", + "integrity": "sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -1918,7 +2004,7 @@ "estraverse": "^5.2.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -1948,6 +2034,19 @@ "concat-map": "0.0.1" } }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", + "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/eslint/node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -1975,30 +2074,43 @@ } }, "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz", + "integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "acorn": "^8.9.0", + "acorn": "^8.12.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "eslint-visitor-keys": "^4.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, - "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", + "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { "estraverse": "^5.1.0" }, "engines": { @@ -2038,6 +2150,13 @@ "node": ">=0.10.0" } }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "dev": true, + "license": "MIT" + }, "node_modules/events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", @@ -2138,16 +2257,16 @@ } }, "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, "license": "MIT", "dependencies": { - "flat-cache": "^3.0.4" + "flat-cache": "^4.0.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16.0.0" } }, "node_modules/fill-range": { @@ -2191,18 +2310,17 @@ } }, "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, "license": "MIT", "dependencies": { "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" + "keyv": "^4.5.4" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16" } }, "node_modules/flatted": { @@ -2297,6 +2415,19 @@ "node": "6.* || 8.* || >= 10.*" } }, + "node_modules/get-east-asian-width": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz", + "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-stream": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", @@ -2372,37 +2503,13 @@ "license": "BSD-2-Clause" }, "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -2522,6 +2629,22 @@ "node": ">=16.17.0" } }, + "node_modules/husky": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", + "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", + "dev": true, + "license": "MIT", + "bin": { + "husky": "lib/bin.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -2676,13 +2799,16 @@ } }, "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-glob": { @@ -3011,6 +3137,163 @@ "immediate": "~3.0.5" } }, + "node_modules/lilconfig": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/lint-staged": { + "version": "15.2.10", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.10.tgz", + "integrity": "sha512-5dY5t743e1byO19P9I4b3x8HJwalIznL5E1FWYnU6OWw33KxNBSLAc6Cy7F2PsFEO8FKnLwjwm5hx7aMF0jzZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "~5.3.0", + "commander": "~12.1.0", + "debug": "~4.3.6", + "execa": "~8.0.1", + "lilconfig": "~3.1.2", + "listr2": "~8.2.4", + "micromatch": "~4.0.8", + "pidtree": "~0.6.0", + "string-argv": "~0.3.2", + "yaml": "~2.5.0" + }, + "bin": { + "lint-staged": "bin/lint-staged.js" + }, + "engines": { + "node": ">=18.12.0" + }, + "funding": { + "url": "https://opencollective.com/lint-staged" + } + }, + "node_modules/lint-staged/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/listr2": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.4.tgz", + "integrity": "sha512-opevsywziHd3zHCVQGAj8zu+Z3yHNkkoYhWIGnq54RrCVwLz0MozotJEDnKsIBLvkfLGN6BLOyAeRrYI0pKA4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "cli-truncate": "^4.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.1.0", + "rfdc": "^1.4.1", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/listr2/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/listr2/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/listr2/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true, + "license": "MIT" + }, + "node_modules/listr2/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/listr2/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/loader-runner": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", @@ -3061,6 +3344,144 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/log-update": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^7.0.0", + "cli-cursor": "^5.0.0", + "slice-ansi": "^7.1.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/log-update/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-update/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", + "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", + "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", @@ -3145,7 +3566,20 @@ "dev": true, "license": "MIT", "engines": { - "node": ">=12" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mimic-function": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -3316,6 +3750,16 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/mocha/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/mocha/node_modules/minimatch": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", @@ -3329,13 +3773,6 @@ "node": ">=10" } }, - "node_modules/mocha/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, "node_modules/mocha/node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -3415,9 +3852,9 @@ } }, "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true, "license": "MIT" }, @@ -3585,9 +4022,9 @@ } }, "node_modules/ora/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, "license": "MIT", "engines": { @@ -3610,6 +4047,22 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/ora/node_modules/cli-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/ora/node_modules/emoji-regex": { "version": "10.4.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", @@ -3647,6 +4100,56 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/ora/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ora/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/restore-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, "node_modules/ora/node_modules/string-width": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-6.1.0.tgz", @@ -3804,16 +4307,6 @@ "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", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/pathe": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", @@ -3829,9 +4322,9 @@ "license": "MIT" }, "node_modules/picocolors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", "dev": true, "license": "ISC" }, @@ -3848,6 +4341,19 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true, + "license": "MIT", + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", @@ -4131,55 +4637,38 @@ } }, "node_modules/restore-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", - "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", "dev": true, "license": "MIT", "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/restore-cursor/node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/restore-cursor/node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", "dev": true, "license": "MIT", "dependencies": { - "mimic-fn": "^2.1.0" + "mimic-function": "^5.0.0" }, "engines": { - "node": ">=6" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/restore-cursor/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "license": "ISC" - }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -4191,68 +4680,12 @@ "node": ">=0.10.0" } }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/rimraf/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } + "license": "MIT" }, "node_modules/run-parallel": { "version": "1.2.0", @@ -4383,14 +4816,34 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", "dev": true, "license": "MIT", + "dependencies": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/source-map": { @@ -4440,6 +4893,16 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/string-argv": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", + "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6.19" + } + }, "node_modules/string-width": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", @@ -4481,10 +4944,20 @@ "dev": true, "license": "MIT" }, + "node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/string-width/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, "license": "MIT", "engines": { @@ -4645,9 +5118,9 @@ } }, "node_modules/terser": { - "version": "5.31.6", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.6.tgz", - "integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==", + "version": "5.32.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.32.0.tgz", + "integrity": "sha512-v3Gtw3IzpBJ0ugkxEX8U0W6+TnPKRRCWGh1jC/iM/e3Ki5+qvO1L1EAZ56bZasc64aXHwRHNIQEzm6//i5cemQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -4850,23 +5323,10 @@ "node": ">= 0.8.0" } }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/typescript": { - "version": "5.5.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", - "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz", + "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==", "dev": true, "license": "Apache-2.0", "bin": { @@ -4885,9 +5345,9 @@ "license": "MIT" }, "node_modules/uglify-js": { - "version": "3.19.2", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.2.tgz", - "integrity": "sha512-S8KA6DDI47nQXJSi2ctQ629YzwOVs+bQML6DAtvy0wgNdpi+0ySpQK0g2pxBq2xfF2z3YCscu7NNA8nXT9PlIQ==", + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", "dev": true, "license": "BSD-2-Clause", "optional": true, @@ -5225,6 +5685,16 @@ "dev": true, "license": "MIT" }, + "node_modules/wrap-ansi-cjs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/wrap-ansi-cjs/node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -5241,9 +5711,9 @@ } }, "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, "license": "MIT", "engines": { @@ -5306,6 +5776,19 @@ "dev": true, "license": "ISC" }, + "node_modules/yaml": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz", + "integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==", + "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", @@ -5371,6 +5854,16 @@ "dev": true, "license": "MIT" }, + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/yargs/node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", diff --git a/package.json b/package.json index fe36367..4fcb810 100644 --- a/package.json +++ b/package.json @@ -174,23 +174,28 @@ "compile-tests": "tsc -p . --outDir out", "watch-tests": "tsc -p . -w --outDir out", "pretest": "npm run compile-tests && npm run compile && npm run lint", - "lint": "eslint src --ext ts --fix", + "lint": "eslint 'src/**/*.ts' --fix", "test": "vscode-test", "openapi-ts": "openapi-ts", - "format": "prettier --write ." + "format": "prettier --write .", + "prepare": "husky" }, "devDependencies": { - "@hey-api/openapi-ts": "^0.51.0", + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "^9.10.0", + "@hey-api/openapi-ts": "^0.53.0", "@types/mocha": "^10.0.7", - "@types/node": "20.x", + "@types/node": "^22.5.4", "@types/vscode": "^1.91.0", - "@typescript-eslint/eslint-plugin": "^7.14.1", - "@typescript-eslint/parser": "^7.11.0", - "@vscode/test-cli": "^0.0.9", + "@typescript-eslint/eslint-plugin": "^8.5.0", + "@typescript-eslint/parser": "^8.5.0", + "@vscode/test-cli": "^0.0.10", "@vscode/test-electron": "^2.4.0", - "eslint": "^8.57.0", + "eslint": "^9.10.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.2.1", + "husky": "^8.0.0", + "lint-staged": "^15.2.10", "prettier": "^3.3.3", "ts-loader": "^9.5.1", "typescript": "^5.5.4", @@ -198,9 +203,15 @@ "webpack-cli": "^5.1.4" }, "dependencies": { - "@hey-api/client-fetch": "^0.1.13", + "@hey-api/client-fetch": "^0.2.4", "date-fns": "^3.6.0" }, + "lint-staged": { + "*.ts": [ + "eslint --fix", + "prettier --write" + ] + }, "repository": { "type": "git", "url": "https://github.com/Scalr/scalr-vscode.git" diff --git a/src/api/init.ts b/src/api/init.ts index 21718f0..9e0d90d 100644 --- a/src/api/init.ts +++ b/src/api/init.ts @@ -1,7 +1,7 @@ -import { createClient } from '@hey-api/client-fetch'; +import { client } from '../api/services.gen'; export const initClient = (accountName: string, token: string) => { - return createClient({ + client.setConfig({ baseUrl: `https://${accountName}.scalr.io/api/iacp/v3/`, headers: { Authorization: `Bearer ${token}`, diff --git a/src/api/schemas.gen.ts b/src/api/schemas.gen.ts index 8feffb9..df653cb 100644 --- a/src/api/schemas.gen.ts +++ b/src/api/schemas.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -export const $AWSEventBridgeIntegration = { +export const AWSEventBridgeIntegrationSchema = { properties: { attributes: { properties: { @@ -96,7 +96,7 @@ export const $AWSEventBridgeIntegration = { type: 'object', } as const; -export const $AWSEventBridgeIntegrationDocument = { +export const AWSEventBridgeIntegrationDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -119,7 +119,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $AWSEventBridgeIntegrationListingDocument = { +export const AWSEventBridgeIntegrationListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -152,7 +152,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $AccessPolicy = { +export const AccessPolicySchema = { description: `Grants the permissions declared in a role to a user, team, or service account. An access policy is applied to an environment or a specific workspace.`, @@ -341,7 +341,7 @@ An access policy is applied to an environment or a specific workspace.`, type: 'object', } as const; -export const $AccessPolicyDocument = { +export const AccessPolicyDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -364,7 +364,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $AccessPolicyListingDocument = { +export const AccessPolicyListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -397,7 +397,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $AccessToken = { +export const AccessTokenSchema = { description: 'Access Token for the Scalr API.', properties: { attributes: { @@ -481,7 +481,7 @@ header. Available only in the [Create an Access Token](#create-an-access-token) type: 'object', } as const; -export const $AccessTokenDocument = { +export const AccessTokenDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -504,7 +504,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $AccessTokenListingDocument = { +export const AccessTokenListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -537,7 +537,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $Account = { +export const AccountSchema = { description: 'API Resource for the account.', properties: { attributes: { @@ -741,7 +741,7 @@ export const $Account = { type: 'object', } as const; -export const $AccountBlobSettings = { +export const AccountBlobSettingsSchema = { description: `API resource describing the external blob storage setting, where Scalr will store this account blobs: e.g. source code, terraform state, and logs.`, properties: { @@ -853,7 +853,7 @@ NfsPPHBVNlU8ZLBU9BeBIoL29rqtduyQAEw3vxf6kaY= type: 'object', } as const; -export const $AccountBlobSettingsDocument = { +export const AccountBlobSettingsDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -876,7 +876,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $AccountDocument = { +export const AccountDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -899,7 +899,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $AccountListingDocument = { +export const AccountListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -932,7 +932,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $AccountMetrics = { +export const AccountMetricsSchema = { description: 'Represents account metrics.', properties: { 'billings-flex-runs-count': { @@ -987,7 +987,7 @@ export const $AccountMetrics = { type: 'object', } as const; -export const $AccountUser = { +export const AccountUserSchema = { description: 'Represents an account-user relation.', properties: { attributes: { @@ -1087,7 +1087,7 @@ export const $AccountUser = { type: 'object', } as const; -export const $AccountUserDocument = { +export const AccountUserDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -1110,7 +1110,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $AccountUserListingDocument = { +export const AccountUserListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -1143,7 +1143,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $Agent = { +export const AgentSchema = { description: `An agent represents a single instance of self-hosted runner installed on a customer's on-prem infrastructure. @@ -1252,7 +1252,7 @@ The attribute \`error-message\` has the details. type: 'object', } as const; -export const $AgentDocument = { +export const AgentDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -1275,7 +1275,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $AgentListingDocument = { +export const AgentListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -1308,7 +1308,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $AgentPool = { +export const AgentPoolSchema = { description: `With the agent pool resource you can manage a pool of [self-hosted agents](../../agent_pools.html) A workspace may be configured to use an agent pool to execute terraform [runs](runs.html). @@ -1452,7 +1452,7 @@ Agents could be hosted on a physical or virtual machines within the customer's n type: 'object', } as const; -export const $AgentPoolDocument = { +export const AgentPoolDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -1475,7 +1475,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $AgentPoolListingDocument = { +export const AgentPoolListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -1508,7 +1508,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $Apply = { +export const ApplySchema = { description: `Applies are the details of a request to apply a Terraform plan. An apply may or may not be successful as indicated by the \`status\` attribute.`, @@ -1591,7 +1591,7 @@ Final states: type: 'object', } as const; -export const $ApplyDocument = { +export const ApplyDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -1614,7 +1614,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $BillingPlan = { +export const BillingPlanSchema = { properties: { attributes: { properties: { @@ -1707,7 +1707,7 @@ export const $BillingPlan = { type: 'object', } as const; -export const $BillingPlanDocument = { +export const BillingPlanDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -1730,12 +1730,12 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $BuiltInProviderTypes = { +export const BuiltInProviderTypesSchema = { enum: ['aws', 'azurerm', 'google', 'scalr'], type: 'string', } as const; -export const $Comment = { +export const CommentSchema = { description: 'An optional explanation for why run action was done.', properties: { comment: { @@ -1747,7 +1747,7 @@ export const $Comment = { type: 'object', } as const; -export const $ConfigurationVersion = { +export const ConfigurationVersionSchema = { description: `A Configuration Version describes the version of a Terraform configuration files. Each run is associated with a configuration version. It provides details of the source of the configuration files, @@ -1920,7 +1920,7 @@ With this set to \`true\` the configuration cannot be used for an apply and neve type: 'object', } as const; -export const $ConfigurationVersionDocument = { +export const ConfigurationVersionDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -1943,7 +1943,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $ConfigurationVersionListingDocument = { +export const ConfigurationVersionListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -1976,7 +1976,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $ConfirmRequest = { +export const ConfirmRequestSchema = { description: 'A request to confirm a run. Includes optional time when apply should be queued.', properties: { 'apply-at': { @@ -1994,7 +1994,7 @@ export const $ConfirmRequest = { type: 'object', } as const; -export const $CostEstimate = { +export const CostEstimateSchema = { description: `A Cost Estimate is the details of the cost estimation phase of a \`run\` in Scalr. Cost estimation is optional and is enabled/disable per \`environment\`. If enabled a cost estimation @@ -2102,7 +2102,7 @@ Final states: type: 'object', } as const; -export const $CostEstimateDocument = { +export const CostEstimateDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -2125,7 +2125,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $CreateUser = { +export const CreateUserSchema = { description: 'Represents a request to create an [IAM](https://docs.scalr.io/docs/identity-and-access-management) user.', properties: { @@ -2217,7 +2217,7 @@ export const $CreateUser = { type: 'object', } as const; -export const $CreateUserDocument = { +export const CreateUserDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -2240,7 +2240,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $DatadogIntegration = { +export const DatadogIntegrationSchema = { properties: { attributes: { properties: { @@ -2325,7 +2325,7 @@ export const $DatadogIntegration = { type: 'object', } as const; -export const $DatadogIntegrationDocument = { +export const DatadogIntegrationDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -2348,7 +2348,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $DatadogIntegrationListingDocument = { +export const DatadogIntegrationListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -2381,7 +2381,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $Environment = { +export const EnvironmentSchema = { description: `Environments are collections of related workspaces that correspond to functional areas, SDLC stages, projects or any grouping that is required. @@ -2596,7 +2596,7 @@ that are available to every workspace.`, type: 'object', } as const; -export const $EnvironmentDocument = { +export const EnvironmentDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -2619,7 +2619,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $EnvironmentListingDocument = { +export const EnvironmentListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -2652,7 +2652,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $Error = { +export const ErrorSchema = { description: `JSON:API Error object. see: https://jsonapi.org/format/#errors`, @@ -2686,7 +2686,7 @@ see: https://jsonapi.org/format/#errors`, type: 'object', } as const; -export const $ErrorDocument = { +export const ErrorDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -2701,7 +2701,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $EventDefinition = { +export const EventDefinitionSchema = { description: `Represents a Webhook Event Definition. Use [List Event Definitions](event-definitions.html#list-event-definitions) to obtain @@ -2744,7 +2744,7 @@ within \`webhook.event\` relationship in [Create Webook](webhooks.html#create-we type: 'object', } as const; -export const $EventDefinitionDocument = { +export const EventDefinitionDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -2767,7 +2767,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $EventDefinitionListingDocument = { +export const EventDefinitionListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -2800,7 +2800,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $IdentityProvider = { +export const IdentityProviderSchema = { description: 'The Identity Provider (IdP).', properties: { attributes: { @@ -2871,7 +2871,7 @@ export const $IdentityProvider = { type: 'object', } as const; -export const $IdentityProviderDocument = { +export const IdentityProviderDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -2894,7 +2894,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $Module = { +export const ModuleSchema = { description: 'A terraform module in the [Private Module Registry](../../module.html).', properties: { attributes: { @@ -3173,7 +3173,7 @@ is \`my-module/\`.`, type: 'object', } as const; -export const $ModuleDocument = { +export const ModuleDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -3196,7 +3196,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $ModuleListingDocument = { +export const ModuleListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -3229,7 +3229,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $ModuleResyncRequest = { +export const ModuleResyncRequestSchema = { description: 'Represents a request to resync the object.', properties: { force: { @@ -3242,7 +3242,7 @@ will be synchronized.`, type: 'object', } as const; -export const $ModuleUsageNamespace = { +export const ModuleUsageNamespaceSchema = { description: 'Represents terraform module usage namespace instance.', properties: { attributes: { @@ -3346,7 +3346,7 @@ export const $ModuleUsageNamespace = { type: 'object', } as const; -export const $ModuleUsageNamespaceDocument = { +export const ModuleUsageNamespaceDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -3369,7 +3369,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $ModuleUsageNamespaceListingDocument = { +export const ModuleUsageNamespaceListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -3402,7 +3402,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $ModuleVersion = { +export const ModuleVersionSchema = { description: "A terraform module's version in the [Private Module Registry](../../module.html).", properties: { attributes: { @@ -3642,7 +3642,7 @@ Attribute \`error-message\` contains the details.`, type: 'object', } as const; -export const $ModuleVersionDocument = { +export const ModuleVersionDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -3665,7 +3665,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $ModuleVersionListingDocument = { +export const ModuleVersionListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -3698,7 +3698,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $Permission = { +export const PermissionSchema = { description: `The ability to perform an action on an object, enabling the corresponding functionality in the UI and API. e.g. \`workspaces:create\`, \`vcs-providers:read\`. @@ -3753,7 +3753,7 @@ Use [List Permissions](permissions.html#list-permissions) to obtain all possible type: 'object', } as const; -export const $PermissionDocument = { +export const PermissionDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -3776,7 +3776,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $PermissionListingDocument = { +export const PermissionListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -3809,7 +3809,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $Plan = { +export const PlanSchema = { description: 'Provides details of a Terraform plan operation.', properties: { attributes: { @@ -3899,7 +3899,7 @@ Final states: type: 'object', } as const; -export const $PlanDocument = { +export const PlanDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -3922,7 +3922,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $Policy = { +export const PolicySchema = { description: `A policy provides details of a single OPA policy as declared in [scalr-policy.hcl](../../opa.html#creating-policy-groups).`, properties: { @@ -4002,7 +4002,7 @@ and other authorized roles. type: 'object', } as const; -export const $PolicyCheck = { +export const PolicyCheckSchema = { description: `A policy check contains the details of the policy check phase of a run in Scalr. Policy check is performed immediately after Terraform plan and cost estimation have completed for every run @@ -4144,7 +4144,7 @@ Final states: type: 'object', } as const; -export const $PolicyCheckDocument = { +export const PolicyCheckDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -4167,7 +4167,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $PolicyCheckListingDocument = { +export const PolicyCheckListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -4200,7 +4200,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $PolicyCheckResult = { +export const PolicyCheckResultSchema = { description: 'Represents a terraform policy check result.', properties: { attributes: { @@ -4344,7 +4344,7 @@ export const $PolicyCheckResult = { type: 'object', } as const; -export const $PolicyCheckResultListingDocument = { +export const PolicyCheckResultListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -4377,7 +4377,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $PolicyDocument = { +export const PolicyDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -4400,7 +4400,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $PolicyGroup = { +export const PolicyGroupSchema = { description: `A policy group represents the collection of [OPA](../../opa.html) policies stored in a VCS repository. @@ -4623,7 +4623,7 @@ If omitted or submitted as an empty string, this defaults to the repository's ro type: 'object', } as const; -export const $PolicyGroupDocument = { +export const PolicyGroupDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -4646,7 +4646,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $PolicyGroupEnvironmentRelationship = { +export const PolicyGroupEnvironmentRelationshipSchema = { properties: { id: { type: 'string', @@ -4660,7 +4660,7 @@ export const $PolicyGroupEnvironmentRelationship = { type: 'object', } as const; -export const $PolicyGroupEnvironmentRelationshipFieldsetsListingDocument = { +export const PolicyGroupEnvironmentRelationshipFieldsetsListingDocumentSchema = { description: 'Document Listing.', properties: { data: { @@ -4691,7 +4691,7 @@ export const $PolicyGroupEnvironmentRelationshipFieldsetsListingDocument = { type: 'object', } as const; -export const $PolicyGroupListingDocument = { +export const PolicyGroupListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -4724,7 +4724,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $ProviderConfiguration = { +export const ProviderConfigurationSchema = { description: 'The configuration of provider. Provider configuration is managed on the account scope and can be linked to environments or workspaces.', properties: { @@ -5037,7 +5037,7 @@ export const $ProviderConfiguration = { type: 'object', } as const; -export const $ProviderConfigurationDocument = { +export const ProviderConfigurationDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -5060,7 +5060,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $ProviderConfigurationLink = { +export const ProviderConfigurationLinkSchema = { description: 'The provider configuration link attaches the provider configuration to an environment or workspace.', properties: { attributes: { @@ -5172,7 +5172,7 @@ export const $ProviderConfigurationLink = { type: 'object', } as const; -export const $ProviderConfigurationLinkDocument = { +export const ProviderConfigurationLinkDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -5195,7 +5195,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $ProviderConfigurationLinkListingDocument = { +export const ProviderConfigurationLinkListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -5228,7 +5228,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $ProviderConfigurationListingDocument = { +export const ProviderConfigurationListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -5261,7 +5261,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $ProviderConfigurationParameter = { +export const ProviderConfigurationParameterSchema = { description: 'The argument of the provider configuration.', properties: { attributes: { @@ -5338,7 +5338,7 @@ export const $ProviderConfigurationParameter = { type: 'object', } as const; -export const $ProviderConfigurationParameterDocument = { +export const ProviderConfigurationParameterDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -5361,7 +5361,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $ProviderConfigurationParameterListingDocument = { +export const ProviderConfigurationParameterListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -5394,7 +5394,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $Reason = { +export const ReasonSchema = { properties: { reason: { default: '', @@ -5405,7 +5405,7 @@ export const $Reason = { type: 'object', } as const; -export const $RegistryInputOptional = { +export const RegistryInputOptionalSchema = { properties: { default: { anyOf: [ @@ -5451,7 +5451,7 @@ export const $RegistryInputOptional = { type: 'object', } as const; -export const $RegistryInputRequired = { +export const RegistryInputRequiredSchema = { properties: { description: { nullable: true, @@ -5473,7 +5473,7 @@ export const $RegistryInputRequired = { type: 'object', } as const; -export const $RemoteStateConsumerRelationship = { +export const RemoteStateConsumerRelationshipSchema = { description: "Represents remote state consumers' relationship.", properties: { id: { @@ -5488,7 +5488,7 @@ export const $RemoteStateConsumerRelationship = { type: 'object', } as const; -export const $RemoteStateConsumerRelationshipFieldsetsListingDocument = { +export const RemoteStateConsumerRelationshipFieldsetsListingDocumentSchema = { description: 'Document Listing.', properties: { data: { @@ -5519,7 +5519,7 @@ export const $RemoteStateConsumerRelationshipFieldsetsListingDocument = { type: 'object', } as const; -export const $Role = { +export const RoleSchema = { description: 'A collection of permissions that can be assigned to a user, team, or service account via an [access policy](access-policies.html).', properties: { @@ -5618,7 +5618,7 @@ export const $Role = { type: 'object', } as const; -export const $RoleDocument = { +export const RoleDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -5641,7 +5641,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $RoleListingDocument = { +export const RoleListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -5674,7 +5674,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $Run = { +export const RunSchema = { description: `A Run provides details of an entire run operation potentially comprising \`plan\`, \`cost-estimation\`, \`policy-check\` and \`apply\`.`, properties: { @@ -6226,7 +6226,7 @@ This is the final state for dry run. type: 'object', } as const; -export const $RunDocument = { +export const RunDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -6249,7 +6249,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $RunListingDocument = { +export const RunListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -6282,7 +6282,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $RunScheduleRule = { +export const RunScheduleRuleSchema = { description: `A RunScheduleRule resource represents a rule for scheduling runs in a workspace. Each RunScheduleRule is associated with a workspace and has a schedule and a schedule mode. @@ -6353,7 +6353,7 @@ The schedule mode determines whether the triggered run is an 'apply' 'destroy' o type: 'object', } as const; -export const $RunScheduleRuleDocument = { +export const RunScheduleRuleDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -6376,7 +6376,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $RunScheduleRuleListingDocument = { +export const RunScheduleRuleListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -6409,7 +6409,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $RunTrigger = { +export const RunTriggerSchema = { description: `Run triggers allow runs to queue automatically in downstream workspace on successful apply of runs in any of the upstream workspaces.`, properties: { @@ -6493,7 +6493,7 @@ successful apply of runs in any of the upstream workspaces.`, type: 'object', } as const; -export const $RunTriggerDocument = { +export const RunTriggerDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -6516,7 +6516,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $SamlIntegration = { +export const SamlIntegrationSchema = { properties: { attributes: { properties: { @@ -6864,7 +6864,7 @@ export const $SamlIntegration = { type: 'object', } as const; -export const $SamlIntegrationDocument = { +export const SamlIntegrationDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -6887,7 +6887,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $SamlIntegrationListingDocument = { +export const SamlIntegrationListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -6920,7 +6920,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $ServiceAccount = { +export const ServiceAccountSchema = { description: `Represents a service account definition. A service account is a special type of account intended to represent a non-human user @@ -7052,7 +7052,7 @@ that needs to authenticate and be authorized to access data in Scalr APIs.`, type: 'object', } as const; -export const $ServiceAccountDocument = { +export const ServiceAccountDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -7075,7 +7075,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $ServiceAccountListingDocument = { +export const ServiceAccountListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -7108,7 +7108,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $SlackChannel = { +export const SlackChannelSchema = { properties: { id: { type: 'string', @@ -7124,7 +7124,7 @@ export const $SlackChannel = { type: 'object', } as const; -export const $SlackChannelFieldsetsListingDocument = { +export const SlackChannelFieldsetsListingDocumentSchema = { description: 'Document Listing.', properties: { data: { @@ -7155,7 +7155,7 @@ export const $SlackChannelFieldsetsListingDocument = { type: 'object', } as const; -export const $SlackConnection = { +export const SlackConnectionSchema = { properties: { attributes: { properties: { @@ -7212,7 +7212,7 @@ export const $SlackConnection = { type: 'object', } as const; -export const $SlackConnectionDocument = { +export const SlackConnectionDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -7235,7 +7235,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $SlackIntegration = { +export const SlackIntegrationSchema = { properties: { attributes: { properties: { @@ -7399,7 +7399,7 @@ export const $SlackIntegration = { type: 'object', } as const; -export const $SlackIntegrationDocument = { +export const SlackIntegrationDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -7422,7 +7422,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $SlackIntegrationListingDocument = { +export const SlackIntegrationListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -7455,7 +7455,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $SoftwareVersion = { +export const SoftwareVersionSchema = { description: 'Represents a software version.', properties: { attributes: { @@ -7548,7 +7548,7 @@ for the given software-type.`, type: 'object', } as const; -export const $SoftwareVersionDocument = { +export const SoftwareVersionDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -7571,7 +7571,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $SoftwareVersionListingDocument = { +export const SoftwareVersionListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -7604,7 +7604,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $Sources = { +export const SourcesSchema = { enum: [ 'api', 'cli', @@ -7632,7 +7632,7 @@ export const $Sources = { type: 'string', } as const; -export const $StateVersion = { +export const StateVersionSchema = { description: 'A State version is the version of a state file associated with a workspace.', properties: { attributes: { @@ -7887,7 +7887,7 @@ export const $StateVersion = { type: 'object', } as const; -export const $StateVersionDocument = { +export const StateVersionDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -7910,7 +7910,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $StateVersionListingDocument = { +export const StateVersionListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -7943,7 +7943,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $StatusTransition = { +export const StatusTransitionSchema = { description: 'Status transition of entity.', properties: { attributes: { @@ -8007,7 +8007,7 @@ export const $StatusTransition = { type: 'object', } as const; -export const $StatusTransitionDocument = { +export const StatusTransitionDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -8030,7 +8030,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $Tag = { +export const TagSchema = { description: `Tag is a keyword or term associated with a Scalr resource. It is used to label resources across the account to help to identify them, improve searchability or can even participate in a terraform run e.g. as a part of metadata for policy decision. @@ -8098,7 +8098,7 @@ Tags are unique within the account. Deleted tags will be removed from associated type: 'object', } as const; -export const $TagDocument = { +export const TagDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -8121,7 +8121,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $TagListingDocument = { +export const TagListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -8154,7 +8154,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $TagRelationship = { +export const TagRelationshipSchema = { description: "Represents tags' relationship.", properties: { id: { @@ -8169,7 +8169,7 @@ export const $TagRelationship = { type: 'object', } as const; -export const $TagRelationshipFieldsetsListingDocument = { +export const TagRelationshipFieldsetsListingDocumentSchema = { description: 'Document Listing.', properties: { data: { @@ -8200,7 +8200,7 @@ export const $TagRelationshipFieldsetsListingDocument = { type: 'object', } as const; -export const $Team = { +export const TeamSchema = { description: `A [IAM](https://docs.scalr.io/docs/identity-and-access-management) team is used to organize users into logical units. A team can not be used to group service accounts, only standard users.`, @@ -8318,7 +8318,7 @@ A team can not be used to group service accounts, only standard users.`, type: 'object', } as const; -export const $TeamDocument = { +export const TeamDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -8341,7 +8341,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $TeamListingDocument = { +export const TeamListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -8374,7 +8374,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $TerraformModuleUsage = { +export const TerraformModuleUsageSchema = { description: 'Represents terraform module usage instance.', properties: { attributes: { @@ -8448,7 +8448,7 @@ export const $TerraformModuleUsage = { type: 'object', } as const; -export const $TerraformModuleUsageDocument = { +export const TerraformModuleUsageDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -8471,7 +8471,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $TerraformModuleUsageListingDocument = { +export const TerraformModuleUsageListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -8504,7 +8504,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $TerraformModuleUsageSource = { +export const TerraformModuleUsageSourceSchema = { description: 'Represents terraform module source', properties: { source: { @@ -8515,7 +8515,7 @@ export const $TerraformModuleUsageSource = { type: 'object', } as const; -export const $TerraformModuleUsageSourceFieldsetsListingDocument = { +export const TerraformModuleUsageSourceFieldsetsListingDocumentSchema = { description: 'Document Listing.', properties: { data: { @@ -8546,7 +8546,7 @@ export const $TerraformModuleUsageSourceFieldsetsListingDocument = { type: 'object', } as const; -export const $TerraformModuleUsageVersion = { +export const TerraformModuleUsageVersionSchema = { description: 'Represents terraform module version', properties: { version: { @@ -8556,7 +8556,7 @@ export const $TerraformModuleUsageVersion = { type: 'object', } as const; -export const $TerraformModuleUsageVersionFieldsetsListingDocument = { +export const TerraformModuleUsageVersionFieldsetsListingDocumentSchema = { description: 'Document Listing.', properties: { data: { @@ -8587,7 +8587,7 @@ export const $TerraformModuleUsageVersionFieldsetsListingDocument = { type: 'object', } as const; -export const $TerraformModuleVersionUsage = { +export const TerraformModuleVersionUsageSchema = { description: 'Represents terraform module version usage instance.', properties: { attributes: { @@ -8671,7 +8671,7 @@ export const $TerraformModuleVersionUsage = { type: 'object', } as const; -export const $TerraformModuleVersionUsageListingDocument = { +export const TerraformModuleVersionUsageListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -8704,7 +8704,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $TerraformProviderUsage = { +export const TerraformProviderUsageSchema = { description: 'Represents terraform provider usage instance.', properties: { attributes: { @@ -8745,7 +8745,7 @@ export const $TerraformProviderUsage = { type: 'object', } as const; -export const $TerraformProviderUsageDocument = { +export const TerraformProviderUsageDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -8768,7 +8768,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $TerraformProviderUsageListingDocument = { +export const TerraformProviderUsageListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -8801,7 +8801,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $TerraformProviderUsageSource = { +export const TerraformProviderUsageSourceSchema = { description: 'Represents terraform provider source', properties: { source: { @@ -8812,7 +8812,7 @@ export const $TerraformProviderUsageSource = { type: 'object', } as const; -export const $TerraformProviderUsageSourceFieldsetsListingDocument = { +export const TerraformProviderUsageSourceFieldsetsListingDocumentSchema = { description: 'Document Listing.', properties: { data: { @@ -8843,7 +8843,7 @@ export const $TerraformProviderUsageSourceFieldsetsListingDocument = { type: 'object', } as const; -export const $TerraformProviderUsageVersion = { +export const TerraformProviderUsageVersionSchema = { description: 'Represents terraform provider version', properties: { version: { @@ -8854,7 +8854,7 @@ export const $TerraformProviderUsageVersion = { type: 'object', } as const; -export const $TerraformProviderUsageVersionFieldsetsListingDocument = { +export const TerraformProviderUsageVersionFieldsetsListingDocumentSchema = { description: 'Document Listing.', properties: { data: { @@ -8885,7 +8885,7 @@ export const $TerraformProviderUsageVersionFieldsetsListingDocument = { type: 'object', } as const; -export const $TerraformProviderVersionUsage = { +export const TerraformProviderVersionUsageSchema = { description: 'Represents terraform provider version usage.', properties: { attributes: { @@ -8969,7 +8969,7 @@ export const $TerraformProviderVersionUsage = { type: 'object', } as const; -export const $TerraformProviderVersionUsageListingDocument = { +export const TerraformProviderVersionUsageListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -9002,7 +9002,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $TerraformResourceInstanceUsage = { +export const TerraformResourceInstanceUsageSchema = { description: 'Represents terraform resource instance usage', properties: { attributes: { @@ -9180,7 +9180,7 @@ export const $TerraformResourceInstanceUsage = { type: 'object', } as const; -export const $TerraformResourceInstanceUsageListingDocument = { +export const TerraformResourceInstanceUsageListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -9213,7 +9213,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $TerraformResourceUsage = { +export const TerraformResourceUsageSchema = { description: 'Represents terraform resource usage instance', properties: { attributes: { @@ -9295,7 +9295,7 @@ export const $TerraformResourceUsage = { type: 'object', } as const; -export const $TerraformResourceUsageDocument = { +export const TerraformResourceUsageDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -9318,7 +9318,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $TerraformResourceUsageListingDocument = { +export const TerraformResourceUsageListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -9351,7 +9351,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $TerraformResourceUsageProviderType = { +export const TerraformResourceUsageProviderTypeSchema = { description: 'Represents terraform resource provider type', properties: { 'provider-type': { @@ -9363,7 +9363,7 @@ export const $TerraformResourceUsageProviderType = { type: 'object', } as const; -export const $TerraformResourceUsageProviderTypeFieldsetsListingDocument = { +export const TerraformResourceUsageProviderTypeFieldsetsListingDocumentSchema = { description: 'Document Listing.', properties: { data: { @@ -9394,7 +9394,7 @@ export const $TerraformResourceUsageProviderTypeFieldsetsListingDocument = { type: 'object', } as const; -export const $TerraformVersionUsage = { +export const TerraformVersionUsageSchema = { description: 'Represents terraform version usage instance.', properties: { attributes: { @@ -9503,7 +9503,7 @@ export const $TerraformVersionUsage = { type: 'object', } as const; -export const $TerraformVersionUsageListingDocument = { +export const TerraformVersionUsageListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -9536,7 +9536,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $TerraformVersionUsageVersion = { +export const TerraformVersionUsageVersionSchema = { description: 'Represents terraform version', properties: { version: { @@ -9547,7 +9547,7 @@ export const $TerraformVersionUsageVersion = { type: 'object', } as const; -export const $TerraformVersionUsageVersionFieldsetsListingDocument = { +export const TerraformVersionUsageVersionFieldsetsListingDocumentSchema = { description: 'Document Listing.', properties: { data: { @@ -9578,7 +9578,7 @@ export const $TerraformVersionUsageVersionFieldsetsListingDocument = { type: 'object', } as const; -export const $UsageStatistic = { +export const UsageStatisticSchema = { properties: { attributes: { properties: { @@ -9656,7 +9656,7 @@ export const $UsageStatistic = { type: 'object', } as const; -export const $UsageStatisticListingDocument = { +export const UsageStatisticListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -9689,7 +9689,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $User = { +export const UserSchema = { description: 'Represents a Scalr [IAM](https://docs.scalr.io/docs/identity-and-access-management) user.', properties: { attributes: { @@ -9798,7 +9798,7 @@ export const $User = { type: 'object', } as const; -export const $UserDocument = { +export const UserDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -9821,7 +9821,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $UserInvite = { +export const UserInviteSchema = { description: 'Represents an create [IAM](https://docs.scalr.io/docs/identity-and-access-management) account user request.', properties: { @@ -9912,7 +9912,7 @@ export const $UserInvite = { type: 'object', } as const; -export const $UserInviteDocument = { +export const UserInviteDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -9935,7 +9935,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $UserListingDocument = { +export const UserListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -9968,7 +9968,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $Variable = { +export const VariableSchema = { description: `A Variable describes the configuration and value of a variable in a workspace. In Scalr there are "terraform" and "environment" variables. @@ -10121,7 +10121,7 @@ after being written.`, type: 'object', } as const; -export const $VariableDocument = { +export const VariableDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -10144,7 +10144,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $VariableListingDocument = { +export const VariableListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -10177,7 +10177,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $VcsProvider = { +export const VcsProviderSchema = { description: `The [VCS Provider](../../vcs_providers.html) resource represents a connection between a Scalr account and a VCS, such as GitHub, Gitlab, Bitbucket, and Azure DevOps.`, properties: { @@ -10363,7 +10363,7 @@ Required for GitHub Enterprise, GitLab Enterprise and Bitbucket Data Center.`, type: 'object', } as const; -export const $VcsProviderDocument = { +export const VcsProviderDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -10386,7 +10386,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $VcsProviderListingDocument = { +export const VcsProviderListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -10419,7 +10419,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $VcsRevision = { +export const VcsRevisionSchema = { description: 'Resource represents a VCS revision attributes.', properties: { attributes: { @@ -10479,7 +10479,7 @@ export const $VcsRevision = { type: 'object', } as const; -export const $VcsRevisionDocument = { +export const VcsRevisionDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -10502,7 +10502,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $VcsTaskRequest = { +export const VcsTaskRequestSchema = { description: 'Represents a request for creating a VCS task.', properties: { branch: { @@ -10525,7 +10525,7 @@ export const $VcsTaskRequest = { type: 'object', } as const; -export const $WebhookIntegration = { +export const WebhookIntegrationSchema = { description: `Represents the webhook integration The extra fields below are not available in response by default. Ask for them explicitly in the query parameter \`fields[webhook-integrations]\`: @@ -10767,7 +10767,7 @@ of all available events.`, type: 'object', } as const; -export const $WebhookIntegrationDelivery = { +export const WebhookIntegrationDeliverySchema = { description: 'Represents an IaCP Webhook integration delivery.', properties: { attributes: { @@ -10979,7 +10979,7 @@ export const $WebhookIntegrationDelivery = { type: 'object', } as const; -export const $WebhookIntegrationDeliveryDocument = { +export const WebhookIntegrationDeliveryDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -11002,7 +11002,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $WebhookIntegrationDeliveryListingDocument = { +export const WebhookIntegrationDeliveryListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -11035,7 +11035,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $WebhookIntegrationDocument = { +export const WebhookIntegrationDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -11058,7 +11058,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $WebhookIntegrationListingDocument = { +export const WebhookIntegrationListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -11091,7 +11091,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $Workspace = { +export const WorkspaceSchema = { description: `A Workspace is where Terraform runs are performed for a specific configuration, and where the resulting state file(s) are stored. @@ -11286,6 +11286,7 @@ Comprises letters, numbers, \`-\`, and \`_\` only.`, type: 'string', }, 'var-files': { + default: [], description: 'The list of Terraform variables files.', items: { type: 'string', @@ -11716,7 +11717,7 @@ If 'trigger-patterns' and 'trigger-prefixes' are omitted, any change in the conf type: 'object', } as const; -export const $WorkspaceDocument = { +export const WorkspaceDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -11739,7 +11740,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $WorkspaceListingDocument = { +export const WorkspaceListingDocumentSchema = { description: `JSON:API Document Listing see: https://jsonapi.org/format/#document-structure`, @@ -11772,7 +11773,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $WorkspaceOutput = { +export const WorkspaceOutputSchema = { description: 'Represents a run output.', properties: { name: { @@ -11791,7 +11792,7 @@ export const $WorkspaceOutput = { type: 'object', } as const; -export const $WorkspaceOutputFieldsetsListingDocument = { +export const WorkspaceOutputFieldsetsListingDocumentSchema = { description: 'Document Listing.', properties: { data: { @@ -11822,7 +11823,7 @@ export const $WorkspaceOutputFieldsetsListingDocument = { type: 'object', } as const; -export const $WorkspaceReadme = { +export const WorkspaceReadmeSchema = { description: 'A WorkspaceReadme resource represents the readme file for a workspace.', properties: { attributes: { @@ -11858,7 +11859,7 @@ export const $WorkspaceReadme = { type: 'object', } as const; -export const $WorkspaceReadmeDocument = { +export const WorkspaceReadmeDocumentSchema = { description: `JSON:API Document. see: https://jsonapi.org/format/#document-structure`, @@ -11881,7 +11882,7 @@ see: https://jsonapi.org/format/#document-structure`, type: 'object', } as const; -export const $WorkspaceSchedule = { +export const WorkspaceScheduleSchema = { properties: { 'apply-schedule': { nullable: true, diff --git a/src/api/services.gen.ts b/src/api/services.gen.ts index 485a99f..91ff14f 100644 --- a/src/api/services.gen.ts +++ b/src/api/services.gen.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -import { client, type Options } from '@hey-api/client-fetch'; +import { createClient, createConfig, type Options } from '@hey-api/client-fetch'; import type { GetAccountsData, GetAccountsError, @@ -172,11 +172,13 @@ import type { AddWorkspaceTagsResponse, } from './types.gen'; +export const client = createClient(createConfig()); + /** * List Accounts */ -export const getAccounts = (options?: Options) => { - return (options?.client ?? client).get({ +export const getAccounts = (options?: Options) => { + return (options?.client ?? client).get({ ...options, url: '/accounts', }); @@ -186,8 +188,8 @@ export const getAccounts = (options?: Options) => { * Get an Account * Show details of a specific account. */ -export const getAccount = (options: Options) => { - return (options?.client ?? client).get({ +export const getAccount = (options: Options) => { + return (options?.client ?? client).get({ ...options, url: '/accounts/{account}', }); @@ -196,8 +198,10 @@ export const getAccount = (options: Options) => { /** * Update Account */ -export const updateAccount = (options: Options) => { - return (options?.client ?? client).patch({ +export const updateAccount = ( + options: Options +) => { + return (options?.client ?? client).patch({ ...options, url: '/accounts/{account}', }); @@ -214,8 +218,10 @@ export const updateAccount = (options: Options) => { * This is the preferred way to create users. * */ -export const inviteUserToAccount = (options: Options) => { - return (options?.client ?? client).post({ +export const inviteUserToAccount = ( + options: Options +) => { + return (options?.client ?? client).post({ ...options, url: '/accounts/{account}/actions/invite', }); @@ -227,8 +233,10 @@ export const inviteUserToAccount = (options: Options) = * associated with the account. * */ -export const removeUserFromAccount = (options: Options) => { - return (options?.client ?? client).delete({ +export const removeUserFromAccount = ( + options: Options +) => { + return (options?.client ?? client).delete({ ...options, url: '/accounts/{account}/actions/remove/{user}', }); @@ -243,8 +251,14 @@ export const removeUserFromAccount = (options: Options) => { - return (options?.client ?? client).delete({ +export const deleteAccountBlobSettings = ( + options: Options +) => { + return (options?.client ?? client).delete< + DeleteAccountBlobSettingsResponse, + DeleteAccountBlobSettingsError, + ThrowOnError + >({ ...options, url: '/accounts/{account}/blob-settings', }); @@ -254,8 +268,10 @@ export const deleteAccountBlobSettings = (options: Options) => { - return (options?.client ?? client).get({ +export const getAccountBlobSettings = ( + options: Options +) => { + return (options?.client ?? client).get({ ...options, url: '/accounts/{account}/blob-settings', }); @@ -273,8 +289,14 @@ export const getAccountBlobSettings = (options: Options) => { - return (options?.client ?? client).patch({ +export const updateAccountBlobSettings = ( + options: Options +) => { + return (options?.client ?? client).patch< + UpdateAccountBlobSettingsResponse, + UpdateAccountBlobSettingsError, + ThrowOnError + >({ ...options, url: '/accounts/{account}/blob-settings', }); @@ -289,8 +311,14 @@ export const updateAccountBlobSettings = (options: Options) => { - return (options?.client ?? client).put({ +export const replaceAccountBlobSettings = ( + options: Options +) => { + return (options?.client ?? client).put< + ReplaceAccountBlobSettingsResponse, + ReplaceAccountBlobSettingsError, + ThrowOnError + >({ ...options, url: '/accounts/{account}/blob-settings', }); @@ -299,8 +327,8 @@ export const replaceAccountBlobSettings = (options: Options) => { - return (options?.client ?? client).get({ +export const getMetrics = (options: Options) => { + return (options?.client ?? client).get({ ...options, url: '/accounts/{account}/metrics', }); @@ -310,8 +338,8 @@ export const getMetrics = (options: Options) => { * Get an Apply * Show details of a specific Terraform Apply stage. */ -export const getApply = (options: Options) => { - return (options?.client ?? client).get({ +export const getApply = (options: Options) => { + return (options?.client ?? client).get({ ...options, url: '/applies/{apply}', }); @@ -321,8 +349,8 @@ export const getApply = (options: Options) => { * Apply Log * Download the raw output of the terraform apply stage. */ -export const getApplyLog = (options: Options) => { - return (options?.client ?? client).get({ +export const getApplyLog = (options: Options) => { + return (options?.client ?? client).get({ ...options, url: '/applies/{apply}/output', }); @@ -332,8 +360,10 @@ export const getApplyLog = (options: Options) => { * List Environments * This endpoint lists account environments. */ -export const listEnvironments = (options?: Options) => { - return (options?.client ?? client).get({ +export const listEnvironments = ( + options?: Options +) => { + return (options?.client ?? client).get({ ...options, url: '/environments', }); @@ -343,8 +373,10 @@ export const listEnvironments = (options?: Options) => { * Create an Environment * Create a new environment in the account. */ -export const createEnvironment = (options?: Options) => { - return (options?.client ?? client).post({ +export const createEnvironment = ( + options?: Options +) => { + return (options?.client ?? client).post({ ...options, url: '/environments', }); @@ -353,8 +385,10 @@ export const createEnvironment = (options?: Options) => { /** * Delete an Environment */ -export const deleteEnvironment = (options: Options) => { - return (options?.client ?? client).delete({ +export const deleteEnvironment = ( + options: Options +) => { + return (options?.client ?? client).delete({ ...options, url: '/environments/{environment}', }); @@ -364,8 +398,10 @@ export const deleteEnvironment = (options: Options) => { * Get an Environment * Show details of a specific environment. */ -export const getEnvironment = (options: Options) => { - return (options?.client ?? client).get({ +export const getEnvironment = ( + options: Options +) => { + return (options?.client ?? client).get({ ...options, url: '/environments/{environment}', }); @@ -374,8 +410,10 @@ export const getEnvironment = (options: Options) => { /** * Update Environment */ -export const updateEnvironment = (options: Options) => { - return (options?.client ?? client).patch({ +export const updateEnvironment = ( + options: Options +) => { + return (options?.client ?? client).patch({ ...options, url: '/environments/{environment}', }); @@ -386,8 +424,10 @@ export const updateEnvironment = (options: Options) => { * This endpoint removes given [tags](tags.html#the-tag-resource) from the environment. * */ -export const deleteEnvironmentTags = (options: Options) => { - return (options?.client ?? client).delete({ +export const deleteEnvironmentTags = ( + options: Options +) => { + return (options?.client ?? client).delete({ ...options, url: '/environments/{environment}/relationships/tags', }); @@ -399,8 +439,10 @@ export const deleteEnvironmentTags = (options: Options) => { - return (options?.client ?? client).get({ +export const listEnvironmentTags = ( + options: Options +) => { + return (options?.client ?? client).get({ ...options, url: '/environments/{environment}/relationships/tags', }); @@ -411,11 +453,15 @@ export const listEnvironmentTags = (options: Options) = * This endpoint completely replaces environment's tags with provided list. * */ -export const replaceEnvironmentTags = (options: Options) => { - return (options?.client ?? client).patch({ - ...options, - url: '/environments/{environment}/relationships/tags', - }); +export const replaceEnvironmentTags = ( + options: Options +) => { + return (options?.client ?? client).patch( + { + ...options, + url: '/environments/{environment}/relationships/tags', + } + ); }; /** @@ -423,8 +469,10 @@ export const replaceEnvironmentTags = (options: Options) => { - return (options?.client ?? client).post({ +export const addEnvironmentTags = ( + options: Options +) => { + return (options?.client ?? client).post({ ...options, url: '/environments/{environment}/relationships/tags', }); @@ -434,8 +482,8 @@ export const addEnvironmentTags = (options: Options) => * Get a Plan * Show details of a specific Terraform Plan stage. */ -export const getPlan = (options: Options) => { - return (options?.client ?? client).get({ +export const getPlan = (options: Options) => { + return (options?.client ?? client).get({ ...options, url: '/plans/{plan}', }); @@ -445,8 +493,10 @@ export const getPlan = (options: Options) => { * JSON Output * Download JSON formatted execution plan. */ -export const getJsonOutput = (options: Options) => { - return (options?.client ?? client).get({ +export const getJsonOutput = ( + options: Options +) => { + return (options?.client ?? client).get({ ...options, url: '/plans/{plan}/json-output', }); @@ -456,8 +506,8 @@ export const getJsonOutput = (options: Options) => { * Plan Log * Download the raw output of the terraform plan stage. */ -export const getPlanLog = (options: Options) => { - return (options?.client ?? client).get({ +export const getPlanLog = (options: Options) => { + return (options?.client ?? client).get({ ...options, url: '/plans/{plan}/output', }); @@ -467,8 +517,10 @@ export const getPlanLog = (options: Options) => { * Sanitized JSON Output * Download plan file in machine-readable format with sanitized sensitive values. */ -export const getSanitizedJsonOutput = (options: Options) => { - return (options?.client ?? client).get({ +export const getSanitizedJsonOutput = ( + options: Options +) => { + return (options?.client ?? client).get({ ...options, url: '/plans/{plan}/sanitized-json-output', }); @@ -478,8 +530,8 @@ export const getSanitizedJsonOutput = (options: Options) => { - return (options?.client ?? client).get({ +export const getRuns = (options?: Options) => { + return (options?.client ?? client).get({ ...options, url: '/runs', }); @@ -494,8 +546,8 @@ export const getRuns = (options?: Options) => { * in the relationships. * */ -export const createRun = (options?: Options) => { - return (options?.client ?? client).post({ +export const createRun = (options?: Options) => { + return (options?.client ?? client).post({ ...options, url: '/runs', }); @@ -506,8 +558,10 @@ export const createRun = (options?: Options) => { * This endpoint lists Runs Queue on allowed scopes. * */ -export const getRunsQueue = (options?: Options) => { - return (options?.client ?? client).get({ +export const getRunsQueue = ( + options?: Options +) => { + return (options?.client ?? client).get({ ...options, url: '/runs-queue', }); @@ -517,8 +571,8 @@ export const getRunsQueue = (options?: Options) => { * Get a Run * Show details of a specific run. */ -export const getRun = (options: Options) => { - return (options?.client ?? client).get({ +export const getRun = (options: Options) => { + return (options?.client ?? client).get({ ...options, url: '/runs/{run}', }); @@ -531,8 +585,8 @@ export const getRun = (options: Options) => { * This includes runs in the `planned` and `policy_checked` states. * This action is only required for runs that can't be auto-applied. */ -export const confirmRun = (options: Options) => { - return (options?.client ?? client).post({ +export const confirmRun = (options: Options) => { + return (options?.client ?? client).post({ ...options, url: '/runs/{run}/actions/apply', }); @@ -546,8 +600,8 @@ export const confirmRun = (options: Options) => { * apply on the CLI. The running Terraform process is sent an `INT` signal, which instructs * Terraform to end its work and wrap up in the safest way possible. */ -export const cancelRun = (options: Options) => { - return (options?.client ?? client).post({ +export const cancelRun = (options: Options) => { + return (options?.client ?? client).post({ ...options, url: '/runs/{run}/actions/cancel', }); @@ -559,8 +613,8 @@ export const cancelRun = (options: Options) => { * * This includes runs in the `pending`, `planned`, `policy_checked` and `policy_override` states. */ -export const discardRun = (options: Options) => { - return (options?.client ?? client).post({ +export const discardRun = (options: Options) => { + return (options?.client ?? client).post({ ...options, url: '/runs/{run}/actions/discard', }); @@ -571,8 +625,8 @@ export const discardRun = (options: Options) => { * Cancel all previous runs in pending or waiting for confirmation statuses. * */ -export const forceRun = (options: Options) => { - return (options?.client ?? client).post({ +export const forceRun = (options: Options) => { + return (options?.client ?? client).post({ ...options, url: '/runs/{run}/actions/force', }); @@ -582,8 +636,10 @@ export const forceRun = (options: Options) => { * List Policy Checks * List policy checks for a specific run. */ -export const listPolicyChecks = (options: Options) => { - return (options?.client ?? client).get({ +export const listPolicyChecks = ( + options: Options +) => { + return (options?.client ?? client).get({ ...options, url: '/runs/{run}/policy-checks', }); @@ -595,8 +651,10 @@ export const listPolicyChecks = (options: Options) => { * * See [Policy Input](https://docs.scalr.io/docs/policy-as-code) data structure. */ -export const downloadPolicyInput = (options: Options) => { - return (options?.client ?? client).get({ +export const downloadPolicyInput = ( + options: Options +) => { + return (options?.client ?? client).get({ ...options, url: '/runs/{run}/policy-input', }); @@ -605,8 +663,10 @@ export const downloadPolicyInput = (options: Options) = /** * List Workspaces */ -export const getWorkspaces = (options?: Options) => { - return (options?.client ?? client).get({ +export const getWorkspaces = ( + options?: Options +) => { + return (options?.client ?? client).get({ ...options, url: '/workspaces', }); @@ -622,8 +682,10 @@ export const getWorkspaces = (options?: Options) => { * in the workspace. * */ -export const createWorkspace = (options?: Options) => { - return (options?.client ?? client).post({ +export const createWorkspace = ( + options?: Options +) => { + return (options?.client ?? client).post({ ...options, url: '/workspaces', }); @@ -632,8 +694,10 @@ export const createWorkspace = (options?: Options) => { /** * Delete a Workspace */ -export const deleteWorkspace = (options: Options) => { - return (options?.client ?? client).delete({ +export const deleteWorkspace = ( + options: Options +) => { + return (options?.client ?? client).delete({ ...options, url: '/workspaces/{workspace}', }); @@ -643,8 +707,10 @@ export const deleteWorkspace = (options: Options) => { * Get a Workspace * Show details of a specific workspace. */ -export const getWorkspace = (options: Options) => { - return (options?.client ?? client).get({ +export const getWorkspace = ( + options: Options +) => { + return (options?.client ?? client).get({ ...options, url: '/workspaces/{workspace}', }); @@ -653,8 +719,10 @@ export const getWorkspace = (options: Options) => { /** * Update a Workspace */ -export const updateWorkspace = (options: Options) => { - return (options?.client ?? client).patch({ +export const updateWorkspace = ( + options: Options +) => { + return (options?.client ?? client).patch({ ...options, url: '/workspaces/{workspace}', }); @@ -664,8 +732,10 @@ export const updateWorkspace = (options: Options) => { * Lock a Workspace * This endpoint locks a workspace. */ -export const lockWorkspace = (options: Options) => { - return (options?.client ?? client).post({ +export const lockWorkspace = ( + options: Options +) => { + return (options?.client ?? client).post({ ...options, url: '/workspaces/{workspace}/actions/lock', }); @@ -676,8 +746,10 @@ export const lockWorkspace = (options: Options) => { * This endpoint triggers a Configuration Version resync for a Workspace * associated with a VCS repository. */ -export const resyncWorkspace = (options: Options) => { - return (options?.client ?? client).post({ +export const resyncWorkspace = ( + options: Options +) => { + return (options?.client ?? client).post({ ...options, url: '/workspaces/{workspace}/actions/resync', }); @@ -686,8 +758,8 @@ export const resyncWorkspace = (options: Options) => { /** * Set scheduled runs for the workspace */ -export const setSchedule = (options: Options) => { - return (options?.client ?? client).post({ +export const setSchedule = (options: Options) => { + return (options?.client ?? client).post({ ...options, url: '/workspaces/{workspace}/actions/set-schedule', }); @@ -697,8 +769,10 @@ export const setSchedule = (options: Options) => { * Unlock a Workspace * This endpoint unlocks a workspace. */ -export const unlockWorkspace = (options: Options) => { - return (options?.client ?? client).post({ +export const unlockWorkspace = ( + options: Options +) => { + return (options?.client ?? client).post({ ...options, url: '/workspaces/{workspace}/actions/unlock', }); @@ -710,8 +784,10 @@ export const unlockWorkspace = (options: Options) => { * * This state version will be the input state when running terraform operations. */ -export const getCurrentStateVersion = (options: Options) => { - return (options?.client ?? client).get({ +export const getCurrentStateVersion = ( + options: Options +) => { + return (options?.client ?? client).get({ ...options, url: '/workspaces/{workspace}/current-state-version', }); @@ -722,8 +798,10 @@ export const getCurrentStateVersion = (options: Options) => { - return (options?.client ?? client).get({ +export const getWorkspaceOutputs = ( + options: Options +) => { + return (options?.client ?? client).get({ ...options, url: '/workspaces/{workspace}/outputs', }); @@ -734,13 +812,17 @@ export const getWorkspaceOutputs = (options: Options) = * This endpoint returns a list of Provider configuration links or configurations that are used during the workspace runs. * */ -export const listProviderConfigurationLinks = (options: Options) => { - return (options?.client ?? client).get( - { - ...options, - url: '/workspaces/{workspace}/provider-configuration-links', - } - ); +export const listProviderConfigurationLinks = ( + options: Options +) => { + return (options?.client ?? client).get< + ListProviderConfigurationLinksResponse, + ListProviderConfigurationLinksError, + ThrowOnError + >({ + ...options, + url: '/workspaces/{workspace}/provider-configuration-links', + }); }; /** @@ -748,10 +830,13 @@ export const listProviderConfigurationLinks = (options: Options) => { +export const createProviderConfigurationLink = ( + options: Options +) => { return (options?.client ?? client).post< CreateProviderConfigurationLinkResponse, - CreateProviderConfigurationLinkError + CreateProviderConfigurationLinkError, + ThrowOnError >({ ...options, url: '/workspaces/{workspace}/provider-configuration-links', @@ -764,8 +849,14 @@ export const createProviderConfigurationLink = (options: Options) => { - return (options?.client ?? client).delete({ +export const deleteRemoteStateConsumers = ( + options: Options +) => { + return (options?.client ?? client).delete< + DeleteRemoteStateConsumersResponse, + DeleteRemoteStateConsumersError, + ThrowOnError + >({ ...options, url: '/workspaces/{workspace}/relationships/remote-state-consumers', }); @@ -777,8 +868,14 @@ export const deleteRemoteStateConsumers = (options: Options) => { - return (options?.client ?? client).get({ +export const listRemoteStateConsumers = ( + options: Options +) => { + return (options?.client ?? client).get< + ListRemoteStateConsumersResponse, + ListRemoteStateConsumersError, + ThrowOnError + >({ ...options, url: '/workspaces/{workspace}/relationships/remote-state-consumers', }); @@ -789,8 +886,14 @@ export const listRemoteStateConsumers = (options: Options) => { - return (options?.client ?? client).patch({ +export const replaceRemoteStateConsumers = ( + options: Options +) => { + return (options?.client ?? client).patch< + ReplaceRemoteStateConsumersResponse, + ReplaceRemoteStateConsumersError, + ThrowOnError + >({ ...options, url: '/workspaces/{workspace}/relationships/remote-state-consumers', }); @@ -802,8 +905,14 @@ export const replaceRemoteStateConsumers = (options: Options) => { - return (options?.client ?? client).post({ +export const addRemoteStateConsumers = ( + options: Options +) => { + return (options?.client ?? client).post< + AddRemoteStateConsumersResponse, + AddRemoteStateConsumersError, + ThrowOnError + >({ ...options, url: '/workspaces/{workspace}/relationships/remote-state-consumers', }); @@ -814,8 +923,10 @@ export const addRemoteStateConsumers = (options: Options) => { - return (options?.client ?? client).delete({ +export const deleteWorkspaceTags = ( + options: Options +) => { + return (options?.client ?? client).delete({ ...options, url: '/workspaces/{workspace}/relationships/tags', }); @@ -827,8 +938,10 @@ export const deleteWorkspaceTags = (options: Options) = * assigned to a workspace. * */ -export const listWorkspaceTags = (options: Options) => { - return (options?.client ?? client).get({ +export const listWorkspaceTags = ( + options: Options +) => { + return (options?.client ?? client).get({ ...options, url: '/workspaces/{workspace}/relationships/tags', }); @@ -839,8 +952,10 @@ export const listWorkspaceTags = (options: Options) => { * This endpoint completely replaces workspace's tags with provided list. * */ -export const replaceWorkspaceTags = (options: Options) => { - return (options?.client ?? client).patch({ +export const replaceWorkspaceTags = ( + options: Options +) => { + return (options?.client ?? client).patch({ ...options, url: '/workspaces/{workspace}/relationships/tags', }); @@ -851,8 +966,10 @@ export const replaceWorkspaceTags = (options: Options) * This endpoint assigns the list of [tags](tags.html#the-tag-resource) to the workspace. * */ -export const addWorkspaceTags = (options: Options) => { - return (options?.client ?? client).post({ +export const addWorkspaceTags = ( + options: Options +) => { + return (options?.client ?? client).post({ ...options, url: '/workspaces/{workspace}/relationships/tags', }); diff --git a/src/api/types.gen.ts b/src/api/types.gen.ts index 1c45a20..d606576 100644 --- a/src/api/types.gen.ts +++ b/src/api/types.gen.ts @@ -2204,11 +2204,13 @@ export type ModuleVersion = { name?: string; sensitive?: boolean; value?: - | string - | { - [key: string]: unknown; - } - | Array + | ( + | string + | { + [key: string]: unknown; + } + | Array + ) | null; }> | null; /** @@ -3118,7 +3120,7 @@ export type ProviderConfiguration = { /** * The type of AWS account, available options: `regular`, `gov-cloud`, `cn-cloud`. */ - 'aws-account-type'?: 'regular' | 'gov-cloud' | 'cn-cloud' | null; + 'aws-account-type'?: ('regular' | 'gov-cloud' | 'cn-cloud') | null; /** * The value of the aud claim for the identity token. */ @@ -3126,7 +3128,7 @@ export type ProviderConfiguration = { /** * The type of AWS credential, available options: `access_keys`, `role_delegation`, `oidc`. */ - 'aws-credentials-type'?: 'role_delegation' | 'access_keys' | 'oidc' | null; + 'aws-credentials-type'?: ('role_delegation' | 'access_keys' | 'oidc') | null; /** * External identifier to use when assuming the role. This option is required with the `role_delegation` credential type. */ @@ -3142,7 +3144,7 @@ export type ProviderConfiguration = { /** * Trusted entity type, available options: `aws_account`, `aws_service`. This option is required with the `role_delegation` credential type. */ - 'aws-trusted-entity-type'?: 'aws_account' | 'aws_service' | null; + 'aws-trusted-entity-type'?: ('aws_account' | 'aws_service') | null; /** * The value of the aud claim for the identity token. */ @@ -3150,7 +3152,7 @@ export type ProviderConfiguration = { /** * The type of azurerm credentials, available options: `client-secrets`, `oidc`. */ - 'azurerm-auth-type'?: 'client-secrets' | 'oidc' | null; + 'azurerm-auth-type'?: ('client-secrets' | 'oidc') | null; /** * The Client ID which should be used. */ @@ -3178,7 +3180,7 @@ export type ProviderConfiguration = { /** * Authentication type to access GCP. */ - 'google-auth-type'?: 'service-account-key' | 'oidc' | null; + 'google-auth-type'?: ('service-account-key' | 'oidc') | null; /** * Service account key file in JSON format. */ @@ -3549,13 +3551,15 @@ export type Reason = { export type RegistryInputOptional = { default: - | boolean - | number - | string - | Array - | { - [key: string]: unknown; - } + | ( + | boolean + | number + | string + | Array + | { + [key: string]: unknown; + } + ) | null; description?: string | null; name: string; @@ -3718,13 +3722,15 @@ export type Run = { name?: string; sensitive?: boolean; value?: - | boolean - | number - | string - | Array - | { - [key: string]: unknown; - } + | ( + | boolean + | number + | string + | Array + | { + [key: string]: unknown; + } + ) | null; }> | null; /** @@ -4372,9 +4378,11 @@ export type SamlIntegration = { * Algorithm that Scalr will use on digest process. */ 'security-digest-algorithm'?: - | 'http://www.w3.org/2001/04/xmlenc#sha256' - | 'http://www.w3.org/2001/04/xmldsig-more#sha384' - | 'http://www.w3.org/2001/04/xmlenc#sha512' + | ( + | 'http://www.w3.org/2001/04/xmlenc#sha256' + | 'http://www.w3.org/2001/04/xmldsig-more#sha384' + | 'http://www.w3.org/2001/04/xmlenc#sha512' + ) | null; /** * Indicates whether the messages sent by Scalr will be signed. @@ -5083,11 +5091,13 @@ export type StateVersion = { name?: string; sensitive?: boolean; value?: - | string - | { - [key: string]: unknown; - } - | Array + | ( + | string + | { + [key: string]: unknown; + } + | Array + ) | null; }> | null; /** @@ -5103,7 +5113,7 @@ export type StateVersion = { */ readonly resources?: Array<{ address?: string; - index?: string | number | null; + index?: (string | number) | null; module?: string | null; type?: string; }>; @@ -6763,10 +6773,12 @@ export type WebhookIntegrationDelivery = { * The data (JSON or plain text) received in the response body from the external system. */ 'response-body'?: - | { - [key: string]: unknown; - } - | string + | ( + | { + [key: string]: unknown; + } + | string + ) | null; /** * The HTTP status code returned by the external system. @@ -6940,7 +6952,7 @@ export type Workspace = { /** * How many days should the workspace exist. */ - 'auto-destroy-days'?: 1 | 2 | 7 | 14 | null; + 'auto-destroy-days'?: (1 | 2 | 7 | 14) | null; /** * The status of scheduled destruction of the workspace. */ @@ -9052,1420 +9064,3 @@ export type AddWorkspaceTagsData = { export type AddWorkspaceTagsResponse = void; export type AddWorkspaceTagsError = unknown; - -export type $OpenApiTs = { - '/accounts': { - get: { - req: GetAccountsData; - res: { - /** - * Success. - */ - '200': AccountListingDocument; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/accounts/{account}': { - get: { - req: GetAccountData; - res: { - /** - * Success. - */ - '200': AccountDocument; - /** - * Account not found or user unauthorized to perform action. - */ - '404': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - patch: { - req: UpdateAccountData; - res: { - /** - * Successfully updated the account. - */ - '200': AccountDocument; - /** - * Account or relationship not found, or user unauthorized to perform action. - */ - '404': unknown; - /** - * Invalid arguments. - */ - '422': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/accounts/{account}/actions/invite': { - post: { - req: InviteUserToAccountData; - res: { - /** - * Success. - */ - '201': AccountUserDocument; - /** - * User unauthorized to perform this action. - */ - '403': unknown; - /** - * User, Account, not found. - */ - '404': unknown; - /** - * Invalid team or role. - */ - '422': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/accounts/{account}/actions/remove/{user}': { - delete: { - req: RemoveUserFromAccountData; - res: { - /** - * Successfully removed. - */ - '204': void; - /** - * User unauthorized to perform this action. - */ - '403': unknown; - /** - * The user or account not found. - */ - '404': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/accounts/{account}/blob-settings': { - delete: { - req: DeleteAccountBlobSettingsData; - res: { - /** - * Success. - */ - '204': void; - /** - * Cannot delete settings in a current state. - */ - '409': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - get: { - req: GetAccountBlobSettingsData; - res: { - /** - * Success. - */ - '200': AccountBlobSettingsDocument; - /** - * Account not found or user unauthorized to perform action. - */ - '404': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - patch: { - req: UpdateAccountBlobSettingsData; - res: { - /** - * Success. - */ - '200': AccountBlobSettingsDocument; - /** - * Custom blob settings are not set. Do `PUT` to create them. - */ - '404': unknown; - /** - * Cannot update settings in a current state. - */ - '409': unknown; - /** - * Invalid arguments. - */ - '422': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - put: { - req: ReplaceAccountBlobSettingsData; - res: { - /** - * Success. - */ - '200': AccountBlobSettingsDocument; - /** - * Cannot replace settings in a current state. - */ - '409': unknown; - /** - * Invalid arguments. - */ - '422': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/accounts/{account}/metrics': { - get: { - req: GetMetricsData; - res: { - /** - * Success. - */ - '200': AccountMetrics; - /** - * Account or relationship not found, or user unauthorized to perform an action. - */ - '404': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/applies/{apply}': { - get: { - req: GetApplyData; - res: { - /** - * Success. - */ - '200': ApplyDocument; - /** - * Apply not found or user unauthorized to perform action. - */ - '403': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/applies/{apply}/output': { - get: { - req: GetApplyLogData; - res: { - /** - * Apply log. - */ - '200': unknown; - /** - * Apply has not yet completed or can't be served. - */ - '204': void; - /** - * The location of the temporary download link. - */ - '302': unknown; - /** - * Apply not found or user unauthorized to perform action. - */ - '404': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/environments': { - get: { - req: ListEnvironmentsData; - res: { - /** - * Success. - */ - '200': EnvironmentListingDocument; - /** - * Account not found or user unauthorized to perform action. - */ - '404': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - post: { - req: CreateEnvironmentData; - res: { - /** - * The environment was created. - */ - '201': EnvironmentDocument; - /** - * Account relationship not found, or user unauthorized to perform action. - */ - '404': unknown; - /** - * Invalid arguments. - */ - '422': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/environments/{environment}': { - delete: { - req: DeleteEnvironmentData; - res: { - /** - * Successfully deleted the environment. - */ - '204': void; - /** - * Environment deletion is forbidden. - */ - '403': unknown; - /** - * Environment not found, or user unauthorized to perform action. - */ - '404': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - get: { - req: GetEnvironmentData; - res: { - /** - * Success. - */ - '200': EnvironmentDocument; - /** - * Environment not found or user unauthorized to perform action. - */ - '404': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - patch: { - req: UpdateEnvironmentData; - res: { - /** - * Successfully updated the environment. - */ - '200': EnvironmentDocument; - /** - * Environment or relationship not found, or user unauthorized to perform action. - */ - '404': unknown; - /** - * Invalid arguments. - */ - '422': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/environments/{environment}/relationships/tags': { - delete: { - req: DeleteEnvironmentTagsData; - res: { - /** - * Success. - */ - '204': void; - /** - * User unauthorized to perform this action. - */ - '403': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - get: { - req: ListEnvironmentTagsData; - res: { - /** - * Success. - */ - '200': TagRelationshipFieldsetsListingDocument; - /** - * User unauthorized to perform this action. - */ - '403': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - patch: { - req: ReplaceEnvironmentTagsData; - res: { - /** - * Success. - */ - '204': void; - /** - * User unauthorized to perform this action. - */ - '403': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - post: { - req: AddEnvironmentTagsData; - res: { - /** - * Success. - */ - '204': void; - /** - * User unauthorized to perform this action. - */ - '403': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/plans/{plan}': { - get: { - req: GetPlanData; - res: { - /** - * Success. - */ - '200': PlanDocument; - /** - * Plan not found or user unauthorized to perform action. - */ - '403': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/plans/{plan}/json-output': { - get: { - req: GetJsonOutputData; - res: { - /** - * Terraform json plan. - */ - '200': unknown; - /** - * Plan has not yet completed. - */ - '204': void; - /** - * Plan not found or user unauthorized to perform action. - */ - '404': unknown; - /** - * Plan cannot be served due to size limitations. - */ - '413': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/plans/{plan}/output': { - get: { - req: GetPlanLogData; - res: { - /** - * Plan log. - */ - '200': unknown; - /** - * Plan has not yet completed or can't be served. - */ - '204': void; - /** - * The location of the temporary download link. - */ - '302': unknown; - /** - * Plan not found or user unauthorized to perform action. - */ - '404': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/plans/{plan}/sanitized-json-output': { - get: { - req: GetSanitizedJsonOutputData; - res: { - /** - * Sanitized terraform json plan. - */ - '200': unknown; - /** - * Plan has not yet completed or can't be served. - */ - '204': void; - /** - * Redirects to JSON Output if the API server is not sure - * that the plan can be correctly sanitized and a user permissions - * allow to read sensitive plan values. - */ - '307': unknown; - /** - * Plan not found or user unauthorized to perform action. - */ - '404': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/runs': { - get: { - req: GetRunsData; - res: { - /** - * Success. - */ - '200': RunListingDocument; - /** - * Workspace not found, or user unauthorized to perform action. - */ - '404': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - post: { - req: CreateRunData; - res: { - /** - * Successfully created a run. - */ - '201': RunDocument; - /** - * Environment or workspace not found, or user unauthorized to perform action. - */ - '404': unknown; - /** - * Invalid attributes. - */ - '422': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/runs-queue': { - get: { - req: GetRunsQueueData; - res: { - /** - * Success. - */ - '200': RunListingDocument; - /** - * User unauthorized to perform action. - */ - '404': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/runs/{run}': { - get: { - req: GetRunData; - res: { - /** - * Success. - */ - '200': RunDocument; - /** - * Run not found, or user unauthorized to perform action. - */ - '404': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/runs/{run}/actions/apply': { - post: { - req: ConfirmRunData; - res: { - /** - * Successfully queued an apply request. - */ - '202': unknown; - /** - * Run not found, or user unauthorized to perform action. - */ - '404': unknown; - /** - * Run was not paused for confirmation. Apply not allowed. - */ - '409': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/runs/{run}/actions/cancel': { - post: { - req: CancelRunData; - res: { - /** - * Successfully queued a cancel request. - */ - '202': unknown; - /** - * Run is already cancelled, nothing should be done. - */ - '204': void; - /** - * Run not found, or user unauthorized to perform action. - */ - '404': unknown; - /** - * Run was not planning or applying. Cancel not allowed. - */ - '409': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/runs/{run}/actions/discard': { - post: { - req: DiscardRunData; - res: { - /** - * Successfully queued a discard request. - */ - '202': unknown; - /** - * Run not found, or user unauthorized to perform action. - */ - '404': unknown; - /** - * Run was not paused for confirmation or priority. Discard not allowed. - */ - '409': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/runs/{run}/actions/force': { - post: { - req: ForceRunData; - res: { - /** - * Successfully forced a run. - */ - '202': unknown; - /** - * Run not found, or user unauthorized to perform action. - */ - '404': unknown; - /** - * Workspace force_latest_run enabled or status is not pending. Force not allowed. - */ - '409': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/runs/{run}/policy-checks': { - get: { - req: ListPolicyChecksData; - res: { - /** - * Success. - */ - '200': PolicyCheckListingDocument; - /** - * Plan not found or user unauthorized to perform action. - */ - '403': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/runs/{run}/policy-input': { - get: { - req: DownloadPolicyInputData; - res: { - /** - * Successfully generated input archive. - */ - '200': unknown; - /** - * Run was not found, plan wasn't completed or user unauthorized to perform the action. - */ - '404': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/workspaces': { - get: { - req: GetWorkspacesData; - res: { - /** - * Success. - */ - '200': WorkspaceListingDocument; - /** - * Environment not found, or user unauthorized to perform action. - */ - '404': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - post: { - req: CreateWorkspaceData; - res: { - /** - * Success. - */ - '201': WorkspaceDocument; - /** - * Environment not found, or user unauthorized to perform action. - */ - '404': unknown; - /** - * Malformed request body (missing attributes, wrong types, etc.). - */ - '422': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/workspaces/{workspace}': { - delete: { - req: DeleteWorkspaceData; - res: { - /** - * Successfully deleted the workspace. - */ - '204': void; - /** - * Workspace not found, or user unauthorized to perform action. - */ - '404': unknown; - /** - * Workspace can't be deleted because it has managed resources - * and deletion protection is enabled. - */ - '409': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - get: { - req: GetWorkspaceData; - res: { - /** - * Success. - */ - '200': WorkspaceDocument; - /** - * Workspace not found, or user unauthorized to perform action. - */ - '404': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - patch: { - req: UpdateWorkspaceData; - res: { - /** - * Success. - */ - '200': WorkspaceDocument; - /** - * Workspace not found, or user unauthorized to perform action. - */ - '404': unknown; - /** - * Malformed request body (missing attributes, wrong types, etc.). - */ - '422': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/workspaces/{workspace}/actions/lock': { - post: { - req: LockWorkspaceData; - res: { - /** - * Successfully locked the workspace. - */ - '200': WorkspaceDocument; - /** - * Workspace not found, or user unauthorized to perform action. - */ - '404': unknown; - /** - * Workspace already locked. - */ - '409': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/workspaces/{workspace}/actions/resync': { - post: { - req: ResyncWorkspaceData; - res: { - /** - * Success. - */ - '201': ConfigurationVersionDocument; - /** - * Workspace not found or user unauthorized to perform action. - */ - '404': unknown; - /** - * Workspace is not bound to any repository. - */ - '409': unknown; - /** - * Malformed request body (missing attributes, wrong types, etc.). - */ - '422': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/workspaces/{workspace}/actions/set-schedule': { - post: { - req: SetScheduleData; - res: { - /** - * Success. - */ - '200': WorkspaceDocument; - /** - * Workspace not found, or user unauthorized to perform action. - */ - '404': unknown; - /** - * Malformed request body (missing attributes, wrong types, etc.). - */ - '422': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/workspaces/{workspace}/actions/unlock': { - post: { - req: UnlockWorkspaceData; - res: { - /** - * Successfully unlocked the workspace. - */ - '200': WorkspaceDocument; - /** - * Workspace not found, or user unauthorized to perform action. - */ - '404': unknown; - /** - * Workspace already unlocked, or locked by a different user. - */ - '409': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/workspaces/{workspace}/current-state-version': { - get: { - req: GetCurrentStateVersionData; - res: { - /** - * Successfully returned current state version for the given workspace. - */ - '200': StateVersionDocument; - /** - * Workspace not found, workspace does not have a current state version, - * or user unauthorized to perform action. - */ - '404': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/workspaces/{workspace}/outputs': { - get: { - req: GetWorkspaceOutputsData; - res: { - /** - * Success. - */ - '200': WorkspaceOutputFieldsetsListingDocument; - /** - * User unauthorized to perform this action. - */ - '403': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/workspaces/{workspace}/provider-configuration-links': { - get: { - req: ListProviderConfigurationLinksData; - res: { - /** - * Success. - */ - '200': ProviderConfigurationLinkListingDocument; - /** - * User unauthorized to perform action. - */ - '403': unknown; - /** - * Workspace not found. - */ - '404': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - post: { - req: CreateProviderConfigurationLinkData; - res: { - /** - * Created. - */ - '201': ProviderConfigurationLinkDocument; - /** - * User unauthorized to perform action. - */ - '403': unknown; - /** - * Workspace or Provider configuration not found. - */ - '404': unknown; - /** - * Malformed request body (missing attributes, wrong types, etc.). - */ - '422': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/workspaces/{workspace}/relationships/remote-state-consumers': { - delete: { - req: DeleteRemoteStateConsumersData; - res: { - /** - * Success. - */ - '204': void; - /** - * User unauthorized to perform this action. - */ - '403': unknown; - /** - * Workspace not found, or user unauthorized to perform action. - */ - '404': unknown; - /** - * Not allowed. `global-remote-state` is enabled for the workspace. - */ - '409': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - get: { - req: ListRemoteStateConsumersData; - res: { - /** - * Request was successful. - */ - '200': RemoteStateConsumerRelationshipFieldsetsListingDocument; - /** - * User unauthorized to perform this action. - */ - '403': unknown; - /** - * Workspace not found, or user unauthorized to perform action. - */ - '404': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - patch: { - req: ReplaceRemoteStateConsumersData; - res: { - /** - * Success. - */ - '204': void; - /** - * User unauthorized to perform this action. - */ - '403': unknown; - /** - * Workspace not found, or user unauthorized to perform action. - */ - '404': unknown; - /** - * Not allowed. `global-remote-state` is enabled for the workspace. - */ - '409': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - post: { - req: AddRemoteStateConsumersData; - res: { - /** - * Success. - */ - '204': void; - /** - * User unauthorized to perform this action. - */ - '403': unknown; - /** - * Workspace not found, or user unauthorized to perform action. - */ - '404': unknown; - /** - * Not allowed. `global-remote-state` is enabled for the workspace. - */ - '409': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; - '/workspaces/{workspace}/relationships/tags': { - delete: { - req: DeleteWorkspaceTagsData; - res: { - /** - * Success. - */ - '204': void; - /** - * User unauthorized to perform this action. - */ - '403': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - get: { - req: ListWorkspaceTagsData; - res: { - /** - * Success. - */ - '200': TagRelationshipFieldsetsListingDocument; - /** - * User unauthorized to perform this action. - */ - '403': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - patch: { - req: ReplaceWorkspaceTagsData; - res: { - /** - * Success. - */ - '204': void; - /** - * User unauthorized to perform this action. - */ - '403': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - post: { - req: AddWorkspaceTagsData; - res: { - /** - * Success. - */ - '204': void; - /** - * User unauthorized to perform this action. - */ - '403': unknown; - /** - * Client error. - */ - '4XX': unknown; - /** - * Server error. - */ - '5XX': unknown; - }; - }; - }; -}; diff --git a/src/git.ts b/src/git.ts index 81c4e85..a509051 100644 --- a/src/git.ts +++ b/src/git.ts @@ -1,6 +1,6 @@ import { API as GitApi, GitExtension } from './@types/git'; import { Extension, extensions } from 'vscode'; -import console = require('console'); +import * as console from 'console'; async function getGitApi(): Promise { try { diff --git a/src/providers/authenticationProvider.ts b/src/providers/authenticationProvider.ts index a8881db..7a19f4a 100644 --- a/src/providers/authenticationProvider.ts +++ b/src/providers/authenticationProvider.ts @@ -51,7 +51,7 @@ export class ScalrAuthenticationProvider implements vscode.AuthenticationProvide return this._onDidChangeSessions.event; } - // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars + // eslint-disable-next-line @typescript-eslint/no-unused-vars async getSessions(scopes: string[]): Promise { const session = await this.getSession(); diff --git a/src/providers/logProvider.ts b/src/providers/logProvider.ts index e8545be..f6a8249 100644 --- a/src/providers/logProvider.ts +++ b/src/providers/logProvider.ts @@ -9,7 +9,7 @@ export class LogProvider implements vscode.TextDocumentContentProvider, vscode.D onDidChange = this._onDidChange.event; private interval: { [key: string]: NodeJS.Timeout } = {}; private finalStatuses = ['canceled', 'errored', 'finished', 'unreachable']; - // eslint-disable-next-line no-unused-vars + async provideTextDocumentContent(uri: vscode.Uri): Promise { await vscode.authentication.getSession(ScalrAuthenticationProvider.id, [], { createIfNone: false, diff --git a/src/providers/workspaceProvider.ts b/src/providers/workspaceProvider.ts index 5dc4bf9..264170e 100644 --- a/src/providers/workspaceProvider.ts +++ b/src/providers/workspaceProvider.ts @@ -1,5 +1,5 @@ import * as vscode from 'vscode'; -import { Workspace, Environment, Run, WorkspaceListingDocument, EnvironmentListingDocument } from '../api/types.gen'; +import { Workspace, Environment, Run, WorkspaceListingDocument } from '../api/types.gen'; import { getWorkspaces, listEnvironments } from '../api/services.gen'; import { ScalrAuthenticationProvider, ScalrSession } from './authenticationProvider'; import { getRunStatusIcon, RunTreeDataProvider } from './runProvider'; @@ -259,7 +259,6 @@ export class WorkspaceTreeDataProvider implements vscode.TreeDataProvider