-
Notifications
You must be signed in to change notification settings - Fork 535
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
Single Fluid Framework Library Package #4778
Comments
@micahgodbolt & @curtisman. I figured both of you would be interested in this issue. I'd love to get clarity on how we should best organize the package. |
First Pass: Where should we make it?Location: FluidFramework/packages/framework/fluid-library? What should export?Two Options
If we export only a subset we need to export
What should the namespaces look like?They should roughly mimic our existing package structure. Should we come up with a library tree structure to organize the package? This could use a spec, or we can iterate on it over time. import { aqueduct, container-definitions } from "@fluid-experimental/main"
aqueduct.getTinyliciousContainer()
export container extends container-definitions.IContainer {
} or import { getTinyliciousContainer, IContainer } from "@fluid-experimental/main"
getTinyliciousContainer()
export container extends IContainer { } Open QuestionsAre there libraries that we can exclude from this package? |
@SamBroner question about size: Are we concerned about the package size of this import? Or do we see this as being the same as importing all of these packages individually, and that the user will treeshake out any unused code? |
We can expect people to treeshake. Ultimately I want to get the size of this package down, but let's optimize later. |
This is complete. We're got further work to refine the package contents, but that can be done elsewhere. |
@micahgodbolt Where is this? Is it @fluid-experimental/aqueduct? And yes, please include everything in a single package; treeshaking should be taken for granted. :) |
Getting some initial thoughts on paper here.
We have the fluid-experimental namespace on NPM. We should use that namespace to experiment with a single library that import->exports all of our existing libraries.
I think we could (should?) also create aqueduct v2 export that has some of our thinking about pre-built data objects. This could include a Key Value Pair, 2d-array data object, etc.
Goals:
The text was updated successfully, but these errors were encountered: