canvas-globe 1.0.1 → 1.1.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/CHANGELOG.md CHANGED
@@ -6,6 +6,22 @@ All notable changes to this package are documented here. The format follows
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [1.1.0] - 2026-09-17
10
+
11
+ - Added official Vue, Angular, Svelte, and Web Component packages that keep
12
+ framework lifecycle code separate while sharing the CanvasGlobe renderer.
13
+ - Added `3d-globe-map` as an official discovery package that re-exports the
14
+ canonical `canvas-globe` implementation without duplicating source code.
15
+ - Extended companion-package release checks and publishing automation so all
16
+ official package entry points stay version-aligned.
17
+
18
+ ## [1.0.2] - 2026-09-17
19
+
20
+ - Added a prominent commercial-license notice near the top of the npm README,
21
+ with direct links to pricing, the license agreement, and licensing support.
22
+ - Kept the animated product demo above the notice and replaced the unavailable
23
+ Skills.sh badge destination with the installable skill source in GitHub.
24
+
9
25
  ## [1.0.1] - 2026-09-17
10
26
 
11
27
  - Updated browser CDN and ESM examples to load the current commercial release
package/README.md CHANGED
@@ -6,10 +6,26 @@
6
6
  [![License](https://img.shields.io/badge/license-commercial-7c3aed.svg)](https://canvasglobe.swiftools.com/licensing)
7
7
  [![TypeScript declarations](https://img.shields.io/badge/types-included-3178c6.svg)](types/index.d.ts)
8
8
  [![zero runtime dependencies](https://img.shields.io/badge/runtime_dependencies-0-2ea44f.svg)](package.json)
9
- [![Agent skill](https://img.shields.io/badge/agent_skill-install-111827.svg)](https://skills.sh/Shree-hari/canvas-globe)
9
+ [![Agent skill](https://img.shields.io/badge/agent_skill-install-111827.svg)](https://github.com/Shree-hari/canvas-globe/tree/main/skills/canvas-globe)
10
10
 
11
11
  [![Animated CanvasGlobe demo cycling through interactive globe themes, markers, and routes](https://raw.githubusercontent.com/Shree-hari/canvas-globe/main/assets/readme/canvas-globe-demo.gif)](https://canvasglobe.swiftools.com/playground)
12
12
 
13
+ > **Important: a commercial license is required for production use**
14
+ >
15
+ > - CanvasGlobe is proprietary commercial software. Availability on npm or
16
+ > GitHub does not grant production or redistribution rights.
17
+ > - Purchase a
18
+ > [Solo, Team, Business, or OEM license](https://canvasglobe.swiftools.com/pricing)
19
+ > before using CanvasGlobe in production.
20
+ > - After purchase, configure the supplied license key in the `licenseKey`
21
+ > option. Public production use without a valid license key is restricted and
22
+ > displays a licensing notice.
23
+ > - Downloading, installing, purchasing, or using CanvasGlobe indicates
24
+ > acceptance of the
25
+ > [CanvasGlobe Software License Agreement](https://canvasglobe.swiftools.com/licensing).
26
+ > - For help related to purchasing or licensing, email
27
+ > [globe@swiftools.com](mailto:globe@swiftools.com).
28
+
13
29
  [**Open the live playground**](https://canvasglobe.swiftools.com/playground) ·
14
30
  [Examples](https://canvasglobe.swiftools.com/examples) ·
15
31
  [Documentation](https://canvasglobe.swiftools.com/intro) ·
@@ -25,7 +41,7 @@
25
41
 
26
42
  `canvas-globe` is a zero-dependency JavaScript library for an interactive
27
43
  **3D globe** and **flat world map** on Canvas 2D. It works with
28
- vanilla JavaScript, React, or a Web Component and requires no WebGL, map API
44
+ vanilla JavaScript, React, Vue, Angular, Svelte, or a Web Component and requires no WebGL, map API
29
45
  key, tile service, or runtime network request.
30
46
 
31
47
  - **Zero dependencies:** no WebGL, D3, map tiles, or API keys
@@ -44,7 +60,7 @@ key, tile service, or runtime network request.
44
60
  - **Day and night:** calculate the solar terminator for a given time
45
61
  - **Four projections:** orthographic, equirectangular, Mercator, and Natural Earth
46
62
  - **Accessibility:** keyboard controls, a live region, and reduced-motion support
47
- - **Bindings:** vanilla JavaScript, a custom element, and React
63
+ - **Bindings:** vanilla JavaScript, React, Vue, Angular, Svelte, and a custom element
48
64
 
49
65
  Common uses include audience dashboards, launch pages, status boards, and share graphics.
50
66
 
@@ -119,19 +135,19 @@ your existing application rather than installing a second React copy.
119
135
  For a plain `<script>` installation, use the versioned UMD build:
120
136
 
121
137
  ```html
122
- <script src="https://cdn.jsdelivr.net/npm/canvas-globe@1.0.1/dist/canvas-globe.umd.js"></script>
138
+ <script src="https://cdn.jsdelivr.net/npm/canvas-globe@1.1.0/dist/canvas-globe.umd.js"></script>
123
139
  ```
124
140
 
125
141
  The same npm release is also available from UNPKG:
126
142
 
127
143
  ```html
128
- <script src="https://unpkg.com/canvas-globe@1.0.1/dist/canvas-globe.umd.js"></script>
144
+ <script src="https://unpkg.com/canvas-globe@1.1.0/dist/canvas-globe.umd.js"></script>
129
145
  ```
130
146
 
131
147
  Modern browsers can import the package through an ESM CDN:
132
148
 
133
149
  ```js
134
- import { createGlobe } from "https://esm.sh/canvas-globe@1.0.1";
150
+ import { createGlobe } from "https://esm.sh/canvas-globe@1.1.0";
135
151
  ```
136
152
 
137
153
  Pin an exact version in production so a future release cannot change a deployed page unexpectedly.
@@ -151,7 +167,7 @@ import { createGlobe } from "canvas-globe";
151
167
  Or drop the UMD build on a page with no build step at all:
152
168
 
153
169
  ```html
154
- <script src="https://cdn.jsdelivr.net/npm/canvas-globe@1.0.1/dist/canvas-globe.umd.js"></script>
170
+ <script src="https://cdn.jsdelivr.net/npm/canvas-globe@1.1.0/dist/canvas-globe.umd.js"></script>
155
171
  <canvas id="globe" style="width:520px;aspect-ratio:1"></canvas>
156
172
  <script>
157
173
  CanvasGlobe.createGlobe(document.getElementById("globe"), {
@@ -234,6 +250,23 @@ For a dedicated React package name, install the thin companion entry point:
234
250
  npm install react-canvas-globe
235
251
  ```
236
252
 
253
+ ### Framework and discovery packages
254
+
255
+ Every official package uses the same CanvasGlobe renderer and commercial
256
+ license. Framework packages add native lifecycle and event integration, while
257
+ `3d-globe-map` is an alternate discovery entry for the canonical API.
258
+
259
+ | Package | Use it for |
260
+ | --- | --- |
261
+ | [`canvas-globe`](https://www.npmjs.com/package/canvas-globe) | Canonical JavaScript and Canvas 2D API |
262
+ | [`react-canvas-globe`](https://www.npmjs.com/package/react-canvas-globe) | React component |
263
+ | [`canvas-globe-vue`](https://www.npmjs.com/package/canvas-globe-vue) | Vue 3 component |
264
+ | [`canvas-globe-angular`](https://www.npmjs.com/package/canvas-globe-angular) | Angular standalone component |
265
+ | [`canvas-globe-svelte`](https://www.npmjs.com/package/canvas-globe-svelte) | Svelte and SvelteKit component |
266
+ | [`canvas-globe-web-component`](https://www.npmjs.com/package/canvas-globe-web-component) | Framework-independent custom element |
267
+ | [`3d-globe-map`](https://www.npmjs.com/package/3d-globe-map) | Search-friendly alternate package entry |
268
+ | [`create-canvas-globe`](https://www.npmjs.com/package/create-canvas-globe) | Project scaffolder and starter templates |
269
+
237
270
  To scaffold a complete starter for React, Next.js, Vue, SvelteKit, Vanilla
238
271
  JavaScript, or Web Components, run:
239
272
 
package/codemeta.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "identifier": "canvas-globe",
6
6
  "description": "CanvasGlobe helps developers add interactive 3D globes and flat world maps to JavaScript and React apps with Canvas 2D, without WebGL, map tiles, API keys, or runtime network calls.",
7
7
  "url": "https://canvasglobe.swiftools.com/",
8
- "version": "1.0.1",
8
+ "version": "1.1.0",
9
9
  "codeRepository": "https://github.com/Shree-hari/canvas-globe",
10
10
  "issueTracker": "https://github.com/Shree-hari/canvas-globe/issues",
11
11
  "downloadUrl": "https://www.npmjs.com/package/canvas-globe",
@@ -1314,7 +1314,7 @@ function drawFitted(ctx, media, box) {
1314
1314
  }
1315
1315
 
1316
1316
  // Keep in sync with package.json. Release checks enforce this value.
1317
- const CANVAS_GLOBE_VERSION = "1.0.1";
1317
+ const CANVAS_GLOBE_VERSION = "1.1.0";
1318
1318
 
1319
1319
  /** Local license-key checks and production-use presentation helpers. */
1320
1320
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "canvas-globe",
3
- "version": "1.0.1",
4
- "description": "Build interactive 3D globes and flat world maps in JavaScript or React with Canvas 2D, without WebGL, map tiles, API keys, or runtime network calls.",
3
+ "version": "1.1.0",
4
+ "description": "Build interactive 3D globes and flat world maps in JavaScript, React, Vue, Angular, or Svelte with Canvas 2D and no WebGL.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": {
7
7
  "name": "Harsh Jhunjhunuwala"
@@ -24,6 +24,11 @@
24
24
  "map",
25
25
  "world-map",
26
26
  "react-globe",
27
+ "vue-globe",
28
+ "angular-globe",
29
+ "svelte-globe",
30
+ "web-component-globe",
31
+ "3d-globe-map",
27
32
  "react",
28
33
  "globe-visualization",
29
34
  "data-visualization",
@@ -97,7 +102,8 @@
97
102
  "build:registry": "shadcn build --output .registry-build",
98
103
  "capture:readme": "node scripts/capture-readme-demo.mjs",
99
104
  "test": "node --test",
100
- "test:ecosystem": "npm run build:registry && node scripts/validate-ecosystem.mjs && npm --prefix packages/create-canvas-globe test",
105
+ "build:companions": "npm --prefix packages/canvas-globe-angular run build",
106
+ "test:ecosystem": "npm run build:companions && npm run build:registry && node scripts/validate-ecosystem.mjs && npm --prefix packages/create-canvas-globe test",
101
107
  "typecheck": "tsc --noEmit -p tsconfig.json",
102
108
  "typecheck:ecosystem": "tsc --noEmit -p tsconfig.ecosystem.json",
103
109
  "smoke:package": "node scripts/package-smoke.mjs",
@@ -115,18 +121,26 @@
115
121
  }
116
122
  },
117
123
  "devDependencies": {
124
+ "@angular/compiler": "^21.2.23",
125
+ "@angular/compiler-cli": "^21.2.23",
126
+ "@angular/core": "^21.2.23",
118
127
  "@storybook/addon-a11y": "^10.6.0",
119
128
  "@storybook/html-vite": "^10.6.0",
129
+ "@sveltejs/package": "^2.5.8",
120
130
  "@types/react": "^19.3.0",
121
131
  "chromatic": "^18.8.1",
122
132
  "gifenc": "^1.0.3",
123
133
  "playwright-core": "^1.63.0",
124
134
  "pngjs": "^7.0.0",
125
135
  "polygon-clipping": "^0.15.7",
136
+ "rxjs": "^7.8.2",
126
137
  "shadcn": "^4.21.0",
127
138
  "storybook": "^10.6.0",
139
+ "svelte": "^5.57.0",
128
140
  "topojson-client": "^3.1.0",
129
- "typescript": "^5.5.0"
141
+ "typescript": "^5.5.0",
142
+ "vue": "^3.5.43",
143
+ "zone.js": "^0.16.0"
130
144
  },
131
145
  "engines": {
132
146
  "node": ">=18"
package/src/version.js CHANGED
@@ -1,2 +1,2 @@
1
1
  // Keep in sync with package.json. Release checks enforce this value.
2
- export const CANVAS_GLOBE_VERSION = "1.0.1";
2
+ export const CANVAS_GLOBE_VERSION = "1.1.0";