Issue 1:
Bug Report

I would like to work on a fix!

I have close to zero experience with Babel's internals though. I would not be offended, if you think you can fix it yourself quicklier.

Current Behavior

The typescript preset is incompatible with d3-array/cumsum.js. The issue seems to only occur for arrow functions using the += operator, nested inside a ternary. When typescript is disabled, the code compiled without any issues.

Input Code

Original broken d3-array/cumsum.js: REPL

Minimal reproduction: REPL

0 ? v => (sum += v) : v => 0;

/repl.ts: Only '=' operator can be used for specifying default value. (1:13)

1 | 0 ? v => (sum += v) : v => 0;

Expected behavior/code

Babel should compile the above code with typescript enabled.

Issue 2:
I use rollup to bundle my app (contains many async functions) to work on IE11 or Safari 10. Here is my babel plugin setting in rollup.config:

plugins: [
...
resolve(),
commonjs(),
babel({
"babelrc": false,
"runtimeHelpers": true,
exclude: 'node_modules/**',
"plugins": [
"@babel/plugin-external-helpers",
"@babel/plugin-transform-runtime"
],
"presets": [
['@babel/preset-env', {
modules: false,
targets: {
ie: 11,
browsers: 'last 5 versions'
},
useBuiltIns: 'usage',
debug: true,
}]
]
}),
...
]

Since debug is enabled, I can see the console output has:

Using targets:
{
"android": "4.1",
"chrome": "67",
"edge": "14",
"firefox": "60",
"ie": "11",
"ios": "10",
"opera": "53",
"safari": "10"
}

Using modules transform: false

Using plugins:
transform-template-literals { "android":"4.1", "ie":"11" }
transform-literals { "android":"4.1", "ie":"11" }
transform-function-name { "android":"4.1", "edge":"14", "ie":"11" }
transform-arrow-functions { "android":"4.1", "ie":"11" }
transform-block-scoped-functions { "android":"4.1" }
transform-classes { "android":"4.1", "ie":"11" }
transform-object-super { "android":"4.1", "ie":"11" }
transform-shorthand-properties { "android":"4.1", "ie":"11" }
transform-duplicate-keys { "android":"4.1", "ie":"11" }
transform-computed-properties { "android":"4.1", "ie":"11" }
transform-for-of { "android":"4.1", "edge":"14", "ie":"11" }
transform-sticky-regex { "android":"4.1", "ie":"11" }
transform-dotall-regex { "android":"4.1", "edge":"14", "firefox":"60", "ie":"11", "ios":"10", "safari":"10" }
transform-unicode-regex { "android":"4.1", "ie":"11", "ios":"10", "safari":"10" }
transform-spread { "android":"4.1", "ie":"11" }
transform-parameters { "android":"4.1", "edge":"14", "ie":"11" }
transform-destructuring { "android":"4.1", "edge":"14", "ie":"11" }
transform-block-scoping { "android":"4.1", "ie":"11", "ios":"10", "safari":"10" }
transform-typeof-symbol { "android":"4.1", "ie":"11" }
transform-new-target { "android":"4.1", "ie":"11" }
transform-regenerator { "android":"4.1", "ie":"11" }
transform-exponentiation-operator { "android":"4.1", "ie":"11", "ios":"10", "safari":"10" }
transform-async-to-generator { "android":"4.1", "edge":"14", "ie":"11", "ios":"10", "safari":"10" }
proposal-async-generator-functions { "android":"4.1", "edge":"14", "ie":"11", "ios":"10", "safari":"10" }
proposal-object-rest-spread { "android":"4.1", "edge":"14", "ie":"11", "ios":"10", "safari":"10" }
proposal-unicode-property-regex { "android":"4.1", "edge":"14", "firefox":"60", "ie":"11", "ios":"10", "safari":"10" }
proposal-json-strings { "android":"4.1", "chrome":"67", "edge":"14", "firefox":"60", "ie":"11", "ios":"10", "opera":"53", "safari":"10" }
proposal-optional-catch-binding { "android":"4.1", "edge":"14", "ie":"11", "ios":"10", "safari":"10" }
...
[/Users/rbx0999/project/scilab/src/api/fetch.js] Added following polyfills:
es6.object.keys { "android":"4.1", "ie":"11" }
es6.array.iterator { "android":"4.1", "ie":"11" }
web.dom.iterable { "android":"4.1", "chrome":"67", "edge":"14", "firefox":"60", "ie":"11", "ios":"10", "opera":"53", "safari":"10" }
regenerator-runtime { "android":"4.1", "chrome":"67", "edge":"14", "firefox":"60", "ie":"11", "ios":"10", "opera":"53", "safari":"10" }
...

However, async function is still there in the final bundle.js.

Here is the devDependencies part of my package.json:

"@babel/core": "^7.2.2",
"@babel/plugin-external-helpers": "^7.2.0",
"@babel/plugin-transform-runtime": "^7.1.0",
"@babel/preset-env": "^7.2.3",
"rollup": "^0.66.2",
"rollup-plugin-babel": "^4.2.0",
"rollup-plugin-commonjs": "^9.1.8",
"rollup-plugin-node-resolve": "^3.4.0",
...