| 1 | const fs = require('fs') |
| 2 | const glob = require('fast-glob') |
| 3 | const { execSync } = require('child_process') |
| 4 | const dist = 'dist/' |
| 5 | const nm = 'node_modules/' |
| 6 | |
| 7 | console.log('launching nm-prune') // must be run from this dir |
| 8 | const ya = dist + nm + 'yaml/dist/' |
| 9 | fs.renameSync(ya+'doc', ya+'do_c') // "hide" this folder from nm-prune |
| 10 | execSync('nm-prune --force -l', { cwd:'dist' }) |
| 11 | fs.renameSync(ya+'do_c', ya+'doc') |
| 12 | |
| 13 | process.chdir(dist + nm) |
| 14 | console.log('more pruning') |
| 15 | for (const f of ['fswin/ia32', 'fswin/arm64', 'node-forge/dist', 'node-forge/flash', 'axios/lib', 'react', 'yaml/browser', 'limiter/dist/esm']) |
| 16 | fs.rmSync(f, {recursive:true}) |
| 17 | for (const fn of glob.sync(['**/*.map', '**/*.tsbuildinfo', '**/*.bak', '**/*.ts', '**/license', '**/*.md'])) |
| 18 | fs.unlinkSync(fn) |
| 19 | |
| 20 | console.log('pruning lodash') |
| 21 | fs.mkdirSync('lodash2') |
| 22 | fs.cpSync('lodash/package.json', 'lodash2/package.json') |
| 23 | fs.cpSync('lodash/lodash.min.js', 'lodash2/lodash.js') |
| 24 | fs.rmSync('lodash', {recursive:true}) |
| 25 | fs.renameSync('lodash2', 'lodash') |