bigal 15.11.1 → 15.11.2
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.
- package/CHANGELOG.md +2 -0
- package/CLAUDE.md +6 -6
- package/README.md +6 -25
- package/package.json +13 -6
package/CHANGELOG.md
CHANGED
package/CLAUDE.md
CHANGED
|
@@ -9,10 +9,10 @@ BigAl is a type-safe PostgreSQL ORM for Node.js/TypeScript. It uses a fluent bui
|
|
|
9
9
|
## Build and Test Commands
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
|
-
npm run build
|
|
13
|
-
npm test
|
|
14
|
-
npm run lint
|
|
15
|
-
|
|
12
|
+
npm run build # Build the project using unbuild
|
|
13
|
+
npm test # Type-check and run all tests with Vitest
|
|
14
|
+
npm run lint # Run oxlint, oxfmt, and markdownlint
|
|
15
|
+
npm run check:types # Type-check without emitting files (tsgo --noEmit --skipLibCheck)
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
## Code Style Guidelines
|
|
@@ -80,8 +80,8 @@ Queries use a fluent builder pattern with immutable state:
|
|
|
80
80
|
|
|
81
81
|
## Testing Conventions
|
|
82
82
|
|
|
83
|
-
- Tests are in `tests/` directory with `.
|
|
84
|
-
- Use
|
|
83
|
+
- Tests are in `tests/` directory with `.test.ts` suffix
|
|
84
|
+
- Use Vitest assertions
|
|
85
85
|
- Test file structure mirrors source structure
|
|
86
86
|
- Repository tests use a shared setup with `repositoriesByModelNameLowered`
|
|
87
87
|
- When test infrastructure types are too generic, type assertions are acceptable
|
package/README.md
CHANGED
|
@@ -148,38 +148,19 @@ For detailed information about defining relationships and understanding the `Que
|
|
|
148
148
|
### Initialize repositories
|
|
149
149
|
|
|
150
150
|
```ts
|
|
151
|
-
import {
|
|
152
|
-
initialize,
|
|
153
|
-
Repository,
|
|
154
|
-
} from 'bigal';
|
|
151
|
+
import { initialize, Repository } from 'bigal';
|
|
155
152
|
import { Pool } from 'postgres-pool';
|
|
156
|
-
import {
|
|
157
|
-
Category,
|
|
158
|
-
Product,
|
|
159
|
-
ProductCategory,
|
|
160
|
-
Store,
|
|
161
|
-
} from './models';
|
|
153
|
+
import { Category, Product, ProductCategory, Store } from './models';
|
|
162
154
|
|
|
163
155
|
let pool: Pool;
|
|
164
156
|
let readonlyPool: Pool;
|
|
165
157
|
|
|
166
|
-
export function startup({
|
|
167
|
-
connectionString,
|
|
168
|
-
readonlyConnectionString,
|
|
169
|
-
}: {
|
|
170
|
-
connectionString: string,
|
|
171
|
-
readonlyConnectionString: string,
|
|
172
|
-
}) {
|
|
158
|
+
export function startup({ connectionString, readonlyConnectionString }: { connectionString: string; readonlyConnectionString: string }) {
|
|
173
159
|
pool = new Pool(connectionString);
|
|
174
160
|
readonlyPool = new Pool(readonlyConnectionString);
|
|
175
161
|
|
|
176
162
|
const repositoriesByName = initialize({
|
|
177
|
-
models: [
|
|
178
|
-
Category,
|
|
179
|
-
Product,
|
|
180
|
-
ProductCategory,
|
|
181
|
-
Store,
|
|
182
|
-
],
|
|
163
|
+
models: [Category, Product, ProductCategory, Store],
|
|
183
164
|
pool,
|
|
184
165
|
readonlyPool,
|
|
185
166
|
});
|
|
@@ -187,7 +168,7 @@ export function startup({
|
|
|
187
168
|
let categoryRepository: Repository<Category>;
|
|
188
169
|
let productRepository: Repository<Product>;
|
|
189
170
|
let storeRepository: Repository<Store>;
|
|
190
|
-
for (const [modelName, repository]
|
|
171
|
+
for (const [modelName, repository] of Object.entries(repositoriesByName)) {
|
|
191
172
|
switch (modelName) {
|
|
192
173
|
case 'Category':
|
|
193
174
|
categoryRepository = repository;
|
|
@@ -205,7 +186,7 @@ export function startup({
|
|
|
205
186
|
categoryRepository,
|
|
206
187
|
productRepository,
|
|
207
188
|
storeRepository,
|
|
208
|
-
}
|
|
189
|
+
};
|
|
209
190
|
}
|
|
210
191
|
|
|
211
192
|
export function shutdown() {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bigal",
|
|
3
|
-
"version": "15.11.
|
|
4
|
-
"description": "A
|
|
3
|
+
"version": "15.11.2",
|
|
4
|
+
"description": "A type-safe PostgreSQL ORM for Node.js, written in TypeScript. Features a fluent query builder, decorator-based models, and immutable query state.",
|
|
5
5
|
"main": "./dist/index.cjs",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
@@ -21,7 +21,14 @@
|
|
|
21
21
|
"keywords": [
|
|
22
22
|
"orm",
|
|
23
23
|
"postgres",
|
|
24
|
-
"postgresql"
|
|
24
|
+
"postgresql",
|
|
25
|
+
"typescript",
|
|
26
|
+
"type-safe",
|
|
27
|
+
"query-builder",
|
|
28
|
+
"node",
|
|
29
|
+
"fluent-api",
|
|
30
|
+
"decorator",
|
|
31
|
+
"repository-pattern"
|
|
25
32
|
],
|
|
26
33
|
"author": "Jim Geurts <jim@biacreations.com>",
|
|
27
34
|
"license": "MIT",
|
|
@@ -41,14 +48,14 @@
|
|
|
41
48
|
"@semantic-release/npm": "13.1.5",
|
|
42
49
|
"@semantic-release/release-notes-generator": "14.1.0",
|
|
43
50
|
"@types/node": ">=22",
|
|
44
|
-
"@typescript/native-preview": "7.0.0-dev.
|
|
51
|
+
"@typescript/native-preview": "7.0.0-dev.20260312.1",
|
|
45
52
|
"eslint-plugin-vitest": "0.5.4",
|
|
46
53
|
"husky": "9.1.7",
|
|
47
54
|
"lint-staged": "16.3.3",
|
|
48
55
|
"markdownlint-cli": "0.48.0",
|
|
49
56
|
"npm-run-all2": "8.0.4",
|
|
50
|
-
"oxfmt": "0.
|
|
51
|
-
"oxlint": "1.
|
|
57
|
+
"oxfmt": "0.39.0",
|
|
58
|
+
"oxlint": "1.54.0",
|
|
52
59
|
"oxlint-tsgolint": "0.16.0",
|
|
53
60
|
"pinst": "3.0.0",
|
|
54
61
|
"postgres-pool": "11.0.4",
|