@napi-rs/canvas 0.1.85 → 0.1.87

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/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # `skr canvas`
2
2
 
3
3
  [![CI](https://github.com/Brooooooklyn/canvas/actions/workflows/CI.yaml/badge.svg)](https://github.com/Brooooooklyn/canvas/actions/workflows/CI.yaml)
4
- ![Skia Version](https://img.shields.io/badge/Skia-chrome%2Fm143-hotpink)
4
+ ![Skia Version](https://img.shields.io/badge/Skia-chrome%2Fm144-hotpink)
5
5
  [![install size](https://packagephobia.com/badge?p=@napi-rs/canvas)](https://packagephobia.com/result?p=@napi-rs/canvas)
6
6
  [![Downloads](https://img.shields.io/npm/dm/@napi-rs/canvas.svg?sanitize=true)](https://npmcharts.com/compare/@napi-rs/canvas?minimal=true)
7
7
 
package/index.d.ts CHANGED
@@ -212,6 +212,7 @@ interface CanvasTextDrawingStyles {
212
212
  textRendering: CanvasTextRendering
213
213
  wordSpacing: string
214
214
  fontVariationSettings: string
215
+ lang: string
215
216
  }
216
217
 
217
218
  interface CanvasFilters {
@@ -503,12 +504,14 @@ export class Image {
503
504
  readonly naturalWidth: number
504
505
  readonly naturalHeight: number
505
506
  readonly complete: boolean
507
+ readonly currentSrc: string | null
506
508
  alt: string
507
509
  // the src can be a Uint8Array or a string
508
510
  // if it's a string, it can be a file path, a data URL, a remote URL, or a SVG string
509
511
  src: Uint8Array | string
510
512
  onload?(): void
511
513
  onerror?(err: Error): void
514
+ decode(): Promise<void>
512
515
  }
513
516
 
514
517
  export class Path2D {
package/load-image.js CHANGED
@@ -117,11 +117,15 @@ function consumeStream(res) {
117
117
  })
118
118
  }
119
119
 
120
- function createImage(src, alt) {
120
+ async function createImage(src, alt) {
121
+ const image = new Image()
122
+ if (typeof alt === 'string') image.alt = alt
123
+
121
124
  return new Promise((resolve, reject) => {
122
- const image = new Image()
123
- if (typeof alt === 'string') image.alt = alt
124
- image.onload = () => resolve(image)
125
+ image.onload = () => {
126
+ // Wait for bitmap decode before resolving
127
+ image.decode().then(() => resolve(image), reject)
128
+ }
125
129
  image.onerror = (e) => reject(e)
126
130
  image.src = src
127
131
  })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@napi-rs/canvas",
3
- "version": "0.1.85",
3
+ "version": "0.1.87",
4
4
  "description": "Canvas for Node.js with skia backend",
5
5
  "main": "index.js",
6
6
  "repository": {
@@ -77,37 +77,37 @@
77
77
  "@jimp/custom": "^0.22.12",
78
78
  "@jimp/jpeg": "^0.22.12",
79
79
  "@jimp/png": "^0.22.12",
80
- "@napi-rs/cli": "^3.1.1",
81
- "@napi-rs/webcodecs": "^1.1.0",
82
- "@octokit/rest": "^22.0.0",
80
+ "@napi-rs/cli": "^3.5.0",
81
+ "@napi-rs/webcodecs": "^1.1.1",
82
+ "@octokit/rest": "^22.0.1",
83
83
  "@oxc-node/cli": "^0.0.35",
84
84
  "@oxc-node/core": "^0.0.35",
85
85
  "@taplo/cli": "^0.7.0",
86
- "@types/lodash": "^4.17.17",
87
- "@types/node": "^24.0.0",
86
+ "@types/lodash": "^4.17.21",
87
+ "@types/node": "^25.0.3",
88
88
  "@types/semver": "^7",
89
- "ava": "^6.3.0",
90
- "canvas": "^3.1.0",
89
+ "ava": "^6.4.1",
90
+ "canvas": "^3.2.0",
91
91
  "canvaskit-wasm": "^0.40.0",
92
92
  "colorette": "^2.0.20",
93
93
  "conventional-changelog-cli": "^5.0.0",
94
- "core-js": "^3.42.0",
94
+ "core-js": "^3.47.0",
95
95
  "echarts": "^6.0.0",
96
- "electron": "^39.0.0",
96
+ "electron": "^39.2.7",
97
97
  "husky": "^9.1.7",
98
- "lint-staged": "^16.1.0",
98
+ "lint-staged": "^16.2.7",
99
99
  "lodash": "^4.17.21",
100
100
  "npm-run-all2": "^8.0.4",
101
- "oxlint": "^1.0.0",
101
+ "oxlint": "^1.34.0",
102
102
  "pinst": "^3.0.0",
103
103
  "png.js": "^0.2.1",
104
- "prettier": "^3.5.3",
105
- "pretty-bytes": "^7.0.0",
106
- "semver": "^7.7.2",
107
- "skia-canvas": "^3.0.0",
104
+ "prettier": "^3.7.4",
105
+ "pretty-bytes": "^7.1.0",
106
+ "semver": "^7.7.3",
107
+ "skia-canvas": "^3.0.8",
108
108
  "table": "^6.9.0",
109
109
  "tinybench": "^6.0.0",
110
- "typescript": "^5.8.3"
110
+ "typescript": "^5.9.3"
111
111
  },
112
112
  "lint-staged": {
113
113
  "*.@(js|ts|tsx|yml|yaml|md|json|html)": [
@@ -150,16 +150,16 @@
150
150
  },
151
151
  "packageManager": "yarn@4.12.0",
152
152
  "optionalDependencies": {
153
- "@napi-rs/canvas-linux-x64-gnu": "0.1.85",
154
- "@napi-rs/canvas-darwin-x64": "0.1.85",
155
- "@napi-rs/canvas-win32-x64-msvc": "0.1.85",
156
- "@napi-rs/canvas-win32-arm64-msvc": "0.1.85",
157
- "@napi-rs/canvas-linux-arm-gnueabihf": "0.1.85",
158
- "@napi-rs/canvas-linux-x64-musl": "0.1.85",
159
- "@napi-rs/canvas-linux-arm64-gnu": "0.1.85",
160
- "@napi-rs/canvas-linux-arm64-musl": "0.1.85",
161
- "@napi-rs/canvas-darwin-arm64": "0.1.85",
162
- "@napi-rs/canvas-android-arm64": "0.1.85",
163
- "@napi-rs/canvas-linux-riscv64-gnu": "0.1.85"
153
+ "@napi-rs/canvas-linux-x64-gnu": "0.1.87",
154
+ "@napi-rs/canvas-darwin-x64": "0.1.87",
155
+ "@napi-rs/canvas-win32-x64-msvc": "0.1.87",
156
+ "@napi-rs/canvas-win32-arm64-msvc": "0.1.87",
157
+ "@napi-rs/canvas-linux-arm-gnueabihf": "0.1.87",
158
+ "@napi-rs/canvas-linux-x64-musl": "0.1.87",
159
+ "@napi-rs/canvas-linux-arm64-gnu": "0.1.87",
160
+ "@napi-rs/canvas-linux-arm64-musl": "0.1.87",
161
+ "@napi-rs/canvas-darwin-arm64": "0.1.87",
162
+ "@napi-rs/canvas-android-arm64": "0.1.87",
163
+ "@napi-rs/canvas-linux-riscv64-gnu": "0.1.87"
164
164
  }
165
165
  }