update.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. var fs = require('fs')
  2. var path = require('path')
  3. var chalk = require('chalk');
  4. var webRoot = __dirname;
  5. var uppyRoot = path.dirname(__dirname);
  6. var configPath = webRoot + '/_config.yml'
  7. var config = fs.readFileSync(configPath, 'utf-8')
  8. var version = require(uppyRoot + '/package.json').version
  9. // Inject current Uppy version and sizes in website's _config.yml
  10. var sizes = {};
  11. var locations = {
  12. min: uppyRoot + '/dist/uppy.js',
  13. gz : uppyRoot + '/dist/uppy.js',
  14. dev: uppyRoot + '/dist/uppy.js'
  15. }
  16. // @todo: ^-- Refer to actual minified builds in dist:
  17. for (var file in locations) {
  18. var filesize = fs.statSync(locations[file], 'utf-8').size
  19. sizes[file] = (filesize / 1024).toFixed(2)
  20. }
  21. fs.writeFileSync(
  22. configPath,
  23. config
  24. .replace(/uppy_version: .*/, 'uppy_version: ' + version)
  25. .replace(/uppy_(\w+)_size:.*/g, function (m, p1) {
  26. return 'uppy_' + p1 + '_size: "' + (sizes[p1] || 99999 ) + '"'
  27. })
  28. )
  29. // Copy latest uppy version into website so the CDN example can use it
  30. fs.writeFileSync(
  31. webRoot + '/themes/uppy/source/js/uppy.js',
  32. fs.readFileSync(locations.dev, 'utf-8')
  33. );
  34. console.info(chalk.green('✓ injected: uppy build into site'));