@tinybirdco/sdk 0.0.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.
Files changed (258) hide show
  1. package/README.md +518 -0
  2. package/bin/tinybird.js +7 -0
  3. package/dist/api/branches.d.ts +98 -0
  4. package/dist/api/branches.d.ts.map +1 -0
  5. package/dist/api/branches.js +203 -0
  6. package/dist/api/branches.js.map +1 -0
  7. package/dist/api/branches.test.d.ts +2 -0
  8. package/dist/api/branches.test.d.ts.map +1 -0
  9. package/dist/api/branches.test.js +286 -0
  10. package/dist/api/branches.test.js.map +1 -0
  11. package/dist/api/build.d.ts +130 -0
  12. package/dist/api/build.d.ts.map +1 -0
  13. package/dist/api/build.js +143 -0
  14. package/dist/api/build.js.map +1 -0
  15. package/dist/api/build.test.d.ts +2 -0
  16. package/dist/api/build.test.d.ts.map +1 -0
  17. package/dist/api/build.test.js +138 -0
  18. package/dist/api/build.test.js.map +1 -0
  19. package/dist/api/deploy.d.ts +39 -0
  20. package/dist/api/deploy.d.ts.map +1 -0
  21. package/dist/api/deploy.js +135 -0
  22. package/dist/api/deploy.js.map +1 -0
  23. package/dist/api/deploy.test.d.ts +2 -0
  24. package/dist/api/deploy.test.d.ts.map +1 -0
  25. package/dist/api/deploy.test.js +118 -0
  26. package/dist/api/deploy.test.js.map +1 -0
  27. package/dist/api/workspaces.d.ts +46 -0
  28. package/dist/api/workspaces.d.ts.map +1 -0
  29. package/dist/api/workspaces.js +39 -0
  30. package/dist/api/workspaces.js.map +1 -0
  31. package/dist/api/workspaces.test.d.ts +2 -0
  32. package/dist/api/workspaces.test.d.ts.map +1 -0
  33. package/dist/api/workspaces.test.js +65 -0
  34. package/dist/api/workspaces.test.js.map +1 -0
  35. package/dist/cli/auth.d.ts +86 -0
  36. package/dist/cli/auth.d.ts.map +1 -0
  37. package/dist/cli/auth.js +284 -0
  38. package/dist/cli/auth.js.map +1 -0
  39. package/dist/cli/branch-store.d.ts +53 -0
  40. package/dist/cli/branch-store.d.ts.map +1 -0
  41. package/dist/cli/branch-store.js +91 -0
  42. package/dist/cli/branch-store.js.map +1 -0
  43. package/dist/cli/branch-store.test.d.ts +2 -0
  44. package/dist/cli/branch-store.test.d.ts.map +1 -0
  45. package/dist/cli/branch-store.test.js +115 -0
  46. package/dist/cli/branch-store.test.js.map +1 -0
  47. package/dist/cli/commands/branch.d.ts +82 -0
  48. package/dist/cli/commands/branch.d.ts.map +1 -0
  49. package/dist/cli/commands/branch.js +215 -0
  50. package/dist/cli/commands/branch.js.map +1 -0
  51. package/dist/cli/commands/build.d.ts +43 -0
  52. package/dist/cli/commands/build.d.ts.map +1 -0
  53. package/dist/cli/commands/build.js +138 -0
  54. package/dist/cli/commands/build.js.map +1 -0
  55. package/dist/cli/commands/dev.d.ts +78 -0
  56. package/dist/cli/commands/dev.d.ts.map +1 -0
  57. package/dist/cli/commands/dev.js +226 -0
  58. package/dist/cli/commands/dev.js.map +1 -0
  59. package/dist/cli/commands/init.d.ts +45 -0
  60. package/dist/cli/commands/init.d.ts.map +1 -0
  61. package/dist/cli/commands/init.js +277 -0
  62. package/dist/cli/commands/init.js.map +1 -0
  63. package/dist/cli/commands/init.test.d.ts +2 -0
  64. package/dist/cli/commands/init.test.d.ts.map +1 -0
  65. package/dist/cli/commands/init.test.js +158 -0
  66. package/dist/cli/commands/init.test.js.map +1 -0
  67. package/dist/cli/commands/login.d.ts +37 -0
  68. package/dist/cli/commands/login.d.ts.map +1 -0
  69. package/dist/cli/commands/login.js +64 -0
  70. package/dist/cli/commands/login.js.map +1 -0
  71. package/dist/cli/config.d.ts +114 -0
  72. package/dist/cli/config.d.ts.map +1 -0
  73. package/dist/cli/config.js +258 -0
  74. package/dist/cli/config.js.map +1 -0
  75. package/dist/cli/config.test.d.ts +2 -0
  76. package/dist/cli/config.test.d.ts.map +1 -0
  77. package/dist/cli/config.test.js +243 -0
  78. package/dist/cli/config.test.js.map +1 -0
  79. package/dist/cli/env.d.ts +29 -0
  80. package/dist/cli/env.d.ts.map +1 -0
  81. package/dist/cli/env.js +66 -0
  82. package/dist/cli/env.js.map +1 -0
  83. package/dist/cli/git.d.ts +29 -0
  84. package/dist/cli/git.d.ts.map +1 -0
  85. package/dist/cli/git.js +114 -0
  86. package/dist/cli/git.js.map +1 -0
  87. package/dist/cli/git.test.d.ts +2 -0
  88. package/dist/cli/git.test.d.ts.map +1 -0
  89. package/dist/cli/git.test.js +125 -0
  90. package/dist/cli/git.test.js.map +1 -0
  91. package/dist/cli/index.d.ts +7 -0
  92. package/dist/cli/index.d.ts.map +1 -0
  93. package/dist/cli/index.js +337 -0
  94. package/dist/cli/index.js.map +1 -0
  95. package/dist/cli/utils/schema-validation.d.ts +95 -0
  96. package/dist/cli/utils/schema-validation.d.ts.map +1 -0
  97. package/dist/cli/utils/schema-validation.js +175 -0
  98. package/dist/cli/utils/schema-validation.js.map +1 -0
  99. package/dist/cli/utils/schema-validation.test.d.ts +5 -0
  100. package/dist/cli/utils/schema-validation.test.d.ts.map +1 -0
  101. package/dist/cli/utils/schema-validation.test.js +173 -0
  102. package/dist/cli/utils/schema-validation.test.js.map +1 -0
  103. package/dist/client/base.d.ts +116 -0
  104. package/dist/client/base.d.ts.map +1 -0
  105. package/dist/client/base.js +328 -0
  106. package/dist/client/base.js.map +1 -0
  107. package/dist/client/types.d.ts +137 -0
  108. package/dist/client/types.d.ts.map +1 -0
  109. package/dist/client/types.js +43 -0
  110. package/dist/client/types.js.map +1 -0
  111. package/dist/generator/client.d.ts +44 -0
  112. package/dist/generator/client.d.ts.map +1 -0
  113. package/dist/generator/client.js +144 -0
  114. package/dist/generator/client.js.map +1 -0
  115. package/dist/generator/datasource.d.ts +57 -0
  116. package/dist/generator/datasource.d.ts.map +1 -0
  117. package/dist/generator/datasource.js +169 -0
  118. package/dist/generator/datasource.js.map +1 -0
  119. package/dist/generator/datasource.test.d.ts +2 -0
  120. package/dist/generator/datasource.test.d.ts.map +1 -0
  121. package/dist/generator/datasource.test.js +254 -0
  122. package/dist/generator/datasource.test.js.map +1 -0
  123. package/dist/generator/index.d.ts +131 -0
  124. package/dist/generator/index.d.ts.map +1 -0
  125. package/dist/generator/index.js +121 -0
  126. package/dist/generator/index.js.map +1 -0
  127. package/dist/generator/index.test.d.ts +2 -0
  128. package/dist/generator/index.test.d.ts.map +1 -0
  129. package/dist/generator/index.test.js +175 -0
  130. package/dist/generator/index.test.js.map +1 -0
  131. package/dist/generator/loader.d.ts +156 -0
  132. package/dist/generator/loader.d.ts.map +1 -0
  133. package/dist/generator/loader.js +295 -0
  134. package/dist/generator/loader.js.map +1 -0
  135. package/dist/generator/pipe.d.ts +72 -0
  136. package/dist/generator/pipe.d.ts.map +1 -0
  137. package/dist/generator/pipe.js +174 -0
  138. package/dist/generator/pipe.js.map +1 -0
  139. package/dist/generator/pipe.test.d.ts +2 -0
  140. package/dist/generator/pipe.test.d.ts.map +1 -0
  141. package/dist/generator/pipe.test.js +393 -0
  142. package/dist/generator/pipe.test.js.map +1 -0
  143. package/dist/index.d.ts +74 -0
  144. package/dist/index.d.ts.map +1 -0
  145. package/dist/index.js +73 -0
  146. package/dist/index.js.map +1 -0
  147. package/dist/infer/index.d.ts +202 -0
  148. package/dist/infer/index.d.ts.map +1 -0
  149. package/dist/infer/index.js +5 -0
  150. package/dist/infer/index.js.map +1 -0
  151. package/dist/schema/datasource.d.ts +135 -0
  152. package/dist/schema/datasource.d.ts.map +1 -0
  153. package/dist/schema/datasource.js +105 -0
  154. package/dist/schema/datasource.js.map +1 -0
  155. package/dist/schema/datasource.test.d.ts +2 -0
  156. package/dist/schema/datasource.test.d.ts.map +1 -0
  157. package/dist/schema/datasource.test.js +142 -0
  158. package/dist/schema/datasource.test.js.map +1 -0
  159. package/dist/schema/engines.d.ts +157 -0
  160. package/dist/schema/engines.d.ts.map +1 -0
  161. package/dist/schema/engines.js +155 -0
  162. package/dist/schema/engines.js.map +1 -0
  163. package/dist/schema/engines.test.d.ts +2 -0
  164. package/dist/schema/engines.test.d.ts.map +1 -0
  165. package/dist/schema/engines.test.js +221 -0
  166. package/dist/schema/engines.test.js.map +1 -0
  167. package/dist/schema/params.d.ts +106 -0
  168. package/dist/schema/params.d.ts.map +1 -0
  169. package/dist/schema/params.js +138 -0
  170. package/dist/schema/params.js.map +1 -0
  171. package/dist/schema/params.test.d.ts +2 -0
  172. package/dist/schema/params.test.d.ts.map +1 -0
  173. package/dist/schema/params.test.js +175 -0
  174. package/dist/schema/params.test.js.map +1 -0
  175. package/dist/schema/pipe.d.ts +436 -0
  176. package/dist/schema/pipe.d.ts.map +1 -0
  177. package/dist/schema/pipe.js +484 -0
  178. package/dist/schema/pipe.js.map +1 -0
  179. package/dist/schema/pipe.test.d.ts +2 -0
  180. package/dist/schema/pipe.test.d.ts.map +1 -0
  181. package/dist/schema/pipe.test.js +488 -0
  182. package/dist/schema/pipe.test.js.map +1 -0
  183. package/dist/schema/project.d.ts +202 -0
  184. package/dist/schema/project.d.ts.map +1 -0
  185. package/dist/schema/project.js +188 -0
  186. package/dist/schema/project.js.map +1 -0
  187. package/dist/schema/project.test.d.ts +2 -0
  188. package/dist/schema/project.test.d.ts.map +1 -0
  189. package/dist/schema/project.test.js +180 -0
  190. package/dist/schema/project.test.js.map +1 -0
  191. package/dist/schema/types.d.ts +140 -0
  192. package/dist/schema/types.d.ts.map +1 -0
  193. package/dist/schema/types.js +174 -0
  194. package/dist/schema/types.js.map +1 -0
  195. package/dist/schema/types.test.d.ts +2 -0
  196. package/dist/schema/types.test.d.ts.map +1 -0
  197. package/dist/schema/types.test.js +176 -0
  198. package/dist/schema/types.test.js.map +1 -0
  199. package/dist/test/handlers.d.ts +58 -0
  200. package/dist/test/handlers.d.ts.map +1 -0
  201. package/dist/test/handlers.js +62 -0
  202. package/dist/test/handlers.js.map +1 -0
  203. package/dist/test/setup.d.ts +5 -0
  204. package/dist/test/setup.d.ts.map +1 -0
  205. package/dist/test/setup.js +11 -0
  206. package/dist/test/setup.js.map +1 -0
  207. package/package.json +57 -0
  208. package/src/api/branches.test.ts +377 -0
  209. package/src/api/branches.ts +334 -0
  210. package/src/api/build.test.ts +216 -0
  211. package/src/api/build.ts +266 -0
  212. package/src/api/deploy.test.ts +193 -0
  213. package/src/api/deploy.ts +163 -0
  214. package/src/api/workspaces.test.ts +81 -0
  215. package/src/api/workspaces.ts +77 -0
  216. package/src/cli/auth.ts +358 -0
  217. package/src/cli/branch-store.test.ts +139 -0
  218. package/src/cli/branch-store.ts +137 -0
  219. package/src/cli/commands/branch.ts +306 -0
  220. package/src/cli/commands/build.ts +183 -0
  221. package/src/cli/commands/dev.ts +334 -0
  222. package/src/cli/commands/init.test.ts +249 -0
  223. package/src/cli/commands/init.ts +323 -0
  224. package/src/cli/commands/login.ts +98 -0
  225. package/src/cli/config.test.ts +359 -0
  226. package/src/cli/config.ts +335 -0
  227. package/src/cli/env.ts +86 -0
  228. package/src/cli/git.test.ts +147 -0
  229. package/src/cli/git.ts +125 -0
  230. package/src/cli/index.ts +382 -0
  231. package/src/cli/utils/schema-validation.test.ts +222 -0
  232. package/src/cli/utils/schema-validation.ts +272 -0
  233. package/src/client/base.ts +414 -0
  234. package/src/client/types.ts +165 -0
  235. package/src/generator/client.ts +194 -0
  236. package/src/generator/datasource.test.ts +297 -0
  237. package/src/generator/datasource.ts +217 -0
  238. package/src/generator/index.test.ts +209 -0
  239. package/src/generator/index.ts +203 -0
  240. package/src/generator/loader.ts +406 -0
  241. package/src/generator/pipe.test.ts +441 -0
  242. package/src/generator/pipe.ts +220 -0
  243. package/src/index.ts +191 -0
  244. package/src/infer/index.ts +247 -0
  245. package/src/schema/datasource.test.ts +187 -0
  246. package/src/schema/datasource.ts +195 -0
  247. package/src/schema/engines.test.ts +247 -0
  248. package/src/schema/engines.ts +271 -0
  249. package/src/schema/params.test.ts +208 -0
  250. package/src/schema/params.ts +249 -0
  251. package/src/schema/pipe.test.ts +588 -0
  252. package/src/schema/pipe.ts +832 -0
  253. package/src/schema/project.test.ts +236 -0
  254. package/src/schema/project.ts +394 -0
  255. package/src/schema/types.test.ts +212 -0
  256. package/src/schema/types.ts +366 -0
  257. package/src/test/handlers.ts +79 -0
  258. package/src/test/setup.ts +13 -0
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Environment file utilities for managing .env.local
3
+ */
4
+ /**
5
+ * Result of saving a token to .env.local
6
+ */
7
+ export interface SaveTokenResult {
8
+ /** Whether the file was newly created */
9
+ created: boolean;
10
+ }
11
+ /**
12
+ * Save the TINYBIRD_TOKEN to .env.local
13
+ *
14
+ * Handles creating, appending, or updating the token in the file.
15
+ * Ensures proper newline handling when appending.
16
+ *
17
+ * @param directory - Directory where .env.local should be saved
18
+ * @param token - The token value to save
19
+ * @returns Result indicating if the file was created
20
+ */
21
+ export declare function saveTinybirdToken(directory: string, token: string): SaveTokenResult;
22
+ /**
23
+ * Save the TINYBIRD_URL to .env.local
24
+ *
25
+ * @param directory - Directory where .env.local should be saved
26
+ * @param baseUrl - The base URL to save
27
+ */
28
+ export declare function saveTinybirdBaseUrl(directory: string, baseUrl: string): void;
29
+ //# sourceMappingURL=env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/cli/env.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,eAAe,CA0BjB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAuB5E"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Environment file utilities for managing .env.local
3
+ */
4
+ import * as fs from "fs";
5
+ import * as path from "path";
6
+ /**
7
+ * Save the TINYBIRD_TOKEN to .env.local
8
+ *
9
+ * Handles creating, appending, or updating the token in the file.
10
+ * Ensures proper newline handling when appending.
11
+ *
12
+ * @param directory - Directory where .env.local should be saved
13
+ * @param token - The token value to save
14
+ * @returns Result indicating if the file was created
15
+ */
16
+ export function saveTinybirdToken(directory, token) {
17
+ const envLocalPath = path.join(directory, ".env.local");
18
+ const envContent = `TINYBIRD_TOKEN=${token}\n`;
19
+ if (fs.existsSync(envLocalPath)) {
20
+ const existingContent = fs.readFileSync(envLocalPath, "utf-8");
21
+ if (existingContent.includes("TINYBIRD_TOKEN=")) {
22
+ // Replace existing token
23
+ const updatedContent = existingContent.replace(/TINYBIRD_TOKEN=.*/, `TINYBIRD_TOKEN=${token}`);
24
+ fs.writeFileSync(envLocalPath, updatedContent);
25
+ }
26
+ else {
27
+ // Append token, ensuring proper newline
28
+ const needsNewline = existingContent.length > 0 && !existingContent.endsWith("\n");
29
+ fs.appendFileSync(envLocalPath, (needsNewline ? "\n" : "") + envContent);
30
+ }
31
+ return { created: false };
32
+ }
33
+ else {
34
+ // Create new file
35
+ fs.writeFileSync(envLocalPath, envContent);
36
+ return { created: true };
37
+ }
38
+ }
39
+ /**
40
+ * Save the TINYBIRD_URL to .env.local
41
+ *
42
+ * @param directory - Directory where .env.local should be saved
43
+ * @param baseUrl - The base URL to save
44
+ */
45
+ export function saveTinybirdBaseUrl(directory, baseUrl) {
46
+ const envLocalPath = path.join(directory, ".env.local");
47
+ const envContent = `TINYBIRD_URL=${baseUrl}\n`;
48
+ if (fs.existsSync(envLocalPath)) {
49
+ const existingContent = fs.readFileSync(envLocalPath, "utf-8");
50
+ if (existingContent.includes("TINYBIRD_URL=")) {
51
+ // Replace existing URL
52
+ const updatedContent = existingContent.replace(/TINYBIRD_URL=.*/, `TINYBIRD_URL=${baseUrl}`);
53
+ fs.writeFileSync(envLocalPath, updatedContent);
54
+ }
55
+ else {
56
+ // Append URL, ensuring proper newline
57
+ const needsNewline = existingContent.length > 0 && !existingContent.endsWith("\n");
58
+ fs.appendFileSync(envLocalPath, (needsNewline ? "\n" : "") + envContent);
59
+ }
60
+ }
61
+ else {
62
+ // Create new file
63
+ fs.writeFileSync(envLocalPath, envContent);
64
+ }
65
+ }
66
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/cli/env.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAU7B;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAiB,EACjB,KAAa;IAEb,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,kBAAkB,KAAK,IAAI,CAAC;IAE/C,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAE/D,IAAI,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAChD,yBAAyB;YACzB,MAAM,cAAc,GAAG,eAAe,CAAC,OAAO,CAC5C,mBAAmB,EACnB,kBAAkB,KAAK,EAAE,CAC1B,CAAC;YACF,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,wCAAwC;YACxC,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACnF,EAAE,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;SAAM,CAAC;QACN,kBAAkB;QAClB,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAC3C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiB,EAAE,OAAe;IACpE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,gBAAgB,OAAO,IAAI,CAAC;IAE/C,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAE/D,IAAI,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YAC9C,uBAAuB;YACvB,MAAM,cAAc,GAAG,eAAe,CAAC,OAAO,CAC5C,iBAAiB,EACjB,gBAAgB,OAAO,EAAE,CAC1B,CAAC;YACF,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,sCAAsC;YACtC,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACnF,EAAE,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;SAAM,CAAC;QACN,kBAAkB;QAClB,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Git utilities for branch detection
3
+ */
4
+ /**
5
+ * Get the current git branch name
6
+ * Returns null if not in a git repo or on detached HEAD
7
+ */
8
+ export declare function getCurrentGitBranch(): string | null;
9
+ /**
10
+ * Check if we're on the main/master branch
11
+ */
12
+ export declare function isMainBranch(): boolean;
13
+ /**
14
+ * Check if we're in a git repository
15
+ */
16
+ export declare function isGitRepo(): boolean;
17
+ /**
18
+ * Sanitize a git branch name for use as a Tinybird branch name
19
+ * Tinybird only accepts alphanumeric characters and underscores
20
+ * All other characters are replaced with underscores
21
+ */
22
+ export declare function sanitizeBranchName(branchName: string): string;
23
+ /**
24
+ * Get the current git branch name sanitized for Tinybird
25
+ * Returns null if not in a git repo, on detached HEAD, or if the
26
+ * sanitized name would be empty (e.g., branch name "----")
27
+ */
28
+ export declare function getTinybirdBranchName(): string | null;
29
+ //# sourceMappingURL=git.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/cli/git.ts"],"names":[],"mappings":"AAAA;;GAEG;AAkDH;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAkBnD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAGtC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAUnC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAO7D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,GAAG,IAAI,CAMrD"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Git utilities for branch detection
3
+ */
4
+ import { execSync } from "child_process";
5
+ /**
6
+ * Get the branch name from CI environment variables
7
+ * Returns null if not in a known CI environment
8
+ */
9
+ function getBranchFromCIEnv() {
10
+ // GitHub Actions
11
+ // GITHUB_HEAD_REF is set for pull requests, GITHUB_REF_NAME for pushes
12
+ const githubBranch = process.env.GITHUB_HEAD_REF || process.env.GITHUB_REF_NAME;
13
+ if (githubBranch) {
14
+ return githubBranch;
15
+ }
16
+ // GitLab CI
17
+ if (process.env.CI_COMMIT_BRANCH) {
18
+ return process.env.CI_COMMIT_BRANCH;
19
+ }
20
+ // CircleCI
21
+ if (process.env.CIRCLE_BRANCH) {
22
+ return process.env.CIRCLE_BRANCH;
23
+ }
24
+ // Azure Pipelines
25
+ if (process.env.BUILD_SOURCEBRANCHNAME) {
26
+ return process.env.BUILD_SOURCEBRANCHNAME;
27
+ }
28
+ // Bitbucket Pipelines
29
+ if (process.env.BITBUCKET_BRANCH) {
30
+ return process.env.BITBUCKET_BRANCH;
31
+ }
32
+ // Jenkins
33
+ if (process.env.GIT_BRANCH) {
34
+ // Jenkins prefixes with origin/, remove it
35
+ return process.env.GIT_BRANCH.replace(/^origin\//, "");
36
+ }
37
+ // Travis CI
38
+ if (process.env.TRAVIS_BRANCH) {
39
+ return process.env.TRAVIS_BRANCH;
40
+ }
41
+ return null;
42
+ }
43
+ /**
44
+ * Get the current git branch name
45
+ * Returns null if not in a git repo or on detached HEAD
46
+ */
47
+ export function getCurrentGitBranch() {
48
+ try {
49
+ const branch = execSync("git rev-parse --abbrev-ref HEAD", {
50
+ encoding: "utf-8",
51
+ stdio: ["pipe", "pipe", "pipe"],
52
+ }).trim();
53
+ // HEAD means detached HEAD state - try CI environment variables
54
+ if (branch === "HEAD") {
55
+ return getBranchFromCIEnv();
56
+ }
57
+ return branch;
58
+ }
59
+ catch {
60
+ // Not in a git repo or git not available
61
+ // Still check CI env vars as fallback
62
+ return getBranchFromCIEnv();
63
+ }
64
+ }
65
+ /**
66
+ * Check if we're on the main/master branch
67
+ */
68
+ export function isMainBranch() {
69
+ const branch = getCurrentGitBranch();
70
+ return branch === "main" || branch === "master";
71
+ }
72
+ /**
73
+ * Check if we're in a git repository
74
+ */
75
+ export function isGitRepo() {
76
+ try {
77
+ execSync("git rev-parse --git-dir", {
78
+ encoding: "utf-8",
79
+ stdio: ["pipe", "pipe", "pipe"],
80
+ });
81
+ return true;
82
+ }
83
+ catch {
84
+ return false;
85
+ }
86
+ }
87
+ /**
88
+ * Sanitize a git branch name for use as a Tinybird branch name
89
+ * Tinybird only accepts alphanumeric characters and underscores
90
+ * All other characters are replaced with underscores
91
+ */
92
+ export function sanitizeBranchName(branchName) {
93
+ // Replace any character that is not alphanumeric or underscore with underscore
94
+ // Also collapse multiple consecutive underscores into one
95
+ return branchName
96
+ .replace(/[^a-zA-Z0-9_]/g, "_")
97
+ .replace(/_+/g, "_")
98
+ .replace(/^_|_$/g, ""); // Remove leading/trailing underscores
99
+ }
100
+ /**
101
+ * Get the current git branch name sanitized for Tinybird
102
+ * Returns null if not in a git repo, on detached HEAD, or if the
103
+ * sanitized name would be empty (e.g., branch name "----")
104
+ */
105
+ export function getTinybirdBranchName() {
106
+ const branch = getCurrentGitBranch();
107
+ if (!branch)
108
+ return null;
109
+ const sanitized = sanitizeBranchName(branch);
110
+ if (!sanitized)
111
+ return null;
112
+ return sanitized;
113
+ }
114
+ //# sourceMappingURL=git.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/cli/git.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;;GAGG;AACH,SAAS,kBAAkB;IACzB,iBAAiB;IACjB,uEAAuE;IACvE,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAChF,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,YAAY;IACZ,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IACtC,CAAC;IAED,WAAW;IACX,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IACnC,CAAC;IAED,kBAAkB;IAClB,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC;QACvC,OAAO,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;IAC5C,CAAC;IAED,sBAAsB;IACtB,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IACtC,CAAC;IAED,UAAU;IACV,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QAC3B,2CAA2C;QAC3C,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,YAAY;IACZ,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IACnC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,iCAAiC,EAAE;YACzD,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEV,gEAAgE;QAChE,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,OAAO,kBAAkB,EAAE,CAAC;QAC9B,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,yCAAyC;QACzC,sCAAsC;QACtC,OAAO,kBAAkB,EAAE,CAAC;IAC9B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,OAAO,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,QAAQ,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,IAAI,CAAC;QACH,QAAQ,CAAC,yBAAyB,EAAE;YAClC,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAkB;IACnD,+EAA+E;IAC/E,0DAA0D;IAC1D,OAAO,UAAU;SACd,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;SAC9B,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,sCAAsC;AAClE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=git.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.test.d.ts","sourceRoot":"","sources":["../../src/cli/git.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,125 @@
1
+ import { describe, it, expect, beforeEach, afterEach } from "vitest";
2
+ import { getCurrentGitBranch, isMainBranch, isGitRepo, sanitizeBranchName, getTinybirdBranchName } from "./git.js";
3
+ describe("Git utilities", () => {
4
+ describe("isGitRepo", () => {
5
+ it("returns true in a git repo", () => {
6
+ // This test file is in a git repo
7
+ expect(isGitRepo()).toBe(true);
8
+ });
9
+ });
10
+ describe("getCurrentGitBranch", () => {
11
+ it("returns a string or null", () => {
12
+ const branch = getCurrentGitBranch();
13
+ // In a detached HEAD state (like CI), branch may be null or from CI env
14
+ expect(branch === null || typeof branch === "string").toBe(true);
15
+ });
16
+ describe("CI environment variable fallbacks", () => {
17
+ const originalEnv = { ...process.env };
18
+ beforeEach(() => {
19
+ // Clear all CI-related env vars before each test
20
+ delete process.env.GITHUB_HEAD_REF;
21
+ delete process.env.GITHUB_REF_NAME;
22
+ delete process.env.CI_COMMIT_BRANCH;
23
+ delete process.env.CIRCLE_BRANCH;
24
+ delete process.env.BUILD_SOURCEBRANCHNAME;
25
+ delete process.env.BITBUCKET_BRANCH;
26
+ delete process.env.GIT_BRANCH;
27
+ delete process.env.TRAVIS_BRANCH;
28
+ });
29
+ afterEach(() => {
30
+ // Restore original env
31
+ process.env = { ...originalEnv };
32
+ });
33
+ it("falls back to GITHUB_HEAD_REF for GitHub Actions PRs", () => {
34
+ process.env.GITHUB_HEAD_REF = "feature/pr-branch";
35
+ // Note: This test verifies the env var is read, but in a real git repo
36
+ // the git command succeeds first. The fallback only triggers on detached HEAD.
37
+ // We're testing the priority order indirectly.
38
+ expect(process.env.GITHUB_HEAD_REF).toBe("feature/pr-branch");
39
+ });
40
+ it("falls back to GITHUB_REF_NAME for GitHub Actions pushes", () => {
41
+ process.env.GITHUB_REF_NAME = "main";
42
+ expect(process.env.GITHUB_REF_NAME).toBe("main");
43
+ });
44
+ it("falls back to CI_COMMIT_BRANCH for GitLab CI", () => {
45
+ process.env.CI_COMMIT_BRANCH = "gitlab-branch";
46
+ expect(process.env.CI_COMMIT_BRANCH).toBe("gitlab-branch");
47
+ });
48
+ it("falls back to CIRCLE_BRANCH for CircleCI", () => {
49
+ process.env.CIRCLE_BRANCH = "circle-branch";
50
+ expect(process.env.CIRCLE_BRANCH).toBe("circle-branch");
51
+ });
52
+ it("falls back to BUILD_SOURCEBRANCHNAME for Azure Pipelines", () => {
53
+ process.env.BUILD_SOURCEBRANCHNAME = "azure-branch";
54
+ expect(process.env.BUILD_SOURCEBRANCHNAME).toBe("azure-branch");
55
+ });
56
+ it("falls back to BITBUCKET_BRANCH for Bitbucket Pipelines", () => {
57
+ process.env.BITBUCKET_BRANCH = "bitbucket-branch";
58
+ expect(process.env.BITBUCKET_BRANCH).toBe("bitbucket-branch");
59
+ });
60
+ it("falls back to GIT_BRANCH for Jenkins", () => {
61
+ process.env.GIT_BRANCH = "origin/jenkins-branch";
62
+ expect(process.env.GIT_BRANCH).toBe("origin/jenkins-branch");
63
+ });
64
+ it("falls back to TRAVIS_BRANCH for Travis CI", () => {
65
+ process.env.TRAVIS_BRANCH = "travis-branch";
66
+ expect(process.env.TRAVIS_BRANCH).toBe("travis-branch");
67
+ });
68
+ });
69
+ });
70
+ describe("isMainBranch", () => {
71
+ it("returns a boolean", () => {
72
+ const result = isMainBranch();
73
+ expect(typeof result).toBe("boolean");
74
+ });
75
+ });
76
+ describe("sanitizeBranchName", () => {
77
+ it("keeps alphanumeric characters", () => {
78
+ expect(sanitizeBranchName("feature123")).toBe("feature123");
79
+ });
80
+ it("keeps underscores", () => {
81
+ expect(sanitizeBranchName("my_feature")).toBe("my_feature");
82
+ });
83
+ it("replaces hyphens with underscores", () => {
84
+ expect(sanitizeBranchName("my-feature")).toBe("my_feature");
85
+ });
86
+ it("replaces slashes with underscores", () => {
87
+ expect(sanitizeBranchName("feature/add-login")).toBe("feature_add_login");
88
+ });
89
+ it("replaces dots with underscores", () => {
90
+ expect(sanitizeBranchName("release.1.0")).toBe("release_1_0");
91
+ });
92
+ it("replaces multiple symbols with single underscore", () => {
93
+ expect(sanitizeBranchName("feature--test")).toBe("feature_test");
94
+ expect(sanitizeBranchName("a///b")).toBe("a_b");
95
+ });
96
+ it("removes leading and trailing underscores", () => {
97
+ expect(sanitizeBranchName("-feature-")).toBe("feature");
98
+ expect(sanitizeBranchName("_feature_")).toBe("feature");
99
+ });
100
+ it("handles complex branch names", () => {
101
+ expect(sanitizeBranchName("feature/JIRA-123/add-user-auth")).toBe("feature_JIRA_123_add_user_auth");
102
+ expect(sanitizeBranchName("user@name/branch")).toBe("user_name_branch");
103
+ });
104
+ it("returns empty string for all-symbol branch names", () => {
105
+ expect(sanitizeBranchName("----")).toBe("");
106
+ expect(sanitizeBranchName("///")).toBe("");
107
+ expect(sanitizeBranchName("@#$%")).toBe("");
108
+ });
109
+ });
110
+ describe("getTinybirdBranchName", () => {
111
+ it("returns a sanitized string or null", () => {
112
+ const branch = getTinybirdBranchName();
113
+ // In a detached HEAD state (like CI), branch may be null
114
+ if (branch !== null) {
115
+ expect(typeof branch).toBe("string");
116
+ // Should only contain valid characters
117
+ expect(branch).toMatch(/^[a-zA-Z0-9_]+$/);
118
+ }
119
+ else {
120
+ expect(branch).toBeNull();
121
+ }
122
+ });
123
+ });
124
+ });
125
+ //# sourceMappingURL=git.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.test.js","sourceRoot":"","sources":["../../src/cli/git.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Tinybird CLI
4
+ * Commands for building and deploying Tinybird projects
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;;GAGG"}