@tradejs/node 1.0.3 → 1.0.5

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.
@@ -64,6 +64,7 @@ var TS_MODULE_RE = /\.(cts|mts|ts)$/i;
64
64
  var cachedByCwd = /* @__PURE__ */ new Map();
65
65
  var announcedConfigFile = /* @__PURE__ */ new Set();
66
66
  var tsNodeRegistered = false;
67
+ var tsconfigPathsRegisteredByCwd = /* @__PURE__ */ new Set();
67
68
  var getTradejsProjectCwd = (cwd) => {
68
69
  const explicit = String(cwd ?? "").trim();
69
70
  if (explicit) {
@@ -105,6 +106,28 @@ var ensureTsNodeRegistered = async () => {
105
106
  });
106
107
  tsNodeRegistered = true;
107
108
  };
109
+ var ensureTsconfigPathsRegistered = async (cwd = getTradejsProjectCwd()) => {
110
+ const projectRoot = getTradejsProjectCwd(cwd);
111
+ if (tsconfigPathsRegisteredByCwd.has(projectRoot)) {
112
+ return;
113
+ }
114
+ const tsconfigPathsModule = await import("tsconfig-paths");
115
+ const loadConfig = tsconfigPathsModule.loadConfig;
116
+ const register = tsconfigPathsModule.register;
117
+ if (typeof loadConfig !== "function" || typeof register !== "function") {
118
+ return;
119
+ }
120
+ const loadedConfig = loadConfig(projectRoot);
121
+ if (loadedConfig.resultType !== "success") {
122
+ return;
123
+ }
124
+ register({
125
+ baseUrl: loadedConfig.absoluteBaseUrl,
126
+ paths: loadedConfig.paths,
127
+ addMatchAll: false
128
+ });
129
+ tsconfigPathsRegisteredByCwd.add(projectRoot);
130
+ };
108
131
  var toImportSpecifier = (moduleName) => {
109
132
  if (moduleName.startsWith("file://")) {
110
133
  return moduleName;
@@ -132,6 +155,7 @@ var importConfigFile = async (configFilePath) => {
132
155
  if (ext === ".ts" || ext === ".mts") {
133
156
  const requireFn = getRequireFn(import_path.default.dirname(configFilePath));
134
157
  await ensureTsNodeRegistered();
158
+ await ensureTsconfigPathsRegistered(import_path.default.dirname(configFilePath));
135
159
  return requireFn(configFilePath);
136
160
  }
137
161
  return import(
@@ -139,7 +163,7 @@ var importConfigFile = async (configFilePath) => {
139
163
  configFileUrl
140
164
  );
141
165
  };
142
- var importTradejsModule = async (moduleName) => {
166
+ var importTradejsModule = async (moduleName, cwd = getTradejsProjectCwd()) => {
143
167
  const normalized = String(moduleName ?? "").trim();
144
168
  if (!normalized) {
145
169
  return {};
@@ -153,13 +177,15 @@ var importTradejsModule = async (moduleName) => {
153
177
  }
154
178
  }
155
179
  const requireFn = getRequireFn(
156
- import_path.default.isAbsolute(modulePath) ? import_path.default.dirname(modulePath) : getTradejsProjectCwd()
180
+ import_path.default.isAbsolute(modulePath) ? import_path.default.dirname(modulePath) : cwd
157
181
  );
158
182
  if (isTsModulePath(modulePath)) {
159
183
  await ensureTsNodeRegistered();
184
+ await ensureTsconfigPathsRegistered(cwd);
160
185
  return requireFn(modulePath);
161
186
  }
162
187
  if (isBareModuleSpecifier(normalized)) {
188
+ await ensureTsconfigPathsRegistered(cwd);
163
189
  return requireFn(normalized);
164
190
  }
165
191
  try {
@@ -170,6 +196,7 @@ var importTradejsModule = async (moduleName) => {
170
196
  } catch (error) {
171
197
  if (isTsModulePath(modulePath)) {
172
198
  await ensureTsNodeRegistered();
199
+ await ensureTsconfigPathsRegistered(cwd);
173
200
  return requireFn(modulePath);
174
201
  }
175
202
  throw error;
@@ -369,9 +396,9 @@ var extractConnectorPluginDefinition = (moduleExport) => {
369
396
  }
370
397
  return null;
371
398
  };
372
- var importConnectorPluginModule = async (moduleName) => {
399
+ var importConnectorPluginModule = async (moduleName, cwd = getTradejsProjectCwd()) => {
373
400
  if (typeof importTradejsModule === "function") {
374
- return importTradejsModule(moduleName);
401
+ return importTradejsModule(moduleName, cwd);
375
402
  }
376
403
  return import(
377
404
  /* webpackIgnore: true */
@@ -393,7 +420,10 @@ var ensureConnectorPluginsLoaded = async (cwd = getTradejsProjectCwd()) => {
393
420
  moduleName,
394
421
  projectRoot
395
422
  );
396
- const moduleExport = await importConnectorPluginModule(resolvedModuleName);
423
+ const moduleExport = await importConnectorPluginModule(
424
+ resolvedModuleName,
425
+ projectRoot
426
+ );
397
427
  const pluginDefinition = extractConnectorPluginDefinition(moduleExport);
398
428
  if (!pluginDefinition) {
399
429
  import_logger2.logger.warn(
@@ -10,8 +10,8 @@ import {
10
10
  registerConnectorEntries,
11
11
  resetConnectorRegistryCache,
12
12
  resolveConnectorName
13
- } from "./chunk-MGFEID6K.mjs";
14
- import "./chunk-3C76HVLA.mjs";
13
+ } from "./chunk-CIY64D57.mjs";
14
+ import "./chunk-P2ZUWONT.mjs";
15
15
  import "./chunk-6DZX6EAA.mjs";
16
16
  export {
17
17
  BUILTIN_CONNECTOR_NAMES,
package/dist/constants.js CHANGED
@@ -27,7 +27,16 @@ __export(constants_exports, {
27
27
  });
28
28
  module.exports = __toCommonJS(constants_exports);
29
29
  var { NODE_ENV } = process.env;
30
- var KLINE_CONCURRENCY_LIMIT = NODE_ENV === "production" ? 5 : 10;
30
+ var getPositiveIntegerEnv = (name, fallback) => {
31
+ const rawValue = process.env[name];
32
+ const parsedValue = Number(rawValue);
33
+ return Number.isInteger(parsedValue) && parsedValue > 0 ? parsedValue : fallback;
34
+ };
35
+ var DEFAULT_KLINE_CONCURRENCY_LIMIT = NODE_ENV === "production" ? 1 : 10;
36
+ var KLINE_CONCURRENCY_LIMIT = getPositiveIntegerEnv(
37
+ "KLINE_CONCURRENCY_LIMIT",
38
+ DEFAULT_KLINE_CONCURRENCY_LIMIT
39
+ );
31
40
  var TG_CONCURRENCY_LIMIT = 3;
32
41
  var AI_CONCURRENCY_LIMIT = 3;
33
42
  var SCREENSHOT_CONCURRENCY_LIMIT = NODE_ENV === "production" ? 1 : 2;
@@ -3,7 +3,7 @@ import {
3
3
  KLINE_CONCURRENCY_LIMIT,
4
4
  SCREENSHOT_CONCURRENCY_LIMIT,
5
5
  TG_CONCURRENCY_LIMIT
6
- } from "./chunk-4ZPGZWO7.mjs";
6
+ } from "./chunk-SCMBUEGK.mjs";
7
7
  import "./chunk-6DZX6EAA.mjs";
8
8
  export {
9
9
  AI_CONCURRENCY_LIMIT,
package/dist/registry.js CHANGED
@@ -65,6 +65,7 @@ var TS_MODULE_RE = /\.(cts|mts|ts)$/i;
65
65
  var cachedByCwd = /* @__PURE__ */ new Map();
66
66
  var announcedConfigFile = /* @__PURE__ */ new Set();
67
67
  var tsNodeRegistered = false;
68
+ var tsconfigPathsRegisteredByCwd = /* @__PURE__ */ new Set();
68
69
  var getTradejsProjectCwd = (cwd) => {
69
70
  const explicit = String(cwd ?? "").trim();
70
71
  if (explicit) {
@@ -106,6 +107,28 @@ var ensureTsNodeRegistered = async () => {
106
107
  });
107
108
  tsNodeRegistered = true;
108
109
  };
110
+ var ensureTsconfigPathsRegistered = async (cwd = getTradejsProjectCwd()) => {
111
+ const projectRoot = getTradejsProjectCwd(cwd);
112
+ if (tsconfigPathsRegisteredByCwd.has(projectRoot)) {
113
+ return;
114
+ }
115
+ const tsconfigPathsModule = await import("tsconfig-paths");
116
+ const loadConfig = tsconfigPathsModule.loadConfig;
117
+ const register = tsconfigPathsModule.register;
118
+ if (typeof loadConfig !== "function" || typeof register !== "function") {
119
+ return;
120
+ }
121
+ const loadedConfig = loadConfig(projectRoot);
122
+ if (loadedConfig.resultType !== "success") {
123
+ return;
124
+ }
125
+ register({
126
+ baseUrl: loadedConfig.absoluteBaseUrl,
127
+ paths: loadedConfig.paths,
128
+ addMatchAll: false
129
+ });
130
+ tsconfigPathsRegisteredByCwd.add(projectRoot);
131
+ };
109
132
  var toImportSpecifier = (moduleName) => {
110
133
  if (moduleName.startsWith("file://")) {
111
134
  return moduleName;
@@ -133,6 +156,7 @@ var importConfigFile = async (configFilePath) => {
133
156
  if (ext === ".ts" || ext === ".mts") {
134
157
  const requireFn = getRequireFn(import_path.default.dirname(configFilePath));
135
158
  await ensureTsNodeRegistered();
159
+ await ensureTsconfigPathsRegistered(import_path.default.dirname(configFilePath));
136
160
  return requireFn(configFilePath);
137
161
  }
138
162
  return import(
@@ -140,7 +164,7 @@ var importConfigFile = async (configFilePath) => {
140
164
  configFileUrl
141
165
  );
142
166
  };
143
- var importTradejsModule = async (moduleName) => {
167
+ var importTradejsModule = async (moduleName, cwd = getTradejsProjectCwd()) => {
144
168
  const normalized = String(moduleName ?? "").trim();
145
169
  if (!normalized) {
146
170
  return {};
@@ -154,13 +178,15 @@ var importTradejsModule = async (moduleName) => {
154
178
  }
155
179
  }
156
180
  const requireFn = getRequireFn(
157
- import_path.default.isAbsolute(modulePath) ? import_path.default.dirname(modulePath) : getTradejsProjectCwd()
181
+ import_path.default.isAbsolute(modulePath) ? import_path.default.dirname(modulePath) : cwd
158
182
  );
159
183
  if (isTsModulePath(modulePath)) {
160
184
  await ensureTsNodeRegistered();
185
+ await ensureTsconfigPathsRegistered(cwd);
161
186
  return requireFn(modulePath);
162
187
  }
163
188
  if (isBareModuleSpecifier(normalized)) {
189
+ await ensureTsconfigPathsRegistered(cwd);
164
190
  return requireFn(normalized);
165
191
  }
166
192
  try {
@@ -171,6 +197,7 @@ var importTradejsModule = async (moduleName) => {
171
197
  } catch (error) {
172
198
  if (isTsModulePath(modulePath)) {
173
199
  await ensureTsNodeRegistered();
200
+ await ensureTsconfigPathsRegistered(cwd);
174
201
  return requireFn(modulePath);
175
202
  }
176
203
  throw error;
@@ -323,9 +350,9 @@ var registerEntries = (entries, source, state) => {
323
350
  state.strategyManifestsMap.set(strategyName, entry.manifest);
324
351
  }
325
352
  };
326
- var importStrategyPluginModule = async (moduleName) => {
353
+ var importStrategyPluginModule = async (moduleName, cwd = getTradejsProjectCwd()) => {
327
354
  if (typeof importTradejsModule === "function") {
328
- return importTradejsModule(moduleName);
355
+ return importTradejsModule(moduleName, cwd);
329
356
  }
330
357
  return import(
331
358
  /* webpackIgnore: true */
@@ -352,7 +379,10 @@ var ensureStrategyPluginsLoaded = async (cwd = getTradejsProjectCwd()) => {
352
379
  moduleName,
353
380
  projectRoot
354
381
  );
355
- const moduleExport = await importStrategyPluginModule(resolvedModuleName);
382
+ const moduleExport = await importStrategyPluginModule(
383
+ resolvedModuleName,
384
+ projectRoot
385
+ );
356
386
  if (strategySet.has(moduleName)) {
357
387
  const pluginDefinition = extractStrategyPluginDefinition(moduleExport);
358
388
  if (!pluginDefinition) {
package/dist/registry.mjs CHANGED
@@ -11,8 +11,8 @@ import {
11
11
  registerStrategyEntries,
12
12
  resetStrategyRegistryCache,
13
13
  strategies
14
- } from "./chunk-CK2PW4L5.mjs";
15
- import "./chunk-3C76HVLA.mjs";
14
+ } from "./chunk-ZY6ULOWK.mjs";
15
+ import "./chunk-P2ZUWONT.mjs";
16
16
  import "./chunk-6DZX6EAA.mjs";
17
17
  export {
18
18
  ensureIndicatorPluginsLoaded,