appwrite-cli 13.0.1 → 13.1.0-rc.2

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 (100) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +2 -2
  3. package/bun-types.d.ts +4 -0
  4. package/bunfig.toml +2 -0
  5. package/cli.ts +3 -4
  6. package/dist/{bundle.cjs → bundle-win-arm64.mjs} +86443 -37262
  7. package/dist/cli.js +3 -3
  8. package/dist/cli.js.map +1 -1
  9. package/dist/lib/commands/config-validations.d.ts +53 -0
  10. package/dist/lib/commands/config-validations.d.ts.map +1 -0
  11. package/dist/lib/commands/config-validations.js +130 -0
  12. package/dist/lib/commands/config-validations.js.map +1 -0
  13. package/dist/lib/commands/config.d.ts +241 -325
  14. package/dist/lib/commands/config.d.ts.map +1 -1
  15. package/dist/lib/commands/config.js +86 -107
  16. package/dist/lib/commands/config.js.map +1 -1
  17. package/dist/lib/commands/generate.d.ts +7 -0
  18. package/dist/lib/commands/generate.d.ts.map +1 -0
  19. package/dist/lib/commands/generate.js +102 -0
  20. package/dist/lib/commands/generate.js.map +1 -0
  21. package/dist/lib/commands/generators/base.d.ts +58 -0
  22. package/dist/lib/commands/generators/base.d.ts.map +1 -0
  23. package/dist/lib/commands/generators/base.js +27 -0
  24. package/dist/lib/commands/generators/base.js.map +1 -0
  25. package/dist/lib/commands/generators/index.d.ts +26 -0
  26. package/dist/lib/commands/generators/index.d.ts.map +1 -0
  27. package/dist/lib/commands/generators/index.js +55 -0
  28. package/dist/lib/commands/generators/index.js.map +1 -0
  29. package/dist/lib/commands/generators/language-detector.d.ts +42 -0
  30. package/dist/lib/commands/generators/language-detector.d.ts.map +1 -0
  31. package/dist/lib/commands/generators/language-detector.js +127 -0
  32. package/dist/lib/commands/generators/language-detector.js.map +1 -0
  33. package/dist/lib/commands/generators/typescript/databases.d.ts +31 -0
  34. package/dist/lib/commands/generators/typescript/databases.d.ts.map +1 -0
  35. package/dist/lib/commands/generators/typescript/databases.js +265 -0
  36. package/dist/lib/commands/generators/typescript/databases.js.map +1 -0
  37. package/dist/lib/commands/pull.js +3 -3
  38. package/dist/lib/commands/pull.js.map +1 -1
  39. package/dist/lib/commands/push.d.ts +6 -3
  40. package/dist/lib/commands/push.d.ts.map +1 -1
  41. package/dist/lib/commands/push.js +57 -37
  42. package/dist/lib/commands/push.js.map +1 -1
  43. package/dist/lib/commands/schema.d.ts +2 -2
  44. package/dist/lib/commands/schema.d.ts.map +1 -1
  45. package/dist/lib/commands/schema.js +2 -2
  46. package/dist/lib/commands/schema.js.map +1 -1
  47. package/dist/lib/commands/utils/attributes.d.ts +5 -0
  48. package/dist/lib/commands/utils/attributes.d.ts.map +1 -1
  49. package/dist/lib/commands/utils/attributes.js +20 -10
  50. package/dist/lib/commands/utils/attributes.js.map +1 -1
  51. package/dist/lib/commands/utils/pools.d.ts +0 -3
  52. package/dist/lib/commands/utils/pools.d.ts.map +1 -1
  53. package/dist/lib/commands/utils/pools.js +0 -34
  54. package/dist/lib/commands/utils/pools.js.map +1 -1
  55. package/dist/lib/config.d.ts.map +1 -1
  56. package/dist/lib/config.js +28 -131
  57. package/dist/lib/config.js.map +1 -1
  58. package/dist/lib/constants.d.ts +1 -1
  59. package/dist/lib/constants.d.ts.map +1 -1
  60. package/dist/lib/constants.js +1 -1
  61. package/dist/lib/constants.js.map +1 -1
  62. package/dist/lib/shared/typescript-type-utils.d.ts +46 -0
  63. package/dist/lib/shared/typescript-type-utils.d.ts.map +1 -0
  64. package/dist/lib/shared/typescript-type-utils.js +155 -0
  65. package/dist/lib/shared/typescript-type-utils.js.map +1 -0
  66. package/dist/lib/type-generation/languages/typescript.d.ts +0 -1
  67. package/dist/lib/type-generation/languages/typescript.d.ts.map +1 -1
  68. package/dist/lib/type-generation/languages/typescript.js +22 -74
  69. package/dist/lib/type-generation/languages/typescript.js.map +1 -1
  70. package/dist/package.json +8 -7
  71. package/install.ps1 +2 -2
  72. package/install.sh +1 -1
  73. package/lib/commands/config-validations.ts +199 -0
  74. package/lib/commands/config.ts +94 -125
  75. package/lib/commands/generate.ts +149 -0
  76. package/lib/commands/generators/base.ts +91 -0
  77. package/lib/commands/generators/index.ts +87 -0
  78. package/lib/commands/generators/language-detector.ts +163 -0
  79. package/lib/commands/generators/typescript/databases.ts +348 -0
  80. package/lib/commands/generators/typescript/templates/constants.ts.hbs +17 -0
  81. package/lib/commands/generators/typescript/templates/databases.ts.hbs +143 -0
  82. package/lib/commands/generators/typescript/templates/index.ts.hbs +9 -0
  83. package/lib/commands/generators/typescript/templates/types.ts.hbs +41 -0
  84. package/lib/commands/pull.ts +4 -4
  85. package/lib/commands/push.ts +97 -58
  86. package/lib/commands/schema.ts +3 -3
  87. package/lib/commands/utils/attributes.ts +31 -11
  88. package/lib/commands/utils/pools.ts +0 -67
  89. package/lib/config.ts +43 -131
  90. package/lib/constants.ts +1 -1
  91. package/lib/shared/typescript-type-utils.ts +205 -0
  92. package/lib/type-generation/languages/typescript.ts +30 -85
  93. package/package.json +8 -7
  94. package/scoop/appwrite.config.json +3 -3
  95. package/tsconfig.json +1 -1
  96. package/dist/lib/commands/db.d.ts +0 -34
  97. package/dist/lib/commands/db.d.ts.map +0 -1
  98. package/dist/lib/commands/db.js +0 -247
  99. package/dist/lib/commands/db.js.map +0 -1
  100. package/lib/commands/db.ts +0 -324
package/dist/cli.js CHANGED
@@ -3,13 +3,13 @@
3
3
  const oldWidth = process.stdout.columns;
4
4
  process.stdout.columns = 100;
5
5
  /** ---------------------------------------------- */
6
- import { createRequire } from 'module';
7
6
  import { program } from 'commander';
8
7
  import chalk from 'chalk';
9
8
  import inquirer from 'inquirer';
10
9
  import packageJson from './package.json' with { type: 'json' };
11
10
  import { commandDescriptions, cliConfig } from './lib/parser.js';
12
11
  import { getLatestVersion, compareVersions } from './lib/utils.js';
12
+ import inquirerSearchList from 'inquirer-search-list';
13
13
  import { client } from './lib/commands/generic.js';
14
14
  import { login, logout, whoami, migrate, register } from './lib/commands/generic.js';
15
15
  import { init } from './lib/commands/init.js';
@@ -18,6 +18,7 @@ import { pull } from './lib/commands/pull.js';
18
18
  import { run } from './lib/commands/run.js';
19
19
  import { push, deploy } from './lib/commands/push.js';
20
20
  import { update } from './lib/commands/update.js';
21
+ import { generate } from './lib/commands/generate.js';
21
22
  import { account } from './lib/commands/services/account.js';
22
23
  import { console } from './lib/commands/services/console.js';
23
24
  import { databases } from './lib/commands/services/databases.js';
@@ -37,8 +38,6 @@ import { teams } from './lib/commands/services/teams.js';
37
38
  import { tokens } from './lib/commands/services/tokens.js';
38
39
  import { users } from './lib/commands/services/users.js';
39
40
  import { vcs } from './lib/commands/services/vcs.js';
40
- const require = createRequire(import.meta.url);
41
- const inquirerSearchList = require('inquirer-search-list');
42
41
  const { version } = packageJson;
43
42
  inquirer.registerPrompt('search-list', inquirerSearchList);
44
43
  /**
@@ -120,6 +119,7 @@ else {
120
119
  .addCommand(deploy)
121
120
  .addCommand(run)
122
121
  .addCommand(update)
122
+ .addCommand(generate)
123
123
  .addCommand(logout)
124
124
  .addCommand(account)
125
125
  .addCommand(console)
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Validates that when 'required' is true, 'default' must be null
4
+ */
5
+ export declare const validateRequiredDefault: (data: {
6
+ required?: boolean;
7
+ default?: any;
8
+ }) => boolean;
9
+ /**
10
+ * Validates that string type attributes must have a size defined
11
+ */
12
+ export declare const validateStringSize: (data: {
13
+ type: string;
14
+ size?: number | null;
15
+ }) => boolean;
16
+ interface AttributeOrColumn {
17
+ key: string;
18
+ }
19
+ interface Index {
20
+ key: string;
21
+ }
22
+ interface CollectionOrTableData {
23
+ attributes?: AttributeOrColumn[];
24
+ columns?: AttributeOrColumn[];
25
+ indexes?: Index[];
26
+ }
27
+ /**
28
+ * Validates duplicate keys in attributes/columns and indexes
29
+ */
30
+ export declare const validateContainerDuplicates: (data: CollectionOrTableData, ctx: z.RefinementCtx) => void;
31
+ interface RelationshipItem {
32
+ key: string;
33
+ type: string;
34
+ relatedTable?: string;
35
+ relatedCollection?: string;
36
+ }
37
+ interface ContainerWithDatabase {
38
+ $id: string;
39
+ name: string;
40
+ databaseId: string;
41
+ columns?: RelationshipItem[];
42
+ attributes?: RelationshipItem[];
43
+ }
44
+ interface ConfigData {
45
+ tables?: ContainerWithDatabase[];
46
+ collections?: ContainerWithDatabase[];
47
+ }
48
+ /**
49
+ * Validates cross-database relationships
50
+ */
51
+ export declare const validateCrossDatabase: (data: ConfigData, ctx: z.RefinementCtx) => void;
52
+ export {};
53
+ //# sourceMappingURL=config-validations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-validations.d.ts","sourceRoot":"","sources":["../../../lib/commands/config-validations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAAI,MAAM;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf,YAKA,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,YAQA,CAAC;AAMF,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,UAAU,KAAK;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,UAAU,qBAAqB;IAC7B,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,GACtC,MAAM,qBAAqB,EAC3B,KAAK,CAAC,CAAC,aAAa,SAuCrB,CAAC;AAMF,UAAU,gBAAgB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,UAAU,qBAAqB;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACjC;AAED,UAAU,UAAU;IAClB,MAAM,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACjC,WAAW,CAAC,EAAE,qBAAqB,EAAE,CAAC;CACvC;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,MAAM,UAAU,EAChB,KAAK,CAAC,CAAC,aAAa,SAsErB,CAAC"}
@@ -0,0 +1,130 @@
1
+ import { z } from "zod";
2
+ // ============================================================================
3
+ // Attribute Validations
4
+ // ============================================================================
5
+ /**
6
+ * Validates that when 'required' is true, 'default' must be null
7
+ */
8
+ export const validateRequiredDefault = (data) => {
9
+ if (data.required === true && data.default !== null) {
10
+ return false;
11
+ }
12
+ return true;
13
+ };
14
+ /**
15
+ * Validates that string type attributes must have a size defined
16
+ */
17
+ export const validateStringSize = (data) => {
18
+ if (data.type === "string" &&
19
+ (data.size === undefined || data.size === null)) {
20
+ return false;
21
+ }
22
+ return true;
23
+ };
24
+ /**
25
+ * Validates duplicate keys in attributes/columns and indexes
26
+ */
27
+ export const validateContainerDuplicates = (data, ctx) => {
28
+ const items = data.attributes || data.columns || [];
29
+ const itemType = data.attributes ? "Attribute" : "Column";
30
+ const itemPath = data.attributes ? "attributes" : "columns";
31
+ // Validate duplicate item keys
32
+ if (items.length > 0) {
33
+ const seenKeys = new Set();
34
+ items.forEach((item, index) => {
35
+ if (seenKeys.has(item.key)) {
36
+ ctx.addIssue({
37
+ code: z.ZodIssueCode.custom,
38
+ message: `${itemType} with the key '${item.key}' already exists. ${itemType} keys must be unique, try again with a different key.`,
39
+ path: [itemPath, index, "key"],
40
+ });
41
+ }
42
+ else {
43
+ seenKeys.add(item.key);
44
+ }
45
+ });
46
+ }
47
+ // Validate duplicate index keys
48
+ if (data.indexes && data.indexes.length > 0) {
49
+ const seenKeys = new Set();
50
+ data.indexes.forEach((index, indexPos) => {
51
+ if (seenKeys.has(index.key)) {
52
+ ctx.addIssue({
53
+ code: z.ZodIssueCode.custom,
54
+ message: `Index with the key '${index.key}' already exists. Index keys must be unique, try again with a different key.`,
55
+ path: ["indexes", indexPos, "key"],
56
+ });
57
+ }
58
+ else {
59
+ seenKeys.add(index.key);
60
+ }
61
+ });
62
+ }
63
+ };
64
+ /**
65
+ * Validates cross-database relationships
66
+ */
67
+ export const validateCrossDatabase = (data, ctx) => {
68
+ // Validate cross-database relationships for tables
69
+ if (data.tables && data.tables.length > 0) {
70
+ // Build a map of table IDs to their database IDs
71
+ const tableDatabaseMap = new Map();
72
+ for (const table of data.tables) {
73
+ tableDatabaseMap.set(table.$id, table.databaseId);
74
+ }
75
+ // Check each table's relationship columns
76
+ data.tables.forEach((table, tableIndex) => {
77
+ const columns = table.columns || [];
78
+ columns.forEach((column, columnIndex) => {
79
+ if (column.type === "relationship" && column.relatedTable) {
80
+ const relatedDatabaseId = tableDatabaseMap.get(column.relatedTable);
81
+ if (relatedDatabaseId && relatedDatabaseId !== table.databaseId) {
82
+ ctx.addIssue({
83
+ code: z.ZodIssueCode.custom,
84
+ message: `Invalid cross-database relationship: Table '${table.name}' (database: '${table.databaseId}') has relationship '${column.key}' pointing to table '${column.relatedTable}' which is in database '${relatedDatabaseId}'. Appwrite only supports relationships within the same database.`,
85
+ path: [
86
+ "tables",
87
+ tableIndex,
88
+ "columns",
89
+ columnIndex,
90
+ "relatedTable",
91
+ ],
92
+ });
93
+ }
94
+ }
95
+ });
96
+ });
97
+ }
98
+ // Validate cross-database relationships for collections (legacy)
99
+ if (data.collections && data.collections.length > 0) {
100
+ // Build a map of collection IDs to their database IDs
101
+ const collectionDatabaseMap = new Map();
102
+ for (const collection of data.collections) {
103
+ collectionDatabaseMap.set(collection.$id, collection.databaseId);
104
+ }
105
+ // Check each collection's relationship attributes
106
+ data.collections.forEach((collection, collectionIndex) => {
107
+ const attributes = collection.attributes || [];
108
+ attributes.forEach((attribute, attributeIndex) => {
109
+ if (attribute.type === "relationship" && attribute.relatedCollection) {
110
+ const relatedDatabaseId = collectionDatabaseMap.get(attribute.relatedCollection);
111
+ if (relatedDatabaseId &&
112
+ relatedDatabaseId !== collection.databaseId) {
113
+ ctx.addIssue({
114
+ code: z.ZodIssueCode.custom,
115
+ message: `Invalid cross-database relationship: Collection '${collection.name}' (database: '${collection.databaseId}') has relationship '${attribute.key}' pointing to collection '${attribute.relatedCollection}' which is in database '${relatedDatabaseId}'. Appwrite only supports relationships within the same database.`,
116
+ path: [
117
+ "collections",
118
+ collectionIndex,
119
+ "attributes",
120
+ attributeIndex,
121
+ "relatedCollection",
122
+ ],
123
+ });
124
+ }
125
+ }
126
+ });
127
+ });
128
+ }
129
+ };
130
+ //# sourceMappingURL=config-validations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-validations.js","sourceRoot":"","sources":["../../../lib/commands/config-validations.ts"],"names":[],"mappings":"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"}