Make clean script cross-platform (#1990)

Co-authored-by: Scott Densmore <scottdensmore@mac.com>
This commit is contained in:
MirzaSamadAhmedBaig 2025-07-01 20:30:18 +05:00 committed by GitHub
parent a4062cb44a
commit 01186e3aff
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 15 additions and 5 deletions

View File

@ -10,7 +10,6 @@
},
"scripts": {
"build": "node ../../scripts/build_package.js",
"clean": "rm -rf dist",
"start": "node dist/index.js",
"debug": "node --inspect-brk dist/index.js",
"lint": "eslint . --ext .ts,.tsx",

View File

@ -8,7 +8,6 @@
"scripts": {
"start": "node dist/src/index.js",
"build": "node ../../scripts/build_package.js",
"clean": "rm -rf dist",
"lint": "eslint . --ext .ts,.tsx",
"format": "prettier --write .",
"test": "vitest run",

View File

@ -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);
}
}