Skip to content

Commit 1b7961c

Browse files
authored
Merge pull request #20983 from dannon/plugin-cleanup-before-stage
Simplify plugin staging with explicit clean step
2 parents 34fac89 + e723ffb commit 1b7961c

File tree

2 files changed

+19
-13
lines changed

2 files changed

+19
-13
lines changed

client/gulpfile.js

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
const path = require("path");
22
const fs = require("fs-extra");
3-
const del = require("del");
43
const { parallel, series } = require("gulp");
54
const child_process = require("child_process");
65
const { 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+
7283
function 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

203209
const 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

207213
module.exports.client = client;
208214
module.exports.plugins = plugins;
209215
module.exports.default = parallel(client, plugins);
210216
module.exports.installVisualizations = installVisualizations;
217+
module.exports.cleanPlugins = cleanPlugins;
211218
module.exports.pluginsRebuild = pluginsRebuild;

client/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,6 @@
183183
"cpy-cli": "^5.0.0",
184184
"css-loader": "^7.1.2",
185185
"css-minimizer-webpack-plugin": "^5.0.1",
186-
"del": "^6.0.0",
187186
"eslint": "^8.52.0",
188187
"eslint-plugin-compat": "^4.2.0",
189188
"eslint-plugin-import": "^2.28.1",

0 commit comments

Comments
 (0)