Make clean script cross-platform (#1990)
Co-authored-by: Scott Densmore <scottdensmore@mac.com>
This commit is contained in:
parent
a4062cb44a
commit
01186e3aff
|
@ -10,7 +10,6 @@
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "node ../../scripts/build_package.js",
|
"build": "node ../../scripts/build_package.js",
|
||||||
"clean": "rm -rf dist",
|
|
||||||
"start": "node dist/index.js",
|
"start": "node dist/index.js",
|
||||||
"debug": "node --inspect-brk dist/index.js",
|
"debug": "node --inspect-brk dist/index.js",
|
||||||
"lint": "eslint . --ext .ts,.tsx",
|
"lint": "eslint . --ext .ts,.tsx",
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "node dist/src/index.js",
|
"start": "node dist/src/index.js",
|
||||||
"build": "node ../../scripts/build_package.js",
|
"build": "node ../../scripts/build_package.js",
|
||||||
"clean": "rm -rf dist",
|
|
||||||
"lint": "eslint . --ext .ts,.tsx",
|
"lint": "eslint . --ext .ts,.tsx",
|
||||||
"format": "prettier --write .",
|
"format": "prettier --write .",
|
||||||
"test": "vitest run",
|
"test": "vitest run",
|
||||||
|
|
|
@ -17,10 +17,10 @@
|
||||||
// See the License for the specific language governing permissions and
|
// See the License for the specific language governing permissions and
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
import { execSync } from 'child_process';
|
import { rmSync, readFileSync } from 'fs';
|
||||||
import { rmSync } from 'fs';
|
|
||||||
import { dirname, join } from 'path';
|
import { dirname, join } from 'path';
|
||||||
import { fileURLToPath } from 'url';
|
import { fileURLToPath } from 'url';
|
||||||
|
import { globSync } from 'glob';
|
||||||
|
|
||||||
const __dirname = dirname(fileURLToPath(import.meta.url));
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
||||||
const root = join(__dirname, '..');
|
const root = join(__dirname, '..');
|
||||||
|
@ -31,4 +31,16 @@ rmSync(join(root, 'packages/cli/src/generated/'), {
|
||||||
recursive: true,
|
recursive: true,
|
||||||
force: 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue