fluid-framework 2.0.0-dev-rc.3.0.0.254866 → 2.0.0-dev-rc.5.0.0.263932
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +99 -0
- package/README.md +7 -0
- package/api-report/fluid-framework.api.md +503 -50
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -5
- package/dist/index.js.map +1 -1
- package/dist/{alpha.d.ts → legacy.d.ts} +45 -4
- package/dist/public.d.ts +8 -2
- package/legacy.d.ts +11 -0
- package/lib/index.d.ts +5 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +5 -2
- package/lib/index.js.map +1 -1
- package/lib/{alpha.d.ts → legacy.d.ts} +45 -4
- package/lib/public.d.ts +8 -2
- package/lib/tsdoc-metadata.json +1 -1
- package/package.json +30 -21
- package/src/index.ts +52 -2
- package/dist/beta.d.ts +0 -106
- package/lib/beta.d.ts +0 -106
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,104 @@
|
|
|
1
1
|
# fluid-framework
|
|
2
2
|
|
|
3
|
+
## 2.0.0-rc.4.0.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- SharedString now uses ISharedObjectKind and does not export the factory [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
|
|
8
|
+
|
|
9
|
+
Most users of `SharedString` should be unaffected as long as they stick to the factory patterns supported by ISharedObjectKind.
|
|
10
|
+
If the actual class type is needed it can be found as `SharedStringClass`.
|
|
11
|
+
|
|
12
|
+
- Deprecated members of IFluidHandle are split off into new IFluidHandleInternal interface [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
|
|
13
|
+
|
|
14
|
+
Split IFluidHandle into two interfaces, `IFluidHandle` and `IFluidHandleInternal`.
|
|
15
|
+
Code depending on the previously deprecated members of IFluidHandle can access them by using `toFluidHandleInternal` from `@fluidframework/runtime-utils/legacy`.
|
|
16
|
+
|
|
17
|
+
External implementation of the `IFluidHandle` interface are not supported: this change makes the typing better convey this using the `ErasedType` pattern.
|
|
18
|
+
Any existing and previously working, and now broken, external implementations of `IFluidHandle` should still work at runtime, but will need some unsafe type casts to compile.
|
|
19
|
+
Such handle implementation may break in the future and thus should be replaced with use of handles produced by the Fluid Framework client packages.
|
|
20
|
+
|
|
21
|
+
- Minor API fixes for "@fluidframework/tree" package. [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
|
|
22
|
+
|
|
23
|
+
Changes constructor for `FieldSchema` from public to private. Users should call `makeFieldSchema` to create instance of `FieldSchema`.
|
|
24
|
+
|
|
25
|
+
- Make several driver types no longer public [b7ad7d0b55](https://github.com/microsoft/FluidFramework/commit/b7ad7d0b55884dd8954abf7c398e518838b9bda0)
|
|
26
|
+
|
|
27
|
+
Move the following types from `@public` to `@alpha`:
|
|
28
|
+
|
|
29
|
+
- ITokenClaims
|
|
30
|
+
- IDocumentMessage
|
|
31
|
+
- IClientConfiguration
|
|
32
|
+
- IAnyDriverError
|
|
33
|
+
- IDriverErrorBase
|
|
34
|
+
- DriverErrorTypes
|
|
35
|
+
|
|
36
|
+
`DriverErrorTypes` is no longer exported from the `fluid-framework` package.
|
|
37
|
+
|
|
38
|
+
- Rename `AzureMember.userName` to `AzureMember.name` and `IMember.userId` to `IMember.id` [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
|
|
39
|
+
|
|
40
|
+
1. Renamed `AzureMember.userName` to `AzureMember.name` to establish uniform naming across odsp-client and azure-client.
|
|
41
|
+
2. Renamed `IMember.userId` to `IMember.id` to align with the properties received from AFR.
|
|
42
|
+
|
|
43
|
+
## 2.0.0-rc.3.0.0
|
|
44
|
+
|
|
45
|
+
### Major Changes
|
|
46
|
+
|
|
47
|
+
- fluid-framework: DDS classes are no longer publicly exported [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
|
|
48
|
+
|
|
49
|
+
SharedDirectory now only exports its factory and the interface type.
|
|
50
|
+
The actual concrete classes which leak implementation details are no longer exported.
|
|
51
|
+
Users of the `SharedDirectory` type should use `ISharedDirectory`.
|
|
52
|
+
|
|
53
|
+
Most of other internal crufts are also hided within the API surface, such as the encoded format,
|
|
54
|
+
ILocalValue, ICreateInfo, local op metadata types, etc.
|
|
55
|
+
|
|
56
|
+
- Packages now use package.json "exports" and require modern module resolution [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
|
|
57
|
+
|
|
58
|
+
Fluid Framework packages have been updated to use the [package.json "exports"
|
|
59
|
+
field](https://nodejs.org/docs/latest-v18.x/api/packages.html#exports) to define explicit entry points for both
|
|
60
|
+
TypeScript types and implementation code.
|
|
61
|
+
|
|
62
|
+
This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
|
|
63
|
+
|
|
64
|
+
- `"moduleResolution": "Node16"` with `"module": "Node16"`
|
|
65
|
+
- `"moduleResolution": "Bundler"` with `"module": "ESNext"`
|
|
66
|
+
|
|
67
|
+
We recommend using Node16/Node16 unless absolutely necessary. That will produce transpiled JavaScript that is suitable
|
|
68
|
+
for use with modern versions of Node.js _and_ Bundlers.
|
|
69
|
+
[See the TypeScript documentation](https://www.typescriptlang.org/tsconfig#moduleResolution) for more information
|
|
70
|
+
regarding the module and moduleResolution options.
|
|
71
|
+
|
|
72
|
+
**Node10 moduleResolution is not supported; it does not support Fluid Framework's API structuring pattern that is used
|
|
73
|
+
to distinguish stable APIs from those that are in development.**
|
|
74
|
+
|
|
75
|
+
### Minor Changes
|
|
76
|
+
|
|
77
|
+
- tree: Allow root editing and make TreeView parameterized over schema. [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
|
|
78
|
+
|
|
79
|
+
TreeView now is parameterized over the field schema instead of the root field type. This was needed to infer the correct input type when reassigning the root.
|
|
80
|
+
Code providing an explicit type to TreeView, like `TreeView<Foo>` can usually be updated by replacing that with `TreeView<typeof Foo>`.
|
|
81
|
+
|
|
82
|
+
- fluid-framework: Replace SharedObjectClass with new ISharedObjectKind type. [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
|
|
83
|
+
|
|
84
|
+
The static objects used as SharedObjectClass now explicitly implement the new ISharedObjectKind type.
|
|
85
|
+
SharedObjectClass has been removed as ISharedObjectKind now fills that role.
|
|
86
|
+
LoadableObjectCtor has been inlined as it only had one use: an external user of it can replace it with `(new (...args: any[]) => T)`.
|
|
87
|
+
|
|
88
|
+
- fluid-framework: Moved SharedMap to 'fluid-framework/legacy' [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
|
|
89
|
+
|
|
90
|
+
Please use SharedTree for new containers. SharedMap is supported for loading preexisting Fluid Framework 1.x containers only.
|
|
91
|
+
|
|
92
|
+
Fluid Framework 1.x users migrating to Fluid Framework 2.x will need to import SharedMap from the './legacy' import path.
|
|
93
|
+
|
|
94
|
+
```ts
|
|
95
|
+
import { SharedMap } from "fluid-framework/legacy";
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
- fluid-framework: Make some interface members readonly [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
|
|
99
|
+
|
|
100
|
+
Remove unneeded mutability from some interface members.
|
|
101
|
+
|
|
3
102
|
## 2.0.0-rc.2.0.0
|
|
4
103
|
|
|
5
104
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
The `fluid-framework` package bundles a collection of Fluid Framework client libraries for easy use when paired with a corresponding service client package (e.g. `@fluidframework/azure-client`, `@fluidframework/tinylicious-client`, or `@fluid-experimental/osdp-client (BETA)`).
|
|
4
4
|
|
|
5
|
+
This package reexports these APIs from other Fluid client packages reducing the number of direct package dependencies needed.
|
|
6
|
+
There are some packages there are not included as part of this `fluid-framework` package which users may want to use with this package:
|
|
7
|
+
|
|
8
|
+
- A service client (e.g. `@fluidframework/azure-client`, `@fluid-experimental/osdp-client (BETA)`, or `@fluidframework/tinylicious-client` for local development) to allow connecting to a Fluid service.
|
|
9
|
+
- Fluid Framework [developer tools](https://github.com/microsoft/FluidFramework/tree/main/packages/tools/devtools/devtools).
|
|
10
|
+
- `@fluidframework/app-insights-logger`: to route Fluid telemetry to Azure App Insights.
|
|
11
|
+
|
|
5
12
|
## Contents
|
|
6
13
|
|
|
7
14
|
The `fluid-framework` package consists primarily of two portions: the `IFluidContainer` and a selection of distributed data structures (DDSes).
|