Skip to content

Commit 49bd559

Browse files
committed
try orm isolated declarations oxc build
1 parent e89174b commit 49bd559

File tree

491 files changed

+2802
-2170
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

491 files changed

+2802
-2170
lines changed

.oxlintrc.json

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,7 @@
6565
"typescript/ban-ts-comment": "off",
6666
"typescript/no-empty-interface": "off",
6767
"typescript/no-unsafe-declaration-merging": "off",
68-
"no-inner-declarations": "off",
69-
"drizzle-internal/require-entity-kind": "error"
68+
"no-inner-declarations": "off"
7069
},
7170
"overrides": [
7271
{
@@ -106,12 +105,6 @@
106105
"rules": {
107106
"typescript/consistent-type-imports": "off"
108107
}
109-
},
110-
{
111-
"files": ["drizzle-kit/**/*"],
112-
"rules": {
113-
"drizzle-internal/require-entity-kind": "off"
114-
}
115108
}
116109
],
117110
"ignorePatterns": [

drizzle-orm/scripts/build.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ async function main() {
6666
external: [/^[^./]/], // everything?
6767
tsconfig: 'tsconfig.json',
6868
sourcemap: true,
69-
dts: true,
69+
dts: { oxc: true },
7070
clean: false,
7171
silent: true,
7272
alias: {

drizzle-orm/src/_relations.ts

Lines changed: 55 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { type AnyTable, getTableUniqueName, type InferModelFromColumns, Table } from '~/table.ts';
22
import { type AnyColumn, Column } from './column.ts';
3-
import { entityKind, is } from './entity.ts';
3+
import { is } from './entity.ts';
44
import { PrimaryKeyBuilder } from './pg-core/primary-keys.ts';
55
import {
66
and,
@@ -31,7 +31,7 @@ import { type Placeholder, SQL, sql } from './sql/sql.ts';
3131
import type { Assume, ColumnsWithTable, Equal, Simplify, ValueOrArray } from './utils.ts';
3232

3333
export abstract class Relation<TTableName extends string = string> {
34-
static readonly [entityKind]: string = 'Relation';
34+
static readonly ['drizzle:entityKind']: string = 'Relation';
3535

3636
declare readonly $brand: 'Relation';
3737
readonly referencedTableName: TTableName;
@@ -52,7 +52,7 @@ export class Relations<
5252
TTableName extends string = string,
5353
TConfig extends Record<string, Relation> = Record<string, Relation>,
5454
> {
55-
static readonly [entityKind]: string = 'Relations';
55+
static readonly ['drizzle:entityKind']: string = 'Relations';
5656

5757
declare readonly $brand: 'Relations';
5858

@@ -66,7 +66,7 @@ export class One<
6666
TTableName extends string = string,
6767
TIsNullable extends boolean = boolean,
6868
> extends Relation<TTableName> {
69-
static override readonly [entityKind]: string = 'One';
69+
static override readonly ['drizzle:entityKind']: string = 'One';
7070

7171
declare protected $relationBrand: 'One';
7272

@@ -98,7 +98,7 @@ export class One<
9898
}
9999

100100
export class Many<TTableName extends string> extends Relation<TTableName> {
101-
static override readonly [entityKind]: string = 'Many';
101+
static override readonly ['drizzle:entityKind']: string = 'Many';
102102

103103
declare protected $relationBrand: 'Many';
104104

@@ -156,7 +156,30 @@ export type ExtractRelationsFromTableExtraConfigSchema<
156156
}
157157
>;
158158

159-
export function getOperators() {
159+
export function getOperators(): {
160+
and: typeof and;
161+
between: typeof between;
162+
eq: typeof eq;
163+
exists: typeof exists;
164+
gt: typeof gt;
165+
gte: typeof gte;
166+
ilike: typeof ilike;
167+
inArray: typeof inArray;
168+
isNull: typeof isNull;
169+
isNotNull: typeof isNotNull;
170+
like: typeof like;
171+
lt: typeof lt;
172+
lte: typeof lte;
173+
ne: typeof ne;
174+
not: typeof not;
175+
notBetween: typeof notBetween;
176+
notExists: typeof notExists;
177+
notLike: typeof notLike;
178+
notIlike: typeof notIlike;
179+
notInArray: typeof notInArray;
180+
or: typeof or;
181+
sql: typeof sql;
182+
} {
160183
return {
161184
and,
162185
between,
@@ -185,7 +208,11 @@ export function getOperators() {
185208

186209
export type Operators = ReturnType<typeof getOperators>;
187210

188-
export function getOrderByOperators() {
211+
export function getOrderByOperators(): {
212+
sql: typeof sql;
213+
asc: typeof asc;
214+
desc: typeof desc;
215+
} {
189216
return {
190217
sql,
191218
asc,
@@ -518,7 +545,19 @@ export function relations<
518545
);
519546
}
520547

521-
export function createOne<TTableName extends string>(sourceTable: Table) {
548+
export function createOne<TTableName extends string>(sourceTable: Table): <
549+
TForeignTable extends Table,
550+
TColumns extends [
551+
AnyColumn<{ tableName: TTableName }>,
552+
...AnyColumn<{ tableName: TTableName }>[],
553+
],
554+
>(
555+
table: TForeignTable,
556+
config?: RelationConfig<TTableName, TForeignTable['_']['name'], TColumns>,
557+
) => One<
558+
TForeignTable['_']['name'],
559+
Equal<TColumns[number]['_']['notNull'], true>
560+
> {
522561
return function one<
523562
TForeignTable extends Table,
524563
TColumns extends [
@@ -542,7 +581,10 @@ export function createOne<TTableName extends string>(sourceTable: Table) {
542581
};
543582
}
544583

545-
export function createMany(sourceTable: Table) {
584+
export function createMany(sourceTable: Table): <TForeignTable extends Table>(
585+
referencedTable: TForeignTable,
586+
config?: { relationName: string },
587+
) => Many<TForeignTable['_']['name']> {
546588
return function many<TForeignTable extends Table>(
547589
referencedTable: TForeignTable,
548590
config?: { relationName: string },
@@ -635,7 +677,10 @@ export function normalizeRelation(
635677

636678
export function createTableRelationsHelpers<TTableName extends string>(
637679
sourceTable: AnyTable<{ name: TTableName }>,
638-
) {
680+
): {
681+
one: ReturnType<typeof createOne<TTableName>>;
682+
many: ReturnType<typeof createMany>;
683+
} {
639684
return {
640685
one: createOne<TTableName>(sourceTable),
641686
many: createMany(sourceTable),

drizzle-orm/src/alias.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@ import type * as V1 from './_relations.ts';
22
import { OriginalColumn } from './column-common.ts';
33
import type { AnyColumn } from './column.ts';
44
import { Column } from './column.ts';
5-
import { entityKind, is } from './entity.ts';
5+
import { is } from './entity.ts';
66
import type { View } from './sql/sql.ts';
77
import { SQL, sql } from './sql/sql.ts';
88
import { Table } from './table.ts';
99
import { ViewBaseConfig } from './view-common.ts';
1010

1111
export class ColumnTableAliasProxyHandler<TColumn extends Column> implements ProxyHandler<TColumn> {
12-
static readonly [entityKind]: string = 'ColumnTableAliasProxyHandler';
12+
static readonly ['drizzle:entityKind']: string = 'ColumnTableAliasProxyHandler';
1313

1414
constructor(private table: Table | View, private ignoreColumnAlias?: boolean) {}
1515

@@ -27,7 +27,7 @@ export class ColumnTableAliasProxyHandler<TColumn extends Column> implements Pro
2727
}
2828

2929
export class TableAliasProxyHandler<T extends Table | View> implements ProxyHandler<T> {
30-
static readonly [entityKind]: string = 'TableAliasProxyHandler';
30+
static readonly ['drizzle:entityKind']: string = 'TableAliasProxyHandler';
3131

3232
constructor(private alias: string, private replaceOriginalName: boolean, private ignoreColumnAlias?: boolean) {}
3333

@@ -83,7 +83,7 @@ export class TableAliasProxyHandler<T extends Table | View> implements ProxyHand
8383
}
8484

8585
export class ColumnAliasProxyHandler<T extends Column> implements ProxyHandler<T> {
86-
static readonly [entityKind]: string = 'ColumnAliasProxyHandler';
86+
static readonly ['drizzle:entityKind']: string = 'ColumnAliasProxyHandler';
8787

8888
constructor(private alias: string) {}
8989

@@ -109,7 +109,7 @@ export class ColumnAliasProxyHandler<T extends Column> implements ProxyHandler<T
109109
}
110110

111111
export class RelationTableAliasProxyHandler<T extends V1.Relation> implements ProxyHandler<T> {
112-
static readonly [entityKind]: string = 'RelationTableAliasProxyHandler';
112+
static readonly ['drizzle:entityKind']: string = 'RelationTableAliasProxyHandler';
113113

114114
constructor(private alias: string) {}
115115

drizzle-orm/src/aws-data-api/common/index.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { Field } from '@aws-sdk/client-rds-data';
1+
import type { ArrayValue, Field } from '@aws-sdk/client-rds-data';
22
import type { TypeHint } from '@aws-sdk/client-rds-data';
33
import type { QueryTypingsValue } from '~/sql/sql.ts';
44

@@ -11,7 +11,9 @@ export const typeHint: { [K in TypeHint]: K } = {
1111
UUID: 'UUID',
1212
};
1313

14-
export function getValueFromDataApi(field: Field) {
14+
export function getValueFromDataApi(
15+
field: Field,
16+
): string | boolean | number | null | Uint8Array | string[] | number[] | boolean[] | ArrayValue[] {
1517
if (field.stringValue !== undefined) {
1618
return field.stringValue;
1719
} else if (field.booleanValue !== undefined) {

drizzle-orm/src/aws-data-api/pg/driver.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { RDSDataClient, type RDSDataClientConfig } from '@aws-sdk/client-rds-data';
22
import * as V1 from '~/_relations.ts';
3-
import { entityKind, is } from '~/entity.ts';
3+
import { is } from '~/entity.ts';
44
import type { Logger } from '~/logger.ts';
55
import { DefaultLogger } from '~/logger.ts';
66
import { PgAsyncDatabase } from '~/pg-core/async/db.ts';
@@ -35,7 +35,7 @@ export class AwsDataApiPgDatabase<
3535
TSchema extends Record<string, unknown> = Record<string, never>,
3636
TRelations extends AnyRelations = EmptyRelations,
3737
> extends PgAsyncDatabase<AwsDataApiPgQueryResultHKT, TSchema, TRelations> {
38-
static override readonly [entityKind]: string = 'AwsDataApiPgDatabase';
38+
static override readonly ['drizzle:entityKind']: string = 'AwsDataApiPgDatabase';
3939

4040
override execute<
4141
TRow extends Record<string, unknown> = Record<string, unknown>,
@@ -45,7 +45,7 @@ export class AwsDataApiPgDatabase<
4545
}
4646

4747
export class AwsPgDialect extends PgDialect {
48-
static override readonly [entityKind]: string = 'AwsPgDialect';
48+
static override readonly ['drizzle:entityKind']: string = 'AwsPgDialect';
4949

5050
override escapeParam(num: number): string {
5151
return `:${num + 1}`;
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { MigrationConfig } from '~/migrator.ts';
1+
import type { MigrationConfig, MigratorInitFailResponse } from '~/migrator.ts';
22
import { readMigrationFiles } from '~/migrator.ts';
33
import { migrate as coreMigrate } from '~/pg-core/async/session.ts';
44
import type { AnyRelations } from '~/relations.ts';
@@ -7,7 +7,7 @@ import type { AwsDataApiPgDatabase } from './driver.ts';
77
export async function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(
88
db: AwsDataApiPgDatabase<TSchema, TRelations>,
99
config: MigrationConfig,
10-
) {
10+
): Promise<void | MigratorInitFailResponse> {
1111
const migrations = readMigrationFiles(config);
1212
return await coreMigrate(migrations, db.session, config);
1313
}

drizzle-orm/src/aws-data-api/pg/session.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import type * as V1 from '~/_relations.ts';
99
import type { Cache } from '~/cache/core/cache.ts';
1010
import { NoopCache } from '~/cache/core/cache.ts';
1111
import type { WithCacheConfig } from '~/cache/core/types.ts';
12-
import { entityKind } from '~/entity.ts';
12+
1313
import type { Logger } from '~/logger.ts';
1414
import { PgAsyncPreparedQuery, PgAsyncSession, PgAsyncTransaction } from '~/pg-core/async/session.ts';
1515
import type { PgDialect } from '~/pg-core/dialect.ts';
@@ -26,7 +26,7 @@ export class AwsDataApiPreparedQuery<
2626
T extends PreparedQueryConfig & { values: AwsDataApiPgQueryResult<unknown[]> },
2727
TIsRqbV2 extends boolean = false,
2828
> extends PgAsyncPreparedQuery<T> {
29-
static override readonly [entityKind]: string = 'AwsDataApiPreparedQuery';
29+
static override readonly ['drizzle:entityKind']: string = 'AwsDataApiPreparedQuery';
3030

3131
private rawQuery: ExecuteStatementCommand;
3232

@@ -49,7 +49,7 @@ export class AwsDataApiPreparedQuery<
4949
private customResultMapper?: (
5050
rows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],
5151
) => T['execute'],
52-
private isRqbV2Query?: TIsRqbV2,
52+
private isRqbV2Query?: TIsRqbV2 | undefined,
5353
) {
5454
super({ sql: queryString, params }, cache, queryMetadata, cacheConfig);
5555
this.rawQuery = new ExecuteStatementCommand({
@@ -202,7 +202,7 @@ export class AwsDataApiSession<
202202
TRelations extends AnyRelations,
203203
TSchema extends V1.TablesRelationalConfig,
204204
> extends PgAsyncSession<AwsDataApiPgQueryResultHKT, TFullSchema, TRelations, TSchema> {
205-
static override readonly [entityKind]: string = 'AwsDataApiSession';
205+
static override readonly ['drizzle:entityKind']: string = 'AwsDataApiSession';
206206

207207
/** @internal */
208208
readonly rawQuery: AwsDataApiQueryBase;
@@ -336,7 +336,7 @@ export class AwsDataApiTransaction<
336336
TRelations extends AnyRelations,
337337
TSchema extends V1.TablesRelationalConfig,
338338
> extends PgAsyncTransaction<AwsDataApiPgQueryResultHKT, TFullSchema, TRelations, TSchema> {
339-
static override readonly [entityKind]: string = 'AwsDataApiTransaction';
339+
static override readonly ['drizzle:entityKind']: string = 'AwsDataApiTransaction';
340340

341341
override async transaction<T>(
342342
transaction: (tx: AwsDataApiTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,

drizzle-orm/src/better-sqlite3/driver.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import Client, { type Database, type Options, type RunResult } from 'better-sqlite3';
22
import * as V1 from '~/_relations.ts';
3-
import { entityKind } from '~/entity.ts';
3+
44
import { DefaultLogger } from '~/logger.ts';
55
import type { AnyRelations, EmptyRelations } from '~/relations.ts';
66
import { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';
@@ -21,7 +21,7 @@ export class BetterSQLite3Database<
2121
TSchema extends Record<string, unknown> = Record<string, never>,
2222
TRelations extends AnyRelations = EmptyRelations,
2323
> extends BaseSQLiteDatabase<'sync', RunResult, TSchema, TRelations> {
24-
static override readonly [entityKind]: string = 'BetterSQLite3Database';
24+
static override readonly ['drizzle:entityKind']: string = 'BetterSQLite3Database';
2525
}
2626

2727
function construct<
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
import type { MigrationConfig } from '~/migrator.ts';
1+
import type { MigrationConfig, MigratorInitFailResponse } from '~/migrator.ts';
22
import { readMigrationFiles } from '~/migrator.ts';
33
import type { AnyRelations } from '~/relations.ts';
44
import type { BetterSQLite3Database } from './driver.ts';
55

66
export function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(
77
db: BetterSQLite3Database<TSchema, TRelations>,
88
config: MigrationConfig,
9-
) {
9+
): void | MigratorInitFailResponse {
1010
const migrations = readMigrationFiles(config);
1111
return db.dialect.migrate(migrations, db.session, config);
1212
}

0 commit comments

Comments
 (0)