RaveJS / rave

Zero-configuration application bootstrap and development
278 stars 8 forks source link

The rave.missing feature does not work for the metadata "dependencies" property #55

Closed unscriptable closed 10 years ago

unscriptable commented 10 years ago

The rave.missing feature is meant to supply missing metadata properties until a third-party package author fixes their package.json or bower.json file(s). This feature works for some properties, such as "main", but not for others, such as "dependencies".

In the case of "dependencies", it doesn't work for two reasons:

  1. rave.missing overrides rave's abstraction of the metadata properties, not the actual metadata properties, and rave's abstracted property is named "deps", not "dependencies".
  2. Rave supplies a default "deps" property, so the rave.missing algorithm never detects that it's missing.

There are really two problems here:

  1. rave.missing really needs to override the actual metadata properties, not rave's abstraction of them. This will take some refactoring, but needs to be done.
  2. Rave shouldn't supply default values for the actual metadata properties. It must only supply defaults for it's abstraction. (Rave supplies defaults to simplify and accelerate internal logic.)
unscriptable commented 10 years ago

This is fixed in the crawl branch... although my choice of using "dependencies" is strange since I can't think of a valid use case for overriding this particular property. :)

unscriptable commented 10 years ago

Fixed as of 0.3.0.