-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build: split into monorepo with separate packages #1314
base: main
Are you sure you want to change the base?
Conversation
## PR Checklist - [x] Addresses an existing issue: fixes #1318 - [x] That issue was marked as [`status: accepting prs`](https://github.com/JoshuaKGoldberg/TypeStat/labels/status%3A%20accepting%20prs) ## Overview In preparation for a full monorepo migration and rename (#1314), this migrates as-is to `create-typescript-app`. That way I can get all these rote changes (more linting, tabs, etc.) out of the way before making the big jump to a monorepo & separate packages. As part of this, adds a fix for pnpm's `node_modules/` symlink resolution: 1e989a7 Replaces the `mz` runtime dependency with `node:fs` and `node:fs/promises` uses. 💖
I'm going to work on turning https://github.com/JoshuaKGoldberg/emoji-blast into a monorepo (JoshuaKGoldberg/emoji-blast#172 -> JoshuaKGoldberg/emoji-blast#206) first to try out the tooling in that repository first. Then once that's done and stable, I'll take its learnings here. |
This is second in line for monorepo conversion. https://github.com/JoshuaKGoldberg/create is first in line and WIP. |
I have looked little bit into this new structure and I think it's improvement. It makes it more clear what goes with what than current structure. Only "worry" that I have is, that the typestat-utils package won't have much content. I think in some places it would make more sense to not use some of those helper methods like So maybe the utils package would be more like cli package? So it would contain all things for printing to console, prompting etc? Not sure how viable that is but I kinda would like to see separation from the "business" logic and from the CLI logic in the packages. That would make some testing easier and maybe allow using these tools programmatically :) I know that you probably want to use this repo as a testing ground for the monorepo migration, but I think that the new file structure that you have here, could be beneficial even before actually creating the monorepo. What I mean is, that the files could be moved under those package name directions how you plan them to be. And then later the whole project could be turned into monorepo. However, it's exciting to see how you do this change with the tool! |
I think |
PR Checklist
status: accepting prs
Overview
Splits the large general-purpose TypeStat package into two:
ts-enhance
: Improves a project's TypeScript code by creating and improving types. 💗ts-initialize
: Converts a project from JavaScript to TypeScript in as few changes as possible. 💝It additionally publishes a
typestat-utils
package for shared code.Generally onboards to create-typescript-app too. I figured this was a good time to do it, and test out what a monorepo with CTA would look like.
Checklist to un-draft: