Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Improve verdaccio pipeline #7900

Merged
merged 12 commits into from
Mar 13, 2025
Merged

chore: Improve verdaccio pipeline #7900

merged 12 commits into from
Mar 13, 2025

Conversation

snowystinger
Copy link
Member

@snowystinger snowystinger commented Mar 10, 2025

Closes

This separates out the verdaccio script so it can be parallelized. This means we can add new examples without worrying about increasing the build time even more.

While the savings from parallelizing it were unfortunately mostly matched by the overhead of persisting the workspace and non-shared yarn caches between example apps, I was able to save over a minute on the patch versioning.

Overall, comparison between this branch and main
This branch 23min
On main, at best 25min, at worst 30+min

while my run is a small sample size, main only had a single successful time under 25min in 3 months.

✅ Pull Request Checklist:

  • Included link to corresponding React Spectrum GitHub Issue.
  • Added/updated unit tests and storybook for this change (for new code or code which already has tests).
  • Filled out test instructions.
  • Updated documentation (if it already exists for this component).
  • Looked at the Accessibility Practices for this feature - Aria Practices

📝 Test Instructions:

🧢 Your Project:

@rspbot
Copy link

rspbot commented Mar 10, 2025

@rspbot
Copy link

rspbot commented Mar 10, 2025

reidbarber
reidbarber previously approved these changes Mar 10, 2025
Copy link
Member

@reidbarber reidbarber left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

LFDanLu
LFDanLu previously approved these changes Mar 13, 2025
Copy link
Member

@LFDanLu LFDanLu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, this means verdaccio.sh only needs to be used locally now right (if even that since someone could just used the separate shell scripts added here together)?

@@ -86,6 +86,8 @@ async function build() {
'@parcel/transformer-css': packageJSON['@parcel/transformer-css']
};

console.log(spawnSync('yarn', ['config', 'get', 'npmRegistryServer'], {stdio: 'inherit'}));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

stray console log or did you find logging this out is helpful for future runs?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah yep, stray

@snowystinger snowystinger enabled auto-merge March 13, 2025 22:03
@rspbot
Copy link

rspbot commented Mar 13, 2025

@rspbot
Copy link

rspbot commented Mar 13, 2025

## API Changes

react-aria-components

/react-aria-components:ColorWheelTrack

 ColorWheelTrack {
   className?: string | ((ColorWheelTrackRenderProps & {
     defaultClassName: string | undefined
 })) => string
-  id?: string
   style?: CSSProperties | ((ColorWheelTrackRenderProps & {
     defaultStyle: CSSProperties
 })) => CSSProperties | undefined
 }

/react-aria-components:OverlayArrow

 OverlayArrow extends HTMLAttributes {
   children?: ReactNode | ((OverlayArrowRenderProps & {
     defaultChildren: ReactNode | undefined
 })) => ReactNode
   className?: string | ((OverlayArrowRenderProps & {
     defaultClassName: string | undefined
 })) => string
-  id?: string
   style?: CSSProperties | ((OverlayArrowRenderProps & {
     defaultStyle: CSSProperties
 })) => CSSProperties | undefined
 }

/react-aria-components:TableBody

 TableBody <T extends {}> {
-  children?: ReactNode | (T) => ReactNode
+  children?: ReactNode | ({}) => ReactNode
   className?: string | ((TableBodyRenderProps & {
     defaultClassName: string | undefined
 })) => string
   dependencies?: ReadonlyArray<any>
-  items?: Iterable<T>
+  disabledKeys?: Iterable<Key>
+  items?: Iterable<{}>
   renderEmptyState?: (TableBodyRenderProps) => ReactNode
   style?: CSSProperties | ((TableBodyRenderProps & {
     defaultStyle: CSSProperties
 })) => CSSProperties | undefined

/react-aria-components:TableLayout

 TableLayout <O extends TableLayoutProps = TableLayoutProps, T> {
   constructor: (ListLayoutOptions) => void
-  getContentSize: () => Size
+  getContentSize: () => void
   getDropTargetFromPoint: (number, number, (DropTarget) => boolean) => DropTarget | null
   getDropTargetLayoutInfo: (ItemDropTarget) => LayoutInfo
-  getLayoutInfo: (Key) => LayoutInfo | null
-  getVisibleLayoutInfos: (Rect) => Array<LayoutInfo>
+  getLayoutInfo: (Key) => void
+  getVisibleLayoutInfos: (Rect) => void
   shouldInvalidate: (Rect, Rect) => boolean
   shouldInvalidateLayoutOptions: (TableLayoutProps, TableLayoutProps) => boolean
   update: (InvalidationContext<TableLayoutProps>) => void
-  updateItemSize: (Key, Size) => boolean
-  useLayoutOptions: () => TableLayoutProps
+  updateItemSize: (Key, Size) => void
+  useLayoutOptions: () => void
   virtualizer: Virtualizer<{}, any> | null
 }

/react-aria-components:UNSTABLE_ToastRegion

 UNSTABLE_ToastRegion <T> {
   aria-describedby?: string
   aria-details?: string
   aria-label?: string = "Notifications"
   aria-labelledby?: string
   children: ({
     toast: QueuedToast<T>
 }) => ReactElement
   className?: string | ((ToastRegionRenderProps<T> & {
     defaultClassName: string | undefined
 })) => string
-  portalContainer?: Element = document.body
   queue: ToastQueue<T>
   style?: CSSProperties | ((ToastRegionRenderProps<T> & {
     defaultStyle: CSSProperties
 })) => CSSProperties | undefined

/react-aria-components:UNSTABLE_ToastQueue

 UNSTABLE_ToastQueue <T> {
-  add: (T, ToastOptions) => string
+  add: (T, ToastOptions) => void
   close: (string) => void
   constructor: (ToastStateProps) => void
   pauseAll: () => void
   resumeAll: () => void
-  subscribe: (() => void) => () => boolean
+  subscribe: (() => void) => void
   visibleToasts: Array<QueuedToast<T>>
 }

/react-aria-components:ListLayout

 ListLayout <O extends ListLayoutOptions = ListLayoutOptions, T> {
   constructor: (ListLayoutOptions) => void
-  getContentSize: () => Size
+  getContentSize: () => void
   getDropTargetFromPoint: (number, number, (DropTarget) => boolean) => DropTarget | null
   getDropTargetLayoutInfo: (ItemDropTarget) => LayoutInfo
-  getLayoutInfo: (Key) => LayoutInfo | null
-  getVisibleLayoutInfos: (Rect) => Array<LayoutInfo>
+  getLayoutInfo: (Key) => void
+  getVisibleLayoutInfos: (Rect) => void
   shouldInvalidate: (Rect, Rect) => boolean
   shouldInvalidateLayoutOptions: (ListLayoutOptions, ListLayoutOptions) => boolean
   update: (InvalidationContext<ListLayoutOptions>) => void
-  updateItemSize: (Key, Size) => boolean
+  updateItemSize: (Key, Size) => void
   virtualizer: Virtualizer<{}, any> | null
 }

/react-aria-components:GridLayout

 GridLayout <O extends GridLayoutOptions = GridLayoutOptions, T> {
   getContentSize: () => Size
   getDropTargetFromPoint: (number, number, (DropTarget) => boolean) => DropTarget
   getDropTargetLayoutInfo: (ItemDropTarget) => LayoutInfo
   getLayoutInfo: (Key) => LayoutInfo
   getVisibleLayoutInfos: (Rect) => Array<LayoutInfo>
   shouldInvalidate: (Rect, Rect) => boolean
   shouldInvalidateLayoutOptions: (GridLayoutOptions, GridLayoutOptions) => boolean
   update: (InvalidationContext<GridLayoutOptions>) => void
-  updateItemSize: (Key, Size) => boolean
+  updateItemSize: (Key, Size) => void
   virtualizer: Virtualizer<{}, any> | null
 }

/react-aria-components:WaterfallLayout

 WaterfallLayout <O extends WaterfallLayoutOptions = WaterfallLayoutOptions, T extends {}> {
   getContentSize: () => Size
   getDropTargetFromPoint: (number, number) => DropTarget
   getDropTargetLayoutInfo: (ItemDropTarget) => LayoutInfo
   getKeyLeftOf: (Key) => Key | null
   getKeyRange: (Key, Key) => Array<Key>
   getKeyRightOf: (Key) => Key | null
   getLayoutInfo: (Key) => LayoutInfo
   getVisibleLayoutInfos: (Rect) => Array<LayoutInfo>
   shouldInvalidate: (Rect, Rect) => boolean
   shouldInvalidateLayoutOptions: (WaterfallLayoutOptions, WaterfallLayoutOptions) => boolean
   update: (InvalidationContext<WaterfallLayoutOptions>) => void
-  updateItemSize: (Key, Size) => boolean
+  updateItemSize: (Key, Size) => void
   virtualizer: Virtualizer<{}, any> | null
 }

/react-aria-components:Size

 Size {
-  area: number
+  area: any
   constructor: (any, any) => void
   copy: () => Size
   equals: (Size) => boolean
   height: number
 }

/react-aria-components:Rect

 Rect {
   area: number
   bottomLeft: Point
   bottomRight: Point
   constructor: (any, any, any, any) => void
   containsPoint: (Point) => boolean
   containsRect: (Rect) => boolean
   copy: () => Rect
-  equals: (Rect) => boolean
+  equals: (Rect) => void
   getCornerInRect: (Rect) => RectCorner | null
   height: number
   intersection: (Rect) => Rect
   intersects: (Rect) => boolean
   maxX: number
   maxY: number
-  pointEquals: (Point | Rect) => boolean
-  sizeEquals: (Size | Rect) => boolean
+  pointEquals: (Point | Rect) => void
+  sizeEquals: (Size | Rect) => void
   topLeft: Point
   topRight: Point
-  union: (Rect) => Rect
+  union: (Rect) => void
   width: number
   x: number
   y: number
 }

/react-aria-components:ColorWheelTrackProps

 ColorWheelTrackProps {
   className?: string | ((ColorWheelTrackRenderProps & {
     defaultClassName: string | undefined
 })) => string
-  id?: string
   style?: CSSProperties | ((ColorWheelTrackRenderProps & {
     defaultStyle: CSSProperties
 })) => CSSProperties | undefined
 }

/react-aria-components:OverlayArrowProps

 OverlayArrowProps {
   children?: ReactNode | ((OverlayArrowRenderProps & {
     defaultChildren: ReactNode | undefined
 })) => ReactNode
   className?: string | ((OverlayArrowRenderProps & {
     defaultClassName: string | undefined
 })) => string
-  id?: string
   style?: CSSProperties | ((OverlayArrowRenderProps & {
     defaultStyle: CSSProperties
 })) => CSSProperties | undefined
 }

/react-aria-components:TableBodyProps

 TableBodyProps <T> {
   children?: ReactNode | (T) => ReactNode
   className?: string | ((TableBodyRenderProps & {
     defaultClassName: string | undefined
 })) => string
   dependencies?: ReadonlyArray<any>
+  disabledKeys?: Iterable<Key>
   items?: Iterable<T>
   renderEmptyState?: (TableBodyRenderProps) => ReactNode
   style?: CSSProperties | ((TableBodyRenderProps & {
     defaultStyle: CSSProperties
 }

/react-aria-components:ToastRegionProps

 ToastRegionProps <T> {
   aria-describedby?: string
   aria-details?: string
   aria-label?: string = "Notifications"
   aria-labelledby?: string
   children: ({
     toast: QueuedToast<T>
 }) => ReactElement
   className?: string | ((ToastRegionRenderProps<T> & {
     defaultClassName: string | undefined
 })) => string
-  portalContainer?: Element = document.body
   queue: ToastQueue<T>
   style?: CSSProperties | ((ToastRegionRenderProps<T> & {
     defaultStyle: CSSProperties
 })) => CSSProperties | undefined

@internationalized/date

/@internationalized/date:Time

 Time {
-  add: (TimeDuration) => Time
-  compare: (AnyTime) => number
+  add: (TimeDuration) => void
+  compare: (AnyTime) => void
   constructor: (number, number, number, number) => void
   copy: () => Time
-  cycle: (TimeField, number, CycleTimeOptions) => Time
+  cycle: (TimeField, number, CycleTimeOptions) => void
   hour: number
   millisecond: number
   minute: number
   second: number
-  set: (TimeFields) => Time
-  subtract: (TimeDuration) => Time
-  toString: () => string
+  set: (TimeFields) => void
+  subtract: (TimeDuration) => void
+  toString: () => void
   UNKNOWN: any
 }

/@internationalized/date:ZonedDateTime

 ZonedDateTime {
-  add: (DateTimeDuration) => ZonedDateTime
+  add: (DateTimeDuration) => void
   calendar: Calendar
-  compare: (CalendarDate | CalendarDateTime | ZonedDateTime) => number
+  compare: (CalendarDate | CalendarDateTime | ZonedDateTime) => void
   constructor: (Array<any>) => void
   copy: () => ZonedDateTime
-  cycle: (DateField | TimeField, number, CycleTimeOptions) => ZonedDateTime
+  cycle: (DateField | TimeField, number, CycleTimeOptions) => void
   day: number
   era: string
   hour: number
   millisecond: number
   minute: number
   month: number
   offset: number
   second: number
-  set: ((DateFields & TimeFields), Disambiguation) => ZonedDateTime
-  subtract: (DateTimeDuration) => ZonedDateTime
+  set: ((DateFields & TimeFields), Disambiguation) => void
+  subtract: (DateTimeDuration) => void
   timeZone: string
-  toAbsoluteString: () => string
-  toDate: () => Date
-  toString: () => string
+  toAbsoluteString: () => void
+  toDate: () => void
+  toString: () => void
   UNKNOWN: any
   year: number
 }

/@internationalized/date:GregorianCalendar

 GregorianCalendar {
   balanceDate: (Mutable<AnyCalendarDate>) => void
   fromJulianDay: (number) => CalendarDate
   getDaysInMonth: (AnyCalendarDate) => number
   getDaysInYear: (AnyCalendarDate) => number
-  getEras: () => Array<string>
+  getEras: () => void
   getMonthsInYear: (AnyCalendarDate) => number
   getYearsInEra: (AnyCalendarDate) => number
   identifier: any
   isInverseEra: (AnyCalendarDate) => boolean
 }

/@internationalized/date:JapaneseCalendar

 JapaneseCalendar {
   balanceDate: (Mutable<AnyCalendarDate>) => void
   constrainDate: (Mutable<AnyCalendarDate>) => void
   fromJulianDay: (number) => CalendarDate
   getDaysInMonth: (AnyCalendarDate) => number
   getDaysInYear: (AnyCalendarDate) => number
-  getEras: () => Array<string>
+  getEras: () => void
   getMinimumDayInMonth: (AnyCalendarDate) => number
   getMinimumMonthInYear: (AnyCalendarDate) => number
   getMonthsInYear: (AnyCalendarDate) => number
   getYearsInEra: (AnyCalendarDate) => number
   identifier: any
   isInverseEra: (AnyCalendarDate) => boolean
-  toJulianDay: (AnyCalendarDate) => number
+  toJulianDay: (AnyCalendarDate) => void
 }

/@internationalized/date:BuddhistCalendar

 BuddhistCalendar {
   balanceDate: () => void
   fromJulianDay: (number) => CalendarDate
   getDaysInMonth: (AnyCalendarDate) => number
   getDaysInYear: (AnyCalendarDate) => number
-  getEras: () => Array<string>
+  getEras: () => void
   getMonthsInYear: (AnyCalendarDate) => number
   getYearsInEra: (AnyCalendarDate) => number
   identifier: any
   isInverseEra: (AnyCalendarDate) => boolean
-  toJulianDay: (AnyCalendarDate) => number
+  toJulianDay: (AnyCalendarDate) => void
 }

/@internationalized/date:TaiwanCalendar

 TaiwanCalendar {
   balanceDate: (Mutable<AnyCalendarDate>) => void
   fromJulianDay: (number) => CalendarDate
   getDaysInMonth: (AnyCalendarDate) => number
   getDaysInYear: (AnyCalendarDate) => number
-  getEras: () => Array<string>
+  getEras: () => void
   getMonthsInYear: (AnyCalendarDate) => number
   getYearsInEra: (AnyCalendarDate) => number
   identifier: any
   isInverseEra: (AnyCalendarDate) => boolean
-  toJulianDay: (AnyCalendarDate) => number
+  toJulianDay: (AnyCalendarDate) => void
 }

/@internationalized/date:PersianCalendar

 PersianCalendar {
   fromJulianDay: (number) => CalendarDate
   getDaysInMonth: (AnyCalendarDate) => number
-  getEras: () => Array<string>
+  getEras: () => void
   getMonthsInYear: () => number
   getYearsInEra: () => number
   identifier: any
   toJulianDay: (AnyCalendarDate) => number

/@internationalized/date:IndianCalendar

 IndianCalendar {
   balanceDate: () => void
   fromJulianDay: (number) => CalendarDate
   getDaysInMonth: (AnyCalendarDate) => number
   getDaysInYear: (AnyCalendarDate) => number
-  getEras: () => Array<string>
+  getEras: () => void
   getMonthsInYear: (AnyCalendarDate) => number
   getYearsInEra: () => number
   identifier: any
   isInverseEra: (AnyCalendarDate) => boolean
-  toJulianDay: (AnyCalendarDate) => number
+  toJulianDay: (AnyCalendarDate) => void
 }

/@internationalized/date:IslamicCivilCalendar

 IslamicCivilCalendar {
   fromJulianDay: (number) => CalendarDate
   getDaysInMonth: (AnyCalendarDate) => number
   getDaysInYear: (AnyCalendarDate) => number
-  getEras: () => Array<string>
+  getEras: () => void
   getMonthsInYear: () => number
   getYearsInEra: () => number
   identifier: any
-  toJulianDay: (AnyCalendarDate) => number
+  toJulianDay: (AnyCalendarDate) => void
 }

/@internationalized/date:IslamicTabularCalendar

 IslamicTabularCalendar {
   fromJulianDay: (number) => CalendarDate
   getDaysInMonth: (AnyCalendarDate) => number
   getDaysInYear: (AnyCalendarDate) => number
-  getEras: () => Array<string>
+  getEras: () => void
   getMonthsInYear: () => number
   getYearsInEra: () => number
   identifier: any
-  toJulianDay: (AnyCalendarDate) => number
+  toJulianDay: (AnyCalendarDate) => void
 }

/@internationalized/date:IslamicUmalquraCalendar

 IslamicUmalquraCalendar {
   constructor: () => void
   fromJulianDay: (number) => CalendarDate
   getDaysInMonth: (AnyCalendarDate) => number
   getDaysInYear: (AnyCalendarDate) => number
-  getEras: () => Array<string>
+  getEras: () => void
   getMonthsInYear: () => number
   getYearsInEra: () => number
   identifier: any
   toJulianDay: (AnyCalendarDate) => number

/@internationalized/date:HebrewCalendar

 HebrewCalendar {
   balanceYearMonth: (Mutable<AnyCalendarDate>, AnyCalendarDate) => void
   fromJulianDay: (number) => CalendarDate
   getDaysInMonth: (AnyCalendarDate) => number
   getDaysInYear: (AnyCalendarDate) => number
-  getEras: () => Array<string>
+  getEras: () => void
   getMonthsInYear: (AnyCalendarDate) => number
   getYearsInEra: () => number
   identifier: any
-  toJulianDay: (AnyCalendarDate) => number
+  toJulianDay: (AnyCalendarDate) => void
 }

/@internationalized/date:EthiopicCalendar

 EthiopicCalendar {
   fromJulianDay: (number) => CalendarDate
   getDaysInMonth: (AnyCalendarDate) => number
   getDaysInYear: (AnyCalendarDate) => number
-  getEras: () => Array<string>
+  getEras: () => void
   getMonthsInYear: () => number
   getYearsInEra: (AnyCalendarDate) => number
   identifier: any
-  toJulianDay: (AnyCalendarDate) => number
+  toJulianDay: (AnyCalendarDate) => void
 }

/@internationalized/date:EthiopicAmeteAlemCalendar

 EthiopicAmeteAlemCalendar {
   fromJulianDay: (number) => CalendarDate
   getDaysInMonth: (AnyCalendarDate) => number
   getDaysInYear: (AnyCalendarDate) => number
-  getEras: () => Array<string>
+  getEras: () => void
   getMonthsInYear: () => number
   getYearsInEra: () => number
   identifier: any
-  toJulianDay: (AnyCalendarDate) => number
+  toJulianDay: (AnyCalendarDate) => void
 }

/@internationalized/date:CopticCalendar

 CopticCalendar {
   balanceDate: (Mutable<AnyCalendarDate>) => void
   fromJulianDay: (number) => CalendarDate
   getDaysInMonth: (AnyCalendarDate) => number
   getDaysInYear: (AnyCalendarDate) => number
-  getEras: () => Array<string>
+  getEras: () => void
   getMonthsInYear: () => number
   getYearsInEra: (AnyCalendarDate) => number
   identifier: any
   isInverseEra: (AnyCalendarDate) => boolean
-  toJulianDay: (AnyCalendarDate) => number
+  toJulianDay: (AnyCalendarDate) => void
 }

@internationalized/message

/@internationalized/message:MessageDictionary

 MessageDictionary {
   constructor: (LocalizedStrings, string) => void
-  getStringForLocale: (string, string) => string
+  getStringForLocale: (string, string) => void
 }

/@internationalized/message:MessageFormatter

 MessageFormatter {
   constructor: (string, MessageDictionary) => void
-  format: (string, Record<string, PrimitiveType | T | FormatXMLElementFn<T, string | T | Array<string | T>>> | undefined) => string | T | Array<string | T>
+  format: (string, Record<string, PrimitiveType | T | FormatXMLElementFn<T, string | T | Array<string | T>>> | undefined) => void
 }

@react-aria/collections

/@react-aria/collections:BaseCollection

 BaseCollection <T> {
   UNSTABLE_filter: ((string) => boolean) => BaseCollection<T>
   addNode: (CollectionNode<T>) => void
   at: () => Node<T>
   clone: () => this
   commit: (Key | null, Key | null, any) => void
   getChildren: (Key) => Iterable<Node<T>>
-  getFirstKey: () => Key | null
+  getFirstKey: () => void
   getItem: (Key) => Node<T> | null
-  getKeyAfter: (Key) => Key | null
-  getKeyBefore: (Key) => Key | null
-  getKeys: () => IterableIterator<Key>
-  getLastKey: () => Key | null
+  getKeyAfter: (Key) => void
+  getKeyBefore: (Key) => void
+  getKeys: () => void
+  getLastKey: () => void
   removeNode: (Key) => void
-  size: number
-  undefined: () => IterableIterator<Node<T>>
+  size: any
+  undefined: () => void
 }

@react-aria/grid

/@react-aria/grid:GridKeyboardDelegate

 GridKeyboardDelegate <C extends GridCollection<T>, T> {
   collection: GridCollection<T>
   constructor: (GridKeyboardDelegateOptions<GridCollection<T>>) => void
-  getFirstKey: (Key, boolean) => Key | null
-  getKeyAbove: (Key) => Key | null
-  getKeyBelow: (Key) => Key | null
-  getKeyForSearch: (string, Key) => Key | null
-  getKeyLeftOf: (Key) => Key | null
-  getKeyPageAbove: (Key) => Key | null
-  getKeyPageBelow: (Key) => Key | null
-  getKeyRightOf: (Key) => Key | null
-  getLastKey: (Key, boolean) => Key | null
+  getFirstKey: (Key, boolean) => void
+  getKeyAbove: (Key) => void
+  getKeyBelow: (Key) => void
+  getKeyForSearch: (string, Key) => void
+  getKeyLeftOf: (Key) => void
+  getKeyPageAbove: (Key) => void
+  getKeyPageBelow: (Key) => void
+  getKeyRightOf: (Key) => void
+  getLastKey: (Key, boolean) => void
 }

@react-aria/selection

/@react-aria/selection:ListKeyboardDelegate

 ListKeyboardDelegate <T> {
   constructor: (Array<any>) => void
-  getFirstKey: () => Key | null
-  getKeyAbove: (Key) => Key | null
-  getKeyBelow: (Key) => Key | null
-  getKeyForSearch: (string, Key) => Key | null
-  getKeyLeftOf: (Key) => Key | null
-  getKeyPageAbove: (Key) => Key | null
-  getKeyPageBelow: (Key) => Key | null
-  getKeyRightOf: (Key) => Key | null
-  getLastKey: () => Key | null
-  getNextKey: (Key) => Key | null
-  getPreviousKey: (Key) => Key | null
+  getFirstKey: () => void
+  getKeyAbove: (Key) => void
+  getKeyBelow: (Key) => void
+  getKeyForSearch: (string, Key) => void
+  getKeyLeftOf: (Key) => void
+  getKeyPageAbove: (Key) => void
+  getKeyPageBelow: (Key) => void
+  getKeyRightOf: (Key) => void
+  getLastKey: () => void
+  getNextKey: (Key) => void
+  getPreviousKey: (Key) => void
 }

@react-aria/utils

/@react-aria/utils:getEventTarget

-getEventTarget <T extends Event> {
+getEventTarget {
-  event: T
+  event: any
   returnVal: undefined
 }

/@react-aria/utils:getOffset

 getOffset {
-  element: HTMLElement
-  reverse?: boolean
-  orientation: Orientation
+  element: any
+  reverse: any
+  orientation: any
   returnVal: undefined
 }

@react-spectrum/card

/@react-spectrum/card:GalleryLayout

 GalleryLayout <T> {
-  _distributeWidths: (Array<number>) => boolean
-  _findClosest: (Rect, Rect) => LayoutInfo | null
-  _findClosestLayoutInfo: (Rect, Rect) => LayoutInfo | null
+  _distributeWidths: (any) => void
+  _findClosest: (Rect, Rect) => void
+  _findClosestLayoutInfo: (Rect, Rect) => void
   buildCollection: () => void
   collection: GridCollection<T>
   constructor: (GalleryLayoutOptions) => void
   direction: Direction
   disabledKeys: Set<Key>
-  getContentSize: () => number
+  getContentSize: () => void
   getDropTargetLayoutInfo: (ItemDropTarget) => LayoutInfo
-  getFirstKey: () => Node<T> | undefined
-  getKeyAbove: (Key) => Node<T> | undefined
-  getKeyBelow: (Key) => Node<T> | undefined
-  getKeyForSearch: (string, Key) => Node<T> | undefined | null
-  getKeyLeftOf: (Key) => Node<T> | undefined
-  getKeyPageAbove: (Key) => Node<T> | undefined
-  getKeyPageBelow: (Key) => Node<T> | undefined
-  getKeyRightOf: (Key) => Node<T> | undefined
-  getLastKey: () => Node<T> | undefined
-  getLayoutInfo: (Key) => LayoutInfo
-  getVisibleLayoutInfos: (Rect, any) => Array<LayoutInfo>
+  getFirstKey: () => void
+  getKeyAbove: (Key) => void
+  getKeyBelow: (Key) => void
+  getKeyForSearch: (string, Key) => void
+  getKeyLeftOf: (Key) => void
+  getKeyPageAbove: (Key) => void
+  getKeyPageBelow: (Key) => void
+  getKeyRightOf: (Key) => void
+  getLastKey: () => void
+  getLayoutInfo: (Key) => void
+  getVisibleLayoutInfos: (Rect, any) => void
   isLoading: boolean
-  isVisible: (LayoutInfo, Rect, boolean) => boolean
+  isVisible: (LayoutInfo, Rect, boolean) => void
   itemPadding: number
-  layoutType: string
+  layoutType: any
   margin: number
   scale: Scale
   shouldInvalidate: (Rect, Rect) => boolean
   shouldInvalidateLayoutOptions: (O, O) => boolean
   updateItemSize: (Key, Size) => boolean
   virtualizer: Virtualizer<{}, any> | null
 }

/@react-spectrum/card:GridLayout

 GridLayout <T> {
-  _findClosest: (Rect, Rect) => LayoutInfo | null
-  _findClosestLayoutInfo: (Rect, Rect) => LayoutInfo | null
+  _findClosest: (Rect, Rect) => void
+  _findClosestLayoutInfo: (Rect, Rect) => void
   buildChild: (Node<T>, number, number) => LayoutInfo
   buildCollection: () => void
   cardOrientation: Orientation
   collection: GridCollection<T>
   constructor: (GridLayoutOptions) => void
   direction: Direction
   disabledKeys: Set<Key>
-  getContentSize: () => number
+  getContentSize: () => void
   getDropTargetLayoutInfo: (ItemDropTarget) => LayoutInfo
-  getFirstKey: () => Node<T> | undefined
-  getIndexAtPoint: (number, number, any) => number
-  getKeyAbove: (Key) => Node<T> | undefined | null
-  getKeyBelow: (Key) => Node<T> | undefined | null
-  getKeyForSearch: (string, Key) => Node<T> | undefined | null
-  getKeyLeftOf: (Key) => Node<T> | undefined
-  getKeyPageAbove: (Key) => Node<T> | undefined
-  getKeyPageBelow: (Key) => Node<T> | undefined
-  getKeyRightOf: (Key) => Node<T> | undefined
-  getLastKey: () => Node<T> | undefined
-  getLayoutInfo: (Key) => LayoutInfo
-  getVisibleLayoutInfos: (Rect, any) => Array<LayoutInfo>
+  getFirstKey: () => void
+  getIndexAtPoint: (any, any, any) => void
+  getKeyAbove: (Key) => void
+  getKeyBelow: (Key) => void
+  getKeyForSearch: (string, Key) => void
+  getKeyLeftOf: (Key) => void
+  getKeyPageAbove: (Key) => void
+  getKeyPageBelow: (Key) => void
+  getKeyRightOf: (Key) => void
+  getLastKey: () => void
+  getLayoutInfo: (Key) => void
+  getVisibleLayoutInfos: (Rect, any) => void
   isLoading: boolean
-  isVisible: (LayoutInfo, Rect, boolean) => boolean
+  isVisible: (LayoutInfo, Rect, boolean) => void
   itemPadding: number
-  layoutType: string
+  layoutType: any
   margin: number
   scale: Scale
   shouldInvalidate: (Rect, Rect) => boolean
   shouldInvalidateLayoutOptions: (O, O) => boolean
   updateItemSize: (Key, Size) => boolean
   virtualizer: Virtualizer<{}, any> | null
 }

/@react-spectrum/card:WaterfallLayout

 WaterfallLayout <T> {
-  _findClosest: (Rect, Rect) => LayoutInfo | null
-  _findClosestLayoutInfo: (Rect, Rect) => LayoutInfo | null
+  _findClosest: (Rect, Rect) => void
+  _findClosestLayoutInfo: (Rect, Rect) => void
   buildCollection: (InvalidationContext) => void
   collection: GridCollection<T>
   constructor: (WaterfallLayoutOptions) => void
   direction: Direction
   disabledKeys: Set<Key>
-  getClosestLeft: (Key) => Node<T> | undefined
-  getClosestRight: (Key) => Node<T> | undefined
-  getContentSize: () => number
+  getClosestLeft: (Key) => void
+  getClosestRight: (Key) => void
+  getContentSize: () => void
   getDropTargetLayoutInfo: (ItemDropTarget) => LayoutInfo
-  getFirstKey: () => Node<T> | undefined
-  getKeyAbove: (Key) => Node<T> | undefined
-  getKeyBelow: (Key) => Node<T> | undefined
-  getKeyForSearch: (string, Key) => Node<T> | undefined | null
-  getKeyLeftOf: (Key) => Node<T> | undefined
-  getKeyPageAbove: (Key) => Node<T> | undefined
-  getKeyPageBelow: (Key) => Node<T> | undefined
-  getKeyRightOf: (Key) => Node<T> | undefined
-  getLastKey: () => Node<T> | undefined
-  getLayoutInfo: (Key) => LayoutInfo
-  getNextColumnIndex: (Array<number>) => number
-  getVisibleLayoutInfos: (Rect, any) => Array<LayoutInfo>
+  getFirstKey: () => void
+  getKeyAbove: (Key) => void
+  getKeyBelow: (Key) => void
+  getKeyForSearch: (string, Key) => void
+  getKeyLeftOf: (Key) => void
+  getKeyPageAbove: (Key) => void
+  getKeyPageBelow: (Key) => void
+  getKeyRightOf: (Key) => void
+  getLastKey: () => void
+  getLayoutInfo: (Key) => void
+  getNextColumnIndex: (any) => void
+  getVisibleLayoutInfos: (Rect, any) => void
   isLoading: boolean
-  isVisible: (LayoutInfo, Rect, boolean) => boolean
-  layoutType: string
+  isVisible: (LayoutInfo, Rect, boolean) => void
+  layoutType: any
   margin: number
   scale: Scale
   shouldInvalidate: (Rect, Rect) => boolean
   shouldInvalidateLayoutOptions: (O, O) => boolean
   update: (InvalidationContext<CardViewLayoutOptions>) => void
-  updateItemSize: (Key, Size) => number
+  updateItemSize: (Key, Size) => void
   virtualizer: Virtualizer<{}, any> | null
 }

@react-spectrum/s2

/@react-spectrum/s2:TableBody

 TableBody <T extends {}> {
   children?: ReactNode | (T) => ReactNode
+  disabledKeys?: Iterable<Key>
   items?: Iterable<T>
   renderEmptyState?: (TableBodyRenderProps) => ReactNode
 }

/@react-spectrum/s2:TableBodyProps

 TableBodyProps <T> {
   children?: ReactNode | (T) => ReactNode
+  disabledKeys?: Iterable<Key>
   items?: Iterable<T>
   renderEmptyState?: (TableBodyRenderProps) => ReactNode
 }

@react-spectrum/story-utils

/@react-spectrum/story-utils:ErrorBoundary

 ErrorBoundary {
-  constructor: ({
-    message: string
-  children: ReactNode
-}) => void
-  getDerivedStateFromError: () => {
-    hasError: boolean
+  constructor: (any) => void
+  getDerivedStateFromError: () => void
+  render: () => void
 }
-  render: () => ReactNode
-}

@react-spectrum/utils

/@react-spectrum/utils:passthroughStyle

-passthroughStyle <T> {
+passthroughStyle {
-  value: T
+  value: any
   returnVal: undefined
 }

/@react-spectrum/utils:cssModuleToSlots

 cssModuleToSlots {
-  cssModule: {
-    [cssmodule: string]: string
-}
+  cssModule: any
   returnVal: undefined
 }

/@react-spectrum/utils:SlotProvider

 SlotProvider {
-  children?: ReactNode
-  slots?: {
-    [slot: string]: {}
+
 }
-}

/@react-spectrum/utils:ClearSlots

 ClearSlots {
-  children?: ReactNode
+
 }

@react-stately/collections

/@react-stately/collections:CollectionBuilder

 CollectionBuilder <T extends {}> {
-  build: (Partial<CollectionBase<{}>>, unknown) => Iterable<Node<{}>>
+  build: (Partial<CollectionBase<{}>>, unknown) => void
 }

@react-stately/datepicker

/@react-stately/datepicker:FormatterOptions

-FormatterOptions {
-  granularity?: DatePickerProps<any>['granularity']
-  hideTimeZone?: boolean
-  hourCycle?: number | number
-  maxGranularity?: 'year' | 'month' | DatePickerProps<any>['granularity']
-  shouldForceLeadingZeros?: boolean
-  showEra?: boolean
-  timeZone?: string
-}

@react-stately/grid

/@react-stately/grid:GridCollection

 GridCollection <T> {
-  at: (number) => GridNode<T> | null
+  at: (number) => void
   columnCount: number
   constructor: (GridCollectionOptions<T>) => void
   getChildren: (Key) => Iterable<GridNode<T>>
   getFirstKey: () => Key | null
-  getItem: (Key) => GridNode<T> | null
-  getKeyAfter: (Key) => Key | null
-  getKeyBefore: (Key) => Key | null
-  getKeys: () => IterableIterator<Key>
+  getItem: (Key) => void
+  getKeyAfter: (Key) => void
+  getKeyBefore: (Key) => void
+  getKeys: () => void
   getLastKey: () => Key | null
   keyMap: Map<Key, GridNode<T>>
   rows: Array<GridNode<T>>
-  size: number
-  undefined: () => IterableIterator<GridNode<T>>
+  size: any
+  undefined: () => void
 }

@react-stately/layout

/@react-stately/layout:GridLayout

 GridLayout <O extends GridLayoutOptions = GridLayoutOptions, T> {
   getContentSize: () => Size
   getDropTargetFromPoint: (number, number, (DropTarget) => boolean) => DropTarget
   getDropTargetLayoutInfo: (ItemDropTarget) => LayoutInfo
   getLayoutInfo: (Key) => LayoutInfo
   getVisibleLayoutInfos: (Rect) => Array<LayoutInfo>
   shouldInvalidate: (Rect, Rect) => boolean
   shouldInvalidateLayoutOptions: (GridLayoutOptions, GridLayoutOptions) => boolean
   update: (InvalidationContext<GridLayoutOptions>) => void
-  updateItemSize: (Key, Size) => boolean
+  updateItemSize: (Key, Size) => void
   virtualizer: Virtualizer<{}, any> | null
 }

/@react-stately/layout:ListLayout

 ListLayout <O extends ListLayoutOptions = ListLayoutOptions, T> {
   constructor: (ListLayoutOptions) => void
-  getContentSize: () => Size
+  getContentSize: () => void
   getDropTargetFromPoint: (number, number, (DropTarget) => boolean) => DropTarget | null
   getDropTargetLayoutInfo: (ItemDropTarget) => LayoutInfo
-  getLayoutInfo: (Key) => LayoutInfo | null
-  getVisibleLayoutInfos: (Rect) => Array<LayoutInfo>
+  getLayoutInfo: (Key) => void
+  getVisibleLayoutInfos: (Rect) => void
   shouldInvalidate: (Rect, Rect) => boolean
   shouldInvalidateLayoutOptions: (ListLayoutOptions, ListLayoutOptions) => boolean
   update: (InvalidationContext<ListLayoutOptions>) => void
-  updateItemSize: (Key, Size) => boolean
+  updateItemSize: (Key, Size) => void
   virtualizer: Virtualizer<{}, any> | null
 }

/@react-stately/layout:TableLayout

 TableLayout <O extends TableLayoutProps = TableLayoutProps, T> {
   constructor: (ListLayoutOptions) => void
-  getContentSize: () => Size
+  getContentSize: () => void
   getDropTargetFromPoint: (number, number, (DropTarget) => boolean) => DropTarget | null
   getDropTargetLayoutInfo: (ItemDropTarget) => LayoutInfo
-  getLayoutInfo: (Key) => LayoutInfo | null
-  getVisibleLayoutInfos: (Rect) => Array<LayoutInfo>
+  getLayoutInfo: (Key) => void
+  getVisibleLayoutInfos: (Rect) => void
   shouldInvalidate: (Rect, Rect) => boolean
   shouldInvalidateLayoutOptions: (TableLayoutProps, TableLayoutProps) => boolean
   update: (InvalidationContext<TableLayoutProps>) => void
-  updateItemSize: (Key, Size) => boolean
+  updateItemSize: (Key, Size) => void
   virtualizer: Virtualizer<{}, any> | null
 }

/@react-stately/layout:WaterfallLayout

 WaterfallLayout <O extends WaterfallLayoutOptions = WaterfallLayoutOptions, T extends {}> {
   getContentSize: () => Size
   getDropTargetFromPoint: (number, number) => DropTarget
   getDropTargetLayoutInfo: (ItemDropTarget) => LayoutInfo
   getKeyLeftOf: (Key) => Key | null
   getKeyRange: (Key, Key) => Array<Key>
   getKeyRightOf: (Key) => Key | null
   getLayoutInfo: (Key) => LayoutInfo
   getVisibleLayoutInfos: (Rect) => Array<LayoutInfo>
   shouldInvalidate: (Rect, Rect) => boolean
   shouldInvalidateLayoutOptions: (WaterfallLayoutOptions, WaterfallLayoutOptions) => boolean
   update: (InvalidationContext<WaterfallLayoutOptions>) => void
-  updateItemSize: (Key, Size) => boolean
+  updateItemSize: (Key, Size) => void
   virtualizer: Virtualizer<{}, any> | null
 }

@react-stately/list

/@react-stately/list:ListCollection

 ListCollection <T> {
-  at: (number) => Node<T> | null
+  at: (number) => void
   constructor: (Iterable<Node<T>>) => void
   getChildren: (Key) => Iterable<Node<T>>
-  getFirstKey: () => Key | null
-  getItem: (Key) => Node<T> | null
-  getKeyAfter: (Key) => Key | null
-  getKeyBefore: (Key) => Key | null
-  getKeys: () => IterableIterator<Key>
-  getLastKey: () => Key | null
-  size: number
-  undefined: () => IterableIterator<Node<T>>
+  getFirstKey: () => void
+  getItem: (Key) => void
+  getKeyAfter: (Key) => void
+  getKeyBefore: (Key) => void
+  getKeys: () => void
+  getLastKey: () => void
+  size: any
+  undefined: () => void
 }

@react-stately/selection

/@react-stately/selection:SelectionManager

 SelectionManager {
-  canSelectItem: (Key) => boolean
+  canSelectItem: (Key) => void
   childFocusStrategy: FocusStrategy | null
   clearSelection: () => void
   collection: Collection<Node<unknown>>
   constructor: (Collection<Node<unknown>>, MultipleSelectionState, SelectionManagerOptions) => void
   disabledBehavior: DisabledBehavior
   disabledKeys: Set<Key>
   disallowEmptySelection: boolean
   extendSelection: (Key) => void
   firstSelectedKey: Key | null
   focusedKey: Key | null
-  getItemProps: (Key) => any
-  isDisabled: (Key) => boolean
+  getItemProps: (Key) => void
+  isDisabled: (Key) => void
   isEmpty: boolean
   isFocused: boolean
-  isLink: (Key) => boolean
+  isLink: (Key) => void
   isSelectAll: boolean
-  isSelected: (Key) => boolean
-  isSelectionEqual: (Set<Key>) => boolean
+  isSelected: (Key) => void
+  isSelectionEqual: (Set<Key>) => void
   lastSelectedKey: Key | null
   rawSelection: Selection
   replaceSelection: (Key) => void
   select: (Key, PressEvent | LongPressEvent | PointerEvent) => void
   selectAll: () => void
   selectedKeys: Set<Key>
   selectionBehavior: SelectionBehavior
   selectionMode: SelectionMode
   setFocused: (boolean) => void
   setFocusedKey: (Key | null, FocusStrategy) => void
   setSelectedKeys: (Iterable<Key>) => void
   setSelectionBehavior: (SelectionBehavior) => void
   toggleSelectAll: () => void
   toggleSelection: (Key) => void
-  withCollection: (Collection<Node<unknown>>) => SelectionManager
+  withCollection: (Collection<Node<unknown>>) => void
 }

@react-stately/table

/@react-stately/table:TableCollection

 TableCollection <T> {
   _size: number
-  at: (number) => GridNode<T> | null
+  at: (number) => void
   body: GridNode<T>
   columnCount: number
   columns: Array<GridNode<T>>
   constructor: (Iterable<GridNode<T>>, TableCollection<T> | null, GridCollectionOptions) => void
   getChildren: (Key) => Iterable<GridNode<T>>
-  getFirstKey: () => Key | null
-  getItem: (Key) => GridNode<T> | null
-  getKeyAfter: (Key) => Key | null
-  getKeyBefore: (Key) => Key | null
-  getKeys: () => IterableIterator<Key>
-  getLastKey: () => Key | null
+  getFirstKey: () => void
+  getItem: (Key) => void
+  getKeyAfter: (Key) => void
+  getKeyBefore: (Key) => void
+  getKeys: () => void
+  getLastKey: () => void
   getTextValue: (Key) => string
   headerRows: Array<GridNode<T>>
   keyMap: Map<Key, GridNode<T>>
   rowHeaderColumnKeys: Set<Key>
   rows: Array<GridNode<T>>
-  size: number
-  undefined: () => IterableIterator<GridNode<T>>
+  size: any
+  undefined: () => void
 }

/@react-stately/table:TableColumnLayout

 TableColumnLayout <T> {
-  buildColumnWidths: (number, TableCollection<T>, Map<Key, ColumnSize>) => Map<Key, number>
+  buildColumnWidths: (number, TableCollection<T>, Map<Key, ColumnSize>) => void
   columnMaxWidths: Map<Key, number>
   columnMinWidths: Map<Key, number>
   columnWidths: Map<Key, number>
   constructor: (TableColumnLayoutOptions<T>) => void
   getColumnMinWidth: (Key) => number
   getColumnWidth: (Key) => number
   getDefaultMinWidth: (GridNode<T>) => ColumnSize | null | undefined
   getDefaultWidth: (GridNode<T>) => ColumnSize | null | undefined
   getInitialUncontrolledWidths: (Map<Key, GridNode<T>>) => Map<Key, ColumnSize>
   recombineColumns: (Array<GridNode<T>>, Map<Key, ColumnSize>, Map<Key, GridNode<T>>, Map<Key, GridNode<T>>) => Map<Key, ColumnSize>
   resizeColumnWidth: (TableCollection<T>, Map<Key, ColumnSize>, Key, number) => Map<Key, ColumnSize>
   splitColumnsIntoControlledAndUncontrolled: (Array<GridNode<T>>) => [Map<Key, GridNode<T>>, Map<Key, GridNode<T>>]
 }

@react-stately/toast

/@react-stately/toast:ToastQueue

 ToastQueue <T> {
-  add: (T, ToastOptions) => string
+  add: (T, ToastOptions) => void
   close: (string) => void
   constructor: (ToastStateProps) => void
   pauseAll: () => void
   resumeAll: () => void
-  subscribe: (() => void) => () => boolean
+  subscribe: (() => void) => void
   visibleToasts: Array<QueuedToast<T>>
 }

@react-stately/tree

/@react-stately/tree:TreeCollection

 TreeCollection <T> {
-  at: (number) => Node<T> | null
+  at: (number) => void
   constructor: (Iterable<Node<T>>, {
     expandedKeys?: Set<Key>
 }) => void
-  getFirstKey: () => Key | null
-  getItem: (Key) => Node<T> | null
-  getKeyAfter: (Key) => Key | null
-  getKeyBefore: (Key) => Key | null
-  getKeys: () => IterableIterator<Key>
-  getLastKey: () => Key | null
-  size: number
-  undefined: () => IterableIterator<Node<T>>
+  getFirstKey: () => void
+  getItem: (Key) => void
+  getKeyAfter: (Key) => void
+  getKeyBefore: (Key) => void
+  getKeys: () => void
+  getLastKey: () => void
+  size: any
+  undefined: () => void
 }

@react-stately/virtualizer

/@react-stately/virtualizer:Rect

 Rect {
   area: number
   bottomLeft: Point
   bottomRight: Point
   constructor: (any, any, any, any) => void
   containsPoint: (Point) => boolean
   containsRect: (Rect) => boolean
   copy: () => Rect
-  equals: (Rect) => boolean
+  equals: (Rect) => void
   getCornerInRect: (Rect) => RectCorner | null
   height: number
   intersection: (Rect) => Rect
   intersects: (Rect) => boolean
   maxX: number
   maxY: number
-  pointEquals: (Point | Rect) => boolean
-  sizeEquals: (Size | Rect) => boolean
+  pointEquals: (Point | Rect) => void
+  sizeEquals: (Size | Rect) => void
   topLeft: Point
   topRight: Point
-  union: (Rect) => Rect
+  union: (Rect) => void
   width: number
   x: number
   y: number
 }

/@react-stately/virtualizer:Size

 Size {
-  area: number
+  area: any
   constructor: (any, any) => void
   copy: () => Size
   equals: (Size) => boolean
   height: number
 }

/@react-stately/virtualizer:ReusableView

 ReusableView <T extends {}, V> {
   children: Set<ChildView<{}, V>>
   constructor: (Virtualizer<{}, V>, string) => void
   content: {} | null
-  getReusableView: (string) => ChildView<{}, V>
+  getReusableView: (string) => void
   key: Key
   layoutInfo: LayoutInfo | null
   prepareForReuse: () => void
   rendered: V | null
   reuseChild: (ChildView<{}, V>) => void
   viewType: string
   virtualizer: Virtualizer<{}, V>
 }

@snowystinger snowystinger added this pull request to the merge queue Mar 13, 2025
Merged via the queue into main with commit 9d471e4 Mar 13, 2025
30 checks passed
@snowystinger snowystinger deleted the speed-up-verdaccio branch March 13, 2025 22:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants