bigal 15.11.3 → 15.11.4

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 CHANGED
@@ -1,3 +1,5 @@
1
+ ## [15.11.4](https://github.com/bigalorm/bigal/compare/v15.11.3...v15.11.4) (2026-03-12)
2
+
1
3
  ## [15.11.3](https://github.com/bigalorm/bigal/compare/v15.11.2...v15.11.3) (2026-03-12)
2
4
 
3
5
  ## [15.11.2](https://github.com/bigalorm/bigal/compare/v15.11.1...v15.11.2) (2026-03-12)
@@ -1,11 +1,17 @@
1
1
  import { defineConfig } from 'vitepress';
2
2
  import llmstxt from 'vitepress-plugin-llms';
3
3
 
4
+ const SITE_URL = 'https://bigalorm.github.io/bigal';
5
+ const SITE_DESCRIPTION = 'A PostgreSQL-optimized, type-safe TypeScript ORM for Node.js';
6
+
4
7
  export default defineConfig({
5
8
  title: 'BigAl',
6
- description: 'A PostgreSQL-optimized, type-safe TypeScript ORM for Node.js',
9
+ description: SITE_DESCRIPTION,
7
10
  base: '/bigal/',
8
11
  appearance: 'force-dark',
12
+ sitemap: {
13
+ hostname: SITE_URL,
14
+ },
9
15
  head: [
10
16
  ['link', { rel: 'preconnect', href: 'https://fonts.googleapis.com' }],
11
17
  ['link', { rel: 'preconnect', href: 'https://fonts.gstatic.com', crossorigin: '' }],
@@ -17,7 +23,25 @@ export default defineConfig({
17
23
  },
18
24
  ],
19
25
  ['link', { rel: 'llms-txt', href: '/bigal/llms.txt' }],
26
+ ['meta', { property: 'og:site_name', content: 'BigAl' }],
27
+ ['meta', { property: 'og:type', content: 'website' }],
28
+ ['meta', { name: 'twitter:card', content: 'summary' }],
20
29
  ],
30
+ transformPageData(pageData) {
31
+ const isHome = pageData.frontmatter.layout === 'home';
32
+ const title = isHome ? 'BigAl — PostgreSQL-optimized TypeScript ORM' : `${pageData.title} | BigAl`;
33
+ const description = pageData.frontmatter.description || SITE_DESCRIPTION;
34
+ const canonicalUrl = `${SITE_URL}/${pageData.relativePath}`.replace(/index\.md$/, '').replace(/\.md$/, '');
35
+
36
+ pageData.frontmatter.head ??= [];
37
+ pageData.frontmatter.head.push(
38
+ ['meta', { property: 'og:title', content: title }],
39
+ ['meta', { property: 'og:description', content: description }],
40
+ ['meta', { property: 'og:url', content: canonicalUrl }],
41
+ ['meta', { name: 'twitter:title', content: title }],
42
+ ['meta', { name: 'twitter:description', content: description }],
43
+ );
44
+ },
21
45
  themeConfig: {
22
46
  nav: [
23
47
  { text: 'Guide', link: '/getting-started' },
@@ -1,3 +1,7 @@
1
+ ---
2
+ description: When to use BigAl vs raw SQL, with a side-by-side translation table mapping common SQL queries to BigAl's fluent API.
3
+ ---
4
+
1
5
  # BigAl vs Raw SQL
2
6
 
3
7
  ## When to use BigAl
@@ -1,3 +1,7 @@
1
+ ---
2
+ description: Known issues and workarounds — optional collections, NotEntity for JSON objects with id fields, and DEBUG_BIGAL logging.
3
+ ---
4
+
1
5
  # Known Issues
2
6
 
3
7
  ## Entity collections must be optional
@@ -1,3 +1,7 @@
1
+ ---
2
+ description: Install BigAl, define your first model with decorators, initialize a repository, and run type-safe PostgreSQL queries.
3
+ ---
4
+
1
5
  # Getting Started
2
6
 
3
7
  ## Install
@@ -1,3 +1,7 @@
1
+ ---
2
+ description: Create, update, and destroy records with RETURNING support, query projection, and ON CONFLICT upserts.
3
+ ---
4
+
1
5
  # CRUD Operations
2
6
 
3
7
  BigAl repositories provide `create()`, `update()`, and `destroy()` methods. All three return affected records
@@ -1,3 +1,7 @@
1
+ ---
2
+ description: Define PostgreSQL tables as TypeScript classes with decorators for columns, primary keys, relationships, and automatic timestamps.
3
+ ---
4
+
1
5
  # Models
2
6
 
3
7
  Models map TypeScript classes to PostgreSQL tables. Every model extends `Entity` and uses decorators for table and column configuration.
@@ -1,3 +1,7 @@
1
+ ---
2
+ description: Fluent query builder for find, findOne, and count with WHERE operators, JSONB querying, pagination, sorting, DISTINCT ON, and populate.
3
+ ---
4
+
1
5
  # Querying
2
6
 
3
7
  BigAl provides `findOne()`, `find()`, and `count()` methods on repositories. Queries use a fluent builder pattern —
@@ -1,3 +1,7 @@
1
+ ---
2
+ description: Many-to-one, one-to-many, and many-to-many relationships with decorators, QueryResult type narrowing, and populate options.
3
+ ---
4
+
1
5
  # Relationships
2
6
 
3
7
  BigAl supports three relationship patterns via the `@column` decorator: many-to-one, one-to-many, and many-to-many.
@@ -1,3 +1,7 @@
1
+ ---
2
+ description: Type-safe subqueries for WHERE IN, EXISTS, and scalar comparisons. Model joins, subquery joins, aggregates, GROUP BY, and HAVING.
3
+ ---
4
+
1
5
  # Subqueries and Joins
2
6
 
3
7
  BigAl supports subqueries for WHERE clauses, scalar comparisons, and joins. All subqueries are type-safe and composable.
@@ -1,3 +1,7 @@
1
+ ---
2
+ description: Map PostgreSQL views to readonly models with ReadonlyRepository. Supports inheritance, schema options, and all query features.
3
+ ---
4
+
1
5
  # Views and Readonly Repositories
2
6
 
3
7
  BigAl does not distinguish between tables and views. Both use the `@table()` decorator. Setting `readonly: true` causes
@@ -1,3 +1,7 @@
1
+ ---
2
+ description: Complete API reference for BigAl — initialize(), Repository, ReadonlyRepository, query builder methods, subquery(), decorators, and types.
3
+ ---
4
+
1
5
  # API Reference
2
6
 
3
7
  All public exports from `bigal`.
@@ -1,3 +1,7 @@
1
+ ---
2
+ description: Configure connection pools (postgres-pool, pg, Neon), read replicas, multiple databases, and debug logging.
3
+ ---
4
+
1
5
  # Configuration
2
6
 
3
7
  ## Connection pools
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bigal",
3
- "version": "15.11.3",
3
+ "version": "15.11.4",
4
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",
@@ -12,7 +12,7 @@ export default {
12
12
  {
13
13
  preset: 'angular',
14
14
  releaseRules: [
15
- { type: 'docs', release: 'patch' },
15
+ { type: 'docs', release: false },
16
16
  { type: 'feat', release: 'minor' },
17
17
  { type: 'fix', release: 'patch' },
18
18
  { type: 'test', release: 'patch' },