gh-pages-publish.ts 873 B

1234567891011121314151617181920212223242526272829303132
  1. const { cd, exec, echo, touch } = require("shelljs")
  2. const { readFileSync } = require("fs")
  3. const url = require("url")
  4. let repoUrl
  5. let pkg = JSON.parse(readFileSync("package.json") as any)
  6. if (typeof pkg.repository === "object") {
  7. if (!pkg.repository.hasOwnProperty("url")) {
  8. throw new Error("URL does not exist in repository section")
  9. }
  10. repoUrl = pkg.repository.url
  11. } else {
  12. repoUrl = pkg.repository
  13. }
  14. let parsedUrl = url.parse(repoUrl)
  15. let repository = (parsedUrl.host || "") + (parsedUrl.path || "")
  16. let ghToken = process.env.GH_TOKEN
  17. echo("Deploying docs!!!")
  18. cd("docs")
  19. touch(".nojekyll")
  20. exec("git init")
  21. exec("git add .")
  22. exec('git config user.name ""')
  23. exec('git config user.email ""')
  24. exec('git commit -m "docs(docs): update gh-pages"')
  25. exec(
  26. `git push --force --quiet "https://${ghToken}@${repository}" master:gh-pages`
  27. )
  28. echo("Docs deployed!!")