Files
memecoin-botV2/.pnpm-store/v10/files/6f/4dee9c7ea47691f38b2ebdbba83814b351ad4ac92ccaefa478e9d2ee12bf1010a5f567d0ce0aa3dd763ee70edd9ae16a7bc5e35bb70173aa96eb9d076009d2-exec

37 lines
1.0 KiB
JavaScript
Executable File

#!/usr/bin/env node
const execa = require('execa')
const fs = require('node:fs')
const existsSync = fs.existsSync
const stat = fs.promises.stat
// Hardcoded parameters
const esVersions = ['es5', 'es6', 'es2017', 'esnext']
const filesToTranspile = ['to-file-transport.ts']
async function transpile () {
process.chdir(__dirname)
for (const sourceFileName of filesToTranspile) {
const sourceStat = await stat(sourceFileName)
for (const esVersion of esVersions) {
const intermediateFileName = sourceFileName.replace(/\.ts$/, '.js')
const targetFileName = sourceFileName.replace(/\.ts$/, `.${esVersion}.cjs`)
const shouldTranspile = !existsSync(targetFileName) || (await stat(targetFileName)).mtimeMs < sourceStat.mtimeMs
if (shouldTranspile) {
await execa('tsc', ['--target', esVersion, '--module', 'commonjs', sourceFileName])
await execa('mv', [intermediateFileName, targetFileName])
}
}
}
}
transpile().catch(err => {
process.exitCode = 1
throw err
})