@nxworker/workspace
Version:
Nx plugin providing generators for managing workspace files, including the move-file generator for safely moving files between projects while updating all imports
34 lines (33 loc) • 1.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "getProjectSourceFiles", {
enumerable: true,
get: function() {
return getProjectSourceFiles;
}
});
const _devkit = require("@nx/devkit");
const _fileextensions = require("../constants/file-extensions");
const _cachedtreeexists = require("./cached-tree-exists");
function getProjectSourceFiles(tree, projectRoot, projectSourceFilesCache, fileExistenceCache) {
const cached = projectSourceFilesCache.get(projectRoot);
if (cached !== undefined) {
return cached;
}
const sourceFiles = [];
// Early exit: check if project directory exists to avoid traversal overhead
if (!(0, _cachedtreeexists.cachedTreeExists)(tree, projectRoot, fileExistenceCache)) {
projectSourceFilesCache.set(projectRoot, sourceFiles);
return sourceFiles;
}
(0, _devkit.visitNotIgnoredFiles)(tree, projectRoot, (filePath)=>{
if (_fileextensions.sourceFileExtensions.some((ext)=>filePath.endsWith(ext))) {
sourceFiles.push((0, _devkit.normalizePath)(filePath));
}
});
projectSourceFilesCache.set(projectRoot, sourceFiles);
return sourceFiles;
}
//# sourceMappingURL=get-project-source-files.js.map