Skip to content

Commit e5e4fcf

Browse files
committed
correct resource freeing between stages
1 parent 1b9cab4 commit e5e4fcf

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

packages/cubejs-schema-compiler/src/compiler/DataSchemaCompiler.ts

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -391,18 +391,15 @@ export class DataSchemaCompiler {
391391
});
392392

393393
const compilePhase = async (compilers: CompileCubeFilesCompilers, stage: 0 | 1 | 2 | 3) => {
394-
transpiledFiles = await transpile(stage);
395-
const res = this.compileCubeFiles(cubes, contexts, compiledFiles, asyncModules, compilers, transpiledFiles, errorsReport);
396-
397394
// clear the objects for the next phase
398395
cubes = [];
399396
exports = {};
400397
contexts = [];
401398
compiledFiles = {};
402399
asyncModules = [];
403-
transpiledFiles = [];
400+
transpiledFiles = await transpile(stage);
404401

405-
return res;
402+
return this.compileCubeFiles(cubes, contexts, compiledFiles, asyncModules, compilers, transpiledFiles, errorsReport);
406403
};
407404

408405
return compilePhase({ cubeCompilers: this.cubeNameCompilers }, 0)
@@ -415,6 +412,14 @@ export class DataSchemaCompiler {
415412
contextCompilers: this.contextCompilers,
416413
}, 3))
417414
.then(() => {
415+
// Free unneeded resources
416+
cubes = [];
417+
exports = {};
418+
contexts = [];
419+
compiledFiles = {};
420+
asyncModules = [];
421+
transpiledFiles = [];
422+
418423
if (transpilationNative) {
419424
// Clean up cache
420425
const dummyFile = {

0 commit comments

Comments
 (0)