Skip to content

Allow install scripts of js-controller and esbuild for npm >= 12 - #610

Open
Garfonso wants to merge 1 commit into
ioBroker:mainfrom
Garfonso:fix/npm12-allow-scripts
Open

Garfonso wants to merge 1 commit into
ioBroker:mainfrom
Garfonso:fix/npm12-allow-scripts

Conversation

@Garfonso

@Garfonso Garfonso commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

npm 12 blocks install scripts of dependencies unless they are listed in the "allowScripts" field of package.json. The npm warning about blocked scripts is hidden by --loglevel error.

  • js-controller's install script runs "setup first", which creates system.config and the _design objects. Without it, "upload admin" fails with 'Cannot find view "system"' and setup aborts.
  • esbuild 0.11 (used by @alcalzone/esbuild-register, which js-controller uses to start TypeScript adapters) downloads its binary in its install script. Without it, TypeScript adapters fail with "esbuild: Failed to install correctly".

Add both to allowScripts in the generated profile package.json. Older npm versions ignore the field. Remote setup uploads the same package.json, so it is covered as well.

npm 12 blocks install scripts of dependencies unless they are listed in
the "allowScripts" field of package.json. The npm warning about blocked
scripts is hidden by --loglevel error.

- js-controller's install script runs "setup first", which creates
  system.config and the _design objects. Without it, "upload admin"
  fails with 'Cannot find view "system"' and setup aborts.
- esbuild 0.11 (used by @alcalzone/esbuild-register, which js-controller
  uses to start TypeScript adapters) downloads its binary in its
  install script. Without it, TypeScript adapters fail with
  "esbuild: Failed to install correctly".

Add both to allowScripts in the generated profile package.json. Older
npm versions ignore the field. Remote setup uploads the same
package.json, so it is covered as well.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VbBXwNK1HEqo3JfpuhT6k9
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant