appwrite-cli 12.0.1 → 13.0.0-rc.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 (283) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +2 -2
  3. package/dist/index.d.ts +3 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +145 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/lib/client.d.ts +89 -0
  8. package/dist/lib/client.d.ts.map +1 -0
  9. package/dist/lib/client.js +227 -0
  10. package/dist/lib/client.js.map +1 -0
  11. package/dist/lib/commands/account.d.ts +379 -0
  12. package/dist/lib/commands/account.d.ts.map +1 -0
  13. package/dist/lib/commands/account.js +1228 -0
  14. package/dist/lib/commands/account.js.map +1 -0
  15. package/dist/lib/commands/console.d.ts +20 -0
  16. package/dist/lib/commands/console.d.ts.map +1 -0
  17. package/dist/lib/commands/console.js +78 -0
  18. package/dist/lib/commands/console.js.map +1 -0
  19. package/dist/lib/commands/databases.d.ts +732 -0
  20. package/dist/lib/commands/databases.d.ts.map +1 -0
  21. package/dist/lib/commands/databases.js +2196 -0
  22. package/dist/lib/commands/databases.js.map +1 -0
  23. package/dist/lib/commands/functions.d.ts +310 -0
  24. package/dist/lib/commands/functions.d.ts.map +1 -0
  25. package/dist/lib/commands/functions.js +1100 -0
  26. package/dist/lib/commands/functions.js.map +1 -0
  27. package/dist/lib/commands/generic.d.ts +17 -0
  28. package/dist/lib/commands/generic.d.ts.map +1 -0
  29. package/dist/lib/commands/generic.js +279 -0
  30. package/dist/lib/commands/generic.js.map +1 -0
  31. package/dist/lib/commands/graphql.d.ts +19 -0
  32. package/dist/lib/commands/graphql.d.ts.map +1 -0
  33. package/dist/lib/commands/graphql.js +77 -0
  34. package/dist/lib/commands/graphql.js.map +1 -0
  35. package/dist/lib/commands/health.d.ts +153 -0
  36. package/dist/lib/commands/health.d.ts.map +1 -0
  37. package/dist/lib/commands/health.js +464 -0
  38. package/dist/lib/commands/health.js.map +1 -0
  39. package/dist/lib/commands/init.d.ts +3 -0
  40. package/dist/lib/commands/init.d.ts.map +1 -0
  41. package/dist/lib/commands/init.js +518 -0
  42. package/dist/lib/commands/init.js.map +1 -0
  43. package/dist/lib/commands/locale.d.ts +53 -0
  44. package/dist/lib/commands/locale.d.ts.map +1 -0
  45. package/dist/lib/commands/locale.js +165 -0
  46. package/dist/lib/commands/locale.js.map +1 -0
  47. package/dist/lib/commands/messaging.d.ts +588 -0
  48. package/dist/lib/commands/messaging.d.ts.map +1 -0
  49. package/dist/lib/commands/messaging.js +2042 -0
  50. package/dist/lib/commands/messaging.js.map +1 -0
  51. package/dist/lib/commands/migrations.d.ts +150 -0
  52. package/dist/lib/commands/migrations.d.ts.map +1 -0
  53. package/dist/lib/commands/migrations.js +524 -0
  54. package/dist/lib/commands/migrations.js.map +1 -0
  55. package/dist/lib/commands/organizations.d.ts +11 -0
  56. package/dist/lib/commands/organizations.d.ts.map +1 -0
  57. package/dist/lib/commands/organizations.js +31 -0
  58. package/dist/lib/commands/organizations.js.map +1 -0
  59. package/dist/lib/commands/project.d.ts +53 -0
  60. package/dist/lib/commands/project.d.ts.map +1 -0
  61. package/dist/lib/commands/project.js +176 -0
  62. package/dist/lib/commands/project.js.map +1 -0
  63. package/dist/lib/commands/projects.d.ts +516 -0
  64. package/dist/lib/commands/projects.d.ts.map +1 -0
  65. package/dist/lib/commands/projects.js +1590 -0
  66. package/dist/lib/commands/projects.js.map +1 -0
  67. package/dist/lib/commands/proxy.d.ts +71 -0
  68. package/dist/lib/commands/proxy.d.ts.map +1 -0
  69. package/dist/lib/commands/proxy.js +240 -0
  70. package/dist/lib/commands/proxy.js.map +1 -0
  71. package/dist/lib/commands/pull.d.ts +8 -0
  72. package/dist/lib/commands/pull.d.ts.map +1 -0
  73. package/dist/lib/commands/pull.js +455 -0
  74. package/dist/lib/commands/pull.js.map +1 -0
  75. package/dist/lib/commands/push.d.ts +4 -0
  76. package/dist/lib/commands/push.d.ts.map +1 -0
  77. package/dist/lib/commands/push.js +2154 -0
  78. package/dist/lib/commands/push.js.map +1 -0
  79. package/dist/lib/commands/run.d.ts +3 -0
  80. package/dist/lib/commands/run.d.ts.map +1 -0
  81. package/dist/lib/commands/run.js +287 -0
  82. package/dist/lib/commands/run.js.map +1 -0
  83. package/dist/lib/commands/sites.d.ts +296 -0
  84. package/dist/lib/commands/sites.d.ts.map +1 -0
  85. package/dist/lib/commands/sites.js +1046 -0
  86. package/dist/lib/commands/sites.js.map +1 -0
  87. package/dist/lib/commands/storage.d.ts +170 -0
  88. package/dist/lib/commands/storage.d.ts.map +1 -0
  89. package/dist/lib/commands/storage.js +651 -0
  90. package/dist/lib/commands/storage.js.map +1 -0
  91. package/dist/lib/commands/tables-db.d.ts +728 -0
  92. package/dist/lib/commands/tables-db.d.ts.map +1 -0
  93. package/dist/lib/commands/tables-db.js +2198 -0
  94. package/dist/lib/commands/tables-db.js.map +1 -0
  95. package/dist/lib/commands/teams.d.ts +129 -0
  96. package/dist/lib/commands/teams.d.ts.map +1 -0
  97. package/dist/lib/commands/teams.js +403 -0
  98. package/dist/lib/commands/teams.js.map +1 -0
  99. package/dist/lib/commands/tokens.d.ts +48 -0
  100. package/dist/lib/commands/tokens.d.ts.map +1 -0
  101. package/dist/lib/commands/tokens.js +156 -0
  102. package/dist/lib/commands/tokens.js.map +1 -0
  103. package/dist/lib/commands/types.d.ts +3 -0
  104. package/dist/lib/commands/types.d.ts.map +1 -0
  105. package/dist/lib/commands/types.js +155 -0
  106. package/dist/lib/commands/types.js.map +1 -0
  107. package/dist/lib/commands/update.d.ts +3 -0
  108. package/dist/lib/commands/update.d.ts.map +1 -0
  109. package/dist/lib/commands/update.js +202 -0
  110. package/dist/lib/commands/update.js.map +1 -0
  111. package/dist/lib/commands/users.d.ts +382 -0
  112. package/dist/lib/commands/users.d.ts.map +1 -0
  113. package/dist/lib/commands/users.js +1195 -0
  114. package/dist/lib/commands/users.js.map +1 -0
  115. package/dist/lib/commands/vcs.d.ts +92 -0
  116. package/dist/lib/commands/vcs.d.ts.map +1 -0
  117. package/dist/lib/commands/vcs.js +276 -0
  118. package/dist/lib/commands/vcs.js.map +1 -0
  119. package/dist/lib/config.d.ts +118 -0
  120. package/dist/lib/config.d.ts.map +1 -0
  121. package/{lib → dist/lib}/config.js +204 -325
  122. package/dist/lib/config.js.map +1 -0
  123. package/dist/lib/emulation/docker.d.ts +15 -0
  124. package/dist/lib/emulation/docker.d.ts.map +1 -0
  125. package/dist/lib/emulation/docker.js +220 -0
  126. package/dist/lib/emulation/docker.js.map +1 -0
  127. package/dist/lib/emulation/utils.d.ts +29 -0
  128. package/dist/lib/emulation/utils.d.ts.map +1 -0
  129. package/dist/lib/emulation/utils.js +168 -0
  130. package/dist/lib/emulation/utils.js.map +1 -0
  131. package/dist/lib/exception.d.ts +8 -0
  132. package/dist/lib/exception.d.ts.map +1 -0
  133. package/dist/lib/exception.js +16 -0
  134. package/dist/lib/exception.js.map +1 -0
  135. package/dist/lib/id.d.ts +7 -0
  136. package/dist/lib/id.d.ts.map +1 -0
  137. package/dist/lib/id.js +32 -0
  138. package/dist/lib/id.js.map +1 -0
  139. package/dist/lib/paginate.d.ts +10 -0
  140. package/dist/lib/paginate.d.ts.map +1 -0
  141. package/{lib → dist/lib}/paginate.js +9 -15
  142. package/dist/lib/paginate.js.map +1 -0
  143. package/dist/lib/parser.d.ts +18 -0
  144. package/dist/lib/parser.d.ts.map +1 -0
  145. package/dist/lib/parser.js +237 -0
  146. package/dist/lib/parser.js.map +1 -0
  147. package/dist/lib/questions.d.ts +59 -0
  148. package/dist/lib/questions.d.ts.map +1 -0
  149. package/dist/lib/questions.js +995 -0
  150. package/dist/lib/questions.js.map +1 -0
  151. package/dist/lib/sdks.d.ts +4 -0
  152. package/dist/lib/sdks.d.ts.map +1 -0
  153. package/dist/lib/sdks.js +51 -0
  154. package/dist/lib/sdks.js.map +1 -0
  155. package/dist/lib/spinner.d.ts +28 -0
  156. package/dist/lib/spinner.d.ts.map +1 -0
  157. package/{lib → dist/lib}/spinner.js +34 -45
  158. package/dist/lib/spinner.js.map +1 -0
  159. package/dist/lib/type-generation/attribute.d.ts +17 -0
  160. package/dist/lib/type-generation/attribute.d.ts.map +1 -0
  161. package/dist/lib/type-generation/attribute.js +19 -0
  162. package/dist/lib/type-generation/attribute.js.map +1 -0
  163. package/dist/lib/type-generation/languages/csharp.d.ts +7 -0
  164. package/dist/lib/type-generation/languages/csharp.d.ts.map +1 -0
  165. package/dist/lib/type-generation/languages/csharp.js +180 -0
  166. package/dist/lib/type-generation/languages/csharp.js.map +1 -0
  167. package/dist/lib/type-generation/languages/dart.d.ts +8 -0
  168. package/dist/lib/type-generation/languages/dart.d.ts.map +1 -0
  169. package/dist/lib/type-generation/languages/dart.js +197 -0
  170. package/dist/lib/type-generation/languages/dart.js.map +1 -0
  171. package/dist/lib/type-generation/languages/java.d.ts +7 -0
  172. package/dist/lib/type-generation/languages/java.d.ts.map +1 -0
  173. package/dist/lib/type-generation/languages/java.js +140 -0
  174. package/dist/lib/type-generation/languages/java.js.map +1 -0
  175. package/dist/lib/type-generation/languages/javascript.d.ts +9 -0
  176. package/dist/lib/type-generation/languages/javascript.d.ts.map +1 -0
  177. package/dist/lib/type-generation/languages/javascript.js +108 -0
  178. package/dist/lib/type-generation/languages/javascript.js.map +1 -0
  179. package/dist/lib/type-generation/languages/kotlin.d.ts +7 -0
  180. package/dist/lib/type-generation/languages/kotlin.d.ts.map +1 -0
  181. package/dist/lib/type-generation/languages/kotlin.js +95 -0
  182. package/dist/lib/type-generation/languages/kotlin.js.map +1 -0
  183. package/dist/lib/type-generation/languages/language.d.ts +43 -0
  184. package/dist/lib/type-generation/languages/language.d.ts.map +1 -0
  185. package/dist/lib/type-generation/languages/language.js +82 -0
  186. package/dist/lib/type-generation/languages/language.js.map +1 -0
  187. package/dist/lib/type-generation/languages/php.d.ts +7 -0
  188. package/dist/lib/type-generation/languages/php.d.ts.map +1 -0
  189. package/dist/lib/type-generation/languages/php.js +116 -0
  190. package/dist/lib/type-generation/languages/php.js.map +1 -0
  191. package/dist/lib/type-generation/languages/swift.d.ts +7 -0
  192. package/dist/lib/type-generation/languages/swift.d.ts.map +1 -0
  193. package/dist/lib/type-generation/languages/swift.js +179 -0
  194. package/dist/lib/type-generation/languages/swift.js.map +1 -0
  195. package/dist/lib/type-generation/languages/typescript.d.ts +9 -0
  196. package/dist/lib/type-generation/languages/typescript.d.ts.map +1 -0
  197. package/dist/lib/type-generation/languages/typescript.js +112 -0
  198. package/dist/lib/type-generation/languages/typescript.js.map +1 -0
  199. package/dist/lib/types.d.ts +133 -0
  200. package/dist/lib/types.d.ts.map +1 -0
  201. package/dist/lib/types.js +3 -0
  202. package/dist/lib/types.js.map +1 -0
  203. package/dist/lib/utils.d.ts +15 -0
  204. package/dist/lib/utils.d.ts.map +1 -0
  205. package/{lib → dist/lib}/utils.js +74 -120
  206. package/dist/lib/utils.js.map +1 -0
  207. package/dist/lib/validations.d.ts +2 -0
  208. package/dist/lib/validations.d.ts.map +1 -0
  209. package/dist/lib/validations.js +20 -0
  210. package/dist/lib/validations.js.map +1 -0
  211. package/docs/examples/databases/upsert-document.md +1 -2
  212. package/index.ts +152 -0
  213. package/install.ps1 +2 -5
  214. package/install.sh +1 -2
  215. package/lib/client.ts +259 -0
  216. package/lib/commands/{account.js → account.ts} +408 -662
  217. package/lib/commands/console.ts +112 -0
  218. package/lib/commands/{databases.js → databases.ts} +818 -1136
  219. package/lib/commands/{functions.js → functions.ts} +381 -526
  220. package/lib/commands/{generic.js → generic.ts} +47 -39
  221. package/lib/commands/graphql.ts +110 -0
  222. package/lib/commands/{health.js → health.ts} +168 -284
  223. package/lib/commands/{init.js → init.ts} +68 -66
  224. package/lib/commands/{locale.js → locale.ts} +75 -121
  225. package/lib/commands/{messaging.js → messaging.ts} +699 -937
  226. package/lib/commands/{migrations.js → migrations.ts} +182 -258
  227. package/lib/commands/organizations.ts +46 -0
  228. package/lib/commands/{project.js → project.ts} +75 -111
  229. package/lib/commands/{projects.js → projects.ts} +587 -843
  230. package/lib/commands/{proxy.js → proxy.ts} +94 -140
  231. package/lib/commands/{pull.js → pull.ts} +54 -44
  232. package/lib/commands/{push.js → push.ts} +235 -191
  233. package/lib/commands/{run.js → run.ts} +61 -55
  234. package/lib/commands/{sites.js → sites.ts} +364 -504
  235. package/lib/commands/{storage.js → storage.ts} +216 -292
  236. package/lib/commands/{tables-db.js → tables-db.ts} +817 -1126
  237. package/lib/commands/{teams.js → teams.ts} +162 -236
  238. package/lib/commands/{tokens.js → tokens.ts} +70 -99
  239. package/lib/commands/{types.js → types.ts} +37 -35
  240. package/lib/commands/{update.js → update.ts} +25 -27
  241. package/lib/commands/{users.js → users.ts} +426 -644
  242. package/lib/commands/{vcs.js → vcs.ts} +118 -174
  243. package/lib/config.ts +854 -0
  244. package/lib/emulation/{docker.js → docker.ts} +39 -38
  245. package/lib/emulation/utils.ts +193 -0
  246. package/lib/exception.ts +20 -0
  247. package/lib/{id.js → id.ts} +5 -5
  248. package/lib/paginate.ts +63 -0
  249. package/lib/parser.ts +238 -0
  250. package/lib/{questions.js → questions.ts} +148 -156
  251. package/lib/sdks.ts +55 -0
  252. package/lib/spinner.ts +118 -0
  253. package/lib/type-generation/attribute.ts +17 -0
  254. package/lib/type-generation/languages/{csharp.js → csharp.ts} +59 -57
  255. package/lib/type-generation/languages/{dart.js → dart.ts} +91 -89
  256. package/lib/type-generation/languages/{java.js → java.ts} +58 -56
  257. package/lib/type-generation/languages/javascript.ts +111 -0
  258. package/lib/type-generation/languages/kotlin.ts +96 -0
  259. package/lib/type-generation/languages/language.ts +119 -0
  260. package/lib/type-generation/languages/{php.js → php.ts} +55 -53
  261. package/lib/type-generation/languages/{swift.js → swift.ts} +59 -57
  262. package/lib/type-generation/languages/typescript.ts +116 -0
  263. package/lib/types.ts +150 -0
  264. package/lib/utils.ts +322 -0
  265. package/lib/validations.ts +17 -0
  266. package/package.json +21 -12
  267. package/scoop/appwrite.config.json +3 -3
  268. package/tsconfig.json +30 -0
  269. package/index.js +0 -147
  270. package/lib/client.js +0 -254
  271. package/lib/commands/console.js +0 -127
  272. package/lib/commands/graphql.js +0 -126
  273. package/lib/commands/organizations.js +0 -48
  274. package/lib/emulation/utils.js +0 -186
  275. package/lib/exception.js +0 -9
  276. package/lib/parser.js +0 -250
  277. package/lib/sdks.js +0 -60
  278. package/lib/type-generation/attribute.js +0 -19
  279. package/lib/type-generation/languages/javascript.js +0 -111
  280. package/lib/type-generation/languages/kotlin.js +0 -94
  281. package/lib/type-generation/languages/language.js +0 -125
  282. package/lib/type-generation/languages/typescript.js +0 -116
  283. package/lib/validations.js +0 -17
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const types: Command;
3
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../lib/commands/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAoB,MAAM,WAAW,CAAC;AAsLtD,eAAO,MAAM,KAAK,SAKmB,CAAC"}
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.types = void 0;
4
+ const ejs = require("ejs");
5
+ const fs = require("fs");
6
+ const path = require("path");
7
+ const language_1 = require("../type-generation/languages/language");
8
+ const commander_1 = require("commander");
9
+ const config_1 = require("../config");
10
+ const parser_1 = require("../parser");
11
+ const php_1 = require("../type-generation/languages/php");
12
+ const typescript_1 = require("../type-generation/languages/typescript");
13
+ const kotlin_1 = require("../type-generation/languages/kotlin");
14
+ const swift_1 = require("../type-generation/languages/swift");
15
+ const java_1 = require("../type-generation/languages/java");
16
+ const dart_1 = require("../type-generation/languages/dart");
17
+ const javascript_1 = require("../type-generation/languages/javascript");
18
+ const csharp_1 = require("../type-generation/languages/csharp");
19
+ function createLanguageMeta(language) {
20
+ switch (language) {
21
+ case "ts":
22
+ return new typescript_1.TypeScript();
23
+ case "js":
24
+ return new javascript_1.JavaScript();
25
+ case "php":
26
+ return new php_1.PHP();
27
+ case "kotlin":
28
+ return new kotlin_1.Kotlin();
29
+ case "swift":
30
+ return new swift_1.Swift();
31
+ case "java":
32
+ return new java_1.Java();
33
+ case "dart":
34
+ return new dart_1.Dart();
35
+ case "cs":
36
+ return new csharp_1.CSharp();
37
+ default:
38
+ throw new Error(`Language '${language}' is not supported`);
39
+ }
40
+ }
41
+ const templateHelpers = {
42
+ toPascalCase: language_1.LanguageMeta.toPascalCase,
43
+ toCamelCase: language_1.LanguageMeta.toCamelCase,
44
+ toSnakeCase: language_1.LanguageMeta.toSnakeCase,
45
+ toKebabCase: language_1.LanguageMeta.toKebabCase,
46
+ toUpperSnakeCase: language_1.LanguageMeta.toUpperSnakeCase
47
+ };
48
+ const typesOutputArgument = new commander_1.Argument("<output-directory>", "The directory to write the types to");
49
+ const typesLanguageOption = new commander_1.Option("-l, --language <language>", "The language of the types")
50
+ .choices(["auto", "ts", "js", "php", "kotlin", "swift", "java", "dart", "cs"])
51
+ .default("auto");
52
+ const typesStrictOption = new commander_1.Option("-s, --strict", "Enable strict mode to automatically convert field names to follow language conventions")
53
+ .default(false);
54
+ const typesCommand = (0, parser_1.actionRunner)(async (rawOutputDirectory, { language, strict }) => {
55
+ if (language === "auto") {
56
+ language = (0, language_1.detectLanguage)();
57
+ (0, parser_1.log)(`Detected language: ${language}`);
58
+ }
59
+ if (strict) {
60
+ (0, parser_1.warn)(`Strict mode enabled: Field names will be converted to follow ${language} conventions`);
61
+ }
62
+ const meta = createLanguageMeta(language);
63
+ const rawOutputPath = rawOutputDirectory;
64
+ const outputExt = path.extname(rawOutputPath);
65
+ const isFileOutput = !!outputExt;
66
+ let outputDirectory = rawOutputPath;
67
+ let singleFileDestination = null;
68
+ if (isFileOutput) {
69
+ if (meta.isSingleFile()) {
70
+ // Use the file path directly for single file languages
71
+ outputDirectory = path.dirname(rawOutputPath);
72
+ singleFileDestination = rawOutputPath;
73
+ }
74
+ else {
75
+ throw new Error(`Invalid output path: ${rawOutputPath}. Output path must be a directory for languages that generate multiple files.`);
76
+ }
77
+ }
78
+ if (!fs.existsSync(outputDirectory)) {
79
+ (0, parser_1.log)(`Directory: ${outputDirectory} does not exist, creating...`);
80
+ fs.mkdirSync(outputDirectory, { recursive: true });
81
+ }
82
+ // Try tables first, fallback to collections
83
+ let tables = config_1.localConfig.getTables();
84
+ let collections = [];
85
+ let dataSource = 'tables';
86
+ if (tables.length === 0) {
87
+ collections = config_1.localConfig.getCollections();
88
+ dataSource = 'collections';
89
+ if (collections.length === 0) {
90
+ const configFileName = path.basename(config_1.localConfig.path);
91
+ throw new Error(`No tables or collections found in configuration. Make sure ${configFileName} exists and contains tables or collections.`);
92
+ }
93
+ }
94
+ // Use tables if available, otherwise use collections
95
+ let dataItems = tables.length > 0 ? tables : collections;
96
+ const itemType = tables.length > 0 ? 'tables' : 'collections';
97
+ // Normalize tables data: rename 'columns' to 'attributes' for template compatibility
98
+ if (tables.length > 0) {
99
+ dataItems = dataItems.map(table => {
100
+ const { columns, ...rest } = table;
101
+ return {
102
+ ...rest,
103
+ attributes: (columns || []).map((column) => {
104
+ if (column.relatedTable) {
105
+ const { relatedTable, ...columnRest } = column;
106
+ return {
107
+ ...columnRest,
108
+ relatedCollection: relatedTable
109
+ };
110
+ }
111
+ return column;
112
+ })
113
+ };
114
+ });
115
+ }
116
+ (0, parser_1.log)(`Found ${dataItems.length} ${itemType}: ${dataItems.map((c) => c.name).join(", ")}`);
117
+ // Use columns if available, otherwise use attributes
118
+ const resourceType = tables.length > 0 ? 'columns' : 'attributes';
119
+ const totalAttributes = dataItems.reduce((count, item) => count + (item.attributes || []).length, 0);
120
+ (0, parser_1.log)(`Found ${totalAttributes} ${resourceType} across all ${itemType}`);
121
+ const templater = ejs.compile(meta.getTemplate());
122
+ if (meta.isSingleFile()) {
123
+ const content = templater({
124
+ collections: dataItems,
125
+ strict,
126
+ ...templateHelpers,
127
+ getType: meta.getType.bind(meta),
128
+ });
129
+ const destination = singleFileDestination || path.join(outputDirectory, meta.getFileName());
130
+ fs.writeFileSync(destination, content);
131
+ (0, parser_1.log)(`Added types to ${destination}`);
132
+ }
133
+ else {
134
+ for (const item of dataItems) {
135
+ const content = templater({
136
+ collections: dataItems,
137
+ collection: item,
138
+ strict,
139
+ ...templateHelpers,
140
+ getType: meta.getType.bind(meta),
141
+ });
142
+ const destination = path.join(outputDirectory, meta.getFileName(item));
143
+ fs.writeFileSync(destination, content);
144
+ (0, parser_1.log)(`Added types for ${item.name} to ${destination}`);
145
+ }
146
+ }
147
+ (0, parser_1.success)(`Generated types for all the listed ${itemType}`);
148
+ });
149
+ exports.types = new commander_1.Command("types")
150
+ .description("Generate types for your Appwrite project")
151
+ .addArgument(typesOutputArgument)
152
+ .addOption(typesLanguageOption)
153
+ .addOption(typesStrictOption)
154
+ .action((0, parser_1.actionRunner)(typesCommand));
155
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../lib/commands/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const update: Command;
3
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../lib/commands/update.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgNpC,eAAO,MAAM,MAAM,SAGiB,CAAC"}
@@ -0,0 +1,202 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.update = void 0;
7
+ const child_process_1 = require("child_process");
8
+ const commander_1 = require("commander");
9
+ const chalk_1 = __importDefault(require("chalk"));
10
+ const inquirer_1 = __importDefault(require("inquirer"));
11
+ const parser_1 = require("../parser");
12
+ const utils_1 = require("../utils");
13
+ const { version } = require('../../../package.json');
14
+ /**
15
+ * Check if the CLI was installed via npm
16
+ */
17
+ const isInstalledViaNpm = () => {
18
+ try {
19
+ const scriptPath = process.argv[1];
20
+ if (scriptPath.includes('node_modules') && scriptPath.includes('appwrite-cli')) {
21
+ return true;
22
+ }
23
+ if (scriptPath.includes('/usr/local/lib/node_modules/') ||
24
+ scriptPath.includes('/opt/homebrew/lib/node_modules/') ||
25
+ scriptPath.includes('/.npm-global/') ||
26
+ scriptPath.includes('/node_modules/.bin/')) {
27
+ return true;
28
+ }
29
+ return false;
30
+ }
31
+ catch (e) {
32
+ return false;
33
+ }
34
+ };
35
+ /**
36
+ * Check if the CLI was installed via Homebrew
37
+ */
38
+ const isInstalledViaHomebrew = () => {
39
+ try {
40
+ const scriptPath = process.argv[1];
41
+ return scriptPath.includes('/opt/homebrew/') || scriptPath.includes('/usr/local/Cellar/');
42
+ }
43
+ catch (e) {
44
+ return false;
45
+ }
46
+ };
47
+ /**
48
+ * Execute command and return promise
49
+ */
50
+ const execCommand = (command, args = [], options = {}) => {
51
+ return new Promise((resolve, reject) => {
52
+ const child = (0, child_process_1.spawn)(command, args, {
53
+ stdio: 'inherit',
54
+ shell: true,
55
+ ...options
56
+ });
57
+ child.on('close', (code) => {
58
+ if (code === 0) {
59
+ resolve();
60
+ }
61
+ else {
62
+ reject(new Error(`Command failed with exit code ${code}`));
63
+ }
64
+ });
65
+ child.on('error', (err) => {
66
+ reject(err);
67
+ });
68
+ });
69
+ };
70
+ /**
71
+ * Update via npm
72
+ */
73
+ const updateViaNpm = async () => {
74
+ try {
75
+ await execCommand('npm', ['install', '-g', 'appwrite-cli@latest']);
76
+ console.log("");
77
+ (0, parser_1.success)("Updated to latest version via npm!");
78
+ (0, parser_1.hint)("Run 'appwrite --version' to verify the new version.");
79
+ }
80
+ catch (e) {
81
+ if (e.message.includes('EEXIST') || e.message.includes('file already exists')) {
82
+ console.log("");
83
+ (0, parser_1.success)("Latest version is already installed via npm!");
84
+ (0, parser_1.hint)("The CLI is up to date. Run 'appwrite --version' to verify.");
85
+ }
86
+ else {
87
+ console.log("");
88
+ (0, parser_1.error)(`Failed to update via npm: ${e.message}`);
89
+ (0, parser_1.hint)("Try running: npm install -g appwrite-cli@latest --force");
90
+ }
91
+ }
92
+ };
93
+ /**
94
+ * Update via Homebrew
95
+ */
96
+ const updateViaHomebrew = async () => {
97
+ try {
98
+ await execCommand('brew', ['upgrade', 'appwrite']);
99
+ console.log("");
100
+ (0, parser_1.success)("Updated to latest version via Homebrew!");
101
+ (0, parser_1.hint)("Run 'appwrite --version' to verify the new version.");
102
+ }
103
+ catch (e) {
104
+ if (e.message.includes('already installed') || e.message.includes('up-to-date')) {
105
+ console.log("");
106
+ (0, parser_1.success)("Latest version is already installed via Homebrew!");
107
+ (0, parser_1.hint)("The CLI is up to date. Run 'appwrite --version' to verify.");
108
+ }
109
+ else {
110
+ console.log("");
111
+ (0, parser_1.error)(`Failed to update via Homebrew: ${e.message}`);
112
+ (0, parser_1.hint)("Try running: brew upgrade appwrite");
113
+ }
114
+ }
115
+ };
116
+ /**
117
+ * Show manual update instructions
118
+ */
119
+ const showManualInstructions = (latestVersion) => {
120
+ (0, parser_1.log)("Manual update options:");
121
+ console.log("");
122
+ (0, parser_1.log)(`${chalk_1.default.bold("Option 1: NPM")}`);
123
+ console.log(` npm install -g appwrite-cli@latest`);
124
+ console.log("");
125
+ (0, parser_1.log)(`${chalk_1.default.bold("Option 2: Homebrew")}`);
126
+ console.log(` brew upgrade appwrite`);
127
+ console.log("");
128
+ (0, parser_1.log)(`${chalk_1.default.bold("Option 3: Download Binary")}`);
129
+ console.log(` Visit: https://github.com/appwrite-cli/releases/tag/${latestVersion}`);
130
+ };
131
+ /**
132
+ * Show interactive menu for choosing update method
133
+ */
134
+ const chooseUpdateMethod = async (latestVersion) => {
135
+ const choices = [
136
+ { name: 'NPM', value: 'npm' },
137
+ { name: 'Homebrew', value: 'homebrew' },
138
+ { name: 'Show manual instructions', value: 'manual' }
139
+ ];
140
+ const { method } = await inquirer_1.default.prompt([
141
+ {
142
+ type: 'list',
143
+ name: 'method',
144
+ message: 'Could not detect installation method. How would you like to update?',
145
+ choices: choices
146
+ }
147
+ ]);
148
+ switch (method) {
149
+ case 'npm':
150
+ await updateViaNpm();
151
+ break;
152
+ case 'homebrew':
153
+ await updateViaHomebrew();
154
+ break;
155
+ case 'manual':
156
+ showManualInstructions(latestVersion);
157
+ break;
158
+ }
159
+ };
160
+ /**
161
+ * Main update function
162
+ */
163
+ const updateCli = async ({ manual } = {}) => {
164
+ try {
165
+ const latestVersion = await (0, utils_1.getLatestVersion)();
166
+ const comparison = (0, utils_1.compareVersions)(version, latestVersion);
167
+ if (comparison === 0) {
168
+ (0, parser_1.success)(`You're already running the latest version (${chalk_1.default.bold(version)})!`);
169
+ return;
170
+ }
171
+ else if (comparison < 0) {
172
+ (0, parser_1.warn)(`You're running a newer version (${chalk_1.default.bold(version)}) than the latest released version (${chalk_1.default.bold(latestVersion)}).`);
173
+ (0, parser_1.hint)("This might be a pre-release or development version.");
174
+ return;
175
+ }
176
+ (0, parser_1.log)(`Updating from ${chalk_1.default.blue(version)} to ${chalk_1.default.green(latestVersion)}...`);
177
+ console.log("");
178
+ if (manual) {
179
+ showManualInstructions(latestVersion);
180
+ return;
181
+ }
182
+ if (isInstalledViaNpm()) {
183
+ await updateViaNpm();
184
+ }
185
+ else if (isInstalledViaHomebrew()) {
186
+ await updateViaHomebrew();
187
+ }
188
+ else {
189
+ await chooseUpdateMethod(latestVersion);
190
+ }
191
+ }
192
+ catch (e) {
193
+ console.log("");
194
+ (0, parser_1.error)(`Failed to check for updates: ${e.message}`);
195
+ (0, parser_1.hint)("You can manually check for updates at: https://github.com/appwrite-cli/releases");
196
+ }
197
+ };
198
+ exports.update = new commander_1.Command("update")
199
+ .description("Update the Appwrite CLI to the latest version")
200
+ .option("--manual", "Show manual update instructions instead of auto-updating")
201
+ .action((0, parser_1.actionRunner)(updateCli));
202
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../lib/commands/update.ts"],"names":[],"mappings":"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"}