@gtkx/cli 1.3.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -4
- package/dist/builder.d.ts +0 -1
- package/dist/builder.d.ts.map +1 -1
- package/dist/builder.js +6 -6
- package/dist/builder.js.map +1 -1
- package/dist/codegen/run-codegen.d.ts +1 -2
- package/dist/codegen/run-codegen.d.ts.map +1 -1
- package/dist/codegen/run-codegen.js +11 -6
- package/dist/codegen/run-codegen.js.map +1 -1
- package/dist/commands/build.d.ts +0 -4
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +0 -5
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/codegen.d.ts.map +1 -1
- package/dist/commands/codegen.js +1 -3
- package/dist/commands/codegen.js.map +1 -1
- package/dist/deploy/depends.d.ts +2 -2
- package/dist/deploy/depends.d.ts.map +1 -1
- package/dist/deploy/depends.js +30 -15
- package/dist/deploy/depends.js.map +1 -1
- package/dist/deploy/nfpm/config.js +1 -1
- package/dist/deploy/nfpm/config.js.map +1 -1
- package/dist/deploy/node-runtime/elf.d.ts +1 -1
- package/dist/deploy/node-runtime/elf.d.ts.map +1 -1
- package/dist/deploy/node-runtime/elf.js +2 -2
- package/dist/deploy/node-runtime/elf.js.map +1 -1
- package/dist/deploy/node-runtime/index.js +2 -2
- package/dist/deploy/node-runtime/index.js.map +1 -1
- package/dist/deploy/notices/collect.d.ts +3 -1
- package/dist/deploy/notices/collect.d.ts.map +1 -1
- package/dist/deploy/notices/collect.js +2 -2
- package/dist/deploy/notices/collect.js.map +1 -1
- package/dist/deploy/notices/packages.d.ts +2 -1
- package/dist/deploy/notices/packages.d.ts.map +1 -1
- package/dist/deploy/notices/packages.js +4 -27
- package/dist/deploy/notices/packages.js.map +1 -1
- package/dist/deploy/payload/icons.d.ts +7 -3
- package/dist/deploy/payload/icons.d.ts.map +1 -1
- package/dist/deploy/payload/icons.js +46 -28
- package/dist/deploy/payload/icons.js.map +1 -1
- package/dist/deploy/payload/stage.d.ts.map +1 -1
- package/dist/deploy/payload/stage.js +3 -2
- package/dist/deploy/payload/stage.js.map +1 -1
- package/dist/deploy/run-deploy.d.ts.map +1 -1
- package/dist/deploy/run-deploy.js +63 -11
- package/dist/deploy/run-deploy.js.map +1 -1
- package/dist/deploy/settings/build-manifest.d.ts +9 -0
- package/dist/deploy/settings/build-manifest.d.ts.map +1 -0
- package/dist/deploy/settings/build-manifest.js +80 -0
- package/dist/deploy/settings/build-manifest.js.map +1 -0
- package/dist/deploy/settings/index.d.ts.map +1 -1
- package/dist/deploy/settings/index.js +9 -3
- package/dist/deploy/settings/index.js.map +1 -1
- package/dist/deploy/settings/libraries.d.ts +8 -0
- package/dist/deploy/settings/libraries.d.ts.map +1 -0
- package/dist/deploy/settings/libraries.js +39 -0
- package/dist/deploy/settings/libraries.js.map +1 -0
- package/dist/deploy/settings/paths.d.ts +3 -0
- package/dist/deploy/settings/paths.d.ts.map +1 -1
- package/dist/deploy/settings/paths.js +6 -32
- 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 +19 -13
- package/dist/deploy/targets/appimage.js.map +1 -1
- package/dist/deploy/targets/flatpak-manifest.d.ts +2 -1
- package/dist/deploy/targets/flatpak-manifest.d.ts.map +1 -1
- package/dist/deploy/targets/flatpak-manifest.js +5 -1
- package/dist/deploy/targets/flatpak-manifest.js.map +1 -1
- package/dist/deploy/targets/flatpak-source.d.ts.map +1 -1
- package/dist/deploy/targets/flatpak-source.js +9 -6
- package/dist/deploy/targets/flatpak-source.js.map +1 -1
- package/dist/deploy/types.d.ts +4 -4
- package/dist/deploy/types.d.ts.map +1 -1
- package/dist/deploy/types.js.map +1 -1
- package/dist/dev/icon-dir.d.ts +1 -1
- package/dist/dev/icon-dir.d.ts.map +1 -1
- package/dist/dev/icon-dir.js +20 -7
- package/dist/dev/icon-dir.js.map +1 -1
- package/dist/dev/runner-deps.d.ts.map +1 -1
- package/dist/dev/runner-deps.js +5 -1
- package/dist/dev/runner-deps.js.map +1 -1
- package/dist/dev/runner-main.js +4 -4
- package/dist/dev/runner-main.js.map +1 -1
- package/dist/dev/runner.d.ts +1 -1
- package/dist/dev/runner.d.ts.map +1 -1
- package/dist/dev/runner.js +1 -1
- package/dist/dev/runner.js.map +1 -1
- package/dist/dev/schema-dir.d.ts +1 -1
- package/dist/dev/schema-dir.d.ts.map +1 -1
- package/dist/dev/schema-dir.js +3 -1
- package/dist/dev/schema-dir.js.map +1 -1
- package/dist/internal/build-manifest.d.ts +20 -0
- package/dist/internal/build-manifest.d.ts.map +1 -0
- package/dist/internal/build-manifest.js +6 -0
- package/dist/internal/build-manifest.js.map +1 -0
- package/dist/internal/icon-path.d.ts +13 -0
- package/dist/internal/icon-path.d.ts.map +1 -0
- package/dist/internal/icon-path.js +86 -0
- package/dist/internal/icon-path.js.map +1 -0
- package/dist/internal/source-imports.d.ts +8 -0
- package/dist/internal/source-imports.d.ts.map +1 -0
- package/dist/internal/source-imports.js +144 -0
- package/dist/internal/source-imports.js.map +1 -0
- package/dist/mcp/widget-properties.d.ts.map +1 -1
- package/dist/mcp/widget-properties.js +3 -12
- package/dist/mcp/widget-properties.js.map +1 -1
- package/dist/settings/render.d.ts +7 -1
- package/dist/settings/render.d.ts.map +1 -1
- package/dist/settings/render.js +69 -20
- package/dist/settings/render.js.map +1 -1
- package/dist/settings/schema.d.ts +4 -3
- package/dist/settings/schema.d.ts.map +1 -1
- package/dist/settings/schema.js +122 -15
- package/dist/settings/schema.js.map +1 -1
- package/dist/vite-plugins/asset-emitter.d.ts +1 -1
- package/dist/vite-plugins/asset-emitter.d.ts.map +1 -1
- package/dist/vite-plugins/asset-emitter.js.map +1 -1
- package/dist/vite-plugins/asset-extensions.d.ts.map +1 -1
- package/dist/vite-plugins/asset-extensions.js +1 -0
- package/dist/vite-plugins/asset-extensions.js.map +1 -1
- package/dist/vite-plugins/asset-imports.d.ts +2 -1
- package/dist/vite-plugins/asset-imports.d.ts.map +1 -1
- package/dist/vite-plugins/asset-imports.js +37 -16
- package/dist/vite-plugins/asset-imports.js.map +1 -1
- package/dist/vite-plugins/asset-specifier.d.ts +13 -1
- package/dist/vite-plugins/asset-specifier.d.ts.map +1 -1
- package/dist/vite-plugins/asset-specifier.js +39 -1
- package/dist/vite-plugins/asset-specifier.js.map +1 -1
- package/dist/vite-plugins/build-manifest.d.ts +5 -0
- package/dist/vite-plugins/build-manifest.d.ts.map +1 -0
- package/dist/vite-plugins/{bundled-packages.js → build-manifest.js} +20 -14
- package/dist/vite-plugins/build-manifest.js.map +1 -0
- package/dist/vite-plugins/built-url.d.ts +1 -1
- package/dist/vite-plugins/built-url.d.ts.map +1 -1
- package/dist/vite-plugins/built-url.js +37 -24
- package/dist/vite-plugins/built-url.js.map +1 -1
- package/dist/vite-plugins/icons.d.ts +2 -1
- package/dist/vite-plugins/icons.d.ts.map +1 -1
- package/dist/vite-plugins/icons.js +25 -12
- package/dist/vite-plugins/icons.js.map +1 -1
- package/dist/vite-plugins/index.d.ts +2 -1
- package/dist/vite-plugins/index.d.ts.map +1 -1
- package/dist/vite-plugins/index.js +7 -5
- package/dist/vite-plugins/index.js.map +1 -1
- package/dist/vite-plugins/native.d.ts.map +1 -1
- package/dist/vite-plugins/native.js +23 -4
- package/dist/vite-plugins/native.js.map +1 -1
- package/dist/vite-plugins/resource-init-module.d.ts +7 -3
- package/dist/vite-plugins/resource-init-module.d.ts.map +1 -1
- package/dist/vite-plugins/resource-init-module.js +39 -14
- package/dist/vite-plugins/resource-init-module.js.map +1 -1
- package/dist/vite-plugins/resource-shared.d.ts +3 -1
- package/dist/vite-plugins/resource-shared.d.ts.map +1 -1
- package/dist/vite-plugins/resource-shared.js +3 -1
- package/dist/vite-plugins/resource-shared.js.map +1 -1
- package/dist/vite-plugins/resources.d.ts +1 -1
- package/dist/vite-plugins/resources.d.ts.map +1 -1
- package/dist/vite-plugins/resources.js +922 -86
- package/dist/vite-plugins/resources.js.map +1 -1
- package/dist/vite-plugins/settings-worker-env.d.ts.map +1 -1
- package/dist/vite-plugins/settings-worker-env.js +6 -3
- package/dist/vite-plugins/settings-worker-env.js.map +1 -1
- package/dist/vite-plugins/settings.d.ts +3 -1
- package/dist/vite-plugins/settings.d.ts.map +1 -1
- package/dist/vite-plugins/settings.js +63 -23
- package/dist/vite-plugins/settings.js.map +1 -1
- package/env.d.ts +11 -192
- package/package.json +10 -10
- package/src/builder.ts +6 -7
- package/src/codegen/run-codegen.ts +10 -7
- package/src/commands/build.ts +0 -5
- package/src/commands/codegen.ts +1 -3
- package/src/deploy/depends.ts +47 -18
- package/src/deploy/nfpm/config.ts +1 -1
- package/src/deploy/node-runtime/elf.ts +3 -3
- package/src/deploy/node-runtime/index.ts +2 -2
- package/src/deploy/notices/collect.ts +4 -2
- package/src/deploy/notices/packages.ts +5 -43
- package/src/deploy/payload/icons.ts +64 -34
- package/src/deploy/payload/stage.ts +5 -2
- package/src/deploy/run-deploy.ts +87 -12
- package/src/deploy/settings/build-manifest.ts +122 -0
- package/src/deploy/settings/index.ts +9 -4
- package/src/deploy/settings/libraries.ts +57 -0
- package/src/deploy/settings/paths.ts +10 -47
- package/src/deploy/targets/appimage.ts +32 -15
- package/src/deploy/targets/flatpak-manifest.ts +7 -1
- package/src/deploy/targets/flatpak-source.ts +9 -10
- package/src/deploy/types.ts +4 -4
- package/src/dev/icon-dir.ts +31 -7
- package/src/dev/runner-deps.ts +5 -1
- package/src/dev/runner-main.ts +4 -4
- package/src/dev/runner.ts +2 -2
- package/src/dev/schema-dir.ts +3 -1
- package/src/internal/build-manifest.ts +32 -0
- package/src/internal/icon-path.ts +127 -0
- package/src/internal/source-imports.ts +200 -0
- package/src/mcp/widget-properties.ts +3 -14
- package/src/settings/render.ts +99 -21
- package/src/settings/schema.ts +190 -17
- package/src/vite-plugins/asset-emitter.ts +1 -1
- package/src/vite-plugins/asset-extensions.ts +1 -0
- package/src/vite-plugins/asset-imports.ts +60 -19
- package/src/vite-plugins/asset-specifier.ts +73 -1
- package/src/vite-plugins/{bundled-packages.ts → build-manifest.ts} +30 -19
- package/src/vite-plugins/built-url.ts +49 -28
- package/src/vite-plugins/icons.ts +33 -14
- package/src/vite-plugins/index.ts +12 -5
- package/src/vite-plugins/native.ts +31 -4
- package/src/vite-plugins/resource-init-module.ts +44 -15
- package/src/vite-plugins/resource-shared.ts +4 -0
- package/src/vite-plugins/resources.ts +1459 -100
- package/src/vite-plugins/settings-worker-env.ts +7 -3
- package/src/vite-plugins/settings.ts +89 -21
- package/dist/vite-plugins/bundled-packages.d.ts +0 -5
- package/dist/vite-plugins/bundled-packages.d.ts.map +0 -1
- package/dist/vite-plugins/bundled-packages.js.map +0 -1
package/README.md
CHANGED
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
<h1 align="center">GTKX</h1>
|
|
6
6
|
|
|
7
7
|
<p align="center">
|
|
8
|
-
The React framework for Linux.<br />
|
|
9
|
-
Write native
|
|
10
|
-
|
|
8
|
+
The React framework for Linux, built on GTK.<br />
|
|
9
|
+
Write native GTK4 desktop applications with React and TypeScript.
|
|
10
|
+
Real GTK widgets, the GNOME stack, and standard web tooling.
|
|
11
11
|
</p>
|
|
12
12
|
|
|
13
13
|
<p align="center">
|
|
@@ -98,7 +98,7 @@ GTK4 is mature, and GtkBuilder XML can lay out a static interface, but nothing r
|
|
|
98
98
|
- a React reconciler that exposes every GObject as a JSX element,
|
|
99
99
|
- a CLI for scaffolding, development, and production builds,
|
|
100
100
|
- a dev server with Fast Refresh that patches your running UI in place,
|
|
101
|
-
- CSS-in-JS styling, React Spring animations, and high-level list, grid, and dialog components,
|
|
101
|
+
- CSS-in-JS styling, React Spring animations, React Navigation stack, tab, drawer, and split view navigators, and high-level list, grid, and dialog components,
|
|
102
102
|
- a Testing Library-style API for querying and driving your widgets in tests,
|
|
103
103
|
- and a Model Context Protocol (MCP) server that exposes your live app to AI agents.
|
|
104
104
|
|
|
@@ -158,6 +158,7 @@ Explore the [example apps](https://github.com/gtkx-org/gtkx/tree/main/examples):
|
|
|
158
158
|
- [`gtk-demo`](https://github.com/gtkx-org/gtkx/tree/main/examples/gtk-demo): a React port of the official GTK4 widget showcase, covering lists, dialogs, gestures, CSS, and OpenGL.
|
|
159
159
|
- [`browser`](https://github.com/gtkx-org/gtkx/tree/main/examples/browser): a WebKitWebView-based web browser.
|
|
160
160
|
- [`animations`](https://github.com/gtkx-org/gtkx/tree/main/examples/animations): a tour of `@gtkx/animated`, React Spring animations driven by the GTK frame clock.
|
|
161
|
+
- [`navigation`](https://github.com/gtkx-org/gtkx/tree/main/examples/navigation): a tour of `@gtkx/navigation`, React Navigation's stack, tab, and drawer navigators rendered with libadwaita.
|
|
161
162
|
- [`tutorial`](https://github.com/gtkx-org/gtkx/tree/main/examples/tutorial): the Tasks app the documentation builds.
|
|
162
163
|
|
|
163
164
|
## Status
|
package/dist/builder.d.ts
CHANGED
package/dist/builder.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAmC,MAAM,MAAM,CAAC;AAS1E,KAAK,YAAY,GAAG;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAmC,MAAM,MAAM,CAAC;AAS1E,KAAK,YAAY,GAAG;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;CACnC,CAAC;AAoBF,QAAA,MAAM,KAAK,GAAU,SAAS,YAAY,KAAG,OAAO,CAAC,MAAM,CA+B1D,CAAC;AAEF,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
package/dist/builder.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { join, posix } from "node:path";
|
|
2
2
|
import { mergeConfig, build as viteBuild } from "vite";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { createBuildManifestCollector } from "./internal/build-manifest.js";
|
|
4
|
+
import { gtkxBuildManifest } from "./vite-plugins/build-manifest.js";
|
|
5
5
|
import { BUNDLE_FILENAME, ESM_EXTENSION } from "./vite-plugins/esm-extension.js";
|
|
6
6
|
import { gtkxVitePlugins } from "./vite-plugins/index.js";
|
|
7
7
|
import { gtkxNative } from "./vite-plugins/native.js";
|
|
@@ -24,16 +24,16 @@ const buildDefaults = {
|
|
|
24
24
|
},
|
|
25
25
|
};
|
|
26
26
|
const build = async (options) => {
|
|
27
|
-
const { entry,
|
|
27
|
+
const { entry, vite: viteConfig } = options;
|
|
28
28
|
const root = viteConfig?.root ?? process.cwd();
|
|
29
29
|
const assetsDir = viteConfig?.build?.assetsDir ?? DEFAULT_ASSETS_DIR;
|
|
30
|
+
const buildManifest = createBuildManifestCollector();
|
|
30
31
|
const forced = {
|
|
31
32
|
plugins: [
|
|
32
|
-
...gtkxVitePlugins(BUILD_MODE),
|
|
33
|
+
...gtkxVitePlugins(BUILD_MODE, undefined, buildManifest),
|
|
33
34
|
gtkxWorker(),
|
|
34
|
-
gtkxBuiltUrl(assetBase),
|
|
35
35
|
gtkxNative(root),
|
|
36
|
-
|
|
36
|
+
gtkxBuildManifest(root, buildManifest),
|
|
37
37
|
gtkxSelfContained(),
|
|
38
38
|
],
|
|
39
39
|
build: {
|
package/dist/builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAqB,WAAW,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAqB,WAAW,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1E,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAOtD,MAAM,UAAU,GAAG,YAAY,CAAC;AAChC,MAAM,UAAU,GAAG,eAAe,CAAC;AACnC,MAAM,eAAe,GAAG,MAAM,CAAC;AAC/B,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AACpC,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAEzC,MAAM,aAAa,GAAiB;IAChC,KAAK,EAAE;QACH,aAAa,EAAE,IAAI;QACnB,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,KAAK;KACnB;IACD,MAAM,EAAE;QACJ,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;KACrD;CACJ,CAAC;AAEF,MAAM,KAAK,GAAG,KAAK,EAAE,OAAqB,EAAmB,EAAE;IAC3D,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC5C,MAAM,IAAI,GAAG,UAAU,EAAE,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/C,MAAM,SAAS,GAAG,UAAU,EAAE,KAAK,EAAE,SAAS,IAAI,kBAAkB,CAAC;IACrE,MAAM,aAAa,GAAG,4BAA4B,EAAE,CAAC;IAErD,MAAM,MAAM,GAAiB;QACzB,OAAO,EAAE;YACL,GAAG,eAAe,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,CAAC;YACxD,UAAU,EAAE;YACZ,UAAU,CAAC,IAAI,CAAC;YAChB,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC;YACtC,iBAAiB,EAAE;SACtB;QACD,KAAK,EAAE;YACH,GAAG,EAAE,KAAK;YACV,iBAAiB,EAAE,CAAC;YACpB,eAAe,EAAE;gBACb,MAAM,EAAE;oBACJ,cAAc,EAAE,gBAAgB;oBAChC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,GAAG,aAAa,CAAC;oBACjE,SAAS,EAAE,IAAI;iBAClB;aACJ;SACJ;KACJ,CAAC;IAEF,MAAM,MAAM,GAAiB,WAAW,CAAC,WAAW,CAAC,aAAa,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAC/F,MAAM,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAEzE,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,eAAe,EAAE,gBAAgB,CAAC,CAAC;AAC3E,CAAC,CAAC;AAEF,OAAO,EAAE,KAAK,EAAE,CAAC","sourcesContent":["import { join, posix } from \"node:path\";\nimport { type InlineConfig, mergeConfig, build as viteBuild } from \"vite\";\nimport { createBuildManifestCollector } from \"./internal/build-manifest.js\";\nimport { gtkxBuildManifest } from \"./vite-plugins/build-manifest.js\";\nimport { BUNDLE_FILENAME, ESM_EXTENSION } from \"./vite-plugins/esm-extension.js\";\nimport { gtkxVitePlugins } from \"./vite-plugins/index.js\";\nimport { gtkxNative } from \"./vite-plugins/native.js\";\nimport { gtkxSelfContained } from \"./vite-plugins/self-contained.js\";\nimport { gtkxWorker } from \"./vite-plugins/worker.js\";\n\ntype BuildOptions = {\n entry: string;\n vite?: InlineConfig | undefined;\n};\n\nconst BUILD_MODE = \"production\";\nconst CHUNK_STEM = \"[name]-[hash]\";\nconst DEFAULT_OUT_DIR = \"dist\";\nconst DEFAULT_ASSETS_DIR = \"assets\";\nconst ENTRY_FILE_NAMES = BUNDLE_FILENAME;\n\nconst buildDefaults: InlineConfig = {\n build: {\n ssrEmitAssets: true,\n outDir: DEFAULT_OUT_DIR,\n minify: true,\n cssMinify: false,\n },\n define: {\n \"process.env.NODE_ENV\": JSON.stringify(BUILD_MODE),\n },\n};\n\nconst build = async (options: BuildOptions): Promise<string> => {\n const { entry, vite: viteConfig } = options;\n const root = viteConfig?.root ?? process.cwd();\n const assetsDir = viteConfig?.build?.assetsDir ?? DEFAULT_ASSETS_DIR;\n const buildManifest = createBuildManifestCollector();\n\n const forced: InlineConfig = {\n plugins: [\n ...gtkxVitePlugins(BUILD_MODE, undefined, buildManifest),\n gtkxWorker(),\n gtkxNative(root),\n gtkxBuildManifest(root, buildManifest),\n gtkxSelfContained(),\n ],\n build: {\n ssr: entry,\n assetsInlineLimit: 0,\n rolldownOptions: {\n output: {\n entryFileNames: ENTRY_FILE_NAMES,\n chunkFileNames: posix.join(assetsDir, CHUNK_STEM + ESM_EXTENSION),\n keepNames: true,\n },\n },\n },\n };\n\n const merged: InlineConfig = mergeConfig(mergeConfig(buildDefaults, viteConfig ?? {}), forced);\n await viteBuild({ ...merged, ssr: { ...merged.ssr, noExternal: true } });\n\n return join(merged.build?.outDir ?? DEFAULT_OUT_DIR, ENTRY_FILE_NAMES);\n};\n\nexport { build };\n"]}
|
|
@@ -29,12 +29,11 @@ type EnsureGeneratedOptions = {
|
|
|
29
29
|
};
|
|
30
30
|
declare const runCodegen: (options?: RunCodegenOptions) => Promise<RunCodegenResult>;
|
|
31
31
|
declare const isCodegenDisabled: (cwd: string, mode?: string) => Promise<boolean>;
|
|
32
|
-
declare const syncSchemaEnv: (cwd: string) => void;
|
|
33
32
|
declare const ensureGeneratedIn: (context: CodegenContext, options?: EnsureGeneratedOptions) => Promise<boolean>;
|
|
34
33
|
declare const ensureGenerated: (cwd: string, options?: EnsureGeneratedOptions) => Promise<boolean>;
|
|
35
34
|
declare const resolveConfigWatch: (cwd: string, mode?: string) => Promise<{
|
|
36
35
|
paths: string[];
|
|
37
36
|
regenerate: () => Promise<void>;
|
|
38
37
|
}>;
|
|
39
|
-
export { runCodegen, isCodegenDisabled,
|
|
38
|
+
export { runCodegen, isCodegenDisabled, ensureGenerated, ensureGeneratedIn, resolveConfigWatch, type RunCodegenResult, };
|
|
40
39
|
//# sourceMappingURL=run-codegen.d.ts.map
|
|
@@ -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,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,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;AAcF,KAAK,sBAAsB,GAAG;IAAE,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAqG1E,QAAA,MAAM,UAAU,GAAU,UAAS,iBAAsB,KAAG,OAAO,CAAC,gBAAgB,
|
|
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,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,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;AAcF,KAAK,sBAAsB,GAAG;IAAE,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAqG1E,QAAA,MAAM,UAAU,GAAU,UAAS,iBAAsB,KAAG,OAAO,CAAC,gBAAgB,CA4CnF,CAAC;AAEF,QAAA,MAAM,iBAAiB,GAAU,KAAK,MAAM,EAAE,OAAO,MAAM,KAAG,OAAO,CAAC,OAAO,CAQ5E,CAAC;AAyDF,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,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,gBAAgB,GACxB,CAAC"}
|
|
@@ -85,6 +85,7 @@ const prepareCodegen = (options, cwd, config) => {
|
|
|
85
85
|
const runCodegen = async (options = {}) => {
|
|
86
86
|
const cwd = options.cwd ?? process.cwd();
|
|
87
87
|
const { config, configFile } = await resolveLoadedConfig(options, cwd);
|
|
88
|
+
syncSchemaEnv(cwd, config.future?.v2ResourceImports === true);
|
|
88
89
|
if (config.codegen === false) {
|
|
89
90
|
removeShadowingStores(cwd);
|
|
90
91
|
return disabledCodegenResult(configFile);
|
|
@@ -128,8 +129,9 @@ const isCodegenDisabled = async (cwd, mode) => {
|
|
|
128
129
|
return false;
|
|
129
130
|
}
|
|
130
131
|
};
|
|
131
|
-
const syncSchemaEnv = (cwd) => {
|
|
132
|
-
|
|
132
|
+
const syncSchemaEnv = (cwd, isV2ResourceImports = false) => {
|
|
133
|
+
const dataDir = isV2ResourceImports ? null : resolveDataDir(cwd);
|
|
134
|
+
emitSchemaEnv(cwd, dataDir, isV2ResourceImports);
|
|
133
135
|
};
|
|
134
136
|
const resolveInputsOrNull = (cwd, config) => {
|
|
135
137
|
try {
|
|
@@ -156,10 +158,13 @@ const getRunOptions = ({ root, mode, inputs, resolved }) => {
|
|
|
156
158
|
const isPreflightSkipped = (options) => options.shouldAnnounce === true && process.env.GTKX_DISABLE_PREFLIGHT === "1";
|
|
157
159
|
/* eslint-disable-next-line unicorn/consistent-boolean-name -- the boolean reports whether codegen ran */
|
|
158
160
|
const generate = async (context, options) => {
|
|
159
|
-
syncSchemaEnv(context.root);
|
|
160
161
|
if (context.config.codegen === false) {
|
|
161
|
-
|
|
162
|
-
|
|
162
|
+
const result = await runCodegen({
|
|
163
|
+
cwd: context.root,
|
|
164
|
+
mode: options.mode,
|
|
165
|
+
resolved: { config: context.config, configFile: context.configFile },
|
|
166
|
+
});
|
|
167
|
+
return result.isRegenerated;
|
|
163
168
|
}
|
|
164
169
|
const inputs = resolveInputsOrNull(context.root, context.config);
|
|
165
170
|
maybeAnnounceStale(options.shouldAnnounce, inputs);
|
|
@@ -180,5 +185,5 @@ const resolveConfigWatch = async (cwd, mode) => {
|
|
|
180
185
|
},
|
|
181
186
|
};
|
|
182
187
|
};
|
|
183
|
-
export { runCodegen, isCodegenDisabled,
|
|
188
|
+
export { runCodegen, isCodegenDisabled, ensureGenerated, ensureGeneratedIn, resolveConfigWatch, };
|
|
184
189
|
//# sourceMappingURL=run-codegen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-codegen.js","sourceRoot":"","sources":["../../src/codegen/run-codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAe,UAAU,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EACH,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAsB,cAAc,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC1F,OAAO,EAA0C,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAgDpG,MAAM,wBAAwB,GAC1B,+DAA+D;IAC/D,wGAAwG;IACxG,qCAAqC,CAAC;AAE1C,MAAM,YAAY,GAAG,CAAC,KAAe,EAAQ,EAAE;IAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,GAAW,EAAQ,EAAE;IAChD,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzB,YAAY,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAuB,EAAE,EAAE,CAAC,CAAC;IACjG,SAAS;IACT,OAAO;IACP,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;IACzC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;IACzC,eAAe,EAAE,MAAM,CAAC,eAAe;IACvC,cAAc,EAAE,MAAM,CAAC,cAAc;IACrC,EAAE,EAAE;QACA,QAAQ,EAAE,KAAK,CAAC,UAAU;QAC1B,OAAO,EAAE,KAAK,CAAC,SAAS;QACxB,OAAO,EAAE,KAAK,CAAC,cAAc;KAChC;IACD,GAAG,EACC,KAAK,CAAC,KAAK,KAAK,IAAI;QAChB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC;YACM,QAAQ,EAAE,KAAK,CAAC,WAAW;YAC3B,OAAO,EAAE,KAAK,CAAC,UAAU;YACzB,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO;SAC/B;IACb,eAAe,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,IAAI,EAAE;IAC9C,cAAc,EAAE,wBAAwB,CAAC,QAAQ,CAAC;IAClD,SAAS,EAAE,mBAAmB,CAAC,QAAQ,CAAC;IACxC,gBAAgB,EAAE,mBAAmB,CAAC,QAAQ,CAAC;IAC/C,gBAAgB,EAAE,mBAAmB,CAAC,QAAQ,CAAC;CAClD,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAY,EAAE,CACpD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;KAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;KACrC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AAE/B,MAAM,qBAAqB,GAAG,CAAC,UAAkB,EAAoB,EAAE,CAAC,CAAC;IACrE,aAAa,EAAE,KAAK;IACpB,UAAU,EAAE,CAAC;IACb,iBAAiB,EAAE,CAAC;IACpB,OAAO,EAAE,EAAE;IACX,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,EAAE;IACX,UAAU;IACV,SAAS,EAAE,EAAE;CAChB,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,CAAC,OAAiB,EAAQ,EAAE;IAC5C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,CAAC;IACjB,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,KAAmB,EAAY,EAAE;IAC5D,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;AACpF,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,KAAmB,EAAQ,EAAE;IACvD,YAAY,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,KAAK,EAAE,OAA0B,EAAE,GAAW,EAAyB,EAAE,CACjG,OAAO,CAAC,QAAQ,IAAI,CAAC,MAAM,UAAU,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAExE,MAAM,cAAc,GAAG,CAAC,OAA0B,EAAE,GAAW,EAAE,MAAc,EAAmB,EAAE;IAChG,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,MAAM,IAAI,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAE1F,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,IAAI,IAAI,cAAc,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAE5F,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,KAAK,EAAE,UAA6B,EAAE,EAA6B,EAAE;IACpF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACzC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAEvE,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC3B,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAE3B,OAAO,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAErF,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;QAChC,GAAG,cAAc,CAAC;YACd,KAAK;YACL,SAAS;YACT,OAAO;YACP,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI;YACtD,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI;YACxD,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI;YACxD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI;SACzD,CAAC;QACF,QAAQ;KACX,CAAC,CAAC;IAEH,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE5B,OAAO;QACH,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO;QACP,UAAU;QACV,SAAS;QACT,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC;KACrC,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,KAAK,EAAE,GAAW,EAAE,IAAa,EAAoB,EAAE;IAC7E,IAAI,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAEnD,OAAO,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,GAAW,EAAQ,EAAE;IACxC,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAE,MAAc,EAAwB,EAAE;IAC9E,IAAI,CAAC;QACD,OAAO,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,cAAmC,EAAE,MAA4B,EAAQ,EAAE;IACnG,IAAI,CAAC,cAAc,EAAE,CAAC;QAClB,OAAO;IACX,CAAC;IAED,IAAI,MAAM,KAAK,IAAI,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAC3D,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAmB,EAAqB,EAAE;IAC3F,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACzC,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AACjD,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,OAA+B,EAAW,EAAE,CACpE,OAAO,CAAC,cAAc,KAAK,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,GAAG,CAAC;AAElF,yGAAyG;AACzG,MAAM,QAAQ,GAAG,KAAK,EAAE,OAAuB,EAAE,OAA+B,EAAoB,EAAE;IAClG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QACnC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEpC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACjE,kBAAkB,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;IAC5E,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAE7G,OAAO,MAAM,CAAC,aAAa,CAAC;AAChC,CAAC,CAAC;AAEF,yGAAyG;AACzG,MAAM,iBAAiB,GAAG,KAAK,EAC3B,OAAuB,EACvB,UAAkC,EAAE,EACpB,EAAE,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAE1F,yGAAyG;AACzG,MAAM,eAAe,GAAG,KAAK,EAAE,GAAW,EAAE,UAAkC,EAAE,EAAoB,EAAE,CAClG,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;AAE5G,MAAM,kBAAkB,GAAG,KAAK,EAC5B,GAAW,EACX,IAAa,EACgD,EAAE;IAC/D,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7D,OAAO;QACH,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAClC,UAAU,EAAE,KAAK,IAAI,EAAE;YACnB,MAAM,UAAU,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,CAAC;KACJ,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,EACH,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,kBAAkB,GAErB,CAAC","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, warn } 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 notices: string[];\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 isValueUnwrapped: boolean;\n isFinishTrimmed: boolean;\n isInoutInPlace: 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, ...future }: CodegenOptionsInput) => ({\n libraries,\n girPath,\n isByteArrayTyped: future.isByteArrayTyped,\n isValueUnwrapped: future.isValueUnwrapped,\n isFinishTrimmed: future.isFinishTrimmed,\n isInoutInPlace: future.isInoutInPlace,\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 notices: [],\n duration: 0,\n girPath: [],\n configFile,\n libraries: [],\n});\n\nconst warnNotices = (notices: string[]): void => {\n for (const notice of notices) {\n warn(notice);\n }\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 isValueUnwrapped: config.future?.v2ValueReturns === true,\n isFinishTrimmed: config.future?.v2FinishResults === true,\n isInoutInPlace: config.future?.v2InoutReturns === true,\n }),\n isForced,\n });\n\n warnNotices(result.notices);\n\n return {\n isRegenerated: result.isRegenerated,\n namespaces: result.namespaces,\n intrinsicElements: result.intrinsicElements,\n notices: result.notices,\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
|
+
{"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, warn } 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 notices: string[];\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 isValueUnwrapped: boolean;\n isFinishTrimmed: boolean;\n isInoutInPlace: 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, ...future }: CodegenOptionsInput) => ({\n libraries,\n girPath,\n isByteArrayTyped: future.isByteArrayTyped,\n isValueUnwrapped: future.isValueUnwrapped,\n isFinishTrimmed: future.isFinishTrimmed,\n isInoutInPlace: future.isInoutInPlace,\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 notices: [],\n duration: 0,\n girPath: [],\n configFile,\n libraries: [],\n});\n\nconst warnNotices = (notices: string[]): void => {\n for (const notice of notices) {\n warn(notice);\n }\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 syncSchemaEnv(cwd, config.future?.v2ResourceImports === true);\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 isValueUnwrapped: config.future?.v2ValueReturns === true,\n isFinishTrimmed: config.future?.v2FinishResults === true,\n isInoutInPlace: config.future?.v2InoutReturns === true,\n }),\n isForced,\n });\n\n warnNotices(result.notices);\n\n return {\n isRegenerated: result.isRegenerated,\n namespaces: result.namespaces,\n intrinsicElements: result.intrinsicElements,\n notices: result.notices,\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, isV2ResourceImports = false): void => {\n const dataDir = isV2ResourceImports ? null : resolveDataDir(cwd);\n emitSchemaEnv(cwd, dataDir, isV2ResourceImports);\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 if (context.config.codegen === false) {\n const result = await runCodegen({\n cwd: context.root,\n mode: options.mode,\n resolved: { config: context.config, configFile: context.configFile },\n });\n\n return result.isRegenerated;\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 ensureGenerated,\n ensureGeneratedIn,\n resolveConfigWatch,\n type RunCodegenResult,\n};\n"]}
|
package/dist/commands/build.d.ts
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
declare const build: import("citty").CommandDef<{
|
|
2
|
-
readonly "asset-base": {
|
|
3
|
-
readonly type: "string";
|
|
4
|
-
readonly description: "Asset base path relative to executable directory (e.g., ../share/my-app)";
|
|
5
|
-
};
|
|
6
2
|
readonly entry: import("citty").PositionalArgDef;
|
|
7
3
|
readonly cwd: import("citty").StringArgDef;
|
|
8
4
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAQA,QAAA,MAAM,KAAK
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAQA,QAAA,MAAM,KAAK;;;EAqBT,CAAC;AAEH,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
package/dist/commands/build.js
CHANGED
|
@@ -11,17 +11,12 @@ const build = defineCommand({
|
|
|
11
11
|
},
|
|
12
12
|
args: {
|
|
13
13
|
...entryArg,
|
|
14
|
-
"asset-base": {
|
|
15
|
-
type: "string",
|
|
16
|
-
description: "Asset base path relative to executable directory (e.g., ../share/my-app)",
|
|
17
|
-
},
|
|
18
14
|
},
|
|
19
15
|
async run({ args }) {
|
|
20
16
|
const { cwd, entry } = await prepareProject(args, BUILD_MODE);
|
|
21
17
|
info(`Building ${entry}`);
|
|
22
18
|
const bundlePath = await buildApp({
|
|
23
19
|
entry,
|
|
24
|
-
assetBase: args["asset-base"],
|
|
25
20
|
vite: {
|
|
26
21
|
root: cwd,
|
|
27
22
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,MAAM,UAAU,GAAG,YAAY,CAAC;AAEhC,MAAM,KAAK,GAAG,aAAa,CAAC;IACxB,IAAI,EAAE;QACF,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,kCAAkC;KAClD;IACD,IAAI,EAAE;QACF,GAAG,QAAQ;
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,MAAM,UAAU,GAAG,YAAY,CAAC;AAEhC,MAAM,KAAK,GAAG,aAAa,CAAC;IACxB,IAAI,EAAE;QACF,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,kCAAkC;KAClD;IACD,IAAI,EAAE;QACF,GAAG,QAAQ;KACd;IACD,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QACd,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC9D,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC,CAAC;QAE1B,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC;YAC9B,KAAK;YACL,IAAI,EAAE;gBACF,IAAI,EAAE,GAAG;aACZ;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC;IAC1C,CAAC;CACJ,CAAC,CAAC;AAEH,OAAO,EAAE,KAAK,EAAE,CAAC","sourcesContent":["import { info } from \"@gtkx/utils\";\nimport { defineCommand } from \"citty\";\nimport { build as buildApp } from \"../builder.js\";\nimport { entryArg } from \"../internal/entry-arg.js\";\nimport { prepareProject } from \"../internal/prepare-project.js\";\n\nconst BUILD_MODE = \"production\";\n\nconst build = defineCommand({\n meta: {\n name: \"build\",\n description: \"Build application for production\",\n },\n args: {\n ...entryArg,\n },\n async run({ args }) {\n const { cwd, entry } = await prepareProject(args, BUILD_MODE);\n info(`Building ${entry}`);\n\n const bundlePath = await buildApp({\n entry,\n vite: {\n root: cwd,\n },\n });\n\n info(`Build complete: ${bundlePath}`);\n },\n});\n\nexport { build };\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/commands/codegen.ts"],"names":[],"mappings":"AAWA,QAAA,MAAM,OAAO;;;;;;;
|
|
1
|
+
{"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/commands/codegen.ts"],"names":[],"mappings":"AAWA,QAAA,MAAM,OAAO;;;;;;;EAwCX,CAAC;AAQH,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
package/dist/commands/codegen.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { info } from "@gtkx/utils";
|
|
2
2
|
import { defineCommand } from "citty";
|
|
3
3
|
import { formatCodegenResult } from "../codegen/report.js";
|
|
4
|
-
import { ensureGenerated, isCodegenDisabled, runCodegen
|
|
4
|
+
import { ensureGenerated, isCodegenDisabled, runCodegen } from "../codegen/run-codegen.js";
|
|
5
5
|
import { cwdArg, resolveCwd } from "../internal/entry-arg.js";
|
|
6
6
|
const FORCED_WHILE_DISABLED_MESSAGE = "codegen is disabled for this project, so --force has no store to regenerate here. " +
|
|
7
7
|
"Remove `codegen: false` from gtkx.config.ts, or run `gtkx codegen --force` where the installed " +
|
|
@@ -25,7 +25,6 @@ const codegen = defineCommand({
|
|
|
25
25
|
checkForce(isDisabled, args.force);
|
|
26
26
|
if (isDisabled) {
|
|
27
27
|
await runCodegen({ cwd });
|
|
28
|
-
syncSchemaEnv(cwd);
|
|
29
28
|
info("codegen: disabled for this project; reusing an installed binding store");
|
|
30
29
|
return;
|
|
31
30
|
}
|
|
@@ -36,7 +35,6 @@ const codegen = defineCommand({
|
|
|
36
35
|
}
|
|
37
36
|
const startedAt = Date.now();
|
|
38
37
|
const result = await runCodegen({ cwd, isForced: true });
|
|
39
|
-
syncSchemaEnv(cwd);
|
|
40
38
|
const lines = formatCodegenResult(result, Date.now() - startedAt);
|
|
41
39
|
for (const line of lines) {
|
|
42
40
|
info(line);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/commands/codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/commands/codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC3F,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,6BAA6B,GAC/B,oFAAoF;IACpF,iGAAiG;IACjG,6BAA6B,CAAC;AAElC,MAAM,OAAO,GAAG,aAAa,CAAC;IAC1B,IAAI,EAAE;QACF,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,+EAA+E;KAC/F;IACD,IAAI,EAAE;QACF,KAAK,EAAE;YACH,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,qFAAqF;YAClG,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,UAAU,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAChD,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAEnC,IAAI,UAAU,EAAE,CAAC;YACb,MAAM,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YAC1B,IAAI,CAAC,wEAAwE,CAAC,CAAC;YAE/E,OAAO;QACX,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC;YAErF,OAAO;QACX,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;QAElE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;IACL,CAAC;CACJ,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,CAAC,UAAmB,EAAE,QAAiB,EAAQ,EAAE;IAChE,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACnD,CAAC;AACL,CAAC,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,CAAC","sourcesContent":["import { info } from \"@gtkx/utils\";\nimport { defineCommand } from \"citty\";\nimport { formatCodegenResult } from \"../codegen/report.js\";\nimport { ensureGenerated, isCodegenDisabled, runCodegen } from \"../codegen/run-codegen.js\";\nimport { cwdArg, resolveCwd } from \"../internal/entry-arg.js\";\n\nconst FORCED_WHILE_DISABLED_MESSAGE =\n \"codegen is disabled for this project, so --force has no store to regenerate here. \" +\n \"Remove `codegen: false` from gtkx.config.ts, or run `gtkx codegen --force` where the installed \" +\n \"binding store is generated.\";\n\nconst codegen = defineCommand({\n meta: {\n name: \"codegen\",\n description: \"Generate TypeScript bindings for the GIR libraries declared in gtkx.config.ts\",\n },\n args: {\n force: {\n type: \"boolean\",\n description: \"Wipe the generated store and regenerate unconditionally (recover a corrupted store)\",\n default: false,\n },\n ...cwdArg,\n },\n async run({ args }) {\n const cwd = resolveCwd(args);\n const isDisabled = await isCodegenDisabled(cwd);\n checkForce(isDisabled, args.force);\n\n if (isDisabled) {\n await runCodegen({ cwd });\n info(\"codegen: disabled for this project; reusing an installed binding store\");\n\n return;\n }\n\n if (!args.force) {\n const isRan = await ensureGenerated(cwd);\n info(isRan ? \"codegen: regenerated stale bindings\" : \"codegen: bindings up to date\");\n\n return;\n }\n\n const startedAt = Date.now();\n const result = await runCodegen({ cwd, isForced: true });\n const lines = formatCodegenResult(result, Date.now() - startedAt);\n\n for (const line of lines) {\n info(line);\n }\n },\n});\n\nconst checkForce = (isDisabled: boolean, isForced: boolean): void => {\n if (isDisabled && isForced) {\n throw new Error(FORCED_WHILE_DISABLED_MESSAGE);\n }\n};\n\nexport { codegen };\n"]}
|
package/dist/deploy/depends.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { DeploySettings } from "./types.js";
|
|
2
2
|
type Relations = {
|
|
3
3
|
deb: string[];
|
|
4
4
|
rpm: string[];
|
|
5
5
|
};
|
|
6
|
-
declare const resolveDepends: (
|
|
6
|
+
declare const resolveDepends: (settings: DeploySettings, glibcMinimum: string | null) => Relations;
|
|
7
7
|
export { resolveDepends };
|
|
8
8
|
//# sourceMappingURL=depends.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"depends.d.ts","sourceRoot":"","sources":["../../src/deploy/depends.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"depends.d.ts","sourceRoot":"","sources":["../../src/deploy/depends.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,KAAK,SAAS,GAAG;IACb,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,GAAG,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAsDF,QAAA,MAAM,cAAc,GAAI,UAAU,cAAc,EAAE,cAAc,MAAM,GAAG,IAAI,KAAG,SAS/E,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,CAAC"}
|
package/dist/deploy/depends.js
CHANGED
|
@@ -1,26 +1,41 @@
|
|
|
1
|
-
const
|
|
1
|
+
const SONAME_SUFFIX = "()(64bit)";
|
|
2
|
+
const GLES_SONAME = `libGLESv2.so.2${SONAME_SUFFIX}`;
|
|
3
|
+
const NO_EXTRA = { deb: [], rpm: [] };
|
|
2
4
|
const BASE_DEPENDS = {
|
|
3
5
|
deb: ["hicolor-icon-theme", "adwaita-icon-theme", "gsettings-desktop-schemas"],
|
|
4
6
|
rpm: ["hicolor-icon-theme", "adwaita-icon-theme", "gsettings-desktop-schemas"],
|
|
5
7
|
};
|
|
6
8
|
const DEPENDS_BY_LIBRARY = {
|
|
7
|
-
"Adw-1": { deb:
|
|
8
|
-
"Gtk-4.0": { deb:
|
|
9
|
-
"GtkSource-5": { deb: ["libgtksourceview-5-0"], rpm: ["gtksourceview5"] },
|
|
10
|
-
"WebKit-6.0": { deb: ["libwebkitgtk-6.0-4"], rpm: ["webkitgtk6.0"] },
|
|
9
|
+
"Adw-1": { deb: "libadwaita-1-0", rpm: "libadwaita", extra: NO_EXTRA },
|
|
10
|
+
"Gtk-4.0": { deb: "libgtk-4-1", rpm: "gtk4", extra: { deb: [], rpm: [GLES_SONAME] } },
|
|
11
11
|
};
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const
|
|
12
|
+
const debRelation = (name, minimum) => minimum === undefined ? name : `${name} (>= ${minimum})`;
|
|
13
|
+
const rpmRelation = (name, minimum) => minimum === undefined ? name : `${name} >= ${minimum}`;
|
|
14
|
+
const libraryDepends = (settings) => {
|
|
15
|
+
const deb = [];
|
|
16
|
+
const rpm = [];
|
|
17
|
+
for (const library of settings.libraries) {
|
|
18
|
+
const packages = DEPENDS_BY_LIBRARY[library];
|
|
19
|
+
if (packages === undefined) {
|
|
20
|
+
continue;
|
|
21
|
+
}
|
|
22
|
+
const minimum = settings.minimumLibraryVersions[library];
|
|
23
|
+
deb.push(debRelation(packages.deb, minimum), ...packages.extra.deb);
|
|
24
|
+
rpm.push(rpmRelation(packages.rpm, minimum), ...packages.extra.rpm);
|
|
25
|
+
}
|
|
26
|
+
return { deb, rpm };
|
|
27
|
+
};
|
|
28
|
+
const glibcDepends = (glibcMinimum) => glibcMinimum === null
|
|
29
|
+
? { deb: [], rpm: [] }
|
|
30
|
+
: { deb: [debRelation("libc6", glibcMinimum)], rpm: [rpmRelation("glibc", glibcMinimum)] };
|
|
17
31
|
const dedupe = (entries) => [...new Set(entries)];
|
|
18
|
-
const resolveDepends = (
|
|
19
|
-
const fromLibraries = libraryDepends(
|
|
20
|
-
const fromGlibc = glibcDepends(
|
|
32
|
+
const resolveDepends = (settings, glibcMinimum) => {
|
|
33
|
+
const fromLibraries = libraryDepends(settings);
|
|
34
|
+
const fromGlibc = glibcDepends(glibcMinimum);
|
|
35
|
+
const extra = settings.deploy.depends ?? {};
|
|
21
36
|
return {
|
|
22
|
-
deb: dedupe([...fromLibraries.deb, ...BASE_DEPENDS.deb, ...fromGlibc.deb, ...(
|
|
23
|
-
rpm: dedupe([...fromLibraries.rpm, ...BASE_DEPENDS.rpm, ...fromGlibc.rpm, ...(
|
|
37
|
+
deb: dedupe([...fromLibraries.deb, ...BASE_DEPENDS.deb, ...fromGlibc.deb, ...(extra.deb ?? [])]),
|
|
38
|
+
rpm: dedupe([...fromLibraries.rpm, ...BASE_DEPENDS.rpm, ...fromGlibc.rpm, ...(extra.rpm ?? [])]),
|
|
24
39
|
};
|
|
25
40
|
};
|
|
26
41
|
export { resolveDepends };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"depends.js","sourceRoot":"","sources":["../../src/deploy/depends.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"depends.js","sourceRoot":"","sources":["../../src/deploy/depends.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DeploySettings } from \"./types.js\";\n\ntype Relations = {\n deb: string[];\n rpm: string[];\n};\n\ntype LibraryPackages = {\n deb: string;\n rpm: string;\n extra: Relations;\n};\n\nconst SONAME_SUFFIX = \"()(64bit)\";\nconst GLES_SONAME = `libGLESv2.so.2${SONAME_SUFFIX}`;\nconst NO_EXTRA: Relations = { deb: [], rpm: [] };\n\nconst BASE_DEPENDS: Relations = {\n deb: [\"hicolor-icon-theme\", \"adwaita-icon-theme\", \"gsettings-desktop-schemas\"],\n rpm: [\"hicolor-icon-theme\", \"adwaita-icon-theme\", \"gsettings-desktop-schemas\"],\n};\n\nconst DEPENDS_BY_LIBRARY: Record<string, LibraryPackages> = {\n \"Adw-1\": { deb: \"libadwaita-1-0\", rpm: \"libadwaita\", extra: NO_EXTRA },\n \"Gtk-4.0\": { deb: \"libgtk-4-1\", rpm: \"gtk4\", extra: { deb: [], rpm: [GLES_SONAME] } },\n};\n\nconst debRelation = (name: string, minimum: string | undefined): string =>\n minimum === undefined ? name : `${name} (>= ${minimum})`;\n\nconst rpmRelation = (name: string, minimum: string | undefined): string =>\n minimum === undefined ? name : `${name} >= ${minimum}`;\n\nconst libraryDepends = (settings: DeploySettings): Relations => {\n const deb: string[] = [];\n const rpm: string[] = [];\n\n for (const library of settings.libraries) {\n const packages = DEPENDS_BY_LIBRARY[library];\n\n if (packages === undefined) {\n continue;\n }\n\n const minimum = settings.minimumLibraryVersions[library];\n deb.push(debRelation(packages.deb, minimum), ...packages.extra.deb);\n rpm.push(rpmRelation(packages.rpm, minimum), ...packages.extra.rpm);\n }\n\n return { deb, rpm };\n};\n\nconst glibcDepends = (glibcMinimum: string | null): Relations =>\n glibcMinimum === null\n ? { deb: [], rpm: [] }\n : { deb: [debRelation(\"libc6\", glibcMinimum)], rpm: [rpmRelation(\"glibc\", glibcMinimum)] };\n\nconst dedupe = (entries: string[]): string[] => [...new Set(entries)];\n\nconst resolveDepends = (settings: DeploySettings, glibcMinimum: string | null): Relations => {\n const fromLibraries = libraryDepends(settings);\n const fromGlibc = glibcDepends(glibcMinimum);\n const extra = settings.deploy.depends ?? {};\n\n return {\n deb: dedupe([...fromLibraries.deb, ...BASE_DEPENDS.deb, ...fromGlibc.deb, ...(extra.deb ?? [])]),\n rpm: dedupe([...fromLibraries.rpm, ...BASE_DEPENDS.rpm, ...fromGlibc.rpm, ...(extra.rpm ?? [])]),\n };\n};\n\nexport { resolveDepends };\n"]}
|
|
@@ -92,7 +92,7 @@ const descriptionFor = (settings, packager) => packager === "rpm" ? rpmDescripti
|
|
|
92
92
|
const renderNfpmConfig = (payload, packager) => {
|
|
93
93
|
const settings = payload.settings;
|
|
94
94
|
const isRpm = packager === "rpm";
|
|
95
|
-
const depends = resolveDepends(settings
|
|
95
|
+
const depends = resolveDepends(settings, payload.node?.glibcMinimum ?? null);
|
|
96
96
|
return {
|
|
97
97
|
name: packageNameFor(settings, packager),
|
|
98
98
|
arch: settings.arch[packager],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/deploy/nfpm/config.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DeployPayload, DeploySettings, StagedFile } from \"../types.js\";\nimport { resolveDepends } from \"../depends.js\";\nimport { groupForCategories, sectionForCategories } from \"../settings/categories.js\";\nimport { nfpmContents } from \"./contents.js\";\nimport { debDescription, rpmDescription } from \"./description.js\";\nimport { type Entries, optional, when } from \"./optional.js\";\n\ntype NfpmPackager = \"deb\" | \"rpm\";\ntype NfpmConfig = Entries;\n\nconst PREFIX = \"/usr\";\nconst DEFAULT_PRIORITY = \"optional\";\nconst DEFAULT_UMASK = 0o022;\nconst VERSION_SCHEMA = \"none\";\n\nconst maintainerFor = (settings: DeploySettings): string => {\n const { name, email } = settings.developer;\n\n return email === null ? name : `${name} <${email}>`;\n};\n\nconst scriptsFor = (settings: DeploySettings): NfpmConfig | undefined => {\n const scripts = settings.deploy.scripts;\n\n if (scripts === undefined) {\n return undefined;\n }\n\n return {\n ...optional(\"preinstall\", scripts.preInstall),\n ...optional(\"postinstall\", scripts.postInstall),\n ...optional(\"preremove\", scripts.preRemove),\n ...optional(\"postremove\", scripts.postRemove),\n };\n};\n\nconst relationsFor = (settings: DeploySettings, packager: NfpmPackager): NfpmConfig => {\n const relations = settings.deploy.relations ?? {};\n\n return {\n ...optional(\"recommends\", relations.recommends?.[packager]),\n ...optional(\"suggests\", relations.suggests?.[packager]),\n ...optional(\"provides\", relations.provides?.[packager]),\n ...optional(\"conflicts\", relations.conflicts?.[packager]),\n ...optional(\"replaces\", relations.replaces?.[packager]),\n };\n};\n\nconst debSection = (settings: DeploySettings): NfpmConfig => ({\n section: settings.deploy.deb?.section ?? sectionForCategories(settings.categories),\n priority: settings.deploy.deb?.priority ?? DEFAULT_PRIORITY,\n});\n\nconst debSignature = (settings: DeploySettings): NfpmConfig => {\n const signing = settings.deploy.signing?.deb;\n\n if (signing === undefined) {\n return {};\n }\n\n return {\n signature: {\n key_file: signing.keyFile,\n ...optional(\"key_id\", signing.keyId),\n ...optional(\"method\", signing.method),\n ...optional(\"type\", signing.type),\n ...optional(\"signer\", signing.signer),\n },\n };\n};\n\nconst rpmSignature = (settings: DeploySettings): NfpmConfig => {\n const signing = settings.deploy.signing?.rpm;\n\n if (signing === undefined) {\n return {};\n }\n\n return { signature: { key_file: signing.keyFile, ...optional(\"key_id\", signing.keyId) } };\n};\n\nconst debSettings = (settings: DeploySettings): NfpmConfig => {\n const deb = settings.deploy.deb ?? {};\n const relations = settings.deploy.relations ?? {};\n\n return {\n ...optional(\"compression\", deb.compression),\n ...optional(\"fields\", deb.fields),\n ...optional(\"breaks\", relations.breaks?.deb),\n ...optional(\"predepends\", relations.preDepends?.deb),\n ...debSignature(settings),\n };\n};\n\nconst rpmSettings = (settings: DeploySettings): NfpmConfig => {\n const rpm = settings.deploy.rpm ?? {};\n\n return {\n group: rpm.group ?? groupForCategories(settings.categories),\n summary: settings.summary,\n packager: maintainerFor(settings),\n ...optional(\"compression\", rpm.compression),\n ...optional(\"prefixes\", rpm.prefixes),\n ...rpmSignature(settings),\n };\n};\n\nconst packageNameFor = (settings: DeploySettings, packager: NfpmPackager): string =>\n settings.deploy[packager]?.packageName ?? settings.binaryName;\n\nconst stagedFilesFor = (payload: DeployPayload, packager: NfpmPackager): StagedFile[] => [\n ...payload.stage,\n ...payload.overlays[packager],\n];\n\nconst packagerSettings = (settings: DeploySettings, packager: NfpmPackager): NfpmConfig =>\n packager === \"rpm\" ? rpmSettings(settings) : debSettings(settings);\n\nconst releaseFor = (settings: DeploySettings, packager: NfpmPackager): string =>\n packager === \"rpm\" ? settings.versions.rpmRelease : settings.versions.debRevision;\n\nconst descriptionFor = (settings: DeploySettings, packager: NfpmPackager): string =>\n packager === \"rpm\" ? rpmDescription(settings) : debDescription(settings);\n\nconst renderNfpmConfig = (payload: DeployPayload, packager: NfpmPackager): NfpmConfig => {\n const settings = payload.settings;\n const isRpm = packager === \"rpm\";\n const depends = resolveDepends(settings.deploy, settings.libraries, payload.node?.glibcFloor ?? null);\n\n return {\n name: packageNameFor(settings, packager),\n arch: settings.arch[packager],\n platform: \"linux\",\n version: settings.versions.packageVersion,\n version_schema: VERSION_SCHEMA,\n release: releaseFor(settings, packager),\n ...optional(\"epoch\", settings.versions.epoch === null ? undefined : String(settings.versions.epoch)),\n ...when(!isRpm, debSection(settings)),\n maintainer: maintainerFor(settings),\n vendor: settings.developer.name,\n ...optional(\"homepage\", settings.homepage),\n license: settings.license,\n description: descriptionFor(settings, packager),\n umask: DEFAULT_UMASK,\n depends: depends[packager],\n ...relationsFor(settings, packager),\n ...optional(\"scripts\", scriptsFor(settings)),\n [packager]: packagerSettings(settings, packager),\n contents: nfpmContents(PREFIX, stagedFilesFor(payload, packager), isRpm),\n };\n};\n\nexport { type NfpmPackager, packageNameFor, renderNfpmConfig };\n"]}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/deploy/nfpm/config.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DeployPayload, DeploySettings, StagedFile } from \"../types.js\";\nimport { resolveDepends } from \"../depends.js\";\nimport { groupForCategories, sectionForCategories } from \"../settings/categories.js\";\nimport { nfpmContents } from \"./contents.js\";\nimport { debDescription, rpmDescription } from \"./description.js\";\nimport { type Entries, optional, when } from \"./optional.js\";\n\ntype NfpmPackager = \"deb\" | \"rpm\";\ntype NfpmConfig = Entries;\n\nconst PREFIX = \"/usr\";\nconst DEFAULT_PRIORITY = \"optional\";\nconst DEFAULT_UMASK = 0o022;\nconst VERSION_SCHEMA = \"none\";\n\nconst maintainerFor = (settings: DeploySettings): string => {\n const { name, email } = settings.developer;\n\n return email === null ? name : `${name} <${email}>`;\n};\n\nconst scriptsFor = (settings: DeploySettings): NfpmConfig | undefined => {\n const scripts = settings.deploy.scripts;\n\n if (scripts === undefined) {\n return undefined;\n }\n\n return {\n ...optional(\"preinstall\", scripts.preInstall),\n ...optional(\"postinstall\", scripts.postInstall),\n ...optional(\"preremove\", scripts.preRemove),\n ...optional(\"postremove\", scripts.postRemove),\n };\n};\n\nconst relationsFor = (settings: DeploySettings, packager: NfpmPackager): NfpmConfig => {\n const relations = settings.deploy.relations ?? {};\n\n return {\n ...optional(\"recommends\", relations.recommends?.[packager]),\n ...optional(\"suggests\", relations.suggests?.[packager]),\n ...optional(\"provides\", relations.provides?.[packager]),\n ...optional(\"conflicts\", relations.conflicts?.[packager]),\n ...optional(\"replaces\", relations.replaces?.[packager]),\n };\n};\n\nconst debSection = (settings: DeploySettings): NfpmConfig => ({\n section: settings.deploy.deb?.section ?? sectionForCategories(settings.categories),\n priority: settings.deploy.deb?.priority ?? DEFAULT_PRIORITY,\n});\n\nconst debSignature = (settings: DeploySettings): NfpmConfig => {\n const signing = settings.deploy.signing?.deb;\n\n if (signing === undefined) {\n return {};\n }\n\n return {\n signature: {\n key_file: signing.keyFile,\n ...optional(\"key_id\", signing.keyId),\n ...optional(\"method\", signing.method),\n ...optional(\"type\", signing.type),\n ...optional(\"signer\", signing.signer),\n },\n };\n};\n\nconst rpmSignature = (settings: DeploySettings): NfpmConfig => {\n const signing = settings.deploy.signing?.rpm;\n\n if (signing === undefined) {\n return {};\n }\n\n return { signature: { key_file: signing.keyFile, ...optional(\"key_id\", signing.keyId) } };\n};\n\nconst debSettings = (settings: DeploySettings): NfpmConfig => {\n const deb = settings.deploy.deb ?? {};\n const relations = settings.deploy.relations ?? {};\n\n return {\n ...optional(\"compression\", deb.compression),\n ...optional(\"fields\", deb.fields),\n ...optional(\"breaks\", relations.breaks?.deb),\n ...optional(\"predepends\", relations.preDepends?.deb),\n ...debSignature(settings),\n };\n};\n\nconst rpmSettings = (settings: DeploySettings): NfpmConfig => {\n const rpm = settings.deploy.rpm ?? {};\n\n return {\n group: rpm.group ?? groupForCategories(settings.categories),\n summary: settings.summary,\n packager: maintainerFor(settings),\n ...optional(\"compression\", rpm.compression),\n ...optional(\"prefixes\", rpm.prefixes),\n ...rpmSignature(settings),\n };\n};\n\nconst packageNameFor = (settings: DeploySettings, packager: NfpmPackager): string =>\n settings.deploy[packager]?.packageName ?? settings.binaryName;\n\nconst stagedFilesFor = (payload: DeployPayload, packager: NfpmPackager): StagedFile[] => [\n ...payload.stage,\n ...payload.overlays[packager],\n];\n\nconst packagerSettings = (settings: DeploySettings, packager: NfpmPackager): NfpmConfig =>\n packager === \"rpm\" ? rpmSettings(settings) : debSettings(settings);\n\nconst releaseFor = (settings: DeploySettings, packager: NfpmPackager): string =>\n packager === \"rpm\" ? settings.versions.rpmRelease : settings.versions.debRevision;\n\nconst descriptionFor = (settings: DeploySettings, packager: NfpmPackager): string =>\n packager === \"rpm\" ? rpmDescription(settings) : debDescription(settings);\n\nconst renderNfpmConfig = (payload: DeployPayload, packager: NfpmPackager): NfpmConfig => {\n const settings = payload.settings;\n const isRpm = packager === \"rpm\";\n const depends = resolveDepends(settings, payload.node?.glibcMinimum ?? null);\n\n return {\n name: packageNameFor(settings, packager),\n arch: settings.arch[packager],\n platform: \"linux\",\n version: settings.versions.packageVersion,\n version_schema: VERSION_SCHEMA,\n release: releaseFor(settings, packager),\n ...optional(\"epoch\", settings.versions.epoch === null ? undefined : String(settings.versions.epoch)),\n ...when(!isRpm, debSection(settings)),\n maintainer: maintainerFor(settings),\n vendor: settings.developer.name,\n ...optional(\"homepage\", settings.homepage),\n license: settings.license,\n description: descriptionFor(settings, packager),\n umask: DEFAULT_UMASK,\n depends: depends[packager],\n ...relationsFor(settings, packager),\n ...optional(\"scripts\", scriptsFor(settings)),\n [packager]: packagerSettings(settings, packager),\n contents: nfpmContents(PREFIX, stagedFilesFor(payload, packager), isRpm),\n };\n};\n\nexport { type NfpmPackager, packageNameFor, renderNfpmConfig };\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elf.d.ts","sourceRoot":"","sources":["../../../src/deploy/node-runtime/elf.ts"],"names":[],"mappings":"AAQA,KAAK,OAAO,GAAG;IACX,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,
|
|
1
|
+
{"version":3,"file":"elf.d.ts","sourceRoot":"","sources":["../../../src/deploy/node-runtime/elf.ts"],"names":[],"mappings":"AAQA,KAAK,OAAO,GAAG;IACX,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CAAC;AAyHF,QAAA,MAAM,WAAW,GAAI,MAAM,MAAM,KAAG,OAUnC,CAAC;AAEF,OAAO,EAAE,KAAK,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -77,7 +77,7 @@ const highestVersion = (versions) => {
|
|
|
77
77
|
return highest;
|
|
78
78
|
};
|
|
79
79
|
const formatVersion = (version) => version === null ? null : `${String(version[0] ?? 0)}.${String(version[1] ?? 0)}`;
|
|
80
|
-
const
|
|
80
|
+
const readGlibcMinimum = (strings) => {
|
|
81
81
|
const found = strings
|
|
82
82
|
.toString("latin1")
|
|
83
83
|
.matchAll(GLIBC_VERSION)
|
|
@@ -93,7 +93,7 @@ const readElfInfo = (path) => {
|
|
|
93
93
|
const strings = stringTable(buffer, sectionFor(sections, ".dynstr"));
|
|
94
94
|
return {
|
|
95
95
|
needed: readNeeded(buffer, sectionFor(sections, ".dynamic"), strings),
|
|
96
|
-
|
|
96
|
+
glibcMinimum: readGlibcMinimum(strings),
|
|
97
97
|
};
|
|
98
98
|
};
|
|
99
99
|
export { readElfInfo };
|