Comments (2)
Hi @alberto-f!
Thanks for considering Microstates for your application. As always, the question of whether something is "ready" for production is subjective. We are currently using the released version and it is (as far as we know) bug free, but we do use semver and as you point out, the 0
major version does mean that we do foresee some changes to the API before we're comfortable placing a 1
on it.
Here is the roadmap of the changes we plan on making before 1.0
- removing the
.state
property on primitive microstates, and instead using a.value
property for every microstate:
before:
create(Number, 4).state //=> 4
valueOf(create(Object, {})) //=> Object {}
after
create(Number, 4).value //=> 4
create(Object, {}).value //=> Object {}
-
Atomic values. Currently, each microstate references its own value. We will probably move to an internal representation where each microstate references a path to a location within a single atom held by the top-level microstate. This will allow microstates in one portion of the tree to reference each other without changing the internal structure of the original value. Mostly this will be an invisible change, but it is significant to warrant mention.
-
1st class support for TypeScript. It's very important that Microstates work seamlessly with TypeScript. We're not sure what changes will be required here, there's a real possibility that the could be breaking.
-
We've developed some slightly different patterns for using microstates with the https://github.com/thefrontside/effection.js library which makes some current features that are bundled with microstates (such as the store, and the stable values) optional. It's very possible that we will bundle
Store
separately in the future. This isn't a breaking change in API other than where you would import it from:
before
import { Store } from 'microstates';
after
import { Store } from `@microstates/store`;
I hope that helps answer your question. The API has been stable for a while now, but will change. However, we are conscientious of semver and would not release breaking changes without at the very least iterating on the minor version number, and once we do reach 1.0
always iterating the major version with a breaking change.
from microstates.
Thank you very much for providing this information. :)
from microstates.
Related Issues (20)
- Typescript types definition files HOT 4
- Proposal for composition Microstates Effects HOT 4
- Handling onChange for Number Type HOT 8
- Remove `parameterized` functionality and replace with simple functions
- Proposal for auto publish process HOT 5
- "invalid typeclass name" error when using with Razzle HOT 5
- ArrayType#sort should pass microstates to comparer instead of value
- Quest: TypeScript support
- An in-range update of mocha is breaking the build 🚨 HOT 8
- An in-range update of rollup is breaking the build 🚨 HOT 81
- Control child Microstate creation HOT 13
- Export `query()` function
- Add `flatMap` method to query.
- add `concat` method to query
- General usage feedback (naming things, type checks) HOT 4
- Publishing to NPM with branch as tag HOT 4
- from() examples with objects don't work HOT 5
- Update logo for social preview HOT 2
- Can microstates be used in the browser? (IE11)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from microstates.