Comments (8)
Thanks for opening this.
from scribe.
next release will greatly reduce the dep graph of individual npm packages w/ better inlining & still offering all packages
https://twitter.com/jdalton/status/459452985290924032
from scribe.
More info on that: lodash/lodash#437 (comment)
from scribe.
@OliverJAsh thanks for copying me in, not sure how much I can help as I'm probably quite biased at this point, but it does sound like the fairly common package management problem.
Typically you can solve package management, multi-versioning or dynamic loading, but never all of these at the same time.
Handling multi-versions in RequireJS can certainly be done with a "@" suffix. And shortcuts to exact versions can be set up with map config or alias modules (eg require(['jquery'] -> require(['[email protected]'])
). But as you say you lose Bower support here.
Have you considered an npm approach?
from scribe.
Perhaps consider if you can work on the build problem and package management problem, without having multi-version support first.
from scribe.
npm solves exactly the problem that you are describing via npm dedupe
.
Due to your AMD-preference I don't know if you would be able to make use of npm without a hefty refactor, but I think the benefits are worth it. If you use node style requires then you open up the whole of the npm registry from which to consume modules, not to mention the benefits of using a proper package manager and module system!
This way your core and all of you plugins can list their own dependencies. If they are different, you will get all those that are required, and if they can depend on a common version, npm dedupe
will make sure only one copy of that version exists.
It is trivial to maintain support for AMD / browser global consumers. You can simply build an AMD/global standalone bundle with $ browserify --standalone moduleName
(more info here).
Hope this helps. This approach works really well for me.
from scribe.
@substack, what would be your opinion here? Use node.js+browserify?
from scribe.
@guybedford @bengourley Thanks for your input, very much appreciated. We are currently considering these options.
from scribe.
Related Issues (20)
- allowBlockElements=false in Safari prevents entering new lines HOT 2
- Pressing Enter while having a selection in inline-mode does not delete the range content HOT 1
- Roadmap to making Safari support official?
- lodash dependecy still exists. HOT 10
- Pasting inserts paragraph tags even in inline-mode
- Remove Unexpected Usage of ES6 const HOT 2
- NPM releases improvements HOT 3
- Pull requests welcome? HOT 1
- Scribe commands not working when triggered in child iframe HOT 1
- whether consider supporting umd? HOT 2
- command plugin problem
- Edge compatibility HOT 1
- cjs version [email protected] does not work with browserify w/ deamdify
- UndoManager and a max length plugin
- Any chance of supporting lists?
- Un able to import Scribe using angular Cli
- plugin injection into existing `scribe` instance HOT 1
- Demo is broken
- Selection.range collapses when selecting the last word of a paragraph HOT 5
- Text alignment
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from scribe.