From a8f575860e36de197df6a6b0281a68a306a16b2b Mon Sep 17 00:00:00 2001 From: Alex Hurtado Date: Mon, 24 Aug 2026 12:59:12 -0400 Subject: [PATCH 1/2] Typings for 08/24/26 --- plugin-api-standalone.d.ts | 125 +++++++++++++------------------------ plugin-api.d.ts | 123 +++++++++++++----------------------- 2 files changed, 85 insertions(+), 163 deletions(-) diff --git a/plugin-api-standalone.d.ts b/plugin-api-standalone.d.ts index 18a54d8..824dc0c 100644 --- a/plugin-api-standalone.d.ts +++ b/plugin-api-standalone.d.ts @@ -5500,14 +5500,7 @@ type Reaction = { trigger: Trigger | null } type VariableDataType = - | 'BOOLEAN' - | 'COLOR' - | 'EASING' - | 'EXPRESSION' - | 'FLOAT' - | 'STRING' - | 'TIMING' - | 'VARIABLE_ALIAS' + 'BOOLEAN' | 'COLOR' | 'EASING' | 'EXPRESSION' | 'FLOAT' | 'STRING' | 'TIMING' | 'VARIABLE_ALIAS' type ExpressionFunction = | 'ADDITION' | 'SUBTRACTION' @@ -5561,12 +5554,7 @@ type Action = readonly type: 'UPDATE_MEDIA_RUNTIME' readonly destinationId: string | null readonly mediaAction: - | 'PLAY' - | 'PAUSE' - | 'TOGGLE_PLAY_PAUSE' - | 'MUTE' - | 'UNMUTE' - | 'TOGGLE_MUTE_UNMUTE' + 'PLAY' | 'PAUSE' | 'TOGGLE_PLAY_PAUSE' | 'MUTE' | 'UNMUTE' | 'TOGGLE_MUTE_UNMUTE' } | { readonly type: 'UPDATE_MEDIA_RUNTIME' @@ -7133,9 +7121,7 @@ interface DimensionAndPositionMixin { * @see https://developers.figma.com/docs/plugins/api/node-properties */ interface LayoutMixin - extends DimensionAndPositionMixin, - AutoLayoutChildrenMixin, - GridChildrenMixin { + extends DimensionAndPositionMixin, AutoLayoutChildrenMixin, GridChildrenMixin { /** * The actual bounds of a node accounting for drop shadows, thick strokes, and anything else that may fall outside the node's regular bounding box defined in `x`, `y`, `width`, and `height`. The `x` and `y` inside this property represent the absolute position of the node on the page. This value will be `null` if the node is invisible. */ @@ -8567,8 +8553,7 @@ interface CustomVariableWidthStrokeProperties { * @see https://developers.figma.com/docs/plugins/api/VariableWidthStrokeProperties */ declare type VariableWidthStrokeProperties = - | PresetVariableWidthStrokeProperties - | CustomVariableWidthStrokeProperties + PresetVariableWidthStrokeProperties | CustomVariableWidthStrokeProperties /** * @see https://developers.figma.com/docs/plugins/api/ComplexStrokeProperties */ @@ -9136,7 +9121,8 @@ interface PublishableMixin { * @see https://developers.figma.com/docs/plugins/api/node-properties */ interface DefaultShapeMixin - extends BaseNodeMixin, + extends + BaseNodeMixin, SceneNodeMixin, ReactionMixin, BlendMixin, @@ -9147,7 +9133,8 @@ interface DefaultShapeMixin * @see https://developers.figma.com/docs/plugins/api/node-properties */ interface BaseFrameMixin - extends BaseNodeMixin, + extends + BaseNodeMixin, SceneNodeMixin, ChildrenMixin, ContainerMixin, @@ -9207,10 +9194,7 @@ interface BaseFrameMixin interface DefaultFrameMixin extends BaseFrameMixin, FramePrototypingMixin, ReactionMixin {} interface OpaqueNodeMixin - extends BaseNodeMixin, - SceneNodeMixin, - ExportMixin, - DimensionAndPositionMixin {} + extends BaseNodeMixin, SceneNodeMixin, ExportMixin, DimensionAndPositionMixin {} interface MinimalBlendMixin { /** @@ -10284,11 +10268,6 @@ interface NonResizableTextMixin extends BaseNonResizableTextMixin { * @see https://developers.figma.com/docs/plugins/api/TextPathNode */ interface NonResizableTextPathMixin extends BaseNonResizableTextMixin {} -/** - * Absolute-space dimensions and position for connector label sublayers. - * @see https://developers.figma.com/docs/plugins/api/node-properties - */ -interface SublayerDimensionsMixin {} /** * @see https://developers.figma.com/docs/plugins/api/TextNode */ @@ -10453,11 +10432,7 @@ interface ExplicitVariableModesMixin { setExplicitVariableModeForCollection(collection: VariableCollection, modeId: string): void } interface PageNode - extends BaseNodeMixin, - ChildrenMixin, - ExportMixin, - ExplicitVariableModesMixin, - MeasurementsMixin { + extends BaseNodeMixin, ChildrenMixin, ExportMixin, ExplicitVariableModesMixin, MeasurementsMixin { /** * The type of this node, represented by the string literal "PAGE" */ @@ -10662,7 +10637,8 @@ interface FrameNode extends DefaultFrameMixin { clone(): FrameNode } interface GroupNode - extends BaseNodeMixin, + extends + BaseNodeMixin, SceneNodeMixin, ReactionMixin, ChildrenMixin, @@ -10685,7 +10661,8 @@ interface GroupNode * @see https://developers.figma.com/docs/plugins/api/TransformGroupNode */ interface TransformGroupNode - extends BaseNodeMixin, + extends + BaseNodeMixin, SceneNodeMixin, ReactionMixin, ChildrenMixin, @@ -10719,7 +10696,8 @@ interface SliceNode extends BaseNodeMixin, SceneNodeMixin, LayoutMixin, ExportMi clone(): SliceNode } interface RectangleNode - extends DefaultShapeMixin, + extends + DefaultShapeMixin, ConstraintMixin, CornerMixin, ComplexStrokesMixin, @@ -10737,10 +10715,7 @@ interface RectangleNode clone(): RectangleNode } interface LineNode - extends DefaultShapeMixin, - ConstraintMixin, - AnnotationsMixin, - ComplexStrokesMixin { + extends DefaultShapeMixin, ConstraintMixin, AnnotationsMixin, ComplexStrokesMixin { /** * The type of this node, represented by the string literal "LINE" */ @@ -10751,7 +10726,8 @@ interface LineNode clone(): LineNode } interface EllipseNode - extends DefaultShapeMixin, + extends + DefaultShapeMixin, ConstraintMixin, CornerMixin, ComplexStrokesMixin, @@ -10771,7 +10747,8 @@ interface EllipseNode arcData: ArcData } interface PolygonNode - extends DefaultShapeMixin, + extends + DefaultShapeMixin, ConstraintMixin, CornerMixin, ComplexStrokesMixin, @@ -10791,7 +10768,8 @@ interface PolygonNode pointCount: number } interface StarNode - extends DefaultShapeMixin, + extends + DefaultShapeMixin, ConstraintMixin, CornerMixin, ComplexStrokesMixin, @@ -10817,7 +10795,8 @@ interface StarNode innerRadius: number } interface VectorNode - extends DefaultShapeMixin, + extends + DefaultShapeMixin, ConstraintMixin, CornerMixin, ComplexStrokesMixin, @@ -10834,7 +10813,8 @@ interface VectorNode clone(): VectorNode } interface TextNode - extends DefaultShapeMixin, + extends + DefaultShapeMixin, ConstraintMixin, NonResizableTextMixin, ComplexStrokesMixin, @@ -10905,7 +10885,8 @@ interface TextNode * @see https://developers.figma.com/docs/plugins/api/TextPathNode */ interface TextPathNode - extends DefaultShapeMixin, + extends + DefaultShapeMixin, ConstraintMixin, NonResizableTextPathMixin, ComplexStrokesMixin, @@ -11030,10 +11011,7 @@ interface ComponentSetNode extends BaseFrameMixin, PublishableMixin, ComponentPr * @see https://developers.figma.com/docs/plugins/api/ComponentNode */ interface ComponentNode - extends DefaultFrameMixin, - PublishableMixin, - VariantMixin, - ComponentPropertiesMixin { + extends DefaultFrameMixin, PublishableMixin, VariantMixin, ComponentPropertiesMixin { /** * The type of this node, represented by the string literal "COMPONENT" */ @@ -11173,7 +11151,8 @@ interface SlotNode extends DefaultFrameMixin { readonly limitViolations: Array<'BELOW_MIN' | 'ABOVE_MAX' | 'HAS_NON_PREFERRED'> } interface BooleanOperationNode - extends DefaultShapeMixin, + extends + DefaultShapeMixin, ChildrenMixin, CornerMixin, ComplexStrokesMixin, @@ -11219,10 +11198,7 @@ interface StickyNode extends OpaqueNodeMixin, MinimalFillsMixin, MinimalBlendMix clone(): StickyNode } interface StampNode - extends DefaultShapeMixin, - ConstraintMixin, - StickableMixin, - AspectRatioLockMixin { + extends DefaultShapeMixin, ConstraintMixin, StickableMixin, AspectRatioLockMixin { /** * The type of this node, represented by the string literal "STAMP" */ @@ -11359,7 +11335,8 @@ interface TableCellNode extends MinimalFillsMixin { readonly width: number } interface HighlightNode - extends DefaultShapeMixin, + extends + DefaultShapeMixin, ConstraintMixin, CornerMixin, VectorLikeMixin, @@ -11385,10 +11362,7 @@ interface WashiTapeNode extends DefaultShapeMixin, StickableMixin, AspectRatioLo clone(): WashiTapeNode } interface ShapeWithTextNode - extends OpaqueNodeMixin, - MinimalFillsMixin, - MinimalBlendMixin, - MinimalStrokesMixin { + extends OpaqueNodeMixin, MinimalFillsMixin, MinimalBlendMixin, MinimalStrokesMixin { /** * The type of this node, represented by the string literal "SHAPE_WITH_TEXT". */ @@ -11503,7 +11477,7 @@ interface CodeBlockNode extends OpaqueNodeMixin, MinimalBlendMixin { /** * @see https://developers.figma.com/docs/plugins/api/LabelSublayer */ -interface LabelSublayerNode extends SublayerDimensionsMixin { +interface LabelSublayerNode { fills: Paint[] | PluginAPI['mixed'] } interface ConnectorNode extends OpaqueNodeMixin, MinimalBlendMixin, MinimalStrokesMixin { @@ -11514,7 +11488,7 @@ interface ConnectorNode extends OpaqueNodeMixin, MinimalBlendMixin, MinimalStrok /** * Text sublayer of the ConnectorNode */ - readonly text: TextSublayerNode & SublayerDimensionsMixin + readonly text: TextSublayerNode /** * Text sublayer of the ConnectorNode */ @@ -11908,14 +11882,7 @@ interface ExtendedVariableCollection extends Omit removeMode(modeId: string): void } type AnnotationCategoryColor = - | 'yellow' - | 'orange' - | 'red' - | 'pink' - | 'violet' - | 'blue' - | 'teal' - | 'green' + 'yellow' | 'orange' | 'red' | 'pink' | 'violet' | 'blue' | 'teal' | 'green' interface AnnotationCategory { /** * The unique identifier of the annotation category. @@ -12142,7 +12109,8 @@ interface MediaNode extends OpaqueNodeMixin { * @see https://developers.figma.com/docs/plugins/api/SectionNode */ interface SectionNode - extends ChildrenMixin, + extends + ChildrenMixin, MinimalFillsMixin, OpaqueNodeMixin, DevStatusMixin, @@ -12288,14 +12256,7 @@ interface SlideTransition { * The easing of the slide transition. */ readonly curve: - | 'EASE_IN' - | 'EASE_OUT' - | 'EASE_IN_AND_OUT' - | 'LINEAR' - | 'GENTLE' - | 'QUICK' - | 'BOUNCY' - | 'SLOW' + 'EASE_IN' | 'EASE_OUT' | 'EASE_IN_AND_OUT' | 'LINEAR' | 'GENTLE' | 'QUICK' | 'BOUNCY' | 'SLOW' /** * The timing of the slide transition. */ @@ -12699,4 +12660,4 @@ interface RadialRepeatModifier extends RepeatModifier { } // prettier-ignore -export { ArgFreeEventType, PluginAPI, VersionHistoryResult, VariablesAPI, LibraryVariableCollection, LibraryVariable, AnnotationsAPI, BuzzAPI, BuzzTextField, BuzzMediaField, BuzzAssetType, TeamLibraryAPI, PaymentStatus, PaymentsAPI, ClientStorageAPI, NotificationOptions, NotifyDequeueReason, NotificationHandler, MotionAPI, ShowUIOptions, UIPostMessageOptions, OnMessageProperties, MessageEventHandler, UIAPI, UtilAPI, ColorPalette, ColorPalettes, ConstantsAPI, CodegenEvent, CodegenPreferences, CodegenPreferencesEvent, CodegenResult, CodegenAPI, DevResource, DevResourceWithNodeId, LinkPreviewEvent, PlainTextElement, LinkPreviewResult, AuthEvent, DevResourceOpenEvent, AuthResult, VSCodeAPI, DevResourcesAPI, TimerAPI, ViewportAPI, TextReviewAPI, ParameterValues, SuggestionResults, ParameterInputEvent, ParametersAPI, RunParametersEvent, OpenDevResourcesEvent, RunEvent, SlidesViewChangeEvent, CanvasViewChangeEvent, DropEvent, DropItem, DropFile, DocumentChangeEvent, StyleChangeEvent, StyleChange, BaseDocumentChange, BaseNodeChange, RemovedNode, CreateChange, DeleteChange, PropertyChange, BaseStyleChange, StyleCreateChange, StyleDeleteChange, StylePropertyChange, DocumentChange, NodeChangeProperty, NodeChangeEvent, NodeChange, StyleChangeProperty, TextReviewEvent, TextReviewRange, Transform, Vector, Rect, RGB, RGBA, FontName, TextCase, TextDecoration, TextDecorationStyle, FontStyle, TextDecorationOffset, TextDecorationThickness, TextDecorationColor, OpenTypeFeature, ArcData, DropShadowEffect, InnerShadowEffect, BlurEffectBase, BlurEffectNormal, BlurEffectProgressive, BlurEffect, NoiseEffectBase, NoiseEffectMonotone, NoiseEffectDuotone, NoiseEffectMultitone, NoiseEffect, TextureEffect, GlassEffect, ShaderEffect, Effect, ConstraintType, Constraints, ColorStop, ImageFilters, SolidPaint, GradientPaint, ImagePaint, VideoPaint, PatternPaint, ShaderPaint, Paint, ShaderPropertyValue, ShaderPropertyDefinition, Shader, Guide, RowsColsLayoutGrid, GridLayoutGrid, LayoutGrid, ExportSettingsConstraints, ExportSettingsImage, ExportSettingsSVGBase, ExportSettingsSVG, ExportSettingsSVGString, ExportSettingsPDF, ExportSettingsREST, VideoExportScale, VideoExportConstraint, ExportSettingsMP4, ExportSettingsGIF, ExportSettingsWEBM, ExportSettings, WindingRule, VectorVertex, VectorSegment, VectorRegion, VectorNetwork, VectorPath, VectorPaths, LetterSpacing, LineHeight, LeadingTrim, TextWrapStyle, HyperlinkTarget, TextListOptions, BlendMode, MaskType, Font, TextStyleOverrideType, StyledTextSegment, TextPathStartData, Reaction, VariableDataType, ExpressionFunction, Expression, VariableValueWithExpression, VariableData, ConditionalBlock, DevStatus, Action, SimpleTransition, DirectionalTransition, Transition, Trigger, Navigation, Easing, EasingFunctionBezier, EasingFunctionSpring, MotionEasing, PhysicalSpring, NormalizedSpring, AnimationStylePropValue, AvailableAnimationStylePropValue, BaseAnimationStyle, AvailableAnimationStyle, AnimationStyleConfiguration, AppliedAnimationStyle, KeyframeValue, ManualKeyframeInput, ManualKeyframeTrackInput, ManualKeyframe, ManualKeyframeBinding, ManualKeyframeTrack, KeyframeBinding, KeyframePropertyFieldName, EffectKeyframeFieldName, KeyframeField, ComponentPropKeyframeTracks, ComponentPropKeyframeBindings, PaintManualKeyframeTrack, PaintKeyframeBinding, EffectManualKeyframeTracks, EffectKeyframeBindings, ManualKeyframeTracks, Animations, Timeline, OverflowDirection, OverlayPositionType, OverlayBackground, OverlayBackgroundInteraction, PublishStatus, ConnectorEndpointPosition, ConnectorEndpointPositionAndEndpointNodeId, ConnectorEndpointEndpointNodeIdAndMagnet, ConnectorEndpoint, ConnectorStrokeCap, BaseNodeMixin, PluginDataMixin, DevResourcesMixin, DevStatusMixin, SceneNodeMixin, MotionNodeMixin, VariableBindableNodeField, VariableBindableTextField, VariableBindablePaintField, VariableBindablePaintStyleField, VariableBindableColorStopField, VariableBindableEffectField, VariableBindableEffectStyleField, VariableBindableLayoutGridField, VariableBindableGridStyleField, VariableBindableComponentPropertyField, VariableBindableComponentPropertyDefinitionField, StickableMixin, ChildrenMixin, ConstraintMixin, DimensionAndPositionMixin, LayoutMixin, AspectRatioLockMixin, BlendMixin, ContainerMixin, DeprecatedBackgroundMixin, StrokeCap, StrokeJoin, HandleMirroring, AutoLayoutMixin, GridTrackSize, GridTrackReorderOptions, GridTrackReorderEntry, GridLayoutMixin, AutoLayoutChildrenMixin, GridChildrenMixin, InferredAutoLayoutResult, DetachedInfo, MinimalStrokesMixin, IndividualStrokesMixin, MinimalFillsMixin, VariableWidthPoint, PresetVariableWidthStrokeProperties, CustomVariableWidthStrokeProperties, VariableWidthStrokeProperties, ComplexStrokeProperties, ScatterBrushProperties, StretchBrushProperties, BrushStrokeProperties, DynamicStrokeProperties, GeometryMixin, ComplexStrokesMixin, CornerMixin, RectangleCornerMixin, ExportMixin, FramePrototypingMixin, VectorLikeMixin, ReactionMixin, DocumentationLink, PublishableMixin, DefaultShapeMixin, BaseFrameMixin, DefaultFrameMixin, OpaqueNodeMixin, MinimalBlendMixin, Annotation, AnnotationProperty, AnnotationPropertyType, AnnotationsMixin, Measurement, MeasurementSide, MeasurementOffset, MeasurementsMixin, VariantMixin, ComponentPropertiesMixin, BaseNonResizableTextMixin, NonResizableTextMixin, NonResizableTextPathMixin, SublayerDimensionsMixin, TextSublayerNode, DocumentNode, ExplicitVariableModesMixin, PageNode, FrameNode, GroupNode, TransformGroupNode, SliceNode, RectangleNode, LineNode, EllipseNode, PolygonNode, StarNode, VectorNode, TextNode, TextPathNode, ComponentPropertyType, InstanceSwapPreferredValue, SlotSettings, ComponentPropertyOptions, ComponentPropertyDefinitions, ComponentSetNode, ComponentNode, ComponentProperties, InstanceNode, SlotNode, BooleanOperationNode, StickyNode, StampNode, TableNode, TableCellNode, HighlightNode, WashiTapeNode, ShapeWithTextNode, CodeBlockNode, LabelSublayerNode, ConnectorNode, VariableResolvedDataType, VariableAlias, VariableValue, VariableScope, CodeSyntaxPlatform, Variable, VariableCollection, ExtendedVariableCollection, AnnotationCategoryColor, AnnotationCategory, WidgetNode, EmbedData, EmbedNode, LinkUnfurlData, LinkUnfurlNode, MediaData, MediaNode, SectionNode, SlideNode, SlideRowNode, SlideGridNode, InteractiveSlideElementNode, SlideTransition, BaseNode, SceneNode, NodeType, StyleType, InheritedStyleField, StyleConsumers, BaseStyleMixin, PaintStyle, TextStyle, EffectStyle, GridStyle, BaseStyle, Image, Video, BaseUser, User, ActiveUser, FindAllCriteria, TransformModifier, RepeatModifier, LinearRepeatModifier, RadialRepeatModifier } +export { ArgFreeEventType, PluginAPI, VersionHistoryResult, VariablesAPI, LibraryVariableCollection, LibraryVariable, AnnotationsAPI, BuzzAPI, BuzzTextField, BuzzMediaField, BuzzAssetType, TeamLibraryAPI, PaymentStatus, PaymentsAPI, ClientStorageAPI, NotificationOptions, NotifyDequeueReason, NotificationHandler, MotionAPI, ShowUIOptions, UIPostMessageOptions, OnMessageProperties, MessageEventHandler, UIAPI, UtilAPI, ColorPalette, ColorPalettes, ConstantsAPI, CodegenEvent, CodegenPreferences, CodegenPreferencesEvent, CodegenResult, CodegenAPI, DevResource, DevResourceWithNodeId, LinkPreviewEvent, PlainTextElement, LinkPreviewResult, AuthEvent, DevResourceOpenEvent, AuthResult, VSCodeAPI, DevResourcesAPI, TimerAPI, ViewportAPI, TextReviewAPI, ParameterValues, SuggestionResults, ParameterInputEvent, ParametersAPI, RunParametersEvent, OpenDevResourcesEvent, RunEvent, SlidesViewChangeEvent, CanvasViewChangeEvent, DropEvent, DropItem, DropFile, DocumentChangeEvent, StyleChangeEvent, StyleChange, BaseDocumentChange, BaseNodeChange, RemovedNode, CreateChange, DeleteChange, PropertyChange, BaseStyleChange, StyleCreateChange, StyleDeleteChange, StylePropertyChange, DocumentChange, NodeChangeProperty, NodeChangeEvent, NodeChange, StyleChangeProperty, TextReviewEvent, TextReviewRange, Transform, Vector, Rect, RGB, RGBA, FontName, TextCase, TextDecoration, TextDecorationStyle, FontStyle, TextDecorationOffset, TextDecorationThickness, TextDecorationColor, OpenTypeFeature, ArcData, DropShadowEffect, InnerShadowEffect, BlurEffectBase, BlurEffectNormal, BlurEffectProgressive, BlurEffect, NoiseEffectBase, NoiseEffectMonotone, NoiseEffectDuotone, NoiseEffectMultitone, NoiseEffect, TextureEffect, GlassEffect, ShaderEffect, Effect, ConstraintType, Constraints, ColorStop, ImageFilters, SolidPaint, GradientPaint, ImagePaint, VideoPaint, PatternPaint, ShaderPaint, Paint, ShaderPropertyValue, ShaderPropertyDefinition, Shader, Guide, RowsColsLayoutGrid, GridLayoutGrid, LayoutGrid, ExportSettingsConstraints, ExportSettingsImage, ExportSettingsSVGBase, ExportSettingsSVG, ExportSettingsSVGString, ExportSettingsPDF, ExportSettingsREST, VideoExportScale, VideoExportConstraint, ExportSettingsMP4, ExportSettingsGIF, ExportSettingsWEBM, ExportSettings, WindingRule, VectorVertex, VectorSegment, VectorRegion, VectorNetwork, VectorPath, VectorPaths, LetterSpacing, LineHeight, LeadingTrim, TextWrapStyle, HyperlinkTarget, TextListOptions, BlendMode, MaskType, Font, TextStyleOverrideType, StyledTextSegment, TextPathStartData, Reaction, VariableDataType, ExpressionFunction, Expression, VariableValueWithExpression, VariableData, ConditionalBlock, DevStatus, Action, SimpleTransition, DirectionalTransition, Transition, Trigger, Navigation, Easing, EasingFunctionBezier, EasingFunctionSpring, MotionEasing, PhysicalSpring, NormalizedSpring, AnimationStylePropValue, AvailableAnimationStylePropValue, BaseAnimationStyle, AvailableAnimationStyle, AnimationStyleConfiguration, AppliedAnimationStyle, KeyframeValue, ManualKeyframeInput, ManualKeyframeTrackInput, ManualKeyframe, ManualKeyframeBinding, ManualKeyframeTrack, KeyframeBinding, KeyframePropertyFieldName, EffectKeyframeFieldName, KeyframeField, ComponentPropKeyframeTracks, ComponentPropKeyframeBindings, PaintManualKeyframeTrack, PaintKeyframeBinding, EffectManualKeyframeTracks, EffectKeyframeBindings, ManualKeyframeTracks, Animations, Timeline, OverflowDirection, OverlayPositionType, OverlayBackground, OverlayBackgroundInteraction, PublishStatus, ConnectorEndpointPosition, ConnectorEndpointPositionAndEndpointNodeId, ConnectorEndpointEndpointNodeIdAndMagnet, ConnectorEndpoint, ConnectorStrokeCap, BaseNodeMixin, PluginDataMixin, DevResourcesMixin, DevStatusMixin, SceneNodeMixin, MotionNodeMixin, VariableBindableNodeField, VariableBindableTextField, VariableBindablePaintField, VariableBindablePaintStyleField, VariableBindableColorStopField, VariableBindableEffectField, VariableBindableEffectStyleField, VariableBindableLayoutGridField, VariableBindableGridStyleField, VariableBindableComponentPropertyField, VariableBindableComponentPropertyDefinitionField, StickableMixin, ChildrenMixin, ConstraintMixin, DimensionAndPositionMixin, LayoutMixin, AspectRatioLockMixin, BlendMixin, ContainerMixin, DeprecatedBackgroundMixin, StrokeCap, StrokeJoin, HandleMirroring, AutoLayoutMixin, GridTrackSize, GridTrackReorderOptions, GridTrackReorderEntry, GridLayoutMixin, AutoLayoutChildrenMixin, GridChildrenMixin, InferredAutoLayoutResult, DetachedInfo, MinimalStrokesMixin, IndividualStrokesMixin, MinimalFillsMixin, VariableWidthPoint, PresetVariableWidthStrokeProperties, CustomVariableWidthStrokeProperties, VariableWidthStrokeProperties, ComplexStrokeProperties, ScatterBrushProperties, StretchBrushProperties, BrushStrokeProperties, DynamicStrokeProperties, GeometryMixin, ComplexStrokesMixin, CornerMixin, RectangleCornerMixin, ExportMixin, FramePrototypingMixin, VectorLikeMixin, ReactionMixin, DocumentationLink, PublishableMixin, DefaultShapeMixin, BaseFrameMixin, DefaultFrameMixin, OpaqueNodeMixin, MinimalBlendMixin, Annotation, AnnotationProperty, AnnotationPropertyType, AnnotationsMixin, Measurement, MeasurementSide, MeasurementOffset, MeasurementsMixin, VariantMixin, ComponentPropertiesMixin, BaseNonResizableTextMixin, NonResizableTextMixin, NonResizableTextPathMixin, TextSublayerNode, DocumentNode, ExplicitVariableModesMixin, PageNode, FrameNode, GroupNode, TransformGroupNode, SliceNode, RectangleNode, LineNode, EllipseNode, PolygonNode, StarNode, VectorNode, TextNode, TextPathNode, ComponentPropertyType, InstanceSwapPreferredValue, SlotSettings, ComponentPropertyOptions, ComponentPropertyDefinitions, ComponentSetNode, ComponentNode, ComponentProperties, InstanceNode, SlotNode, BooleanOperationNode, StickyNode, StampNode, TableNode, TableCellNode, HighlightNode, WashiTapeNode, ShapeWithTextNode, CodeBlockNode, LabelSublayerNode, ConnectorNode, VariableResolvedDataType, VariableAlias, VariableValue, VariableScope, CodeSyntaxPlatform, Variable, VariableCollection, ExtendedVariableCollection, AnnotationCategoryColor, AnnotationCategory, WidgetNode, EmbedData, EmbedNode, LinkUnfurlData, LinkUnfurlNode, MediaData, MediaNode, SectionNode, SlideNode, SlideRowNode, SlideGridNode, InteractiveSlideElementNode, SlideTransition, BaseNode, SceneNode, NodeType, StyleType, InheritedStyleField, StyleConsumers, BaseStyleMixin, PaintStyle, TextStyle, EffectStyle, GridStyle, BaseStyle, Image, Video, BaseUser, User, ActiveUser, FindAllCriteria, TransformModifier, RepeatModifier, LinearRepeatModifier, RadialRepeatModifier } diff --git a/plugin-api.d.ts b/plugin-api.d.ts index c111222..96d2b18 100644 --- a/plugin-api.d.ts +++ b/plugin-api.d.ts @@ -5500,14 +5500,7 @@ type Reaction = { trigger: Trigger | null } type VariableDataType = - | 'BOOLEAN' - | 'COLOR' - | 'EASING' - | 'EXPRESSION' - | 'FLOAT' - | 'STRING' - | 'TIMING' - | 'VARIABLE_ALIAS' + 'BOOLEAN' | 'COLOR' | 'EASING' | 'EXPRESSION' | 'FLOAT' | 'STRING' | 'TIMING' | 'VARIABLE_ALIAS' type ExpressionFunction = | 'ADDITION' | 'SUBTRACTION' @@ -5561,12 +5554,7 @@ type Action = readonly type: 'UPDATE_MEDIA_RUNTIME' readonly destinationId: string | null readonly mediaAction: - | 'PLAY' - | 'PAUSE' - | 'TOGGLE_PLAY_PAUSE' - | 'MUTE' - | 'UNMUTE' - | 'TOGGLE_MUTE_UNMUTE' + 'PLAY' | 'PAUSE' | 'TOGGLE_PLAY_PAUSE' | 'MUTE' | 'UNMUTE' | 'TOGGLE_MUTE_UNMUTE' } | { readonly type: 'UPDATE_MEDIA_RUNTIME' @@ -7133,9 +7121,7 @@ interface DimensionAndPositionMixin { * @see https://developers.figma.com/docs/plugins/api/node-properties */ interface LayoutMixin - extends DimensionAndPositionMixin, - AutoLayoutChildrenMixin, - GridChildrenMixin { + extends DimensionAndPositionMixin, AutoLayoutChildrenMixin, GridChildrenMixin { /** * The actual bounds of a node accounting for drop shadows, thick strokes, and anything else that may fall outside the node's regular bounding box defined in `x`, `y`, `width`, and `height`. The `x` and `y` inside this property represent the absolute position of the node on the page. This value will be `null` if the node is invisible. */ @@ -8567,8 +8553,7 @@ interface CustomVariableWidthStrokeProperties { * @see https://developers.figma.com/docs/plugins/api/VariableWidthStrokeProperties */ declare type VariableWidthStrokeProperties = - | PresetVariableWidthStrokeProperties - | CustomVariableWidthStrokeProperties + PresetVariableWidthStrokeProperties | CustomVariableWidthStrokeProperties /** * @see https://developers.figma.com/docs/plugins/api/ComplexStrokeProperties */ @@ -9136,7 +9121,8 @@ interface PublishableMixin { * @see https://developers.figma.com/docs/plugins/api/node-properties */ interface DefaultShapeMixin - extends BaseNodeMixin, + extends + BaseNodeMixin, SceneNodeMixin, ReactionMixin, BlendMixin, @@ -9147,7 +9133,8 @@ interface DefaultShapeMixin * @see https://developers.figma.com/docs/plugins/api/node-properties */ interface BaseFrameMixin - extends BaseNodeMixin, + extends + BaseNodeMixin, SceneNodeMixin, ChildrenMixin, ContainerMixin, @@ -9207,10 +9194,7 @@ interface BaseFrameMixin interface DefaultFrameMixin extends BaseFrameMixin, FramePrototypingMixin, ReactionMixin {} interface OpaqueNodeMixin - extends BaseNodeMixin, - SceneNodeMixin, - ExportMixin, - DimensionAndPositionMixin {} + extends BaseNodeMixin, SceneNodeMixin, ExportMixin, DimensionAndPositionMixin {} interface MinimalBlendMixin { /** @@ -10284,11 +10268,6 @@ interface NonResizableTextMixin extends BaseNonResizableTextMixin { * @see https://developers.figma.com/docs/plugins/api/TextPathNode */ interface NonResizableTextPathMixin extends BaseNonResizableTextMixin {} -/** - * Absolute-space dimensions and position for connector label sublayers. - * @see https://developers.figma.com/docs/plugins/api/node-properties - */ -interface SublayerDimensionsMixin {} /** * @see https://developers.figma.com/docs/plugins/api/TextNode */ @@ -10453,11 +10432,7 @@ interface ExplicitVariableModesMixin { setExplicitVariableModeForCollection(collection: VariableCollection, modeId: string): void } interface PageNode - extends BaseNodeMixin, - ChildrenMixin, - ExportMixin, - ExplicitVariableModesMixin, - MeasurementsMixin { + extends BaseNodeMixin, ChildrenMixin, ExportMixin, ExplicitVariableModesMixin, MeasurementsMixin { /** * The type of this node, represented by the string literal "PAGE" */ @@ -10662,7 +10637,8 @@ interface FrameNode extends DefaultFrameMixin { clone(): FrameNode } interface GroupNode - extends BaseNodeMixin, + extends + BaseNodeMixin, SceneNodeMixin, ReactionMixin, ChildrenMixin, @@ -10685,7 +10661,8 @@ interface GroupNode * @see https://developers.figma.com/docs/plugins/api/TransformGroupNode */ interface TransformGroupNode - extends BaseNodeMixin, + extends + BaseNodeMixin, SceneNodeMixin, ReactionMixin, ChildrenMixin, @@ -10719,7 +10696,8 @@ interface SliceNode extends BaseNodeMixin, SceneNodeMixin, LayoutMixin, ExportMi clone(): SliceNode } interface RectangleNode - extends DefaultShapeMixin, + extends + DefaultShapeMixin, ConstraintMixin, CornerMixin, ComplexStrokesMixin, @@ -10737,10 +10715,7 @@ interface RectangleNode clone(): RectangleNode } interface LineNode - extends DefaultShapeMixin, - ConstraintMixin, - AnnotationsMixin, - ComplexStrokesMixin { + extends DefaultShapeMixin, ConstraintMixin, AnnotationsMixin, ComplexStrokesMixin { /** * The type of this node, represented by the string literal "LINE" */ @@ -10751,7 +10726,8 @@ interface LineNode clone(): LineNode } interface EllipseNode - extends DefaultShapeMixin, + extends + DefaultShapeMixin, ConstraintMixin, CornerMixin, ComplexStrokesMixin, @@ -10771,7 +10747,8 @@ interface EllipseNode arcData: ArcData } interface PolygonNode - extends DefaultShapeMixin, + extends + DefaultShapeMixin, ConstraintMixin, CornerMixin, ComplexStrokesMixin, @@ -10791,7 +10768,8 @@ interface PolygonNode pointCount: number } interface StarNode - extends DefaultShapeMixin, + extends + DefaultShapeMixin, ConstraintMixin, CornerMixin, ComplexStrokesMixin, @@ -10817,7 +10795,8 @@ interface StarNode innerRadius: number } interface VectorNode - extends DefaultShapeMixin, + extends + DefaultShapeMixin, ConstraintMixin, CornerMixin, ComplexStrokesMixin, @@ -10834,7 +10813,8 @@ interface VectorNode clone(): VectorNode } interface TextNode - extends DefaultShapeMixin, + extends + DefaultShapeMixin, ConstraintMixin, NonResizableTextMixin, ComplexStrokesMixin, @@ -10905,7 +10885,8 @@ interface TextNode * @see https://developers.figma.com/docs/plugins/api/TextPathNode */ interface TextPathNode - extends DefaultShapeMixin, + extends + DefaultShapeMixin, ConstraintMixin, NonResizableTextPathMixin, ComplexStrokesMixin, @@ -11030,10 +11011,7 @@ interface ComponentSetNode extends BaseFrameMixin, PublishableMixin, ComponentPr * @see https://developers.figma.com/docs/plugins/api/ComponentNode */ interface ComponentNode - extends DefaultFrameMixin, - PublishableMixin, - VariantMixin, - ComponentPropertiesMixin { + extends DefaultFrameMixin, PublishableMixin, VariantMixin, ComponentPropertiesMixin { /** * The type of this node, represented by the string literal "COMPONENT" */ @@ -11173,7 +11151,8 @@ interface SlotNode extends DefaultFrameMixin { readonly limitViolations: Array<'BELOW_MIN' | 'ABOVE_MAX' | 'HAS_NON_PREFERRED'> } interface BooleanOperationNode - extends DefaultShapeMixin, + extends + DefaultShapeMixin, ChildrenMixin, CornerMixin, ComplexStrokesMixin, @@ -11219,10 +11198,7 @@ interface StickyNode extends OpaqueNodeMixin, MinimalFillsMixin, MinimalBlendMix clone(): StickyNode } interface StampNode - extends DefaultShapeMixin, - ConstraintMixin, - StickableMixin, - AspectRatioLockMixin { + extends DefaultShapeMixin, ConstraintMixin, StickableMixin, AspectRatioLockMixin { /** * The type of this node, represented by the string literal "STAMP" */ @@ -11359,7 +11335,8 @@ interface TableCellNode extends MinimalFillsMixin { readonly width: number } interface HighlightNode - extends DefaultShapeMixin, + extends + DefaultShapeMixin, ConstraintMixin, CornerMixin, VectorLikeMixin, @@ -11385,10 +11362,7 @@ interface WashiTapeNode extends DefaultShapeMixin, StickableMixin, AspectRatioLo clone(): WashiTapeNode } interface ShapeWithTextNode - extends OpaqueNodeMixin, - MinimalFillsMixin, - MinimalBlendMixin, - MinimalStrokesMixin { + extends OpaqueNodeMixin, MinimalFillsMixin, MinimalBlendMixin, MinimalStrokesMixin { /** * The type of this node, represented by the string literal "SHAPE_WITH_TEXT". */ @@ -11503,7 +11477,7 @@ interface CodeBlockNode extends OpaqueNodeMixin, MinimalBlendMixin { /** * @see https://developers.figma.com/docs/plugins/api/LabelSublayer */ -interface LabelSublayerNode extends SublayerDimensionsMixin { +interface LabelSublayerNode { fills: Paint[] | PluginAPI['mixed'] } interface ConnectorNode extends OpaqueNodeMixin, MinimalBlendMixin, MinimalStrokesMixin { @@ -11514,7 +11488,7 @@ interface ConnectorNode extends OpaqueNodeMixin, MinimalBlendMixin, MinimalStrok /** * Text sublayer of the ConnectorNode */ - readonly text: TextSublayerNode & SublayerDimensionsMixin + readonly text: TextSublayerNode /** * Text sublayer of the ConnectorNode */ @@ -11908,14 +11882,7 @@ interface ExtendedVariableCollection extends Omit removeMode(modeId: string): void } type AnnotationCategoryColor = - | 'yellow' - | 'orange' - | 'red' - | 'pink' - | 'violet' - | 'blue' - | 'teal' - | 'green' + 'yellow' | 'orange' | 'red' | 'pink' | 'violet' | 'blue' | 'teal' | 'green' interface AnnotationCategory { /** * The unique identifier of the annotation category. @@ -12142,7 +12109,8 @@ interface MediaNode extends OpaqueNodeMixin { * @see https://developers.figma.com/docs/plugins/api/SectionNode */ interface SectionNode - extends ChildrenMixin, + extends + ChildrenMixin, MinimalFillsMixin, OpaqueNodeMixin, DevStatusMixin, @@ -12288,14 +12256,7 @@ interface SlideTransition { * The easing of the slide transition. */ readonly curve: - | 'EASE_IN' - | 'EASE_OUT' - | 'EASE_IN_AND_OUT' - | 'LINEAR' - | 'GENTLE' - | 'QUICK' - | 'BOUNCY' - | 'SLOW' + 'EASE_IN' | 'EASE_OUT' | 'EASE_IN_AND_OUT' | 'LINEAR' | 'GENTLE' | 'QUICK' | 'BOUNCY' | 'SLOW' /** * The timing of the slide transition. */ From 11d40c774037176f42b09a5cd001ad5bcdbfa0d3 Mon Sep 17 00:00:00 2001 From: Alex Hurtado Date: Mon, 24 Aug 2026 13:12:25 -0400 Subject: [PATCH 2/2] Pin prettier to 3.9.3 to match the typings generator MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The generated .d.ts files are formatted by figma/figma's prettier when `update-typings` writes them, so this repo's checker has to be the same version or `prettier:check` fails on output it cannot have produced. That is what broke CI here: the generator moved to 3.9.3, which collapses short unions onto one line and rewraps `extends` clauses, while this repo still validated with the 2.x that `^2.6.1` resolves to. No file changes are needed — the committed .d.ts files already satisfy 3.9.3, including the hand-written index.d.ts. Pinned exactly rather than with a caret because package-lock.json is gitignored, so a range would let CI float to a future 3.x whose wrapping rules differ and reintroduce this failure nondeterministically. When figma/figma bumps prettier, this pin needs the same bump. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 43ad493..d3f7198 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,6 @@ }, "homepage": "https://github.com/figma/plugin-typings#readme", "devDependencies": { - "prettier": "^2.6.1" + "prettier": "3.9.3" } }