lili-solana-cli
Version:
Production-ready CLI tool for Solana developers - Build, Deploy, and Manage Solana programs
33 lines (26 loc) • 741 B
JavaScript
import fs from 'fs'
import path from 'path'
import { fileURLToPath, pathToFileURL } from 'url'
const __filename = fileURLToPath(import.meta.url)
const __dirname = path.dirname(__filename)
const dist = path.join(__dirname, '..', 'dist', 'lili.js')
const src = path.join(__dirname, '..', 'lili.js')
const preferSource = process.env.LILI_DEV === '1' || process.env.NODE_ENV === 'development'
let target = dist
if (!fs.existsSync(dist)) {
target = src
} else if (preferSource) {
target = src
} else {
try {
const distStat = fs.statSync(dist)
const srcStat = fs.statSync(src)
if (srcStat.mtimeMs > distStat.mtimeMs) {
target = src
}
} catch {
target = dist
}
}
await import(pathToFileURL(target).href)