Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const fs = require('fs');
- const { exec } = require('child_process');
- function diff(arr1, arr2) {
- return arr1.filter(item => !arr2.includes(item));
- }
- function readAllFiles() {
- return new Promise((resolve, reject) => {
- // Get files list of src folder with relative path
- exec('find src -type f', (err, stdout) => {
- if (err) {
- reject(err);
- } else {
- resolve(stdout.split('\n'));
- }
- });
- });
- }
- readAllFiles().then((allFiles) => {
- // Get webpack stats file and read list of used files in build
- const webpackStats = JSON.parse(fs.readFileSync('stats.json', 'utf8'));
- const webpackFiles = webpackStats.chunks[0].modules
- .map(item => item.name)
- .filter(item => !item.includes('node_modules'))
- .map((item) => {
- if (item.startsWith('./')) return item.replace('./', 'src/');
- if (item.startsWith('../')) return item.replace('../', 'src/');
- return item;
- });
- const unusedFiles = diff(allFiles, webpackFiles);
- fs.writeFile('unusedFiles.txt', unusedFiles.sort().join('\n'), (err) => {
- if (err) {
- console.log(err);
- } else {
- console.log('done!');
- }
- });
- });
Add Comment
Please, Sign In to add comment