Extract dialects into own modules
See original GitHub issueCurrently, users have to manually install the driver they want to use. However, there is no version constraint on what version of these drivers work with sequelize. Any major release could break sequelize.
Nevertheless, when running npm install sequelize
, users get a whole lot of code for dialects they will not use. A much better solution would be if every subfolder of the dialects
folder was a seperate module, like sequelize-dialect-postgres
. User would then install this, and it would have a dependency on the needed driver version and a peer dependency on sequelize. That way NPM will not allow users to have an old dialect version with a newer, incompatible sequelize version.
The unit tests for the specific dialects would also be moved and run in a seperate CI, which would reduce build time. The integration tests will probably still be run in the main sequelize repo for all dialects.
What do you think?
Issue Analytics
- State:
- Created 7 years ago
- Comments:9 (8 by maintainers)
Yes, I am. Death to monorepos.
@felixfbecker @mickhansen @sushantdhiman Are you guys familiar with lerna? It’s a tool for managing multiple packages in a single repo (a “monorepo”), so all of the source code and tests are versioned together, but you can publish them separately to NPM.
Some other big projects mentioned in the link below manage to have monorepos without the tool, but the idea is the same.
https://github.com/lerna/lerna#about