@gtkx/cli 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/codegen/report.d.ts.map +1 -1
- package/dist/codegen/report.js +3 -0
- package/dist/codegen/report.js.map +1 -1
- package/dist/codegen/run-codegen.d.ts +1 -0
- package/dist/codegen/run-codegen.d.ts.map +1 -1
- package/dist/codegen/run-codegen.js +7 -1
- package/dist/codegen/run-codegen.js.map +1 -1
- package/dist/commands/docs.d.ts.map +1 -1
- package/dist/commands/docs.js +1 -0
- package/dist/commands/docs.js.map +1 -1
- package/dist/deploy/install-hints.d.ts.map +1 -1
- package/dist/deploy/install-hints.js +7 -4
- package/dist/deploy/install-hints.js.map +1 -1
- package/dist/deploy/run-deploy.d.ts.map +1 -1
- package/dist/deploy/run-deploy.js +6 -2
- package/dist/deploy/run-deploy.js.map +1 -1
- package/dist/deploy/settings/package-manifest.d.ts +1 -0
- package/dist/deploy/settings/package-manifest.d.ts.map +1 -1
- package/dist/deploy/settings/package-manifest.js +1 -0
- package/dist/deploy/settings/package-manifest.js.map +1 -1
- package/dist/deploy/targets/flatpak-pnpm.d.ts +15 -0
- package/dist/deploy/targets/flatpak-pnpm.d.ts.map +1 -0
- package/dist/deploy/targets/flatpak-pnpm.js +69 -0
- package/dist/deploy/targets/flatpak-pnpm.js.map +1 -0
- package/dist/deploy/targets/flatpak-source.d.ts.map +1 -1
- package/dist/deploy/targets/flatpak-source.js +15 -6
- package/dist/deploy/targets/flatpak-source.js.map +1 -1
- package/dist/deploy/targets/flatpak-sources.d.ts +5 -3
- package/dist/deploy/targets/flatpak-sources.d.ts.map +1 -1
- package/dist/deploy/targets/flatpak-sources.js +23 -9
- package/dist/deploy/targets/flatpak-sources.js.map +1 -1
- package/dist/deploy/targets/flatpak.d.ts.map +1 -1
- package/dist/deploy/targets/flatpak.js +3 -2
- package/dist/deploy/targets/flatpak.js.map +1 -1
- package/dist/deploy/tools.d.ts +3 -1
- package/dist/deploy/tools.d.ts.map +1 -1
- package/dist/deploy/tools.js +17 -3
- package/dist/deploy/tools.js.map +1 -1
- package/package.json +9 -9
- package/src/codegen/report.ts +4 -0
- package/src/codegen/run-codegen.ts +11 -1
- package/src/commands/docs.ts +1 -0
- package/src/deploy/install-hints.ts +9 -6
- package/src/deploy/run-deploy.ts +7 -1
- package/src/deploy/settings/package-manifest.ts +2 -0
- package/src/deploy/targets/flatpak-pnpm.ts +115 -0
- package/src/deploy/targets/flatpak-source.ts +18 -5
- package/src/deploy/targets/flatpak-sources.ts +36 -9
- package/src/deploy/targets/flatpak.ts +3 -2
- package/src/deploy/tools.ts +23 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/codegen/report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAIzD,QAAA,MAAM,mBAAmB,GAAI,QAAQ,gBAAgB,EAAE,SAAS,MAAM,KAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/codegen/report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAIzD,QAAA,MAAM,mBAAmB,GAAI,QAAQ,gBAAgB,EAAE,SAAS,MAAM,KAAG,MAAM,EAyB9E,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
|
package/dist/codegen/report.js
CHANGED
|
@@ -10,6 +10,9 @@ const formatCodegenResult = (result, totalMs) => {
|
|
|
10
10
|
if (result.girPath) {
|
|
11
11
|
details.push(`girPath=${result.girPath.join(":")}`);
|
|
12
12
|
}
|
|
13
|
+
if (result.future && result.future.length > 0) {
|
|
14
|
+
details.push(`future=${result.future.join(", ")}`);
|
|
15
|
+
}
|
|
13
16
|
details.push(`${String(result.namespaces)} namespaces, ${String(result.intrinsicElements)} intrinsic elements ` +
|
|
14
17
|
`in ${String(result.duration)}ms (total ${String(totalMs)}ms)`);
|
|
15
18
|
return details.map((detail) => PREFIX + detail);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/codegen/report.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,GAAG,WAAW,CAAC;AAE3B,MAAM,mBAAmB,GAAG,CAAC,MAAwB,EAAE,OAAe,EAAY,EAAE;IAChF,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,CAAC,IAAI,CACR,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,sBAAsB;QAClG,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,MAAM,CAAC,OAAO,CAAC,KAAK,CACjE,CAAC;IAEF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,CAAC","sourcesContent":["import type { RunCodegenResult } from \"./run-codegen.js\";\n\nconst PREFIX = \"codegen: \";\n\nconst formatCodegenResult = (result: RunCodegenResult, totalMs: number): string[] => {\n const details: string[] = [];\n\n if (result.configFile) {\n details.push(`config=${result.configFile}`);\n }\n\n if (result.libraries) {\n details.push(`libraries=${result.libraries.join(\", \")}`);\n }\n\n if (result.girPath) {\n details.push(`girPath=${result.girPath.join(\":\")}`);\n }\n\n details.push(\n `${String(result.namespaces)} namespaces, ${String(result.intrinsicElements)} intrinsic elements ` +\n `in ${String(result.duration)}ms (total ${String(totalMs)}ms)`,\n );\n\n return details.map((detail) => PREFIX + detail);\n};\n\nexport { formatCodegenResult };\n"]}
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/codegen/report.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,GAAG,WAAW,CAAC;AAE3B,MAAM,mBAAmB,GAAG,CAAC,MAAwB,EAAE,OAAe,EAAY,EAAE;IAChF,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,CAAC,IAAI,CACR,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,sBAAsB;QAClG,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,MAAM,CAAC,OAAO,CAAC,KAAK,CACjE,CAAC;IAEF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,CAAC","sourcesContent":["import type { RunCodegenResult } from \"./run-codegen.js\";\n\nconst PREFIX = \"codegen: \";\n\nconst formatCodegenResult = (result: RunCodegenResult, totalMs: number): string[] => {\n const details: string[] = [];\n\n if (result.configFile) {\n details.push(`config=${result.configFile}`);\n }\n\n if (result.libraries) {\n details.push(`libraries=${result.libraries.join(\", \")}`);\n }\n\n if (result.girPath) {\n details.push(`girPath=${result.girPath.join(\":\")}`);\n }\n\n if (result.future && result.future.length > 0) {\n details.push(`future=${result.future.join(\", \")}`);\n }\n\n details.push(\n `${String(result.namespaces)} namespaces, ${String(result.intrinsicElements)} intrinsic elements ` +\n `in ${String(result.duration)}ms (total ${String(totalMs)}ms)`,\n );\n\n return details.map((detail) => PREFIX + detail);\n};\n\nexport { formatCodegenResult };\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-codegen.d.ts","sourceRoot":"","sources":["../../src/codegen/run-codegen.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAc,MAAM,cAAc,CAAC;AAYvD,OAAO,EAAE,KAAK,aAAa,EAAwC,MAAM,gBAAgB,CAAC;AAC1F,OAAO,EAAE,KAAK,cAAc,EAA4C,MAAM,qBAAqB,CAAC;AAEpG,KAAK,iBAAiB,GAAG;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,QAAQ,CAAC,EAAE,YAAY,CAAC;CAC3B,CAAC;AAEF,KAAK,YAAY,GAAG;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"run-codegen.d.ts","sourceRoot":"","sources":["../../src/codegen/run-codegen.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAc,MAAM,cAAc,CAAC;AAYvD,OAAO,EAAE,KAAK,aAAa,EAAwC,MAAM,gBAAgB,CAAC;AAC1F,OAAO,EAAE,KAAK,cAAc,EAA4C,MAAM,qBAAqB,CAAC;AAEpG,KAAK,iBAAiB,GAAG;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,QAAQ,CAAC,EAAE,YAAY,CAAC;CAC3B,CAAC;AAEF,KAAK,YAAY,GAAG;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACjC,CAAC;AAWF,KAAK,sBAAsB,GAAG;IAAE,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AA2F1E,QAAA,MAAM,UAAU,GAAU,UAAS,iBAAsB,KAAG,OAAO,CAAC,gBAAgB,CAqCnF,CAAC;AAEF,QAAA,MAAM,iBAAiB,GAAU,KAAK,MAAM,EAAE,OAAO,MAAM,KAAG,OAAO,CAAC,OAAO,CAQ5E,CAAC;AAEF,QAAA,MAAM,aAAa,GAAI,KAAK,MAAM,KAAG,IAEpC,CAAC;AAkDF,QAAA,MAAM,iBAAiB,GACnB,SAAS,cAAc,EACvB,UAAS,sBAA2B,KACrC,OAAO,CAAC,OAAO,CAAuE,CAAC;AAG1F,QAAA,MAAM,eAAe,GAAU,KAAK,MAAM,EAAE,UAAS,sBAA2B,KAAG,OAAO,CAAC,OAAO,CACS,CAAC;AAE5G,QAAA,MAAM,kBAAkB,GACpB,KAAK,MAAM,EACX,OAAO,MAAM,KACd,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAS9D,CAAC;AAEF,OAAO,EACH,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,gBAAgB,GACxB,CAAC"}
|
|
@@ -21,9 +21,10 @@ const removeShadowingStores = (cwd) => {
|
|
|
21
21
|
sweepProjectStaging(cwd);
|
|
22
22
|
removeStores(getShadowingStorePaths(cwd));
|
|
23
23
|
};
|
|
24
|
-
const codegenOptions = ({ store, libraries, girPath, elements }) => ({
|
|
24
|
+
const codegenOptions = ({ store, libraries, girPath, elements, isByteArrayTyped }) => ({
|
|
25
25
|
libraries,
|
|
26
26
|
girPath,
|
|
27
|
+
isByteArrayTyped,
|
|
27
28
|
gi: {
|
|
28
29
|
storeDir: store.giStoreDir,
|
|
29
30
|
linkDir: store.giLinkDir,
|
|
@@ -42,6 +43,9 @@ const codegenOptions = ({ store, libraries, girPath, elements }) => ({
|
|
|
42
43
|
userLazyElements: resolveLazyElements(elements),
|
|
43
44
|
userOmittedProps: resolveOmittedProps(elements),
|
|
44
45
|
});
|
|
46
|
+
const enabledFutureFlags = (config) => Object.entries(config.future ?? {})
|
|
47
|
+
.filter(([, value]) => value === true)
|
|
48
|
+
.map(([name]) => name);
|
|
45
49
|
const disabledCodegenResult = (configFile) => ({
|
|
46
50
|
isRegenerated: false,
|
|
47
51
|
namespaces: 0,
|
|
@@ -86,6 +90,7 @@ const runCodegen = async (options = {}) => {
|
|
|
86
90
|
libraries,
|
|
87
91
|
girPath,
|
|
88
92
|
elements: config.elements,
|
|
93
|
+
isByteArrayTyped: config.future?.v2ByteArrays === true,
|
|
89
94
|
}),
|
|
90
95
|
isForced,
|
|
91
96
|
});
|
|
@@ -97,6 +102,7 @@ const runCodegen = async (options = {}) => {
|
|
|
97
102
|
girPath,
|
|
98
103
|
configFile,
|
|
99
104
|
libraries,
|
|
105
|
+
future: enabledFutureFlags(config),
|
|
100
106
|
};
|
|
101
107
|
};
|
|
102
108
|
const isCodegenDisabled = async (cwd, mode) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-codegen.js","sourceRoot":"","sources":["../../src/codegen/run-codegen.ts"],"names":[],"mappings":"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","sourcesContent":["import { runCodegen as runCodegenCore } from \"@gtkx/codegen\";\nimport { getShadowingStorePaths, sweepProjectStaging } from \"@gtkx/codegen/internal\";\nimport { type Config, loadConfig } from \"@gtkx/config\";\nimport {\n resolveElementComponents,\n resolveElementProps,\n resolveLazyElements,\n resolveOmittedProps,\n} from \"@gtkx/config/internal\";\nimport { info } from \"@gtkx/utils\";\nimport { rmSync } from \"node:fs\";\nimport { resolve } from \"node:path\";\nimport { resolveDataDir } from \"../internal/data-dir.js\";\nimport { emitSchemaEnv } from \"../settings/schema.js\";\nimport { type CodegenInputs, isCodegenStale, resolveCodegenInputs } from \"./freshness.js\";\nimport { type CodegenContext, type CodegenStore, resolveCodegenContext } from \"./store-resolver.js\";\n\ntype RunCodegenOptions = {\n cwd?: string;\n mode?: string | undefined;\n isForced?: boolean;\n inputs?: CodegenInputs;\n resolved?: LoadedConfig;\n};\n\ntype LoadedConfig = {\n config: Config;\n configFile: string;\n};\n\ntype RunCodegenResult = {\n isRegenerated: boolean;\n namespaces: number;\n intrinsicElements: number;\n duration: number;\n girPath?: string[] | undefined;\n configFile?: string | undefined;\n libraries?: string[] | undefined;\n};\n\ntype CodegenOptionsInput = {\n store: CodegenStore;\n libraries: string[];\n girPath: string[];\n elements: Config[\"elements\"];\n};\n\ntype PreparedCodegen = CodegenInputs & { isForced: boolean };\ntype EnsureGeneratedOptions = { shouldAnnounce?: boolean; mode?: string };\n\ntype RunOptionsInput = {\n root: string;\n mode: string | undefined;\n inputs: CodegenInputs | null;\n resolved: LoadedConfig;\n};\n\nconst GIR_PATH_MISSING_MESSAGE =\n \"No GIR search paths available. Install gobject-introspection \" +\n \"(Linux: `sudo dnf install gobject-introspection-devel` or `sudo apt install libgirepository1.0-dev`), \" +\n \"or set `girPath` in gtkx.config.ts.\";\n\nconst removeStores = (paths: string[]): void => {\n for (const path of paths) {\n rmSync(path, { recursive: true, force: true });\n }\n};\n\nconst removeShadowingStores = (cwd: string): void => {\n sweepProjectStaging(cwd);\n removeStores(getShadowingStorePaths(cwd));\n};\n\nconst codegenOptions = ({ store, libraries, girPath, elements }: CodegenOptionsInput) => ({\n libraries,\n girPath,\n gi: {\n storeDir: store.giStoreDir,\n linkDir: store.giLinkDir,\n version: store.runtimeVersion,\n },\n jsx:\n store.react === null\n ? undefined\n : {\n storeDir: store.jsxStoreDir,\n linkDir: store.jsxLinkDir,\n version: store.react.version,\n },\n reactSubexports: store.react?.subexports ?? [],\n userComponents: resolveElementComponents(elements),\n userProps: resolveElementProps(elements),\n userLazyElements: resolveLazyElements(elements),\n userOmittedProps: resolveOmittedProps(elements),\n});\n\nconst disabledCodegenResult = (configFile: string): RunCodegenResult => ({\n isRegenerated: false,\n namespaces: 0,\n intrinsicElements: 0,\n duration: 0,\n girPath: [],\n configFile,\n libraries: [],\n});\n\nconst regeneratedStorePaths = (store: CodegenStore): string[] => {\n if (store.react === null) {\n return [store.giStoreDir, store.giLinkDir];\n }\n\n return [store.giStoreDir, store.giLinkDir, store.jsxStoreDir, store.jsxLinkDir];\n};\n\nconst clearGeneratedStores = (store: CodegenStore): void => {\n removeStores(regeneratedStorePaths(store));\n};\n\nconst resolveLoadedConfig = async (options: RunCodegenOptions, cwd: string): Promise<LoadedConfig> =>\n options.resolved ?? (await loadConfig(cwd, { mode: options.mode }));\n\nconst prepareCodegen = (options: RunCodegenOptions, cwd: string, config: Config): PreparedCodegen => {\n const { girPath, libraries, store } = options.inputs ?? resolveCodegenInputs(cwd, config);\n\n if (girPath.length === 0) {\n throw new Error(GIR_PATH_MISSING_MESSAGE);\n }\n\n const isForced = options.isForced === true || isCodegenStale({ girPath, libraries, store });\n\n return { girPath, libraries, store, isForced };\n};\n\nconst runCodegen = async (options: RunCodegenOptions = {}): Promise<RunCodegenResult> => {\n const cwd = options.cwd ?? process.cwd();\n const { config, configFile } = await resolveLoadedConfig(options, cwd);\n\n if (config.codegen === false) {\n removeShadowingStores(cwd);\n\n return disabledCodegenResult(configFile);\n }\n\n const { girPath, libraries, store, isForced } = prepareCodegen(options, cwd, config);\n\n if (options.isForced) {\n clearGeneratedStores(store);\n }\n\n const result = await runCodegenCore({\n ...codegenOptions({\n store,\n libraries,\n girPath,\n elements: config.elements,\n }),\n isForced,\n });\n\n return {\n isRegenerated: result.isRegenerated,\n namespaces: result.namespaces,\n intrinsicElements: result.intrinsicElements,\n duration: result.duration,\n girPath,\n configFile,\n libraries,\n };\n};\n\nconst isCodegenDisabled = async (cwd: string, mode?: string): Promise<boolean> => {\n try {\n const { config } = await loadConfig(cwd, { mode });\n\n return config.codegen === false;\n } catch {\n return false;\n }\n};\n\nconst syncSchemaEnv = (cwd: string): void => {\n emitSchemaEnv(cwd, resolveDataDir(cwd));\n};\n\nconst resolveInputsOrNull = (cwd: string, config: Config): CodegenInputs | null => {\n try {\n return resolveCodegenInputs(cwd, config);\n } catch {\n return null;\n }\n};\n\nconst maybeAnnounceStale = (shouldAnnounce: boolean | undefined, inputs: CodegenInputs | null): void => {\n if (!shouldAnnounce) {\n return;\n }\n\n if (inputs === null || isCodegenStale(inputs)) {\n info(\"generated bindings missing; running codegen...\");\n }\n};\n\nconst getRunOptions = ({ root, mode, inputs, resolved }: RunOptionsInput): RunCodegenOptions => {\n if (inputs === null) {\n return { cwd: root, mode, resolved };\n }\n\n return { cwd: root, mode, inputs, resolved };\n};\n\nconst isPreflightSkipped = (options: EnsureGeneratedOptions): boolean =>\n options.shouldAnnounce === true && process.env.GTKX_DISABLE_PREFLIGHT === \"1\";\n\n/* eslint-disable-next-line unicorn/consistent-boolean-name -- the boolean reports whether codegen ran */\nconst generate = async (context: CodegenContext, options: EnsureGeneratedOptions): Promise<boolean> => {\n syncSchemaEnv(context.root);\n\n if (context.config.codegen === false) {\n removeShadowingStores(context.root);\n\n return false;\n }\n\n const inputs = resolveInputsOrNull(context.root, context.config);\n maybeAnnounceStale(options.shouldAnnounce, inputs);\n const resolved = { config: context.config, configFile: context.configFile };\n const result = await runCodegen(getRunOptions({ root: context.root, mode: options.mode, inputs, resolved }));\n\n return result.isRegenerated;\n};\n\n/* eslint-disable-next-line unicorn/consistent-boolean-name -- the boolean reports whether codegen ran */\nconst ensureGeneratedIn = async (\n context: CodegenContext,\n options: EnsureGeneratedOptions = {},\n): Promise<boolean> => (isPreflightSkipped(options) ? false : generate(context, options));\n\n/* eslint-disable-next-line unicorn/consistent-boolean-name -- the boolean reports whether codegen ran */\nconst ensureGenerated = async (cwd: string, options: EnsureGeneratedOptions = {}): Promise<boolean> =>\n isPreflightSkipped(options) ? false : generate(await resolveCodegenContext(cwd, options.mode), options);\n\nconst resolveConfigWatch = async (\n cwd: string,\n mode?: string,\n): Promise<{ paths: string[]; regenerate: () => Promise<void> }> => {\n const { configFile, root } = await loadConfig(cwd, { mode });\n\n return {\n paths: [resolve(root, configFile)],\n regenerate: async () => {\n await runCodegen({ cwd: root, mode });\n },\n };\n};\n\nexport {\n runCodegen,\n isCodegenDisabled,\n syncSchemaEnv,\n ensureGenerated,\n ensureGeneratedIn,\n resolveConfigWatch,\n type RunCodegenResult,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"run-codegen.js","sourceRoot":"","sources":["../../src/codegen/run-codegen.ts"],"names":[],"mappings":"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","sourcesContent":["import { runCodegen as runCodegenCore } from \"@gtkx/codegen\";\nimport { getShadowingStorePaths, sweepProjectStaging } from \"@gtkx/codegen/internal\";\nimport { type Config, loadConfig } from \"@gtkx/config\";\nimport {\n resolveElementComponents,\n resolveElementProps,\n resolveLazyElements,\n resolveOmittedProps,\n} from \"@gtkx/config/internal\";\nimport { info } from \"@gtkx/utils\";\nimport { rmSync } from \"node:fs\";\nimport { resolve } from \"node:path\";\nimport { resolveDataDir } from \"../internal/data-dir.js\";\nimport { emitSchemaEnv } from \"../settings/schema.js\";\nimport { type CodegenInputs, isCodegenStale, resolveCodegenInputs } from \"./freshness.js\";\nimport { type CodegenContext, type CodegenStore, resolveCodegenContext } from \"./store-resolver.js\";\n\ntype RunCodegenOptions = {\n cwd?: string;\n mode?: string | undefined;\n isForced?: boolean;\n inputs?: CodegenInputs;\n resolved?: LoadedConfig;\n};\n\ntype LoadedConfig = {\n config: Config;\n configFile: string;\n};\n\ntype RunCodegenResult = {\n isRegenerated: boolean;\n namespaces: number;\n intrinsicElements: number;\n duration: number;\n girPath?: string[] | undefined;\n configFile?: string | undefined;\n libraries?: string[] | undefined;\n future?: string[] | undefined;\n};\n\ntype CodegenOptionsInput = {\n store: CodegenStore;\n libraries: string[];\n girPath: string[];\n elements: Config[\"elements\"];\n isByteArrayTyped: boolean;\n};\n\ntype PreparedCodegen = CodegenInputs & { isForced: boolean };\ntype EnsureGeneratedOptions = { shouldAnnounce?: boolean; mode?: string };\n\ntype RunOptionsInput = {\n root: string;\n mode: string | undefined;\n inputs: CodegenInputs | null;\n resolved: LoadedConfig;\n};\n\nconst GIR_PATH_MISSING_MESSAGE =\n \"No GIR search paths available. Install gobject-introspection \" +\n \"(Linux: `sudo dnf install gobject-introspection-devel` or `sudo apt install libgirepository1.0-dev`), \" +\n \"or set `girPath` in gtkx.config.ts.\";\n\nconst removeStores = (paths: string[]): void => {\n for (const path of paths) {\n rmSync(path, { recursive: true, force: true });\n }\n};\n\nconst removeShadowingStores = (cwd: string): void => {\n sweepProjectStaging(cwd);\n removeStores(getShadowingStorePaths(cwd));\n};\n\nconst codegenOptions = ({ store, libraries, girPath, elements, isByteArrayTyped }: CodegenOptionsInput) => ({\n libraries,\n girPath,\n isByteArrayTyped,\n gi: {\n storeDir: store.giStoreDir,\n linkDir: store.giLinkDir,\n version: store.runtimeVersion,\n },\n jsx:\n store.react === null\n ? undefined\n : {\n storeDir: store.jsxStoreDir,\n linkDir: store.jsxLinkDir,\n version: store.react.version,\n },\n reactSubexports: store.react?.subexports ?? [],\n userComponents: resolveElementComponents(elements),\n userProps: resolveElementProps(elements),\n userLazyElements: resolveLazyElements(elements),\n userOmittedProps: resolveOmittedProps(elements),\n});\n\nconst enabledFutureFlags = (config: Config): string[] =>\n Object.entries(config.future ?? {})\n .filter(([, value]) => value === true)\n .map(([name]) => name);\n\nconst disabledCodegenResult = (configFile: string): RunCodegenResult => ({\n isRegenerated: false,\n namespaces: 0,\n intrinsicElements: 0,\n duration: 0,\n girPath: [],\n configFile,\n libraries: [],\n});\n\nconst regeneratedStorePaths = (store: CodegenStore): string[] => {\n if (store.react === null) {\n return [store.giStoreDir, store.giLinkDir];\n }\n\n return [store.giStoreDir, store.giLinkDir, store.jsxStoreDir, store.jsxLinkDir];\n};\n\nconst clearGeneratedStores = (store: CodegenStore): void => {\n removeStores(regeneratedStorePaths(store));\n};\n\nconst resolveLoadedConfig = async (options: RunCodegenOptions, cwd: string): Promise<LoadedConfig> =>\n options.resolved ?? (await loadConfig(cwd, { mode: options.mode }));\n\nconst prepareCodegen = (options: RunCodegenOptions, cwd: string, config: Config): PreparedCodegen => {\n const { girPath, libraries, store } = options.inputs ?? resolveCodegenInputs(cwd, config);\n\n if (girPath.length === 0) {\n throw new Error(GIR_PATH_MISSING_MESSAGE);\n }\n\n const isForced = options.isForced === true || isCodegenStale({ girPath, libraries, store });\n\n return { girPath, libraries, store, isForced };\n};\n\nconst runCodegen = async (options: RunCodegenOptions = {}): Promise<RunCodegenResult> => {\n const cwd = options.cwd ?? process.cwd();\n const { config, configFile } = await resolveLoadedConfig(options, cwd);\n\n if (config.codegen === false) {\n removeShadowingStores(cwd);\n\n return disabledCodegenResult(configFile);\n }\n\n const { girPath, libraries, store, isForced } = prepareCodegen(options, cwd, config);\n\n if (options.isForced) {\n clearGeneratedStores(store);\n }\n\n const result = await runCodegenCore({\n ...codegenOptions({\n store,\n libraries,\n girPath,\n elements: config.elements,\n isByteArrayTyped: config.future?.v2ByteArrays === true,\n }),\n isForced,\n });\n\n return {\n isRegenerated: result.isRegenerated,\n namespaces: result.namespaces,\n intrinsicElements: result.intrinsicElements,\n duration: result.duration,\n girPath,\n configFile,\n libraries,\n future: enabledFutureFlags(config),\n };\n};\n\nconst isCodegenDisabled = async (cwd: string, mode?: string): Promise<boolean> => {\n try {\n const { config } = await loadConfig(cwd, { mode });\n\n return config.codegen === false;\n } catch {\n return false;\n }\n};\n\nconst syncSchemaEnv = (cwd: string): void => {\n emitSchemaEnv(cwd, resolveDataDir(cwd));\n};\n\nconst resolveInputsOrNull = (cwd: string, config: Config): CodegenInputs | null => {\n try {\n return resolveCodegenInputs(cwd, config);\n } catch {\n return null;\n }\n};\n\nconst maybeAnnounceStale = (shouldAnnounce: boolean | undefined, inputs: CodegenInputs | null): void => {\n if (!shouldAnnounce) {\n return;\n }\n\n if (inputs === null || isCodegenStale(inputs)) {\n info(\"generated bindings missing; running codegen...\");\n }\n};\n\nconst getRunOptions = ({ root, mode, inputs, resolved }: RunOptionsInput): RunCodegenOptions => {\n if (inputs === null) {\n return { cwd: root, mode, resolved };\n }\n\n return { cwd: root, mode, inputs, resolved };\n};\n\nconst isPreflightSkipped = (options: EnsureGeneratedOptions): boolean =>\n options.shouldAnnounce === true && process.env.GTKX_DISABLE_PREFLIGHT === \"1\";\n\n/* eslint-disable-next-line unicorn/consistent-boolean-name -- the boolean reports whether codegen ran */\nconst generate = async (context: CodegenContext, options: EnsureGeneratedOptions): Promise<boolean> => {\n syncSchemaEnv(context.root);\n\n if (context.config.codegen === false) {\n removeShadowingStores(context.root);\n\n return false;\n }\n\n const inputs = resolveInputsOrNull(context.root, context.config);\n maybeAnnounceStale(options.shouldAnnounce, inputs);\n const resolved = { config: context.config, configFile: context.configFile };\n const result = await runCodegen(getRunOptions({ root: context.root, mode: options.mode, inputs, resolved }));\n\n return result.isRegenerated;\n};\n\n/* eslint-disable-next-line unicorn/consistent-boolean-name -- the boolean reports whether codegen ran */\nconst ensureGeneratedIn = async (\n context: CodegenContext,\n options: EnsureGeneratedOptions = {},\n): Promise<boolean> => (isPreflightSkipped(options) ? false : generate(context, options));\n\n/* eslint-disable-next-line unicorn/consistent-boolean-name -- the boolean reports whether codegen ran */\nconst ensureGenerated = async (cwd: string, options: EnsureGeneratedOptions = {}): Promise<boolean> =>\n isPreflightSkipped(options) ? false : generate(await resolveCodegenContext(cwd, options.mode), options);\n\nconst resolveConfigWatch = async (\n cwd: string,\n mode?: string,\n): Promise<{ paths: string[]; regenerate: () => Promise<void> }> => {\n const { configFile, root } = await loadConfig(cwd, { mode });\n\n return {\n paths: [resolve(root, configFile)],\n regenerate: async () => {\n await runCodegen({ cwd: root, mode });\n },\n };\n};\n\nexport {\n runCodegen,\n isCodegenDisabled,\n syncSchemaEnv,\n ensureGenerated,\n ensureGeneratedIn,\n resolveConfigWatch,\n type RunCodegenResult,\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAkBA,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAkBA,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;EA8ER,CAAC;AA6CH,OAAO,EAAE,IAAI,EAAE,CAAC"}
|
package/dist/commands/docs.js
CHANGED
|
@@ -57,6 +57,7 @@ const docs = defineCommand({
|
|
|
57
57
|
props: builtin.props,
|
|
58
58
|
omittedProps: mergeOmittedProps(builtin.omittedProps, resolveOmittedProps(config.elements)),
|
|
59
59
|
isForced: args.force,
|
|
60
|
+
isByteArrayTyped: config.future?.v2ByteArrays === true,
|
|
60
61
|
});
|
|
61
62
|
if (!isRegenerated) {
|
|
62
63
|
info(`docs: pages in ${outDir} are up to date`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,iBAAiB,EAEjB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,YAAY,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,IAAI,GAAG,aAAa,CAAC;IACvB,IAAI,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,WAAW,EACP,wGAAwG;KAC/G;IACD,IAAI,EAAE;QACF,GAAG,EAAE;YACD,IAAI,EAAE,QAAQ;YACd,WAAW,EACP,8FAA8F;gBAC9F,8DAA8D;YAClE,OAAO,EAAE,gBAAgB;SAC5B;QACD,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sDAAsD;YACnE,OAAO,EAAE,YAAY;SACxB;QACD,KAAK,EAAE;YACH,IAAI,EAAE,SAAS;YACf,WAAW,EACP,uFAAuF;gBACvF,8CAA8C;YAClD,OAAO,EAAE,KAAK;SACjB;QACD,GAAG,MAAM;KACZ;IACD,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QACd,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;QAEzC,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACX,mFAAmF;gBACnF,iEAAiE,CACpE,CAAC;QACN,CAAC;QAED,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE/C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACX,+DAA+D;gBAC/D,4DAA4D;gBAC5D,iFAAiF,CACpF,CAAC;QACN,CAAC;QAED,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAE/C,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;YAC5C,SAAS;YACT,OAAO;YACP,MAAM;YACN,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC;YAC3B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,YAAY,EAAE,iBAAiB,CAAC,OAAO,CAAC,YAAY,EAAE,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC3F,QAAQ,EAAE,IAAI,CAAC,KAAK;
|
|
1
|
+
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n type ElementProps,\n mergeOmittedProps,\n type OmittedProps,\n readBuiltinElements,\n resolveGirPath,\n resolveLibraries,\n resolveStore,\n} from \"@gtkx/codegen\";\nimport { writeDocs } from \"@gtkx/codegen/internal\";\nimport { loadConfig } from \"@gtkx/config\";\nimport { resolveOmittedProps } from \"@gtkx/config/internal\";\nimport { info } from \"@gtkx/utils\";\nimport { defineCommand } from \"citty\";\nimport { existsSync } from \"node:fs\";\nimport { isAbsolute, relative, resolve, sep } from \"node:path\";\nimport { cwdArg, resolveCwd } from \"../internal/entry-arg.js\";\n\nconst docs = defineCommand({\n meta: {\n name: \"docs\",\n description:\n \"Generate markdown reference pages for the JSX elements of the GIR libraries declared in gtkx.config.ts\",\n },\n args: {\n out: {\n type: \"string\",\n description:\n \"Output directory for the generated markdown pages, below the project root. It must be empty \" +\n \"or hold an earlier `gtkx docs` run, whose pages are replaced\",\n default: \"docs/reference\",\n },\n \"base-path\": {\n type: \"string\",\n description: \"URL base path used for links between generated pages\",\n default: \"/reference\",\n },\n force: {\n type: \"boolean\",\n description:\n \"Regenerate even when the pages are up to date with the GIR libraries, the base path, \" +\n \"and the element props the project configures\",\n default: false,\n },\n ...cwdArg,\n },\n async run({ args }) {\n const cwd = resolveCwd(args);\n const { config } = await loadConfig(cwd);\n\n if (config.codegen === false) {\n throw new Error(\n \"codegen is disabled for this project, so there are no GIR libraries to document. \" +\n \"Remove `codegen: false` from gtkx.config.ts to use `gtkx docs`.\",\n );\n }\n\n const girPath = resolveGirPath(config.girPath);\n\n if (girPath.length === 0) {\n throw new Error(\n \"No GIR search paths available. Install gobject-introspection \" +\n \"(Linux: `sudo dnf install gobject-introspection-devel` or \" +\n \"`sudo apt install libgirepository1.0-dev`), or set `girPath` in gtkx.config.ts.\",\n );\n }\n\n const libraries = resolveLibraries(config.libraries, girPath);\n const startedAt = Date.now();\n const outDir = resolveOutDir(cwd, args.out);\n const builtin = await resolveDocsElements(cwd);\n\n const { isRegenerated, namespaces } = writeDocs({\n libraries,\n girPath,\n outDir,\n basePath: args[\"base-path\"],\n props: builtin.props,\n omittedProps: mergeOmittedProps(builtin.omittedProps, resolveOmittedProps(config.elements)),\n isForced: args.force,\n isByteArrayTyped: config.future?.v2ByteArrays === true,\n });\n\n if (!isRegenerated) {\n info(`docs: pages in ${outDir} are up to date`);\n\n return;\n }\n\n const count = namespaces.reduce((total, namespace) => total + namespace.elements.length, 0);\n\n info(\n `docs: wrote ${String(count)} element pages across ${String(namespaces.length)} namespaces ` +\n `to ${outDir} in ${String(Date.now() - startedAt)}ms`,\n );\n },\n});\n\nconst isBelow = (parent: string, child: string): boolean => {\n const path = relative(parent, child);\n\n return path !== \"\" && path !== \"..\" && !path.startsWith(`..${sep}`) && !isAbsolute(path);\n};\n\nconst outDirReason = (cwd: string, out: string, outDir: string): string => {\n if (out.trim() === \"\") {\n return \"it was empty, which names the project root itself\";\n }\n\n if (outDir === cwd) {\n return \"it names the project root itself\";\n }\n\n return `${outDir} is outside it`;\n};\n\nconst resolveOutDir = (cwd: string, out: string): string => {\n const outDir = out.trim() === \"\" ? cwd : resolve(cwd, out);\n\n if (isBelow(cwd, outDir)) {\n return outDir;\n }\n\n throw new Error(\n `--out must name a directory below the project root ${cwd}, and ${outDirReason(cwd, out, outDir)}. ` +\n \"Pass a path such as --out=docs/reference.\",\n );\n};\n\nconst resolveDocsElements = async (cwd: string): Promise<{ props: ElementProps; omittedProps: OmittedProps }> => {\n const { gi, reactSubexports } = resolveStore(cwd);\n\n if (!existsSync(gi.storeDir)) {\n return { props: {}, omittedProps: {} };\n }\n\n const { props, omittedProps } = await readBuiltinElements(reactSubexports, gi.storeDir);\n\n return { props, omittedProps };\n};\n\nexport { docs };\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-hints.d.ts","sourceRoot":"","sources":["../../src/deploy/install-hints.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"install-hints.d.ts","sourceRoot":"","sources":["../../src/deploy/install-hints.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA8FhD,QAAA,MAAM,mBAAmB,QAAO,aAK/B,CAAC;AAEF,QAAA,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,QAAQ,aAAa,KAAG,MAAM,EAMjE,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -39,9 +39,13 @@ const PACKAGE_FOR_TOOL = {
|
|
|
39
39
|
strip: { arch: "binutils", debian: "binutils", fedora: "binutils", suse: "binutils" },
|
|
40
40
|
tar: { arch: "tar", debian: "tar", fedora: "tar", suse: "tar" },
|
|
41
41
|
};
|
|
42
|
+
const GENERATOR_SOURCE = "git+https://github.com/flatpak/flatpak-builder-tools.git#subdirectory=node";
|
|
42
43
|
const EXTRA_HINTS = {
|
|
43
|
-
"flatpak-builder": "or: flatpak install --user -y flathub org.flatpak.Builder",
|
|
44
|
-
"flatpak-node-generator":
|
|
44
|
+
"flatpak-builder": ["or: flatpak install --user -y flathub org.flatpak.Builder"],
|
|
45
|
+
"flatpak-node-generator": [
|
|
46
|
+
`pipx install ${GENERATOR_SOURCE}`,
|
|
47
|
+
`or, when the installed copy is too old to vendor pnpm: pipx install --force ${GENERATOR_SOURCE}`,
|
|
48
|
+
],
|
|
45
49
|
};
|
|
46
50
|
const unquote = (value) => QUOTED.exec(value)?.[1] ?? value;
|
|
47
51
|
const readOsReleaseText = () => {
|
|
@@ -77,9 +81,8 @@ const detectPackageFamily = () => {
|
|
|
77
81
|
const installHints = (tool, family) => {
|
|
78
82
|
const packageName = PACKAGE_FOR_TOOL[tool]?.[family];
|
|
79
83
|
const command = INSTALL_COMMAND[family];
|
|
80
|
-
const extra = EXTRA_HINTS[tool];
|
|
81
84
|
const install = packageName !== undefined && command !== undefined ? [`${command} ${packageName}`] : [];
|
|
82
|
-
return
|
|
85
|
+
return [...install, ...(EXTRA_HINTS[tool] ?? [])];
|
|
83
86
|
};
|
|
84
87
|
export { detectPackageFamily, installHints };
|
|
85
88
|
//# sourceMappingURL=install-hints.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-hints.js","sourceRoot":"","sources":["../../src/deploy/install-hints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAKvC,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAC1C,MAAM,eAAe,GAAG,gCAAgC,CAAC;AACzD,MAAM,MAAM,GAAG,UAAU,CAAC;AAE1B,MAAM,YAAY,GAAkC;IAChD,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,MAAM;IAChB,eAAe,EAAE,MAAM;IACvB,qBAAqB,EAAE,MAAM;IAC7B,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;CACnB,CAAC;AAEF,MAAM,eAAe,GAA2C;IAC5D,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE,kBAAkB;IAC1B,IAAI,EAAE,qBAAqB;CAC9B,CAAC;AAEF,MAAM,gBAAgB,GAAmC;IACrD,YAAY,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE;IAChG,uBAAuB,EAAE;QACrB,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,oBAAoB;QAC5B,MAAM,EAAE,oBAAoB;QAC5B,IAAI,EAAE,oBAAoB;KAC7B;IACD,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;IACpE,iBAAiB,EAAE;QACf,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,iBAAiB;QACzB,MAAM,EAAE,iBAAiB;QACzB,IAAI,EAAE,iBAAiB;KAC1B;IACD,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE;IACrF,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;CAClE,CAAC;AAEF,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"install-hints.js","sourceRoot":"","sources":["../../src/deploy/install-hints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAKvC,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAC1C,MAAM,eAAe,GAAG,gCAAgC,CAAC;AACzD,MAAM,MAAM,GAAG,UAAU,CAAC;AAE1B,MAAM,YAAY,GAAkC;IAChD,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,MAAM;IAChB,eAAe,EAAE,MAAM;IACvB,qBAAqB,EAAE,MAAM;IAC7B,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;CACnB,CAAC;AAEF,MAAM,eAAe,GAA2C;IAC5D,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE,kBAAkB;IAC1B,IAAI,EAAE,qBAAqB;CAC9B,CAAC;AAEF,MAAM,gBAAgB,GAAmC;IACrD,YAAY,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE;IAChG,uBAAuB,EAAE;QACrB,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,oBAAoB;QAC5B,MAAM,EAAE,oBAAoB;QAC5B,IAAI,EAAE,oBAAoB;KAC7B;IACD,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;IACpE,iBAAiB,EAAE;QACf,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,iBAAiB;QACzB,MAAM,EAAE,iBAAiB;QACzB,IAAI,EAAE,iBAAiB;KAC1B;IACD,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE;IACrF,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;CAClE,CAAC;AAEF,MAAM,gBAAgB,GAAG,4EAA4E,CAAC;AAEtG,MAAM,WAAW,GAA6B;IAC1C,iBAAiB,EAAE,CAAC,2DAA2D,CAAC;IAChF,wBAAwB,EAAE;QACtB,gBAAgB,gBAAgB,EAAE;QAClC,+EAA+E,gBAAgB,EAAE;KACpG;CACJ,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;AAE5E,MAAM,iBAAiB,GAAG,GAAW,EAAE;IACnC,IAAI,CAAC;QACD,OAAO,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,IAAY,EAA2B,EAAE;IAC7D,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAEhD,OAAO,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9F,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,GAA2B,EAAE,CAC/C,MAAM,CAAC,WAAW,CACd,iBAAiB,EAAE;KACd,KAAK,CAAC,IAAI,CAAC;KACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;KACnC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CACzC,CAAC;AAEN,MAAM,YAAY,GAAG,CAAC,GAAa,EAAiB,EAAE;IAClD,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;QAEhC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,MAAM,CAAC;QAClB,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,GAAkB,EAAE;IAC5C,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEpF,OAAO,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,MAAqB,EAAY,EAAE;IACnE,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,WAAW,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAExG,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,CAAC","sourcesContent":["import { readFileSync } from \"node:fs\";\nimport type { PackageFamily } from \"./types.js\";\n\ntype FamilyPackages = Partial<Record<PackageFamily, string>>;\n\nconst OS_RELEASE_PATH = \"/etc/os-release\";\nconst OS_RELEASE_LINE = /^(?<key>[A-Z_]+)=(?<value>.*)$/;\nconst QUOTED = /^\"(.*)\"$/;\n\nconst FAMILY_BY_ID: Record<string, PackageFamily> = {\n arch: \"arch\",\n debian: \"debian\",\n fedora: \"fedora\",\n manjaro: \"arch\",\n opensuse: \"suse\",\n \"opensuse-leap\": \"suse\",\n \"opensuse-tumbleweed\": \"suse\",\n rhel: \"fedora\",\n sles: \"suse\",\n suse: \"suse\",\n ubuntu: \"debian\",\n};\n\nconst INSTALL_COMMAND: Partial<Record<PackageFamily, string>> = {\n arch: \"sudo pacman -S\",\n debian: \"sudo apt install\",\n fedora: \"sudo dnf install\",\n suse: \"sudo zypper install\",\n};\n\nconst PACKAGE_FOR_TOOL: Record<string, FamilyPackages> = {\n appstreamcli: { arch: \"appstream\", debian: \"appstream\", fedora: \"appstream\", suse: \"AppStream\" },\n \"desktop-file-validate\": {\n arch: \"desktop-file-utils\",\n debian: \"desktop-file-utils\",\n fedora: \"desktop-file-utils\",\n suse: \"desktop-file-utils\",\n },\n file: { arch: \"file\", debian: \"file\", fedora: \"file\", suse: \"file\" },\n \"flatpak-builder\": {\n arch: \"flatpak-builder\",\n debian: \"flatpak-builder\",\n fedora: \"flatpak-builder\",\n suse: \"flatpak-builder\",\n },\n strip: { arch: \"binutils\", debian: \"binutils\", fedora: \"binutils\", suse: \"binutils\" },\n tar: { arch: \"tar\", debian: \"tar\", fedora: \"tar\", suse: \"tar\" },\n};\n\nconst GENERATOR_SOURCE = \"git+https://github.com/flatpak/flatpak-builder-tools.git#subdirectory=node\";\n\nconst EXTRA_HINTS: Record<string, string[]> = {\n \"flatpak-builder\": [\"or: flatpak install --user -y flathub org.flatpak.Builder\"],\n \"flatpak-node-generator\": [\n `pipx install ${GENERATOR_SOURCE}`,\n `or, when the installed copy is too old to vendor pnpm: pipx install --force ${GENERATOR_SOURCE}`,\n ],\n};\n\nconst unquote = (value: string): string => QUOTED.exec(value)?.[1] ?? value;\n\nconst readOsReleaseText = (): string => {\n try {\n return readFileSync(OS_RELEASE_PATH, \"utf8\");\n } catch {\n return \"\";\n }\n};\n\nconst osReleaseEntry = (line: string): [string, string] | null => {\n const match = OS_RELEASE_LINE.exec(line.trim());\n\n return match?.groups ? [match.groups.key ?? \"\", unquote(match.groups.value ?? \"\")] : null;\n};\n\nconst readOsRelease = (): Record<string, string> =>\n Object.fromEntries(\n readOsReleaseText()\n .split(\"\\n\")\n .map((line) => osReleaseEntry(line))\n .filter((entry) => entry !== null),\n );\n\nconst familyForIds = (ids: string[]): PackageFamily => {\n for (const id of ids) {\n const family = FAMILY_BY_ID[id];\n\n if (family !== undefined) {\n return family;\n }\n }\n\n return \"unknown\";\n};\n\nconst detectPackageFamily = (): PackageFamily => {\n const release = readOsRelease();\n const like = (release.ID_LIKE ?? \"\").split(\" \").filter((entry) => entry.length > 0);\n\n return familyForIds([release.ID ?? \"\", ...like]);\n};\n\nconst installHints = (tool: string, family: PackageFamily): string[] => {\n const packageName = PACKAGE_FOR_TOOL[tool]?.[family];\n const command = INSTALL_COMMAND[family];\n const install = packageName !== undefined && command !== undefined ? [`${command} ${packageName}`] : [];\n\n return [...install, ...(EXTRA_HINTS[tool] ?? [])];\n};\n\nexport { detectPackageFamily, installHints };\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-deploy.d.ts","sourceRoot":"","sources":["../../src/deploy/run-deploy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-deploy.d.ts","sourceRoot":"","sources":["../../src/deploy/run-deploy.ts"],"names":[],"mappings":"AAqCA,KAAK,aAAa,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,eAAe,EAAE,OAAO,CAAC;CAC5B,CAAC;AA4KF,QAAA,MAAM,SAAS,GAAU,SAAS,aAAa,KAAG,OAAO,CAAC,IAAI,CAsB7D,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -14,7 +14,8 @@ import { DEFAULT_TARGETS, parseTargetList, targetsFor } from "./registry.js";
|
|
|
14
14
|
import { resolveDeploySettings } from "./settings/index.js";
|
|
15
15
|
import { readPackageManifest } from "./settings/package-manifest.js";
|
|
16
16
|
import { missingDeployError } from "./settings/starter.js";
|
|
17
|
-
import {
|
|
17
|
+
import { detectPackageManager } from "./targets/flatpak-sources.js";
|
|
18
|
+
import { APPSTREAMCLI, assertTools, DESKTOP_FILE_VALIDATE, FLATPAK_NODE_GENERATOR, FLATPAK_NODE_GENERATOR_PNPM, probeTools, STRIP, TAR, warnMissingOptional, } from "./tools.js";
|
|
18
19
|
const BUILD_MODE = "production";
|
|
19
20
|
const BYTES_PER_MIB = 1024 * 1024;
|
|
20
21
|
const WEBKIT_LIBRARY = "WebKit-6.0";
|
|
@@ -54,7 +55,10 @@ const warnMissingNetwork = (settings) => {
|
|
|
54
55
|
};
|
|
55
56
|
const sourceModeTools = (targets, settings) => {
|
|
56
57
|
const isFlatpakSource = settings.deploy.flatpak?.mode === "source";
|
|
57
|
-
|
|
58
|
+
if (!isFlatpakSource || targets.every((target) => target.name !== "flatpak")) {
|
|
59
|
+
return [];
|
|
60
|
+
}
|
|
61
|
+
return detectPackageManager(settings) === "pnpm" ? [FLATPAK_NODE_GENERATOR_PNPM] : [FLATPAK_NODE_GENERATOR];
|
|
58
62
|
};
|
|
59
63
|
const isNodeRequired = (targets, settings) => !(settings.deploy.flatpak?.mode === "source" && targets.every((target) => target.name === "flatpak"));
|
|
60
64
|
const runtimeToolsFor = (targets, settings) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-deploy.js","sourceRoot":"","sources":["../../src/deploy/run-deploy.ts"],"names":[],"mappings":"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","sourcesContent":["import { loadConfig } from \"@gtkx/config\";\nimport { info, warn } from \"@gtkx/utils\";\nimport { mkdirSync, writeFileSync } from \"node:fs\";\nimport { dirname, join, relative } from \"node:path\";\nimport type {\n DeployArtifact,\n DeployManifest,\n DeployPayload,\n DeploySettings,\n DeployTarget,\n DeployTool,\n} from \"./types.js\";\nimport { build as buildApp } from \"../builder.js\";\nimport { ensureGenerated } from \"../codegen/run-codegen.js\";\nimport { renderDesktopEntry } from \"./freedesktop/desktop-entry.js\";\nimport { renderMetainfo } from \"./freedesktop/metainfo.js\";\nimport { renderMimePackage } from \"./freedesktop/mime-package.js\";\nimport { validateDesktopEntry, validateMetainfo } from \"./freedesktop/validate.js\";\nimport { resolveNodeRuntime } from \"./node-runtime/index.js\";\nimport { type StagedMetadata, stageOverlays, stagePayload } from \"./payload/stage.js\";\nimport { DEFAULT_TARGETS, parseTargetList, targetsFor } from \"./registry.js\";\nimport { resolveDeploySettings } from \"./settings/index.js\";\nimport { readPackageManifest } from \"./settings/package-manifest.js\";\nimport { missingDeployError } from \"./settings/starter.js\";\nimport {\n APPSTREAMCLI,\n assertTools,\n DESKTOP_FILE_VALIDATE,\n FLATPAK_NODE_GENERATOR,\n probeTools,\n STRIP,\n TAR,\n warnMissingOptional,\n} from \"./tools.js\";\n\ntype DeployOptions = {\n entry: string;\n cwd: string;\n targets?: string | undefined;\n outDir?: string | undefined;\n shouldPrintManifests: boolean;\n shouldSkipBuild: boolean;\n};\n\nconst BUILD_MODE = \"production\";\nconst BYTES_PER_MIB = 1024 * 1024;\nconst WEBKIT_LIBRARY = \"WebKit-6.0\";\nconst NETWORK_ARG = \"--share=network\";\n\nconst displayPath = (settings: DeploySettings, path: string): string => relative(settings.paths.root, path);\nconst megabytes = (size: number): string => (size / BYTES_PER_MIB).toFixed(1);\n\nconst writeManifest = (manifest: DeployManifest): void => {\n mkdirSync(dirname(manifest.path), { recursive: true });\n writeFileSync(manifest.path, manifest.contents);\n};\n\nconst renderMetadata = (settings: DeploySettings): StagedMetadata => ({\n desktopEntry: renderDesktopEntry(settings),\n metainfo: renderMetainfo(settings),\n mimePackage: renderMimePackage(settings),\n});\n\nconst isFlathubSubmission = (settings: DeploySettings, targets: DeployTarget[]): boolean =>\n settings.deploy.flatpak?.mode === \"source\" && targets.some((target) => target.name === \"flatpak\");\n\nconst validateMetadata = (settings: DeploySettings, metadata: StagedMetadata, areWarningsFatal: boolean): void => {\n const dir = settings.paths.metadata;\n mkdirSync(dir, { recursive: true });\n const desktopPath = join(dir, `${settings.applicationId}.desktop`);\n const metainfoPath = join(dir, `${settings.applicationId}.metainfo.xml`);\n writeFileSync(desktopPath, metadata.desktopEntry);\n writeFileSync(metainfoPath, metadata.metainfo);\n validateDesktopEntry(desktopPath);\n validateMetainfo(metainfoPath, areWarningsFatal);\n info(\"Validated the desktop entry and the metainfo\");\n};\n\nconst warnMissingNetwork = (settings: DeploySettings): void => {\n const finishArgs = settings.deploy.flatpak?.finishArgs;\n\n if (finishArgs === undefined || finishArgs.includes(NETWORK_ARG)) {\n return;\n }\n\n if (!settings.libraries.includes(WEBKIT_LIBRARY)) {\n return;\n }\n\n warn(`This app declares ${WEBKIT_LIBRARY} but its flatpak permissions omit ${NETWORK_ARG}, so pages will not load`);\n};\n\nconst sourceModeTools = (targets: DeployTarget[], settings: DeploySettings): DeployTool[] => {\n const isFlatpakSource = settings.deploy.flatpak?.mode === \"source\";\n\n return isFlatpakSource && targets.some((target) => target.name === \"flatpak\") ? [FLATPAK_NODE_GENERATOR] : [];\n};\n\nconst isNodeRequired = (targets: DeployTarget[], settings: DeploySettings): boolean =>\n !(settings.deploy.flatpak?.mode === \"source\" && targets.every((target) => target.name === \"flatpak\"));\n\nconst runtimeToolsFor = (targets: DeployTarget[], settings: DeploySettings): DeployTool[] => {\n if (!isNodeRequired(targets, settings)) {\n return [];\n }\n\n const node = settings.deploy.node ?? {};\n const archiveTools = (node.source ?? \"download\") === \"download\" ? [TAR] : [];\n\n return node.shouldStrip === false ? archiveTools : [...archiveTools, STRIP];\n};\n\nconst preflight = (targets: DeployTarget[], settings: DeploySettings, shouldPrintManifests: boolean): void => {\n const packagerTools = shouldPrintManifests\n ? []\n : [...runtimeToolsFor(targets, settings), ...targets.flatMap((target) => target.tools)];\n\n const required = [DESKTOP_FILE_VALIDATE, APPSTREAMCLI, ...sourceModeTools(targets, settings)];\n const report = probeTools([...required, ...packagerTools]);\n assertTools(report);\n warnMissingOptional(report);\n warnMissingNetwork(settings);\n};\n\nconst resolveTargetNames = (options: DeployOptions, settings: DeploySettings): string[] => {\n if (options.targets !== undefined) {\n return parseTargetList(options.targets);\n }\n\n return settings.deploy.targets ?? DEFAULT_TARGETS;\n};\n\nconst loadSettings = async (options: DeployOptions): Promise<DeploySettings> => {\n const { config, root } = await loadConfig(options.cwd, { mode: BUILD_MODE });\n\n if (config.deploy === undefined) {\n throw missingDeployError(config.applicationId, readPackageManifest(root));\n }\n\n return resolveDeploySettings({ root, config, outDirOverride: options.outDir });\n};\n\nconst buildPayload = async (\n options: DeployOptions,\n settings: DeploySettings,\n targets: DeployTarget[],\n): Promise<DeployPayload> => {\n const metadata = renderMetadata(settings);\n validateMetadata(settings, metadata, isFlathubSubmission(settings, targets));\n\n if (!options.shouldSkipBuild) {\n info(`Building ${options.entry}`);\n await buildApp({ entry: options.entry, vite: { root: options.cwd } });\n }\n\n const node = options.shouldPrintManifests || !isNodeRequired(targets, settings)\n ? null\n : await resolveNodeRuntime(settings);\n\n const stage = stagePayload({ settings, node, metadata });\n info(`Staged ${String(stage.length)} files into ${displayPath(settings, settings.paths.stage)}`);\n\n return { settings, node, stage, overlays: stageOverlays(settings) };\n};\n\nconst renderTargetManifests = (\n targets: DeployTarget[],\n payload: DeployPayload,\n): Map<DeployTarget, DeployManifest[]> => {\n const rendered: Map<DeployTarget, DeployManifest[]> = new Map();\n\n for (const target of targets) {\n const manifests = target.render(payload);\n\n for (const manifest of manifests) {\n writeManifest(manifest);\n info(`Wrote ${displayPath(payload.settings, manifest.path)}`);\n }\n\n rendered.set(target, manifests);\n }\n\n return rendered;\n};\n\nconst packTargets = async (\n rendered: Map<DeployTarget, DeployManifest[]>,\n payload: DeployPayload,\n): Promise<DeployArtifact[]> => {\n const artifacts: DeployArtifact[] = [];\n\n for (const [target, manifests] of rendered) {\n const built = await target.pack(payload, manifests);\n\n for (const artifact of built) {\n info(`Built ${displayPath(payload.settings, artifact.path)} (${megabytes(artifact.size)} MiB)`);\n }\n\n artifacts.push(...built);\n }\n\n return artifacts;\n};\n\nconst announce = (settings: DeploySettings, targets: DeployTarget[]): void => {\n const names = targets.map((target) => target.name).join(\", \");\n const version = `${settings.versions.packageVersion}-${settings.versions.debRevision}`;\n info(`Deploying ${settings.name} ${version} as ${settings.binaryName} (${settings.arch.rpm}) to ${names}`);\n};\n\nconst runDeploy = async (options: DeployOptions): Promise<void> => {\n if (!options.shouldSkipBuild) {\n await ensureGenerated(options.cwd, { shouldAnnounce: true, mode: BUILD_MODE });\n }\n\n const settings = await loadSettings(options);\n const targets = targetsFor(resolveTargetNames(options, settings));\n announce(settings, targets);\n preflight(targets, settings, options.shouldPrintManifests);\n const payload = await buildPayload(options, settings, targets);\n const rendered = renderTargetManifests(targets, payload);\n\n if (options.shouldPrintManifests) {\n const count = rendered.values().toArray().flat().length;\n info(`Wrote ${String(count)} manifests, 0 packages built`);\n\n return;\n }\n\n const artifacts = await packTargets(rendered, payload);\n const output = displayPath(settings, settings.paths.output);\n info(`Deploy complete: ${String(artifacts.length)} artifacts in ${output}`);\n};\n\nexport { runDeploy };\n"]}
|
|
1
|
+
{"version":3,"file":"run-deploy.js","sourceRoot":"","sources":["../../src/deploy/run-deploy.ts"],"names":[],"mappings":"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","sourcesContent":["import { loadConfig } from \"@gtkx/config\";\nimport { info, warn } from \"@gtkx/utils\";\nimport { mkdirSync, writeFileSync } from \"node:fs\";\nimport { dirname, join, relative } from \"node:path\";\nimport type {\n DeployArtifact,\n DeployManifest,\n DeployPayload,\n DeploySettings,\n DeployTarget,\n DeployTool,\n} from \"./types.js\";\nimport { build as buildApp } from \"../builder.js\";\nimport { ensureGenerated } from \"../codegen/run-codegen.js\";\nimport { renderDesktopEntry } from \"./freedesktop/desktop-entry.js\";\nimport { renderMetainfo } from \"./freedesktop/metainfo.js\";\nimport { renderMimePackage } from \"./freedesktop/mime-package.js\";\nimport { validateDesktopEntry, validateMetainfo } from \"./freedesktop/validate.js\";\nimport { resolveNodeRuntime } from \"./node-runtime/index.js\";\nimport { type StagedMetadata, stageOverlays, stagePayload } from \"./payload/stage.js\";\nimport { DEFAULT_TARGETS, parseTargetList, targetsFor } from \"./registry.js\";\nimport { resolveDeploySettings } from \"./settings/index.js\";\nimport { readPackageManifest } from \"./settings/package-manifest.js\";\nimport { missingDeployError } from \"./settings/starter.js\";\nimport { detectPackageManager } from \"./targets/flatpak-sources.js\";\nimport {\n APPSTREAMCLI,\n assertTools,\n DESKTOP_FILE_VALIDATE,\n FLATPAK_NODE_GENERATOR,\n FLATPAK_NODE_GENERATOR_PNPM,\n probeTools,\n STRIP,\n TAR,\n warnMissingOptional,\n} from \"./tools.js\";\n\ntype DeployOptions = {\n entry: string;\n cwd: string;\n targets?: string | undefined;\n outDir?: string | undefined;\n shouldPrintManifests: boolean;\n shouldSkipBuild: boolean;\n};\n\nconst BUILD_MODE = \"production\";\nconst BYTES_PER_MIB = 1024 * 1024;\nconst WEBKIT_LIBRARY = \"WebKit-6.0\";\nconst NETWORK_ARG = \"--share=network\";\n\nconst displayPath = (settings: DeploySettings, path: string): string => relative(settings.paths.root, path);\nconst megabytes = (size: number): string => (size / BYTES_PER_MIB).toFixed(1);\n\nconst writeManifest = (manifest: DeployManifest): void => {\n mkdirSync(dirname(manifest.path), { recursive: true });\n writeFileSync(manifest.path, manifest.contents);\n};\n\nconst renderMetadata = (settings: DeploySettings): StagedMetadata => ({\n desktopEntry: renderDesktopEntry(settings),\n metainfo: renderMetainfo(settings),\n mimePackage: renderMimePackage(settings),\n});\n\nconst isFlathubSubmission = (settings: DeploySettings, targets: DeployTarget[]): boolean =>\n settings.deploy.flatpak?.mode === \"source\" && targets.some((target) => target.name === \"flatpak\");\n\nconst validateMetadata = (settings: DeploySettings, metadata: StagedMetadata, areWarningsFatal: boolean): void => {\n const dir = settings.paths.metadata;\n mkdirSync(dir, { recursive: true });\n const desktopPath = join(dir, `${settings.applicationId}.desktop`);\n const metainfoPath = join(dir, `${settings.applicationId}.metainfo.xml`);\n writeFileSync(desktopPath, metadata.desktopEntry);\n writeFileSync(metainfoPath, metadata.metainfo);\n validateDesktopEntry(desktopPath);\n validateMetainfo(metainfoPath, areWarningsFatal);\n info(\"Validated the desktop entry and the metainfo\");\n};\n\nconst warnMissingNetwork = (settings: DeploySettings): void => {\n const finishArgs = settings.deploy.flatpak?.finishArgs;\n\n if (finishArgs === undefined || finishArgs.includes(NETWORK_ARG)) {\n return;\n }\n\n if (!settings.libraries.includes(WEBKIT_LIBRARY)) {\n return;\n }\n\n warn(`This app declares ${WEBKIT_LIBRARY} but its flatpak permissions omit ${NETWORK_ARG}, so pages will not load`);\n};\n\nconst sourceModeTools = (targets: DeployTarget[], settings: DeploySettings): DeployTool[] => {\n const isFlatpakSource = settings.deploy.flatpak?.mode === \"source\";\n\n if (!isFlatpakSource || targets.every((target) => target.name !== \"flatpak\")) {\n return [];\n }\n\n return detectPackageManager(settings) === \"pnpm\" ? [FLATPAK_NODE_GENERATOR_PNPM] : [FLATPAK_NODE_GENERATOR];\n};\n\nconst isNodeRequired = (targets: DeployTarget[], settings: DeploySettings): boolean =>\n !(settings.deploy.flatpak?.mode === \"source\" && targets.every((target) => target.name === \"flatpak\"));\n\nconst runtimeToolsFor = (targets: DeployTarget[], settings: DeploySettings): DeployTool[] => {\n if (!isNodeRequired(targets, settings)) {\n return [];\n }\n\n const node = settings.deploy.node ?? {};\n const archiveTools = (node.source ?? \"download\") === \"download\" ? [TAR] : [];\n\n return node.shouldStrip === false ? archiveTools : [...archiveTools, STRIP];\n};\n\nconst preflight = (targets: DeployTarget[], settings: DeploySettings, shouldPrintManifests: boolean): void => {\n const packagerTools = shouldPrintManifests\n ? []\n : [...runtimeToolsFor(targets, settings), ...targets.flatMap((target) => target.tools)];\n\n const required = [DESKTOP_FILE_VALIDATE, APPSTREAMCLI, ...sourceModeTools(targets, settings)];\n const report = probeTools([...required, ...packagerTools]);\n assertTools(report);\n warnMissingOptional(report);\n warnMissingNetwork(settings);\n};\n\nconst resolveTargetNames = (options: DeployOptions, settings: DeploySettings): string[] => {\n if (options.targets !== undefined) {\n return parseTargetList(options.targets);\n }\n\n return settings.deploy.targets ?? DEFAULT_TARGETS;\n};\n\nconst loadSettings = async (options: DeployOptions): Promise<DeploySettings> => {\n const { config, root } = await loadConfig(options.cwd, { mode: BUILD_MODE });\n\n if (config.deploy === undefined) {\n throw missingDeployError(config.applicationId, readPackageManifest(root));\n }\n\n return resolveDeploySettings({ root, config, outDirOverride: options.outDir });\n};\n\nconst buildPayload = async (\n options: DeployOptions,\n settings: DeploySettings,\n targets: DeployTarget[],\n): Promise<DeployPayload> => {\n const metadata = renderMetadata(settings);\n validateMetadata(settings, metadata, isFlathubSubmission(settings, targets));\n\n if (!options.shouldSkipBuild) {\n info(`Building ${options.entry}`);\n await buildApp({ entry: options.entry, vite: { root: options.cwd } });\n }\n\n const node = options.shouldPrintManifests || !isNodeRequired(targets, settings)\n ? null\n : await resolveNodeRuntime(settings);\n\n const stage = stagePayload({ settings, node, metadata });\n info(`Staged ${String(stage.length)} files into ${displayPath(settings, settings.paths.stage)}`);\n\n return { settings, node, stage, overlays: stageOverlays(settings) };\n};\n\nconst renderTargetManifests = (\n targets: DeployTarget[],\n payload: DeployPayload,\n): Map<DeployTarget, DeployManifest[]> => {\n const rendered: Map<DeployTarget, DeployManifest[]> = new Map();\n\n for (const target of targets) {\n const manifests = target.render(payload);\n\n for (const manifest of manifests) {\n writeManifest(manifest);\n info(`Wrote ${displayPath(payload.settings, manifest.path)}`);\n }\n\n rendered.set(target, manifests);\n }\n\n return rendered;\n};\n\nconst packTargets = async (\n rendered: Map<DeployTarget, DeployManifest[]>,\n payload: DeployPayload,\n): Promise<DeployArtifact[]> => {\n const artifacts: DeployArtifact[] = [];\n\n for (const [target, manifests] of rendered) {\n const built = await target.pack(payload, manifests);\n\n for (const artifact of built) {\n info(`Built ${displayPath(payload.settings, artifact.path)} (${megabytes(artifact.size)} MiB)`);\n }\n\n artifacts.push(...built);\n }\n\n return artifacts;\n};\n\nconst announce = (settings: DeploySettings, targets: DeployTarget[]): void => {\n const names = targets.map((target) => target.name).join(\", \");\n const version = `${settings.versions.packageVersion}-${settings.versions.debRevision}`;\n info(`Deploying ${settings.name} ${version} as ${settings.binaryName} (${settings.arch.rpm}) to ${names}`);\n};\n\nconst runDeploy = async (options: DeployOptions): Promise<void> => {\n if (!options.shouldSkipBuild) {\n await ensureGenerated(options.cwd, { shouldAnnounce: true, mode: BUILD_MODE });\n }\n\n const settings = await loadSettings(options);\n const targets = targetsFor(resolveTargetNames(options, settings));\n announce(settings, targets);\n preflight(targets, settings, options.shouldPrintManifests);\n const payload = await buildPayload(options, settings, targets);\n const rendered = renderTargetManifests(targets, payload);\n\n if (options.shouldPrintManifests) {\n const count = rendered.values().toArray().flat().length;\n info(`Wrote ${String(count)} manifests, 0 packages built`);\n\n return;\n }\n\n const artifacts = await packTargets(rendered, payload);\n const output = displayPath(settings, settings.paths.output);\n info(`Deploy complete: ${String(artifacts.length)} artifacts in ${output}`);\n};\n\nexport { runDeploy };\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-manifest.d.ts","sourceRoot":"","sources":["../../../src/deploy/settings/package-manifest.ts"],"names":[],"mappings":"AAIA,KAAK,cAAc,GAAG;IAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF,KAAK,eAAe,GAAG;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,cAAc,CAAC;CAC1B,CAAC;AAoCF,QAAA,MAAM,mBAAmB,GAAI,MAAM,MAAM,KAAG,
|
|
1
|
+
{"version":3,"file":"package-manifest.d.ts","sourceRoot":"","sources":["../../../src/deploy/settings/package-manifest.ts"],"names":[],"mappings":"AAIA,KAAK,cAAc,GAAG;IAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF,KAAK,eAAe,GAAG;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,cAAc,CAAC;CAC1B,CAAC;AAoCF,QAAA,MAAM,mBAAmB,GAAI,MAAM,MAAM,KAAG,eAY3C,CAAC;AAEF,OAAO,EAAE,KAAK,eAAe,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -34,6 +34,7 @@ const readPackageManifest = (root) => {
|
|
|
34
34
|
description: optionalString(manifest.description),
|
|
35
35
|
license: optionalString(manifest.license),
|
|
36
36
|
homepage: optionalString(manifest.homepage),
|
|
37
|
+
packageManager: optionalString(manifest.packageManager),
|
|
37
38
|
author: parseAuthor(manifest.author),
|
|
38
39
|
};
|
|
39
40
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-manifest.js","sourceRoot":"","sources":["../../../src/deploy/settings/package-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"package-manifest.js","sourceRoot":"","sources":["../../../src/deploy/settings/package-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAiBjC,MAAM,cAAc,GAAG,yDAAyD,CAAC;AACjF,MAAM,YAAY,GAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAEjE,MAAM,cAAc,GAAG,CAAC,KAAc,EAAiB,EAAE,CACrD,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAE/E,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAkB,EAAE;IACzD,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEnD,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;AACxF,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,MAAe,EAAkB,EAAE;IACpD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACpB,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AACtF,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAA2B,EAAE;IAC/D,IAAI,CAAC;QACD,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAErF,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAmB,EAAE;IAC1D,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAExC,OAAO;QACH,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC;QACnC,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC;QACzC,WAAW,EAAE,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC;QACjD,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC;QACzC,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC3C,cAAc,EAAE,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC;QACvD,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC;KACvC,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,EAAwB,mBAAmB,EAAE,CAAC","sourcesContent":["import { isRecord } from \"@gtkx/utils\";\nimport { readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\n\ntype ManifestAuthor = {\n name: string | null;\n email: string | null;\n};\n\ntype PackageManifest = {\n name: string | null;\n version: string | null;\n description: string | null;\n license: string | null;\n homepage: string | null;\n packageManager: string | null;\n author: ManifestAuthor;\n};\n\nconst AUTHOR_PATTERN = /^(?<name>[^<(]*)(?:\\([^)]*\\)\\s*)?(?:<(?<email>[^>]*)>)?/;\nconst EMPTY_AUTHOR: ManifestAuthor = { name: null, email: null };\n\nconst optionalString = (value: unknown): string | null =>\n typeof value === \"string\" && value.trim().length > 0 ? value.trim() : null;\n\nconst parseAuthorString = (author: string): ManifestAuthor => {\n const groups = AUTHOR_PATTERN.exec(author)?.groups;\n\n return { name: optionalString(groups?.name), email: optionalString(groups?.email) };\n};\n\nconst parseAuthor = (author: unknown): ManifestAuthor => {\n if (typeof author === \"string\") {\n return parseAuthorString(author);\n }\n\n if (!isRecord(author)) {\n return EMPTY_AUTHOR;\n }\n\n return { name: optionalString(author.name), email: optionalString(author.email) };\n};\n\nconst readManifestJson = (root: string): Record<string, unknown> => {\n try {\n const parsed: unknown = JSON.parse(readFileSync(join(root, \"package.json\"), \"utf8\"));\n\n return isRecord(parsed) ? parsed : {};\n } catch {\n return {};\n }\n};\n\nconst readPackageManifest = (root: string): PackageManifest => {\n const manifest = readManifestJson(root);\n\n return {\n name: optionalString(manifest.name),\n version: optionalString(manifest.version),\n description: optionalString(manifest.description),\n license: optionalString(manifest.license),\n homepage: optionalString(manifest.homepage),\n packageManager: optionalString(manifest.packageManager),\n author: parseAuthor(manifest.author),\n };\n};\n\nexport { type PackageManifest, readPackageManifest };\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { DeploySettings } from "../types.js";
|
|
2
|
+
import type { FlatpakModule } from "./flatpak-prebuilt.js";
|
|
3
|
+
type PnpmPin = {
|
|
4
|
+
version: string;
|
|
5
|
+
major: number;
|
|
6
|
+
minor: number;
|
|
7
|
+
sha512: string;
|
|
8
|
+
};
|
|
9
|
+
declare const resolvePnpmPin: (settings: DeploySettings) => PnpmPin;
|
|
10
|
+
declare const pnpmPathFor: (moduleDir: string) => string;
|
|
11
|
+
declare const pnpmSources: (pin: PnpmPin, moduleDir: string) => FlatpakModule[];
|
|
12
|
+
declare const pnpmInstallCommand: (pin: PnpmPin) => string;
|
|
13
|
+
declare const pnpmStoreVersionFor: (pin: PnpmPin) => string;
|
|
14
|
+
export { pnpmInstallCommand, pnpmPathFor, type PnpmPin, pnpmSources, pnpmStoreVersionFor, resolvePnpmPin, };
|
|
15
|
+
//# sourceMappingURL=flatpak-pnpm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flatpak-pnpm.d.ts","sourceRoot":"","sources":["../../../src/deploy/targets/flatpak-pnpm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D,KAAK,OAAO,GAAG;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAClB,CAAC;AA4CF,QAAA,MAAM,cAAc,GAAI,UAAU,cAAc,KAAG,OAkClD,CAAC;AAEF,QAAA,MAAM,WAAW,GAAI,WAAW,MAAM,KAAG,MAAoC,CAAC;AAE9E,QAAA,MAAM,WAAW,GAAI,KAAK,OAAO,EAAE,WAAW,MAAM,KAAG,aAAa,EAQnE,CAAC;AAEF,QAAA,MAAM,kBAAkB,GAAI,KAAK,OAAO,KAAG,MAC2C,CAAC;AAEvF,QAAA,MAAM,mBAAmB,GAAI,KAAK,OAAO,KAAG,MACa,CAAC;AAE1D,OAAO,EACH,kBAAkB,EAClB,WAAW,EACX,KAAK,OAAO,EACZ,WAAW,EACX,mBAAmB,EACnB,cAAc,GACjB,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { readPackageManifest } from "../settings/package-manifest.js";
|
|
2
|
+
const PNPM_VERSION = "11.21.0";
|
|
3
|
+
const PNPM_MAJOR = 11;
|
|
4
|
+
const PNPM_MINOR = 21;
|
|
5
|
+
const PNPM_SHA512 = "521705bce689924eac72f5a3587122f362689ef6571e55ba80076fd637c11132ecffada26" +
|
|
6
|
+
"fad4ea79c485bfddbfd3d5a2a5b05805a77e893de71ec8a6cca3bb1";
|
|
7
|
+
const PNPM_DIR = "flatpak-pnpm";
|
|
8
|
+
const PNPM_COMMAND = "pnpm";
|
|
9
|
+
const PNPM_PREFIX = "pnpm@";
|
|
10
|
+
const PNPM_TARBALL_URL = "https://registry.npmjs.org/pnpm/-/pnpm-";
|
|
11
|
+
const PNPM_INSTALL = "pnpm install --offline --frozen-lockfile";
|
|
12
|
+
const TRUST_LOCKFILE = "--trust-lockfile";
|
|
13
|
+
const STORE_V10 = "v10";
|
|
14
|
+
const STORE_V11 = "v11";
|
|
15
|
+
const STORE_V10_MAJOR = 10;
|
|
16
|
+
const STORE_V11_MAJOR = 11;
|
|
17
|
+
const TRUST_LOCKFILE_MINOR = 3;
|
|
18
|
+
const DEFAULT_PIN = {
|
|
19
|
+
version: PNPM_VERSION,
|
|
20
|
+
major: PNPM_MAJOR,
|
|
21
|
+
minor: PNPM_MINOR,
|
|
22
|
+
sha512: PNPM_SHA512,
|
|
23
|
+
};
|
|
24
|
+
const PNPM_PIN_FIELD = /^pnpm@(?<version>(?<major>\d+)\.(?<minor>\d+)\.\d+)\+sha512\.(?<sha512>[\da-f]{128})$/;
|
|
25
|
+
const pinFromGroups = (groups) => {
|
|
26
|
+
const { major, minor, sha512, version } = groups;
|
|
27
|
+
if (major === undefined || minor === undefined || sha512 === undefined || version === undefined) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
return { version, major: Number(major), minor: Number(minor), sha512 };
|
|
31
|
+
};
|
|
32
|
+
const isSupportedPin = (pin) => pin.major === STORE_V10_MAJOR || (pin.major === STORE_V11_MAJOR && pin.minor >= TRUST_LOCKFILE_MINOR);
|
|
33
|
+
const resolvePnpmPin = (settings) => {
|
|
34
|
+
const field = readPackageManifest(settings.paths.root).packageManager;
|
|
35
|
+
if (field === null) {
|
|
36
|
+
return DEFAULT_PIN;
|
|
37
|
+
}
|
|
38
|
+
if (!field.startsWith(PNPM_PREFIX)) {
|
|
39
|
+
throw new Error(`Cannot vendor pnpm for the Flathub sandbox: "packageManager" is "${field}" but the offline install ` +
|
|
40
|
+
"resolves from a pnpm lockfile. Run `corepack use pnpm@<version>` to pin it to pnpm, or point " +
|
|
41
|
+
"`deploy.flatpak.packageManager` at the manager whose lockfile the build should install from.");
|
|
42
|
+
}
|
|
43
|
+
const pin = pinFromGroups(PNPM_PIN_FIELD.exec(field)?.groups ?? {});
|
|
44
|
+
if (pin === null) {
|
|
45
|
+
throw new Error(`Cannot vendor pnpm for the Flathub sandbox: "packageManager" is "${field}", which carries no sha512 ` +
|
|
46
|
+
"integrity digest, and every source in a Flathub build has to be hash-pinned. Run " +
|
|
47
|
+
"`corepack use pnpm@<version>` to rewrite it with its digest.");
|
|
48
|
+
}
|
|
49
|
+
if (!isSupportedPin(pin)) {
|
|
50
|
+
throw new Error(`Cannot vendor pnpm ${pin.version} for the Flathub sandbox: the offline install runs on pnpm 10, or on ` +
|
|
51
|
+
"pnpm 11 from 11.3.0 on, where `--trust-lockfile` exists. Earlier pnpm 11 releases reach the registry " +
|
|
52
|
+
'during the supply-chain check and the sandbox has no network. Pin "packageManager" to one of those.');
|
|
53
|
+
}
|
|
54
|
+
return pin;
|
|
55
|
+
};
|
|
56
|
+
const pnpmPathFor = (moduleDir) => `${moduleDir}/${PNPM_DIR}`;
|
|
57
|
+
const pnpmSources = (pin, moduleDir) => [
|
|
58
|
+
{ type: "archive", url: `${PNPM_TARBALL_URL}${pin.version}.tgz`, sha512: pin.sha512, dest: PNPM_DIR },
|
|
59
|
+
{
|
|
60
|
+
type: "script",
|
|
61
|
+
dest: PNPM_DIR,
|
|
62
|
+
"dest-filename": PNPM_COMMAND,
|
|
63
|
+
commands: [`exec node ${pnpmPathFor(moduleDir)}/bin/pnpm.cjs "$@"`],
|
|
64
|
+
},
|
|
65
|
+
];
|
|
66
|
+
const pnpmInstallCommand = (pin) => pin.major === STORE_V11_MAJOR ? `${PNPM_INSTALL} ${TRUST_LOCKFILE}` : PNPM_INSTALL;
|
|
67
|
+
const pnpmStoreVersionFor = (pin) => pin.major === STORE_V10_MAJOR ? STORE_V10 : STORE_V11;
|
|
68
|
+
export { pnpmInstallCommand, pnpmPathFor, pnpmSources, pnpmStoreVersionFor, resolvePnpmPin, };
|
|
69
|
+
//# sourceMappingURL=flatpak-pnpm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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.21.0\";\nconst PNPM_MAJOR = 11;\nconst PNPM_MINOR = 21;\n\nconst PNPM_SHA512 = \"521705bce689924eac72f5a3587122f362689ef6571e55ba80076fd637c11132ecffada26\" +\n \"fad4ea79c485bfddbfd3d5a2a5b05805a77e893de71ec8a6cca3bb1\";\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-source.d.ts","sourceRoot":"","sources":["../../../src/deploy/targets/flatpak-source.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"flatpak-source.d.ts","sourceRoot":"","sources":["../../../src/deploy/targets/flatpak-source.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,aAAa,CAAC;AAUjE,OAAO,EAAe,KAAK,aAAa,EAA2C,MAAM,uBAAuB,CAAC;AAkIjH,QAAA,MAAM,mBAAmB,GAAI,SAAS,aAAa,KAAG,aAqCrD,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
|