github.com/hattya/nazuna@v0.7.1-0.20240331055452-55e14c275c1c/Asterfile (about) 1 var os = require('os'); 2 var path = require('path'); 3 var go_ = require('language/go'); 4 var go = go_.go; 5 var md2html = require('language/markdown').md2html; 6 7 var title = 'Aster ☆ ' + path.basename(os.getwd()); 8 9 aster.title(title); 10 11 // go 12 aster.watch(/.+\.go$/, function(files) { 13 go.mod.tidy(); 14 // go test for each package 15 var bad = go_.packagesOf(files).some(function(p) { 16 return go.test('-v', '-race', '-coverprofile', p + '/cover.out', p); 17 }); 18 // combine coverage profiles 19 if (!bad) { 20 var out = go_.combine({ profile: 'cover.out', out: 'cover.all.out', packages: ['./...'] }); 21 go.tool.cover('-func', out); 22 go.tool.cover('-html', out, '-o', 'coverage.html'); 23 os.remove(out); 24 } 25 if (go.vet('./...')) return; 26 }); 27 28 aster.watch(/go\.mod$/, function() { 29 go.mod.tidy(); 30 }); 31 32 // md 33 aster.watch(/.+\.md$/, function(files) { 34 files.some(function(md) { return md2html({ src: md }); }); 35 });