0

I’m looking for a way to use a local package (named bs-package) from my Reason React app (named ApplicationA).

bs-package has a single file within src folder called ModuleA.re :

let greet_me = (me) => Js.log("Hello, " ++ me ++ "!");

In ApplicationA I did :

npm install /path/to/bs-package

In node_modules bs-package now appears as symbolic link.

Then added bs-package to bs-dependencies in bsconfig

"bs-dependencies": [
    "reason-react",
    "bs-package",
],

Then run make world in ApplicationA

bsb -make-world 

Now in my Reason React app

ModuleA.greet_me("John");

Gives me

unbound module ModuleA

What am I missing ?

EDIT

Here is the config file of bs-package

It was created with

bsb -init bs-package -theme basic-reson

bsconfig.json

{
    "name": "bs-pacakge",
    "version": "0.1.0",
    "sources": {
        "dir" : "src",
        "subdirs" : true
    },
    "package-specs": {
        "module": "commonjs",
        "in-source": true
    },
    "suffix": ".bs.js",
    "bs-dependencies": [

    ],
    "warnings": {
        "error" : "+101"
    },
    "namespace": true,
    "refmt": 3
}

package.json

{
    "name": "bs-pacakge",
    "version": "0.1.0",
    "scripts": {
        "build": "bsb -make-world",
        "start": "bsb -make-world -w",
        "clean": "bsb -clean-world"
    },
    "keywords": [
        "BuckleScript"
    ],
    "author": "",
    "license": "MIT",
    "devDependencies": {
        "bs-platform": "^5.0.6"
    }
}

As suggested, bs-package is namespaced so this should work

BsPackage.ModuleA.greet_me("name")

But the same error appears

unbound module BsPackage

Yvain
  • 882
  • 1
  • 10
  • 27
  • 1
    I believe the path should be `/path/to/bs-package`. Other than that, and assuming `bs-package` is set up correctly, this looks fine. But it might be that `bs-package` is namespaced, for example, and then `ModuleA` would be exposed as `BsPackage.ModuleA`. – glennsl Dec 10 '19 at 16:04
  • @glennsl changed path to /path/to/bs-package – Yvain Dec 10 '19 at 16:11

1 Answers1

0

Apparently the bug came from my bs-platform version. I've just switch from version 6.2.1 to version 7.0.1 and everything works fine now (I'm on Windows).

Yvain
  • 882
  • 1
  • 10
  • 27