1
0

release.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. let { runFromPackage, writeToPackageDotJson } = require('./utils')
  2. let chalk = require('chalk');
  3. let log = message => console.log(chalk.green(message))
  4. let version = process.argv[2]
  5. if (! version) {
  6. return console.log('Whoops, you must pass in a version number to this command as the argument')
  7. }
  8. if (! /[0-9]+\.[0-9]+\.[0-9]+/.test(version)) {
  9. return console.log('Whoops, the supplies version is invalid: '+version)
  10. }
  11. writeNewAlpineVersion()
  12. writeNewDocsVersion()
  13. buildAssets()
  14. let readline = require('readline').createInterface({
  15. input: process.stdin,
  16. output: process.stdout
  17. });
  18. setTimeout(() => {
  19. readline.question('Are you sure you want to publish this release: '+version+'?', answer => {
  20. if (['y', 'Y', 'yes', 'Yes', 'YES'].includes(answer)) publish()
  21. readline.close();
  22. });
  23. }, 1000)
  24. function writeNewAlpineVersion() {
  25. writeToPackageDotJson('alpinejs', 'version', version)
  26. console.log('Bumping alpinejs package.json: '+version);
  27. }
  28. function writeNewDocsVersion() {
  29. let versionWithRevisionSuffix = `${version}.revision.1`
  30. writeToPackageDotJson('docs', 'version', versionWithRevisionSuffix)
  31. console.log('Bumping @alpinejs/docs package.json: '+version);
  32. }
  33. function buildAssets() {
  34. console.log('Building assets...')
  35. require('./build')
  36. }
  37. function publish() {
  38. console.log('Publishing alpinejs on NPM...');
  39. runFromPackage('alpinejs', 'npm publish')
  40. console.log('Publishing @alpinejs/docs on NPM...');
  41. runFromPackage('docs', 'npm publish')
  42. log('\n\nFinished!')
  43. }