Skip to content

Replace jscodeshift with ember-estree - #32

Merged
NullVoxPopuli merged 1 commit into
ember-tooling:mainfrom
NullVoxPopuli-ai-agent:nvp/ember-estree
Sep 4, 2026
Merged

NullVoxPopuli merged 1 commit into
ember-tooling:mainfrom
NullVoxPopuli-ai-agent:nvp/ember-estree

Conversation

@NullVoxPopuli-ai-agent

@NullVoxPopuli-ai-agent NullVoxPopuli-ai-agent commented Sep 4, 2026 •

Copy link
Copy Markdown

Removes jscodeshift and @types/jscodeshift. unprocess now uses ember-estree 0.8.1.

How unprocess works now

  1. toTree parses the processed JS or TS.
  2. A visitor drops the @ember/template-compiler import and records the local name of template.
  3. Each template(...) call, and each static { template(...) } block, becomes a GlimmerTemplate node with one text child that holds the raw template text. The text is not parsed as Glimmer, so it prints back verbatim.
  4. print writes the tree back out.

Behavior changes

  • ember-estree prints the whole file from the AST. Untouched code is reformatted. jscodeshift kept the original formatting of untouched code. The inline snapshots show the new output.
  • engines.node moves from >= 18 to ^20.19.0 || >=22.12.0. ember-estree depends on oxc-parser, which needs those versions. This is a breaking change for consumers on Node 18.

ember-estree 0.8.1 includes the printer fix from NullVoxPopuli/ember-estree#84, which this port needs. All 70 tests pass.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Fvnp457DHuZC4fBa2KCiqB

unprocess now parses with ember-estree's toTree, swaps each
template(`...`) call for a GlimmerTemplate node that holds the raw
template text, drops the @ember/template-compiler import, and prints
the tree with ember-estree's print.

ember-estree prints the whole file from the AST, so untouched code is
reformatted. jscodeshift kept the original formatting of untouched code.

ember-estree depends on oxc-parser, which needs Node 20.19 or 22.12 and
newer. The engines field moves up to match.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Fvnp457DHuZC4fBa2KCiqB
@NullVoxPopuli-ai-agent
NullVoxPopuli-ai-agent marked this pull request as ready for review September 4, 2026 23:29
@NullVoxPopuli NullVoxPopuli added the enhancement New feature or request label Sep 4, 2026
@NullVoxPopuli
NullVoxPopuli merged commit aea7061 into ember-tooling:main Sep 4, 2026
4 checks passed
@github-actions github-actions Bot mentioned this pull request Sep 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants