@equinor/fusion-framework-cli 11.0.0-next.8 → 11.0.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 +71 -94
- package/README.md +98 -104
- package/bin/build/bin.mjs +1 -0
- package/bin/build/cli.mjs +7 -0
- package/bin/cli.mjs +1 -1
- package/dist/esm/lib/app/app-config.js.map +1 -1
- package/dist/esm/lib/app/app-manifest.js.map +1 -1
- package/dist/esm/lib/app/app-package.js +1 -1
- package/dist/esm/lib/app/app-package.js.map +1 -1
- package/dist/esm/lib/app/merge-app-config.js +11 -5
- package/dist/esm/lib/app/merge-app-config.js.map +1 -1
- package/dist/esm/lib/app/merge-app-manifest.js +2 -2
- package/dist/esm/lib/app/merge-app-manifest.js.map +1 -1
- package/dist/esm/lib/index.js +3 -1
- package/dist/esm/lib/index.js.map +1 -1
- package/dist/esm/lib/load-dev-server-config.js +7 -3
- package/dist/esm/lib/load-dev-server-config.js.map +1 -1
- package/dist/esm/lib/merge-dev-server-config.js +24 -16
- package/dist/esm/lib/merge-dev-server-config.js.map +1 -1
- package/dist/esm/lib/portal/create-portal-manifest.js.map +1 -1
- package/dist/esm/lib/portal/load-portal-config.js +1 -1
- package/dist/esm/lib/portal/load-portal-config.js.map +1 -1
- package/dist/esm/lib/portal/load-portal-manifest.js +8 -4
- package/dist/esm/lib/portal/load-portal-manifest.js.map +1 -1
- package/dist/esm/lib/portal/load-portal-schema.js.map +1 -1
- package/dist/esm/lib/portal/portal-config.js.map +1 -1
- package/dist/esm/lib/utils/index.js +1 -0
- package/dist/esm/lib/utils/index.js.map +1 -1
- package/dist/esm/lib/utils/resolve-annotations.js +48 -5
- package/dist/esm/lib/utils/resolve-annotations.js.map +1 -1
- package/dist/esm/lib/utils/resolve-devops-annotations.js +7 -3
- package/dist/esm/lib/utils/resolve-devops-annotations.js.map +1 -1
- package/dist/esm/lib/utils/resolve-git-commit-sha.js +1 -0
- package/dist/esm/lib/utils/resolve-git-commit-sha.js.map +1 -1
- package/dist/esm/lib/utils/resolve-github-annotations.js +16 -72
- package/dist/esm/lib/utils/resolve-github-annotations.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/bin/app-build.d.ts +2 -2
- package/dist/types/bin/app-check.d.ts +2 -2
- package/dist/types/bin/app-config-publish.d.ts +2 -2
- package/dist/types/bin/app-config.d.ts +3 -3
- package/dist/types/bin/app-dev.d.ts +1 -1
- package/dist/types/bin/app-manifest.d.ts +3 -3
- package/dist/types/bin/app-pack.d.ts +1 -1
- package/dist/types/bin/app-tag.d.ts +3 -3
- package/dist/types/bin/app-upload.d.ts +2 -2
- package/dist/types/bin/helpers/load-vite-config.d.ts +1 -2
- package/dist/types/bin/helpers/resolve-app-config.d.ts +3 -3
- package/dist/types/bin/helpers/resolve-app-manifest.d.ts +3 -3
- package/dist/types/bin/helpers/resolve-portal-config.d.ts +3 -3
- package/dist/types/bin/helpers/resolve-portal-manifest.d.ts +3 -4
- package/dist/types/bin/helpers/resolve-project-package.d.ts +2 -2
- package/dist/types/bin/index.d.ts +9 -0
- package/dist/types/bin/pack.d.ts +1 -1
- package/dist/types/bin/portal-build.d.ts +5 -5
- package/dist/types/bin/portal-config-publish.d.ts +2 -2
- package/dist/types/bin/portal-config.d.ts +4 -4
- package/dist/types/bin/portal-dev.d.ts +2 -2
- package/dist/types/bin/portal-manifest.d.ts +4 -4
- package/dist/types/bin/portal-pack.d.ts +3 -3
- package/dist/types/bin/portal-tag.d.ts +2 -2
- package/dist/types/bin/portal-upload.d.ts +2 -2
- package/dist/types/bin/utils/create-dev-server.d.ts +2 -2
- package/dist/types/cli/commands/disco/resolve.d.ts +1 -1
- package/dist/types/cli/main.d.ts +0 -20
- package/dist/types/cli/options/env.d.ts +1 -2
- package/dist/types/lib/app/app-config.d.ts +2 -2
- package/dist/types/lib/app/app-manifest.d.ts +1 -1
- package/dist/types/lib/app/merge-app-config.d.ts +1 -1
- package/dist/types/lib/app/merge-app-manifest.d.ts +1 -1
- package/dist/types/lib/index.d.ts +3 -2
- package/dist/types/lib/legacy.d.ts +1 -1
- package/dist/types/lib/load-dev-server-config.d.ts +2 -2
- package/dist/types/lib/merge-dev-server-config.d.ts +1 -1
- package/dist/types/lib/portal/create-portal-manifest.d.ts +1 -1
- package/dist/types/lib/portal/load-portal-manifest.d.ts +2 -2
- package/dist/types/lib/portal/load-portal-schema.d.ts +1 -1
- package/dist/types/lib/portal/portal-config.d.ts +2 -2
- package/dist/types/lib/portal/portal-manifest.schema.d.ts +6 -6
- package/dist/types/lib/types.d.ts +29 -0
- package/dist/types/lib/utils/index.d.ts +1 -0
- package/dist/types/lib/utils/resolve-annotations.d.ts +35 -1
- package/dist/types/lib/utils/resolve-devops-annotations.d.ts +28 -3
- package/dist/types/lib/utils/resolve-git-commit-sha.d.ts +1 -0
- package/dist/types/lib/utils/resolve-github-annotations.d.ts +85 -13
- package/dist/types/lib/utils/types.d.ts +57 -1
- package/dist/types/version.d.ts +1 -1
- package/docs/application.md +73 -79
- package/docs/auth.md +18 -45
- package/docs/libsecret.md +0 -31
- package/docs/migration-v10-to-v11.md +43 -47
- package/docs/portal.md +4 -38
- package/package.json +69 -33
- package/bin/build/bin.js +0 -28
- package/bin/build/cli.js +0 -10099
- package/bin/build/create-auth-client-B_j4Y_Dr.js +0 -1415
- package/bin/build/portal-config-publish-ezU_DFki.js +0 -29578
- package/dist/esm/bin/app-build.js +0 -34
- package/dist/esm/bin/app-build.js.map +0 -1
- package/dist/esm/bin/app-check.js +0 -63
- package/dist/esm/bin/app-check.js.map +0 -1
- package/dist/esm/bin/app-config-publish.js +0 -89
- package/dist/esm/bin/app-config-publish.js.map +0 -1
- package/dist/esm/bin/app-config.js +0 -48
- package/dist/esm/bin/app-config.js.map +0 -1
- package/dist/esm/bin/app-dev.js +0 -102
- package/dist/esm/bin/app-dev.js.map +0 -1
- package/dist/esm/bin/app-manifest.js +0 -38
- package/dist/esm/bin/app-manifest.js.map +0 -1
- package/dist/esm/bin/app-pack.js +0 -51
- package/dist/esm/bin/app-pack.js.map +0 -1
- package/dist/esm/bin/app-tag.js +0 -89
- package/dist/esm/bin/app-tag.js.map +0 -1
- package/dist/esm/bin/app-upload.js +0 -109
- package/dist/esm/bin/app-upload.js.map +0 -1
- package/dist/esm/bin/helpers/load-bundle-metadata.js +0 -32
- package/dist/esm/bin/helpers/load-bundle-metadata.js.map +0 -1
- package/dist/esm/bin/helpers/load-vite-config.js +0 -55
- package/dist/esm/bin/helpers/load-vite-config.js.map +0 -1
- package/dist/esm/bin/helpers/resolve-app-config.js +0 -46
- package/dist/esm/bin/helpers/resolve-app-config.js.map +0 -1
- package/dist/esm/bin/helpers/resolve-app-manifest.js +0 -55
- package/dist/esm/bin/helpers/resolve-app-manifest.js.map +0 -1
- package/dist/esm/bin/helpers/resolve-portal-config.js +0 -46
- package/dist/esm/bin/helpers/resolve-portal-config.js.map +0 -1
- package/dist/esm/bin/helpers/resolve-portal-manifest.js +0 -55
- package/dist/esm/bin/helpers/resolve-portal-manifest.js.map +0 -1
- package/dist/esm/bin/helpers/resolve-project-package.js +0 -32
- package/dist/esm/bin/helpers/resolve-project-package.js.map +0 -1
- package/dist/esm/bin/index.js +0 -12
- package/dist/esm/bin/index.js.map +0 -1
- package/dist/esm/bin/pack.js +0 -70
- package/dist/esm/bin/pack.js.map +0 -1
- package/dist/esm/bin/portal-build.js +0 -40
- package/dist/esm/bin/portal-build.js.map +0 -1
- package/dist/esm/bin/portal-config-publish.js +0 -74
- package/dist/esm/bin/portal-config-publish.js.map +0 -1
- package/dist/esm/bin/portal-config.js +0 -48
- package/dist/esm/bin/portal-config.js.map +0 -1
- package/dist/esm/bin/portal-dev.js +0 -61
- package/dist/esm/bin/portal-dev.js.map +0 -1
- package/dist/esm/bin/portal-manifest.js +0 -38
- package/dist/esm/bin/portal-manifest.js.map +0 -1
- package/dist/esm/bin/portal-pack.js +0 -60
- package/dist/esm/bin/portal-pack.js.map +0 -1
- package/dist/esm/bin/portal-tag.js +0 -96
- package/dist/esm/bin/portal-tag.js.map +0 -1
- package/dist/esm/bin/portal-upload.js +0 -99
- package/dist/esm/bin/portal-upload.js.map +0 -1
- package/dist/esm/bin/utils/ConsoleLogger.js +0 -112
- package/dist/esm/bin/utils/ConsoleLogger.js.map +0 -1
- package/dist/esm/bin/utils/create-dev-server.js +0 -167
- package/dist/esm/bin/utils/create-dev-server.js.map +0 -1
- package/dist/esm/bin/utils/format.js +0 -47
- package/dist/esm/bin/utils/format.js.map +0 -1
- package/dist/esm/bin/utils/index.js +0 -5
- package/dist/esm/bin/utils/index.js.map +0 -1
- package/dist/esm/bin/utils/spinner.js +0 -142
- package/dist/esm/bin/utils/spinner.js.map +0 -1
- package/dist/esm/cli/commands/app/alias.js +0 -42
- package/dist/esm/cli/commands/app/alias.js.map +0 -1
- package/dist/esm/cli/commands/app/build.js +0 -53
- package/dist/esm/cli/commands/app/build.js.map +0 -1
- package/dist/esm/cli/commands/app/check.js +0 -57
- package/dist/esm/cli/commands/app/check.js.map +0 -1
- package/dist/esm/cli/commands/app/config.js +0 -103
- package/dist/esm/cli/commands/app/config.js.map +0 -1
- package/dist/esm/cli/commands/app/dev.js +0 -67
- package/dist/esm/cli/commands/app/dev.js.map +0 -1
- package/dist/esm/cli/commands/app/index.js +0 -42
- package/dist/esm/cli/commands/app/index.js.map +0 -1
- package/dist/esm/cli/commands/app/manifest.js +0 -82
- package/dist/esm/cli/commands/app/manifest.js.map +0 -1
- package/dist/esm/cli/commands/app/pack.js +0 -71
- package/dist/esm/cli/commands/app/pack.js.map +0 -1
- package/dist/esm/cli/commands/app/publish.js +0 -130
- package/dist/esm/cli/commands/app/publish.js.map +0 -1
- package/dist/esm/cli/commands/app/tag.js +0 -113
- package/dist/esm/cli/commands/app/tag.js.map +0 -1
- package/dist/esm/cli/commands/app/upload.js +0 -85
- package/dist/esm/cli/commands/app/upload.js.map +0 -1
- package/dist/esm/cli/commands/auth/index.js +0 -22
- package/dist/esm/cli/commands/auth/index.js.map +0 -1
- package/dist/esm/cli/commands/auth/login.js +0 -72
- package/dist/esm/cli/commands/auth/login.js.map +0 -1
- package/dist/esm/cli/commands/auth/logout.js +0 -58
- package/dist/esm/cli/commands/auth/logout.js.map +0 -1
- package/dist/esm/cli/commands/auth/token.js +0 -78
- package/dist/esm/cli/commands/auth/token.js.map +0 -1
- package/dist/esm/cli/commands/disco/index.js +0 -6
- package/dist/esm/cli/commands/disco/index.js.map +0 -1
- package/dist/esm/cli/commands/disco/resolve.js +0 -58
- package/dist/esm/cli/commands/disco/resolve.js.map +0 -1
- package/dist/esm/cli/commands/index.js +0 -11
- package/dist/esm/cli/commands/index.js.map +0 -1
- package/dist/esm/cli/commands/portal/build.js +0 -27
- package/dist/esm/cli/commands/portal/build.js.map +0 -1
- package/dist/esm/cli/commands/portal/config.js +0 -101
- package/dist/esm/cli/commands/portal/config.js.map +0 -1
- package/dist/esm/cli/commands/portal/dev.js +0 -27
- package/dist/esm/cli/commands/portal/dev.js.map +0 -1
- package/dist/esm/cli/commands/portal/index.js +0 -23
- package/dist/esm/cli/commands/portal/index.js.map +0 -1
- package/dist/esm/cli/commands/portal/manifest.js +0 -48
- package/dist/esm/cli/commands/portal/manifest.js.map +0 -1
- package/dist/esm/cli/commands/portal/pack.js +0 -40
- package/dist/esm/cli/commands/portal/pack.js.map +0 -1
- package/dist/esm/cli/commands/portal/publish.js +0 -76
- package/dist/esm/cli/commands/portal/publish.js.map +0 -1
- package/dist/esm/cli/commands/portal/schema.js +0 -70
- package/dist/esm/cli/commands/portal/schema.js.map +0 -1
- package/dist/esm/cli/commands/portal/tag.js +0 -73
- package/dist/esm/cli/commands/portal/tag.js.map +0 -1
- package/dist/esm/cli/commands/portal/upload.js +0 -41
- package/dist/esm/cli/commands/portal/upload.js.map +0 -1
- package/dist/esm/cli/main.js +0 -52
- package/dist/esm/cli/main.js.map +0 -1
- package/dist/esm/cli/options/auth.js +0 -96
- package/dist/esm/cli/options/auth.js.map +0 -1
- package/dist/esm/cli/options/env.js +0 -30
- package/dist/esm/cli/options/env.js.map +0 -1
- package/dist/esm/lib/framework.node.js +0 -104
- package/dist/esm/lib/framework.node.js.map +0 -1
- package/dist/esm/version.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- /package/dist/types/{lib → bin}/framework.node.d.ts +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,143 +1,120 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
-
## 11.0.
|
|
3
|
+
## 11.0.1
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
7
|
-
- [#
|
|
8
|
-
- Adjusted `exports` field for additional subpaths.
|
|
9
|
-
- No user-facing changes.
|
|
7
|
+
- [#3271](https://github.com/equinor/fusion-framework/pull/3271) [`7832bd7`](https://github.com/equinor/fusion-framework/commit/7832bd78843621ca95373596761bec29d4bdbbb8) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update dependency `chalk` to ^5.6.0
|
|
10
8
|
|
|
11
|
-
|
|
9
|
+
- Updated `chalk` to version ^5.6.0 in root, CLI, and log utils packages.
|
|
10
|
+
- No breaking changes expected.
|
|
12
11
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
- Updated dependencies []:
|
|
16
|
-
- @equinor/fusion-framework-dev-portal@1.0.0-next.2
|
|
17
|
-
- @equinor/fusion-framework-dev-server@1.0.0-next.4
|
|
12
|
+
See [chalk changelog](https://github.com/chalk/chalk/releases) for details.
|
|
18
13
|
|
|
19
|
-
|
|
14
|
+
- [#3309](https://github.com/equinor/fusion-framework/pull/3309) [`29efd10`](https://github.com/equinor/fusion-framework/commit/29efd10c48f9d11ba5aa7246d3217c5ea81ddc14) Thanks [@odinr](https://github.com/odinr)! - - Removed all YAML/Markdown frontmatter blocks from CLI documentation files in `/packages/cli/docs` and `/packages/cli/README.md` for a cleaner, more maintainable documentation source.
|
|
20
15
|
|
|
21
|
-
|
|
16
|
+
- Updated all internal documentation links to use relative paths without leading `./` for consistency and compatibility with VuePress.
|
|
17
|
+
- Updated the `TODO.md` file to remove completed or obsolete tasks and clarify remaining todos.
|
|
22
18
|
|
|
23
|
-
- [#
|
|
19
|
+
- [#3300](https://github.com/equinor/fusion-framework/pull/3300) [`219c449`](https://github.com/equinor/fusion-framework/commit/219c4492cb9d8925cdf73f31fd6d6ad2507ed971) Thanks [@dependabot](https://github.com/apps/dependabot)! - bump rollup from 4.46.2 to 4.49.0
|
|
24
20
|
|
|
25
|
-
|
|
26
|
-
-
|
|
21
|
+
- Updated dependencies [[`6480bf1`](https://github.com/equinor/fusion-framework/commit/6480bf197db9428fed80299c235f0608db0ca6a3), [`152eecb`](https://github.com/equinor/fusion-framework/commit/152eecbccccd5ee3aafc5d59cebdb9b9554ca026), [`113a9ac`](https://github.com/equinor/fusion-framework/commit/113a9ac9b11f4cdb09dad22cbea010a3f5097343)]:
|
|
22
|
+
- @equinor/fusion-framework-dev-portal@1.0.1
|
|
23
|
+
- @equinor/fusion-framework-module-msal-node@1.0.1
|
|
27
24
|
|
|
28
|
-
|
|
25
|
+
## 11.0.0
|
|
29
26
|
|
|
30
|
-
|
|
31
|
-
- Introduced `PortalConfig`, `PortalConfigFn`, and `definePortalConfig` types/utilities for authoring static or dynamic portal configs.
|
|
32
|
-
- Updated dev server logic to use resolved portal config.
|
|
33
|
-
- Exposed new config utilities from `lib/portal` index.
|
|
27
|
+
### Major Changes
|
|
34
28
|
|
|
35
|
-
|
|
29
|
+
- [#3075](https://github.com/equinor/fusion-framework/pull/3075) [`8fffbfb`](https://github.com/equinor/fusion-framework/commit/8fffbfb12daa9748bf5290e5084cd4d409aed253) Thanks [@odinr](https://github.com/odinr)! - **Major Changes**
|
|
36
30
|
|
|
37
|
-
-
|
|
31
|
+
- **Rewrite:** The CLI has been rewritten to use Fusion Framework internally, minimizing dependencies and improving performance. It is now a first-class citizen in the Fusion Framework ecosystem, providing a more consistent and integrated experience.
|
|
32
|
+
- **Dev Portal Modularization:** The dev portal has been moved to a separate package `@equinor/fusion-framework-dev-server`, enabling modular architecture and independent updates. The dev portal can be configured via `dev-server.config.js` and supports live preview and API mocking.
|
|
33
|
+
- **Command Structure:** CLI is now divided into three main groups: `bin` (executable functions), `commands` (CLI commands), and `lib` (for consumers, config, and utilities). This improves organization and modularity.
|
|
34
|
+
- **BREAKING:** The `--service` flag has been removed. The CLI now uses service discovery via Fusion environment variables. All `app -build-???` commands are deprecated and will be removed in the next major version.
|
|
38
35
|
|
|
39
|
-
-
|
|
40
|
-
- This update introduces enhanced support for portal config operations via the `@equinor/fusion-framework-cli` package.
|
|
36
|
+
- **Dev Server Abstraction:** Vite configuration and dev server functionality has been abstracted into the `@equinor/fusion-framework-dev-server` package. The CLI now provides a higher-level API that handles Vite configuration internally, eliminating the need for users to manage Vite configuration directly while still allowing for customization through configuration options.
|
|
41
37
|
|
|
42
|
-
|
|
38
|
+
- **New Utility Functions:** The CLI now includes new utility modules for resolving CI/CD metadata (GitHub Actions, Azure DevOps), git commit and remote info, and package metadata. These utilities support advanced scripting and automation scenarios.
|
|
43
39
|
|
|
44
|
-
|
|
40
|
+
**Minor Changes**
|
|
45
41
|
|
|
46
|
-
-
|
|
42
|
+
- **Portal Config Support:** Added helpers for loading and resolving portal configuration files, with new types and utilities for authoring static or dynamic portal configs. Dev server logic updated to use resolved portal config.
|
|
43
|
+
- **Manifest Refactor:** Portal manifest now uses `name` and `templateEntry` for consistency with app manifests. Dev server config and routing updated. Asset paths now use `/@fs` for local development. Improved type safety and schema validation.
|
|
44
|
+
- **ESM Modernization:** Refactored CLI to use deepmerge instead of lodash.mergewith, updated all imports to use explicit `.js` extensions, and re-exported all bin entrypoints for ESM compatibility. Updated package.json and tsconfig.json for ESM.
|
|
47
45
|
|
|
48
|
-
|
|
49
|
-
- Asset paths for development and preview builds now use `/@fs` for more reliable local development.
|
|
50
|
-
- Type safety and schema validation for portal manifests have been improved.
|
|
51
|
-
- Minor typos fixed and comments clarified throughout related files.
|
|
46
|
+
**Patch Changes**
|
|
52
47
|
|
|
53
|
-
|
|
48
|
+
- **Dev Server Config:** Refactored config loading and merging, added `RecursivePartial` type, custom array merge strategy, and improved documentation. Arrays of route objects are now merged by `match` property to ensure uniqueness.
|
|
49
|
+
- **Node Version Check:** Added Node.js version check and LTS recommendation to CLI entrypoint. Build config injects version info via environment variables.
|
|
54
50
|
|
|
55
|
-
|
|
51
|
+
**Other**
|
|
56
52
|
|
|
57
|
-
-
|
|
58
|
-
- @equinor/fusion-framework-dev-server@1.0.0-next.3
|
|
59
|
-
- @equinor/fusion-imports@1.1.1-next.0
|
|
60
|
-
- @equinor/fusion-framework-dev-portal@1.0.0-next.2
|
|
53
|
+
- Improved maintainability, type safety, and developer experience throughout the CLI and dev server packages.
|
|
61
54
|
|
|
62
|
-
|
|
55
|
+
**Note:**
|
|
63
56
|
|
|
64
|
-
|
|
57
|
+
- The removal of Vite config and schema utilities is a breaking change for users who previously relied on CLI-provided defaults. Please migrate to custom configuration as needed.
|
|
58
|
+
- The new utility modules are available for advanced use cases and automation, but do not affect most standard CLI usage.
|
|
59
|
+
- If you are authoring an `app.config.ts` file, you now need to import the config helper as follows:
|
|
65
60
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
## 11.0.0-next.3
|
|
71
|
-
|
|
72
|
-
### Patch Changes
|
|
73
|
-
|
|
74
|
-
- [#3075](https://github.com/equinor/fusion-framework/pull/3075) [`eac2234`](https://github.com/equinor/fusion-framework/commit/eac22349aa3ec6d76ed85b6d5a20966a56c32046) Thanks [@odinr](https://github.com/odinr)! - add assetPath to app manifest for non-build commands
|
|
61
|
+
```diff
|
|
62
|
+
-import { defineAppConfig } from '@equinor/fusion-framework-cli';
|
|
63
|
+
+import { defineAppConfig } from '@equinor/fusion-framework-cli/app';
|
|
64
|
+
```
|
|
75
65
|
|
|
76
|
-
|
|
77
|
-
- @equinor/fusion-framework-dev-portal@1.0.0-next.2
|
|
66
|
+
**Further Reading & Documentation Highlights**
|
|
78
67
|
|
|
79
|
-
|
|
68
|
+
+- See the CLI's [README](https://github.com/equinor/fusion-framework/blob/main/packages/cli/README.md) for a full overview, installation, and command reference.
|
|
69
|
+
+- The [docs folder](https://github.com/equinor/fusion-framework/tree/main/packages/cli/docs) contains:
|
|
80
70
|
|
|
81
|
-
|
|
71
|
+
- - [Developing Apps](https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/application.md): Step-by-step guide to app setup, config, CI/CD, and best practices.
|
|
72
|
+
- - [Developing Portals](https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/portal.md): Portal template development, manifest/schema, and deployment.
|
|
73
|
+
- - [Authentication](https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/auth.md): Local and CI/CD authentication, MSAL, and secure token storage.
|
|
74
|
+
- - [Migration Guide: v10 to v11](https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/migration-v10-to-v11.md): Breaking changes, deprecated commands, and upgrade steps.
|
|
75
|
+
- - [libsecret setup](https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/libsecret.md): Secure credential storage for Linux users.
|
|
76
|
+
+- For real-world examples, see the [cookbooks/](https://github.com/equinor/fusion-framework/tree/main/cookbooks) directory.
|
|
82
77
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
78
|
+
* Key usage notes:
|
|
79
|
+
- All config and manifest files must use helpers from `@equinor/fusion-framework-cli/app`.
|
|
80
|
+
- Use `fusion-framework-cli auth login` for local authentication; use `FUSION_TOKEN` for CI/CD.
|
|
81
|
+
- Deprecated commands (`build-pack`, `build-upload`, etc.) are replaced by `pack`, `upload`, etc. Use `--env` instead of `--service`.
|
|
82
|
+
- The CLI supports "build once, deploy many" CI/CD workflows.
|
|
83
|
+
- Utilities like `mergeAppManifests` are available for advanced config/manifest merging.
|
|
86
84
|
|
|
87
|
-
|
|
85
|
+
This consolidated changeset replaces all previous CLI-related changesets for this release.
|
|
88
86
|
|
|
89
87
|
### Patch Changes
|
|
90
88
|
|
|
91
|
-
- [#3075](https://github.com/equinor/fusion-framework/pull/3075) [`
|
|
89
|
+
- [#3075](https://github.com/equinor/fusion-framework/pull/3075) [`8fffbfb`](https://github.com/equinor/fusion-framework/commit/8fffbfb12daa9748bf5290e5084cd4d409aed253) Thanks [@odinr](https://github.com/odinr)! - update Vite to 6.3.5
|
|
92
90
|
|
|
93
|
-
|
|
94
|
-
- Add `repository` field to `package.json` for better metadata.
|
|
91
|
+
- [#3075](https://github.com/equinor/fusion-framework/pull/3075) [`8fffbfb`](https://github.com/equinor/fusion-framework/commit/8fffbfb12daa9748bf5290e5084cd4d409aed253) Thanks [@odinr](https://github.com/odinr)! - Upgrade zod dependency to ^3.25.76 in all affected packages.
|
|
95
92
|
|
|
96
|
-
|
|
93
|
+
- Updated dependencies [[`8fffbfb`](https://github.com/equinor/fusion-framework/commit/8fffbfb12daa9748bf5290e5084cd4d409aed253), [`8fffbfb`](https://github.com/equinor/fusion-framework/commit/8fffbfb12daa9748bf5290e5084cd4d409aed253), [`8fffbfb`](https://github.com/equinor/fusion-framework/commit/8fffbfb12daa9748bf5290e5084cd4d409aed253), [`8fffbfb`](https://github.com/equinor/fusion-framework/commit/8fffbfb12daa9748bf5290e5084cd4d409aed253), [`8fffbfb`](https://github.com/equinor/fusion-framework/commit/8fffbfb12daa9748bf5290e5084cd4d409aed253)]:
|
|
94
|
+
- @equinor/fusion-framework-dev-portal@1.0.0
|
|
95
|
+
- @equinor/fusion-framework-dev-server@1.0.0
|
|
96
|
+
- @equinor/fusion-framework-module-msal-node@1.0.0
|
|
97
|
+
- @equinor/fusion-imports@1.1.1
|
|
97
98
|
|
|
98
|
-
##
|
|
99
|
+
## 10.7.6
|
|
99
100
|
|
|
100
|
-
###
|
|
101
|
-
|
|
102
|
-
- [#3074](https://github.com/equinor/fusion-framework/pull/3074) [`6b034e5`](https://github.com/equinor/fusion-framework/commit/6b034e5459094cea0c0f2490335eef3092390a13) Thanks [@odinr](https://github.com/odinr)! - The CLI has been rewritten to use Fusion Framework internally to minimize dependencies and improve performance. This change allows the CLI to be more efficient and maintainable. It also means that the CLI is now a first-class citizen in the Fusion Framework ecosystem, providing a more consistent and integrated experience.
|
|
103
|
-
|
|
104
|
-
The dev portal has been moved out to a separate package `@equinor/fusion-framework-dev-server`. This separation allows for a more modular architecture, enabling developers to use the dev portal independently of the CLI. It also facilitates easier updates and maintenance of the dev portal without affecting the CLI functionality. It also allows for 3rd party developers to create their own dev portals using the Fusion Framework. Also, moving the dev portal to a separate package allows for better versioning and dependency management, ensuring that developers can always use the latest features and improvements without being tied to the CLI release cycle.
|
|
105
|
-
|
|
106
|
-
The dev portal can be configured using the `dev-server.config.js` file, which allows developers to customize the behavior and appearance of the dev portal. This configuration file provides flexibility in how the dev portal operates, enabling developers to tailor it to their specific needs and preferences. **this is currently not documented, but will be in the future**
|
|
107
|
-
|
|
108
|
-
Since the dev portal uses the plugin `@equinor/fusion-framework-vite-plugin-spa`, it is possible to specify a live portal to preview the application in the dev portal. This feature allows developers to see their changes in real-time, enhancing the development experience and speeding up the feedback loop. It is particularly useful for testing and debugging applications during development.
|
|
109
|
-
|
|
110
|
-
The dev portal also supports mocking API services, which allows developers to simulate backend services without needing a live server. This feature is particularly useful for testing and development, as it enables developers to work on the frontend independently of the backend, ensuring a smoother development process. **this is currently not documented, but will be in the future**
|
|
111
|
-
|
|
112
|
-
The dev portal is a key component of the Fusion Framework ecosystem, providing a user-friendly interface for developers to interact with their applications. It allows developers to easily manage and test their applications, providing a streamlined development experience.
|
|
113
|
-
|
|
114
|
-
The Dev Portal uses by default the `@equinor/fusion-framework-dev-portal` package, which is the official dev portal package provided by Fusion which is developer-friendly portal for developing and testing Fusion Framework applications. But it is possible to specify any package as a dev portal, allowing for customization of the development experience. This flexibility enables developers to create their own dev portals or use third-party solutions that better fit their needs.
|
|
115
|
-
|
|
116
|
-
The CLI now supports the `fusion-framework-cli auth login` command for authentication, which is a more secure and user-friendly way to manage access to Fusion Framework applications. This command simplifies the authentication process, making it easier for developers to log in and start working on their applications without needing to manually set environment variables or manage tokens. _`FUSION_TOKEN`_ is still supported for CI/CD and automation, but the CLI now provides a more streamlined and intuitive way to handle authentication.
|
|
117
|
-
|
|
118
|
-
The CLI has now been divided into three main groups:
|
|
119
|
-
|
|
120
|
-
- **bin**: This namespace contains executable functions that can be executed from node scripts, handy for automation and scripting or creating a custom CLI.
|
|
121
|
-
- **commands**: This namespace contains commands that can be executed from the CLI, providing a user-friendly interface for developers to interact with the Fusion Framework.
|
|
122
|
-
- **lib**: This namespace is reserved for consumers of the CLI, like defining configuration files, exposing interfaces, and other utilities that can be used in custom scripts or applications. This separation allows for better organization and modularity of the CLI codebase, making it easier to maintain and extend.
|
|
101
|
+
### Patch Changes
|
|
123
102
|
|
|
124
|
-
|
|
103
|
+
- [#3268](https://github.com/equinor/fusion-framework/pull/3268) [`7ef5afc`](https://github.com/equinor/fusion-framework/commit/7ef5afc96a8c2cebecedc85703be820d84e3885a) Thanks [@odinr](https://github.com/odinr)! - Fix: Improve type safety and error handling in `AppAssetExportPlugin` (app-assets plugin).
|
|
125
104
|
|
|
126
|
-
|
|
105
|
+
- Use `unknown as PluginContext` for type casting in `resolveId` and `emitAssetSync` calls.
|
|
106
|
+
- Add null check and warning if asset emission fails.
|
|
107
|
+
- Minor code style and safety improvements.
|
|
127
108
|
|
|
128
|
-
|
|
109
|
+
This change improves plugin robustness and aligns with best practices for Vite/Rollup plugin development.
|
|
129
110
|
|
|
130
|
-
|
|
111
|
+
- [#3268](https://github.com/equinor/fusion-framework/pull/3268) [`7ef5afc`](https://github.com/equinor/fusion-framework/commit/7ef5afc96a8c2cebecedc85703be820d84e3885a) Thanks [@odinr](https://github.com/odinr)! - Upgraded rollup from `4.22.4` to `4.46.3`
|
|
131
112
|
|
|
132
|
-
|
|
113
|
+
## 10.7.5
|
|
133
114
|
|
|
134
115
|
### Patch Changes
|
|
135
116
|
|
|
136
|
-
- [#
|
|
137
|
-
|
|
138
|
-
- Updated dependencies [[`6b034e5`](https://github.com/equinor/fusion-framework/commit/6b034e5459094cea0c0f2490335eef3092390a13), [`6b034e5`](https://github.com/equinor/fusion-framework/commit/6b034e5459094cea0c0f2490335eef3092390a13), [`6b034e5`](https://github.com/equinor/fusion-framework/commit/6b034e5459094cea0c0f2490335eef3092390a13), [`6b034e5`](https://github.com/equinor/fusion-framework/commit/6b034e5459094cea0c0f2490335eef3092390a13)]:
|
|
139
|
-
- @equinor/fusion-framework-dev-server@1.0.0-next.0
|
|
140
|
-
- @equinor/fusion-framework-dev-portal@1.0.0-next.0
|
|
117
|
+
- [#3164](https://github.com/equinor/fusion-framework/pull/3164) [`31e4477`](https://github.com/equinor/fusion-framework/commit/31e447749cffc6d05e9dc3aef8ec49bd29751714) Thanks [@Noggling](https://github.com/Noggling)! - Fixes a bug where the app module was not using the correct configured HTTP client. Updates the configuration to ensure the app module uses the HTTP client that matches its expected name.
|
|
141
118
|
|
|
142
119
|
## 10.7.4
|
|
143
120
|
|
package/README.md
CHANGED
|
@@ -1,123 +1,85 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Fusion Framework CLI
|
|
3
|
-
description: >
|
|
4
|
-
Fusion Framework CLI is a powerful tool for developing, building, and publishing applications and portal templates within the Fusion Framework ecosystem. See the documentation for full guides, configuration, and advanced usage.
|
|
5
|
-
tags:
|
|
6
|
-
- fusion-framework
|
|
7
|
-
- cli
|
|
8
|
-
- app-development
|
|
9
|
-
- portal-development
|
|
10
|
-
- dev-server
|
|
11
|
-
- ci-cd
|
|
12
|
-
- authentication
|
|
13
|
-
- configuration
|
|
14
|
-
- manifest
|
|
15
|
-
- registry
|
|
16
|
-
- publishing
|
|
17
|
-
- service-discovery
|
|
18
|
-
- equinor
|
|
19
|
-
- documentation
|
|
20
|
-
- getting-started
|
|
21
|
-
keywords:
|
|
22
|
-
- fusion framework
|
|
23
|
-
- cli
|
|
24
|
-
- app development
|
|
25
|
-
- portal development
|
|
26
|
-
- dev server
|
|
27
|
-
- authentication
|
|
28
|
-
- ci/cd
|
|
29
|
-
- configuration
|
|
30
|
-
- manifest
|
|
31
|
-
- publishing
|
|
32
|
-
- registry
|
|
33
|
-
- service discovery
|
|
34
|
-
---
|
|
35
|
-
|
|
36
|
-
# Fusion Framework CLI
|
|
37
|
-
|
|
38
|
-
[](https://www.npmjs.com/package/@equinor/fusion-framework-cli)
|
|
39
1
|
[](./LICENSE)
|
|
40
2
|
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
## Table of Contents
|
|
44
|
-
|
|
45
|
-
- [Fusion Framework CLI](#fusion-framework-cli)
|
|
46
|
-
- [Table of Contents](#table-of-contents)
|
|
47
|
-
- [Overview](#overview)
|
|
48
|
-
- [Features \& Benefits](#features--benefits)
|
|
49
|
-
- [Getting Started](#getting-started)
|
|
50
|
-
- [1. Install the CLI](#1-install-the-cli)
|
|
51
|
-
- [2. Initialize or update your app's manifest and config files](#2-initialize-or-update-your-apps-manifest-and-config-files)
|
|
52
|
-
- [3. Start the development server](#3-start-the-development-server)
|
|
53
|
-
- [4. Log in to the Fusion Framework (if needed)](#4-log-in-to-the-fusion-framework-if-needed)
|
|
54
|
-
- [5. Build and publish your app](#5-build-and-publish-your-app)
|
|
55
|
-
- [6. Upload configuration](#6-upload-configuration)
|
|
56
|
-
- [Common Commands](#common-commands)
|
|
57
|
-
- [Example: package.json](#example-packagejson)
|
|
58
|
-
- [Troubleshooting](#troubleshooting)
|
|
59
|
-
- [Documentation](#documentation)
|
|
60
|
-
- [Contributing](#contributing)
|
|
61
|
-
- [Tooling Roadmap](#tooling-roadmap)
|
|
62
|
-
|
|
63
|
-
## Overview
|
|
64
|
-
|
|
65
3
|
Fusion Framework CLI is a command-line tool for developing, building, and publishing applications and portal templates within the Fusion Framework ecosystem. It streamlines workflows, automates common tasks, and supports modern CI/CD pipelines.
|
|
66
4
|
|
|
5
|
+
**What you can build:**
|
|
6
|
+
- **Fusion Applications**: Interactive web apps that run within the Fusion Portal
|
|
7
|
+
- **Portal Templates**: Customizable portal configurations for different business contexts
|
|
8
|
+
|
|
9
|
+
**Key capabilities:**
|
|
10
|
+
- Development server with hot reload and service discovery
|
|
11
|
+
- Application manifest and configuration management
|
|
12
|
+
- Automated building, bundling, and deployment
|
|
13
|
+
- Environment-specific configuration handling
|
|
14
|
+
- Integrated authentication and authorization
|
|
15
|
+
- CI/CD pipeline support with automated publishing
|
|
16
|
+
|
|
17
|
+
## Prerequisites
|
|
18
|
+
|
|
19
|
+
- **Node.js** (LTS version recommended)
|
|
20
|
+
- **pnpm** (or npm/yarn) package manager
|
|
21
|
+
- **Fusion Framework app or portal project** (or create a new one)
|
|
22
|
+
- **Access to Fusion services** (for authentication and deployment)
|
|
23
|
+
|
|
67
24
|
## Features & Benefits
|
|
68
25
|
|
|
69
|
-
-
|
|
70
|
-
-
|
|
71
|
-
-
|
|
72
|
-
-
|
|
73
|
-
-
|
|
74
|
-
-
|
|
75
|
-
-
|
|
26
|
+
- **🚀 Unified developer experience**: Single tool for the entire development lifecycle - from local development to production deployment
|
|
27
|
+
- **⚡ Rapid local development**: Built-in dev server with hot reload, service discovery, and real-time feedback
|
|
28
|
+
- **🎯 Environment-specific configuration**: Seamlessly manage manifests and configs across dev, test, and production environments
|
|
29
|
+
- **🔐 Integrated authentication**: Secure your apps locally and in CI/CD with Azure AD integration and token management
|
|
30
|
+
- **🔍 Service discovery**: Built-in support for Fusion services with automatic endpoint resolution
|
|
31
|
+
- **📦 Automated bundling & deployment**: One-command building, packaging, and publishing to Fusion registry
|
|
32
|
+
- **🏗️ Extensible architecture**: Support for apps, portals, widgets, and future Fusion components
|
|
33
|
+
- **📚 Comprehensive documentation**: Migration guides, detailed setup instructions, and troubleshooting resources
|
|
76
34
|
|
|
77
35
|
## Getting Started
|
|
78
36
|
|
|
79
|
-
|
|
37
|
+
**Install the CLI**
|
|
80
38
|
|
|
81
39
|
```sh
|
|
82
40
|
pnpm add -D @equinor/fusion-framework-cli
|
|
83
41
|
```
|
|
84
42
|
|
|
85
|
-
|
|
43
|
+
**Initialize or update your app's manifest and config files**
|
|
44
|
+
|
|
45
|
+
Create the required configuration files for your app:
|
|
46
|
+
|
|
47
|
+
- `app.manifest.ts` - Defines your app's metadata and capabilities
|
|
48
|
+
- `app.config.ts` - Contains runtime configuration and environment variables
|
|
86
49
|
|
|
87
|
-
See [Developing Apps](
|
|
50
|
+
See [Developing Apps](docs/application.md) for detailed setup and configuration guidance.
|
|
88
51
|
|
|
89
|
-
|
|
52
|
+
**Start the development server**
|
|
90
53
|
|
|
91
54
|
```sh
|
|
92
55
|
pnpm fusion-framework-cli dev
|
|
93
56
|
```
|
|
94
57
|
|
|
95
|
-
|
|
58
|
+
**Log in to the Fusion Framework (if needed)**
|
|
96
59
|
|
|
97
60
|
```sh
|
|
98
61
|
pnpm fusion-framework-cli auth login
|
|
99
62
|
```
|
|
100
63
|
|
|
101
|
-
|
|
64
|
+
**Build and publish your app**
|
|
102
65
|
|
|
103
66
|
```sh
|
|
104
67
|
pnpm fusion-framework-cli publish --env <environment>
|
|
105
68
|
```
|
|
106
69
|
|
|
107
|
-
|
|
70
|
+
**Upload configuration**
|
|
108
71
|
|
|
109
72
|
```sh
|
|
110
|
-
pnpm fusion-framework-cli app config --
|
|
73
|
+
pnpm fusion-framework-cli app config --publish --env <environment>
|
|
111
74
|
```
|
|
112
75
|
|
|
113
|
-
> **Tip:** For CI/CD and automation, set the `FUSION_TOKEN` environment variable. See [Authentication](
|
|
76
|
+
> **Tip:** For CI/CD and automation, set the `FUSION_TOKEN` environment variable. See [Authentication](docs/auth.md) for details.
|
|
114
77
|
|
|
115
78
|
## Common Commands
|
|
116
79
|
|
|
117
80
|
| Command | Description |
|
|
118
81
|
| -------------------------------------- | ------------------------------------ |
|
|
119
|
-
| `pnpm fusion-framework-cli
|
|
120
|
-
| `pnpm fusion-framework-cli auth login` | Authenticate with Fusion |
|
|
82
|
+
| `pnpm fusion-framework-cli auth ...` | Authenticate with Fusion |
|
|
121
83
|
| `pnpm fusion-framework-cli app ...` | Working with Fusion applications |
|
|
122
84
|
| `pnpm fusion-framework-cli portal ...` | Working with Fusion portal templates |
|
|
123
85
|
|
|
@@ -128,42 +90,74 @@ A minimal example for a Fusion Framework app:
|
|
|
128
90
|
```json
|
|
129
91
|
{
|
|
130
92
|
"name": "@equinor/fusion-framework-app",
|
|
131
|
-
"version": "
|
|
132
|
-
"description": "Fusion Framework
|
|
133
|
-
"main": "dist/
|
|
93
|
+
"version": "1.0.0",
|
|
94
|
+
"description": "My Fusion Framework Application",
|
|
95
|
+
"main": "dist/bundle.js",
|
|
134
96
|
"files": [
|
|
135
|
-
"
|
|
136
|
-
|
|
97
|
+
"dist/",
|
|
98
|
+
"assets/",
|
|
99
|
+
"README.md"
|
|
100
|
+
],
|
|
101
|
+
"scripts": {
|
|
102
|
+
"build": "fusion-framework-cli app build",
|
|
103
|
+
"dev": "fusion-framework-cli dev",
|
|
104
|
+
"publish": "fusion-framework-cli app publish"
|
|
105
|
+
},
|
|
106
|
+
"devDependencies": {
|
|
107
|
+
"@equinor/fusion-framework-cli": "^11.0.0"
|
|
108
|
+
}
|
|
137
109
|
}
|
|
138
110
|
```
|
|
139
111
|
|
|
140
|
-
|
|
112
|
+
**Key fields:**
|
|
113
|
+
- `main`: **Required** - Points to your build output directory (CLI uses this to determine where to place built files)
|
|
114
|
+
- `files`: Specifies which files to include in your app bundle
|
|
115
|
+
- `scripts`: Convenient shortcuts for common CLI commands
|
|
141
116
|
|
|
142
|
-
|
|
117
|
+
> **Note:** The CLI determines the build output location from the `main` field in your package.json. If not specified, it defaults to `dist/bundle.js`.
|
|
143
118
|
|
|
144
|
-
|
|
119
|
+
## Documentation
|
|
145
120
|
|
|
146
|
-
|
|
147
|
-
-
|
|
148
|
-
-
|
|
149
|
-
- **Need help?** Open an issue or see the [docs folder](./docs/).
|
|
121
|
+
**Getting Started**
|
|
122
|
+
- [Developing Apps](docs/application.md): Complete guide to building, configuring, and deploying Fusion applications
|
|
123
|
+
- [Developing Portals](docs/portal.md): Guide to building, configuring, and publishing portal templates
|
|
150
124
|
|
|
151
|
-
|
|
125
|
+
**Setup & Configuration**
|
|
126
|
+
- [Authentication](docs/auth.md): Setting up authentication for local development and CI/CD environments
|
|
127
|
+
- [libsecret Installation](docs/libsecret.md): Fix credential storage issues on Linux systems
|
|
128
|
+
|
|
129
|
+
**Migration & Updates**
|
|
130
|
+
- [Migration Guide: v10 to v11](docs/migration-v10-to-v11.md): Breaking changes, deprecated commands, and upgrade instructions
|
|
131
|
+
|
|
132
|
+
**Additional Resources**
|
|
133
|
+
- [CLI Command Reference](docs/application.md#commands): Detailed documentation of all available commands and options
|
|
134
|
+
- [CI/CD Best Practices](docs/application.md#ci-cd): Automated workflows and deployment strategies
|
|
135
|
+
- [Troubleshooting Guide](docs/application.md#troubleshooting-faq): Common issues and solutions
|
|
136
|
+
|
|
137
|
+
## Troubleshooting
|
|
138
|
+
|
|
139
|
+
### Common Issues
|
|
152
140
|
|
|
153
|
-
|
|
154
|
-
- [
|
|
155
|
-
-
|
|
156
|
-
- [Authentication](./docs/auth.md): Setting up authentication for local and CI/CD environments.
|
|
157
|
-
- For more guides and advanced topics, see the [docs folder](./docs/).
|
|
141
|
+
**Authentication & Credentials**
|
|
142
|
+
- **Authentication issues?** See [Authentication Guide](docs/auth.md) for token setup and troubleshooting
|
|
143
|
+
- **libsecret errors on Linux?** Install libsecret using our [installation guide](docs/libsecret.md)
|
|
158
144
|
|
|
159
|
-
|
|
145
|
+
**CLI & Commands**
|
|
146
|
+
- **Command not found?** Ensure `node_modules/.bin` is in your PATH or use `pnpm`/`npx`
|
|
147
|
+
- **Permission errors?** Check that you have the correct access rights to Fusion services
|
|
160
148
|
|
|
161
|
-
|
|
149
|
+
**Build & Development**
|
|
150
|
+
- **Build errors?** Verify your `app.manifest.ts` and `app.config.ts` files for syntax errors
|
|
151
|
+
- **Dev server not starting?** Check for port conflicts (default: 3000) or use `--port` option
|
|
152
|
+
- **Missing dependencies?** Ensure all required packages are installed with `pnpm install`
|
|
162
153
|
|
|
163
|
-
|
|
154
|
+
**Publishing & Deployment**
|
|
155
|
+
- **Upload failures?** Verify your app is registered in the Fusion App Admin
|
|
156
|
+
- **Environment issues?** Check that you're using the correct `--env` parameter
|
|
164
157
|
|
|
165
|
-
|
|
166
|
-
---
|
|
158
|
+
### Getting Help
|
|
167
159
|
|
|
168
|
-
|
|
160
|
+
- **Detailed troubleshooting:** See our [comprehensive troubleshooting guide](docs/application.md#troubleshooting-faq)
|
|
161
|
+
- **Found a bug?** Open an issue on our GitHub repository
|
|
162
|
+
- **Need support?** Check the [docs folder](docs/) or reach out to the Fusion team
|
|
169
163
|
|