Version 2.0 Planning
See original GitHub issueVersion 2.0
Overview
This issue is to track version 2.0 of Dynamoose, and discuss what the major priorities are for this release.
There is no ETA on this release. Suggestions, feedback, or questions, are welcome! Anything you can do to help with this release would be much appreciated! It’d be amazing to get some help on the first 2 minor priorities especially.
Please comment or contact me if you have any suggestions, feedback, or questions about this release.
Major Priorities
Rewrite Map and List Schema Types
Currently in Dynamoose the Map
and List
Schema Types are very confusing. See #445 and #446. This task should include the following:
- The only difference between
Object
andMap
should be how it is saved in DynamoDB (string vs map). Same goes forArray
andList
. This can be toggled by using theuseDocumentTypes
property. - Remove the
Map
andList
property types for schema’s. - Update the documentation to be more clear about this.
- Ensure PR summary is very clear and well defined to make it easy for users to migrate.
Rename scannedCount to queriedCount for Queries #559
One of the major priorities of version 2.0 is to update queries to use the property name queriedCount
instead of scannedCount
.
Migrate to AWS SDK version 3 #463
AWS SDK version 3 is coming. Dynamoose version 2.0 will hopefully integrate with that new SDK version. This happening in Dynamoose version 2.0 is very dependent on the release and timeline for AWS SDK version 3.
Minor Priorities
Continue Documentation Improvements
Although we have slowly been making progress at improving the documentation, it still has a long way to go. Making more improvements to the documentation would be great.
Continue Test Improvements
Similar to documentation improvements, progress has been slow as of late. Making more improvements and improving code coverage would be amazing.
Other Features
Any other features, bug fixes, and improvements deemed ready at time of release will also be included in version 2.0.
Website Redesign #496
It’d also be amazing to get the website redesign in for this release (if not earlier).
ExclusiveStartKey not converted into DynamoDB Format in Query and Scan #114
The start key should be converted into/out of DynamoDB format for Query and Scan.
Issue Analytics
- State:
- Created 5 years ago
- Comments:16 (12 by maintainers)
Top GitHub Comments
Are there plans to improve TypeScript support in version 2.0? I think it’s one of the major areas where Dynamoose is lacking right now. In fact, if Dynamoose gets rewritten in TypeScript for version 2.0 it will benefit the library greatly. It reduces the risk of bugs by a big margin, requires fewer test cases to be written, and (obviously) provides typings for users automatically.
It would be great to have a TypeScript API for defining schemas similar to dynamodb-data-mapper, where schema is a class (perhaps it extends
dynamoose.Schema
class), configuration is defined with TypeScript decorators, and items are objects of that class. Then there’s guaranteed 1-to-1 correspondence between defined schema and item type. I think it could even be done in a backwards compatible way. When we calldynamoose.model()
and compile the schema we can detect if the schema object being passed is a class instance or a class itself. If it’s an instance, we use the same old code to compile, if it’s a class, we use TypeScript reflection to extract configuration out of decorators and use it to compile the schema.@dolsem You on the Dynamoose Slack channel? If not, want to join and send me a direct message when you get a chance? 😊