123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- const fs = require('fs');
- const path = require('path');
- const gulp = require('gulp');
- const eslint = require('gulp-eslint');
- const shell = require('gulp-shell');
- const yaml = require('js-yaml');
- gulp.task('lint', () => gulp.src([
- './source/js/**/*.js',
- './scripts/**/*.js'
- ]).pipe(eslint())
- .pipe(eslint.format()));
- gulp.task('lint:stylus', shell.task([
- 'npx stylint ./source/css/'
- ]));
- gulp.task('validate:config', cb => {
- const themeConfig = fs.readFileSync(path.join(__dirname, '_config.yml'));
- try {
- yaml.safeLoad(themeConfig);
- return cb();
- } catch (error) {
- return cb(new Error(error));
- }
- });
- gulp.task('validate:languages', cb => {
- const languagesPath = path.join(__dirname, 'languages');
- const languages = fs.readdirSync(languagesPath);
- const errors = [];
- languages.forEach(lang => {
- const languagePath = path.join(languagesPath, lang);
- try {
- yaml.safeLoad(fs.readFileSync(languagePath), {
- filename: path.relative(__dirname, languagePath)
- });
- } catch (error) {
- errors.push(error);
- }
- });
- return errors.length === 0 ? cb() : cb(errors);
- });
- gulp.task('default', gulp.series('lint', 'validate:config', 'validate:languages'));
|