UNPKG

@riddance/env

Version:

48 lines 6.89 kB
#!/usr/bin/env node import { getSource, load } from '../lib/changes.js'; import { sync } from '../lib/chrono.js'; import { signaled } from '../lib/reporter.js'; import { isSpellingDictionaryFile, spelling } from '../lib/spelling.js'; import { watch } from './lib/compiler.js'; import { consoleReporter } from './lib/console-reporter.js'; let watcher; let lastInput = []; const cwd = process.cwd(); const changes = await load(cwd); function start() { watcher = watch(consoleReporter, cwd, async (success, inputFiles, outputFiles, signal) => { if (inputFiles.includes('package.json') || inputFiles.includes('package-lock.json')) { await installAndRestart(); return; } const reporter = signaled(consoleReporter, signal); if (isSpellingDictionaryFile(inputFiles)) { if (await spelling(reporter, cwd, getSource(lastInput), signal)) { reporter.status('🚀 All good 👌'); await changes.stageComplete('spelling'); } else { reporter.status('⚠️ Issues found 👆'); } reporter.done(); return; } lastInput = inputFiles; if (await changes.postCompile(consoleReporter, cwd, inputFiles, Promise.resolve(success ? outputFiles : undefined), signal)) { reporter.status('🚀 All good 👌'); } else { reporter.status('⚠️ Issues found 👆'); } reporter.done(); }); } async function installAndRestart() { watcher.close(); await changes.clearStages(); await changes.preCompile(consoleReporter, cwd); start(); } await Promise.all([changes.preCompile(consoleReporter, cwd), sync()]); start(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ3YXRjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNuRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQzdDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBRTNELElBQUksT0FBOEIsQ0FBQTtBQUNsQyxJQUFJLFNBQVMsR0FBYSxFQUFFLENBQUE7QUFFNUIsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFBO0FBRXpCLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBRS9CLFNBQVMsS0FBSztJQUNWLE9BQU8sR0FBRyxLQUFLLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDckYsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDO1lBQ2xGLE1BQU0saUJBQWlCLEVBQUUsQ0FBQTtZQUN6QixPQUFNO1FBQ1YsQ0FBQztRQUNELE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDbEQsSUFBSSx3QkFBd0IsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLElBQUksTUFBTSxRQUFRLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDOUQsUUFBUSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO2dCQUNsQyxNQUFNLE9BQU8sQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUE7WUFDM0MsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLFFBQVEsQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQTtZQUMxQyxDQUFDO1lBQ0QsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFBO1lBQ2YsT0FBTTtRQUNWLENBQUM7UUFDRCxTQUFTLEdBQUcsVUFBVSxDQUFBO1FBQ3RCLElBQ0ksTUFBTSxPQUFPLENBQUMsV0FBVyxDQUNyQixlQUFlLEVBQ2YsR0FBRyxFQUNILFVBQVUsRUFDVixPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFDbEQsTUFBTSxDQUNULEVBQ0gsQ0FBQztZQUNDLFFBQVEsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUN0QyxDQUFDO2FBQU0sQ0FBQztZQUNKLFFBQVEsQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQTtRQUMxQyxDQUFDO1FBQ0QsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFBO0lBQ25CLENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQztBQUVELEtBQUssVUFBVSxpQkFBaUI7SUFDNUIsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ2YsTUFBTSxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDM0IsTUFBTSxPQUFPLENBQUMsVUFBVSxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUM5QyxLQUFLLEVBQUUsQ0FBQTtBQUNYLENBQUM7QUFFRCxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFDckUsS0FBSyxFQUFFLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5cbmltcG9ydCB7IGdldFNvdXJjZSwgbG9hZCB9IGZyb20gJy4uL2xpYi9jaGFuZ2VzLmpzJ1xuaW1wb3J0IHsgc3luYyB9IGZyb20gJy4uL2xpYi9jaHJvbm8uanMnXG5pbXBvcnQgeyBzaWduYWxlZCB9IGZyb20gJy4uL2xpYi9yZXBvcnRlci5qcydcbmltcG9ydCB7IGlzU3BlbGxpbmdEaWN0aW9uYXJ5RmlsZSwgc3BlbGxpbmcgfSBmcm9tICcuLi9saWIvc3BlbGxpbmcuanMnXG5pbXBvcnQgeyB3YXRjaCB9IGZyb20gJy4vbGliL2NvbXBpbGVyLmpzJ1xuaW1wb3J0IHsgY29uc29sZVJlcG9ydGVyIH0gZnJvbSAnLi9saWIvY29uc29sZS1yZXBvcnRlci5qcydcblxubGV0IHdhdGNoZXI6IHsgY2xvc2U6ICgpID0+IHZvaWQgfVxubGV0IGxhc3RJbnB1dDogc3RyaW5nW10gPSBbXVxuXG5jb25zdCBjd2QgPSBwcm9jZXNzLmN3ZCgpXG5cbmNvbnN0IGNoYW5nZXMgPSBhd2FpdCBsb2FkKGN3ZClcblxuZnVuY3Rpb24gc3RhcnQoKSB7XG4gICAgd2F0Y2hlciA9IHdhdGNoKGNvbnNvbGVSZXBvcnRlciwgY3dkLCBhc3luYyAoc3VjY2VzcywgaW5wdXRGaWxlcywgb3V0cHV0RmlsZXMsIHNpZ25hbCkgPT4ge1xuICAgICAgICBpZiAoaW5wdXRGaWxlcy5pbmNsdWRlcygncGFja2FnZS5qc29uJykgfHwgaW5wdXRGaWxlcy5pbmNsdWRlcygncGFja2FnZS1sb2NrLmpzb24nKSkge1xuICAgICAgICAgICAgYXdhaXQgaW5zdGFsbEFuZFJlc3RhcnQoKVxuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVwb3J0ZXIgPSBzaWduYWxlZChjb25zb2xlUmVwb3J0ZXIsIHNpZ25hbClcbiAgICAgICAgaWYgKGlzU3BlbGxpbmdEaWN0aW9uYXJ5RmlsZShpbnB1dEZpbGVzKSkge1xuICAgICAgICAgICAgaWYgKGF3YWl0IHNwZWxsaW5nKHJlcG9ydGVyLCBjd2QsIGdldFNvdXJjZShsYXN0SW5wdXQpLCBzaWduYWwpKSB7XG4gICAgICAgICAgICAgICAgcmVwb3J0ZXIuc3RhdHVzKCfwn5qAICBBbGwgZ29vZCDwn5GMJylcbiAgICAgICAgICAgICAgICBhd2FpdCBjaGFuZ2VzLnN0YWdlQ29tcGxldGUoJ3NwZWxsaW5nJylcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVwb3J0ZXIuc3RhdHVzKCfimqDvuI8gIElzc3VlcyBmb3VuZCDwn5GGJylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlcG9ydGVyLmRvbmUoKVxuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgbGFzdElucHV0ID0gaW5wdXRGaWxlc1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICBhd2FpdCBjaGFuZ2VzLnBvc3RDb21waWxlKFxuICAgICAgICAgICAgICAgIGNvbnNvbGVSZXBvcnRlcixcbiAgICAgICAgICAgICAgICBjd2QsXG4gICAgICAgICAgICAgICAgaW5wdXRGaWxlcyxcbiAgICAgICAgICAgICAgICBQcm9taXNlLnJlc29sdmUoc3VjY2VzcyA/IG91dHB1dEZpbGVzIDogdW5kZWZpbmVkKSxcbiAgICAgICAgICAgICAgICBzaWduYWwsXG4gICAgICAgICAgICApXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmVwb3J0ZXIuc3RhdHVzKCfwn5qAICBBbGwgZ29vZCDwn5GMJylcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlcG9ydGVyLnN0YXR1cygn4pqg77iPICBJc3N1ZXMgZm91bmQg8J+RhicpXG4gICAgICAgIH1cbiAgICAgICAgcmVwb3J0ZXIuZG9uZSgpXG4gICAgfSlcbn1cblxuYXN5bmMgZnVuY3Rpb24gaW5zdGFsbEFuZFJlc3RhcnQoKSB7XG4gICAgd2F0Y2hlci5jbG9zZSgpXG4gICAgYXdhaXQgY2hhbmdlcy5jbGVhclN0YWdlcygpXG4gICAgYXdhaXQgY2hhbmdlcy5wcmVDb21waWxlKGNvbnNvbGVSZXBvcnRlciwgY3dkKVxuICAgIHN0YXJ0KClcbn1cblxuYXdhaXQgUHJvbWlzZS5hbGwoW2NoYW5nZXMucHJlQ29tcGlsZShjb25zb2xlUmVwb3J0ZXIsIGN3ZCksIHN5bmMoKV0pXG5zdGFydCgpXG4iXX0=