2019-02-04 11:42:31 +00:00
|
|
|
const fs = require('fs');
|
|
|
|
const path = require('path');
|
|
|
|
const debug = require('debug');
|
|
|
|
|
2019-06-17 05:16:35 +05:30
|
|
|
const { getChallengesForLang } = require('../../../curriculum/getChallenges');
|
|
|
|
const { createPathMigrationMap } = require('../seed/createPathMigrationMap');
|
2019-02-04 11:42:31 +00:00
|
|
|
|
|
|
|
const log = debug('fcc:tools:ensure-env');
|
|
|
|
|
|
|
|
log.enabled = true;
|
|
|
|
|
|
|
|
const apiPath = path.resolve(__dirname, '../../api-server');
|
|
|
|
|
|
|
|
const migrationMapPath = `${apiPath}/server/resources/pathMigration.json`;
|
|
|
|
|
|
|
|
// The migrationMap is to try and resolve pre-learn challenge urls to
|
|
|
|
// current challenge urls
|
|
|
|
// defaulting to english as there were no other languages available
|
|
|
|
// that would require this mapping
|
|
|
|
getChallengesForLang('english')
|
|
|
|
.then(createPathMigrationMap)
|
|
|
|
.then(map => {
|
|
|
|
fs.writeFileSync(migrationMapPath, JSON.stringify(map));
|
|
|
|
log('pathMigration has been written');
|
|
|
|
})
|
|
|
|
.catch(err => {
|
|
|
|
console.error(err);
|
2019-02-16 08:48:52 +00:00
|
|
|
// eslint-disable-next-line
|
2019-02-04 11:42:31 +00:00
|
|
|
process.exit(1);
|
|
|
|
});
|