@idetik/core 0.18.1 → 0.18.2

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/LICENSE ADDED
@@ -0,0 +1,18 @@
1
+ MIT License
2
+
3
+ Copyright 2026 Chan Zuckerberg Biohub, Inc.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
6
+ associated documentation files (the “Software”), to deal in the Software without restriction,
7
+ including without limitation the rights to use, copy, modify, merge, publish, distribute,
8
+ sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
9
+ furnished to do so, subject to the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be included in all copies or substantial
12
+ portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
15
+ NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
16
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
17
+ OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
18
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/README.md CHANGED
@@ -1,17 +1,124 @@
1
- # @idetik/core
1
+ # Project
2
2
 
3
3
  A layer-based library for interactive visualization of large datasets.
4
4
 
5
- ## Installation
6
-
7
- ```bash
8
- npm install @idetik/core
9
- ```
10
-
11
5
  ## Project Status
12
6
 
13
7
  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.
14
8
 
15
- ## Documentation
9
+ ## Reporting Security Issues
10
+
11
+ If you believe you have found a security issue, please responsibly disclose via the process in our [Security Policy](SECURITY.md).
12
+
13
+ ## Getting started (development)
14
+
15
+ 1. Install the development version of node.
16
+
17
+ If you use `nvm` to manage node versions, you can run:
18
+
19
+ `nvm use`
20
+
21
+ Otherwise, manually install the version of node specified in `.nvmrc`.
22
+
23
+ 2. Install the dependencies required by this project (from within this directory):
24
+
25
+ `npm install`
26
+
27
+ Re-run this command any time the dependencies listed in [package.json](package.json) change, such
28
+ as after checking out a different revision or pulling changes.
29
+
30
+ 3. To run a local server for development purposes (from the repo root):
31
+
32
+ `npm run examples`
33
+
34
+ This will start a server on <http://localhost:5173>.
35
+
36
+ 4. To run the unit test suite (headless Chrome using playwright), run:
37
+
38
+ `npm test` or `npm run test-with-coverage` to generate a coverage report.
39
+
40
+ By default, the test runner will watch for changes to the source files and re-run the tests
41
+ automatically, so you can leave it running while you work. To run the tests once and exit, use
42
+ `npm run test -- --run`.
43
+
44
+ 5. See [package.json](package.json) for other available commands.
45
+
46
+ ## Release
47
+
48
+ We maintain the [@idetik/core](https://www.npmjs.com/package/@idetik/core?activeTab=readme) package on npm.
49
+
50
+ ### Automatic Release Process (Recommended)
51
+
52
+ We use [semantic-release](https://github.com/semantic-release/semantic-release) to automatically handle versioning, changelog generation, npm publishing, and GitHub releases.
53
+
54
+ #### How It Works
55
+
56
+ 1. **Use Conventional Commits**: When creating PRs, ensure your PR title follows the [Conventional Commits](https://www.conventionalcommits.org/) format:
57
+ - `feat: add new feature` → triggers a **minor** version bump (e.g., 7.0.0 → 7.1.0)
58
+ - `fix: resolve bug` → triggers a **patch** version bump (e.g., 7.0.0 → 7.0.1)
59
+ - `feat!: breaking change` or `BREAKING CHANGE:` in commit footer → triggers a **major** version bump (e.g., 7.0.0 → 8.0.0)
60
+ - `refactor:`, `perf:`, `chore:` → triggers a **patch** version bump
61
+ - `docs:`, `style:`, `test:`, `ci:`, `build:` → no release
62
+
63
+ 2. **PR Title Validation**: Our CI automatically validates PR titles to ensure they follow the conventional commit format.
64
+
65
+ 3. **Merge to Main**: When your PR is merged to `main`, the release workflow automatically:
66
+ - Analyzes commits since the last release
67
+ - Determines the version bump
68
+ - Updates the version in `package.json`
69
+ - Generates/updates `CHANGELOG.md`
70
+ - Publishes to npm as `@idetik/core`
71
+ - Creates a GitHub release with release notes
72
+ - Tags the release (e.g., `v7.1.0`)
73
+
74
+ 4. **No Manual Intervention Required**: The entire process is automatic once merged to `main`.
75
+
76
+ #### Pre-requirements
77
+
78
+ - For GH Actions:
79
+ - Set up "trusted publishing" for the repo/package pair on npm (uses OIDC to authenticate when publishing)
80
+ - Use `actions/create-github-app-token` to generate a GH token so `semantic-release` can comment
81
+ on the PR after release
82
+ - For manual releases:
83
+ - Set `NPM_TOKEN` env var with an npm token with publish access to `@idetik` scope
84
+ - You must be a member of the [idetik developer team](https://www.npmjs.com/settings/idetik/teams/team/developers/users) on NPM
85
+
86
+ ### Manual Release Process (Fallback)
87
+
88
+ If you need to manually release (e.g., if the automated process fails), follow these steps:
89
+
90
+ 1. **Bump the version**:
91
+ ```shell
92
+ git switch -c your-name/prerelease-X-Y-Z
93
+ npm version [major|minor|patch] # Choose appropriate bump
94
+ npm install # Updates package-lock.json
95
+ npm run build
96
+ ```
97
+
98
+ 2. **Create and merge PR**:
99
+ - Create a PR with your changes
100
+ - Get it approved and merge to `main`
101
+
102
+ 3. **Publish to npm**:
103
+ ```shell
104
+ git checkout main
105
+ git pull
106
+ npm login
107
+ npm run pub
108
+ ```
109
+
110
+ 4. **Tag the release**:
111
+ ```shell
112
+ git tag vX.Y.Z # Use the version number from package.json
113
+ git push origin --tags
114
+ ```
115
+
116
+ 5. **Create GitHub release**:
117
+ - Go to the [Releases page](https://github.com/chanzuckerberg/idetik/releases)
118
+ - Click "Create a new release"
119
+ - Select the tag you just created
120
+ - Add release notes describing the changes
121
+
122
+ ## Code of Conduct
16
123
 
17
- For complete documentation, development setup, and contribution guidelines, see the [main repository](https://github.com/chanzuckerberg/idetik).
124
+ This project adheres to the Contributor Covenant [code of conduct](https://www.contributor-covenant.org/version/3/0/code_of_conduct/). By participating, you are expected to uphold this code. Please report unacceptable behavior to opensource@chanzuckerberg.com.