Skip to content
This repository has been archived by the owner on May 11, 2018. It is now read-only.

export const {variable} = otherVariable #193

Closed
FlorianWendelborn opened this issue Mar 7, 2017 · 3 comments · Fixed by babel/babel#5469
Closed

export const {variable} = otherVariable #193

FlorianWendelborn opened this issue Mar 7, 2017 · 3 comments · Fixed by babel/babel#5469

Comments

@FlorianWendelborn
Copy link

FlorianWendelborn commented Mar 7, 2017

In node 6.9.1 this

// region import

import config from '../config/server.json'

// endregion

// region export

export const {cache} = config
export default config

// endregion

doesn't work when transpiled by babel-preset-env.

Transpiled
'use strict';

Object.defineProperty(exports, "__esModule", {
  value: true
});

var _server = require('../config/server.json');

var _server2 = _interopRequireDefault(_server);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

// endregion

// region export

const { cache } = _server2.default; // region import

exports.default = _server2.default;

// endregion
export const cache = config.cache
'use strict';

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.cache = undefined;

var _server = require('../config/server.json');

var _server2 = _interopRequireDefault(_server);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

// endregion

// region export

const cache = exports.cache = _server2.default.cache; // region import

exports.default = _server2.default;

// endregion
BabelRC
{
	"presets": [[
		"env", {
			"targets": {
				"node": "current"
			}
		}],
		"stage-3"
	]
}
@hzoo
Copy link
Member

hzoo commented Mar 7, 2017

The minimal repro is just the export const

In

export const {cache} = config

Out

const { cache } = config;

Expected

const { cache } = config;
exports.cache = cache;

The export is not preserved when you only transform with es2015-modules-cjs transform

Shouldn't be a preset-env issue, it's a bug with http://babeljs.io/docs/plugins/transform-es2015-modules-commonjs

@yavorsky
Copy link
Member

yavorsky commented Mar 15, 2017

Looks like this transform-es2015-modules-commonjs bug appears after we exclude transform-es2015-destructuring. Going to figure out and fix.

@hzoo
Copy link
Member

hzoo commented Oct 3, 2017

Fixed by babel/babel#5469

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants