meteor-roles icon indicating copy to clipboard operation
meteor-roles copied to clipboard

Ideas for a v4.0

Open SimonSimCity opened this issue 6 years ago • 11 comments
trafficstars

My goal for the next major version, which will be v4, is to move everything out of the Meteor object and do everything to have this package doing nothing if you do not import it and execute some methods.

This will make this package ready to take advantage of tree-shaking 🌲

SimonSimCity avatar Nov 16 '19 10:11 SimonSimCity

I would suggest we just keep iterating on v3 with those changes.

mitar avatar Nov 16 '19 17:11 mitar

@mitar Well, it is a backwards incompatible change - not in terms of the database structure but for the programmer using it. If I keep the version numbering strongly on the semantic versioning model, this is a major change.

SimonSimCity avatar Nov 17 '19 07:11 SimonSimCity

True.

mitar avatar Nov 18 '19 19:11 mitar

I think this major change is enough for v4. Anything more is not necessary. If people are using imports properly it won't be as crazy change as we had in the last two releases. I think adding any functionality should be for v4.1+, unless it is a new breaking existing functionality.

StorytellerCZ avatar Sep 13 '20 20:09 StorytellerCZ

Besides that we should use ecmascript through the package if we have it as one of the dependencies.

StorytellerCZ avatar Sep 13 '20 21:09 StorytellerCZ

Ideas

  • Stop adding roles collection to Meteor object. Instead export them.
  • Modernize package.js to use mainModule, etc.

StorytellerCZ avatar Aug 10 '21 09:08 StorytellerCZ

How about some TypeScript declarations ?

Clovel avatar Apr 12 '22 15:04 Clovel

@Clovel yes, that needs to happen. Let's do a full rewrite into TypeScript. This is the sort of package that should have it.

StorytellerCZ avatar Apr 12 '22 18:04 StorytellerCZ

What about making it an npm package to be used in any NodeJS project? Just like AccountsJS

danyhiol avatar Dec 28 '22 22:12 danyhiol

@danyhiol possible spin of, but the issue is that we are closely integrated with MongoDB, so that would be a major undertaking to make that modular. Also we'll have to check into integration with other Meteor specific parts like the accounts system.

StorytellerCZ avatar Dec 29 '22 06:12 StorytellerCZ

but the issue is that we are closely integrated with MongoDB

One solution would be to abstract the DB layer with default to MongoDB. And then incrementally add support when needed for other DB. But I do agree that may be complicated.

integration with other Meteor specific parts like the accounts system

This one may be tough but there would be no other way than abstraction/modularization.

danyhiol avatar Dec 29 '22 11:12 danyhiol