gulp-addDtsExport.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. var gutil = require('gulp-util');
  2. var through = require('through2');
  3. module.exports = function (varName, moduleName, subModule, extendsRoot) {
  4. return through.obj(function (file, enc, cb) {
  5. let exportText = "BABYLON";
  6. if (subModule && !extendsRoot) {
  7. exportText += '.' + varName;
  8. }
  9. var moduleExportsAddition =
  10. `${subModule ? '/// <reference types="babylonjs"/>' : ''}
  11. declare module '${moduleName}' {
  12. export = ${exportText};
  13. }
  14. `;
  15. //'export = ' + (subModule ? 'BABYLON.' : '') + varName + ';\n';// +
  16. //'export as namespace ' + varName + ';\n\n';
  17. if (file.isNull()) {
  18. cb(null, file);
  19. return;
  20. }
  21. if (file.isStream()) {
  22. //streams not supported, no need for now.
  23. return;
  24. }
  25. try {
  26. file.contents = new Buffer(moduleExportsAddition + String(file.contents));
  27. this.push(file);
  28. } catch (err) {
  29. this.emit('error', new gutil.PluginError('gulp-add-module-exports', err, { fileName: file.path }));
  30. }
  31. cb();
  32. });
  33. };