Skip to content

Commit

Permalink
fixed issue where new deeper files were not being injected causing an…
Browse files Browse the repository at this point in the history
… issue while compiling new changes.
  • Loading branch information
wpdas committed May 11, 2024
1 parent ed61d48 commit cac28ce
Showing 1 changed file with 14 additions and 5 deletions.
19 changes: 14 additions & 5 deletions lib/actions/loadCachedFilesInfo.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,18 @@ const checkForWildcardImports = require("../parsers/checkForWildcardImports");

/**
* Gera um esquema com os arquivos sendo importados no projeto a partir de um ponto de entrada
* @param {*} changedFilePath
* @param {*} changedFilePath Diretório do arquivo alterado
* @param {*} previousFilesInfo Isto é usado quando "loadCachedFilesInfo" é chamado recursivamente,
* neste caso ele vai sempre estar com a lista de esquemas atualizadas antes de sofrer o próximo
* processo para inserir um arquivo dependente que ainda não tinha sido inserido
* @returns
*/
const loadCachedFilesInfo = (changedFilePath) => {
// TODO: testar o erro que acontece quando um arquivo é removido do import (resolvido?!)
const loadCachedFilesInfo = (changedFilePath, previousFilesInfo) => {
let hasError = null;
const filesInfoRaw = fs.readFileSync(path.join(`./build/filesInfo.json`));
const filesInfo = JSON.parse(filesInfoRaw);
const filesInfo = previousFilesInfo
? previousFilesInfo
: JSON.parse(filesInfoRaw);
const changedFileSchema = loadFilesInfo(changedFilePath, true).fileSchemas[0];

// Verifica cada arquivo jsx e ts para ver se estão quebrados ou não.
Expand Down Expand Up @@ -50,6 +54,8 @@ const loadCachedFilesInfo = (changedFilePath) => {
// para mudar o nome deles dentro deste arquivo alterado.
let changedFileImportsName = {};

console.log("A", changedFileSchema.toImport);

changedFileSchema.toImport.forEach((toImportFile) => {
// ex: toImportFile = caminho/arquivo/file.ts
let toImportSchemaRef = filesInfo.find(
Expand All @@ -63,7 +69,10 @@ const loadCachedFilesInfo = (changedFilePath) => {
// Se nao existir o arquivo no esquema, processa ele para tratar tudo (como nomes)
// Depois adiciona-o à lista de filesInfo
// INFO: recursividade
const updatedFileSchemasCall = loadCachedFilesInfo(toImportFile);
const updatedFileSchemasCall = loadCachedFilesInfo(
toImportFile,
filesInfo,
);
hasError = updatedFileSchemasCall.hasError;

// Se tiver erro desse processo recursivo, nao segue em frente
Expand Down

0 comments on commit cac28ce

Please sign in to comment.