Skip to content

Commit 3066d26

Browse files
fix: add eslint-disable comments for remaining linting warnings
1 parent e6f2fd9 commit 3066d26

14 files changed

Lines changed: 33 additions & 4 deletions

File tree

src/core/plugin.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,18 +66,18 @@ describe('Core Plugin System', () => {
6666

6767
describe('Plugin Validation', () => {
6868
it('should reject plugin without id', () => {
69-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
7069
const invalidPlugin = {
7170
provides: {}
71+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
7272
} as any;
7373

7474
expect(() => meridian.use(invalidPlugin)).toThrow();
7575
});
7676

7777
it('should reject plugin without provides', () => {
78-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
7978
const invalidPlugin = {
8079
id: 'test'
80+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
8181
} as any;
8282

8383
expect(() => meridian.use(invalidPlugin)).toThrow();

src/data/alpaca.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,14 @@ export class AlpacaAdapter implements DataAdapter {
6464
throw new Error(`Alpaca API error: ${response.status} ${response.statusText}`);
6565
}
6666

67+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
6768
const data: any = await response.json();
6869

6970
if (!data.bars || data.bars.length === 0) {
7071
return [];
7172
}
7273

74+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
7375
return data.bars.map((bar: any) => ({
7476
t: new Date(bar.t),
7577
o: bar.o,
@@ -92,6 +94,7 @@ export class AlpacaAdapter implements DataAdapter {
9294
throw new Error(`Alpaca API error: ${response.status} ${response.statusText}`);
9395
}
9496

97+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
9598
const data: any = await response.json();
9699
const quote = data.quote;
97100

@@ -116,6 +119,7 @@ export class AlpacaAdapter implements DataAdapter {
116119
throw new Error(`Alpaca API error: ${response.status} ${response.statusText}`);
117120
}
118121

122+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
119123
const data: any = await response.json();
120124

121125
return {

src/data/binance.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,10 @@ export class BinanceAdapter implements DataAdapter {
5050
throw new Error(`Binance API error: ${response.status} ${response.statusText}`);
5151
}
5252

53+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
5354
const data: any = await response.json();
5455

56+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
5557
return data.map((kline: any[]) => ({
5658
t: new Date(kline[0]),
5759
o: parseFloat(kline[1]),
@@ -117,6 +119,7 @@ export class BinanceAdapter implements DataAdapter {
117119
}
118120
}
119121
} catch (error) {
122+
// eslint-disable-next-line no-console
120123
console.error('Error parsing WebSocket message:', error);
121124
}
122125
};

src/data/polygon.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ export class PolygonAdapter implements DataAdapter {
3030
}
3131
}
3232

33+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
3334
private async fetchWithRetry(url: string, retries = 3): Promise<any> {
3435
await this.rateLimit();
3536

@@ -89,6 +90,7 @@ export class PolygonAdapter implements DataAdapter {
8990
return [];
9091
}
9192

93+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
9294
return data.results.map((bar: any) => ({
9395
t: new Date(bar.t),
9496
o: bar.o,

src/data/yahoo.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,15 @@ export class YahooAdapter implements DataAdapter {
3535
const result = await yahooFinance.chart(symbol, {
3636
period1: start,
3737
period2: end,
38+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
3839
interval: intervalMap[options.interval] as any
3940
});
4041

4142
if (!result || !result.quotes) {
4243
return [];
4344
}
4445

46+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
4547
const bars: Bar[] = result.quotes.map((quote: any) => ({
4648
t: quote.date,
4749
o: quote.open || 0,
@@ -54,6 +56,7 @@ export class YahooAdapter implements DataAdapter {
5456

5557
return bars;
5658
} catch (error) {
59+
// eslint-disable-next-line no-console
5760
console.error(`Error fetching data for ${symbol}:`, error);
5861
throw new Error(`Failed to fetch data from Yahoo Finance: ${error}`);
5962
}

src/indicators/indicators.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,7 @@ export class Indicators {
337337
type: MovingAverageType,
338338
data: number[],
339339
period: number,
340+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
340341
...args: any[]
341342
): number[] {
342343
switch (type.toLowerCase() as MovingAverageType) {

src/indicators/ml.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ export interface NeuralNetworkConfig {
7676
* Note: Requires @tensorflow/tfjs to be installed as a peer dependency
7777
*/
7878
export class PricePredictor {
79+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
7980
private model: any = null;
8081
private config: NeuralNetworkConfig;
8182

@@ -93,7 +94,7 @@ export class PricePredictor {
9394
/**
9495
* Train the model on historical price data
9596
*/
96-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
97+
// eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any
9798
async train(features: number[][], labels: number[]): Promise<any> {
9899
throw new MLError('TensorFlow.js not installed. Install @tensorflow/tfjs as a peer dependency to use ML features.');
99100
}

src/indicators/performance.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -517,6 +517,7 @@ export function performanceAnalysis(
517517
const var95 = valueAtRisk(returns, 0.05);
518518
const cvar95 = conditionalValueAtRisk(returns, 0.05);
519519

520+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
520521
const result: any = {
521522
totalReturn,
522523
annualizedReturn,

src/models/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ export interface Model {
1010
load?(path: string): Promise<void>;
1111
}
1212

13+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
1314
export type ModelFactory = (config: any) => Model;
1415

1516
export interface ModelConfig {

src/optimize/grid-search.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ export class GridSearchOptimizer implements Optimizer {
1212
options: OptimizationOptions = {}
1313
): Promise<ParameterOptimizationResult> {
1414
const combinations = this.generateCombinations(space);
15+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
1516
const results: Array<{ params: Record<string, any>; score: number }> = [];
1617

1718
for (const params of combinations) {
@@ -30,11 +31,13 @@ export class GridSearchOptimizer implements Optimizer {
3031
};
3132
}
3233

34+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
3335
private generateCombinations(space: ParameterSpace): Array<Record<string, any>> {
3436
const keys = Object.keys(space);
3537
const values = keys.map(key => this.generateValues(space[key]));
3638

3739
return this.cartesianProduct(values).map(combo => {
40+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
3841
const params: Record<string, any> = {};
3942
keys.forEach((key, i) => {
4043
params[key] = combo[i];
@@ -43,6 +46,7 @@ export class GridSearchOptimizer implements Optimizer {
4346
});
4447
}
4548

49+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
4650
private generateValues(param: ParameterSpace[string]): any[] {
4751
if (param.type === 'categorical') {
4852
return param.values || [];
@@ -67,11 +71,11 @@ export class GridSearchOptimizer implements Optimizer {
6771
}
6872
}
6973

74+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
7075
private cartesianProduct(arrays: any[][]): any[][] {
7176
if (arrays.length === 0) return [[]];
7277
if (arrays.length === 1) return arrays[0].map(x => [x]);
7378

74-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
7579
const [first, ...rest] = arrays;
7680
const restProduct = this.cartesianProduct(rest);
7781

0 commit comments

Comments
 (0)