openalgo-charts 2.5.0 → 2.5.1
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/README.md
CHANGED
|
@@ -12,7 +12,7 @@ with no runtime dependencies.
|
|
|
12
12
|
[](https://www.npmjs.com/package/openalgo-charts)
|
|
13
13
|
[](./LICENSE)
|
|
14
14
|
[](https://www.npmjs.com/package/openalgo-charts)
|
|
15
|
-
[](#develop)
|
|
16
16
|
[](#principles)
|
|
17
17
|
|
|
18
18
|
[**Documentation**](https://marketcalls.github.io/openalgo-charts/) · [**Live examples**](https://marketcalls.github.io/openalgo-charts/examples) · [**Getting started**](./docs/getting-started.md) · [**Migrating to 2.0**](./docs/migrating-to-2.md) · [**Architecture**](./ARCHITECTURE.md)
|
|
@@ -25,7 +25,7 @@ with no runtime dependencies.
|
|
|
25
25
|
npm install openalgo-charts
|
|
26
26
|
```
|
|
27
27
|
|
|
28
|
-
Current version: **2.5.
|
|
28
|
+
Current version: **2.5.1**. Hosts can hide finished alert lines while keeping their saved history.
|
|
29
29
|
See the [changelog](./CHANGELOG.md) for release notes.
|
|
30
30
|
|
|
31
31
|
## Quick start
|
|
@@ -56,7 +56,7 @@ for live data, or [the widget example](#the-whole-terminal-in-one-call) for char
|
|
|
56
56
|
|
|
57
57
|
## Architecture
|
|
58
58
|
|
|
59
|
-
<a href="docs/architecture-diagram.svg"><img src="docs/architecture-diagram.svg" alt="OpenAlgo Charts 2.5.
|
|
59
|
+
<a href="docs/architecture-diagram.svg"><img src="docs/architecture-diagram.svg" alt="OpenAlgo Charts 2.5.1 architecture: host responsibilities, the base data-to-rendering pipeline with alerts and shared replay, and eight optional tiers including workspace storage, trading tools and the widget" width="920" /></a>
|
|
60
60
|
|
|
61
61
|
How data reaches the chart, what your app owns, and which features you can import.
|
|
62
62
|
[Open the full-size diagram](docs/architecture-diagram.svg).
|
|
@@ -107,7 +107,7 @@ You can also load the library from a CDN in a plain HTML page:
|
|
|
107
107
|
```html
|
|
108
108
|
<div id="chart" style="width:100vw;height:100vh"></div>
|
|
109
109
|
<script type="module">
|
|
110
|
-
import { createChart, generateBars } from 'https://unpkg.com/openalgo-charts@2.5.
|
|
110
|
+
import { createChart, generateBars } from 'https://unpkg.com/openalgo-charts@2.5.1/dist/openalgo-charts.mjs';
|
|
111
111
|
const chart = createChart(document.getElementById('chart'), { timezone: 'Asia/Kolkata' });
|
|
112
112
|
chart.addSeries('candlestick').setData(generateBars(1700000000, 200, 3600));
|
|
113
113
|
chart.fitContent();
|
|
@@ -157,7 +157,7 @@ Unused optional tiers stay out of the base chart download.
|
|
|
157
157
|
|
|
158
158
|
| Import | Contents | Brotli |
|
|
159
159
|
|---|---|---|
|
|
160
|
-
| `openalgo-charts` | Engine, 13 chart types, panes and scales, custom indicator registry, primitives, alerts, replay, comparisons, chart linking, state, feeds, bar cache, trading overlays, CSV and SVG export | 93.
|
|
160
|
+
| `openalgo-charts` | Engine, 13 chart types, panes and scales, custom indicator registry, primitives, alerts, replay, comparisons, chart linking, state, feeds, bar cache, trading overlays, CSV and SVG export | 93.60 kB |
|
|
161
161
|
| `openalgo-charts/indicators` | 105 built-in indicators, calculation helpers and helpers for studies that use external data | 29.84 kB |
|
|
162
162
|
| `openalgo-charts/draw` | 85 drawing tools + a headless drawing controller, clipboard, settings schema, level palette, freehand geometry and SVG icons | 35.43 kB |
|
|
163
163
|
| `openalgo-charts/transform` | Heikin Ashi, Renko, Range bars, Line Break, Point & Figure, Kagi, and symbol arithmetic (`AAPL/MSFT`) | 4.50 kB |
|
|
@@ -167,7 +167,7 @@ Unused optional tiers stay out of the base chart download.
|
|
|
167
167
|
| `openalgo-charts/widget` | `createWidget`: toolbar, drawing controls, dialogs, mobile controls, status line, shortcuts and optional layout persistence | 49.06 kB |
|
|
168
168
|
| `openalgo-charts/workspace` | Validated workspace and indicator-template documents, named catalogs with revision checks, asynchronous storage and an IndexedDB adapter; no DOM | 5.52 kB |
|
|
169
169
|
|
|
170
|
-
Everything together is **247.
|
|
170
|
+
Everything together is **247.32 kB Brotli**; a widget terminal with built-in indicators (base + draw + indicators + widget) is 207.93 kB. Figures are measured from the 2.5.1 release build. The trade tier is 8.01 kB on its own; base + trade costs 101.60 kB. Sizes use decimal kB.
|
|
171
171
|
|
|
172
172
|
## What's built
|
|
173
173
|
|
|
@@ -489,17 +489,17 @@ Enforced in CI by [`size-limit`](./.size-limit.json). Nothing is excluded, becau
|
|
|
489
489
|
|
|
490
490
|
| Bundle | Limit | Actual |
|
|
491
491
|
|---|---|---|
|
|
492
|
-
| Base engine | 93.75 kB | 93.
|
|
493
|
-
| Base + trade | 101.75 kB | 101.
|
|
492
|
+
| Base engine | 93.75 kB | 93.60 kB |
|
|
493
|
+
| Base + trade | 101.75 kB | 101.60 kB |
|
|
494
494
|
| Indicators tier | 30 kB | 29.84 kB |
|
|
495
495
|
| Draw tier | 36 kB | 35.43 kB |
|
|
496
496
|
| Transform tier | 6 kB | 4.50 kB |
|
|
497
497
|
| Profile tier | 15 kB | 14.96 kB |
|
|
498
498
|
| WebGL2 tier | 7 kB | 6.39 kB |
|
|
499
499
|
| Widget tier | 49.25 kB | 49.06 kB |
|
|
500
|
-
| Widget terminal (base + draw + indicators + widget) | 208.25 kB | 207.
|
|
500
|
+
| Widget terminal (base + draw + indicators + widget) | 208.25 kB | 207.93 kB |
|
|
501
501
|
| Workspace tier | 6 kB | 5.52 kB |
|
|
502
|
-
| **Everything** | 247.75 kB | 247.
|
|
502
|
+
| **Everything** | 247.75 kB | 247.32 kB |
|
|
503
503
|
|
|
504
504
|
## Documentation
|
|
505
505
|
|
|
@@ -544,7 +544,7 @@ See [Contributing](./CONTRIBUTING.md) for setup, targeted checks, documentation
|
|
|
544
544
|
```bash
|
|
545
545
|
npm install # install dev toolchain
|
|
546
546
|
npm run typecheck # strict TypeScript check
|
|
547
|
-
npm test # engine unit tests (Vitest):
|
|
547
|
+
npm test # engine unit tests (Vitest): 5918 across 249 files
|
|
548
548
|
npm run test:demo # reference-host tests: 415 across 32 files
|
|
549
549
|
npm run test:endurance # node endurance-harness tests: 7 cases
|
|
550
550
|
npm run build # Rollup -> dist/ (minified ESM per tier + types)
|
|
@@ -563,7 +563,7 @@ npm run verify # lint + types + unit + endurance harness + build + demo + dt
|
|
|
563
563
|
|
|
564
564
|
## Status & limitations
|
|
565
565
|
|
|
566
|
-
Version **2.5.
|
|
566
|
+
Version **2.5.1**. All engine build phases are implemented. Upgrading a 1.9.x host: [Migrating to 2.0](./docs/migrating-to-2.md).
|
|
567
567
|
|
|
568
568
|
Known gaps, stated plainly:
|
|
569
569
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TradingCapabilitySource as TradingCapabilitySource$1 } from 'openalgo-charts';
|
|
2
2
|
|
|
3
3
|
/** Library version string. Matches package.json (including locally prepared releases). */
|
|
4
|
-
declare const VERSION = "2.5.
|
|
4
|
+
declare const VERSION = "2.5.1";
|
|
5
5
|
/** Returns the current library version. */
|
|
6
6
|
declare function version(): string;
|
|
7
7
|
|
|
@@ -2389,6 +2389,23 @@ interface AlertControllerOptions {
|
|
|
2389
2389
|
drawings?: AlertDrawingProvider;
|
|
2390
2390
|
/** PriceLine visuals are enabled on chart hosts; disable for a model-only consumer. */
|
|
2391
2391
|
visuals?: boolean;
|
|
2392
|
+
/**
|
|
2393
|
+
* Whether a spent alert keeps its line. Defaults to `'show'`.
|
|
2394
|
+
*
|
|
2395
|
+
* A triggered or expired alert is no longer watching anything, and the two
|
|
2396
|
+
* defensible things to do with its line are opposites. Keeping it is this
|
|
2397
|
+
* library's default and is why each lifecycle state has its own badge and
|
|
2398
|
+
* colour: the line says what became of the level, which is worth knowing on a
|
|
2399
|
+
* chart somebody has just come back to.
|
|
2400
|
+
*
|
|
2401
|
+
* `'hide'` is for the host where that reading does not pay. A terminal left
|
|
2402
|
+
* open through a session accumulates levels that will never fire again, and
|
|
2403
|
+
* past a certain number the ones still watching are the hardest to pick out
|
|
2404
|
+
* of them. The alert itself is untouched either way: it stays in `list()`,
|
|
2405
|
+
* keeps its lifecycle state, still refuses to fire twice, and gets its line
|
|
2406
|
+
* back if a host re-arms it. Only the drawing goes.
|
|
2407
|
+
*/
|
|
2408
|
+
spentLines?: 'show' | 'hide';
|
|
2392
2409
|
}
|
|
2393
2410
|
|
|
2394
2411
|
/**
|
|
@@ -9613,6 +9630,8 @@ declare class AlertController {
|
|
|
9613
9630
|
private readonly _off;
|
|
9614
9631
|
private readonly _now;
|
|
9615
9632
|
private readonly _drawings;
|
|
9633
|
+
/** Whether a spent alert keeps its line; the host's choice, default 'show'. */
|
|
9634
|
+
private readonly _spentLines;
|
|
9616
9635
|
private readonly _visuals;
|
|
9617
9636
|
private _timer;
|
|
9618
9637
|
private _timerAt;
|