Skip to content

Instantly share code, notes, and snippets.

@kuy
kuy / console-server.js
Created June 17, 2016 07:19
Remote console.log using WebSocket
'use strict';
var WebSocketServer = require('ws').Server;
var wss = new WebSocketServer({ port: 5013 });
wss.on('connection', function connection(ws) {
ws.on('message', function onMessage(message) {
console.log(message);
});
});
@kuy
kuy / README.md
Last active September 26, 2016 08:10
@kuy
kuy / console
Created October 4, 2016 08:13
OK: es2015, NG: es2016, Why?
kuyMBA% npm test
> lifegame-redux@ test /Users/kodama/Work/lifegame-redux
> mocha --compilers js:babel-register test/unit/utils.js
/Users/kodama/Work/lifegame-redux/test/unit/utils.js:4
import * as utils from '../../src/common/utils';
^^^^^^
SyntaxError: Unexpected token import
at Object.exports.runInThisContext (vm.js:76:16)
@kuy
kuy / memo.md
Created October 7, 2016 16:11
Node.js CommonJS と ECMAScript Modules の interop について

import と require() の違い

CommonJSのモジュール内でrequire()を使ってESMを読み込むこと、 ESMのモジュール内からimportを使ってCommonJSを読み込むことは可能だけど、 CommonJSの中からimportを使うことはできない。 ESMの中であれば例えば import { require } from 'nodejs' とかやれば可能になる。

  • CommonJSのモジュール内で require() を使ってESMを読み込むことは可能
  • ESMのモジュール内から import を使ってCommonJSを読み込むことは可能
  • ESMのモジュール内から require() を使うことは不可能ではない
@kuy
kuy / long-living process.md
Last active October 8, 2016 03:27
Long-living process について
@kuy
kuy / router.js
Created December 6, 2016 00:41
redux-saga-tower
import { put } from 'redux-saga/effects';
import { router, createHashHistory } from 'redux-saga-router';
import { changePage } from '../actions';
import Home from '../pages/home';
import SeriesNew from '../pages/series-new';
const history = createHashHistory();
const routes = {
@kuy
kuy / edit-page.js
Last active December 30, 2016 08:07
class EditPage extends React.Component {
handleUpdate() {
const form = ...;
this.props.dispatch(requestUpdate(form));
}
// ...
render() {
return <div>
@kuy
kuy / edit-page.js
Last active December 30, 2016 08:34
class EditPage extends React.Component {
handleUpdate() {
const form = ...;
this.props.dispatch(requestUpdate(form));
this.props.dispatch(change('/posts/update'));
}
// ...
render() {
@kuy
kuy / auth.js
Last active January 4, 2017 15:33
// Borrowed from react-router exmample "Auth Flow"
// https://github.com/ReactTraining/react-router/tree/master/examples/auth-flow
render((
<Router history={withExampleBasename(browserHistory, __dirname)}>
<Route path="/" component={App}>
<Route path="login" component={Login} />
<Route path="logout" component={Logout} />
<Route path="admin" onEnter={requireAuth}> // Route hook
<Route path="about" component={About} onEnter={...} /> // Component hook
render((
<Router history={...}>
<Route path="/" component={App}>
<Route path="A" component={PageA} onEnter={/* E-A */} onLeave={/* L-A */} />
<Route path="B" component={PageB} onEnter={/* E-B */} onLeave={/* L-B */} />
<Route path="C" onEnter={/* E-C */} onLeave={/* L-C */} />
</Route>
</Router>
), document.getElementById('...'))