Markbind: Could not install from [...] as it does not contain a package.json file

Created on 18 Mar 2018  路  11Comments  路  Source: MarkBind/markbind

Looks like we need to undo this for now:

  • ~9962681 Use local markbind~ (overwritten by force-push)
  • c36f595 Use local markbind
c.Bug 馃悰 p.High

All 11 comments

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. 馃挴

Was this page helpful?
0 / 5 - 0 ratings