create-absolutejs 0.18.0 → 0.20.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.
Files changed (107) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +9 -2
  3. package/changelog.json +24 -0
  4. package/dist/commands/migrateDatabase.d.ts +6 -0
  5. package/dist/commands/migrateDatabase.js +53 -0
  6. package/dist/data.d.ts +1 -1
  7. package/dist/data.js +1 -0
  8. package/dist/generators/configurations/generateDrizzleConfig.d.ts +5 -3
  9. package/dist/generators/configurations/generateDrizzleConfig.js +40 -14
  10. package/dist/generators/configurations/generateEnv.js +6 -0
  11. package/dist/generators/configurations/generateEslintConfig.js +1 -1
  12. package/dist/generators/configurations/generatePackageJson.d.ts +2 -1
  13. package/dist/generators/configurations/generatePackageJson.js +40 -4
  14. package/dist/generators/db/drizzleTargets.d.ts +5 -0
  15. package/dist/generators/db/drizzleTargets.js +27 -0
  16. package/dist/generators/db/generateDatabaseTypes.js +10 -6
  17. package/dist/generators/db/generateDockerContainer.d.ts +5 -0
  18. package/dist/generators/db/generateDockerContainer.js +22 -4
  19. package/dist/generators/db/generateDrizzleSchema.js +65 -81
  20. package/dist/generators/db/handlerTemplates.d.ts +4 -4
  21. package/dist/generators/db/handlerTemplates.js +7 -10
  22. package/dist/generators/db/scaffoldDatabase.js +31 -8
  23. package/dist/generators/db/scaffoldDocker.d.ts +2 -1
  24. package/dist/generators/db/scaffoldDocker.js +7 -3
  25. package/dist/generators/prisma/generatePrismaCode.d.ts +6 -0
  26. package/dist/generators/prisma/generatePrismaCode.js +148 -0
  27. package/dist/generators/prisma/generatePrismaConfig.d.ts +8 -0
  28. package/dist/generators/prisma/generatePrismaConfig.js +68 -0
  29. package/dist/generators/prisma/generatePrismaSchema.d.ts +9 -0
  30. package/dist/generators/prisma/generatePrismaSchema.js +80 -0
  31. package/dist/generators/prisma/prismaPackageJson.d.ts +8 -0
  32. package/dist/generators/prisma/prismaPackageJson.js +46 -0
  33. package/dist/generators/prisma/prismaTargets.d.ts +22 -0
  34. package/dist/generators/prisma/prismaTargets.js +91 -0
  35. package/dist/generators/prisma/scaffoldPrismaDatabase.d.ts +16 -0
  36. package/dist/generators/prisma/scaffoldPrismaDatabase.js +136 -0
  37. package/dist/generators/project/generateDBBlock.js +16 -2
  38. package/dist/generators/project/generateImportsBlock.js +17 -7
  39. package/dist/generators/project/generateServer.js +2 -1
  40. package/dist/index.js +2 -1
  41. package/dist/messages.d.ts +2 -1
  42. package/dist/messages.js +2 -1
  43. package/dist/questions/authOption.js +4 -1
  44. package/dist/questions/databaseEngine.d.ts +1 -1
  45. package/dist/questions/orm.js +5 -2
  46. package/dist/scaffold.d.ts +1 -0
  47. package/dist/scaffold.js +23 -5
  48. package/dist/templates/configurations/.prettierignore +2 -1
  49. package/dist/templates/configurations/eslint.config.example.mjs +81 -41
  50. package/dist/templates/db/migrations/cockroach-count-history/20260926210314_init/migration.sql +5 -0
  51. package/dist/templates/db/migrations/cockroach-count-history/20260926210314_init/snapshot.json +69 -0
  52. package/dist/templates/db/migrations/cockroach-users/20260926210315_init/migration.sql +5 -0
  53. package/dist/templates/db/migrations/cockroach-users/20260926210315_init/snapshot.json +62 -0
  54. package/dist/templates/db/migrations/mssql-count-history/20260926210316_init/migration.sql +6 -0
  55. package/dist/templates/db/migrations/mssql-count-history/20260926210316_init/snapshot.json +64 -0
  56. package/dist/templates/db/migrations/mssql-users/20260926210317_init/migration.sql +6 -0
  57. package/dist/templates/db/migrations/mssql-users/20260926210317_init/snapshot.json +70 -0
  58. package/dist/templates/db/migrations/mysql-count-history/20260926210318_init/migration.sql +5 -0
  59. package/dist/templates/db/migrations/mysql-count-history/20260926210318_init/snapshot.json +61 -0
  60. package/dist/templates/db/migrations/mysql-users/20260926210319_init/migration.sql +5 -0
  61. package/dist/templates/db/migrations/mysql-users/20260926210319_init/snapshot.json +61 -0
  62. package/dist/templates/db/migrations/postgresql-count-history/20260926210320_init/migration.sql +5 -0
  63. package/dist/templates/db/migrations/postgresql-count-history/20260926210320_init/snapshot.json +71 -0
  64. package/dist/templates/db/migrations/postgresql-users/20260926210320_init/migration.sql +5 -0
  65. package/dist/templates/db/migrations/postgresql-users/20260926210320_init/snapshot.json +62 -0
  66. package/dist/templates/db/migrations/prisma-cockroachdb-count-history/20260926000000_init/migration.sql +12 -0
  67. package/dist/templates/db/migrations/prisma-cockroachdb-count-history/migration_lock.toml +3 -0
  68. package/dist/templates/db/migrations/prisma-cockroachdb-users/20260926000000_init/migration.sql +12 -0
  69. package/dist/templates/db/migrations/prisma-cockroachdb-users/migration_lock.toml +3 -0
  70. package/dist/templates/db/migrations/prisma-mysql-count-history/20260926000000_init/migration.sql +9 -0
  71. package/dist/templates/db/migrations/prisma-mysql-count-history/migration_lock.toml +3 -0
  72. package/dist/templates/db/migrations/prisma-mysql-users/20260926000000_init/migration.sql +9 -0
  73. package/dist/templates/db/migrations/prisma-mysql-users/migration_lock.toml +3 -0
  74. package/dist/templates/db/migrations/prisma-postgresql-count-history/20260926000000_init/migration.sql +12 -0
  75. package/dist/templates/db/migrations/prisma-postgresql-count-history/migration_lock.toml +3 -0
  76. package/dist/templates/db/migrations/prisma-postgresql-users/20260926000000_init/migration.sql +12 -0
  77. package/dist/templates/db/migrations/prisma-postgresql-users/migration_lock.toml +3 -0
  78. package/dist/templates/db/migrations/prisma-sqlite-count-history/20260926000000_init/migration.sql +7 -0
  79. package/dist/templates/db/migrations/prisma-sqlite-count-history/migration_lock.toml +3 -0
  80. package/dist/templates/db/migrations/prisma-sqlite-users/20260926000000_init/migration.sql +7 -0
  81. package/dist/templates/db/migrations/prisma-sqlite-users/migration_lock.toml +3 -0
  82. package/dist/templates/db/migrations/prisma-sqlserver-count-history/20260926000000_init/migration.sql +28 -0
  83. package/dist/templates/db/migrations/prisma-sqlserver-count-history/migration_lock.toml +3 -0
  84. package/dist/templates/db/migrations/prisma-sqlserver-users/20260926000000_init/migration.sql +28 -0
  85. package/dist/templates/db/migrations/prisma-sqlserver-users/migration_lock.toml +3 -0
  86. package/dist/templates/db/migrations/singlestore-count-history/20260926210321_init/migration.sql +5 -0
  87. package/dist/templates/db/migrations/singlestore-count-history/20260926210321_init/snapshot.json +61 -0
  88. package/dist/templates/db/migrations/singlestore-users/20260926210322_init/migration.sql +5 -0
  89. package/dist/templates/db/migrations/singlestore-users/20260926210322_init/snapshot.json +61 -0
  90. package/dist/templates/db/migrations/sqlite-count-history/20260926210323_init/migration.sql +5 -0
  91. package/dist/templates/db/migrations/sqlite-count-history/20260926210323_init/snapshot.json +50 -0
  92. package/dist/templates/db/migrations/sqlite-users/20260926210324_init/migration.sql +5 -0
  93. package/dist/templates/db/migrations/sqlite-users/20260926210324_init/snapshot.json +50 -0
  94. package/dist/templates/db/migrations/turso-count-history/20260926210324_init/migration.sql +5 -0
  95. package/dist/templates/db/migrations/turso-count-history/20260926210324_init/snapshot.json +50 -0
  96. package/dist/templates/db/migrations/turso-users/20260926210325_init/migration.sql +5 -0
  97. package/dist/templates/db/migrations/turso-users/20260926210325_init/snapshot.json +50 -0
  98. package/dist/templates/git/gitignore +5 -3
  99. package/dist/typeGuards.d.ts +2 -2
  100. package/dist/typeGuards.js +2 -2
  101. package/dist/utils/parseCommandLineOptions.js +16 -31
  102. package/dist/utils/validateDatabaseSelection.d.ts +11 -0
  103. package/dist/utils/validateDatabaseSelection.js +34 -0
  104. package/dist/versions.d.ts +9 -0
  105. package/dist/versions.js +13 -0
  106. package/package.json +4 -1
  107. package/dist/templates/configurations/drizzle.config.ts +0 -13
@@ -0,0 +1,50 @@
1
+ {
2
+ "version": "7",
3
+ "dialect": "sqlite",
4
+ "id": "7334265f-6de3-4ba2-a99c-55a6ee3fc67f",
5
+ "prevIds": ["00000000-0000-0000-0000-000000000000"],
6
+ "ddl": [
7
+ {
8
+ "name": "users",
9
+ "entityType": "tables"
10
+ },
11
+ {
12
+ "type": "text",
13
+ "notNull": false,
14
+ "autoincrement": false,
15
+ "default": null,
16
+ "generated": null,
17
+ "name": "auth_sub",
18
+ "entityType": "columns",
19
+ "table": "users"
20
+ },
21
+ {
22
+ "type": "integer",
23
+ "notNull": true,
24
+ "autoincrement": false,
25
+ "default": "((julianday('now') - 2440587.5) * 86400000)",
26
+ "generated": null,
27
+ "name": "created_at",
28
+ "entityType": "columns",
29
+ "table": "users"
30
+ },
31
+ {
32
+ "type": "text",
33
+ "notNull": false,
34
+ "autoincrement": false,
35
+ "default": "'{}'",
36
+ "generated": null,
37
+ "name": "metadata",
38
+ "entityType": "columns",
39
+ "table": "users"
40
+ },
41
+ {
42
+ "columns": ["auth_sub"],
43
+ "nameExplicit": false,
44
+ "name": "users_pk",
45
+ "table": "users",
46
+ "entityType": "pks"
47
+ }
48
+ ],
49
+ "renames": []
50
+ }
@@ -37,14 +37,16 @@ package-lock.json
37
37
  **/*.bun
38
38
  **/*.lockb
39
39
 
40
- /db/migrations/meta
41
- /db/migrations/*.sql
42
-
43
40
  #local build files
44
41
  **/build/src/
45
42
  /build
46
43
  /drizzle
47
44
 
45
+ # generated Prisma client (rebuilt by postinstall / db:generate)
46
+ /src/generated
47
+ # scratch database Prisma Migrate authors libSQL migrations against
48
+ /db/prisma-migrate-dev.db
49
+
48
50
  # index files
49
51
  **/indexes/*
50
52
 
@@ -1,4 +1,4 @@
1
- import type { AuthOption, AvailableDrizzleDialect, CodeQualityTool, DatabaseEngine, DatabaseHost, Frontend, GithubLinkOption, ORM } from './types';
1
+ import type { AuthOption, AvailableDrizzleDialect, AvailablePrismaDialect, CodeQualityTool, DatabaseEngine, DatabaseHost, Frontend, GithubLinkOption, ORM } from './types';
2
2
  export declare const isCodeQualityTool: (value: string | undefined) => value is CodeQualityTool;
3
3
  export declare const isDatabaseEngine: (value: string | undefined) => value is DatabaseEngine;
4
4
  export declare const isDatabaseHost: (value: string | undefined) => value is DatabaseHost;
@@ -7,5 +7,5 @@ export declare const isDrizzleDialect: (value: string | undefined) => value is A
7
7
  export declare const isFrontend: (value: string | undefined) => value is Frontend;
8
8
  export declare const isGithubLinkOption: (value: string | undefined) => value is GithubLinkOption;
9
9
  export declare const isORM: (value: string | undefined) => value is ORM;
10
- export declare const isPrismaDialect: (value: string | undefined) => value is string;
10
+ export declare const isPrismaDialect: (value: string | undefined) => value is AvailablePrismaDialect;
11
11
  export declare const isValidAuthOption: (value: string | undefined) => value is AuthOption;
@@ -1,4 +1,4 @@
1
- import { availableDatabaseEngines, availableDatabaseHosts, availableDrizzleDialects, availablePrismaDialects, frontendLabels } from './data';
1
+ import { availableDatabaseEngines, availableDatabaseHosts, availableDrizzleDialects, availableORMs, availablePrismaDialects, frontendLabels } from './data';
2
2
  export const isCodeQualityTool = (value) => value === 'eslint+prettier' || value === 'biome' || value === undefined;
3
3
  export const isDatabaseEngine = (value) => availableDatabaseEngines.some((engine) => engine === value);
4
4
  export const isDatabaseHost = (value) => availableDatabaseHosts.some((host) => host === value);
@@ -6,6 +6,6 @@ export const isDirectoryConfig = (value) => value === 'default' || value === 'cu
6
6
  export const isDrizzleDialect = (value) => availableDrizzleDialects.some((dialect) => dialect === value);
7
7
  export const isFrontend = (value) => value !== undefined && Object.keys(frontendLabels).includes(value);
8
8
  export const isGithubLinkOption = (value) => value === 'existing' || value === 'create' || value === 'skip';
9
- export const isORM = (value) => value === 'drizzle' || value === 'prisma' || value === undefined;
9
+ export const isORM = (value) => value === undefined || availableORMs.some((orm) => orm === value);
10
10
  export const isPrismaDialect = (value) => availablePrismaDialects.some((dialect) => dialect === value);
11
11
  export const isValidAuthOption = (value) => value === 'abs' || value === 'none' || value === undefined;
@@ -2,9 +2,10 @@ import { argv, exit } from 'process';
2
2
  import { parseArgs } from 'util';
3
3
  import { isValidProviderOption, providers } from '@absolutejs/auth';
4
4
  import { DEFAULT_ARG_LENGTH } from '../constants';
5
- import { availableAuthProviders, availableDatabaseEngines, availableDatabaseHosts, availableDirectoryConfigurations, availableDrizzleDialects, availableORMs, availablePrismaDialects } from '../data';
6
- import { isValidAuthOption, isDatabaseEngine, isDatabaseHost, isDirectoryConfig, isDrizzleDialect, isGithubLinkOption, isORM, isPrismaDialect } from '../typeGuards';
5
+ import { availableAuthProviders, availableDatabaseEngines, availableDatabaseHosts, availableDirectoryConfigurations, availableORMs } from '../data';
6
+ import { isValidAuthOption, isDatabaseEngine, isDatabaseHost, isDirectoryConfig, isGithubLinkOption, isORM } from '../typeGuards';
7
7
  import { normalizeRepoInput } from './github';
8
+ import { validateDatabaseSelection } from './validateDatabaseSelection';
8
9
  export const parseCommandLineOptions = () => {
9
10
  const { values, positionals } = parseArgs({
10
11
  allowNegative: true,
@@ -129,37 +130,19 @@ export const parseCommandLineOptions = () => {
129
130
  codeQualityTool = undefined;
130
131
  }
131
132
  const defaultDirectory = values.skip ? 'default' : undefined;
132
- const directoryConfig = values.directory !== undefined && isDirectoryConfig(values.directory) ? values.directory : defaultDirectory;
133
+ const directoryConfig = values.directory !== undefined && isDirectoryConfig(values.directory)
134
+ ? values.directory
135
+ : defaultDirectory;
133
136
  if (values.directory !== undefined && directoryConfig === undefined) {
134
137
  errors.push(`Invalid directory configuration: "${values.directory}". Expected: [ ${availableDirectoryConfigurations.join(', ')} ]`);
135
138
  }
136
- if (values.orm === 'drizzle' &&
137
- databaseEngine !== undefined &&
138
- databaseEngine !== 'none' &&
139
- !isDrizzleDialect(databaseEngine)) {
140
- errors.push(`Invalid database engine for Drizzle ORM: "${databaseEngine}". Expected: [ ${availableDrizzleDialects.join(', ')} ]`);
141
- }
142
- if (values.orm === 'prisma' &&
143
- databaseEngine !== undefined &&
144
- databaseEngine !== 'none' &&
145
- !isPrismaDialect(databaseEngine)) {
146
- errors.push(`Invalid database engine for Prisma ORM: "${databaseEngine}". Expected: [ ${availablePrismaDialects.join(', ')} ]`);
147
- }
148
- if (values['db-host'] === 'turso' &&
149
- (databaseEngine === undefined || databaseEngine === 'none')) {
150
- databaseEngine = 'sqlite';
151
- }
152
- else if (values['db-host'] === 'turso' && databaseEngine !== 'sqlite') {
153
- errors.push(`Invalid database engine for Turso: "${databaseEngine}". Expected: "sqlite".`);
154
- }
155
- if (values['db-host'] === 'neon' && databaseEngine !== 'postgresql') {
156
- errors.push(`Invalid database engine for Neon: "${databaseEngine}". Expected: "postgresql".`);
157
- }
158
- if (values['db-host'] === 'planetscale' &&
159
- databaseEngine !== 'postgresql' &&
160
- databaseEngine !== 'mysql') {
161
- errors.push(`Invalid database engine for PlanetScale: "${databaseEngine}". Expected: "postgresql" or "mysql".`);
162
- }
139
+ const databaseSelection = validateDatabaseSelection({
140
+ databaseEngine,
141
+ databaseHost,
142
+ orm
143
+ });
144
+ ({ databaseEngine } = databaseSelection);
145
+ errors.push(...databaseSelection.errors);
163
146
  if (errors.length > 0) {
164
147
  console.error(errors.join('\n'));
165
148
  exit(1);
@@ -261,7 +244,9 @@ export const parseCommandLineOptions = () => {
261
244
  databaseHost,
262
245
  directoryConfig,
263
246
  frontendDirectories,
264
- frontends: selectedFrontends.length ? selectedFrontends : defaultFrontends,
247
+ frontends: selectedFrontends.length
248
+ ? selectedFrontends
249
+ : defaultFrontends,
265
250
  githubLink: isGithubLinkOption(values.github)
266
251
  ? values.github
267
252
  : undefined,
@@ -0,0 +1,11 @@
1
+ import type { DatabaseEngine, DatabaseHost, ORM } from '../types';
2
+ type DatabaseSelection = {
3
+ databaseEngine: DatabaseEngine;
4
+ databaseHost: DatabaseHost;
5
+ orm: ORM;
6
+ };
7
+ export declare const validateDatabaseSelection: ({ databaseEngine, databaseHost, orm }: DatabaseSelection) => {
8
+ databaseEngine: DatabaseEngine;
9
+ errors: string[];
10
+ };
11
+ export {};
@@ -0,0 +1,34 @@
1
+ import { availableDrizzleDialects, availablePrismaDialects } from '../data';
2
+ import { isDrizzleDialect, isPrismaDialect } from '../typeGuards';
3
+ const hostEngines = {
4
+ neon: { engines: ['postgresql'], label: 'Neon' },
5
+ none: undefined,
6
+ planetscale: { engines: ['postgresql', 'mysql'], label: 'PlanetScale' },
7
+ turso: { engines: ['sqlite'], label: 'Turso' }
8
+ };
9
+ const formatEngines = (engines) => engines.map((engine) => `"${engine}"`).join(' or ');
10
+ /* Every engine/host/ORM combination the CLI accepts must scaffold working code,
11
+ so unsupported ones are refused here, before anything is written. Turso only
12
+ serves SQLite, so choosing it without an engine selects SQLite. */
13
+ export const validateDatabaseSelection = ({ databaseEngine, databaseHost, orm }) => {
14
+ const errors = [];
15
+ const hasEngine = databaseEngine !== undefined && databaseEngine !== 'none';
16
+ const resolvedEngine = databaseHost === 'turso' && !hasEngine ? 'sqlite' : databaseEngine;
17
+ if (orm === 'drizzle' && databaseEngine === 'gel') {
18
+ errors.push('Drizzle ORM 1.0 does not support Gel. Use "--orm none" with "--db gel".');
19
+ }
20
+ else if (orm === 'drizzle' &&
21
+ hasEngine &&
22
+ !isDrizzleDialect(databaseEngine)) {
23
+ errors.push(`Invalid database engine for Drizzle ORM: "${databaseEngine}". Expected: [ ${availableDrizzleDialects.join(', ')} ]`);
24
+ }
25
+ if (orm === 'prisma' && hasEngine && !isPrismaDialect(databaseEngine)) {
26
+ errors.push(`Invalid database engine for Prisma ORM: "${databaseEngine}". Prisma supports [ ${availablePrismaDialects.join(', ')} ]; use "--orm none" with "--db ${databaseEngine}".`);
27
+ }
28
+ const host = databaseHost === undefined ? undefined : hostEngines[databaseHost];
29
+ const acceptsEngine = host?.engines.some((engine) => engine === resolvedEngine);
30
+ if (host !== undefined && !acceptsEngine) {
31
+ errors.push(`Invalid database engine for ${host.label}: "${resolvedEngine}". Expected: ${formatEngines(host.engines)}.`);
32
+ }
33
+ return { databaseEngine: resolvedEngine, errors };
34
+ };
@@ -1,3 +1,4 @@
1
+ export declare const prismaMongoDBVersion = "6.19.3";
1
2
  /**
2
3
  * Single source of truth for all scaffolded dependency versions.
3
4
  * Every package version used in project generation lives here.
@@ -42,6 +43,13 @@ export declare const versions: {
42
43
  readonly '@libsql/client': "0.18.0";
43
44
  readonly '@neondatabase/serverless': "1.1.0";
44
45
  readonly '@planetscale/database': "1.20.2";
46
+ readonly '@prisma/adapter-libsql': "7.10.0";
47
+ readonly '@prisma/adapter-mariadb': "7.10.0";
48
+ readonly '@prisma/adapter-mssql': "7.10.0";
49
+ readonly '@prisma/adapter-neon': "7.10.0";
50
+ readonly '@prisma/adapter-pg': "7.10.0";
51
+ readonly '@prisma/adapter-planetscale': "7.10.0";
52
+ readonly '@prisma/client': "7.10.0";
45
53
  readonly '@stylistic/eslint-plugin': "5.10.0";
46
54
  readonly '@tailwindcss/cli': "4.3.3";
47
55
  readonly '@types/bun': "1.4.2";
@@ -73,6 +81,7 @@ export declare const versions: {
73
81
  readonly postcss: "8.5.28";
74
82
  readonly prettier: "3.9.9";
75
83
  readonly 'prettier-plugin-svelte': "4.1.1";
84
+ readonly prisma: "7.10.0";
76
85
  readonly react: "19.3.0";
77
86
  readonly 'react-dom': "19.3.0";
78
87
  readonly 'react-refresh': "0.19.0";
package/dist/versions.js CHANGED
@@ -1,3 +1,7 @@
1
+ /* Prisma 7 does not support MongoDB (https://pris.ly/d/mongodb: "use Prisma
2
+ ORM v6.19"), so MongoDB projects pin the latest Prisma 6 line for both the
3
+ CLI and the client. */
4
+ export const prismaMongoDBVersion = '6.19.3';
1
5
  /**
2
6
  * Single source of truth for all scaffolded dependency versions.
3
7
  * Every package version used in project generation lives here.
@@ -47,6 +51,14 @@ export const versions = {
47
51
  '@libsql/client': '0.18.0',
48
52
  '@neondatabase/serverless': '1.1.0',
49
53
  '@planetscale/database': '1.20.2',
54
+ /* ── Prisma (7.x: query compiler + driver adapters) ──── */
55
+ '@prisma/adapter-libsql': '7.10.0',
56
+ '@prisma/adapter-mariadb': '7.10.0',
57
+ '@prisma/adapter-mssql': '7.10.0',
58
+ '@prisma/adapter-neon': '7.10.0',
59
+ '@prisma/adapter-pg': '7.10.0',
60
+ '@prisma/adapter-planetscale': '7.10.0',
61
+ '@prisma/client': '7.10.0',
50
62
  '@stylistic/eslint-plugin': '5.10.0',
51
63
  /* ── Tailwind CSS ─────────────────────────────────────── */
52
64
  '@tailwindcss/cli': '4.3.3',
@@ -85,6 +97,7 @@ export const versions = {
85
97
  prettier: '3.9.9',
86
98
  /* ── Svelte ───────────────────────────────────────────── */
87
99
  'prettier-plugin-svelte': '4.1.1',
100
+ prisma: '7.10.0',
88
101
  react: '19.3.0',
89
102
  'react-dom': '19.3.0',
90
103
  'react-refresh': '0.19.0',
package/package.json CHANGED
@@ -14,6 +14,7 @@
14
14
  "@absolutejs/changelog": "0.7.0",
15
15
  "@elysia/eden": "2.0.0-beta.5",
16
16
  "@eslint/compat": "2.1.1",
17
+ "@eslint/js": "10.0.1",
17
18
  "@stylistic/eslint-plugin": "5.10.0",
18
19
  "@types/bun": "1.4.2",
19
20
  "@types/react": "19.3.0",
@@ -26,8 +27,10 @@
26
27
  "eslint-plugin-import": "2.32.0",
27
28
  "eslint-plugin-promise": "7.3.0",
28
29
  "eslint-plugin-security": "4.0.1",
30
+ "globals": "17.12.0",
29
31
  "prettier": "3.9.9",
30
32
  "prettier-plugin-svelte": "4.1.1",
33
+ "prisma": "7.10.0",
31
34
  "svelte": "5.57.1",
32
35
  "tailwindcss": "4.3.3",
33
36
  "typescript-eslint": "8.70.1",
@@ -61,5 +64,5 @@
61
64
  "typecheck": "bun run tsc --noEmit"
62
65
  },
63
66
  "type": "module",
64
- "version": "0.18.0"
67
+ "version": "0.20.0"
65
68
  }
@@ -1,13 +0,0 @@
1
- import { env } from 'bun';
2
- import { defineConfig } from 'drizzle-kit';
3
-
4
- if (env.DATABASE_URL === undefined) {
5
- throw new Error('DATABASE_URL must be set in the environment variables');
6
- }
7
-
8
- export default defineConfig({
9
- dbCredentials: {
10
- url: env.DATABASE_URL
11
- },
12
- dialect: 'postgresql'
13
- });