fluid-framework 2.118.0 → 3.0.0
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 +450 -75
- package/README.md +55 -52
- package/{api-extractor.json → api-extractor/api-extractor-model.json} +1 -1
- package/api-report/fluid-framework.alpha.api.md +132 -136
- package/api-report/fluid-framework.beta.api.md +123 -84
- package/api-report/fluid-framework.legacy.beta.api.md +131 -88
- package/api-report/fluid-framework.legacy.public.api.md +31 -38
- package/api-report/fluid-framework.public.api.md +27 -36
- package/dist/alpha.d.ts +16 -13
- package/dist/beta.d.ts +11 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/legacy.d.ts +11 -0
- package/lib/alpha.d.ts +17 -14
- package/lib/beta.d.ts +12 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/legacy.d.ts +12 -1
- package/lib/public.d.ts +1 -1
- package/package.json +49 -54
- package/src/index.ts +1 -0
- package/tsconfig.json +1 -1
- package/alpha.d.ts +0 -11
- package/beta.d.ts +0 -11
- package/legacy.d.ts +0 -11
- /package/api-extractor/{api-extractor.current.json → api-extractor-report.current.json} +0 -0
- /package/api-extractor/{api-extractor.legacy.json → api-extractor-report.legacy.json} +0 -0
package/README.md
CHANGED
|
@@ -17,15 +17,15 @@ There are some packages there are not included as part of this `fluid-framework`
|
|
|
17
17
|
|
|
18
18
|
## Using Fluid Framework libraries
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
library consumers should always prefer `^`.
|
|
20
|
+
For a dependency on a Fluid Framework library's public APIs, we recommend a `^` (caret) version range.
|
|
21
|
+
For example, use `^1.3.4`.
|
|
23
22
|
|
|
24
|
-
|
|
23
|
+
For a dependency on an unstable API, such as a `beta` API, we recommend a more restrictive version range.
|
|
24
|
+
For example, use a `~` version range.
|
|
25
25
|
|
|
26
26
|
## Installation
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
Run this command to install the package:
|
|
29
29
|
|
|
30
30
|
```bash
|
|
31
31
|
npm i fluid-framework
|
|
@@ -33,20 +33,20 @@ npm i fluid-framework
|
|
|
33
33
|
|
|
34
34
|
## Importing from this package
|
|
35
35
|
|
|
36
|
-
This package
|
|
37
|
-
For
|
|
36
|
+
This package uses [package.json exports](https://nodejs.org/api/packages.html#exports) to separate APIs by support level.
|
|
37
|
+
For information about the support guarantees, read [API Support Levels](https://fluidframework.com/docs/build/releases-and-apitags/#api-support-levels).
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
Import the `public` APIs from `fluid-framework`.
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
Import the `beta` APIs from `fluid-framework/beta`.
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
Import the `alpha` APIs from `fluid-framework/alpha`.
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
Import the `legacy` APIs from `fluid-framework/legacy`.
|
|
46
46
|
|
|
47
47
|
## API Documentation
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
Read the **fluid-framework** API documentation at <https://fluidframework.com/docs/apis/fluid-framework>.
|
|
50
50
|
|
|
51
51
|
<!-- prettier-ignore-end -->
|
|
52
52
|
|
|
@@ -81,62 +81,69 @@ Check out the [Hello World tutorial](https://fluidframework.com/docs/start/tutor
|
|
|
81
81
|
|
|
82
82
|
## Minimum Client Requirements
|
|
83
83
|
|
|
84
|
-
|
|
85
|
-
These requirements
|
|
86
|
-
|
|
84
|
+
Fluid Framework client libraries support the platforms in this document.
|
|
85
|
+
These requirements are intentionally restrictive.
|
|
86
|
+
Within a major version series, we can relax these requirements, but we cannot make them stricter.
|
|
87
|
+
For a Long Term Support (LTS) version, we might need to support these platforms for several years.
|
|
87
88
|
|
|
88
|
-
|
|
89
|
-
If
|
|
90
|
-
|
|
89
|
+
Other configurations can work, but Fluid Framework does not support them.
|
|
90
|
+
If an unsupported configuration stops working, we do not classify this as a bug.
|
|
91
|
+
To request support for a configuration that is not listed, file an issue.
|
|
92
|
+
The product team will evaluate your request.
|
|
93
|
+
In the issue, specify the current status of the configuration:
|
|
94
|
+
|
|
95
|
+
- The configuration works but needs official support.
|
|
96
|
+
- The configuration does not work and requires changes.
|
|
91
97
|
|
|
92
98
|
### Supported Runtimes
|
|
93
99
|
|
|
94
|
-
-
|
|
95
|
-
-
|
|
96
|
-
-
|
|
100
|
+
- Fluid Framework supports Node.js versions 22 and 24 while they receive [upstream support](https://nodejs.org/en/about/previous-releases).
|
|
101
|
+
- Fluid Framework will stop support for version 22 [when upstream support ends on 2027-04-30](https://github.com/nodejs/release#release-schedule).
|
|
102
|
+
- Fluid Framework does not support Node.js with the `--no-experimental-fetch` flag.
|
|
103
|
+
- Fluid Framework supports modern browsers that support the ES2022 standard library.
|
|
97
104
|
|
|
98
105
|
### Supported Tools
|
|
99
106
|
|
|
100
|
-
- TypeScript
|
|
101
|
-
-
|
|
102
|
-
-
|
|
103
|
-
- [
|
|
104
|
-
-
|
|
105
|
-
|
|
107
|
+
- [TypeScript 6.0](https://typescriptdocs.com/release-notes/TypeScript%206.0):
|
|
108
|
+
- Fluid Framework supports all [`strict`](https://www.typescriptlang.org/tsconfig) options.
|
|
109
|
+
- Set the build targets (`lib`, `target`) to `ES2022` or later.
|
|
110
|
+
- Enable [`strictNullChecks`](https://www.typescriptlang.org/tsconfig).
|
|
111
|
+
- Fluid Framework does not support [configuration options deprecated in TypeScript 6.0](https://typescriptdocs.com/release-notes/TypeScript%206.0#breaking-changes-and-deprecations-in-typescript-6-0).
|
|
112
|
+
- Fluid Framework does not fully support `exactOptionalPropertyTypes`.
|
|
113
|
+
If you enable this option, do not use `in`, `Reflect.has`, `Object.hasOwn`, or `Object.prototype.hasOwnProperty` to narrow members of Fluid Framework types.
|
|
114
|
+
These methods can incorrectly exclude `undefined` from the possible values.
|
|
106
115
|
- [webpack](https://webpack.js.org/) 5
|
|
107
|
-
- We
|
|
108
|
-
Other bundlers
|
|
116
|
+
- We do not require a specific bundler.
|
|
117
|
+
Other bundlers that handle ES Modules can work, but we actively test only webpack.
|
|
109
118
|
|
|
110
119
|
### Module Resolution
|
|
111
120
|
|
|
112
|
-
[`Node16`, `NodeNext`, or `Bundler`](https://www.typescriptlang.org/tsconfig#moduleResolution)
|
|
113
|
-
|
|
121
|
+
In TypeScript `compilerOptions`, use [`Node16`, `Node20`, `NodeNext`, or `Bundler`](https://www.typescriptlang.org/tsconfig#moduleResolution) module resolution.
|
|
122
|
+
These settings follow the [Node.js v12+ ESM Resolution and Loading algorithm](https://nodejs.github.io/nodejs.dev/en/api/v20/esm/#resolution-and-loading-algorithm).
|
|
123
|
+
|
|
124
|
+
Do not use `Node10` module resolution.
|
|
114
125
|
|
|
115
126
|
### Module Formats
|
|
116
127
|
|
|
117
128
|
- ES Modules:
|
|
118
|
-
ES Modules
|
|
119
|
-
-
|
|
120
|
-
|
|
121
|
-
This is done to accommodate some workflows without good ES Module support.
|
|
122
|
-
If you have a workflow you would like included in this list, file an issue.
|
|
123
|
-
Once this list of workflows motivating CommonJS support is empty, we may drop support for CommonJS one year after notice of the change is posted here.
|
|
124
|
-
|
|
125
|
-
- Testing with Jest (which lacks [stable ESM support](https://jestjs.io/docs/ecmascript-modules) due to [unstable APIs in NodeJs](https://github.com/nodejs/node/issues/37648))
|
|
129
|
+
Use ES Modules to consume Fluid Framework client packages, including in Node.js.
|
|
130
|
+
- CommonJS:
|
|
131
|
+
Fluid Framework does not officially support CommonJS in version 3.0 or later.
|
|
126
132
|
|
|
127
133
|
## Contribution Guidelines
|
|
128
134
|
|
|
129
|
-
|
|
135
|
+
You can [contribute](https://github.com/microsoft/FluidFramework/blob/main/CONTRIBUTING.md) to Fluid Framework in these ways:
|
|
130
136
|
|
|
131
|
-
-
|
|
132
|
-
- [Submit
|
|
133
|
-
- Review
|
|
137
|
+
- Answer questions in [GitHub Discussions](https://github.com/microsoft/FluidFramework/discussions).
|
|
138
|
+
- [Submit bug reports](https://github.com/microsoft/FluidFramework/issues) and help verify fixes.
|
|
139
|
+
- Review [source code changes](https://github.com/microsoft/FluidFramework/pulls).
|
|
134
140
|
- [Contribute bug fixes](https://github.com/microsoft/FluidFramework/blob/main/CONTRIBUTING.md).
|
|
135
141
|
|
|
136
|
-
|
|
142
|
+
For detailed instructions, read the [repo documentation](https://github.com/microsoft/FluidFramework/blob/main/docs/content/Home.md).
|
|
137
143
|
|
|
138
|
-
This project
|
|
139
|
-
For more information
|
|
144
|
+
This project follows the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
|
|
145
|
+
For more information, read the [Code of Conduct frequently asked questions](https://opensource.microsoft.com/codeofconduct/faq/).
|
|
146
|
+
For questions or comments, contact [opencode@microsoft.com](mailto:opencode@microsoft.com).
|
|
140
147
|
|
|
141
148
|
This project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.
|
|
142
149
|
Use of these trademarks or logos must follow Microsoft’s [Trademark & Brand Guidelines](https://www.microsoft.com/trademarks).
|
|
@@ -144,13 +151,9 @@ Use of Microsoft trademarks or logos in modified versions of this project must n
|
|
|
144
151
|
|
|
145
152
|
## Help
|
|
146
153
|
|
|
147
|
-
|
|
148
|
-
Check out [fluidframework.com](https://fluidframework.com/docs/).
|
|
149
|
-
|
|
150
|
-
Still not finding what you're looking for?
|
|
151
|
-
Please [file an issue](https://github.com/microsoft/FluidFramework/blob/main/docs/content/Contributing/Submitting-Bugs-and-Feature-Requests.md).
|
|
154
|
+
Read the [Fluid Framework documentation](https://fluidframework.com/docs/) for information about Fluid Framework concepts and APIs.
|
|
152
155
|
|
|
153
|
-
|
|
156
|
+
To request information that the documentation does not contain, [create an issue](https://github.com/microsoft/FluidFramework/blob/main/docs/content/Contributing/Submitting-Bugs-and-Feature-Requests.md).
|
|
154
157
|
|
|
155
158
|
## Trademark
|
|
156
159
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
|
|
3
|
-
"extends": "
|
|
3
|
+
"extends": "<projectFolder>/../../../common/build/build-common/api-extractor-model.esm.json",
|
|
4
4
|
"bundledPackages": ["@fluidframework/*"],
|
|
5
5
|
"messages": {
|
|
6
6
|
"extractorMessageReporting": {
|