relq 1.0.3 → 1.0.5
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/dist/cjs/cli/utils/git-utils.cjs +1 -1
- package/dist/cjs/cli/utils/spinner.cjs +1 -1
- package/dist/cjs/cli/utils/sql-generator.cjs +9 -1
- package/dist/cjs/schema-definition/column-types.cjs +2 -1
- package/dist/config.d.ts +19 -0
- package/dist/esm/cli/utils/sql-generator.js +9 -1
- package/dist/esm/schema-definition/column-types.js +1 -0
- package/dist/schema-builder.d.ts +2 -1
- package/package.json +1 -1
|
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.requireInit = exports.progressBar = exports.formatDuration = exports.formatBytes = exports.select = exports.
|
|
36
|
+
exports.requireInit = exports.progressBar = exports.formatDuration = exports.formatBytes = exports.select = exports.success = exports.hint = exports.warning = exports.error = exports.fatal = exports.createSpinner = exports.colors = void 0;
|
|
37
37
|
exports.info = info;
|
|
38
38
|
exports.getWorkingTreeStatus = getWorkingTreeStatus;
|
|
39
39
|
exports.requireRepository = requireRepository;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.success = exports.
|
|
3
|
+
exports.success = exports.requireInit = exports.hint = exports.warning = exports.error = exports.fatal = exports.formatDuration = exports.formatBytes = exports.progressBar = exports.createSpinner = exports.colors = void 0;
|
|
4
4
|
var cli_utils_1 = require("./cli-utils.cjs");
|
|
5
5
|
Object.defineProperty(exports, "colors", { enumerable: true, get: function () { return cli_utils_1.colors; } });
|
|
6
6
|
Object.defineProperty(exports, "createSpinner", { enumerable: true, get: function () { return cli_utils_1.createSpinner; } });
|
|
@@ -107,6 +107,13 @@ function quoteColumnRef(name) {
|
|
|
107
107
|
}
|
|
108
108
|
return name;
|
|
109
109
|
}
|
|
110
|
+
function normalizePgType(pgType) {
|
|
111
|
+
if (pgType.startsWith('_')) {
|
|
112
|
+
const baseType = pgType.slice(1);
|
|
113
|
+
return `${baseType}[]`;
|
|
114
|
+
}
|
|
115
|
+
return pgType;
|
|
116
|
+
}
|
|
110
117
|
function generateExtensionSQL(extensionName) {
|
|
111
118
|
const quotedName = extensionName.includes('-') ? `"${extensionName}"` : extensionName;
|
|
112
119
|
return `CREATE EXTENSION IF NOT EXISTS ${quotedName};`;
|
|
@@ -212,7 +219,8 @@ function generateTableSQL(table, options = {}) {
|
|
|
212
219
|
}
|
|
213
220
|
function generateColumnSQL(col) {
|
|
214
221
|
const parts = [];
|
|
215
|
-
|
|
222
|
+
const normalizedType = normalizePgType(col.dataType);
|
|
223
|
+
parts.push(`${quoteIdentifier(col.name).padEnd(28)}${normalizedType}`);
|
|
216
224
|
if (col.dataType.endsWith('[]')) {
|
|
217
225
|
}
|
|
218
226
|
if (col.isGenerated && col.generationExpression) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.json = exports.xml = exports.uuid = exports.tsquery = exports.tsvector = exports.varbit = exports.bitVarying = exports.bit = exports.macaddr8 = exports.macaddr = exports.inet = exports.cidr = exports.circle = exports.polygon = exports.path = exports.box = exports.lseg = exports.line = exports.point = exports.bool = exports.boolean = exports.timeWithTimeZone = exports.date = exports.timestampWithTimeZone = exports.bytea = exports.text = exports.character = exports.characterVarying = exports.money = exports.float8 = exports.doublePrecision = exports.float4 = exports.real = exports.numeric = exports.decimal = exports.serial8 = exports.bigserial = exports.serial2 = exports.smallserial = exports.serial4 = exports.serial = exports.int8 = exports.bigint = exports.int2 = exports.smallint = exports.int4 = exports.int = exports.integer = exports.EMPTY_ARRAY = exports.EMPTY_OBJECT = void 0;
|
|
4
|
-
exports.index = exports.raw = exports.emptyArray = exports.emptyObject = exports.currentDate = exports.currentTimestamp = exports.now = exports.uuidV4 = exports.genRandomUuid = exports.compositeType = exports.enumType = exports.customType = exports.box3d = exports.box2d = exports.geoPoint = exports.geography = exports.geometry = exports.semver = exports.cube = exports.hstore = exports.ltxtquery = exports.lquery = exports.ltree = exports.citext = exports.pgSnapshot = exports.pgLsn = exports.regtype = exports.regproc = exports.regclass = exports.oid = exports.datemultirange = exports.tstzmultirange = exports.tsmultirange = exports.nummultirange = exports.int8multirange = exports.int4multirange = exports.daterange = exports.tstzrange = exports.tsrange = exports.numrange = exports.int8range = exports.int4range = exports.jsonb = void 0;
|
|
4
|
+
exports.index = exports.raw = exports.emptyArray = exports.emptyObject = exports.currentDate = exports.currentTimestamp = exports.now = exports.uuidV4 = exports.genRandomUuid = exports.SQL_BRAND = exports.compositeType = exports.enumType = exports.customType = exports.box3d = exports.box2d = exports.geoPoint = exports.geography = exports.geometry = exports.semver = exports.cube = exports.hstore = exports.ltxtquery = exports.lquery = exports.ltree = exports.citext = exports.pgSnapshot = exports.pgLsn = exports.regtype = exports.regproc = exports.regclass = exports.oid = exports.datemultirange = exports.tstzmultirange = exports.tsmultirange = exports.nummultirange = exports.int8multirange = exports.int4multirange = exports.daterange = exports.tstzrange = exports.tsrange = exports.numrange = exports.int8range = exports.int4range = exports.jsonb = void 0;
|
|
5
5
|
exports.varchar = varchar;
|
|
6
6
|
exports.char = char;
|
|
7
7
|
exports.timestamp = timestamp;
|
|
@@ -787,6 +787,7 @@ const enumType = (name, values, columnName) => {
|
|
|
787
787
|
exports.enumType = enumType;
|
|
788
788
|
const compositeType = (typeName, columnName) => createColumnWithName(typeName, columnName);
|
|
789
789
|
exports.compositeType = compositeType;
|
|
790
|
+
exports.SQL_BRAND = Symbol.for('relq.sql.brand');
|
|
790
791
|
function sqlExpr(sql) {
|
|
791
792
|
const branded = Object.create(null);
|
|
792
793
|
Object.defineProperty(branded, '$sql', { value: sql, enumerable: false });
|
package/dist/config.d.ts
CHANGED
|
@@ -642,5 +642,24 @@ export declare function validateConfig(config: RelqConfig): {
|
|
|
642
642
|
valid: boolean;
|
|
643
643
|
errors: string[];
|
|
644
644
|
};
|
|
645
|
+
interface Blob$1 extends BunConsumerConvenienceMethods {
|
|
646
|
+
// We have to specify bytes again even though it comes from
|
|
647
|
+
// BunConsumerConvenienceMethods, because inheritance in TypeScript is
|
|
648
|
+
// slightly different from just "copying in the methods" (the difference is
|
|
649
|
+
// related to how type parameters are resolved)
|
|
650
|
+
bytes(): Promise<Uint8Array<ArrayBuffer>>;
|
|
651
|
+
/**
|
|
652
|
+
* Consume the blob as a FormData instance
|
|
653
|
+
*/
|
|
654
|
+
formData(): Promise<FormData>;
|
|
655
|
+
/**
|
|
656
|
+
* Consume the blob as an ArrayBuffer
|
|
657
|
+
*/
|
|
658
|
+
arrayBuffer(): Promise<ArrayBuffer>;
|
|
659
|
+
/**
|
|
660
|
+
* Returns a readable stream of the blob's contents
|
|
661
|
+
*/
|
|
662
|
+
stream(): ReadableStream<Uint8Array<ArrayBuffer>>;
|
|
663
|
+
}
|
|
645
664
|
|
|
646
665
|
export {};
|
|
@@ -91,6 +91,13 @@ function quoteColumnRef(name) {
|
|
|
91
91
|
}
|
|
92
92
|
return name;
|
|
93
93
|
}
|
|
94
|
+
function normalizePgType(pgType) {
|
|
95
|
+
if (pgType.startsWith('_')) {
|
|
96
|
+
const baseType = pgType.slice(1);
|
|
97
|
+
return `${baseType}[]`;
|
|
98
|
+
}
|
|
99
|
+
return pgType;
|
|
100
|
+
}
|
|
94
101
|
export function generateExtensionSQL(extensionName) {
|
|
95
102
|
const quotedName = extensionName.includes('-') ? `"${extensionName}"` : extensionName;
|
|
96
103
|
return `CREATE EXTENSION IF NOT EXISTS ${quotedName};`;
|
|
@@ -196,7 +203,8 @@ export function generateTableSQL(table, options = {}) {
|
|
|
196
203
|
}
|
|
197
204
|
function generateColumnSQL(col) {
|
|
198
205
|
const parts = [];
|
|
199
|
-
|
|
206
|
+
const normalizedType = normalizePgType(col.dataType);
|
|
207
|
+
parts.push(`${quoteIdentifier(col.name).padEnd(28)}${normalizedType}`);
|
|
200
208
|
if (col.dataType.endsWith('[]')) {
|
|
201
209
|
}
|
|
202
210
|
if (col.isGenerated && col.generationExpression) {
|
|
@@ -705,6 +705,7 @@ export const enumType = (name, values, columnName) => {
|
|
|
705
705
|
return col;
|
|
706
706
|
};
|
|
707
707
|
export const compositeType = (typeName, columnName) => createColumnWithName(typeName, columnName);
|
|
708
|
+
export const SQL_BRAND = Symbol.for('relq.sql.brand');
|
|
708
709
|
function sqlExpr(sql) {
|
|
709
710
|
const branded = Object.create(null);
|
|
710
711
|
Object.defineProperty(branded, '$sql', { value: sql, enumerable: false });
|
package/dist/schema-builder.d.ts
CHANGED
|
@@ -886,7 +886,8 @@ export declare const enumType: <T extends string>(name: string, values: readonly
|
|
|
886
886
|
};
|
|
887
887
|
/** @deprecated Use pgComposite() instead for better type inference */
|
|
888
888
|
export declare const compositeType: <T>(typeName: string, columnName?: string) => ColumnBuilder<T, ColumnConfig<T>>;
|
|
889
|
-
|
|
889
|
+
/** SQL expression brand - marks a value as SQL expression for runtime detection */
|
|
890
|
+
export declare const SQL_BRAND: unique symbol;
|
|
890
891
|
export type SqlExpression<T> = T & {
|
|
891
892
|
readonly [SQL_BRAND]: true;
|
|
892
893
|
readonly $sql: string;
|