#############################################################################################
#############################################################################################
##
## RUN NPM BUILD, TEST AND DEV TASKS
##
#############################################################################################
#############################################################################################

.PHONY: npm-dev
## run npm dev server
npm-dev:
	$(ECHOMARKER) "start npm dev server" 
	$(QUIET) $(NPM) --prefix $(NODE_ROOT_DIR) run dev

.PHONY: npm-build
## build npm project
npm-build:
	$(ECHOMARKER) "build npm project" 
	$(QUIET) $(NPM) --prefix $(NODE_ROOT_DIR) run build

.PHONY: npm-preview
## preview npm project
npm-preview:
	$(ECHOMARKER) "preview npm project"
	$(QUIET) $(NPM) --prefix $(NODE_ROOT_DIR) run build 
	$(QUIET) $(NPM) --prefix $(NODE_ROOT_DIR) run preview


.PHONY: npm-update-all
## Update Node Components	
npm-update-all:
	$(ECHOMARKER) "Search and Update recursive all node_modules (npm and pnpm"
	$(QUIET) $(FIND) . -type f ! -path '*node_modules*' -iname pnpm-lock.yaml -exec bash -c 'cd $$(dirname {} ) ; pwd;  pnpm update -Lr ; cd - ' \;
	$(QUIET) $(FIND) . -type f ! -path '*node_modules*' -iname package-lock.json -exec bash -c 'cd $$(dirname {} ) ; pwd; npm install -g npm-check-updates; npx npm-check-updates; npm install ; cd -' \;