Skip to content

Chore/infra updates - #40

Merged
ryan-roemer merged 5 commits into
mainfrom
chore/infra-updates
Oct 19, 2026
Merged

ryan-roemer merged 5 commits into
mainfrom
chore/infra-updates

Conversation

@ryan-roemer

Copy link
Copy Markdown
Member

Infra modernization (→ 3.0.0)

  • yarn → npm; Node from .nvmrc locally and in CI
  • rollup/Babel/buble/closure/terser → tsdown (publint + attw on build)
  • TypeScript 7, Prettier 3; removed husky, lint-staged, npm-run-all
  • react peer now >=18.0.0; CI typechecks against React 19 and 18.0.0
  • Release automation via Changesets + npm OIDC trusted publishing
  • README/CONTRIBUTING updates; package.json cleanup

Breaking: React 18+ required; dist/ targets ES2022.

Follow-ups

@jimthedev @ilteoood -- if either of you have a moment, would appreciate a review and tire-kicking on the new dist output.

@ryan-roemer
ryan-roemer requested review from ilteoood and a balanced review from Copilot October 16, 2026 20:18

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Generated distribution artifacts and the new trusted-publishing workflow need end-to-end human validation before the major release.

0 open findings

What changed in this PR

Modernizes use-editable’s build and release infrastructure for 3.0.0, requiring React 18+ and targeting ES2022.

Changes:

  • Replaces Yarn and Rollup with npm and tsdown, including package validation.
  • Adds Changesets release automation and React compatibility typechecks.
  • Updates contributor documentation and formatting configuration; linting and browser tests remain follow-ups.
File Description
yarn.lock Removes the Yarn lockfile.
tsdown.config.mts Configures builds, declarations, and package validation.
tsconfig.json Modernizes TypeScript settings.
rollup.config.js Removes the old build pipeline.
README.md Documents compatibility requirements and npm usage.
package.json Updates dependencies, scripts, and package metadata.
package-lock.json Locks npm dependencies.
CONTRIBUTING.md Documents development and release workflows.
CHANGELOG.md Updates historical repository links.
.prettierignore Excludes generated files and changelog formatting.
.nvmrc Selects Node LTS.
.gitignore Updates local and generated-file exclusions.
.github/​workflows/​release.yml Adds gated Changesets publishing.
.github/​workflows/​ci.yml Adds npm checks and React 18 typechecking.
.editorconfig Defines editor formatting defaults.
.changeset/​stale-caret-restore.md Records the prior caret fix for release.
.changeset/​modern-toolchain.md Records breaking compatibility and tooling changes.
.changeset/​config.json Configures versioning and changelog generation.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread package.json
@ryan-roemer
ryan-roemer merged commit 7097f72 into main Oct 19, 2026
3 checks passed
@ryan-roemer
ryan-roemer deleted the chore/infra-updates branch October 19, 2026 17:34
@github-actions github-actions Bot mentioned this pull request Oct 19, 2026
ryan-roemer pushed a commit that referenced this pull request Oct 19, 2026
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## use-editable@3.0.0

### Major Changes

- [#40](#40)
[`7097f72`](7097f72)
- Require React 18 or newer, and ship modern JavaScript.
  
- **Breaking:** the `react` peer dependency is now `>=18.0.0` (was
`>=16.8.0`).
- **Breaking:** `dist/` now targets ES2022 instead of ES5. Bundlers that
transpile `node_modules` for older browsers are unaffected.
- Types now live at `dist/use-editable.d.ts` (was
`dist/types/index.d.ts`); the `types` field points there, so normal
imports are unaffected. The `main` and `module` filenames are unchanged.
- The build moved from rollup, Babel, buble, closure-compiler and terser
to tsdown; releases are published from CI with npm provenance.

### Patch Changes

- [#37](#37)
[`033a70c`](033a70c)
- Don't restore a stale caret position onto content it wasn't computed
against. An unrelated re-render landing between a keystroke's `keydown`
and `keyup` no longer yanks the caret to the wrong offset.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants