Quantcast
Channel: Ember.JS - Latest topics
Viewing all articles
Browse latest Browse all 4828

Grunt-babel with Ember.js

$
0
0

@zoltan wrote:

I'm working on a "legacy" - haha, a 2 years old project legacy - Ember app, where an interim step would be to migrate the code to ES6 first. My plan was using grunt-babel.

I try to reproduce almost the same transpiled code which ember-cli would generate.

Using es2015 preset and transform-es2015-modules-amd plugin, babel generates the following from an app.js.

define('my-app/app', ['exports', 'ember', 'ember/resolver', 'ember/load-initializers'], function (exports, _ember, _resolver, _loadInitializers) {
  'use strict';

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

  var _ember2 = _interopRequireDefault(_ember);

  var _resolver2 = _interopRequireDefault(_resolver);

  var _loadInitializers2 = _interopRequireDefault(_loadInitializers);

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

  var App = void 0;

  _ember2.default.MODEL_FACTORY_INJECTIONS = true;

  App = _ember2.default.Application.extend({
    modulePrefix: 'my-app',
    Resolver: _resolver2.default
  });

  (0, _loadInitializers2.default)(App, config.modulePrefix);

  exports.default = App;
});

Because of Babel 6 expect an __esModule property in the imported module, which is not exist in Ember.js modules, the above code doesn't work. _interopRequireDefault adds an extra default to the module. _ember2.default.default.Application.extend would work in this case.

It looks to me, there is no option or plugin to turning of this transformation in babel, but maybe I just missed something. Have you played with this tool already, any idea?

And one more thing, I still have to support Internet Explorer 8! :wink:

Meanwhile I'm playing now with grunt-rollup...

Posts: 3

Participants: 1

Read full topic


Viewing all articles
Browse latest Browse all 4828

Trending Articles