From f821b555140cc41f68c7c034bb82ae0cb07d7321 Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Sat, 30 Aug 2025 00:58:22 -0400 Subject: ignore: cloud resource --- cloud/resource/bun.lock | 13 +++++ cloud/resource/package.json | 15 ++++++ cloud/resource/resource.cloudflare.ts | 15 ++++++ cloud/resource/resource.node.ts | 2 + cloud/resource/sst-env.d.ts | 92 +++++++++++++++++++++++++++++++++++ cloud/resource/tsconfig.json | 12 +++++ 6 files changed, 149 insertions(+) create mode 100644 cloud/resource/bun.lock create mode 100644 cloud/resource/package.json create mode 100644 cloud/resource/resource.cloudflare.ts create mode 100644 cloud/resource/resource.node.ts create mode 100644 cloud/resource/sst-env.d.ts create mode 100644 cloud/resource/tsconfig.json (limited to 'cloud/resource') diff --git a/cloud/resource/bun.lock b/cloud/resource/bun.lock new file mode 100644 index 000000000..56bdf44ca --- /dev/null +++ b/cloud/resource/bun.lock @@ -0,0 +1,13 @@ +{ + "lockfileVersion": 1, + "workspaces": { + "": { + "dependencies": { + "@cloudflare/workers-types": "^4.20250830.0", + }, + }, + }, + "packages": { + "@cloudflare/workers-types": ["@cloudflare/workers-types@4.20250830.0", "", {}, "sha512-uAGZFqEBFnCiwIokxMnrrtjIkT8qyGT1LACSScEUyW7nKmtD0Viykp9QZWrIlssyEp/MDB6XsdALF8y6upxpcg=="], + } +} diff --git a/cloud/resource/package.json b/cloud/resource/package.json new file mode 100644 index 000000000..fd9fa6f34 --- /dev/null +++ b/cloud/resource/package.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://json.schemastore.org/package.json", + "name": "@opencode/cloud-resource", + "dependencies": { + "@cloudflare/workers-types": "^4.20250830.0" + }, + "exports": { + ".": { + "production": { + "import": "./resource.cloudflare.ts" + }, + "import": "./resource.node.ts" + } + } +} diff --git a/cloud/resource/resource.cloudflare.ts b/cloud/resource/resource.cloudflare.ts new file mode 100644 index 000000000..ad3fbe2a8 --- /dev/null +++ b/cloud/resource/resource.cloudflare.ts @@ -0,0 +1,15 @@ +import { env } from "cloudflare:workers" + +export const Resource = new Proxy( + {}, + { + get(_target, prop: string) { + if (prop in env) { + // @ts-expect-error + const value = env[prop] + return typeof value === "string" ? JSON.parse(value) : value + } + throw new Error(`"${prop}" is not linked in your sst.config.ts (cloudflare)`) + }, + }, +) as Record diff --git a/cloud/resource/resource.node.ts b/cloud/resource/resource.node.ts new file mode 100644 index 000000000..a13102198 --- /dev/null +++ b/cloud/resource/resource.node.ts @@ -0,0 +1,2 @@ +console.log(process.env) +export { Resource } from "sst" diff --git a/cloud/resource/sst-env.d.ts b/cloud/resource/sst-env.d.ts new file mode 100644 index 000000000..9c4f5cc0d --- /dev/null +++ b/cloud/resource/sst-env.d.ts @@ -0,0 +1,92 @@ +/* This file is auto-generated by SST. Do not edit. */ +/* tslint:disable */ +/* eslint-disable */ +/* deno-fmt-ignore-file */ + +import "sst" +declare module "sst" { + export interface Resource { + "ANTHROPIC_API_KEY": { + "type": "sst.sst.Secret" + "value": string + } + "AUTH_API_URL": { + "type": "sst.sst.Linkable" + "value": string + } + "Console": { + "type": "sst.cloudflare.SolidStart" + "url": string + } + "DATABASE_PASSWORD": { + "type": "sst.sst.Secret" + "value": string + } + "DATABASE_USERNAME": { + "type": "sst.sst.Secret" + "value": string + } + "Database": { + "database": string + "host": string + "password": string + "port": number + "type": "sst.sst.Linkable" + "username": string + } + "GITHUB_APP_ID": { + "type": "sst.sst.Secret" + "value": string + } + "GITHUB_APP_PRIVATE_KEY": { + "type": "sst.sst.Secret" + "value": string + } + "GITHUB_CLIENT_ID_CONSOLE": { + "type": "sst.sst.Secret" + "value": string + } + "GITHUB_CLIENT_SECRET_CONSOLE": { + "type": "sst.sst.Secret" + "value": string + } + "GOOGLE_CLIENT_ID": { + "type": "sst.sst.Secret" + "value": string + } + "OPENAI_API_KEY": { + "type": "sst.sst.Secret" + "value": string + } + "STRIPE_SECRET_KEY": { + "type": "sst.sst.Secret" + "value": string + } + "STRIPE_WEBHOOK_SECRET": { + "type": "sst.sst.Linkable" + "value": string + } + "Web": { + "type": "sst.cloudflare.Astro" + "url": string + } + "ZHIPU_API_KEY": { + "type": "sst.sst.Secret" + "value": string + } + } +} +// cloudflare +import * as cloudflare from "@cloudflare/workers-types"; +declare module "sst" { + export interface Resource { + "Api": cloudflare.Service + "AuthApi": cloudflare.Service + "AuthStorage": cloudflare.KVNamespace + "Bucket": cloudflare.R2Bucket + "GatewayApi": cloudflare.Service + } +} + +import "sst" +export {} \ No newline at end of file diff --git a/cloud/resource/tsconfig.json b/cloud/resource/tsconfig.json new file mode 100644 index 000000000..829dbad01 --- /dev/null +++ b/cloud/resource/tsconfig.json @@ -0,0 +1,12 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "extends": "@tsconfig/node22/tsconfig.json", + "compilerOptions": { + "module": "ESNext", + "moduleResolution": "bundler", + "types": [ + "@cloudflare/workers-types", + "node" + ] + } +} -- cgit v1.2.3