diff --git a/alchemy-web/package.json b/alchemy-web/package.json index 030aeca03..118e68e9c 100644 --- a/alchemy-web/package.json +++ b/alchemy-web/package.json @@ -21,6 +21,7 @@ "alchemy": "workspace:*", "astro": "^5.12.8", "astro-icon": "^1.1.5", + "nanoid": "^5.1.6", "starlight-blog": "^0.24.0", "starlight-links-validator": "^0.17.2", "tailwindcss": "^4.1.14" diff --git a/alchemy/src/cloudflare/orange.ts b/alchemy/src/cloudflare/orange.ts index 6feb704bb..12ff19ff4 100644 --- a/alchemy/src/cloudflare/orange.ts +++ b/alchemy/src/cloudflare/orange.ts @@ -1,5 +1,5 @@ -import type { Assets } from "./assets.js"; -import type { Bindings } from "./bindings.js"; +import type { Assets } from "./assets.ts"; +import type { Bindings } from "./bindings.ts"; import { Vite, type ViteProps } from "./vite/vite.ts"; import type { Worker } from "./worker.ts"; diff --git a/alchemy/src/cloudflare/worker.ts b/alchemy/src/cloudflare/worker.ts index ebb3d7ca2..08497b36f 100644 --- a/alchemy/src/cloudflare/worker.ts +++ b/alchemy/src/cloudflare/worker.ts @@ -967,7 +967,7 @@ const _Worker = Resource( url = props.dev.url; } else { const { MiniflareController } = await import( - "./miniflare/miniflare-controller.js" + "./miniflare/miniflare-controller.ts" ); const controller = MiniflareController.singleton; url = await controller.add({ diff --git a/alchemy/src/state/d1-state-store.ts b/alchemy/src/state/d1-state-store.ts index 378ca143a..9ae3c5691 100644 --- a/alchemy/src/state/d1-state-store.ts +++ b/alchemy/src/state/d1-state-store.ts @@ -29,7 +29,7 @@ export class D1StateStore extends StateStoreProxy { async provision(): Promise { const db = await createDatabaseClient(this.options); - const { SQLiteStateStoreOperations } = await import("./operations.js"); + const { SQLiteStateStoreOperations } = await import("./operations.ts"); const operations = new SQLiteStateStoreOperations(db, { chain: this.scope.chain, }); @@ -70,7 +70,7 @@ const createDatabaseClient = memoize(async (options: D1StateStoreOptions) => { }; }; return drizzle(remoteCallback, { - schema: await import("./schema.js"), + schema: await import("./schema.ts"), }); }); diff --git a/alchemy/src/state/sqlite-state-store.ts b/alchemy/src/state/sqlite-state-store.ts index af4dfcd07..a87355b7f 100644 --- a/alchemy/src/state/sqlite-state-store.ts +++ b/alchemy/src/state/sqlite-state-store.ts @@ -97,7 +97,7 @@ export class SQLiteStateStore extends StateStoreProxy { ...(this.options ?? {}), dotAlchemy: this.scope.dotAlchemy, }); - const { SQLiteStateStoreOperations } = await import("./operations.js"); + const { SQLiteStateStoreOperations } = await import("./operations.ts"); const operations = new SQLiteStateStoreOperations(db, { chain: this.scope.chain, }); @@ -152,7 +152,7 @@ async function createBunSQLiteDatabase( "SQLiteStateStore", ); const { migrate } = await import("drizzle-orm/bun-sqlite/migrator"); - const schema = await import("./schema.js"); + const schema = await import("./schema.ts"); // Bun's constructor throws if we pass in an empty object or if extraneous // options are passed in, so here's some ugly destructuring! const { engine: _engine, filename: _filename, ...rest } = options ?? {}; @@ -190,7 +190,7 @@ async function createLibSQLDatabase( "SQLiteStateStore (libsql)", ); const { migrate } = await import("drizzle-orm/libsql/migrator"); - const schema = await import("./schema.js"); + const schema = await import("./schema.ts"); const client = createClient({ url, ...options }); await client.execute("PRAGMA journal_mode = WAL;"); const db = drizzle(client, { diff --git a/alchemy/test/aws/control/proxy.test.ts b/alchemy/test/aws/control/proxy.test.ts index f1b28e146..35576f5b9 100644 --- a/alchemy/test/aws/control/proxy.test.ts +++ b/alchemy/test/aws/control/proxy.test.ts @@ -1,12 +1,12 @@ import { describe, expect } from "vitest"; -import { alchemy } from "../../../src/alchemy.js"; -import AWS from "../../../src/aws/control/index.js"; -import { destroy } from "../../../src/destroy.js"; -import { BRANCH_PREFIX } from "../../util.js"; -import { waitForStableDeletion } from "./test-utils.js"; +import { alchemy } from "../../../src/alchemy.ts"; +import AWS from "../../../src/aws/control/index.ts"; +import { destroy } from "../../../src/destroy.ts"; +import { BRANCH_PREFIX } from "../../util.ts"; +import { waitForStableDeletion } from "./test-utils.ts"; // must import this or else alchemy.test won't exist -import { ValidationException } from "../../../src/aws/control/error.js"; -import "../../../src/test/vitest.js"; +import { ValidationException } from "../../../src/aws/control/error.ts"; +import "../../../src/test/vitest.ts"; const test = alchemy.test(import.meta, { prefix: BRANCH_PREFIX, diff --git a/alchemy/test/aws/control/resource.test.ts b/alchemy/test/aws/control/resource.test.ts index ede96bda0..70eb2a942 100644 --- a/alchemy/test/aws/control/resource.test.ts +++ b/alchemy/test/aws/control/resource.test.ts @@ -1,12 +1,12 @@ import { describe, expect } from "vitest"; -import { alchemy } from "../../../src/alchemy.js"; -import { createCloudControlClient } from "../../../src/aws/control/client.js"; -import { CloudControlResource } from "../../../src/aws/control/resource.js"; -import { destroy } from "../../../src/destroy.js"; -import { BRANCH_PREFIX } from "../../util.js"; -import { waitForStableDeletion } from "./test-utils.js"; +import { alchemy } from "../../../src/alchemy.ts"; +import { createCloudControlClient } from "../../../src/aws/control/client.ts"; +import { CloudControlResource } from "../../../src/aws/control/resource.ts"; +import { destroy } from "../../../src/destroy.ts"; +import { BRANCH_PREFIX } from "../../util.ts"; +import { waitForStableDeletion } from "./test-utils.ts"; // must import this or else alchemy.test won't exist -import "../../../src/test/vitest.js"; +import "../../../src/test/vitest.ts"; const client = await createCloudControlClient(); diff --git a/alchemy/test/aws/control/test-utils.ts b/alchemy/test/aws/control/test-utils.ts index 667b3257d..eca68320e 100644 --- a/alchemy/test/aws/control/test-utils.ts +++ b/alchemy/test/aws/control/test-utils.ts @@ -1,4 +1,4 @@ -import { createCloudControlClient } from "../../../src/aws/control/client.js"; +import { createCloudControlClient } from "../../../src/aws/control/client.ts"; const client = await createCloudControlClient(); diff --git a/alchemy/test/aws/function.test.ts b/alchemy/test/aws/function.test.ts index 3d3878201..7ddf3314b 100644 --- a/alchemy/test/aws/function.test.ts +++ b/alchemy/test/aws/function.test.ts @@ -7,16 +7,16 @@ import { } from "@aws-sdk/client-lambda"; import path from "node:path"; import { describe, expect } from "vitest"; -import { alchemy } from "../../src/alchemy.js"; -import { Function } from "../../src/aws/function.js"; -import type { PolicyDocument } from "../../src/aws/policy.js"; -import { Role } from "../../src/aws/role.js"; -import { destroy } from "../../src/destroy.js"; -import { Bundle } from "../../src/esbuild/index.js"; +import { alchemy } from "../../src/alchemy.ts"; +import { Function } from "../../src/aws/function.ts"; +import type { PolicyDocument } from "../../src/aws/policy.ts"; +import { Role } from "../../src/aws/role.ts"; +import { destroy } from "../../src/destroy.ts"; +import { Bundle } from "../../src/esbuild/index.ts"; import { fetchAndExpectOK } from "../../src/util/safe-fetch.ts"; -import { BRANCH_PREFIX } from "../util.js"; +import { BRANCH_PREFIX } from "../util.ts"; -import "../../src/test/vitest.js"; +import "../../src/test/vitest.ts"; const test = alchemy.test(import.meta, { prefix: BRANCH_PREFIX, diff --git a/alchemy/test/aws/role.test.ts b/alchemy/test/aws/role.test.ts index 55d05a6ad..8bd808fe5 100644 --- a/alchemy/test/aws/role.test.ts +++ b/alchemy/test/aws/role.test.ts @@ -5,13 +5,13 @@ import { NoSuchEntityException, } from "@aws-sdk/client-iam"; import { describe, expect } from "vitest"; -import { alchemy } from "../../src/alchemy.js"; -import type { PolicyDocument } from "../../src/aws/policy.js"; -import { Role, type RoleProps } from "../../src/aws/role.js"; -import { destroy } from "../../src/destroy.js"; -import { BRANCH_PREFIX } from "../util.js"; +import { alchemy } from "../../src/alchemy.ts"; +import type { PolicyDocument } from "../../src/aws/policy.ts"; +import { Role, type RoleProps } from "../../src/aws/role.ts"; +import { destroy } from "../../src/destroy.ts"; +import { BRANCH_PREFIX } from "../util.ts"; -import "../../src/test/vitest.js"; +import "../../src/test/vitest.ts"; const test = alchemy.test(import.meta, { prefix: BRANCH_PREFIX, diff --git a/alchemy/test/aws/ses.test.ts b/alchemy/test/aws/ses.test.ts index 903adb241..fda448508 100644 --- a/alchemy/test/aws/ses.test.ts +++ b/alchemy/test/aws/ses.test.ts @@ -5,12 +5,12 @@ import { SESv2Client, } from "@aws-sdk/client-sesv2"; import { describe, expect } from "vitest"; -import { alchemy } from "../../src/alchemy.js"; -import { SES } from "../../src/aws/ses.js"; -import { destroy } from "../../src/destroy.js"; -import { BRANCH_PREFIX } from "../util.js"; +import { alchemy } from "../../src/alchemy.ts"; +import { SES } from "../../src/aws/ses.ts"; +import { destroy } from "../../src/destroy.ts"; +import { BRANCH_PREFIX } from "../util.ts"; -import "../../src/test/vitest.js"; +import "../../src/test/vitest.ts"; const test = alchemy.test(import.meta, { prefix: BRANCH_PREFIX, diff --git a/alchemy/test/aws/table.test.ts b/alchemy/test/aws/table.test.ts index a3dd25167..e3c93690a 100644 --- a/alchemy/test/aws/table.test.ts +++ b/alchemy/test/aws/table.test.ts @@ -4,10 +4,10 @@ import { ResourceNotFoundException, } from "@aws-sdk/client-dynamodb"; import { describe, expect } from "vitest"; -import { alchemy } from "../../src/alchemy.js"; -import { Table } from "../../src/aws/table.js"; -import { destroy } from "../../src/destroy.js"; -import { BRANCH_PREFIX } from "../util.js"; +import { alchemy } from "../../src/alchemy.ts"; +import { Table } from "../../src/aws/table.ts"; +import { destroy } from "../../src/destroy.ts"; +import { BRANCH_PREFIX } from "../util.ts"; import "../../src/test/vitest.ts"; diff --git a/alchemy/test/cloudflare/images.test.ts b/alchemy/test/cloudflare/images.test.ts index 3ac89e30a..b858496bb 100644 --- a/alchemy/test/cloudflare/images.test.ts +++ b/alchemy/test/cloudflare/images.test.ts @@ -1,12 +1,12 @@ import { describe, expect } from "vitest"; -import { alchemy } from "../../src/alchemy.js"; -import { Images } from "../../src/cloudflare/images.js"; -import { Worker } from "../../src/cloudflare/worker.js"; -import { destroy } from "../../src/destroy.js"; -import { BRANCH_PREFIX } from "../util.js"; +import { alchemy } from "../../src/alchemy.ts"; +import { Images } from "../../src/cloudflare/images.ts"; +import { Worker } from "../../src/cloudflare/worker.ts"; +import { destroy } from "../../src/destroy.ts"; +import { BRANCH_PREFIX } from "../util.ts"; import path from "node:path"; -import "../../src/test/vitest.js"; +import "../../src/test/vitest.ts"; const test = alchemy.test(import.meta, { prefix: BRANCH_PREFIX, diff --git a/alchemy/test/run.ts b/alchemy/test/run.ts index b900ed81f..e6c0619c9 100644 --- a/alchemy/test/run.ts +++ b/alchemy/test/run.ts @@ -1,4 +1,4 @@ -import { runChangedTests } from "../src/test/prune.js"; +import { runChangedTests } from "../src/test/prune.ts"; /** * This script detects which tests have changed using esbuild and git and then runs only those tests. diff --git a/alchemy/test/scope.test.ts b/alchemy/test/scope.test.ts index f1860f8bf..5f7334c55 100644 --- a/alchemy/test/scope.test.ts +++ b/alchemy/test/scope.test.ts @@ -1,14 +1,14 @@ import fs from "node:fs/promises"; import { describe, expect } from "vitest"; -import { alchemy } from "../src/alchemy.js"; -import { destroy } from "../src/destroy.js"; -import { FileSystemStateStore } from "../src/fs/file-system-state-store.js"; -import { File } from "../src/fs/file.js"; -import { Scope } from "../src/scope.js"; -import { BRANCH_PREFIX, createTestOptions, STATE_STORE_TYPES } from "./util.js"; +import { alchemy } from "../src/alchemy.ts"; +import { destroy } from "../src/destroy.ts"; +import { FileSystemStateStore } from "../src/fs/file-system-state-store.ts"; +import { File } from "../src/fs/file.ts"; +import { Scope } from "../src/scope.ts"; +import { BRANCH_PREFIX, createTestOptions, STATE_STORE_TYPES } from "./util.ts"; -import { Resource, ResourceScope } from "../src/resource.js"; -import "../src/test/vitest.js"; +import { Resource, ResourceScope } from "../src/resource.ts"; +import "../src/test/vitest.ts"; const test = alchemy.test(import.meta, { prefix: BRANCH_PREFIX, diff --git a/bun.lock b/bun.lock index 99c2309f2..7846b036e 100644 --- a/bun.lock +++ b/bun.lock @@ -7,7 +7,6 @@ "@biomejs/biome": "^2.2.2", "@cloudflare/workers-types": "catalog:", "@hey-api/openapi-ts": "^0.84.3", - "@redwoodjs/sdk": "^0.0.80", "@types/bun": "latest", "@types/node": "latest", "@vitest/ui": "^3.1.4", @@ -169,6 +168,7 @@ "alchemy": "workspace:*", "astro": "^5.12.8", "astro-icon": "^1.1.5", + "nanoid": "^5.1.6", "starlight-blog": "^0.24.0", "starlight-links-validator": "^0.17.2", "tailwindcss": "^4.1.14", @@ -1789,8 +1789,6 @@ "@react-router/node": ["@react-router/node@7.9.4", "", { "dependencies": { "@mjackson/node-fetch-server": "^0.2.0" }, "peerDependencies": { "react-router": "7.9.4", "typescript": "^5.1.0" }, "optionalPeers": ["typescript"] }, "sha512-sdeDNRaqAB71BR2hPlhcQbPbrXh8uGJUjLVc+NpRiPsQbv6B8UvIucN4IX9YGVJkw3UxVQBn2vPSwxACAck32Q=="], - "@redwoodjs/sdk": ["@redwoodjs/sdk@0.0.80", "", {}, "sha512-3TGNw8K8iMqI3oxxW4ih3aYbsMAHviKPw3fCqUbrftczB/USmOQnpLcGrqktf1pJnf0cDEOiJuBaWyP+XJVezw=="], - "@redwoodjs/starter-drizzle": ["@redwoodjs/starter-drizzle@workspace:examples/cloudflare-redwood"], "@remix-run/node-fetch-server": ["@remix-run/node-fetch-server@0.8.1", "", {}, "sha512-J1dev372wtJqmqn9U/qbpbZxbJSQrogNN2+Qv1lKlpATpe/WQ9aCZfl/xSb9d2Rgh1IyLSvNxZAXPZxruO6Xig=="], @@ -4141,7 +4139,7 @@ "nan": ["nan@2.23.0", "", {}, "sha512-1UxuyYGdoQHcGg87Lkqm3FzefucTa0NAiOcuRsDmysep3c1LVCRK2krrUDafMWtjSG04htvAmvg96+SDknOmgQ=="], - "nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], + "nanoid": ["nanoid@5.1.6", "", { "bin": { "nanoid": "bin/nanoid.js" } }, "sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg=="], "nanomatch": ["nanomatch@1.2.13", "", { "dependencies": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", "define-property": "^2.0.2", "extend-shallow": "^3.0.2", "fragment-cache": "^0.2.1", "is-windows": "^1.0.2", "kind-of": "^6.0.2", "object.pick": "^1.3.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" } }, "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA=="], @@ -5395,6 +5393,8 @@ "@ai-sdk/provider-utils/eventsource-parser": ["eventsource-parser@1.1.2", "", {}, "sha512-v0eOBUbiaFojBu2s2NPBfYUoRR9GjcDNvCXVaqEf5vVfpIAh9f8RCo4vXTP8c63QRKCFwoLpMpTdPwwhEKVgzA=="], + "@ai-sdk/provider-utils/nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], + "@ai-sdk/ui-utils/@ai-sdk/provider": ["@ai-sdk/provider@0.0.26", "", { "dependencies": { "json-schema": "^0.4.0" } }, "sha512-dQkfBDs2lTYpKM8389oopPdQgIU007GQyCbuPPrV+K6MtSII3HBfE0stUIMXUb44L+LK1t6GXPP7wjSzjO6uKg=="], "@alchemy.run/react-router-template/@types/node": ["@types/node@20.19.21", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-CsGG2P3I5y48RPMfprQGfy4JPRZ6csfC3ltBZSRItG3ngggmNY/qs2uZKp4p9VbrpqNNSMzUZNFZKzgOGnd/VA=="], @@ -5407,8 +5407,6 @@ "@antfu/install-pkg/tinyexec": ["tinyexec@1.0.1", "", {}, "sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw=="], - "@aria-ui/tooltip/nanoid": ["nanoid@5.1.6", "", { "bin": { "nanoid": "bin/nanoid.js" } }, "sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg=="], - "@asamuzakjp/css-color/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], "@asteasolutions/zod-to-openapi/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], @@ -6279,6 +6277,8 @@ "playwright/fsevents": ["fsevents@2.3.2", "", { "os": "darwin" }, "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA=="], + "postcss/nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], + "postcss-nested/postcss-selector-parser": ["postcss-selector-parser@6.1.2", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg=="], "postcss-svgo/svgo": ["svgo@4.0.0", "", { "dependencies": { "commander": "^11.1.0", "css-select": "^5.1.0", "css-tree": "^3.0.1", "css-what": "^6.1.0", "csso": "^5.0.5", "picocolors": "^1.1.1", "sax": "^1.4.1" }, "bin": "./bin/svgo.js" }, "sha512-VvrHQ+9uniE+Mvx3+C9IEe/lWasXCU0nXMY2kZeLrHNICuRiC8uMPyM14UEaMOFA5mhyQqEkB02VoQ16n3DLaw=="], @@ -7181,6 +7181,8 @@ "mlly/pkg-types/confbox": ["confbox@0.1.8", "", {}, "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w=="], + "next/postcss/nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], + "nitropack/c12/giget": ["giget@2.0.0", "", { "dependencies": { "citty": "^0.1.6", "consola": "^3.4.0", "defu": "^6.1.4", "node-fetch-native": "^1.6.6", "nypm": "^0.6.0", "pathe": "^2.0.3" }, "bin": { "giget": "dist/cli.mjs" } }, "sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA=="], "nitropack/globby/@sindresorhus/merge-streams": ["@sindresorhus/merge-streams@4.0.0", "", {}, "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ=="], diff --git a/examples/cloudflare-bun-spa/alchemy.run.ts b/examples/cloudflare-bun-spa/alchemy.run.ts index 455888ef4..664533b39 100644 --- a/examples/cloudflare-bun-spa/alchemy.run.ts +++ b/examples/cloudflare-bun-spa/alchemy.run.ts @@ -27,7 +27,7 @@ console.log({ }); if (process.env.ALCHEMY_E2E) { - const { test } = await import("./test/e2e.js"); + const { test } = await import("./test/e2e.ts"); await test({ url: bunsite.url!, apiUrl: bunsite.apiUrl, diff --git a/examples/cloudflare-nextjs/alchemy.run.ts b/examples/cloudflare-nextjs/alchemy.run.ts index 98de3c9a7..b95d78f40 100644 --- a/examples/cloudflare-nextjs/alchemy.run.ts +++ b/examples/cloudflare-nextjs/alchemy.run.ts @@ -12,7 +12,7 @@ export const website = await Nextjs("website", { console.log(`Website: ${website.url}`); if (process.env.ALCHEMY_E2E) { - const { test } = await import("./test/e2e.js"); + const { test } = await import("./test/e2e.ts"); await test({ url: website.url, }); diff --git a/examples/cloudflare-redwood/src/db/seed.ts b/examples/cloudflare-redwood/src/db/seed.ts index 7c78e7a3c..b81cf0c85 100644 --- a/examples/cloudflare-redwood/src/db/seed.ts +++ b/examples/cloudflare-redwood/src/db/seed.ts @@ -1,6 +1,6 @@ import { drizzle } from "drizzle-orm/d1"; import { defineScript } from "rwsdk/worker"; -import { users } from "./schema.js"; +import { users } from "./schema.ts"; export default defineScript(async ({ env }) => { const db = drizzle(env.DB); diff --git a/examples/cloudflare-redwood/tsconfig.json b/examples/cloudflare-redwood/tsconfig.json index eb26bded4..752a066d3 100644 --- a/examples/cloudflare-redwood/tsconfig.json +++ b/examples/cloudflare-redwood/tsconfig.json @@ -5,6 +5,7 @@ } ], "compilerOptions": { + /* Visit https://aka.ms/tsconfig.json to read more about this file */ /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ @@ -39,6 +40,7 @@ "allowSyntheticDefaultImports": true, /* Ensure that casing is correct in imports. */ "forceConsistentCasingInFileNames": true, + "allowImportingTsExtensions": true, /* Enable all strict type-checking options. */ "strict": true, diff --git a/examples/cloudflare-sveltekit/alchemy.run.ts b/examples/cloudflare-sveltekit/alchemy.run.ts index 7f39c0172..c15c624b1 100644 --- a/examples/cloudflare-sveltekit/alchemy.run.ts +++ b/examples/cloudflare-sveltekit/alchemy.run.ts @@ -28,7 +28,7 @@ export const website = await SvelteKit("website", { console.log(website.url); if (process.env.ALCHEMY_E2E) { - const { test } = await import("./test/e2e.js"); + const { test } = await import("./test/e2e.ts"); await test({ url: website.url, env: { ALCHEMY_TEST_VALUE: "Hello from Alchemy!" }, diff --git a/examples/cloudflare-tanstack-start/alchemy.run.ts b/examples/cloudflare-tanstack-start/alchemy.run.ts index dac5eece7..b4c7e56c7 100644 --- a/examples/cloudflare-tanstack-start/alchemy.run.ts +++ b/examples/cloudflare-tanstack-start/alchemy.run.ts @@ -24,7 +24,7 @@ console.log({ }); if (process.env.ALCHEMY_E2E) { - const { test } = await import("./test/e2e.js"); + const { test } = await import("./test/e2e.ts"); await test({ url: website.url, env: { TEST_SECRET_VALUE: "test-secret-value" }, diff --git a/examples/cloudflare-vite/alchemy.run.ts b/examples/cloudflare-vite/alchemy.run.ts index 2531f6217..c6b784195 100644 --- a/examples/cloudflare-vite/alchemy.run.ts +++ b/examples/cloudflare-vite/alchemy.run.ts @@ -28,7 +28,7 @@ console.log({ }); if (process.env.ALCHEMY_E2E) { - const { test } = await import("./test/e2e.js"); + const { test } = await import("./test/e2e.ts"); await test({ url: website.url, env: { ALCHEMY_TEST_VALUE: "Hello from Alchemy!" }, diff --git a/examples/cloudflare-worker/src/worker.ts b/examples/cloudflare-worker/src/worker.ts index 7196891da..63c5ccec8 100644 --- a/examples/cloudflare-worker/src/worker.ts +++ b/examples/cloudflare-worker/src/worker.ts @@ -1,7 +1,7 @@ import { env } from "cloudflare:workers"; import type { queue, worker } from "../alchemy.run.ts"; -export * from "./do.js"; -export * from "./workflow.js"; +export * from "./do.ts"; +export * from "./workflow.ts"; export default { async fetch(_request: Request) { diff --git a/package.json b/package.json index ea465f6cd..73cb987fe 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,6 @@ "@biomejs/biome": "^2.2.2", "@cloudflare/workers-types": "catalog:", "@hey-api/openapi-ts": "^0.84.3", - "@redwoodjs/sdk": "^0.0.80", "@types/bun": "latest", "@types/node": "latest", "@vitest/ui": "^3.1.4", diff --git a/scripts/generate-aws-control.ts b/scripts/generate-aws-control.ts index 17604e563..b04566ee5 100644 --- a/scripts/generate-aws-control.ts +++ b/scripts/generate-aws-control.ts @@ -5,7 +5,7 @@ import { join } from "node:path"; import OpenAI from "openai"; import prettier from "prettier"; import * as ts from "typescript"; -import { generateAwsControlTypes } from "./generate-aws-control-types.js"; +import { generateAwsControlTypes } from "./generate-aws-control-types.ts"; // Parse CLI arguments const args = process.argv.slice(2); diff --git a/scripts/shell.ts b/scripts/shell.ts index a9cd57455..4f9ab7585 100644 --- a/scripts/shell.ts +++ b/scripts/shell.ts @@ -1,4 +1,4 @@ -import { exec } from "../alchemy/src/os/exec.js"; +import { exec } from "../alchemy/src/os/exec.ts"; import { website } from "../stacks/src/website.run.ts"; const command = process.argv.slice(2).join(" ");