@@ -18,77 +18,76 @@ const unlinkFileAsync = util.promisify(fs.unlink);
1818const writeFileAsync = util . promisify ( fs . writeFile ) ;
1919
2020async function removeTestInfraStructure ( ) {
21- deleteFolder ( path . resolve ( `./test` ) ) ;
22-
23- // delete the .github folder
24- deleteFolder ( path . resolve ( `./.github` ) ) ;
25-
26- // delete CI/CD pipeline files
27- deleteFolder ( path . resolve ( `./.azure-devops` ) ) ;
21+ deleteFolder ( path . resolve ( `./test` ) ) ;
2822
29- await updatePackageJsonFile ( ) ;
30- await updateLaunchJsonFile ( ) ;
31- // delete this script
32- await unlinkFileAsync ( "./convertToSingleHost.js" ) ;
23+ // delete the .github folder
24+ deleteFolder ( path . resolve ( `./.github` ) ) ;
25+
26+ // delete CI/CD pipeline files
27+ deleteFolder ( path . resolve ( `./.azure-devops` ) ) ;
28+
29+ await updatePackageJsonFile ( ) ;
30+ await updateLaunchJsonFile ( ) ;
31+ // delete this script
32+ await unlinkFileAsync ( "./convertToSingleHost.js" ) ;
3333}
3434
3535async function updatePackageJsonFile ( ) {
36- // update package.json to reflect selected host
37- const packageJson = `./package.json` ;
38- const data = await readFileAsync ( packageJson , "utf8" ) ;
39- let content = JSON . parse ( data ) ;
36+ // update package.json to reflect selected host
37+ const packageJson = `./package.json` ;
38+ const data = await readFileAsync ( packageJson , "utf8" ) ;
39+ let content = JSON . parse ( data ) ;
4040
41- // remove scripts that are unrelated to the selected host
42- Object . keys ( content . scripts ) . forEach ( function ( key ) {
43- if ( key === "convert-to-single-host" || key === "test" ) {
44- delete content . scripts [ key ] ;
45- }
46- } ) ;
41+ // remove scripts that are unrelated to the selected host
42+ Object . keys ( content . scripts ) . forEach ( function ( key ) {
43+ if ( key === "convert-to-single-host" || key === "test" ) {
44+ delete content . scripts [ key ] ;
45+ }
46+ } ) ;
4747
48- // remove test-related packages
49- Object . keys ( content . devDependencies ) . forEach ( function ( key ) {
50- if ( testPackages . includes ( key ) ) {
51- delete content . devDependencies [ key ]
52- }
53- } ) ;
48+ // remove test-related packages
49+ Object . keys ( content . devDependencies ) . forEach ( function ( key ) {
50+ if ( testPackages . includes ( key ) ) {
51+ delete content . devDependencies [ key ] ;
52+ }
53+ } ) ;
5454
55- // write updated json to file
56- await writeFileAsync ( packageJson , JSON . stringify ( content , null , 2 ) ) ;
55+ // write updated json to file
56+ await writeFileAsync ( packageJson , JSON . stringify ( content , null , 2 ) ) ;
5757}
5858
5959async function updateLaunchJsonFile ( ) {
60- // remove 'Debug Tests' configuration from launch.json
61- const launchJson = `.vscode/launch.json` ;
62- const launchJsonContent = await readFileAsync ( launchJson , "utf8" ) ;
63- const regex = / " c o n f i g u r a t i o n s " : \[ \r ? \n ( . * { ( . * \r ? \n ) * ? .* " n a m e " : " D e b u g T e s t s " , \r ? \n ( .* \r ? \n ) * ?.* } , ) / gm;
64- const updatedContent = launchJsonContent . replace ( regex , `"configurations": [` ) ;
65- await writeFileAsync ( launchJson , updatedContent ) ;
60+ // remove 'Debug Tests' configuration from launch.json
61+ const launchJson = `.vscode/launch.json` ;
62+ const launchJsonContent = await readFileAsync ( launchJson , "utf8" ) ;
63+ const regex = / ( . + { \r ? \n .* " n a m e " : " D e b u g (?: U I | U n i t ) T e s t s " , \r ? \n (?: .* \r ? \n ) * ?.* } , . * \r ? \n ) / gm;
64+ const updatedContent = launchJsonContent . replace ( regex , "" ) ;
65+ await writeFileAsync ( launchJson , updatedContent ) ;
6666}
6767
6868function deleteFolder ( folder ) {
69- try {
70- if ( fs . existsSync ( folder ) ) {
71- fs . readdirSync ( folder ) . forEach ( function ( file , index ) {
72- const curPath = `${ folder } /${ file } ` ;
69+ try {
70+ if ( fs . existsSync ( folder ) ) {
71+ fs . readdirSync ( folder ) . forEach ( function ( file , index ) {
72+ const curPath = `${ folder } /${ file } ` ;
7373
74- if ( fs . lstatSync ( curPath ) . isDirectory ( ) ) {
75- deleteFolder ( curPath ) ;
76- }
77- else {
78- fs . unlinkSync ( curPath ) ;
79- }
80- } ) ;
81- fs . rmdirSync ( folder ) ;
74+ if ( fs . lstatSync ( curPath ) . isDirectory ( ) ) {
75+ deleteFolder ( curPath ) ;
76+ } else {
77+ fs . unlinkSync ( curPath ) ;
8278 }
83- } catch ( err ) {
84- throw new Error ( `Unable to delete folder " ${ folder } ".\n ${ err } ` ) ;
79+ } ) ;
80+ fs . rmdirSync ( folder ) ;
8581 }
82+ } catch ( err ) {
83+ throw new Error ( `Unable to delete folder "${ folder } ".\n${ err } ` ) ;
84+ }
8685}
8786
8887/**
8988 * Remove test infrastructure from project.
9089 */
91- removeTestInfraStructure ( ) . catch ( err => {
92- console . error ( `Error: ${ err instanceof Error ? err . message : err } ` ) ;
93- process . exitCode = 1 ;
90+ removeTestInfraStructure ( ) . catch ( ( err ) => {
91+ console . error ( `Error: ${ err instanceof Error ? err . message : err } ` ) ;
92+ process . exitCode = 1 ;
9493} ) ;
0 commit comments