Closed rrees closed 9 years ago
Do you want to make the version of Scribe the plugin needs explicit? Would be good to trial that we can do this somehow.
I see it's already a devDependency
of the bower.json
of the main
branch, but it points to scribe#master
, which isn't really descriptive enough to help detect and resolve conflicts.
It'd also need to be in the bower.json
of the dist
branch as that's what's read by Bower when you bower install
the plugin.
@theefer Updating the dependency seemed to kill the CI build so I have raised #16 for this.
Don't know if this is related to the master stuff but it seems helpful https://github.com/guardian/scribe-plugin-smart-lists/pull/10
Now uses Immutable to replace Lodash in the plugin.
Referencing: https://github.com/guardian/scribe/issues/291
@hmgibson it is indeed exactly that
@hmgibson23 even ^
Worth noting that exposing Immutable on scribe like so causes it to be unversioned, or rather transitively version through the version of Scribe (and the version of Immutable that it depends on). This makes it rather hard to track and impossible to override the Immutable version (say to a patch or minor upgrade that includes a fix this plugin needs).
This is something I've learnt in practice doing something similar with plumber and Rx. I'd urge you to think about it before applying this to all plugin...
The best fit for this would be peerDependencies (npm), but as conjectured in the previous discussions with @OliverJAsh, it should also work using dependencies in the bower.json. Both would make the package manager share the version it downloads, picking the latest that satisfies all dependency constraints, and forcing the user to resolve any conflict.
Note that it's the exact same thing as the dependency on Scribe, so nothing new or more complicated.
Due to changes in master I'm going to kill this and resubmit.
Tests pass and the dependency on Scribe Common has been removed.
I also bumped the plumber version to avoid the clashing versions I have been suffering from.