Skip to content

Commit 4c23d1c

Browse files
authored
feat: SDK update for version 18.1.0 (#299)
* feat: SDK update for version 18.1.0 * chore: restore Homebrew formula checksums from master * chore: bump Homebrew formula version to 18.1.0
1 parent 6ce64b3 commit 4c23d1c

17 files changed

Lines changed: 3774 additions & 362 deletions

File tree

CHANGELOG.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
# Change Log
22

3-
## 18.0.1
3+
## 18.1.0
44

5-
* Fixed Homebrew checksum regex matcher in publish workflow
5+
* Added site screenshot terminal preview after `push site` deployments
6+
* Added standalone binary self-update support in `update` command
7+
* Added installation method detection for smarter version checks (npm, Homebrew, standalone)
8+
* Updated TypeScript query types to use `QueryableFieldValue` for improved type inference
9+
* Fixed indentation in deployment error handling blocks
610

711
## 18.0.0
812

Formula/appwrite.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ class Appwrite < Formula
22
desc "Command-line tool for interacting with the Appwrite API"
33
homepage "https://appwrite.io"
44
license "BSD-3-Clause"
5-
version "18.0.1"
5+
version "18.1.0"
66

77
def self.binary_arch
88
Hardware::CPU.arm? ? "arm64" : "x64"

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ Once the installation is complete, you can verify the install using
2929

3030
```sh
3131
$ appwrite -v
32-
18.0.0
32+
18.1.0
3333
```
3434

3535
### Install using prebuilt binaries
@@ -62,7 +62,7 @@ $ scoop install https://raw.githubusercontent.com/appwrite/sdk-for-cli/master/sc
6262
Once the installation completes, you can verify your install using
6363
```
6464
$ appwrite -v
65-
18.0.0
65+
18.1.0
6666
```
6767

6868
## Getting Started

bun.lock

Lines changed: 412 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cli.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import inquirer from 'inquirer';
1212
import packageJson from './package.json' with { type: 'json' };
1313
import { commandDescriptions, cliConfig } from './lib/parser.js';
1414
import {
15-
getLatestVersion,
15+
getLatestVersionForCurrentInstallation,
1616
compareVersions,
1717
getCachedUpdateNotification,
1818
syncVersionCheckCache,
@@ -98,7 +98,9 @@ async function checkVersion(): Promise<void> {
9898
process.stdout.write(chalk.bold(`appwrite version ${version}`) + '\n');
9999

100100
try {
101-
const latestVersion = await getLatestVersion({ timeoutMs: VERSION_CHECK_TIMEOUT_MS });
101+
const latestVersion = await getLatestVersionForCurrentInstallation({
102+
timeoutMs: VERSION_CHECK_TIMEOUT_MS,
103+
});
102104
syncVersionCheckCache(version, latestVersion);
103105
const comparison = compareVersions(version, latestVersion);
104106

install.ps1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
# You can use "View source" of this page to see the full script.
1414

1515
# REPO
16-
$GITHUB_x64_URL = "https://github.com/appwrite/sdk-for-cli/releases/download/18.0.0/appwrite-cli-win-x64.exe"
17-
$GITHUB_arm64_URL = "https://github.com/appwrite/sdk-for-cli/releases/download/18.0.0/appwrite-cli-win-arm64.exe"
16+
$GITHUB_x64_URL = "https://github.com/appwrite/sdk-for-cli/releases/download/18.1.0/appwrite-cli-win-x64.exe"
17+
$GITHUB_arm64_URL = "https://github.com/appwrite/sdk-for-cli/releases/download/18.1.0/appwrite-cli-win-arm64.exe"
1818

1919
$APPWRITE_BINARY_NAME = "appwrite.exe"
2020

install.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ printSuccess() {
9696
downloadBinary() {
9797
echo "[2/4] Downloading executable for $OS ($ARCH) ..."
9898

99-
GITHUB_LATEST_VERSION="18.0.0"
99+
GITHUB_LATEST_VERSION="18.1.0"
100100
GITHUB_FILE="appwrite-cli-${OS}-${ARCH}"
101101
GITHUB_URL="https://github.com/$GITHUB_REPOSITORY_NAME/releases/download/$GITHUB_LATEST_VERSION/$GITHUB_FILE"
102102

lib/commands/generators/typescript/databases.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ const PERMISSION_CALLBACK_INLINE = `(permission: { read: (role: RoleString) => s
4040

4141
// Inline query callback type for better IntelliSense (with type parameter for field safety)
4242
const getQueryCallbackInline = (typeName: string) =>
43-
`(q: { equal: <K extends QueryableKeys<${typeName}>>(field: K, value: ExtractQueryValue<${typeName}[K]>) => string; notEqual: <K extends QueryableKeys<${typeName}>>(field: K, value: ExtractQueryValue<${typeName}[K]>) => string; lessThan: <K extends QueryableKeys<${typeName}>>(field: K, value: ExtractQueryValue<${typeName}[K]>) => string; lessThanEqual: <K extends QueryableKeys<${typeName}>>(field: K, value: ExtractQueryValue<${typeName}[K]>) => string; greaterThan: <K extends QueryableKeys<${typeName}>>(field: K, value: ExtractQueryValue<${typeName}[K]>) => string; greaterThanEqual: <K extends QueryableKeys<${typeName}>>(field: K, value: ExtractQueryValue<${typeName}[K]>) => string; contains: <K extends QueryableKeys<${typeName}>>(field: K, value: ExtractQueryValue<${typeName}[K]>) => string; search: <K extends QueryableKeys<${typeName}>>(field: K, value: string) => string; isNull: <K extends QueryableKeys<${typeName}>>(field: K) => string; isNotNull: <K extends QueryableKeys<${typeName}>>(field: K) => string; startsWith: <K extends QueryableKeys<${typeName}>>(field: K, value: string) => string; endsWith: <K extends QueryableKeys<${typeName}>>(field: K, value: string) => string; between: <K extends QueryableKeys<${typeName}>>(field: K, start: ExtractQueryValue<${typeName}[K]>, end: ExtractQueryValue<${typeName}[K]>) => string; select: <K extends keyof ${typeName}>(fields: K[]) => string; orderAsc: <K extends keyof ${typeName}>(field: K) => string; orderDesc: <K extends keyof ${typeName}>(field: K) => string; limit: (value: number) => string; offset: (value: number) => string; cursorAfter: (documentId: string) => string; cursorBefore: (documentId: string) => string; or: (...queries: string[]) => string; and: (...queries: string[]) => string }) => string[]`;
43+
`(q: { equal: <K extends QueryableKeys<${typeName}>>(field: K, value: QueryableFieldValue<${typeName}, K>) => string; notEqual: <K extends QueryableKeys<${typeName}>>(field: K, value: QueryableFieldValue<${typeName}, K>) => string; lessThan: <K extends QueryableKeys<${typeName}>>(field: K, value: QueryableFieldValue<${typeName}, K>) => string; lessThanEqual: <K extends QueryableKeys<${typeName}>>(field: K, value: QueryableFieldValue<${typeName}, K>) => string; greaterThan: <K extends QueryableKeys<${typeName}>>(field: K, value: QueryableFieldValue<${typeName}, K>) => string; greaterThanEqual: <K extends QueryableKeys<${typeName}>>(field: K, value: QueryableFieldValue<${typeName}, K>) => string; contains: <K extends QueryableKeys<${typeName}>>(field: K, value: QueryableFieldValue<${typeName}, K>) => string; search: <K extends QueryableKeys<${typeName}>>(field: K, value: string) => string; isNull: <K extends QueryableKeys<${typeName}>>(field: K) => string; isNotNull: <K extends QueryableKeys<${typeName}>>(field: K) => string; startsWith: <K extends QueryableKeys<${typeName}>>(field: K, value: string) => string; endsWith: <K extends QueryableKeys<${typeName}>>(field: K, value: string) => string; between: <K extends QueryableKeys<${typeName}>>(field: K, start: QueryableFieldValue<${typeName}, K>, end: QueryableFieldValue<${typeName}, K>) => string; select: <K extends keyof ${typeName}>(fields: K[]) => string; orderAsc: <K extends keyof ${typeName}>(field: K) => string; orderDesc: <K extends keyof ${typeName}>(field: K) => string; limit: (value: number) => string; offset: (value: number) => string; cursorAfter: (documentId: string) => string; cursorBefore: (documentId: string) => string; or: (...queries: string[]) => string; and: (...queries: string[]) => string }) => string[]`;
4444

4545
/**
4646
* TypeScript-specific database generator.

lib/commands/generators/typescript/templates/types.ts.hbs

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,20 +34,24 @@ export type QueryableKeys<T> = {
3434
[K in keyof T]: ExtractQueryValue<T[K]> extends never ? never : K;
3535
}[keyof T];
3636

37+
export type QueryableFieldValue<T, K> = K extends keyof T
38+
? ExtractQueryValue<T[K]>
39+
: never;
40+
3741
export type QueryBuilder<T> = {
38-
equal: <K extends QueryableKeys<T>>(field: K, value: ExtractQueryValue<T[K]>) => string;
39-
notEqual: <K extends QueryableKeys<T>>(field: K, value: ExtractQueryValue<T[K]>) => string;
40-
lessThan: <K extends QueryableKeys<T>>(field: K, value: ExtractQueryValue<T[K]>) => string;
41-
lessThanEqual: <K extends QueryableKeys<T>>(field: K, value: ExtractQueryValue<T[K]>) => string;
42-
greaterThan: <K extends QueryableKeys<T>>(field: K, value: ExtractQueryValue<T[K]>) => string;
43-
greaterThanEqual: <K extends QueryableKeys<T>>(field: K, value: ExtractQueryValue<T[K]>) => string;
44-
contains: <K extends QueryableKeys<T>>(field: K, value: ExtractQueryValue<T[K]>) => string;
42+
equal: <K extends QueryableKeys<T>>(field: K, value: QueryableFieldValue<T, K>) => string;
43+
notEqual: <K extends QueryableKeys<T>>(field: K, value: QueryableFieldValue<T, K>) => string;
44+
lessThan: <K extends QueryableKeys<T>>(field: K, value: QueryableFieldValue<T, K>) => string;
45+
lessThanEqual: <K extends QueryableKeys<T>>(field: K, value: QueryableFieldValue<T, K>) => string;
46+
greaterThan: <K extends QueryableKeys<T>>(field: K, value: QueryableFieldValue<T, K>) => string;
47+
greaterThanEqual: <K extends QueryableKeys<T>>(field: K, value: QueryableFieldValue<T, K>) => string;
48+
contains: <K extends QueryableKeys<T>>(field: K, value: QueryableFieldValue<T, K>) => string;
4549
search: <K extends QueryableKeys<T>>(field: K, value: string) => string;
4650
isNull: <K extends QueryableKeys<T>>(field: K) => string;
4751
isNotNull: <K extends QueryableKeys<T>>(field: K) => string;
4852
startsWith: <K extends QueryableKeys<T>>(field: K, value: string) => string;
4953
endsWith: <K extends QueryableKeys<T>>(field: K, value: string) => string;
50-
between: <K extends QueryableKeys<T>>(field: K, start: ExtractQueryValue<T[K]>, end: ExtractQueryValue<T[K]>) => string;
54+
between: <K extends QueryableKeys<T>>(field: K, start: QueryableFieldValue<T, K>, end: QueryableFieldValue<T, K>) => string;
5155
select: <K extends keyof T>(fields: K[]) => string;
5256
orderAsc: <K extends keyof T>(field: K) => string;
5357
orderDesc: <K extends keyof T>(field: K) => string;

0 commit comments

Comments
 (0)