@hardkas/config 0.8.5-alpha → 0.8.10-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -58,7 +58,7 @@ interface LoadedHardkasConfig {
58
58
  config: HardkasConfig;
59
59
  }
60
60
 
61
- declare function defineHardkasConfig(config: HardkasConfig): HardkasConfig;
61
+ declare const DEFAULT_HARDKAS_CONFIG: HardkasConfig;
62
62
 
63
63
  interface LoadHardkasConfigOptions {
64
64
  cwd?: string;
@@ -67,6 +67,8 @@ interface LoadHardkasConfigOptions {
67
67
  }
68
68
  declare function loadHardkasConfig(options?: LoadHardkasConfigOptions): Promise<LoadedHardkasConfig>;
69
69
 
70
+ declare function defineHardkasConfig(config: HardkasConfig): HardkasConfig;
71
+
70
72
  interface ResolveNetworkTargetOptions {
71
73
  config: HardkasConfig;
72
74
  network?: string;
@@ -77,6 +79,22 @@ declare function resolveNetworkTarget(options: ResolveNetworkTargetOptions): {
77
79
  target: HardkasNetworkTarget;
78
80
  };
79
81
 
80
- declare const DEFAULT_HARDKAS_CONFIG: HardkasConfig;
82
+ type ProviderMode = "simulated" | "rpc";
83
+ interface ResolveProviderOptions {
84
+ network: string;
85
+ provider?: string | undefined;
86
+ url?: string | undefined;
87
+ configNetworkKind?: "simulated" | "kaspa-node" | "kaspa-rpc" | string | undefined;
88
+ }
89
+ interface ResolvedProvider {
90
+ mode: ProviderMode;
91
+ network: string;
92
+ endpoint?: string;
93
+ }
94
+ /**
95
+ * Resolves the appropriate provider mode and endpoint.
96
+ * Priority: --url > --provider > --network alias
97
+ */
98
+ declare function resolveProvider(options: ResolveProviderOptions): ResolvedProvider;
81
99
 
82
- export { DEFAULT_HARDKAS_CONFIG, type HardkasAccountConfig, type HardkasConfig, type HardkasIgraTarget, type HardkasKaspaNodeTarget, type HardkasKaspaRpcTarget, type HardkasNetworkName, type HardkasNetworkTarget, type HardkasSimulatedTarget, type HardkasTargetKind, type LoadHardkasConfigOptions, type LoadedHardkasConfig, type ResolveNetworkTargetOptions, defineHardkasConfig, loadHardkasConfig, resolveNetworkTarget };
100
+ export { DEFAULT_HARDKAS_CONFIG, type HardkasAccountConfig, type HardkasConfig, type HardkasIgraTarget, type HardkasKaspaNodeTarget, type HardkasKaspaRpcTarget, type HardkasNetworkName, type HardkasNetworkTarget, type HardkasSimulatedTarget, type HardkasTargetKind, type LoadHardkasConfigOptions, type LoadedHardkasConfig, type ProviderMode, type ResolveNetworkTargetOptions, type ResolveProviderOptions, type ResolvedProvider, defineHardkasConfig, loadHardkasConfig, resolveNetworkTarget, resolveProvider };
package/dist/index.js CHANGED
@@ -1,13 +1,3 @@
1
- // src/define.ts
2
- function defineHardkasConfig(config) {
3
- return config;
4
- }
5
-
6
- // src/load.ts
7
- import path from "path";
8
- import fs from "fs";
9
- import { createJiti } from "jiti";
10
-
11
1
  // src/defaults.ts
12
2
  var DEFAULT_HARDKAS_CONFIG = {
13
3
  defaultNetwork: "simulated",
@@ -51,6 +41,10 @@ var DEFAULT_HARDKAS_CONFIG = {
51
41
  };
52
42
 
53
43
  // src/load.ts
44
+ import path from "path";
45
+ import fs from "fs";
46
+ import { fileURLToPath } from "url";
47
+ import { createJiti } from "jiti";
54
48
  async function loadHardkasConfig(options = {}) {
55
49
  const cwd = options.cwd ?? (options.ambientWorkspace ? process.env.INIT_CWD : void 0) ?? process.cwd();
56
50
  if (options.configPath) {
@@ -86,7 +80,26 @@ async function loadHardkasConfig(options = {}) {
86
80
  }
87
81
  async function loadConfigFile(filePath, cwd) {
88
82
  try {
89
- const jiti = createJiti(import.meta.url);
83
+ const jitiOptions = {};
84
+ try {
85
+ const _dirname = path.dirname(fileURLToPath(import.meta.url));
86
+ const resolvedSdk = path.resolve(_dirname, "../../sdk/src/index.ts");
87
+ const rootPkgPath = path.resolve(_dirname, "../../../package.json");
88
+ let isMonorepoDev = false;
89
+ if (fs.existsSync(resolvedSdk) && fs.existsSync(rootPkgPath)) {
90
+ const rootPkg = JSON.parse(fs.readFileSync(rootPkgPath, "utf8"));
91
+ if (rootPkg.name === "hardkas-monorepo") {
92
+ isMonorepoDev = true;
93
+ }
94
+ }
95
+ if (isMonorepoDev) {
96
+ jitiOptions.alias = {
97
+ "@hardkas/sdk": resolvedSdk
98
+ };
99
+ }
100
+ } catch (e) {
101
+ }
102
+ const jiti = createJiti(import.meta.url, jitiOptions);
90
103
  const module = await jiti.import(filePath);
91
104
  const userConfig = module.default || module.config || module;
92
105
  const mergedConfig = {
@@ -115,6 +128,11 @@ async function loadConfigFile(filePath, cwd) {
115
128
  }
116
129
  }
117
130
 
131
+ // src/define.ts
132
+ function defineHardkasConfig(config) {
133
+ return config;
134
+ }
135
+
118
136
  // src/resolve.ts
119
137
  function resolveNetworkTarget(options) {
120
138
  const { config, network } = options;
@@ -142,9 +160,50 @@ function resolveNetworkTarget(options) {
142
160
  target
143
161
  };
144
162
  }
163
+
164
+ // src/provider.ts
165
+ function resolveProvider(options) {
166
+ const { network, provider, url } = options;
167
+ if (url) {
168
+ return {
169
+ mode: "rpc",
170
+ network,
171
+ endpoint: url
172
+ };
173
+ }
174
+ if (provider === "rpc") {
175
+ return {
176
+ mode: "rpc",
177
+ network
178
+ };
179
+ }
180
+ if (provider === "simulated") {
181
+ return {
182
+ mode: "simulated",
183
+ network
184
+ };
185
+ }
186
+ if (network === "simnet" || network === "local" || network === "simulated") {
187
+ return {
188
+ mode: "simulated",
189
+ network
190
+ };
191
+ }
192
+ if (options.configNetworkKind === "simulated") {
193
+ return {
194
+ mode: "simulated",
195
+ network
196
+ };
197
+ }
198
+ return {
199
+ mode: "rpc",
200
+ network
201
+ };
202
+ }
145
203
  export {
146
204
  DEFAULT_HARDKAS_CONFIG,
147
205
  defineHardkasConfig,
148
206
  loadHardkasConfig,
149
- resolveNetworkTarget
207
+ resolveNetworkTarget,
208
+ resolveProvider
150
209
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hardkas/config",
3
- "version": "0.8.5-alpha",
3
+ "version": "0.8.10-alpha",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -18,7 +18,7 @@
18
18
  ],
19
19
  "dependencies": {
20
20
  "jiti": "^2.4.2",
21
- "@hardkas/core": "0.8.5-alpha"
21
+ "@hardkas/core": "0.8.10-alpha"
22
22
  },
23
23
  "devDependencies": {
24
24
  "tsup": "^8.3.5",