Window is not defined forge/bridge

Hi,
I’m using the following dependencies for a Custom UI app:

"dependencies": {
  "@atlaskit/button": "^16.1.1",
  "@atlaskit/css-reset": "^6.0.1",
  "@atlaskit/flag": "^14.4.1",
  "@atlaskit/form": "^8.3.1",
  "@atlaskit/icon": "^21.9.1",
  "@atlaskit/lozenge": "^11.3.1",
  "@atlaskit/page-header": "^10.2.0",
  "@atlaskit/section-message": "^6.1.2",
  "@atlaskit/select": "^18.10.3",
  "@atlaskit/spinner": "^16.2.0",
  "@atlaskit/textfield": "^5.1.1",
  "@atlaskit/theme": "^12.0.1",
  "@forge/bridge": "^5.0.0",
  "buffer": "^6.0.3",
  "react": "^16.13.1",
  "react-dom": "^16.13.1",
  "styled-components": "5.2.3"
}

I have the following invoke function in my Custom UI code:

useEffect(() => {
  invoke("get-license-status").then((licenseStatus) => {
    setLicenseStatus(licenseStatus);
  });
}, []);

The resolver dependencies are:

"@forge/resolver": "1.6.3"

The manifest.yml looks like this:

- key: single-issue-picker-field
  name: Single Issue Picker
  icon: https://i.ibb.co/pr22Bhd/issue-picker.png
  description: An issue single select field
  viewportSize: medium
  type: string
  render: native
  validation:
    expression: |-
      let errorMessage = value ? value.includes("64ab65a0-f5de-49b7-8c85-b8b921a91054") : false;
      errorMessage ? value.split("/")[1].slice(0) : true
  contextConfig:
    resource: config-issue-picker
  resource: proxy
  edit:
    resource: edit-issue-picker-res
  resolver:
    function: resolver
function:
  - key: resolver
    handler: index.handler

In index.js, I have the following:

import Resolver from "@forge/resolver";
const resolver = new Resolver();
resolver.define("get-license-status", async ({ context }) => {
  return getLicenseStatus(context);
});

export const handler = resolver.getDefinitions();

What could be the problem here?

Thanks.

Hi,

The “window is not defined” error usually happens when you import a frontend package such as @forge/bridge inside your resolver function. Please check that you don’t have any direct or indirect dependencies from index.js to @forge/bridge, e.g. from where you imported getLicenseStatus.

Hi,
I checked but there is no @forge/bridge in my resolver function.
In getLicenceStatus, I have the following:

export default function(context) {
    const override = process.env.LICENSE_OVERRIDE;
    if (typeof override !== 'undefined') {
        if (override.toLowerCase() === "active") {
            return true;
        }
        if (override.toLowerCase() === "inactive") {
            return false;
        }
    }
    // Else return the actual value
    return context && context.license && context.license.isActive;
};

Also my node version is v22.11.0 and my forge version is 12.0.0. Maybe, it can help for fix the error.

Hello again,
I wanted to provide an update. The issue was resolved by downgrading the Forge CLI version to 11.0.0. Could you please let me know how I can file a bug report for this?

You can open a request here: Jira Service Management