index.js 926 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. 'use strict';
  2. var gs = require('glob-stream');
  3. var pumpify = require('pumpify');
  4. var toThrough = require('to-through');
  5. var isValidGlob = require('is-valid-glob');
  6. var createResolver = require('resolve-options');
  7. var config = require('./options');
  8. var prepare = require('./prepare');
  9. var wrapVinyl = require('./wrap-vinyl');
  10. var sourcemap = require('./sourcemap');
  11. var readContents = require('./read-contents');
  12. var resolveSymlinks = require('./resolve-symlinks');
  13. function src(glob, opt) {
  14. var optResolver = createResolver(config, opt);
  15. if (!isValidGlob(glob)) {
  16. throw new Error('Invalid glob argument: ' + glob);
  17. }
  18. var streams = [
  19. gs(glob, opt),
  20. wrapVinyl(optResolver),
  21. resolveSymlinks(optResolver),
  22. prepare(optResolver),
  23. readContents(optResolver),
  24. sourcemap(optResolver),
  25. ];
  26. var outputStream = pumpify.obj(streams);
  27. return toThrough(outputStream);
  28. }
  29. module.exports = src;