![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
This package is the main `vitessce` package on NPM. It exports the `<Vitessce/>` from `@vitessce/all` for backwards compatibility.
Visual Integration Tool for Exploration of Spatial Single-Cell Experiments
![]() |
![]() |
Vitessce consists of reusable interactive views including a scatterplot, spatial+imaging plot, genome browser tracks, statistical plots, and control views, built on web technologies such as WebGL.
Vitessce enables visual analysis of multi-modal assay types which probe biological systems through techniques such as microscopy, genomics, and transcriptomics.
Visualize large datasets stored in static cloud object stores such as AWS S3. No need to manage or pay for expensive compute infrastructure for visualization purposes.
Vitessce can be used in React projects by installing the package from NPM:
npm install vitessce
For more details, please visit the documentation.
We welcome contributions! Please check out our Contributing Guide for detailed instructions.
First install PNPM v9.5. We develop and test against NodeJS v18.6.0
and NPM 8.13.2
.
Note NodeJS may require the
max_old_space_size
value to be increased.
. ./scripts/set-node-options.sh
Checkout the project, cd
, and then:
pnpm install
pnpm run build
pnpm run start-demo
The development server will refresh the browser as you edit the code.
Further details for internal developers can be found within dev-docs.
We use changesets to manage the changelog.
Therefore, when making code changes, do not edit CHANGELOG.md
directly.
Instead, run pnpm changeset
, follow the prompts, and commit the resulting markdown files along with the code changes.
Please use one of the following naming conventions for new branches:
{github-username}/{feature-name}
{github-username}/fix-{issue-num}
We use squash merging for pull requests.
See pnpm-workspace.yaml
for more information.
We are using PNPM catalogs which are available from v9.5.0 of PNPM.
For the end-to-end tests, they depend on
cd sites/demo && pnpm run build-demo
./scripts/test.sh
pnpm run test
pnpm run lint
To allow the linter to perform automated fixes during linting: pnpm run lint-fix
The following commands can be helpful in case the local environment gets into a broken state:
pnpm install
pnpm run clean
: removes build/bundle directories and all tsconfig.tsbuildinfo
files (used by TypeScript's Project References).
pnpm run build
: need to re-build subpackages after this type of cleanup.pnpm run clean-deps
: removes all node_modules
directories, including those nested inside subpackages.
pnpm install
: need to re-install dependencies after this type of cleanup.Before running any of the deployment scripts, confirm that you have installed the AWS CLI and are in the appropriate AWS account:
$ aws iam list-account-aliases --query 'AccountAliases[0]'
"gehlenborglab"
To build the current branch and push the "minimal" demo and docs sites to S3, run this script:
./scripts/push-demos.sh
This will build the demo and docs, push both to S3, and finally open the docs deployment in your browser.
After doing a manual test of the deployment of the dev site, if it looks good, copy it to dev.vitessce.io:
./scripts/copy-dev.sh https://{url returned by scripts/deploy-release.sh or scripts/push-demos.sh}
Note: if you need to obtain this URL later:
Copy dev to https://legacy.vitessce.io/demos/$DATE/$HASH/index.html
After doing a manual test of the deployment of the docs, if it looks good, copy it to vitessce.io:
./scripts/copy-docs.sh https://{url returned by scripts/deploy-release.sh or scripts/push-demos.sh}
Note: if you need to obtain this URL later:
Copy docs to https://data-1.vitessce.io/docs-root/$DATE/$HASH/index.html
Releasing refers to publishing all sub-packages to NPM and creating a corresponding GitHub release.
Note: releasing does not currently result in automatic deployment of the documentation or development sites (see the Deployment section above).
When there are changesets on the main
branch, the changesets/action
bot will run ./scripts/changeset-version.sh --action
and make a pull request titled "Create release".
main
.Once this "Create release" pull request is merged, the next time release.yml
is executed on GitHub Actions, the following will occur:
changesets/action
will run ./scripts/changeset-publish.sh --action
, which:
softprops/action-gh-release
will generate a GitHub release based on the git tag, using the latest changelog entries for the release notes.pnpm run build
pnpm run bundle
pnpm run build-json-schema
./scripts/changeset-version.sh
./scripts/changeset-publish.sh # runs pnpm publish internally
In this project we try to follow semantic versioning. The following are examples of things that would require a major, minor, or patch type of bump.
Bug fixes, minor feature improvements, additional view types, additional coordination types, and additional file type implementations are possible in a patch version bump.
When a coordination type is added, it must be reflected by a new view config JSON schema with an incremented version
property, and a new view config upgrade function to enable previous view config versions to remain compatible.
The default schema version parameter of the VitessceConfig
constructor may also change to reflect the new schema version.
An exported helper function or React component for plugin views had a change in props or function signature. Major feature improvements or additions.
The exported constant values changed, such as view types and coordination types, such that previous code using these values may no longer run successfully.
React props of the main <Vitessce />
component changed.
Major behavior changes or interface updates.
Changes to the directory structure or filenames in the dist/
directory that could result in broken import statements.
To cite Vitessce in your work, please use:
@article{keller2024vitessce,
title = {{Vitessce: integrative visualization of multimodal and spatially resolved single-cell data}},
author = {Keller, Mark S. and Gold, Ilan and McCallum, Chuck and Manz, Trevor and Kharchenko, Peter V. and Gehlenborg, Nils},
journal = {Nature Methods},
year = {2024},
month = sep,
doi = {10.1038/s41592-024-02436-x}
}
If you use the image rendering functionality, please additionally cite Viv:
@article{manz2022viv,
title = {{Viv: multiscale visualization of high-resolution multiplexed bioimaging data on the web}},
author = {Manz, Trevor and Gold, Ilan and Patterson, Nathan Heath and McCallum, Chuck and Keller, Mark S. and Herr, II, Bruce W. and Börner, Kay and Spraggins, Jeffrey M. and Gehlenborg, Nils},
journal = {Nature Methods},
year = {2022},
month = may,
doi = {10.1038/s41592-022-01482-7}
}
FAQs
This package is the main `vitessce` package on NPM. It exports the `<Vitessce/>` from `@vitessce/all` for backwards compatibility.
The npm package vitessce receives a total of 565 weekly downloads. As such, vitessce popularity was classified as not popular.
We found that vitessce demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.