#############################################################################################
#############################################################################################
##
## COMMANDS NODEJS
##
#############################################################################################
#############################################################################################

# path and binaries
NODEJS            ?= node
NPM               ?= npm

EXECUTABLES = $(EXECUTABLES:-) $(npm); 
 
 
NODE_ROOT_DIR          ?= $(PROJECT_ROOT)  
NODE_MODULES_DIR       ?= $(NODE_ROOT_DIR)node_modules/
NODE_MODULES_BIN_DIR   ?= $(NODE_MODULES_DIR).bin/

WEBPACK       ?= $(NODE_MODULES_BIN_DIR)webpack
BABEL         ?= $(NODE_MODULES_BIN_DIR)babel
UGLIFYJS      ?= $(NODE_MODULES_BIN_DIR)uglifyjs
C8            ?= $(NODE_MODULES_BIN_DIR)c8
MOCHA         ?= $(NODE_MODULES_BIN_DIR)mocha

FIXBROKENPLANTUML := $(NODE_MODULES_DIR)jsdoc-plantuml/fixBrokenNodeJS.js
PACKAGE_MODIFIED := $(NODE_MODULES_DIR).modified

PACKAGE_JSON ?= $(NODE_ROOT_DIR)package.json

$(PACKAGE_MODIFIED): $(PACKAGE_JSON) 
	$(QUIET) $(NPM) install 
	$(QUIET) $(TEST) -s $(FIXBROKENPLANTUML) || $(NODE) $(FIXBROKENPLANTUML)
	$(QUIET) $(RM) $(PACKAGEMODIFIED)
	$(QUIET) $(TOUCH) -m $(PACKAGEMODIFIED)