@serve.zone/appstore 32.27.0 → 33.0.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/.smartconfig.json +4 -1
- package/changelog.md +57 -0
- package/dist_catalog/catalog.digest +1 -0
- package/dist_catalog/catalog.envelope.json +7440 -0
- package/{dist_ts_client/data.generated.js → dist_catalog/catalog.json} +6740 -6913
- package/dist_ts_client/catalog.d.ts +16 -0
- package/dist_ts_client/catalog.js +12 -0
- package/dist_ts_client/index.d.ts +3 -1
- package/dist_ts_client/index.js +4 -2
- package/dist_ts_client/loader.d.ts +69 -0
- package/dist_ts_client/loader.js +361 -0
- package/dist_ts_client/plugins.d.ts +5 -0
- package/dist_ts_client/plugins.js +8 -0
- package/dist_ts_client/projection.d.ts +59 -0
- package/dist_ts_client/projection.js +83 -0
- package/dist_ts_client/storage.d.ts +15 -9
- package/dist_ts_client/storage.js +81 -657
- package/dist_ts_client/types.d.ts +86 -41
- package/dist_ts_client/types.js +1 -1
- package/dist_ts_testing/fixtures.d.ts +83 -0
- package/dist_ts_testing/fixtures.js +146 -0
- package/dist_ts_testing/index.d.ts +1 -0
- package/dist_ts_testing/index.js +2 -0
- package/dist_ts_testing/plugins.d.ts +7 -0
- package/dist_ts_testing/plugins.js +11 -0
- package/package.json +15 -10
- package/readme.md +161 -92
- package/ts_client/catalog.ts +26 -0
- package/ts_client/index.ts +3 -1
- package/ts_client/loader.ts +414 -0
- package/ts_client/plugins.ts +10 -0
- package/ts_client/projection.ts +148 -0
- package/ts_client/readme.md +17 -27
- package/ts_client/storage.ts +93 -882
- package/ts_client/types.ts +102 -42
- package/ts_testing/fixtures.ts +230 -0
- package/ts_testing/index.ts +1 -0
- package/ts_testing/plugins.ts +15 -0
- package/ts_testing/tspublish.json +3 -0
- package/apps/adminer/app.json +0 -10
- package/apps/adminer/versions/1.0.0/config.json +0 -6
- package/apps/cloudly/app.json +0 -14
- package/apps/cloudly/versions/1.0.0/config.json +0 -120
- package/apps/cloudly/versions/1.1.0/config.json +0 -120
- package/apps/cloudly/versions/1.1.1/config.json +0 -120
- package/apps/cloudly/versions/1.1.10/config.json +0 -173
- package/apps/cloudly/versions/1.1.2/config.json +0 -130
- package/apps/cloudly/versions/1.1.3/config.json +0 -130
- package/apps/cloudly/versions/1.1.4/config.json +0 -130
- package/apps/cloudly/versions/1.1.5/config.json +0 -149
- package/apps/cloudly/versions/1.1.6/config.json +0 -149
- package/apps/cloudly/versions/1.1.7/config.json +0 -149
- package/apps/cloudly/versions/1.1.8/config.json +0 -173
- package/apps/cloudly/versions/1.1.9/config.json +0 -173
- package/apps/cloudly/versions/1.10.0/config.json +0 -173
- package/apps/cloudly/versions/1.11.0/config.json +0 -173
- package/apps/cloudly/versions/1.12.0/config.json +0 -173
- package/apps/cloudly/versions/1.13.0/config.json +0 -173
- package/apps/cloudly/versions/1.14.0/config.json +0 -173
- package/apps/cloudly/versions/1.15.0/config.json +0 -173
- package/apps/cloudly/versions/1.16.0/config.json +0 -173
- package/apps/cloudly/versions/1.17.0/config.json +0 -173
- package/apps/cloudly/versions/1.18.0/config.json +0 -173
- package/apps/cloudly/versions/1.19.0/config.json +0 -173
- package/apps/cloudly/versions/1.2.0/config.json +0 -173
- package/apps/cloudly/versions/1.2.1/config.json +0 -173
- package/apps/cloudly/versions/1.20.0/config.json +0 -173
- package/apps/cloudly/versions/1.21.0/config.json +0 -173
- package/apps/cloudly/versions/1.22.0/config.json +0 -173
- package/apps/cloudly/versions/1.23.0/config.json +0 -173
- package/apps/cloudly/versions/1.24.0/config.json +0 -173
- package/apps/cloudly/versions/1.25.0/config.json +0 -173
- package/apps/cloudly/versions/1.26.0/config.json +0 -173
- package/apps/cloudly/versions/1.27.0/config.json +0 -173
- package/apps/cloudly/versions/1.3.0/config.json +0 -173
- package/apps/cloudly/versions/1.4.0/config.json +0 -173
- package/apps/cloudly/versions/1.5.0/config.json +0 -173
- package/apps/cloudly/versions/1.6.0/config.json +0 -173
- package/apps/cloudly/versions/1.7.0/config.json +0 -173
- package/apps/cloudly/versions/1.8.0/config.json +0 -173
- package/apps/cloudly/versions/1.9.0/config.json +0 -173
- package/apps/ghost/app.json +0 -10
- package/apps/ghost/versions/1.0.0/config.json +0 -18
- package/apps/gitea/app.json +0 -10
- package/apps/gitea/versions/1.0.0/config.json +0 -16
- package/apps/gitops/app.json +0 -14
- package/apps/gitops/versions/1.0.0/config.json +0 -28
- package/apps/grafana/app.json +0 -10
- package/apps/grafana/versions/1.0.0/config.json +0 -9
- package/apps/mariadb/app.json +0 -10
- package/apps/mariadb/versions/1.0.0/config.json +0 -9
- package/apps/mattermost/app.json +0 -10
- package/apps/mattermost/versions/1.0.0/config.json +0 -6
- package/apps/n8n/app.json +0 -10
- package/apps/n8n/versions/1.0.0/config.json +0 -6
- package/apps/nextcloud/app.json +0 -10
- package/apps/nextcloud/versions/1.0.0/config.json +0 -16
- package/apps/nginx/app.json +0 -10
- package/apps/nginx/versions/1.0.0/config.json +0 -6
- package/apps/openbao/app.json +0 -16
- package/apps/openbao/versions/1.0.0/config.json +0 -52
- package/apps/plausible/app.json +0 -10
- package/apps/plausible/versions/1.0.0/config.json +0 -9
- package/apps/portainer/app.json +0 -10
- package/apps/portainer/versions/1.0.0/config.json +0 -6
- package/apps/postgres/app.json +0 -10
- package/apps/postgres/versions/1.0.0/config.json +0 -11
- package/apps/rustdesk-server/app.json +0 -14
- package/apps/rustdesk-server/versions/1.0.0/config.json +0 -19
- package/apps/siprouter/app.json +0 -14
- package/apps/siprouter/versions/1.0.0/config.json +0 -84
- package/apps/uptime-kuma/app.json +0 -10
- package/apps/uptime-kuma/versions/1.0.0/config.json +0 -6
- package/apps/valkey/app.json +0 -10
- package/apps/valkey/versions/1.0.0/config.json +0 -6
- package/apps/vaultwarden/app.json +0 -10
- package/apps/vaultwarden/versions/1.0.0/config.json +0 -6
- package/apps/wordpress/app.json +0 -10
- package/apps/wordpress/versions/1.0.0/config.json +0 -15
- package/appstore.json +0 -194
- package/dist_ts_client/classes.appstoreresolver.d.ts +0 -59
- package/dist_ts_client/classes.appstoreresolver.js +0 -736
- package/dist_ts_client/data.generated.d.ts +0 -2
- package/ts_client/classes.appstoreresolver.ts +0 -896
- package/ts_client/data.generated.ts +0 -7606
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import * as plugins from './plugins.js';
|
|
2
|
+
const selectLatestInstallableVersion = (appArg, installableArg) => {
|
|
3
|
+
if (appArg.upgradeStrategy === 'branch') {
|
|
4
|
+
return installableArg.includes(appArg.latestVersion) ? appArg.latestVersion : null;
|
|
5
|
+
}
|
|
6
|
+
const { data } = plugins.servezoneInterfaces;
|
|
7
|
+
let latest = null;
|
|
8
|
+
for (const version of installableArg) {
|
|
9
|
+
const parsed = data.parseReleaseVersion(version);
|
|
10
|
+
if (parsed === null) {
|
|
11
|
+
throw new Error(`App Store catalog app '${appArg.info.id}' lists '${version}', which is not a release version`);
|
|
12
|
+
}
|
|
13
|
+
if (latest === null || data.compareReleaseVersions(parsed, latest.parsed) > 0)
|
|
14
|
+
latest = { version, parsed };
|
|
15
|
+
}
|
|
16
|
+
return latest === null ? null : latest.version;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Projects one catalog app for a consumer: every listed version with its install refusal, the
|
|
20
|
+
* newest install target for this consumer, and the `IAppStoreApp` / `IAppStoreAppMeta` shapes its App Store views
|
|
21
|
+
* show. Pure: it reads the catalog app and never changes it.
|
|
22
|
+
*/
|
|
23
|
+
export const projectAppStoreCatalogApp = (appArg, optionsArg) => {
|
|
24
|
+
const supportedFeatureIds = [...optionsArg.supportedFeatureIds];
|
|
25
|
+
const versions = appArg.versions.map((versionArg) => ({
|
|
26
|
+
version: versionArg.version,
|
|
27
|
+
installRefusal: plugins.servezoneInterfaces.appstore.judgeAppStoreCatalogInstallTarget(versionArg, supportedFeatureIds, optionsArg.consumer),
|
|
28
|
+
}));
|
|
29
|
+
const installable = versions
|
|
30
|
+
.filter((versionArg) => versionArg.installRefusal === null)
|
|
31
|
+
.map((versionArg) => versionArg.version);
|
|
32
|
+
const latestInstallableVersion = selectLatestInstallableVersion(appArg, installable);
|
|
33
|
+
const { info } = appArg;
|
|
34
|
+
const display = latestInstallableVersion === null
|
|
35
|
+
? null
|
|
36
|
+
: {
|
|
37
|
+
app: {
|
|
38
|
+
id: info.id,
|
|
39
|
+
name: info.name,
|
|
40
|
+
description: info.description,
|
|
41
|
+
category: info.category,
|
|
42
|
+
...(info.iconName === undefined ? {} : { iconName: info.iconName }),
|
|
43
|
+
...(info.iconUrl === undefined ? {} : { iconUrl: info.iconUrl }),
|
|
44
|
+
latestVersion: latestInstallableVersion,
|
|
45
|
+
versions: [...installable],
|
|
46
|
+
versionStates: structuredClone(versions),
|
|
47
|
+
...(info.tags === undefined ? {} : { tags: [...info.tags] }),
|
|
48
|
+
...(appArg.upgradeStrategy === undefined ? {} : { upgradeStrategy: appArg.upgradeStrategy }),
|
|
49
|
+
},
|
|
50
|
+
meta: {
|
|
51
|
+
id: info.id,
|
|
52
|
+
name: info.name,
|
|
53
|
+
description: info.description,
|
|
54
|
+
category: info.category,
|
|
55
|
+
...(info.iconName === undefined ? {} : { iconName: info.iconName }),
|
|
56
|
+
latestVersion: latestInstallableVersion,
|
|
57
|
+
versions: [...installable],
|
|
58
|
+
versionStates: structuredClone(versions),
|
|
59
|
+
...(info.maintainer === undefined ? {} : { maintainer: info.maintainer }),
|
|
60
|
+
...(info.links === undefined ? {} : { links: { ...info.links } }),
|
|
61
|
+
...(info.tags === undefined ? {} : { tags: [...info.tags] }),
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
return {
|
|
65
|
+
appId: info.id,
|
|
66
|
+
catalogLatestVersion: appArg.latestVersion,
|
|
67
|
+
versions,
|
|
68
|
+
latestInstallableVersion,
|
|
69
|
+
display,
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
/** Projects every catalog app, in catalog order (by id). */
|
|
73
|
+
export const projectAppStoreCatalog = (catalogArg, optionsArg) => {
|
|
74
|
+
const options = { supportedFeatureIds: [...optionsArg.supportedFeatureIds], consumer: optionsArg.consumer };
|
|
75
|
+
return catalogArg.apps.map((appArg) => projectAppStoreCatalogApp(appArg, options));
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* The App Store listing a consumer serves (`getAppStoreTemplates`): one `IAppStoreApp` per app
|
|
79
|
+
* that has an install target for it, in catalog order. An app without one is left out of the
|
|
80
|
+
* listing; its projection (`projectAppStoreCatalogApp`) still states why.
|
|
81
|
+
*/
|
|
82
|
+
export const getAppStoreCatalogListing = (catalogArg, optionsArg) => projectAppStoreCatalog(catalogArg, optionsArg).flatMap((projectionArg) => projectionArg.display === null ? [] : [projectionArg.display.app]);
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzX2NsaWVudC9wcm9qZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBa0R4QyxNQUFNLDhCQUE4QixHQUFHLENBQUMsTUFBbUIsRUFBRSxjQUFpQyxFQUFpQixFQUFFO0lBQy9HLElBQUksTUFBTSxDQUFDLGVBQWUsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUN4QyxPQUFPLGNBQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDckYsQ0FBQztJQUNELE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUMsbUJBQW1CLENBQUM7SUFDN0MsSUFBSSxNQUFNLEdBQXlGLElBQUksQ0FBQztJQUN4RyxLQUFLLE1BQU0sT0FBTyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQ3JDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqRCxJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsWUFBWSxPQUFPLG1DQUFtQyxDQUFDLENBQUM7UUFDbEgsQ0FBQztRQUNELElBQUksTUFBTSxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1lBQUUsTUFBTSxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQzlHLENBQUM7SUFDRCxPQUFPLE1BQU0sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxD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
|
|
@@ -1,13 +1,19 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import * as plugins from './plugins.js';
|
|
2
|
+
import type { IAppStoreStorageNormalizationOptions, INormalizedAppStoreStorageConfig } from './types.js';
|
|
3
|
+
type TCatalogVersionConfig = plugins.servezoneInterfaces.appstore.TAppStoreCatalogVersionConfig;
|
|
4
|
+
type TVolume = plugins.servezoneInterfaces.appstore.IAppStoreVolume;
|
|
3
5
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* call normalizeAppStoreStorageConfig with an advertised feature set.
|
|
6
|
+
* The legacy `volumes` of a version config in their object form (`{ name?, mountPath, readOnly?,
|
|
7
|
+
* backup? }`), after the config's storage passed the interfaces contract.
|
|
7
8
|
*/
|
|
8
|
-
export declare function
|
|
9
|
+
export declare function normalizeAppStoreVolumes(configArg: TCatalogVersionConfig, labelArg?: string): TVolume[];
|
|
9
10
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
11
|
+
* The canonical pre-fulfillment storage handoff of a version config.
|
|
12
|
+
*
|
|
13
|
+
* The config's storage is judged by the interfaces contract first. Legacy `volumes` become
|
|
14
|
+
* filesystem requests of the reserved `legacyFilesystem` class, `platformRequirements.s3` becomes
|
|
15
|
+
* the `legacy-s3` object-storage request, and explicit requests fail closed unless every storage
|
|
16
|
+
* feature they need is advertised by the target runtime.
|
|
12
17
|
*/
|
|
13
|
-
export declare function normalizeAppStoreStorageConfig(configArg:
|
|
18
|
+
export declare function normalizeAppStoreStorageConfig(configArg: TCatalogVersionConfig, optionsArg: IAppStoreStorageNormalizationOptions, labelArg?: string): INormalizedAppStoreStorageConfig;
|
|
19
|
+
export {};
|