fix: update build

This commit is contained in:
ngoc 2026-02-02 15:50:05 +07:00
parent 4c1faf1421
commit 2efc63651b
No known key found for this signature in database
GPG Key ID: 51FE6110113A5C32
2 changed files with 17 additions and 18 deletions

View File

@ -5,9 +5,14 @@
import { foundry, sepolia, mainnet, baseSepolia } from "viem/chains";
import type { Chain } from "viem/chains";
import { existsSync, readFileSync, writeFileSync, mkdirSync } from "fs";
import { join } from "path";
import { join, dirname } from "path";
import { homedir } from "os";
import { contractAddresses } from "alkahest-ts";
import { fileURLToPath } from "url";
// Get the directory of this utils file (dist/cli or cli/)
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
/**
* Load .env file and set environment variables
@ -171,30 +176,24 @@ export function clearPrivateKey(): void {
/**
* Get deployment path for environment
* Automatically looks in the CLI directory where utils.ts is located
* @param env - The environment name (devnet, sepolia, etc.)
*/
export function getDeploymentPath(cliDir: string, env?: string): string {
export function getDeploymentPath(env?: string): string {
const environment = env || getCurrentEnvironment();
const filename = `${environment}.json`;
// Try multiple locations
const paths = [
join(cliDir, 'deployments', filename), // dist/cli/deployments/
join(process.cwd(), 'cli', 'deployments', filename), // Project root
];
// When deployed via npm, utils.js will be in dist/cli/
// and deployment files will be in dist/cli/deployments/
const deploymentPath = join(__dirname, 'deployments', filename);
for (const path of paths) {
if (existsSync(path)) {
return path;
}
}
// Return the first path as default (even if it doesn't exist yet)
return paths[0];
return deploymentPath;
}
/**
* Load deployment file and fill empty addresses with defaults from contractAddresses
* If deploymentFilePath doesn't exist, tries to load deployment for current network
* @param deploymentFilePath - Optional path to deployment file
*/
export function loadDeploymentWithDefaults(deploymentFilePath?: string): {
network: string;
@ -207,12 +206,12 @@ export function loadDeploymentWithDefaults(deploymentFilePath?: string): {
// If no path provided or path doesn't exist, try current network
if (!actualPath || !existsSync(actualPath)) {
const currentEnv = getCurrentEnvironment();
const autoPath = getDeploymentPath(process.cwd(), currentEnv);
const autoPath = getDeploymentPath(currentEnv);
if (existsSync(autoPath)) {
actualPath = autoPath;
} else if (!actualPath) {
throw new Error(`No deployment file found for current environment: ${currentEnv}`);
throw new Error(`No deployment file found for current environment: ${currentEnv}. Try running from the project directory or use --deployment <file>`);
} else {
throw new Error(`Deployment file not found: ${actualPath}`);
}

View File

@ -38,7 +38,7 @@
"typescript": "^5.9.3"
},
"scripts": {
"build": "tsc --project tsconfig.build.json && chmod +x dist/cli/index.js",
"build": "tsc --project tsconfig.build.json && chmod +x dist/cli/index.js && cp -r cli/deployments dist/cli/",
"prepublishOnly": "npm run build",
"patch": "npm version patch",
"minor": "npm version minor",