clefbase 1.1.6 → 1.2.1
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/README.md +169 -103
- package/bin/clefbase.js +15 -0
- package/dist/app.d.ts +16 -32
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +29 -44
- package/dist/app.js.map +1 -1
- package/dist/auth/index.d.ts +16 -44
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +40 -95
- package/dist/auth/index.js.map +1 -1
- package/dist/cli-src/cli/api.js +183 -0
- package/dist/cli-src/cli/commands/deploy.js +285 -0
- package/dist/cli-src/cli/commands/info.js +67 -0
- package/dist/cli-src/cli/commands/init.js +226 -0
- package/dist/cli-src/cli/config.js +82 -0
- package/dist/cli-src/cli/index.js +110 -0
- package/dist/cli-src/types.js +17 -0
- package/dist/cli.js +34383 -0
- package/dist/db/index.d.ts +26 -62
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/index.js +34 -70
- package/dist/db/index.js.map +1 -1
- package/dist/hosting/index.d.ts +120 -0
- package/dist/hosting/index.d.ts.map +1 -0
- package/dist/hosting/index.js +214 -0
- package/dist/hosting/index.js.map +1 -0
- package/dist/http.d.ts +2 -4
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +8 -22
- package/dist/http.js.map +1 -1
- package/dist/index.d.ts +11 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -6
- package/dist/index.js.map +1 -1
- package/dist/storage/index.d.ts +8 -50
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +9 -59
- package/dist/storage/index.js.map +1 -1
- package/dist/types.d.ts +10 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -1
- package/dist/types.js.map +1 -1
- package/package.json +21 -5
package/dist/storage/index.js
CHANGED
|
@@ -50,27 +50,22 @@ class StorageReference {
|
|
|
50
50
|
this.filePath = filePath;
|
|
51
51
|
}
|
|
52
52
|
/**
|
|
53
|
-
* Upload a file
|
|
54
|
-
* Accepts a Buffer (Node.js) or File/Blob (browser).
|
|
53
|
+
* Upload a file. Accepts Buffer (Node) or File/Blob (browser).
|
|
55
54
|
*
|
|
56
55
|
* @example
|
|
57
56
|
* // Node.js
|
|
58
|
-
*
|
|
57
|
+
* await ref.upload(fs.readFileSync("photo.jpg"), { contentType: "image/jpeg" });
|
|
59
58
|
* // Browser
|
|
60
|
-
*
|
|
59
|
+
* await ref.upload(fileInput.files[0]);
|
|
61
60
|
*/
|
|
62
61
|
async upload(data, opts) {
|
|
63
62
|
return this.storage._upload(this.bucket, this.filePath, data, opts);
|
|
64
63
|
}
|
|
65
|
-
/**
|
|
66
|
-
* Returns the public download URL for this file.
|
|
67
|
-
* Uses GET /storage/path/:bucket/:filePath which takes the path as URL
|
|
68
|
-
* segments — slashes are never percent-encoded unlike query params.
|
|
69
|
-
*/
|
|
64
|
+
/** Returns the public download URL for this file. */
|
|
70
65
|
async getDownloadURL() {
|
|
71
66
|
return this.storage._directUrl(this.bucket, this.filePath);
|
|
72
67
|
}
|
|
73
|
-
/** Fetch metadata including downloadUrl
|
|
68
|
+
/** Fetch file metadata including downloadUrl. */
|
|
74
69
|
async getMetadata() {
|
|
75
70
|
return this.storage._resolve(this.bucket, this.filePath);
|
|
76
71
|
}
|
|
@@ -78,12 +73,7 @@ class StorageReference {
|
|
|
78
73
|
async delete() {
|
|
79
74
|
return this.storage._delete(this.bucket, this.filePath);
|
|
80
75
|
}
|
|
81
|
-
/**
|
|
82
|
-
* List files under this path prefix within the bucket.
|
|
83
|
-
*
|
|
84
|
-
* @example
|
|
85
|
-
* const files = await storage.ref("avatars/").list({ limit: 50 });
|
|
86
|
-
*/
|
|
76
|
+
/** List files under this path prefix. */
|
|
87
77
|
async list(opts) {
|
|
88
78
|
return this.storage._list(this.bucket, this.filePath, opts);
|
|
89
79
|
}
|
|
@@ -92,7 +82,6 @@ exports.StorageReference = StorageReference;
|
|
|
92
82
|
// ─── BucketReference ──────────────────────────────────────────────────────────
|
|
93
83
|
/**
|
|
94
84
|
* A scoped helper for a named bucket.
|
|
95
|
-
* Obtain via storage.bucket("bucket-name").
|
|
96
85
|
*
|
|
97
86
|
* @example
|
|
98
87
|
* const ref = storage.bucket("user-uploads").ref("doc.pdf");
|
|
@@ -108,17 +97,12 @@ class BucketReference {
|
|
|
108
97
|
}
|
|
109
98
|
exports.BucketReference = BucketReference;
|
|
110
99
|
// ─── ClefbaseStorage ──────────────────────────────────────────────────────────
|
|
111
|
-
// Named ClefbaseStorage (not "Storage") to avoid colliding with the browser DOM global.
|
|
112
100
|
/**
|
|
113
|
-
* File storage service. Obtain via getStorage(app)
|
|
101
|
+
* File storage service. Obtain via `getStorage(app)`.
|
|
114
102
|
*
|
|
115
103
|
* @example
|
|
116
104
|
* const storage = getStorage(app);
|
|
117
|
-
*
|
|
118
|
-
* // Resolve a stored path to a download URL (no auth required)
|
|
119
105
|
* const url = await storage.ref("products/image.jpg").getDownloadURL();
|
|
120
|
-
*
|
|
121
|
-
* // Upload (requires API key)
|
|
122
106
|
* await storage.bucket("media").ref("photo.jpg").upload(buffer, { contentType: "image/jpeg" });
|
|
123
107
|
*/
|
|
124
108
|
class ClefbaseStorage {
|
|
@@ -144,39 +128,16 @@ class ClefbaseStorage {
|
|
|
144
128
|
ref(filePath) {
|
|
145
129
|
return new StorageReference(this, this._defaultBucket, filePath.replace(/^\/+/, ""));
|
|
146
130
|
}
|
|
147
|
-
// ─── Internal methods called by StorageReference
|
|
148
|
-
/**
|
|
149
|
-
* Build a direct inline download URL using the /storage/path/ endpoint.
|
|
150
|
-
* Server route: GET /storage/path/:bucket/:filePath?projectId=&inline=true
|
|
151
|
-
*
|
|
152
|
-
* This avoids all query-param encoding issues — the path is in URL segments
|
|
153
|
-
* so slashes are never percent-encoded by the browser or fetch.
|
|
154
|
-
*/
|
|
131
|
+
// ─── Internal methods called by StorageReference ──────────────────────────
|
|
155
132
|
_directUrl(bucket, filePath) {
|
|
156
133
|
const cleanFile = filePath.replace(/^\/+/, "");
|
|
157
134
|
const base = this.http.getBaseUrl();
|
|
158
|
-
// The server's getFileByFullPath() treats the FIRST path segment as the bucket name.
|
|
159
|
-
// filePath is already "products/battleship.jpg" where "products" IS the bucket.
|
|
160
|
-
// So just pass filePath directly — do NOT prepend the SDK bucket name.
|
|
161
135
|
return `${base}/path/${cleanFile}?projectId=${encodeURIComponent(this.projectId)}&inline=true`;
|
|
162
136
|
}
|
|
163
|
-
/**
|
|
164
|
-
* Resolve a full path (bucketName/filePath) → metadata + downloadUrl.
|
|
165
|
-
* Server route: GET /storage/resolve?projectId=xxx&path=<fullPath>
|
|
166
|
-
* This is a PUBLIC endpoint — no API key needed.
|
|
167
|
-
*/
|
|
168
137
|
async _resolve(bucket, filePath) {
|
|
169
138
|
const cleanFile = filePath.replace(/^\/+/, "");
|
|
170
|
-
|
|
171
|
-
// Do NOT prepend bucket — pass filePath directly.
|
|
172
|
-
const url = `/resolve?projectId=${encodeURIComponent(this.projectId)}&path=${cleanFile}`;
|
|
173
|
-
return this.http.get(url);
|
|
139
|
+
return this.http.get(`/resolve?projectId=${encodeURIComponent(this.projectId)}&path=${cleanFile}`);
|
|
174
140
|
}
|
|
175
|
-
/**
|
|
176
|
-
* Upload a file.
|
|
177
|
-
* Server route: POST /storage/buckets/:bucketId/files (requires x-cfx-key)
|
|
178
|
-
* Sent as multipart/form-data with field "file", optional "folder", optional "metadata".
|
|
179
|
-
*/
|
|
180
141
|
async _upload(bucket, filePath, data, opts) {
|
|
181
142
|
let FormDataImpl;
|
|
182
143
|
if (typeof FormData !== "undefined") {
|
|
@@ -188,7 +149,6 @@ class ClefbaseStorage {
|
|
|
188
149
|
}
|
|
189
150
|
const form = new FormDataImpl();
|
|
190
151
|
const filename = filePath.split("/").pop() ?? "upload";
|
|
191
|
-
// Extract folder from path: "products/shoes/img.jpg" → folder="products/shoes"
|
|
192
152
|
const parts = filePath.split("/");
|
|
193
153
|
const folder = parts.length > 1 ? parts.slice(0, -1).join("/") : undefined;
|
|
194
154
|
if (typeof Buffer !== "undefined" && Buffer.isBuffer(data)) {
|
|
@@ -208,20 +168,10 @@ class ClefbaseStorage {
|
|
|
208
168
|
headers: this.authHeaders(),
|
|
209
169
|
});
|
|
210
170
|
}
|
|
211
|
-
/**
|
|
212
|
-
* Delete a file.
|
|
213
|
-
* Resolves the path to a fileId via _resolve, then calls:
|
|
214
|
-
* DELETE /storage/buckets/:bucketId/files/:fileId (requires x-cfx-key)
|
|
215
|
-
*/
|
|
216
171
|
async _delete(bucket, filePath) {
|
|
217
172
|
const meta = await this._resolve(bucket, filePath);
|
|
218
173
|
await this.http.delete(`/buckets/${bucket}/files/${meta.id}`, this.authHeaders());
|
|
219
174
|
}
|
|
220
|
-
/**
|
|
221
|
-
* List files in a bucket, optionally filtered by folder prefix.
|
|
222
|
-
* Server route: GET /storage/buckets/:bucketId/files?projectId=&folder=&limit=&offset=
|
|
223
|
-
* This is a PUBLIC endpoint.
|
|
224
|
-
*/
|
|
225
175
|
async _list(bucket, prefix, opts) {
|
|
226
176
|
const qs = new URLSearchParams({ projectId: this.projectId });
|
|
227
177
|
if (prefix)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,iFAAiF;AAEjF;;;;;;;GAOG;AACH,MAAa,gBAAgB;IAC3B,YACmB,OAAwB,EACzB,MAAc,EACd,QAAgB;QAFf,YAAO,GAAP,OAAO,CAAiB;QACzB,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAQ;IAC/B,CAAC;IAEJ;;;;;;;;OAQG;IACH,KAAK,CAAC,MAAM,CACV,IAA0B,EAC1B,IAAmE;QAEnE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;IAED,qDAAqD;IACrD,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED,iDAAiD;IACjD,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED,wBAAwB;IACxB,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED,yCAAyC;IACzC,KAAK,CAAC,IAAI,CAAC,IAA0C;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9D,CAAC;CACF;AA1CD,4CA0CC;AAED,iFAAiF;AAEjF;;;;;GAKG;AACH,MAAa,eAAe;IAC1B,YACmB,OAAwB,EACzB,IAAY;QADX,YAAO,GAAP,OAAO,CAAiB;QACzB,SAAI,GAAJ,IAAI,CAAQ;IAC3B,CAAC;IAEJ,GAAG,CAAC,QAAgB;QAClB,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;IACrF,CAAC;CACF;AATD,0CASC;AAED,iFAAiF;AAEjF;;;;;;;GAOG;AACH,MAAa,eAAe;IAG1B,YACmB,IAAgB,EAChB,SAAiB,EACjB,OAAoB,IAAI;QAFxB,SAAI,GAAJ,IAAI,CAAY;QAChB,cAAS,GAAT,SAAS,CAAQ;QACjB,SAAI,GAAJ,IAAI,CAAoB;QALnC,mBAAc,GAAG,SAAS,CAAC;IAMhC,CAAC;IAEI,WAAW;QACjB,OAAO,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;IAC3C,CAAC;IAED,6DAA6D;IAC7D,gBAAgB,CAAC,IAAY;QAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mDAAmD;IACnD,MAAM,CAAC,IAAY;QACjB,OAAO,IAAI,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,uDAAuD;IACvD,GAAG,CAAC,QAAgB;QAClB,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,6EAA6E;IAE7E,UAAU,CAAC,MAAc,EAAE,QAAgB;QACzC,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACpC,OAAO,GAAG,IAAI,SAAS,SAAS,cAAc,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;IACjG,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,QAAgB;QAC7C,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,sBAAsB,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,SAAS,EAAE,CAC7E,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CACX,MAAc,EACd,QAAgB,EAChB,IAA0B,EAC1B,IAAmE;QAEnE,IAAI,YAAgC,CAAC;QACrC,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;YACpC,YAAY,GAAG,QAAQ,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,wDAAa,WAAW,GAAC,CAAC;YACtC,YAAY,GAAG,GAAG,CAAC,OAAwC,CAAC;QAC9D,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC;QACvD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE3E,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1D,IAAI,CAAC,MAAuD,CAC3D,MAAM,EAAE,IAAI,EACZ,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,IAAI,0BAA0B,EAAE,CAC3E,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAY,EAAE,QAAQ,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,MAAM;YAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC1C,IAAI,IAAI,EAAE,QAAQ;YAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE3E,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAc,YAAY,MAAM,QAAQ,EAAE;YAChE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,QAAgB;QAC5C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,MAAM,UAAU,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,KAAK,CACT,MAAc,EACd,MAAc,EACd,IAA0C;QAE1C,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC9D,IAAI,MAAM;YAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACrC,IAAI,IAAI,EAAE,KAAK,KAAK,SAAS;YAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACnE,IAAI,IAAI,EAAE,MAAM,KAAK,SAAS;YAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAEtE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAa,YAAY,MAAM,UAAU,EAAE,EAAE,CAAC,CAAC;QACjF,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,MAAkC,CAAC,IAAI,CAAC;IACnF,CAAC;CACF;AArGD,0CAqGC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
export interface ClefbaseConfig {
|
|
2
|
-
/** Base URL of your Clefbase server
|
|
2
|
+
/** Base URL of your Clefbase server. Defaults to https://api.cleforyx.com */
|
|
3
3
|
serverUrl: string;
|
|
4
|
-
/** Project
|
|
4
|
+
/** Project / database ID from your Clefbase dashboard */
|
|
5
5
|
projectId: string;
|
|
6
|
-
/** API key generated for this project */
|
|
6
|
+
/** API key (x-cfx-key) generated for this project */
|
|
7
7
|
apiKey: string;
|
|
8
|
+
/**
|
|
9
|
+
* Admin secret (x-admin-secret).
|
|
10
|
+
* Required for hosting deploys and admin-only operations.
|
|
11
|
+
* Optional — leave empty if you don't use hosting.
|
|
12
|
+
*/
|
|
13
|
+
adminSecret: string;
|
|
8
14
|
}
|
|
9
15
|
export interface ClefbaseDocument {
|
|
10
16
|
_id: string;
|
|
@@ -65,7 +71,7 @@ export interface AuthSession {
|
|
|
65
71
|
export interface AuthResult {
|
|
66
72
|
user: AuthUser;
|
|
67
73
|
session: AuthSession;
|
|
68
|
-
/** Shorthand for session.token
|
|
74
|
+
/** Shorthand for session.token */
|
|
69
75
|
token: string;
|
|
70
76
|
}
|
|
71
77
|
export declare class ClefbaseError extends Error {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAID,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,gBAAgB;IAC/C,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,CAAC;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,+DAA+D;AAC/D,MAAM,MAAM,cAAc,GACtB;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GACf;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GACf;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,GAAG,EAAE,OAAO,CAAA;CAAE,GAChB;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1B,2EAA2E;AAC3E,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,cAAc,CAAC;AAE3E,8DAA8D;AAC9D,MAAM,WAAW,WAAW;IAC1B,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC;CAC7B;AAID,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,WAAW,CAAC;IACrB,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;CACf;AAID,qBAAa,aAAc,SAAQ,KAAK;aAGpB,IAAI,CAAC,EAAE,MAAM;aACb,MAAM,CAAC,EAAE,MAAM;gBAF/B,OAAO,EAAE,MAAM,EACC,IAAI,CAAC,EAAE,MAAM,YAAA,EACb,MAAM,CAAC,EAAE,MAAM,YAAA;CAQlC"}
|
package/dist/types.js
CHANGED
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,iFAAiF;;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,iFAAiF;;;AAmFjF,iFAAiF;AAEjF,MAAa,aAAc,SAAQ,KAAK;IACtC,YACE,OAAe,EACC,IAAa,EACb,MAAe;QAE/B,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAAS;QACb,WAAM,GAAN,MAAM,CAAS;QAG/B,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;CACF;AAZD,sCAYC"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "clefbase",
|
|
3
|
-
"version": "1.1
|
|
4
|
-
"description": "Firebase-style SDK for Clefbase — database, auth,
|
|
3
|
+
"version": "1.2.1",
|
|
4
|
+
"description": "Firebase-style SDK and CLI for Clefbase — database, auth, storage, and hosting",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
|
+
"bin": {
|
|
8
|
+
"clefbase": "./bin/clefbase.js"
|
|
9
|
+
},
|
|
7
10
|
"exports": {
|
|
8
11
|
".": {
|
|
9
12
|
"require": "./dist/index.js",
|
|
@@ -13,33 +16,46 @@
|
|
|
13
16
|
},
|
|
14
17
|
"files": [
|
|
15
18
|
"dist",
|
|
19
|
+
"bin",
|
|
16
20
|
"README.md"
|
|
17
21
|
],
|
|
18
22
|
"engines": {
|
|
19
23
|
"node": ">=16.0.0"
|
|
20
24
|
},
|
|
21
25
|
"scripts": {
|
|
22
|
-
"build": "
|
|
26
|
+
"build": "npm run build:sdk && npm run build:cli",
|
|
27
|
+
"build:sdk": "tsc -p tsconfig.json",
|
|
28
|
+
"build:cli": "tsc -p tsconfig.cli.json && node scripts/bundle-cli.js",
|
|
23
29
|
"dev": "tsc --watch",
|
|
24
30
|
"typecheck": "tsc --noEmit",
|
|
25
31
|
"prepublishOnly": "npm run build"
|
|
26
32
|
},
|
|
27
33
|
"keywords": [
|
|
28
34
|
"clefbase",
|
|
35
|
+
"cleforyx",
|
|
29
36
|
"database",
|
|
30
37
|
"auth",
|
|
31
38
|
"storage",
|
|
32
|
-
"
|
|
39
|
+
"hosting",
|
|
40
|
+
"firebase-alternative",
|
|
41
|
+
"cli"
|
|
33
42
|
],
|
|
34
43
|
"author": "",
|
|
35
44
|
"license": "MIT",
|
|
36
45
|
"dependencies": {
|
|
37
|
-
"clefbase": "^1.0.0",
|
|
38
46
|
"form-data": "^4.0.0",
|
|
39
47
|
"node-fetch": "^3.3.2"
|
|
40
48
|
},
|
|
41
49
|
"devDependencies": {
|
|
50
|
+
"@types/inquirer": "^9.0.9",
|
|
42
51
|
"@types/node": "^20.0.0",
|
|
52
|
+
"esbuild": "^0.21.0",
|
|
43
53
|
"typescript": "^5.0.0"
|
|
54
|
+
},
|
|
55
|
+
"optionalDependencies": {
|
|
56
|
+
"chalk": "^5.3.0",
|
|
57
|
+
"commander": "^12.1.0",
|
|
58
|
+
"inquirer": "^9.2.23",
|
|
59
|
+
"ora": "^8.0.1"
|
|
44
60
|
}
|
|
45
61
|
}
|