From nobody Wed Oct 01 08:44:37 2025 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cc7lT2cqsz69BNH; Wed, 01 Oct 2025 08:44:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cc7lT1hY6z47WJ; Wed, 01 Oct 2025 08:44:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1759308277; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eMnJzKux5/bEaW8wd99oCt3GDfIn9g5W6sDZvyT3Bd8=; b=CXEcLUvGNr+3XcaK7+nOmUJUP5St4+zBWJWYO3s9wgxRIS7Rmfa7UinbFRnL2F2pUg+NdZ Pbi1MgOHB2UWh5FqKoR6C6Dg35qyuJlO6wbCgY4PDWSLuhPcTJu2JjNZO+Q3uZ4b1x3bwD X+Yo0yQ9vcycXWlwvyyCtZNwqGmZgX8EZbYS1Q7Vs0+2ZMoCVpc9896fC77OYWEverguHP GWEaxtHS5rK/qtVRmz7ppxGPxHkCTrnSRKw88aBSgd1rwtrbrixVaaeaDTsLx0Hb418Fbo wM37KNBUVUtaNrJSyX2BbD2q98aFwUk3WRz/Qd4oNzfukoHE4wZluBLZVx5Zsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1759308277; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eMnJzKux5/bEaW8wd99oCt3GDfIn9g5W6sDZvyT3Bd8=; b=mW5+PolegfujZvPrXN4KPSxq/FCe4K8heRxJevoLgLggnWpHd8Cj9BVwxsd9HhRa5sHz1n yT9a7B2GYVNqQEFIGGUZMVAsK8CG5RYG0fU42CRUtvb4hwOEOQDbXCLlD2tTBvUsZrIwgP An+DlloesYKa61dC8CroM8AChXYdE97Wuz1YwXW5w7HTSqv16LuiTw66zLfzyJuTO7b+D2 rNNrJWDaDynfwufcByuPkgA4cLfS9O3JZ2wIkA0L2yjK7xGXTGmH4j8D2/3gnMD9aXR0on sLa29Tar+o3/eIAeqAnVZIdzOfTLN/aTQsi4/mEBVDapes7HZrorhhubkgWwRg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1759308277; a=rsa-sha256; cv=none; b=AZYoZOZCSVXFLVWlXz5GtSZDI6hwG25/Nmkld+OnxobavNgL8IfBqNn2erCtuCMS2MphTC rWkbUxRThnjzymqSx2hnGn6Qqj18kxMD3//iWOInNXfkqvJrfoUbxctb+yX9de67wbUYKl 8ULAohSmQ+mJp2pFQQ9lodUFpUKbT3Ick9vv/fDu/6BU2rAlruvW/OM5k1rR41SUcTUZ8t 8FXVMcYgVixSiUWFMyAD60Q+X1XlSUYg70UgczLym56ihQjxJHEk8pvOm/Z05NyeWeFgGR /q2Y3oHPOQWjwpka1a06PUs0qHWbny49BG/JjFL4o/cFaAfL58DwL4/HKeMWpg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cc7lT16MTz164; Wed, 01 Oct 2025 08:44:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5918ibOg020339; Wed, 1 Oct 2025 08:44:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5918ibtA020336; Wed, 1 Oct 2025 08:44:37 GMT (envelope-from git) Date: Wed, 1 Oct 2025 08:44:37 GMT Message-Id: <202510010844.5918ibtA020336@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Yuri Victorovich Subject: git: f97eed6954b4 - main - Tools/scripts: Add npmjs-get-latest-version.sh List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-all@freebsd.org Sender: owner-dev-commits-ports-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: yuri X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f97eed6954b4799a449d1cbcf9a0149b253c8d75 Auto-Submitted: auto-generated The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=f97eed6954b4799a449d1cbcf9a0149b253c8d75 commit f97eed6954b4799a449d1cbcf9a0149b253c8d75 Author: Yuri Victorovich AuthorDate: 2025-10-01 03:47:49 +0000 Commit: Yuri Victorovich CommitDate: 2025-10-01 08:44:28 +0000 Tools/scripts: Add npmjs-get-latest-version.sh --- Tools/scripts/npmjs-get-latest-version.sh | 45 +++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/Tools/scripts/npmjs-get-latest-version.sh b/Tools/scripts/npmjs-get-latest-version.sh new file mode 100755 index 000000000000..122211f03df8 --- /dev/null +++ b/Tools/scripts/npmjs-get-latest-version.sh @@ -0,0 +1,45 @@ +#!/bin/sh +# +# MAINTAINER: yuri@FreeBSD.org + +set -e +set -o pipefail + +export LC_ALL=C + +## +## npmjs-get-latest-version.sh: retrieves the latest version of a given Node.js package as registered on https://registry.npmjs.org +## + +# args + +PACKAGE_NAME="$1" + +if [ -z "$PACKAGE_NAME" ]; then + echo "Usage: $0 " + echo "Example: $0 @github/copilot" + echo "Example: $0 express" + exit 1 +fi + +# check that packaged dependencies are installed + +for dep in curl jq; do + if ! which $dep >/dev/null 2>&1; then + echo "error: the '$dep' dependency is missing" + if [ $dep = "curl" ]; then + echo "... please install the 'curl' package" + elif [ $dep = "jq" ]; then + echo "... please install the 'jq' package" + fi + exit 1 + fi +done + + +# MAIN + +curl -H "Accept: application/json" https://registry.npmjs.org/$PACKAGE_NAME/latest 2>/dev/null | + grep -v "Not Found" | + jq -r '.version' || + ! echo "failed to find the Node.js package '$PACKAGE_NAME'"