Open brad-jones opened 7 years ago
Also maybe look at: https://lernajs.io/
Ok so the new develop branch is a lerna mono repo but still under the @brad-jones npm org.
I certainly like the idea of a monorepo but there are some draw backs. For example semantic release isn't as simple to setup, yes I know about https://github.com/atlassian/lerna-semantic-release but it still feels odd.
For example having three git tags for each package all pointing to the same commit, and then down the track having some git tags for new versions of some of the packages but not others. And then github releases / change logs are now per package. It just feels off.
Lerna in Fixed/Locked mode would certainly make more sense I think from a Changelog / Release perspective. But then I don't really like the idea of releasing a new version of package just because I updated another package.
What I want is something like Lerna + Git Submodules but better. So that there is a 1:1 mapping between a github org and an npm org.
Anyway this all certainly needs more thought...
Swapped over to fixed mode, along with a hacked up github release script. I think I prefer it. Time will tell.
Nope thats it, lerna just has too many oddities. I mean in fixed mode I thought the whole point was that the version was set the exact same across all packages regardless of what has changed. Going to remove lerna and replace with something else. At least with semantic release it did what I expected 95% of the time, lerna is more like 50% of the time. It really is giving me the shits.
If this turns out to actually be useful, we will structure this project like so:
tsos/tsos: Continuation of this repo, contains the tsos specific code for discovery of visitors along with a
tsosc
executable that will mimic the main typescript compiler as closely as possible.tsos/tsnode: This is where we will maintain our tsnode fork.
tsos/tspoon: This is where we will maintain our tspoon fork.
tsos/rollup-plugin-tsos: The rollup plugin will get it's own repo. Likewise if we end up with a webpack plugin as well.
tsos/visitors-reflection: This will contain our visitors that help improve TypeScript's reflection capabilities.
tsos/di: Further into the distance, will be a new IoC container perhaps based on
tsos/visitors-reflection
if that maintains a reasonable level of performance. Or it will be based on the idea of transpiling instead of reflecting.