update.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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. css: uppyRoot + '/dist/uppy.css'
  16. }
  17. // @todo: ^-- Refer to actual minified builds in dist:
  18. for (var file in locations) {
  19. var filesize = fs.statSync(locations[file], 'utf-8').size
  20. sizes[file] = (filesize / 1024).toFixed(2)
  21. }
  22. fs.writeFileSync(
  23. configPath,
  24. config
  25. .replace(/uppy_version: .*/, 'uppy_version: ' + version)
  26. .replace(/uppy_(\w+)_size:.*/g, function (m, p1) {
  27. return 'uppy_' + p1 + '_size: "' + (sizes[p1] || 99999 ) + '"'
  28. })
  29. )
  30. // Copy latest uppy version into website so the CDN example can use it
  31. fs.writeFileSync(
  32. webRoot + '/themes/uppy/source/js/uppy.js',
  33. fs.readFileSync(locations.dev, 'utf-8')
  34. );
  35. console.info(chalk.green('✓ injected: '), chalk.dim('uppy.js build into site'));
  36. fs.writeFileSync(
  37. webRoot + '/themes/uppy/source/css/uppy.css',
  38. fs.readFileSync(locations.css, 'utf-8')
  39. );
  40. console.info(chalk.green('✓ injected: '), chalk.dim('uppy.css build into site'));