exb-widget
Experience Builder Custom Widget
Developer Edition custom widget work. Establish the deployment target and compile version before writing widget code; validate behavior in the runtime that will actually load it.
Establish the target before code
- Inspect the workspace and existing widget. Establish whether this is a new widget or a change, its required behavior, data/map inputs, intended audience, and deployment target. Ask only for consequential information not already supplied.
- Distinguish a local Developer Edition widget, an externally hosted full experience, and a widget registered in Enterprise. A Developer Edition app consuming Enterprise data does not inherit the portal-widget compile constraint. Custom widgets cannot be installed into the ArcGIS Online builder; an externally hosted Developer Edition app using Online content is a different target. Verify against widget and theme deployment.
- Read
client/package.jsonfor the installed ExB version and inspect the extension layout. Confirm Developer Edition versus an Esri source checkout before following placement or registration instructions. If the installation is unavailable, ask for its version and relevant files; mark the environment gate unresolved rather than guessing. - For an Enterprise-registered widget, record every promised Enterprise target and resolve its matching Developer Edition via VERSIONS.md. Use the same JS SDK version as each portal target. A single artifact starting from the oldest target's matching edition is only a candidate support policy, not a forward-compatibility guarantee: test every promised target. Use target-specific builds or narrow the support range when necessary.
- For local development or an externally hosted experience, pin the Developer Edition runtime and verify the connected Online/Enterprise services it uses. Record the selected runtime, target(s), source URLs, verification date, and any unresolved pairings before implementation.
exbVersion declares framework compatibility; lowering it does not backport APIs, dependencies, or compiled code. The WidgetManifest reference described its check as not currently enforced when verified on 2026-09-24. Recheck that status for the task; neither the field nor successful compilation proves runtime compatibility.
Verify the exact-release toolchain
Before dependency installation or startup, use VERSIONS.md to resolve the required Node range, recommended Node version, and npm/pnpm installation choice for the exact release. Compare these with installed tools and the client/server package metadata and lockfiles. Resolve mismatches before running commands; distinguish dependency installation from script execution.