Skip to content

Commit

Permalink
feat: drizzle integration support (#17)
Browse files Browse the repository at this point in the history
  • Loading branch information
pi0 committed Jun 27, 2023
1 parent 52da7c2 commit 7c4641a
Show file tree
Hide file tree
Showing 7 changed files with 749 additions and 45 deletions.
1 change: 1 addition & 0 deletions build.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ export default defineBuildConfig({
},
entries: [
"src/index",
"src/drizzle",
{
input: "src/connectors/",
outDir: "connectors",
Expand Down
36 changes: 36 additions & 0 deletions examples/drizzle/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import { sqliteTable, text, numeric } from "drizzle-orm/sqlite-core";

// import { createDatabase } from "db0";
// import sqlite from "db0/connectors/better-sqlite3";
// import { drizzle } from "db0/drizzle";

import { createDatabase } from "../../src";
import sqlite from "../../src/connectors/better-sqlite3";
import { drizzle } from "../../src/drizzle";

export const users = sqliteTable("users", {
id: numeric("id"),
name: text("full_name"),
});

async function main() {
const db = createDatabase(sqlite({}));
const drizzleDb = drizzle(db);

await db.sql`create table if not exists users (
id integer primary key autoincrement,
full_name text
)`;

await db.sql`insert into users (full_name) values ('John Doe')`;

const res = await drizzleDb.select().from(users).all();
console.log({ res });
}

// eslint-disable-next-line unicorn/prefer-top-level-await
main().catch((error) => {
console.error(error);
// eslint-disable-next-line unicorn/no-process-exit
process.exit(1);
});
12 changes: 12 additions & 0 deletions examples/drizzle/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"name": "db0-with-drizzle",
"private": true,
"scripts": {
"start": "jiti ./index.ts"
},
"devDependencies": {
"drizzle-kit": "^0.19.2",
"drizzle-orm": "^0.27.0",
"jiti": "^1.18.2"
}
}
14 changes: 12 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,11 @@
"import": "./connectors/*.mjs",
"require": "./connectors/*.cjs"
},
"./drizzle": {
"types": "./dist/drizzle.d.ts",
"import": "./dist/drizzle.mjs",
"require": "./dist/drizzle.cjs"
},
".": {
"types": "./dist/index.d.ts",
"import": "./dist/index.mjs",
Expand All @@ -28,7 +33,7 @@
"build": "unbuild",
"dev": "vitest",
"lint": "eslint --ext .ts . && prettier -c src test",
"lint:fix": "eslint --ext .ts . --fix && prettier -w src testpg",
"lint:fix": "eslint --ext .ts . --fix && prettier -w src test",
"prepack": "pnpm build",
"release": "pnpm test && changelogen --release --push && pnpm publish",
"test": "pnpm lint && vitest run --coverage",
Expand All @@ -41,6 +46,7 @@
"better-sqlite3": "^8.4.0",
"changelogen": "^0.5.3",
"dotenv": "^16.3.1",
"drizzle-orm": "^0.27.0",
"eslint": "^8.43.0",
"eslint-config-unjs": "^0.2.1",
"jiti": "^1.18.2",
Expand All @@ -51,11 +57,15 @@
"vitest": "^0.32.2"
},
"peerDependencies": {
"better-sqlite3": "^8.4.0"
"better-sqlite3": "^8.4.0",
"drizzle-orm": "^0.27.0"
},
"peerDependenciesMeta": {
"better-sqlite3": {
"optional": true
},
"drizzle-orm": {
"optional": true
}
},
"packageManager": "[email protected]"
Expand Down
Loading

0 comments on commit 7c4641a

Please sign in to comment.