Skip to content
This repository was archived by the owner on Jun 12, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
root = true

[*]
indent_style = tab
indent_size = 4
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
Expand Down
10 changes: 0 additions & 10 deletions .prettierignore

This file was deleted.

11 changes: 0 additions & 11 deletions .prettierrc.json

This file was deleted.

53 changes: 53 additions & 0 deletions biome.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
{
"$schema": "https://biomejs.dev/schemas/2.3.2/schema.json",
"vcs": {
"enabled": true,
"clientKind": "git",
"useIgnoreFile": true
},
"files": {
"ignoreUnknown": false,
"includes": [
"**",
"!dist",
"!**/dist",
"!node_modules",
"!**/node_modules",
"!.antelope",
"!output"
]
},
"formatter": {
"enabled": true,
"indentStyle": "space",
"indentWidth": 2
},
"linter": {
"enabled": true,
"rules": {
"recommended": true,
"suspicious": {
"noExplicitAny": "off"
},
"nursery": {
"noFloatingPromises": "error"
}
}
},
"javascript": {
"formatter": {
"quoteStyle": "double"
},
"parser": {
"unsafeParameterDecoratorsEnabled": true
}
},
"assist": {
"enabled": true,
"actions": {
"source": {
"organizeImports": "on"
}
}
}
}
101 changes: 0 additions & 101 deletions eslint.config.mjs

This file was deleted.

12 changes: 6 additions & 6 deletions output/data-api/beta/components.d.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { RequestContext } from '@ajs/api/beta';
import { Datum, Stream, Table, ValueProxy, SchemaInstance } from '@ajs/database/beta';
import { DataModel } from '@ajs/database-decorators/beta/model';
import { DataAPIMeta, FilterValue } from './metadata';
import { type RequestContext } from "@ajs/api/beta";
import { type Datum, type SchemaInstance, Stream, type Table, type ValueProxy } from "@ajs/database/beta";
import type { DataModel } from "@ajs/database-decorators/beta/model";
import type { DataAPIMeta, FilterValue } from "./metadata";
export declare namespace Parameters {
export function GetOptionOverrides<T extends Record<string, any>>(reqCtx: RequestContext): T;
export function ExtractFilters(reqCtx: RequestContext, meta: DataAPIMeta): Record<string, FilterValue>;
Expand All @@ -21,7 +21,7 @@ export declare namespace Parameters {
offset?: number;
limit?: number;
sortKey?: string;
sortDirection?: 'asc' | 'desc';
sortDirection?: "asc" | "desc";
maxPage?: number;
noForeign?: boolean;
noPluck?: boolean;
Expand Down Expand Up @@ -59,7 +59,7 @@ export declare namespace Query {
function ReadProperties(obj: any, meta: DataAPIMeta, dbData: any, action?: string, onlyList?: boolean): Promise<Record<string, any>>;
function WriteProperties(obj: any, meta: DataAPIMeta, bodyData: Record<string, any>, action?: string, existingDBData?: Record<string, any>): Promise<Record<string, any>>;
function Get(table: Table<any>, id: string | ValueProxy<string>, index?: string): Datum<any>;
function List<T extends Record<string, any>>(obj: any, meta: DataAPIMeta, request: Table<T>, reqCtx: RequestContext, sorting?: [string, 'asc' | 'desc' | undefined], filters?: Record<string, FilterValue>): [sorted: Stream<T>, total: Datum<number>];
function List<T extends Record<string, any>>(obj: any, meta: DataAPIMeta, request: Table<T>, reqCtx: RequestContext, sorting?: [string, "asc" | "desc" | undefined], filters?: Record<string, FilterValue>): [sorted: Stream<T>, total: Datum<number>];
function Delete(table: Table<any>, id: string | string[]): import("@ajs/database/beta").Query<number>;
}
export declare namespace Validation {
Expand Down
26 changes: 13 additions & 13 deletions output/data-api/beta/index.d.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { Class, ParameterDecorator } from '@ajs/core/beta/decorators';
import { RequestContext, ControllerClass } from '@ajs/api/beta';
import { DataAPIMeta } from './metadata';
import { Parameters } from './components';
import { type ControllerClass, type RequestContext } from "@ajs/api/beta";
import { type Class, type ParameterDecorator } from "@ajs/core/beta/decorators";
import { Parameters } from "./components";
import { DataAPIMeta } from "./metadata";
export type DataControllerCallback<O = any> = {
args: (ParameterDecorator | ParameterDecorator[])[];
method: string;
Expand All @@ -12,7 +12,7 @@ export type DataControllerCallbackWithOptions<O = any> = {
options?: Partial<O>;
callback: DataControllerCallback<O>;
};
export type ExtractCallback<T> = T extends DataControllerCallbackWithOptions ? T['callback']['func'] : T extends DataControllerCallback ? T['func'] : never;
export type ExtractCallback<T> = T extends DataControllerCallbackWithOptions ? T["callback"]["func"] : T extends DataControllerCallback ? T["func"] : never;
export type DataControllerDef = {
[name: string]: DataControllerCallback | DataControllerCallbackWithOptions;
};
Expand All @@ -27,7 +27,7 @@ export declare const RegisterDataController: () => import("@ajs/core/beta/decora
export declare function GetDataControllerMeta(thisObj: any): DataAPIMeta;
export declare namespace DefaultRoutes {
const Get: {
func: (reqCtx: RequestContext, params: Parameters.GetParameters) => Promise<Record<string, any>>;
func: (_reqCtx: RequestContext, params: Parameters.GetParameters) => Promise<Record<string, any>>;
args: (import("@ajs/core/beta/decorators").PropertyDecorator & ParameterDecorator)[];
method: string;
};
Expand All @@ -42,23 +42,23 @@ export declare namespace DefaultRoutes {
method: string;
};
const New: {
func: (reqCtx: RequestContext, params: Parameters.NewParameters, body: Buffer) => Promise<string[]>;
func: (_reqCtx: RequestContext, params: Parameters.NewParameters, body: Buffer) => Promise<string[]>;
args: (import("@ajs/core/beta/decorators").PropertyDecorator & ParameterDecorator)[];
method: string;
};
const Edit: {
func: (reqCtx: RequestContext, params: Parameters.EditParameters, body: Buffer) => Promise<void>;
func: (_reqCtx: RequestContext, params: Parameters.EditParameters, body: Buffer) => Promise<void>;
args: (import("@ajs/core/beta/decorators").PropertyDecorator & ParameterDecorator)[];
method: string;
};
const Delete: {
func: (reqCtx: RequestContext, params: Parameters.DeleteParameters) => Promise<number>;
func: (_reqCtx: RequestContext, params: Parameters.DeleteParameters) => Promise<number>;
args: (import("@ajs/core/beta/decorators").PropertyDecorator & ParameterDecorator)[];
method: string;
};
const All: {
readonly get: {
func: (reqCtx: RequestContext, params: Parameters.GetParameters) => Promise<Record<string, any>>;
func: (_reqCtx: RequestContext, params: Parameters.GetParameters) => Promise<Record<string, any>>;
args: (import("@ajs/core/beta/decorators").PropertyDecorator & ParameterDecorator)[];
method: string;
};
Expand All @@ -73,17 +73,17 @@ export declare namespace DefaultRoutes {
method: string;
};
readonly new: {
func: (reqCtx: RequestContext, params: Parameters.NewParameters, body: Buffer) => Promise<string[]>;
func: (_reqCtx: RequestContext, params: Parameters.NewParameters, body: Buffer) => Promise<string[]>;
args: (import("@ajs/core/beta/decorators").PropertyDecorator & ParameterDecorator)[];
method: string;
};
readonly edit: {
func: (reqCtx: RequestContext, params: Parameters.EditParameters, body: Buffer) => Promise<void>;
func: (_reqCtx: RequestContext, params: Parameters.EditParameters, body: Buffer) => Promise<void>;
args: (import("@ajs/core/beta/decorators").PropertyDecorator & ParameterDecorator)[];
method: string;
};
readonly delete: {
func: (reqCtx: RequestContext, params: Parameters.DeleteParameters) => Promise<number>;
func: (_reqCtx: RequestContext, params: Parameters.DeleteParameters) => Promise<number>;
args: (import("@ajs/core/beta/decorators").PropertyDecorator & ParameterDecorator)[];
method: string;
};
Expand Down
22 changes: 14 additions & 8 deletions output/data-api/beta/metadata.d.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { Class } from '@ajs/core/beta/decorators';
import { RequestContext } from '@ajs/api/beta';
import { ValueProxy, ValueProxyOrValue } from '@ajs/database/beta';
import { DataControllerCallbackWithOptions } from '.';
import { ContainerModifier } from '@ajs/database-decorators/beta/modifiers/common';
import { Table } from '@ajs/database-decorators/beta';
import type { RequestContext } from "@ajs/api/beta";
import { type Class } from "@ajs/core/beta/decorators";
import type { ValueProxy, ValueProxyOrValue } from "@ajs/database/beta";
import { type Table } from "@ajs/database-decorators/beta";
import type { ContainerModifier } from "@ajs/database-decorators/beta/modifiers/common";
import type { DataControllerCallbackWithOptions } from ".";
/**
* Field access mode enum.
*/
Expand Down Expand Up @@ -47,7 +47,13 @@ export interface FieldData {
/**
* Foreign key reference.
*/
foreign?: [table: string, tableClass?: Class<Table>, index?: string, multi?: true, pluck?: string[]];
foreign?: [
table: string,
tableClass?: Class<Table>,
index?: string,
multi?: true,
pluck?: string[]
];
/**
* Value validator callback.
*/
Expand All @@ -61,7 +67,7 @@ export interface FieldData {
*/
indexable?: boolean;
}
type Comparison = 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
type Comparison = "eq" | "ne" | "gt" | "ge" | "lt" | "le";
export type FilterValue = [value: string, mode: Comparison];
/**
* Filter callback.
Expand Down
18 changes: 5 additions & 13 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@
"build": "rimraf dist && tsc",
"dev:prepare": "cd playground && ajs module imports install",
"dev": "ajs project run -w -p playground",
"format": "prettier --write .",
"format": "biome format --write .",
"generate": "ajs module exports generate",
"lint:fix": "eslint . --ext .js,.jsx,.ts,.tsx --fix",
"lint": "eslint . --ext .js,.jsx,.ts,.tsx",
"lint:fix": "biome check --write .",
"lint": "biome check .",
"typecheck": "tsc --noEmit",
"prepack": "pnpm run build",
"prepare": "ajs module imports install",
Expand Down Expand Up @@ -57,22 +57,14 @@
"reflect-metadata": "^0.2.2"
},
"devDependencies": {
"@eslint/eslintrc": "^3.3.1",
"@biomejs/biome": "2.3.2",
"rimraf": "^6.0.1",
"@eslint/js": "^9.25.0",
"@types/chai": "^4.3.3",
"@types/mocha": "^10.0.10",
"@types/node": "^22.14.1",
"eslint": "^9.25.0",
"eslint-config-prettier": "^10.1.2",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-prettier": "^5.2.6",
"globals": "^16.0.0",
"mongodb-memory-server-core": "^10.1.4",
"prettier": "^3.5.3",
"release-it": "^19.0.2",
"release-it-changelogen": "^0.1.0",
"typescript": "^5.8.3",
"typescript-eslint": "^8.30.1"
"typescript": "^5.8.3"
}
}
Loading