@riddance/env
Version:
Too much code slows you down, creates risks, increases maintainability burdens, confuses AI. So let's commit less of it.
14 lines • 2.65 kB
JavaScript
import { load } from './lib/changes.js';
import { sync } from './lib/chrono.js';
import { compile } from './lib/compiler.js';
export async function build(reporter, path) {
const abort = new AbortController();
const changes = await load(path);
const [preCompileSuccess] = await Promise.all([changes.preCompile(reporter, path), sync()]);
if (!preCompileSuccess) {
return false;
}
const { sourceFiles, outputFiles } = compile(reporter, path);
return await changes.postCompile(reporter, path, sourceFiles, Promise.resolve(outputFiles), abort.signal);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJidWlsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDdkMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ3RDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUczQyxNQUFNLENBQUMsS0FBSyxVQUFVLEtBQUssQ0FBQyxRQUFrQixFQUFFLElBQVk7SUFDeEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQTtJQUNuQyxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNoQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDM0YsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDckIsT0FBTyxLQUFLLENBQUE7SUFDaEIsQ0FBQztJQUNELE1BQU0sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLEdBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUM1RCxPQUFPLE1BQU0sT0FBTyxDQUFDLFdBQVcsQ0FDNUIsUUFBUSxFQUNSLElBQUksRUFDSixXQUFXLEVBQ1gsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFDNUIsS0FBSyxDQUFDLE1BQU0sQ0FDZixDQUFBO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxvYWQgfSBmcm9tICcuL2xpYi9jaGFuZ2VzLmpzJ1xuaW1wb3J0IHsgc3luYyB9IGZyb20gJy4vbGliL2Nocm9uby5qcydcbmltcG9ydCB7IGNvbXBpbGUgfSBmcm9tICcuL2xpYi9jb21waWxlci5qcydcbmltcG9ydCB7IFJlcG9ydGVyIH0gZnJvbSAnLi9saWIvcmVwb3J0ZXIuanMnXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBidWlsZChyZXBvcnRlcjogUmVwb3J0ZXIsIHBhdGg6IHN0cmluZykge1xuICAgIGNvbnN0IGFib3J0ID0gbmV3IEFib3J0Q29udHJvbGxlcigpXG4gICAgY29uc3QgY2hhbmdlcyA9IGF3YWl0IGxvYWQocGF0aClcbiAgICBjb25zdCBbcHJlQ29tcGlsZVN1Y2Nlc3NdID0gYXdhaXQgUHJvbWlzZS5hbGwoW2NoYW5nZXMucHJlQ29tcGlsZShyZXBvcnRlciwgcGF0aCksIHN5bmMoKV0pXG4gICAgaWYgKCFwcmVDb21waWxlU3VjY2Vzcykge1xuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gICAgY29uc3QgeyBzb3VyY2VGaWxlcywgb3V0cHV0RmlsZXMgfSA9IGNvbXBpbGUocmVwb3J0ZXIsIHBhdGgpXG4gICAgcmV0dXJuIGF3YWl0IGNoYW5nZXMucG9zdENvbXBpbGUoXG4gICAgICAgIHJlcG9ydGVyLFxuICAgICAgICBwYXRoLFxuICAgICAgICBzb3VyY2VGaWxlcyxcbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKG91dHB1dEZpbGVzKSxcbiAgICAgICAgYWJvcnQuc2lnbmFsLFxuICAgIClcbn1cbiJdfQ==