Skip to content

Commit

Permalink
Support projects field in jest configuration
Browse files Browse the repository at this point in the history
  • Loading branch information
dev-goformative authored and dobesv committed Aug 28, 2023
1 parent 3ae0c5e commit fa8c49e
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 1 deletion.
9 changes: 8 additions & 1 deletion src/special/jest.js
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,14 @@ function filter(deps, options) {

function checkOptions(deps, options = {}) {
const pickedOptions = lodash(options).pick(supportedProperties).value();
return filter(deps, pickedOptions);
const baseFoundDeps = filter(deps, pickedOptions);
if (options.projects) {
const projectDeps = options.projects.map((projectConfig) =>
checkOptions(deps, projectConfig),
);
return baseFoundDeps.concat(...projectDeps);
}
return baseFoundDeps;
}

export default async function parseJest(filename, deps, rootDir) {
Expand Down
20 changes: 20 additions & 0 deletions test/special/jest.js
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,26 @@ const testCases = [
snapshotSerializers: ['jest-serializer-vue'],
},
},
{
name: 'recognize projects',
deps: ['babel-jest', 'vue-jest'],
content: {
projects: [
{
name: 'vue',
transform: {
'^.+\\.vue$': 'vue-jest',
},
},
{
name: 'babel',
transform: {
'^.+\\.js$': '<rootDir>/node_modules/babel-jest',
},
},
],
},
},
];

async function testJest(content, deps, expectedDeps, _filename) {
Expand Down

0 comments on commit fa8c49e

Please sign in to comment.