3 ms·
It sounds like this means that if I wanted to use a specific version of Ember, I would have something like the following line in many files: require("emberjs
by wycats 12y ago
It sounds like this means that if I wanted to use a specific version of Ember, I would have something like the following line in many files:
require("emberjs/ember-component@^1.6.1")
Doesn't this mean that to update an Ember package, I have to change every file that references that package? That would mean having to touch the JS file for every component in your project to bump the version.
Am I missing something?
- anthonyshort 12y agoYou'd use a component.json to lock it down for an app. The inline versioning is really just a way to quickly write code and get something up and running. Manifests are just a pain when you're just getting started with a project or a small script. If a component.json is present, it'll use that to get the versions and you just require('emberjs/ember-component')
- wycats 12y agoAh. I would probably clarify the language to make it clear that having a manifest approach is the intended approach for real-world apps, but that it can be left out when playing around.
- matthewmueller 12y agoThe manifest is optional, so for big projects I would probably recommend using a manifest to keep all your versioning in one place. Duo falls back to the manifest if it cannot resolve the path on it's own. For proof of concepts and hacks though, adding a manifest is a waste of everyone's time.
- wycats 12y agoI personally haven't had much trouble with: npm install foo --save-dev When you go beyond a single developer playing around, having a quick, well-known place to look to learn what dependencies are being used is very useful.
- TheHydroImpulse 12y agoPeople mentioned the manifest file, but I went one step further to try and get duo to adopt a lock file: https://github.com/duojs/duo/issues/220 https://github.com/duojs/duo/issues/220