utils.cjs 781 B

123456789101112131415161718192021222324252627282930313233343536
  1. const fs = require('fs')
  2. const path = require('path')
  3. const dir = path.resolve(__dirname, '..', 'dist')
  4. function loadModule(name) {
  5. try {
  6. return require(name)
  7. }
  8. catch (e) {
  9. return undefined
  10. }
  11. }
  12. function copy(name, version, vue) {
  13. vue = vue || 'vue'
  14. const src = path.join(dir, `v${version}`, name)
  15. const dest = path.join(dir, name)
  16. let content = fs.readFileSync(src, 'utf-8')
  17. content = content.replace(/'vue'/g, `'${vue}'`)
  18. // unlink for pnpm, #92
  19. try {
  20. fs.unlinkSync(dest)
  21. }
  22. catch (error) {
  23. }
  24. fs.writeFileSync(dest, content, 'utf-8')
  25. }
  26. function switchVersion(version, vue) {
  27. copy('index.es.js', version, vue)
  28. copy('index.cjs.js', version, vue)
  29. }
  30. module.exports.loadModule = loadModule
  31. module.exports.switchVersion = switchVersion