Vigia

ترقية skia-canvas من 3.x إلى 4.x

مقارنة الواجهة العامة لـ skia-canvas بين 3.0.8 و4.0.0، محسوبة تلقائيًا من أنواع TypeScript. التوقيع المعدّل تغيير محتمل غير متوافق، وليس أمرًا مؤكدًا.

الملخص

مسارات الاستيراد المحذوفة0
الصادرات المحذوفة0
التوقيعات المعدّلة13
أعضاء الأصناف أو الواجهات المحذوفة2
أعضاء الأصناف أو الواجهات المعدّلة44
موقوفة حديثًا1
تغييرات المتطلبات (engines واعتماديات peer)0
صادرات جديدة30

الصادرات المحذوفة

لم يُكتشف شيء.

التوقيعات المعدّلة

exportقبلبعد
skia-canvas · Matrixstring | DOMMatrix | { a: number; b: number; c: number; d: number; e: number; f: number; } | FixedLenArray<number, 6> | FixedLenArray<number, 16>DOMMatrix | TransformString | { a: number; b: number; c: number; d: number; e: number; f: number; } | FixedLenArray<number, 6> | FixedLenArray<number, 16>
skia-canvas · loadImage(src: string | URL, options?: RequestInit | undefined): Promise<Image> | (src: any): Promise<Image>(src: string | URL, options?: any): Promise<Image> | (src: any, options?: any): Promise<Image>
skia-canvas · ColorSpace"srgb""srgb" | "display-p3"
skia-canvas · CursorStyle"copy" | "move" | "none" | "default" | "crosshair" | "hand" | "arrow" | "text" | "wait" | "help" | "progress" | "not-allowed" | "context-menu" | "cell" | "vertical-text" | "alias" | "no-drop" | "grab" | "grabbing" | "all-scroll" | "zoom-in" | "zoom-out" | "e-resize" | "n-resize" | "ne-resize" | "nw-resize" | "s-resize" | "se-resize" | "sw-resize" | "w-resize" | "ew-resize" | "ns-resize" | "nesw-resize" | "nwse-resize" | "col-resize" | "row-resize""none" | "copy" | "move" | "default" | "crosshair" | "pointer" | "text" | "wait" | "help" | "progress" | "not-allowed" | "context-menu" | "cell" | "vertical-text" | "alias" | "no-drop" | "grab" | "grabbing" | "all-scroll" | "zoom-in" | "zoom-out" | "e-resize" | "n-resize" | "ne-resize" | "nw-resize" | "s-resize" | "se-resize" | "sw-resize" | "w-resize" | "ew-resize" | "ns-resize" | "nesw-resize" | "nwse-resize" | "col-resize" | "row-resize"
skia-canvas · ExportFormat"png" | "jpg" | "jpeg" | "webp" | "raw" | "pdf" | "svg""png" | "jpg" | "jpeg" | "webp" | "raw" | "pdf" | "svg" | "image/png" | "image/jpeg" | "image/webp" | "application/pdf" | "image/svg+xml" | "application/octet-stream"
skia-canvas · WindowEvents{ mousedown: MouseEventProps; mouseup: MouseEventProps; mousemove: MouseEventProps; keydown: KeyboardEventProps; keyup: KeyboardEventProps; input: { data: string; inputType: TextInputType; }; wheel: { deltaX: number; deltaY: number; }; fullscreen: { enabled: boolean; }; move: { left: number; top: number; }; resize: { height: number; width: number; }; frame: { frame: number; }; draw: { frame: number; }; blur: {}; focus: {}; setup: {}; close: {}; }{ mousedown: MouseEventProps; mouseup: MouseEventProps; mousemove: MouseEventProps; mouseenter: MouseEventProps; mouseleave: MouseEventProps; pointerdown: CoalescedPointerEventProps; pointerup: CoalescedPointerEventProps; pointermove: CoalescedPointerEventProps; pointerover: PointerEventProps; pointerenter: PointerEventProps; pointerout: PointerEventProps; pointerleave: PointerEventProps; pointercancel: PointerEventProps; keydown: KeyboardEventProps; keyup: KeyboardEventProps; input: { data: string; inputType: TextInputType; }; compositionstart: CompositionEventProps; compositionupdate: Compos…
skia-canvas · WindowOptions{ title?: string | undefined; left?: number | undefined; top?: number | undefined; width?: number | undefined; height?: number | undefined; fit?: FitStyle | undefined; page?: number | undefined; background?: string | undefined; fullscreen?: boolean | undefined; borderless?: boolean | undefined; resizable?: boolean | undefined; visible?: boolean | undefined; cursor?: CursorStyle | undefined; canvas?: Canvas | undefined; } & TextOptions{ title?: string | undefined; left?: number | undefined; top?: number | undefined; width?: number | undefined; height?: number | undefined; fit?: FitStyle | undefined; page?: number | undefined; background?: CSSColor | undefined; fullscreen?: boolean | undefined; borderless?: boolean | undefined; resizable?: boolean | undefined; visible?: boolean | undefined; cursor?: CursorStyle | undefined; canvas?: Canvas | undefined; } & TextOptions
skia-canvas · loadImageData(src: any, width: number, height?: number | undefined): Promise<ImageData> | (src: any, width: number, height: number, settings?: (ImageDataSettings & RequestInit) | undefined): Promise<ImageData> | (src: Sharp): Promise<ImageData>(src: any, width: number, height?: number | undefined): Promise<ImageData> | (src: any, width: number, height: number, settings?: any): Promise<ImageData> | (src: Sharp): Promise<ImageData>
skia-canvas · CanvasDrawableImage | ImageData | CanvasImage | ImageData | Canvas | CanvasRenderingContext2D
skia-canvas · FontVariantSetting"normal" | "historical-forms" | "small-caps" | "all-small-caps" | "petite-caps" | "all-petite-caps" | "unicase" | "titling-caps" | "lining-nums" | "oldstyle-nums" | "proportional-nums" | "tabular-nums" | "diagonal-fractions" | "stacked-fractions" | "ordinal" | "slashed-zero" | "common-ligatures" | "no-common-ligatures" | "discretionary-ligatures" | "no-discretionary-ligatures" | "historical-ligatures" | "no-historical-ligatures" | "contextual" | "no-contextual" | "jis78" | "jis83" | "jis90" | "jis04" | "simplified" | "traditional" | "full-width" | "proportional-width" | "ruby" | "super" | "sub…(string & {}) | FontVariantKeyword | FontVariantAlternate
skia-canvas · KeyboardEventProps{ key: string; code: string; location: number; repeat: boolean; ctrlKey: boolean; altKey: boolean; metaKey: boolean; shiftKey: boolean; }{ key: string; code: string; location: number; repeat: boolean; ctrlKey: boolean; altKey: boolean; metaKey: boolean; shiftKey: boolean; preventDefault(): void; }
skia-canvas · CanvasPatternSourceImage | CanvasImage | ImageData | Canvas | CanvasRenderingContext2D
skia-canvas · GlobalCompositeOperation"color" | "color-burn" | "color-dodge" | "copy" | "darken" | "destination-atop" | "destination-in" | "destination-out" | "destination-over" | "difference" | "exclusion" | "hard-light" | "hue" | "lighten" | "lighter" | "luminosity" | "multiply" | "overlay" | "saturation" | "screen" | "soft-light" | "source-atop" | "source-in" | "source-out" | "source-over" | "xor""clear" | "color" | "color-burn" | "color-dodge" | "copy" | "darken" | "destination" | "destination-atop" | "destination-in" | "destination-out" | "destination-over" | "difference" | "exclusion" | "hard-light" | "hue" | "lighten" | "lighter" | "luminosity" | "multiply" | "overlay" | "saturation" | "screen" | "soft-light" | "source-atop" | "source-in" | "source-out" | "source-over" | "xor"

أعضاء الأصناف أو الواجهات المحذوفة

memberimportقبل
Canvas.toSharpSyncskia-canvas(options?: RenderOptions | undefined): Sharp
Canvas.static contextsskia-canvasWeakMap<Canvas, readonly CanvasRenderingContext2D[]>

أعضاء الأصناف أو الواجهات المعدّلة

memberقبلبعد
App.eventLoopEventLoopModeundefined
Canvas.toURL(format: ExportFormat, options?: ExportOptions | undefined): Promise<string>(format?: ExportFormat | undefined, options?: ExportOptions | undefined): Promise<string>
Canvas.saveAs(filename: string, options?: SaveOptions | undefined): Promise<void>(filename: string | URL, options?: SaveOptions | undefined): Promise<void>
Canvas.toFile(filename: string, options?: SaveOptions | undefined): Promise<void>(filename: string | URL, options?: SaveOptions | undefined): Promise<void>
Canvas.newPage(width?: number | undefined, height?: number | undefined): CanvasRenderingContext2D(settings?: CanvasRenderingContext2DSettings | undefined): CanvasRenderingContext2D | (width?: number | undefined, height?: number | undefined, settings?: CanvasRenderingContext2DSettings | undefined): CanvasRenderingContext2D
Canvas.toBuffer(format: ExportFormat, options?: ExportOptions | undefined): Promise<Buffer>(format?: ExportFormat | undefined, options?: ExportOptions | undefined): Promise<Buffer>
Canvas.toDataURL(format: ExportFormat, quality?: number | undefined): string(format?: ExportFormat | undefined, quality?: number | undefined): string
Canvas.toURLSync(format: ExportFormat, options?: ExportOptions | undefined): string(format?: ExportFormat | undefined, options?: ExportOptions | undefined): string
Canvas.getContext(type?: "2d" | undefined): CanvasRenderingContext2D(type: "2d", settings?: CanvasRenderingContext2DSettings | undefined): CanvasRenderingContext2D | (type?: string | undefined, settings?: CanvasRenderingContext2DSettings | undefined): CanvasRenderingContext2D | null
Canvas.saveAsSync(filename: string, options?: SaveOptions | undefined): void(filename: string | URL, options?: SaveOptions | undefined): void
Canvas.constructor(width?: number | undefined, height?: number | undefined, options?: TextOptions | undefined): Canvas(width?: number | undefined, height?: number | undefined, options?: (TextOptions & CanvasBackend) | undefined): Canvas
Canvas.toBufferSync(format: ExportFormat, options?: ExportOptions | undefined): Buffer(format?: ExportFormat | undefined, options?: ExportOptions | undefined): Buffer
Canvas.toDataURLSync(format: ExportFormat, options?: ExportOptions | undefined): string(format?: ExportFormat | undefined, options?: ExportOptions | undefined): string
Path2D.points(step?: number | undefined): readonly [x: number, y: number][](step?: number | undefined, mode?: "even" | "exact" | undefined): readonly [x: number, y: number][]
Window.backgroundstringCSSColor
DOMMatrix.setMatrixValue(transformList: string): DOMMatrix(transformList: TransformString): DOMMatrix
ImageData.dataUint8ClampedArray<ArrayBufferLike>any
ImageData.colorSpace"srgb"ColorSpace
SaveOptions.mattestring | undefinedCSSColor | undefined
CanvasFilters.filterstring(string & {}) | "none" | FilterFunction
EngineDetails.api"Vulkan" | "Metal""Vulkan" | "Metal" | null
EngineDetails.errorstring | undefinedstring | null | undefined
ExportOptions.mattestring | undefinedCSSColor | undefined
RenderOptions.mattestring | undefinedCSSColor | undefined
CanvasGradient.addColorStop(offset: number, color: string): void(offset: number, color: CSSColor): void
CanvasDrawImage.drawCanvas(image: Canvas, dx: number, dy: number): void | (image: Canvas, dx: number, dy: number, dw: number, dh: number): void | (image: Canvas, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void(image: CanvasDrawable, dx: number, dy: number): void | (image: CanvasDrawable, dx: number, dy: number, dw: number, dh: number): void | (image: CanvasDrawable, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void
ImageDataSettings.colorSpace"srgb" | undefinedColorSpace | undefined
CanvasShadowStyles.shadowColorstringCSSColor
CreateTextureOptions.colorstring | undefinedCSSColor | undefined
CanvasFillStrokeStyles.fillStylestring | CanvasPattern | CanvasGradient | CanvasTextureCSSColor | CanvasPattern | CanvasGradient | CanvasTexture
CanvasFillStrokeStyles.strokeStylestring | CanvasPattern | CanvasGradient | CanvasTextureCSSColor | CanvasPattern | CanvasGradient | CanvasTexture
CanvasFillStrokeStyles.createPattern(image: CanvasPatternSource, repetition: string | null): CanvasPattern | null(image: CanvasPatternSource, repetition: "" | PatternRepeat | null): CanvasPattern | null
CanvasTextDrawingStyles.fontStretchCanvasFontStretch(string & {}) | CanvasFontStretch
ImageDataExportSettings.mattestring | undefinedCSSColor | undefined
ImageDataExportSettings.colorSpace"srgb" | undefinedColorSpace | undefined
CanvasRenderingContext2D.filterstring(string & {}) | "none" | FilterFunction
CanvasRenderingContext2D.fillStylestring | CanvasPattern | CanvasGradient | CanvasTextureCSSColor | CanvasPattern | CanvasGradient | CanvasTexture
CanvasRenderingContext2D.drawCanvas(image: Canvas, dx: number, dy: number): void | (image: Canvas, dx: number, dy: number, dw: number, dh: number): void | (image: Canvas, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void(image: CanvasDrawable, dx: number, dy: number): void | (image: CanvasDrawable, dx: number, dy: number, dw: number, dh: number): void | (image: CanvasDrawable, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void
CanvasRenderingContext2D.fontStretchCanvasFontStretch(string & {}) | CanvasFontStretch
CanvasRenderingContext2D.outlineText(text: string, maxWidth?: number | undefined): Path2D(text: string, maxWidth?: number | undefined): Path2D | null
CanvasRenderingContext2D.shadowColorstringCSSColor
CanvasRenderingContext2D.strokeStylestring | CanvasPattern | CanvasGradient | CanvasTextureCSSColor | CanvasPattern | CanvasGradient | CanvasTexture
CanvasRenderingContext2D.createPattern(image: CanvasPatternSource, repetition: string | null): CanvasPattern | null(image: CanvasPatternSource, repetition: "" | PatternRepeat | null): CanvasPattern | null
CanvasRenderingContext2D.textDecorationstringTextDecorationSetting

موقوفة حديثًا

export@deprecated
skia-canvas · App.eventLoopEvent loop modes have been removed: the node event loop is now always available

تغييرات المتطلبات (engines واعتماديات peer)

لم يُكتشف شيء.

صادرات جديدة (30)
importexportkind
skia-canvasCSSColortype
skia-canvasPngFilterstype
skia-canvasloadCanvasfunction
skia-canvasFontFeatureinterface
skia-canvasFontInstanceinterface
skia-canvasCanvasBackendinterface
skia-canvasColorFunctiontype
skia-canvasPatternRepeattype
skia-canvasFilterFunctiontype
skia-canvasImageDataArraytype
skia-canvasPolarColorSpacetype
skia-canvasTransformStringtype
skia-canvasImageLoadOptionstype
skia-canvasCanvasFontKerningtype
skia-canvasCanvasLoadOptionstype
skia-canvasFontVariationAxisinterface
skia-canvasPointerEventPropstype
skia-canvasTransformFunctiontype
skia-canvasFontVariantKeywordtype
skia-canvasCanvasTextRenderingtype
skia-canvasImageRequestOptionstype
skia-canvasFontVariantAlternatetype
skia-canvasCompositionEventPropstype
skia-canvasRectangularColorSpacetype
skia-canvasTextDecorationKeywordtype
skia-canvasTextDecorationSettingtype
skia-canvasHueInterpolationMethodtype
skia-canvasColorInterpolationMethodtype
skia-canvasCoalescedPointerEventPropstype
skia-canvasCanvasRenderingContext2DSettingsinterface

زوّد وكيل الذكاء الاصطناعي بهذه البيانات

Vigia خادم MCP مجاني: يتحقق وكيل البرمجة لديك من الإصدارات والتغييرات غير المتوافقة والثغرات قبل أن يكتب الشيفرة. بلا تسجيل ولا مفتاح API.

claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp

أضِف إلى Cursorأضِف إلى VS Code★ نجمة على GitHub

أي عميل MCP آخر
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }

مهارة للوكلاء (SKILL.md): تخبر الوكيل متى يستخدم Vigia · GitHub Action لطلبات السحب

الأسئلة الشائعة

ما التغييرات غير المتوافقة عند ترقية skia-canvas من 3 إلى 4؟

بين skia-canvas 3.0.8 و4.0.0 وجد Vigia عدد 0 من الصادرات المحذوفة، و13 من التوقيعات المعدّلة، و46 من أعضاء الأصناف أو الواجهات المحذوفة أو المعدّلة.

ما الذي أصبح موقوفًا في skia-canvas 4؟

عُلِّم 1 من الصادرات أو الأعضاء حديثًا على أنها موقوفة في skia-canvas 4.0.0.

للوكلاء

GET https://vigia.coredls.cloud/v1/packages/npm/skia-canvas/upgrade?from=3.0.8&to=4.0.0