
Looks like we need to undo this for now:
- ~9962681 Use local markbind~ (overwritten by force-push)
- c36f595 Use local markbind
I guess I should not upgrade to 1.6.1 yet?
I was wondering if we could import markbind locally as a module:
const Markbind = require('./markbind/parser');
But we can still publish modules separately? Checking to see if I'm missing a very big detail here.
EDIT: Currently i see that the markbind core lib is not ignored in .npmignore, so when publishing markbind-cli, the markbind core is publish together with it.
@damithc Yeah. I'll let you know when it's up.
@nicholaschuayunzhi Yes, we can publish MarkBind core separately.
Currently i see that the markbind core lib is not ignored in .npmignore, so when publishing markbind-cli, the markbind core is publish together with it.
That's the aim of merging the two repos.
shall we remove markbind as a dependency for markbind-cli then? and use a local import:
const Markbind = require('./markbind/parser');
Yes, that's an alternative that requires duplicating MarkBind core's dependencies in markbind-cli.
I was considering to "depend" on a version of MarkBind core just for its dependencies, which means we'll need to release MarkBind core and update its version in markbind-cli whenever we update dependencies. The purpose is to separate the dependencies, but that seems to be of little value the more I think about it.
@Gisonrg Your thoughts?
Previously I was thinking if we merge core into cli repo we could make core a git submodule so that from CLI we could refer to core locally but core can still has its own repo / npm management.
We might also try use Lerna suggested in that npm issue, but not sure if it is very hard to integrate.
I did spend quite a bit of time looking into both submodules and Lerna.
npm does not handle submodules:
https://stackoverflow.com/questions/42938741/npm-install-update-git-submodule
Besides, it means that it is necessary to update the submodule in markbind-cli too.
Having its own repo means that changes cannot be done in a single PR, as before.
I believe with Lerna, markbind-cli will again depend on a specific version of MarkBind when published.
Essentially, it handles what we were doing before with require(../path/to/markbind) in development.
I'm inclined to duplicating the core's dependencies in markbind-cli; Lerna is a little overkill for 2 repos.
Lerna is a little overkill for 2 repos
Yea agree on this.
I don't mind duplicating stuff since this is blocking our future release. Let's make it working first and think about optimization (or ask npm to fix their issues! 馃槢 )
Published: npm i -g [email protected] (cc: @damithc)
@Gisonrg @nicholaschuayunzhi Thanks for your input!
Published: npm i -g [email protected] (cc: @damithc)
Seems to work. 馃挴