A layer-based library for interactive visualization of large datasets.
This project is under active development and not yet stable. We welcome bug reports and new ideas, but are not prepared to review or accept major contributions at this time.
If you believe you have found a security issue, please responsibly disclose via the process in our Security Policy.
-
Install the development version of node.
If you use
nvmto manage node versions, you can run:nvm useOtherwise, manually install the version of node specified in
.nvmrc. -
Install the dependencies required by this project (from within this directory):
npm installRe-run this command any time the dependencies listed in package.json change, such as after checking out a different revision or pulling changes.
-
To run a local server for development purposes (from the repo root):
npm run examplesThis will start a server on http://localhost:5173.
-
To run the unit test suite (headless Chrome using playwright), run:
npm testornpm run test-with-coverageto generate a coverage report.By default, the test runner will watch for changes to the source files and re-run the tests automatically, so you can leave it running while you work. To run the tests once and exit, use
npm run test -- --run. -
See package.json for other available commands.
We maintain the @idetik/core package on npm.
We use semantic-release to automatically handle versioning, changelog generation, npm publishing, and GitHub releases.
-
Use Conventional Commits: When creating PRs, ensure your PR title follows the Conventional Commits format:
feat: add new feature→ triggers a minor version bump (e.g., 7.0.0 → 7.1.0)fix: resolve bug→ triggers a patch version bump (e.g., 7.0.0 → 7.0.1)feat!: breaking changeorBREAKING CHANGE:in commit footer → triggers a major version bump (e.g., 7.0.0 → 8.0.0)refactor:,perf:,chore:→ triggers a patch version bumpdocs:,style:,test:,ci:,build:→ no release
-
PR Title Validation: Our CI automatically validates PR titles to ensure they follow the conventional commit format.
-
Merge to Main: When your PR is merged to
main, the release workflow automatically:- Analyzes commits since the last release
- Determines the version bump
- Updates the version in
package.json - Generates/updates
CHANGELOG.md - Publishes to npm as
@idetik/core - Creates a GitHub release with release notes
- Tags the release (e.g.,
v7.1.0)
-
No Manual Intervention Required: The entire process is automatic once merged to
main.
- For GH Actions:
- Set up "trusted publishing" for the repo/package pair on npm (uses OIDC to authenticate when publishing)
- Use
actions/create-github-app-tokento generate a GH token sosemantic-releasecan comment on the PR after release
- For manual releases:
- Set
NPM_TOKENenv var with an npm token with publish access to@idetikscope - You must be a member of the idetik developer team on NPM
- Set
If you need to manually release (e.g., if the automated process fails), follow these steps:
-
Bump the version:
git switch -c your-name/prerelease-X-Y-Z npm version [major|minor|patch] # Choose appropriate bump npm install # Updates package-lock.json npm run build
-
Create and merge PR:
- Create a PR with your changes
- Get it approved and merge to
main
-
Publish to npm:
git checkout main git pull npm login npm run pub
-
Tag the release:
git tag vX.Y.Z # Use the version number from package.json git push origin --tags -
Create GitHub release:
- Go to the Releases page
- Click "Create a new release"
- Select the tag you just created
- Add release notes describing the changes
This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to opensource@chanzuckerberg.com.