From 3a6f3b9302b39c7b06af5a00e9fe1378f8a91a75 Mon Sep 17 00:00:00 2001 From: Evan Morikawa Date: Tue, 3 May 2016 17:53:07 -0700 Subject: [PATCH] feat(babel6): Fix default loading in nylas exports and component kit --- src/global/nylas-component-kit.coffee | 10 +++++++--- src/global/nylas-exports.coffee | 18 +++++++++++++----- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/global/nylas-component-kit.coffee b/src/global/nylas-component-kit.coffee index 439b417ca..9c78287fb 100644 --- a/src/global/nylas-component-kit.coffee +++ b/src/global/nylas-component-kit.coffee @@ -1,20 +1,24 @@ # Publically exposed Nylas UI Components class NylasComponentKit + + @default = (requireValue) -> requireValue.default ? requireValue + @load = (prop, path) -> Object.defineProperty @prototype, prop, - get: -> require "../components/#{path}" + get: -> + NylasComponentKit.default(require "../components/#{path}") @loadFrom = (prop, path) -> Object.defineProperty @prototype, prop, get: -> - exported = require "../components/#{path}" + exported = NylasComponentKit.default(require "../components/#{path}") return exported[prop] @loadDeprecated = (prop, path, {instead} = {}) -> {deprecate} = require '../deprecate-utils' Object.defineProperty @prototype, prop, get: deprecate prop, instead, @, -> - exported = require "../components/#{path}" + exported = NylasComponentKit.default(require "../components/#{path}") return exported enumerable: true diff --git a/src/global/nylas-exports.coffee b/src/global/nylas-exports.coffee index 115c2d928..6f62e1c00 100644 --- a/src/global/nylas-exports.coffee +++ b/src/global/nylas-exports.coffee @@ -3,34 +3,42 @@ StoreRegistry = require('../store-registry').default DatabaseObjectRegistry = require('../database-object-registry').default class NylasExports + + @default = (requireValue) -> requireValue.default ? requireValue + # Will lazy load when requested @lazyLoad = (prop, path) -> Object.defineProperty @, prop, - get: -> require("../#{path}") + get: -> + NylasExports.default(require("../#{path}")) enumerable: true @lazyLoadCustomGetter = (prop, get) -> Object.defineProperty @, prop, {get, enumerable: true} @lazyLoadAndRegisterStore = (klassName, path) -> - constructorFactory = -> require("../flux/stores/#{path}") + constructorFactory = -> + NylasExports.default(require("../flux/stores/#{path}")) StoreRegistry.register(klassName, constructorFactory) @lazyLoad(klassName, "flux/stores/#{path}") @lazyLoadAndRegisterModel = (klassName, path) -> - constructorFactory = -> require("../flux/models/#{path}") + constructorFactory = -> + NylasExports.default(require("../flux/models/#{path}")) DatabaseObjectRegistry.register(klassName, constructorFactory) @lazyLoad(klassName, "flux/models/#{path}") @lazyLoadAndRegisterTask = (klassName, path) -> - constructorFactory = -> require("../flux/tasks/#{path}") + constructorFactory = -> + NylasExports.default(require("../flux/tasks/#{path}")) TaskRegistry.register(klassName, constructorFactory) @lazyLoad(klassName, "flux/tasks/#{path}") @lazyLoadDeprecated = (prop, path, {instead} = {}) -> {deprecate} = require '../deprecate-utils' Object.defineProperty @, prop, - get: deprecate prop, instead, @, -> require("../#{path}") + get: deprecate prop, instead, @, -> + NylasExports.default(require("../#{path}")) enumerable: true # Actions