11const path = require ( "path" ) ;
22const fs = require ( "fs-extra" ) ;
3- const del = require ( "del" ) ;
43const { parallel, series } = require ( "gulp" ) ;
54const child_process = require ( "child_process" ) ;
65const { globSync } = require ( "glob" ) ;
@@ -51,7 +50,7 @@ function stageLibs(callback) {
5150 const p1 = path . resolve ( path . join ( PATHS . nodeModules , lib , PATHS . stagedLibraries [ lib ] [ 0 ] ) ) ;
5251 const p2 = path . resolve ( path . join ( "src" , "libs" , PATHS . stagedLibraries [ lib ] [ 1 ] ) ) ;
5352 if ( fs . existsSync ( p1 ) ) {
54- del . sync ( p2 ) ;
53+ fs . removeSync ( p2 ) ;
5554 fs . createReadStream ( p1 ) . pipe ( fs . createWriteStream ( p2 ) ) ;
5655 } else {
5756 throw new Error (
@@ -69,22 +68,29 @@ async function icons() {
6968 await buildIcons ( "./src/assets/icons.json" ) ;
7069}
7170
71+ function cleanPlugins ( callback ) {
72+ if ( SKIP_VIZ ) {
73+ console . log ( "Skipping plugin cleanup (SKIP_VIZ is set)" ) ;
74+ return callback ( ) ;
75+ }
76+
77+ const vizStagingDir = path . join ( staticPluginDir , "visualizations" ) ;
78+ console . log ( `Cleaning visualization staging directory: ${ vizStagingDir } ` ) ;
79+ fs . removeSync ( vizStagingDir ) ;
80+ callback ( ) ;
81+ }
82+
7283function stagePlugins ( callback ) {
7384 if ( SKIP_VIZ ) {
7485 console . log ( "Skipping plugin staging (SKIP_VIZ is set)" ) ;
7586 return callback ( ) ;
7687 }
7788
78- fs . ensureDirSync ( path . join ( staticPluginDir ) ) ;
89+ fs . ensureDirSync ( path . join ( staticPluginDir , "visualizations" ) ) ;
7990
8091 // Get visualization directories
81- const visualizationDirs = [
82- path . join ( PATHS . pluginBaseDir , "visualizations/*/static" ) ,
83- path . join ( PATHS . pluginBaseDir , "visualizations/*/*/static" ) ,
84- ] ;
85-
86- // Flatten the glob patterns to actual directory paths
87- const dirs = [ ...globSync ( visualizationDirs ) ] ;
92+ const visualizationDirs = path . join ( PATHS . pluginBaseDir , "visualizations/*/static" ) ;
93+ const dirs = globSync ( visualizationDirs ) ;
8894
8995 // Process each directory
9096 const copyPromises = dirs . map ( ( sourceDir ) => {
@@ -201,11 +207,12 @@ function forceInstallVisualizations(callback) {
201207}
202208
203209const client = parallel ( stageLibs , icons ) ;
204- const plugins = series ( installVisualizations , stagePlugins ) ;
205- const pluginsRebuild = series ( forceInstallVisualizations , stagePlugins ) ;
210+ const plugins = series ( installVisualizations , cleanPlugins , stagePlugins ) ;
211+ const pluginsRebuild = series ( forceInstallVisualizations , cleanPlugins , stagePlugins ) ;
206212
207213module . exports . client = client ;
208214module . exports . plugins = plugins ;
209215module . exports . default = parallel ( client , plugins ) ;
210216module . exports . installVisualizations = installVisualizations ;
217+ module . exports . cleanPlugins = cleanPlugins ;
211218module . exports . pluginsRebuild = pluginsRebuild ;
0 commit comments