From f881dc03ae5d98cc948a069bfc7500999d1fa51f Mon Sep 17 00:00:00 2001 From: zhengkunwang <31820853+zhengkunwang223@users.noreply.github.com> Date: Thu, 30 May 2024 17:39:17 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20Node.js=20=E5=A2=9E=E5=8A=A0=20pnpm=20?= =?UTF-8?q?=E6=94=AF=E6=8C=81=20(#1503)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- node/{18.18.0 => 18.20.3}/data.yml | 0 node/{18.18.0 => 18.20.3}/docker-compose.yml | 2 +- node/{21.6.2 => 18.20.3}/run.sh | 9 +++-- node/{20.11.1 => 20.14.0}/data.yml | 0 node/{21.6.2 => 20.14.0}/docker-compose.yml | 2 +- node/{20.11.1 => 20.14.0}/run.sh | 9 +++-- node/{21.6.2 => 21.7.3}/data.yml | 0 node/{20.11.1 => 21.7.3}/docker-compose.yml | 2 +- node/{18.18.0 => 21.7.3}/run.sh | 19 +++++++--- node/22.2.0/data.yml | 1 + node/22.2.0/docker-compose.yml | 18 ++++++++++ node/22.2.0/run.sh | 38 ++++++++++++++++++++ 12 files changed, 87 insertions(+), 13 deletions(-) rename node/{18.18.0 => 18.20.3}/data.yml (100%) rename node/{18.18.0 => 18.20.3}/docker-compose.yml (90%) rename node/{21.6.2 => 18.20.3}/run.sh (73%) rename node/{20.11.1 => 20.14.0}/data.yml (100%) rename node/{21.6.2 => 20.14.0}/docker-compose.yml (90%) rename node/{20.11.1 => 20.14.0}/run.sh (73%) rename node/{21.6.2 => 21.7.3}/data.yml (100%) rename node/{20.11.1 => 21.7.3}/docker-compose.yml (90%) rename node/{18.18.0 => 21.7.3}/run.sh (51%) create mode 100644 node/22.2.0/data.yml create mode 100644 node/22.2.0/docker-compose.yml create mode 100644 node/22.2.0/run.sh diff --git a/node/18.18.0/data.yml b/node/18.20.3/data.yml similarity index 100% rename from node/18.18.0/data.yml rename to node/18.20.3/data.yml diff --git a/node/18.18.0/docker-compose.yml b/node/18.20.3/docker-compose.yml similarity index 90% rename from node/18.18.0/docker-compose.yml rename to node/18.20.3/docker-compose.yml index 87b874e3b..6778d948f 100644 --- a/node/18.18.0/docker-compose.yml +++ b/node/18.20.3/docker-compose.yml @@ -1,6 +1,6 @@ services: node: - image: node:${NODE_VERSION} + image: 1panel/node:${NODE_VERSION} container_name: ${CONTAINER_NAME} working_dir: /app volumes: diff --git a/node/21.6.2/run.sh b/node/18.20.3/run.sh similarity index 73% rename from node/21.6.2/run.sh rename to node/18.20.3/run.sh index e7228d429..7c1a28c17 100644 --- a/node/21.6.2/run.sh +++ b/node/18.20.3/run.sh @@ -6,6 +6,8 @@ if [[ "$PACKAGE_MANAGER" == "npm" ]]; then npm config set registry $CONTAINER_PACKAGE_URL elif [[ "$PACKAGE_MANAGER" == "yarn" ]]; then yarn config set registry $CONTAINER_PACKAGE_URL +elif [[ "$PACKAGE_MANAGER" == "pnpm" ]]; then + pnpm config set registry $CONTAINER_PACKAGE_URL fi if [[ "$RUN_INSTALL" -eq "1" ]]; then @@ -13,6 +15,8 @@ if [[ "$RUN_INSTALL" -eq "1" ]]; then npm install elif [[ "$PACKAGE_MANAGER" == "yarn" ]]; then yarn install + elif [[ "$PACKAGE_MANAGER" == "pnpm" ]]; then + pnpm install else echo "未知的 PACKAGE_MANAGER: $PACKAGE_MANAGER" exit 1 @@ -27,9 +31,8 @@ else npm run $EXEC_SCRIPT elif [[ "$PACKAGE_MANAGER" == "yarn" ]]; then yarn run $EXEC_SCRIPT + elif [[ "$PACKAGE_MANAGER" == "pnpm" ]]; then + pnpm run $EXEC_SCRIPT fi fi - - - diff --git a/node/20.11.1/data.yml b/node/20.14.0/data.yml similarity index 100% rename from node/20.11.1/data.yml rename to node/20.14.0/data.yml diff --git a/node/21.6.2/docker-compose.yml b/node/20.14.0/docker-compose.yml similarity index 90% rename from node/21.6.2/docker-compose.yml rename to node/20.14.0/docker-compose.yml index 87b874e3b..6778d948f 100644 --- a/node/21.6.2/docker-compose.yml +++ b/node/20.14.0/docker-compose.yml @@ -1,6 +1,6 @@ services: node: - image: node:${NODE_VERSION} + image: 1panel/node:${NODE_VERSION} container_name: ${CONTAINER_NAME} working_dir: /app volumes: diff --git a/node/20.11.1/run.sh b/node/20.14.0/run.sh similarity index 73% rename from node/20.11.1/run.sh rename to node/20.14.0/run.sh index e7228d429..7c1a28c17 100644 --- a/node/20.11.1/run.sh +++ b/node/20.14.0/run.sh @@ -6,6 +6,8 @@ if [[ "$PACKAGE_MANAGER" == "npm" ]]; then npm config set registry $CONTAINER_PACKAGE_URL elif [[ "$PACKAGE_MANAGER" == "yarn" ]]; then yarn config set registry $CONTAINER_PACKAGE_URL +elif [[ "$PACKAGE_MANAGER" == "pnpm" ]]; then + pnpm config set registry $CONTAINER_PACKAGE_URL fi if [[ "$RUN_INSTALL" -eq "1" ]]; then @@ -13,6 +15,8 @@ if [[ "$RUN_INSTALL" -eq "1" ]]; then npm install elif [[ "$PACKAGE_MANAGER" == "yarn" ]]; then yarn install + elif [[ "$PACKAGE_MANAGER" == "pnpm" ]]; then + pnpm install else echo "未知的 PACKAGE_MANAGER: $PACKAGE_MANAGER" exit 1 @@ -27,9 +31,8 @@ else npm run $EXEC_SCRIPT elif [[ "$PACKAGE_MANAGER" == "yarn" ]]; then yarn run $EXEC_SCRIPT + elif [[ "$PACKAGE_MANAGER" == "pnpm" ]]; then + pnpm run $EXEC_SCRIPT fi fi - - - diff --git a/node/21.6.2/data.yml b/node/21.7.3/data.yml similarity index 100% rename from node/21.6.2/data.yml rename to node/21.7.3/data.yml diff --git a/node/20.11.1/docker-compose.yml b/node/21.7.3/docker-compose.yml similarity index 90% rename from node/20.11.1/docker-compose.yml rename to node/21.7.3/docker-compose.yml index 87b874e3b..6778d948f 100644 --- a/node/20.11.1/docker-compose.yml +++ b/node/21.7.3/docker-compose.yml @@ -1,6 +1,6 @@ services: node: - image: node:${NODE_VERSION} + image: 1panel/node:${NODE_VERSION} container_name: ${CONTAINER_NAME} working_dir: /app volumes: diff --git a/node/18.18.0/run.sh b/node/21.7.3/run.sh similarity index 51% rename from node/18.18.0/run.sh rename to node/21.7.3/run.sh index 3187406d3..7c1a28c17 100644 --- a/node/18.18.0/run.sh +++ b/node/21.7.3/run.sh @@ -6,6 +6,8 @@ if [[ "$PACKAGE_MANAGER" == "npm" ]]; then npm config set registry $CONTAINER_PACKAGE_URL elif [[ "$PACKAGE_MANAGER" == "yarn" ]]; then yarn config set registry $CONTAINER_PACKAGE_URL +elif [[ "$PACKAGE_MANAGER" == "pnpm" ]]; then + pnpm config set registry $CONTAINER_PACKAGE_URL fi if [[ "$RUN_INSTALL" -eq "1" ]]; then @@ -13,6 +15,8 @@ if [[ "$RUN_INSTALL" -eq "1" ]]; then npm install elif [[ "$PACKAGE_MANAGER" == "yarn" ]]; then yarn install + elif [[ "$PACKAGE_MANAGER" == "pnpm" ]]; then + pnpm install else echo "未知的 PACKAGE_MANAGER: $PACKAGE_MANAGER" exit 1 @@ -20,8 +24,15 @@ if [[ "$RUN_INSTALL" -eq "1" ]]; then fi -if [[ "$PACKAGE_MANAGER" == "npm" ]]; then - npm run $EXEC_SCRIPT -elif [[ "$PACKAGE_MANAGER" == "yarn" ]]; then - yarn run $EXEC_SCRIPT +if [[ "$CUSTOM_SCRIPT" -eq "1" ]]; then + $EXEC_SCRIPT +else + if [[ "$PACKAGE_MANAGER" == "npm" ]]; then + npm run $EXEC_SCRIPT + elif [[ "$PACKAGE_MANAGER" == "yarn" ]]; then + yarn run $EXEC_SCRIPT + elif [[ "$PACKAGE_MANAGER" == "pnpm" ]]; then + pnpm run $EXEC_SCRIPT + fi fi + diff --git a/node/22.2.0/data.yml b/node/22.2.0/data.yml new file mode 100644 index 000000000..fcc6ed694 --- /dev/null +++ b/node/22.2.0/data.yml @@ -0,0 +1 @@ +additionalProperties: \ No newline at end of file diff --git a/node/22.2.0/docker-compose.yml b/node/22.2.0/docker-compose.yml new file mode 100644 index 000000000..6778d948f --- /dev/null +++ b/node/22.2.0/docker-compose.yml @@ -0,0 +1,18 @@ +services: + node: + image: 1panel/node:${NODE_VERSION} + container_name: ${CONTAINER_NAME} + working_dir: /app + volumes: + - ${CODE_DIR}:/app + - ./run.sh:/run.sh + - ./.env:/.env + command: bash /run.sh + networks: + - 1panel-network + ports: + - ${HOST_IP}:${PANEL_APP_PORT_HTTP}:${NODE_APP_PORT} + restart: always +networks: + 1panel-network: + external: true diff --git a/node/22.2.0/run.sh b/node/22.2.0/run.sh new file mode 100644 index 000000000..7c1a28c17 --- /dev/null +++ b/node/22.2.0/run.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +source /.env + +if [[ "$PACKAGE_MANAGER" == "npm" ]]; then + npm config set registry $CONTAINER_PACKAGE_URL +elif [[ "$PACKAGE_MANAGER" == "yarn" ]]; then + yarn config set registry $CONTAINER_PACKAGE_URL +elif [[ "$PACKAGE_MANAGER" == "pnpm" ]]; then + pnpm config set registry $CONTAINER_PACKAGE_URL +fi + +if [[ "$RUN_INSTALL" -eq "1" ]]; then + if [[ "$PACKAGE_MANAGER" == "npm" ]]; then + npm install + elif [[ "$PACKAGE_MANAGER" == "yarn" ]]; then + yarn install + elif [[ "$PACKAGE_MANAGER" == "pnpm" ]]; then + pnpm install + else + echo "未知的 PACKAGE_MANAGER: $PACKAGE_MANAGER" + exit 1 + fi +fi + + +if [[ "$CUSTOM_SCRIPT" -eq "1" ]]; then + $EXEC_SCRIPT +else + if [[ "$PACKAGE_MANAGER" == "npm" ]]; then + npm run $EXEC_SCRIPT + elif [[ "$PACKAGE_MANAGER" == "yarn" ]]; then + yarn run $EXEC_SCRIPT + elif [[ "$PACKAGE_MANAGER" == "pnpm" ]]; then + pnpm run $EXEC_SCRIPT + fi +fi +