visualifyjs 2.5.3-2.dev → 3.0.0
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/.claude/mem/TIMELINE.md +36 -0
- package/.claude/mem/notes/2026-02-11-3d-visualization-docs-fix-external-script-solution.md +24 -0
- package/.claude/mem/notes/2026-02-11-3d-visualization-docs-fix-session-summary.md +43 -0
- package/.claude/mem/notes/2026-02-11-cli-fix-editor-command-alias.md +26 -0
- package/.claude/mem/notes/2026-02-11-phase-3-developer-experience-completed.md +51 -0
- package/.claude/mem/notes/2026-02-11-phase-4-web-workers-implementation-complete.md +59 -0
- package/.claude/mem/notes/2026-02-11-visualify-phase-2-3d-visualization-complete.md +50 -0
- package/.claude/mem/notes/2026-02-11-visualify-phase-2-committed-ready-for-phase-3.md +33 -0
- package/.claude/mem/notes/2026-02-11-visualify-phase-3-complete-developer-experience.md +52 -0
- package/.claude/mem/notes/2026-02-11-visualify-repository-cleanup-complete.md +28 -0
- package/.claude/mem/notes/2026-02-18-codebase-cleanup-docsify-plugin-documentation.md +37 -0
- package/.claude/mem/notes/2026-02-19-css-grid-layout-fix-displaycontents-on-vcontroller.md +18 -0
- package/.claude/mem/notes/2026-02-19-docsify-plugin-fixes-latex-and-visualify-code-bloc.md +26 -0
- package/.claude/mem/notes/2026-02-19-page-mode-docs-update-decisions.md +23 -0
- package/.claude/mem/notes/2026-02-19-react-context-infinite-re-render-loop-fix-pattern.md +31 -0
- package/.claude/mem/notes/2026-02-19-version-300-bump-and-build-fixes.md +32 -0
- package/.claude/mem/notes/2026-02-19-visualify-build-deployment-architecture-bug-fixes.md +25 -0
- package/.claude/mem/notes/2026-02-19-visualify-dist-iife-self-contained-build-config.md +30 -0
- package/.claude/mem/notes/2026-02-19-visualify-infinite-loop-i18n-fixes.md +31 -0
- package/.claude/mem/notes/2026-02-19-visualify-v3-bundle-splitting-docs-restructuring.md +32 -0
- package/.claude/mem/notes/2026-02-20-bundle-externalization-final-architecture.md +29 -0
- package/.claude/mem/notes/2026-02-20-chromium-page-fix-unstable-keys-and-double-event-b.md +27 -0
- package/.claude/mem/notes/2026-02-20-console-cleanup-bundle-optimization-commit.md +20 -0
- package/.claude/mem/notes/2026-02-20-dotbio-dot-plot-fix-useeffect-dependency.md +21 -0
- package/.claude/mem/notes/2026-02-20-public-folder-cleanup-and-readme-rewrite.md +25 -0
- package/.claude/mem/notes/2026-02-20-v300-release-and-beta-channel-strategy.md +29 -0
- package/.claude/mem/notes/2026-02-20-visium-background-image-unknown-legend-fix.md +19 -0
- package/.claude/mem/notes/2026-02-20-visualify-cdn-loader-bundle-externalization.md +34 -0
- package/.claude/mem/sessions/session-2026-02-20-031524.md +54 -0
- package/.claude/settings.local.json +21 -0
- package/.github/workflows/static.yml.bak +51 -51
- package/.sisyphus/boulder.json +65 -0
- package/.sisyphus/plans/phase-4-advanced-optimizations.md +217 -0
- package/LICENSE +674 -674
- package/README.md +94 -59
- package/config-overrides.js +31 -31
- package/dist/stats.html +4949 -0
- package/dist/visualify-3d.esm.js +1 -0
- package/dist/visualify-3d.js +1 -0
- package/dist/visualify-core.esm.js +1 -0
- package/dist/visualify-core.js +1 -0
- package/dist/visualify-docs.esm.js +1 -0
- package/dist/visualify-docs.js +1 -0
- package/dist/visualify-loader.js +1 -0
- package/dist/visualify-pages.esm.js +1 -0
- package/dist/visualify-pages.js +1 -0
- package/dist/visualify-portal.esm.js +1 -0
- package/dist/visualify-portal.js +1 -0
- package/dist/visualify-shared.js +26571 -0
- package/dist/visualify.js +1 -188
- package/docs/CHANGELOG.md +148 -0
- package/docs/cli/commands.md +513 -0
- package/docs/configuration/visualify-json.md +474 -0
- package/docs/docs/3d-visualization.md +374 -0
- package/docs/docs/CLI.md +303 -34
- package/docs/docs/README.md +65 -65
- package/docs/docs/Rechart/bar.md +190 -190
- package/docs/docs/Rechart/funnel.md +241 -241
- package/docs/docs/Rechart/line.md +355 -355
- package/docs/docs/Rechart/pie.md +225 -225
- package/docs/docs/Rechart/radar.md +253 -253
- package/docs/docs/Rechart/scatter.md +298 -298
- package/docs/docs/_404.md +51 -51
- package/docs/docs/_coverpage.md +11 -11
- package/docs/docs/_sidebar.md +54 -44
- package/docs/docs/components/dotBio.md +87 -34
- package/docs/docs/components/echart.md +171 -82
- package/docs/docs/components/html.md +61 -34
- package/docs/docs/components/macaron.md +156 -145
- package/docs/docs/components/markdown.md +42 -0
- package/docs/docs/components/more.md +183 -142
- package/docs/docs/components/plotly.md +132 -62
- package/docs/docs/components/scatterL.md +171 -70
- package/docs/docs/components/visium.md +112 -57
- package/docs/docs/configuration.md +121 -121
- package/docs/docs/deploy.md +31 -31
- package/docs/docs/docsify-plugin.md +655 -0
- package/docs/docs/hmr.md +165 -0
- package/docs/docs/i18n.md +332 -0
- package/docs/docs/log.md +30 -9
- package/docs/docs/more-pages.md +23 -23
- package/docs/docs/quickstart.md +148 -124
- package/docs/docs/rechart-attributes.md +74 -74
- package/docs/docs/rechart-basic-usage.md +160 -162
- package/docs/docs/theme.md +5 -5
- package/docs/docs/typescript.md +306 -0
- package/docs/docs/visual-editor.md +359 -0
- package/docs/index.html +85 -71
- package/docs/manifest.json +23 -23
- package/docs/migration/v3-migration.md +392 -0
- package/docs/static/css/fluff-stuff.css +169 -169
- package/docs/static/css/font-awesome.min.css +4 -4
- package/docs/static/css/visualify.css +6 -25
- package/docs/static/js/3d-viz-examples.js +181 -0
- package/docs/static/js/configuration.js +630 -448
- package/docs/static/js/visualify.js +1 -188
- package/package.json +106 -84
- package/rollup.config.mjs +766 -76
- package/src/_css/404.css +115 -115
- package/src/_css/App.css +37 -37
- package/src/_css/autoSuggestion.css +26 -26
- package/src/_css/circular-progress.css +32 -32
- package/src/_css/index.css +36 -36
- package/src/_css/modern.css +350 -25
- package/src/_media/corner.svg +8 -8
- package/src/_media/download.svg +3 -3
- package/src/_media/logo.svg +14 -14
- package/src/_test/App.test.js +15 -15
- package/src/_utils/reportWebVitals.js +13 -13
- package/src/a11y/README.md +177 -0
- package/src/a11y/aria-labels.js +339 -0
- package/src/a11y/color-contrast.js +535 -0
- package/src/a11y/index.js +197 -0
- package/src/a11y/keyboard-nav.js +523 -0
- package/src/a11y/styles.css +165 -0
- package/src/cli/commands/dev.js +214 -0
- package/src/cli/commands/docs.js +521 -0
- package/src/cli/commands/edit.js +379 -0
- package/src/cli/commands/init.js +213 -0
- package/src/cli/commands/portal.js +236 -0
- package/src/cli/dev-server.js +530 -0
- package/src/cli/hmr.js +456 -0
- package/src/cli/index.js +180 -0
- package/src/cli/utils/config.js +207 -0
- package/src/cli/utils/logger.js +241 -0
- package/src/config/defaults.ts +122 -0
- package/src/config/index.ts +72 -0
- package/src/config/loader.ts +478 -0
- package/src/config/schema.ts +227 -0
- package/src/config/validator.ts +337 -0
- package/src/core/appContext.js +34 -27
- package/src/core/components/Bar.js +383 -0
- package/src/core/components/Bar3D.js +473 -0
- package/src/core/components/LargeDatasetChart.js +296 -0
- package/src/core/components/Line3D.js +310 -0
- package/src/core/components/Scatter.js +392 -188
- package/src/core/components/Scatter3D.js +455 -0
- package/src/core/components/ScatterBio.js +601 -572
- package/src/core/components/Surface3D.js +326 -0
- package/src/core/components/ThreeCustom.js +648 -0
- package/src/core/components/ThreeScene.js +459 -0
- package/src/core/components/VisiumPlot.js +191 -165
- package/src/core/components/browser.js +42 -42
- package/src/core/components/dotplot.js +413 -413
- package/src/core/components/html.js +29 -29
- package/src/core/components/list.js +178 -178
- package/src/core/components/macaron.js +206 -201
- package/src/core/components/markdown.js +56 -56
- package/src/core/components/parser.scatterBio.js +582 -587
- package/src/core/components/ratio.js +82 -80
- package/src/core/components/scatterL.js +206 -173
- package/src/core/components/searchbar.js +156 -131
- package/src/core/components/selection.js +310 -193
- package/src/core/components/timeline.js +236 -281
- package/src/core/components/visium.js +114 -97
- package/src/core/data-processor.js +413 -0
- package/src/core/fetch/condfetch.js +82 -82
- package/src/core/fetch/fetch.js +92 -92
- package/src/core/fetch/json.js +29 -29
- package/src/core/fetch/vfetch.js +42 -42
- package/src/core/hmr-client.js +724 -0
- package/src/core/liveEditor.js +44 -44
- package/src/core/modules/codeEditorWithPreview.js +104 -104
- package/src/core/modules/echarts/common.js +20 -20
- package/src/core/modules/echarts/gl.js +228 -0
- package/src/core/modules/echarts/presetHandler.js +41 -41
- package/src/core/modules/echarts/presets/esodev.chromium.js +172 -172
- package/src/core/modules/echarts/presets/esodev.codex.js +130 -130
- package/src/core/modules/echarts/presets/esodev.visium.js +123 -123
- package/src/core/modules/echarts/presets/mmtrbc.js +186 -186
- package/src/core/modules/echarts.js +70 -71
- package/src/core/modules/echartsUtils.js +43 -43
- package/src/core/modules/echartswitcher.js +227 -152
- package/src/core/modules/replotly/presetHandler.js +24 -24
- package/src/core/modules/replotly/presets/minimum.js +18 -18
- package/src/core/modules/replotly/presets/mmtrbc.dot.js +114 -114
- package/src/core/modules/replotly/presets/mmtrbc.violin.js +100 -100
- package/src/core/modules/replotly.js +74 -71
- package/src/core/modules/threejs/Camera.js +373 -0
- package/src/core/modules/threejs/Lighting.js +459 -0
- package/src/core/modules/threejs/Renderer.js +364 -0
- package/src/core/modules/threejs/Scene.js +266 -0
- package/src/core/modules/threejs/index.js +155 -0
- package/src/core/pages/404.js +50 -50
- package/src/core/pages/error.js +27 -27
- package/src/core/pages/jsonPage.js +62 -62
- package/src/core/pages/loading.js +44 -44
- package/src/core/parser/echart.data.js +204 -183
- package/src/core/parser/echart.features.js +125 -125
- package/src/core/parser/echart.general.js +147 -147
- package/src/core/parser/echart.hilbert.js +57 -57
- package/src/core/parser/echart.parser.js +210 -210
- package/src/core/parser/echart.series.js +67 -67
- package/src/core/parser/echart.types.js +76 -76
- package/src/core/parser/plotly.config.js +10 -10
- package/src/core/parser/plotly.data.js +132 -132
- package/src/core/parser/plotly.layout.js +9 -9
- package/src/core/parser/plotly.violin.js +18 -18
- package/src/core/recharts.js +361 -62
- package/src/core/router/alias.js +49 -49
- package/src/core/router/jsonRouter.js +31 -31
- package/src/core/themes/modern.js +32 -32
- package/src/core/themes/themeSelector.js +33 -33
- package/src/core/visualify.js +213 -47
- package/src/core/widgets/circularProgress.js +23 -23
- package/src/core/widgets/controller.js +116 -83
- package/src/core/widgets/errorBoundary.js +36 -36
- package/src/core/widgets/footer.js +185 -177
- package/src/core/widgets/header.js +238 -234
- package/src/core/widgets/layout/Grid.js +31 -31
- package/src/core/widgets/layout.js +36 -36
- package/src/core/widgets/mapping.js +56 -42
- package/src/core/workers/data-worker.js +349 -0
- package/src/core/workers/worker-pool.js +396 -0
- package/src/docsify/bundle.js +215 -0
- package/src/docsify/markdown.js +271 -0
- package/src/docsify/plugin.js +268 -0
- package/src/editor/README.md +172 -0
- package/src/editor/components/ChartBuilder.jsx +341 -0
- package/src/editor/components/ChartTypeSidebar.jsx +91 -0
- package/src/editor/components/Editor.jsx +367 -0
- package/src/editor/components/Preview.jsx +446 -0
- package/src/editor/components/PropertyPanel.jsx +468 -0
- package/src/editor/components/StatusBar.jsx +85 -0
- package/src/editor/context/EditorContext.js +248 -0
- package/src/editor/hooks/useDebounce.js +32 -0
- package/src/editor/index.js +315 -0
- package/src/editor/styles/editor.css +637 -0
- package/src/editor/utils/chartValidator.js +263 -0
- package/src/entries/charts3d.js +70 -0
- package/src/entries/core.js +78 -0
- package/src/entries/docs.js +154 -0
- package/src/entries/pages.js +93 -0
- package/src/entries/portal.js +204 -0
- package/src/entries/shared.js +50 -0
- package/src/i18n/formatters.js +455 -0
- package/src/i18n/index.js +169 -0
- package/src/i18n/locales/ar.json +137 -0
- package/src/i18n/locales/de.json +137 -0
- package/src/i18n/locales/en.json +137 -0
- package/src/i18n/locales/es.json +137 -0
- package/src/i18n/locales/he.json +137 -0
- package/src/i18n/locales/zh.json +137 -0
- package/src/i18n/rtl.css +183 -0
- package/src/index.js +82 -62
- package/src/loader.js +103 -0
- package/src/setupTests.js +5 -5
- package/tsconfig.json +51 -0
- package/types/charts.d.ts +569 -0
- package/types/components.d.ts +441 -0
- package/types/config.d.ts +199 -0
- package/types/index.d.ts +353 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [3.0.0] - 2026-02-20
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- **Bundle externalization** — echarts and plotly.js are now externalized from legacy IIFE builds, reducing bundle from 9.6 MB to 2.8 MB. Three.js remains bundled (eagerly imported).
|
|
13
|
+
- **CDN dependency warnings** — visualify.js now warns in console if echarts or plotly CDN scripts are missing, with instructions on what to add.
|
|
14
|
+
- **Docs site cleanup** — removed unnecessary Three.js CDN and ReactThree stubs from docs/index.html (now bundled).
|
|
15
|
+
- **Loader update** — `visualify-loader.js` no longer auto-loads Three.js CDN (bundled with main script).
|
|
16
|
+
- **Dot plot rendering** — RePlotly now respects `props.data` passed directly from parent components (e.g., DotBio), fixing MmTrBC dot plots that stopped rendering.
|
|
17
|
+
- **Console noise cleanup** — removed debug `console.log` statements from production output (echartswitcher, selection, scatter components).
|
|
18
|
+
|
|
19
|
+
### Improved
|
|
20
|
+
|
|
21
|
+
- **Selection component UI** — redesigned react-select dropdown with pill-shaped tags, refined theme colors, smooth hover/focus transitions, and cleaner indicator styles.
|
|
22
|
+
- **Timeline component UI** — redesigned with card-like node containers, hollow animated dots, gradient connector line, chip-style sub-item buttons, active node highlighting, and custom scrollbar.
|
|
23
|
+
- **Beta channel** — development builds available directly from the `dev` branch via CDN or `npm install github:visualify/visualify.js#dev`.
|
|
24
|
+
|
|
25
|
+
### Breaking Changes
|
|
26
|
+
|
|
27
|
+
- **CLI merged into core package** - The `@visualify/cli` package is now deprecated and merged into the main `visualifyjs` package. Users should uninstall `@visualify/cli` and install `visualifyjs` globally instead.
|
|
28
|
+
- **Configuration moved from `window.$visualify` to `visualify.json`** - Inline JavaScript configuration is no longer supported. Create a `visualify.json` file in your project root instead.
|
|
29
|
+
- **New command structure with namespaces** - Commands have been restructured:
|
|
30
|
+
- `visualify serve` → `visualify dev`
|
|
31
|
+
- `visualify start` → `visualify dev portal`
|
|
32
|
+
- `visualify load-json` → `visualify portal load-json`
|
|
33
|
+
- `visualify mapping` → `visualify portal mapping`
|
|
34
|
+
- `visualify rtree2d` → `visualify portal rtree2d`
|
|
35
|
+
- **Mode values changed** - The `mode` property values have been renamed:
|
|
36
|
+
- `mode: 'pages'` → `mode: 'portal'`
|
|
37
|
+
- `mode: 'charts'` → `mode: 'docs'`
|
|
38
|
+
- **Init command requires template** - The `visualify init` command now requires a template argument: `docs`, `portal`, or `full`.
|
|
39
|
+
|
|
40
|
+
### Added
|
|
41
|
+
|
|
42
|
+
- **3D Visualization Support** - New 3D chart types using ECharts GL and Three.js
|
|
43
|
+
- `scatter3d` - 3D scatter plots with x, y, z dimensions
|
|
44
|
+
- `bar3d` - 3D bar charts with Lambert shading
|
|
45
|
+
- `surface3d` - 3D surface/height map visualizations
|
|
46
|
+
- `line3d` - 3D line/trajectory charts
|
|
47
|
+
- `threejs` - Custom Three.js scenes with React Three Fiber integration
|
|
48
|
+
- WebGL support detection with graceful fallback for unsupported browsers
|
|
49
|
+
- Lazy loading for 3D libraries (loaded on-demand to minimize bundle size)
|
|
50
|
+
- Docsify plugin system for embedding charts in markdown documentation
|
|
51
|
+
- `visualify` code block support in markdown
|
|
52
|
+
- Auto-mount charts with `data-visualify` attribute
|
|
53
|
+
- SPA navigation support for single-page documentation
|
|
54
|
+
- `visualify.json` configuration file support with JSON schema validation
|
|
55
|
+
- Auto-detection mode for `visualify dev` command - automatically detects project type from configuration or directory structure
|
|
56
|
+
- Separate entry points for `docs` and `portal` bundles for optimized builds
|
|
57
|
+
- `visualify docs` namespace with `dev` and `build` subcommands
|
|
58
|
+
- `visualify portal` namespace with `dev`, `build`, `load-json`, `mapping`, and `rtree2d` subcommands
|
|
59
|
+
- Support for `visualify.config.js` for dynamic configuration
|
|
60
|
+
- `--verbose` global flag for debug output
|
|
61
|
+
- `--dry-run` option for configuration validation
|
|
62
|
+
- Environment variable support (`VISUALIFY_PORT`, `VISUALIFY_HOST`, `VISUALIFY_MODE`)
|
|
63
|
+
|
|
64
|
+
### Changed
|
|
65
|
+
|
|
66
|
+
- Build output structure now uses separate entry points for docs and portal modes
|
|
67
|
+
- Development server now defaults to auto-detection mode
|
|
68
|
+
- Improved error messages with suggestions for common issues
|
|
69
|
+
- Updated CLI help documentation with examples
|
|
70
|
+
|
|
71
|
+
### Deprecated
|
|
72
|
+
|
|
73
|
+
- `@visualify/cli` package - will not receive updates after 2026-06-01
|
|
74
|
+
- `window.$visualify` inline configuration - migrate to `visualify.json`
|
|
75
|
+
- Old mode values (`pages`, `charts`) - use `portal`, `docs` instead
|
|
76
|
+
|
|
77
|
+
### Removed
|
|
78
|
+
|
|
79
|
+
- Support for `visualify serve` command (use `visualify dev`)
|
|
80
|
+
- Support for `visualify start` command (use `visualify dev portal`)
|
|
81
|
+
- Direct `visualify load-json` command (use `visualify portal load-json`)
|
|
82
|
+
- Direct `visualify mapping` command (use `visualify portal mapping`)
|
|
83
|
+
- Direct `visualify rtree2d` command (use `visualify portal rtree2d`)
|
|
84
|
+
|
|
85
|
+
### Migration Guide
|
|
86
|
+
|
|
87
|
+
See the [v3.0.0 Migration Guide](./docs/migration/v3-migration.md) for detailed instructions on upgrading from v2.x.
|
|
88
|
+
|
|
89
|
+
Quick migration steps:
|
|
90
|
+
1. `npm uninstall -g @visualify/cli`
|
|
91
|
+
2. `npm i -g visualifyjs`
|
|
92
|
+
3. Create `visualify.json` with your configuration
|
|
93
|
+
4. Update mode values (`pages` → `portal`, `charts` → `docs`)
|
|
94
|
+
5. Update npm scripts with new command syntax
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## [2.5.3] - 2024-XX-XX
|
|
99
|
+
|
|
100
|
+
### Fixed
|
|
101
|
+
|
|
102
|
+
- Minor bug fixes and dependency updates
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## [2.5.2] - 2024-XX-XX
|
|
107
|
+
|
|
108
|
+
### Changed
|
|
109
|
+
|
|
110
|
+
- Dependency upgrades
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## [2.5.1] - 2024-XX-XX
|
|
115
|
+
|
|
116
|
+
### Fixed
|
|
117
|
+
|
|
118
|
+
- Documentation updates
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## [2.5.0] - 2024-XX-XX
|
|
123
|
+
|
|
124
|
+
### Added
|
|
125
|
+
|
|
126
|
+
- New visualization components
|
|
127
|
+
- Improved theming support
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## [2.0.0] - 2024-XX-XX
|
|
132
|
+
|
|
133
|
+
### Added
|
|
134
|
+
|
|
135
|
+
- React 18 support
|
|
136
|
+
- New CLI commands
|
|
137
|
+
- Enhanced chart types
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## [1.0.0] - 2023-XX-XX
|
|
142
|
+
|
|
143
|
+
### Added
|
|
144
|
+
|
|
145
|
+
- Initial release of Visualify.js
|
|
146
|
+
- Basic chart components
|
|
147
|
+
- CLI tooling
|
|
148
|
+
- Documentation site support
|
|
@@ -0,0 +1,513 @@
|
|
|
1
|
+
# CLI Command Reference
|
|
2
|
+
|
|
3
|
+
Complete reference for the Visualify.js CLI commands. The CLI is included in the `visualifyjs` package (v3.0.0+).
|
|
4
|
+
|
|
5
|
+
## Table of Contents
|
|
6
|
+
|
|
7
|
+
- [Installation](#installation)
|
|
8
|
+
- [Global Options](#global-options)
|
|
9
|
+
- [Commands](#commands)
|
|
10
|
+
- [visualify dev](#visualify-dev)
|
|
11
|
+
- [visualify init](#visualify-init)
|
|
12
|
+
- [visualify docs](#visualify-docs)
|
|
13
|
+
- [visualify portal](#visualify-portal)
|
|
14
|
+
- [Exit Codes](#exit-codes)
|
|
15
|
+
- [Environment Variables](#environment-variables)
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Installation
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# Install globally
|
|
23
|
+
npm i -g visualifyjs
|
|
24
|
+
|
|
25
|
+
# Or use with npx
|
|
26
|
+
npx visualifyjs dev
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Verify installation:
|
|
30
|
+
```bash
|
|
31
|
+
visualify --version
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Global Options
|
|
37
|
+
|
|
38
|
+
These options are available for all commands:
|
|
39
|
+
|
|
40
|
+
| Option | Description |
|
|
41
|
+
|--------|-------------|
|
|
42
|
+
| `-v, --version` | Display version number |
|
|
43
|
+
| `-h, --help` | Display help for command |
|
|
44
|
+
| `--verbose` | Enable verbose output for debugging |
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Commands
|
|
49
|
+
|
|
50
|
+
### visualify dev
|
|
51
|
+
|
|
52
|
+
Start the development server with auto-detection or explicit mode.
|
|
53
|
+
|
|
54
|
+
#### Usage
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
visualify dev [mode] [path] [options]
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
#### Arguments
|
|
61
|
+
|
|
62
|
+
| Argument | Description | Default |
|
|
63
|
+
|----------|-------------|---------|
|
|
64
|
+
| `mode` | Development mode: `auto`, `docs`, or `portal` | `auto` |
|
|
65
|
+
| `path` | Path to project directory | Current directory |
|
|
66
|
+
|
|
67
|
+
#### Options
|
|
68
|
+
|
|
69
|
+
| Option | Description | Default |
|
|
70
|
+
|--------|-------------|---------|
|
|
71
|
+
| `-p, --port <port>` | Port to run the server | `3000` |
|
|
72
|
+
| `-H, --host <host>` | Host to bind the server | `localhost` |
|
|
73
|
+
| `--no-open` | Do not open browser automatically | `false` |
|
|
74
|
+
|
|
75
|
+
#### Examples
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
# Auto-detect mode from visualify.json
|
|
79
|
+
visualify dev
|
|
80
|
+
|
|
81
|
+
# Explicit docs mode
|
|
82
|
+
visualify dev docs
|
|
83
|
+
|
|
84
|
+
# Explicit portal mode with custom port
|
|
85
|
+
visualify dev portal ./my-project --port 8080
|
|
86
|
+
|
|
87
|
+
# Auto-detect with specific path
|
|
88
|
+
visualify dev auto ./docs --port 4000
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
#### Auto-Detection Logic
|
|
92
|
+
|
|
93
|
+
When `mode` is `auto` (default), the CLI checks in order:
|
|
94
|
+
|
|
95
|
+
1. `mode` property in `visualify.json`
|
|
96
|
+
2. Presence of `docs/` directory → `docs` mode
|
|
97
|
+
3. Presence of `portal/` directory → `portal` mode
|
|
98
|
+
4. Default to `portal` mode
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
### visualify init
|
|
103
|
+
|
|
104
|
+
Initialize a new Visualify.js project with a template.
|
|
105
|
+
|
|
106
|
+
#### Usage
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
visualify init <template> [path] [options]
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
#### Arguments
|
|
113
|
+
|
|
114
|
+
| Argument | Description | Required |
|
|
115
|
+
|----------|-------------|----------|
|
|
116
|
+
| `template` | Template type: `docs`, `portal`, or `full` | Yes |
|
|
117
|
+
| `path` | Directory to initialize | No (defaults to current) |
|
|
118
|
+
|
|
119
|
+
#### Templates
|
|
120
|
+
|
|
121
|
+
| Template | Description |
|
|
122
|
+
|----------|-------------|
|
|
123
|
+
| `docs` | Documentation site with chart support |
|
|
124
|
+
| `portal` | Data portal with navigation and visualization |
|
|
125
|
+
| `full` | Both docs and portal in one project |
|
|
126
|
+
|
|
127
|
+
#### Options
|
|
128
|
+
|
|
129
|
+
| Option | Description |
|
|
130
|
+
|--------|-------------|
|
|
131
|
+
| `--force` | Overwrite existing files |
|
|
132
|
+
| `--skip-install` | Skip npm install after initialization |
|
|
133
|
+
|
|
134
|
+
#### Examples
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
# Initialize docs template in current directory
|
|
138
|
+
visualify init docs
|
|
139
|
+
|
|
140
|
+
# Initialize portal template in specific directory
|
|
141
|
+
visualify init portal ./my-data-portal
|
|
142
|
+
|
|
143
|
+
# Initialize full template with force overwrite
|
|
144
|
+
visualify init full ./my-project --force
|
|
145
|
+
|
|
146
|
+
# Initialize without running npm install
|
|
147
|
+
visualify init docs ./docs --skip-install
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
#### Generated Structure
|
|
151
|
+
|
|
152
|
+
**Docs template:**
|
|
153
|
+
```
|
|
154
|
+
docs/
|
|
155
|
+
├── visualify.json
|
|
156
|
+
├── index.html
|
|
157
|
+
├── home.json
|
|
158
|
+
└── .nojekyll
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
**Portal template:**
|
|
162
|
+
```
|
|
163
|
+
portal/
|
|
164
|
+
├── visualify.json
|
|
165
|
+
├── index.html
|
|
166
|
+
├── home.json
|
|
167
|
+
├── data/
|
|
168
|
+
└── .nojekyll
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
**Full template:**
|
|
172
|
+
```
|
|
173
|
+
my-project/
|
|
174
|
+
├── visualify.json
|
|
175
|
+
├── index.html
|
|
176
|
+
├── docs/
|
|
177
|
+
│ └── home.json
|
|
178
|
+
├── portal/
|
|
179
|
+
│ └── home.json
|
|
180
|
+
└── .nojekyll
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
### visualify docs
|
|
186
|
+
|
|
187
|
+
Commands for documentation mode projects.
|
|
188
|
+
|
|
189
|
+
#### Subcommands
|
|
190
|
+
|
|
191
|
+
##### visualify docs dev
|
|
192
|
+
|
|
193
|
+
Start development server in docs mode.
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
visualify docs dev [path] [options]
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
Options:
|
|
200
|
+
| Option | Description | Default |
|
|
201
|
+
|--------|-------------|---------|
|
|
202
|
+
| `-p, --port <port>` | Port to run the server | `3000` |
|
|
203
|
+
| `-H, --host <host>` | Host to bind the server | `localhost` |
|
|
204
|
+
| `--no-open` | Do not open browser | `false` |
|
|
205
|
+
|
|
206
|
+
Example:
|
|
207
|
+
```bash
|
|
208
|
+
visualify docs dev ./docs --port 8080
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
##### visualify docs build
|
|
212
|
+
|
|
213
|
+
Build the documentation for production.
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
visualify docs build [path] [options]
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
Options:
|
|
220
|
+
| Option | Description | Default |
|
|
221
|
+
|--------|-------------|---------|
|
|
222
|
+
| `-o, --output <dir>` | Output directory | `dist` |
|
|
223
|
+
| `--minify` | Minify output | `true` |
|
|
224
|
+
|
|
225
|
+
Example:
|
|
226
|
+
```bash
|
|
227
|
+
visualify docs build ./docs --output ./build
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
### visualify portal
|
|
233
|
+
|
|
234
|
+
Commands for portal mode projects and data management.
|
|
235
|
+
|
|
236
|
+
#### Subcommands
|
|
237
|
+
|
|
238
|
+
##### visualify portal dev
|
|
239
|
+
|
|
240
|
+
Start development server in portal mode.
|
|
241
|
+
|
|
242
|
+
```bash
|
|
243
|
+
visualify portal dev [path] [options]
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
Options:
|
|
247
|
+
| Option | Description | Default |
|
|
248
|
+
|--------|-------------|---------|
|
|
249
|
+
| `-p, --port <port>` | Port to run the server | `3000` |
|
|
250
|
+
| `-H, --host <host>` | Host to bind the server | `localhost` |
|
|
251
|
+
| `--no-open` | Do not open browser | `false` |
|
|
252
|
+
|
|
253
|
+
Example:
|
|
254
|
+
```bash
|
|
255
|
+
visualify portal dev ./portal --port 8080
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
##### visualify portal build
|
|
259
|
+
|
|
260
|
+
Build the portal for production.
|
|
261
|
+
|
|
262
|
+
```bash
|
|
263
|
+
visualify portal build [path] [options]
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
Options:
|
|
267
|
+
| Option | Description | Default |
|
|
268
|
+
|--------|-------------|---------|
|
|
269
|
+
| `-o, --output <dir>` | Output directory | `dist` |
|
|
270
|
+
| `--minify` | Minify output | `true` |
|
|
271
|
+
|
|
272
|
+
Example:
|
|
273
|
+
```bash
|
|
274
|
+
visualify portal build ./portal --output ./build
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
##### visualify portal load-json
|
|
278
|
+
|
|
279
|
+
Load points from a JSON file into the portal data store.
|
|
280
|
+
|
|
281
|
+
```bash
|
|
282
|
+
visualify portal load-json <path> [options]
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
Arguments:
|
|
286
|
+
| Argument | Description | Required |
|
|
287
|
+
|----------|-------------|----------|
|
|
288
|
+
| `path` | Path to JSON file | Yes |
|
|
289
|
+
|
|
290
|
+
Options:
|
|
291
|
+
| Option | Description | Default |
|
|
292
|
+
|--------|-------------|---------|
|
|
293
|
+
| `-o, --output <path>` | Output file path | Auto-generated |
|
|
294
|
+
| `-f, --format <format>` | Output format: `json`, `csv` | `json` |
|
|
295
|
+
|
|
296
|
+
Example:
|
|
297
|
+
```bash
|
|
298
|
+
# Load JSON file
|
|
299
|
+
visualify portal load-json ./data/points.json
|
|
300
|
+
|
|
301
|
+
# Load with custom output
|
|
302
|
+
visualify portal load-json ./data/points.json --output ./processed/data.json
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
##### visualify portal mapping
|
|
306
|
+
|
|
307
|
+
Create a mapping file with optional key specification.
|
|
308
|
+
|
|
309
|
+
```bash
|
|
310
|
+
visualify portal mapping [options] <path>
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
Arguments:
|
|
314
|
+
| Argument | Description | Required |
|
|
315
|
+
|----------|-------------|----------|
|
|
316
|
+
| `path` | Path to source file | Yes |
|
|
317
|
+
|
|
318
|
+
Options:
|
|
319
|
+
| Option | Description | Default |
|
|
320
|
+
|--------|-------------|---------|
|
|
321
|
+
| `-k, --key <key>` | Key column name | `id` |
|
|
322
|
+
| `-o, --output <path>` | Output file path | `mapping.json` |
|
|
323
|
+
| `-s, --separator <char>` | CSV separator | `,` |
|
|
324
|
+
|
|
325
|
+
Example:
|
|
326
|
+
```bash
|
|
327
|
+
# Create mapping with default key
|
|
328
|
+
visualify portal mapping ./data/mapping.csv
|
|
329
|
+
|
|
330
|
+
# Create mapping with custom key
|
|
331
|
+
visualify portal mapping --key gene_id ./data/genes.csv --output ./gene-mapping.json
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
##### visualify portal rtree2d
|
|
335
|
+
|
|
336
|
+
Create a 2D R-tree index for efficient spatial data searching.
|
|
337
|
+
|
|
338
|
+
```bash
|
|
339
|
+
visualify portal rtree2d [options] <path>
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
Arguments:
|
|
343
|
+
| Argument | Description | Required |
|
|
344
|
+
|----------|-------------|----------|
|
|
345
|
+
| `path` | Path to spatial data file | Yes |
|
|
346
|
+
|
|
347
|
+
Options:
|
|
348
|
+
| Option | Description | Default |
|
|
349
|
+
|--------|-------------|---------|
|
|
350
|
+
| `-o, --output <path>` | Output directory | `./rtree` |
|
|
351
|
+
| `-x, --x-field <field>` | X coordinate field name | `x` |
|
|
352
|
+
| `-y, --y-field <field>` | Y coordinate field name | `y` |
|
|
353
|
+
| `-i, --id-field <field>` | ID field name | `id` |
|
|
354
|
+
| `--max-entries <number>` | Maximum entries per node | `9` |
|
|
355
|
+
|
|
356
|
+
Example:
|
|
357
|
+
```bash
|
|
358
|
+
# Create R-tree with defaults
|
|
359
|
+
visualify portal rtree2d ./data/spatial.json
|
|
360
|
+
|
|
361
|
+
# Create R-tree with custom fields
|
|
362
|
+
visualify portal rtree2d \
|
|
363
|
+
--x-field longitude \
|
|
364
|
+
--y-field latitude \
|
|
365
|
+
--id-field sample_id \
|
|
366
|
+
--output ./indexes/spatial \
|
|
367
|
+
./data/samples.json
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
---
|
|
371
|
+
|
|
372
|
+
## Exit Codes
|
|
373
|
+
|
|
374
|
+
| Code | Meaning | Description |
|
|
375
|
+
|------|---------|-------------|
|
|
376
|
+
| `0` | Success | Command executed successfully |
|
|
377
|
+
| `1` | General Error | Unspecified error occurred |
|
|
378
|
+
| `2` | Invalid Arguments | Invalid or missing command arguments |
|
|
379
|
+
| `3` | Configuration Error | Error in visualify.json configuration |
|
|
380
|
+
| `4` | File Not Found | Required file not found |
|
|
381
|
+
| `5` | Port In Use | Specified port is already in use |
|
|
382
|
+
| `6` | Build Error | Error during build process |
|
|
383
|
+
| `7` | Validation Error | Data validation failed |
|
|
384
|
+
|
|
385
|
+
---
|
|
386
|
+
|
|
387
|
+
## Environment Variables
|
|
388
|
+
|
|
389
|
+
| Variable | Description | Example |
|
|
390
|
+
|----------|-------------|---------|
|
|
391
|
+
| `VISUALIFY_PORT` | Default port for dev server | `3000` |
|
|
392
|
+
| `VISUALIFY_HOST` | Default host for dev server | `localhost` |
|
|
393
|
+
| `VISUALIFY_MODE` | Default mode (docs/portal) | `portal` |
|
|
394
|
+
| `VISUALIFY_CONFIG` | Path to config file | `./config/visualify.json` |
|
|
395
|
+
| `DEBUG` | Enable debug logging | `visualify:*` |
|
|
396
|
+
|
|
397
|
+
---
|
|
398
|
+
|
|
399
|
+
## Common Use Cases
|
|
400
|
+
|
|
401
|
+
### Development Workflow
|
|
402
|
+
|
|
403
|
+
```bash
|
|
404
|
+
# 1. Initialize a new portal project
|
|
405
|
+
visualify init portal ./my-portal
|
|
406
|
+
|
|
407
|
+
# 2. Navigate to project
|
|
408
|
+
cd ./my-portal
|
|
409
|
+
|
|
410
|
+
# 3. Start development server
|
|
411
|
+
visualify dev
|
|
412
|
+
|
|
413
|
+
# 4. Load spatial data
|
|
414
|
+
visualify portal load-json ./data/points.json
|
|
415
|
+
|
|
416
|
+
# 5. Create R-tree index
|
|
417
|
+
visualify portal rtree2d --output ./rtree ./data/points.json
|
|
418
|
+
|
|
419
|
+
# 6. Build for production
|
|
420
|
+
visualify portal build --output ./dist
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
### CI/CD Integration
|
|
424
|
+
|
|
425
|
+
```bash
|
|
426
|
+
#!/bin/bash
|
|
427
|
+
set -e
|
|
428
|
+
|
|
429
|
+
# Install visualifyjs
|
|
430
|
+
npm i -g visualifyjs
|
|
431
|
+
|
|
432
|
+
# Validate configuration
|
|
433
|
+
visualify dev --dry-run
|
|
434
|
+
|
|
435
|
+
# Build project
|
|
436
|
+
visualify portal build --output ./dist
|
|
437
|
+
|
|
438
|
+
# Verify build
|
|
439
|
+
if [ ! -d "./dist" ]; then
|
|
440
|
+
echo "Build failed: dist directory not found"
|
|
441
|
+
exit 1
|
|
442
|
+
fi
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
### Migration Script
|
|
446
|
+
|
|
447
|
+
```bash
|
|
448
|
+
#!/bin/bash
|
|
449
|
+
|
|
450
|
+
# Update from v2.x to v3.0.0
|
|
451
|
+
|
|
452
|
+
# 1. Uninstall old CLI
|
|
453
|
+
npm uninstall -g @visualify/cli
|
|
454
|
+
|
|
455
|
+
# 2. Install new CLI
|
|
456
|
+
npm i -g visualifyjs
|
|
457
|
+
|
|
458
|
+
# 3. Verify installation
|
|
459
|
+
visualify --version
|
|
460
|
+
|
|
461
|
+
# 4. Create visualify.json if it doesn't exist
|
|
462
|
+
if [ ! -f "visualify.json" ]; then
|
|
463
|
+
echo '{"version": "3.0.0", "mode": "portal"}' > visualify.json
|
|
464
|
+
echo "Created visualify.json with default configuration"
|
|
465
|
+
fi
|
|
466
|
+
|
|
467
|
+
echo "Migration complete!"
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
---
|
|
471
|
+
|
|
472
|
+
## Troubleshooting
|
|
473
|
+
|
|
474
|
+
### Command not found
|
|
475
|
+
|
|
476
|
+
```bash
|
|
477
|
+
# Check if installed
|
|
478
|
+
which visualify
|
|
479
|
+
|
|
480
|
+
# If not found, reinstall
|
|
481
|
+
npm i -g visualifyjs
|
|
482
|
+
|
|
483
|
+
# Or use npx
|
|
484
|
+
npx visualifyjs --version
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
### Port already in use
|
|
488
|
+
|
|
489
|
+
```bash
|
|
490
|
+
# Use a different port
|
|
491
|
+
visualify dev --port 8080
|
|
492
|
+
|
|
493
|
+
# Or let the CLI find an available port
|
|
494
|
+
visualify dev --port 0
|
|
495
|
+
```
|
|
496
|
+
|
|
497
|
+
### Configuration errors
|
|
498
|
+
|
|
499
|
+
```bash
|
|
500
|
+
# Validate configuration
|
|
501
|
+
visualify dev --dry-run
|
|
502
|
+
|
|
503
|
+
# Check configuration file
|
|
504
|
+
cat visualify.json
|
|
505
|
+
```
|
|
506
|
+
|
|
507
|
+
---
|
|
508
|
+
|
|
509
|
+
## Related Documentation
|
|
510
|
+
|
|
511
|
+
- [Migration Guide](../migration/v3-migration.md)
|
|
512
|
+
- [Configuration Reference](../configuration/visualify-json.md)
|
|
513
|
+
- [Quick Start](../../docs/quickstart.md)
|