UNPKG

@nx/vite

Version:

The Nx Plugin for building and testing applications using Vite

82 lines (81 loc) 4.1 kB
"use strict"; Object.defineProperty(exports, "updateTestConfig", { enumerable: true, get: function() { return updateTestConfig; } }); const _devkit = require("@nx/devkit"); const _tsquery = require("@phenomnomnominal/tsquery"); const _updateviteconfig = require("../update-vite-config"); function updateTestConfig(configContents, projectConfig, configPath) { var _tsquery_query, _projectConfig_targets_test_options, _projectConfig_targets_test, _projectConfig_targets; const configNode = (0, _updateviteconfig.getConfigNode)(configContents); if (!configNode) { (0, _updateviteconfig.notFoundWarning)(configPath); return configContents; } const testObject = (_tsquery_query = _tsquery.tsquery.query(configNode, `PropertyAssignment:has(Identifier[name="test"])`)) == null ? void 0 : _tsquery_query[0]; let testCoverageDir; let testCoverage; let provider; let reporters; if (testObject) { var _tsquery_query1, _tsquery_query2; testCoverage = (_tsquery_query1 = _tsquery.tsquery.query(testObject, `PropertyAssignment:has(Identifier[name="coverage"])`)) == null ? void 0 : _tsquery_query1[0]; reporters = (_tsquery_query2 = _tsquery.tsquery.query(testObject, `PropertyAssignment:has(Identifier[name="reporters"])`)) == null ? void 0 : _tsquery_query2[0]; if (testCoverage) { var _tsquery_query3, _tsquery_query4; testCoverageDir = (_tsquery_query3 = _tsquery.tsquery.query(testCoverage, `PropertyAssignment:has(Identifier[name="reportsDirectory"])`)) == null ? void 0 : _tsquery_query3[0]; provider = (_tsquery_query4 = _tsquery.tsquery.query(testCoverage, `PropertyAssignment:has(Identifier[name="provider"])`)) == null ? void 0 : _tsquery_query4[0]; } } let coverageDir = ''; if ((_projectConfig_targets = projectConfig.targets) == null ? void 0 : (_projectConfig_targets_test = _projectConfig_targets.test) == null ? void 0 : (_projectConfig_targets_test_options = _projectConfig_targets_test.options) == null ? void 0 : _projectConfig_targets_test_options.reportsDirectory) { var _projectConfig_targets_test_options1, _projectConfig_targets_test1, _projectConfig_targets1; coverageDir = (_projectConfig_targets1 = projectConfig.targets) == null ? void 0 : (_projectConfig_targets_test1 = _projectConfig_targets1.test) == null ? void 0 : (_projectConfig_targets_test_options1 = _projectConfig_targets_test1.options) == null ? void 0 : _projectConfig_targets_test_options1.reportsDirectory; } else { coverageDir = (0, _devkit.joinPathFragments)((0, _devkit.offsetFromRoot)(projectConfig.root), 'coverage', projectConfig.root); } let changes = []; if (!reporters && testObject) { changes.push({ type: _devkit.ChangeType.Insert, index: testObject.getStart() + `test: {`.length + 1, text: `reporters: ['default'],` }); } if (testCoverageDir) { // Do nothing } else if (testCoverage) { // has test.coverage, has no reportsDirectory // so add reportsDirectory changes.push({ type: _devkit.ChangeType.Insert, index: testCoverage.getStart() + `coverage: {`.length + 1, text: `reportsDirectory: '${coverageDir}',` }); if (!provider) { changes.push({ type: _devkit.ChangeType.Insert, index: testCoverage.getStart() + `coverage: {`.length + 1, text: `provider: 'v8' as const,` }); } } else if (testObject) { changes.push({ type: _devkit.ChangeType.Insert, index: testObject.getStart() + `test: {`.length + 1, text: `coverage: { reportsDirectory: '${coverageDir}', provider: 'v8' as const, },` }); } if (changes.length > 0) { return (0, _devkit.applyChangesToString)(configContents, changes); } else { return configContents; } } //# sourceMappingURL=edit-test-config.js.map