diff --git a/package-lock.json b/package-lock.json index a845bc0e1..fc3f5baa6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8184,7 +8184,7 @@ "version": "2.6.0", "license": "MIT", "dependencies": { - "@miniflare/core": "^2.6.0", + "@miniflare/core": "2.6.0", "@miniflare/shared": "2.6.0" }, "devDependencies": { @@ -10646,7 +10646,7 @@ "@miniflare/d1": { "version": "file:packages/d1", "requires": { - "@miniflare/core": "^2.6.0", + "@miniflare/core": "2.6.0", "@miniflare/shared": "2.6.0", "@miniflare/shared-test": "2.6.0" } diff --git a/packages/d1/package.json b/packages/d1/package.json index bb9662589..9c7e1592d 100644 --- a/packages/d1/package.json +++ b/packages/d1/package.json @@ -36,7 +36,7 @@ "extends": "../../package.json" }, "dependencies": { - "@miniflare/core": "^2.6.0", + "@miniflare/core": "2.6.0", "@miniflare/shared": "2.6.0" }, "devDependencies": { diff --git a/packages/d1/test/database.spec.ts b/packages/d1/test/database.spec.ts index 997f4a4d4..26f02e693 100644 --- a/packages/d1/test/database.spec.ts +++ b/packages/d1/test/database.spec.ts @@ -11,9 +11,10 @@ interface Context { const test = anyTest as TestInterface; -test.beforeEach((t) => { +test.beforeEach(async (t) => { const storage = new MemoryStorage(undefined, testClock); const db = new BetaDatabase(storage); + await db.init(); t.context = { storage, db }; }); diff --git a/packages/shared/src/storage.ts b/packages/shared/src/storage.ts index b05051db3..bf2e6f09b 100644 --- a/packages/shared/src/storage.ts +++ b/packages/shared/src/storage.ts @@ -167,11 +167,6 @@ export interface StorageFactory { dispose?(): Awaitable; } -// @types/better-sqlite3 doesn't seem to export DatabaseConstructor, so we do this -export type BetterSqlite3Exports = { - new (filename: string, options?: Database.Options): Database.Database; -}; - export function getSQLiteNativeBindingLocation(sqliteResolvePath: string) { return path.resolve( path.dirname(sqliteResolvePath), diff --git a/packages/storage-file/src/index.ts b/packages/storage-file/src/index.ts index 0d3ac926a..3bf18b03f 100644 --- a/packages/storage-file/src/index.ts +++ b/packages/storage-file/src/index.ts @@ -1,7 +1,6 @@ import fs, { existsSync } from "fs"; import path from "path"; import { - BetterSqlite3Exports, MiniflareError, Range, RangeStoredValueMeta, @@ -109,9 +108,9 @@ export class FileStorage extends LocalStorage { } async getSqliteDatabase(): Promise { - const DatabaseConstructor = await npxImport( - "better-sqlite3@^7.5.3" - ); + const DatabaseConstructor = await npxImport< + typeof import("better-sqlite3") + >("better-sqlite3@^7.5.3"); fs.mkdirSync(path.dirname(this.root), { recursive: true }); return new DatabaseConstructor(this.root + ".sqlite3", { nativeBinding: getSQLiteNativeBindingLocation( diff --git a/packages/storage-memory/src/local.ts b/packages/storage-memory/src/local.ts index 32e8260d6..649d610d1 100644 --- a/packages/storage-memory/src/local.ts +++ b/packages/storage-memory/src/local.ts @@ -1,6 +1,5 @@ import { Awaitable, - BetterSqlite3Exports, Range, RangeStoredValueMeta, Storage, @@ -122,9 +121,9 @@ export abstract class LocalStorage extends Storage { } async getSqliteDatabase(): Promise { - const DatabaseConstructor = await npxImport( - "better-sqlite3@^7.5.3" - ); + const DatabaseConstructor = await npxImport< + typeof import("better-sqlite3") + >("better-sqlite3@^7.5.3"); return new DatabaseConstructor(":memory:", { nativeBinding: getSQLiteNativeBindingLocation( npxResolve("better-sqlite3")