Skip to content

semantic versioning violation breaks load order and --production run fails with weak dependencies (I think) #58

@igoodrich

Description

@igoodrich

Hello Nemo. Thank you for making and maintaining the package. 👍

I am trying to use meteor-bootstrap with accounts-ui-bootstrap-3 (https://github.com/ianmartorell/meteor-accounts-ui-bootstrap-3). It works great in development mode, but not when meteor --production is used to run it, nor on modulus without a -D (debug) flag. '-D' with modulus means 'Debug' and the minimization if skipped.

You can see here (https://github.com/ianmartorell/meteor-accounts-ui-bootstrap-3/blob/master/package.js) that that accounts-ui-bootstrap specifies it's nemo64:bootstrap version thusly:
'nemo64:bootstrap@3.3.1_1'

Your current version is '3.3.1_5'

According to this:
https://meteorhacks.com/meteor-packaging-system-understanding-versioning
I think 3.3.1_5 is < 3.3.1_1 because the '_5' is A-Z sort < _1 -- if I'm reading the above-referenced depiction of versioning correctly.
accounts-ui-bootstrap-3 specifies the dependency weakly because one can also use twbs:bootstrap. That's why meteor does not raise an error and quit -- it's a soft dependency.

In essence, the '_5' may be undermining the packaging system's ability to correctly order dependencies. In fact, nemo64:bootstrap is after accounts-ui-bootstrap in .meteor/versions. I assume after means to be loaded after (I am not certain though). For some reason, this does not matter w/o the minification that --production brings.

I would have tested this and done I think that means I'd have to actually fork first and re-publish the package under my name -- so, I decided to raise it with you via an issue and get your thoughts. I may still do that in parallel...

Thanks!
Ian

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions