11import childProcess from "child_process" ;
22import path from "path" ;
33import fs from "fs" ;
4+ import { testIfNodeMajorVersionIsLessThan18 } from "../../utils/testIf" ;
45
56function getBundleOutput ( bundlePath : string ) : string {
67 return childProcess . execSync ( `node ${ bundlePath } ` , { encoding : "utf-8" } ) ;
@@ -12,67 +13,71 @@ function getFileContents(bundlePath: string): string {
1213
1314describe ( "`releaseInjectionTargets` option should work as expected when given an array of RegEx and strings" , ( ) => {
1415 test ( "esbuild bundle" , ( ) => {
15- expect ( getBundleOutput ( path . join ( __dirname , "./ out/ esbuild/ entrypoint1.js" ) ) ) . toBe (
16+ expect ( getBundleOutput ( path . join ( __dirname , "out" , " esbuild" , " entrypoint1.js") ) ) . toBe (
1617 "I AM A RELEASE!"
1718 ) ;
18- expect ( getBundleOutput ( path . join ( __dirname , "./ out/ esbuild/ entrypoint2.js" ) ) ) . toBe ( "" ) ;
19- expect ( getBundleOutput ( path . join ( __dirname , "./ out/ esbuild/ entrypoint3.js" ) ) ) . toBe (
19+ expect ( getBundleOutput ( path . join ( __dirname , "out" , " esbuild" , " entrypoint2.js") ) ) . toBe ( "" ) ;
20+ expect ( getBundleOutput ( path . join ( __dirname , "out" , " esbuild" , " entrypoint3.js") ) ) . toBe (
2021 "I AM A RELEASE!"
2122 ) ;
22- expect ( getFileContents ( path . join ( __dirname , "./ out/ esbuild/ entrypoint2.js" ) ) ) . not . toContain (
23+ expect ( getFileContents ( path . join ( __dirname , "out" , " esbuild" , " entrypoint2.js") ) ) . not . toContain (
2324 "I AM A RELEASE!"
2425 ) ;
2526 } ) ;
2627
2728 test ( "rollup bundle" , ( ) => {
28- expect ( getBundleOutput ( path . join ( __dirname , "./ out/ rollup/ entrypoint1.js" ) ) ) . toBe (
29+ expect ( getBundleOutput ( path . join ( __dirname , "out" , " rollup" , " entrypoint1.js") ) ) . toBe (
2930 "I AM A RELEASE!"
3031 ) ;
31- expect ( getBundleOutput ( path . join ( __dirname , "./ out/ rollup/ entrypoint2.js" ) ) ) . toBe ( "" ) ;
32- expect ( getBundleOutput ( path . join ( __dirname , "./ out/ rollup/ entrypoint3.js" ) ) ) . toBe (
32+ expect ( getBundleOutput ( path . join ( __dirname , "out" , " rollup" , " entrypoint2.js") ) ) . toBe ( "" ) ;
33+ expect ( getBundleOutput ( path . join ( __dirname , "out" , " rollup" , " entrypoint3.js") ) ) . toBe (
3334 "I AM A RELEASE!"
3435 ) ;
35- expect ( getFileContents ( path . join ( __dirname , "./ out/ rollup/ entrypoint2.js" ) ) ) . not . toContain (
36+ expect ( getFileContents ( path . join ( __dirname , "out" , " rollup" , " entrypoint2.js") ) ) . not . toContain (
3637 "I AM A RELEASE!"
3738 ) ;
3839 } ) ;
3940
4041 test ( "vite bundle" , ( ) => {
41- expect ( getBundleOutput ( path . join ( __dirname , "./ out/ vite/ entrypoint1.js" ) ) ) . toBe (
42+ expect ( getBundleOutput ( path . join ( __dirname , "out" , " vite" , " entrypoint1.js") ) ) . toBe (
4243 "I AM A RELEASE!"
4344 ) ;
44- expect ( getBundleOutput ( path . join ( __dirname , "./ out/ vite/ entrypoint2.js" ) ) ) . toBe ( "" ) ;
45- expect ( getBundleOutput ( path . join ( __dirname , "./ out/ vite/ entrypoint3.js" ) ) ) . toBe (
45+ expect ( getBundleOutput ( path . join ( __dirname , "out" , " vite" , " entrypoint2.js") ) ) . toBe ( "" ) ;
46+ expect ( getBundleOutput ( path . join ( __dirname , "out" , " vite" , " entrypoint3.js") ) ) . toBe (
4647 "I AM A RELEASE!"
4748 ) ;
48- expect ( getFileContents ( path . join ( __dirname , "./ out/ vite/ entrypoint2.js" ) ) ) . not . toContain (
49+ expect ( getFileContents ( path . join ( __dirname , "out" , " vite" , " entrypoint2.js") ) ) . not . toContain (
4950 "I AM A RELEASE!"
5051 ) ;
5152 } ) ;
5253
53- test ( "webpack 4 bundle" , ( ) => {
54- expect ( getBundleOutput ( path . join ( __dirname , "./out/webpack4/entrypoint1.js" ) ) ) . toBe (
54+ testIfNodeMajorVersionIsLessThan18 ( "webpack 4 bundle" , ( ) => {
55+ // eslint-disable-next-line jest/no-standalone-expect
56+ expect ( getBundleOutput ( path . join ( __dirname , "out" , "webpack4" , "entrypoint1.js" ) ) ) . toBe (
5557 "I AM A RELEASE!"
5658 ) ;
57- expect ( getBundleOutput ( path . join ( __dirname , "./out/webpack4/entrypoint2.js" ) ) ) . toBe ( "" ) ;
58- expect ( getBundleOutput ( path . join ( __dirname , "./out/webpack4/entrypoint3.js" ) ) ) . toBe (
59- "I AM A RELEASE!"
60- ) ;
61- expect ( getFileContents ( path . join ( __dirname , "./out/webpack4/entrypoint2.js" ) ) ) . not . toContain (
59+ // eslint-disable-next-line jest/no-standalone-expect
60+ expect ( getBundleOutput ( path . join ( __dirname , "out" , "webpack4" , "entrypoint2.js" ) ) ) . toBe ( "" ) ;
61+ // eslint-disable-next-line jest/no-standalone-expect
62+ expect ( getBundleOutput ( path . join ( __dirname , "out" , "webpack4" , "entrypoint3.js" ) ) ) . toBe (
6263 "I AM A RELEASE!"
6364 ) ;
65+ // eslint-disable-next-line jest/no-standalone-expect
66+ expect (
67+ getFileContents ( path . join ( __dirname , "out" , "webpack4" , "entrypoint2.js" ) )
68+ ) . not . toContain ( "I AM A RELEASE!" ) ;
6469 } ) ;
6570
6671 test ( "webpack 5 bundle" , ( ) => {
67- expect ( getBundleOutput ( path . join ( __dirname , "./out/webpack5/entrypoint1.js" ) ) ) . toBe (
68- "I AM A RELEASE!"
69- ) ;
70- expect ( getBundleOutput ( path . join ( __dirname , "./out/webpack5/entrypoint2.js" ) ) ) . toBe ( "" ) ;
71- expect ( getBundleOutput ( path . join ( __dirname , "./out/webpack5/entrypoint3.js" ) ) ) . toBe (
72+ expect ( getBundleOutput ( path . join ( __dirname , "out" , "webpack5" , "entrypoint1.js" ) ) ) . toBe (
7273 "I AM A RELEASE!"
7374 ) ;
74- expect ( getFileContents ( path . join ( __dirname , "./out/webpack5/entrypoint2.js" ) ) ) . not . toContain (
75+ expect ( getBundleOutput ( path . join ( __dirname , "out" , "webpack5" , "entrypoint2.js" ) ) ) . toBe ( "" ) ;
76+ expect ( getBundleOutput ( path . join ( __dirname , "out" , "webpack5" , "entrypoint3.js" ) ) ) . toBe (
7577 "I AM A RELEASE!"
7678 ) ;
79+ expect (
80+ getFileContents ( path . join ( __dirname , "out" , "webpack5" , "entrypoint2.js" ) )
81+ ) . not . toContain ( "I AM A RELEASE!" ) ;
7782 } ) ;
7883} ) ;
0 commit comments