Compiler behavior when there is a name conflict between 2 listed dependencies

bsb

#1

I’m adding this here so that I can link to it in the GitHub issue and hopefully to save someone a few hours of their life…

GitHub Issue

Discord Posts

Hello all, what are the possible reasons for a package listed in the bsconfig.json bs-dependencies section and the package.json dependencies section to not be built with bsb -make-world?
here are my dependency listings in bsconfig.json

  "bs-dev-dependencies": [
    "@glennsl/bs-jest"
  ],
  "bs-dependencies": [
    "@glennsl/bs-json",
    "bs-node-debug",
    "bs-moment",
    "bs-mysql2",
    "bs-password",
    "bs-sql-common",
    "bs-sql-composer",
    "reason-future",
    "reason-nconf"
  ],

here are my dependency listings in pakcage.json

  "dependencies": {
    "@glennsl/bs-json": "^2.0.0",
    "avsc": "^5.2.3",
    "bs-moment": "^0.3.0",
    "bs-mysql2": "^4.0.0",
    "bs-node-debug": "^0.2.0",
    "bs-password": "^1.0.0",
    "bs-pimp-my-sql": "^4.0.3",
    "bs-platform": "^3.1.5",
    "bs-result": "^2.2.0",
    "bs-sql-common": "^1.0.2",
    "bs-sql-composer": "^3.2.0",
    "global": "^4.3.2",
    "grpc": "^1.12.2",
    "knex": "^0.14.6",
    "knex-migrate": "^1.5.5",
    "moment": "^2.22.2",
    "morgan": "^1.9.0",
    "reason-future": "^2.2.1",
    "reason-nconf": "^1.0.0"
  },

Here is the build output from bsb -clean-world; bsb -make-world
Attachment file type: document

been stuck on this for hours… don’t see any reason why it wouldn’t be there… Here is the section of the build command with bs-sql-composer listed.

…i/influential2/data-cloud/auth2/node_modules/bs-sql-common/lib/ocaml -I /Users/nathansculli/influential2/data-cloud/auth2/node_modules/bs-sql-composer/lib/ocaml -I /Users/nathansculli/influential2/data-cloud/auth2/node_modules/reason-future/lib/ocaml -I /Users/nathansculli/influential2/data-cloud/auth2/node_modules/reason-nconf/lib/ocaml …

ugh… I found it. bs-password had “name”: “bs-sql-composer” in it’s bsconfig.json file.

Is there a way the compiler can warn about this?