35 lines
1.1 KiB
JavaScript
35 lines
1.1 KiB
JavaScript
'use strict';
|
|
|
|
const fs = require('fs');
|
|
const path = require('path');
|
|
const { spawnSync } = require('child_process');
|
|
const glob = require('glob-gitignore');
|
|
|
|
const packagesDir = path.join(__dirname, 'packages');
|
|
const docsDir = path.join(__dirname, 'docs');
|
|
|
|
const packages = (process.argv.length > 2 ? [process.argv[2]] : glob.sync('*', { cwd: packagesDir }))
|
|
.map((name) => path.join(packagesDir, name, 'package.json'))
|
|
.filter((packagePath) => fs.existsSync(packagePath))
|
|
.map((packagePath) => JSON.parse(fs.readFileSync(packagePath)))
|
|
.filter((x) => !x.private && x.name !== 'enzyme-example-mocha');
|
|
|
|
packages.forEach((pkg) => {
|
|
const tag = `${pkg.name === 'docs' ? 'enzyme' : pkg.name}@${pkg.version}`;
|
|
const dir = path.join(packagesDir, pkg.name);
|
|
const logArgs = [
|
|
'--no-pager',
|
|
'log',
|
|
'--oneline',
|
|
`${tag}..HEAD`,
|
|
dir,
|
|
':!**/.eslintrc',
|
|
].concat(pkg.name === 'enzyme' ? docsDir : []);
|
|
const log = spawnSync('git', logArgs, { stdio: 'pipe' });
|
|
if (log.stdout.length > 0 || log.stderr.length > 0) {
|
|
console.log(tag);
|
|
spawnSync('git', logArgs, { stdio: 'inherit' });
|
|
console.log('\n');
|
|
}
|
|
});
|