Guest User

Untitled

a guest
Feb 18th, 2019
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.13 KB | None | 0 0
  1. const fs = require('fs');
  2. const { exec } = require('child_process');
  3.  
  4. function diff(arr1, arr2) {
  5. return arr1.filter(item => !arr2.includes(item));
  6. }
  7.  
  8. function readAllFiles() {
  9. return new Promise((resolve, reject) => {
  10. // Get files list of src folder with relative path
  11. exec('find src -type f', (err, stdout) => {
  12. if (err) {
  13. reject(err);
  14. } else {
  15. resolve(stdout.split('\n'));
  16. }
  17. });
  18. });
  19. }
  20.  
  21. readAllFiles().then((allFiles) => {
  22. // Get webpack stats file and read list of used files in build
  23. const webpackStats = JSON.parse(fs.readFileSync('stats.json', 'utf8'));
  24. const webpackFiles = webpackStats.chunks[0].modules
  25. .map(item => item.name)
  26. .filter(item => !item.includes('node_modules'))
  27. .map((item) => {
  28. if (item.startsWith('./')) return item.replace('./', 'src/');
  29. if (item.startsWith('../')) return item.replace('../', 'src/');
  30. return item;
  31. });
  32.  
  33. const unusedFiles = diff(allFiles, webpackFiles);
  34. fs.writeFile('unusedFiles.txt', unusedFiles.sort().join('\n'), (err) => {
  35. if (err) {
  36. console.log(err);
  37. } else {
  38. console.log('done!');
  39. }
  40. });
  41. });
Add Comment
Please, Sign In to add comment