caleb / broccoli-fast-browserify

A caching, flexible Browserify Broccoli filter
https://github.com/caleb/broccoli-fast-browserify
BSD 3-Clause "New" or "Revised" License
14 stars 7 forks source link

Consider exposing the browserify.fullPaths option #4

Closed fourcube closed 9 years ago

fourcube commented 9 years ago

What do you think about exposing the browserify.fullPaths option (https://github.com/caleb/broccoli-fast-browserify/blob/master/index.js#L165) as a broccoli-fast-browserify option?

This could save a lot of space in the resulting javascript code. Especially because those path strings will not be removed during minification.

(Also: Thank you for your work, this plugin works perfectly.)

caleb commented 9 years ago

That sounds like a good idea, but the caching mechanism that makes this plugin so fast requires that fullPaths be true.

I will experiment with allowing fullPaths to be false for one-off builds (broccoli build vs broccoli serve). That way in development you'll get fast rebuilding, and get smaller builds for production.

I just want to make sure that setting fullPaths to false has no averse effects on single builds (again, continuous rebuilds won't work because this plugin uses the same logic as the watchify https://github.com/substack/watchify#var-w--watchifyb-opts)

Thanks for the input, I'll play with it.

devongovett commented 9 years ago

:+1: on this. Any updates?

caleb commented 9 years ago

@devongovett It looks like fullPaths is no longer required by watchify, so I can see if I can bring in what the author did over there into broccoli-fast-browserify.

EDIT: Here's the commit where the magic happened. I might be able to get to this this week: https://github.com/substack/watchify/commit/7d23d52965f2aab8adf57c14e498fe350605a591

caleb commented 9 years ago

@devongovett or @fourcube Can either of you test this branch: https://github.com/caleb/broccoli-fast-browserify/tree/non-full-path-support

I've ported the changes to watchify to this module and it works on my end. fullPaths defaults to being off (like browserify itself).

Let me know if it works for you.

devongovett commented 9 years ago

Awesome, seems to work for me!

fourcube commented 9 years ago

Sorry for taking so long to check. This works perfectly for me. Thanks a lot!

caleb commented 9 years ago

I've merged the branch. I will be making an NPM release now. https://github.com/caleb/broccoli-fast-browserify/commit/1ddf6261ea8203413af420b177a4d92423c135ee