diff --git a/.github/dependabot.yml b/.github/dependabot.yml index af5a73df..c716093f 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -16,6 +16,7 @@ updates: ignore: # Pinned to engines.vscode minimum; bump manually with engine updates. - dependency-name: "@types/vscode" + - dependency-name: "electron" # These versions must match the versions specified in coder/coder exactly. - dependency-name: "@types/ua-parser-js" - dependency-name: "ua-parser-js" diff --git a/package.json b/package.json index 2fd18419..618611c5 100644 --- a/package.json +++ b/package.json @@ -508,7 +508,8 @@ "word-wrap": "1.2.5" }, "dependencies": { - "@peculiar/x509": "^1.14.3", + "@abraham/reflection": "^0.13.0", + "@peculiar/x509": "^2.0.0", "@repo/shared": "workspace:*", "axios": "1.13.6", "date-fns": "catalog:", diff --git a/packages/tasks/src/css.d.ts b/packages/tasks/src/css.d.ts new file mode 100644 index 00000000..cbe652db --- /dev/null +++ b/packages/tasks/src/css.d.ts @@ -0,0 +1 @@ +declare module "*.css"; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4ff0feb5..fbfa5aec 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -61,9 +61,12 @@ importers: .: dependencies: + '@abraham/reflection': + specifier: ^0.13.0 + version: 0.13.0 '@peculiar/x509': - specifier: ^1.14.3 - version: 1.14.3 + specifier: ^2.0.0 + version: 2.0.0 '@repo/shared': specifier: workspace:* version: link:packages/shared @@ -190,7 +193,7 @@ importers: version: 4.1.0 coder: specifier: 'catalog:' - version: https://codeload.github.com/coder/coder/tar.gz/19e86628dad0d2fdc2c0137ccabfb43fc43ba7c7 + version: https://codeload.github.com/coder/coder/tar.gz/c408210661b5295814834e1635b2fa063cb8fa2b concurrently: specifier: ^9.2.1 version: 9.2.1 @@ -337,6 +340,9 @@ importers: packages: + '@abraham/reflection@0.13.0': + resolution: {integrity: sha512-sQYhhraGPPRP6zoqpqpSaoYL+XY5KNmQCcoB3IuQh1z1aWmkHXcxwyTxRkTJ60L2aUjrbiqIqoYkrB/1c7kjQA==} + '@adobe/css-tools@4.4.4': resolution: {integrity: sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==} @@ -1015,8 +1021,8 @@ packages: '@peculiar/asn1-x509@2.6.1': resolution: {integrity: sha512-O9jT5F1A2+t3r7C4VT7LYGXqkGLK7Kj1xFpz7U0isPrubwU5PbDoyYtx6MiGst29yq7pXN5vZbQFKRCP+lLZlA==} - '@peculiar/x509@1.14.3': - resolution: {integrity: sha512-C2Xj8FZ0uHWeCXXqX5B4/gVFQmtSkiuOolzAgutjTfseNOHT3pUjljDZsTSxXFGgio54bCzVFqmEOUrIVk8RDA==} + '@peculiar/x509@2.0.0': + resolution: {integrity: sha512-r10lkuy6BNfRmyYdRAfgu6dq0HOmyIV2OLhXWE3gDEPBdX1b8miztJVyX/UxWhLwemNyDP3CLZHpDxDwSY0xaA==} engines: {node: '>=20.0.0'} '@pkgjs/parseargs@0.11.0': @@ -1798,8 +1804,8 @@ packages: brace-expansion@2.0.2: resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} - brace-expansion@5.0.4: - resolution: {integrity: sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==} + brace-expansion@5.0.5: + resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==} engines: {node: 18 || 20 || >=22} braces@3.0.3: @@ -1922,8 +1928,8 @@ packages: resolution: {integrity: sha512-gfrHV6ZPkquExvMh9IOkKsBzNDk6sDuZ6DdBGUBkvFnTCqCxzpuq48RySgP0AnaqQkw2zynOFj9yly6T1Q2G5Q==} engines: {node: '>=16'} - coder@https://codeload.github.com/coder/coder/tar.gz/19e86628dad0d2fdc2c0137ccabfb43fc43ba7c7: - resolution: {tarball: https://codeload.github.com/coder/coder/tar.gz/19e86628dad0d2fdc2c0137ccabfb43fc43ba7c7} + coder@https://codeload.github.com/coder/coder/tar.gz/c408210661b5295814834e1635b2fa063cb8fa2b: + resolution: {tarball: https://codeload.github.com/coder/coder/tar.gz/c408210661b5295814834e1635b2fa063cb8fa2b} version: 0.0.0 color-convert@2.0.1: @@ -2124,8 +2130,8 @@ packages: resolution: {integrity: sha512-UgGlf8IW75je7HZjNDpJdCv4cGJWIi6yumFdZ0R7A8/CIhQiWUjyGLCxdHpd8bmyD1gnkfUNK0oeOXqUS2cpfQ==} engines: {ecmascript: '>= es5', node: '>=4'} - electron-to-chromium@1.5.322: - resolution: {integrity: sha512-vFU34OcrvMcH66T+dYC3G4nURmgfDVewMIu6Q2urXpumAPSMmzvcn04KVVV8Opikq8Vs5nUbO/8laNhNRqSzYw==} + electron-to-chromium@1.5.323: + resolution: {integrity: sha512-oQm+FxbazvN2WICCbvJgj3IYPKV8awip57+W5VP+Aatk4kFU4pDYCPHZOX22Z27zpw8uttBehEqgK+VTJAYrVw==} electron@37.7.0: resolution: {integrity: sha512-LBzvfrS0aalynOsnC11AD7zeoU8eOois090mzLpQM3K8yZ2N04i2ZW9qmHOTFLrXlKvrwRc7EbyQf1u8XHMl6Q==} @@ -3561,9 +3567,6 @@ packages: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} engines: {node: '>=8'} - reflect-metadata@0.2.2: - resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==} - require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -4259,6 +4262,8 @@ packages: snapshots: + '@abraham/reflection@0.13.0': {} + '@adobe/css-tools@4.4.4': {} '@altano/repository-tools@2.0.3': {} @@ -5025,7 +5030,7 @@ snapshots: pvtsutils: 1.3.6 tslib: 2.8.1 - '@peculiar/x509@1.14.3': + '@peculiar/x509@2.0.0': dependencies: '@peculiar/asn1-cms': 2.6.1 '@peculiar/asn1-csr': 2.6.1 @@ -5035,7 +5040,6 @@ snapshots: '@peculiar/asn1-schema': 2.6.0 '@peculiar/asn1-x509': 2.6.1 pvtsutils: 1.3.6 - reflect-metadata: 0.2.2 tslib: 2.8.1 tsyringe: 4.10.0 @@ -5867,7 +5871,7 @@ snapshots: dependencies: balanced-match: 1.0.2 - brace-expansion@5.0.4: + brace-expansion@5.0.5: dependencies: balanced-match: 4.0.4 @@ -5881,7 +5885,7 @@ snapshots: dependencies: baseline-browser-mapping: 2.10.10 caniuse-lite: 1.0.30001781 - electron-to-chromium: 1.5.322 + electron-to-chromium: 1.5.323 node-releases: 2.0.36 update-browserslist-db: 1.2.3(browserslist@4.28.1) @@ -6018,7 +6022,7 @@ snapshots: cockatiel@3.2.1: {} - coder@https://codeload.github.com/coder/coder/tar.gz/19e86628dad0d2fdc2c0137ccabfb43fc43ba7c7: {} + coder@https://codeload.github.com/coder/coder/tar.gz/c408210661b5295814834e1635b2fa063cb8fa2b: {} color-convert@2.0.1: dependencies: @@ -6203,7 +6207,7 @@ snapshots: dependencies: version-range: 4.15.0 - electron-to-chromium@1.5.322: {} + electron-to-chromium@1.5.323: {} electron@37.7.0: dependencies: @@ -7580,7 +7584,7 @@ snapshots: minimatch@10.2.4: dependencies: - brace-expansion: 5.0.4 + brace-expansion: 5.0.5 minimatch@3.1.5: dependencies: @@ -7965,8 +7969,6 @@ snapshots: indent-string: 4.0.0 strip-indent: 3.0.0 - reflect-metadata@0.2.2: {} - require-directory@2.1.1: {} require-from-string@2.0.2: {} diff --git a/src/error/serverCertificateError.ts b/src/error/serverCertificateError.ts index 57723671..65c189e7 100644 --- a/src/error/serverCertificateError.ts +++ b/src/error/serverCertificateError.ts @@ -1,7 +1,8 @@ +import "@abraham/reflection"; import { - X509Certificate, - KeyUsagesExtension, KeyUsageFlags, + KeyUsagesExtension, + X509Certificate, } from "@peculiar/x509"; import { isAxiosError } from "axios"; import * as tls from "node:tls"; diff --git a/test/integration/tsconfig.json b/test/integration/tsconfig.json index c8f6b204..f5372ecc 100644 --- a/test/integration/tsconfig.json +++ b/test/integration/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../tsconfig.json", "compilerOptions": { - "module": "CommonJS", - "moduleResolution": "Node10" + "module": "Node16", + "moduleResolution": "Node16" } } diff --git a/test/tsconfig.json b/test/tsconfig.json index bca66a73..8aefabf3 100644 --- a/test/tsconfig.json +++ b/test/tsconfig.json @@ -1,16 +1,17 @@ { "extends": "../tsconfig.json", "compilerOptions": { - "baseUrl": "..", + "rootDir": "..", + "types": ["node", "mocha"], "jsx": "react-jsx", // Both mappings needed: exact match for root, wildcard for subpaths "paths": { - "@/*": ["src/*"], - "@repo/shared": ["packages/shared/src/index.ts"], - "@repo/shared/*": ["packages/shared/src/*"], - "@repo/webview-shared": ["packages/webview-shared/src/index.ts"], - "@repo/webview-shared/*": ["packages/webview-shared/src/*"], - "@repo/tasks/*": ["packages/tasks/src/*"] + "@/*": ["../src/*"], + "@repo/shared": ["../packages/shared/src/index.ts"], + "@repo/shared/*": ["../packages/shared/src/*"], + "@repo/webview-shared": ["../packages/webview-shared/src/index.ts"], + "@repo/webview-shared/*": ["../packages/webview-shared/src/*"], + "@repo/tasks/*": ["../packages/tasks/src/*"] } }, "include": [".", "../src"] diff --git a/test/unit/api/coderApi.test.ts b/test/unit/api/coderApi.test.ts index f4377aae..b6eab26b 100644 --- a/test/unit/api/coderApi.test.ts +++ b/test/unit/api/coderApi.test.ts @@ -7,7 +7,15 @@ import axios, { import { type ProvisionerJobLog } from "coder/site/src/api/typesGenerated"; import { EventSource } from "eventsource"; import { ProxyAgent } from "proxy-agent"; -import { describe, it, expect, vi, beforeEach, type Mock } from "vitest"; +import { + afterEach, + beforeEach, + describe, + expect, + it, + type Mock, + vi, +} from "vitest"; import Ws from "ws"; import { diff --git a/test/unit/error/serverCertificateError.test.ts b/test/unit/error/serverCertificateError.test.ts index 622ab405..3ded5212 100644 --- a/test/unit/error/serverCertificateError.test.ts +++ b/test/unit/error/serverCertificateError.test.ts @@ -1,3 +1,4 @@ +import "@abraham/reflection"; import { KeyUsagesExtension, X509Certificate as X509CertificatePeculiar,