@equinor/fusion-framework-cli 10.7.5-apploader-be21a6b60eb13eee8bf869e75002d8634e9c50a9 → 11.0.0-next.1
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/CHANGELOG.md +51 -2
- package/README.md +144 -17
- package/bin/build/bin.js +21 -0
- package/bin/build/cli.js +9868 -0
- package/bin/build/create-auth-client-7P8K_6Vu.js +89 -0
- package/bin/build/portal-pack-CAsnV44B.js +12069 -0
- package/bin/cli.mjs +4 -1
- package/dist/esm/bin/app-build.js +34 -0
- package/dist/esm/bin/app-build.js.map +1 -0
- package/dist/esm/bin/app-check.js +63 -0
- package/dist/esm/bin/app-check.js.map +1 -0
- package/dist/esm/bin/app-config-publish.js +89 -0
- package/dist/esm/bin/app-config-publish.js.map +1 -0
- package/dist/esm/bin/app-config.js +48 -0
- package/dist/esm/bin/app-config.js.map +1 -0
- package/dist/esm/bin/app-dev.js +92 -0
- package/dist/esm/bin/app-dev.js.map +1 -0
- package/dist/esm/bin/app-manifest.js +38 -0
- package/dist/esm/bin/app-manifest.js.map +1 -0
- package/dist/esm/bin/app-pack.js +51 -0
- package/dist/esm/bin/app-pack.js.map +1 -0
- package/dist/esm/bin/app-tag.js +89 -0
- package/dist/esm/bin/app-tag.js.map +1 -0
- package/dist/esm/bin/app-upload.js +109 -0
- package/dist/esm/bin/app-upload.js.map +1 -0
- package/dist/esm/bin/helpers/load-bundle-metadata.js +32 -0
- package/dist/esm/bin/helpers/load-bundle-metadata.js.map +1 -0
- package/dist/esm/bin/helpers/load-vite-config.js +55 -0
- package/dist/esm/bin/helpers/load-vite-config.js.map +1 -0
- package/dist/esm/bin/helpers/resolve-app-config.js +46 -0
- package/dist/esm/bin/helpers/resolve-app-config.js.map +1 -0
- package/dist/esm/bin/helpers/resolve-app-manifest.js +55 -0
- package/dist/esm/bin/helpers/resolve-app-manifest.js.map +1 -0
- package/dist/esm/bin/helpers/resolve-portal-manifest.js +55 -0
- package/dist/esm/bin/helpers/resolve-portal-manifest.js.map +1 -0
- package/dist/esm/bin/helpers/resolve-project-package.js +32 -0
- package/dist/esm/bin/helpers/resolve-project-package.js.map +1 -0
- package/dist/esm/bin/index.js +10 -0
- package/dist/esm/bin/index.js.map +1 -0
- package/dist/esm/bin/pack.js +70 -0
- package/dist/esm/bin/pack.js.map +1 -0
- package/dist/esm/bin/portal-build.js +40 -0
- package/dist/esm/bin/portal-build.js.map +1 -0
- package/dist/esm/bin/portal-dev.js +69 -0
- package/dist/esm/bin/portal-dev.js.map +1 -0
- package/dist/esm/bin/portal-manifest.js +38 -0
- package/dist/esm/bin/portal-manifest.js.map +1 -0
- package/dist/esm/bin/portal-pack.js +60 -0
- package/dist/esm/bin/portal-pack.js.map +1 -0
- package/dist/esm/bin/portal-tag.js +96 -0
- package/dist/esm/bin/portal-tag.js.map +1 -0
- package/dist/esm/bin/portal-upload.js +99 -0
- package/dist/esm/bin/portal-upload.js.map +1 -0
- package/dist/esm/bin/utils/ConsoleLogger.js +112 -0
- package/dist/esm/bin/utils/ConsoleLogger.js.map +1 -0
- package/dist/esm/bin/utils/create-dev-server.js +167 -0
- package/dist/esm/bin/utils/create-dev-server.js.map +1 -0
- package/dist/esm/bin/utils/format.js +47 -0
- package/dist/esm/bin/utils/format.js.map +1 -0
- package/dist/esm/bin/utils/index.js +5 -0
- package/dist/esm/bin/utils/index.js.map +1 -0
- package/dist/esm/bin/utils/spinner.js +142 -0
- package/dist/esm/bin/utils/spinner.js.map +1 -0
- package/dist/esm/cli/commands/app/alias.js +42 -0
- package/dist/esm/cli/commands/app/alias.js.map +1 -0
- package/dist/esm/cli/commands/app/build.js +46 -0
- package/dist/esm/cli/commands/app/build.js.map +1 -0
- package/dist/esm/cli/commands/app/check.js +47 -0
- package/dist/esm/cli/commands/app/check.js.map +1 -0
- package/dist/esm/cli/commands/app/config.js +91 -0
- package/dist/esm/cli/commands/app/config.js.map +1 -0
- package/dist/esm/cli/commands/app/dev.js +61 -0
- package/dist/esm/cli/commands/app/dev.js.map +1 -0
- package/dist/esm/cli/commands/app/index.js +25 -0
- package/dist/esm/cli/commands/app/index.js.map +1 -0
- package/dist/esm/cli/commands/app/manifest.js +73 -0
- package/dist/esm/cli/commands/app/manifest.js.map +1 -0
- package/dist/esm/cli/commands/app/pack.js +64 -0
- package/dist/esm/cli/commands/app/pack.js.map +1 -0
- package/dist/esm/cli/commands/app/publish.js +119 -0
- package/dist/esm/cli/commands/app/publish.js.map +1 -0
- package/dist/esm/cli/commands/app/tag.js +101 -0
- package/dist/esm/cli/commands/app/tag.js.map +1 -0
- package/dist/esm/cli/commands/app/upload.js +80 -0
- package/dist/esm/cli/commands/app/upload.js.map +1 -0
- package/dist/esm/cli/commands/auth/index.js +10 -0
- package/dist/esm/cli/commands/auth/index.js.map +1 -0
- package/dist/esm/cli/commands/auth/login.js +68 -0
- package/dist/esm/cli/commands/auth/login.js.map +1 -0
- package/dist/esm/cli/commands/auth/logout.js +55 -0
- package/dist/esm/cli/commands/auth/logout.js.map +1 -0
- package/dist/esm/cli/commands/auth/token.js +74 -0
- package/dist/esm/cli/commands/auth/token.js.map +1 -0
- package/dist/esm/cli/commands/disco/index.js +6 -0
- package/dist/esm/cli/commands/disco/index.js.map +1 -0
- package/dist/esm/cli/commands/disco/resolve.js +61 -0
- package/dist/esm/cli/commands/disco/resolve.js.map +1 -0
- package/dist/esm/cli/commands/index.js +11 -0
- package/dist/esm/cli/commands/index.js.map +1 -0
- package/dist/esm/cli/commands/portal/build.js +22 -0
- package/dist/esm/cli/commands/portal/build.js.map +1 -0
- package/dist/esm/cli/commands/portal/dev.js +24 -0
- package/dist/esm/cli/commands/portal/dev.js.map +1 -0
- package/dist/esm/cli/commands/portal/index.js +21 -0
- package/dist/esm/cli/commands/portal/index.js.map +1 -0
- package/dist/esm/cli/commands/portal/manifest.js +45 -0
- package/dist/esm/cli/commands/portal/manifest.js.map +1 -0
- package/dist/esm/cli/commands/portal/pack.js +35 -0
- package/dist/esm/cli/commands/portal/pack.js.map +1 -0
- package/dist/esm/cli/commands/portal/publish.js +73 -0
- package/dist/esm/cli/commands/portal/publish.js.map +1 -0
- package/dist/esm/cli/commands/portal/schema.js +68 -0
- package/dist/esm/cli/commands/portal/schema.js.map +1 -0
- package/dist/esm/cli/commands/portal/tag.js +69 -0
- package/dist/esm/cli/commands/portal/tag.js.map +1 -0
- package/dist/esm/cli/commands/portal/upload.js +40 -0
- package/dist/esm/cli/commands/portal/upload.js.map +1 -0
- package/dist/esm/cli/main.js +52 -0
- package/dist/esm/cli/main.js.map +1 -0
- package/dist/esm/cli/options/auth.js +96 -0
- package/dist/esm/cli/options/auth.js.map +1 -0
- package/dist/esm/cli/options/env.js +30 -0
- package/dist/esm/cli/options/env.js.map +1 -0
- package/dist/esm/lib/app/app-config.js +12 -0
- package/dist/esm/lib/app/app-config.js.map +1 -0
- package/dist/esm/lib/app/app-manifest.js +15 -0
- package/dist/esm/lib/app/app-manifest.js.map +1 -0
- package/dist/{lib → esm/lib/app}/app-package.js +30 -10
- package/dist/esm/lib/app/app-package.js.map +1 -0
- package/dist/esm/lib/app/create-app-manifest.js +72 -0
- package/dist/esm/lib/app/create-app-manifest.js.map +1 -0
- package/dist/esm/lib/app/index.js +9 -0
- package/dist/esm/lib/app/index.js.map +1 -0
- package/dist/esm/lib/app/load-app-config.js +47 -0
- package/dist/esm/lib/app/load-app-config.js.map +1 -0
- package/dist/esm/lib/app/load-app-manifest.js +61 -0
- package/dist/esm/lib/app/load-app-manifest.js.map +1 -0
- package/dist/esm/lib/app/merge-app-config.js +21 -0
- package/dist/esm/lib/app/merge-app-config.js.map +1 -0
- package/dist/esm/lib/app/merge-app-manifest.js +31 -0
- package/dist/esm/lib/app/merge-app-manifest.js.map +1 -0
- package/dist/esm/lib/app/schemas.js +28 -0
- package/dist/esm/lib/app/schemas.js.map +1 -0
- package/dist/esm/lib/dev-server.js +3 -0
- package/dist/esm/lib/dev-server.js.map +1 -0
- package/dist/esm/lib/framework.node.js +104 -0
- package/dist/esm/lib/framework.node.js.map +1 -0
- package/dist/esm/lib/index.js +5 -0
- package/dist/esm/lib/index.js.map +1 -0
- package/dist/esm/lib/legacy.js +38 -0
- package/dist/esm/lib/legacy.js.map +1 -0
- package/dist/esm/lib/load-dev-server-config.js +43 -0
- package/dist/esm/lib/load-dev-server-config.js.map +1 -0
- package/dist/esm/lib/merge-dev-server-config.js +37 -0
- package/dist/esm/lib/merge-dev-server-config.js.map +1 -0
- package/dist/esm/lib/portal/create-portal-manifest.js +93 -0
- package/dist/esm/lib/portal/create-portal-manifest.js.map +1 -0
- package/dist/esm/lib/portal/index.js +3 -0
- package/dist/esm/lib/portal/index.js.map +1 -0
- package/dist/esm/lib/portal/load-portal-manifest.js +54 -0
- package/dist/esm/lib/portal/load-portal-manifest.js.map +1 -0
- package/dist/esm/lib/portal/load-portal-schema.js +49 -0
- package/dist/esm/lib/portal/load-portal-schema.js.map +1 -0
- package/dist/esm/lib/portal/portal-manifest.js +21 -0
- package/dist/esm/lib/portal/portal-manifest.js.map +1 -0
- package/dist/esm/lib/portal/portal-manifest.schema.js +134 -0
- package/dist/esm/lib/portal/portal-manifest.schema.js.map +1 -0
- package/dist/esm/lib/static.js +20 -0
- package/dist/esm/lib/static.js.map +1 -0
- package/dist/{lib/utils → esm/lib}/types.js.map +1 -1
- package/dist/esm/lib/utils/assert.js +87 -0
- package/dist/esm/lib/utils/assert.js.map +1 -0
- package/dist/esm/lib/utils/expect.js.map +1 -0
- package/dist/{lib/plugins/app-assets/extension-filter-pattern.js → esm/lib/utils/extension-filter.js} +1 -1
- package/dist/esm/lib/utils/extension-filter.js.map +1 -0
- package/dist/esm/lib/utils/file-exists.js.map +1 -0
- package/dist/esm/lib/utils/index.js +6 -0
- package/dist/esm/lib/utils/index.js.map +1 -0
- package/dist/{lib → esm/lib}/utils/parse-json-request.js +3 -1
- package/dist/esm/lib/utils/parse-json-request.js.map +1 -0
- package/dist/esm/lib/utils/resolve-annotations.js +28 -0
- package/dist/esm/lib/utils/resolve-annotations.js.map +1 -0
- package/dist/esm/lib/utils/resolve-devops-annotations.js +59 -0
- package/dist/esm/lib/utils/resolve-devops-annotations.js.map +1 -0
- package/dist/esm/lib/utils/resolve-git-commit-sha.js +23 -0
- package/dist/esm/lib/utils/resolve-git-commit-sha.js.map +1 -0
- package/dist/esm/lib/utils/resolve-git-remote-url.js +24 -0
- package/dist/esm/lib/utils/resolve-git-remote-url.js.map +1 -0
- package/dist/esm/lib/utils/resolve-github-annotations.js +127 -0
- package/dist/esm/lib/utils/resolve-github-annotations.js.map +1 -0
- package/dist/esm/lib/utils/resolve-package-repo.js +14 -0
- package/dist/esm/lib/utils/resolve-package-repo.js.map +1 -0
- package/dist/esm/lib/utils/resolve-package.js +18 -0
- package/dist/esm/lib/utils/resolve-package.js.map +1 -0
- package/dist/esm/lib/utils/resolve-source-entry-point.js +39 -0
- package/dist/esm/lib/utils/resolve-source-entry-point.js.map +1 -0
- package/dist/esm/lib/utils/types.js.map +1 -0
- package/dist/esm/lib/utils/write-file.js +25 -0
- package/dist/esm/lib/utils/write-file.js.map +1 -0
- package/dist/esm/version.js +3 -0
- package/dist/esm/version.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/bin/app-build.d.ts +52 -0
- package/dist/types/bin/app-check.d.ts +31 -0
- package/dist/types/bin/app-config-publish.d.ts +23 -0
- package/dist/types/bin/app-config.d.ts +52 -0
- package/dist/types/bin/app-dev.d.ts +45 -0
- package/dist/types/bin/app-manifest.d.ts +42 -0
- package/dist/types/bin/app-pack.d.ts +38 -0
- package/dist/types/bin/app-tag.d.ts +51 -0
- package/dist/types/bin/app-upload.d.ts +40 -0
- package/dist/types/bin/helpers/load-bundle-metadata.d.ts +15 -0
- package/dist/types/bin/helpers/load-vite-config.d.ts +12 -0
- package/dist/types/bin/helpers/resolve-app-config.d.ts +18 -0
- package/dist/types/bin/helpers/resolve-app-manifest.d.ts +17 -0
- package/dist/types/bin/helpers/resolve-portal-manifest.d.ts +27 -0
- package/dist/types/bin/helpers/resolve-project-package.d.ts +13 -0
- package/dist/types/bin/index.d.ts +9 -0
- package/dist/types/bin/pack.d.ts +36 -0
- package/dist/types/bin/portal-build.d.ts +54 -0
- package/dist/types/bin/portal-dev.d.ts +37 -0
- package/dist/types/bin/portal-manifest.d.ts +60 -0
- package/dist/types/bin/portal-pack.d.ts +54 -0
- package/dist/types/bin/portal-tag.d.ts +51 -0
- package/dist/types/bin/portal-upload.d.ts +37 -0
- package/dist/types/bin/utils/ConsoleLogger.d.ts +84 -0
- package/dist/types/bin/utils/create-dev-server.d.ts +49 -0
- package/dist/types/bin/utils/format.d.ts +27 -0
- package/dist/types/bin/utils/index.d.ts +3 -13
- package/dist/types/bin/utils/spinner.d.ts +75 -0
- package/dist/types/cli/commands/app/alias.d.ts +6 -0
- package/dist/types/cli/commands/app/build.d.ts +27 -0
- package/dist/types/cli/commands/app/check.d.ts +26 -0
- package/dist/types/cli/commands/app/config.d.ts +34 -0
- package/dist/types/cli/commands/app/dev.d.ts +29 -0
- package/dist/types/cli/commands/app/index.d.ts +3 -0
- package/dist/types/cli/commands/app/manifest.d.ts +30 -0
- package/dist/types/cli/commands/app/pack.d.ts +31 -0
- package/dist/types/cli/commands/app/publish.d.ts +31 -0
- package/dist/types/cli/commands/app/tag.d.ts +33 -0
- package/dist/types/cli/commands/app/upload.d.ts +29 -0
- package/dist/types/cli/commands/auth/index.d.ts +3 -0
- package/dist/types/cli/commands/auth/login.d.ts +2 -0
- package/dist/types/cli/commands/auth/logout.d.ts +12 -0
- package/dist/types/cli/commands/auth/token.d.ts +13 -0
- package/dist/types/cli/commands/disco/index.d.ts +2 -0
- package/dist/types/cli/commands/disco/resolve.d.ts +25 -0
- package/dist/types/cli/commands/portal/build.d.ts +2 -0
- package/dist/types/cli/commands/portal/dev.d.ts +2 -0
- package/dist/types/cli/commands/portal/index.d.ts +2 -0
- package/dist/types/cli/commands/portal/manifest.d.ts +2 -0
- package/dist/types/cli/commands/portal/pack.d.ts +2 -0
- package/dist/types/cli/commands/portal/publish.d.ts +2 -0
- package/dist/types/cli/commands/portal/schema.d.ts +2 -0
- package/dist/types/cli/commands/portal/tag.d.ts +2 -0
- package/dist/types/cli/commands/portal/upload.d.ts +2 -0
- package/dist/types/cli/main.d.ts +21 -0
- package/dist/types/cli/options/auth.d.ts +37 -0
- package/dist/types/cli/options/env.d.ts +19 -0
- package/dist/types/lib/app/app-config.d.ts +31 -0
- package/dist/types/lib/app/app-manifest.d.ts +39 -0
- package/dist/types/lib/{app-package.d.ts → app/app-package.d.ts} +27 -10
- package/dist/types/lib/app/create-app-manifest.d.ts +17 -0
- package/dist/types/lib/app/index.d.ts +8 -0
- package/dist/types/lib/app/load-app-config.d.ts +54 -0
- package/dist/types/lib/app/load-app-manifest.d.ts +57 -0
- package/dist/types/lib/app/merge-app-config.d.ts +13 -0
- package/dist/types/lib/app/merge-app-manifest.d.ts +25 -0
- package/dist/types/{schemas.d.ts → lib/app/schemas.d.ts} +10 -1
- package/dist/types/lib/dev-server.d.ts +2 -0
- package/dist/types/lib/framework.node.d.ts +77 -0
- package/dist/types/lib/index.d.ts +4 -3
- package/dist/types/lib/legacy.d.ts +24 -0
- package/dist/types/lib/load-dev-server-config.d.ts +40 -0
- package/dist/types/lib/merge-dev-server-config.d.ts +16 -0
- package/dist/types/lib/portal/create-portal-manifest.d.ts +22 -0
- package/dist/types/lib/portal/index.d.ts +2 -0
- package/dist/types/lib/portal/load-portal-manifest.d.ts +65 -0
- package/dist/types/lib/portal/load-portal-schema.d.ts +43 -0
- package/dist/types/lib/portal/portal-manifest.d.ts +16 -0
- package/dist/types/lib/portal/portal-manifest.schema.d.ts +154 -0
- package/dist/types/lib/static.d.ts +10 -0
- package/dist/types/lib/types.d.ts +34 -0
- package/dist/types/lib/utils/assert.d.ts +48 -0
- package/dist/types/lib/utils/index.d.ts +5 -0
- package/dist/types/lib/utils/resolve-annotations.d.ts +11 -0
- package/dist/types/lib/utils/resolve-devops-annotations.d.ts +30 -0
- package/dist/types/lib/utils/resolve-git-commit-sha.d.ts +13 -0
- package/dist/types/lib/utils/resolve-git-remote-url.d.ts +13 -0
- package/dist/types/lib/utils/resolve-github-annotations.d.ts +65 -0
- package/dist/types/lib/utils/resolve-package-repo.d.ts +9 -0
- package/dist/types/lib/utils/resolve-package.d.ts +15 -0
- package/dist/types/lib/utils/resolve-source-entry-point.d.ts +17 -0
- package/dist/types/lib/utils/types.d.ts +1 -1
- package/dist/types/lib/utils/write-file.d.ts +14 -0
- package/dist/types/version.d.ts +1 -1
- package/docs/application.md +644 -0
- package/docs/auth.md +190 -0
- package/docs/libsecret.md +97 -0
- package/docs/migration-v10-to-v11.md +74 -0
- package/docs/portal.md +278 -0
- package/package.json +60 -69
- package/dist/bin/build-application.js +0 -55
- package/dist/bin/build-application.js.map +0 -1
- package/dist/bin/bundle-application.js +0 -41
- package/dist/bin/bundle-application.js.map +0 -1
- package/dist/bin/create-dev-serve.js +0 -127
- package/dist/bin/create-dev-serve.js.map +0 -1
- package/dist/bin/create-export-config.js +0 -40
- package/dist/bin/create-export-config.js.map +0 -1
- package/dist/bin/create-export-manifest.js +0 -67
- package/dist/bin/create-export-manifest.js.map +0 -1
- package/dist/bin/dev-portal/AppLoader.js +0 -80
- package/dist/bin/dev-portal/AppLoader.js.map +0 -1
- package/dist/bin/dev-portal/BookMarkSideSheet.js +0 -13
- package/dist/bin/dev-portal/BookMarkSideSheet.js.map +0 -1
- package/dist/bin/dev-portal/ContextSelector/ContextSelector.js +0 -40
- package/dist/bin/dev-portal/ContextSelector/ContextSelector.js.map +0 -1
- package/dist/bin/dev-portal/ContextSelector/index.js +0 -2
- package/dist/bin/dev-portal/ContextSelector/index.js.map +0 -1
- package/dist/bin/dev-portal/ContextSelector/useContextResolver.js +0 -216
- package/dist/bin/dev-portal/ContextSelector/useContextResolver.js.map +0 -1
- package/dist/bin/dev-portal/EquinorLoader.js +0 -14
- package/dist/bin/dev-portal/EquinorLoader.js.map +0 -1
- package/dist/bin/dev-portal/ErrorViewer.js +0 -7
- package/dist/bin/dev-portal/ErrorViewer.js.map +0 -1
- package/dist/bin/dev-portal/FusionLogo.js +0 -4
- package/dist/bin/dev-portal/FusionLogo.js.map +0 -1
- package/dist/bin/dev-portal/Header.Actions.js +0 -12
- package/dist/bin/dev-portal/Header.Actions.js.map +0 -1
- package/dist/bin/dev-portal/Header.js +0 -41
- package/dist/bin/dev-portal/Header.js.map +0 -1
- package/dist/bin/dev-portal/PersonSideSheet/index.js +0 -32
- package/dist/bin/dev-portal/PersonSideSheet/index.js.map +0 -1
- package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureSheetContent.js +0 -16
- package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureSheetContent.js.map +0 -1
- package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerApp.js +0 -15
- package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerApp.js.map +0 -1
- package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerPortal.js +0 -13
- package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerPortal.js.map +0 -1
- package/dist/bin/dev-portal/PersonSideSheet/sheets/LandingSheetContent.js +0 -19
- package/dist/bin/dev-portal/PersonSideSheet/sheets/LandingSheetContent.js.map +0 -1
- package/dist/bin/dev-portal/PersonSideSheet/sheets/Styled.js +0 -30
- package/dist/bin/dev-portal/PersonSideSheet/sheets/Styled.js.map +0 -1
- package/dist/bin/dev-portal/PersonSideSheet/sheets/index.js +0 -3
- package/dist/bin/dev-portal/PersonSideSheet/sheets/index.js.map +0 -1
- package/dist/bin/dev-portal/PersonSideSheet/sheets/types.js.map +0 -1
- package/dist/bin/dev-portal/Router.js +0 -59
- package/dist/bin/dev-portal/Router.js.map +0 -1
- package/dist/bin/dev-portal/config.js +0 -79
- package/dist/bin/dev-portal/config.js.map +0 -1
- package/dist/bin/dev-portal/main.js +0 -13
- package/dist/bin/dev-portal/main.js.map +0 -1
- package/dist/bin/dev-portal/resources/fallback-photo.svg.js +0 -3
- package/dist/bin/dev-portal/resources/fallback-photo.svg.js.map +0 -1
- package/dist/bin/dev-portal/useAppContextNavigation.js +0 -87
- package/dist/bin/dev-portal/useAppContextNavigation.js.map +0 -1
- package/dist/bin/main.app.js +0 -172
- package/dist/bin/main.app.js.map +0 -1
- package/dist/bin/main.js +0 -20
- package/dist/bin/main.js.map +0 -1
- package/dist/bin/public/assets/index-B7SVn0UQ.js +0 -3686
- package/dist/bin/public/index.html +0 -37
- package/dist/bin/publish-application.js +0 -96
- package/dist/bin/publish-application.js.map +0 -1
- package/dist/bin/tag-application.js +0 -73
- package/dist/bin/tag-application.js.map +0 -1
- package/dist/bin/upload-application.js +0 -63
- package/dist/bin/upload-application.js.map +0 -1
- package/dist/bin/upload-export-config.js +0 -78
- package/dist/bin/upload-export-config.js.map +0 -1
- package/dist/bin/utils/execute-command.js +0 -14
- package/dist/bin/utils/execute-command.js.map +0 -1
- package/dist/bin/utils/format.js +0 -16
- package/dist/bin/utils/format.js.map +0 -1
- package/dist/bin/utils/getEndpointUrl.js +0 -40
- package/dist/bin/utils/getEndpointUrl.js.map +0 -1
- package/dist/bin/utils/index.js +0 -14
- package/dist/bin/utils/index.js.map +0 -1
- package/dist/bin/utils/isAppRegistered.js +0 -26
- package/dist/bin/utils/isAppRegistered.js.map +0 -1
- package/dist/bin/utils/load-app-config.js +0 -26
- package/dist/bin/utils/load-app-config.js.map +0 -1
- package/dist/bin/utils/load-manifest.js +0 -31
- package/dist/bin/utils/load-manifest.js.map +0 -1
- package/dist/bin/utils/load-package.js +0 -18
- package/dist/bin/utils/load-package.js.map +0 -1
- package/dist/bin/utils/load-vite-config.js +0 -45
- package/dist/bin/utils/load-vite-config.js.map +0 -1
- package/dist/bin/utils/proxy-request-logger.js +0 -33
- package/dist/bin/utils/proxy-request-logger.js.map +0 -1
- package/dist/bin/utils/publishAppConfig.js +0 -29
- package/dist/bin/utils/publishAppConfig.js.map +0 -1
- package/dist/bin/utils/requireToken.js +0 -9
- package/dist/bin/utils/requireToken.js.map +0 -1
- package/dist/bin/utils/spinner.js +0 -65
- package/dist/bin/utils/spinner.js.map +0 -1
- package/dist/bin/utils/tagAppBundle.js +0 -26
- package/dist/bin/utils/tagAppBundle.js.map +0 -1
- package/dist/bin/utils/uploadAppBundle.js +0 -45
- package/dist/bin/utils/uploadAppBundle.js.map +0 -1
- package/dist/lib/app-config.js +0 -32
- package/dist/lib/app-config.js.map +0 -1
- package/dist/lib/app-manifest.js +0 -142
- package/dist/lib/app-manifest.js.map +0 -1
- package/dist/lib/app-package.js.map +0 -1
- package/dist/lib/index.js +0 -4
- package/dist/lib/index.js.map +0 -1
- package/dist/lib/plugins/app-assets/app-asset-plugin.js +0 -96
- package/dist/lib/plugins/app-assets/app-asset-plugin.js.map +0 -1
- package/dist/lib/plugins/app-assets/emit-asset.js +0 -46
- package/dist/lib/plugins/app-assets/emit-asset.js.map +0 -1
- package/dist/lib/plugins/app-assets/extension-filter-pattern.js.map +0 -1
- package/dist/lib/plugins/app-assets/index.js +0 -4
- package/dist/lib/plugins/app-assets/index.js.map +0 -1
- package/dist/lib/plugins/app-assets/read-asset-content.js +0 -34
- package/dist/lib/plugins/app-assets/read-asset-content.js.map +0 -1
- package/dist/lib/plugins/app-assets/resolve-asset-id.js +0 -54
- package/dist/lib/plugins/app-assets/resolve-asset-id.js.map +0 -1
- package/dist/lib/plugins/app-assets/static.js +0 -15
- package/dist/lib/plugins/app-assets/static.js.map +0 -1
- package/dist/lib/plugins/app-proxy/app-proxy-plugin.js +0 -125
- package/dist/lib/plugins/app-proxy/app-proxy-plugin.js.map +0 -1
- package/dist/lib/plugins/app-proxy/index.js +0 -2
- package/dist/lib/plugins/app-proxy/index.js.map +0 -1
- package/dist/lib/plugins/app-settings/index.js +0 -36
- package/dist/lib/plugins/app-settings/index.js.map +0 -1
- package/dist/lib/plugins/external-public/external-public-plugin.js +0 -101
- package/dist/lib/plugins/external-public/external-public-plugin.js.map +0 -1
- package/dist/lib/plugins/external-public/index.js +0 -2
- package/dist/lib/plugins/external-public/index.js.map +0 -1
- package/dist/lib/plugins/help-proxy/help-proxy-plugin.js +0 -78
- package/dist/lib/plugins/help-proxy/help-proxy-plugin.js.map +0 -1
- package/dist/lib/plugins/help-proxy/index.js +0 -2
- package/dist/lib/plugins/help-proxy/index.js.map +0 -1
- package/dist/lib/utils/assert.js +0 -28
- package/dist/lib/utils/assert.js.map +0 -1
- package/dist/lib/utils/config.js +0 -67
- package/dist/lib/utils/config.js.map +0 -1
- package/dist/lib/utils/expect.js.map +0 -1
- package/dist/lib/utils/file-exists.js.map +0 -1
- package/dist/lib/utils/parse-json-request.js.map +0 -1
- package/dist/lib/utils/ts-transpile.js +0 -45
- package/dist/lib/utils/ts-transpile.js.map +0 -1
- package/dist/lib/vite-config.js +0 -76
- package/dist/lib/vite-config.js.map +0 -1
- package/dist/lib/vite-logger.js +0 -21
- package/dist/lib/vite-logger.js.map +0 -1
- package/dist/schemas.js +0 -14
- package/dist/schemas.js.map +0 -1
- package/dist/types/bin/build-application.d.ts +0 -13
- package/dist/types/bin/bundle-application.d.ts +0 -4
- package/dist/types/bin/create-dev-serve.d.ts +0 -12
- package/dist/types/bin/create-export-config.d.ts +0 -13
- package/dist/types/bin/create-export-manifest.d.ts +0 -16
- package/dist/types/bin/dev-portal/AppLoader.d.ts +0 -11
- package/dist/types/bin/dev-portal/BookMarkSideSheet.d.ts +0 -6
- package/dist/types/bin/dev-portal/ContextSelector/ContextSelector.d.ts +0 -8
- package/dist/types/bin/dev-portal/ContextSelector/index.d.ts +0 -1
- package/dist/types/bin/dev-portal/ContextSelector/useContextResolver.d.ts +0 -15
- package/dist/types/bin/dev-portal/EquinorLoader.d.ts +0 -5
- package/dist/types/bin/dev-portal/ErrorViewer.d.ts +0 -4
- package/dist/types/bin/dev-portal/FusionLogo.d.ts +0 -6
- package/dist/types/bin/dev-portal/Header.Actions.d.ts +0 -7
- package/dist/types/bin/dev-portal/Header.d.ts +0 -2
- package/dist/types/bin/dev-portal/PersonSideSheet/index.d.ts +0 -11
- package/dist/types/bin/dev-portal/PersonSideSheet/sheets/FeatureSheetContent.d.ts +0 -6
- package/dist/types/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerApp.d.ts +0 -5
- package/dist/types/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerPortal.d.ts +0 -5
- package/dist/types/bin/dev-portal/PersonSideSheet/sheets/LandingSheetContent.d.ts +0 -5
- package/dist/types/bin/dev-portal/PersonSideSheet/sheets/Styled.d.ts +0 -6
- package/dist/types/bin/dev-portal/PersonSideSheet/sheets/index.d.ts +0 -2
- package/dist/types/bin/dev-portal/PersonSideSheet/sheets/types.d.ts +0 -5
- package/dist/types/bin/dev-portal/Router.d.ts +0 -1
- package/dist/types/bin/dev-portal/config.d.ts +0 -3
- package/dist/types/bin/dev-portal/main.d.ts +0 -1
- package/dist/types/bin/dev-portal/resources/fallback-photo.svg.d.ts +0 -2
- package/dist/types/bin/dev-portal/useAppContextNavigation.d.ts +0 -5
- package/dist/types/bin/main.d.ts +0 -1
- package/dist/types/bin/publish-application.d.ts +0 -6
- package/dist/types/bin/tag-application.d.ts +0 -12
- package/dist/types/bin/upload-application.d.ts +0 -6
- package/dist/types/bin/upload-export-config.d.ts +0 -10
- package/dist/types/bin/utils/execute-command.d.ts +0 -8
- package/dist/types/bin/utils/getEndpointUrl.d.ts +0 -10
- package/dist/types/bin/utils/isAppRegistered.d.ts +0 -5
- package/dist/types/bin/utils/load-app-config.d.ts +0 -10
- package/dist/types/bin/utils/load-manifest.d.ts +0 -10
- package/dist/types/bin/utils/load-package.d.ts +0 -5
- package/dist/types/bin/utils/load-vite-config.d.ts +0 -10
- package/dist/types/bin/utils/proxy-request-logger.d.ts +0 -15
- package/dist/types/bin/utils/publishAppConfig.d.ts +0 -9
- package/dist/types/bin/utils/requireToken.d.ts +0 -4
- package/dist/types/bin/utils/tagAppBundle.d.ts +0 -7
- package/dist/types/bin/utils/uploadAppBundle.d.ts +0 -7
- package/dist/types/lib/app-config.d.ts +0 -27
- package/dist/types/lib/app-manifest.d.ts +0 -52
- package/dist/types/lib/plugins/app-assets/app-asset-plugin.d.ts +0 -36
- package/dist/types/lib/plugins/app-assets/emit-asset.d.ts +0 -18
- package/dist/types/lib/plugins/app-assets/index.d.ts +0 -3
- package/dist/types/lib/plugins/app-assets/read-asset-content.d.ts +0 -14
- package/dist/types/lib/plugins/app-assets/resolve-asset-id.d.ts +0 -16
- package/dist/types/lib/plugins/app-assets/static.d.ts +0 -5
- package/dist/types/lib/plugins/app-proxy/app-proxy-plugin.d.ts +0 -89
- package/dist/types/lib/plugins/app-proxy/index.d.ts +0 -1
- package/dist/types/lib/plugins/app-settings/index.d.ts +0 -32
- package/dist/types/lib/plugins/external-public/external-public-plugin.d.ts +0 -30
- package/dist/types/lib/plugins/external-public/index.d.ts +0 -1
- package/dist/types/lib/plugins/help-proxy/help-proxy-plugin.d.ts +0 -42
- package/dist/types/lib/plugins/help-proxy/index.d.ts +0 -1
- package/dist/types/lib/utils/config.d.ts +0 -32
- package/dist/types/lib/utils/ts-transpile.d.ts +0 -2
- package/dist/types/lib/vite-config.d.ts +0 -17
- package/dist/types/lib/vite-logger.d.ts +0 -2
- package/dist/version.js +0 -3
- package/dist/version.js.map +0 -1
- /package/dist/{bin/dev-portal/PersonSideSheet/sheets → esm/lib}/types.js +0 -0
- /package/dist/{lib → esm/lib}/utils/expect.js +0 -0
- /package/dist/{lib → esm/lib}/utils/file-exists.js +0 -0
- /package/dist/{lib → esm/lib}/utils/types.js +0 -0
- /package/dist/types/{bin/main.app.d.ts → cli/commands/index.d.ts} +0 -0
- /package/dist/types/lib/{plugins/app-assets/extension-filter-pattern.d.ts → utils/extension-filter.d.ts} +0 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `resolve` command resolves and displays information about a service registered in Fusion service discovery.
|
|
3
|
+
*
|
|
4
|
+
* This command looks up a service by name and prints its discovery details using the current authentication and environment.
|
|
5
|
+
*
|
|
6
|
+
* Supports environment selection and authentication options.
|
|
7
|
+
*
|
|
8
|
+
* ## Examples
|
|
9
|
+
*
|
|
10
|
+
* ```sh
|
|
11
|
+
* $ fusion resolve my-service
|
|
12
|
+
* $ fusion resolve my-service --env prod
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* @command resolve
|
|
16
|
+
* @description Resolve and display information about a service registered in Fusion service discovery.
|
|
17
|
+
* @argument {string} service - Name of the service to resolve in Fusion service discovery.
|
|
18
|
+
* @option {string} --env - Environment to use (e.g., prod, test).
|
|
19
|
+
* @option {string} --token - Authentication token.
|
|
20
|
+
* @option {string} --tenantId - Tenant ID for authentication.
|
|
21
|
+
* @option {string} --clientId - Client ID for authentication.
|
|
22
|
+
* @returns {Promise<void>} Prints the resolved service details to the console.
|
|
23
|
+
*/
|
|
24
|
+
import { createCommand } from 'commander';
|
|
25
|
+
import { ConsoleLogger } from '../../../bin/utils';
|
|
26
|
+
import { initializeFramework } from '../../../lib/framework.node.js';
|
|
27
|
+
import { withAuthOptions } from '../../options/auth.js';
|
|
28
|
+
import { createEnvOption } from '../../options/env';
|
|
29
|
+
const command = withAuthOptions(createCommand('resolve')
|
|
30
|
+
.description([
|
|
31
|
+
'Resolve and display information about a service registered in Fusion service discovery.',
|
|
32
|
+
'',
|
|
33
|
+
'This command looks up a service by name and prints its discovery details using the current authentication and environment.',
|
|
34
|
+
'Supports environment selection and authentication options.',
|
|
35
|
+
'',
|
|
36
|
+
'Examples:',
|
|
37
|
+
' $ fusion resolve my-service',
|
|
38
|
+
' $ fusion resolve my-service --env prod',
|
|
39
|
+
].join('\n'))
|
|
40
|
+
.addOption(createEnvOption({ allowDev: false }))
|
|
41
|
+
.argument('<service>', 'Name of the service to resolve in Fusion service discovery')
|
|
42
|
+
.action(async (service, options) => {
|
|
43
|
+
const log = new ConsoleLogger('disco:resolve');
|
|
44
|
+
log.start('Initializing Fusion Framework...');
|
|
45
|
+
console.log('Options:', options);
|
|
46
|
+
const framework = await initializeFramework({
|
|
47
|
+
env: options.environment,
|
|
48
|
+
auth: {
|
|
49
|
+
token: options.token,
|
|
50
|
+
tenantId: options.tenantId,
|
|
51
|
+
clientId: options.clientId,
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
log.succeed('Initialized Fusion Framework');
|
|
55
|
+
log.start(`Resolving service ${service}...`);
|
|
56
|
+
const appClient = await framework.serviceDiscovery.resolveService(service);
|
|
57
|
+
log.succeed(`Resolved service ${service}`);
|
|
58
|
+
console.debug(appClient);
|
|
59
|
+
}));
|
|
60
|
+
export default command;
|
|
61
|
+
//# sourceMappingURL=resolve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../../../src/cli/commands/disco/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,OAAO,GAAG,eAAe,CAC7B,aAAa,CAAC,SAAS,CAAC;KACrB,WAAW,CACV;IACE,yFAAyF;IACzF,EAAE;IACF,4HAA4H;IAC5H,4DAA4D;IAC5D,EAAE;IACF,WAAW;IACX,+BAA+B;IAC/B,0CAA0C;CAC3C,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,SAAS,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;KAC/C,QAAQ,CAAC,WAAW,EAAE,4DAA4D,CAAC;KACnF,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,OAAO,EAAE,EAAE;IACzC,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,eAAe,CAAC,CAAC;IAE/C,GAAG,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC;QAC1C,GAAG,EAAE,OAAO,CAAC,WAAW;QACxB,IAAI,EAAE;YACJ,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B;KACF,CAAC,CAAC;IACH,GAAG,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAE5C,GAAG,CAAC,KAAK,CAAC,qBAAqB,OAAO,KAAK,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC3E,GAAG,CAAC,OAAO,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IAE3C,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAC3B,CAAC,CAAC,CACL,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import appCommand from './app';
|
|
2
|
+
import authCommands from './auth';
|
|
3
|
+
import discoCommand from './disco';
|
|
4
|
+
import portalCommand from './portal';
|
|
5
|
+
export default (program) => {
|
|
6
|
+
program.addCommand(appCommand);
|
|
7
|
+
program.addCommand(authCommands);
|
|
8
|
+
program.addCommand(discoCommand);
|
|
9
|
+
program.addCommand(portalCommand);
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/commands/index.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,OAAO,CAAC;AAC/B,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,YAAY,MAAM,SAAS,CAAC;AACnC,OAAO,aAAa,MAAM,UAAU,CAAC;AAErC,eAAe,CAAC,OAAgB,EAAE,EAAE;IAClC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC/B,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACjC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACjC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACpC,CAAC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { createCommand } from 'commander';
|
|
2
|
+
import { ConsoleLogger } from '../../../bin/utils';
|
|
3
|
+
import { buildPortal } from '../../../bin/portal-build.js';
|
|
4
|
+
export const command = createCommand('build')
|
|
5
|
+
.description([
|
|
6
|
+
'Build the Fusion portal using a manifest file and environment-specific configuration.',
|
|
7
|
+
'',
|
|
8
|
+
'If no manifest is provided, the command will search for a default app.manifest.[ts|js|json] in the current directory.',
|
|
9
|
+
'You can use environment variables to customize the build process.',
|
|
10
|
+
'',
|
|
11
|
+
'Examples:',
|
|
12
|
+
' $ fusion portal build',
|
|
13
|
+
' $ fusion portal build app.manifest.prod.ts --debug',
|
|
14
|
+
].join('\n'))
|
|
15
|
+
.option('-d, --debug', 'Enable debug mode for verbose logging', false)
|
|
16
|
+
.argument('[manifest]', 'Manifest build file to use for building (e.g., app.manifest[.env]?.[ts,js,json])')
|
|
17
|
+
.action(async (manifest, opt) => {
|
|
18
|
+
const log = new ConsoleLogger('portal:build', { debug: opt.debug });
|
|
19
|
+
await buildPortal({ log, manifest });
|
|
20
|
+
});
|
|
21
|
+
export default command;
|
|
22
|
+
//# sourceMappingURL=build.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../../../src/cli/commands/portal/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;KAC1C,WAAW,CACV;IACE,uFAAuF;IACvF,EAAE;IACF,uHAAuH;IACvH,mEAAmE;IACnE,EAAE;IACF,WAAW;IACX,yBAAyB;IACzB,sDAAsD;CACvD,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CAAC,aAAa,EAAE,uCAAuC,EAAE,KAAK,CAAC;KACrE,QAAQ,CACP,YAAY,EACZ,kFAAkF,CACnF;KACA,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;IAC9B,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IACpE,MAAM,WAAW,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEL,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { createCommand } from 'commander';
|
|
2
|
+
import { ConsoleLogger } from '../../../bin/utils';
|
|
3
|
+
import { startPortalDevServer } from '../../../bin/portal-dev.js';
|
|
4
|
+
export const command = createCommand('dev')
|
|
5
|
+
.description([
|
|
6
|
+
'Start the Fusion portal in development mode with live reloading and custom port support.',
|
|
7
|
+
'',
|
|
8
|
+
'This command launches a local development server for the portal, enabling rapid development and testing.',
|
|
9
|
+
'You can specify the port and enable debug mode for verbose logging.',
|
|
10
|
+
'',
|
|
11
|
+
'Examples:',
|
|
12
|
+
' $ fusion portal dev',
|
|
13
|
+
' $ fusion portal dev --port 4000 --debug',
|
|
14
|
+
].join('\n'))
|
|
15
|
+
.option('-p, --port <number>', 'Port to run the development server on', '3000')
|
|
16
|
+
.option('-d, --debug', 'Enable debug mode for verbose logging')
|
|
17
|
+
.action(async (options) => {
|
|
18
|
+
const log = new ConsoleLogger('portal:dev', { debug: options.debug });
|
|
19
|
+
log.start('Starting application in development mode...');
|
|
20
|
+
startPortalDevServer({ server: { port: Number(options.port) }, log });
|
|
21
|
+
log.succeed('Development server started successfully.');
|
|
22
|
+
});
|
|
23
|
+
export default command;
|
|
24
|
+
//# sourceMappingURL=dev.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../../../src/cli/commands/portal/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC;KACxC,WAAW,CACV;IACE,0FAA0F;IAC1F,EAAE;IACF,0GAA0G;IAC1G,qEAAqE;IACrE,EAAE;IACF,WAAW;IACX,uBAAuB;IACvB,2CAA2C;CAC5C,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CAAC,qBAAqB,EAAE,uCAAuC,EAAE,MAAM,CAAC;KAC9E,MAAM,CAAC,aAAa,EAAE,uCAAuC,CAAC;KAC9D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAEtE,GAAG,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACzD,oBAAoB,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACtE,GAAG,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEL,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { createCommand } from 'commander';
|
|
2
|
+
import devCommand from './dev.js';
|
|
3
|
+
import manifestCommand from './manifest.js';
|
|
4
|
+
import schemaCommand from './schema.js';
|
|
5
|
+
import buildCommand from './build.js';
|
|
6
|
+
import packCommand from './pack.js';
|
|
7
|
+
import uploadCommand from './upload.js';
|
|
8
|
+
import tagCommand from './tag.js';
|
|
9
|
+
import publishCommand from './publish.js';
|
|
10
|
+
export const command = createCommand('portal')
|
|
11
|
+
.description('Develop and deploy portal templates')
|
|
12
|
+
.addCommand(devCommand)
|
|
13
|
+
.addCommand(manifestCommand)
|
|
14
|
+
.addCommand(schemaCommand)
|
|
15
|
+
.addCommand(buildCommand)
|
|
16
|
+
.addCommand(packCommand)
|
|
17
|
+
.addCommand(uploadCommand)
|
|
18
|
+
.addCommand(tagCommand)
|
|
19
|
+
.addCommand(publishCommand);
|
|
20
|
+
export default command;
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/commands/portal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,UAAU,MAAM,UAAU,CAAC;AAClC,OAAO,eAAe,MAAM,eAAe,CAAC;AAC5C,OAAO,aAAa,MAAM,aAAa,CAAC;AACxC,OAAO,YAAY,MAAM,YAAY,CAAC;AACtC,OAAO,WAAW,MAAM,WAAW,CAAC;AACpC,OAAO,aAAa,MAAM,aAAa,CAAC;AACxC,OAAO,UAAU,MAAM,UAAU,CAAC;AAClC,OAAO,cAAc,MAAM,cAAc,CAAC;AAE1C,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC;KAC3C,WAAW,CAAC,qCAAqC,CAAC;KAClD,UAAU,CAAC,UAAU,CAAC;KACtB,UAAU,CAAC,eAAe,CAAC;KAC3B,UAAU,CAAC,aAAa,CAAC;KACzB,UAAU,CAAC,YAAY,CAAC;KACxB,UAAU,CAAC,WAAW,CAAC;KACvB,UAAU,CAAC,aAAa,CAAC;KACzB,UAAU,CAAC,UAAU,CAAC;KACtB,UAAU,CAAC,cAAc,CAAC,CAAC;AAE9B,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { createCommand } from 'commander';
|
|
2
|
+
import { dirname, resolve } from 'node:path';
|
|
3
|
+
import { mkdir } from 'node:fs/promises';
|
|
4
|
+
import { writeFile } from 'node:fs/promises';
|
|
5
|
+
import { stdout } from 'node:process';
|
|
6
|
+
import { loadPortalManifest } from '../../../bin';
|
|
7
|
+
import { ConsoleLogger } from '../../../bin/utils';
|
|
8
|
+
import { fileExistsSync } from '../../../lib/utils';
|
|
9
|
+
export const command = createCommand('manifest')
|
|
10
|
+
.description([
|
|
11
|
+
'Build and output the portal manifest for Fusion apps.',
|
|
12
|
+
'',
|
|
13
|
+
'By default, the manifest is printed to stdout. Use --output to write it to a file.',
|
|
14
|
+
'You can specify a custom manifest build file or use the default (app.manifest[.env]?.[ts,js,json]).',
|
|
15
|
+
'Supports debug and silent modes for flexible output.',
|
|
16
|
+
'',
|
|
17
|
+
'Examples:',
|
|
18
|
+
' $ fusion portal manifest',
|
|
19
|
+
' $ fusion portal manifest app.manifest.prod.ts --output ./dist/portal.manifest.json',
|
|
20
|
+
' $ fusion portal manifest --debug',
|
|
21
|
+
].join('\n'))
|
|
22
|
+
.option('-d, --debug', 'Enable debug mode for verbose logging', false)
|
|
23
|
+
.option('-o, --output <string>', 'Write manifest to the specified file', 'stdout')
|
|
24
|
+
.option('-s, --silent', 'Silent mode, suppresses output except errors')
|
|
25
|
+
.argument('[manifest]', 'Manifest build file to use (e.g., app.manifest[.env]?.[ts,js,json])')
|
|
26
|
+
.action(async (manifest, opt) => {
|
|
27
|
+
const log = opt.silent ? null : new ConsoleLogger('app:manifest', { debug: opt.debug });
|
|
28
|
+
const result = await loadPortalManifest({ log, manifest });
|
|
29
|
+
if (opt.output) {
|
|
30
|
+
const output = resolve(process.cwd(), opt.output);
|
|
31
|
+
log?.start('Writing manifest to file', opt.output);
|
|
32
|
+
// create the output directory if it doesn't exist
|
|
33
|
+
if (!fileExistsSync(dirname(output))) {
|
|
34
|
+
await mkdir(dirname(output), { recursive: true });
|
|
35
|
+
}
|
|
36
|
+
// write the manifest to the output file
|
|
37
|
+
await writeFile(output, JSON.stringify(result.manifest, null, 2));
|
|
38
|
+
log?.succeed('Manifest written to file', output);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
stdout.write(JSON.stringify(result.manifest, null, 2));
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
export default command;
|
|
45
|
+
//# sourceMappingURL=manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../../../src/cli/commands/portal/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC;KAC7C,WAAW,CACV;IACE,uDAAuD;IACvD,EAAE;IACF,oFAAoF;IACpF,qGAAqG;IACrG,sDAAsD;IACtD,EAAE;IACF,WAAW;IACX,4BAA4B;IAC5B,sFAAsF;IACtF,oCAAoC;CACrC,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CAAC,aAAa,EAAE,uCAAuC,EAAE,KAAK,CAAC;KACrE,MAAM,CAAC,uBAAuB,EAAE,sCAAsC,EAAE,QAAQ,CAAC;KACjF,MAAM,CAAC,cAAc,EAAE,8CAA8C,CAAC;KACtE,QAAQ,CAAC,YAAY,EAAE,qEAAqE,CAAC;KAC7F,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;IAC9B,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IACxF,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3D,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAClD,GAAG,EAAE,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACnD,kDAAkD;QAClD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACrC,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,wCAAwC;QACxC,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAClE,GAAG,EAAE,OAAO,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;AACH,CAAC,CAAC,CAAC;AACL,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { createCommand } from 'commander';
|
|
2
|
+
import { ConsoleLogger } from '../../../bin/utils';
|
|
3
|
+
import { bundlePortal } from '../../../bin';
|
|
4
|
+
export const command = createCommand('pack')
|
|
5
|
+
.description([
|
|
6
|
+
'Create a distributable bundle of the Fusion portal application for deployment.',
|
|
7
|
+
'',
|
|
8
|
+
'This command packages the portal app, allowing you to specify the output archive, manifest, and schema files.',
|
|
9
|
+
'Supports debug mode for verbose logging.',
|
|
10
|
+
'',
|
|
11
|
+
'Examples:',
|
|
12
|
+
' $ fusion portal pack',
|
|
13
|
+
' $ fusion portal pack --archive my-portal.zip --schema portal.schema.json',
|
|
14
|
+
' $ fusion portal pack app.manifest.prod.ts --debug',
|
|
15
|
+
].join('\n'))
|
|
16
|
+
.option('-a, --archive [string]', 'Name of the output archive file (default: out/bundle.zip)', 'out/bundle.zip')
|
|
17
|
+
.option('-d, --debug [boolean]', 'Enable debug mode for verbose logging', false)
|
|
18
|
+
.option('--schema [string]', 'Schema file to use for validation')
|
|
19
|
+
.argument('[manifest]', 'Manifest file to use for bundling (e.g., app.manifest[.env]?.[ts,js,json])')
|
|
20
|
+
.action(async (manifest, options) => {
|
|
21
|
+
const log = new ConsoleLogger('portal:pack', {
|
|
22
|
+
debug: options.debug,
|
|
23
|
+
});
|
|
24
|
+
await bundlePortal({
|
|
25
|
+
log,
|
|
26
|
+
manifest,
|
|
27
|
+
archive: options.archive,
|
|
28
|
+
schema: options.schema,
|
|
29
|
+
}).catch((error) => {
|
|
30
|
+
log.error('Failed to create package:', error);
|
|
31
|
+
process.exit(1);
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
export default command;
|
|
35
|
+
//# sourceMappingURL=pack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pack.js","sourceRoot":"","sources":["../../../../../src/cli/commands/portal/pack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;KACzC,WAAW,CACV;IACE,gFAAgF;IAChF,EAAE;IACF,+GAA+G;IAC/G,0CAA0C;IAC1C,EAAE;IACF,WAAW;IACX,wBAAwB;IACxB,4EAA4E;IAC5E,qDAAqD;CACtD,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CACL,wBAAwB,EACxB,2DAA2D,EAC3D,gBAAgB,CACjB;KACA,MAAM,CAAC,uBAAuB,EAAE,uCAAuC,EAAE,KAAK,CAAC;KAC/E,MAAM,CAAC,mBAAmB,EAAE,mCAAmC,CAAC;KAChE,QAAQ,CACP,YAAY,EACZ,4EAA4E,CAC7E;KACA,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;IAClC,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,aAAa,EAAE;QAC3C,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;IACH,MAAM,YAAY,CAAC;QACjB,GAAG;QACH,QAAQ;QACR,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACjB,GAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { createCommand } from 'commander';
|
|
2
|
+
import { withAuthOptions } from '../../options/auth.js';
|
|
3
|
+
import { createEnvOption } from '../../options/env.js';
|
|
4
|
+
import { ConsoleLogger } from '../../../bin/utils';
|
|
5
|
+
import { bundlePortal } from '../../../bin';
|
|
6
|
+
import { uploadPortalBundle } from '../../../bin/portal-upload.js';
|
|
7
|
+
import { tagPortal, AllowedTags } from '../../../bin/portal-tag.js';
|
|
8
|
+
import { initializeFramework } from '../../../lib/framework.node.js';
|
|
9
|
+
import chalk from 'chalk';
|
|
10
|
+
export const command = withAuthOptions(createCommand('publish')
|
|
11
|
+
.description([
|
|
12
|
+
'Build, upload, and tag your Fusion portal bundle for deployment to the Fusion portal registry.',
|
|
13
|
+
'',
|
|
14
|
+
'This command bundles the portal, uploads it to the registry, and applies a tag for versioning.',
|
|
15
|
+
'You can specify the environment, manifest file, schema, and tag. Debug mode and authentication options are supported.',
|
|
16
|
+
'',
|
|
17
|
+
'Examples:',
|
|
18
|
+
' $ fusion portal publish',
|
|
19
|
+
' $ fusion portal publish --env prod --manifest portal.manifest.prod.ts',
|
|
20
|
+
' $ fusion portal publish --tag latest --debug',
|
|
21
|
+
' $ fusion portal publish --schema portal.schema.json',
|
|
22
|
+
].join('\n'))
|
|
23
|
+
.option('-d, --debug', 'Enable debug mode for verbose logging', false)
|
|
24
|
+
.addOption(createEnvOption({ allowDev: false }))
|
|
25
|
+
.option('-m, --manifest [string]', 'Manifest file to use for bundling (e.g., portal.manifest.ts)')
|
|
26
|
+
.option('--schema [string]', 'Schema file to use for validation')
|
|
27
|
+
.option('-t, --tag [string]', `Tag to apply to the published portal (${Object.values(AllowedTags).join(' | ')})`, AllowedTags.Latest)
|
|
28
|
+
.action(async (options) => {
|
|
29
|
+
const log = new ConsoleLogger('portal:publish', {
|
|
30
|
+
debug: options.debug,
|
|
31
|
+
});
|
|
32
|
+
log?.info('Using environment:', chalk.redBright(options.env));
|
|
33
|
+
log.start('📦 Bundling Portal Template...');
|
|
34
|
+
const bundle = await bundlePortal({
|
|
35
|
+
log,
|
|
36
|
+
manifest: options.manifest,
|
|
37
|
+
schema: options.schema,
|
|
38
|
+
}).catch((error) => {
|
|
39
|
+
log.error('😢 Failed to create bundle:', error);
|
|
40
|
+
process.exit(1);
|
|
41
|
+
});
|
|
42
|
+
log.succeed('📦 Bundling completed');
|
|
43
|
+
log?.start('💾 Initializing Fusion Framework...');
|
|
44
|
+
const framework = await initializeFramework({
|
|
45
|
+
env: options.env,
|
|
46
|
+
auth: {
|
|
47
|
+
token: options.token,
|
|
48
|
+
tenantId: options.tenantId,
|
|
49
|
+
clientId: options.clientId,
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
log?.succeed('💾 Initialized Fusion Framework');
|
|
53
|
+
log.start('🚀 Uploading Portal Template...');
|
|
54
|
+
await uploadPortalBundle({ log, framework, fileOrBundle: bundle.archive }).catch((error) => {
|
|
55
|
+
log.error('😢 Failed to upload bundle:', error);
|
|
56
|
+
process.exit(1);
|
|
57
|
+
});
|
|
58
|
+
log.succeed('🚀 Upload completed');
|
|
59
|
+
log.start('🏷️ Tagging Portal Template...');
|
|
60
|
+
await tagPortal({
|
|
61
|
+
tag: options.tag,
|
|
62
|
+
name: bundle.manifest.name,
|
|
63
|
+
version: bundle.manifest.build.version,
|
|
64
|
+
framework,
|
|
65
|
+
log,
|
|
66
|
+
}).catch((error) => {
|
|
67
|
+
log.error('😢 Failed to tag Portal Template:', error);
|
|
68
|
+
process.exit(1);
|
|
69
|
+
});
|
|
70
|
+
log.succeed('🏷️ Tagging completed');
|
|
71
|
+
}));
|
|
72
|
+
export default command;
|
|
73
|
+
//# sourceMappingURL=publish.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../../../src/cli/commands/portal/publish.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { createCommand } from 'commander';
|
|
2
|
+
import Ajv2020 from 'ajv/dist/2020';
|
|
3
|
+
import { ConsoleLogger } from '../../../bin/utils/ConsoleLogger.js';
|
|
4
|
+
import { loadPortalSchema } from '../../../lib/portal';
|
|
5
|
+
import { writeFile } from '../../../lib/utils/write-file.js';
|
|
6
|
+
import { createEnvOption } from '../../options/env.js';
|
|
7
|
+
import { importJSON } from '@equinor/fusion-imports';
|
|
8
|
+
export const command = createCommand('schema')
|
|
9
|
+
.description([
|
|
10
|
+
'Generate and validate the JSON schema for the Fusion portal application.',
|
|
11
|
+
'',
|
|
12
|
+
'This command generates a schema file for your portal app, optionally writes it to a file, and can validate a JSON file against the generated schema.',
|
|
13
|
+
'Supports environment selection, debug mode, and output to stdout or file.',
|
|
14
|
+
'',
|
|
15
|
+
'Examples:',
|
|
16
|
+
' $ fusion portal schema',
|
|
17
|
+
' $ fusion portal schema --output portal.schema.json',
|
|
18
|
+
' $ fusion portal schema --validate my-config.json',
|
|
19
|
+
' $ fusion portal schema portal.schema.prod.ts --debug',
|
|
20
|
+
].join('\n'))
|
|
21
|
+
.addOption(createEnvOption({ allowDev: true }))
|
|
22
|
+
.option('-o, --output <string>', 'Output file name (default: stdout)', 'stdout')
|
|
23
|
+
.option('-d, --debug', 'Enable debug mode for verbose logging', false)
|
|
24
|
+
.option('-v, --validate <file>', 'Validate the generated schema against a JSON file')
|
|
25
|
+
.argument('[schema]', 'Schema build file to use (e.g., portal.schema[.env]?.[ts,js,json])')
|
|
26
|
+
.action(async (manifest, args) => {
|
|
27
|
+
const log = new ConsoleLogger('portal:schema', { debug: args.debug });
|
|
28
|
+
log.debug('Manifest file:', manifest);
|
|
29
|
+
log.debug('Current working directory:', process.cwd());
|
|
30
|
+
log.start('Generating schema for the application...');
|
|
31
|
+
const schemaResult = await loadPortalSchema({
|
|
32
|
+
command: 'build',
|
|
33
|
+
environment: args.environment,
|
|
34
|
+
mode: 'build',
|
|
35
|
+
root: process.cwd(),
|
|
36
|
+
});
|
|
37
|
+
log.debug('Schema:', JSON.stringify(schemaResult, null, 2));
|
|
38
|
+
log.succeed('Schema generated successfully!');
|
|
39
|
+
if (args.output) {
|
|
40
|
+
if (args.output === 'stdout') {
|
|
41
|
+
log.info('Schema:', JSON.stringify(schemaResult.schema, null, 2));
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
log.start(`Writing schema to ${args.output}`);
|
|
45
|
+
writeFile(args.output, JSON.stringify(schemaResult.schema, null, 2));
|
|
46
|
+
log.succeed(`Schema written to ${args.output}`);
|
|
47
|
+
}
|
|
48
|
+
process.exit(0);
|
|
49
|
+
}
|
|
50
|
+
if (args.validate) {
|
|
51
|
+
log.start('Validating schema against JSON file...');
|
|
52
|
+
const ajv = new Ajv2020({ strict: true });
|
|
53
|
+
const validate = ajv.compile(schemaResult.schema);
|
|
54
|
+
// import the JSON file to validate
|
|
55
|
+
const jsonValue = await importJSON(args.validate);
|
|
56
|
+
log.debug('JSON value:', JSON.stringify(jsonValue, null, 2));
|
|
57
|
+
const valid = validate(jsonValue);
|
|
58
|
+
if (!valid) {
|
|
59
|
+
log.fail('Schema validation failed:', JSON.stringify(validate.errors ?? 'Unknown error'));
|
|
60
|
+
process.exit(1);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
log.succeed('Schema validation passed!');
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
export default command;
|
|
68
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../../src/cli/commands/portal/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { createCommand } from 'commander';
|
|
2
|
+
import { createEnvOption } from '../../options/env.js';
|
|
3
|
+
import { withAuthOptions } from '../../options/auth.js';
|
|
4
|
+
import { tagPortal } from '../../../bin/portal-tag.js';
|
|
5
|
+
import { ConsoleLogger } from '../../../bin/utils/ConsoleLogger.js';
|
|
6
|
+
import { loadPortalManifest } from '../../../bin/portal-manifest.js';
|
|
7
|
+
import { initializeFramework } from '../../../lib';
|
|
8
|
+
export const command = withAuthOptions(createCommand('tag')
|
|
9
|
+
.description([
|
|
10
|
+
'Tag your Fusion portal application with a specific version or preview in the Fusion portal registry.',
|
|
11
|
+
'',
|
|
12
|
+
'This command applies a tag to the specified portal version, making it easy to manage releases and previews.',
|
|
13
|
+
'You can provide the portal name and version directly, or let the command resolve them from the manifest file.',
|
|
14
|
+
'Supports environment selection, debug, and silent modes.',
|
|
15
|
+
'',
|
|
16
|
+
'Examples:',
|
|
17
|
+
' $ fusion portal tag latest',
|
|
18
|
+
' $ fusion portal tag preview --env prod --manifest portal.manifest.prod.ts',
|
|
19
|
+
' $ fusion portal tag stable --name my-portal --version 1.2.3',
|
|
20
|
+
].join('\n'))
|
|
21
|
+
.addOption(createEnvOption({ allowDev: false }))
|
|
22
|
+
.option('-n, --name <string>', 'Portal name (if not provided, resolved from manifest)')
|
|
23
|
+
.option('-m, --manifest <string>', 'Manifest file to use for resolving portal name and version (only used when --name or --version is not provided)')
|
|
24
|
+
.option('-v, --version <string>', 'Version to tag (if not provided, resolved from manifest)')
|
|
25
|
+
.option('-d, --debug', 'Enable debug mode for verbose logging')
|
|
26
|
+
.option('--silent', 'Silent mode, suppresses output except errors')
|
|
27
|
+
.argument('<tag>', 'Tag to apply (latest | preview)')
|
|
28
|
+
.action(async (tag, options) => {
|
|
29
|
+
const log = options.silent ? null : new ConsoleLogger('app:tag', { debug: options.debug });
|
|
30
|
+
const env = {
|
|
31
|
+
command: 'build',
|
|
32
|
+
environment: options.env,
|
|
33
|
+
mode: process.env.NODE_ENV ?? 'production',
|
|
34
|
+
root: process.cwd(),
|
|
35
|
+
};
|
|
36
|
+
let name = options.name;
|
|
37
|
+
let version = options.version;
|
|
38
|
+
if (!name || !version) {
|
|
39
|
+
const { manifest: portalManifest } = await loadPortalManifest({
|
|
40
|
+
log,
|
|
41
|
+
manifest: options.manifest,
|
|
42
|
+
env,
|
|
43
|
+
});
|
|
44
|
+
name = name ?? portalManifest.name;
|
|
45
|
+
version = version ?? portalManifest.build?.version;
|
|
46
|
+
}
|
|
47
|
+
log?.start('Initializing Fusion Framework...');
|
|
48
|
+
const framework = await initializeFramework({
|
|
49
|
+
env: options.env,
|
|
50
|
+
auth: {
|
|
51
|
+
token: options.token,
|
|
52
|
+
tenantId: options.tenantId,
|
|
53
|
+
clientId: options.clientId,
|
|
54
|
+
},
|
|
55
|
+
});
|
|
56
|
+
log?.succeed('Initialized Fusion Framework');
|
|
57
|
+
tagPortal({
|
|
58
|
+
tag,
|
|
59
|
+
name,
|
|
60
|
+
version,
|
|
61
|
+
framework,
|
|
62
|
+
log,
|
|
63
|
+
}).catch((error) => {
|
|
64
|
+
log?.error('😢 Failed to tag application:', error);
|
|
65
|
+
process.exit(1);
|
|
66
|
+
});
|
|
67
|
+
}));
|
|
68
|
+
export default command;
|
|
69
|
+
//# sourceMappingURL=tag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../../../src/cli/commands/portal/tag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,EAAmB,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEpE,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CACpC,aAAa,CAAC,KAAK,CAAC;KACjB,WAAW,CACV;IACE,sGAAsG;IACtG,EAAE;IACF,6GAA6G;IAC7G,+GAA+G;IAC/G,0DAA0D;IAC1D,EAAE;IACF,WAAW;IACX,8BAA8B;IAC9B,6EAA6E;IAC7E,+DAA+D;CAChE,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,SAAS,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;KAC/C,MAAM,CAAC,qBAAqB,EAAE,uDAAuD,CAAC;KACtF,MAAM,CACL,yBAAyB,EACzB,iHAAiH,CAClH;KACA,MAAM,CAAC,wBAAwB,EAAE,0DAA0D,CAAC;KAC5F,MAAM,CAAC,aAAa,EAAE,uCAAuC,CAAC;KAC9D,MAAM,CAAC,UAAU,EAAE,8CAA8C,CAAC;KAClE,QAAQ,CAAC,OAAO,EAAE,iCAAiC,CAAC;KACpD,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;IAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAE3F,MAAM,GAAG,GAAe;QACtB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,OAAO,CAAC,GAAG;QACxB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,YAAY;QAC1C,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE;KACpB,CAAC;IAEF,IAAI,IAAI,GAAW,OAAO,CAAC,IAAI,CAAC;IAChC,IAAI,OAAO,GAAW,OAAO,CAAC,OAAO,CAAC;IACtC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACtB,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,MAAM,kBAAkB,CAAC;YAC5D,GAAG;YACH,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,GAAG;SACJ,CAAC,CAAC;QACH,IAAI,GAAG,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC;QACnC,OAAO,GAAG,OAAO,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC;IACrD,CAAC;IAED,GAAG,EAAE,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC;QAC1C,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,IAAI,EAAE;YACJ,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B;KACF,CAAC,CAAC;IACH,GAAG,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAE7C,SAAS,CAAC;QACR,GAAG;QACH,IAAI;QACJ,OAAO;QACP,SAAS;QACT,GAAG;KACJ,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACjB,GAAG,EAAE,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CACL,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { createCommand } from 'commander';
|
|
2
|
+
import { withAuthOptions } from '../../options/auth.js';
|
|
3
|
+
import { createEnvOption } from '../../options/env.js';
|
|
4
|
+
import { ConsoleLogger } from '../../../bin/utils';
|
|
5
|
+
import { initializeFramework } from '../../../lib';
|
|
6
|
+
import { uploadPortalBundle } from '../../../bin/portal-upload.js';
|
|
7
|
+
export const command = withAuthOptions(createCommand('upload')
|
|
8
|
+
.description([
|
|
9
|
+
'Upload a Fusion portal bundle to the Fusion portal registry for deployment.',
|
|
10
|
+
'',
|
|
11
|
+
'This command uploads a distributable portal bundle to the Fusion portal registry using the current authentication and environment.',
|
|
12
|
+
'Supports debug mode and custom environment selection.',
|
|
13
|
+
'',
|
|
14
|
+
'Examples:',
|
|
15
|
+
' $ fusion portal upload my-portal-bundle.zip',
|
|
16
|
+
' $ fusion portal upload my-portal-bundle.zip --env prod',
|
|
17
|
+
' $ fusion portal upload my-portal-bundle.zip --debug',
|
|
18
|
+
].join('\n'))
|
|
19
|
+
.option('-d, --debug [boolean]', 'Enable debug mode for verbose logging', false)
|
|
20
|
+
.addOption(createEnvOption({ allowDev: false }))
|
|
21
|
+
.argument('<bundle>', 'Portal bundle to upload (e.g., out/bundle.zip)')
|
|
22
|
+
.action(async (bundle, options) => {
|
|
23
|
+
const log = new ConsoleLogger('portal:upload', { debug: options.debug });
|
|
24
|
+
log?.start('Initializing Fusion Framework...');
|
|
25
|
+
const framework = await initializeFramework({
|
|
26
|
+
env: options.env,
|
|
27
|
+
auth: {
|
|
28
|
+
token: options.token,
|
|
29
|
+
tenantId: options.tenantId,
|
|
30
|
+
clientId: options.clientId,
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
log?.succeed('Initialized Fusion Framework');
|
|
34
|
+
await uploadPortalBundle({ log, framework, fileOrBundle: bundle }).catch((error) => {
|
|
35
|
+
log.error('Failed to upload bundle:', error);
|
|
36
|
+
process.exit(1);
|
|
37
|
+
});
|
|
38
|
+
}));
|
|
39
|
+
export default command;
|
|
40
|
+
//# sourceMappingURL=upload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../../../../../src/cli/commands/portal/upload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CACpC,aAAa,CAAC,QAAQ,CAAC;KACpB,WAAW,CACV;IACE,6EAA6E;IAC7E,EAAE;IACF,oIAAoI;IACpI,uDAAuD;IACvD,EAAE;IACF,WAAW;IACX,+CAA+C;IAC/C,0DAA0D;IAC1D,uDAAuD;CACxD,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CAAC,uBAAuB,EAAE,uCAAuC,EAAE,KAAK,CAAC;KAC/E,SAAS,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;KAC/C,QAAQ,CAAC,UAAU,EAAE,gDAAgD,CAAC;KACtE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAChC,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAEzE,GAAG,EAAE,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC;QAC1C,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,IAAI,EAAE;YACJ,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B;KACF,CAAC,CAAC;IACH,GAAG,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAC7C,MAAM,kBAAkB,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACjF,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CACL,CAAC;AACF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Entry point for the Fusion Framework CLI.
|
|
3
|
+
*
|
|
4
|
+
* This file sets up the CLI program, loads the package metadata, and registers all available commands.
|
|
5
|
+
*
|
|
6
|
+
* Key responsibilities:
|
|
7
|
+
* - Locates the CLI's root directory and package.json using read-package-up.
|
|
8
|
+
* - Sets the CLI_BIN environment variable for internal use.
|
|
9
|
+
* - Initializes the Commander.js program with name, version, and description from package.json.
|
|
10
|
+
* - Registers all CLI commands via the registerCommands function.
|
|
11
|
+
* - Parses process arguments and starts the CLI.
|
|
12
|
+
*
|
|
13
|
+
* Maintenance notes:
|
|
14
|
+
* - To add new commands, update the registerCommands module.
|
|
15
|
+
* - To change CLI metadata (name, version, description), update package.json.
|
|
16
|
+
* - This file should remain minimal and only handle top-level CLI setup logic.
|
|
17
|
+
* - For troubleshooting, ensure the CLI_BIN path is set correctly and that package.json is accessible.
|
|
18
|
+
*
|
|
19
|
+
* For more details, see the Fusion Framework CLI documentation or contact the maintainers.
|
|
20
|
+
*/
|
|
21
|
+
import { fileURLToPath } from 'node:url';
|
|
22
|
+
import { dirname, resolve } from 'node:path';
|
|
23
|
+
/** find cli package.json */
|
|
24
|
+
import { readPackageUpSync } from 'read-package-up';
|
|
25
|
+
// try to find the package.json of the CLI
|
|
26
|
+
const pkg = readPackageUpSync({ cwd: fileURLToPath(import.meta.url) });
|
|
27
|
+
if (!pkg) {
|
|
28
|
+
throw Error('failed to find program root');
|
|
29
|
+
}
|
|
30
|
+
// set the CLI_BIN environment variable to the path of the CLI binary
|
|
31
|
+
process.env.CLI_BIN = resolve(dirname(pkg.path), String(pkg.packageJson.bin?.['fusion-framework-cli']));
|
|
32
|
+
import { Command } from 'commander';
|
|
33
|
+
// Create the main CLI program instance
|
|
34
|
+
const program = new Command();
|
|
35
|
+
program.name(pkg.packageJson.name);
|
|
36
|
+
program.description([
|
|
37
|
+
`${pkg.packageJson.name}@${pkg.packageJson.version}`,
|
|
38
|
+
'',
|
|
39
|
+
'Fusion Framework CLI',
|
|
40
|
+
'',
|
|
41
|
+
'A toolkit for building, packaging, deploying, and managing Fusion applications and portals.',
|
|
42
|
+
'',
|
|
43
|
+
'• Run fusion <command> --help for details on any command.',
|
|
44
|
+
'• For documentation, issues, and source code, visit:',
|
|
45
|
+
` ${pkg.packageJson.homepage}`,
|
|
46
|
+
].join('\n'));
|
|
47
|
+
program.version(pkg.packageJson.version, '-V, --version', 'CLI version');
|
|
48
|
+
import registerCommands from './commands';
|
|
49
|
+
registerCommands(program);
|
|
50
|
+
/** read action and options and start programs */
|
|
51
|
+
program.parse();
|
|
52
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/cli/main.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE7C,4BAA4B;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,0CAA0C;AAC1C,MAAM,GAAG,GAAG,iBAAiB,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACvE,IAAI,CAAC,GAAG,EAAE,CAAC;IACT,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC;AAC7C,CAAC;AAED,qEAAqE;AACrE,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EACjB,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,CAAC,CACtD,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,uCAAuC;AACvC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAC9B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACnC,OAAO,CAAC,WAAW,CACjB;IACE,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE;IACpD,EAAE;IACF,sBAAsB;IACtB,EAAE;IACF,6FAA6F;IAC7F,EAAE;IACF,2DAA2D;IAC3D,sDAAsD;IACtD,KAAK,GAAG,CAAC,WAAW,CAAC,QAAQ,EAAE;CAChC,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;AACF,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;AAEzE,OAAO,gBAAgB,MAAM,YAAY,CAAC;AAE1C,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAE1B,iDAAiD;AACjD,OAAO,CAAC,KAAK,EAAE,CAAC"}
|