@hardkas/config 0.8.5-alpha → 0.8.9-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,19 @@ 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 isTestMode = process.env.NODE_ENV === "test" || process.env.VITEST;
84
+ const jitiOptions = {};
85
+ if (isTestMode) {
86
+ try {
87
+ const _dirname = path.dirname(fileURLToPath(import.meta.url));
88
+ const resolvedSdk = path.resolve(_dirname, "../../sdk/src/index.ts");
89
+ jitiOptions.alias = {
90
+ "@hardkas/sdk": resolvedSdk
91
+ };
92
+ } catch (e) {
93
+ }
94
+ }
95
+ const jiti = createJiti(import.meta.url, jitiOptions);
90
96
  const module = await jiti.import(filePath);
91
97
  const userConfig = module.default || module.config || module;
92
98
  const mergedConfig = {
@@ -115,6 +121,11 @@ async function loadConfigFile(filePath, cwd) {
115
121
  }
116
122
  }
117
123
 
124
+ // src/define.ts
125
+ function defineHardkasConfig(config) {
126
+ return config;
127
+ }
128
+
118
129
  // src/resolve.ts
119
130
  function resolveNetworkTarget(options) {
120
131
  const { config, network } = options;
@@ -142,9 +153,50 @@ function resolveNetworkTarget(options) {
142
153
  target
143
154
  };
144
155
  }
156
+
157
+ // src/provider.ts
158
+ function resolveProvider(options) {
159
+ const { network, provider, url } = options;
160
+ if (url) {
161
+ return {
162
+ mode: "rpc",
163
+ network,
164
+ endpoint: url
165
+ };
166
+ }
167
+ if (provider === "rpc") {
168
+ return {
169
+ mode: "rpc",
170
+ network
171
+ };
172
+ }
173
+ if (provider === "simulated") {
174
+ return {
175
+ mode: "simulated",
176
+ network
177
+ };
178
+ }
179
+ if (network === "simnet" || network === "local" || network === "simulated") {
180
+ return {
181
+ mode: "simulated",
182
+ network
183
+ };
184
+ }
185
+ if (options.configNetworkKind === "simulated") {
186
+ return {
187
+ mode: "simulated",
188
+ network
189
+ };
190
+ }
191
+ return {
192
+ mode: "rpc",
193
+ network
194
+ };
195
+ }
145
196
  export {
146
197
  DEFAULT_HARDKAS_CONFIG,
147
198
  defineHardkasConfig,
148
199
  loadHardkasConfig,
149
- resolveNetworkTarget
200
+ resolveNetworkTarget,
201
+ resolveProvider
150
202
  };
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.9-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.9-alpha"
22
22
  },
23
23
  "devDependencies": {
24
24
  "tsup": "^8.3.5",