eugeneware / debowerify

A browserify transform to enable the easy use of bower components in browserify client javascript projects. This can be used in conjunction with deamdify to require AMD components from bower as well.
492 stars 51 forks source link

Debowerify with grunt-browserify #38

Open pawelwieladek opened 10 years ago

pawelwieladek commented 10 years ago

How to run debowerify with grunt-browserify?

PatrickJS commented 10 years ago

gulp-browserify is blacklisted place use browserify directly with vinyl-source-stream https://gist.github.com/gdi2290/3ef9f9e6acf76f43a343

var gulp   = require('gulp');

var livereload = require('tiny-lr');
var server = livereload();

var browserify = require('browserify');
var ngannotate = require('browserify-ngannotate');
var debowerify = require('debowerify');
var uglifyify = require('uglifyify');
var watchify = require('watchify');
var source = require('vinyl-source-stream');

var config = {
  livereload: {
    port: 35729
  },
  paths: {
    scripts: [
      'app/*.js'
    ]
  },
  build: {
    path: 'public/build'
  }
};

gulp.task('browserify', function() {
  var bundler = watchify(config.paths.script);

  function gulpBundle() {
    return bundler.bundle({
        // insertGlobals: true,
        debug: true
      })
      .pipe(source(config.build.scripts))
      .pipe(gulp.dest(config.build.path))
      .pipe(reload(server)); // if you have livereload
  }

  bundler
    .transform(ngannotate)
    .transform(uglifyify)
    .transform(debowerify)
    .on('update', gulpBundle);

  return gulpBundle();
});
mr-mig commented 9 years ago

@gdi2290 you are talking about gulp and the original question was about grunt.

For those who stumble upon this question, the answer is:

  1. Install debowerify npm install -SD debowerify
  2. Specify it in browserify.options.transform in the gruntfile:
browserify: {
  options: {
    transform: ["partialify", "debowerify"]
  }
 // ...
}
PatrickJS commented 9 years ago

oops, yeah you're right

wesvetter commented 9 years ago

@mr-mig that works, thanks!