24 lines
845 B
JavaScript
24 lines
845 B
JavaScript
// eslint-disable-next-line @nx/enforce-module-boundaries
|
|
const baseResolver = require('../../scripts/patched-jest-resolver');
|
|
const enhancedResolve = require('enhanced-resolve');
|
|
|
|
// Create a resolver with @nx/nx-source condition for nx package only
|
|
const nxSourceResolver = enhancedResolve.create.sync({
|
|
conditionNames: ['@nx/nx-source', 'require', 'node', 'default'],
|
|
extensions: ['.js', '.json', '.node', '.ts', '.tsx'],
|
|
});
|
|
|
|
module.exports = function (modulePath, options) {
|
|
// For nx package internal imports that need @nx/nx-source resolution
|
|
if (modulePath.startsWith('nx/') || modulePath === 'nx') {
|
|
try {
|
|
return nxSourceResolver(options.basedir, modulePath);
|
|
} catch (e) {
|
|
// Fall through to base resolver
|
|
}
|
|
}
|
|
|
|
// Use base resolver for everything else
|
|
return baseResolver(modulePath, options);
|
|
};
|