forked from codesandbox/codesandbox-client
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgh-pages-publish.ts
More file actions
29 lines (26 loc) · 928 Bytes
/
gh-pages-publish.ts
File metadata and controls
29 lines (26 loc) · 928 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
const { cd, exec, echo, touch } = require('shelljs');
const { readFileSync } = require('fs');
const url = require('url');
let repoUrl;
let pkg = JSON.parse(readFileSync('package.json') as any);
if (typeof pkg.repository === 'object') {
if (!pkg.repository.hasOwnProperty('url')) {
throw new Error('URL does not exist in repository section');
}
repoUrl = pkg.repository.url;
} else {
repoUrl = pkg.repository;
}
let parsedUrl = url.parse(repoUrl);
let repository = (parsedUrl.host || '') + (parsedUrl.path || '');
let ghToken = process.env.GH_TOKEN;
echo('Deploying docs!!!');
cd('dist/docs');
touch('.nojekyll');
exec('git init');
exec('git add .');
exec('git config user.name "Ives van Hoorne"');
exec('git config user.email "ives.v.h@gmail.com"');
exec('git commit -m "docs(docs): update gh-pages"');
exec(`git push --force --quiet "https://${ghToken}@${repository}" master:gh-pages`);
echo('Docs deployed!!');