react-d3-baseをimportしているとPhantomjsがこけてテストができなかった。
react-d3-base
を使用しているReact.Component
を表示しようとする以前の、最初の定義段階でこけているらしく、まったくテストができませんでした。原因などはわかりませんが、こういうつまづき方をしましたということで、メモを残しておきます。
Capybara::Poltergeist::Driver.new(app, {
js_errors: false
})
としても、アプリケーション自体が走らないので、画面表示されず。react-d3-base
削除したところ、エラーが発生している最下部に上げた定義部分が消え、完走するようになりました。
c3
にすげかえ後だったので削除でよしとしましたが、自分で対処できない事象に遭遇するととてもつらいと思いました。
エラー
TypeError: undefined is not a function (evaluating 'Object.assign')
browserify
環境
TypeScriptから
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"sourceMap": true,
"jsx" : "react",
"outDir" : "../ts_built"
}
tsc
後から
"scripts": {
"build": "watchify --extension=js ./ts_built/index.js -o ./ts_built/built.js -v"
}
└─┬ watchify@3.7.0
├─┬ browserify@13.0.0
│ ├─┬ buffer@4.3.1
│ │ ├── base64-js@1.0.2
│ │ └── isarray@1.0.0
│ └── readable-stream@2.0.5
└── outpipe@1.1.1
引っかかる部分のコード
var ChartSvg = (function (_Component) {
_inherits(ChartSvg, _Component);
function ChartSvg(props) {
_classCallCheck(this, ChartSvg);
_get(Object.getPrototypeOf(ChartSvg.prototype), 'constructor', this).call(this, props);
}
_createClass(ChartSvg, [{
key: 'render',
value: function render() {
var _props = this.props;
var height = _props.height;
var width = _props.width;
var margins = _props.margins;
var svgClassName = _props.svgClassName;
var id = _props.id;
var children = _props.children;
var t = 'translate(' + margins.left + ', ' + margins.top + ')';
return _react2['default'].createElement(
'svg',
{
height: height,
width: width,
className: svgClassName,
id: id,
ref: 'svgContainer'
},
_react2['default'].createElement(
'g',
{
transform: t
},
children
)
);
}
}], [{
key: 'defaultProps',
value: Object.assign(_commonProps2['default'], {
svgClassName: 'react-d3-core__container_svg',
onZoom: function onZoom() {},
scaleExtent: [1, 10]
}),
enumerable: true
}, {
key: 'propTypes',
value: {
id: _react.PropTypes.string,
width: _react.PropTypes.number.isRequired,
height: _react.PropTypes.number.isRequired,
margins: _react.PropTypes.object.isRequired,
svgClassName: _react.PropTypes.string.isRequired
},
enumerable: true
}]);
return ChartSvg;
})(_react.Component);