2018-10-05 12:20:51 +01:00
|
|
|
const fs = require('fs-extra');
|
|
|
|
const gulp = require('gulp');
|
|
|
|
|
2018-10-10 16:20:40 -04:00
|
|
|
const {
|
|
|
|
locale
|
|
|
|
} = require('../config/env.json');
|
2018-10-09 20:26:37 +01:00
|
|
|
|
2018-10-10 16:20:40 -04:00
|
|
|
const {
|
|
|
|
getChallengesForLang
|
|
|
|
} = require('./getChallenges');
|
2018-10-05 12:20:51 +01:00
|
|
|
|
2018-10-09 20:26:37 +01:00
|
|
|
function generateCurriculum(done) {
|
|
|
|
return getChallengesForLang(locale)
|
2018-10-10 16:20:40 -04:00
|
|
|
.then(curriculum => {
|
|
|
|
fs.ensureFileSync(`./build/curriculum-${locale}.json`);
|
2018-10-09 20:26:37 +01:00
|
|
|
fs.writeFile(
|
|
|
|
`./build/curriculum-${locale}.json`,
|
|
|
|
JSON.stringify(curriculum)
|
2019-02-16 08:37:36 +00:00
|
|
|
);
|
2018-10-10 16:20:40 -04:00
|
|
|
})
|
2018-10-05 12:20:51 +01:00
|
|
|
.then(done);
|
|
|
|
}
|
|
|
|
|
|
|
|
function watchFiles() {
|
2018-10-09 20:26:37 +01:00
|
|
|
return gulp.watch('./challenges/**/*.md', generateCurriculum);
|
2018-10-05 12:20:51 +01:00
|
|
|
}
|
|
|
|
|
2018-10-09 20:26:37 +01:00
|
|
|
const defaultTask = gulp.series(generateCurriculum, watchFiles);
|
2018-10-05 12:20:51 +01:00
|
|
|
|
|
|
|
gulp.task('default', defaultTask);
|
2018-10-09 20:26:37 +01:00
|
|
|
gulp.task('build', generateCurriculum);
|