Skip to content
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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

build: split into monorepo with separate packages #1314

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

JoshuaKGoldberg
Copy link
Owner

@JoshuaKGoldberg JoshuaKGoldberg commented Sep 12, 2023

PR Checklist

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:

  • Figuring out package naming
  • Splitting out package responsibilities
  • Finalize setting up workspace tasks and TSConfig project references
  • Passing build
  • Some passing tests
  • Figuring out monorepo/repository naming
  • Resolved created TODOs (especially around shared utils)
  • All passing tests
  • Trying it out as a package
  • Discovered issues from 鈽濓笍
  • One final docs + proofreading push

JoshuaKGoldberg added a commit that referenced this pull request Mar 25, 2024
## 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.

馃挅
@JoshuaKGoldberg
Copy link
Owner Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant