UNPKG

secret-polar-reworks

Version:

Polar is a development environment to compile, deploy, test, run scrt contracts on different networks.

49 lines (38 loc) 1.15 kB
import findup from 'find-up'; import fsExtra from 'fs-extra'; import path from 'path'; export function getPackageJsonPath (): string { // eslint-disable-next-line @typescript-eslint/no-non-null-assertion return findClosestPackageJson(__filename)!; } export function getPackageRoot (): string { const packageJsonPath = getPackageJsonPath(); return path.dirname(packageJsonPath); } export interface PackageJson { name: string version: string engines: { node: string } } export function findClosestPackageJson (file: string): string | null { return findup.sync('package.json', { cwd: path.dirname(file) }) ?? null; } export async function getPackageJson (): Promise<PackageJson> { const root = getPackageRoot(); // eslint-disable-next-line return await fsExtra.readJSON(path.join(root, 'package.json')); } export function getPolarVersion (): string | null { const packageJsonPath = findClosestPackageJson(__filename); if (packageJsonPath === null) { return null; } try { const packageJson = fsExtra.readJsonSync(packageJsonPath); return packageJson.version; } catch (e) { return null; } }