Notes of Maks Nemisj

Experiments with JavaScript

node.js

Why not to use NODE_ENV for defining environments

Recently I’ve came across a couple of node.js projects which use NODE_ENV for defining environment for the Development, Testing, Acceptance and Production (DTAP) pipeline. At first sight this looks like a good idea, but I would advise against it. What we often see is that npm modules are consuming NODE_ENV as either ‘production’ or something […]

, , ,

JavaScript execution

Do you know what would be the result of the following code executed in node.js without babel and any transpiling? example.js Do you know the result ? Think good …       And one more time       Well, it appears that it depends on the version of the node.js ( and guess […]

, ,

Error handling in isomorphic node.js application

When preparing application for deploying to production env I want to ensure that everything is properly logged, especially things which are unexpected in code. That’s why, I think, proper error handling is crucial to any application. This is a short article on how to do an error handling when going live in isomporhic web app […]

, , , , , , , , ,

How to test React.js components

In this article I will explain “Why should you test react.js components”, “How can you do testing” and “What are the problems you might come across”. Testing solution which I use, doesn’t rely on the Test-utils of React and on DOM implementation ( so that you can do the node.js testing ). Why/How to test […]

, , , ,

NPM, tmp and npm-xxx uncleaned paths

UPDATE: Created npm module to fix this stuff – https://www.npmjs.com/package/clean-npm-tmp Today I came to work and it appeared that builds on our Jenkins ( CI environment ) are broken due to “No space left on device” error. Further investigation showed that the whole /tmp folder was filled with strange “npm-xxx” folders, which in their turn […]

, ,

Vim script for Node.js and ‘gf’

I wrote a vim script which can help you to do ‘gf’ on require statements when coding node.js modules. It uses node.js module resolution algorithm to add all the node_modules folders into the vim path variable, so that you can do ‘gf’ on modules which are not relative to the current folder of the file. […]

, ,