FluidFramework icon indicating copy to clipboard operation
FluidFramework copied to clipboard

Type Erase Shared object kinds

Open CraigMacomber opened this issue 9 months ago • 1 comments

Description

Make ISharedObjectKind, IChannel, IChannelFactory, IFluidDataStoreRuntime and more alpha by tweaking fluid-static APIs typing.

Breaking Changes

Access to these now less public types should not be required for users of the @public "declarative API" exposed in the fluid-framework package, but can still be accessed for those who need them under the /legacy import paths. The full list of such types is:

  • SharedTree as exported from @fluidframwork/tree: It is still exported as @public from fluid-framework as SharedObjectKind.
  • ISharedObjectKind: See new SharedObjectKind type for use in @public APIs. ISharedObject
  • IChannel
  • IChannelAttributes
  • IChannelFactory
  • IExperimentalIncrementalSummaryContext
  • IGarbageCollectionData
  • ISummaryStats
  • ISummaryTreeWithStats
  • ITelemetryContext
  • IDeltaManagerErased
  • IFluidDataStoreRuntimeEvents
  • IFluidHandleContext
  • IProvideFluidHandleContext

Removed APIs:

  • DataObjectClass: Usages replaced with SharedObjectKind.
  • LoadableObjectClass: Replaced with SharedObjectKind.
  • LoadableObjectClassRecord: Replaced with Record<string, SharedObjectKind>.

Reviewer Guidance

The review process is outlined on this wiki page.

CraigMacomber avatar May 14 '24 22:05 CraigMacomber

@fluid-example/bundle-size-tests: +21 Bytes
Metric NameBaseline SizeCompare SizeSize Diff
aqueduct.js 453.98 KB 453.98 KB No change
azureClient.js 551.22 KB 551.23 KB +10 Bytes
connectionState.js 680 Bytes 680 Bytes No change
containerRuntime.js 257.82 KB 257.82 KB No change
fluidFramework.js 359.58 KB 359.59 KB +7 Bytes
loader.js 132.91 KB 132.91 KB No change
map.js 41.45 KB 41.45 KB No change
matrix.js 143.67 KB 143.67 KB No change
odspClient.js 519.75 KB 519.76 KB +10 Bytes
odspDriver.js 97.29 KB 97.29 KB No change
odspPrefetchSnapshot.js 42.15 KB 42.15 KB No change
sharedString.js 160.19 KB 160.19 KB No change
sharedTree.js 359.58 KB 359.57 KB -6 Bytes
Total Size 3.2 MB 3.2 MB +21 Bytes

Baseline commit: 23886804113575a5de10e4ac70cbd1a73be584e6

Generated by :no_entry_sign: dangerJS against ceeb1af2704e153bf3290d15e1c57dd16513920c

msfluid-bot avatar May 14 '24 23:05 msfluid-bot