-
Please see the Upgrading docs.
-
Major refactor and support for arbitrary build plugins. Plugin authors are invited to read the Build Plugins docs. This also means that we no longer need to make a new release for any core changs in
babel-compiler
, since we now use/wrap the currently installed version. We still use a replacementecmascript-hot
, butbabel-compiler
can be upgraded independently, as cangadicc:hot
andgadicc:hot-builder
. -
Removed all transformStateless code, new react hotloader doesn't need it.
-
Like in
fast.14
, we now have HMR support for non-react hotloaders. It's not as full an implementation as Webpack, but covers all the most common cases. -
Windows fixes for bugs since
fast
branches. Massive thanks to @Vincent-P who worked with me closely in solving these issues and helped get this release working for other Windows users weeks earlier. (#41, #56, #58) -
Fixed a bug where if we didn't connect to the accelerator first time, we just silently gave up. Thanks to @priezz who spent 2 days with me on this.
-
We now correctly handle "safe" (atomic) writes by text editors. Thanks to @jbbr who helped with this.
-
Fix a few cases where a backslash ("") in your code could break the HMR, affected handcoded newliens ("\n") and double backslashes ("\") like you might find in RegExps.
Additional massive thanks to @clayne11 who persevered through various bugs, helped hunt them down, tested quite possibly every single interim release, and assisted other users with their issues so I could focus on code.
A list of various smaller bugfixes and enhancements can be found here.
-
Much faster reloads (for shared files too) by running an external "Accelerator" forked process. You can read a bit more about this in the update HOW THIS WORKS section of the README (#26).
-
Basic HMR support for non-react hotloaders. We provide a partial
hot.accept()
implementation only, and only on the client - for now. -
Fixed
Failed to parse SourceMap: http://localhost:3000/packages/undefined
by being more careful to clear the cache from an older broken version (#21). -
Ability to customize what files are passed to
transformStateless
with a likewise named field in thepackage.json
'secmascript-hot
key (#18). See the README for more info, this allows you to use functional stateless components in.js
files too, for example. -
More useful warning when a compile error occured on a transformed file.
-
Improved stateless matching, don't get confused by single line functions next to functional stateless components.
-
Stateless transform: only match on
const UppercaseIdentifier
which reduces the risk of false positives, thanks @clayne11! (our first PR!) -
hot-client: more useful debug info for failures, more resilliency in maintaining a connection to the server.
-
Use checkNpmVersions to ensure that
babel-preset-meteor
is up-to-date, now that we don't include it directly. -
Fixes for cases where, if Meteor died unexpectantly, the accelerator process would live on forever and prevent restarts (#26)
-
Fixes for running in
meteor test
andmeteor test-packages
environments (#27, #37). Thanks also to @clayne11. -
Default to setting BABEL_ENV="production" in test environment (to avoid react HMR stuff), overridable in
package.json
(see README) - #38.
- For Meteor 1.3.1.
-
We now survive server code changes, so this now works for both
imports
(that aren't beneath aclient
subdirectory) and SSR code from mixed / "both" directories with shared code. (#17) -
We no longer rely on Mongo for communications, so we now require an extra port. By default this is Meteor's port + 2 (i.e., right after mongo), but you can override it with the
HOT_PORT
environment variable. -
Fixes the "non-stop reload" bug where changes to files in
public
(and I guess, other shared directories with lots of files) could cause a lot of restarts. (#22)
-
Crucial fix for the infinite loop affecting majority of deployments. My sincere apologies for this slipping through.
-
Now that Meteor 1.3 is out, we're using proper versioning. You no longer need to specify the exact version to use, just put
gadicc:ecmascript-hot
in yourpackages
file and updates will arrive withmeteor update
. -
Fix
Uncaught TypeError: Cannot read property 'c' of undefined
from first load (since last release). -
Disable (broken) sourcemap for modules-runtime.js.
-
Transform stateless components inAs this was a critical update, this potentially unstable feature has been delayed until the next release..js
files now too.
-
Support for a
client/.babelrc
andserver/.clientrc
(that we recommend extends your root.babelrc
). See the end of the README for the new recommendations. You should modify your.babelrc
appropriately. Amongst other things, this allows us to use hotloading on the client without breaking flowrouter-ssr on the server. -
Fix browser caching issues by modifying boilerplate HTML and substituting module-runtime's hot with module-runtime-hot's hash.
-
No need to "eagerly evaluate" replaced modules, so don't do that.
-
Package support :) See README.
-
Fix problems with escaping single inverted commas (
\\'
) in hot bundle. -
Fix some further newline munging which broke scripts where the last line had a comment.
-
Works with Meteor 1.3 (final) and
rc.4+
-
Speed increase by re-using
inputfile.getSourceHash()
instead of hashing twice. -
Correctly hash on
BABEL_ENV
too (if it exists). -
Use
127.0.0.1
instead oflocalhost
for mongo url. -
Use Meteor's
METEOR-PORT
file to figure out the mongo port.
-
Works with Meteor 1.3
rc.4 - rc.12
-
Fixed a bunch of issues that broke production and bundling: Don't transform stateless components, don't connect to Mongo, don't replace modules-runtime, don't block HCPs, and lastly, use NODE_ENV as part of the babel cache hash.
-
Use JSON5 for parsing
.babelrc
, just like babel does. This allows for comments, etc.
-
Works with Meteor 1.3
rc.4 - rc.10
. -
No longer auto-populate babelrc
presets
withmeteor
, to allow other plugins to be loaded before those in the preset. If you don't already have a .babelrc, one will be created for you. If you do, ensure you have{ "presets": "meteor" }
. Also,npm install --save-dev babel-preset-meteor
.
- Fix transformStateless() from munging newlines and breaking some code.
- Use rawCollection() for serving hot.js via WebApp (without a Fiber).
- Slight change on file match algorithm.
- On reload, keep hot bundles from last 10s -- may help in future with server restarts.
- Release for Meteor
1.3-rc.4
- Release for Meteor
1.3-rc.3
-
.babelrc
support! See the README for upgrading. -
react-transform-catch-error
via.babelrc
. -
Release for Meteor
1.3-rc.2
-
Remove slightly annoying notice on server "Creating a bundle..."
-
Be slightly stricter in identifying stateless components, we now look for
/return\s+\(\s*\</
to match (i.e. we added a<
after thereturn (
.
- Accept function components that contain code (before we just accepted functions that mapped to jsx). See README for the new example.
- Even more reliable HCP strategy. Fixes broken CSS hotloading (#9) and all the cases which require a real reload (new files, etc) which we were accidently blocking.
- Release for Meteor
1.3-beta.12
.
-
New and more reliable strategy to block HCP. Regular page reload (via ctrl-R) now works how we expect (it's always up to date, no more stored patches) and
hot.reload()
is no longer required. -
Relax path restrictions a bit. Match on anything that contains 'client' and not 'test' in the path / filename.
beta.11
support.
-
Code to force a client refresh, used for changes we can't handle.
-
Different method for overriding core modules-runtime.
- Correctly resolve relationships when importing from root paths
(
/something
) and relative paths involving parents (../../something). Relative paths in the same directory (
./something) were all that was supported previously (#4).
-
Relax restriction on stateless components to not be in a
components
directory, let's hope it's ok. -
Intercept requests to
/packages/modules-runtime.js
and avoid need to replace entire module (until install#86 is accepted).