@edgebasejs/schema 0.1.0
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/schema/src/builder/index.d.ts +3 -0
- package/dist/schema/src/builder/index.d.ts.map +1 -0
- package/dist/schema/src/builder/index.js +3 -0
- package/dist/schema/src/builder/index.js.map +1 -0
- package/dist/schema/src/builder/schema-builder.d.ts +54 -0
- package/dist/schema/src/builder/schema-builder.d.ts.map +1 -0
- package/dist/schema/src/builder/schema-builder.js +144 -0
- package/dist/schema/src/builder/schema-builder.js.map +1 -0
- package/dist/schema/src/index.d.ts +3 -0
- package/dist/schema/src/index.d.ts.map +1 -0
- package/dist/schema/src/index.js +3 -0
- package/dist/schema/src/index.js.map +1 -0
- package/dist/shared-types/src/admin.d.ts +101 -0
- package/dist/shared-types/src/admin.d.ts.map +1 -0
- package/dist/shared-types/src/admin.js +3 -0
- package/dist/shared-types/src/admin.js.map +1 -0
- package/dist/shared-types/src/auth.d.ts +27 -0
- package/dist/shared-types/src/auth.d.ts.map +1 -0
- package/dist/shared-types/src/auth.js +2 -0
- package/dist/shared-types/src/auth.js.map +1 -0
- package/dist/shared-types/src/index.d.ts +5 -0
- package/dist/shared-types/src/index.d.ts.map +1 -0
- package/dist/shared-types/src/index.js +5 -0
- package/dist/shared-types/src/index.js.map +1 -0
- package/dist/shared-types/src/schema.d.ts +34 -0
- package/dist/shared-types/src/schema.d.ts.map +1 -0
- package/dist/shared-types/src/schema.js +2 -0
- package/dist/shared-types/src/schema.js.map +1 -0
- package/dist/shared-types/src/sync.d.ts +37 -0
- package/dist/shared-types/src/sync.d.ts.map +1 -0
- package/dist/shared-types/src/sync.js +2 -0
- package/dist/shared-types/src/sync.js.map +1 -0
- package/package.json +27 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/builder/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,OAAO,EACL,YAAY,EACZ,MAAM,EACN,OAAO,EACP,OAAO,EACP,MAAM,EACN,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,SAAS,GACV,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/builder/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,OAAO,EACL,YAAY,EACZ,MAAM,EACN,OAAO,EACP,OAAO,EACP,MAAM,EACN,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,SAAS,GACV,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { EntitySchema, FieldType, AccessRules, DatabaseSchema, FieldTypeValue } from '@edgebasejs/types';
|
|
2
|
+
/**
|
|
3
|
+
* Field type builder
|
|
4
|
+
*/
|
|
5
|
+
export declare class FieldBuilder {
|
|
6
|
+
private config;
|
|
7
|
+
constructor(type: FieldTypeValue);
|
|
8
|
+
required(): this;
|
|
9
|
+
optional(): this;
|
|
10
|
+
primary(): this;
|
|
11
|
+
default(value: any): this;
|
|
12
|
+
reference(tableName: string): this;
|
|
13
|
+
build(): FieldType;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Field type creators
|
|
17
|
+
*/
|
|
18
|
+
export declare function string(): FieldBuilder;
|
|
19
|
+
export declare function integer(): FieldBuilder;
|
|
20
|
+
export declare function boolean(): FieldBuilder;
|
|
21
|
+
export declare function number(): FieldBuilder;
|
|
22
|
+
export declare function text(): FieldBuilder;
|
|
23
|
+
export declare function timestamp(): FieldBuilder;
|
|
24
|
+
export declare function json(): FieldBuilder;
|
|
25
|
+
export declare function reference(tableName: string): FieldBuilder;
|
|
26
|
+
/**
|
|
27
|
+
* Entity builder
|
|
28
|
+
*/
|
|
29
|
+
export declare class EntityBuilder {
|
|
30
|
+
private schema;
|
|
31
|
+
constructor();
|
|
32
|
+
field(name: string, builder: FieldBuilder): this;
|
|
33
|
+
accessRules(rules: AccessRules): this;
|
|
34
|
+
index(fields: string[], unique?: boolean): this;
|
|
35
|
+
build(): EntitySchema;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Schema definition builder
|
|
39
|
+
*/
|
|
40
|
+
export declare class SchemaBuilder {
|
|
41
|
+
private schema;
|
|
42
|
+
constructor();
|
|
43
|
+
entity(name: string, builder: (builder: EntityBuilder) => void): this;
|
|
44
|
+
build(): DatabaseSchema;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Main API: defineSchema
|
|
48
|
+
*/
|
|
49
|
+
export declare function defineSchema(fn: (builder: SchemaBuilder) => void): DatabaseSchema;
|
|
50
|
+
/**
|
|
51
|
+
* Validate schema
|
|
52
|
+
*/
|
|
53
|
+
export declare function validateSchema(schema: DatabaseSchema): void;
|
|
54
|
+
//# sourceMappingURL=schema-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-builder.d.ts","sourceRoot":"","sources":["../../../../src/builder/schema-builder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACT,WAAW,EACX,cAAc,EACd,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAY;gBAEd,IAAI,EAAE,cAAc;IAOhC,QAAQ,IAAI,IAAI;IAKhB,QAAQ,IAAI,IAAI;IAKhB,OAAO,IAAI,IAAI;IAMf,OAAO,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAKzB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKlC,KAAK,IAAI,SAAS;CAGnB;AAED;;GAEG;AACH,wBAAgB,MAAM,IAAI,YAAY,CAErC;AAED,wBAAgB,OAAO,IAAI,YAAY,CAEtC;AAED,wBAAgB,OAAO,IAAI,YAAY,CAEtC;AAED,wBAAgB,MAAM,IAAI,YAAY,CAErC;AAED,wBAAgB,IAAI,IAAI,YAAY,CAEnC;AAED,wBAAgB,SAAS,IAAI,YAAY,CAExC;AAED,wBAAgB,IAAI,IAAI,YAAY,CAEnC;AAED,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CAIzD;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAe;;IAQ7B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAKhD,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAKrC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,UAAQ,GAAG,IAAI;IAQ7C,KAAK,IAAI,YAAY;CAGtB;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAiB;;IAQ/B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI;IAOrE,KAAK,IAAI,cAAc;CAGxB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,GAAG,cAAc,CAIjF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAuB3D"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
// Schema DSL builder for defining database entities
|
|
2
|
+
/**
|
|
3
|
+
* Field type builder
|
|
4
|
+
*/
|
|
5
|
+
export class FieldBuilder {
|
|
6
|
+
constructor(type) {
|
|
7
|
+
this.config = {
|
|
8
|
+
type,
|
|
9
|
+
required: false,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
required() {
|
|
13
|
+
this.config.required = true;
|
|
14
|
+
return this;
|
|
15
|
+
}
|
|
16
|
+
optional() {
|
|
17
|
+
this.config.required = false;
|
|
18
|
+
return this;
|
|
19
|
+
}
|
|
20
|
+
primary() {
|
|
21
|
+
this.config.primary = true;
|
|
22
|
+
this.config.required = true;
|
|
23
|
+
return this;
|
|
24
|
+
}
|
|
25
|
+
default(value) {
|
|
26
|
+
this.config.default = value;
|
|
27
|
+
return this;
|
|
28
|
+
}
|
|
29
|
+
reference(tableName) {
|
|
30
|
+
this.config.reference = tableName;
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
build() {
|
|
34
|
+
return this.config;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Field type creators
|
|
39
|
+
*/
|
|
40
|
+
export function string() {
|
|
41
|
+
return new FieldBuilder('string');
|
|
42
|
+
}
|
|
43
|
+
export function integer() {
|
|
44
|
+
return new FieldBuilder('integer');
|
|
45
|
+
}
|
|
46
|
+
export function boolean() {
|
|
47
|
+
return new FieldBuilder('boolean');
|
|
48
|
+
}
|
|
49
|
+
export function number() {
|
|
50
|
+
return new FieldBuilder('number');
|
|
51
|
+
}
|
|
52
|
+
export function text() {
|
|
53
|
+
return new FieldBuilder('text');
|
|
54
|
+
}
|
|
55
|
+
export function timestamp() {
|
|
56
|
+
return new FieldBuilder('timestamp');
|
|
57
|
+
}
|
|
58
|
+
export function json() {
|
|
59
|
+
return new FieldBuilder('json');
|
|
60
|
+
}
|
|
61
|
+
export function reference(tableName) {
|
|
62
|
+
const builder = new FieldBuilder('reference');
|
|
63
|
+
builder.reference(tableName);
|
|
64
|
+
return builder;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Entity builder
|
|
68
|
+
*/
|
|
69
|
+
export class EntityBuilder {
|
|
70
|
+
constructor() {
|
|
71
|
+
this.schema = {
|
|
72
|
+
fields: {},
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
field(name, builder) {
|
|
76
|
+
this.schema.fields[name] = builder.build();
|
|
77
|
+
return this;
|
|
78
|
+
}
|
|
79
|
+
accessRules(rules) {
|
|
80
|
+
this.schema.accessRules = rules;
|
|
81
|
+
return this;
|
|
82
|
+
}
|
|
83
|
+
index(fields, unique = false) {
|
|
84
|
+
if (!this.schema.indexes) {
|
|
85
|
+
this.schema.indexes = [];
|
|
86
|
+
}
|
|
87
|
+
this.schema.indexes.push({ fields, unique });
|
|
88
|
+
return this;
|
|
89
|
+
}
|
|
90
|
+
build() {
|
|
91
|
+
return this.schema;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Schema definition builder
|
|
96
|
+
*/
|
|
97
|
+
export class SchemaBuilder {
|
|
98
|
+
constructor() {
|
|
99
|
+
this.schema = {
|
|
100
|
+
entities: {},
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
entity(name, builder) {
|
|
104
|
+
const entityBuilder = new EntityBuilder();
|
|
105
|
+
builder(entityBuilder);
|
|
106
|
+
this.schema.entities[name] = entityBuilder.build();
|
|
107
|
+
return this;
|
|
108
|
+
}
|
|
109
|
+
build() {
|
|
110
|
+
return this.schema;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Main API: defineSchema
|
|
115
|
+
*/
|
|
116
|
+
export function defineSchema(fn) {
|
|
117
|
+
const builder = new SchemaBuilder();
|
|
118
|
+
fn(builder);
|
|
119
|
+
return builder.build();
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Validate schema
|
|
123
|
+
*/
|
|
124
|
+
export function validateSchema(schema) {
|
|
125
|
+
if (!schema.entities || Object.keys(schema.entities).length === 0) {
|
|
126
|
+
throw new Error('Schema must define at least one entity');
|
|
127
|
+
}
|
|
128
|
+
for (const [entityName, entity] of Object.entries(schema.entities)) {
|
|
129
|
+
// Check for primary key
|
|
130
|
+
const hasPrimaryKey = Object.values(entity.fields).some((f) => f.primary);
|
|
131
|
+
if (!hasPrimaryKey && entityName !== 'users' && entityName !== 'refresh_tokens') {
|
|
132
|
+
throw new Error(`Entity '${entityName}' must have a primary key field`);
|
|
133
|
+
}
|
|
134
|
+
// Validate field references
|
|
135
|
+
for (const [fieldName, field] of Object.entries(entity.fields)) {
|
|
136
|
+
if (field.reference) {
|
|
137
|
+
if (!schema.entities[field.reference] && field.reference !== 'users') {
|
|
138
|
+
throw new Error(`Field '${entityName}.${fieldName}' references unknown entity '${field.reference}'`);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=schema-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-builder.js","sourceRoot":"","sources":["../../../../src/builder/schema-builder.ts"],"names":[],"mappings":"AAAA,oDAAoD;AAUpD;;GAEG;AACH,MAAM,OAAO,YAAY;IAGvB,YAAY,IAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG;YACZ,IAAI;YACJ,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,KAAU;QAChB,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,SAAiB;QACzB,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,MAAM;IACpB,OAAO,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,OAAO;IACrB,OAAO,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,OAAO;IACrB,OAAO,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,MAAM;IACpB,OAAO,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,IAAI;IAClB,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,IAAI;IAClB,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,SAAiB;IACzC,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;IAC9C,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,aAAa;IAGxB;QACE,IAAI,CAAC,MAAM,GAAG;YACZ,MAAM,EAAE,EAAE;SACX,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAY,EAAE,OAAqB;QACvC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAC,KAAkB;QAC5B,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,MAAgB,EAAE,MAAM,GAAG,KAAK;QACpC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,aAAa;IAGxB;QACE,IAAI,CAAC,MAAM,GAAG;YACZ,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAY,EAAE,OAAyC;QAC5D,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAC1C,OAAO,CAAC,aAAa,CAAC,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,EAAoC;IAC/D,MAAM,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;IACpC,EAAE,CAAC,OAAO,CAAC,CAAC;IACZ,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAAsB;IACnD,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnE,wBAAwB;QACxB,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC1E,IAAI,CAAC,aAAa,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,gBAAgB,EAAE,CAAC;YAChF,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,iCAAiC,CAAC,CAAC;QAC1E,CAAC;QAED,4BAA4B;QAC5B,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;oBACrE,MAAM,IAAI,KAAK,CACb,UAAU,UAAU,IAAI,SAAS,gCAAgC,KAAK,CAAC,SAAS,GAAG,CACpF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,OAAO,EACL,YAAY,EACZ,MAAM,EACN,OAAO,EACP,OAAO,EACP,MAAM,EACN,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,SAAS,GACV,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,OAAO,EACL,YAAY,EACZ,MAAM,EACN,OAAO,EACP,OAAO,EACP,MAAM,EACN,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,SAAS,GACV,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
export type AdminRole = 'super_admin' | 'admin' | 'viewer';
|
|
2
|
+
export interface Admin {
|
|
3
|
+
id: string;
|
|
4
|
+
email: string;
|
|
5
|
+
role: AdminRole;
|
|
6
|
+
isActive: boolean;
|
|
7
|
+
createdAt: number;
|
|
8
|
+
updatedAt: number;
|
|
9
|
+
}
|
|
10
|
+
export interface AdminLoginRequest {
|
|
11
|
+
email: string;
|
|
12
|
+
password: string;
|
|
13
|
+
}
|
|
14
|
+
export interface AdminAuthResponse {
|
|
15
|
+
admin: Admin;
|
|
16
|
+
accessToken: string;
|
|
17
|
+
refreshToken: string;
|
|
18
|
+
expiresIn: number;
|
|
19
|
+
}
|
|
20
|
+
export interface PaginatedResponse<T> {
|
|
21
|
+
data: T[];
|
|
22
|
+
pagination: {
|
|
23
|
+
page: number;
|
|
24
|
+
pageSize: number;
|
|
25
|
+
total: number;
|
|
26
|
+
totalPages: number;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export type ActivityAction = 'create' | 'read' | 'update' | 'delete' | 'login' | 'logout';
|
|
30
|
+
export type ActivityEntityType = 'user' | 'admin' | 'system' | 'database';
|
|
31
|
+
export interface ActivityLogEntry {
|
|
32
|
+
id: string;
|
|
33
|
+
adminId: string;
|
|
34
|
+
adminEmail?: string;
|
|
35
|
+
action: ActivityAction;
|
|
36
|
+
entityType: ActivityEntityType;
|
|
37
|
+
entityId?: string;
|
|
38
|
+
details: Record<string, any>;
|
|
39
|
+
ipAddress: string;
|
|
40
|
+
createdAt: number;
|
|
41
|
+
}
|
|
42
|
+
export interface ActivityLogFilter {
|
|
43
|
+
adminId?: string;
|
|
44
|
+
entityType?: ActivityEntityType;
|
|
45
|
+
action?: ActivityAction;
|
|
46
|
+
dateFrom?: number;
|
|
47
|
+
dateTo?: number;
|
|
48
|
+
page?: number;
|
|
49
|
+
pageSize?: number;
|
|
50
|
+
}
|
|
51
|
+
export interface TableInfo {
|
|
52
|
+
name: string;
|
|
53
|
+
rowCount: number;
|
|
54
|
+
createdAt?: number;
|
|
55
|
+
}
|
|
56
|
+
export interface ColumnDefinition {
|
|
57
|
+
name: string;
|
|
58
|
+
type: string;
|
|
59
|
+
nullable: boolean;
|
|
60
|
+
primaryKey: boolean;
|
|
61
|
+
defaultValue?: any;
|
|
62
|
+
}
|
|
63
|
+
export interface TableSchema {
|
|
64
|
+
name: string;
|
|
65
|
+
columns: ColumnDefinition[];
|
|
66
|
+
primaryKey: string[];
|
|
67
|
+
createdAt?: number;
|
|
68
|
+
}
|
|
69
|
+
export interface TableDataResponse {
|
|
70
|
+
tableName: string;
|
|
71
|
+
data: Record<string, any>[];
|
|
72
|
+
columns: ColumnDefinition[];
|
|
73
|
+
pagination: {
|
|
74
|
+
page: number;
|
|
75
|
+
pageSize: number;
|
|
76
|
+
total: number;
|
|
77
|
+
totalPages: number;
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
export interface UserDetail extends Record<string, any> {
|
|
81
|
+
id: string;
|
|
82
|
+
email: string;
|
|
83
|
+
createdAt: number;
|
|
84
|
+
updatedAt: number;
|
|
85
|
+
}
|
|
86
|
+
export interface AdminCreateRequest {
|
|
87
|
+
email: string;
|
|
88
|
+
password: string;
|
|
89
|
+
role: AdminRole;
|
|
90
|
+
}
|
|
91
|
+
export interface AdminUpdateRequest {
|
|
92
|
+
email?: string;
|
|
93
|
+
role?: AdminRole;
|
|
94
|
+
isActive?: boolean;
|
|
95
|
+
}
|
|
96
|
+
export interface ErrorResponse {
|
|
97
|
+
code: string;
|
|
98
|
+
message: string;
|
|
99
|
+
details?: Record<string, any>;
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=admin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../../shared-types/src/admin.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,OAAO,GAAG,QAAQ,CAAC;AAG3D,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAGD,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAC1F,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE1E,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IAC5B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAGD,MAAM,WAAW,UAAW,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACrD,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAGD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../../../shared-types/src/admin.ts"],"names":[],"mappings":"AAAA,sBAAsB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface User {
|
|
2
|
+
id: string;
|
|
3
|
+
email: string;
|
|
4
|
+
createdAt: number;
|
|
5
|
+
updatedAt: number;
|
|
6
|
+
}
|
|
7
|
+
export interface AuthTokens {
|
|
8
|
+
accessToken: string;
|
|
9
|
+
refreshToken: string;
|
|
10
|
+
expiresIn: number;
|
|
11
|
+
}
|
|
12
|
+
export interface LoginRequest {
|
|
13
|
+
email: string;
|
|
14
|
+
password: string;
|
|
15
|
+
}
|
|
16
|
+
export interface RegisterRequest {
|
|
17
|
+
email: string;
|
|
18
|
+
password: string;
|
|
19
|
+
}
|
|
20
|
+
export interface RefreshTokenRequest {
|
|
21
|
+
refreshToken: string;
|
|
22
|
+
}
|
|
23
|
+
export interface AuthResponse {
|
|
24
|
+
user: User;
|
|
25
|
+
tokens: AuthTokens;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../shared-types/src/auth.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,UAAU,CAAC;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../shared-types/src/auth.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../shared-types/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../shared-types/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export type FieldTypeValue = 'string' | 'integer' | 'number' | 'boolean' | 'timestamp' | 'text' | 'json' | 'reference';
|
|
2
|
+
export interface FieldType {
|
|
3
|
+
type: FieldTypeValue;
|
|
4
|
+
required: boolean;
|
|
5
|
+
primary?: boolean;
|
|
6
|
+
reference?: string;
|
|
7
|
+
default?: string | number | boolean;
|
|
8
|
+
description?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface AccessRules {
|
|
11
|
+
create?: (user: any, data: any) => boolean;
|
|
12
|
+
read?: (user: any, data: any) => boolean;
|
|
13
|
+
update?: (user: any, existing: any, updates?: any) => boolean;
|
|
14
|
+
delete?: (user: any, data: any) => boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface EntitySchema {
|
|
17
|
+
fields: Record<string, FieldType>;
|
|
18
|
+
accessRules?: AccessRules;
|
|
19
|
+
indexes?: Array<{
|
|
20
|
+
fields: string[];
|
|
21
|
+
unique?: boolean;
|
|
22
|
+
}>;
|
|
23
|
+
}
|
|
24
|
+
export interface DatabaseSchema {
|
|
25
|
+
entities: Record<string, EntitySchema>;
|
|
26
|
+
}
|
|
27
|
+
export interface Migration {
|
|
28
|
+
version: number;
|
|
29
|
+
name: string;
|
|
30
|
+
up: string;
|
|
31
|
+
down?: string;
|
|
32
|
+
appliedAt?: number;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../shared-types/src/schema.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,cAAc,GACtB,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,SAAS,GACT,WAAW,GACX,MAAM,GACN,MAAM,GACN,WAAW,CAAC;AAEhB,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC;IAC3C,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC;IACzC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC;IAC9D,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC;CAC5C;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../shared-types/src/schema.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export interface SyncRequest {
|
|
2
|
+
lastSyncTimestamp: number | null;
|
|
3
|
+
changes: Array<{
|
|
4
|
+
entity: string;
|
|
5
|
+
operation: 'create' | 'update' | 'delete';
|
|
6
|
+
id: string;
|
|
7
|
+
data: Record<string, any>;
|
|
8
|
+
clientTimestamp: number;
|
|
9
|
+
version: number;
|
|
10
|
+
}>;
|
|
11
|
+
}
|
|
12
|
+
export interface SyncResponse {
|
|
13
|
+
serverTimestamp: number;
|
|
14
|
+
changes: Array<{
|
|
15
|
+
entity: string;
|
|
16
|
+
operation: 'create' | 'update' | 'delete';
|
|
17
|
+
id: string;
|
|
18
|
+
data: Record<string, any>;
|
|
19
|
+
serverTimestamp: number;
|
|
20
|
+
version: number;
|
|
21
|
+
}>;
|
|
22
|
+
conflicts: Array<{
|
|
23
|
+
entity: string;
|
|
24
|
+
id: string;
|
|
25
|
+
clientVersion: number;
|
|
26
|
+
serverVersion: number;
|
|
27
|
+
serverData: Record<string, any>;
|
|
28
|
+
}>;
|
|
29
|
+
errors: Array<{
|
|
30
|
+
entity: string;
|
|
31
|
+
id: string;
|
|
32
|
+
operation: string;
|
|
33
|
+
error: string;
|
|
34
|
+
code: 'ACCESS_DENIED' | 'VALIDATION_ERROR' | 'NOT_FOUND';
|
|
35
|
+
}>;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=sync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../../shared-types/src/sync.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,WAAW;IAC1B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,OAAO,EAAE,KAAK,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;QAC1C,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1B,eAAe,EAAE,MAAM,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,YAAY;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,KAAK,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;QAC1C,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1B,eAAe,EAAE,MAAM,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,SAAS,EAAE,KAAK,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACjC,CAAC,CAAC;IACH,MAAM,EAAE,KAAK,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,eAAe,GAAG,kBAAkB,GAAG,WAAW,CAAC;KAC1D,CAAC,CAAC;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../../shared-types/src/sync.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@edgebasejs/schema",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "EdgeBase schema definition DSL",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist"
|
|
10
|
+
],
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"zod": "^3.22.0",
|
|
13
|
+
"@edgebasejs/types": "0.1.0"
|
|
14
|
+
},
|
|
15
|
+
"publishConfig": {
|
|
16
|
+
"registry": "https://registry.npmjs.org/"
|
|
17
|
+
},
|
|
18
|
+
"devDependencies": {
|
|
19
|
+
"typescript": "^5.4.5",
|
|
20
|
+
"vitest": "^1.2.0"
|
|
21
|
+
},
|
|
22
|
+
"scripts": {
|
|
23
|
+
"build": "tsc && node ../../scripts/fix-esm-imports.mjs dist",
|
|
24
|
+
"type-check": "tsc --noEmit",
|
|
25
|
+
"test": "vitest"
|
|
26
|
+
}
|
|
27
|
+
}
|