@gtkx/config 2.0.0-beta.10 → 2.0.0-beta.12
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 +11 -169
- package/dist/builtin-elements.d.ts +11 -0
- package/dist/builtin-elements.d.ts.map +1 -0
- package/dist/builtin-elements.js +329 -0
- package/dist/builtin-elements.js.map +1 -0
- package/dist/config-dependencies.d.ts +5 -3
- package/dist/config-dependencies.d.ts.map +1 -1
- package/dist/config-dependencies.js +57 -24
- package/dist/config-dependencies.js.map +1 -1
- package/dist/config-error.d.ts.map +1 -1
- package/dist/config-error.js.map +1 -1
- package/dist/config-reloader.d.ts +8 -0
- package/dist/config-reloader.d.ts.map +1 -0
- package/dist/config-reloader.js +32 -0
- package/dist/config-reloader.js.map +1 -0
- package/dist/config-source.d.ts +9 -0
- package/dist/config-source.d.ts.map +1 -0
- package/dist/config-source.js +32 -0
- package/dist/config-source.js.map +1 -0
- package/dist/config.d.ts +63 -29
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +72 -12
- package/dist/config.js.map +1 -1
- package/dist/deploy.d.ts +67 -13
- package/dist/deploy.d.ts.map +1 -1
- package/dist/deploy.js +169 -12
- package/dist/deploy.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +5 -3
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +5 -3
- package/dist/internal.js.map +1 -1
- package/dist/loader.d.ts +3 -1
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +18 -35
- package/dist/loader.js.map +1 -1
- package/dist/node-version.d.ts +2 -1
- package/dist/node-version.d.ts.map +1 -1
- package/dist/node-version.js +2 -1
- package/dist/node-version.js.map +1 -1
- package/dist/resource-base-path.d.ts.map +1 -1
- package/dist/schema-text.d.ts.map +1 -1
- package/dist/user-event-signals.d.ts.map +1 -1
- package/dist/virtual.d.ts +1 -1
- package/dist/virtual.d.ts.map +1 -1
- package/dist/virtual.js +3 -4
- package/dist/virtual.js.map +1 -1
- package/dist/vite-plugin.d.ts +2 -0
- package/dist/vite-plugin.d.ts.map +1 -1
- package/dist/vite-plugin.js +4 -3
- package/dist/vite-plugin.js.map +1 -1
- package/dist/vite-root.d.ts.map +1 -1
- package/package.json +15 -16
- package/src/builtin-elements.ts +338 -0
- package/src/config-dependencies.ts +65 -29
- package/src/config-error.ts +5 -3
- package/src/config-reloader.ts +45 -0
- package/src/config-source.ts +48 -0
- package/src/config.ts +87 -18
- package/src/deploy.ts +207 -29
- package/src/index.ts +9 -2
- package/src/internal.ts +5 -2
- package/src/loader.ts +27 -52
- package/src/node-version.ts +2 -1
- package/src/virtual.ts +5 -6
- package/src/vite-plugin.ts +9 -4
package/dist/deploy.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { fileExtension, flag, girLibrary, relativePathRecord, text, textList, textRecord, url
|
|
3
|
-
const APPIMAGE_COMPRESSIONS = ["gzip", "xz", "zstd"];
|
|
2
|
+
import { fileExtension, flag, girLibrary, relativePathRecord, text, textList, textRecord, url } from "./schema-text.js";
|
|
4
3
|
const DEB_COMPRESSIONS = ["gzip", "none", "xz", "zstd"];
|
|
5
4
|
const DEB_SIGN_METHODS = ["debsign", "dpkg-sig"];
|
|
6
5
|
const DEB_SIGN_TYPES = ["archive", "maint", "origin"];
|
|
@@ -55,48 +54,77 @@ const minimumLibraryVersionsSchema = z.record(girLibrary(LIBRARY_ID_ERROR), mini
|
|
|
55
54
|
error: MINIMUM_LIBRARY_VERSIONS_ERROR,
|
|
56
55
|
});
|
|
57
56
|
const relationsSchema = z.strictObject({
|
|
57
|
+
/** Package relations expressed in Debian dependency syntax. */
|
|
58
58
|
deb: textList("Debian package relation", "must be an array of Debian package relations").optional(),
|
|
59
|
+
/** Package relations expressed in RPM dependency syntax. */
|
|
59
60
|
rpm: textList("RPM package relation", "must be an array of RPM package relations").optional(),
|
|
60
61
|
});
|
|
61
62
|
const developerSchema = z.strictObject({
|
|
63
|
+
/** Reverse-DNS developer identifier, derived from the application ID when omitted. */
|
|
62
64
|
id: text("must be a reverse-DNS developer id").optional(),
|
|
65
|
+
/** Developer or organization name. Defaults to the author in package.json. */
|
|
63
66
|
name: text("must be a developer or organization name").optional(),
|
|
67
|
+
/** Maintainer email address. Defaults to the author's email in package.json. */
|
|
64
68
|
email: text("must be an email address").optional(),
|
|
65
69
|
});
|
|
70
|
+
/** Screenshot entry schema and the source of {@link DeployScreenshotOptions}. */
|
|
66
71
|
const screenshotSchema = z
|
|
67
72
|
.strictObject({
|
|
73
|
+
/** Absolute URL of a PNG or JPEG screenshot. Takes precedence over `file`. */
|
|
68
74
|
url: url("must be an absolute URL to a PNG or JPEG").optional(),
|
|
75
|
+
/** Screenshot path relative to the project root, resolved against `screenshotBaseUrl`. */
|
|
69
76
|
file: text("must be an image path relative to the project root").optional(),
|
|
77
|
+
/** Caption displayed with the screenshot in software centers. */
|
|
70
78
|
caption: text("must be a screenshot caption").optional(),
|
|
79
|
+
/** Marks the primary screenshot. Only the first entry set to `true` is used. */
|
|
71
80
|
isDefault: flag(BOOLEAN_ERROR).optional(),
|
|
72
81
|
})
|
|
73
82
|
.refine((entry) => entry.url !== undefined || entry.file !== undefined, {
|
|
74
83
|
error: "must have either a `url` or a `file`",
|
|
75
84
|
});
|
|
85
|
+
/** Release-history entry schema and the source of {@link DeployReleaseOptions}. */
|
|
76
86
|
const releaseSchema = z.strictObject({
|
|
87
|
+
/** Application version described by this release. */
|
|
77
88
|
version: text(VERSION_ERROR),
|
|
89
|
+
/** Release date in `YYYY-MM-DD` format. */
|
|
78
90
|
date: z.iso.date({ error: "must be an ISO date (YYYY-MM-DD)" }),
|
|
91
|
+
/** AppStream release classification. */
|
|
79
92
|
type: z.enum(RELEASE_TYPES, { error: "must be one of development, snapshot, stable" }).optional(),
|
|
93
|
+
/** AppStream update urgency. */
|
|
80
94
|
urgency: z.enum(RELEASE_URGENCIES, { error: "must be one of critical, high, low, medium" }).optional(),
|
|
95
|
+
/** Release notes, with each entry rendered as a paragraph. */
|
|
81
96
|
notes: textList("release note paragraph", "must be an array of release note paragraphs").optional(),
|
|
97
|
+
/** Absolute URL containing further details about the release. */
|
|
82
98
|
url: url(URL_ERROR).optional(),
|
|
83
99
|
});
|
|
100
|
+
/** File association schema and the source of {@link DeployFileAssociationOptions}. */
|
|
84
101
|
const fileAssociationSchema = z.strictObject({
|
|
102
|
+
/** File extension to associate with the application, without a leading dot. */
|
|
85
103
|
extension: fileExtension("must be a file extension without a leading dot"),
|
|
104
|
+
/** MIME type registered for the file extension. */
|
|
86
105
|
mimeType: text("must be a MIME type such as text/plain"),
|
|
106
|
+
/** Human-readable description of the file type. */
|
|
87
107
|
description: text("must be a description of the file type").optional(),
|
|
88
108
|
});
|
|
109
|
+
/** Desktop launcher action schema and the source of {@link DeployDesktopActionOptions}. */
|
|
89
110
|
const desktopActionSchema = z.strictObject({
|
|
111
|
+
/** Action label shown in the desktop launcher menu. */
|
|
90
112
|
name: text("must be an action name"),
|
|
113
|
+
/** Arguments passed to the application when the action is activated. */
|
|
91
114
|
args: textList("argument", "must be an array of arguments appended to Exec").optional(),
|
|
115
|
+
/** Icon theme name used for the action. */
|
|
92
116
|
icon: text("must be an icon name").optional(),
|
|
93
117
|
});
|
|
94
118
|
const brandingSchema = z.strictObject({
|
|
119
|
+
/** Primary AppStream branding color for light mode, in `#rrggbb` format. */
|
|
95
120
|
light: hexColorSchema,
|
|
121
|
+
/** Primary AppStream branding color for dark mode, in `#rrggbb` format. */
|
|
96
122
|
dark: hexColorSchema,
|
|
97
123
|
});
|
|
98
124
|
const extraFileSchema = z.strictObject({
|
|
125
|
+
/** Source file path, resolved relative to the project root. */
|
|
99
126
|
source: text(SOURCE_PATH_ERROR),
|
|
127
|
+
/** Octal file mode. Setuid and setgid bits are rejected. */
|
|
100
128
|
mode: z
|
|
101
129
|
.string({ error: FILE_MODE_ERROR })
|
|
102
130
|
.regex(FILE_MODE_PATTERN, { error: FILE_MODE_ERROR })
|
|
@@ -106,171 +134,300 @@ const extraFileSchema = z.strictObject({
|
|
|
106
134
|
.optional(),
|
|
107
135
|
});
|
|
108
136
|
const extraFileEntrySchema = z.union([text(SOURCE_PATH_ERROR), extraFileSchema], { error: EXTRA_FILE_ERROR });
|
|
109
|
-
const launcherEnvSchema = z.record(z.string({ error: LAUNCHER_ENV_NAME_ERROR }).regex(LAUNCHER_ENV_NAME_PATTERN, { error: LAUNCHER_ENV_NAME_ERROR }), z.string({ error: LAUNCHER_ENV_ERROR }).refine((value) => !value.includes("\0"), { error: LAUNCHER_ENV_ERROR }), { error: (issue) => issue.code === "invalid_key" ? LAUNCHER_ENV_NAME_ERROR : LAUNCHER_ENV_ERROR });
|
|
137
|
+
const launcherEnvSchema = z.record(z.string({ error: LAUNCHER_ENV_NAME_ERROR }).regex(LAUNCHER_ENV_NAME_PATTERN, { error: LAUNCHER_ENV_NAME_ERROR }), z.string({ error: LAUNCHER_ENV_ERROR }).refine((value) => !value.includes("\0"), { error: LAUNCHER_ENV_ERROR }), { error: (issue) => (issue.code === "invalid_key" ? LAUNCHER_ENV_NAME_ERROR : LAUNCHER_ENV_ERROR) });
|
|
110
138
|
const nodeFlagsSchema = z.array(z
|
|
111
139
|
.string({ error: NODE_FLAG_ERROR })
|
|
112
140
|
.refine((value) => value.startsWith("-") && !value.includes("\0"), { error: NODE_FLAG_ERROR }), { error: "must be an array of Node.js flags" });
|
|
113
141
|
const nodeRuntimeSchema = z.strictObject({
|
|
142
|
+
/** Runtime source: an official download, the running Node.js executable, or `path`. Defaults to `download`. */
|
|
114
143
|
source: z.enum(NODE_SOURCES, { error: "must be one of download, host, path" }).optional(),
|
|
144
|
+
/** Expected Node.js version. Downloaded runtimes default to exactly 26.8.2 when omitted. */
|
|
115
145
|
version: text("must be a Node.js version such as 26.7.0").optional(),
|
|
146
|
+
/** Node.js executable path relative to the project root, required when `source` is `path`. */
|
|
116
147
|
path: text("must be a path to a node binary").optional(),
|
|
148
|
+
/** Strip the runtime when its architecture matches the host and `strip` is available. Defaults to `true`. */
|
|
117
149
|
shouldStrip: flag(BOOLEAN_ERROR).optional(),
|
|
150
|
+
/** Enable Node.js compile caching in the generated launcher. Defaults to `true`. */
|
|
118
151
|
shouldUseCompileCache: flag(BOOLEAN_ERROR).optional(),
|
|
119
152
|
});
|
|
120
153
|
const scriptsSchema = z.strictObject({
|
|
154
|
+
/** Shell script run before installing a Debian or RPM package. */
|
|
121
155
|
preInstall: text(SCRIPT_ERROR).optional(),
|
|
156
|
+
/** Shell script run after installing a Debian or RPM package. */
|
|
122
157
|
postInstall: text(SCRIPT_ERROR).optional(),
|
|
158
|
+
/** Shell script run before removing a Debian or RPM package. */
|
|
123
159
|
preRemove: text(SCRIPT_ERROR).optional(),
|
|
160
|
+
/** Shell script run after removing a Debian or RPM package. */
|
|
124
161
|
postRemove: text(SCRIPT_ERROR).optional(),
|
|
125
162
|
});
|
|
163
|
+
const toolsSchema = z.strictObject({
|
|
164
|
+
/** nFPM executable name or path relative to the project root. Defaults to a verified pinned download. */
|
|
165
|
+
nfpm: text("must be an nFPM executable name or path").optional(),
|
|
166
|
+
});
|
|
126
167
|
const debSchema = z.strictObject({
|
|
168
|
+
/** Debian package name. Defaults to `deploy.binaryName`. */
|
|
127
169
|
packageName: text("must be a Debian package name").optional(),
|
|
170
|
+
/** Debian archive section, derived from the application categories when omitted. */
|
|
128
171
|
section: text("must be a Debian archive section").optional(),
|
|
172
|
+
/** Debian package priority. Defaults to `optional`. */
|
|
129
173
|
priority: text("must be a Debian priority").optional(),
|
|
174
|
+
/** Compression used for the Debian package payload. */
|
|
130
175
|
compression: z.enum(DEB_COMPRESSIONS, { error: "must be one of gzip, none, xz, zstd" }).optional(),
|
|
131
|
-
|
|
132
|
-
|
|
176
|
+
/** Additional Debian control fields, keyed by field name. */
|
|
177
|
+
fields: textRecord("must be a control field value", "must be a record of control field names to values").optional(),
|
|
133
178
|
});
|
|
134
179
|
const rpmSchema = z.strictObject({
|
|
180
|
+
/** RPM package name. Defaults to `deploy.binaryName`. */
|
|
135
181
|
packageName: text("must be an RPM package name").optional(),
|
|
182
|
+
/** RPM package group, derived from the application categories when omitted. */
|
|
136
183
|
group: text("must be an RPM group").optional(),
|
|
184
|
+
/** Compression used for the RPM package payload. */
|
|
137
185
|
compression: z.enum(RPM_COMPRESSIONS, { error: "must be one of gzip, lzma, xz, zstd" }).optional(),
|
|
186
|
+
/** Installation prefixes that the RPM package allows users to relocate. */
|
|
138
187
|
prefixes: textList("prefix", "must be an array of relocation prefixes").optional(),
|
|
139
188
|
});
|
|
140
189
|
const appimageSchema = z.strictObject({
|
|
190
|
+
/** Output file name, derived from the application name, version, and architecture when omitted. */
|
|
141
191
|
fileName: text("must be an output file name").optional(),
|
|
142
|
-
|
|
192
|
+
/** Compression explicitly requested from appimagetool. */
|
|
193
|
+
compression: z.literal("zstd", { error: "must be zstd" }).optional(),
|
|
194
|
+
/** AppImage update information string embedded in the executable. */
|
|
143
195
|
updateInformation: text("must be an AppImage update information string").optional(),
|
|
196
|
+
/** Custom AppImage runtime file path, resolved relative to the project root. */
|
|
144
197
|
runtimeFile: text("must be a path to an AppImage runtime file").optional(),
|
|
145
198
|
});
|
|
146
199
|
const flatpakSourceSchema = z.strictObject({
|
|
200
|
+
/** Public HTTP or HTTPS Git repository URL. Defaults to the project's Git remote. */
|
|
147
201
|
url: url("must be an absolute git URL").optional(),
|
|
202
|
+
/** Git tag to build, pinned to its commit when `commit` is omitted. */
|
|
148
203
|
tag: text("must be a git tag").optional(),
|
|
204
|
+
/** Git commit to build. Defaults to the configured tag's commit or the current HEAD. */
|
|
149
205
|
commit: text("must be a git commit sha").optional(),
|
|
150
206
|
});
|
|
151
207
|
const flatpakSchema = z.strictObject({
|
|
208
|
+
/** Package local build output or build from a pinned Git source inside the SDK. Defaults to `prebuilt`. */
|
|
152
209
|
mode: z.enum(FLATPAK_MODES, { error: 'must be "prebuilt" or "source"' }).optional(),
|
|
210
|
+
/** Flatpak runtime ID. Defaults to `org.gnome.Platform`. */
|
|
153
211
|
runtime: text("must be a runtime id").optional(),
|
|
212
|
+
/** Flatpak runtime branch. Defaults to `50`. */
|
|
154
213
|
runtimeVersion: text('must be a runtime branch such as "50"').optional(),
|
|
214
|
+
/** Build SDK ID. Defaults to `org.gnome.Sdk`. */
|
|
155
215
|
sdk: text("must be an SDK id").optional(),
|
|
216
|
+
/** Node.js SDK extension used in source mode. Defaults to `org.freedesktop.Sdk.Extension.node26`. */
|
|
156
217
|
nodeExtension: text("must be a Node SDK extension id").optional(),
|
|
218
|
+
/** Additional SDK extension IDs included in the build environment. */
|
|
157
219
|
sdkExtensions: textList("SDK extension id", "must be an array of SDK extension ids").optional(),
|
|
220
|
+
/** Optional Flatpak base application ID. */
|
|
158
221
|
base: text("must be a base app id").optional(),
|
|
222
|
+
/** Branch of the base application. */
|
|
159
223
|
baseVersion: text("must be a base app version").optional(),
|
|
224
|
+
/** Exported application branch. Defaults to `stable`. */
|
|
160
225
|
branch: text("must be a branch name").optional(),
|
|
226
|
+
/** Sandbox permissions added to display, IPC, and GPU defaults. Negations remove matching defaults. */
|
|
161
227
|
finishArgs: textList("finish argument", "must be an array of flatpak finish arguments").optional(),
|
|
228
|
+
/** Patterns added to header, pkg-config, and static-library cleanup defaults. An empty array disables cleanup. */
|
|
162
229
|
cleanup: textList("cleanup pattern", "must be an array of cleanup patterns").optional(),
|
|
230
|
+
/** Additional shell commands appended to the application's Flatpak build commands. */
|
|
163
231
|
buildCommands: textList("shell command", "must be an array of shell commands").optional(),
|
|
232
|
+
/** Additional Flatpak manifest modules built before the application module. */
|
|
164
233
|
modules: z.array(z.unknown(), { error: "must be an array of flatpak module objects" }).optional(),
|
|
234
|
+
/** Git repository and revision used for source builds. */
|
|
165
235
|
source: flatpakSourceSchema.optional(),
|
|
236
|
+
/** Package manager used for offline source builds, detected from the project's lockfiles when omitted. */
|
|
166
237
|
packageManager: z.enum(PACKAGE_MANAGERS, { error: "must be one of npm, pnpm, yarn" }).optional(),
|
|
238
|
+
/** Lockfile path relative to the project root. Defaults to the selected package manager's standard lockfile. */
|
|
167
239
|
lockfile: text("must be a path to a lockfile").optional(),
|
|
240
|
+
/** Runtime repository URL embedded in the bundle. Defaults to Flathub's `.flatpakrepo` URL. */
|
|
168
241
|
runtimeRepo: url("must be an absolute .flatpakrepo URL").optional(),
|
|
242
|
+
/** Emit a `.flatpak` bundle in addition to the local repository. Defaults to `true`. */
|
|
169
243
|
shouldEmitBundle: flag(BOOLEAN_ERROR).optional(),
|
|
244
|
+
/** Install the built application into the current user's Flatpak installation. Defaults to `false`. */
|
|
170
245
|
shouldInstall: flag(BOOLEAN_ERROR).optional(),
|
|
246
|
+
/** Allow flatpak-builder to use rofiles-fuse. Set to `false` where FUSE is unavailable. */
|
|
171
247
|
shouldUseRofilesFuse: flag(BOOLEAN_ERROR).optional(),
|
|
172
248
|
});
|
|
173
249
|
const debSigningSchema = z.strictObject({
|
|
250
|
+
/** PGP private key file used to sign the Debian package. */
|
|
174
251
|
keyFile: text(KEY_FILE_ERROR),
|
|
252
|
+
/** PGP signing key ID. */
|
|
175
253
|
keyId: text(KEY_ID_ERROR).optional(),
|
|
254
|
+
/** Debian package signing method. */
|
|
176
255
|
method: z.enum(DEB_SIGN_METHODS, { error: 'must be "debsign" or "dpkg-sig"' }).optional(),
|
|
256
|
+
/** Debian signature role. */
|
|
177
257
|
type: z.enum(DEB_SIGN_TYPES, { error: "must be one of archive, maint, origin" }).optional(),
|
|
258
|
+
/** Name and email address recorded as the signer. */
|
|
178
259
|
signer: text("must be a signer name and email").optional(),
|
|
179
260
|
});
|
|
180
261
|
const rpmSigningSchema = z.strictObject({
|
|
262
|
+
/** PGP private key file used to sign the RPM package. */
|
|
181
263
|
keyFile: text(KEY_FILE_ERROR),
|
|
264
|
+
/** PGP signing key ID. */
|
|
182
265
|
keyId: text(KEY_ID_ERROR).optional(),
|
|
183
266
|
});
|
|
184
267
|
const flatpakSigningSchema = z.strictObject({
|
|
268
|
+
/** GPG key ID used to sign the Flatpak bundle. */
|
|
185
269
|
gpgKeyId: text("must be a GPG key id"),
|
|
270
|
+
/** GPG home directory containing the signing key. */
|
|
186
271
|
gpgHomeDir: text("must be a path to a GPG home directory").optional(),
|
|
187
272
|
});
|
|
188
273
|
const appimageSigningSchema = z.strictObject({
|
|
274
|
+
/** GPG key ID used by appimagetool to sign the AppImage. */
|
|
189
275
|
gpgKeyId: text("must be a GPG key id"),
|
|
190
276
|
});
|
|
191
277
|
const signingSchema = z.strictObject({
|
|
278
|
+
/** AppImage signing options. */
|
|
192
279
|
appimage: appimageSigningSchema.optional(),
|
|
280
|
+
/** Debian package signing options. */
|
|
193
281
|
deb: debSigningSchema.optional(),
|
|
282
|
+
/** Flatpak bundle signing options. */
|
|
194
283
|
flatpak: flatpakSigningSchema.optional(),
|
|
284
|
+
/** RPM package signing options. */
|
|
195
285
|
rpm: rpmSigningSchema.optional(),
|
|
196
286
|
});
|
|
197
287
|
const extraRelationsSchema = z.strictObject({
|
|
288
|
+
/** Recommended packages that extend the application's functionality. */
|
|
198
289
|
recommends: relationsSchema.optional(),
|
|
290
|
+
/** Suggested companion packages. */
|
|
199
291
|
suggests: relationsSchema.optional(),
|
|
292
|
+
/** Package names or capabilities supplied by this package. */
|
|
200
293
|
provides: relationsSchema.optional(),
|
|
294
|
+
/** Packages that cannot be installed alongside this package. */
|
|
201
295
|
conflicts: relationsSchema.optional(),
|
|
296
|
+
/** Packages whose files this package may replace. */
|
|
202
297
|
replaces: relationsSchema.optional(),
|
|
298
|
+
/** Debian packages made incompatible by installing this package. Uses the `deb` entries. */
|
|
203
299
|
breaks: relationsSchema.optional(),
|
|
300
|
+
/** Debian dependencies required before unpacking this package. Uses the `deb` entries. */
|
|
204
301
|
preDepends: relationsSchema.optional(),
|
|
205
302
|
});
|
|
206
303
|
const deploySchema = z.strictObject({
|
|
304
|
+
/** Package formats to build. Defaults to `["flatpak"]`; overridden by `gtkx deploy --target`. */
|
|
207
305
|
targets: z
|
|
208
306
|
.array(z.enum(DEPLOY_TARGET_NAMES, { error: "must be one of appimage, deb, flatpak, rpm" }), {
|
|
209
307
|
error: "must be an array of deploy targets",
|
|
210
308
|
})
|
|
211
309
|
.optional(),
|
|
310
|
+
/** Target CPU architectures. Defaults to the host architecture; overridden by `gtkx deploy --arch`. */
|
|
212
311
|
architectures: z
|
|
213
312
|
.array(z.enum(DEPLOY_ARCH_NAMES, { error: "must be one of arm64, x64" }), {
|
|
214
313
|
error: "must be an array of deploy architectures",
|
|
215
314
|
})
|
|
216
315
|
.optional(),
|
|
316
|
+
/** Deployment directory relative to the project root. Defaults to `build`, with packages in its `out` directory. */
|
|
217
317
|
outDir: text("must be a directory path relative to the project root").optional(),
|
|
318
|
+
/** Display name, derived from package.json's name or the application ID when omitted. */
|
|
218
319
|
name: text("must be the display name shown in the launcher").optional(),
|
|
320
|
+
/** Generic application description shown by desktop launchers, such as `Text Editor`. */
|
|
219
321
|
genericName: text("must be a generic application name").optional(),
|
|
322
|
+
/** Launcher command name, derived from package.json's name or the application ID when omitted. */
|
|
220
323
|
binaryName: text("must be a kebab-case command name").optional(),
|
|
324
|
+
/** Application version. Defaults to the version in package.json. */
|
|
221
325
|
version: text(VERSION_ERROR).optional(),
|
|
326
|
+
/** Debian packaging revision and RPM release. Defaults to `1`. */
|
|
222
327
|
release: text("must be a packaging revision").optional(),
|
|
328
|
+
/** Non-negative Debian and RPM version epoch, omitted from package metadata unless configured. */
|
|
223
329
|
epoch: z.int({ error: EPOCH_ERROR }).min(0, { error: EPOCH_ERROR }).optional(),
|
|
330
|
+
/** Single-line summary without a trailing period. Defaults to the first line of package.json's description. */
|
|
224
331
|
summary: text("must be a single-line summary without a trailing period").optional(),
|
|
332
|
+
/** Long description as paragraphs. Defaults to the summary when omitted or empty. */
|
|
225
333
|
description: textList("description paragraph", "must be an array of description paragraphs").optional(),
|
|
334
|
+
/** Search keywords included in the desktop entry and AppStream metadata. */
|
|
226
335
|
keywords: textList("search keyword", "must be an array of search keywords").optional(),
|
|
336
|
+
/** Freedesktop application categories used by launchers, software centers, and package metadata. */
|
|
227
337
|
categories: textList("freedesktop category", "must be an array of freedesktop categories").optional(),
|
|
338
|
+
/** Supported MIME types, combined with types from file associations and URL protocols. */
|
|
228
339
|
mimeTypes: textList("MIME type", "must be an array of MIME types").optional(),
|
|
340
|
+
/** Developer identity and package maintainer details. */
|
|
229
341
|
developer: developerSchema.optional(),
|
|
342
|
+
/** Application license as an SPDX expression. Defaults to the license in package.json. */
|
|
230
343
|
license: text(SPDX_ERROR).optional(),
|
|
344
|
+
/** License file path relative to the project root, detected from common LICENSE or COPYING names when omitted. */
|
|
231
345
|
licenseFile: text("must be a path to a license file").optional(),
|
|
346
|
+
/** SPDX license expression for the AppStream metadata. Defaults to `CC0-1.0`. */
|
|
232
347
|
metadataLicense: text(SPDX_ERROR).optional(),
|
|
348
|
+
/** Copyright notice. Defaults to the build year and developer name. */
|
|
233
349
|
copyright: text("must be a copyright line").optional(),
|
|
350
|
+
/** Application homepage URL. Defaults to the homepage in package.json. */
|
|
234
351
|
homepage: url(URL_ERROR).optional(),
|
|
352
|
+
/** Additional AppStream links keyed by their purpose, such as `bugtracker` or `help`. */
|
|
235
353
|
urls: z
|
|
236
354
|
.partialRecord(z.enum(URL_KINDS), url(URL_ERROR), {
|
|
237
355
|
error: "must be a record of AppStream url kinds to URLs",
|
|
238
356
|
})
|
|
239
357
|
.optional(),
|
|
358
|
+
/**
|
|
359
|
+
* Screenshots for software centers. Each entry requires a `url` or `file`.
|
|
360
|
+
* @see {@link DeployScreenshotOptions} for the fields accepted by each entry.
|
|
361
|
+
*/
|
|
240
362
|
screenshots: z.array(screenshotSchema, { error: "must be an array of screenshots" }).optional(),
|
|
363
|
+
/** Base URL for screenshot files, inferred from a GitHub or GitLab remote when omitted. */
|
|
241
364
|
screenshotBaseUrl: url("must be an absolute base URL").optional(),
|
|
365
|
+
/** Primary branding colors included in AppStream metadata. */
|
|
242
366
|
branding: brandingSchema.optional(),
|
|
367
|
+
/** OARS 1.1 content-rating attributes mapped to their intensities. */
|
|
243
368
|
contentRating: z
|
|
244
369
|
.record(z.string(), z.enum(OARS_INTENSITIES, { error: "must be one of intense, mild, moderate, none" }), {
|
|
245
370
|
error: "must be a record of OARS 1.1 attribute ids to intensities",
|
|
246
371
|
})
|
|
247
372
|
.optional(),
|
|
373
|
+
/**
|
|
374
|
+
* AppStream release history, sorted newest first. Defaults to the application version and build date.
|
|
375
|
+
* @see {@link DeployReleaseOptions} for the fields accepted by each entry.
|
|
376
|
+
*/
|
|
248
377
|
releases: z.array(releaseSchema, { error: "must be an array of releases" }).optional(),
|
|
378
|
+
/** Application arguments included in the desktop entry's launch command. */
|
|
249
379
|
execArgs: textList("argument", "must be an array of arguments appended to Exec").optional(),
|
|
380
|
+
/** Environment variables exported by the generated launcher. Keys must be POSIX environment names. */
|
|
250
381
|
launcherEnv: launcherEnvSchema.optional(),
|
|
382
|
+
/** Node.js flags placed before the application bundle in the generated launcher. */
|
|
251
383
|
nodeFlags: nodeFlagsSchema.optional(),
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
384
|
+
/**
|
|
385
|
+
* File extensions and MIME types registered for the application.
|
|
386
|
+
* @see {@link DeployFileAssociationOptions} for the fields accepted by each entry.
|
|
387
|
+
*/
|
|
388
|
+
fileAssociations: z.array(fileAssociationSchema, { error: "must be an array of file associations" }).optional(),
|
|
389
|
+
/** URL schemes handled by the application, registered as `x-scheme-handler` MIME types. */
|
|
255
390
|
protocols: textList("URL scheme", "must be an array of URL schemes").optional(),
|
|
391
|
+
/**
|
|
392
|
+
* Desktop launcher actions keyed by action ID.
|
|
393
|
+
* @see {@link DeployDesktopActionOptions} for the fields accepted by each entry.
|
|
394
|
+
*/
|
|
256
395
|
desktopActions: z
|
|
257
396
|
.record(z.string(), desktopActionSchema, { error: "must be a record of action ids to actions" })
|
|
258
397
|
.optional(),
|
|
259
|
-
|
|
260
|
-
|
|
398
|
+
/**
|
|
399
|
+
* Additional desktop entry keys, overriding non-reserved generated values.
|
|
400
|
+
* `DBusActivatable` and `Version` are rejected; use `deploy.isDbusActivatable` for D-Bus activation.
|
|
401
|
+
*/
|
|
402
|
+
desktopEntry: textRecord("must be a desktop entry value", "must be a record of desktop entry keys to values").optional(),
|
|
403
|
+
/** Additional XML fragments appended to the AppStream component. */
|
|
261
404
|
metainfoExtra: textList("AppStream XML fragment", "must be an array of AppStream XML fragments").optional(),
|
|
405
|
+
/** Enable D-Bus activation in the desktop entry and generate a session bus service file. Defaults to `false`. */
|
|
262
406
|
isDbusActivatable: flag(BOOLEAN_ERROR).optional(),
|
|
407
|
+
/** Extra files keyed by destination inside the install prefix, with source paths relative to the project root. */
|
|
263
408
|
extraFiles: relativePathRecord("must be a destination path inside the install prefix, without a leading slash or a .. segment", extraFileEntrySchema, "must be a record of prefix-relative destinations to source paths or { source, mode } entries").optional(),
|
|
409
|
+
/** Minimum runtime library versions keyed by GIR library ID, used when deriving package dependencies. */
|
|
264
410
|
minimumLibraryVersions: minimumLibraryVersionsSchema.optional(),
|
|
411
|
+
/** Additional Debian and RPM dependencies merged with automatically detected dependencies. */
|
|
265
412
|
depends: relationsSchema.optional(),
|
|
413
|
+
/** Additional package relationships for Debian and RPM. */
|
|
266
414
|
relations: extraRelationsSchema.optional(),
|
|
415
|
+
/** Installation and removal scripts for Debian and RPM packages. */
|
|
267
416
|
scripts: scriptsSchema.optional(),
|
|
417
|
+
/** Node.js runtime bundled with prebuilt packages and launcher compile-cache settings. */
|
|
268
418
|
node: nodeRuntimeSchema.optional(),
|
|
419
|
+
/** Overrides for executables used to build packages. */
|
|
420
|
+
tools: toolsSchema.optional(),
|
|
421
|
+
/** Per-format package signing options. */
|
|
269
422
|
signing: signingSchema.optional(),
|
|
423
|
+
/** AppImage packaging options. */
|
|
270
424
|
appimage: appimageSchema.optional(),
|
|
425
|
+
/** Debian package metadata and compression options. */
|
|
271
426
|
deb: debSchema.optional(),
|
|
427
|
+
/** Flatpak runtime, sandbox, build, and distribution options. */
|
|
272
428
|
flatpak: flatpakSchema.optional(),
|
|
429
|
+
/** RPM package metadata and compression options. */
|
|
273
430
|
rpm: rpmSchema.optional(),
|
|
274
431
|
});
|
|
275
|
-
export { deploySchema };
|
|
432
|
+
export { deploySchema, };
|
|
276
433
|
//# sourceMappingURL=deploy.js.map
|
package/dist/deploy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../src/deploy.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from \"zod\";\nimport {\n fileExtension,\n flag,\n girLibrary,\n relativePathRecord,\n text,\n textList,\n textRecord,\n url,\n} from \"./schema-text.ts\";\n\nconst APPIMAGE_COMPRESSIONS = [\"gzip\", \"xz\", \"zstd\"] as const;\nconst DEB_COMPRESSIONS = [\"gzip\", \"none\", \"xz\", \"zstd\"] as const;\nconst DEB_SIGN_METHODS = [\"debsign\", \"dpkg-sig\"] as const;\nconst DEB_SIGN_TYPES = [\"archive\", \"maint\", \"origin\"] as const;\nconst DEPLOY_ARCH_NAMES = [\"arm64\", \"x64\"] as const;\nconst DEPLOY_TARGET_NAMES = [\"appimage\", \"deb\", \"flatpak\", \"rpm\"] as const;\nconst FLATPAK_MODES = [\"prebuilt\", \"source\"] as const;\nconst NODE_SOURCES = [\"download\", \"host\", \"path\"] as const;\nconst OARS_INTENSITIES = [\"intense\", \"mild\", \"moderate\", \"none\"] as const;\nconst PACKAGE_MANAGERS = [\"npm\", \"pnpm\", \"yarn\"] as const;\nconst RELEASE_TYPES = [\"development\", \"snapshot\", \"stable\"] as const;\nconst RELEASE_URGENCIES = [\"critical\", \"high\", \"low\", \"medium\"] as const;\nconst RPM_COMPRESSIONS = [\"gzip\", \"lzma\", \"xz\", \"zstd\"] as const;\n\nconst URL_KINDS = [\n \"bugtracker\",\n \"contact\",\n \"contribute\",\n \"donation\",\n \"faq\",\n \"help\",\n \"translate\",\n \"vcs-browser\",\n] as const;\n\nconst BOOLEAN_ERROR = \"must be a boolean\";\nconst EPOCH_ERROR = \"must be a non-negative integer\";\nconst EXTRA_FILE_ERROR = \"must be a source path or a { source, mode } entry\";\nconst FILE_MODE_ERROR = \"must be an octal file mode without setuid or setgid bits, such as 755\";\nconst FILE_MODE_PATTERN = /^[0-7]{3,4}$/;\nconst FILE_MODE_RADIX = 8;\nconst PRIVILEGED_FILE_MODE_MASK = 0o6000;\nconst HEX_COLOR_ERROR = \"must be a #rrggbb color\";\nconst HEX_COLOR_PATTERN = /^#[\\dA-Fa-f]{6}$/;\nconst KEY_FILE_ERROR = \"must be a path to a PGP key file\";\nconst KEY_ID_ERROR = \"must be a PGP key id\";\nconst LAUNCHER_ENV_ERROR = \"must be a record of POSIX environment names to values without null bytes\";\nconst LAUNCHER_ENV_NAME_ERROR = \"must be a POSIX environment name\";\nconst LAUNCHER_ENV_NAME_PATTERN = /^[A-Za-z_]\\w*$/;\nconst MINIMUM_LIBRARY_VERSION_ERROR = \"must be a version such as 4.18\";\nconst MINIMUM_LIBRARY_VERSION_PATTERN = /^\\d+(?:\\.\\d+)*$/;\nconst MINIMUM_LIBRARY_VERSIONS_ERROR = \"must be a record of GIR library ids to a minimum version\";\nconst NODE_FLAG_ERROR = \"must be a Node.js flag beginning with a hyphen and containing no null bytes\";\nconst LIBRARY_ID_ERROR = 'must be a GIR library identifier of the form \"Name-Version\", such as \"Adw-1\"';\nconst SCRIPT_ERROR = \"must be a path to a shell script\";\nconst SOURCE_PATH_ERROR = \"must be a source path\";\nconst SPDX_ERROR = \"must be an SPDX license expression\";\nconst URL_ERROR = \"must be an absolute URL\";\nconst VERSION_ERROR = \"must be a version string\";\nconst hexColorSchema = z.string({ error: HEX_COLOR_ERROR }).regex(HEX_COLOR_PATTERN, { error: HEX_COLOR_ERROR });\n\nconst minimumLibraryVersionSchema = z\n .string({ error: MINIMUM_LIBRARY_VERSION_ERROR })\n .regex(MINIMUM_LIBRARY_VERSION_PATTERN, { error: MINIMUM_LIBRARY_VERSION_ERROR });\n\nconst minimumLibraryVersionsSchema = z.record(girLibrary(LIBRARY_ID_ERROR), minimumLibraryVersionSchema, {\n error: MINIMUM_LIBRARY_VERSIONS_ERROR,\n});\n\nconst relationsSchema = z.strictObject({\n deb: textList(\"Debian package relation\", \"must be an array of Debian package relations\").optional(),\n rpm: textList(\"RPM package relation\", \"must be an array of RPM package relations\").optional(),\n});\n\nconst developerSchema = z.strictObject({\n id: text(\"must be a reverse-DNS developer id\").optional(),\n name: text(\"must be a developer or organization name\").optional(),\n email: text(\"must be an email address\").optional(),\n});\n\nconst screenshotSchema = z\n .strictObject({\n url: url(\"must be an absolute URL to a PNG or JPEG\").optional(),\n file: text(\"must be an image path relative to the project root\").optional(),\n caption: text(\"must be a screenshot caption\").optional(),\n isDefault: flag(BOOLEAN_ERROR).optional(),\n })\n .refine((entry) => entry.url !== undefined || entry.file !== undefined, {\n error: \"must have either a `url` or a `file`\",\n });\n\nconst releaseSchema = z.strictObject({\n version: text(VERSION_ERROR),\n date: z.iso.date({ error: \"must be an ISO date (YYYY-MM-DD)\" }),\n type: z.enum(RELEASE_TYPES, { error: \"must be one of development, snapshot, stable\" }).optional(),\n urgency: z.enum(RELEASE_URGENCIES, { error: \"must be one of critical, high, low, medium\" }).optional(),\n notes: textList(\"release note paragraph\", \"must be an array of release note paragraphs\").optional(),\n url: url(URL_ERROR).optional(),\n});\n\nconst fileAssociationSchema = z.strictObject({\n extension: fileExtension(\"must be a file extension without a leading dot\"),\n mimeType: text(\"must be a MIME type such as text/plain\"),\n description: text(\"must be a description of the file type\").optional(),\n});\n\nconst desktopActionSchema = z.strictObject({\n name: text(\"must be an action name\"),\n args: textList(\"argument\", \"must be an array of arguments appended to Exec\").optional(),\n icon: text(\"must be an icon name\").optional(),\n});\n\nconst brandingSchema = z.strictObject({\n light: hexColorSchema,\n dark: hexColorSchema,\n});\n\n/**\n * A `deploy.extraFiles` entry in object form: the source file, resolved against the project root, that is\n * installed at the entry's prefix-relative destination, and the octal mode it is installed with.\n */\ntype DeployExtraFileOptions = Record<\"source\", string> & {\n /** Octal file mode. Setuid and setgid bits are rejected. */\n mode?: string | undefined;\n};\nconst extraFileSchema: z.ZodType<DeployExtraFileOptions> = z.strictObject({\n source: text(SOURCE_PATH_ERROR),\n mode: z\n .string({ error: FILE_MODE_ERROR })\n .regex(FILE_MODE_PATTERN, { error: FILE_MODE_ERROR })\n .refine((mode) => (Number.parseInt(mode, FILE_MODE_RADIX) & PRIVILEGED_FILE_MODE_MASK) === 0, {\n error: FILE_MODE_ERROR,\n })\n .optional(),\n});\n\nconst extraFileEntrySchema = z.union([text(SOURCE_PATH_ERROR), extraFileSchema], { error: EXTRA_FILE_ERROR });\n\nconst launcherEnvSchema = z.record(\n z.string({ error: LAUNCHER_ENV_NAME_ERROR }).regex(LAUNCHER_ENV_NAME_PATTERN, { error: LAUNCHER_ENV_NAME_ERROR }),\n z.string({ error: LAUNCHER_ENV_ERROR }).refine((value) => !value.includes(\"\\0\"), { error: LAUNCHER_ENV_ERROR }),\n { error: (issue) => issue.code === \"invalid_key\" ? LAUNCHER_ENV_NAME_ERROR : LAUNCHER_ENV_ERROR },\n);\n\nconst nodeFlagsSchema = z.array(\n z\n .string({ error: NODE_FLAG_ERROR })\n .refine((value) => value.startsWith(\"-\") && !value.includes(\"\\0\"), { error: NODE_FLAG_ERROR }),\n { error: \"must be an array of Node.js flags\" },\n);\n\n/**\n * The `deploy.node` options: where the Node.js runtime bundled with the application comes from, the version it\n * is expected to be, whether its binary is stripped, and whether the launcher enables the compile cache.\n */\ntype DeployNodeOptions = Partial<\n Record<\"source\", \"download\" | \"host\" | \"path\" | undefined> &\n Record<\"path\", string | undefined> &\n Record<\"shouldStrip\" | \"shouldUseCompileCache\", boolean | undefined>\n> & {\n /** Expected Node.js version. Downloaded runtimes default to exactly 26.7.0 when omitted. */\n version?: string | undefined;\n};\nconst nodeRuntimeSchema: z.ZodType<DeployNodeOptions> = z.strictObject({\n source: z.enum(NODE_SOURCES, { error: \"must be one of download, host, path\" }).optional(),\n version: text(\"must be a Node.js version such as 26.7.0\").optional(),\n path: text(\"must be a path to a node binary\").optional(),\n shouldStrip: flag(BOOLEAN_ERROR).optional(),\n shouldUseCompileCache: flag(BOOLEAN_ERROR).optional(),\n});\n\nconst scriptsSchema = z.strictObject({\n preInstall: text(SCRIPT_ERROR).optional(),\n postInstall: text(SCRIPT_ERROR).optional(),\n preRemove: text(SCRIPT_ERROR).optional(),\n postRemove: text(SCRIPT_ERROR).optional(),\n});\n\nconst debSchema = z.strictObject({\n packageName: text(\"must be a Debian package name\").optional(),\n section: text(\"must be a Debian archive section\").optional(),\n priority: text(\"must be a Debian priority\").optional(),\n compression: z.enum(DEB_COMPRESSIONS, { error: \"must be one of gzip, none, xz, zstd\" }).optional(),\n fields: textRecord(\"must be a control field value\", \"must be a record of control field names to values\")\n .optional(),\n});\n\nconst rpmSchema = z.strictObject({\n packageName: text(\"must be an RPM package name\").optional(),\n group: text(\"must be an RPM group\").optional(),\n compression: z.enum(RPM_COMPRESSIONS, { error: \"must be one of gzip, lzma, xz, zstd\" }).optional(),\n prefixes: textList(\"prefix\", \"must be an array of relocation prefixes\").optional(),\n});\n\nconst appimageSchema = z.strictObject({\n fileName: text(\"must be an output file name\").optional(),\n compression: z.enum(APPIMAGE_COMPRESSIONS, { error: \"must be one of gzip, xz, zstd\" }).optional(),\n updateInformation: text(\"must be an AppImage update information string\").optional(),\n runtimeFile: text(\"must be a path to an AppImage runtime file\").optional(),\n});\n\nconst flatpakSourceSchema = z.strictObject({\n url: url(\"must be an absolute git URL\").optional(),\n tag: text(\"must be a git tag\").optional(),\n commit: text(\"must be a git commit sha\").optional(),\n});\n\nconst flatpakSchema = z.strictObject({\n mode: z.enum(FLATPAK_MODES, { error: 'must be \"prebuilt\" or \"source\"' }).optional(),\n runtime: text(\"must be a runtime id\").optional(),\n runtimeVersion: text('must be a runtime branch such as \"50\"').optional(),\n sdk: text(\"must be an SDK id\").optional(),\n nodeExtension: text(\"must be a Node SDK extension id\").optional(),\n sdkExtensions: textList(\"SDK extension id\", \"must be an array of SDK extension ids\").optional(),\n base: text(\"must be a base app id\").optional(),\n baseVersion: text(\"must be a base app version\").optional(),\n branch: text(\"must be a branch name\").optional(),\n finishArgs: textList(\"finish argument\", \"must be an array of flatpak finish arguments\").optional(),\n cleanup: textList(\"cleanup pattern\", \"must be an array of cleanup patterns\").optional(),\n buildCommands: textList(\"shell command\", \"must be an array of shell commands\").optional(),\n modules: z.array(z.unknown(), { error: \"must be an array of flatpak module objects\" }).optional(),\n source: flatpakSourceSchema.optional(),\n packageManager: z.enum(PACKAGE_MANAGERS, { error: \"must be one of npm, pnpm, yarn\" }).optional(),\n lockfile: text(\"must be a path to a lockfile\").optional(),\n runtimeRepo: url(\"must be an absolute .flatpakrepo URL\").optional(),\n shouldEmitBundle: flag(BOOLEAN_ERROR).optional(),\n shouldInstall: flag(BOOLEAN_ERROR).optional(),\n shouldUseRofilesFuse: flag(BOOLEAN_ERROR).optional(),\n});\n\nconst debSigningSchema = z.strictObject({\n keyFile: text(KEY_FILE_ERROR),\n keyId: text(KEY_ID_ERROR).optional(),\n method: z.enum(DEB_SIGN_METHODS, { error: 'must be \"debsign\" or \"dpkg-sig\"' }).optional(),\n type: z.enum(DEB_SIGN_TYPES, { error: \"must be one of archive, maint, origin\" }).optional(),\n signer: text(\"must be a signer name and email\").optional(),\n});\n\nconst rpmSigningSchema = z.strictObject({\n keyFile: text(KEY_FILE_ERROR),\n keyId: text(KEY_ID_ERROR).optional(),\n});\n\nconst flatpakSigningSchema = z.strictObject({\n gpgKeyId: text(\"must be a GPG key id\"),\n gpgHomeDir: text(\"must be a path to a GPG home directory\").optional(),\n});\n\nconst appimageSigningSchema = z.strictObject({\n gpgKeyId: text(\"must be a GPG key id\"),\n});\n\nconst signingSchema = z.strictObject({\n appimage: appimageSigningSchema.optional(),\n deb: debSigningSchema.optional(),\n flatpak: flatpakSigningSchema.optional(),\n rpm: rpmSigningSchema.optional(),\n});\n\nconst extraRelationsSchema = z.strictObject({\n recommends: relationsSchema.optional(),\n suggests: relationsSchema.optional(),\n provides: relationsSchema.optional(),\n conflicts: relationsSchema.optional(),\n replaces: relationsSchema.optional(),\n breaks: relationsSchema.optional(),\n preDepends: relationsSchema.optional(),\n});\n\nconst deploySchema = z.strictObject({\n targets: z\n .array(z.enum(DEPLOY_TARGET_NAMES, { error: \"must be one of appimage, deb, flatpak, rpm\" }), {\n error: \"must be an array of deploy targets\",\n })\n .optional(),\n architectures: z\n .array(z.enum(DEPLOY_ARCH_NAMES, { error: \"must be one of arm64, x64\" }), {\n error: \"must be an array of deploy architectures\",\n })\n .optional(),\n outDir: text(\"must be a directory path relative to the project root\").optional(),\n name: text(\"must be the display name shown in the launcher\").optional(),\n genericName: text(\"must be a generic application name\").optional(),\n binaryName: text(\"must be a kebab-case command name\").optional(),\n version: text(VERSION_ERROR).optional(),\n release: text(\"must be a packaging revision\").optional(),\n epoch: z.int({ error: EPOCH_ERROR }).min(0, { error: EPOCH_ERROR }).optional(),\n summary: text(\"must be a single-line summary without a trailing period\").optional(),\n description: textList(\"description paragraph\", \"must be an array of description paragraphs\").optional(),\n keywords: textList(\"search keyword\", \"must be an array of search keywords\").optional(),\n categories: textList(\"freedesktop category\", \"must be an array of freedesktop categories\").optional(),\n mimeTypes: textList(\"MIME type\", \"must be an array of MIME types\").optional(),\n developer: developerSchema.optional(),\n license: text(SPDX_ERROR).optional(),\n licenseFile: text(\"must be a path to a license file\").optional(),\n metadataLicense: text(SPDX_ERROR).optional(),\n copyright: text(\"must be a copyright line\").optional(),\n homepage: url(URL_ERROR).optional(),\n urls: z\n .partialRecord(z.enum(URL_KINDS), url(URL_ERROR), {\n error: \"must be a record of AppStream url kinds to URLs\",\n })\n .optional(),\n screenshots: z.array(screenshotSchema, { error: \"must be an array of screenshots\" }).optional(),\n screenshotBaseUrl: url(\"must be an absolute base URL\").optional(),\n branding: brandingSchema.optional(),\n contentRating: z\n .record(z.string(), z.enum(OARS_INTENSITIES, { error: \"must be one of intense, mild, moderate, none\" }), {\n error: \"must be a record of OARS 1.1 attribute ids to intensities\",\n })\n .optional(),\n releases: z.array(releaseSchema, { error: \"must be an array of releases\" }).optional(),\n execArgs: textList(\"argument\", \"must be an array of arguments appended to Exec\").optional(),\n launcherEnv: launcherEnvSchema.optional(),\n nodeFlags: nodeFlagsSchema.optional(),\n fileAssociations: z\n .array(fileAssociationSchema, { error: \"must be an array of file associations\" })\n .optional(),\n protocols: textList(\"URL scheme\", \"must be an array of URL schemes\").optional(),\n desktopActions: z\n .record(z.string(), desktopActionSchema, { error: \"must be a record of action ids to actions\" })\n .optional(),\n desktopEntry: textRecord(\"must be a desktop entry value\", \"must be a record of desktop entry keys to values\")\n .optional(),\n metainfoExtra: textList(\"AppStream XML fragment\", \"must be an array of AppStream XML fragments\").optional(),\n isDbusActivatable: flag(BOOLEAN_ERROR).optional(),\n extraFiles: relativePathRecord(\n \"must be a destination path inside the install prefix, without a leading slash or a .. segment\",\n extraFileEntrySchema,\n \"must be a record of prefix-relative destinations to source paths or { source, mode } entries\",\n ).optional(),\n minimumLibraryVersions: minimumLibraryVersionsSchema.optional(),\n depends: relationsSchema.optional(),\n relations: extraRelationsSchema.optional(),\n scripts: scriptsSchema.optional(),\n node: nodeRuntimeSchema.optional(),\n signing: signingSchema.optional(),\n appimage: appimageSchema.optional(),\n deb: debSchema.optional(),\n flatpak: flatpakSchema.optional(),\n rpm: rpmSchema.optional(),\n});\n\nexport { deploySchema, type DeployExtraFileOptions, type DeployNodeOptions };\n"]}
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../src/deploy.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from \"zod\";\nimport { fileExtension, flag, girLibrary, relativePathRecord, text, textList, textRecord, url } from \"./schema-text.ts\";\n\nconst DEB_COMPRESSIONS = [\"gzip\", \"none\", \"xz\", \"zstd\"] as const;\nconst DEB_SIGN_METHODS = [\"debsign\", \"dpkg-sig\"] as const;\nconst DEB_SIGN_TYPES = [\"archive\", \"maint\", \"origin\"] as const;\nconst DEPLOY_ARCH_NAMES = [\"arm64\", \"x64\"] as const;\nconst DEPLOY_TARGET_NAMES = [\"appimage\", \"deb\", \"flatpak\", \"rpm\"] as const;\nconst FLATPAK_MODES = [\"prebuilt\", \"source\"] as const;\nconst NODE_SOURCES = [\"download\", \"host\", \"path\"] as const;\nconst OARS_INTENSITIES = [\"intense\", \"mild\", \"moderate\", \"none\"] as const;\nconst PACKAGE_MANAGERS = [\"npm\", \"pnpm\", \"yarn\"] as const;\nconst RELEASE_TYPES = [\"development\", \"snapshot\", \"stable\"] as const;\nconst RELEASE_URGENCIES = [\"critical\", \"high\", \"low\", \"medium\"] as const;\nconst RPM_COMPRESSIONS = [\"gzip\", \"lzma\", \"xz\", \"zstd\"] as const;\n\nconst URL_KINDS = [\n \"bugtracker\",\n \"contact\",\n \"contribute\",\n \"donation\",\n \"faq\",\n \"help\",\n \"translate\",\n \"vcs-browser\",\n] as const;\n\nconst BOOLEAN_ERROR = \"must be a boolean\";\nconst EPOCH_ERROR = \"must be a non-negative integer\";\nconst EXTRA_FILE_ERROR = \"must be a source path or a { source, mode } entry\";\nconst FILE_MODE_ERROR = \"must be an octal file mode without setuid or setgid bits, such as 755\";\nconst FILE_MODE_PATTERN = /^[0-7]{3,4}$/;\nconst FILE_MODE_RADIX = 8;\nconst PRIVILEGED_FILE_MODE_MASK = 0o6000;\nconst HEX_COLOR_ERROR = \"must be a #rrggbb color\";\nconst HEX_COLOR_PATTERN = /^#[\\dA-Fa-f]{6}$/;\nconst KEY_FILE_ERROR = \"must be a path to a PGP key file\";\nconst KEY_ID_ERROR = \"must be a PGP key id\";\nconst LAUNCHER_ENV_ERROR = \"must be a record of POSIX environment names to values without null bytes\";\nconst LAUNCHER_ENV_NAME_ERROR = \"must be a POSIX environment name\";\nconst LAUNCHER_ENV_NAME_PATTERN = /^[A-Za-z_]\\w*$/;\nconst MINIMUM_LIBRARY_VERSION_ERROR = \"must be a version such as 4.18\";\nconst MINIMUM_LIBRARY_VERSION_PATTERN = /^\\d+(?:\\.\\d+)*$/;\nconst MINIMUM_LIBRARY_VERSIONS_ERROR = \"must be a record of GIR library ids to a minimum version\";\nconst NODE_FLAG_ERROR = \"must be a Node.js flag beginning with a hyphen and containing no null bytes\";\nconst LIBRARY_ID_ERROR = 'must be a GIR library identifier of the form \"Name-Version\", such as \"Adw-1\"';\nconst SCRIPT_ERROR = \"must be a path to a shell script\";\nconst SOURCE_PATH_ERROR = \"must be a source path\";\nconst SPDX_ERROR = \"must be an SPDX license expression\";\nconst URL_ERROR = \"must be an absolute URL\";\nconst VERSION_ERROR = \"must be a version string\";\nconst hexColorSchema = z.string({ error: HEX_COLOR_ERROR }).regex(HEX_COLOR_PATTERN, { error: HEX_COLOR_ERROR });\n\nconst minimumLibraryVersionSchema = z\n .string({ error: MINIMUM_LIBRARY_VERSION_ERROR })\n .regex(MINIMUM_LIBRARY_VERSION_PATTERN, { error: MINIMUM_LIBRARY_VERSION_ERROR });\n\nconst minimumLibraryVersionsSchema = z.record(girLibrary(LIBRARY_ID_ERROR), minimumLibraryVersionSchema, {\n error: MINIMUM_LIBRARY_VERSIONS_ERROR,\n});\n\nconst relationsSchema = z.strictObject({\n /** Package relations expressed in Debian dependency syntax. */\n deb: textList(\"Debian package relation\", \"must be an array of Debian package relations\").optional(),\n /** Package relations expressed in RPM dependency syntax. */\n rpm: textList(\"RPM package relation\", \"must be an array of RPM package relations\").optional(),\n});\n\nconst developerSchema = z.strictObject({\n /** Reverse-DNS developer identifier, derived from the application ID when omitted. */\n id: text(\"must be a reverse-DNS developer id\").optional(),\n /** Developer or organization name. Defaults to the author in package.json. */\n name: text(\"must be a developer or organization name\").optional(),\n /** Maintainer email address. Defaults to the author's email in package.json. */\n email: text(\"must be an email address\").optional(),\n});\n\n/** One software-center screenshot in `deploy.screenshots`. Either `url` or `file` must be set. */\ntype DeployScreenshotOptions = z.infer<typeof screenshotSchema>;\n\n/** Screenshot entry schema and the source of {@link DeployScreenshotOptions}. */\nconst screenshotSchema = z\n .strictObject({\n /** Absolute URL of a PNG or JPEG screenshot. Takes precedence over `file`. */\n url: url(\"must be an absolute URL to a PNG or JPEG\").optional(),\n /** Screenshot path relative to the project root, resolved against `screenshotBaseUrl`. */\n file: text(\"must be an image path relative to the project root\").optional(),\n /** Caption displayed with the screenshot in software centers. */\n caption: text(\"must be a screenshot caption\").optional(),\n /** Marks the primary screenshot. Only the first entry set to `true` is used. */\n isDefault: flag(BOOLEAN_ERROR).optional(),\n })\n .refine((entry) => entry.url !== undefined || entry.file !== undefined, {\n error: \"must have either a `url` or a `file`\",\n });\n\n/** One AppStream release-history entry in `deploy.releases`. */\ntype DeployReleaseOptions = z.infer<typeof releaseSchema>;\n\n/** Release-history entry schema and the source of {@link DeployReleaseOptions}. */\nconst releaseSchema = z.strictObject({\n /** Application version described by this release. */\n version: text(VERSION_ERROR),\n /** Release date in `YYYY-MM-DD` format. */\n date: z.iso.date({ error: \"must be an ISO date (YYYY-MM-DD)\" }),\n /** AppStream release classification. */\n type: z.enum(RELEASE_TYPES, { error: \"must be one of development, snapshot, stable\" }).optional(),\n /** AppStream update urgency. */\n urgency: z.enum(RELEASE_URGENCIES, { error: \"must be one of critical, high, low, medium\" }).optional(),\n /** Release notes, with each entry rendered as a paragraph. */\n notes: textList(\"release note paragraph\", \"must be an array of release note paragraphs\").optional(),\n /** Absolute URL containing further details about the release. */\n url: url(URL_ERROR).optional(),\n});\n\n/** One file extension and MIME type registered through `deploy.fileAssociations`. */\ntype DeployFileAssociationOptions = z.infer<typeof fileAssociationSchema>;\n\n/** File association schema and the source of {@link DeployFileAssociationOptions}. */\nconst fileAssociationSchema = z.strictObject({\n /** File extension to associate with the application, without a leading dot. */\n extension: fileExtension(\"must be a file extension without a leading dot\"),\n /** MIME type registered for the file extension. */\n mimeType: text(\"must be a MIME type such as text/plain\"),\n /** Human-readable description of the file type. */\n description: text(\"must be a description of the file type\").optional(),\n});\n\n/** One desktop launcher action in `deploy.desktopActions`, keyed by its action ID. */\ntype DeployDesktopActionOptions = z.infer<typeof desktopActionSchema>;\n\n/** Desktop launcher action schema and the source of {@link DeployDesktopActionOptions}. */\nconst desktopActionSchema = z.strictObject({\n /** Action label shown in the desktop launcher menu. */\n name: text(\"must be an action name\"),\n /** Arguments passed to the application when the action is activated. */\n args: textList(\"argument\", \"must be an array of arguments appended to Exec\").optional(),\n /** Icon theme name used for the action. */\n icon: text(\"must be an icon name\").optional(),\n});\n\nconst brandingSchema = z.strictObject({\n /** Primary AppStream branding color for light mode, in `#rrggbb` format. */\n light: hexColorSchema,\n /** Primary AppStream branding color for dark mode, in `#rrggbb` format. */\n dark: hexColorSchema,\n});\n\n/**\n * A `deploy.extraFiles` entry in object form: the source file, resolved against the project root, that is\n * installed at the entry's prefix-relative destination, and the octal mode it is installed with.\n */\ntype DeployExtraFileOptions = {\n /** Source file path, resolved relative to the project root. */\n source: string;\n /** Octal file mode. Setuid and setgid bits are rejected. */\n mode?: string | undefined;\n};\nconst extraFileSchema: z.ZodType<DeployExtraFileOptions> = z.strictObject({\n /** Source file path, resolved relative to the project root. */\n source: text(SOURCE_PATH_ERROR),\n /** Octal file mode. Setuid and setgid bits are rejected. */\n mode: z\n .string({ error: FILE_MODE_ERROR })\n .regex(FILE_MODE_PATTERN, { error: FILE_MODE_ERROR })\n .refine((mode) => (Number.parseInt(mode, FILE_MODE_RADIX) & PRIVILEGED_FILE_MODE_MASK) === 0, {\n error: FILE_MODE_ERROR,\n })\n .optional(),\n});\n\nconst extraFileEntrySchema = z.union([text(SOURCE_PATH_ERROR), extraFileSchema], { error: EXTRA_FILE_ERROR });\n\nconst launcherEnvSchema = z.record(\n z.string({ error: LAUNCHER_ENV_NAME_ERROR }).regex(LAUNCHER_ENV_NAME_PATTERN, { error: LAUNCHER_ENV_NAME_ERROR }),\n z.string({ error: LAUNCHER_ENV_ERROR }).refine((value) => !value.includes(\"\\0\"), { error: LAUNCHER_ENV_ERROR }),\n { error: (issue) => (issue.code === \"invalid_key\" ? LAUNCHER_ENV_NAME_ERROR : LAUNCHER_ENV_ERROR) },\n);\n\nconst nodeFlagsSchema = z.array(\n z\n .string({ error: NODE_FLAG_ERROR })\n .refine((value) => value.startsWith(\"-\") && !value.includes(\"\\0\"), { error: NODE_FLAG_ERROR }),\n { error: \"must be an array of Node.js flags\" },\n);\n\n/**\n * The `deploy.node` options: where the Node.js runtime bundled with the application comes from, the version it\n * is expected to be, whether its binary is stripped, and whether the launcher enables the compile cache.\n */\ntype DeployNodeOptions = {\n /** Runtime source: an official download, the running Node.js executable, or `path`. Defaults to `download`. */\n source?: \"download\" | \"host\" | \"path\" | undefined;\n /** Expected Node.js version. Downloaded runtimes default to exactly 26.8.2 when omitted. */\n version?: string | undefined;\n /** Node.js executable path relative to the project root, required when `source` is `path`. */\n path?: string | undefined;\n /** Strip the runtime when its architecture matches the host and `strip` is available. Defaults to `true`. */\n shouldStrip?: boolean | undefined;\n /** Enable Node.js compile caching in the generated launcher. Defaults to `true`. */\n shouldUseCompileCache?: boolean | undefined;\n};\nconst nodeRuntimeSchema: z.ZodType<DeployNodeOptions> = z.strictObject({\n /** Runtime source: an official download, the running Node.js executable, or `path`. Defaults to `download`. */\n source: z.enum(NODE_SOURCES, { error: \"must be one of download, host, path\" }).optional(),\n /** Expected Node.js version. Downloaded runtimes default to exactly 26.8.2 when omitted. */\n version: text(\"must be a Node.js version such as 26.7.0\").optional(),\n /** Node.js executable path relative to the project root, required when `source` is `path`. */\n path: text(\"must be a path to a node binary\").optional(),\n /** Strip the runtime when its architecture matches the host and `strip` is available. Defaults to `true`. */\n shouldStrip: flag(BOOLEAN_ERROR).optional(),\n /** Enable Node.js compile caching in the generated launcher. Defaults to `true`. */\n shouldUseCompileCache: flag(BOOLEAN_ERROR).optional(),\n});\n\nconst scriptsSchema = z.strictObject({\n /** Shell script run before installing a Debian or RPM package. */\n preInstall: text(SCRIPT_ERROR).optional(),\n /** Shell script run after installing a Debian or RPM package. */\n postInstall: text(SCRIPT_ERROR).optional(),\n /** Shell script run before removing a Debian or RPM package. */\n preRemove: text(SCRIPT_ERROR).optional(),\n /** Shell script run after removing a Debian or RPM package. */\n postRemove: text(SCRIPT_ERROR).optional(),\n});\n\nconst toolsSchema = z.strictObject({\n /** nFPM executable name or path relative to the project root. Defaults to a verified pinned download. */\n nfpm: text(\"must be an nFPM executable name or path\").optional(),\n});\n\nconst debSchema = z.strictObject({\n /** Debian package name. Defaults to `deploy.binaryName`. */\n packageName: text(\"must be a Debian package name\").optional(),\n /** Debian archive section, derived from the application categories when omitted. */\n section: text(\"must be a Debian archive section\").optional(),\n /** Debian package priority. Defaults to `optional`. */\n priority: text(\"must be a Debian priority\").optional(),\n /** Compression used for the Debian package payload. */\n compression: z.enum(DEB_COMPRESSIONS, { error: \"must be one of gzip, none, xz, zstd\" }).optional(),\n /** Additional Debian control fields, keyed by field name. */\n fields: textRecord(\"must be a control field value\", \"must be a record of control field names to values\").optional(),\n});\n\nconst rpmSchema = z.strictObject({\n /** RPM package name. Defaults to `deploy.binaryName`. */\n packageName: text(\"must be an RPM package name\").optional(),\n /** RPM package group, derived from the application categories when omitted. */\n group: text(\"must be an RPM group\").optional(),\n /** Compression used for the RPM package payload. */\n compression: z.enum(RPM_COMPRESSIONS, { error: \"must be one of gzip, lzma, xz, zstd\" }).optional(),\n /** Installation prefixes that the RPM package allows users to relocate. */\n prefixes: textList(\"prefix\", \"must be an array of relocation prefixes\").optional(),\n});\n\nconst appimageSchema = z.strictObject({\n /** Output file name, derived from the application name, version, and architecture when omitted. */\n fileName: text(\"must be an output file name\").optional(),\n /** Compression explicitly requested from appimagetool. */\n compression: z.literal(\"zstd\", { error: \"must be zstd\" }).optional(),\n /** AppImage update information string embedded in the executable. */\n updateInformation: text(\"must be an AppImage update information string\").optional(),\n /** Custom AppImage runtime file path, resolved relative to the project root. */\n runtimeFile: text(\"must be a path to an AppImage runtime file\").optional(),\n});\n\nconst flatpakSourceSchema = z.strictObject({\n /** Public HTTP or HTTPS Git repository URL. Defaults to the project's Git remote. */\n url: url(\"must be an absolute git URL\").optional(),\n /** Git tag to build, pinned to its commit when `commit` is omitted. */\n tag: text(\"must be a git tag\").optional(),\n /** Git commit to build. Defaults to the configured tag's commit or the current HEAD. */\n commit: text(\"must be a git commit sha\").optional(),\n});\n\nconst flatpakSchema = z.strictObject({\n /** Package local build output or build from a pinned Git source inside the SDK. Defaults to `prebuilt`. */\n mode: z.enum(FLATPAK_MODES, { error: 'must be \"prebuilt\" or \"source\"' }).optional(),\n /** Flatpak runtime ID. Defaults to `org.gnome.Platform`. */\n runtime: text(\"must be a runtime id\").optional(),\n /** Flatpak runtime branch. Defaults to `50`. */\n runtimeVersion: text('must be a runtime branch such as \"50\"').optional(),\n /** Build SDK ID. Defaults to `org.gnome.Sdk`. */\n sdk: text(\"must be an SDK id\").optional(),\n /** Node.js SDK extension used in source mode. Defaults to `org.freedesktop.Sdk.Extension.node26`. */\n nodeExtension: text(\"must be a Node SDK extension id\").optional(),\n /** Additional SDK extension IDs included in the build environment. */\n sdkExtensions: textList(\"SDK extension id\", \"must be an array of SDK extension ids\").optional(),\n /** Optional Flatpak base application ID. */\n base: text(\"must be a base app id\").optional(),\n /** Branch of the base application. */\n baseVersion: text(\"must be a base app version\").optional(),\n /** Exported application branch. Defaults to `stable`. */\n branch: text(\"must be a branch name\").optional(),\n /** Sandbox permissions added to display, IPC, and GPU defaults. Negations remove matching defaults. */\n finishArgs: textList(\"finish argument\", \"must be an array of flatpak finish arguments\").optional(),\n /** Patterns added to header, pkg-config, and static-library cleanup defaults. An empty array disables cleanup. */\n cleanup: textList(\"cleanup pattern\", \"must be an array of cleanup patterns\").optional(),\n /** Additional shell commands appended to the application's Flatpak build commands. */\n buildCommands: textList(\"shell command\", \"must be an array of shell commands\").optional(),\n /** Additional Flatpak manifest modules built before the application module. */\n modules: z.array(z.unknown(), { error: \"must be an array of flatpak module objects\" }).optional(),\n /** Git repository and revision used for source builds. */\n source: flatpakSourceSchema.optional(),\n /** Package manager used for offline source builds, detected from the project's lockfiles when omitted. */\n packageManager: z.enum(PACKAGE_MANAGERS, { error: \"must be one of npm, pnpm, yarn\" }).optional(),\n /** Lockfile path relative to the project root. Defaults to the selected package manager's standard lockfile. */\n lockfile: text(\"must be a path to a lockfile\").optional(),\n /** Runtime repository URL embedded in the bundle. Defaults to Flathub's `.flatpakrepo` URL. */\n runtimeRepo: url(\"must be an absolute .flatpakrepo URL\").optional(),\n /** Emit a `.flatpak` bundle in addition to the local repository. Defaults to `true`. */\n shouldEmitBundle: flag(BOOLEAN_ERROR).optional(),\n /** Install the built application into the current user's Flatpak installation. Defaults to `false`. */\n shouldInstall: flag(BOOLEAN_ERROR).optional(),\n /** Allow flatpak-builder to use rofiles-fuse. Set to `false` where FUSE is unavailable. */\n shouldUseRofilesFuse: flag(BOOLEAN_ERROR).optional(),\n});\n\nconst debSigningSchema = z.strictObject({\n /** PGP private key file used to sign the Debian package. */\n keyFile: text(KEY_FILE_ERROR),\n /** PGP signing key ID. */\n keyId: text(KEY_ID_ERROR).optional(),\n /** Debian package signing method. */\n method: z.enum(DEB_SIGN_METHODS, { error: 'must be \"debsign\" or \"dpkg-sig\"' }).optional(),\n /** Debian signature role. */\n type: z.enum(DEB_SIGN_TYPES, { error: \"must be one of archive, maint, origin\" }).optional(),\n /** Name and email address recorded as the signer. */\n signer: text(\"must be a signer name and email\").optional(),\n});\n\nconst rpmSigningSchema = z.strictObject({\n /** PGP private key file used to sign the RPM package. */\n keyFile: text(KEY_FILE_ERROR),\n /** PGP signing key ID. */\n keyId: text(KEY_ID_ERROR).optional(),\n});\n\nconst flatpakSigningSchema = z.strictObject({\n /** GPG key ID used to sign the Flatpak bundle. */\n gpgKeyId: text(\"must be a GPG key id\"),\n /** GPG home directory containing the signing key. */\n gpgHomeDir: text(\"must be a path to a GPG home directory\").optional(),\n});\n\nconst appimageSigningSchema = z.strictObject({\n /** GPG key ID used by appimagetool to sign the AppImage. */\n gpgKeyId: text(\"must be a GPG key id\"),\n});\n\nconst signingSchema = z.strictObject({\n /** AppImage signing options. */\n appimage: appimageSigningSchema.optional(),\n /** Debian package signing options. */\n deb: debSigningSchema.optional(),\n /** Flatpak bundle signing options. */\n flatpak: flatpakSigningSchema.optional(),\n /** RPM package signing options. */\n rpm: rpmSigningSchema.optional(),\n});\n\nconst extraRelationsSchema = z.strictObject({\n /** Recommended packages that extend the application's functionality. */\n recommends: relationsSchema.optional(),\n /** Suggested companion packages. */\n suggests: relationsSchema.optional(),\n /** Package names or capabilities supplied by this package. */\n provides: relationsSchema.optional(),\n /** Packages that cannot be installed alongside this package. */\n conflicts: relationsSchema.optional(),\n /** Packages whose files this package may replace. */\n replaces: relationsSchema.optional(),\n /** Debian packages made incompatible by installing this package. Uses the `deb` entries. */\n breaks: relationsSchema.optional(),\n /** Debian dependencies required before unpacking this package. Uses the `deb` entries. */\n preDepends: relationsSchema.optional(),\n});\n\nconst deploySchema = z.strictObject({\n /** Package formats to build. Defaults to `[\"flatpak\"]`; overridden by `gtkx deploy --target`. */\n targets: z\n .array(z.enum(DEPLOY_TARGET_NAMES, { error: \"must be one of appimage, deb, flatpak, rpm\" }), {\n error: \"must be an array of deploy targets\",\n })\n .optional(),\n /** Target CPU architectures. Defaults to the host architecture; overridden by `gtkx deploy --arch`. */\n architectures: z\n .array(z.enum(DEPLOY_ARCH_NAMES, { error: \"must be one of arm64, x64\" }), {\n error: \"must be an array of deploy architectures\",\n })\n .optional(),\n /** Deployment directory relative to the project root. Defaults to `build`, with packages in its `out` directory. */\n outDir: text(\"must be a directory path relative to the project root\").optional(),\n /** Display name, derived from package.json's name or the application ID when omitted. */\n name: text(\"must be the display name shown in the launcher\").optional(),\n /** Generic application description shown by desktop launchers, such as `Text Editor`. */\n genericName: text(\"must be a generic application name\").optional(),\n /** Launcher command name, derived from package.json's name or the application ID when omitted. */\n binaryName: text(\"must be a kebab-case command name\").optional(),\n /** Application version. Defaults to the version in package.json. */\n version: text(VERSION_ERROR).optional(),\n /** Debian packaging revision and RPM release. Defaults to `1`. */\n release: text(\"must be a packaging revision\").optional(),\n /** Non-negative Debian and RPM version epoch, omitted from package metadata unless configured. */\n epoch: z.int({ error: EPOCH_ERROR }).min(0, { error: EPOCH_ERROR }).optional(),\n /** Single-line summary without a trailing period. Defaults to the first line of package.json's description. */\n summary: text(\"must be a single-line summary without a trailing period\").optional(),\n /** Long description as paragraphs. Defaults to the summary when omitted or empty. */\n description: textList(\"description paragraph\", \"must be an array of description paragraphs\").optional(),\n /** Search keywords included in the desktop entry and AppStream metadata. */\n keywords: textList(\"search keyword\", \"must be an array of search keywords\").optional(),\n /** Freedesktop application categories used by launchers, software centers, and package metadata. */\n categories: textList(\"freedesktop category\", \"must be an array of freedesktop categories\").optional(),\n /** Supported MIME types, combined with types from file associations and URL protocols. */\n mimeTypes: textList(\"MIME type\", \"must be an array of MIME types\").optional(),\n /** Developer identity and package maintainer details. */\n developer: developerSchema.optional(),\n /** Application license as an SPDX expression. Defaults to the license in package.json. */\n license: text(SPDX_ERROR).optional(),\n /** License file path relative to the project root, detected from common LICENSE or COPYING names when omitted. */\n licenseFile: text(\"must be a path to a license file\").optional(),\n /** SPDX license expression for the AppStream metadata. Defaults to `CC0-1.0`. */\n metadataLicense: text(SPDX_ERROR).optional(),\n /** Copyright notice. Defaults to the build year and developer name. */\n copyright: text(\"must be a copyright line\").optional(),\n /** Application homepage URL. Defaults to the homepage in package.json. */\n homepage: url(URL_ERROR).optional(),\n /** Additional AppStream links keyed by their purpose, such as `bugtracker` or `help`. */\n urls: z\n .partialRecord(z.enum(URL_KINDS), url(URL_ERROR), {\n error: \"must be a record of AppStream url kinds to URLs\",\n })\n .optional(),\n /**\n * Screenshots for software centers. Each entry requires a `url` or `file`.\n * @see {@link DeployScreenshotOptions} for the fields accepted by each entry.\n */\n screenshots: z.array(screenshotSchema, { error: \"must be an array of screenshots\" }).optional(),\n /** Base URL for screenshot files, inferred from a GitHub or GitLab remote when omitted. */\n screenshotBaseUrl: url(\"must be an absolute base URL\").optional(),\n /** Primary branding colors included in AppStream metadata. */\n branding: brandingSchema.optional(),\n /** OARS 1.1 content-rating attributes mapped to their intensities. */\n contentRating: z\n .record(z.string(), z.enum(OARS_INTENSITIES, { error: \"must be one of intense, mild, moderate, none\" }), {\n error: \"must be a record of OARS 1.1 attribute ids to intensities\",\n })\n .optional(),\n /**\n * AppStream release history, sorted newest first. Defaults to the application version and build date.\n * @see {@link DeployReleaseOptions} for the fields accepted by each entry.\n */\n releases: z.array(releaseSchema, { error: \"must be an array of releases\" }).optional(),\n /** Application arguments included in the desktop entry's launch command. */\n execArgs: textList(\"argument\", \"must be an array of arguments appended to Exec\").optional(),\n /** Environment variables exported by the generated launcher. Keys must be POSIX environment names. */\n launcherEnv: launcherEnvSchema.optional(),\n /** Node.js flags placed before the application bundle in the generated launcher. */\n nodeFlags: nodeFlagsSchema.optional(),\n /**\n * File extensions and MIME types registered for the application.\n * @see {@link DeployFileAssociationOptions} for the fields accepted by each entry.\n */\n fileAssociations: z.array(fileAssociationSchema, { error: \"must be an array of file associations\" }).optional(),\n /** URL schemes handled by the application, registered as `x-scheme-handler` MIME types. */\n protocols: textList(\"URL scheme\", \"must be an array of URL schemes\").optional(),\n /**\n * Desktop launcher actions keyed by action ID.\n * @see {@link DeployDesktopActionOptions} for the fields accepted by each entry.\n */\n desktopActions: z\n .record(z.string(), desktopActionSchema, { error: \"must be a record of action ids to actions\" })\n .optional(),\n /**\n * Additional desktop entry keys, overriding non-reserved generated values.\n * `DBusActivatable` and `Version` are rejected; use `deploy.isDbusActivatable` for D-Bus activation.\n */\n desktopEntry: textRecord(\n \"must be a desktop entry value\",\n \"must be a record of desktop entry keys to values\",\n ).optional(),\n /** Additional XML fragments appended to the AppStream component. */\n metainfoExtra: textList(\"AppStream XML fragment\", \"must be an array of AppStream XML fragments\").optional(),\n /** Enable D-Bus activation in the desktop entry and generate a session bus service file. Defaults to `false`. */\n isDbusActivatable: flag(BOOLEAN_ERROR).optional(),\n /** Extra files keyed by destination inside the install prefix, with source paths relative to the project root. */\n extraFiles: relativePathRecord(\n \"must be a destination path inside the install prefix, without a leading slash or a .. segment\",\n extraFileEntrySchema,\n \"must be a record of prefix-relative destinations to source paths or { source, mode } entries\",\n ).optional(),\n /** Minimum runtime library versions keyed by GIR library ID, used when deriving package dependencies. */\n minimumLibraryVersions: minimumLibraryVersionsSchema.optional(),\n /** Additional Debian and RPM dependencies merged with automatically detected dependencies. */\n depends: relationsSchema.optional(),\n /** Additional package relationships for Debian and RPM. */\n relations: extraRelationsSchema.optional(),\n /** Installation and removal scripts for Debian and RPM packages. */\n scripts: scriptsSchema.optional(),\n /** Node.js runtime bundled with prebuilt packages and launcher compile-cache settings. */\n node: nodeRuntimeSchema.optional(),\n /** Overrides for executables used to build packages. */\n tools: toolsSchema.optional(),\n /** Per-format package signing options. */\n signing: signingSchema.optional(),\n /** AppImage packaging options. */\n appimage: appimageSchema.optional(),\n /** Debian package metadata and compression options. */\n deb: debSchema.optional(),\n /** Flatpak runtime, sandbox, build, and distribution options. */\n flatpak: flatpakSchema.optional(),\n /** RPM package metadata and compression options. */\n rpm: rpmSchema.optional(),\n});\n\nexport {\n deploySchema,\n type DeployDesktopActionOptions,\n type DeployExtraFileOptions,\n type DeployFileAssociationOptions,\n type DeployNodeOptions,\n type DeployReleaseOptions,\n type DeployScreenshotOptions,\n};\n"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { type Config, defineConfig, mergeConfig, type ResolvedConfig } from "./config.ts";
|
|
2
|
-
export { type DeployExtraFileOptions, type DeployNodeOptions } from "./deploy.ts";
|
|
1
|
+
export { type Config, defineConfig, type ElementConfigOptions, mergeConfig, type ResolvedConfig } from "./config.ts";
|
|
2
|
+
export { type DeployDesktopActionOptions, type DeployExtraFileOptions, type DeployFileAssociationOptions, type DeployNodeOptions, type DeployReleaseOptions, type DeployScreenshotOptions, } from "./deploy.ts";
|
|
3
3
|
export { type ConfigLoader, type LoadedConfig, loadConfig } from "./loader.ts";
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,YAAY,EAAE,KAAK,oBAAoB,EAAE,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AACrH,OAAO,EACH,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EACjC,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,GAC/B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,YAAY,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,YAAY,EAA6B,WAAW,EAAuB,MAAM,aAAa,CAAC;AACrH,OAAO,EAON,MAAM,aAAa,CAAC;AACrB,OAAO,EAAwC,UAAU,EAAE,MAAM,aAAa,CAAC","sourcesContent":["export { type Config, defineConfig, type ElementConfigOptions, mergeConfig, type ResolvedConfig } from \"./config.ts\";\nexport {\n type DeployDesktopActionOptions,\n type DeployExtraFileOptions,\n type DeployFileAssociationOptions,\n type DeployNodeOptions,\n type DeployReleaseOptions,\n type DeployScreenshotOptions,\n} from \"./deploy.ts\";\nexport { type ConfigLoader, type LoadedConfig, loadConfig } from \"./loader.ts\";\n"]}
|