1
1
/* eslint-disable tsdoc/syntax */
2
2
3
- const path = require ( 'node:path' )
4
- const { escapeRegExp, omit} = require ( 'lodash' )
5
- const devAliases = require ( '../dev/aliases.cjs' )
3
+ import devAliases from '@repo/dev-aliases'
4
+
5
+ import path from 'node:path'
6
+ import { escapeRegExp , omit } from 'lodash-es'
7
+ import { resolveDirName } from './resolveDirName.mjs'
8
+
9
+ const dirname = resolveDirName ( import . meta. url )
6
10
7
11
/** Regex for matching file extensions. */
8
12
const RE_EXT = / \. [ 0 - 9 a - z ] + $ / i
9
13
10
14
/** Path to the root of the Sanity monorepo. */
11
- const ROOT_PATH = path . resolve ( __dirname , '..' )
15
+ const ROOT_PATH = path . resolve ( dirname , '..' , '..' , '..' , '..' )
16
+
17
+ const jestAliases = Object . fromEntries (
18
+ Object . entries ( devAliases ) . map ( ( [ packageName , aliasPath ] ) => [
19
+ packageName ,
20
+ path . join ( './packages' , aliasPath ) ,
21
+ ] ) ,
22
+ )
12
23
13
24
/** The default module name mapper (aka. aliases) for jest tests in the Sanity monorepo. */
14
25
const defaultModuleNameMapper = resolveAliasPaths ( {
15
- ...aliasesToModuleNameWrapper ( devAliases ) ,
26
+ ...aliasesToModuleNameWrapper ( jestAliases ) ,
16
27
'.*\\.module\\.css$' : './test/mocks/emptyObject' ,
17
28
'.*\\.css$' : './test/mocks/undefined' ,
18
29
} )
@@ -23,7 +34,7 @@ const defaultModuleNameMapper = resolveAliasPaths({
23
34
* @param {import('jest').Config } config - Initial Jest configuration options.
24
35
* @returns {import('jest').Config } The resulting Jest configuration options.
25
36
*/
26
- exports . createJestConfig = function createJestConfig ( config = { } ) {
37
+ export function createJestConfig ( config = { } ) {
27
38
const {
28
39
testMatch = [ ] ,
29
40
setupFiles = [ ] ,
@@ -57,9 +68,9 @@ exports.createJestConfig = function createJestConfig(config = {}) {
57
68
'<rootDir>/coverage/' ,
58
69
'<rootDir>/lib/' ,
59
70
] ,
60
- resolver : path . resolve ( __dirname , './resolver.cjs' ) ,
61
- testEnvironment : path . resolve ( __dirname , './jsdom.jest.env.ts' ) ,
62
- setupFiles : [ ...setupFiles , path . resolve ( __dirname , './setup.ts' ) ] ,
71
+ resolver : path . resolve ( dirname , './resolver.cjs' ) ,
72
+ testEnvironment : path . resolve ( dirname , './jsdom.jest.env.ts' ) ,
73
+ setupFiles : [ ...setupFiles , path . resolve ( dirname , './setup.ts' ) ] ,
63
74
// testEnvironment: 'jsdom',
64
75
testEnvironmentOptions : {
65
76
url : 'http://localhost:3333' ,
@@ -81,18 +92,17 @@ exports.createJestConfig = function createJestConfig(config = {}) {
81
92
'@babel/preset-env' ,
82
93
{
83
94
targets : {
84
- node : '14 ' ,
85
- chrome : '61 ' ,
86
- safari : '11.3 ' ,
87
- firefox : '60 ' ,
88
- edge : '79 ' ,
95
+ node : '18 ' ,
96
+ safari : '16 ' ,
97
+ chrome : '110 ' ,
98
+ firefox : '110 ' ,
99
+ edge : '110 ' ,
89
100
} ,
90
101
} ,
91
102
] ,
92
103
'@babel/preset-typescript' ,
93
104
[ '@babel/preset-react' , { runtime : 'automatic' } ] ,
94
105
] ,
95
- plugins : [ '@babel/plugin-proposal-class-properties' ] ,
96
106
} ,
97
107
] ,
98
108
} ,
0 commit comments