############################################################################################# ############################################################################################# ## ## COMMANDS NODEJS ## ############################################################################################# ############################################################################################# # path and binaries NODEJS ?= node NODE ?= node NPM ?= pnpm EXECUTABLES = $(EXECUTABLES:-) $(NPM); NODE_PACKAGES := $(shell find $(PROJECT_ROOT) -type f -name 'package.json' -not -path '*/node_modules/*') NODE_MODULES := $(shell find $(PROJECT_ROOT) -type d -name 'node_modules' -prune) NODE_MODULES_MODIFIED := $(shell find $(PROJECT_ROOT) -type f -name 'package.json' -not -path '*/node_modules/*' -exec sh -c 'F=$$(dirname {}); echo $${F}/node_modules/.modified' \;) $(NODE_MODULES_MODIFIED): $(NODE_PACKAGES) $(ECHOMARKER) "Updating node modules..." $(QUIET) for p in $(NODE_PACKAGES); do \ DIR=$$(dirname $$p); \ echo "Updating package: $${DIR}" ;\ $(NPM) install --prefix $${DIR} ;\ if [ -d $${DIR}/node_modules/ ]; then \ touch $${DIR}/node_modules/.modified ;\ fi ;\ done ## Main Develpoment Node Repos NODE_ROOT_DIR ?= $(DEVELOPMENT_PATH) NODE_MODULES_DIR ?= $(NODE_ROOT_DIR)node_modules/ NODE_PACKAGE_PATH ?= $(NODE_ROOT_DIR)package.json NODE_MODULES_BIN_DIR ?= $(NODE_MODULES_DIR).bin/ ESBUILD ?= $(NODE_MODULES_BIN_DIR)esbuild 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 PACKAGE_JSON ?= $(NODE_ROOT_DIR)package.json ifneq "$(wildcard $(SOURCE_PATH) )" "" MJS_SOURCE_FILES := $(shell find $(SOURCE_PATH) -name '*.mjs') MJS_RELATIVE_SOURCE_FILES := $(shell find $(SOURCE_PATH) -name '*.mjs' -exec realpath --relative-to $(PROJECT_ROOT) {} \; ) JS_SOURCE_FILES := $(shell find $(SOURCE_PATH) -name '*.js') JS_RELATIVE_SOURCE_FILES := $(shell find $(SOURCE_PATH) -name '*.js' -exec realpath --relative-to $(PROJECT_ROOT) {} \; ) endif