-
-
Notifications
You must be signed in to change notification settings - Fork 65
Comparing changes
Open a pull request
base repository: ember-cli/ember-cli-htmlbars
base: master
head repository: ember-cli/ember-cli-htmlbars
compare: v4.x
- 15 commits
- 9 files changed
- 4 contributors
Commits on Aug 11, 2020
-
Pass
isProductionto Ember template compiler.This flag allows the template compiler to have different behavior in production vs development builds. Co-authored-by: Robert Jackson <me@rwjblue.com> (cherry picked from commit 7da18b9)
Configuration menu - View commit details
-
Copy full SHA for 290db75 - Browse repository at this point
Copy the full SHA 290db75View commit details -
Merge pull request #598 from ember-cli/backport-isProduction
Pass `isProduction` to Ember template compiler.
Robert Jackson authoredAug 11, 2020 Configuration menu - View commit details
-
Copy full SHA for e73a38d - Browse repository at this point
Copy the full SHA e73a38dView commit details -
Robert Jackson committedAug 11, 2020 Configuration menu - View commit details
-
Copy full SHA for 4ec05dd - Browse repository at this point
Copy the full SHA 4ec05ddView commit details
Commits on Feb 5, 2021
-
Right now cacheKey is eagerly made during the included hook. This is problematic if you have configuration and addons working together. This defers making the cacheKey until it is requested during build. (cherry picked from commit b5fb8fa)
Configuration menu - View commit details
-
Copy full SHA for 7a489a5 - Browse repository at this point
Copy the full SHA 7a489a5View commit details -
Robert Jackson committedFeb 5, 2021 Configuration menu - View commit details
-
Copy full SHA for 1741f90 - Browse repository at this point
Copy the full SHA 1741f90View commit details -
Robert Jackson committedFeb 5, 2021 Configuration menu - View commit details
-
Copy full SHA for 3eb40a4 - Browse repository at this point
Copy the full SHA 3eb40a4View commit details
Commits on Mar 3, 2021
-
Replace
purgeModulecache busting withvmbased sandboxingThe template compiler contents have to be evaluated separately for each addon in the build pipeline. If they are **not** the AST plugins from one addon leak through to other addons (or the app). This issue led us to attempt to purge the normal node require cache (the `purgeModule` code). This works (and has been in use for quite a while) but causes a non-trivial amount of memory overhead since each of the addons' ends up with a separate template compiler. This prevents JIT'ing and it causes the source code of the template compiler itself to be in memory many many many times (non-trivially increasing memory pressure). Migrating to `vm.Script` and sandboxed contexts (similar to what is done in FastBoot) resolves both of those issues. The script itself is cached and not reevaluated each time (removing the memory pressure issues) and the JIT information of the script context is also shared. Thanks to @krisselden for pointing out this improvement! (cherry picked from commit 8d5dbcf)
Robert Jackson committedMar 3, 2021 Configuration menu - View commit details
-
Copy full SHA for 2798c0b - Browse repository at this point
Copy the full SHA 2798c0bView commit details -
Avoid building the template compiler cache key repeatedly
(cherry picked from commit 47041c9)
Configuration menu - View commit details
-
Copy full SHA for 64448c0 - Browse repository at this point
Copy the full SHA 64448c0View commit details -
Remove usage of registerPlugin / unregisterPlugin
These APIs force Ember to use global mutable state (the list of plugins) and require some pretty gnarly cache busting techniques to avoid having addons break each other (due to the global mutable state leaking from one addon to another). In order to discourage this mutable state issue, Ember has deprecated usage of `Ember.HTMLBars.registerPlugin` and `Ember.HTMLBars.unregisterPlugin` (as of Ember 3.27). This PR changes all invocations to pass the required AST transforms directly in to the compiler invocation (instead of calling `registerPlugin` before hand), and allows us to continue working properly while avoiding the deprecation (and that evil mutable state). (cherry picked from commit 1c813dc)
Configuration menu - View commit details
-
Copy full SHA for 41afd22 - Browse repository at this point
Copy the full SHA 41afd22View commit details -
Ensure Ember 3.27+ can determine global for template compilation.
Node 12+ has access to `globalThis` (including within a VM context), but older versions do not. Due to the detection done in https://git.io/Jtb7s, when we can't find `globalThis` (and don't define `global` global) evaluating `ember-template-compiler.js` throws an error "unable to locate global object". This ensures that either `globalThis` or `global` are defined. (cherry picked from commit 957dbc6)
Configuration menu - View commit details
-
Copy full SHA for 336d4d8 - Browse repository at this point
Copy the full SHA 336d4d8View commit details -
Ensure AST plugins have the same ordering as < ember-cli-htmlbars@5.5.0.
We have to reverse these for reasons that are a bit bonkers. The initial version of this system used `registeredPlugin` from `ember-template-compiler.js` to set up these plugins (because Ember ~ 1.13 only had `registerPlugin`, and there was no way to pass plugins directly to the call to `compile`/`precompile`). Calling `registerPlugin` unfortunately **inverted** the order of plugins (it essentially did `PLUGINS = [plugin, ...PLUGINS]`). Sooooooo...... we are forced to maintain that **absolutely bonkers** ordering. (cherry picked from commit d8e5dda)
Configuration menu - View commit details
-
Copy full SHA for c1f98b1 - Browse repository at this point
Copy the full SHA c1f98b1View commit details -
Make
setTimeout/clearTimeoutavailable to the template compiler s……andbox
Robert Jackson committedMar 3, 2021 Configuration menu - View commit details
-
Copy full SHA for b97ad94 - Browse repository at this point
Copy the full SHA b97ad94View commit details -
Merge pull request #673 from ember-cli/backport-sandbox-changes
Robert Jackson authoredMar 3, 2021 Configuration menu - View commit details
-
Copy full SHA for 653e0d2 - Browse repository at this point
Copy the full SHA 653e0d2View commit details -
Robert Jackson committedMar 3, 2021 Configuration menu - View commit details
-
Copy full SHA for b781424 - Browse repository at this point
Copy the full SHA b781424View commit details -
Robert Jackson committedMar 3, 2021 Configuration menu - View commit details
-
Copy full SHA for 212cc38 - Browse repository at this point
Copy the full SHA 212cc38View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff master...v4.x