secret-polar-reworks
Version:
Polar is a development environment to compile, deploy, test, run scrt contracts on different networks.
47 lines (38 loc) • 1.34 kB
text/typescript
import * as findUp from "find-up";
import * as fs from "fs";
import { join } from "path";
const fsp = fs.promises;
export const JS_CONFIG_FILENAME = "polar.config.js";
export const CONTRACTS_DIR = "contracts";
export const ARTIFACTS_DIR = "artifacts";
export const CACHE_DIR = join(ARTIFACTS_DIR, ".cache");
export const CONTRACTS_OUT_DIR = join(ARTIFACTS_DIR, "contracts");
export const TARGET_DIR = "target/wasm32-unknown-unknown/release/";
export const SCHEMA_DIR = "artifacts/schema";
export const SCRIPTS_DIR = "scripts";
export const TESTS_DIR = "test";
export const singleImageVersion = "1.0.5";
export const multiImageVersion = "1.0.5";
export function isCwdInsideProject (): boolean {
return Boolean(findUp.sync(JS_CONFIG_FILENAME));
}
export function isCwdProjectDir (): boolean {
return Boolean(fs.existsSync(JS_CONFIG_FILENAME));
}
export function getUserConfigPath (): string | undefined {
return findUp.sync(JS_CONFIG_FILENAME) ?? undefined;
}
export async function assertAllDirs (): Promise<void> {
const tasks = [];
for (const d of [CONTRACTS_DIR]) {
tasks.push(assertDir(d));
}
await Promise.all(tasks);
}
export async function assertDir (dirname: string): Promise<void> {
try {
await fsp.access(dirname, fs.constants.F_OK);
} catch (e) {
fs.mkdirSync(dirname, { recursive: true });
}
}