Skip to content

Instantly share code, notes, and snippets.

@toddself
Last active August 29, 2015 14:20
Show Gist options
  • Save toddself/eb1de53ac87892310350 to your computer and use it in GitHub Desktop.
Save toddself/eb1de53ac87892310350 to your computer and use it in GitHub Desktop.
'use strict';
var fs = require('fs');
var path = require('path');
var readdirp = require('readdirp')
module.exports = function(baseDir, outFile) {
var files = [];
var output = '';
readdirp({root: baseDir, entryType: 'files', fileFilter: '*.js', directoryFilter: ['!node_modules']})
.on('data', function(entry) {
files.push({path: entry.fullPath, name: path.basename(entry.name, '.js')});
})
.on('error', function(err) {
console.log('Error!!', err);
})
.on('end', function() {
files.forEach(function(file) {
output += 'exports.'+file.name+' = require(\''+file.path+'\');\n';
});
fs.writeFile(outFile, output, 'utf8');
console.log('done');
});
};
@toddself
Copy link
Author

toddself commented May 4, 2015

> var concat = require('./js-concat');
undefined
> concat('/Users/todd/src/dr-sax', '/Users/todd/src/dr-sax/drsax.js');
undefined
> done

undefined
> fs.createReadStream('/Users/todd/src/dr-sax/drsax.js').pipe(process.stdout)

> exports.dialect = require('/Users/todd/src/dr-sax/dialect.js');
exports.drsax = require('/Users/todd/src/dr-sax/drsax.js');
exports.basic = require('/Users/todd/src/dr-sax/test/basic.js');
exports.leading-whitespace-issue-21 = require('/Users/todd/src/dr-sax/test/leading-whitespace-issue-21.js');
exports.loadable-dialects-issue-9 = require('/Users/todd/src/dr-sax/test/loadable-dialects-issue-9.js');
exports.nestedanchors-issue-14 = require('/Users/todd/src/dr-sax/test/nestedanchors-issue-14.js');
exports.newlines-issue-12 = require('/Users/todd/src/dr-sax/test/newlines-issue-12.js');
exports.no-br-tag-issue-22 = require('/Users/todd/src/dr-sax/test/no-br-tag-issue-22.js');
exports.stream = require('/Users/todd/src/dr-sax/test/stream.js');
exports.tagstackpopping-issue-11 = require('/Users/todd/src/dr-sax/test/tagstackpopping-issue-11.js');
exports.throughput-compliance = require('/Users/todd/src/dr-sax/test/throughput-compliance.js');
exports.whitespace-issue-19 = require('/Users/todd/src/dr-sax/test/whitespace-issue-19.js');
exports.array-last = require('/Users/todd/src/dr-sax/lib/array-last.js');
exports.drsax = require('/Users/todd/src/dr-sax/lib/drsax.js');
exports.index = require('/Users/todd/src/dr-sax/lib/index.js');
exports.rebuild-tag = require('/Users/todd/src/dr-sax/lib/rebuild-tag.js');
exports.repeat = require('/Users/todd/src/dr-sax/lib/repeat.js');
exports.stream = require('/Users/todd/src/dr-sax/lib/stream.js');

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment