appwrite-cli 18.0.0 → 18.1.0
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 +2 -2
- package/dist/bundle-win-arm64.mjs +1256 -713
- package/dist/cli.cjs +1256 -713
- package/dist/index.cjs +306 -18
- package/dist/index.js +306 -18
- package/dist/lib/commands/push.d.ts.map +1 -1
- package/dist/lib/commands/update.d.ts.map +1 -1
- package/dist/lib/constants.d.ts +1 -1
- package/dist/lib/sdks.d.ts +1 -1
- package/dist/lib/sdks.d.ts.map +1 -1
- package/dist/lib/utils.d.ts +8 -0
- package/dist/lib/utils.d.ts.map +1 -1
- package/package.json +9 -5
package/dist/index.js
CHANGED
|
@@ -35490,7 +35490,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
35490
35490
|
}
|
|
35491
35491
|
return positiveOption || option2;
|
|
35492
35492
|
};
|
|
35493
|
-
const
|
|
35493
|
+
const getErrorMessage2 = (option2) => {
|
|
35494
35494
|
const bestOption = findBestOptionFromValue(option2);
|
|
35495
35495
|
const optionKey = bestOption.attributeName();
|
|
35496
35496
|
const source = this.getOptionValueSource(optionKey);
|
|
@@ -35499,7 +35499,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
35499
35499
|
}
|
|
35500
35500
|
return `option '${bestOption.flags}'`;
|
|
35501
35501
|
};
|
|
35502
|
-
const message = `error: ${
|
|
35502
|
+
const message = `error: ${getErrorMessage2(option)} cannot be used with ${getErrorMessage2(conflictingOption)}`;
|
|
35503
35503
|
this.error(message, { code: "commander.conflictingOption" });
|
|
35504
35504
|
}
|
|
35505
35505
|
/**
|
|
@@ -64940,6 +64940,7 @@ var import_inquirer3 = __toESM(require_inquirer(), 1);
|
|
|
64940
64940
|
import fs4 from "fs";
|
|
64941
64941
|
import path2 from "path";
|
|
64942
64942
|
import readline from "node:readline";
|
|
64943
|
+
import { stripVTControlCharacters } from "node:util";
|
|
64943
64944
|
|
|
64944
64945
|
// node_modules/commander/esm.mjs
|
|
64945
64946
|
var import_index = __toESM(require_commander(), 1);
|
|
@@ -64987,7 +64988,7 @@ var id_default = ID;
|
|
|
64987
64988
|
// lib/constants.ts
|
|
64988
64989
|
var SDK_TITLE = "Appwrite";
|
|
64989
64990
|
var SDK_TITLE_LOWER = "appwrite";
|
|
64990
|
-
var SDK_VERSION = "18.
|
|
64991
|
+
var SDK_VERSION = "18.1.0";
|
|
64991
64992
|
var SDK_LOGO = "\n _ _ _ ___ __ _____\n /_\\ _ __ _ ____ ___ __(_) |_ ___ / __\\ / / \\_ \\\n //_\\\\| '_ \\| '_ \\ \\ /\\ / / '__| | __/ _ \\ / / / / / /\\/\n / _ \\ |_) | |_) \\ V V /| | | | || __/ / /___/ /___/\\/ /_\n \\_/ \\_/ .__/| .__/ \\_/\\_/ |_| |_|\\__\\___| \\____/\\____/\\____/\n |_| |_|\n\n";
|
|
64992
64993
|
var EXECUTABLE_NAME = "appwrite";
|
|
64993
64994
|
var UPDATE_CHECK_INTERVAL_MS = 24 * 60 * 60 * 1e3;
|
|
@@ -79263,6 +79264,8 @@ var getSafeDirectoryName = (value, fallback) => {
|
|
|
79263
79264
|
var siteRequiresBuildCommand = (site) => {
|
|
79264
79265
|
return !(site.framework === "other" && site.adapter === "static");
|
|
79265
79266
|
};
|
|
79267
|
+
var WINDOWS_EXECUTABLE_NAME = `${EXECUTABLE_NAME.toLowerCase()}.exe`;
|
|
79268
|
+
var HOMEBREW_FORMULA_NAME = EXECUTABLE_NAME.toLowerCase();
|
|
79266
79269
|
var isCloudHostname = (hostname3) => hostname3 === "cloud.appwrite.io" || hostname3.endsWith(".cloud.appwrite.io");
|
|
79267
79270
|
var getConsoleBaseUrl = (endpoint) => {
|
|
79268
79271
|
try {
|
|
@@ -103646,7 +103649,7 @@ var package_default = {
|
|
|
103646
103649
|
type: "module",
|
|
103647
103650
|
homepage: "https://appwrite.io/support",
|
|
103648
103651
|
description: "Appwrite is an open-source self-hosted backend server that abstracts and simplifies complex and repetitive development tasks behind a very simple REST API",
|
|
103649
|
-
version: "18.
|
|
103652
|
+
version: "18.1.0",
|
|
103650
103653
|
license: "BSD-3-Clause",
|
|
103651
103654
|
main: "dist/index.cjs",
|
|
103652
103655
|
module: "dist/index.js",
|
|
@@ -103678,9 +103681,9 @@ var package_default = {
|
|
|
103678
103681
|
"build:types": "tsc -p tsconfig.json --emitDeclarationOnly",
|
|
103679
103682
|
"build:runtime": "npm run build:lib:runtime && npm run build:cli",
|
|
103680
103683
|
"build:lib:runtime": "npm run build:lib:esm && npm run build:lib:cjs",
|
|
103681
|
-
"build:lib:esm": "esbuild index.ts --bundle --platform=node --target=node18 --format=esm --loader:.hbs=text --outfile=dist/index.js",
|
|
103682
|
-
"build:lib:cjs": "esbuild index.ts --bundle --platform=node --target=node18 --format=cjs --loader:.hbs=text --outfile=dist/index.cjs",
|
|
103683
|
-
"build:cli": "esbuild cli.ts --bundle --platform=node --target=node18 --format=cjs --loader:.hbs=text --external:fsevents --outfile=dist/cli.cjs",
|
|
103684
|
+
"build:lib:esm": "esbuild index.ts --bundle --platform=node --target=node18 --format=esm --loader:.hbs=text --external:terminal-image --outfile=dist/index.js",
|
|
103685
|
+
"build:lib:cjs": "esbuild index.ts --bundle --platform=node --target=node18 --format=cjs --loader:.hbs=text --external:terminal-image --outfile=dist/index.cjs",
|
|
103686
|
+
"build:cli": "esbuild cli.ts --bundle --platform=node --target=node18 --format=cjs --loader:.hbs=text --external:fsevents --external:terminal-image --outfile=dist/cli.cjs",
|
|
103684
103687
|
lint: "eslint .",
|
|
103685
103688
|
format: 'prettier --write "**/*.{js,ts,json,md}"',
|
|
103686
103689
|
generate: "tsx scripts/generate-commands.ts",
|
|
@@ -103691,7 +103694,7 @@ var package_default = {
|
|
|
103691
103694
|
"mac-x64": "bun build cli.ts --compile --sourcemap=inline --target=bun-darwin-x64 --outfile build/appwrite-cli-darwin-x64",
|
|
103692
103695
|
"mac-arm64": "bun build cli.ts --compile --sourcemap=inline --target=bun-darwin-arm64 --outfile build/appwrite-cli-darwin-arm64",
|
|
103693
103696
|
"windows-x64": "bun build cli.ts --compile --sourcemap=inline --target=bun-windows-x64 --outfile build/appwrite-cli-win-x64.exe",
|
|
103694
|
-
"windows-arm64": "esbuild cli.ts --bundle --loader:.hbs=text --platform=node --target=node18 --format=esm --external:fsevents --outfile=dist/bundle-win-arm64.mjs && pkg dist/bundle-win-arm64.mjs -t node18-win-arm64 -o build/appwrite-cli-win-arm64.exe"
|
|
103697
|
+
"windows-arm64": "esbuild cli.ts --bundle --loader:.hbs=text --platform=node --target=node18 --format=esm --external:fsevents --external:terminal-image --outfile=dist/bundle-win-arm64.mjs && pkg dist/bundle-win-arm64.mjs -t node18-win-arm64 -o build/appwrite-cli-win-arm64.exe"
|
|
103695
103698
|
},
|
|
103696
103699
|
dependencies: {
|
|
103697
103700
|
"@appwrite.io/console": "~9.1.0",
|
|
@@ -103710,9 +103713,13 @@ var package_default = {
|
|
|
103710
103713
|
"string-width": "^7.2.0",
|
|
103711
103714
|
tail: "^2.2.6",
|
|
103712
103715
|
tar: "^7.4.3",
|
|
103716
|
+
"terminal-image": "^3.1.1",
|
|
103713
103717
|
undici: "^6.24.0",
|
|
103714
103718
|
zod: "^4.3.5"
|
|
103715
103719
|
},
|
|
103720
|
+
overrides: {
|
|
103721
|
+
phin: "3.7.1"
|
|
103722
|
+
},
|
|
103716
103723
|
devDependencies: {
|
|
103717
103724
|
"@typescript-eslint/eslint-plugin": "^8.0.0",
|
|
103718
103725
|
"@typescript-eslint/parser": "^8.0.0",
|
|
@@ -105022,9 +105029,9 @@ var import_chalk5 = __toESM(require_source(), 1);
|
|
|
105022
105029
|
|
|
105023
105030
|
// lib/sdks.ts
|
|
105024
105031
|
import os5 from "os";
|
|
105025
|
-
var sdkForConsole = async (requiresAuth = true) => {
|
|
105032
|
+
var sdkForConsole = async (requiresAuth = true, endpointOverride) => {
|
|
105026
105033
|
const client = new Client();
|
|
105027
|
-
const endpoint = globalConfig2.getEndpoint() || DEFAULT_ENDPOINT;
|
|
105034
|
+
const endpoint = endpointOverride || globalConfig2.getEndpoint() || DEFAULT_ENDPOINT;
|
|
105028
105035
|
const cookie = globalConfig2.getCookie();
|
|
105029
105036
|
const selfSigned = globalConfig2.getSelfSigned();
|
|
105030
105037
|
if (requiresAuth && cookie === "") {
|
|
@@ -106817,8 +106824,18 @@ var DEPLOYMENT_TIMEOUT_MS = 10 * 60 * 1e3;
|
|
|
106817
106824
|
var DEPLOYMENT_TIMEOUT_MINUTES = Math.round(
|
|
106818
106825
|
DEPLOYMENT_TIMEOUT_MS / (60 * 1e3)
|
|
106819
106826
|
);
|
|
106827
|
+
var SITE_SCREENSHOT_FINALIZATION_TIMEOUT_MS = 30 * 1e3;
|
|
106828
|
+
var SITE_SCREENSHOT_BUCKET_ID = "screenshots";
|
|
106829
|
+
var SITE_SCREENSHOT_PREVIEW_WIDTH = 480;
|
|
106830
|
+
var SITE_SCREENSHOT_PREVIEW_HEIGHT = 270;
|
|
106831
|
+
var SITE_TERMINAL_PREVIEW_TARGET_WIDTH = 72;
|
|
106832
|
+
var SITE_TERMINAL_PREVIEW_MAX_WIDTH = 80;
|
|
106833
|
+
var SITE_TERMINAL_PREVIEW_MAX_HEIGHT = 22;
|
|
106834
|
+
var SITE_TERMINAL_PREVIEW_MIN_HEIGHT = 8;
|
|
106820
106835
|
var WAITING_JOKE_THRESHOLD_MS = 30 * 1e3;
|
|
106821
106836
|
var WAITING_JOKE_URL = "https://xkcd.com/303/";
|
|
106837
|
+
var ANSI_RESET = "\x1B[0m";
|
|
106838
|
+
var terminalImageModulePromise;
|
|
106822
106839
|
function getDeploymentProgressText(status, waitingSince) {
|
|
106823
106840
|
if (status === "waiting" && waitingSince !== null && Date.now() - waitingSince >= WAITING_JOKE_THRESHOLD_MS) {
|
|
106824
106841
|
return `Still waiting... ${WAITING_JOKE_URL}`;
|
|
@@ -106828,6 +106845,184 @@ function getDeploymentProgressText(status, waitingSince) {
|
|
|
106828
106845
|
function getDeploymentTimeoutErrorMessage() {
|
|
106829
106846
|
return `Deployment got stuck for more than ${DEPLOYMENT_TIMEOUT_MINUTES} minutes`;
|
|
106830
106847
|
}
|
|
106848
|
+
async function getTerminalImage() {
|
|
106849
|
+
terminalImageModulePromise ??= import("terminal-image").then(
|
|
106850
|
+
(module) => module.default
|
|
106851
|
+
);
|
|
106852
|
+
return terminalImageModulePromise;
|
|
106853
|
+
}
|
|
106854
|
+
function getErrorMessage(error49) {
|
|
106855
|
+
if (error49 instanceof Error && error49.message.trim().length > 0) {
|
|
106856
|
+
return error49.message.trim();
|
|
106857
|
+
}
|
|
106858
|
+
if (Array.isArray(error49)) {
|
|
106859
|
+
const messages = error49.map((entry) => getErrorMessage(entry)).filter((entry) => entry !== "Unknown error");
|
|
106860
|
+
if (messages.length > 0) {
|
|
106861
|
+
return messages.join("; ");
|
|
106862
|
+
}
|
|
106863
|
+
}
|
|
106864
|
+
if (typeof error49 === "string" && error49.trim().length > 0) {
|
|
106865
|
+
return error49.trim();
|
|
106866
|
+
}
|
|
106867
|
+
if (error49 && typeof error49 === "object") {
|
|
106868
|
+
const objectMessage = Reflect.get(error49, "message");
|
|
106869
|
+
if (typeof objectMessage === "string" && objectMessage.trim().length > 0) {
|
|
106870
|
+
return objectMessage.trim();
|
|
106871
|
+
}
|
|
106872
|
+
try {
|
|
106873
|
+
return JSON.stringify(error49);
|
|
106874
|
+
} catch (_serializationError) {
|
|
106875
|
+
}
|
|
106876
|
+
}
|
|
106877
|
+
return "Unknown error";
|
|
106878
|
+
}
|
|
106879
|
+
function getSiteDeploymentScreenshots(deployment) {
|
|
106880
|
+
const screenshotLight = typeof deployment["screenshotLight"] === "string" && deployment["screenshotLight"].trim().length > 0 ? deployment["screenshotLight"] : void 0;
|
|
106881
|
+
const screenshotDark = typeof deployment["screenshotDark"] === "string" && deployment["screenshotDark"].trim().length > 0 ? deployment["screenshotDark"] : void 0;
|
|
106882
|
+
return {
|
|
106883
|
+
screenshotLight,
|
|
106884
|
+
screenshotDark
|
|
106885
|
+
};
|
|
106886
|
+
}
|
|
106887
|
+
function hasSiteDeploymentScreenshots(deployment) {
|
|
106888
|
+
const { screenshotLight, screenshotDark } = getSiteDeploymentScreenshots(deployment);
|
|
106889
|
+
return Boolean(screenshotLight || screenshotDark);
|
|
106890
|
+
}
|
|
106891
|
+
function shouldRenderSiteTerminalPreview() {
|
|
106892
|
+
return Boolean(process.stdout.isTTY) && !cliConfig.json && !cliConfig.raw;
|
|
106893
|
+
}
|
|
106894
|
+
function getSiteTerminalPreviewWidth() {
|
|
106895
|
+
const columns = process.stdout.columns ?? 80;
|
|
106896
|
+
return Math.max(
|
|
106897
|
+
16,
|
|
106898
|
+
Math.min(
|
|
106899
|
+
columns - 4,
|
|
106900
|
+
SITE_TERMINAL_PREVIEW_TARGET_WIDTH,
|
|
106901
|
+
SITE_TERMINAL_PREVIEW_MAX_WIDTH
|
|
106902
|
+
)
|
|
106903
|
+
);
|
|
106904
|
+
}
|
|
106905
|
+
function getSiteTerminalPreviewHeight() {
|
|
106906
|
+
const rows = process.stdout.rows ?? 24;
|
|
106907
|
+
return Math.max(
|
|
106908
|
+
SITE_TERMINAL_PREVIEW_MIN_HEIGHT,
|
|
106909
|
+
Math.min(rows - 10, SITE_TERMINAL_PREVIEW_MAX_HEIGHT)
|
|
106910
|
+
);
|
|
106911
|
+
}
|
|
106912
|
+
async function renderImageBufferToTerminalPreview(buffer) {
|
|
106913
|
+
const terminalImage = await getTerminalImage();
|
|
106914
|
+
const originalTermProgram = process.env.TERM_PROGRAM;
|
|
106915
|
+
const originalTermProgramVersion = process.env.TERM_PROGRAM_VERSION;
|
|
106916
|
+
const originalKonsoleVersion = process.env.KONSOLE_VERSION;
|
|
106917
|
+
const originalKittyWindowId = process.env.KITTY_WINDOW_ID;
|
|
106918
|
+
delete process.env.TERM_PROGRAM;
|
|
106919
|
+
delete process.env.TERM_PROGRAM_VERSION;
|
|
106920
|
+
delete process.env.KONSOLE_VERSION;
|
|
106921
|
+
delete process.env.KITTY_WINDOW_ID;
|
|
106922
|
+
try {
|
|
106923
|
+
return await terminalImage.buffer(buffer, {
|
|
106924
|
+
width: getSiteTerminalPreviewWidth(),
|
|
106925
|
+
height: getSiteTerminalPreviewHeight(),
|
|
106926
|
+
preserveAspectRatio: true
|
|
106927
|
+
});
|
|
106928
|
+
} finally {
|
|
106929
|
+
if (originalTermProgram === void 0) {
|
|
106930
|
+
delete process.env.TERM_PROGRAM;
|
|
106931
|
+
} else {
|
|
106932
|
+
process.env.TERM_PROGRAM = originalTermProgram;
|
|
106933
|
+
}
|
|
106934
|
+
if (originalTermProgramVersion === void 0) {
|
|
106935
|
+
delete process.env.TERM_PROGRAM_VERSION;
|
|
106936
|
+
} else {
|
|
106937
|
+
process.env.TERM_PROGRAM_VERSION = originalTermProgramVersion;
|
|
106938
|
+
}
|
|
106939
|
+
if (originalKonsoleVersion === void 0) {
|
|
106940
|
+
delete process.env.KONSOLE_VERSION;
|
|
106941
|
+
} else {
|
|
106942
|
+
process.env.KONSOLE_VERSION = originalKonsoleVersion;
|
|
106943
|
+
}
|
|
106944
|
+
if (originalKittyWindowId === void 0) {
|
|
106945
|
+
delete process.env.KITTY_WINDOW_ID;
|
|
106946
|
+
} else {
|
|
106947
|
+
process.env.KITTY_WINDOW_ID = originalKittyWindowId;
|
|
106948
|
+
}
|
|
106949
|
+
}
|
|
106950
|
+
}
|
|
106951
|
+
async function fetchSiteScreenshotPreview(params) {
|
|
106952
|
+
const previewUrl = params.renderer.storageService.getFilePreview({
|
|
106953
|
+
bucketId: SITE_SCREENSHOT_BUCKET_ID,
|
|
106954
|
+
fileId: params.fileId,
|
|
106955
|
+
width: SITE_SCREENSHOT_PREVIEW_WIDTH,
|
|
106956
|
+
height: SITE_SCREENSHOT_PREVIEW_HEIGHT,
|
|
106957
|
+
output: ImageFormat.Png
|
|
106958
|
+
});
|
|
106959
|
+
const imageData = await params.renderer.consoleClient.call(
|
|
106960
|
+
"get",
|
|
106961
|
+
new URL(previewUrl),
|
|
106962
|
+
{},
|
|
106963
|
+
{},
|
|
106964
|
+
"arrayBuffer"
|
|
106965
|
+
);
|
|
106966
|
+
if (!(imageData instanceof ArrayBuffer)) {
|
|
106967
|
+
throw new Error("Failed to download the site screenshot preview.");
|
|
106968
|
+
}
|
|
106969
|
+
return renderImageBufferToTerminalPreview(Buffer.from(imageData));
|
|
106970
|
+
}
|
|
106971
|
+
function frameTerminalPreview(preview) {
|
|
106972
|
+
const lines = preview.split("\n").map((line) => line.replace(/\s+$/, ""));
|
|
106973
|
+
while (lines.length > 0 && stripVTControlCharacters(lines[0]).trim().length === 0) {
|
|
106974
|
+
lines.shift();
|
|
106975
|
+
}
|
|
106976
|
+
while (lines.length > 0 && stripVTControlCharacters(lines[lines.length - 1]).trim().length === 0) {
|
|
106977
|
+
lines.pop();
|
|
106978
|
+
}
|
|
106979
|
+
if (lines.length === 0) {
|
|
106980
|
+
return "";
|
|
106981
|
+
}
|
|
106982
|
+
const contentWidth = Math.max(
|
|
106983
|
+
...lines.map((line) => stripVTControlCharacters(line).length)
|
|
106984
|
+
);
|
|
106985
|
+
const border = `+-${"-".repeat(contentWidth)}-+`;
|
|
106986
|
+
return [
|
|
106987
|
+
border,
|
|
106988
|
+
...lines.map((line) => {
|
|
106989
|
+
const visibleWidth = stripVTControlCharacters(line).length;
|
|
106990
|
+
return `| ${line}${ANSI_RESET}${" ".repeat(contentWidth - visibleWidth)} |`;
|
|
106991
|
+
}),
|
|
106992
|
+
border
|
|
106993
|
+
].join("\n");
|
|
106994
|
+
}
|
|
106995
|
+
async function renderSiteTerminalPreview(params) {
|
|
106996
|
+
const warnings = /* @__PURE__ */ new Set();
|
|
106997
|
+
const candidates = [
|
|
106998
|
+
{ fileId: params.screenshotDark, label: "dark" },
|
|
106999
|
+
{ fileId: params.screenshotLight, label: "light" }
|
|
107000
|
+
];
|
|
107001
|
+
for (const candidate of candidates) {
|
|
107002
|
+
const { fileId, label } = candidate;
|
|
107003
|
+
if (!fileId) {
|
|
107004
|
+
continue;
|
|
107005
|
+
}
|
|
107006
|
+
try {
|
|
107007
|
+
const preview = await fetchSiteScreenshotPreview({
|
|
107008
|
+
renderer: params.renderer,
|
|
107009
|
+
fileId
|
|
107010
|
+
});
|
|
107011
|
+
return {
|
|
107012
|
+
preview: frameTerminalPreview(preview),
|
|
107013
|
+
warnings: []
|
|
107014
|
+
};
|
|
107015
|
+
} catch (previewError) {
|
|
107016
|
+
warnings.add(
|
|
107017
|
+
`${label === "dark" ? "Dark mode" : "Light mode"} screenshot: ${getErrorMessage(previewError)}`
|
|
107018
|
+
);
|
|
107019
|
+
}
|
|
107020
|
+
}
|
|
107021
|
+
return {
|
|
107022
|
+
preview: void 0,
|
|
107023
|
+
warnings: [...warnings]
|
|
107024
|
+
};
|
|
107025
|
+
}
|
|
106831
107026
|
function withDeploymentLogsHint(message, deploymentLogsController) {
|
|
106832
107027
|
const hint2 = deploymentLogsController.getToggleHint();
|
|
106833
107028
|
return hint2.length > 0 ? `${message} \u2022 ${hint2}` : message;
|
|
@@ -107704,7 +107899,7 @@ var Push = class {
|
|
|
107704
107899
|
deploymentLogsController
|
|
107705
107900
|
)
|
|
107706
107901
|
});
|
|
107707
|
-
|
|
107902
|
+
let timeoutDeadline = Date.now() + DEPLOYMENT_TIMEOUT_MS;
|
|
107708
107903
|
while (true) {
|
|
107709
107904
|
if (Date.now() > timeoutDeadline) {
|
|
107710
107905
|
deploymentLogPrinter.complete();
|
|
@@ -108091,6 +108286,8 @@ var Push = class {
|
|
|
108091
108286
|
deploymentId
|
|
108092
108287
|
);
|
|
108093
108288
|
let waitingSince = null;
|
|
108289
|
+
let readyWithoutScreenshotsSince = null;
|
|
108290
|
+
let activationApplied = false;
|
|
108094
108291
|
const deploymentLogPrinter = createDeploymentLogPrinter({
|
|
108095
108292
|
label: `site:${site.name}`,
|
|
108096
108293
|
showPrefix: sites.length > 1,
|
|
@@ -108130,7 +108327,7 @@ var Push = class {
|
|
|
108130
108327
|
deploymentLogsController
|
|
108131
108328
|
)
|
|
108132
108329
|
});
|
|
108133
|
-
|
|
108330
|
+
let timeoutDeadline = Date.now() + DEPLOYMENT_TIMEOUT_MS;
|
|
108134
108331
|
while (true) {
|
|
108135
108332
|
if (Date.now() > timeoutDeadline) {
|
|
108136
108333
|
deploymentLogPrinter.complete();
|
|
@@ -108164,7 +108361,9 @@ var Push = class {
|
|
|
108164
108361
|
waitingSince = null;
|
|
108165
108362
|
}
|
|
108166
108363
|
if (status === "ready") {
|
|
108167
|
-
|
|
108364
|
+
const { screenshotLight, screenshotDark } = getSiteDeploymentScreenshots(response);
|
|
108365
|
+
const screenshotsReady = hasSiteDeploymentScreenshots(response);
|
|
108366
|
+
if (activate && !activationApplied) {
|
|
108168
108367
|
currentDeploymentEnd = "Setting active deployment...";
|
|
108169
108368
|
updaterRow.update({
|
|
108170
108369
|
status: "Activating",
|
|
@@ -108180,6 +108379,28 @@ var Push = class {
|
|
|
108180
108379
|
siteId: site["$id"],
|
|
108181
108380
|
deploymentId
|
|
108182
108381
|
});
|
|
108382
|
+
activationApplied = true;
|
|
108383
|
+
}
|
|
108384
|
+
if (!screenshotsReady) {
|
|
108385
|
+
readyWithoutScreenshotsSince ??= Date.now();
|
|
108386
|
+
timeoutDeadline = Math.max(
|
|
108387
|
+
timeoutDeadline,
|
|
108388
|
+
readyWithoutScreenshotsSince + SITE_SCREENSHOT_FINALIZATION_TIMEOUT_MS
|
|
108389
|
+
);
|
|
108390
|
+
if (Date.now() - readyWithoutScreenshotsSince < SITE_SCREENSHOT_FINALIZATION_TIMEOUT_MS) {
|
|
108391
|
+
currentDeploymentEnd = "Finalizing deployment preview...";
|
|
108392
|
+
updaterRow.update({
|
|
108393
|
+
status: "Finalizing",
|
|
108394
|
+
end: withDeploymentLogsHint(
|
|
108395
|
+
currentDeploymentEnd,
|
|
108396
|
+
deploymentLogsController
|
|
108397
|
+
)
|
|
108398
|
+
});
|
|
108399
|
+
await new Promise(
|
|
108400
|
+
(resolve3) => setTimeout(resolve3, POLL_DEBOUNCE2)
|
|
108401
|
+
);
|
|
108402
|
+
continue;
|
|
108403
|
+
}
|
|
108183
108404
|
}
|
|
108184
108405
|
successfullyDeployed++;
|
|
108185
108406
|
let url2 = "";
|
|
@@ -108206,7 +108427,14 @@ var Push = class {
|
|
|
108206
108427
|
status: activate ? "Deployed" : "Built",
|
|
108207
108428
|
end: ""
|
|
108208
108429
|
});
|
|
108209
|
-
deploymentLogs.push({
|
|
108430
|
+
deploymentLogs.push({
|
|
108431
|
+
name: site.name,
|
|
108432
|
+
url: url2,
|
|
108433
|
+
consoleUrl,
|
|
108434
|
+
screenshotLight,
|
|
108435
|
+
screenshotDark,
|
|
108436
|
+
screenshotsPending: !screenshotsReady
|
|
108437
|
+
});
|
|
108210
108438
|
break;
|
|
108211
108439
|
} else if (status === "failed") {
|
|
108212
108440
|
deploymentLogPrinter.complete();
|
|
@@ -108261,16 +108489,76 @@ var Push = class {
|
|
|
108261
108489
|
Spinner.stop();
|
|
108262
108490
|
}
|
|
108263
108491
|
if (deploymentLogs.length > 0) {
|
|
108492
|
+
let sitePreviewRenderer = null;
|
|
108493
|
+
let sitePreviewSetupWarning = null;
|
|
108494
|
+
const emittedPreviewWarnings = /* @__PURE__ */ new Set();
|
|
108495
|
+
if (shouldRenderSiteTerminalPreview() && deploymentLogs.some(
|
|
108496
|
+
(deploymentLog) => deploymentLog.screenshotLight || deploymentLog.screenshotDark
|
|
108497
|
+
)) {
|
|
108498
|
+
try {
|
|
108499
|
+
const consoleClient = await sdkForConsole(
|
|
108500
|
+
true,
|
|
108501
|
+
localConfig.getEndpoint() || globalConfig2.getEndpoint()
|
|
108502
|
+
);
|
|
108503
|
+
sitePreviewRenderer = {
|
|
108504
|
+
consoleClient,
|
|
108505
|
+
storageService: await getStorageService(consoleClient)
|
|
108506
|
+
};
|
|
108507
|
+
} catch (previewSetupError) {
|
|
108508
|
+
sitePreviewSetupWarning = getErrorMessage(previewSetupError);
|
|
108509
|
+
}
|
|
108510
|
+
}
|
|
108264
108511
|
process.stdout.write("\n");
|
|
108265
|
-
deploymentLogs.
|
|
108512
|
+
for (const [index, dl] of deploymentLogs.entries()) {
|
|
108266
108513
|
if (index > 0) {
|
|
108267
108514
|
process.stdout.write("\n");
|
|
108268
108515
|
}
|
|
108516
|
+
if (deploymentLogs.length > 1) {
|
|
108517
|
+
process.stdout.write(`${import_chalk9.default.cyan.bold(`Site: ${dl.name}`)}
|
|
108518
|
+
`);
|
|
108519
|
+
}
|
|
108520
|
+
if (dl.screenshotsPending) {
|
|
108521
|
+
hint(
|
|
108522
|
+
"Deployment is ready, but screenshot generation is still finalizing. Open the deployment page to view it once it is available."
|
|
108523
|
+
);
|
|
108524
|
+
}
|
|
108525
|
+
if (sitePreviewRenderer && (dl.screenshotLight || dl.screenshotDark)) {
|
|
108526
|
+
const preview = await renderSiteTerminalPreview({
|
|
108527
|
+
renderer: sitePreviewRenderer,
|
|
108528
|
+
screenshotLight: dl.screenshotLight,
|
|
108529
|
+
screenshotDark: dl.screenshotDark
|
|
108530
|
+
});
|
|
108531
|
+
if (preview.preview) {
|
|
108532
|
+
process.stdout.write(
|
|
108533
|
+
`
|
|
108534
|
+
${import_chalk9.default.cyan.bold("Screenshot preview")}
|
|
108535
|
+
|
|
108536
|
+
`
|
|
108537
|
+
);
|
|
108538
|
+
process.stdout.write(`${preview.preview}
|
|
108539
|
+
|
|
108540
|
+
`);
|
|
108541
|
+
}
|
|
108542
|
+
for (const previewWarning of preview.warnings) {
|
|
108543
|
+
const warningMessage = `Screenshot preview unavailable: ${previewWarning}`;
|
|
108544
|
+
if (emittedPreviewWarnings.has(warningMessage)) {
|
|
108545
|
+
continue;
|
|
108546
|
+
}
|
|
108547
|
+
emittedPreviewWarnings.add(warningMessage);
|
|
108548
|
+
hint(warningMessage);
|
|
108549
|
+
}
|
|
108550
|
+
} else if (sitePreviewSetupWarning && (dl.screenshotLight || dl.screenshotDark)) {
|
|
108551
|
+
const warningMessage = `Screenshot preview unavailable: ${sitePreviewSetupWarning}`;
|
|
108552
|
+
if (!emittedPreviewWarnings.has(warningMessage)) {
|
|
108553
|
+
emittedPreviewWarnings.add(warningMessage);
|
|
108554
|
+
hint(warningMessage);
|
|
108555
|
+
}
|
|
108556
|
+
}
|
|
108269
108557
|
if (dl.url) {
|
|
108270
108558
|
this.log(`Preview link: ${import_chalk9.default.cyan(dl.url)}`);
|
|
108271
108559
|
}
|
|
108272
108560
|
this.log(`Deployment page: ${import_chalk9.default.cyan(dl.consoleUrl)}`);
|
|
108273
|
-
}
|
|
108561
|
+
}
|
|
108274
108562
|
process.stdout.write("\n");
|
|
108275
108563
|
}
|
|
108276
108564
|
return {
|
|
@@ -110521,7 +110809,7 @@ var BaseDatabasesGenerator = class {
|
|
|
110521
110809
|
};
|
|
110522
110810
|
|
|
110523
110811
|
// lib/commands/generators/typescript/templates/types.ts.hbs
|
|
110524
|
-
var types_ts_default = "import { type Models } from '{{appwriteDep}}';\n\n{{{ENUMS}}}{{{TYPES}}}\ndeclare const __roleStringBrand: unique symbol;\nexport type RoleString = string & { readonly [__roleStringBrand]: never };\n\nexport type RoleBuilder = {\n any: () => RoleString;\n user: (userId: string, status?: string) => RoleString;\n users: (status?: string) => RoleString;\n guests: () => RoleString;\n team: (teamId: string, role?: string) => RoleString;\n member: (memberId: string) => RoleString;\n label: (label: string) => RoleString;\n}\n\nexport type PermissionBuilder = {\n read: (role: RoleString) => string;\n write: (role: RoleString) => string;\n create: (role: RoleString) => string;\n update: (role: RoleString) => string;\n delete: (role: RoleString) => string;\n}\n\nexport type PermissionCallback = (permission: PermissionBuilder, role: RoleBuilder) => string[];\n\nexport type QueryValue = string | number | boolean;\n\nexport type ExtractQueryValue<T> = T extends (infer U)[]\n ? U extends QueryValue ? U : never\n : T extends QueryValue | null ? NonNullable<T> : never;\n\nexport type QueryableKeys<T> = {\n [K in keyof T]: ExtractQueryValue<T[K]> extends never ? never : K;\n}[keyof T];\n\nexport type QueryBuilder<T> = {\n equal: <K extends QueryableKeys<T>>(field: K, value:
|
|
110812
|
+
var types_ts_default = "import { type Models } from '{{appwriteDep}}';\n\n{{{ENUMS}}}{{{TYPES}}}\ndeclare const __roleStringBrand: unique symbol;\nexport type RoleString = string & { readonly [__roleStringBrand]: never };\n\nexport type RoleBuilder = {\n any: () => RoleString;\n user: (userId: string, status?: string) => RoleString;\n users: (status?: string) => RoleString;\n guests: () => RoleString;\n team: (teamId: string, role?: string) => RoleString;\n member: (memberId: string) => RoleString;\n label: (label: string) => RoleString;\n}\n\nexport type PermissionBuilder = {\n read: (role: RoleString) => string;\n write: (role: RoleString) => string;\n create: (role: RoleString) => string;\n update: (role: RoleString) => string;\n delete: (role: RoleString) => string;\n}\n\nexport type PermissionCallback = (permission: PermissionBuilder, role: RoleBuilder) => string[];\n\nexport type QueryValue = string | number | boolean;\n\nexport type ExtractQueryValue<T> = T extends (infer U)[]\n ? U extends QueryValue ? U : never\n : T extends QueryValue | null ? NonNullable<T> : never;\n\nexport type QueryableKeys<T> = {\n [K in keyof T]: ExtractQueryValue<T[K]> extends never ? never : K;\n}[keyof T];\n\nexport type QueryableFieldValue<T, K> = K extends keyof T\n ? ExtractQueryValue<T[K]>\n : never;\n\nexport type QueryBuilder<T> = {\n equal: <K extends QueryableKeys<T>>(field: K, value: QueryableFieldValue<T, K>) => string;\n notEqual: <K extends QueryableKeys<T>>(field: K, value: QueryableFieldValue<T, K>) => string;\n lessThan: <K extends QueryableKeys<T>>(field: K, value: QueryableFieldValue<T, K>) => string;\n lessThanEqual: <K extends QueryableKeys<T>>(field: K, value: QueryableFieldValue<T, K>) => string;\n greaterThan: <K extends QueryableKeys<T>>(field: K, value: QueryableFieldValue<T, K>) => string;\n greaterThanEqual: <K extends QueryableKeys<T>>(field: K, value: QueryableFieldValue<T, K>) => string;\n contains: <K extends QueryableKeys<T>>(field: K, value: QueryableFieldValue<T, K>) => string;\n search: <K extends QueryableKeys<T>>(field: K, value: string) => string;\n isNull: <K extends QueryableKeys<T>>(field: K) => string;\n isNotNull: <K extends QueryableKeys<T>>(field: K) => string;\n startsWith: <K extends QueryableKeys<T>>(field: K, value: string) => string;\n endsWith: <K extends QueryableKeys<T>>(field: K, value: string) => string;\n between: <K extends QueryableKeys<T>>(field: K, start: QueryableFieldValue<T, K>, end: QueryableFieldValue<T, K>) => string;\n select: <K extends keyof T>(fields: K[]) => string;\n orderAsc: <K extends keyof T>(field: K) => string;\n orderDesc: <K extends keyof T>(field: K) => string;\n limit: (value: number) => string;\n offset: (value: number) => string;\n cursorAfter: (documentId: string) => string;\n cursorBefore: (documentId: string) => string;\n or: (...queries: string[]) => string;\n and: (...queries: string[]) => string;\n}\n\nexport type DatabaseId = {{{databaseIdType}}};\n\n{{{DATABASE_TABLES_TYPE}}}\n";
|
|
110525
110813
|
|
|
110526
110814
|
// lib/commands/generators/typescript/templates/databases.ts.hbs
|
|
110527
110815
|
var databases_ts_default = 'import { Client, TablesDB, ID, Query, type Models, Permission, Role } from \'{{appwriteDep}}\';\nimport type { DatabaseHandle, DatabaseId, DatabaseTableMap, DatabaseTables, QueryBuilder, QueryValue, PermissionBuilder, RoleBuilder, RoleString } from \'./types{{importExt}}\';\n{{#if supportsServerSide}}\nimport { PROJECT_ID, ENDPOINT, API_KEY } from \'./constants{{importExt}}\';\n{{else}}\nimport { PROJECT_ID, ENDPOINT } from \'./constants{{importExt}}\';\n{{/if}}\n\nconst createQueryBuilder = <T>(): QueryBuilder<T> => ({\n equal: (field, value) => Query.equal(String(field), value as QueryValue),\n notEqual: (field, value) => Query.notEqual(String(field), value as QueryValue),\n lessThan: (field, value) => Query.lessThan(String(field), value as QueryValue),\n lessThanEqual: (field, value) => Query.lessThanEqual(String(field), value as QueryValue),\n greaterThan: (field, value) => Query.greaterThan(String(field), value as QueryValue),\n greaterThanEqual: (field, value) => Query.greaterThanEqual(String(field), value as QueryValue),\n contains: (field, value) => Query.contains(String(field), value as string | QueryValue[]),\n search: (field, value) => Query.search(String(field), value),\n isNull: (field) => Query.isNull(String(field)),\n isNotNull: (field) => Query.isNotNull(String(field)),\n startsWith: (field, value) => Query.startsWith(String(field), value),\n endsWith: (field, value) => Query.endsWith(String(field), value),\n between: (field, start, end) => Query.between(String(field), start as string | number, end as string | number),\n select: (fields) => Query.select(fields.map(String)),\n orderAsc: (field) => Query.orderAsc(String(field)),\n orderDesc: (field) => Query.orderDesc(String(field)),\n limit: (value) => Query.limit(value),\n offset: (value) => Query.offset(value),\n cursorAfter: (documentId) => Query.cursorAfter(documentId),\n cursorBefore: (documentId) => Query.cursorBefore(documentId),\n or: (...queries) => Query.or(queries),\n and: (...queries) => Query.and(queries),\n});\n\n{{{TABLE_ID_MAP}}}\n\n{{{TABLES_WITH_RELATIONSHIPS}}}\n\nconst roleBuilder: RoleBuilder = {\n any: () => Role.any() as RoleString,\n user: (userId, status?) => Role.user(userId, status) as RoleString,\n users: (status?) => Role.users(status) as RoleString,\n guests: () => Role.guests() as RoleString,\n team: (teamId, role?) => Role.team(teamId, role) as RoleString,\n member: (memberId) => Role.member(memberId) as RoleString,\n label: (label) => Role.label(label) as RoleString,\n};\n\nconst permissionBuilder: PermissionBuilder = {\n read: (role) => Permission.read(role),\n write: (role) => Permission.write(role),\n create: (role) => Permission.create(role),\n update: (role) => Permission.update(role),\n delete: (role) => Permission.delete(role),\n};\n\nconst resolvePermissions = (callback?: (permission: { read: (role: RoleString) => string; write: (role: RoleString) => string; create: (role: RoleString) => string; update: (role: RoleString) => string; delete: (role: RoleString) => string }, role: { any: () => RoleString; user: (userId: string, status?: string) => RoleString; users: (status?: string) => RoleString; guests: () => RoleString; team: (teamId: string, role?: string) => RoleString; member: (memberId: string) => RoleString; label: (label: string) => RoleString }) => string[]): string[] | undefined =>\n callback?.(permissionBuilder, roleBuilder);\n\nfunction createTableApi<T extends Models.Row>(\n tablesDB: TablesDB,\n databaseId: string,\n tableId: string,\n) {\n return {\n create: (data: Omit<T, keyof Models.Row>, options?: { rowId?: string; permissions?: (permission: { read: (role: RoleString) => string; write: (role: RoleString) => string; create: (role: RoleString) => string; update: (role: RoleString) => string; delete: (role: RoleString) => string }, role: { any: () => RoleString; user: (userId: string, status?: string) => RoleString; users: (status?: string) => RoleString; guests: () => RoleString; team: (teamId: string, role?: string) => RoleString; member: (memberId: string) => RoleString; label: (label: string) => RoleString }) => string[]; transactionId?: string }) =>\n tablesDB.createRow<T>({\n databaseId,\n tableId,\n rowId: options?.rowId ?? ID.unique(),\n data: data as T extends Models.DefaultRow ? Partial<Models.Row> & Record<string, unknown> : Partial<Models.Row> & Omit<T, keyof Models.Row>,\n permissions: resolvePermissions(options?.permissions),\n transactionId: options?.transactionId,\n }),\n get: (id: string) =>\n tablesDB.getRow<T>({\n databaseId,\n tableId,\n rowId: id,\n }),\n update: (id: string, data: Partial<Omit<T, keyof Models.Row>>, options?: { permissions?: (permission: { read: (role: RoleString) => string; write: (role: RoleString) => string; create: (role: RoleString) => string; update: (role: RoleString) => string; delete: (role: RoleString) => string }, role: { any: () => RoleString; user: (userId: string, status?: string) => RoleString; users: (status?: string) => RoleString; guests: () => RoleString; team: (teamId: string, role?: string) => RoleString; member: (memberId: string) => RoleString; label: (label: string) => RoleString }) => string[]; transactionId?: string }) =>\n tablesDB.updateRow<T>({\n databaseId,\n tableId,\n rowId: id,\n data: data as T extends Models.DefaultRow ? Partial<Models.Row> & Record<string, unknown> : Partial<Models.Row> & Partial<Omit<T, keyof Models.Row>>,\n ...(options?.permissions ? { permissions: resolvePermissions(options.permissions) } : {}),\n transactionId: options?.transactionId,\n }),\n delete: async (id: string, options?: { transactionId?: string }) => {\n await tablesDB.deleteRow({\n databaseId,\n tableId,\n rowId: id,\n transactionId: options?.transactionId,\n });\n },\n list: (options?: { queries?: (q: QueryBuilder<T>) => string[] }) =>\n tablesDB.listRows<T>({\n databaseId,\n tableId,\n queries: options?.queries?.(createQueryBuilder<T>()),\n }),{{{BULK_METHODS}}}\n };\n}\n\n{{{BULK_CHECK}}}\nconst hasOwn = (obj: unknown, key: string): boolean =>\n obj != null && Object.prototype.hasOwnProperty.call(obj, key);\n\nfunction createDatabaseHandle<D extends DatabaseId>(\n tablesDB: TablesDB,\n databaseId: D,\n): DatabaseHandle<D> {\n const tableApiCache = new Map<string, unknown>();\n const dbMap = tableIdMap[databaseId];\n\n return {\n use: <T extends keyof DatabaseTableMap[D] & string>(tableId: T): DatabaseTableMap[D][T] => {\n if (!hasOwn(dbMap, tableId)) {\n throw new Error(`Unknown table "${tableId}" in database "${databaseId}"`);\n }\n\n if (!tableApiCache.has(tableId)) {\n const resolvedTableId = dbMap[tableId];\n const api = createTableApi(tablesDB, databaseId, resolvedTableId);\n {{{BULK_REMOVAL}}}\n tableApiCache.set(tableId, api);\n }\n return tableApiCache.get(tableId) as DatabaseTableMap[D][T];\n },\n{{#if supportsServerSide}}\n create: (tableId: string, name: string, options?: { permissions?: (permission: { read: (role: RoleString) => string; write: (role: RoleString) => string; create: (role: RoleString) => string; update: (role: RoleString) => string; delete: (role: RoleString) => string }, role: { any: () => RoleString; user: (userId: string, status?: string) => RoleString; users: (status?: string) => RoleString; guests: () => RoleString; team: (teamId: string, role?: string) => RoleString; member: (memberId: string) => RoleString; label: (label: string) => RoleString }) => string[]; rowSecurity?: boolean; enabled?: boolean; columns?: object[]; indexes?: object[] }) =>\n tablesDB.createTable({\n databaseId,\n tableId,\n name,\n permissions: resolvePermissions(options?.permissions),\n rowSecurity: options?.rowSecurity,\n enabled: options?.enabled,\n columns: options?.columns,\n indexes: options?.indexes,\n }),\n update: (tableId: string, options?: { name?: string; permissions?: (permission: { read: (role: RoleString) => string; write: (role: RoleString) => string; create: (role: RoleString) => string; update: (role: RoleString) => string; delete: (role: RoleString) => string }, role: { any: () => RoleString; user: (userId: string, status?: string) => RoleString; users: (status?: string) => RoleString; guests: () => RoleString; team: (teamId: string, role?: string) => RoleString; member: (memberId: string) => RoleString; label: (label: string) => RoleString }) => string[]; rowSecurity?: boolean; enabled?: boolean }) => {\n if (!hasOwn(dbMap, tableId)) {\n throw new Error(`Unknown table "${tableId}" in database "${databaseId}"`);\n }\n const resolvedTableId = dbMap[tableId];\n return tablesDB.updateTable({\n databaseId,\n tableId: resolvedTableId,\n name: options?.name,\n permissions: resolvePermissions(options?.permissions),\n rowSecurity: options?.rowSecurity,\n enabled: options?.enabled,\n });\n },\n delete: async (tableId: string) => {\n if (!hasOwn(dbMap, tableId)) {\n throw new Error(`Unknown table "${tableId}" in database "${databaseId}"`);\n }\n const resolvedTableId = dbMap[tableId];\n await tablesDB.deleteTable({\n databaseId,\n tableId: resolvedTableId,\n });\n },\n{{/if}}\n };\n}\n\nfunction createDatabasesApi(tablesDB: TablesDB): DatabaseTables {\n const dbCache = new Map<DatabaseId, ReturnType<typeof createDatabaseHandle>>();\n\n return {\n use: (databaseId: DatabaseId) => {\n if (!hasOwn(tableIdMap, databaseId)) {\n throw new Error(`Unknown database "${databaseId}"`);\n }\n\n if (!dbCache.has(databaseId)) {\n dbCache.set(databaseId, createDatabaseHandle(tablesDB, databaseId));\n }\n return dbCache.get(databaseId);\n },\n{{#if supportsServerSide}}\n create: (databaseId: string, name: string, options?: { enabled?: boolean }) =>\n tablesDB.create({\n databaseId,\n name,\n enabled: options?.enabled,\n }),\n update: (databaseId: DatabaseId, options?: { name?: string; enabled?: boolean }) => {\n return tablesDB.update({\n databaseId,\n name: options?.name ?? databaseId,\n enabled: options?.enabled,\n });\n },\n delete: async (databaseId: DatabaseId) => {\n await tablesDB.delete({\n databaseId,\n });\n },\n{{/if}}\n } as DatabaseTables;\n}\n\n// Initialize client\nconst client = new Client()\n .setEndpoint(ENDPOINT)\n .setProject(PROJECT_ID){{#if supportsServerSide}}\n .setKey(API_KEY){{/if}};\n\nconst tablesDB = new TablesDB(client);\n\nexport const databases: DatabaseTables = createDatabasesApi(tablesDB);\n';
|
|
@@ -110538,7 +110826,7 @@ var databasesTemplate = import_handlebars.default.compile(String(databases_ts_de
|
|
|
110538
110826
|
var indexTemplate = import_handlebars.default.compile(String(index_ts_default));
|
|
110539
110827
|
var constantsTemplate = import_handlebars.default.compile(String(constants_ts_default));
|
|
110540
110828
|
var PERMISSION_CALLBACK_INLINE = `(permission: { read: (role: RoleString) => string; write: (role: RoleString) => string; create: (role: RoleString) => string; update: (role: RoleString) => string; delete: (role: RoleString) => string }, role: { any: () => RoleString; user: (userId: string, status?: string) => RoleString; users: (status?: string) => RoleString; guests: () => RoleString; team: (teamId: string, role?: string) => RoleString; member: (memberId: string) => RoleString; label: (label: string) => RoleString }) => string[]`;
|
|
110541
|
-
var getQueryCallbackInline = (typeName) => `(q: { equal: <K extends QueryableKeys<${typeName}>>(field: K, value:
|
|
110829
|
+
var getQueryCallbackInline = (typeName) => `(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[]`;
|
|
110542
110830
|
var TypeScriptDatabasesGenerator = class extends BaseDatabasesGenerator {
|
|
110543
110831
|
language = "typescript";
|
|
110544
110832
|
fileExtension = "ts";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../lib/commands/push.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../lib/commands/push.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../lib/commands/update.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../lib/commands/update.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyYpC,eAAO,MAAM,MAAM,SAMe,CAAC"}
|
package/dist/lib/constants.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare const SDK_TITLE = "Appwrite";
|
|
2
2
|
export declare const SDK_TITLE_LOWER = "appwrite";
|
|
3
|
-
export declare const SDK_VERSION = "18.
|
|
3
|
+
export declare const SDK_VERSION = "18.1.0";
|
|
4
4
|
export declare const SDK_NAME = "Command Line";
|
|
5
5
|
export declare const SDK_PLATFORM = "console";
|
|
6
6
|
export declare const SDK_LANGUAGE = "cli";
|
package/dist/lib/sdks.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Client } from "@appwrite.io/console";
|
|
2
|
-
export declare const sdkForConsole: (requiresAuth?: boolean) => Promise<Client>;
|
|
2
|
+
export declare const sdkForConsole: (requiresAuth?: boolean, endpointOverride?: string) => Promise<Client>;
|
|
3
3
|
export declare const sdkForProject: () => Promise<Client>;
|
|
4
4
|
//# sourceMappingURL=sdks.d.ts.map
|
package/dist/lib/sdks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdks.d.ts","sourceRoot":"","sources":["../../lib/sdks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAS9C,eAAO,MAAM,aAAa,GACxB,eAAc,OAAc,
|
|
1
|
+
{"version":3,"file":"sdks.d.ts","sourceRoot":"","sources":["../../lib/sdks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAS9C,eAAO,MAAM,aAAa,GACxB,eAAc,OAAc,EAC5B,mBAAmB,MAAM,KACxB,OAAO,CAAC,MAAM,CA8BhB,CAAC;AAEF,eAAO,MAAM,aAAa,QAAa,OAAO,CAAC,MAAM,CA8CpD,CAAC"}
|
package/dist/lib/utils.d.ts
CHANGED
|
@@ -9,6 +9,8 @@ type SiteBuildConfig = {
|
|
|
9
9
|
};
|
|
10
10
|
export declare const siteRequiresBuildCommand: (site: SiteBuildConfig) => boolean;
|
|
11
11
|
export declare const getErrorMessage: (error: unknown) => string;
|
|
12
|
+
export type InstallationMethod = "npm" | "homebrew" | "standalone";
|
|
13
|
+
export declare const detectInstallationMethod: () => InstallationMethod | null;
|
|
12
14
|
export declare const getConsoleBaseUrl: (endpoint: string) => string;
|
|
13
15
|
export declare const getConsoleProjectSlug: (endpoint: string, projectId: string) => string;
|
|
14
16
|
export declare const getFunctionDeploymentConsoleUrl: (endpoint: string, projectId: string, functionId: string, deploymentId: string) => string;
|
|
@@ -20,6 +22,12 @@ export declare const syncVersionCheckCache: (currentVersion: string, latestVersi
|
|
|
20
22
|
export declare function getLatestVersion(options?: {
|
|
21
23
|
timeoutMs?: number;
|
|
22
24
|
}): Promise<string>;
|
|
25
|
+
export declare function getLatestVersionForInstallation(method: InstallationMethod | null, options?: {
|
|
26
|
+
timeoutMs?: number;
|
|
27
|
+
}): Promise<string>;
|
|
28
|
+
export declare function getLatestVersionForCurrentInstallation(options?: {
|
|
29
|
+
timeoutMs?: number;
|
|
30
|
+
}): Promise<string>;
|
|
23
31
|
/**
|
|
24
32
|
* Compare versions using semantic versioning
|
|
25
33
|
*/
|
package/dist/lib/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"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"}
|