
Security News
RubyGems Adds Cooldown Feature to Bundler for Newly Published Gems
RubyGems and Bundler 4.0.13 introduced an opt-in cooldown feature that delays newly published gems during dependency resolution.
grunt-browserify-bower
Advanced tools
Browserify bower libraries into a separate bundle. Can be used together with grunt-browserify to externalize libraries into a separate file and speed up bundling of your application.
This plugin requires Grunt ~0.4.1
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-browserify-bower --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-browserify-bower');
In your project's Gruntfile, add a section named browserifyBower to the data object passed into grunt.initConfig().
grunt.initConfig({
browserifyBower: {
options: {
// Task-specific options go here.
},
your_target: {
// Target-specific file lists and/or options go here.
},
},
})
The task browserifies all installed bower packages and optionally uses
browserify-shim to shim non CommonJS libraries. All these libraries
are browserified into a separate 'libs' bundle for your web app. The
task automatically sets grunt-browserify's options.external setting.
bower install foo and require(foo) in
your application.Type: String
Default value: './.tmp/scripts/lib.js'
Path of the destination file.
Type: Object
Default value: {}
This object allows to adjust the path to the main file of a bower
package, in case the one specified in the package's bower.json is
faulty. The path should be relative to the package directory.
Example:
forceResolve: {
'wysihtml5': 'dist/wysihtml5-0.3.0.min.js'
}
Type: Object
Default value: {}
This object allows adjusting the options passed to browserify-shim.
You can add entries for every library installed via bower. For these,
you should omit the path setting, as this is automatically determined
via bower-resolve or the forceResolve option.
Note that the exports setting defaults to null and needs to be
adjusted if you want to shim a non CommonJS library that exports to
the window object.
You can also add entries for libraries not installed via bower. These
are passed to browserify-shim directly and you need to specify a
path in this case.
grunt.initConfig({
browserifyBower: {
options: {
file: './tmp/lib.js',
// fix broken bower `main` entries
forceResolve: {
'wysihtml5': 'dist/wysihtml5-0.3.0.min.js'
},
shim: {
'wysihtml5': {
exports: 'wysihtml5'
}
}
}
}
})
grunt-watch or grunt-este-watchIf you want to rebundle your application every time one of your .js
files changes, but not rebuild your library bundle, you can run the task
with the nowrite flag. This sets the browserify.exports setting
according to your installed bower libs, but suppresses the rebundling of
your library bundle.
Example (with grunt-watch):
grunt.initConfig({
watch: {
browserify: {
files: 'app/scripts/**/*.js',
tasks: ['browserifyBower:libs:nowrite', 'browserify:app']
}
}
})
grunt.initConfig({
browserifyBower: {
options: {
file: './.tmp/scripts/lib.js',
forceResolve: {},
shim: {}
}
},
})
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.
See CHANGELOG.md
FAQs
Browserify bower libraries into a separate bundle
We found that grunt-browserify-bower demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
RubyGems and Bundler 4.0.13 introduced an opt-in cooldown feature that delays newly published gems during dependency resolution.

Security News
pnpm 11.5 now recognizes npm staged publish approvals in release metadata, preventing those releases from being mistaken for lower-trust package publishes.

Security News
Federal audit finds NIST lacked a plan to clear the NVD backlog, wasted funds on duplicate work, and delayed use of CISA data.