Olá André, eu não entendi muito bem o erro que você está recebendo.
Chutando aqui você pode estar passando o caminho do arquivo errado, você criou a pasta data dentro de alura-timer? no mesmo nível da pasta app? Se você tiver criado essa pasta dentro de App você terá um erro.
let arquivoDoCurso = __dirname + '/data/'+ curso + '.json';
Outro ponto seria na criação do método criarArquivoDeCurso pois você está tratando o retorno da promise em dois pontos na criação:
criaArquivoDeCurso(nomeArquivo, conteudoArquivo){
return jsonfile.writeFile(nomeArquivo,conteudoArquivo)
.then(() => {
console.log('Arquivo Criado')
}).catch((err) => {
console.log(err);
});
},
E na chamada do método
this.criaArquivoDeCurso(arquivoDoCurso,{})
.then(() => {
this.adicionaTempoAoCurso(arquivoDoCurso, tempoEstudado);
});
Experimente tratar a promise somente na chamada
Criação:
criaArquivoDeCurso(nomeArquivo, conteudoArquivo){
return jsonfile.writeFile(nomeArquivo,conteudoArquivo);
},
Chamada:
this.criaArquivoDeCurso(arquivoDoCurso,{})
.then(() => {
this.adicionaTempoAoCurso(arquivoDoCurso, tempoEstudado);
}).catch((err) => {
console.log(err);
});
Espero ter ajudado, bons estudos.