@gtkx/cli 2.0.0-beta.7 → 2.0.0-beta.9
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/dist/commands/deploy.d.ts +4 -0
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +6 -0
- package/dist/commands/deploy.js.map +1 -1
- package/dist/deploy/depends.d.ts.map +1 -1
- package/dist/deploy/depends.js +24 -2
- package/dist/deploy/depends.js.map +1 -1
- package/dist/deploy/download.d.ts +7 -3
- package/dist/deploy/download.d.ts.map +1 -1
- package/dist/deploy/download.js +19 -15
- package/dist/deploy/download.js.map +1 -1
- package/dist/deploy/native-addon.d.ts +5 -0
- package/dist/deploy/native-addon.d.ts.map +1 -0
- package/dist/deploy/native-addon.js +134 -0
- package/dist/deploy/native-addon.js.map +1 -0
- package/dist/deploy/node-runtime/download.js +2 -2
- package/dist/deploy/node-runtime/download.js.map +1 -1
- package/dist/deploy/node-runtime/elf.d.ts +3 -1
- package/dist/deploy/node-runtime/elf.d.ts.map +1 -1
- package/dist/deploy/node-runtime/elf.js +3 -1
- package/dist/deploy/node-runtime/elf.js.map +1 -1
- package/dist/deploy/node-runtime/guard.d.ts.map +1 -1
- package/dist/deploy/node-runtime/guard.js +7 -14
- package/dist/deploy/node-runtime/guard.js.map +1 -1
- package/dist/deploy/node-runtime/index.d.ts +2 -1
- package/dist/deploy/node-runtime/index.d.ts.map +1 -1
- package/dist/deploy/node-runtime/index.js +29 -6
- package/dist/deploy/node-runtime/index.js.map +1 -1
- package/dist/deploy/node-runtime/sonames.d.ts +5 -0
- package/dist/deploy/node-runtime/sonames.d.ts.map +1 -0
- package/dist/deploy/node-runtime/sonames.js +13 -0
- package/dist/deploy/node-runtime/sonames.js.map +1 -0
- package/dist/deploy/payload/stage.d.ts +2 -1
- package/dist/deploy/payload/stage.d.ts.map +1 -1
- package/dist/deploy/payload/stage.js +22 -2
- package/dist/deploy/payload/stage.js.map +1 -1
- package/dist/deploy/run-deploy.d.ts +1 -0
- package/dist/deploy/run-deploy.d.ts.map +1 -1
- package/dist/deploy/run-deploy.js +139 -80
- package/dist/deploy/run-deploy.js.map +1 -1
- package/dist/deploy/settings/arch.d.ts +9 -3
- package/dist/deploy/settings/arch.d.ts.map +1 -1
- package/dist/deploy/settings/arch.js +27 -6
- package/dist/deploy/settings/arch.js.map +1 -1
- package/dist/deploy/settings/index.d.ts +2 -1
- package/dist/deploy/settings/index.d.ts.map +1 -1
- package/dist/deploy/settings/index.js +2 -1
- package/dist/deploy/settings/index.js.map +1 -1
- package/dist/deploy/settings/paths.d.ts +2 -1
- package/dist/deploy/settings/paths.d.ts.map +1 -1
- package/dist/deploy/settings/paths.js +6 -5
- package/dist/deploy/settings/paths.js.map +1 -1
- package/dist/deploy/targets/appimage.d.ts.map +1 -1
- package/dist/deploy/targets/appimage.js +1 -0
- package/dist/deploy/targets/appimage.js.map +1 -1
- package/dist/deploy/targets/flatpak-pnpm.js +4 -4
- package/dist/deploy/targets/flatpak-pnpm.js.map +1 -1
- package/dist/deploy/targets/flatpak.d.ts.map +1 -1
- package/dist/deploy/targets/flatpak.js +1 -0
- package/dist/deploy/targets/flatpak.js.map +1 -1
- package/dist/deploy/targets/nfpm-target.d.ts.map +1 -1
- package/dist/deploy/targets/nfpm-target.js +1 -0
- package/dist/deploy/targets/nfpm-target.js.map +1 -1
- package/dist/deploy/types.d.ts +4 -2
- package/dist/deploy/types.d.ts.map +1 -1
- package/dist/deploy/types.js.map +1 -1
- package/dist/deploy/vendored/appimagetool.js +2 -2
- package/dist/deploy/vendored/appimagetool.js.map +1 -1
- package/dist/deploy/vendored/nfpm.js +1 -1
- package/dist/deploy/vendored/nfpm.js.map +1 -1
- package/dist/dev/font-dir.d.ts +1 -1
- package/dist/dev/font-dir.d.ts.map +1 -1
- package/dist/dev/font-dir.js +0 -3
- package/dist/dev/font-dir.js.map +1 -1
- package/dist/dev/runner.d.ts.map +1 -1
- package/dist/dev/runner.js +19 -6
- package/dist/dev/runner.js.map +1 -1
- package/dist/internal/font-staging.d.ts +5 -2
- package/dist/internal/font-staging.d.ts.map +1 -1
- package/dist/internal/font-staging.js +76 -27
- package/dist/internal/font-staging.js.map +1 -1
- package/dist/internal/icon-staging.d.ts +3 -0
- package/dist/internal/icon-staging.d.ts.map +1 -0
- package/dist/internal/icon-staging.js +40 -0
- package/dist/internal/icon-staging.js.map +1 -0
- package/dist/internal/source-imports.js +1 -1
- package/dist/internal/source-imports.js.map +1 -1
- package/dist/vite-plugins/font-worker-env.d.ts.map +1 -1
- package/dist/vite-plugins/font-worker-env.js +2 -5
- package/dist/vite-plugins/font-worker-env.js.map +1 -1
- package/dist/vite-plugins/font.d.ts.map +1 -1
- package/dist/vite-plugins/font.js +16 -4
- package/dist/vite-plugins/font.js.map +1 -1
- package/dist/vite-plugins/icon-worker-env.d.ts +4 -0
- package/dist/vite-plugins/icon-worker-env.d.ts.map +1 -0
- package/dist/vite-plugins/icon-worker-env.js +23 -0
- package/dist/vite-plugins/icon-worker-env.js.map +1 -0
- package/dist/vite-plugins/icons.js +2 -2
- package/dist/vite-plugins/icons.js.map +1 -1
- package/dist/vite-plugins/react-compiler.js +2 -2
- package/dist/vite-plugins/react-compiler.js.map +1 -1
- package/dist/vite-plugins/resources.js +2 -2
- package/dist/vite-plugins/resources.js.map +1 -1
- package/dist/vite-plugins/settings-worker-env.js +2 -2
- package/dist/vite-plugins/settings-worker-env.js.map +1 -1
- package/dist/vite-plugins/store-links.d.ts.map +1 -1
- package/dist/vite-plugins/store-links.js +2 -1
- package/dist/vite-plugins/store-links.js.map +1 -1
- package/dist/vite-plugins/undeclared-library.js +2 -2
- package/dist/vite-plugins/undeclared-library.js.map +1 -1
- package/dist/vite-plugins/worker.d.ts.map +1 -1
- package/dist/vite-plugins/worker.js +21 -13
- package/dist/vite-plugins/worker.js.map +1 -1
- package/dist/vitest-plugin.d.ts +2 -2
- package/dist/vitest-plugin.d.ts.map +1 -1
- package/dist/vitest-plugin.js +4 -2
- package/dist/vitest-plugin.js.map +1 -1
- package/package.json +13 -13
- package/src/commands/deploy.ts +6 -0
- package/src/deploy/depends.ts +30 -3
- package/src/deploy/download.ts +33 -17
- package/src/deploy/native-addon.ts +183 -0
- package/src/deploy/node-runtime/download.ts +2 -2
- package/src/deploy/node-runtime/elf.ts +4 -1
- package/src/deploy/node-runtime/guard.ts +10 -14
- package/src/deploy/node-runtime/index.ts +42 -7
- package/src/deploy/node-runtime/sonames.ts +17 -0
- package/src/deploy/payload/stage.ts +34 -2
- package/src/deploy/run-deploy.ts +209 -94
- package/src/deploy/settings/arch.ts +40 -8
- package/src/deploy/settings/index.ts +4 -1
- package/src/deploy/settings/paths.ts +8 -6
- package/src/deploy/targets/appimage.ts +1 -0
- package/src/deploy/targets/flatpak-pnpm.ts +4 -4
- package/src/deploy/targets/flatpak.ts +1 -0
- package/src/deploy/targets/nfpm-target.ts +1 -0
- package/src/deploy/types.ts +4 -1
- package/src/deploy/vendored/appimagetool.ts +2 -2
- package/src/deploy/vendored/nfpm.ts +1 -1
- package/src/dev/font-dir.ts +1 -6
- package/src/dev/runner.ts +24 -6
- package/src/internal/font-staging.ts +99 -27
- package/src/internal/icon-staging.ts +58 -0
- package/src/internal/source-imports.ts +1 -1
- package/src/vite-plugins/font-worker-env.ts +2 -6
- package/src/vite-plugins/font.ts +21 -3
- package/src/vite-plugins/icon-worker-env.ts +36 -0
- package/src/vite-plugins/icons.ts +2 -2
- package/src/vite-plugins/react-compiler.ts +2 -2
- package/src/vite-plugins/resources.ts +2 -2
- package/src/vite-plugins/settings-worker-env.ts +2 -2
- package/src/vite-plugins/store-links.ts +2 -1
- package/src/vite-plugins/undeclared-library.ts +2 -2
- package/src/vite-plugins/worker.ts +31 -15
- package/src/vitest-plugin.ts +4 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/deploy/settings/index.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Config } from \"@gtkx/config\";\nimport type {\n DeployConfig,\n DeployDesktopAction,\n DeployDeveloper,\n DeployRelease,\n DeploySettings,\n DeployVersions,\n} from \"../types.js\";\nimport { resolveArch } from \"./arch.js\";\nimport { resolveExecToken, resolveFileAssociations, resolveMimeTypes } from \"./exec.js\";\nimport { resolveExtraFiles } from \"./extra-files.js\";\nimport {\n type IdentityRequest,\n resolveBinaryName,\n resolveCopyright,\n resolveDescription,\n resolveDeveloper,\n resolveLicense,\n resolveMetadataLicense,\n resolveName,\n resolveSummary,\n resolveVersionString,\n} from \"./identity.js\";\nimport { resolveLibraries } from \"./libraries.js\";\nimport { readPackageManifest } from \"./package-manifest.js\";\nimport { resolvePaths } from \"./paths.js\";\nimport { resolveScreenshots } from \"./screenshots.js\";\nimport { resolveVersions } from \"./version.js\";\n\ntype SettingsRequest = {\n root: string;\n config: Config;\n configFile: string;\n outDirOverride?: string | undefined;\n now?: Date | undefined;\n};\n\ntype ResolvedCore = {\n identity: IdentityRequest;\n developer: DeployDeveloper;\n versions: DeployVersions;\n date: string;\n};\n\ntype IdentitySlice = Pick<\n DeploySettings,\n | \"applicationId\" |\n \"binaryName\" |\n \"copyright\" |\n \"description\" |\n \"developer\" |\n \"genericName\" |\n \"homepage\" |\n \"license\" |\n \"metadataLicense\" |\n \"name\" |\n \"summary\"\n>;\n\ntype MetadataSlice = Pick<\n DeploySettings,\n \"branding\" | \"categories\" | \"contentRating\" | \"keywords\" | \"mimeTypes\" | \"releases\" | \"screenshots\" | \"urls\"\n>;\n\ntype DesktopSlice = Pick<\n DeploySettings,\n | \"desktopActions\" |\n \"desktopEntry\" |\n \"execArgs\" |\n \"execToken\" |\n \"fileAssociations\" |\n \"isDbusActivatable\" |\n \"protocols\"\n>;\n\nconst ISO_DATE_LENGTH = 10;\nconst MILLISECONDS_PER_SECOND = 1000;\n\nconst reproducibleDate = (epoch: string | undefined): Date | null => {\n if (epoch === undefined || epoch.trim().length === 0) {\n return null;\n }\n\n const seconds = Number(epoch);\n\n return Number.isFinite(seconds) ? new Date(seconds * MILLISECONDS_PER_SECOND) : null;\n};\n\nconst buildDate = (now: Date): string => {\n const stamp = reproducibleDate(process.env.SOURCE_DATE_EPOCH) ?? now;\n\n return stamp.toISOString().slice(0, ISO_DATE_LENGTH);\n};\n\nconst newestFirst = (a: DeployRelease, b: DeployRelease): number => Number(a.date < b.date) - Number(a.date > b.date);\n\nconst resolveReleases = (deploy: DeployConfig, version: string, date: string): DeployRelease[] =>\n (deploy.releases ?? [{ version, date }])\n .map((entry) => ({\n version: entry.version,\n date: entry.date,\n type: entry.type ?? null,\n urgency: entry.urgency ?? null,\n notes: entry.notes ?? [],\n url: entry.url ?? null,\n }))\n .toSorted(newestFirst);\n\nconst resolveDesktopActions = (deploy: DeployConfig): DeployDesktopAction[] =>\n Object.entries(deploy.desktopActions ?? {}).map(([id, action]) => ({\n id,\n name: action.name,\n args: action.args ?? [],\n icon: action.icon ?? null,\n }));\n\nconst identitySlice = ({ identity, developer, date }: ResolvedCore): IdentitySlice => ({\n applicationId: identity.applicationId,\n binaryName: resolveBinaryName(identity),\n name: resolveName(identity),\n genericName: identity.deploy.genericName ?? null,\n summary: resolveSummary(identity),\n description: resolveDescription(identity),\n developer,\n license: resolveLicense(identity),\n metadataLicense: resolveMetadataLicense(identity),\n copyright: resolveCopyright(identity, developer, new Date(date).getUTCFullYear()),\n homepage: identity.deploy.homepage ?? identity.manifest.homepage,\n});\n\nconst metadataSlice = (root: string, { identity, versions, date }: ResolvedCore): MetadataSlice => {\n const deploy = identity.deploy;\n\n return {\n keywords: deploy.keywords ?? [],\n categories: deploy.categories ?? [],\n mimeTypes: resolveMimeTypes(deploy),\n urls: deploy.urls ?? {},\n screenshots: resolveScreenshots({ root, deploy }),\n branding: deploy.branding ?? null,\n contentRating: deploy.contentRating ?? {},\n releases: resolveReleases(deploy, versions.packageVersion, date),\n };\n};\n\nconst desktopSlice = (deploy: DeployConfig): DesktopSlice => ({\n execArgs: deploy.execArgs ?? [],\n execToken: resolveExecToken(deploy),\n fileAssociations: resolveFileAssociations(deploy),\n protocols: deploy.protocols ?? [],\n desktopActions: resolveDesktopActions(deploy),\n desktopEntry: deploy.desktopEntry ?? {},\n isDbusActivatable: deploy.isDbusActivatable ?? false,\n});\n\nconst resolveCore = (request: SettingsRequest): ResolvedCore => {\n const identity: IdentityRequest = {\n applicationId: request.config.applicationId,\n deploy: request.config.deploy ?? {},\n manifest: readPackageManifest(request.root),\n };\n\n const versions = resolveVersions({\n version: resolveVersionString(identity),\n release: identity.deploy.release,\n epoch: identity.deploy.epoch,\n });\n\n return { identity, developer: resolveDeveloper(identity), versions, date: buildDate(request.now ?? new Date()) };\n};\n\nconst resolveDeploySettings = (request: SettingsRequest): DeploySettings => {\n const core = resolveCore(request);\n const deploy = core.identity.deploy;\n\n return {\n configFile: request.configFile,\n ...identitySlice(core),\n ...metadataSlice(request.root, core),\n ...desktopSlice(deploy),\n extraFiles: resolveExtraFiles(request.root, deploy),\n versions: core.versions,\n arch: resolveArch(),\n paths: resolvePaths({\n root: request.root,\n deploy,\n applicationIcon: request.config.applicationIcon,\n applicationId: request.config.applicationId,\n outDirOverride: request.outDirOverride,\n }),\n ...resolveLibraries(request.root, request.config),\n deploy,\n };\n};\n\nexport { resolveDeploySettings };\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/deploy/settings/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAEH,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,sBAAsB,EACtB,WAAW,EACX,cAAc,EACd,oBAAoB,GACvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAiD/C,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAErC,MAAM,gBAAgB,GAAG,CAAC,KAAyB,EAAe,EAAE;IAChE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAE9B,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACzF,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,GAAS,EAAU,EAAE;IACpC,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC;IAErE,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,CAAgB,EAAE,CAAgB,EAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;AAEtH,MAAM,eAAe,GAAG,CAAC,MAAoB,EAAE,OAAe,EAAE,IAAY,EAAmB,EAAE,CAC7F,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;KACnC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACb,OAAO,EAAE,KAAK,CAAC,OAAO;IACtB,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI;IACxB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;IAC9B,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;IACxB,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,IAAI;CACzB,CAAC,CAAC;KACF,QAAQ,CAAC,WAAW,CAAC,CAAC;AAE/B,MAAM,qBAAqB,GAAG,CAAC,MAAoB,EAAyB,EAAE,CAC1E,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/D,EAAE;IACF,IAAI,EAAE,MAAM,CAAC,IAAI;IACjB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;IACvB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI;CAC5B,CAAC,CAAC,CAAC;AAER,MAAM,aAAa,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAgB,EAAiB,EAAE,CAAC,CAAC;IACnF,aAAa,EAAE,QAAQ,CAAC,aAAa;IACrC,UAAU,EAAE,iBAAiB,CAAC,QAAQ,CAAC;IACvC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC;IAC3B,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,IAAI,IAAI;IAChD,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;IACjC,WAAW,EAAE,kBAAkB,CAAC,QAAQ,CAAC;IACzC,SAAS;IACT,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;IACjC,eAAe,EAAE,sBAAsB,CAAC,QAAQ,CAAC;IACjD,SAAS,EAAE,gBAAgB,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;IACjF,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ;CACnE,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAgB,EAAiB,EAAE;IAC9F,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAE/B,OAAO;QACH,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;QAC/B,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE;QACnC,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC;QACnC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;QACvB,WAAW,EAAE,kBAAkB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACjD,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI;QACjC,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,EAAE;QACzC,QAAQ,EAAE,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC;KACnE,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,MAAoB,EAAgB,EAAE,CAAC,CAAC;IAC1D,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;IAC/B,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC;IACnC,gBAAgB,EAAE,uBAAuB,CAAC,MAAM,CAAC;IACjD,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE;IACjC,cAAc,EAAE,qBAAqB,CAAC,MAAM,CAAC;IAC7C,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE;IACvC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,KAAK;CACvD,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,CAAC,OAAwB,EAAgB,EAAE;IAC3D,MAAM,QAAQ,GAAoB;QAC9B,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa;QAC3C,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE;QACnC,QAAQ,EAAE,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC;KAC9C,CAAC;IAEF,MAAM,QAAQ,GAAG,eAAe,CAAC;QAC7B,OAAO,EAAE,oBAAoB,CAAC,QAAQ,CAAC;QACvC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO;QAChC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK;KAC/B,CAAC,CAAC;IAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;AACrH,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,OAAwB,EAAkB,EAAE;IACvE,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAEpC,OAAO;QACH,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,GAAG,aAAa,CAAC,IAAI,CAAC;QACtB,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;QACpC,GAAG,YAAY,CAAC,MAAM,CAAC;QACvB,UAAU,EAAE,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;QACnD,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;QAC/B,KAAK,EAAE,YAAY,CAAC;YAChB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM;YACN,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe;YAC/C,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa;YAC3C,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,IAAI,EAAE,OAAO,CAAC,IAAI;SACrB,CAAC;QACF,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC;QACjD,MAAM;KACT,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,CAAC","sourcesContent":["import type { Config } from \"@gtkx/config\";\nimport type {\n DeployArchName,\n DeployConfig,\n DeployDesktopAction,\n DeployDeveloper,\n DeployRelease,\n DeploySettings,\n DeployVersions,\n} from \"../types.js\";\nimport { resolveArch } from \"./arch.js\";\nimport { resolveExecToken, resolveFileAssociations, resolveMimeTypes } from \"./exec.js\";\nimport { resolveExtraFiles } from \"./extra-files.js\";\nimport {\n type IdentityRequest,\n resolveBinaryName,\n resolveCopyright,\n resolveDescription,\n resolveDeveloper,\n resolveLicense,\n resolveMetadataLicense,\n resolveName,\n resolveSummary,\n resolveVersionString,\n} from \"./identity.js\";\nimport { resolveLibraries } from \"./libraries.js\";\nimport { readPackageManifest } from \"./package-manifest.js\";\nimport { resolvePaths } from \"./paths.js\";\nimport { resolveScreenshots } from \"./screenshots.js\";\nimport { resolveVersions } from \"./version.js\";\n\ntype SettingsRequest = {\n root: string;\n config: Config;\n configFile: string;\n arch: DeployArchName;\n outDirOverride?: string | undefined;\n now?: Date | undefined;\n};\n\ntype ResolvedCore = {\n identity: IdentityRequest;\n developer: DeployDeveloper;\n versions: DeployVersions;\n date: string;\n};\n\ntype IdentitySlice = Pick<\n DeploySettings,\n | \"applicationId\" |\n \"binaryName\" |\n \"copyright\" |\n \"description\" |\n \"developer\" |\n \"genericName\" |\n \"homepage\" |\n \"license\" |\n \"metadataLicense\" |\n \"name\" |\n \"summary\"\n>;\n\ntype MetadataSlice = Pick<\n DeploySettings,\n \"branding\" | \"categories\" | \"contentRating\" | \"keywords\" | \"mimeTypes\" | \"releases\" | \"screenshots\" | \"urls\"\n>;\n\ntype DesktopSlice = Pick<\n DeploySettings,\n | \"desktopActions\" |\n \"desktopEntry\" |\n \"execArgs\" |\n \"execToken\" |\n \"fileAssociations\" |\n \"isDbusActivatable\" |\n \"protocols\"\n>;\n\nconst ISO_DATE_LENGTH = 10;\nconst MILLISECONDS_PER_SECOND = 1000;\n\nconst reproducibleDate = (epoch: string | undefined): Date | null => {\n if (epoch === undefined || epoch.trim().length === 0) {\n return null;\n }\n\n const seconds = Number(epoch);\n\n return Number.isFinite(seconds) ? new Date(seconds * MILLISECONDS_PER_SECOND) : null;\n};\n\nconst buildDate = (now: Date): string => {\n const stamp = reproducibleDate(process.env.SOURCE_DATE_EPOCH) ?? now;\n\n return stamp.toISOString().slice(0, ISO_DATE_LENGTH);\n};\n\nconst newestFirst = (a: DeployRelease, b: DeployRelease): number => Number(a.date < b.date) - Number(a.date > b.date);\n\nconst resolveReleases = (deploy: DeployConfig, version: string, date: string): DeployRelease[] =>\n (deploy.releases ?? [{ version, date }])\n .map((entry) => ({\n version: entry.version,\n date: entry.date,\n type: entry.type ?? null,\n urgency: entry.urgency ?? null,\n notes: entry.notes ?? [],\n url: entry.url ?? null,\n }))\n .toSorted(newestFirst);\n\nconst resolveDesktopActions = (deploy: DeployConfig): DeployDesktopAction[] =>\n Object.entries(deploy.desktopActions ?? {}).map(([id, action]) => ({\n id,\n name: action.name,\n args: action.args ?? [],\n icon: action.icon ?? null,\n }));\n\nconst identitySlice = ({ identity, developer, date }: ResolvedCore): IdentitySlice => ({\n applicationId: identity.applicationId,\n binaryName: resolveBinaryName(identity),\n name: resolveName(identity),\n genericName: identity.deploy.genericName ?? null,\n summary: resolveSummary(identity),\n description: resolveDescription(identity),\n developer,\n license: resolveLicense(identity),\n metadataLicense: resolveMetadataLicense(identity),\n copyright: resolveCopyright(identity, developer, new Date(date).getUTCFullYear()),\n homepage: identity.deploy.homepage ?? identity.manifest.homepage,\n});\n\nconst metadataSlice = (root: string, { identity, versions, date }: ResolvedCore): MetadataSlice => {\n const deploy = identity.deploy;\n\n return {\n keywords: deploy.keywords ?? [],\n categories: deploy.categories ?? [],\n mimeTypes: resolveMimeTypes(deploy),\n urls: deploy.urls ?? {},\n screenshots: resolveScreenshots({ root, deploy }),\n branding: deploy.branding ?? null,\n contentRating: deploy.contentRating ?? {},\n releases: resolveReleases(deploy, versions.packageVersion, date),\n };\n};\n\nconst desktopSlice = (deploy: DeployConfig): DesktopSlice => ({\n execArgs: deploy.execArgs ?? [],\n execToken: resolveExecToken(deploy),\n fileAssociations: resolveFileAssociations(deploy),\n protocols: deploy.protocols ?? [],\n desktopActions: resolveDesktopActions(deploy),\n desktopEntry: deploy.desktopEntry ?? {},\n isDbusActivatable: deploy.isDbusActivatable ?? false,\n});\n\nconst resolveCore = (request: SettingsRequest): ResolvedCore => {\n const identity: IdentityRequest = {\n applicationId: request.config.applicationId,\n deploy: request.config.deploy ?? {},\n manifest: readPackageManifest(request.root),\n };\n\n const versions = resolveVersions({\n version: resolveVersionString(identity),\n release: identity.deploy.release,\n epoch: identity.deploy.epoch,\n });\n\n return { identity, developer: resolveDeveloper(identity), versions, date: buildDate(request.now ?? new Date()) };\n};\n\nconst resolveDeploySettings = (request: SettingsRequest): DeploySettings => {\n const core = resolveCore(request);\n const deploy = core.identity.deploy;\n\n return {\n configFile: request.configFile,\n ...identitySlice(core),\n ...metadataSlice(request.root, core),\n ...desktopSlice(deploy),\n extraFiles: resolveExtraFiles(request.root, deploy),\n versions: core.versions,\n arch: resolveArch(request.arch),\n paths: resolvePaths({\n root: request.root,\n deploy,\n applicationIcon: request.config.applicationIcon,\n applicationId: request.config.applicationId,\n outDirOverride: request.outDirOverride,\n arch: request.arch,\n }),\n ...resolveLibraries(request.root, request.config),\n deploy,\n };\n};\n\nexport { resolveDeploySettings };\n"]}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type { Config } from "@gtkx/config";
|
|
2
|
-
import type { DeployConfig, DeployPaths } from "../types.js";
|
|
2
|
+
import type { DeployArchName, DeployConfig, DeployPaths } from "../types.js";
|
|
3
3
|
type PathsRequest = {
|
|
4
4
|
root: string;
|
|
5
5
|
deploy: DeployConfig;
|
|
6
6
|
applicationIcon: Config["applicationIcon"];
|
|
7
7
|
applicationId: Config["applicationId"];
|
|
8
8
|
outDirOverride: string | undefined;
|
|
9
|
+
arch: DeployArchName;
|
|
9
10
|
};
|
|
10
11
|
declare const prepareDeployOutDir: (root: string, outDir: string) => void;
|
|
11
12
|
declare const resolvePaths: (request: PathsRequest) => DeployPaths;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/deploy/settings/paths.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAI3C,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/deploy/settings/paths.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAI3C,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI7E,KAAK,YAAY,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC3C,aAAa,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;IACvC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,IAAI,EAAE,cAAc,CAAC;CACxB,CAAC;AAoEF,QAAA,MAAM,mBAAmB,GAAI,MAAM,MAAM,EAAE,QAAQ,MAAM,KAAG,IAW3D,CAAC;AAmBF,QAAA,MAAM,YAAY,GAAI,SAAS,YAAY,KAAG,WAmB7C,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -135,15 +135,16 @@ const resolveLicenseFile = (root, configured) => {
|
|
|
135
135
|
const resolvePaths = (request) => {
|
|
136
136
|
const { root, deploy } = request;
|
|
137
137
|
const outDir = resolveOutDir(request);
|
|
138
|
+
const archDir = join(outDir, request.arch);
|
|
138
139
|
return {
|
|
139
140
|
root,
|
|
140
141
|
dist: join(root, DIST_DIR),
|
|
141
142
|
outDir,
|
|
142
|
-
metadata: join(
|
|
143
|
-
runtime: join(
|
|
144
|
-
stage: join(
|
|
145
|
-
overlay: join(
|
|
146
|
-
targets: join(
|
|
143
|
+
metadata: join(archDir, "metadata"),
|
|
144
|
+
runtime: join(archDir, "runtime"),
|
|
145
|
+
stage: join(archDir, "stage"),
|
|
146
|
+
overlay: join(archDir, "overlay"),
|
|
147
|
+
targets: join(archDir, "targets"),
|
|
147
148
|
output: join(outDir, "out"),
|
|
148
149
|
applicationIcon: resolveApplicationIcon(root, request.applicationId, request.applicationIcon),
|
|
149
150
|
licenseFile: resolveLicenseFile(root, deploy.licenseFile),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/deploy/settings/paths.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/deploy/settings/paths.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Config } from \"@gtkx/config\";\nimport { isPathInside } from \"@gtkx/utils\";\nimport { lstatSync, readdirSync, statSync, writeFileSync } from \"node:fs\";\nimport { join, relative, resolve, sep } from \"node:path\";\nimport type { DeployArchName, DeployConfig, DeployPaths } from \"../types.js\";\nimport { resolveApplicationIcon } from \"../../internal/icon-path.js\";\nimport { prepareOutputDirectory, readRegularFile } from \"../../internal/output-directory.js\";\n\ntype PathsRequest = {\n root: string;\n deploy: DeployConfig;\n applicationIcon: Config[\"applicationIcon\"];\n applicationId: Config[\"applicationId\"];\n outDirOverride: string | undefined;\n arch: DeployArchName;\n};\n\nconst DEFAULT_OUT_DIR = \"build\";\nconst DIST_DIR = \"dist\";\nconst DEPLOY_MARKER_FILENAME = \".gtkx-deploy.json\";\nconst DEPLOY_MARKER = `${JSON.stringify({ generator: \"gtkx-deploy\", formatVersion: 1 })}\\n`;\nconst LICENSE_CANDIDATES = [\"LICENSE\", \"LICENSE.md\", \"LICENSE.txt\", \"COPYING\", \"COPYING.md\"];\n\nconst hasSymlinkComponent = (root: string, target: string): boolean => {\n let current = root;\n\n for (const segment of relative(root, target).split(sep)) {\n current = join(current, segment);\n\n if (lstatSync(current, { throwIfNoEntry: false })?.isSymbolicLink() === true) {\n return true;\n }\n }\n\n return false;\n};\n\nconst isDeployMarker = (path: string): boolean => {\n return readRegularFile(path) === DEPLOY_MARKER;\n};\n\nconst isReusableDeployDirectory = (path: string): boolean => {\n const entry = lstatSync(path, { throwIfNoEntry: false });\n\n if (entry === undefined) {\n return true;\n }\n\n return entry.isDirectory() &&\n (readdirSync(path).length === 0 || isDeployMarker(join(path, DEPLOY_MARKER_FILENAME)));\n};\n\nconst deployOutputError = (root: string, configured: string): Error =>\n new Error(\n `Cannot use \"${configured}\" as the deploy output directory: choose an empty directory or an ` +\n `earlier GTKX deploy directory below ${root}`,\n );\n\nconst assertSafeDeployOutDir = (root: string, outDir: string, configured: string): void => {\n const dist = join(root, DIST_DIR);\n\n if (\n outDir === dist ||\n !isPathInside(root, outDir) ||\n isPathInside(dist, outDir) ||\n hasSymlinkComponent(root, outDir)\n ) {\n throw deployOutputError(root, configured);\n }\n};\n\nconst resolveOutDir = ({ root, deploy, outDirOverride }: PathsRequest): string => {\n const configured = outDirOverride ?? deploy.outDir ?? DEFAULT_OUT_DIR;\n const outDir = resolve(root, configured);\n assertSafeDeployOutDir(root, outDir, configured);\n\n if (!isReusableDeployDirectory(outDir)) {\n throw deployOutputError(root, configured);\n }\n\n return outDir;\n};\n\nconst prepareDeployOutDir = (root: string, outDir: string): void => {\n assertSafeDeployOutDir(root, outDir, outDir);\n const prepared = prepareOutputDirectory(root, outDir, isReusableDeployDirectory);\n\n if (prepared.status === \"unsafe\") {\n throw deployOutputError(root, outDir);\n }\n\n using transaction = prepared.transaction;\n transaction.commit();\n writeFileSync(join(outDir, DEPLOY_MARKER_FILENAME), DEPLOY_MARKER, { flag: \"wx\" });\n};\n\nconst existingFile = (path: string): string | null =>\n statSync(path, { throwIfNoEntry: false })?.isFile() === true ? path : null;\n\nconst resolveLicenseFile = (root: string, configured: string | undefined): string | null => {\n if (configured !== undefined) {\n const path = resolve(root, configured);\n\n if (existingFile(path) === null) {\n throw new Error(`Cannot read the license file \"${configured}\": no such file under ${root}`);\n }\n\n return path;\n }\n\n return LICENSE_CANDIDATES.map((name) => existingFile(join(root, name))).find((path) => path !== null) ?? null;\n};\n\nconst resolvePaths = (request: PathsRequest): DeployPaths => {\n const { root, deploy } = request;\n const outDir = resolveOutDir(request);\n const archDir = join(outDir, request.arch);\n\n return {\n root,\n dist: join(root, DIST_DIR),\n outDir,\n metadata: join(archDir, \"metadata\"),\n runtime: join(archDir, \"runtime\"),\n stage: join(archDir, \"stage\"),\n overlay: join(archDir, \"overlay\"),\n targets: join(archDir, \"targets\"),\n output: join(outDir, \"out\"),\n applicationIcon: resolveApplicationIcon(root, request.applicationId, request.applicationIcon),\n licenseFile: resolveLicenseFile(root, deploy.licenseFile),\n schemaFiles: [],\n };\n};\n\nexport { prepareDeployOutDir, resolvePaths };\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appimage.d.ts","sourceRoot":"","sources":["../../../src/deploy/targets/appimage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAKR,YAAY,EAEf,MAAM,aAAa,CAAC;AAmBrB,QAAA,MAAM,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"appimage.d.ts","sourceRoot":"","sources":["../../../src/deploy/targets/appimage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAKR,YAAY,EAEf,MAAM,aAAa,CAAC;AAmBrB,QAAA,MAAM,cAAc,EAAE,YAOrB,CAAC;AA0HF,OAAO,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appimage.js","sourceRoot":"","sources":["../../../src/deploy/targets/appimage.ts"],"names":[],"mappings":"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","sourcesContent":["import { existsSync, mkdirSync, rmSync, statSync } from \"node:fs\";\nimport { basename, join } from \"node:path\";\nimport type {\n DeployArtifact,\n DeployManifest,\n DeployPayload,\n DeploySettings,\n DeployTarget,\n StagedFile,\n} from \"../types.js\";\nimport { runCliTool } from \"../../internal/run-cli-tool.js\";\nimport { copyInto, copyTree, EXECUTABLE_MODE, writeInto } from \"../payload/copy-tree.js\";\nimport { type ApplicationIconVariant, classifyApplicationIcon } from \"../payload/icons.js\";\nimport { FILE_TOOL } from \"../tools.js\";\nimport { resolveAppimageTooling } from \"../vendored/appimagetool.js\";\n\ntype RankedIcon = {\n file: StagedFile;\n variant: ApplicationIconVariant;\n};\n\nconst PREFIX = \"/usr\";\nconst TARGET_DIR = \"appimage\";\nconst APPRUN_FILENAME = \"AppRun\";\nconst APPDIR_NAME = \"AppDir\";\nconst USR_DIR = \"usr\";\nconst EXTRACT_AND_RUN = \"APPIMAGE_EXTRACT_AND_RUN\";\n\nconst appimageTarget: DeployTarget = {\n name: \"appimage\",\n prefix: PREFIX,\n tools: [FILE_TOOL],\n render: (payload) => renderManifests(payload),\n pack: (payload) => packAppImage(payload),\n};\n\nconst appimageDir = (settings: DeploySettings): string => join(settings.paths.targets, TARGET_DIR);\nconst appDirFor = (settings: DeploySettings): string => join(appimageDir(settings), APPDIR_NAME);\nconst appRunPathFor = (settings: DeploySettings): string => join(appimageDir(settings), APPRUN_FILENAME);\n\nconst renderAppRun = (settings: DeploySettings): string =>\n [\n \"#!/bin/sh\",\n \"set -e\",\n 'here=$(dirname \"$(readlink -f \"$0\")\")',\n 'XDG_DATA_DIRS=\"$here/usr/share:${XDG_DATA_DIRS:-/usr/local/share:/usr/share}\"',\n \"export XDG_DATA_DIRS\",\n `exec \"$here/usr/bin/${settings.binaryName}\" \"$@\"`,\n \"\",\n ].join(\"\\n\");\n\nconst renderManifests = (payload: DeployPayload): DeployManifest[] => [\n { path: appRunPathFor(payload.settings), contents: renderAppRun(payload.settings) },\n];\n\nconst rankedIcon = (applicationId: string, file: StagedFile): RankedIcon | null => {\n const variant = classifyApplicationIcon(applicationId, file.rel);\n\n return variant === null ? null : { file, variant };\n};\n\nconst isLargerIcon = (candidate: RankedIcon, best: RankedIcon): boolean =>\n candidate.variant.scalable === best.variant.scalable\n ? candidate.variant.effectivePixels > best.variant.effectivePixels\n : candidate.variant.scalable;\n\nconst largerIcon = (best: RankedIcon | undefined, candidate: RankedIcon): RankedIcon =>\n best === undefined || isLargerIcon(candidate, best) ? candidate : best;\n\nconst largestIcon = (applicationId: string, files: StagedFile[]): StagedFile | undefined => {\n let best: RankedIcon | undefined;\n\n for (const file of files) {\n const candidate = rankedIcon(applicationId, file);\n\n if (candidate === null) {\n continue;\n }\n\n best = largerIcon(best, candidate);\n }\n\n return best?.file;\n};\n\nconst rootIconFor = (payload: DeployPayload): { rel: string; abs: string } => {\n const { applicationId } = payload.settings;\n const icon = largestIcon(applicationId, payload.stage);\n\n if (icon === undefined) {\n throw new Error(`Cannot build an AppImage without a ${applicationId} icon in the staged icon tree`);\n }\n\n return { rel: basename(icon.rel), abs: icon.abs };\n};\n\nconst buildAppDir = (payload: DeployPayload): string => {\n const settings = payload.settings;\n const appDir = appDirFor(settings);\n rmSync(appDir, { recursive: true, force: true, maxRetries: 5 });\n copyTree(appDir, USR_DIR, settings.paths.stage);\n copyTree(appDir, USR_DIR, join(settings.paths.overlay, TARGET_DIR));\n writeInto(appDir, APPRUN_FILENAME, renderAppRun(settings), EXECUTABLE_MODE);\n\n copyInto(appDir, `${settings.applicationId}.desktop`, join(appDir, USR_DIR, \"share/applications\",\n `${settings.applicationId}.desktop`));\n\n const icon = rootIconFor(payload);\n copyInto(appDir, icon.rel, icon.abs);\n\n return appDir;\n};\n\nconst artifactNameFor = (settings: DeploySettings): string =>\n settings.deploy.appimage?.fileName ??\n `${settings.name.replaceAll(\" \", \"_\")}-${settings.versions.packageVersion}-${settings.arch.appimage}.AppImage`;\n\nconst toolArgsFor = (settings: DeploySettings, runtime: string, appDir: string, target: string): string[] => {\n const appimage = settings.deploy.appimage ?? {};\n const signing = settings.deploy.signing?.appimage;\n\n return [\n \"--no-appstream\",\n \"--runtime-file\",\n appimage.runtimeFile ?? runtime,\n ...(appimage.compression === undefined ? [] : [\"--comp\", appimage.compression]),\n ...(appimage.updateInformation === undefined ? [] : [\"-u\", appimage.updateInformation]),\n ...(signing === undefined ? [] : [\"-s\", \"--sign-key\", signing.gpgKeyId]),\n appDir,\n target,\n ];\n};\n\nconst packAppImage = async (payload: DeployPayload): Promise<DeployArtifact[]> => {\n const settings = payload.settings;\n const tooling = await resolveAppimageTooling(settings.arch.appimage);\n const appDir = buildAppDir(payload);\n const output = settings.paths.output;\n mkdirSync(output, { recursive: true });\n const target = join(output, artifactNameFor(settings));\n\n runCliTool({\n tool: tooling.tool,\n args: toolArgsFor(settings, tooling.runtime, appDir, target),\n target: \"the AppImage\",\n shouldStream: true,\n options: { env: { ...process.env, ARCH: settings.arch.appimage, [EXTRACT_AND_RUN]: \"1\" } },\n });\n\n if (!existsSync(target)) {\n throw new Error(`appimagetool reported success but wrote no AppImage at ${target}`);\n }\n\n return [{ path: target, size: statSync(target).size }];\n};\n\nexport { appimageTarget };\n"]}
|
|
1
|
+
{"version":3,"file":"appimage.js","sourceRoot":"","sources":["../../../src/deploy/targets/appimage.ts"],"names":[],"mappings":"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","sourcesContent":["import { existsSync, mkdirSync, rmSync, statSync } from \"node:fs\";\nimport { basename, join } from \"node:path\";\nimport type {\n DeployArtifact,\n DeployManifest,\n DeployPayload,\n DeploySettings,\n DeployTarget,\n StagedFile,\n} from \"../types.js\";\nimport { runCliTool } from \"../../internal/run-cli-tool.js\";\nimport { copyInto, copyTree, EXECUTABLE_MODE, writeInto } from \"../payload/copy-tree.js\";\nimport { type ApplicationIconVariant, classifyApplicationIcon } from \"../payload/icons.js\";\nimport { FILE_TOOL } from \"../tools.js\";\nimport { resolveAppimageTooling } from \"../vendored/appimagetool.js\";\n\ntype RankedIcon = {\n file: StagedFile;\n variant: ApplicationIconVariant;\n};\n\nconst PREFIX = \"/usr\";\nconst TARGET_DIR = \"appimage\";\nconst APPRUN_FILENAME = \"AppRun\";\nconst APPDIR_NAME = \"AppDir\";\nconst USR_DIR = \"usr\";\nconst EXTRACT_AND_RUN = \"APPIMAGE_EXTRACT_AND_RUN\";\n\nconst appimageTarget: DeployTarget = {\n name: \"appimage\",\n prefix: PREFIX,\n isHostOnly: true,\n tools: [FILE_TOOL],\n render: (payload) => renderManifests(payload),\n pack: (payload) => packAppImage(payload),\n};\n\nconst appimageDir = (settings: DeploySettings): string => join(settings.paths.targets, TARGET_DIR);\nconst appDirFor = (settings: DeploySettings): string => join(appimageDir(settings), APPDIR_NAME);\nconst appRunPathFor = (settings: DeploySettings): string => join(appimageDir(settings), APPRUN_FILENAME);\n\nconst renderAppRun = (settings: DeploySettings): string =>\n [\n \"#!/bin/sh\",\n \"set -e\",\n 'here=$(dirname \"$(readlink -f \"$0\")\")',\n 'XDG_DATA_DIRS=\"$here/usr/share:${XDG_DATA_DIRS:-/usr/local/share:/usr/share}\"',\n \"export XDG_DATA_DIRS\",\n `exec \"$here/usr/bin/${settings.binaryName}\" \"$@\"`,\n \"\",\n ].join(\"\\n\");\n\nconst renderManifests = (payload: DeployPayload): DeployManifest[] => [\n { path: appRunPathFor(payload.settings), contents: renderAppRun(payload.settings) },\n];\n\nconst rankedIcon = (applicationId: string, file: StagedFile): RankedIcon | null => {\n const variant = classifyApplicationIcon(applicationId, file.rel);\n\n return variant === null ? null : { file, variant };\n};\n\nconst isLargerIcon = (candidate: RankedIcon, best: RankedIcon): boolean =>\n candidate.variant.scalable === best.variant.scalable\n ? candidate.variant.effectivePixels > best.variant.effectivePixels\n : candidate.variant.scalable;\n\nconst largerIcon = (best: RankedIcon | undefined, candidate: RankedIcon): RankedIcon =>\n best === undefined || isLargerIcon(candidate, best) ? candidate : best;\n\nconst largestIcon = (applicationId: string, files: StagedFile[]): StagedFile | undefined => {\n let best: RankedIcon | undefined;\n\n for (const file of files) {\n const candidate = rankedIcon(applicationId, file);\n\n if (candidate === null) {\n continue;\n }\n\n best = largerIcon(best, candidate);\n }\n\n return best?.file;\n};\n\nconst rootIconFor = (payload: DeployPayload): { rel: string; abs: string } => {\n const { applicationId } = payload.settings;\n const icon = largestIcon(applicationId, payload.stage);\n\n if (icon === undefined) {\n throw new Error(`Cannot build an AppImage without a ${applicationId} icon in the staged icon tree`);\n }\n\n return { rel: basename(icon.rel), abs: icon.abs };\n};\n\nconst buildAppDir = (payload: DeployPayload): string => {\n const settings = payload.settings;\n const appDir = appDirFor(settings);\n rmSync(appDir, { recursive: true, force: true, maxRetries: 5 });\n copyTree(appDir, USR_DIR, settings.paths.stage);\n copyTree(appDir, USR_DIR, join(settings.paths.overlay, TARGET_DIR));\n writeInto(appDir, APPRUN_FILENAME, renderAppRun(settings), EXECUTABLE_MODE);\n\n copyInto(appDir, `${settings.applicationId}.desktop`, join(appDir, USR_DIR, \"share/applications\",\n `${settings.applicationId}.desktop`));\n\n const icon = rootIconFor(payload);\n copyInto(appDir, icon.rel, icon.abs);\n\n return appDir;\n};\n\nconst artifactNameFor = (settings: DeploySettings): string =>\n settings.deploy.appimage?.fileName ??\n `${settings.name.replaceAll(\" \", \"_\")}-${settings.versions.packageVersion}-${settings.arch.appimage}.AppImage`;\n\nconst toolArgsFor = (settings: DeploySettings, runtime: string, appDir: string, target: string): string[] => {\n const appimage = settings.deploy.appimage ?? {};\n const signing = settings.deploy.signing?.appimage;\n\n return [\n \"--no-appstream\",\n \"--runtime-file\",\n appimage.runtimeFile ?? runtime,\n ...(appimage.compression === undefined ? [] : [\"--comp\", appimage.compression]),\n ...(appimage.updateInformation === undefined ? [] : [\"-u\", appimage.updateInformation]),\n ...(signing === undefined ? [] : [\"-s\", \"--sign-key\", signing.gpgKeyId]),\n appDir,\n target,\n ];\n};\n\nconst packAppImage = async (payload: DeployPayload): Promise<DeployArtifact[]> => {\n const settings = payload.settings;\n const tooling = await resolveAppimageTooling(settings.arch.appimage);\n const appDir = buildAppDir(payload);\n const output = settings.paths.output;\n mkdirSync(output, { recursive: true });\n const target = join(output, artifactNameFor(settings));\n\n runCliTool({\n tool: tooling.tool,\n args: toolArgsFor(settings, tooling.runtime, appDir, target),\n target: \"the AppImage\",\n shouldStream: true,\n options: { env: { ...process.env, ARCH: settings.arch.appimage, [EXTRACT_AND_RUN]: \"1\" } },\n });\n\n if (!existsSync(target)) {\n throw new Error(`appimagetool reported success but wrote no AppImage at ${target}`);\n }\n\n return [{ path: target, size: statSync(target).size }];\n};\n\nexport { appimageTarget };\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { readPackageManifest } from "../settings/package-manifest.js";
|
|
2
|
-
const PNPM_VERSION = "11.
|
|
2
|
+
const PNPM_VERSION = "11.26.0";
|
|
3
3
|
const PNPM_MAJOR = 11;
|
|
4
|
-
const PNPM_MINOR =
|
|
5
|
-
const PNPM_SHA512 = "
|
|
6
|
-
"
|
|
4
|
+
const PNPM_MINOR = 26;
|
|
5
|
+
const PNPM_SHA512 = "fc0e2bf890b9f983611f1ab68c0637bce914390653699f83c1a78b005ed25f2c81e77920c8" +
|
|
6
|
+
"fd8eee2ecf0b58b28cdcb00a84d97f69bcf7c56b2f344710238664";
|
|
7
7
|
const PNPM_DIR = "flatpak-pnpm";
|
|
8
8
|
const PNPM_COMMAND = "pnpm";
|
|
9
9
|
const PNPM_PREFIX = "pnpm@";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flatpak-pnpm.js","sourceRoot":"","sources":["../../../src/deploy/targets/flatpak-pnpm.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAStE,MAAM,YAAY,GAAG,SAAS,CAAC;AAC/B,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,UAAU,GAAG,EAAE,CAAC;AAEtB,MAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"flatpak-pnpm.js","sourceRoot":"","sources":["../../../src/deploy/targets/flatpak-pnpm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DeploySettings } from \"../types.js\";\nimport type { FlatpakModule } from \"./flatpak-prebuilt.js\";\nimport { readPackageManifest } from \"../settings/package-manifest.js\";\n\ntype PnpmPin = {\n version: string;\n major: number;\n minor: number;\n sha512: string;\n};\n\nconst PNPM_VERSION = \"11.26.0\";\nconst PNPM_MAJOR = 11;\nconst PNPM_MINOR = 26;\n\nconst PNPM_SHA512 = \"fc0e2bf890b9f983611f1ab68c0637bce914390653699f83c1a78b005ed25f2c81e77920c8\" +\n \"fd8eee2ecf0b58b28cdcb00a84d97f69bcf7c56b2f344710238664\";\n\nconst PNPM_DIR = \"flatpak-pnpm\";\nconst PNPM_COMMAND = \"pnpm\";\nconst PNPM_PREFIX = \"pnpm@\";\nconst PNPM_TARBALL_URL = \"https://registry.npmjs.org/pnpm/-/pnpm-\";\nconst PNPM_INSTALL = \"pnpm install --offline --frozen-lockfile\";\nconst TRUST_LOCKFILE = \"--trust-lockfile\";\nconst STORE_V10 = \"v10\";\nconst STORE_V11 = \"v11\";\nconst STORE_V10_MAJOR = 10;\nconst STORE_V11_MAJOR = 11;\nconst TRUST_LOCKFILE_MINOR = 3;\n\nconst DEFAULT_PIN: PnpmPin = {\n version: PNPM_VERSION,\n major: PNPM_MAJOR,\n minor: PNPM_MINOR,\n sha512: PNPM_SHA512,\n};\n\nconst PNPM_PIN_FIELD =\n /^pnpm@(?<version>(?<major>\\d+)\\.(?<minor>\\d+)\\.\\d+)\\+sha512\\.(?<sha512>[\\da-f]{128})$/;\n\nconst pinFromGroups = (groups: Record<string, string | undefined>): PnpmPin | null => {\n const { major, minor, sha512, version } = groups;\n\n if (major === undefined || minor === undefined || sha512 === undefined || version === undefined) {\n return null;\n }\n\n return { version, major: Number(major), minor: Number(minor), sha512 };\n};\n\nconst isSupportedPin = (pin: PnpmPin): boolean =>\n pin.major === STORE_V10_MAJOR || (pin.major === STORE_V11_MAJOR && pin.minor >= TRUST_LOCKFILE_MINOR);\n\nconst resolvePnpmPin = (settings: DeploySettings): PnpmPin => {\n const field = readPackageManifest(settings.paths.root).packageManager;\n\n if (field === null) {\n return DEFAULT_PIN;\n }\n\n if (!field.startsWith(PNPM_PREFIX)) {\n throw new Error(\n `Cannot vendor pnpm for the Flathub sandbox: \"packageManager\" is \"${field}\" but the offline install ` +\n \"resolves from a pnpm lockfile. Run `corepack use pnpm@<version>` to pin it to pnpm, or point \" +\n \"`deploy.flatpak.packageManager` at the manager whose lockfile the build should install from.\",\n );\n }\n\n const pin = pinFromGroups(PNPM_PIN_FIELD.exec(field)?.groups ?? {});\n\n if (pin === null) {\n throw new Error(\n `Cannot vendor pnpm for the Flathub sandbox: \"packageManager\" is \"${field}\", which carries no sha512 ` +\n \"integrity digest, and every source in a Flathub build has to be hash-pinned. Run \" +\n \"`corepack use pnpm@<version>` to rewrite it with its digest.\",\n );\n }\n\n if (!isSupportedPin(pin)) {\n throw new Error(\n `Cannot vendor pnpm ${pin.version} for the Flathub sandbox: the offline install runs on pnpm 10, or on ` +\n \"pnpm 11 from 11.3.0 on, where `--trust-lockfile` exists. Earlier pnpm 11 releases reach the registry \" +\n 'during the supply-chain check and the sandbox has no network. Pin \"packageManager\" to one of those.',\n );\n }\n\n return pin;\n};\n\nconst pnpmPathFor = (moduleDir: string): string => `${moduleDir}/${PNPM_DIR}`;\n\nconst pnpmSources = (pin: PnpmPin, moduleDir: string): FlatpakModule[] => [\n { type: \"archive\", url: `${PNPM_TARBALL_URL}${pin.version}.tgz`, sha512: pin.sha512, dest: PNPM_DIR },\n {\n type: \"script\",\n dest: PNPM_DIR,\n \"dest-filename\": PNPM_COMMAND,\n commands: [`exec node ${pnpmPathFor(moduleDir)}/bin/pnpm.cjs \"$@\"`],\n },\n];\n\nconst pnpmInstallCommand = (pin: PnpmPin): string =>\n pin.major === STORE_V11_MAJOR ? `${PNPM_INSTALL} ${TRUST_LOCKFILE}` : PNPM_INSTALL;\n\nconst pnpmStoreVersionFor = (pin: PnpmPin): string =>\n pin.major === STORE_V10_MAJOR ? STORE_V10 : STORE_V11;\n\nexport {\n pnpmInstallCommand,\n pnpmPathFor,\n type PnpmPin,\n pnpmSources,\n pnpmStoreVersionFor,\n resolvePnpmPin,\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flatpak.d.ts","sourceRoot":"","sources":["../../../src/deploy/targets/flatpak.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAiE,YAAY,EAAE,MAAM,aAAa,CAAC;AAgB/G,QAAA,MAAM,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"flatpak.d.ts","sourceRoot":"","sources":["../../../src/deploy/targets/flatpak.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAiE,YAAY,EAAE,MAAM,aAAa,CAAC;AAgB/G,QAAA,MAAM,aAAa,EAAE,YAOpB,CAAC;AAqHF,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -13,6 +13,7 @@ const BUILDER_REF = "org.flatpak.Builder";
|
|
|
13
13
|
const flatpakTarget = {
|
|
14
14
|
name: "flatpak",
|
|
15
15
|
prefix: PREFIX,
|
|
16
|
+
isHostOnly: true,
|
|
16
17
|
tools: [FLATPAK, FLATPAK_BUILDER, DESKTOP_FILE_VALIDATE, APPSTREAMCLI],
|
|
17
18
|
render: (payload) => renderManifests(payload),
|
|
18
19
|
pack: (payload) => Promise.try(() => packFlatpak(payload)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flatpak.js","sourceRoot":"","sources":["../../../src/deploy/targets/flatpak.ts"],"names":[],"mappings":"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","sourcesContent":["import { errorMessage, info, tryResolveExecutable } from \"@gtkx/utils\";\nimport { existsSync, mkdirSync, statSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { stringify } from \"yaml\";\nimport type { DeployArtifact, DeployManifest, DeployPayload, DeploySettings, DeployTarget } from \"../types.js\";\nimport { runCliTool } from \"../../internal/run-cli-tool.js\";\nimport { APPSTREAMCLI, DESKTOP_FILE_VALIDATE, FLATPAK, FLATPAK_BUILDER } from \"../tools.js\";\nimport { branchFor, renderFlatpakManifest } from \"./flatpak-manifest.js\";\nimport { detectPackageManager, generateNodeSources, pnpmPinFor } from \"./flatpak-sources.js\";\n\ntype BuilderInvocation = {\n tool: string;\n prefix: string[];\n};\n\nconst PREFIX = \"/app\";\nconst TARGET_DIR = \"flatpak\";\nconst FLATHUB_REPO = \"https://dl.flathub.org/repo/flathub.flatpakrepo\";\nconst BUILDER_REF = \"org.flatpak.Builder\";\n\nconst flatpakTarget: DeployTarget = {\n name: \"flatpak\",\n prefix: PREFIX,\n tools: [FLATPAK, FLATPAK_BUILDER, DESKTOP_FILE_VALIDATE, APPSTREAMCLI],\n render: (payload) => renderManifests(payload),\n pack: (payload) => Promise.try(() => packFlatpak(payload)),\n};\n\nconst flatpakDir = (settings: DeploySettings): string => join(settings.paths.targets, TARGET_DIR);\n\nconst manifestPathFor = (settings: DeploySettings): string =>\n join(flatpakDir(settings), `${settings.applicationId}.yml`);\n\nconst resolveBuilder = (): BuilderInvocation => {\n if (tryResolveExecutable(FLATPAK_BUILDER.command) !== undefined) {\n return { tool: FLATPAK_BUILDER.command, prefix: [] };\n }\n\n return { tool: FLATPAK.command, prefix: [\"run\", BUILDER_REF] };\n};\n\nconst isSourceMode = (settings: DeploySettings): boolean => settings.deploy.flatpak?.mode === \"source\";\n\nconst renderManifests = (payload: DeployPayload): DeployManifest[] => {\n const settings = payload.settings;\n\n if (isSourceMode(settings)) {\n const manager = detectPackageManager(settings);\n generateNodeSources(settings, manager, pnpmPinFor(settings, manager));\n }\n\n return [{\n path: manifestPathFor(settings),\n contents: stringify(renderFlatpakManifest(payload), { lineWidth: 0 }),\n }];\n};\n\nconst builderArgsFor = (settings: DeploySettings, dir: string): string[] => [\n \"--force-clean\",\n \"--user\",\n \"--install-deps-from=flathub\",\n `--default-branch=${branchFor(settings)}`,\n ...(settings.deploy.flatpak?.shouldUseRofilesFuse === false ? [\"--disable-rofiles-fuse\"] : []),\n `--state-dir=${join(dir, \"state\")}`,\n `--repo=${join(dir, \"repo\")}`,\n join(dir, \"build\"),\n manifestPathFor(settings),\n];\n\nconst buildFlatpak = (settings: DeploySettings): void => {\n const dir = flatpakDir(settings);\n const builder = resolveBuilder();\n info(\"flatpak: running flatpak-builder, this can take several minutes\");\n\n try {\n runCliTool({\n tool: builder.tool,\n args: [...builder.prefix, ...builderArgsFor(settings, dir)],\n target: \"the flatpak\",\n shouldStream: true,\n });\n } catch (error) {\n throw new Error(\n `${errorMessage(error)}\\n\\nIf it stopped at \"Failure spawning rofiles-fuse\", the build is running ` +\n \"somewhere FUSE is unavailable, such as a container. Set `deploy.flatpak.shouldUseRofilesFuse: false` \" +\n \"to build without it.\",\n { cause: error },\n );\n }\n};\n\nconst bundleArgsFor = (settings: DeploySettings, target: string): string[] => {\n const signing = settings.deploy.signing?.flatpak;\n const runtimeRepo = settings.deploy.flatpak?.runtimeRepo ?? FLATHUB_REPO;\n\n return [\n \"build-bundle\",\n join(flatpakDir(settings), \"repo\"),\n target,\n settings.applicationId,\n branchFor(settings),\n `--arch=${settings.arch.flatpak}`,\n `--runtime-repo=${runtimeRepo}`,\n ...(signing === undefined ? [] : [`--gpg-sign=${signing.gpgKeyId}`]),\n ...(signing?.gpgHomeDir === undefined ? [] : [`--gpg-homedir=${signing.gpgHomeDir}`]),\n ];\n};\n\nconst bundleFlatpak = (settings: DeploySettings): DeployArtifact => {\n const output = settings.paths.output;\n mkdirSync(output, { recursive: true });\n const version = settings.versions.packageVersion;\n const target = join(output, `${settings.applicationId}-${version}-${settings.arch.flatpak}.flatpak`);\n runCliTool({ tool: FLATPAK.command, args: bundleArgsFor(settings, target), target: \"the flatpak bundle\" });\n\n if (!existsSync(target)) {\n throw new Error(`flatpak build-bundle reported success but wrote no bundle at ${target}`);\n }\n\n return { path: target, size: statSync(target).size };\n};\n\nconst installFlatpak = (settings: DeploySettings): void => {\n runCliTool({\n tool: FLATPAK.command,\n args: [\"install\", \"--user\", \"--noninteractive\", \"--reinstall\", join(flatpakDir(settings), \"repo\"),\n settings.applicationId],\n target: \"the flatpak\",\n shouldStream: true,\n });\n};\n\nconst packFlatpak = (payload: DeployPayload): DeployArtifact[] => {\n const settings = payload.settings;\n buildFlatpak(settings);\n\n if (settings.deploy.flatpak?.shouldInstall === true) {\n installFlatpak(settings);\n }\n\n return settings.deploy.flatpak?.shouldEmitBundle === false ? [] : [bundleFlatpak(settings)];\n};\n\nexport { flatpakTarget };\n"]}
|
|
1
|
+
{"version":3,"file":"flatpak.js","sourceRoot":"","sources":["../../../src/deploy/targets/flatpak.ts"],"names":[],"mappings":"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","sourcesContent":["import { errorMessage, info, tryResolveExecutable } from \"@gtkx/utils\";\nimport { existsSync, mkdirSync, statSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { stringify } from \"yaml\";\nimport type { DeployArtifact, DeployManifest, DeployPayload, DeploySettings, DeployTarget } from \"../types.js\";\nimport { runCliTool } from \"../../internal/run-cli-tool.js\";\nimport { APPSTREAMCLI, DESKTOP_FILE_VALIDATE, FLATPAK, FLATPAK_BUILDER } from \"../tools.js\";\nimport { branchFor, renderFlatpakManifest } from \"./flatpak-manifest.js\";\nimport { detectPackageManager, generateNodeSources, pnpmPinFor } from \"./flatpak-sources.js\";\n\ntype BuilderInvocation = {\n tool: string;\n prefix: string[];\n};\n\nconst PREFIX = \"/app\";\nconst TARGET_DIR = \"flatpak\";\nconst FLATHUB_REPO = \"https://dl.flathub.org/repo/flathub.flatpakrepo\";\nconst BUILDER_REF = \"org.flatpak.Builder\";\n\nconst flatpakTarget: DeployTarget = {\n name: \"flatpak\",\n prefix: PREFIX,\n isHostOnly: true,\n tools: [FLATPAK, FLATPAK_BUILDER, DESKTOP_FILE_VALIDATE, APPSTREAMCLI],\n render: (payload) => renderManifests(payload),\n pack: (payload) => Promise.try(() => packFlatpak(payload)),\n};\n\nconst flatpakDir = (settings: DeploySettings): string => join(settings.paths.targets, TARGET_DIR);\n\nconst manifestPathFor = (settings: DeploySettings): string =>\n join(flatpakDir(settings), `${settings.applicationId}.yml`);\n\nconst resolveBuilder = (): BuilderInvocation => {\n if (tryResolveExecutable(FLATPAK_BUILDER.command) !== undefined) {\n return { tool: FLATPAK_BUILDER.command, prefix: [] };\n }\n\n return { tool: FLATPAK.command, prefix: [\"run\", BUILDER_REF] };\n};\n\nconst isSourceMode = (settings: DeploySettings): boolean => settings.deploy.flatpak?.mode === \"source\";\n\nconst renderManifests = (payload: DeployPayload): DeployManifest[] => {\n const settings = payload.settings;\n\n if (isSourceMode(settings)) {\n const manager = detectPackageManager(settings);\n generateNodeSources(settings, manager, pnpmPinFor(settings, manager));\n }\n\n return [{\n path: manifestPathFor(settings),\n contents: stringify(renderFlatpakManifest(payload), { lineWidth: 0 }),\n }];\n};\n\nconst builderArgsFor = (settings: DeploySettings, dir: string): string[] => [\n \"--force-clean\",\n \"--user\",\n \"--install-deps-from=flathub\",\n `--default-branch=${branchFor(settings)}`,\n ...(settings.deploy.flatpak?.shouldUseRofilesFuse === false ? [\"--disable-rofiles-fuse\"] : []),\n `--state-dir=${join(dir, \"state\")}`,\n `--repo=${join(dir, \"repo\")}`,\n join(dir, \"build\"),\n manifestPathFor(settings),\n];\n\nconst buildFlatpak = (settings: DeploySettings): void => {\n const dir = flatpakDir(settings);\n const builder = resolveBuilder();\n info(\"flatpak: running flatpak-builder, this can take several minutes\");\n\n try {\n runCliTool({\n tool: builder.tool,\n args: [...builder.prefix, ...builderArgsFor(settings, dir)],\n target: \"the flatpak\",\n shouldStream: true,\n });\n } catch (error) {\n throw new Error(\n `${errorMessage(error)}\\n\\nIf it stopped at \"Failure spawning rofiles-fuse\", the build is running ` +\n \"somewhere FUSE is unavailable, such as a container. Set `deploy.flatpak.shouldUseRofilesFuse: false` \" +\n \"to build without it.\",\n { cause: error },\n );\n }\n};\n\nconst bundleArgsFor = (settings: DeploySettings, target: string): string[] => {\n const signing = settings.deploy.signing?.flatpak;\n const runtimeRepo = settings.deploy.flatpak?.runtimeRepo ?? FLATHUB_REPO;\n\n return [\n \"build-bundle\",\n join(flatpakDir(settings), \"repo\"),\n target,\n settings.applicationId,\n branchFor(settings),\n `--arch=${settings.arch.flatpak}`,\n `--runtime-repo=${runtimeRepo}`,\n ...(signing === undefined ? [] : [`--gpg-sign=${signing.gpgKeyId}`]),\n ...(signing?.gpgHomeDir === undefined ? [] : [`--gpg-homedir=${signing.gpgHomeDir}`]),\n ];\n};\n\nconst bundleFlatpak = (settings: DeploySettings): DeployArtifact => {\n const output = settings.paths.output;\n mkdirSync(output, { recursive: true });\n const version = settings.versions.packageVersion;\n const target = join(output, `${settings.applicationId}-${version}-${settings.arch.flatpak}.flatpak`);\n runCliTool({ tool: FLATPAK.command, args: bundleArgsFor(settings, target), target: \"the flatpak bundle\" });\n\n if (!existsSync(target)) {\n throw new Error(`flatpak build-bundle reported success but wrote no bundle at ${target}`);\n }\n\n return { path: target, size: statSync(target).size };\n};\n\nconst installFlatpak = (settings: DeploySettings): void => {\n runCliTool({\n tool: FLATPAK.command,\n args: [\"install\", \"--user\", \"--noninteractive\", \"--reinstall\", join(flatpakDir(settings), \"repo\"),\n settings.applicationId],\n target: \"the flatpak\",\n shouldStream: true,\n });\n};\n\nconst packFlatpak = (payload: DeployPayload): DeployArtifact[] => {\n const settings = payload.settings;\n buildFlatpak(settings);\n\n if (settings.deploy.flatpak?.shouldInstall === true) {\n installFlatpak(settings);\n }\n\n return settings.deploy.flatpak?.shouldEmitBundle === false ? [] : [bundleFlatpak(settings)];\n};\n\nexport { flatpakTarget };\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nfpm-target.d.ts","sourceRoot":"","sources":["../../../src/deploy/targets/nfpm-target.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAiD,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/F,OAAO,EAA0B,KAAK,YAAY,EAAoB,MAAM,mBAAmB,CAAC;AA2BhG,QAAA,MAAM,UAAU,GAAI,UAAU,YAAY,KAAG,
|
|
1
|
+
{"version":3,"file":"nfpm-target.d.ts","sourceRoot":"","sources":["../../../src/deploy/targets/nfpm-target.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAiD,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/F,OAAO,EAA0B,KAAK,YAAY,EAAoB,MAAM,mBAAmB,CAAC;AA2BhG,QAAA,MAAM,UAAU,GAAI,UAAU,YAAY,KAAG,YAO3C,CAAC;AAEH,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -23,6 +23,7 @@ const packPackage = async (payload, packager) => [
|
|
|
23
23
|
const nfpmTarget = (packager) => ({
|
|
24
24
|
name: packager,
|
|
25
25
|
prefix: PREFIX,
|
|
26
|
+
isHostOnly: false,
|
|
26
27
|
tools: [TAR],
|
|
27
28
|
render: (payload) => renderManifests(payload, packager),
|
|
28
29
|
pack: (payload) => packPackage(payload, packager),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nfpm-target.js","sourceRoot":"","sources":["../../../src/deploy/targets/nfpm-target.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EAAE,sBAAsB,EAAqB,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,MAAM,iBAAiB,GAAG,WAAW,CAAC;AACtC,MAAM,MAAM,GAAG,MAAM,CAAC;AAEtB,MAAM,eAAe,GAAG,CAAC,OAAsB,EAAE,QAAsB,EAAU,EAAE,CAC/E,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AAEtE,MAAM,eAAe,GAAG,CAAC,OAAsB,EAAE,QAAsB,EAAoB,EAAE;IACzF,MAAM,YAAY,GAAG,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAE/D,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,GAAG,QAAQ,8BAA8B,YAAY,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,CAAC;YACJ,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC;YACxC,QAAQ,EAAE,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;SAC3F,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,KAAK,EAAE,OAAsB,EAAE,QAAsB,EAA6B,EAAE,CAAC;IACrG,MAAM,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;CAC5E,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,QAAsB,EAAgB,EAAE,CAAC,CAAC;IAC1D,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,CAAC,GAAG,CAAC;IACZ,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC;IACvD,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC;CACpD,CAAC,CAAC;AAEH,OAAO,EAAE,UAAU,EAAE,CAAC","sourcesContent":["import { info } from \"@gtkx/utils\";\nimport { join } from \"node:path\";\nimport { stringify } from \"yaml\";\nimport type { DeployArtifact, DeployManifest, DeployPayload, DeployTarget } from \"../types.js\";\nimport { glibcMinimumForPackage, type NfpmPackager, renderNfpmConfig } from \"../nfpm/config.js\";\nimport { packWithNfpm } from \"../nfpm/pack.js\";\nimport { TAR } from \"../tools.js\";\n\nconst MANIFEST_FILENAME = \"nfpm.yaml\";\nconst PREFIX = \"/usr\";\n\nconst manifestPathFor = (payload: DeployPayload, packager: NfpmPackager): string =>\n join(payload.settings.paths.targets, packager, MANIFEST_FILENAME);\n\nconst renderManifests = (payload: DeployPayload, packager: NfpmPackager): DeployManifest[] => {\n const glibcMinimum = glibcMinimumForPackage(payload, packager);\n\n if (glibcMinimum !== null) {\n info(`${packager} package requires glibc >= ${glibcMinimum}`);\n }\n\n return [{\n path: manifestPathFor(payload, packager),\n contents: stringify(renderNfpmConfig(payload, packager, glibcMinimum), { lineWidth: 0 }),\n }];\n};\n\nconst packPackage = async (payload: DeployPayload, packager: NfpmPackager): Promise<DeployArtifact[]> => [\n await packWithNfpm(payload, packager, manifestPathFor(payload, packager)),\n];\n\nconst nfpmTarget = (packager: NfpmPackager): DeployTarget => ({\n name: packager,\n prefix: PREFIX,\n tools: [TAR],\n render: (payload) => renderManifests(payload, packager),\n pack: (payload) => packPackage(payload, packager),\n});\n\nexport { nfpmTarget };\n"]}
|
|
1
|
+
{"version":3,"file":"nfpm-target.js","sourceRoot":"","sources":["../../../src/deploy/targets/nfpm-target.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EAAE,sBAAsB,EAAqB,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,MAAM,iBAAiB,GAAG,WAAW,CAAC;AACtC,MAAM,MAAM,GAAG,MAAM,CAAC;AAEtB,MAAM,eAAe,GAAG,CAAC,OAAsB,EAAE,QAAsB,EAAU,EAAE,CAC/E,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AAEtE,MAAM,eAAe,GAAG,CAAC,OAAsB,EAAE,QAAsB,EAAoB,EAAE;IACzF,MAAM,YAAY,GAAG,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAE/D,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,GAAG,QAAQ,8BAA8B,YAAY,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,CAAC;YACJ,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC;YACxC,QAAQ,EAAE,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;SAC3F,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,KAAK,EAAE,OAAsB,EAAE,QAAsB,EAA6B,EAAE,CAAC;IACrG,MAAM,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;CAC5E,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,QAAsB,EAAgB,EAAE,CAAC,CAAC;IAC1D,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,KAAK;IACjB,KAAK,EAAE,CAAC,GAAG,CAAC;IACZ,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC;IACvD,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC;CACpD,CAAC,CAAC;AAEH,OAAO,EAAE,UAAU,EAAE,CAAC","sourcesContent":["import { info } from \"@gtkx/utils\";\nimport { join } from \"node:path\";\nimport { stringify } from \"yaml\";\nimport type { DeployArtifact, DeployManifest, DeployPayload, DeployTarget } from \"../types.js\";\nimport { glibcMinimumForPackage, type NfpmPackager, renderNfpmConfig } from \"../nfpm/config.js\";\nimport { packWithNfpm } from \"../nfpm/pack.js\";\nimport { TAR } from \"../tools.js\";\n\nconst MANIFEST_FILENAME = \"nfpm.yaml\";\nconst PREFIX = \"/usr\";\n\nconst manifestPathFor = (payload: DeployPayload, packager: NfpmPackager): string =>\n join(payload.settings.paths.targets, packager, MANIFEST_FILENAME);\n\nconst renderManifests = (payload: DeployPayload, packager: NfpmPackager): DeployManifest[] => {\n const glibcMinimum = glibcMinimumForPackage(payload, packager);\n\n if (glibcMinimum !== null) {\n info(`${packager} package requires glibc >= ${glibcMinimum}`);\n }\n\n return [{\n path: manifestPathFor(payload, packager),\n contents: stringify(renderNfpmConfig(payload, packager, glibcMinimum), { lineWidth: 0 }),\n }];\n};\n\nconst packPackage = async (payload: DeployPayload, packager: NfpmPackager): Promise<DeployArtifact[]> => [\n await packWithNfpm(payload, packager, manifestPathFor(payload, packager)),\n];\n\nconst nfpmTarget = (packager: NfpmPackager): DeployTarget => ({\n name: packager,\n prefix: PREFIX,\n isHostOnly: false,\n tools: [TAR],\n render: (payload) => renderManifests(payload, packager),\n pack: (payload) => packPackage(payload, packager),\n});\n\nexport { nfpmTarget };\n"]}
|
package/dist/deploy/types.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Config } from "@gtkx/config";
|
|
2
2
|
import type { ResolvedApplicationIcon } from "../internal/icon-path.js";
|
|
3
3
|
type DeployConfig = NonNullable<Config["deploy"]>;
|
|
4
|
+
type DeployArchName = NonNullable<DeployConfig["architectures"]>[number];
|
|
4
5
|
type DeployTargetName = NonNullable<DeployConfig["targets"]>[number];
|
|
5
6
|
type PackageFamily = "arch" | "debian" | "fedora" | "suse" | "unknown";
|
|
6
7
|
type DeployTool = {
|
|
@@ -80,7 +81,7 @@ type DeployArch = {
|
|
|
80
81
|
rpm: string;
|
|
81
82
|
flatpak: string;
|
|
82
83
|
appimage: string;
|
|
83
|
-
node:
|
|
84
|
+
node: DeployArchName;
|
|
84
85
|
};
|
|
85
86
|
type DeployPaths = {
|
|
86
87
|
root: string;
|
|
@@ -153,9 +154,10 @@ type DeployArtifact = {
|
|
|
153
154
|
type DeployTarget = {
|
|
154
155
|
name: DeployTargetName;
|
|
155
156
|
prefix: string;
|
|
157
|
+
isHostOnly: boolean;
|
|
156
158
|
tools: DeployTool[];
|
|
157
159
|
render: (payload: DeployPayload) => DeployManifest[];
|
|
158
160
|
pack: (payload: DeployPayload, manifests: DeployManifest[]) => Promise<DeployArtifact[]>;
|
|
159
161
|
};
|
|
160
|
-
export type { DeployArch, DeployArtifact, DeployConfig, DeployDesktopAction, DeployDeveloper, DeployExtraFile, DeployFileAssociation, DeployManifest, DeployPaths, DeployPayload, DeployRelease, DeployScreenshot, DeploySettings, DeployTarget, DeployTargetName, DeployTool, DeployVersions, NodeRuntime, Notice, NoticeSection, PackageFamily, StagedFile, };
|
|
162
|
+
export type { DeployArch, DeployArchName, DeployArtifact, DeployConfig, DeployDesktopAction, DeployDeveloper, DeployExtraFile, DeployFileAssociation, DeployManifest, DeployPaths, DeployPayload, DeployRelease, DeployScreenshot, DeploySettings, DeployTarget, DeployTargetName, DeployTool, DeployVersions, NodeRuntime, Notice, NoticeSection, PackageFamily, StagedFile, };
|
|
161
163
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/deploy/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAExE,KAAK,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AAClD,KAAK,gBAAgB,GAAG,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACrE,KAAK,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AAEvE,KAAK,UAAU,GAAG;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC;CAC7B,CAAC;AAEF,KAAK,UAAU,GAAG;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,WAAW,GAAG;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,KAAK,MAAM,GAAG;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAEF,KAAK,aAAa,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF,KAAK,eAAe,GAAG;IACnB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,KAAK,aAAa,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAEF,KAAK,qBAAqB,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,KAAK,eAAe,GAAG;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAEF,KAAK,cAAc,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF,KAAK,UAAU,GAAG;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/deploy/types.ts"],"names":[],"mappings":"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"}
|
package/dist/deploy/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/deploy/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Config } from \"@gtkx/config\";\nimport type { ResolvedApplicationIcon } from \"../internal/icon-path.js\";\n\ntype DeployConfig = NonNullable<Config[\"deploy\"]>;\ntype DeployTargetName = NonNullable<DeployConfig[\"targets\"]>[number];\ntype PackageFamily = \"arch\" | \"debian\" | \"fedora\" | \"suse\" | \"unknown\";\n\ntype DeployTool = {\n command: string;\n purpose: string;\n isOptional: boolean;\n isPresent?: () => boolean;\n};\n\ntype StagedFile = {\n rel: string;\n abs: string;\n mode: number;\n};\n\ntype NodeRuntime = {\n path: string;\n licenseFile: string | null;\n version: string;\n glibcMinimum: string | null;\n isStripped: boolean;\n};\n\ntype Notice = {\n subject: string;\n license: string;\n source: string | null;\n copyright: string[];\n text: string | null;\n};\n\ntype NoticeSection = {\n title: string;\n files: string[];\n summary: string[];\n notices: Notice[];\n};\n\ntype DeployDeveloper = {\n id: string | null;\n name: string;\n email: string | null;\n};\n\ntype DeployScreenshot = {\n url: string;\n caption: string | null;\n isDefault: boolean;\n};\n\ntype DeployRelease = {\n version: string;\n date: string;\n type: string | null;\n urgency: string | null;\n notes: string[];\n url: string | null;\n};\n\ntype DeployFileAssociation = {\n extension: string;\n mimeType: string;\n description: string | null;\n};\n\ntype DeployExtraFile = {\n destination: string;\n source: string;\n mode: number | null;\n};\n\ntype DeployDesktopAction = {\n id: string;\n name: string;\n args: string[];\n icon: string | null;\n};\n\ntype DeployVersions = {\n upstream: string;\n packageVersion: string;\n debRevision: string;\n rpmRelease: string;\n epoch: number | null;\n};\n\ntype DeployArch = {\n deb: string;\n rpm: string;\n flatpak: string;\n appimage: string;\n node:
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/deploy/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Config } from \"@gtkx/config\";\nimport type { ResolvedApplicationIcon } from \"../internal/icon-path.js\";\n\ntype DeployConfig = NonNullable<Config[\"deploy\"]>;\ntype DeployArchName = NonNullable<DeployConfig[\"architectures\"]>[number];\ntype DeployTargetName = NonNullable<DeployConfig[\"targets\"]>[number];\ntype PackageFamily = \"arch\" | \"debian\" | \"fedora\" | \"suse\" | \"unknown\";\n\ntype DeployTool = {\n command: string;\n purpose: string;\n isOptional: boolean;\n isPresent?: () => boolean;\n};\n\ntype StagedFile = {\n rel: string;\n abs: string;\n mode: number;\n};\n\ntype NodeRuntime = {\n path: string;\n licenseFile: string | null;\n version: string;\n glibcMinimum: string | null;\n isStripped: boolean;\n};\n\ntype Notice = {\n subject: string;\n license: string;\n source: string | null;\n copyright: string[];\n text: string | null;\n};\n\ntype NoticeSection = {\n title: string;\n files: string[];\n summary: string[];\n notices: Notice[];\n};\n\ntype DeployDeveloper = {\n id: string | null;\n name: string;\n email: string | null;\n};\n\ntype DeployScreenshot = {\n url: string;\n caption: string | null;\n isDefault: boolean;\n};\n\ntype DeployRelease = {\n version: string;\n date: string;\n type: string | null;\n urgency: string | null;\n notes: string[];\n url: string | null;\n};\n\ntype DeployFileAssociation = {\n extension: string;\n mimeType: string;\n description: string | null;\n};\n\ntype DeployExtraFile = {\n destination: string;\n source: string;\n mode: number | null;\n};\n\ntype DeployDesktopAction = {\n id: string;\n name: string;\n args: string[];\n icon: string | null;\n};\n\ntype DeployVersions = {\n upstream: string;\n packageVersion: string;\n debRevision: string;\n rpmRelease: string;\n epoch: number | null;\n};\n\ntype DeployArch = {\n deb: string;\n rpm: string;\n flatpak: string;\n appimage: string;\n node: DeployArchName;\n};\n\ntype DeployPaths = {\n root: string;\n dist: string;\n outDir: string;\n metadata: string;\n runtime: string;\n stage: string;\n overlay: string;\n targets: string;\n output: string;\n applicationIcon: ResolvedApplicationIcon;\n licenseFile: string | null;\n schemaFiles: string[];\n};\n\ntype DeploySettings = {\n applicationId: string;\n configFile: string;\n binaryName: string;\n name: string;\n genericName: string | null;\n summary: string;\n description: string[];\n keywords: string[];\n categories: string[];\n mimeTypes: string[];\n developer: DeployDeveloper;\n license: string;\n metadataLicense: string;\n copyright: string;\n homepage: string | null;\n urls: Record<string, string>;\n screenshots: DeployScreenshot[];\n branding: { light: string; dark: string } | null;\n contentRating: Record<string, string>;\n releases: DeployRelease[];\n execArgs: string[];\n execToken: string | null;\n fileAssociations: DeployFileAssociation[];\n protocols: string[];\n desktopActions: DeployDesktopAction[];\n desktopEntry: Record<string, string>;\n isDbusActivatable: boolean;\n extraFiles: DeployExtraFile[];\n versions: DeployVersions;\n arch: DeployArch;\n paths: DeployPaths;\n libraries: string[];\n minimumLibraryVersions: Record<string, string>;\n deploy: DeployConfig;\n};\n\ntype DeployPayload = {\n settings: DeploySettings;\n node: NodeRuntime | null;\n stage: StagedFile[];\n notices: NoticeSection[];\n overlays: Record<DeployTargetName, StagedFile[]>;\n};\n\ntype DeployManifest = {\n path: string;\n contents: string;\n};\n\ntype DeployArtifact = {\n path: string;\n size: number;\n};\n\ntype DeployTarget = {\n name: DeployTargetName;\n prefix: string;\n isHostOnly: boolean;\n tools: DeployTool[];\n render: (payload: DeployPayload) => DeployManifest[];\n pack: (payload: DeployPayload, manifests: DeployManifest[]) => Promise<DeployArtifact[]>;\n};\n\nexport type {\n DeployArch,\n DeployArchName,\n DeployArtifact,\n DeployConfig,\n DeployDesktopAction,\n DeployDeveloper,\n DeployExtraFile,\n DeployFileAssociation,\n DeployManifest,\n DeployPaths,\n DeployPayload,\n DeployRelease,\n DeployScreenshot,\n DeploySettings,\n DeployTarget,\n DeployTargetName,\n DeployTool,\n DeployVersions,\n NodeRuntime,\n Notice,\n NoticeSection,\n PackageFamily,\n StagedFile,\n};\n"]}
|
|
@@ -26,14 +26,14 @@ const resolveAppimageTooling = async (arch) => {
|
|
|
26
26
|
url: `${APPIMAGETOOL_URL}/appimagetool-${arch}.AppImage`,
|
|
27
27
|
dest: join(dir, `appimagetool-${arch}`),
|
|
28
28
|
label: `appimagetool ${APPIMAGETOOL_VERSION}`,
|
|
29
|
-
|
|
29
|
+
digest: digestFor(APPIMAGETOOL_DIGESTS, arch, "appimagetool"),
|
|
30
30
|
mode: EXECUTABLE_MODE,
|
|
31
31
|
});
|
|
32
32
|
const runtime = await downloadFile({
|
|
33
33
|
url: `${RUNTIME_URL}/runtime-${arch}`,
|
|
34
34
|
dest: join(dir, `runtime-${arch}`),
|
|
35
35
|
label: `the AppImage runtime ${RUNTIME_VERSION}`,
|
|
36
|
-
|
|
36
|
+
digest: digestFor(RUNTIME_DIGESTS, arch, "the AppImage runtime"),
|
|
37
37
|
mode: EXECUTABLE_MODE,
|
|
38
38
|
});
|
|
39
39
|
return { tool, runtime };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appimagetool.js","sourceRoot":"","sources":["../../../src/deploy/vendored/appimagetool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAOxD,MAAM,oBAAoB,GAAG,OAAO,CAAC;AACrC,MAAM,eAAe,GAAG,UAAU,CAAC;AACnC,MAAM,gBAAgB,GAAG,8DAA8D,oBAAoB,EAAE,CAAC;AAC9G,MAAM,WAAW,GAAG,+DAA+D,eAAe,EAAE,CAAC;AACrG,MAAM,eAAe,GAAG,KAAK,CAAC;AAE9B,MAAM,oBAAoB,GAA2B;IACjD,OAAO,EAAE,kEAAkE;IAC3E,MAAM,EAAE,kEAAkE;CAC7E,CAAC;AAEF,MAAM,eAAe,GAA2B;IAC5C,OAAO,EAAE,kEAAkE;IAC3E,MAAM,EAAE,kEAAkE;CAC7E,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,OAA+B,EAAE,IAAY,EAAE,OAAe,EAAU,EAAE;IACzF,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,4BAA4B,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,KAAK,EAAE,IAAY,EAA4B,EAAE;IAC5E,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,UAAU,EAAE,GAAG,oBAAoB,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC;IAEjF,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC;QAC5B,GAAG,EAAE,GAAG,gBAAgB,iBAAiB,IAAI,WAAW;QACxD,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,gBAAgB,IAAI,EAAE,CAAC;QACvC,KAAK,EAAE,gBAAgB,oBAAoB,EAAE;QAC7C,MAAM,EAAE,SAAS,CAAC,oBAAoB,EAAE,IAAI,EAAE,cAAc,CAAC;QAC7D,IAAI,EAAE,eAAe;KACxB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC;QAC/B,GAAG,EAAE,GAAG,WAAW,YAAY,IAAI,EAAE;QACrC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,IAAI,EAAE,CAAC;QAClC,KAAK,EAAE,wBAAwB,eAAe,EAAE;QAChD,MAAM,EAAE,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,sBAAsB,CAAC;QAChE,IAAI,EAAE,eAAe;KACxB,CAAC,CAAC;IAEH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC,CAAC;AAEF,OAAO,EAAE,sBAAsB,EAAE,CAAC","sourcesContent":["import { join } from \"node:path\";\nimport { cacheDir, downloadFile } from \"../download.js\";\n\ntype AppimageTooling = {\n tool: string;\n runtime: string;\n};\n\nconst APPIMAGETOOL_VERSION = \"1.9.1\";\nconst RUNTIME_VERSION = \"20251108\";\nconst APPIMAGETOOL_URL = `https://github.com/AppImage/appimagetool/releases/download/${APPIMAGETOOL_VERSION}`;\nconst RUNTIME_URL = `https://github.com/AppImage/type2-runtime/releases/download/${RUNTIME_VERSION}`;\nconst EXECUTABLE_MODE = 0o755;\n\nconst APPIMAGETOOL_DIGESTS: Record<string, string> = {\n aarch64: \"f0837e7448a0c1e4e650a93bb3e85802546e60654ef287576f46c71c126a9158\",\n x86_64: \"ed4ce84f0d9caff66f50bcca6ff6f35aae54ce8135408b3fa33abfc3cb384eb0\",\n};\n\nconst RUNTIME_DIGESTS: Record<string, string> = {\n aarch64: \"00cbdfcf917cc6c0ff6d3347d59e0ca1f7f45a6df1a428a0d6d8a78664d87444\",\n x86_64: \"2fca8b443c92510f1483a883f60061ad09b46b978b2631c807cd873a47ec260d\",\n};\n\nconst digestFor = (digests: Record<string, string>, arch: string, subject: string): string => {\n const digest = digests[arch];\n\n if (digest === undefined) {\n throw new Error(`${subject} has no pinned build for ${arch}`);\n }\n\n return digest;\n};\n\nconst resolveAppimageTooling = async (arch: string): Promise<AppimageTooling> => {\n const dir = cacheDir([\"appimage\", `${APPIMAGETOOL_VERSION}-${RUNTIME_VERSION}`]);\n\n const tool = await downloadFile({\n url: `${APPIMAGETOOL_URL}/appimagetool-${arch}.AppImage`,\n dest: join(dir, `appimagetool-${arch}`),\n label: `appimagetool ${APPIMAGETOOL_VERSION}`,\n
|
|
1
|
+
{"version":3,"file":"appimagetool.js","sourceRoot":"","sources":["../../../src/deploy/vendored/appimagetool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAOxD,MAAM,oBAAoB,GAAG,OAAO,CAAC;AACrC,MAAM,eAAe,GAAG,UAAU,CAAC;AACnC,MAAM,gBAAgB,GAAG,8DAA8D,oBAAoB,EAAE,CAAC;AAC9G,MAAM,WAAW,GAAG,+DAA+D,eAAe,EAAE,CAAC;AACrG,MAAM,eAAe,GAAG,KAAK,CAAC;AAE9B,MAAM,oBAAoB,GAA2B;IACjD,OAAO,EAAE,kEAAkE;IAC3E,MAAM,EAAE,kEAAkE;CAC7E,CAAC;AAEF,MAAM,eAAe,GAA2B;IAC5C,OAAO,EAAE,kEAAkE;IAC3E,MAAM,EAAE,kEAAkE;CAC7E,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,OAA+B,EAAE,IAAY,EAAE,OAAe,EAAU,EAAE;IACzF,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,4BAA4B,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,KAAK,EAAE,IAAY,EAA4B,EAAE;IAC5E,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,UAAU,EAAE,GAAG,oBAAoB,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC;IAEjF,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC;QAC5B,GAAG,EAAE,GAAG,gBAAgB,iBAAiB,IAAI,WAAW;QACxD,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,gBAAgB,IAAI,EAAE,CAAC;QACvC,KAAK,EAAE,gBAAgB,oBAAoB,EAAE;QAC7C,MAAM,EAAE,SAAS,CAAC,oBAAoB,EAAE,IAAI,EAAE,cAAc,CAAC;QAC7D,IAAI,EAAE,eAAe;KACxB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC;QAC/B,GAAG,EAAE,GAAG,WAAW,YAAY,IAAI,EAAE;QACrC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,IAAI,EAAE,CAAC;QAClC,KAAK,EAAE,wBAAwB,eAAe,EAAE;QAChD,MAAM,EAAE,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,sBAAsB,CAAC;QAChE,IAAI,EAAE,eAAe;KACxB,CAAC,CAAC;IAEH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC,CAAC;AAEF,OAAO,EAAE,sBAAsB,EAAE,CAAC","sourcesContent":["import { join } from \"node:path\";\nimport { cacheDir, downloadFile } from \"../download.js\";\n\ntype AppimageTooling = {\n tool: string;\n runtime: string;\n};\n\nconst APPIMAGETOOL_VERSION = \"1.9.1\";\nconst RUNTIME_VERSION = \"20251108\";\nconst APPIMAGETOOL_URL = `https://github.com/AppImage/appimagetool/releases/download/${APPIMAGETOOL_VERSION}`;\nconst RUNTIME_URL = `https://github.com/AppImage/type2-runtime/releases/download/${RUNTIME_VERSION}`;\nconst EXECUTABLE_MODE = 0o755;\n\nconst APPIMAGETOOL_DIGESTS: Record<string, string> = {\n aarch64: \"f0837e7448a0c1e4e650a93bb3e85802546e60654ef287576f46c71c126a9158\",\n x86_64: \"ed4ce84f0d9caff66f50bcca6ff6f35aae54ce8135408b3fa33abfc3cb384eb0\",\n};\n\nconst RUNTIME_DIGESTS: Record<string, string> = {\n aarch64: \"00cbdfcf917cc6c0ff6d3347d59e0ca1f7f45a6df1a428a0d6d8a78664d87444\",\n x86_64: \"2fca8b443c92510f1483a883f60061ad09b46b978b2631c807cd873a47ec260d\",\n};\n\nconst digestFor = (digests: Record<string, string>, arch: string, subject: string): string => {\n const digest = digests[arch];\n\n if (digest === undefined) {\n throw new Error(`${subject} has no pinned build for ${arch}`);\n }\n\n return digest;\n};\n\nconst resolveAppimageTooling = async (arch: string): Promise<AppimageTooling> => {\n const dir = cacheDir([\"appimage\", `${APPIMAGETOOL_VERSION}-${RUNTIME_VERSION}`]);\n\n const tool = await downloadFile({\n url: `${APPIMAGETOOL_URL}/appimagetool-${arch}.AppImage`,\n dest: join(dir, `appimagetool-${arch}`),\n label: `appimagetool ${APPIMAGETOOL_VERSION}`,\n digest: digestFor(APPIMAGETOOL_DIGESTS, arch, \"appimagetool\"),\n mode: EXECUTABLE_MODE,\n });\n\n const runtime = await downloadFile({\n url: `${RUNTIME_URL}/runtime-${arch}`,\n dest: join(dir, `runtime-${arch}`),\n label: `the AppImage runtime ${RUNTIME_VERSION}`,\n digest: digestFor(RUNTIME_DIGESTS, arch, \"the AppImage runtime\"),\n mode: EXECUTABLE_MODE,\n });\n\n return { tool, runtime };\n};\n\nexport { resolveAppimageTooling };\n"]}
|
|
@@ -43,7 +43,7 @@ const downloadNfpm = async (dir, binary) => {
|
|
|
43
43
|
url: `${NFPM_BASE_URL}/${assetName}`,
|
|
44
44
|
dest: join(dir, assetName),
|
|
45
45
|
label: `nfpm ${NFPM_VERSION}`,
|
|
46
|
-
|
|
46
|
+
digest: digestFor(process.arch),
|
|
47
47
|
});
|
|
48
48
|
extractNfpm(archive, binary);
|
|
49
49
|
return binary;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nfpm.js","sourceRoot":"","sources":["../../../src/deploy/vendored/nfpm.ts"],"names":[],"mappings":"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","sourcesContent":["import { mkdtempSync, renameSync, rmSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { runCliTool } from \"../../internal/run-cli-tool.js\";\nimport { cacheDir, downloadFile } from \"../download.js\";\n\nconst NFPM_VERSION = \"2.47.0\";\nconst NFPM_BASE_URL = `https://github.com/goreleaser/nfpm/releases/download/v${NFPM_VERSION}`;\n\nconst NFPM_ASSET_ARCH: Record<string, string> = {\n arm64: \"arm64\",\n x64: \"x86_64\",\n};\n\nconst NFPM_DIGESTS: Record<string, string> = {\n arm64: \"1c0f5f2999b9a974bfb04fdb0cc3306096de530ac5dbb25d739cc5f5219c919c\",\n x86_64: \"0660ca602b2d2d2ae4781a06c692b3eeb9d437ffea05b831d76e41f4a3188783\",\n};\n\nconst assetArchFor = (arch: string): string => {\n const assetArch = NFPM_ASSET_ARCH[arch];\n\n if (assetArch === undefined) {\n throw new Error(`nfpm has no Linux build for ${arch}`);\n }\n\n return assetArch;\n};\n\nconst assetNameFor = (arch: string): string => `nfpm_${NFPM_VERSION}_Linux_${assetArchFor(arch)}.tar.gz`;\n\nconst digestFor = (arch: string): string => {\n const digest = NFPM_DIGESTS[assetArchFor(arch)];\n\n if (digest === undefined) {\n throw new Error(`nfpm ${NFPM_VERSION} has no pinned digest for ${arch}`);\n }\n\n return digest;\n};\n\nconst extractNfpm = (archive: string, binary: string): void => {\n const dir = mkdtempSync(`${binary}-`);\n\n try {\n runCliTool({ tool: \"tar\", args: [\"-xzf\", archive, \"-C\", dir, \"nfpm\"], target: assetNameFor(process.arch) });\n renameSync(join(dir, \"nfpm\"), binary);\n } finally {\n rmSync(dir, { recursive: true, force: true, maxRetries: 5 });\n }\n};\n\nconst downloadNfpm = async (dir: string, binary: string): Promise<string> => {\n const assetName = assetNameFor(process.arch);\n\n const archive = await downloadFile({\n url: `${NFPM_BASE_URL}/${assetName}`,\n dest: join(dir, assetName),\n label: `nfpm ${NFPM_VERSION}`,\n
|
|
1
|
+
{"version":3,"file":"nfpm.js","sourceRoot":"","sources":["../../../src/deploy/vendored/nfpm.ts"],"names":[],"mappings":"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","sourcesContent":["import { mkdtempSync, renameSync, rmSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { runCliTool } from \"../../internal/run-cli-tool.js\";\nimport { cacheDir, downloadFile } from \"../download.js\";\n\nconst NFPM_VERSION = \"2.47.0\";\nconst NFPM_BASE_URL = `https://github.com/goreleaser/nfpm/releases/download/v${NFPM_VERSION}`;\n\nconst NFPM_ASSET_ARCH: Record<string, string> = {\n arm64: \"arm64\",\n x64: \"x86_64\",\n};\n\nconst NFPM_DIGESTS: Record<string, string> = {\n arm64: \"1c0f5f2999b9a974bfb04fdb0cc3306096de530ac5dbb25d739cc5f5219c919c\",\n x86_64: \"0660ca602b2d2d2ae4781a06c692b3eeb9d437ffea05b831d76e41f4a3188783\",\n};\n\nconst assetArchFor = (arch: string): string => {\n const assetArch = NFPM_ASSET_ARCH[arch];\n\n if (assetArch === undefined) {\n throw new Error(`nfpm has no Linux build for ${arch}`);\n }\n\n return assetArch;\n};\n\nconst assetNameFor = (arch: string): string => `nfpm_${NFPM_VERSION}_Linux_${assetArchFor(arch)}.tar.gz`;\n\nconst digestFor = (arch: string): string => {\n const digest = NFPM_DIGESTS[assetArchFor(arch)];\n\n if (digest === undefined) {\n throw new Error(`nfpm ${NFPM_VERSION} has no pinned digest for ${arch}`);\n }\n\n return digest;\n};\n\nconst extractNfpm = (archive: string, binary: string): void => {\n const dir = mkdtempSync(`${binary}-`);\n\n try {\n runCliTool({ tool: \"tar\", args: [\"-xzf\", archive, \"-C\", dir, \"nfpm\"], target: assetNameFor(process.arch) });\n renameSync(join(dir, \"nfpm\"), binary);\n } finally {\n rmSync(dir, { recursive: true, force: true, maxRetries: 5 });\n }\n};\n\nconst downloadNfpm = async (dir: string, binary: string): Promise<string> => {\n const assetName = assetNameFor(process.arch);\n\n const archive = await downloadFile({\n url: `${NFPM_BASE_URL}/${assetName}`,\n dest: join(dir, assetName),\n label: `nfpm ${NFPM_VERSION}`,\n digest: digestFor(process.arch),\n });\n\n extractNfpm(archive, binary);\n\n return binary;\n};\n\nconst resolveNfpm = async (): Promise<string> => {\n const override = process.env.GTKX_NFPM;\n\n if (override !== undefined && override.length > 0) {\n return override;\n }\n\n const dir = cacheDir([\"nfpm\", NFPM_VERSION]);\n\n return downloadNfpm(dir, join(dir, \"nfpm\"));\n};\n\nexport { resolveNfpm };\n"]}
|
package/dist/dev/font-dir.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"font-dir.d.ts","sourceRoot":"","sources":["../../src/dev/font-dir.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,iBAAiB,GAAI,MAAM,MAAM,KAAG,
|
|
1
|
+
{"version":3,"file":"font-dir.d.ts","sourceRoot":"","sources":["../../src/dev/font-dir.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,iBAAiB,GAAI,MAAM,MAAM,KAAG,MAKzC,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
package/dist/dev/font-dir.js
CHANGED
|
@@ -2,9 +2,6 @@ import { stageProjectFonts } from "../internal/font-staging.js";
|
|
|
2
2
|
import { prependXdgDataDir } from "../internal/xdg-data-dirs.js";
|
|
3
3
|
const prepareDevFontDir = (root) => {
|
|
4
4
|
const shareDir = stageProjectFonts(root);
|
|
5
|
-
if (shareDir === null) {
|
|
6
|
-
return null;
|
|
7
|
-
}
|
|
8
5
|
process.env.XDG_DATA_DIRS = prependXdgDataDir(shareDir, process.env.XDG_DATA_DIRS);
|
|
9
6
|
return shareDir;
|
|
10
7
|
};
|
package/dist/dev/font-dir.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"font-dir.js","sourceRoot":"","sources":["../../src/dev/font-dir.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,MAAM,iBAAiB,GAAG,CAAC,IAAY,
|
|
1
|
+
{"version":3,"file":"font-dir.js","sourceRoot":"","sources":["../../src/dev/font-dir.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAU,EAAE;IAC/C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAEnF,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,CAAC","sourcesContent":["import { stageProjectFonts } from \"../internal/font-staging.js\";\nimport { prependXdgDataDir } from \"../internal/xdg-data-dirs.js\";\n\nconst prepareDevFontDir = (root: string): string => {\n const shareDir = stageProjectFonts(root);\n process.env.XDG_DATA_DIRS = prependXdgDataDir(shareDir, process.env.XDG_DATA_DIRS);\n\n return shareDir;\n};\n\nexport { prepareDevFontDir };\n"]}
|
package/dist/dev/runner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/dev/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/dev/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAUjD,OAAO,EAEH,KAAK,SAAS,EAIjB,MAAM,sBAAsB,CAAC;AAE9B,KAAK,aAAa,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAEtE,KAAK,aAAa,GAAG;IACjB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACvD,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAClG,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACtE,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtF,aAAa,IAAI,IAAI,CAAC;IACtB,wBAAwB,CAAC,UAAU,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACvD,mBAAmB,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAC;IACrE,sBAAsB,IAAI,mBAAmB,CAAC;IAC9C,uBAAuB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACpE,sBAAsB,IAAI,IAAI,CAAC;IAC/B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;IAC5D,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IACpG,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACrC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;CAC7B,CAAC;AAEF,KAAK,SAAS,GAAG;IACb,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC,CAAC;AAilBF,QAAA,MAAM,eAAe,GAAI,MAAM,aAAa,KAAG,SAe7C,CAAC;AAEH,OAAO,EAAE,eAAe,EAAE,KAAK,aAAa,EAAE,CAAC"}
|