console/scripts/turborepo-setup.js
2022-12-28 20:22:54 +01:00

54 lines
1.2 KiB
JavaScript

/**
* Create Turborepo config file
*/
import fs from 'fs';
import path from 'path';
import { fileURLToPath } from 'url';
import dotenv from 'dotenv';
const cwd = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..');
function loadEnv() {
const envFile = path.resolve(cwd, '.env');
if (!fs.existsSync(envFile)) {
return {};
}
return dotenv.parse(fs.readFileSync(envFile, 'utf-8'));
}
function main() {
const configDir = '.turbo';
const configFile = path.resolve(cwd, configDir, 'config.json');
const envFile = loadEnv();
const env = {
TURBO_API_URL: envFile.TURBO_API_URL || process.env.TURBO_API_URL,
TURBO_TOKEN: envFile.TURBO_TOKEN || process.env.TURBO_TOKEN,
TURBO_TEAM: envFile.TURBO_TEAM || process.env.TURBO_TEAM,
};
if (!env.TURBO_API_URL || !env.TURBO_TOKEN || !env.TURBO_TEAM) {
console.log('[turborepo-setup] No TURBO_API_URL, TURBO_TOKEN or TURBO_TEAM found. Skipping.');
return;
}
fs.writeFileSync(
configFile,
JSON.stringify(
{
teamId: '_',
apiUrl: env.TURBO_API_URL,
},
null,
2,
),
'utf-8',
);
console.log('[turborepo-setup] Config created.');
}
main();