UNPKG

lib-tools

Version:

The lib-tools helps you simplify the build, bundle, test and npm packaging workflows for Typescript, JavaScript, Angular library projects and assets module projects.

31 lines 4.58 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.findTestIndexFile = void 0; const path = require("path"); const fs_extra_1 = require("fs-extra"); const utils_1 = require("../utils"); const read_tsconfig_json_1 = require("./read-tsconfig-json"); async function findTestIndexFile(projectRoot, workspaceRoot, tsConfigPath) { let indexFilePath = null; if (tsConfigPath) { const tsConfigJson = read_tsconfig_json_1.readTsconfigJson(tsConfigPath); if (tsConfigJson.files && tsConfigJson.files.length) { let testFile = tsConfigJson.files.find((f) => /test([-_]index)?\.tsx?$/i.test(f)); if (!testFile) { testFile = tsConfigJson.files[0]; } if (testFile) { const testFileAbs = path.resolve(path.dirname(tsConfigPath), testFile); if (await fs_extra_1.pathExists(testFileAbs)) { indexFilePath = testFileAbs; } } } } if (!indexFilePath) { indexFilePath = await utils_1.findUp(['test.ts', 'test_index.ts', 'test.js', 'test_index.js'], [path.resolve(projectRoot, 'test'), path.resolve(projectRoot, 'src')], workspaceRoot); } return indexFilePath; } exports.findTestIndexFile = findTestIndexFile; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC10ZXN0LWluZGV4LWZpbGUuanMiLCJzb3VyY2VSb290IjoiLi8iLCJzb3VyY2VzIjpbImhlbHBlcnMvZmluZC10ZXN0LWluZGV4LWZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQTZCO0FBRTdCLHVDQUFzQztBQUV0QyxvQ0FBa0M7QUFFbEMsNkRBQXdEO0FBRWpELEtBQUssVUFBVSxpQkFBaUIsQ0FDbkMsV0FBbUIsRUFDbkIsYUFBcUIsRUFDckIsWUFBNEI7SUFFNUIsSUFBSSxhQUFhLEdBQWtCLElBQUksQ0FBQztJQUN4QyxJQUFJLFlBQVksRUFBRTtRQUNkLE1BQU0sWUFBWSxHQUFHLHFDQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BELElBQUksWUFBWSxDQUFDLEtBQUssSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNqRCxJQUFJLFFBQVEsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEYsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDWCxRQUFRLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNwQztZQUVELElBQUksUUFBUSxFQUFFO2dCQUNWLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDdkUsSUFBSSxNQUFNLHFCQUFVLENBQUMsV0FBVyxDQUFDLEVBQUU7b0JBQy9CLGFBQWEsR0FBRyxXQUFXLENBQUM7aUJBQy9CO2FBQ0o7U0FDSjtLQUNKO0lBRUQsSUFBSSxDQUFDLGFBQWEsRUFBRTtRQUNoQixhQUFhLEdBQUcsTUFBTSxjQUFNLENBQ3hCLENBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsZUFBZSxDQUFDLEVBQ3hELENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFDckUsYUFBYSxDQUNoQixDQUFDO0tBQ0w7SUFFRCxPQUFPLGFBQWEsQ0FBQztBQUN6QixDQUFDO0FBaENELDhDQWdDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5cbmltcG9ydCB7IHBhdGhFeGlzdHMgfSBmcm9tICdmcy1leHRyYSc7XG5cbmltcG9ydCB7IGZpbmRVcCB9IGZyb20gJy4uL3V0aWxzJztcblxuaW1wb3J0IHsgcmVhZFRzY29uZmlnSnNvbiB9IGZyb20gJy4vcmVhZC10c2NvbmZpZy1qc29uJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZpbmRUZXN0SW5kZXhGaWxlKFxuICAgIHByb2plY3RSb290OiBzdHJpbmcsXG4gICAgd29ya3NwYWNlUm9vdDogc3RyaW5nLFxuICAgIHRzQ29uZmlnUGF0aD86IHN0cmluZyB8IG51bGxcbik6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIGxldCBpbmRleEZpbGVQYXRoOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBpZiAodHNDb25maWdQYXRoKSB7XG4gICAgICAgIGNvbnN0IHRzQ29uZmlnSnNvbiA9IHJlYWRUc2NvbmZpZ0pzb24odHNDb25maWdQYXRoKTtcbiAgICAgICAgaWYgKHRzQ29uZmlnSnNvbi5maWxlcyAmJiB0c0NvbmZpZ0pzb24uZmlsZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICBsZXQgdGVzdEZpbGUgPSB0c0NvbmZpZ0pzb24uZmlsZXMuZmluZCgoZikgPT4gL3Rlc3QoWy1fXWluZGV4KT9cXC50c3g/JC9pLnRlc3QoZikpO1xuICAgICAgICAgICAgaWYgKCF0ZXN0RmlsZSkge1xuICAgICAgICAgICAgICAgIHRlc3RGaWxlID0gdHNDb25maWdKc29uLmZpbGVzWzBdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGVzdEZpbGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZXN0RmlsZUFicyA9IHBhdGgucmVzb2x2ZShwYXRoLmRpcm5hbWUodHNDb25maWdQYXRoKSwgdGVzdEZpbGUpO1xuICAgICAgICAgICAgICAgIGlmIChhd2FpdCBwYXRoRXhpc3RzKHRlc3RGaWxlQWJzKSkge1xuICAgICAgICAgICAgICAgICAgICBpbmRleEZpbGVQYXRoID0gdGVzdEZpbGVBYnM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFpbmRleEZpbGVQYXRoKSB7XG4gICAgICAgIGluZGV4RmlsZVBhdGggPSBhd2FpdCBmaW5kVXAoXG4gICAgICAgICAgICBbJ3Rlc3QudHMnLCAndGVzdF9pbmRleC50cycsICd0ZXN0LmpzJywgJ3Rlc3RfaW5kZXguanMnXSxcbiAgICAgICAgICAgIFtwYXRoLnJlc29sdmUocHJvamVjdFJvb3QsICd0ZXN0JyksIHBhdGgucmVzb2x2ZShwcm9qZWN0Um9vdCwgJ3NyYycpXSxcbiAgICAgICAgICAgIHdvcmtzcGFjZVJvb3RcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaW5kZXhGaWxlUGF0aDtcbn1cbiJdfQ==