UNPKG

@simplrjs/test-generator-cli

Version:
46 lines 7.39 kB
#!/usr/bin/env node "use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const fs = require("fs-extra"); const path = require("path"); const logger_1 = require("./utils/logger"); const tests_generator_1 = require("./tests-generator"); const tests_helpers_1 = require("./tests-helpers"); const tests_cleanup_1 = require("./tests-cleanup"); const cli_arguments_1 = require("./cli-arguments"); function StartWatcher(testsCasesPath) { return __awaiter(this, void 0, void 0, function* () { return fs.watch(`${testsCasesPath}/`, (event, fileName) => __awaiter(this, void 0, void 0, function* () { if (fileName.indexOf(tests_helpers_1.TESTS_DIR_NAME) === -1) { logger_1.Logger.Info(`Test file was changed in "${testsCasesPath}/${fileName}".`); const startBuild = logger_1.Logger.Info(`Generating tests for "${testsCasesPath}"...`); yield tests_generator_1.TestsGenerator(testsCasesPath); logger_1.Logger.Debug(`Generated tests after ${(Date.now() - startBuild)}ms`); } })); }); } ((argumentsObject) => __awaiter(this, void 0, void 0, function* () { const cwd = argumentsObject.path || process.cwd(); const testsCasesPath = tests_helpers_1.FixSep(path.join(cwd, tests_helpers_1.TESTS_DIR_NAME, tests_helpers_1.CASES_DIR_NAME)); logger_1.Logger.Info("Starting test generator..."); const startRemove = logger_1.Logger.Info(`Removing old tests from "${testsCasesPath}"...`); yield tests_cleanup_1.TestsCleanup(testsCasesPath); logger_1.Logger.Debug(`Removed old tests after ${(Date.now() - startRemove)}ms`); const startBuild = logger_1.Logger.Info(`Generating tests for "${testsCasesPath}"...`); yield tests_generator_1.TestsGenerator(testsCasesPath); logger_1.Logger.Debug(`Generated tests after ${(Date.now() - startBuild)}ms`); if (process.argv.indexOf("--watchAll") !== -1) { logger_1.Logger.Info(`Started watching "${testsCasesPath}" tests.`); StartWatcher(testsCasesPath); } }))(cli_arguments_1.CLIHandler); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFFQSwrQkFBK0I7QUFDL0IsNkJBQTZCO0FBRTdCLDJDQUF3QztBQUN4Qyx1REFBbUQ7QUFDbkQsbURBQXlFO0FBQ3pFLG1EQUErQztBQUMvQyxtREFBNkM7QUFHN0Msc0JBQTRCLGNBQXNCOztRQUM5QyxNQUFNLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLGNBQWMsR0FBRyxFQUFFLENBQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQzVELEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsOEJBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDMUMsZUFBTSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsY0FBYyxJQUFJLFFBQVEsSUFBSSxDQUFDLENBQUM7Z0JBQ3pFLE1BQU0sVUFBVSxHQUFHLGVBQU0sQ0FBQyxJQUFJLENBQUMseUJBQXlCLGNBQWMsTUFBTSxDQUFDLENBQUM7Z0JBQzlFLE1BQU0sZ0NBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDckMsZUFBTSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pFLENBQUM7UUFDTCxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUFBO0FBRUQsQ0FBQyxDQUFPLGVBQW1DLEVBQUUsRUFBRTtJQUMzQyxNQUFNLEdBQUcsR0FBRyxlQUFlLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNsRCxNQUFNLGNBQWMsR0FBRyxzQkFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLDhCQUFjLEVBQUUsOEJBQWMsQ0FBQyxDQUFDLENBQUM7SUFFOUUsZUFBTSxDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sV0FBVyxHQUFHLGVBQU0sQ0FBQyxJQUFJLENBQUMsNEJBQTRCLGNBQWMsTUFBTSxDQUFDLENBQUM7SUFDbEYsTUFBTSw0QkFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ25DLGVBQU0sQ0FBQyxLQUFLLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV4RSxNQUFNLFVBQVUsR0FBRyxlQUFNLENBQUMsSUFBSSxDQUFDLHlCQUF5QixjQUFjLE1BQU0sQ0FBQyxDQUFDO0lBQzlFLE1BQU0sZ0NBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNyQyxlQUFNLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFckUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVDLGVBQU0sQ0FBQyxJQUFJLENBQUMscUJBQXFCLGNBQWMsVUFBVSxDQUFDLENBQUM7UUFDM0QsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7QUFDTCxDQUFDLENBQUEsQ0FBQyxDQUFDLDBCQUFVLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcclxuXHJcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmcy1leHRyYVwiO1xyXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XHJcblxyXG5pbXBvcnQgeyBMb2dnZXIgfSBmcm9tIFwiLi91dGlscy9sb2dnZXJcIjtcclxuaW1wb3J0IHsgVGVzdHNHZW5lcmF0b3IgfSBmcm9tIFwiLi90ZXN0cy1nZW5lcmF0b3JcIjtcclxuaW1wb3J0IHsgRml4U2VwLCBURVNUU19ESVJfTkFNRSwgQ0FTRVNfRElSX05BTUUgfSBmcm9tIFwiLi90ZXN0cy1oZWxwZXJzXCI7XHJcbmltcG9ydCB7IFRlc3RzQ2xlYW51cCB9IGZyb20gXCIuL3Rlc3RzLWNsZWFudXBcIjtcclxuaW1wb3J0IHsgQ0xJSGFuZGxlciB9IGZyb20gXCIuL2NsaS1hcmd1bWVudHNcIjtcclxuaW1wb3J0IHsgQ0xJQXJndW1lbnRzT2JqZWN0IH0gZnJvbSBcIi4vY2xpLWNvbnRyYWN0c1wiO1xyXG5cclxuYXN5bmMgZnVuY3Rpb24gU3RhcnRXYXRjaGVyKHRlc3RzQ2FzZXNQYXRoOiBzdHJpbmcpOiBQcm9taXNlPGZzLkZTV2F0Y2hlcj4ge1xyXG4gICAgcmV0dXJuIGZzLndhdGNoKGAke3Rlc3RzQ2FzZXNQYXRofS9gLCBhc3luYyAoZXZlbnQsIGZpbGVOYW1lKSA9PiB7XHJcbiAgICAgICAgaWYgKGZpbGVOYW1lLmluZGV4T2YoVEVTVFNfRElSX05BTUUpID09PSAtMSkge1xyXG4gICAgICAgICAgICBMb2dnZXIuSW5mbyhgVGVzdCBmaWxlIHdhcyBjaGFuZ2VkIGluIFwiJHt0ZXN0c0Nhc2VzUGF0aH0vJHtmaWxlTmFtZX1cIi5gKTtcclxuICAgICAgICAgICAgY29uc3Qgc3RhcnRCdWlsZCA9IExvZ2dlci5JbmZvKGBHZW5lcmF0aW5nIHRlc3RzIGZvciBcIiR7dGVzdHNDYXNlc1BhdGh9XCIuLi5gKTtcclxuICAgICAgICAgICAgYXdhaXQgVGVzdHNHZW5lcmF0b3IodGVzdHNDYXNlc1BhdGgpO1xyXG4gICAgICAgICAgICBMb2dnZXIuRGVidWcoYEdlbmVyYXRlZCB0ZXN0cyBhZnRlciAkeyhEYXRlLm5vdygpIC0gc3RhcnRCdWlsZCl9bXNgKTtcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxufVxyXG5cclxuKGFzeW5jIChhcmd1bWVudHNPYmplY3Q6IENMSUFyZ3VtZW50c09iamVjdCkgPT4ge1xyXG4gICAgY29uc3QgY3dkID0gYXJndW1lbnRzT2JqZWN0LnBhdGggfHwgcHJvY2Vzcy5jd2QoKTtcclxuICAgIGNvbnN0IHRlc3RzQ2FzZXNQYXRoID0gRml4U2VwKHBhdGguam9pbihjd2QsIFRFU1RTX0RJUl9OQU1FLCBDQVNFU19ESVJfTkFNRSkpO1xyXG5cclxuICAgIExvZ2dlci5JbmZvKFwiU3RhcnRpbmcgdGVzdCBnZW5lcmF0b3IuLi5cIik7XHJcbiAgICBjb25zdCBzdGFydFJlbW92ZSA9IExvZ2dlci5JbmZvKGBSZW1vdmluZyBvbGQgdGVzdHMgZnJvbSBcIiR7dGVzdHNDYXNlc1BhdGh9XCIuLi5gKTtcclxuICAgIGF3YWl0IFRlc3RzQ2xlYW51cCh0ZXN0c0Nhc2VzUGF0aCk7XHJcbiAgICBMb2dnZXIuRGVidWcoYFJlbW92ZWQgb2xkIHRlc3RzIGFmdGVyICR7KERhdGUubm93KCkgLSBzdGFydFJlbW92ZSl9bXNgKTtcclxuXHJcbiAgICBjb25zdCBzdGFydEJ1aWxkID0gTG9nZ2VyLkluZm8oYEdlbmVyYXRpbmcgdGVzdHMgZm9yIFwiJHt0ZXN0c0Nhc2VzUGF0aH1cIi4uLmApO1xyXG4gICAgYXdhaXQgVGVzdHNHZW5lcmF0b3IodGVzdHNDYXNlc1BhdGgpO1xyXG4gICAgTG9nZ2VyLkRlYnVnKGBHZW5lcmF0ZWQgdGVzdHMgYWZ0ZXIgJHsoRGF0ZS5ub3coKSAtIHN0YXJ0QnVpbGQpfW1zYCk7XHJcblxyXG4gICAgaWYgKHByb2Nlc3MuYXJndi5pbmRleE9mKFwiLS13YXRjaEFsbFwiKSAhPT0gLTEpIHtcclxuICAgICAgICBMb2dnZXIuSW5mbyhgU3RhcnRlZCB3YXRjaGluZyBcIiR7dGVzdHNDYXNlc1BhdGh9XCIgdGVzdHMuYCk7XHJcbiAgICAgICAgU3RhcnRXYXRjaGVyKHRlc3RzQ2FzZXNQYXRoKTtcclxuICAgIH1cclxufSkoQ0xJSGFuZGxlcik7XHJcbiJdfQ==