Azure / Azure/api-management-developer-portal

Publishing error with Node 22.X: Unable to resolve collection "publishers": Error: Unable to resolve collection "htmlPagePublisherPlugins"

Open
#2,811 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
545
Forks
360
PR merge metrics
No merged PRs in 30d

Description

## Bug description

When running:
```
npm run publish
```

On a fresh checkout of version '2.33.0' of the portal, the following error is received:

```
safe-buffer (ignored) 15 bytes [built] [code generated]
webpack 5.88.2 compiled successfully in 88853 ms
webpack://apim-developer-portal/./node_modules/@paperbits/common/injection/inversifyInjector.ts?:124
throw new Error(`Unable to resolve collection "${collectionName}": ${error.stack || error.message}`);
^

Error: Unable to resolve collection "publishers": Error: Unable to resolve collection "htmlPagePublisherPlugins": TypeError: Cannot set property navigator of # which has only a getter
at KnockoutHtmlPagePublisherPlugin.initialize (webpack://apim-developer-portal/./node_modules/@paperbits/core/publishing/knockoutHtmlPagePublisherPlugin.ts?:29:26)
at new KnockoutHtmlPagePublisherPlugin (webpack://apim-developer-portal/./node_modules/@paperbits/core/publishing/knockoutHtmlPagePublisherPlugin.ts?:20:14)
at _createInstance (webpack://apim-developer-portal/./node_modules/inversify/lib/resolution/instantiation.js?:27:12)
at Object.resolveInstance (webpack://apim-developer-portal/./node_modules/inversify/lib/resolution/instantiation.js?:47:18)
at eval (webpack://apim-developer-portal/./node_modules/inversify/lib/resolution/resolver.js?:75:42)
at eval (webpack://apim-developer-portal/./node_modules/inversify/lib/resolution/resolver.js?:35:24)
at Array.map ()
at eval (webpack://apim-developer-portal/./node_modules/inversify/lib/resolution/resolver.js?:33:34)
at Object.resolve (webpack://apim-developer-portal/./node_modules/inversify/lib/resolution/resolver.js?:99:12)
at eval (webpack://apim-developer-portal/./node_modules/inversify/lib/container/container.js?:335:37)
at new Collection (webpack://apim-developer-portal/./node_modules/@paperbits/common/injection/inversifyInjector.ts?:124:27)
at Object.resolveInstance (webpack://apim-developer-portal/./node_modules/inversify/lib/resolution/instantiation.js?:51:18)
at eval (webpack://apim-developer-portal/./node_modules/inversify/lib/resolution/resolver.js?:75:42)
at Array.map ()
at Object.resolveInstance (webpack://apim-developer-portal/./node_modules/inversify/lib/resolution/instantiation.js?:46:67)
at eval (webpack://apim-developer-portal/./node_modules/inversify/lib/resolution/resolver.js?:75:42)
at Array.map ()
at Object.resolveInstance (webpack://apim-developer-portal/./node_modules/inversify/lib/resolution/instantiation.js?:46:67)
at eval (webpack://apim-developer-portal/./node_modules/inversify/lib/resolution/resolver.js?:75:42)
at eval (webpack://apim-developer-portal/./node_modules/inversify/lib/resolution/resolver.js?:35:24)
at new Collection (webpack://apim-developer-portal/./node_modules/@paperbits/common/injection/inversifyInjector.ts?:124:27)
at Object.resolveInstance (webpack://apim-developer-portal/./node_modules/inversify/lib/resolution/instantiation.js?:51:18)
at eval (webpack://apim-developer-portal/./node_modules/inversify/lib/resolution/resolver.js?:75:42)
at Array.map ()
at Object.resolveInstance (webpack://apim-developer-portal/./node_modules/inversify/lib/resolution/instantiation.js?:46:67)
at eval (webpack://apim-developer-portal/./node_modules/inversify/lib/resolution/resolver.js?:75:42)
at Object.resolve (webpack://apim-developer-portal/./node_modules/inversify/lib/resolution/resolver.js?:99:12)
at eval (webpack://apim-developer-portal/./node_modules/inversify/lib/container/container.js?:335:37)
at Container._get (webpack://apim-developer-portal/./node_modules/inversify/lib/container/container.js?:326:44)
at Container.get (webpack://apim-developer-portal/./node_modules/inversify/lib/container/container.js?:243:21)
```

**This only occurs in Node 22.X ( I have confirmed this issue on 20.19.1, 22.14.0, and 22.15.0). I have tested in Node 20.19.1, and the issue is not present.**

## Reproduction steps

1. Ensure you are using a version of Node >=22.X
2. Checkout release 2.33.0 of the self hosted portal and make necessary config file changes.
3. Run 'npm run publish'.
4. Observe error displayed above.

## Expected behaviour

Compilation succeeds and portal loads in browser.

## Is self-hosted portal?

Yes

## Release tag or commit SHA (if using self-hosted version)

2.33.0

## API Management service name

not disclosed

## Environment

- Operating system: 11
- Browser: Edge
- Version: 136.0.3240.64

## Additional context

This issue is raised by CSS support. This issue can be replicated.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.