summaryrefslogtreecommitdiff
path: root/scripts/clean.js
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/clean.js')
-rw-r--r--scripts/clean.js18
1 files changed, 15 insertions, 3 deletions
diff --git a/scripts/clean.js b/scripts/clean.js
index 51073edf..bb2cb678 100644
--- a/scripts/clean.js
+++ b/scripts/clean.js
@@ -17,10 +17,10 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-import { execSync } from 'child_process';
-import { rmSync } from 'fs';
+import { rmSync, readFileSync } from 'fs';
import { dirname, join } from 'path';
import { fileURLToPath } from 'url';
+import { globSync } from 'glob';
const __dirname = dirname(fileURLToPath(import.meta.url));
const root = join(__dirname, '..');
@@ -31,4 +31,16 @@ rmSync(join(root, 'packages/cli/src/generated/'), {
recursive: true,
force: true,
});
-execSync('npm run clean --workspaces', { stdio: 'inherit', cwd: root });
+const RMRF_OPTIONS = { recursive: true, force: true };
+rmSync(join(root, 'bundle'), RMRF_OPTIONS);
+// Dynamically clean dist directories in all workspaces
+const rootPackageJson = JSON.parse(
+ readFileSync(join(root, 'package.json'), 'utf-8'),
+);
+for (const workspace of rootPackageJson.workspaces) {
+ const packages = globSync(join(workspace, 'package.json'), { cwd: root });
+ for (const pkgPath of packages) {
+ const pkgDir = dirname(join(root, pkgPath));
+ rmSync(join(pkgDir, 'dist'), RMRF_OPTIONS);
+ }
+}