UNPKG

tix-react-ssr

Version:

Tiket.com React Project Scripts

50 lines (39 loc) 1.32 kB
const path = require('path'), fs = require('fs'); const { generateFile } = require('./generateTest'); let counter = 0; function fromDir(startPath, fileExt) { if (!fs.existsSync(startPath)) { console.log('no dir ', startPath); return Promise.reject(); } const files = fs.readdirSync(startPath); return Promise.all( files.map(file => { const filename = file; const filePath = path.join(startPath, file); const stat = fs.lstatSync(filePath); if (stat.isDirectory()) { return fromDir(filePath, fileExt); //recurse } else if (filename.indexOf('.spec') === -1 && filename.indexOf(fileExt) >= 0) { let paths = filePath.split('/'); const name = filename.indexOf('index') === -1 ? filename : paths[paths.length - 2]; return generateFile(`./${filePath}`, name, filename, startPath).then( numberOfCreatedFiles => (counter = counter + numberOfCreatedFiles) ); } else { return Promise.resolve(); } }) ); } const projectPath = process.argv[2]; if (!projectPath) { throw Error('Not path given'); } const ext = process.argv[3] || '.js'; fromDir(projectPath, ext) .then(() => { console.log(`Finished, created ${counter} jest snapshot files`); }) .catch(err => console.log('neivel', err));