Skip to content

Conversation

@ef4
Copy link
Contributor

@ef4 ef4 commented Aug 3, 2022

This adds support for running AST transforms without doing the full compilation, in the same way that Embroider does in stage1.

This would replace the need for that, and by unifying the implementations means that we'll get consistent handling of features like lexical scope even as we introduce ast transforms that can manipulate JS scope.

This also makes the AST transforms a first-class option. Classically, implementations have always wrapped ember's precompile function in a closure that provides the transform plugins, but there's no need to do that.

This is a breaking change because I changed the options format, because instead of only needing the ember template compiler's precompile function we now use the whole ember template compiler module.

  • finish remaining it.todo tests
  • test in embroider and resolve the TODO comment about moduleName

ef4 added 6 commits August 2, 2022 09:19
By default, consumers will get either the node or browser implementation automatically based on their environment.

Since these implementations support slightly different options, consumers that want to be portable themselves may want to pick one implementation (probably the browser one, since it is the more portable) and stick to it, regardless of their own environment.

This change enables that by allowing direct imports of `babel-plugin-ember-template-compilation/browser` and `babel-plugin-ember-template-compilation/node`, both of which bypass the automatic environment switching.
allow direct access to browser and node implementations
Not just the precompile function.
@ef4 ef4 added the breaking label Aug 3, 2022
@ef4
Copy link
Contributor Author

ef4 commented Aug 4, 2022

Tagged and published v2.0.0-alpha.0 off this branch.

@ef4
Copy link
Contributor Author

ef4 commented Oct 31, 2022

I'm going to merge this and the other pending work so that we can better coordinate what will be babel-plugin-ember-template-compilation 2.0.0-beta series.

@ef4 ef4 merged commit d846415 into jsutils Oct 31, 2022
@delete-merged-branch delete-merged-branch bot deleted the source-to-source branch October 31, 2022 20:18
@ef4 ef4 added the enhancement New feature or request label Nov 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants