-
Notifications
You must be signed in to change notification settings - Fork 535
npm package scopes
Packages that are part of the platform itself, including platform DDSes, protocol definitions, shared interfaces, as well as reference implementations of components of the system (e.g. Routerlicious). This is the "default" scope for packages in the FluidFramework repo.
Public packages containing tools developed within the Fluid Framework repo that may be of general use to Fluid and/or JavaScript developers.
Packages containing libraries meant only for use between packages within the Fluid Framework. This means that these packages may contain changes that are not aligned with semver (i.e. they can contain "breaking changes" in minor releases). Packages with this scope are not published to npm by default, but they are published to internal feeds. To publish packages with this scope, add the package to the policy.packageNames.mustPublish.npm
list in the root fluidBuild config.
Private packages (i.e. should NOT be published) used internally within the Fluid Framework repo. These packages contain infrastructure that can only be used by the Fluid Framework team. This carries with it a lower commitment to stable APIs because breaking changes can only affect the FluidFramework repository. These packages are not published by default, even internally, except for some exceptions to facilitate validation pipelines.
Historical note: This scope was formerly @fluid-internal. Yes, it is confusing, but in the past we called our private, never-published packages "internal." We now know that was a mistake. 😄
Packages that are experimental and should not be used in critical scenarios. We use this scope when we're not sure if a package should be included in the platform SDK. Some platform packages will start in this scope and be renamed and published under the @fluidframework scope once the package is no longer considered experimental.
This is a package that re-exports the official "public API" for GA. Everything exposed through this package is also exposed in a @fluidframework package.
This is the server version of the tinylicious package. Installed/run via npx tinylicious
.
@fluidframework, fluid-framework and tinylicious follow the deprecation policy. Packages that do not conform to the policy can be removed without following the deprecation policy
This wiki is focused on contributing to the Fluid Framework codebase.
For information on using Fluid Framework or building applications on it, please refer to fluidframework.com.
- Submitting Bugs and Feature Requests
-
Contributing to the Repo
- Repo Basics
- Common Workflows and Patterns
- Managing dependencies
- Client Code
- Server Code
- PR Guidelines
- CI Pipelines
- Breaking vs Non-Breaking Changes
- Branches, Versions, and Releases
- Compatibility & Versioning
- Testing
- Debugging
- npm package scopes
- Maintaining API support levels
- Developer Tooling Maintenance
- API Deprecation
- Working with the Website (fluidframework.com)
- Coding Guidelines
- Documentation Guidelines
- CLA