Setup CI tests (#100)

* use @xarc/xrun to streamline tasks in an imperative manner

* add lint-staged/husky for git hook tasks

* run prettier across all files

* fixing tests

* add ci test workflow

* add a ci workflow

* remove precommit in favor of husky

* add .prettierrc.js

* reformat with prettier
This commit is contained in:
Vu Nguyen
2021-01-13 23:05:05 -06:00
committed by GitHub
parent 649c64cf1d
commit 9ef655ac3b
117 changed files with 9484 additions and 4342 deletions

View File

@@ -14,18 +14,24 @@ var fs = require('fs');
*/
gulp.task('postinstall', function (cb) {
// .pem files cause Chrome to show a bunch of warnings
//so we remove them on postinstall
del('node_modules/**/*.pem', cb);
// .pem files cause Chrome to show a bunch of warnings
//so we remove them on postinstall
del('node_modules/**/*.pem', cb);
});
gulp.task('webextension',function(cb){
if(!fs.existsSync('public/js')){
!fs.existsSync('public') && fs.mkdirSync('public');
fs.mkdirSync('public/js');
}
gulp.task('webextension', function (cb) {
if (!fs.existsSync('public/js')) {
!fs.existsSync('public') && fs.mkdirSync('public');
fs.mkdirSync('public/js');
}
fs.copyFileSync('node_modules/webextension-polyfill/dist/browser-polyfill.min.js', 'public/js/browser-polyfill.min.js');
fs.copyFileSync('node_modules/webextension-polyfill/dist/browser-polyfill.min.js.map', 'public/js/browser-polyfill.min.js.map');
fs.copyFileSync(
'node_modules/webextension-polyfill/dist/browser-polyfill.min.js',
'public/js/browser-polyfill.min.js',
);
fs.copyFileSync(
'node_modules/webextension-polyfill/dist/browser-polyfill.min.js.map',
'public/js/browser-polyfill.min.js.map',
);
});
/*
@@ -41,19 +47,19 @@ gulp.task('webextension',function(cb){
elixir.config.assetsPath = 'assets/';
elixir.extend('webextension', function(){
return gulp.start('webextension');
elixir.extend('webextension', function () {
return gulp.start('webextension');
});
elixir(function (mix) {
mix.webextension();
mix.copy('vendor/bower_components/bootstrap/less', 'assets/less/bootstrap');
mix.copy('vendor/bower_components/bootstrap/fonts', 'public/fonts');
mix.copy('vendor/bower_components/font-awesome/less', 'assets/less/font-awesome');
mix.copy('vendor/bower_components/font-awesome/fonts', 'public/fonts');
mix.less('app.less');
mix.browserify('app.jsx', 'public/js/app.js', 'assets/js');
mix.browserify('events.js', 'public/js/events.js', 'assets/js');
mix.browserify('options.jsx', 'public/js/options.js', 'assets/js');
mix.browserify('devtools.js', 'public/js/devtools.js', 'assets/js');
mix.webextension();
mix.copy('vendor/bower_components/bootstrap/less', 'assets/less/bootstrap');
mix.copy('vendor/bower_components/bootstrap/fonts', 'public/fonts');
mix.copy('vendor/bower_components/font-awesome/less', 'assets/less/font-awesome');
mix.copy('vendor/bower_components/font-awesome/fonts', 'public/fonts');
mix.less('app.less');
mix.browserify('app.jsx', 'public/js/app.js', 'assets/js');
mix.browserify('events.js', 'public/js/events.js', 'assets/js');
mix.browserify('options.jsx', 'public/js/options.js', 'assets/js');
mix.browserify('devtools.js', 'public/js/devtools.js', 'assets/js');
});