-
-
Notifications
You must be signed in to change notification settings - Fork 931
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove object-assign
and bluebird
dependencies
#69
Comments
ahh... i think i found a bug on Promise.all that bluebird fixed, hence the need for bluebird. i'll have to investigate a little more on that. I'd still like to keep bluebird as a devdependency though. its stack traces are super useful. |
the actually, i've been thinking on whether it should support legacy node.js versions too... not sure on that. being able to use arrow functions really cleans up the source considerably. |
My $0.02 is to keep the source clean for the moment and use the ES6 features that are available. Could always do a babelified mirror for older versions of node if there's a demand for it. |
actually i can probably do something like this: {
"prepublish": /* convert lib/ to babel-ified versions */
"postpublish": /* reset lib/ */
} in which case it makes sense to keep bluebird/object-assign. |
Yup, I prefer the idea of doing this for a node 0.x fork though, and keeping the main lib unbabelified. |
Babel can polyfill Promises and |
using |
With Babel6, you selectively choose the polyfills so it's not much different than the |
okay, that's quite handy. |
Just going to lodge a 👎 on babelifying the main lib. :-) I'd prefer to keep the node 0.x version as a fork. Babel adds a layer of abstraction (albeit lightweight) to debugging and stacktraces. |
I suppose sourcemaps negate that a little bit but I still prefer the idea of keeping the main lib without it. |
wouldn't a hard fork present a problem? how about publishing a babelified version as "pnpm-legacy"? |
Yup, that's what I meant. Fork was probably a confusing word to use. :-) |
oh there's also --retain-lines, how aboout that one? |
also, there's an idea of something like install = isNodeVersion4orAbove
? require('lib/cmd/install')
: require('lib.es5/cmd/install') |
I'd prefer to just use sourcemaps over
Are you bundling two versions of the lib in that case (es5 and es6)? My preference would still be to have a separate |
yeah. my only concern with publishing a |
Does (modern) node.js support source maps? |
Yup |
#73 now adds inline source maps as part of the babel experiment. No idea if it works, haha. |
Yeah, I look at it another way. You would be treating node >= 4 as a first class citizen, while still providing a path for Node 0.x users. The marketshare for 0.x will only continue to diminish over time. You can always decide to move the legacy version into core in the future if there's a demand... but it's much more difficult to move the other way because there will probably be people relying on 0.x support. Just my 2 cents, obviously it's your module and your call though :-) |
Also, you can always |
on the other hand it'd cause fragmentation. keep in mind the CLI isn't the only way to consume |
Yeah, but the nice thing is that Anyway, I see pros and cons both ways and my opinion is more of a personal preference really :-) |
I couldnt get the object-assign transform to work, btw. bummer |
Since pnpm is only compatible with node >= 4 anyway, why not use native promises and
Object.assign()
?The text was updated successfully, but these errors were encountered: