File tree Expand file tree Collapse file tree 5 files changed +121
-1
lines changed
packages/react-library-scripts Expand file tree Collapse file tree 5 files changed +121
-1
lines changed Original file line number Diff line number Diff line change
1
+ "use strict" ;
2
+
3
+ const babelJest = require ( "babel-jest" ) ;
4
+
5
+ module . exports = babelJest . createTransformer ( {
6
+ presets : [
7
+ [ require . resolve ( "@babel/preset-env" ) , { modules : "commonjs" } ] ,
8
+ [ require . resolve ( "@babel/preset-react" ) , { absoluteRuntime : false } ]
9
+ ] ,
10
+ plugins : [
11
+ require . resolve ( "@babel/plugin-proposal-class-properties" ) ,
12
+ require . resolve ( "@babel/plugin-transform-runtime" )
13
+ ] ,
14
+ babelrc : false ,
15
+ configFile : false
16
+ } ) ;
Original file line number Diff line number Diff line change
1
+ // Copied from Create React APP
2
+
3
+ "use strict" ;
4
+
5
+ // This is a custom Jest transformer turning style imports into empty objects.
6
+ // http://facebook.github.io/jest/docs/en/webpack.html
7
+
8
+ module . exports = {
9
+ process ( ) {
10
+ return "module.exports = {};" ;
11
+ } ,
12
+ getCacheKey ( ) {
13
+ // The output is always the same.
14
+ return "cssTransform" ;
15
+ }
16
+ } ;
Original file line number Diff line number Diff line change
1
+ // Copied from Create React APP
2
+
3
+ "use strict" ;
4
+
5
+ const path = require ( "path" ) ;
6
+ const camelcase = require ( "camelcase" ) ;
7
+
8
+ // This is a custom Jest transformer turning file imports into filenames.
9
+ // http://facebook.github.io/jest/docs/en/webpack.html
10
+
11
+ module . exports = {
12
+ process ( src , filename ) {
13
+ const assetFilename = JSON . stringify ( path . basename ( filename ) ) ;
14
+
15
+ if ( filename . match ( / \. s v g $ / ) ) {
16
+ // Based on how SVGR generates a component name:
17
+ // https://github.com/smooth-code/svgr/blob/01b194cf967347d43d4cbe6b434404731b87cf27/packages/core/src/state.js#L6
18
+ const pascalCaseFileName = camelcase ( path . parse ( filename ) . name , {
19
+ pascalCase : true
20
+ } ) ;
21
+ const componentName = `Svg${ pascalCaseFileName } ` ;
22
+ return `const React = require('react');
23
+ module.exports = {
24
+ __esModule: true,
25
+ default: ${ assetFilename } ,
26
+ ReactComponent: React.forwardRef(function ${ componentName } (props, ref) {
27
+ return {
28
+ $$typeof: Symbol.for('react.element'),
29
+ type: 'svg',
30
+ ref: ref,
31
+ key: null,
32
+ props: Object.assign({}, props, {
33
+ children: ${ assetFilename }
34
+ })
35
+ };
36
+ }),
37
+ };` ;
38
+ }
39
+
40
+ return `module.exports = ${ assetFilename } ;` ;
41
+ }
42
+ } ;
Original file line number Diff line number Diff line change
1
+ "use strict" ;
2
+
3
+ const jestConfig = {
4
+ collectCoverageFrom : [ "<rootDir>/src/lib/**/*.{js,jsx}" ] ,
5
+ testPathIgnorePatterns : [ "/node_modules/" , "/dist/" ] ,
6
+ transform : {
7
+ "^.+\\.(js|jsx|ts|tsx)$" : `${ __dirname } /jest/babelTransform.js` ,
8
+ "^.+\\.css$" : `${ __dirname } /jest/cssTransform.js` ,
9
+ "^(?!.*\\.(js|jsx|ts|tsx|css|json)$)" : `${ __dirname } /jest/fileTransform.js`
10
+ } ,
11
+ transformIgnorePatterns : [
12
+ "[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$" ,
13
+ "^.+\\.module\\.(css|sass|scss)$"
14
+ ] ,
15
+ coverageThreshold : {
16
+ global : {
17
+ statements : 85 ,
18
+ branches : 85 ,
19
+ lines : 85 ,
20
+ functions : 85
21
+ }
22
+ }
23
+ } ;
24
+
25
+ module . exports = jestConfig ;
Original file line number Diff line number Diff line change 1
1
"use strict" ;
2
2
3
- console . log ( "test" ) ;
3
+ process . env . BABEL_ENV = "test" ;
4
+ process . env . NODE_ENV = "test" ;
5
+ process . env . PUBLIC_URL = "" ;
6
+
7
+ const jest = require ( "jest" ) ;
8
+ const fs = require ( "fs" ) ;
9
+ let jestConfig = require ( "../configs/jestConfig" ) ;
10
+
11
+ const packageJson = JSON . parse ( fs . readFileSync ( "./package.json" ) ) ;
12
+
13
+ if ( fs . existsSync ( "./src/setupTest.js" ) ) {
14
+ jestConfig . setupFilesAfterEnv = [ "<rootDir>/src/setupTest.js" ] ;
15
+ }
16
+
17
+ if ( packageJson . jest ) {
18
+ jestConfig = { ...jestConfig , ...packageJson . jest } ;
19
+ }
20
+
21
+ args . unshift ( "--ci" ) ;
22
+ args . unshift ( "--config" , JSON . stringify ( jestConfig ) ) ;
23
+
24
+ jest . run ( process . argv . slice ( 2 ) ) ;
You can’t perform that action at this time.
0 commit comments