@equinor/fusion-framework-cli 10.7.4 → 11.0.0-next.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/CHANGELOG.md +44 -0
- package/README.md +144 -17
- 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/package.json +47 -68
- 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-Cyqq53lr.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 @@
|
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../../src/cli/commands/auth/login.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { createCommand } from 'commander';
|
|
2
|
+
import { ConsoleLogger } from '../../../bin/utils';
|
|
3
|
+
import { initializeFramework } from '../../../lib/framework.node.js';
|
|
4
|
+
import { withAuthOptions } from '../../options/auth.js';
|
|
5
|
+
/**
|
|
6
|
+
* Command to log out from Fusion Framework and clear your authentication session.
|
|
7
|
+
*
|
|
8
|
+
* This command removes your current authentication state from the Fusion Framework CLI.
|
|
9
|
+
* Supports custom tenant and client options for advanced scenarios.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* $ fusion logout
|
|
13
|
+
* $ fusion logout --tenant my-tenant --client my-client-id
|
|
14
|
+
*/
|
|
15
|
+
export const command = createCommand('logout')
|
|
16
|
+
.description([
|
|
17
|
+
'Log out from Fusion Framework and clear your authentication session.',
|
|
18
|
+
'',
|
|
19
|
+
'This command removes your current authentication state from the Fusion Framework CLI.',
|
|
20
|
+
'Supports custom tenant and client options for advanced scenarios.',
|
|
21
|
+
'',
|
|
22
|
+
'Examples:',
|
|
23
|
+
' $ fusion logout',
|
|
24
|
+
' $ fusion logout --tenant my-tenant --client my-client-id',
|
|
25
|
+
].join('\n'))
|
|
26
|
+
.action(async (options) => {
|
|
27
|
+
const log = new ConsoleLogger('auth:logout', { debug: options.debug });
|
|
28
|
+
log.start('Initializing Fusion Framework...');
|
|
29
|
+
const framework = await initializeFramework({
|
|
30
|
+
auth: {
|
|
31
|
+
tenantId: options.tenantId,
|
|
32
|
+
clientId: options.clientId,
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
log.succeed('Initialized Fusion Framework');
|
|
36
|
+
try {
|
|
37
|
+
log.start('Logging in...');
|
|
38
|
+
await framework.auth.logout();
|
|
39
|
+
log.succeed('Successfully logged out');
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
log.fail('Failed to log out 🥺', JSON.stringify({ tenant: options.tenant, client: options.clientId }, undefined, 2));
|
|
43
|
+
throw error;
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
/**
|
|
47
|
+
* Adds authentication options to the logout command.
|
|
48
|
+
* @see withAuthOptions
|
|
49
|
+
*/
|
|
50
|
+
withAuthOptions(command, {
|
|
51
|
+
excludeToken: true,
|
|
52
|
+
includeScope: false,
|
|
53
|
+
});
|
|
54
|
+
export default command;
|
|
55
|
+
//# sourceMappingURL=logout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logout.js","sourceRoot":"","sources":["../../../../../src/cli/commands/auth/logout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC;KAC3C,WAAW,CACV;IACE,sEAAsE;IACtE,EAAE;IACF,uFAAuF;IACvF,mEAAmE;IACnE,EAAE;IACF,WAAW;IACX,mBAAmB;IACnB,4DAA4D;CAC7D,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAEvE,GAAG,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC;QAC1C,IAAI,EAAE;YACJ,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B;KACF,CAAC,CAAC;IACH,GAAG,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAE5C,IAAI,CAAC;QACH,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC3B,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9B,GAAG,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,IAAI,CACN,sBAAsB,EACtB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,CACnF,CAAC;QACF,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC,CAAC;AAEL;;;GAGG;AACH,eAAe,CAAC,OAAO,EAAE;IACvB,YAAY,EAAE,IAAI;IAClB,YAAY,EAAE,KAAK;CACpB,CAAC,CAAC;AAEH,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { createCommand } from 'commander';
|
|
2
|
+
import { NoAccountsError } from '@equinor/fusion-framework-module-msal-node/error';
|
|
3
|
+
import { ConsoleLogger } from '../../../bin/utils';
|
|
4
|
+
import { initializeFramework } from '../../../lib/framework.node.js';
|
|
5
|
+
import { withAuthOptions } from '../../options/auth.js';
|
|
6
|
+
/**
|
|
7
|
+
* Command to acquire and print an access token for Fusion APIs using your current authentication context.
|
|
8
|
+
*
|
|
9
|
+
* This command retrieves an access token for the specified scopes, tenant, and client.
|
|
10
|
+
* Supports debug and silent modes for flexible output.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* $ fusion token
|
|
14
|
+
* $ fusion token --scope api://my-app/.default
|
|
15
|
+
* $ fusion token --tenant my-tenant --client my-client-id --silent
|
|
16
|
+
*/
|
|
17
|
+
export const command = createCommand('token')
|
|
18
|
+
.description([
|
|
19
|
+
'Acquire and print an access token for Fusion APIs using your current authentication context.',
|
|
20
|
+
'',
|
|
21
|
+
'This command retrieves an access token for the specified scopes, tenant, and client.',
|
|
22
|
+
'Supports debug and silent modes for flexible output.',
|
|
23
|
+
'',
|
|
24
|
+
'Examples:',
|
|
25
|
+
' $ fusion token',
|
|
26
|
+
' $ fusion token --scope api://my-app/.default',
|
|
27
|
+
' $ fusion token --tenant my-tenant --client my-client-id --silent',
|
|
28
|
+
].join('\n'))
|
|
29
|
+
.option('-d, --debug', 'Enable debug mode for verbose logging', false)
|
|
30
|
+
.option('--silent', 'Only output the token (no extra logging)')
|
|
31
|
+
.action(async (options) => {
|
|
32
|
+
const log = options.silent ? null : new ConsoleLogger('auth:token', { debug: options.debug });
|
|
33
|
+
const scopes = typeof options.scope === 'string' ? [options.scope] : options.scope;
|
|
34
|
+
console.log('options');
|
|
35
|
+
log?.info('Using tenant', options.tenantId);
|
|
36
|
+
log?.info('Using client', options.clientId);
|
|
37
|
+
log?.info('Using scope', JSON.stringify(scopes));
|
|
38
|
+
log?.start('Initializing Fusion Framework...');
|
|
39
|
+
const framework = await initializeFramework({
|
|
40
|
+
auth: {
|
|
41
|
+
tenantId: options.tenantId,
|
|
42
|
+
clientId: options.clientId,
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
log?.succeed('Initialized Fusion Framework');
|
|
46
|
+
try {
|
|
47
|
+
log?.start('Getting access token...');
|
|
48
|
+
const accessToken = await framework.auth.acquireAccessToken({ scopes });
|
|
49
|
+
log?.succeed('Successfully acquired access token');
|
|
50
|
+
if (options.silent) {
|
|
51
|
+
console.log(accessToken);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
log?.info('Access token:', accessToken);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
if (!options.silent && error instanceof NoAccountsError) {
|
|
59
|
+
log?.fail('No accounts found, please login first');
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
throw error;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
/**
|
|
67
|
+
* Adds authentication options to the token command.
|
|
68
|
+
* @see withAuthOptions
|
|
69
|
+
*/
|
|
70
|
+
withAuthOptions(command, {
|
|
71
|
+
includeScope: true,
|
|
72
|
+
});
|
|
73
|
+
export default command;
|
|
74
|
+
//# sourceMappingURL=token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../../../src/cli/commands/auth/token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAEnF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;KAC1C,WAAW,CACV;IACE,8FAA8F;IAC9F,EAAE;IACF,sFAAsF;IACtF,sDAAsD;IACtD,EAAE;IACF,WAAW;IACX,kBAAkB;IAClB,gDAAgD;IAChD,oEAAoE;CACrE,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CAAC,aAAa,EAAE,uCAAuC,EAAE,KAAK,CAAC;KACrE,MAAM,CAAC,UAAU,EAAE,0CAA0C,CAAC;KAC9D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAE9F,MAAM,MAAM,GAAG,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAEnF,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEvB,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,GAAG,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAEjD,GAAG,EAAE,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC;QAC1C,IAAI,EAAE;YACJ,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B;KACF,CAAC,CAAC;IACH,GAAG,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAE7C,IAAI,CAAC;QACH,GAAG,EAAE,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACtC,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACxE,GAAG,EAAE,OAAO,CAAC,oCAAoC,CAAC,CAAC;QACnD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;YACxD,GAAG,EAAE,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC;AAEL;;;GAGG;AACH,eAAe,CAAC,OAAO,EAAE;IACvB,YAAY,EAAE,IAAI;CACnB,CAAC,CAAC;AAEH,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createCommand } from 'commander';
|
|
2
|
+
import resolveCommand from './resolve.js';
|
|
3
|
+
const command = createCommand('disco').description('Service discovery operations');
|
|
4
|
+
command.addCommand(resolveCommand);
|
|
5
|
+
export default command;
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/commands/disco/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,cAAc,MAAM,cAAc,CAAC;AAE1C,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAC;AAEnF,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AAEnC,eAAe,OAAO,CAAC"}
|
|
@@ -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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"}
|