UNPKG

@rstest/core

Version:
104 lines (103 loc) 5.29 kB
import 'module'; /*#__PURE__*/ import.meta.url; export const __webpack_ids__ = [ "285" ]; export const __webpack_modules__ = { "./src/core/listTests.ts": function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.d(__webpack_exports__, { listTests: ()=>listTests }); var node_fs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("fs"); var node_path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("node:path"); var _pool__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("./src/pool/index.ts"); var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("./src/utils/index.ts"); var _rsbuild__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("./src/core/rsbuild.ts"); async function listTests(context, fileFilters, { filesOnly, json }) { const { normalizedConfig: { include, exclude, root, name, setupFiles: setups, includeSource }, rootPath } = context; const testEntries = await (0, _utils__WEBPACK_IMPORTED_MODULE_3__.GL)({ include, exclude, root, fileFilters, includeSource }); const globTestSourceEntries = async ()=>testEntries; const setupFiles = (0, _utils__WEBPACK_IMPORTED_MODULE_3__.aA)(setups, rootPath); const rsbuildInstance = await (0, _rsbuild__WEBPACK_IMPORTED_MODULE_4__.z)(context, globTestSourceEntries, setupFiles); const { getRsbuildStats, closeServer } = await (0, _rsbuild__WEBPACK_IMPORTED_MODULE_4__.r)({ name, globTestSourceEntries, normalizedConfig: context.normalizedConfig, setupFiles, rsbuildInstance, rootPath }); const { entries, setupEntries, assetFiles, sourceMaps, getSourcemap } = await getRsbuildStats(); const pool = await (0, _pool__WEBPACK_IMPORTED_MODULE_2__.K)({ context }); const list = await pool.collectTests({ entries, sourceMaps, setupEntries, assetFiles, updateSnapshot: context.snapshotManager.options.updateSnapshot }); const tests = []; const traverseTests = (test)=>{ if ([ 'skip', 'todo' ].includes(test.runMode)) return; if ('case' === test.type) tests.push({ file: test.testPath, name: (0, _utils__WEBPACK_IMPORTED_MODULE_3__.Yz)(test) }); else for (const child of test.tests)traverseTests(child); }; const hasError = list.some((file)=>file.errors?.length); if (hasError) { const { printError } = await Promise.all([ __webpack_require__.e("723"), __webpack_require__.e("355") ]).then(__webpack_require__.bind(__webpack_require__, "./src/utils/error.ts")); process.exitCode = 1; for (const file of list){ const relativePath = (0, node_path__WEBPACK_IMPORTED_MODULE_1__.relative)(rootPath, file.testPath); if (file.errors?.length) { _utils__WEBPACK_IMPORTED_MODULE_3__.kg.log(`${_utils__WEBPACK_IMPORTED_MODULE_3__.$_.bgRed(' FAIL ')} ${relativePath}`); for (const error of file.errors)await printError(error, getSourcemap, rootPath); } } await closeServer(); await pool.close(); return; } for (const file of list){ if (filesOnly) { tests.push({ file: file.testPath }); continue; } for (const test of file.tests)traverseTests(test); } if (json && 'false' !== json) { const content = JSON.stringify(tests, null, 2); if (true !== json && 'true' !== json) { const jsonPath = (0, node_path__WEBPACK_IMPORTED_MODULE_1__.isAbsolute)(json) ? json : (0, node_path__WEBPACK_IMPORTED_MODULE_1__.join)(rootPath, json); (0, node_fs__WEBPACK_IMPORTED_MODULE_0__.mkdirSync)((0, node_path__WEBPACK_IMPORTED_MODULE_1__.dirname)(jsonPath), { recursive: true }); (0, node_fs__WEBPACK_IMPORTED_MODULE_0__.writeFileSync)(jsonPath, content); } else _utils__WEBPACK_IMPORTED_MODULE_3__.kg.log(content); } else for (const test of tests){ const shortPath = (0, node_path__WEBPACK_IMPORTED_MODULE_1__.relative)(rootPath, test.file); _utils__WEBPACK_IMPORTED_MODULE_3__.kg.log(test.name ? `${_utils__WEBPACK_IMPORTED_MODULE_3__.$_.dim(`${shortPath} > `)}${test.name}` : (0, _utils__WEBPACK_IMPORTED_MODULE_3__.aj)(shortPath)); } await closeServer(); await pool.close(); } } };