new.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. const fs = require('fs')
  2. const path = require('path')
  3. const rootPkgConfig = require('../../package.json')
  4. const premiumPkgConfig = require('../../packages-premium/package.json')
  5. exports.checkNoSymlinks = checkNoSymlinks
  6. exports.removeExt = removeExt
  7. exports.buildBanner = buildBanner
  8. function checkNoSymlinks(structs) {
  9. for (let struct of structs) {
  10. let js = path.join(struct.dir, struct.mainDistJs)
  11. let dts = path.join(struct.dir, struct.mainDistDts)
  12. let badFile =
  13. ((fs.existsSync(js) && fs.lstatSync(js).isSymbolicLink()) ? js : '') ||
  14. ((fs.existsSync(dts) && fs.lstatSync(dts).isSymbolicLink()) ? dts : '')
  15. if (badFile) {
  16. console.error(`Must clear symlink before doing rollup packages: ${badFile}`)
  17. process.exit(1)
  18. }
  19. }
  20. }
  21. function removeExt(path) {
  22. return path.replace(/\.[^.]*$/,'')
  23. }
  24. // TODO: adapt this for each package
  25. function buildBanner(isPremium) {
  26. let title = isPremium ? premiumPkgConfig.title : rootPkgConfig.title
  27. let homepage = isPremium ? premiumPkgConfig.homepage : rootPkgConfig.homepage
  28. let { version, copyright } = rootPkgConfig
  29. return `/*!
  30. ${title} v${version}
  31. Docs & License: ${homepage}
  32. (c) ${copyright}
  33. */`
  34. }