@keymanapp/kmc
Version:
Keyman Developer compiler command line tools
27 lines • 972 B
JavaScript
import { KeymanFileTypes } from '@keymanapp/common-types';
import { isProject, loadProject } from './projectLoader.js';
async function runProject(callbacks, filename, callback) {
const project = await loadProject(filename, callbacks);
for (const file of project.files) {
if (KeymanFileTypes.filenameIs(file.filename, ".kpj" /* KeymanFileTypes.Source.Project */)) {
// Don't accidentally recurse into projects
continue;
}
if (!await callback(project.resolveInputFilePath(file))) {
return false;
}
}
return true;
}
export async function runOnFiles(callbacks, filenames, callback) {
for (let filename of filenames) {
const result = isProject(filename) ?
await runProject(callbacks, filename, callback) :
await callback(filename);
if (!result) {
return false;
}
}
return true;
}
//# sourceMappingURL=projectRunner.js.map