@tinybirdco/sdk 0.0.77 → 0.0.79
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 +27 -2
- package/dist/api/branches.d.ts +4 -3
- package/dist/api/branches.d.ts.map +1 -1
- package/dist/api/branches.js +4 -4
- package/dist/api/branches.js.map +1 -1
- package/dist/api/branches.test.js +34 -1
- package/dist/api/branches.test.js.map +1 -1
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/build.js +7 -1
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/build.test.js +159 -0
- package/dist/cli/commands/build.test.js.map +1 -1
- package/dist/cli/commands/clear.d.ts.map +1 -1
- package/dist/cli/commands/clear.js +4 -1
- package/dist/cli/commands/clear.js.map +1 -1
- package/dist/cli/commands/deploy.test.js +1 -0
- package/dist/cli/commands/deploy.test.js.map +1 -1
- package/dist/cli/commands/dev.d.ts.map +1 -1
- package/dist/cli/commands/dev.js +7 -1
- package/dist/cli/commands/dev.js.map +1 -1
- package/dist/cli/commands/generate.test.js +3 -0
- package/dist/cli/commands/generate.test.js.map +1 -1
- package/dist/cli/commands/migrate.d.ts.map +1 -1
- package/dist/cli/commands/migrate.js +14 -1
- package/dist/cli/commands/migrate.js.map +1 -1
- package/dist/cli/commands/migrate.test.js +60 -0
- package/dist/cli/commands/migrate.test.js.map +1 -1
- package/dist/cli/commands/preview.d.ts.map +1 -1
- package/dist/cli/commands/preview.js +4 -1
- package/dist/cli/commands/preview.js.map +1 -1
- package/dist/cli/commands/preview.test.js +116 -2
- package/dist/cli/commands/preview.test.js.map +1 -1
- package/dist/cli/config-types.d.ts +4 -0
- package/dist/cli/config-types.d.ts.map +1 -1
- package/dist/cli/config-types.js +1 -1
- package/dist/cli/config-types.js.map +1 -1
- package/dist/cli/config.d.ts +4 -2
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +27 -0
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/config.test.js +79 -0
- package/dist/cli/config.test.js.map +1 -1
- package/dist/cli/index.js +2 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/client/base.d.ts.map +1 -1
- package/dist/client/base.js +4 -1
- package/dist/client/base.js.map +1 -1
- package/dist/client/base.test.js +2 -1
- package/dist/client/base.test.js.map +1 -1
- package/dist/generator/connection.d.ts.map +1 -1
- package/dist/generator/connection.js +15 -1
- package/dist/generator/connection.js.map +1 -1
- package/dist/generator/connection.test.js +10 -1
- package/dist/generator/connection.test.js.map +1 -1
- package/dist/generator/datasource.d.ts.map +1 -1
- package/dist/generator/datasource.js +17 -1
- package/dist/generator/datasource.js.map +1 -1
- package/dist/generator/datasource.test.js +44 -1
- package/dist/generator/datasource.test.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/migrate/emit-ts.d.ts.map +1 -1
- package/dist/migrate/emit-ts.js +28 -0
- package/dist/migrate/emit-ts.js.map +1 -1
- package/dist/migrate/parse-connection.d.ts +2 -2
- package/dist/migrate/parse-connection.d.ts.map +1 -1
- package/dist/migrate/parse-connection.js +60 -6
- package/dist/migrate/parse-connection.js.map +1 -1
- package/dist/migrate/parse-connection.test.js +18 -0
- package/dist/migrate/parse-connection.test.js.map +1 -1
- package/dist/migrate/parse-datasource.d.ts.map +1 -1
- package/dist/migrate/parse-datasource.js +27 -2
- package/dist/migrate/parse-datasource.js.map +1 -1
- package/dist/migrate/types.d.ts +15 -1
- package/dist/migrate/types.d.ts.map +1 -1
- package/dist/schema/connection.d.ts +46 -1
- package/dist/schema/connection.d.ts.map +1 -1
- package/dist/schema/connection.js +39 -0
- package/dist/schema/connection.js.map +1 -1
- package/dist/schema/connection.test.js +46 -1
- package/dist/schema/connection.test.js.map +1 -1
- package/dist/schema/datasource.d.ts +14 -1
- package/dist/schema/datasource.d.ts.map +1 -1
- package/dist/schema/datasource.js +2 -2
- package/dist/schema/datasource.js.map +1 -1
- package/dist/schema/datasource.test.js +2 -2
- package/dist/schema/datasource.test.js.map +1 -1
- package/package.json +1 -1
- package/src/api/branches.test.ts +38 -1
- package/src/api/branches.ts +8 -6
- package/src/cli/commands/build.test.ts +176 -0
- package/src/cli/commands/build.ts +9 -2
- package/src/cli/commands/clear.ts +8 -1
- package/src/cli/commands/deploy.test.ts +1 -0
- package/src/cli/commands/dev.ts +9 -1
- package/src/cli/commands/generate.test.ts +3 -0
- package/src/cli/commands/migrate.test.ts +95 -0
- package/src/cli/commands/migrate.ts +17 -1
- package/src/cli/commands/preview.test.ts +133 -2
- package/src/cli/commands/preview.ts +6 -2
- package/src/cli/config-types.ts +4 -0
- package/src/cli/config.test.ts +123 -0
- package/src/cli/config.ts +41 -3
- package/src/cli/index.ts +8 -2
- package/src/client/base.test.ts +3 -1
- package/src/client/base.ts +7 -1
- package/src/generator/connection.test.ts +17 -0
- package/src/generator/connection.ts +18 -0
- package/src/generator/datasource.test.ts +54 -1
- package/src/generator/datasource.ts +24 -1
- package/src/index.ts +6 -1
- package/src/migrate/emit-ts.ts +44 -3
- package/src/migrate/parse-connection.test.ts +41 -0
- package/src/migrate/parse-connection.ts +86 -7
- package/src/migrate/parse-datasource.ts +35 -2
- package/src/migrate/types.ts +18 -1
- package/src/schema/connection.test.ts +65 -0
- package/src/schema/connection.ts +76 -1
- package/src/schema/datasource.test.ts +2 -2
- package/src/schema/datasource.ts +21 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datasource.test.js","sourceRoot":"","sources":["../../src/schema/datasource.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"datasource.test.js","sourceRoot":"","sources":["../../src/schema/datasource.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/api/branches.test.ts
CHANGED
|
@@ -189,6 +189,40 @@ describe("Branch API client", () => {
|
|
|
189
189
|
);
|
|
190
190
|
});
|
|
191
191
|
|
|
192
|
+
it("uses data=last_partition wire format when branch_data_mode is set", async () => {
|
|
193
|
+
const mockBranch = {
|
|
194
|
+
id: "branch-123",
|
|
195
|
+
name: "my-feature",
|
|
196
|
+
token: "p.branch-token",
|
|
197
|
+
created_at: "2024-01-01T00:00:00Z",
|
|
198
|
+
};
|
|
199
|
+
|
|
200
|
+
mockFetch.mockResolvedValueOnce({
|
|
201
|
+
ok: true,
|
|
202
|
+
json: () => Promise.resolve({
|
|
203
|
+
job: { id: "job-123", status: "waiting" },
|
|
204
|
+
workspace: { id: "ws-123" },
|
|
205
|
+
}),
|
|
206
|
+
});
|
|
207
|
+
mockFetch.mockResolvedValueOnce({
|
|
208
|
+
ok: true,
|
|
209
|
+
json: () => Promise.resolve({ id: "job-123", status: "done" }),
|
|
210
|
+
});
|
|
211
|
+
mockFetch.mockResolvedValueOnce({
|
|
212
|
+
ok: true,
|
|
213
|
+
json: () => Promise.resolve(mockBranch),
|
|
214
|
+
});
|
|
215
|
+
|
|
216
|
+
await createBranch(config, "my-feature", {
|
|
217
|
+
branch_data_mode: "last_partition",
|
|
218
|
+
});
|
|
219
|
+
|
|
220
|
+
const [createUrl] = mockFetch.mock.calls[0];
|
|
221
|
+
const createParsed = expectFromParam(createUrl);
|
|
222
|
+
expect(createParsed.searchParams.get("name")).toBe("my-feature");
|
|
223
|
+
expect(createParsed.searchParams.get("data")).toBe("last_partition");
|
|
224
|
+
});
|
|
225
|
+
|
|
192
226
|
it("uses custom fetch when provided", async () => {
|
|
193
227
|
const customFetch = vi
|
|
194
228
|
.fn()
|
|
@@ -494,7 +528,9 @@ describe("Branch API client", () => {
|
|
|
494
528
|
json: () => Promise.resolve(newBranch),
|
|
495
529
|
});
|
|
496
530
|
|
|
497
|
-
const result = await clearBranch(config, "my-feature"
|
|
531
|
+
const result = await clearBranch(config, "my-feature", {
|
|
532
|
+
branch_data_mode: "last_partition",
|
|
533
|
+
});
|
|
498
534
|
|
|
499
535
|
expect(mockFetch).toHaveBeenCalledTimes(5);
|
|
500
536
|
|
|
@@ -515,6 +551,7 @@ describe("Branch API client", () => {
|
|
|
515
551
|
const createParsed = expectFromParam(createUrl);
|
|
516
552
|
expect(createParsed.pathname).toBe("/v1/environments");
|
|
517
553
|
expect(createParsed.searchParams.get("name")).toBe("my-feature");
|
|
554
|
+
expect(createParsed.searchParams.get("data")).toBe("last_partition");
|
|
518
555
|
expect(createInit.method).toBe("POST");
|
|
519
556
|
|
|
520
557
|
expect(result).toEqual(newBranch);
|
package/src/api/branches.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Uses the /v1/environments endpoints (Forward API)
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
import type { BranchDataMode } from "../cli/config-types.js";
|
|
6
7
|
import { createTinybirdFetcher } from "./fetcher.js";
|
|
7
8
|
|
|
8
9
|
/**
|
|
@@ -152,8 +153,8 @@ async function pollJob(
|
|
|
152
153
|
* @returns The created branch with token
|
|
153
154
|
*/
|
|
154
155
|
export interface CreateBranchOptions {
|
|
155
|
-
/**
|
|
156
|
-
|
|
156
|
+
/** Data mode applied when creating the branch */
|
|
157
|
+
branch_data_mode?: BranchDataMode;
|
|
157
158
|
}
|
|
158
159
|
|
|
159
160
|
export async function createBranch(
|
|
@@ -164,8 +165,8 @@ export async function createBranch(
|
|
|
164
165
|
const fetchFn = getFetch(config);
|
|
165
166
|
const url = new URL("/v1/environments", config.baseUrl);
|
|
166
167
|
url.searchParams.set("name", name);
|
|
167
|
-
if (options?.
|
|
168
|
-
url.searchParams.set("
|
|
168
|
+
if (options?.branch_data_mode) {
|
|
169
|
+
url.searchParams.set("data", options.branch_data_mode);
|
|
169
170
|
}
|
|
170
171
|
|
|
171
172
|
const debug = !!process.env.TINYBIRD_DEBUG;
|
|
@@ -377,13 +378,14 @@ export async function getOrCreateBranch(
|
|
|
377
378
|
*/
|
|
378
379
|
export async function clearBranch(
|
|
379
380
|
config: BranchApiConfig,
|
|
380
|
-
name: string
|
|
381
|
+
name: string,
|
|
382
|
+
options?: CreateBranchOptions
|
|
381
383
|
): Promise<TinybirdBranch> {
|
|
382
384
|
// Delete the branch
|
|
383
385
|
await deleteBranch(config, name);
|
|
384
386
|
|
|
385
387
|
// Recreate the branch
|
|
386
|
-
const branch = await createBranch(config, name);
|
|
388
|
+
const branch = await createBranch(config, name, options);
|
|
387
389
|
|
|
388
390
|
return branch;
|
|
389
391
|
}
|
|
@@ -64,6 +64,7 @@ describe("Build Command", () => {
|
|
|
64
64
|
gitBranch: "feature-test",
|
|
65
65
|
tinybirdBranch: "feature_test",
|
|
66
66
|
isMainBranch: false,
|
|
67
|
+
branchDataMode: null,
|
|
67
68
|
});
|
|
68
69
|
|
|
69
70
|
vi.mocked(buildFromInclude).mockResolvedValue({
|
|
@@ -156,6 +157,7 @@ describe("Build Command", () => {
|
|
|
156
157
|
gitBranch: "feature-test",
|
|
157
158
|
tinybirdBranch: "feature_test",
|
|
158
159
|
isMainBranch: false,
|
|
160
|
+
branchDataMode: null,
|
|
159
161
|
});
|
|
160
162
|
|
|
161
163
|
vi.mocked(buildFromInclude).mockResolvedValue({
|
|
@@ -242,6 +244,7 @@ describe("Build Command", () => {
|
|
|
242
244
|
gitBranch: "feature-test",
|
|
243
245
|
tinybirdBranch: "feature_test",
|
|
244
246
|
isMainBranch: false,
|
|
247
|
+
branchDataMode: null,
|
|
245
248
|
});
|
|
246
249
|
|
|
247
250
|
vi.mocked(buildFromInclude).mockResolvedValue({
|
|
@@ -307,4 +310,177 @@ describe("Build Command", () => {
|
|
|
307
310
|
expect(getLocalTokens).toHaveBeenCalled();
|
|
308
311
|
});
|
|
309
312
|
});
|
|
313
|
+
|
|
314
|
+
describe("branch_data_mode wiring", () => {
|
|
315
|
+
it("uses config-only last_partition when flag is absent", async () => {
|
|
316
|
+
const { loadConfigAsync } = await import("../config.js");
|
|
317
|
+
const { buildFromInclude } = await import("../../generator/index.js");
|
|
318
|
+
const { getOrCreateBranch } = await import("../../api/branches.js");
|
|
319
|
+
const { buildToTinybird } = await import("../../api/build.js");
|
|
320
|
+
const { getWorkspace } = await import("../../api/workspaces.js");
|
|
321
|
+
const { getBranchDashboardUrl } = await import("../../api/dashboard.js");
|
|
322
|
+
|
|
323
|
+
vi.mocked(loadConfigAsync).mockResolvedValue({
|
|
324
|
+
include: ["test.ts"],
|
|
325
|
+
token: "p.test-token",
|
|
326
|
+
baseUrl: "https://api.tinybird.co",
|
|
327
|
+
configPath: "/test/tinybird.config.json",
|
|
328
|
+
devMode: "branch",
|
|
329
|
+
cwd: "/test",
|
|
330
|
+
gitBranch: "feature-test",
|
|
331
|
+
tinybirdBranch: "feature_test",
|
|
332
|
+
isMainBranch: false,
|
|
333
|
+
branchDataMode: "last_partition",
|
|
334
|
+
});
|
|
335
|
+
vi.mocked(buildFromInclude).mockResolvedValue({
|
|
336
|
+
resources: { datasources: [], pipes: [], connections: [] },
|
|
337
|
+
entities: { datasources: {}, pipes: {}, connections: {}, rawDatasources: [], rawPipes: [], sourceFiles: [] },
|
|
338
|
+
stats: { datasourceCount: 0, pipeCount: 0, connectionCount: 0 },
|
|
339
|
+
});
|
|
340
|
+
vi.mocked(getOrCreateBranch).mockResolvedValue({
|
|
341
|
+
id: "branch-id",
|
|
342
|
+
name: "feature_test",
|
|
343
|
+
token: "branch-token",
|
|
344
|
+
wasCreated: false,
|
|
345
|
+
created_at: "2024-01-01",
|
|
346
|
+
});
|
|
347
|
+
vi.mocked(getWorkspace).mockResolvedValue({
|
|
348
|
+
id: "ws-id",
|
|
349
|
+
name: "test-workspace",
|
|
350
|
+
user_id: "user-id",
|
|
351
|
+
user_email: "user@test.com",
|
|
352
|
+
scope: "USER",
|
|
353
|
+
main: null,
|
|
354
|
+
});
|
|
355
|
+
vi.mocked(getBranchDashboardUrl).mockReturnValue("https://app.tinybird.co/dashboard");
|
|
356
|
+
vi.mocked(buildToTinybird).mockResolvedValue({
|
|
357
|
+
success: true,
|
|
358
|
+
result: "success",
|
|
359
|
+
datasourceCount: 0,
|
|
360
|
+
pipeCount: 0,
|
|
361
|
+
connectionCount: 0,
|
|
362
|
+
});
|
|
363
|
+
|
|
364
|
+
await runBuild();
|
|
365
|
+
expect(getOrCreateBranch).toHaveBeenCalledWith(
|
|
366
|
+
expect.any(Object),
|
|
367
|
+
"feature_test",
|
|
368
|
+
{ branch_data_mode: "last_partition" }
|
|
369
|
+
);
|
|
370
|
+
});
|
|
371
|
+
|
|
372
|
+
it("keeps CLI --last-partition precedence over config", async () => {
|
|
373
|
+
const { loadConfigAsync } = await import("../config.js");
|
|
374
|
+
const { buildFromInclude } = await import("../../generator/index.js");
|
|
375
|
+
const { getOrCreateBranch } = await import("../../api/branches.js");
|
|
376
|
+
const { buildToTinybird } = await import("../../api/build.js");
|
|
377
|
+
const { getWorkspace } = await import("../../api/workspaces.js");
|
|
378
|
+
const { getBranchDashboardUrl } = await import("../../api/dashboard.js");
|
|
379
|
+
|
|
380
|
+
vi.mocked(loadConfigAsync).mockResolvedValue({
|
|
381
|
+
include: ["test.ts"],
|
|
382
|
+
token: "p.test-token",
|
|
383
|
+
baseUrl: "https://api.tinybird.co",
|
|
384
|
+
configPath: "/test/tinybird.config.json",
|
|
385
|
+
devMode: "branch",
|
|
386
|
+
cwd: "/test",
|
|
387
|
+
gitBranch: "feature-test",
|
|
388
|
+
tinybirdBranch: "feature_test",
|
|
389
|
+
isMainBranch: false,
|
|
390
|
+
branchDataMode: null,
|
|
391
|
+
});
|
|
392
|
+
vi.mocked(buildFromInclude).mockResolvedValue({
|
|
393
|
+
resources: { datasources: [], pipes: [], connections: [] },
|
|
394
|
+
entities: { datasources: {}, pipes: {}, connections: {}, rawDatasources: [], rawPipes: [], sourceFiles: [] },
|
|
395
|
+
stats: { datasourceCount: 0, pipeCount: 0, connectionCount: 0 },
|
|
396
|
+
});
|
|
397
|
+
vi.mocked(getOrCreateBranch).mockResolvedValue({
|
|
398
|
+
id: "branch-id",
|
|
399
|
+
name: "feature_test",
|
|
400
|
+
token: "branch-token",
|
|
401
|
+
wasCreated: false,
|
|
402
|
+
created_at: "2024-01-01",
|
|
403
|
+
});
|
|
404
|
+
vi.mocked(getWorkspace).mockResolvedValue({
|
|
405
|
+
id: "ws-id",
|
|
406
|
+
name: "test-workspace",
|
|
407
|
+
user_id: "user-id",
|
|
408
|
+
user_email: "user@test.com",
|
|
409
|
+
scope: "USER",
|
|
410
|
+
main: null,
|
|
411
|
+
});
|
|
412
|
+
vi.mocked(getBranchDashboardUrl).mockReturnValue("https://app.tinybird.co/dashboard");
|
|
413
|
+
vi.mocked(buildToTinybird).mockResolvedValue({
|
|
414
|
+
success: true,
|
|
415
|
+
result: "success",
|
|
416
|
+
datasourceCount: 0,
|
|
417
|
+
pipeCount: 0,
|
|
418
|
+
connectionCount: 0,
|
|
419
|
+
});
|
|
420
|
+
|
|
421
|
+
await runBuild({ lastPartition: true });
|
|
422
|
+
expect(getOrCreateBranch).toHaveBeenCalledWith(
|
|
423
|
+
expect.any(Object),
|
|
424
|
+
"feature_test",
|
|
425
|
+
{ branch_data_mode: "last_partition" }
|
|
426
|
+
);
|
|
427
|
+
});
|
|
428
|
+
|
|
429
|
+
it("ignores config branch_data_mode in local mode", async () => {
|
|
430
|
+
const { loadConfigAsync } = await import("../config.js");
|
|
431
|
+
const { buildFromInclude } = await import("../../generator/index.js");
|
|
432
|
+
const { getOrCreateBranch } = await import("../../api/branches.js");
|
|
433
|
+
const { getLocalTokens, getOrCreateLocalWorkspace, getLocalWorkspaceName } = await import("../../api/local.js");
|
|
434
|
+
const { buildToTinybird } = await import("../../api/build.js");
|
|
435
|
+
const { getWorkspace } = await import("../../api/workspaces.js");
|
|
436
|
+
const { getLocalDashboardUrl } = await import("../../api/dashboard.js");
|
|
437
|
+
|
|
438
|
+
vi.mocked(loadConfigAsync).mockResolvedValue({
|
|
439
|
+
include: ["test.ts"],
|
|
440
|
+
token: "p.test-token",
|
|
441
|
+
baseUrl: "https://api.tinybird.co",
|
|
442
|
+
configPath: "/test/tinybird.config.json",
|
|
443
|
+
devMode: "local",
|
|
444
|
+
cwd: "/test",
|
|
445
|
+
gitBranch: "feature-test",
|
|
446
|
+
tinybirdBranch: "feature_test",
|
|
447
|
+
isMainBranch: false,
|
|
448
|
+
branchDataMode: "last_partition",
|
|
449
|
+
});
|
|
450
|
+
vi.mocked(buildFromInclude).mockResolvedValue({
|
|
451
|
+
resources: { datasources: [], pipes: [], connections: [] },
|
|
452
|
+
entities: { datasources: {}, pipes: {}, connections: {}, rawDatasources: [], rawPipes: [], sourceFiles: [] },
|
|
453
|
+
stats: { datasourceCount: 0, pipeCount: 0, connectionCount: 0 },
|
|
454
|
+
});
|
|
455
|
+
vi.mocked(getLocalTokens).mockResolvedValue({
|
|
456
|
+
admin_token: "admin-token",
|
|
457
|
+
user_token: "user-token",
|
|
458
|
+
workspace_admin_token: "workspace-admin-token",
|
|
459
|
+
});
|
|
460
|
+
vi.mocked(getWorkspace).mockResolvedValue({
|
|
461
|
+
id: "ws-id",
|
|
462
|
+
name: "test-workspace",
|
|
463
|
+
user_id: "user-id",
|
|
464
|
+
user_email: "user@test.com",
|
|
465
|
+
scope: "USER",
|
|
466
|
+
main: null,
|
|
467
|
+
});
|
|
468
|
+
vi.mocked(getLocalWorkspaceName).mockReturnValue("feature_test_workspace");
|
|
469
|
+
vi.mocked(getOrCreateLocalWorkspace).mockResolvedValue({
|
|
470
|
+
workspace: { id: "local-ws-id", name: "feature_test_workspace", token: "local-token" },
|
|
471
|
+
wasCreated: false,
|
|
472
|
+
});
|
|
473
|
+
vi.mocked(getLocalDashboardUrl).mockReturnValue("http://localhost:7181/dashboard");
|
|
474
|
+
vi.mocked(buildToTinybird).mockResolvedValue({
|
|
475
|
+
success: true,
|
|
476
|
+
result: "success",
|
|
477
|
+
datasourceCount: 0,
|
|
478
|
+
pipeCount: 0,
|
|
479
|
+
connectionCount: 0,
|
|
480
|
+
});
|
|
481
|
+
|
|
482
|
+
await runBuild();
|
|
483
|
+
expect(getOrCreateBranch).not.toHaveBeenCalled();
|
|
484
|
+
});
|
|
485
|
+
});
|
|
310
486
|
});
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Build command - generates and pushes resources to Tinybird branches
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { loadConfigAsync, LOCAL_BASE_URL, type ResolvedConfig, type DevMode } from "../config.js";
|
|
5
|
+
import { loadConfigAsync, LOCAL_BASE_URL, type ResolvedConfig, type DevMode, type BranchDataMode } from "../config.js";
|
|
6
6
|
import { buildFromInclude, type BuildFromIncludeResult } from "../../generator/index.js";
|
|
7
7
|
import { buildToTinybird, type BuildApiResult } from "../../api/build.js";
|
|
8
8
|
import { getOrCreateBranch } from "../../api/branches.js";
|
|
@@ -225,13 +225,20 @@ export async function runBuild(options: BuildCommandOptions = {}): Promise<Build
|
|
|
225
225
|
console.log(`[debug] Getting/creating Tinybird branch: ${config.tinybirdBranch}`);
|
|
226
226
|
}
|
|
227
227
|
try {
|
|
228
|
+
const branchDataMode: BranchDataMode | undefined =
|
|
229
|
+
options.lastPartition || config.branchDataMode === "last_partition"
|
|
230
|
+
? "last_partition"
|
|
231
|
+
: undefined;
|
|
232
|
+
const branchOptions = branchDataMode
|
|
233
|
+
? { branch_data_mode: branchDataMode }
|
|
234
|
+
: undefined;
|
|
228
235
|
const tinybirdBranch = await getOrCreateBranch(
|
|
229
236
|
{
|
|
230
237
|
baseUrl: config.baseUrl,
|
|
231
238
|
token: config.token,
|
|
232
239
|
},
|
|
233
240
|
config.tinybirdBranch!,
|
|
234
|
-
|
|
241
|
+
branchOptions
|
|
235
242
|
);
|
|
236
243
|
|
|
237
244
|
if (!tinybirdBranch.token) {
|
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
import {
|
|
14
14
|
clearBranch,
|
|
15
15
|
BranchApiError,
|
|
16
|
+
type CreateBranchOptions,
|
|
16
17
|
} from "../../api/branches.js";
|
|
17
18
|
import {
|
|
18
19
|
setBranchToken,
|
|
@@ -147,12 +148,18 @@ async function clearCloudBranch(config: ResolvedConfig): Promise<ClearResult> {
|
|
|
147
148
|
});
|
|
148
149
|
|
|
149
150
|
// Clear the branch (delete and recreate)
|
|
151
|
+
const branchOptions: CreateBranchOptions | undefined =
|
|
152
|
+
config.devMode !== "local" && config.branchDataMode === "last_partition"
|
|
153
|
+
? { branch_data_mode: "last_partition" }
|
|
154
|
+
: undefined;
|
|
155
|
+
|
|
150
156
|
const newBranch = await clearBranch(
|
|
151
157
|
{
|
|
152
158
|
baseUrl: config.baseUrl,
|
|
153
159
|
token: config.token,
|
|
154
160
|
},
|
|
155
|
-
branchName
|
|
161
|
+
branchName,
|
|
162
|
+
branchOptions
|
|
156
163
|
);
|
|
157
164
|
|
|
158
165
|
// Update the cached token with the new branch token
|
package/src/cli/commands/dev.ts
CHANGED
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
LOCAL_BASE_URL,
|
|
14
14
|
type ResolvedConfig,
|
|
15
15
|
type DevMode,
|
|
16
|
+
type BranchDataMode,
|
|
16
17
|
} from "../config.js";
|
|
17
18
|
import { runBuild, type BuildCommandResult } from "./build.js";
|
|
18
19
|
import { getOrCreateBranch, type TinybirdBranch } from "../../api/branches.js";
|
|
@@ -239,6 +240,13 @@ export async function runDev(
|
|
|
239
240
|
// Use tinybirdBranch (sanitized name) for Tinybird API, gitBranch for display
|
|
240
241
|
if (config.tinybirdBranch) {
|
|
241
242
|
const branchName = config.tinybirdBranch; // Sanitized name for Tinybird
|
|
243
|
+
const branchDataMode: BranchDataMode | undefined =
|
|
244
|
+
options.lastPartition || config.branchDataMode === "last_partition"
|
|
245
|
+
? "last_partition"
|
|
246
|
+
: undefined;
|
|
247
|
+
const branchOptions = branchDataMode
|
|
248
|
+
? { branch_data_mode: branchDataMode }
|
|
249
|
+
: undefined;
|
|
242
250
|
|
|
243
251
|
// Always fetch fresh from API to avoid stale cache issues
|
|
244
252
|
const tinybirdBranch = await getOrCreateBranch(
|
|
@@ -247,7 +255,7 @@ export async function runDev(
|
|
|
247
255
|
token: config.token,
|
|
248
256
|
},
|
|
249
257
|
branchName,
|
|
250
|
-
|
|
258
|
+
branchOptions
|
|
251
259
|
);
|
|
252
260
|
|
|
253
261
|
if (!tinybirdBranch.token) {
|
|
@@ -35,6 +35,7 @@ describe("Generate command", () => {
|
|
|
35
35
|
tinybirdBranch: "feature_x",
|
|
36
36
|
isMainBranch: false,
|
|
37
37
|
devMode: "branch",
|
|
38
|
+
branchDataMode: null,
|
|
38
39
|
});
|
|
39
40
|
|
|
40
41
|
vi.mocked(buildFromInclude).mockResolvedValue({
|
|
@@ -108,6 +109,7 @@ describe("Generate command", () => {
|
|
|
108
109
|
tinybirdBranch: "feature_x",
|
|
109
110
|
isMainBranch: false,
|
|
110
111
|
devMode: "branch",
|
|
112
|
+
branchDataMode: null,
|
|
111
113
|
});
|
|
112
114
|
|
|
113
115
|
vi.mocked(buildFromInclude).mockResolvedValue({
|
|
@@ -167,6 +169,7 @@ describe("Generate command", () => {
|
|
|
167
169
|
tinybirdBranch: "feature_x",
|
|
168
170
|
isMainBranch: false,
|
|
169
171
|
devMode: "branch",
|
|
172
|
+
branchDataMode: null,
|
|
170
173
|
});
|
|
171
174
|
vi.mocked(buildFromInclude).mockRejectedValue(
|
|
172
175
|
new Error("generator failed")
|
|
@@ -716,6 +716,101 @@ IMPORT_SCHEDULE '@on-demand'
|
|
|
716
716
|
expect(output).toContain('schedule: "@on-demand"');
|
|
717
717
|
});
|
|
718
718
|
|
|
719
|
+
it("migrates dynamodb connection and import datasource directives", async () => {
|
|
720
|
+
const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "tinybird-migrate-"));
|
|
721
|
+
tempDirs.push(tempDir);
|
|
722
|
+
|
|
723
|
+
writeFile(
|
|
724
|
+
tempDir,
|
|
725
|
+
"dynamo_sample.connection",
|
|
726
|
+
`TYPE dynamodb
|
|
727
|
+
DYNAMODB_ARN {{ tb_secret("DYNAMODB_ROLE_ARN") }}
|
|
728
|
+
DYNAMODB_REGION us-east-1
|
|
729
|
+
`
|
|
730
|
+
);
|
|
731
|
+
|
|
732
|
+
writeFile(
|
|
733
|
+
tempDir,
|
|
734
|
+
"events_dynamo.datasource",
|
|
735
|
+
`SCHEMA >
|
|
736
|
+
id String \`json:$.Id\`,
|
|
737
|
+
_record String \`json:$.NewImage\`
|
|
738
|
+
|
|
739
|
+
ENGINE "ReplacingMergeTree"
|
|
740
|
+
ENGINE_SORTING_KEY "id"
|
|
741
|
+
IMPORT_CONNECTION_NAME dynamo_sample
|
|
742
|
+
IMPORT_TABLE_ARN arn:aws:dynamodb:us-east-1:123456789012:table/events
|
|
743
|
+
IMPORT_EXPORT_BUCKET s3://my-export-bucket
|
|
744
|
+
`
|
|
745
|
+
);
|
|
746
|
+
|
|
747
|
+
const result = await runMigrate({
|
|
748
|
+
cwd: tempDir,
|
|
749
|
+
patterns: ["."],
|
|
750
|
+
strict: true,
|
|
751
|
+
});
|
|
752
|
+
|
|
753
|
+
expect(result.success).toBe(true);
|
|
754
|
+
expect(result.errors).toHaveLength(0);
|
|
755
|
+
expect(result.migrated.filter((resource) => resource.kind === "connection")).toHaveLength(1);
|
|
756
|
+
expect(result.migrated.filter((resource) => resource.kind === "datasource")).toHaveLength(1);
|
|
757
|
+
|
|
758
|
+
const output = fs.readFileSync(result.outputPath, "utf-8");
|
|
759
|
+
expect(output).toContain("defineDynamoDBConnection");
|
|
760
|
+
expect(output).toContain('export const dynamoSample = defineDynamoDBConnection("dynamo_sample", {');
|
|
761
|
+
expect(output).toContain('region: "us-east-1"');
|
|
762
|
+
expect(output).toContain('arn: secret("DYNAMODB_ROLE_ARN")');
|
|
763
|
+
expect(output).toContain("dynamodb: {");
|
|
764
|
+
expect(output).toContain("connection: dynamoSample");
|
|
765
|
+
expect(output).toContain(
|
|
766
|
+
'tableArn: "arn:aws:dynamodb:us-east-1:123456789012:table/events"'
|
|
767
|
+
);
|
|
768
|
+
expect(output).toContain('exportBucket: "s3://my-export-bucket"');
|
|
769
|
+
});
|
|
770
|
+
|
|
771
|
+
it("reports an error when DynamoDB directives use a non-dynamodb connection type", async () => {
|
|
772
|
+
const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "tinybird-migrate-"));
|
|
773
|
+
tempDirs.push(tempDir);
|
|
774
|
+
|
|
775
|
+
writeFile(
|
|
776
|
+
tempDir,
|
|
777
|
+
"s3sample.connection",
|
|
778
|
+
`TYPE s3
|
|
779
|
+
S3_REGION us-east-1
|
|
780
|
+
S3_ARN "arn:aws:iam::123456789012:role/tinybird-s3-access"
|
|
781
|
+
`
|
|
782
|
+
);
|
|
783
|
+
|
|
784
|
+
writeFile(
|
|
785
|
+
tempDir,
|
|
786
|
+
"events_dynamo.datasource",
|
|
787
|
+
`SCHEMA >
|
|
788
|
+
id String
|
|
789
|
+
|
|
790
|
+
ENGINE "ReplacingMergeTree"
|
|
791
|
+
ENGINE_SORTING_KEY "id"
|
|
792
|
+
IMPORT_CONNECTION_NAME s3sample
|
|
793
|
+
IMPORT_TABLE_ARN arn:aws:dynamodb:us-east-1:123456789012:table/events
|
|
794
|
+
IMPORT_EXPORT_BUCKET s3://my-export-bucket
|
|
795
|
+
`
|
|
796
|
+
);
|
|
797
|
+
|
|
798
|
+
const result = await runMigrate({
|
|
799
|
+
cwd: tempDir,
|
|
800
|
+
patterns: ["."],
|
|
801
|
+
strict: true,
|
|
802
|
+
});
|
|
803
|
+
|
|
804
|
+
expect(result.success).toBe(false);
|
|
805
|
+
expect(
|
|
806
|
+
result.errors.some((error) =>
|
|
807
|
+
error.message.includes(
|
|
808
|
+
'Datasource DynamoDB ingestion requires a dynamodb connection, found "s3".'
|
|
809
|
+
)
|
|
810
|
+
)
|
|
811
|
+
).toBe(true);
|
|
812
|
+
});
|
|
813
|
+
|
|
719
814
|
it("reports an error when import directives use a non-bucket connection type", async () => {
|
|
720
815
|
const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "tinybird-migrate-"));
|
|
721
816
|
tempDirs.push(tempDir);
|
|
@@ -135,7 +135,8 @@ export async function runMigrate(
|
|
|
135
135
|
const referencedConnectionName =
|
|
136
136
|
datasource.kafka?.connectionName ??
|
|
137
137
|
datasource.s3?.connectionName ??
|
|
138
|
-
datasource.gcs?.connectionName
|
|
138
|
+
datasource.gcs?.connectionName ??
|
|
139
|
+
datasource.dynamodb?.connectionName;
|
|
139
140
|
|
|
140
141
|
if (
|
|
141
142
|
referencedConnectionName &&
|
|
@@ -186,6 +187,21 @@ export async function runMigrate(
|
|
|
186
187
|
}
|
|
187
188
|
}
|
|
188
189
|
|
|
190
|
+
if (datasource.dynamodb) {
|
|
191
|
+
const dynamodbConnectionType = parsedConnectionTypeByName.get(
|
|
192
|
+
datasource.dynamodb.connectionName
|
|
193
|
+
);
|
|
194
|
+
if (dynamodbConnectionType !== "dynamodb") {
|
|
195
|
+
errors.push({
|
|
196
|
+
filePath: datasource.filePath,
|
|
197
|
+
resourceName: datasource.name,
|
|
198
|
+
resourceKind: datasource.kind,
|
|
199
|
+
message: `Datasource DynamoDB ingestion requires a dynamodb connection, found "${dynamodbConnectionType ?? "(none)"}".`,
|
|
200
|
+
});
|
|
201
|
+
continue;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
|
|
189
205
|
try {
|
|
190
206
|
validateResourceForEmission(datasource);
|
|
191
207
|
migrated.push(datasource);
|