create-absolutejs 0.3.21 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -46,13 +46,13 @@ declare const driverConfigurations: {
46
46
  readonly queries: QueryOperations;
47
47
  };
48
48
  readonly 'postgresql:drizzle:local': {
49
- readonly dbType: "BunSQLDatabase<SchemaType>";
49
+ readonly dbType: "NodePgDatabase<SchemaType>";
50
50
  readonly importLines: "\nimport { eq } from 'drizzle-orm'\nimport { BunSQLDatabase } from 'drizzle-orm/bun-sql'\nimport { schema, type SchemaType } from '../../../db/schema'";
51
51
  readonly queries: QueryOperations;
52
52
  };
53
53
  readonly 'postgresql:drizzle:neon': {
54
- readonly dbType: "NeonHttpDatabase<SchemaType>";
55
- readonly importLines: "\nimport { eq } from 'drizzle-orm'\nimport { NeonHttpDatabase } from 'drizzle-orm/neon-http'\nimport { schema, type SchemaType } from '../../../db/schema'";
54
+ readonly dbType: "NeonDatabase<SchemaType>";
55
+ readonly importLines: "\nimport { eq } from 'drizzle-orm'\nimport { NeonDatabase } from 'drizzle-orm/neon-serverless'\nimport { schema, type SchemaType } from '../../../db/schema'";
56
56
  readonly queries: QueryOperations;
57
57
  };
58
58
  readonly 'postgresql:sql:local': {
@@ -309,7 +309,7 @@ import { schema, type SchemaType } from '../../../db/schema'`,
309
309
  queries: mysqlSqlQueryOperations
310
310
  },
311
311
  'postgresql:drizzle:local': {
312
- dbType: 'BunSQLDatabase<SchemaType>',
312
+ dbType: 'NodePgDatabase<SchemaType>',
313
313
  importLines: `
314
314
  import { eq } from 'drizzle-orm'
315
315
  import { BunSQLDatabase } from 'drizzle-orm/bun-sql'
@@ -317,10 +317,10 @@ import { schema, type SchemaType } from '../../../db/schema'`,
317
317
  queries: drizzleQueryOperations
318
318
  },
319
319
  'postgresql:drizzle:neon': {
320
- dbType: 'NeonHttpDatabase<SchemaType>',
320
+ dbType: 'NeonDatabase<SchemaType>',
321
321
  importLines: `
322
322
  import { eq } from 'drizzle-orm'
323
- import { NeonHttpDatabase } from 'drizzle-orm/neon-http'
323
+ import { NeonDatabase } from 'drizzle-orm/neon-serverless'
324
324
  import { schema, type SchemaType } from '../../../db/schema'`,
325
325
  queries: drizzleQueryOperations
326
326
  },
@@ -1,7 +1,7 @@
1
1
  import { availableDrizzleDialects } from '../../data';
2
2
  const connectionMap = {
3
3
  cockroachdb: {
4
- none: { connect: true, expr: 'new SQL(getEnv("DATABASE_URL"))' }
4
+ none: { expr: 'new Pool({ connectionString: getEnv("DATABASE_URL") })' }
5
5
  },
6
6
  gel: {
7
7
  none: { expr: 'gelClient({ url: getEnv("DATABASE_URL") })' }
@@ -10,18 +10,20 @@ const connectionMap = {
10
10
  none: { expr: 'createPool(getEnv("DATABASE_URL"))' }
11
11
  },
12
12
  mongodb: {
13
- none: { expr: 'new MongoClient(getEnv("DATABASE_URL"))' }
13
+ none: { expr: 'new MongoClient(getEnv("DATABASE_URL") })' }
14
14
  },
15
15
  mssql: {
16
- none: { expr: 'connect(getEnv("DATABASE_URL"))' }
16
+ none: { expr: 'await connect(getEnv("DATABASE_URL"))' }
17
17
  },
18
18
  mysql: {
19
19
  none: { expr: 'createPool(getEnv("DATABASE_URL"))' },
20
20
  planetscale: { expr: 'connect({ url: getEnv("DATABASE_URL") })' }
21
21
  },
22
22
  postgresql: {
23
- neon: { expr: 'neon(getEnv("DATABASE_URL"))' },
24
- none: { connect: true, expr: 'new SQL(getEnv("DATABASE_URL"))' }
23
+ neon: {
24
+ expr: 'new Pool({ connectionString: getEnv("DATABASE_URL") })'
25
+ },
26
+ none: { expr: 'new Pool({ connectionString: getEnv("DATABASE_URL") })' }
25
27
  },
26
28
  singlestore: {
27
29
  none: { expr: 'createClient({ url: getEnv("DATABASE_URL") })' }
@@ -32,7 +34,7 @@ const connectionMap = {
32
34
  }
33
35
  };
34
36
  const remoteDrizzleInit = {
35
- neon: 'neon(getEnv("DATABASE_URL"))',
37
+ neon: 'new Pool({ connectionString: getEnv("DATABASE_URL") })',
36
38
  planetscale: 'connect({ url: getEnv("DATABASE_URL") })',
37
39
  turso: 'createClient({ url: getEnv("DATABASE_URL") })'
38
40
  };
@@ -50,8 +52,8 @@ export const generateDBBlock = ({ databaseEngine, orm, databaseHost }) => {
50
52
  if (!hostCfg)
51
53
  return '';
52
54
  return `
53
- const db = ${hostCfg.expr}
54
- ${hostCfg.connect ? 'await db.connect();\n' : ''}`;
55
+ const pool = ${hostCfg.expr}
56
+ `;
55
57
  }
56
58
  if (!drizzleDialectSet.has(databaseEngine))
57
59
  return '';
@@ -61,12 +63,18 @@ ${hostCfg.connect ? 'await db.connect();\n' : ''}`;
61
63
  if (databaseEngine === 'mysql') {
62
64
  const mode = databaseHost === 'planetscale' ? 'planetscale' : 'default';
63
65
  return `
64
- const sql = ${expr}
65
- const db = drizzle(sql, { schema, mode: '${mode}' })
66
+ const pool = ${expr}
67
+ const db = drizzle(pool, { schema, mode: '${mode}' })
68
+ `;
69
+ }
70
+ if (databaseEngine === 'sqlite') {
71
+ return `
72
+ const pool = ${expr}
73
+ const db = drizzle(pool, { schema })
66
74
  `;
67
75
  }
68
76
  return `
69
- const sql = ${expr}
70
- const db = drizzle(sql, { schema })
77
+ const pool = ${expr}
78
+ const db = drizzle(pool, { schema })
71
79
  `;
72
80
  };
@@ -37,16 +37,16 @@ export const generateImportsBlock = ({ backendDirectory, deps, flags, orm, authP
37
37
  if (flags.requiresVue && !flags.requiresSvelte && vueDir !== undefined)
38
38
  rawImports.push(`import VueExample from '${buildExamplePath(vueDir, 'VueExample.vue')}'`);
39
39
  const connectorImports = {
40
- neon: ["import { neon } from '@neondatabase/serverless'"],
41
- planetscale: ["import { connect } from '@planetscale/database'"],
42
- turso: ["import { createClient } from '@libsql/client'"]
40
+ neon: [`import { Pool } from '@neondatabase/serverless'`],
41
+ planetscale: [`import { connect } from '@planetscale/database'`],
42
+ turso: [`import { createClient } from '@libsql/client'`]
43
43
  };
44
44
  const dialectImports = {
45
- neon: ["import { drizzle } from 'drizzle-orm/neon-http'"],
45
+ neon: [`import { drizzle } from 'drizzle-orm/node-postgres'`],
46
46
  planetscale: [
47
- "import { drizzle } from 'drizzle-orm/planetscale-serverless'"
47
+ `import { drizzle } from 'drizzle-orm/planetscale-serverless'`
48
48
  ],
49
- turso: ["import { drizzle } from 'drizzle-orm/libsql'"]
49
+ turso: [`import { drizzle } from 'drizzle-orm/libsql'`]
50
50
  };
51
51
  const isRemoteHost = databaseHost !== undefined && databaseHost !== 'none';
52
52
  const hasDatabase = databaseEngine !== undefined && databaseEngine !== 'none';
@@ -56,7 +56,7 @@ export const generateImportsBlock = ({ backendDirectory, deps, flags, orm, authP
56
56
  rawImports.push(...connectorImports[key], ...dialectImports[key]);
57
57
  }
58
58
  if (orm === 'drizzle' && !isRemoteHost && databaseEngine === 'postgresql')
59
- rawImports.push(`import { SQL } from 'bun'`, `import { drizzle } from 'drizzle-orm/bun-sql'`);
59
+ rawImports.push(`import { Pool } from 'pg'`, `import { drizzle } from 'drizzle-orm/node-postgres'`);
60
60
  if (orm === 'drizzle' && databaseEngine === 'sqlite' && !isRemoteHost)
61
61
  rawImports.push(`import { Database } from 'bun:sqlite'`, `import { drizzle } from 'drizzle-orm/bun-sqlite'`);
62
62
  if (noOrm && databaseEngine === 'sqlite')
@@ -67,21 +67,22 @@ export const generateImportsBlock = ({ backendDirectory, deps, flags, orm, authP
67
67
  ]
68
68
  : [`import { Database } from 'bun:sqlite'`]));
69
69
  if (databaseEngine === 'mysql' && isRemoteHost) {
70
- rawImports.push(...connectorImports[databaseHost]);
70
+ const key = databaseHost;
71
+ rawImports.push(...connectorImports[key]);
71
72
  }
72
73
  if (databaseEngine === 'mysql' && !isRemoteHost) {
73
- rawImports.push("import { createPool } from 'mysql2/promise'");
74
+ rawImports.push(`import { createPool } from 'mysql2/promise'`);
74
75
  }
75
76
  if (databaseEngine === 'mysql' && orm === 'drizzle') {
76
- rawImports.push("import { drizzle } from 'drizzle-orm/mysql2'");
77
+ rawImports.push(`import { drizzle } from 'drizzle-orm/mysql2'`);
77
78
  }
78
79
  if (databaseEngine === 'mysql') {
79
- rawImports.push("import { getEnv } from '@absolutejs/absolute'");
80
+ rawImports.push(`import { getEnv } from '@absolutejs/absolute'`);
80
81
  }
81
82
  if (noOrm && databaseEngine === 'postgresql')
82
83
  rawImports.push(...(isRemoteHost
83
84
  ? connectorImports[databaseHost]
84
- : [`import { SQL } from 'bun'`]), `import { getEnv } from '@absolutejs/absolute'`);
85
+ : [`import { Pool } from 'pg'`]), `import { getEnv } from '@absolutejs/absolute'`);
85
86
  if (orm === 'drizzle') {
86
87
  rawImports.push(`import { Elysia } from 'elysia'`, ...(databaseEngine === 'sqlite' && !isRemoteHost
87
88
  ? []
package/package.json CHANGED
@@ -47,5 +47,5 @@
47
47
  "typecheck": "bun run tsc --noEmit"
48
48
  },
49
49
  "type": "module",
50
- "version": "0.3.21"
50
+ "version": "0.4.0"
51
51
  }