chore: drop ts-node from the setup scripts and example apps - #194
Merged
Conversation
floyd-soomgo
force-pushed
the
chore/drop-ts-node-from-examples
branch
from
September 3, 2026 15:52
0bbd379 to
5c7e8be
Compare
floydkim
added a commit
that referenced
this pull request
Sep 6, 2026
…node (#193) ## Summary - Load `code-push.config.ts` with `tsx`, falling back to `ts-node` for projects that still use it. - Make `tsx` and `ts-node` optional peer dependencies, so projects install the loader they choose. - Resolve loaders from the project containing the config file. If neither is installed, show how to install `tsx`. - With `tsx`, support default exports and `tsconfig` `paths` aliases. `.js` config files continue to load through Node's `require`. - Add a CI smoke test for a default-export config that uses a `paths` alias. - Recommend `tsx` and deprecate `ts-node` support. - Warn on stderr when a config file is loaded with `ts-node`. ## Compatibility notes Existing `ts-node` projects need no changes. Installing `tsx` makes it the preferred loader; removing `ts-node` is optional. After switching to `tsx`: - modules listed in `ts-node.require` no longer run - aliases defined only in `babel.config.js` are not resolved; define them in `tsconfig.json` `paths` - type errors in the config file no longer block the CLI, because `tsx` transpiles without type-checking `ts-node` support is deprecated and will be removed in a future major version. ## Verification - `npm run type:cli` and ESLint on changed files - `npm run --workspace cli test`: 11 suites, 102 tests - verified the compiled CLI with the CI fixture and RN0821, Expo55, and soomgo-mobile-app configs, including default exports and `tsconfig` `paths` aliases - verified `ts-node` fallback with a CommonJS config in a project that has `ts-node` but not `tsx` - verified the `tsx` installation hint and exit code 1 when neither loader is installed ## Follow-up Example setup scripts and apps still use `ts-node`; their migration is handled separately in #194. --------- Co-authored-by: Floyd Kim <for12gm@gmail.com>
floyd-soomgo
force-pushed
the
chore/drop-ts-node-from-examples
branch
from
September 6, 2026 13:55
5c7e8be to
66dd7f7
Compare
floydkim
marked this pull request as ready for review
September 6, 2026 14:28
floyd-soomgo
force-pushed
the
chore/drop-ts-node-from-examples
branch
from
September 6, 2026 15:33
2b29305 to
e9eb269
Compare
tsx ships with the library since the config loader moved to it, so the root scripts, the example apps' sync-local-library script and the setup steps no longer need ts-node. The `configure-ts-node` step becomes `configure-tsconfig`: it still adds code-push.config.ts to `include` for the editor, but no longer writes a `ts-node` block into tsconfig.json.
The sync-local-library script runs with tsx, and the tsconfig ts-node block has no reader any more. Lockfiles were regenerated with --package-lock-only.
The app has a code-push.config.ts but never carried a loader, so the CLI could not read its config now that tsx is an optional peer dependency. It joins the other examples in declaring tsx as a devDependency. The lockfile was regenerated with --package-lock-only.
floyd-soomgo
force-pushed
the
chore/drop-ts-node-from-examples
branch
from
September 7, 2026 06:04
e9eb269 to
9e30d54
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
configure-ts-nodetoconfigure-tsconfig; it now only addscode-push.config.tstotsconfig.json.scripts/setupExampleApp/tsconfig.json, which was only used byts-node --project.Depends on #193, which adds tsx as a library dependency. Its three commits are included in this PR until #193 merges.
Verification
npm run type:scripts,npm run type:e2e, and ESLint for changed scriptse2e/run.tswith--helpExamples/RN0821syncs the local library through tsx