12345678910111213141516171819202122232425 |
- import * as createGit from 'simple-git/promise';
- import { resolve, join } from 'path';
- import { copyFileSync, readdirSync, statSync, unlinkSync } from 'fs';
- const baseDir = resolve(__dirname, '..');
- const to = (...paths: string[]) => join(baseDir, ...paths);
- const git = createGit();
- git.log({
- from: 'HEAD~1',
- to: 'HEAD'
- }).then(async log => {
- const hash = log.latest.hash.slice(0, 7);
- await git.checkout('gh-pages');
- for (const f of readdirSync(to('.'))) {
- if (statSync(f).isFile())
- unlinkSync(to(f));
- }
- const files = readdirSync(to('dist'))
- for (const f of files) {
- copyFileSync(to('dist', f), to(f));
- }
- await git.add(files);
- await git.commit('Build demo from ' + hash);
- await git.checkout('master');
- });
|