@omega.js/desktop 0.52.0 → 0.54.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 +53 -48
- package/dist/assets/css/core/_initialize.scss +1 -1
- package/dist/assets/js/core/app-shell.js +14 -15
- package/dist/assets/themes/_template/_theme.js +6 -6
- package/dist/assets/themes/base/_includes/global/sections/account.html +4 -4
- package/dist/assets/themes/base/_includes/global/sections/app-sidebar.html +5 -5
- package/dist/assets/themes/base/_layouts/frontend/pages/account/index.html +3 -3
- package/dist/assets/themes/base/_layouts/frontend/pages/alternatives/index.html +1 -1
- package/dist/assets/themes/base/_layouts/frontend/pages/blog/tags/tag.html +1 -1
- package/dist/assets/themes/base/_layouts/frontend/pages/payment/confirmation.html +1 -1
- package/dist/assets/themes/base/_sections/marketing/newsletter-cta/section.js +2 -3
- package/dist/assets/themes/base/_sections/verts/unit/section.html +1 -1
- package/dist/assets/themes/base/_sections/verts/unit/section.js +3 -4
- package/dist/assets/themes/base/_theme.js +4 -3
- package/dist/assets/themes/bootstrap/_theme.js +2 -2
- package/dist/assets/themes/bootstrap/overrides/_links.scss +1 -1
- package/dist/assets/themes/classy/_theme.js +8 -6
- package/dist/assets/themes/classy/css/marketing/_sections.scss +1 -2
- package/dist/assets/themes/classy/js/hero-demo-form.js +3 -2
- package/dist/assets/themes/neobrutalism/_theme.js +5 -5
- package/dist/assets/themes/neobrutalism/js/pages/test/libraries/layers/index.js +1 -1
- package/dist/assets/themes/newsflash/_theme.js +6 -6
- package/dist/assets/themes/newsflash/js/pages/test/libraries/layers/index.js +1 -1
- package/dist/build.js +87 -111
- package/dist/cli-run.js +4 -1
- package/dist/cli.js +3 -3
- package/dist/commands/build.js +2 -2
- package/dist/commands/cdp/capture.js +2 -2
- package/dist/commands/cdp/client.js +1 -1
- package/dist/commands/cdp/quit.js +2 -2
- package/dist/commands/cdp/relaunch.js +2 -2
- package/dist/commands/cdp/theme.js +1 -1
- package/dist/commands/cdp.js +1 -1
- package/dist/commands/clean.js +4 -5
- package/dist/commands/deploy.js +4 -4
- package/dist/commands/dev.js +25 -0
- package/dist/commands/finalize-release.js +4 -4
- package/dist/commands/launch.js +2 -2
- package/dist/commands/lib/deploy-precheck.js +3 -3
- package/dist/commands/lib/ensure-target.js +18 -23
- package/dist/commands/lib/migrate.js +17 -0
- package/dist/commands/logs.js +1 -1
- package/dist/commands/package.js +2 -2
- package/dist/commands/publish.js +2 -2
- package/dist/commands/release.js +4 -4
- package/dist/commands/runner.js +11 -11
- package/dist/commands/sign-windows.js +5 -5
- package/dist/commands/test.js +8 -8
- package/dist/commands/update.js +7 -6
- package/dist/commands/validate-certs.js +4 -4
- package/dist/commands/version.js +3 -3
- package/dist/defaults/.github/workflows/build.yml +18 -18
- package/dist/defaults/_.gitignore +0 -2
- package/dist/defaults/_mas/README.md +3 -3
- package/dist/defaults/config/certs/README.md +1 -1
- package/dist/defaults/config/omega.json5 +43 -43
- package/dist/defaults/docs/README.md +3 -3
- package/dist/defaults/gulpfile.js +1 -1
- package/dist/defaults/hooks/build/post.js +2 -2
- package/dist/defaults/hooks/build/pre.js +2 -2
- package/dist/defaults/hooks/deploy/pre.js +1 -1
- package/dist/defaults/hooks/notarize/post.js +2 -2
- package/dist/defaults/hooks/release/post.js +2 -2
- package/dist/defaults/hooks/release/pre.js +2 -2
- package/dist/defaults/src/assets/js/components/about/index.js +3 -5
- package/dist/defaults/src/assets/js/components/main/index.js +3 -5
- package/dist/defaults/src/assets/js/components/settings/index.js +3 -5
- package/dist/defaults/src/assets/scss/pages/about.scss +1 -1
- package/dist/defaults/src/assets/scss/pages/main.scss +1 -1
- package/dist/defaults/src/assets/scss/pages/settings.scss +1 -1
- package/dist/defaults/src/integrations/context-menu/index.js +13 -13
- package/dist/defaults/src/integrations/menu/index.js +8 -8
- package/dist/defaults/src/integrations/tray/index.js +12 -12
- package/dist/defaults/src/main.js +5 -7
- package/dist/defaults/src/preload.js +4 -6
- package/dist/defaults/test/README.md +5 -5
- package/dist/defaults/test/_init.js +1 -1
- package/dist/gulp/main.js +9 -10
- package/dist/gulp/tasks/audit.js +11 -14
- package/dist/gulp/tasks/build-config.js +8 -8
- package/dist/gulp/tasks/bundle.js +16 -16
- package/dist/gulp/tasks/defaults.js +3 -3
- package/dist/gulp/tasks/distribute.js +2 -2
- package/dist/gulp/tasks/html.js +9 -9
- package/dist/gulp/tasks/package-quick.js +3 -3
- package/dist/gulp/tasks/package.js +3 -3
- package/dist/gulp/tasks/release.js +3 -3
- package/dist/gulp/tasks/sass.js +6 -6
- package/dist/gulp/tasks/serve.js +4 -4
- package/dist/hooks/notarize-artifacts.js +1 -1
- package/dist/hooks/notarize.js +1 -1
- package/dist/index.js +5 -8
- package/dist/lib/_environment-mixin.js +50 -0
- package/dist/lib/_lifecycle-mixin.js +45 -0
- package/dist/lib/analytics.js +33 -35
- package/dist/lib/app-state.js +14 -14
- package/dist/lib/auth-flow.js +18 -18
- package/dist/lib/auth-persistence.js +12 -12
- package/dist/lib/auth.js +421 -0
- package/dist/lib/auto-updater.js +49 -49
- package/dist/lib/context-menu.js +13 -13
- package/dist/lib/context.js +19 -19
- package/dist/lib/deep-link.js +34 -34
- package/dist/lib/fontawesome.js +5 -5
- package/dist/lib/ipc.js +4 -4
- package/dist/lib/menu.js +25 -25
- package/dist/lib/protocol.js +5 -5
- package/dist/lib/remote-config.js +22 -22
- package/dist/lib/remote-scripts.js +21 -21
- package/dist/lib/restart-manager/index.js +29 -29
- package/dist/lib/restart-manager/install.js +1 -1
- package/dist/lib/restart-manager/protocol.js +1 -1
- package/dist/lib/sign-helpers/exec-with-limit.js +1 -1
- package/dist/lib/sign-helpers/sign-events.js +1 -1
- package/dist/lib/startup.js +18 -13
- package/dist/lib/storage.js +10 -10
- package/dist/lib/templating.js +16 -16
- package/dist/lib/theme.js +10 -10
- package/dist/lib/tray.js +27 -27
- package/dist/lib/usage.js +11 -11
- package/dist/lib/window-manager.js +26 -26
- package/dist/main.js +399 -483
- package/dist/preload.js +236 -176
- package/dist/renderer.js +417 -391
- package/dist/test/fixtures/consumer-app/config/omega.json5 +1 -1
- package/dist/test/fixtures/consumer-app/src/assets/js/components/main/index.js +8 -11
- package/dist/test/fixtures/consumer-app/src/main.js +5 -7
- package/dist/test/fixtures/consumer-app/src/preload.js +2 -2
- package/dist/test/harness/boot-entry.js +22 -20
- package/dist/test/harness/main-entry.js +31 -30
- package/dist/test/harness/renderer-entry.js +5 -5
- package/dist/test/harness/renderer-preload.js +137 -141
- package/dist/test/index.js +10 -10
- package/dist/test/runner.js +2 -2
- package/dist/test/runners/boot.js +7 -6
- package/dist/test/runners/electron.js +3 -2
- package/dist/test/runners/render-event.js +2 -2
- package/dist/test/suites/boot/consumer-app-boots.test.js +57 -26
- package/dist/test/suites/boot/restart-manager.test.js +2 -2
- package/dist/test/suites/boot/storage-bundled.test.js +5 -5
- package/dist/test/suites/boot/theme.test.js +13 -13
- package/dist/test/suites/build/audit.test.js +21 -8
- package/dist/test/suites/build/auth-persistence-resolve.test.js +6 -6
- package/dist/test/suites/build/boot-fixture.test.js +2 -2
- package/dist/test/suites/build/boot-runner-timeout.test.js +6 -5
- package/dist/test/suites/build/brand-scss.test.js +1 -1
- package/dist/test/suites/build/build-json-bake.test.js +1 -1
- package/dist/test/suites/build/build-workflow-jobs.test.js +2 -2
- package/dist/test/suites/build/cli.test.js +30 -2
- package/dist/test/suites/build/config-schema.test.js +5 -5
- package/dist/test/suites/build/defaults-em-dash.test.js +22 -0
- package/dist/test/suites/build/defaults-scaffold.test.js +21 -7
- package/dist/test/suites/build/deploy-direct.test.js +7 -5
- package/dist/test/suites/build/deploy-dispatch.test.js +2 -1
- package/dist/test/suites/build/deploy-hook.test.js +7 -5
- package/dist/test/suites/build/dev-verb.test.js +67 -0
- package/dist/test/suites/build/ensure-target.test.js +13 -5
- package/dist/test/suites/build/env-delivery.test.js +2 -2
- package/dist/test/suites/build/esm-only-dependency.test.js +2 -2
- package/dist/test/suites/build/exports.test.js +9 -8
- package/dist/test/suites/build/get-config.test.js +4 -4
- package/dist/test/suites/build/manifest-deps.test.js +1 -1
- package/dist/test/suites/build/merge-line-files.test.js +7 -7
- package/dist/test/suites/build/migrate.test.js +29 -0
- package/dist/test/suites/build/omega-shell.test.js +34 -2
- package/dist/test/suites/build/omega.test.js +350 -0
- package/dist/test/suites/build/project-scripts-deps.test.js +6 -10
- package/dist/test/suites/build/renderer-auth-bridge.test.js +211 -78
- package/dist/test/suites/build/runner-env-write.test.js +73 -0
- package/dist/test/suites/build/runner.test.js +11 -10
- package/dist/test/suites/build/sentry.test.js +2 -2
- package/dist/test/suites/build/setup-scripts.test.js +27 -0
- package/dist/test/suites/build/sign-windows-e2e.test.js +2 -2
- package/dist/test/suites/build/templating.test.js +3 -3
- package/dist/test/suites/build/test-stealth.test.js +7 -9
- package/dist/test/suites/build/url-helpers.test.js +55 -56
- package/dist/test/suites/build/validate-config.test.js +15 -4
- package/dist/test/suites/build/verb-logs.test.js +20 -0
- package/dist/test/suites/build/wave5-pins.test.js +2 -2
- package/dist/test/suites/main/analytics.test.js +59 -59
- package/dist/test/suites/main/app-state.test.js +66 -66
- package/dist/test/suites/main/auth-flow.test.js +41 -41
- package/dist/test/suites/main/auth-persistence.test.js +54 -43
- package/dist/test/suites/main/{client-bridge.integration.test.js → auth.integration.test.js} +10 -9
- package/dist/test/suites/main/auth.test.js +336 -0
- package/dist/test/suites/main/auto-updater.test.js +134 -134
- package/dist/test/suites/main/boot-sequence.test.js +37 -49
- package/dist/test/suites/main/context-menu.test.js +51 -50
- package/dist/test/suites/main/context.test.js +25 -25
- package/dist/test/suites/main/deep-link.test.js +74 -74
- package/dist/test/suites/main/fontawesome.test.js +27 -27
- package/dist/test/suites/main/ipc.test.js +35 -35
- package/dist/test/suites/main/menu.test.js +101 -100
- package/dist/test/suites/main/protocol.test.js +19 -19
- package/dist/test/suites/main/remote-config.test.js +63 -63
- package/dist/test/suites/main/remote-scripts.test.js +103 -103
- package/dist/test/suites/main/request.test.js +71 -0
- package/dist/test/suites/main/restart-manager.test.js +33 -33
- package/dist/test/suites/main/startup-paths-and-ua.test.js +4 -4
- package/dist/test/suites/main/startup.test.js +26 -26
- package/dist/test/suites/main/stealth-window.test.js +1 -1
- package/dist/test/suites/main/storage.test.js +25 -25
- package/dist/test/suites/main/theme.test.js +34 -34
- package/dist/test/suites/main/tray.test.js +79 -79
- package/dist/test/suites/main/url-helpers.test.js +133 -133
- package/dist/test/suites/main/usage.test.js +25 -25
- package/dist/test/suites/main/window-bounds.test.js +27 -27
- package/dist/test/suites/main/window-manager.test.js +44 -44
- package/dist/test/suites/renderer/analytics-bridge.test.js +5 -5
- package/dist/test/suites/renderer/cross-context-helpers.test.js +37 -31
- package/dist/test/suites/renderer/round-trip.test.js +3 -3
- package/dist/test/suites/renderer/tooltips.test.js +15 -15
- package/dist/test/suites/renderer/{window-em-surface.test.js → window-desktop-surface.test.js} +28 -8
- package/dist/test/utils/extended-mode-warning.js +1 -1
- package/dist/utils/boot-harness.js +56 -0
- package/dist/utils/build-pipeline.js +4 -4
- package/dist/utils/mode-helpers.js +2 -15
- package/dist/utils/runner-env.js +13 -28
- package/dist/utils/ship-keys.js +3 -3
- package/dist/utils/signing-status.js +51 -0
- package/dist/utils/test-events.js +7 -0
- package/dist/utils/test-stealth.js +6 -6
- package/dist/utils/url-helpers.js +52 -42
- package/dist/utils/user-agent.js +44 -0
- package/dist/vendor/account/engine.js +3 -3
- package/dist/vendor/account/index.js +14 -45
- package/dist/vendor/account/resolve-account.js +44 -0
- package/dist/vendor/account/schema.js +1 -1
- package/dist/vendor/account/user.js +99 -0
- package/dist/vendor/config/client-config.js +1 -1
- package/dist/vendor/config/company.js +46 -14
- package/dist/vendor/config/defaults.js +30 -7
- package/dist/vendor/config/edit.js +25 -3
- package/dist/vendor/config/env-delivery.js +1 -1
- package/dist/vendor/config/env-schema.js +3 -6
- package/dist/vendor/config/env.js +34 -22
- package/dist/vendor/config/environment.js +11 -30
- package/dist/vendor/config/index.js +21 -28
- package/dist/vendor/config/load.js +16 -9
- package/dist/vendor/config/platforms.js +1 -1
- package/dist/vendor/config/repo.js +10 -27
- package/dist/vendor/config/schema-client.js +64 -0
- package/dist/vendor/config/schema-cloud.js +38 -0
- package/dist/vendor/config/schema-manager.js +118 -0
- package/dist/vendor/config/schema-overrides.js +68 -0
- package/dist/vendor/config/schema.js +104 -160
- package/dist/vendor/config/site-global.js +2 -3
- package/dist/vendor/config/validate.js +97 -78
- package/dist/vendor/config/winback.js +1 -1
- package/dist/vendor/devkit/actions-secrets.js +1 -1
- package/dist/vendor/devkit/agents-md.js +233 -0
- package/dist/vendor/devkit/attach-log-file.js +16 -2
- package/dist/vendor/devkit/build-json.js +1 -1
- package/dist/vendor/devkit/ci-workflows.js +30 -30
- package/dist/vendor/devkit/cli-router.js +16 -11
- package/dist/vendor/devkit/defaults-engine.js +15 -51
- package/dist/vendor/devkit/deploy-snapshot.js +44 -9
- package/dist/vendor/devkit/env-lines.js +183 -0
- package/dist/vendor/devkit/local.js +64 -10
- package/dist/vendor/devkit/lockfile.js +32 -13
- package/dist/vendor/devkit/logger.js +7 -2
- package/dist/vendor/devkit/merge-line-files.js +219 -177
- package/dist/vendor/devkit/omega-bin.js +208 -111
- package/dist/vendor/devkit/preludes/docs-sync.js +52 -0
- package/dist/vendor/devkit/preludes/index.js +1 -0
- package/dist/vendor/devkit/target-picker.js +45 -0
- package/dist/vendor/devkit/test/dashed-files.js +37 -0
- package/dist/vendor/devkit/test/run-verb-under-tee.js +71 -0
- package/dist/vendor/devkit/test/runner-core.js +6 -6
- package/dist/vendor/devkit/update.js +15 -15
- package/dist/vendor/devkit/verb-scripts.js +40 -0
- package/dist/vendor/devkit/verbs.js +170 -0
- package/dist/vendor/monitoring/env.js +2 -2
- package/dist/vendor/monitoring/index.js +1 -1
- package/dist/vendor/monitoring/main.js +1 -1
- package/dist/vendor/monitoring/preload.js +1 -1
- package/dist/vendor/monitoring/renderer.js +1 -1
- package/package.json +19 -26
- package/dist/commands/install.js +0 -37
- package/dist/defaults/AGENTS.md +0 -110
- package/dist/defaults/CLAUDE.md +0 -1
- package/dist/lib/client-bridge.js +0 -374
- package/dist/lib/logger.js +0 -4
- package/dist/test/suites/build/manager.test.js +0 -213
- package/dist/test/suites/main/client-bridge.test.js +0 -262
- package/dist/vendor/config/env-retired.js +0 -137
- package/dist/vendor/config/retired-keys.js +0 -635
- package/docs/analytics.md +0 -140
- package/docs/app-state.md +0 -92
- package/docs/audit.md +0 -69
- package/docs/auto-updater.md +0 -243
- package/docs/boot-sequence.md +0 -39
- package/docs/build-system.md +0 -169
- package/docs/cdp-debugging.md +0 -169
- package/docs/client-bridge.md +0 -269
- package/docs/common-mistakes.md +0 -21
- package/docs/config-schema.md +0 -120
- package/docs/context-menu.md +0 -112
- package/docs/context.md +0 -81
- package/docs/css.md +0 -90
- package/docs/deep-link.md +0 -186
- package/docs/environment-detection.md +0 -112
- package/docs/fontawesome.md +0 -107
- package/docs/hooks.md +0 -89
- package/docs/icons.md +0 -79
- package/docs/index.md +0 -317
- package/docs/installer-options.md +0 -165
- package/docs/ipc.md +0 -61
- package/docs/lib-modules.md +0 -53
- package/docs/logging.md +0 -229
- package/docs/menu.md +0 -160
- package/docs/releasing.md +0 -239
- package/docs/remote-config.md +0 -118
- package/docs/remote-scripts.md +0 -144
- package/docs/restart-manager.md +0 -144
- package/docs/runner.md +0 -290
- package/docs/sentry.md +0 -97
- package/docs/shared/agent-docs.md +0 -89
- package/docs/shared/analytics.md +0 -612
- package/docs/shared/brands.md +0 -57
- package/docs/shared/breaking-changes.md +0 -851
- package/docs/shared/config.md +0 -1952
- package/docs/shared/deploys.md +0 -341
- package/docs/shared/icons.md +0 -219
- package/docs/shared/local-dev.md +0 -167
- package/docs/shared/logging.md +0 -205
- package/docs/shared/monitoring.md +0 -167
- package/docs/shared/publishing.md +0 -187
- package/docs/shared/rulings.md +0 -34
- package/docs/shared/testing.md +0 -147
- package/docs/shared/theming.md +0 -629
- package/docs/shared/translation.md +0 -333
- package/docs/shared/updates.md +0 -61
- package/docs/signing.md +0 -293
- package/docs/startup.md +0 -142
- package/docs/storage.md +0 -59
- package/docs/templating.md +0 -101
- package/docs/test-boot-layer.md +0 -157
- package/docs/test-framework.md +0 -362
- package/docs/themes.md +0 -149
- package/docs/tooltips.md +0 -99
- package/docs/tray.md +0 -164
- package/docs/usage.md +0 -58
- package/docs/verts.md +0 -62
- package/docs/windows.md +0 -149
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Shared test-runner core for the OMEGA frameworks — discovery, suite/group/standalone
|
|
2
|
-
// execution, filtering, skip semantics, init hooks, and reporting
|
|
3
|
-
//
|
|
4
|
-
//
|
|
2
|
+
// execution, filtering, skip semantics, init hooks, and reporting, on the 3-layer
|
|
3
|
+
// build/page/boot model. The frameworks differ only in title, package name, CLI
|
|
4
|
+
// target alias, and their special layers — all injected via config.
|
|
5
5
|
//
|
|
6
6
|
// Test-definition forms supported (see each framework's test/index.js for docs):
|
|
7
7
|
// - Standalone: module.exports = { layer, description, run, cleanup, timeout, skip };
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
// Suites stop on first failure (sequential, share state). Groups run all tests regardless.
|
|
13
13
|
//
|
|
14
14
|
// createRunner(config) config surface:
|
|
15
|
-
// title — heading printed at the top of a run ('
|
|
15
|
+
// title — heading printed at the top of a run ('OMEGA Extension Tests')
|
|
16
16
|
// packageName — framework npm name; cwd package === this ⇒ framework self-test mode
|
|
17
17
|
// (framework boot/ suites only run in self-test mode — they assert on
|
|
18
18
|
// the framework's own fixture consumer)
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
// options, results, projectRoot }) => void }]
|
|
29
29
|
// The callback owns runner loading, skip messaging, and results
|
|
30
30
|
// mutation — framework glue stays framework-side.
|
|
31
|
-
// bootDefaultTimeout — per-test default for boot-layer inspect() (
|
|
31
|
+
// bootDefaultTimeout — per-test default for boot-layer inspect() (each framework's runner sets its own)
|
|
32
32
|
// boot: { run: async ({ tests, suites, options, results, projectRoot }) => void }
|
|
33
33
|
// Called with the aggregated flat boot test list plus the boot-BOUND
|
|
34
34
|
// suites (at least one of the two is non-empty).
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
// partitions that FILE into the boot layer whatever its `layer` says,
|
|
38
38
|
// and hands it to boot.run WHOLE (`suites: [{ file, mod }]`) instead
|
|
39
39
|
// of flattening it into the inspect list: for suites that need the
|
|
40
|
-
// boot lane's built app but run their own way (
|
|
40
|
+
// boot lane's built app but run their own way (desktop's `view:` renderer
|
|
41
41
|
// suites). Default: () => false. An array-form file is never bound.
|
|
42
42
|
|
|
43
43
|
const path = require('path');
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
* tool): per dependency report installed vs wanted vs latest, classify the
|
|
5
5
|
* jump (patch/minor/major), and QUARANTINE releases younger than --min-age
|
|
6
6
|
* days (default 7 — a brand-new publish may be a compromised one; hold it
|
|
7
|
-
* back unless explicitly forced).
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
7
|
+
* back unless explicitly forced). A bare run installs the non-quarantined,
|
|
8
|
+
* non-breaking set (majors need the explicit --major opt-in) through
|
|
9
|
+
* `npu install` when npu is on the machine, else plain `npm install` with a
|
|
10
|
+
* loud note; --dry-run reports and installs nothing.
|
|
11
11
|
*
|
|
12
12
|
* `file:`/`link:`/git specs have no registry story (the local era's linked
|
|
13
13
|
* @omega.js packages) — they're skipped with a dim note, never updated.
|
|
@@ -332,7 +332,7 @@ async function buildUpdateReport(options) {
|
|
|
332
332
|
}
|
|
333
333
|
|
|
334
334
|
/**
|
|
335
|
-
* Pick the updates
|
|
335
|
+
* Pick the updates a run installs. Default tier is MINOR (highest
|
|
336
336
|
* same-major — npu's non-breaking lane); --major unlocks latest. A target
|
|
337
337
|
* published < minAge days ago is HELD (quarantine) unless already installed.
|
|
338
338
|
* @param {object[]} rows - buildUpdateReport rows
|
|
@@ -469,7 +469,7 @@ function formatReport(report, options = {}) {
|
|
|
469
469
|
for (const cells of body) lines.push(render(cells));
|
|
470
470
|
|
|
471
471
|
if (report.rows.some((row) => row.quarantined)) {
|
|
472
|
-
lines.push(`QUARANTINED = latest published < ${minAge} days ago (held from
|
|
472
|
+
lines.push(`QUARANTINED = latest published < ${minAge} days ago (held from the install; --min-age 0 or --force-fresh overrides)`);
|
|
473
473
|
}
|
|
474
474
|
if (report.rows.some((row) => row.bump === 'major')) {
|
|
475
475
|
lines.push('major = breaking — never auto-applied (explicit --major opt-in)');
|
|
@@ -484,14 +484,14 @@ function formatReport(report, options = {}) {
|
|
|
484
484
|
}
|
|
485
485
|
|
|
486
486
|
/**
|
|
487
|
-
* The one verb body every wrapper calls: report (default)
|
|
488
|
-
*
|
|
489
|
-
* disables), --force-fresh (alias for --min-age 0).
|
|
487
|
+
* The one verb body every wrapper calls: report, then install (default) or
|
|
488
|
+
* stop at the report (--dry-run). Flags mirror npu: --major, --min-age N
|
|
489
|
+
* (default 7, 0 disables), --force-fresh (alias for --min-age 0).
|
|
490
490
|
* @param {object} [options]
|
|
491
491
|
* @param {string} [options.dir] - target directory (default cwd)
|
|
492
492
|
* @param {string[]} [options.only] - check just these package names (#794)
|
|
493
|
-
* @param {boolean} [options.
|
|
494
|
-
* @param {boolean} [options.major] - allow breaking jumps
|
|
493
|
+
* @param {boolean} [options.dryRun] - report only, install nothing
|
|
494
|
+
* @param {boolean} [options.major] - allow breaking jumps
|
|
495
495
|
* @param {number} [options.minAge] - quarantine threshold in days
|
|
496
496
|
* @param {boolean} [options.forceFresh] - disable the age quarantine
|
|
497
497
|
* @param {object} [options.logger] - logger with log/warn (default console)
|
|
@@ -512,9 +512,9 @@ async function runUpdate(options = {}) {
|
|
|
512
512
|
logger.log(`Dependency report for ${report.project}:`);
|
|
513
513
|
for (const line of formatReport(report, { minAge })) logger.log(line);
|
|
514
514
|
|
|
515
|
-
if (
|
|
515
|
+
if (options.dryRun) {
|
|
516
516
|
if (report.rows.length > 0) {
|
|
517
|
-
logger.log('
|
|
517
|
+
logger.log('Dry run (--dry-run): nothing installed; a bare `omega update` installs the non-quarantined, non-breaking set (--major for breaking).');
|
|
518
518
|
}
|
|
519
519
|
return { report, selection: null, commands: [] };
|
|
520
520
|
}
|
|
@@ -529,7 +529,7 @@ async function runUpdate(options = {}) {
|
|
|
529
529
|
}
|
|
530
530
|
|
|
531
531
|
if (selection.updates.length === 0) {
|
|
532
|
-
logger.log('Nothing to
|
|
532
|
+
logger.log('Nothing to install.');
|
|
533
533
|
return { report, selection, commands: [] };
|
|
534
534
|
}
|
|
535
535
|
|
|
@@ -545,7 +545,7 @@ async function runUpdate(options = {}) {
|
|
|
545
545
|
execFn(entry.command, { cwd: dir, stdio: 'inherit' });
|
|
546
546
|
}
|
|
547
547
|
|
|
548
|
-
logger.log(`
|
|
548
|
+
logger.log(`Installed ${selection.updates.length} update(s).`);
|
|
549
549
|
return { report, selection, commands };
|
|
550
550
|
}
|
|
551
551
|
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* verb-scripts: the package.json scripts a framework scaffolds into its targets,
|
|
3
|
+
* derived from the one verb table (verbs.js). Every fan-out verb a framework owns
|
|
4
|
+
* (fanout `each`) is `"<verb>": "omega <verb>"`, so the brand-root fan-out's
|
|
5
|
+
* `npm run <verb>` reaches the framework in every target, and `dev` is
|
|
6
|
+
* `"start": "omega dev"`. A single-target command (fanout `none`) is no script:
|
|
7
|
+
* the brand root passes it to the framework's CLI. Vendored with the table into
|
|
8
|
+
* every framework dist.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
const { VERBS } = require('./verbs.js');
|
|
12
|
+
|
|
13
|
+
// npm names the dev script `start` (`npm start`), and the brand-root `omega dev`
|
|
14
|
+
// runs each target's `npm run start`.
|
|
15
|
+
const SCRIPT_KEYS = { dev: 'start' };
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The verb scripts a framework owns.
|
|
19
|
+
*
|
|
20
|
+
* @param {string} framework - The framework package name ('@omega.js/web', ...).
|
|
21
|
+
* @returns {Object<string, string>} Script name to `omega <verb>`, in table order.
|
|
22
|
+
*/
|
|
23
|
+
function verbScripts(framework) {
|
|
24
|
+
return Object.fromEntries(VERBS
|
|
25
|
+
.filter((row) => row.owners.includes(framework) && (row.fanout === 'each' || row.name in SCRIPT_KEYS))
|
|
26
|
+
.map((row) => [SCRIPT_KEYS[row.name] || row.name, `omega ${row.name}`]));
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Every script a framework writes into a target: its verb scripts, with the
|
|
31
|
+
* scripts its manifest still declares (`projectScripts`) merged over them.
|
|
32
|
+
*
|
|
33
|
+
* @param {object} manifest - The framework's own package.json.
|
|
34
|
+
* @returns {Object<string, string>} Script name to command.
|
|
35
|
+
*/
|
|
36
|
+
function projectScripts(manifest) {
|
|
37
|
+
return { ...verbScripts(manifest.name), ...(manifest.projectScripts || {}) };
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
module.exports = { verbScripts, projectScripts };
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* verbs: the ONE verb table. Every verb any OMEGA CLI answers to, declared once
|
|
3
|
+
* with where it runs (`scope`), who answers it (`owners`) and how a root runs it
|
|
4
|
+
* (`fanout`, `order`, `dryRun`). The dispatcher, the brand-root fan-outs and the
|
|
5
|
+
* target-script scaffolds (verb-scripts.js) read it; the field contract lives in
|
|
6
|
+
* docs/devkit/index.md. Pure data: the dispatcher that requires it is vendored
|
|
7
|
+
* into every framework dist.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
const MANAGER = '@omega.js/manager';
|
|
11
|
+
const WEB = '@omega.js/web';
|
|
12
|
+
const BACKEND = '@omega.js/backend';
|
|
13
|
+
const DESKTOP = '@omega.js/desktop';
|
|
14
|
+
const EXTENSION = '@omega.js/extension';
|
|
15
|
+
const ALL = [MANAGER, WEB, BACKEND, DESKTOP, EXTENSION];
|
|
16
|
+
|
|
17
|
+
// The order every 'each' verb walks: backend's API goes live before the
|
|
18
|
+
// surfaces that call it. A target type with no rank runs after every ranked one.
|
|
19
|
+
const TARGET_ORDER = Object.freeze(['backend', 'web', 'extension', 'desktop', 'mobile']);
|
|
20
|
+
|
|
21
|
+
const SCOPES = Object.freeze(['root', 'contextless', 'box']);
|
|
22
|
+
const FANOUTS = Object.freeze(['each', 'root', 'none']);
|
|
23
|
+
|
|
24
|
+
const VERBS = Object.freeze([
|
|
25
|
+
// ─── contextless: run with no target at all ───────────────────────────────
|
|
26
|
+
{ name: 'onboard', aliases: ['-o', '--onboard', 'create', 'new'], scope: 'contextless', owners: [MANAGER],
|
|
27
|
+
fanout: 'root', order: null, dryRun: false },
|
|
28
|
+
{ name: 'help', aliases: ['h', '-h', '--help'], scope: 'contextless', owners: ALL,
|
|
29
|
+
fanout: 'root', order: null, dryRun: false },
|
|
30
|
+
{ name: 'version', aliases: ['v', '-v', '--version'], scope: 'contextless', owners: ALL,
|
|
31
|
+
fanout: 'root', order: null, dryRun: false },
|
|
32
|
+
// none: prints ONE target's resolved root
|
|
33
|
+
{ name: 'cwd', aliases: [], scope: 'contextless', owners: [BACKEND],
|
|
34
|
+
fanout: 'none', order: null, dryRun: false },
|
|
35
|
+
// none: reads one target's logs; interleaved streams would be unreadable
|
|
36
|
+
{ name: 'logs', aliases: ['log', '--logs', 'logs:read', 'logs:tail', 'logs:stream'], scope: 'contextless', owners: [DESKTOP, BACKEND],
|
|
37
|
+
fanout: 'none', order: null, dryRun: false },
|
|
38
|
+
|
|
39
|
+
// ─── box: the signing box is a machine, not a project ─────────────────────
|
|
40
|
+
// none: the runner is the box's own service, configured from the runner home
|
|
41
|
+
{ name: 'runner', aliases: ['--runner'], scope: 'box', owners: [DESKTOP],
|
|
42
|
+
fanout: 'none', order: null, dryRun: false },
|
|
43
|
+
// none: signs one artifact on the box, from any directory
|
|
44
|
+
{ name: 'sign-windows', aliases: ['--sign-windows'], scope: 'box', owners: [DESKTOP],
|
|
45
|
+
fanout: 'none', order: null, dryRun: false },
|
|
46
|
+
|
|
47
|
+
// ─── brand-root fan-outs ──────────────────────────────────────────────────
|
|
48
|
+
{ name: 'deploy', aliases: ['-d', '--deploy'], scope: 'root', owners: ALL,
|
|
49
|
+
fanout: 'each', order: TARGET_ORDER, dryRun: false },
|
|
50
|
+
{ name: 'build', aliases: ['-b', '--build'], scope: 'root', owners: ALL,
|
|
51
|
+
fanout: 'each', order: TARGET_ORDER, dryRun: true },
|
|
52
|
+
{ name: 'clean', aliases: ['-c', '--clean', 'clean:npm'], scope: 'root', owners: ALL,
|
|
53
|
+
fanout: 'each', order: TARGET_ORDER, dryRun: true },
|
|
54
|
+
{ name: 'update', aliases: ['-u', '--update'], scope: 'root', owners: ALL,
|
|
55
|
+
fanout: 'each', order: TARGET_ORDER, dryRun: false },
|
|
56
|
+
{ name: 'test', aliases: ['-t', '--test'], scope: 'root', owners: ALL,
|
|
57
|
+
fanout: 'each', order: TARGET_ORDER, dryRun: false },
|
|
58
|
+
|
|
59
|
+
// ─── the manager's own, run once at the brand root ────────────────────────
|
|
60
|
+
// root: the link flip walks every target from the brand root, so it runs once, never per target
|
|
61
|
+
{ name: 'install', aliases: ['-i', 'i', '--install'], scope: 'root', owners: [MANAGER],
|
|
62
|
+
fanout: 'root', order: null, dryRun: false },
|
|
63
|
+
// root: the brand root boots every target's dev at once; a target runs its own framework's in place
|
|
64
|
+
{ name: 'dev', aliases: ['--dev', 'serve', 'start'], scope: 'root', owners: ALL,
|
|
65
|
+
fanout: 'root', order: null, dryRun: false },
|
|
66
|
+
{ name: 'manage', aliases: [], scope: 'root', owners: [MANAGER],
|
|
67
|
+
fanout: 'root', order: null, dryRun: false },
|
|
68
|
+
{ name: 'bump', aliases: ['--bump'], scope: 'root', owners: [MANAGER],
|
|
69
|
+
fanout: 'root', order: null, dryRun: false },
|
|
70
|
+
{ name: 'company', aliases: [], scope: 'root', owners: [MANAGER],
|
|
71
|
+
fanout: 'root', order: null, dryRun: false },
|
|
72
|
+
{ name: 'devlog', aliases: [], scope: 'root', owners: [MANAGER],
|
|
73
|
+
fanout: 'root', order: null, dryRun: false },
|
|
74
|
+
{ name: 'pipeline', aliases: [], scope: 'root', owners: [MANAGER],
|
|
75
|
+
fanout: 'root', order: null, dryRun: false },
|
|
76
|
+
// root: converts the brand config, then walks every target's migrate entry in-process
|
|
77
|
+
{ name: 'migrate', aliases: ['-m', '--migrate', 'migration'], scope: 'root', owners: [MANAGER],
|
|
78
|
+
fanout: 'root', order: null, dryRun: false },
|
|
79
|
+
|
|
80
|
+
// ─── @omega.js/web ────────────────────────────────────────────────────────
|
|
81
|
+
// none: materializes ONE named page or file into one web target
|
|
82
|
+
{ name: 'customize', aliases: ['-cz', '--customize'], scope: 'root', owners: [WEB],
|
|
83
|
+
fanout: 'none', order: null, dryRun: false },
|
|
84
|
+
{ name: 'translate', aliases: ['--translate', 'translation'], scope: 'root', owners: [WEB],
|
|
85
|
+
fanout: 'each', order: TARGET_ORDER, dryRun: false },
|
|
86
|
+
{ name: 'audit', aliases: ['-a', '--audit'], scope: 'root', owners: [WEB],
|
|
87
|
+
fanout: 'each', order: TARGET_ORDER, dryRun: false },
|
|
88
|
+
{ name: 'purge', aliases: ['-cf', '--purge', 'cloudflare-purge'], scope: 'root', owners: [WEB],
|
|
89
|
+
fanout: 'each', order: TARGET_ORDER, dryRun: false },
|
|
90
|
+
|
|
91
|
+
// ─── @omega.js/desktop ────────────────────────────────────────────────────
|
|
92
|
+
{ name: 'package', aliases: [], scope: 'root', owners: [DESKTOP],
|
|
93
|
+
fanout: 'each', order: TARGET_ORDER, dryRun: false },
|
|
94
|
+
{ name: 'validate-certs', aliases: ['certs', '--validate-certs'], scope: 'root', owners: [DESKTOP],
|
|
95
|
+
fanout: 'each', order: TARGET_ORDER, dryRun: false },
|
|
96
|
+
// none: a CI leg's step on the tree that leg just built, one runner at a time
|
|
97
|
+
{ name: 'publish', aliases: ['-p', '--publish'], scope: 'root', owners: [DESKTOP],
|
|
98
|
+
fanout: 'none', order: null, dryRun: false },
|
|
99
|
+
// none: cuts one signed release of one app
|
|
100
|
+
{ name: 'release', aliases: ['-r', '--release'], scope: 'root', owners: [DESKTOP],
|
|
101
|
+
fanout: 'none', order: null, dryRun: false },
|
|
102
|
+
// none: closes the one release the CI run just built
|
|
103
|
+
{ name: 'finalize-release', aliases: ['finalize', '--finalize-release'], scope: 'root', owners: [DESKTOP],
|
|
104
|
+
fanout: 'none', order: null, dryRun: false },
|
|
105
|
+
// none: opens one built app on this machine
|
|
106
|
+
{ name: 'launch', aliases: ['open', '--launch'], scope: 'root', owners: [DESKTOP],
|
|
107
|
+
fanout: 'none', order: null, dryRun: false },
|
|
108
|
+
// none: drives one running app over its debugging port
|
|
109
|
+
{ name: 'cdp', aliases: [], scope: 'root', owners: [DESKTOP],
|
|
110
|
+
fanout: 'none', order: null, dryRun: false },
|
|
111
|
+
|
|
112
|
+
// ─── @omega.js/backend ────────────────────────────────────────────────────
|
|
113
|
+
// none: clears the terminal; there is nothing per target to repeat
|
|
114
|
+
{ name: 'clear', aliases: [], scope: 'root', owners: [BACKEND],
|
|
115
|
+
fanout: 'none', order: null, dryRun: false },
|
|
116
|
+
// none: a long-running emulator suite for one backend; the multi-target boot is `dev`
|
|
117
|
+
{ name: 'serve', aliases: [], scope: 'root', owners: [BACKEND],
|
|
118
|
+
fanout: 'none', order: null, dryRun: false },
|
|
119
|
+
{ name: 'indexes', aliases: ['indexes:get', 'firestore:indexes', 'firestore:indexes:get'], scope: 'root', owners: [BACKEND],
|
|
120
|
+
fanout: 'each', order: TARGET_ORDER, dryRun: false },
|
|
121
|
+
// none: a long-running emulator keep-alive for one backend
|
|
122
|
+
{ name: 'emulator', aliases: ['emulators'], scope: 'root', owners: [BACKEND],
|
|
123
|
+
fanout: 'none', order: null, dryRun: false },
|
|
124
|
+
// none: a long-running source watcher for one backend
|
|
125
|
+
{ name: 'watch', aliases: [], scope: 'root', owners: [BACKEND],
|
|
126
|
+
fanout: 'none', order: null, dryRun: false },
|
|
127
|
+
// none: a long-running webhook forwarder into one local backend
|
|
128
|
+
{ name: 'stripe', aliases: ['stripe:listen'], scope: 'root', owners: [BACKEND],
|
|
129
|
+
fanout: 'none', order: null, dryRun: false },
|
|
130
|
+
// none: reads or writes named documents in one project
|
|
131
|
+
{ name: 'firestore:get', aliases: ['firestore:set', 'firestore:query', 'firestore:delete'], scope: 'root', owners: [BACKEND],
|
|
132
|
+
fanout: 'none', order: null, dryRun: false },
|
|
133
|
+
// none: reads or writes named users in one project
|
|
134
|
+
{ name: 'auth:get', aliases: ['auth:list', 'auth:delete', 'auth:set-claims', 'auth:token'], scope: 'root', owners: [BACKEND],
|
|
135
|
+
fanout: 'none', order: null, dryRun: false },
|
|
136
|
+
// none: one stdio MCP server for one backend
|
|
137
|
+
{ name: 'mcp', aliases: [], scope: 'root', owners: [BACKEND],
|
|
138
|
+
fanout: 'none', order: null, dryRun: false },
|
|
139
|
+
// none: a one-time conversion that changes what the live project enforces, run alone
|
|
140
|
+
{ name: 'migrate:rules', aliases: ['migrate:firestore-rules'], scope: 'root', owners: [BACKEND],
|
|
141
|
+
fanout: 'none', order: null, dryRun: false },
|
|
142
|
+
// none: a one-time conversion of one older tree, run alone
|
|
143
|
+
{ name: 'migrate:markers', aliases: [], scope: 'root', owners: [BACKEND],
|
|
144
|
+
fanout: 'none', order: null, dryRun: false },
|
|
145
|
+
]);
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Every token that selects a verb: its name, then its aliases.
|
|
149
|
+
*
|
|
150
|
+
* @param {object} entry - A VERBS entry.
|
|
151
|
+
* @returns {string[]}
|
|
152
|
+
*/
|
|
153
|
+
function tokensOf(entry) {
|
|
154
|
+
return [entry.name, ...entry.aliases];
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* The verb a token selects, or null. A name wins over an alias: `serve` is a
|
|
159
|
+
* `dev` alias AND the backend's own verb, and the row that NAMES it answers.
|
|
160
|
+
*
|
|
161
|
+
* @param {string} token - The token as typed.
|
|
162
|
+
* @returns {object|null} The VERBS entry.
|
|
163
|
+
*/
|
|
164
|
+
function findVerb(token) {
|
|
165
|
+
return VERBS.find((entry) => entry.name === token)
|
|
166
|
+
|| VERBS.find((entry) => entry.aliases.includes(token))
|
|
167
|
+
|| null;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
module.exports = { VERBS, TARGET_ORDER, SCOPES, FANOUTS, tokensOf, findVerb };
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
* signal with its own opinion: a build-mode run of a development artifact
|
|
22
22
|
* reported as production, and a packaged production app whose lane did not
|
|
23
23
|
* carry the flag reported as development. @omega.js/backend still passes its
|
|
24
|
-
* own answer in (`
|
|
24
|
+
* own answer in (`omega.isProduction()`), and a boolean a host supplies
|
|
25
25
|
* always wins.
|
|
26
26
|
*/
|
|
27
27
|
|
|
@@ -30,7 +30,7 @@ const { isProduction } = require('../config/environment.js');
|
|
|
30
30
|
/**
|
|
31
31
|
* Read the environment gates for core.resolveConfig().
|
|
32
32
|
* @param {object} [host] - the host's own signals, and the context the one
|
|
33
|
-
* environment is read off (
|
|
33
|
+
* environment is read off (an Omega instance carrying the baked `config`)
|
|
34
34
|
* @param {boolean} [host.isProduction] - overrides the one environment's answer
|
|
35
35
|
* @param {boolean} [host.allowInDev] - the host's own dev opt-in (e.g. @omega.js/backend's `reportErrorsInDev`)
|
|
36
36
|
* @returns {{ killed: boolean, killedReason: string|null, isProduction: boolean, allowInDev: boolean }}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The @omega.js/monitoring entry — the Electron context-aware delegator (#380).
|
|
3
|
-
* Lifted from @omega.js/desktop's lib/sentry/index.js: a desktop
|
|
3
|
+
* Lifted from @omega.js/desktop's lib/sentry/index.js: a desktop Omega instance
|
|
4
4
|
* singleton requires this file from whichever process it is in, and every call
|
|
5
5
|
* forwards to the right per-context module.
|
|
6
6
|
*
|
|
@@ -18,7 +18,7 @@ const preload = {
|
|
|
18
18
|
_enabled: false,
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
|
-
* @param {object} host - the desktop
|
|
21
|
+
* @param {object} host - the desktop Omega instance: { config }
|
|
22
22
|
*/
|
|
23
23
|
initialize(host) {
|
|
24
24
|
const { shouldEnable, reason } = resolveConfig(host && host.config && host.config.monitoring, readGates(host));
|
|
@@ -21,7 +21,7 @@ const renderer = {
|
|
|
21
21
|
_Sentry: null,
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
|
-
* @param {object} host - the desktop
|
|
24
|
+
* @param {object} host - the desktop Omega instance: { config, getVersion() }
|
|
25
25
|
*/
|
|
26
26
|
initialize(host) {
|
|
27
27
|
renderer._initialized = true;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@omega.js/desktop",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.54.0",
|
|
4
4
|
"description": "OMEGA desktop framework — build, test, and package Electron apps for macOS, Windows, and Linux",
|
|
5
5
|
"private": false,
|
|
6
6
|
"publishConfig": {
|
|
@@ -23,7 +23,6 @@
|
|
|
23
23
|
"./lib/context-menu": "./dist/lib/context-menu.js",
|
|
24
24
|
"./lib/deep-link": "./dist/lib/deep-link.js",
|
|
25
25
|
"./lib/ipc": "./dist/lib/ipc.js",
|
|
26
|
-
"./lib/logger": "./dist/lib/logger.js",
|
|
27
26
|
"./lib/logger-lite": "./dist/lib/logger-lite.js",
|
|
28
27
|
"./lib/menu": "./dist/lib/menu.js",
|
|
29
28
|
"./lib/protocol": "./dist/lib/protocol.js",
|
|
@@ -33,21 +32,21 @@
|
|
|
33
32
|
"./lib/storage": "./dist/lib/storage.js",
|
|
34
33
|
"./lib/templating": "./dist/lib/templating.js",
|
|
35
34
|
"./lib/tray": "./dist/lib/tray.js",
|
|
36
|
-
"./lib/
|
|
35
|
+
"./lib/auth": "./dist/lib/auth.js",
|
|
37
36
|
"./lib/window-manager": "./dist/lib/window-manager.js",
|
|
38
37
|
"./cli": "./dist/cli-run.js",
|
|
39
38
|
"./ensure-target": "./dist/commands/lib/ensure-target.js",
|
|
39
|
+
"./migrate": "./dist/commands/lib/migrate.js",
|
|
40
40
|
"./scripts/sync-nvmrc": "./scripts/sync-nvmrc.js"
|
|
41
41
|
},
|
|
42
42
|
"bin": {
|
|
43
|
-
"omega": "
|
|
44
|
-
"omg": "
|
|
45
|
-
"mgr": "
|
|
43
|
+
"omega": "bin/omega",
|
|
44
|
+
"omg": "bin/omg",
|
|
45
|
+
"mgr": "bin/omega"
|
|
46
46
|
},
|
|
47
47
|
"files": [
|
|
48
48
|
"bin/",
|
|
49
49
|
"dist/",
|
|
50
|
-
"docs/",
|
|
51
50
|
"scripts/"
|
|
52
51
|
],
|
|
53
52
|
"preparePackage": {
|
|
@@ -102,19 +101,13 @@
|
|
|
102
101
|
"start": "npm run prepare:watch",
|
|
103
102
|
"prepare": "node -e \"require('../devkit/tools/prepare-guard').run()\"",
|
|
104
103
|
"prepare:watch": "node -e \"require('prepare-package/watch')()\"",
|
|
105
|
-
"test": "node
|
|
104
|
+
"test": "node dist/cli-run.js test"
|
|
106
105
|
},
|
|
107
106
|
"projectScripts": {
|
|
108
|
-
"start": "omega clean && npm run gulp --",
|
|
109
107
|
"gulp": "gulp",
|
|
110
|
-
"build": "omega build",
|
|
111
|
-
"package": "omega package",
|
|
112
108
|
"package:quick": "omega package --quick",
|
|
113
|
-
"publish": "omega publish",
|
|
114
|
-
"release": "omega release",
|
|
115
109
|
"release:local": "omega publish --local",
|
|
116
110
|
"postinstall": "node -e \"try { require('@omega.js/desktop/scripts/sync-nvmrc') } catch (e) {}\"",
|
|
117
|
-
"test": "omega test",
|
|
118
111
|
"electron": "electron ."
|
|
119
112
|
},
|
|
120
113
|
"engines": {
|
|
@@ -148,39 +141,39 @@
|
|
|
148
141
|
"@omega.js/web": "*",
|
|
149
142
|
"electron": "^42.0.1",
|
|
150
143
|
"electron-builder": "^26.16.1",
|
|
151
|
-
"firebase-admin": "^13.
|
|
152
|
-
"prepare-package": "^2.2.
|
|
144
|
+
"firebase-admin": "^13.10.0",
|
|
145
|
+
"prepare-package": "^2.2.1"
|
|
153
146
|
},
|
|
154
147
|
"dependencies": {
|
|
155
|
-
"@fortawesome/fontawesome-free": "^7.3.
|
|
156
|
-
"@inquirer/prompts": "^8.
|
|
148
|
+
"@fortawesome/fontawesome-free": "^7.3.1",
|
|
149
|
+
"@inquirer/prompts": "^8.7.2",
|
|
157
150
|
"@octokit/rest": "^22.0.1",
|
|
158
|
-
"@omega.js/client": "0.
|
|
151
|
+
"@omega.js/client": "0.54.0",
|
|
159
152
|
"@popperjs/core": "^2.11.8",
|
|
160
153
|
"@sentry/electron": "^7.13.0",
|
|
161
154
|
"chalk": "^5.6.2",
|
|
162
155
|
"dotenv": "^17.4.2",
|
|
163
|
-
"electron-log": "^5.4.
|
|
156
|
+
"electron-log": "^5.4.4",
|
|
164
157
|
"electron-store": "^11.0.2",
|
|
165
158
|
"electron-updater": "^6.8.3",
|
|
166
|
-
"esbuild": "^0.28.
|
|
159
|
+
"esbuild": "^0.28.2",
|
|
167
160
|
"extract-zip": "^2.0.1",
|
|
168
161
|
"fs-jetpack": "^5.1.0",
|
|
169
162
|
"glob": "^13.0.6",
|
|
170
163
|
"gulp-clean-css": "^4.3.0",
|
|
171
164
|
"gulp-rename": "^2.1.0",
|
|
172
|
-
"gulp-responsive-modern": "^1.0.
|
|
165
|
+
"gulp-responsive-modern": "^1.0.4",
|
|
173
166
|
"gulp-sass": "^6.0.1",
|
|
174
|
-
"js-yaml": "^4.
|
|
167
|
+
"js-yaml": "^4.3.2",
|
|
175
168
|
"json5": "^2.2.3",
|
|
176
169
|
"lodash": "^4.18.1",
|
|
177
|
-
"minimatch": "^10.2.
|
|
170
|
+
"minimatch": "^10.2.6",
|
|
178
171
|
"node-powertools": "^3.0.0",
|
|
179
172
|
"plist": "^4.0.0",
|
|
180
173
|
"sass": "^1.99.0",
|
|
181
174
|
"sharp": "^0.35.3",
|
|
182
|
-
"uuid": "^14.0.
|
|
183
|
-
"wonderful-fetch": "^2.0.
|
|
175
|
+
"uuid": "^14.0.2",
|
|
176
|
+
"wonderful-fetch": "^2.0.6",
|
|
184
177
|
"wonderful-version": "^1.3.2",
|
|
185
178
|
"ws": "^8.20.0"
|
|
186
179
|
},
|
package/dist/commands/install.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
// Libraries
|
|
2
|
-
const Manager = new (require('../build.js'));
|
|
3
|
-
const logger = Manager.logger('install');
|
|
4
|
-
const local = require('../vendor/devkit/local.js');
|
|
5
|
-
|
|
6
|
-
const package = Manager.getPackage('main');
|
|
7
|
-
|
|
8
|
-
module.exports = async function (options) {
|
|
9
|
-
logger.log(`Installing ${package.name}...`);
|
|
10
|
-
|
|
11
|
-
const type = options._[1] || 'prod';
|
|
12
|
-
|
|
13
|
-
try {
|
|
14
|
-
if (['live', 'prod', 'p', 'production'].includes(type)) {
|
|
15
|
-
// The publish-day inverse of `i local`: flip every file: spec in the
|
|
16
|
-
// brand tree to the exact <linked version>, then one registry install
|
|
17
|
-
logger.log('Installing production (restoring registry specs tree-wide)...');
|
|
18
|
-
const actions = await local.restoreRegistrySpecs({ dir: process.cwd(), logger });
|
|
19
|
-
const flipped = actions.filter((action) => action.action === 'flip').length;
|
|
20
|
-
return logger.log(flipped > 0
|
|
21
|
-
? `Production installation complete (${flipped} spec(s) restored to registry ranges).`
|
|
22
|
-
: 'Already on registry specs — nothing to flip.');
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
if (['dev', 'd', 'development', 'local', 'l'].includes(type)) {
|
|
26
|
-
logger.log('Installing development (local Omega monorepo)...');
|
|
27
|
-
await local.linkLocalPackages({
|
|
28
|
-
dir: process.cwd(),
|
|
29
|
-
monorepoRoot: local.resolveMonorepoRoot(),
|
|
30
|
-
logger,
|
|
31
|
-
});
|
|
32
|
-
return logger.log('Development installation complete.');
|
|
33
|
-
}
|
|
34
|
-
} catch (e) {
|
|
35
|
-
logger.error('Error during install:', e);
|
|
36
|
-
}
|
|
37
|
-
};
|