Skip to content

dll plugin and default module #2857

@bsr203

Description

@bsr203

Webpack version:
2.1.0-beta.15

Please tell us about your environment:
OSX 10.9.5

Hi, I have an issue with dll plugin, as it works without it.

I have a module in my dll file like this

/* 742 */
/***/ function(module, exports, __webpack_require__) {

"use strict";
eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__RelayRouterContext__ = __webpack_require__(1458);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__RouteContainer__ = __webpack_require__(1459);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_getRouteQueries__ = __webpack_require__(640);\n\n\n\n\n\n\n/* harmony default export */ exports[\"default\"] = {\n  renderRouterContext: function renderRouterContext(child, props) {\n    return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\n      __WEBPACK_IMPORTED_MODULE_1__RelayRouterContext__[\"a\" /* default */],\n      props,\n      child\n    );\n  },\n\n  renderRouteComponent: function renderRouteComponent(child, props) {\n    /* eslint-disable react/prop-types */\n    var key = props.key;\n    var route = props.route;\n    /* eslint-enable react/prop-types */\n\n    var routeQueries = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__utils_getRouteQueries__[\"a\" /* default */])(route, props);\n    var queries = key ? routeQueries && routeQueries[key] : routeQueries;\n    if (!queries) {\n      return child;\n    }\n\n    return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\n      __WEBPACK_IMPORTED_MODULE_2__RouteContainer__[\"a\" /* default */],\n      { queries: queries, routerProps: props },\n      child\n    );\n  }\n};\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-router-relay/es/index.js\n// module id = 742\n// module chunks = 0\n\n//# sourceURL=webpack:///./~/react-router-relay/es/index.js?");

/***/ },

it is imported like

import useRelay from 'react-router-relay';

and when log it `console.log(useRelay);

Object {default: Object}
  default:
    Object
    renderRouteComponent
    :
    renderRouteComponent(child, props)
    renderRouterContext
    :
    renderRouterContext(child, props)
    __proto__
    :
    Object

so instead of using the import, useRelay, I have to use it like useRelay.default. I have all my dependencies in the dll and not sure why only this one gives the issue.

the imports in my file is transpiled as

/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_router_relay___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_react_router_relay__);

....
...
render: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6_react_router__["applyRouterMiddleware"])(__WEBPACK_IMPORTED_MODULE_8_react_router_relay___default.a),

why is this extra default wrapping. I disabled commonjs babel transform plugin.
it strarted after I removed the deprecated babel-preset-es2015-webpack with the latest update

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions