main
js 25 lines 1012 Bytes
Raw
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')