@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 @@
|
|
|
1
|
+
{"version":3,"file":"portal-dev.js","sourceRoot":"","sources":["../../../src/bin/portal-dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,eAAe,EAAsB,MAAM,SAAS,CAAC;AAE9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAE7E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,OAuB1C,EAAE,EAAE;IACH,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAE9B,oFAAoF;IACpF,MAAM,QAAQ,GAAG,sCAAsC,CAAC;IAExD,+DAA+D;IAC/D,MAAM,GAAG,GAAG,MAAM,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAE7C,mDAAmD;IACnD,MAAM,GAAG,GAAe;QACtB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,WAAW,EAAE,OAAO,EAAE,oCAAoC;QAC1D,GAAG,OAAO,EAAE,GAAG,EAAE,+BAA+B;QAChD,IAAI,EAAE,aAAa,EAAE,yBAAyB;QAC9C,OAAO,EAAE,OAAO,EAAE,oCAAoC;KACvD,CAAC;IAEF,6CAA6C;IAC7C,yDAAyD;IACzD,MAAM,qBAAqB,GAAG,KAAK,EAAE,GAAG,IAAe,EAAE,EAAE;QACzD,8EAA8E;QAC9E,OAAO;YACL,EAAE,EAAE,kBAAkB;YACtB,KAAK,EAAE;gBACL,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,cAAc,CAAC;gBACnD,+CAA+C;gBAC/C,QAAQ,EAAE,EAAE;aACb;SACF,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,cAAc,GAAG,MAAM,qBAAqB,EAAE,CAAC;IAErD,uDAAuD;IACvD,MAAM,mBAAmB,GAAG,KAAK,EAAE,GAAG,IAAe,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;IAE3E,gEAAgE;IAChE,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAEtF,GAAG,EAAE,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAEjD,4EAA4E;IAC5E,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE;QAC3C,QAAQ,EAAE;YACR,MAAM,EAAE;gBACN,EAAE,EAAE,cAAc,CAAC,EAAE;aACtB;SACF;QACD,MAAM,EAAE;YACN,QAAQ,EAAE,cAAc;YACxB,MAAM,EAAE,YAAY;SACrB;QACD,MAAM,EAAE;YACN,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI;SAC5B;KACF,CAAC,CAAC;IAEH,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC;IAEzB,gDAAgD;IAChD,GAAG,EAAE,OAAO,CAAC,qCAAqC,SAAS,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAExF,iDAAiD;IACjD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { resolvePortalManifest } from './helpers/resolve-portal-manifest.js';
|
|
2
|
+
import { resolveProjectPackage } from './helpers/resolve-project-package.js';
|
|
3
|
+
/**
|
|
4
|
+
* Loads and resolves the portal manifest based on the provided options.
|
|
5
|
+
*
|
|
6
|
+
* This function resolves the app package, sets up the runtime environment, and loads the portal manifest.
|
|
7
|
+
* Logging is supported for debugging and progress tracking. Returns the manifest, package, and environment.
|
|
8
|
+
*
|
|
9
|
+
* @param options - The options for resolving the portal manifest.
|
|
10
|
+
* @returns An object containing the resolved manifest, package, and runtime environment.
|
|
11
|
+
* @throws Will throw an error if resolving the application package or manifest fails.
|
|
12
|
+
* @public
|
|
13
|
+
*/
|
|
14
|
+
export const loadPortalManifest = async (options) => {
|
|
15
|
+
const { log } = options ?? {};
|
|
16
|
+
// Resolve the application's package.json for root and metadata
|
|
17
|
+
const pkg = await resolveProjectPackage(log);
|
|
18
|
+
log?.debug('package', pkg);
|
|
19
|
+
// Setup the runtime environment for manifest resolution
|
|
20
|
+
const env = {
|
|
21
|
+
command: 'build',
|
|
22
|
+
mode: process.env.NODE_ENV ?? 'production',
|
|
23
|
+
root: pkg.root,
|
|
24
|
+
...options?.env, // Allow overrides from options
|
|
25
|
+
};
|
|
26
|
+
log?.debug('env:', env);
|
|
27
|
+
// Resolve the portal manifest using the environment and manifest path
|
|
28
|
+
const manifest = await resolvePortalManifest(env, pkg, {
|
|
29
|
+
log,
|
|
30
|
+
manifestPath: options?.manifest,
|
|
31
|
+
});
|
|
32
|
+
log?.debug('manifest:', manifest);
|
|
33
|
+
// Return the resolved manifest, package, and environment for further use
|
|
34
|
+
return { manifest, pkg, env };
|
|
35
|
+
};
|
|
36
|
+
// Export as default for compatibility with import patterns
|
|
37
|
+
export default loadPortalManifest;
|
|
38
|
+
//# sourceMappingURL=portal-manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portal-manifest.js","sourceRoot":"","sources":["../../../src/bin/portal-manifest.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AA0B7E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,OAAqC,EAAE,EAAE;IAChF,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAE9B,+DAA+D;IAC/D,MAAM,GAAG,GAAG,MAAM,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAE7C,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC3B,wDAAwD;IACxD,MAAM,GAAG,GAAe;QACtB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,YAAY;QAC1C,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,GAAG,OAAO,EAAE,GAAG,EAAE,+BAA+B;KACjD,CAAC;IAEF,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAExB,sEAAsE;IACtE,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE;QACrD,GAAG;QACH,YAAY,EAAE,OAAO,EAAE,QAAQ;KAChC,CAAC,CAAC;IAEH,GAAG,EAAE,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAElC,yEAAyE;IACzE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAChC,CAAC,CAAC;AAEF,2DAA2D;AAC3D,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { loadPortalSchema } from '../lib/portal';
|
|
2
|
+
import { pack } from './pack';
|
|
3
|
+
import { buildPortal } from './portal-build';
|
|
4
|
+
/**
|
|
5
|
+
* Bundles the portal into an archive for distribution or deployment.
|
|
6
|
+
*
|
|
7
|
+
* This function builds the portal, validates the manifest, loads the schema, and creates an archive containing
|
|
8
|
+
* the portal manifest, schema, and metadata. Handles errors and logs progress for maintainability and debugging.
|
|
9
|
+
*
|
|
10
|
+
* @param options - Options for logger, manifest path, schema path, and archive name.
|
|
11
|
+
* @returns An object containing the archive path, portal manifest, and schema.
|
|
12
|
+
* @throws If the manifest build config is missing or packaging fails.
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
15
|
+
export const bundlePortal = async (options) => {
|
|
16
|
+
const { log, manifest } = options;
|
|
17
|
+
// Setup a default runtime environment for the build
|
|
18
|
+
const env = {
|
|
19
|
+
command: 'build',
|
|
20
|
+
mode: process.env.NODE_ENV ?? 'production',
|
|
21
|
+
environment: null,
|
|
22
|
+
root: process.cwd(),
|
|
23
|
+
};
|
|
24
|
+
// Build the portal and retrieve the manifest and package info
|
|
25
|
+
const { pkg, manifest: portalManifest } = await buildPortal({
|
|
26
|
+
log,
|
|
27
|
+
manifest,
|
|
28
|
+
});
|
|
29
|
+
// Ensure the manifest contains build configuration
|
|
30
|
+
if (!portalManifest.build) {
|
|
31
|
+
throw new Error('Manifest build config not found');
|
|
32
|
+
}
|
|
33
|
+
// Load the portal schema for validation and inclusion in the archive
|
|
34
|
+
const schemaResult = await loadPortalSchema(env, { file: options?.schema });
|
|
35
|
+
log?.debug('Schema:', schemaResult);
|
|
36
|
+
// Create the archive with the portal manifest, schema, and metadata
|
|
37
|
+
const result = await pack(pkg, {
|
|
38
|
+
log,
|
|
39
|
+
archive: options?.archive,
|
|
40
|
+
content: {
|
|
41
|
+
'portal-template-manifest.json': JSON.stringify(portalManifest.build, null, 2),
|
|
42
|
+
'portal.schema.json': JSON.stringify(schemaResult.schema, null, 2),
|
|
43
|
+
'metadata.json': JSON.stringify({
|
|
44
|
+
name: portalManifest.name,
|
|
45
|
+
version: portalManifest.build.version,
|
|
46
|
+
}),
|
|
47
|
+
},
|
|
48
|
+
}).catch((error) => {
|
|
49
|
+
// Log and exit if packaging fails
|
|
50
|
+
log?.error('Failed to create package:', error);
|
|
51
|
+
process.exit(1);
|
|
52
|
+
});
|
|
53
|
+
// Return the archive path, manifest, and schema for further use
|
|
54
|
+
return {
|
|
55
|
+
archive: result,
|
|
56
|
+
manifest: portalManifest,
|
|
57
|
+
schema: schemaResult.schema,
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=portal-pack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portal-pack.js","sourceRoot":"","sources":["../../../src/bin/portal-pack.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAwB7C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,OAA4B,EAAE,EAAE;IACjE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAElC,oDAAoD;IACpD,MAAM,GAAG,GAAe;QACtB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,YAAY;QAC1C,WAAW,EAAE,IAAI;QACjB,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE;KACpB,CAAC;IAEF,8DAA8D;IAC9D,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,MAAM,WAAW,CAAC;QAC1D,GAAG;QACH,QAAQ;KACT,CAAC,CAAC;IAEH,mDAAmD;IACnD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,qEAAqE;IACrE,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5E,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAEpC,oEAAoE;IACpE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE;QAC7B,GAAG;QACH,OAAO,EAAE,OAAO,EAAE,OAAO;QACzB,OAAO,EAAE;YACP,+BAA+B,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9E,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAClE,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC9B,IAAI,EAAE,cAAc,CAAC,IAAI;gBACzB,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,OAAO;aACtC,CAAC;SACH;KACF,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACjB,kCAAkC;QAClC,GAAG,EAAE,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,gEAAgE;IAChE,OAAO;QACL,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,cAAc;QACxB,MAAM,EAAE,YAAY,CAAC,MAAM;KAC5B,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { HttpJsonResponseError } from '@equinor/fusion-framework-module-http/errors';
|
|
2
|
+
import { chalk, formatPath } from './utils';
|
|
3
|
+
/**
|
|
4
|
+
* Allowed tags for portal versions in the portal service.
|
|
5
|
+
*
|
|
6
|
+
* - `latest`: Marks the most recent stable version of the portal template.
|
|
7
|
+
* - `preview`: Marks a pre-release or preview version for testing or review.
|
|
8
|
+
*
|
|
9
|
+
* Used by {@link tagPortal} to validate and apply version tags.
|
|
10
|
+
*
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
export var AllowedTags;
|
|
14
|
+
(function (AllowedTags) {
|
|
15
|
+
AllowedTags["Latest"] = "latest";
|
|
16
|
+
AllowedTags["Preview"] = "preview";
|
|
17
|
+
})(AllowedTags || (AllowedTags = {}));
|
|
18
|
+
/**
|
|
19
|
+
* Tags a portal template version in the portal service with a specified tag (e.g., 'latest' or 'preview').
|
|
20
|
+
*
|
|
21
|
+
* This function validates input, creates a client for the portal service, and sends a tag request.
|
|
22
|
+
* It provides detailed logging and error handling for common failure scenarios.
|
|
23
|
+
*
|
|
24
|
+
* @param options - Tag, portal name, version, framework instance, and logger.
|
|
25
|
+
* @returns The result of the tag operation from the portal service.
|
|
26
|
+
* @throws If the tag, name, or version is invalid, or if the tag operation fails.
|
|
27
|
+
* @public
|
|
28
|
+
*/
|
|
29
|
+
export const tagPortal = async (options) => {
|
|
30
|
+
const { tag, name, version, framework, log } = options;
|
|
31
|
+
// Validate tag value
|
|
32
|
+
if (!['latest', 'preview'].includes(tag)) {
|
|
33
|
+
log?.fail('🤪', 'Invalid tag. Use "latest" or "preview".');
|
|
34
|
+
process.exit(1);
|
|
35
|
+
}
|
|
36
|
+
// Validate portal name
|
|
37
|
+
if (!name) {
|
|
38
|
+
log?.fail('🤪', 'Application name is required.');
|
|
39
|
+
process.exit(1);
|
|
40
|
+
}
|
|
41
|
+
// Validate version
|
|
42
|
+
if (!version) {
|
|
43
|
+
log?.fail('🤪', 'Version is required.');
|
|
44
|
+
process.exit(1);
|
|
45
|
+
}
|
|
46
|
+
// Log the tagging action for traceability
|
|
47
|
+
log?.info('Tagging application:', chalk.greenBright(`${name}@${tag}`, version));
|
|
48
|
+
// Create a client for the 'portal-config' service
|
|
49
|
+
const client = await framework.serviceDiscovery.createClient('portal-config');
|
|
50
|
+
// Subscribe to outgoing requests for logging and debugging
|
|
51
|
+
client.request$.subscribe((request) => {
|
|
52
|
+
log?.debug('Request:', request);
|
|
53
|
+
log?.info('🌎', 'Executing request to:', formatPath(request.uri));
|
|
54
|
+
});
|
|
55
|
+
log?.start('Tagging portal template...');
|
|
56
|
+
try {
|
|
57
|
+
// Send a PUT request to tag the portal template version
|
|
58
|
+
const response = await client.json(`/templates/${name}/tags/${tag}`, {
|
|
59
|
+
method: 'PUT',
|
|
60
|
+
body: { version },
|
|
61
|
+
});
|
|
62
|
+
log?.debug('Response:', response);
|
|
63
|
+
log?.succeed('Tagged portal template successfully');
|
|
64
|
+
log?.info('🚀', JSON.stringify(response));
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
// Handle known HTTP errors with specific log messages
|
|
68
|
+
if (error instanceof HttpJsonResponseError) {
|
|
69
|
+
const { data, response } = error;
|
|
70
|
+
log?.debug('Error:', data);
|
|
71
|
+
if (data) {
|
|
72
|
+
log?.warn(chalk.red(`🤯 error: ${data.code}\n`), chalk.yellowBright(data.message), '\n');
|
|
73
|
+
}
|
|
74
|
+
switch (response?.status) {
|
|
75
|
+
case 410:
|
|
76
|
+
log?.fail(`🤬 - ${response?.status} -`, `${name} is deleted. Please check the name and try again.`);
|
|
77
|
+
break;
|
|
78
|
+
case 404:
|
|
79
|
+
log?.fail(`🤬 - ${response?.status} -`, `${name} not found. Please check the name and try again.`);
|
|
80
|
+
break;
|
|
81
|
+
case 403:
|
|
82
|
+
case 401:
|
|
83
|
+
log?.fail(`🤬 - ${response?.status} -`, 'You are not authorized to tag. Please check your permissions.');
|
|
84
|
+
break;
|
|
85
|
+
default:
|
|
86
|
+
log?.fail(`🤬 - ${response?.status} -`, 'Failed to tag', `Error: ${error.message}`);
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
// Rethrow error for upstream handling
|
|
91
|
+
throw error;
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
// Export as default for compatibility with import patterns
|
|
95
|
+
export default tagPortal;
|
|
96
|
+
//# sourceMappingURL=portal-tag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portal-tag.js","sourceRoot":"","sources":["../../../src/bin/portal-tag.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import AdmZip from 'adm-zip';
|
|
2
|
+
import { chalk } from './utils';
|
|
3
|
+
import { loadMetadata } from './helpers/load-bundle-metadata';
|
|
4
|
+
/**
|
|
5
|
+
* Uploads a portal bundle to the portal service for publishing or updating a portal template.
|
|
6
|
+
*
|
|
7
|
+
* This function loads the bundle, resolves the portal name (from argument or metadata),
|
|
8
|
+
* reads the bundle content, and uploads it to the portal service. Handles and logs errors
|
|
9
|
+
* for common failure scenarios, including HTTP status codes and bundle reading issues.
|
|
10
|
+
*
|
|
11
|
+
* @param opt - Options for bundle file, portal name, framework, and logger.
|
|
12
|
+
* @returns A promise that resolves when the upload is complete.
|
|
13
|
+
* @throws If bundle reading or upload fails, or if the portal service returns an error status.
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
export const uploadPortalBundle = async (opt) => {
|
|
17
|
+
const { log, framework } = opt;
|
|
18
|
+
// Load the bundle from file or use the provided AdmZip instance
|
|
19
|
+
const bundle = typeof opt.fileOrBundle === 'string' ? new AdmZip(opt.fileOrBundle) : opt.fileOrBundle;
|
|
20
|
+
// Resolve the portal name from argument or bundle metadata
|
|
21
|
+
const { name } = opt.name
|
|
22
|
+
? { name: opt.name }
|
|
23
|
+
: await loadMetadata(bundle).catch((error) => {
|
|
24
|
+
log?.error('Failed to resolve manifest:', error);
|
|
25
|
+
process.exit(1);
|
|
26
|
+
});
|
|
27
|
+
// Read the bundle content as a buffer
|
|
28
|
+
const content = await bundle.toBufferPromise().catch((error) => {
|
|
29
|
+
log?.error('Failed to read bundle content:', error);
|
|
30
|
+
process.exit(1);
|
|
31
|
+
});
|
|
32
|
+
try {
|
|
33
|
+
// Create a client for the 'portal-config' service
|
|
34
|
+
const appClient = await framework.serviceDiscovery.createClient('portal-config');
|
|
35
|
+
// Subscribe to outgoing requests for logging and debugging
|
|
36
|
+
appClient.request$.subscribe((request) => {
|
|
37
|
+
log?.info('🌎', 'Executing request to:', request.uri);
|
|
38
|
+
log?.debug('Request:', request);
|
|
39
|
+
});
|
|
40
|
+
// Upload the bundle as a zip file to the portal service
|
|
41
|
+
const response = await appClient.fetch(`/bundles/templates/${name}`, {
|
|
42
|
+
method: 'POST',
|
|
43
|
+
body: new Blob([content], {
|
|
44
|
+
type: 'application/zip',
|
|
45
|
+
}),
|
|
46
|
+
headers: {
|
|
47
|
+
'Content-Type': 'application/zip',
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
// Handle non-OK responses with detailed error logging
|
|
51
|
+
if (!response.ok) {
|
|
52
|
+
try {
|
|
53
|
+
const { error } = await response.json();
|
|
54
|
+
log?.debug('Error:', error);
|
|
55
|
+
if (error.message) {
|
|
56
|
+
log?.warn(chalk.red(`🤯 error: ${error.code}\n`), chalk.yellowBright(error.message), '\n');
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
catch (e) {
|
|
60
|
+
log?.debug('Error:', response.statusText);
|
|
61
|
+
}
|
|
62
|
+
// Handle specific HTTP status codes for user-friendly error messages
|
|
63
|
+
if (response.status === 409) {
|
|
64
|
+
log?.fail(`🤬 - ${response.status} - `, 'Version is already published, please generate a new release');
|
|
65
|
+
process.exit(1);
|
|
66
|
+
}
|
|
67
|
+
if (response.status === 410) {
|
|
68
|
+
log?.fail(`🤬 - ${response.status} - `, `${name} is removed from Fusion`);
|
|
69
|
+
process.exit(1);
|
|
70
|
+
}
|
|
71
|
+
if (response.status === 404) {
|
|
72
|
+
log?.fail(`🤬 - ${response.status} - `, `${name} not found`);
|
|
73
|
+
process.exit(1);
|
|
74
|
+
}
|
|
75
|
+
if (response.status === 401 || response.status === 403) {
|
|
76
|
+
log?.fail(`🤬 - ${response.status} - `, `This is not allowed for your role on ${name}`);
|
|
77
|
+
process.exit(1);
|
|
78
|
+
}
|
|
79
|
+
if (response.status === 500) {
|
|
80
|
+
log?.fail(`🤬 - ${response.status} - `, 'Internal server error, please try again later or contact support');
|
|
81
|
+
process.exit(1);
|
|
82
|
+
}
|
|
83
|
+
// Throw for any other error status
|
|
84
|
+
throw new Error(`Failed to upload bundle. HTTP status ${response.status}, ${response.statusText}`);
|
|
85
|
+
}
|
|
86
|
+
// Log and return the successful response
|
|
87
|
+
log?.succeed('Successfully uploaded application bundle');
|
|
88
|
+
log?.debug('Response:', response);
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
// Log and exit on any error during upload
|
|
92
|
+
log?.fail('🙅♂️', 'Failed to upload application bundle');
|
|
93
|
+
log?.error(error);
|
|
94
|
+
process.exit(1);
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
// Export as default for compatibility with import patterns
|
|
98
|
+
export default uploadPortalBundle;
|
|
99
|
+
//# sourceMappingURL=portal-upload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portal-upload.js","sourceRoot":"","sources":["../../../src/bin/portal-upload.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
// ConsoleLogger provides a unified interface for logging and spinner-based feedback in CLI tools.
|
|
2
|
+
// It wraps a Spinner instance and exposes methods for different log levels and progress reporting.
|
|
3
|
+
import { Spinner } from './spinner.js';
|
|
4
|
+
/**
|
|
5
|
+
* ConsoleLogger is a utility class for logging progress, status, and debug information in CLI applications.
|
|
6
|
+
* It uses a spinner for visual feedback and supports debug mode for verbose output.
|
|
7
|
+
*
|
|
8
|
+
* @remarks
|
|
9
|
+
* This class is designed for CLI tools that require both spinner-based progress indication and
|
|
10
|
+
* structured logging at various levels (info, warn, error, debug).
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* const logger = new ConsoleLogger('My CLI', { debug: true });
|
|
15
|
+
* logger.start('Starting task...');
|
|
16
|
+
* logger.succeed('Task complete!');
|
|
17
|
+
* logger.debug('Debug info');
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export class ConsoleLogger {
|
|
21
|
+
/**
|
|
22
|
+
* The spinner instance used for progress and status messages.
|
|
23
|
+
*/
|
|
24
|
+
spinner;
|
|
25
|
+
/**
|
|
26
|
+
* Indicates if debug mode is enabled for verbose output.
|
|
27
|
+
*/
|
|
28
|
+
debugMode;
|
|
29
|
+
/**
|
|
30
|
+
* Creates a new ConsoleLogger.
|
|
31
|
+
* @param title - Prefix for spinner/log messages.
|
|
32
|
+
* @param options - Optional debug flag.
|
|
33
|
+
*/
|
|
34
|
+
constructor(title, options) {
|
|
35
|
+
this.spinner = new Spinner({ prefixText: title });
|
|
36
|
+
this.debugMode = options?.debug ?? false;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Start the spinner with a message.
|
|
40
|
+
* @param args - Message parts to display.
|
|
41
|
+
*/
|
|
42
|
+
start(...args) {
|
|
43
|
+
this.spinner.start(...args);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Mark spinner as succeeded with a message.
|
|
47
|
+
* @param args - Message parts to display.
|
|
48
|
+
*/
|
|
49
|
+
succeed(...args) {
|
|
50
|
+
this.spinner.succeed(...args);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Mark spinner as failed with a message.
|
|
54
|
+
* @param args - Message parts to display.
|
|
55
|
+
*/
|
|
56
|
+
fail(...args) {
|
|
57
|
+
this.spinner.fail(...args);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Log an error message to the console.
|
|
61
|
+
* @param args - Error message parts.
|
|
62
|
+
*/
|
|
63
|
+
// biome-ignore lint/suspicious/noExplicitAny: same as original
|
|
64
|
+
error(...args) {
|
|
65
|
+
console.log(...args);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Log a warning message.
|
|
69
|
+
* @param args - Warning message parts.
|
|
70
|
+
*/
|
|
71
|
+
warn(...args) {
|
|
72
|
+
this.spinner.warn(...args);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Log an informational message.
|
|
76
|
+
* @param args - Info message parts.
|
|
77
|
+
*/
|
|
78
|
+
info(...args) {
|
|
79
|
+
this.spinner.info(...args);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Alias for info.
|
|
83
|
+
* @param args - Info message parts.
|
|
84
|
+
*/
|
|
85
|
+
log(...args) {
|
|
86
|
+
this.spinner.info(...args);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Log debug messages if debugMode is enabled.
|
|
90
|
+
* @param args - Debug message parts.
|
|
91
|
+
*/
|
|
92
|
+
// biome-ignore lint/suspicious/noExplicitAny: same as original
|
|
93
|
+
debug(...args) {
|
|
94
|
+
if (this.debugMode) {
|
|
95
|
+
console.debug(...args);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Attach spinner to native console output.
|
|
100
|
+
*/
|
|
101
|
+
startNativeConsoleCapture() {
|
|
102
|
+
this.spinner.attachConsole = true;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Detach spinner from native console output.
|
|
106
|
+
*/
|
|
107
|
+
stopNativeConsoleCapture() {
|
|
108
|
+
this.spinner.attachConsole = false;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
export default ConsoleLogger;
|
|
112
|
+
//# sourceMappingURL=ConsoleLogger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConsoleLogger.js","sourceRoot":"","sources":["../../../../src/bin/utils/ConsoleLogger.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,mGAAmG;AACnG,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,aAAa;IACxB;;OAEG;IACa,OAAO,CAAU;IACjC;;OAEG;IACa,SAAS,CAAU;IAEnC;;;;OAIG;IACH,YAAY,KAAa,EAAE,OAA6B;QACtD,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,KAAK,IAAI,KAAK,CAAC;IAC3C,CAAC;IACD;;;OAGG;IACH,KAAK,CAAC,GAAG,IAAc;QACrB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD;;;OAGG;IACH,OAAO,CAAC,GAAG,IAAc;QACvB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IAChC,CAAC;IACD;;;OAGG;IACH,IAAI,CAAC,GAAG,IAAc;QACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD;;;OAGG;IACH,+DAA+D;IAC/D,KAAK,CAAC,GAAG,IAAW;QAClB,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACvB,CAAC;IACD;;;OAGG;IACH,IAAI,CAAC,GAAG,IAAc;QACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD;;;OAGG;IACH,IAAI,CAAC,GAAG,IAAc;QACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD;;;OAGG;IACH,GAAG,CAAC,GAAG,IAAc;QACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD;;;OAGG;IACH,+DAA+D;IAC/D,KAAK,CAAC,GAAG,IAAW;QAClB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD;;OAEG;IACH,yBAAyB;QACvB,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IACpC,CAAC;IACD;;OAEG;IACH,wBAAwB;QACtB,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC;IACrC,CAAC;CACF;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { loadDevServerConfig } from '../../lib/dev-server.js';
|
|
2
|
+
import { processServices, createDevServer as createDevServerFn, } from '@equinor/fusion-framework-dev-server';
|
|
3
|
+
/**
|
|
4
|
+
* Creates a Fusion dev server template environment, merging with user overrides.
|
|
5
|
+
*
|
|
6
|
+
* @param overrides - Partial template environment to override defaults.
|
|
7
|
+
* @returns The dev server template environment without the 'bootstrap' property.
|
|
8
|
+
*/
|
|
9
|
+
const createDevServerTemplate = (overrides) => ({
|
|
10
|
+
portal: {
|
|
11
|
+
id: '@equinor/fusion-framework-dev-portal',
|
|
12
|
+
},
|
|
13
|
+
title: 'Fusion Dev Portal',
|
|
14
|
+
serviceDiscovery: {
|
|
15
|
+
url: '/@fusion-services',
|
|
16
|
+
scopes: ['5a842df8-3238-415d-b168-9f16a6a6031b/.default'],
|
|
17
|
+
},
|
|
18
|
+
msal: {
|
|
19
|
+
clientId: '9b707e3a-3e90-41ed-a47e-652a1e3b53d0',
|
|
20
|
+
tenantId: '3aa4a235-b6e2-48d5-9195-7fcf05b459b0',
|
|
21
|
+
redirectUri: '/authentication/login-callback',
|
|
22
|
+
requiresAuth: 'true',
|
|
23
|
+
},
|
|
24
|
+
serviceWorker: {
|
|
25
|
+
// default proxies
|
|
26
|
+
resources: [
|
|
27
|
+
{
|
|
28
|
+
url: '/apps-proxy',
|
|
29
|
+
rewrite: '/@fusion-api/apps',
|
|
30
|
+
scopes: ['5a842df8-3238-415d-b168-9f16a6a6031b/.default'],
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
url: '/help-proxy',
|
|
34
|
+
rewrite: '/@fusion-api/help',
|
|
35
|
+
scopes: ['5a842df8-3238-415d-b168-9f16a6a6031b/.default'],
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
},
|
|
39
|
+
// todo - deep merge with user config
|
|
40
|
+
...overrides,
|
|
41
|
+
});
|
|
42
|
+
/**
|
|
43
|
+
* Adds app-specific API routes for local development.
|
|
44
|
+
* Handles rewrites for app bundles, manifest, and config endpoints.
|
|
45
|
+
*
|
|
46
|
+
* @param base - The dev server options object to mutate.
|
|
47
|
+
* @param manifest - The app manifest.
|
|
48
|
+
* @param config - Optional app config.
|
|
49
|
+
*/
|
|
50
|
+
const applyAppRouting = (base, manifest, config) => {
|
|
51
|
+
const { build, appKey } = manifest;
|
|
52
|
+
if (!build) {
|
|
53
|
+
throw new Error('App manifest does not contain build information');
|
|
54
|
+
}
|
|
55
|
+
base.api.routes ??= [];
|
|
56
|
+
// add rewrite to local fs
|
|
57
|
+
base.api.routes.push({
|
|
58
|
+
match: `/apps/bundles/apps/${manifest.appKey}/${build.version}/*path`,
|
|
59
|
+
middleware: async (req, res, next) => {
|
|
60
|
+
const location = req.params?.path;
|
|
61
|
+
if (Array.isArray(location) === false) {
|
|
62
|
+
next();
|
|
63
|
+
}
|
|
64
|
+
res.writeHead(302, {
|
|
65
|
+
'content-type': 'application/javascript',
|
|
66
|
+
location: `/${location.join('/')}`,
|
|
67
|
+
});
|
|
68
|
+
res.end();
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
// catch requests for local app manifest
|
|
72
|
+
base.api.routes.push({
|
|
73
|
+
match: `/apps/persons/me/apps/${appKey}`,
|
|
74
|
+
middleware: async (_req, res) => {
|
|
75
|
+
res.writeHead(200, {
|
|
76
|
+
'content-type': 'application/json',
|
|
77
|
+
});
|
|
78
|
+
res.end(JSON.stringify({
|
|
79
|
+
id: 'dev-server-generated-id',
|
|
80
|
+
...manifest,
|
|
81
|
+
}));
|
|
82
|
+
},
|
|
83
|
+
});
|
|
84
|
+
base.api.routes.push({
|
|
85
|
+
match: `/apps/apps/${appKey}/builds/${build.version}/config`,
|
|
86
|
+
middleware: async (_req, res) => {
|
|
87
|
+
res.writeHead(200, {
|
|
88
|
+
'content-type': 'application/json',
|
|
89
|
+
});
|
|
90
|
+
res.end(JSON.stringify(config));
|
|
91
|
+
},
|
|
92
|
+
});
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Adds portal-specific API routes for local development.
|
|
96
|
+
* Handles endpoints for portal manifest and config.
|
|
97
|
+
*
|
|
98
|
+
* @param base - The dev server options object to mutate.
|
|
99
|
+
* @param manifest - The portal manifest.
|
|
100
|
+
* @param config - Optional portal config.
|
|
101
|
+
*/
|
|
102
|
+
const applyPortalRouting = (base, manifest, config) => {
|
|
103
|
+
base.api.routes ??= [];
|
|
104
|
+
base.api.routes.push({
|
|
105
|
+
match: `/portals/portals/${manifest.id}{@:tag}`,
|
|
106
|
+
middleware: async (_req, res) => {
|
|
107
|
+
res.writeHead(200, {
|
|
108
|
+
'content-type': 'application/json',
|
|
109
|
+
});
|
|
110
|
+
res.end(JSON.stringify(manifest));
|
|
111
|
+
},
|
|
112
|
+
});
|
|
113
|
+
base.api.routes.push({
|
|
114
|
+
match: `/portals/portals/${manifest.id}{@:tag}/config`,
|
|
115
|
+
middleware: async (_req, res) => {
|
|
116
|
+
res.writeHead(200, {
|
|
117
|
+
'content-type': 'application/json',
|
|
118
|
+
});
|
|
119
|
+
res.end(JSON.stringify(config));
|
|
120
|
+
},
|
|
121
|
+
});
|
|
122
|
+
};
|
|
123
|
+
/**
|
|
124
|
+
* Creates the full dev server configuration for Fusion CLI.
|
|
125
|
+
* Applies app and portal routing as needed.
|
|
126
|
+
*
|
|
127
|
+
* @param options - Options for dev server config, including app/portal manifests and overrides.
|
|
128
|
+
* @returns The complete dev server options object.
|
|
129
|
+
*/
|
|
130
|
+
export const createDevServerConfig = (options) => {
|
|
131
|
+
const config = {
|
|
132
|
+
spa: {
|
|
133
|
+
templateEnv: createDevServerTemplate(options.template),
|
|
134
|
+
},
|
|
135
|
+
api: {
|
|
136
|
+
serviceDiscoveryUrl: 'https://discovery.fusion.equinor.com/service-registry/environments/ci/services/',
|
|
137
|
+
processServices: (dataResponse, route) => {
|
|
138
|
+
const { data, routes } = processServices(dataResponse, route);
|
|
139
|
+
return {
|
|
140
|
+
// @todo - remove this when we have a real service discovery
|
|
141
|
+
data: data.concat({
|
|
142
|
+
key: 'portals',
|
|
143
|
+
name: 'Portal Service - MOCK',
|
|
144
|
+
uri: '/@fusion-api/portals',
|
|
145
|
+
}),
|
|
146
|
+
routes,
|
|
147
|
+
};
|
|
148
|
+
},
|
|
149
|
+
},
|
|
150
|
+
server: options.server,
|
|
151
|
+
};
|
|
152
|
+
if (options.app) {
|
|
153
|
+
applyAppRouting(config, options.app.manifest, options.app.config);
|
|
154
|
+
}
|
|
155
|
+
if (options.portal) {
|
|
156
|
+
applyPortalRouting(config, options.portal.manifest, options.portal.config);
|
|
157
|
+
}
|
|
158
|
+
return config;
|
|
159
|
+
};
|
|
160
|
+
export const createDevServer = async (env, options, overrides) => {
|
|
161
|
+
const baseConfig = createDevServerConfig(options);
|
|
162
|
+
const config = await loadDevServerConfig(env, baseConfig).catch(() => {
|
|
163
|
+
return { config: baseConfig };
|
|
164
|
+
});
|
|
165
|
+
return createDevServerFn(config.config, overrides);
|
|
166
|
+
};
|
|
167
|
+
//# sourceMappingURL=create-dev-server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-dev-server.js","sourceRoot":"","sources":["../../../../src/bin/utils/create-dev-server.ts"],"names":[],"mappings":"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"}
|