Uploaded image for project: 'XWiki Platform'
  1. XWiki Platform
  2. XWIKI-24753

vue-router and inversify are declared both as dependencies and peerDependencies of published node packages

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 18.7.0
    • 17.10.0
    • Node
    • None
    • Unknown
    • N/A
    • N/A

    Description

      @xwiki/platform-api declares vue-router both in dependencies (as catalog:, i.e. published as an exact pin — currently 5.2.0) and in peerDependencies (5.x). @xwiki/platform-editors-blocknote-react does the same with inversify. In both packages the library only appears in import type statements, so it is a peer dependency and not a runtime one.

      The double declaration breaks any consumer that provides a different, yet peer-compatible, version of the library: pnpm satisfies the peer from the consumer's own resolution and never materialises the exactly-pinned copy, so a tool that reads the published dependencies literally finds nothing.

      Cristal, which pins vue-router 5.0.3, can no longer package its Electron application at all — electron-builder aborts with:

      production dependency not found  parent=@xwiki/platform-api dependency=vue-router version=5.2.0
      Production dependency vue-router not found for package @xwiki/platform-api
      

      Every Cristal Electron CI build has failed since 2026-07-30 for this reason.

      The fix is to drop the dependencies entries, keep the peerDependencies declaration, and keep (or add) the devDependencies entry that local typecheck and build need.

      Attachments

        Activity

          People

            mleduc Manuel Leduc
            mleduc Manuel Leduc
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: