mirror of
https://github.com/EthanShoeDev/fressh.git
synced 2026-01-11 06:12:51 +00:00
turbo tasks
This commit is contained in:
38
scripts/turbo-tasks-report.ts
Normal file
38
scripts/turbo-tasks-report.ts
Normal file
@@ -0,0 +1,38 @@
|
||||
/**
|
||||
* This scripts finds and collects aall turbo.jsonc files in the repo.
|
||||
* It iterates over those and grabs the "scripts" section of each package.json
|
||||
*
|
||||
* It aggregates the results and prints them out in a human readable format.
|
||||
*/
|
||||
import * as fsp from 'fs/promises';
|
||||
import { globby } from 'globby';
|
||||
import path from 'path';
|
||||
|
||||
console.log('Turbo tasks report');
|
||||
console.log('--------------------------------');
|
||||
async function main() {
|
||||
const turboJsonFiles = await globby('**/turbo.jsonc');
|
||||
|
||||
const reportParts: string[] = [];
|
||||
|
||||
for (const turboJsonFile of turboJsonFiles) {
|
||||
reportParts.push(`Turbo config: ${turboJsonFile}`);
|
||||
reportParts.push('--------------------------------');
|
||||
|
||||
const turboConfigContents = await fsp.readFile(turboJsonFile, 'utf-8');
|
||||
reportParts.push(turboConfigContents);
|
||||
const relativePackageJson = path.join(turboJsonFile, '..', 'package.json');
|
||||
reportParts.push(`Package json scripts: ${relativePackageJson}`);
|
||||
reportParts.push('--------------------------------');
|
||||
const packageJson = await fsp.readFile(relativePackageJson, 'utf-8');
|
||||
const packageJsonObject = JSON.parse(packageJson);
|
||||
const scripts = packageJsonObject.scripts;
|
||||
reportParts.push(JSON.stringify(scripts, null, 2));
|
||||
reportParts.push('--------------------------------');
|
||||
}
|
||||
|
||||
const report = reportParts.join('\n');
|
||||
console.log(report);
|
||||
}
|
||||
|
||||
void main();
|
||||
Reference in New Issue
Block a user