Skip to content

Instantly share code, notes, and snippets.

@insin
Last active August 29, 2015 14:14
Show Gist options
  • Save insin/ecce5e14f7a5ce005728 to your computer and use it in GitHub Desktop.
Save insin/ecce5e14f7a5ce005728 to your computer and use it in GitHub Desktop.
Code snippet for "Publishing flat modules to npm"
var gulp = require('gulp')
var flatten = require('gulp-flatten')
var flattenRequires = require('gulp-flatten-requires')
var npmDir = './npm-react-router'
var sourceDirs = 'actions behaviors components locations mixins utils'.split(' ')
var sources = sourceDirs.map(function(dir) { return dir + '/*.js' }).concat(['index.js'])
gulp.task('npm-js', function() {
return gulp.src(sources)
.pipe(flatten())
.pipe(flattenRequires())
.pipe(gulp.dest(npmDir))
})
gulp.task('npm-files', function() {
return gulp.src(['README.md', 'LICENSE'])
.pipe(gulp.dest(npmDir))
})
gulp.task('npm', ['npm-files', 'npm-js'])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment