flosse / sloc

simple tool to count SLOC (source lines of code)
MIT License
943 stars 84 forks source link

script to read all files in a directory? #140

Closed adnjoo closed 11 months ago

adnjoo commented 11 months ago

how to read all files in a directory?

I can read one file like this:

var fs    = require('fs');
var sloc  = require('sloc');

fs.readFile("./src/components/Footer.tsx", "utf8", function(err, code){

  if(err){ console.error(err); }
  else{
    var stats = sloc(code,"js");
    for(i in sloc.keys){
      var k = sloc.keys[i];
      console.log(k + " : " + stats[k]);
    }
  }
});

ok nvm something like this works:

const fs = require('fs');
const path = require('path');
const sloc = require('sloc');

const directoryPath = './src/components'; // Replace this with your directory path

fs.readdir(directoryPath, (err, files) => {
  if (err) {
    console.error(err);
  } else {
    files.forEach((file) => {
      if (path.extname(file) === '.tsx') {
        const filePath = path.join(directoryPath, file);

        fs.readFile(filePath, 'utf8', (err, code) => {
          if (err) {
            console.error(err);
          } else {
            const stats = sloc(code, 'js');
            for (let key in stats) {
              console.log(key + ' : ' + stats[key]);
            }
          }
        });
      }
    });
  }
});