From bb1ace97fd5b1f20efb5841b0c4cb6ed9ea76f99 Mon Sep 17 00:00:00 2001 From: dangered wolf Date: Mon, 20 Mar 2023 01:01:23 -0400 Subject: [PATCH] Workaround for broken @cloudflare/worker-types v4 --- package-lock.json | 26 +++++++------------------- package.json | 2 +- src/server.ts | 6 ++++++ tsconfig.json | 2 +- 4 files changed, 15 insertions(+), 21 deletions(-) diff --git a/package-lock.json b/package-lock.json index bc655b5..aee5876 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "toucan-js": "^2.7.0" }, "devDependencies": { - "@cloudflare/workers-types": "^3.19.0", + "@cloudflare/workers-types": "^4.20230307.0", "@microsoft/eslint-formatter-sarif": "^3.0.0", "@sentry/webpack-plugin": "^1.20.0", "@types/jest": "^29.5.0", @@ -650,9 +650,9 @@ } }, "node_modules/@cloudflare/workers-types": { - "version": "3.19.0", - "resolved": "https://registry.npmjs.org/@cloudflare/workers-types/-/workers-types-3.19.0.tgz", - "integrity": "sha512-0FRcsz7Ea3jT+gc5gKPIYciykm1bbAaTpygdzpCwGt0RL+V83zWnYN30NWDW4rIHj/FHtz+MIuBKS61C8l7AzQ==", + "version": "4.20230307.0", + "resolved": "https://registry.npmjs.org/@cloudflare/workers-types/-/workers-types-4.20230307.0.tgz", + "integrity": "sha512-Go968aDDcqONHQcUdgIiPRkPdT4QTzD0ecHJsI1u7ZiHPMOoZn+Dy7hYsdUJ5ldX9wTZDrICBM1rDKTRaDUitg==", "dev": true }, "node_modules/@discoveryjs/json-ext": { @@ -1737,12 +1737,6 @@ "node": ">=16.13" } }, - "node_modules/@miniflare/shared-test-environment/node_modules/@cloudflare/workers-types": { - "version": "4.20230215.0", - "resolved": "https://registry.npmjs.org/@cloudflare/workers-types/-/workers-types-4.20230215.0.tgz", - "integrity": "sha512-s71gaGwtEIxjSu6l0cekbXm9AwjrmrFVcHPNx9tHidG2dnqamYf5Nms/KgMYZf7gnjdKOp/ZChYFeJJkNv3QfA==", - "dev": true - }, "node_modules/@miniflare/shared-test-environment/node_modules/@miniflare/cache": { "version": "2.12.1", "resolved": "https://registry.npmjs.org/@miniflare/cache/-/cache-2.12.1.tgz", @@ -8047,9 +8041,9 @@ } }, "@cloudflare/workers-types": { - "version": "3.19.0", - "resolved": "https://registry.npmjs.org/@cloudflare/workers-types/-/workers-types-3.19.0.tgz", - "integrity": "sha512-0FRcsz7Ea3jT+gc5gKPIYciykm1bbAaTpygdzpCwGt0RL+V83zWnYN30NWDW4rIHj/FHtz+MIuBKS61C8l7AzQ==", + "version": "4.20230307.0", + "resolved": "https://registry.npmjs.org/@cloudflare/workers-types/-/workers-types-4.20230307.0.tgz", + "integrity": "sha512-Go968aDDcqONHQcUdgIiPRkPdT4QTzD0ecHJsI1u7ZiHPMOoZn+Dy7hYsdUJ5ldX9wTZDrICBM1rDKTRaDUitg==", "dev": true }, "@discoveryjs/json-ext": { @@ -8789,12 +8783,6 @@ "@miniflare/web-sockets": "2.12.1" }, "dependencies": { - "@cloudflare/workers-types": { - "version": "4.20230215.0", - "resolved": "https://registry.npmjs.org/@cloudflare/workers-types/-/workers-types-4.20230215.0.tgz", - "integrity": "sha512-s71gaGwtEIxjSu6l0cekbXm9AwjrmrFVcHPNx9tHidG2dnqamYf5Nms/KgMYZf7gnjdKOp/ZChYFeJJkNv3QfA==", - "dev": true - }, "@miniflare/cache": { "version": "2.12.1", "resolved": "https://registry.npmjs.org/@miniflare/cache/-/cache-2.12.1.tgz", diff --git a/package.json b/package.json index 6f145cb..5be6772 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "author": "dangered wolf", "license": "MIT", "devDependencies": { - "@cloudflare/workers-types": "^3.19.0", + "@cloudflare/workers-types": "^4.20230307.0", "@microsoft/eslint-formatter-sarif": "^3.0.0", "@sentry/webpack-plugin": "^1.20.0", "@types/jest": "^29.5.0", diff --git a/src/server.ts b/src/server.ts index bd65eb7..16814e6 100644 --- a/src/server.ts +++ b/src/server.ts @@ -170,8 +170,14 @@ const versionRequest = async (request: Request) => { request.headers.get('x-real-ip') || request.headers.get('cf-connecting-ip') || 'Unknown IP', + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore - @cloudflare/workers-types v4 is missing IncomingRequestCfProperties.city despite it being a real property city: request.cf?.city || 'Unknown City', + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore - @cloudflare/workers-types v4 is missing IncomingRequestCfProperties.country / region despite it being a real property region: request.cf?.region || request.cf?.country || 'Unknown Region', + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore - @cloudflare/workers-types v4 is missing IncomingRequestCfProperties.country despite it being a real property country: request.cf?.country || 'Unknown Country', asn: `AS${request.cf?.asn || '??'} (${ request.cf?.asOrganization || 'Unknown ASN' diff --git a/tsconfig.json b/tsconfig.json index fad2fcd..22472a8 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -12,7 +12,7 @@ "allowJs": true, "sourceMap": true, "esModuleInterop": true, - "types": ["@cloudflare/workers-types", "@types/jest"] + "types": ["@cloudflare/workers-types/2022-11-30", "@types/jest"] }, "include": ["src"], "exclude": ["node_modules", "dist", "test"]