feat: new nightly app channel (#3948)
Co-authored-by: Hien To <tominhhien97@gmail.com>
This commit is contained in:
parent
23764caedf
commit
1ad897782c
47
.github/scripts/rename-app-beta.sh
vendored
47
.github/scripts/rename-app-beta.sh
vendored
@ -1,47 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Check if the correct number of arguments is provided
|
||||
if [ "$#" -ne 1 ]; then
|
||||
echo "Usage: $0 <path_to_json_input_file>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
INPUT_JSON_FILE="$1"
|
||||
|
||||
# Check if the input file exists
|
||||
if [ ! -f "$INPUT_JSON_FILE" ]; then
|
||||
echo "Input file not found: $INPUT_JSON_FILE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Use jq to transform the content
|
||||
jq '
|
||||
.name = "jan-beta" |
|
||||
.productName = "Jan-beta" |
|
||||
.build.appId = "jan-beta.ai.app" |
|
||||
.build.productName = "Jan-beta" |
|
||||
.build.appId = "jan-beta.ai.app" |
|
||||
.build.protocols[0].name = "Jan-beta" |
|
||||
.build.protocols[0].schemes = ["jan-beta"] |
|
||||
.build.artifactName = "jan-beta-${os}-${arch}-${version}.${ext}" |
|
||||
.build.publish[0].channel = "beta"
|
||||
' "$INPUT_JSON_FILE" > ./package.json.tmp
|
||||
|
||||
cat ./package.json.tmp
|
||||
|
||||
rm $INPUT_JSON_FILE
|
||||
mv ./package.json.tmp $INPUT_JSON_FILE
|
||||
|
||||
# Update the layout file
|
||||
LAYOUT_FILE_PATH="web/app/layout.tsx"
|
||||
|
||||
if [ ! -f "$LAYOUT_FILE_PATH" ]; then
|
||||
echo "File does not exist: $LAYOUT_FILE_PATH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Perform the replacements
|
||||
sed -i -e "s#Jan#Jan-beta#g" "$LAYOUT_FILE_PATH"
|
||||
|
||||
# Notify completion
|
||||
echo "File has been updated: $LAYOUT_FILE_PATH"
|
||||
55
.github/scripts/rename-app.sh
vendored
Normal file
55
.github/scripts/rename-app.sh
vendored
Normal file
@ -0,0 +1,55 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Check if the correct number of arguments is provided
|
||||
if [ "$#" -ne 2 ]; then
|
||||
echo "Usage: $0 <path_to_json_input_file> <channel>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
INPUT_JSON_FILE="$1"
|
||||
|
||||
CHANNEL="$2"
|
||||
|
||||
if [ "$CHANNEL" == "nightly" ]; then
|
||||
UPDATER="latest"
|
||||
else
|
||||
UPDATER="beta"
|
||||
fi
|
||||
|
||||
# Check if the input file exists
|
||||
if [ ! -f "$INPUT_JSON_FILE" ]; then
|
||||
echo "Input file not found: $INPUT_JSON_FILE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Use jq to transform the content
|
||||
jq --arg channel "$CHANNEL" --arg updater "$UPDATER" '
|
||||
.name = "jan-\($channel)" |
|
||||
.productName = "Jan-\($channel)" |
|
||||
.build.appId = "jan-\($channel).ai.app" |
|
||||
.build.productName = "Jan-\($channel)" |
|
||||
.build.appId = "jan-\($channel).ai.app" |
|
||||
.build.protocols[0].name = "Jan-\($channel)" |
|
||||
.build.protocols[0].schemes = ["jan-\($channel)"] |
|
||||
.build.artifactName = "jan-\($channel)-${os}-${arch}-${version}.${ext}" |
|
||||
.build.publish[0].channel = $updater
|
||||
' "$INPUT_JSON_FILE" > ./package.json.tmp
|
||||
|
||||
cat ./package.json.tmp
|
||||
|
||||
rm $INPUT_JSON_FILE
|
||||
mv ./package.json.tmp $INPUT_JSON_FILE
|
||||
|
||||
# Update the layout file
|
||||
LAYOUT_FILE_PATH="web/app/layout.tsx"
|
||||
|
||||
if [ ! -f "$LAYOUT_FILE_PATH" ]; then
|
||||
echo "File does not exist: $LAYOUT_FILE_PATH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Perform the replacements
|
||||
sed -i -e "s#Jan#Jan-$CHANNEL#g" "$LAYOUT_FILE_PATH"
|
||||
|
||||
# Notify completion
|
||||
echo "File has been updated: $LAYOUT_FILE_PATH"
|
||||
@ -3,6 +3,14 @@
|
||||
# File path to be modified
|
||||
FILE_PATH="electron/scripts/uninstaller.nsh"
|
||||
|
||||
# Check if the correct number of arguments is provided
|
||||
if [ "$#" -ne 1 ]; then
|
||||
echo "Usage: $0 <channel>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
CHANNEL="$1"
|
||||
|
||||
# Check if the file exists
|
||||
if [ ! -f "$FILE_PATH" ]; then
|
||||
echo "File does not exist: $FILE_PATH"
|
||||
@ -10,7 +18,7 @@ if [ ! -f "$FILE_PATH" ]; then
|
||||
fi
|
||||
|
||||
# Perform the replacements
|
||||
sed -i -e "s#jan#jan-beta#g" "$FILE_PATH"
|
||||
sed -i -e "s#jan#jan-$CHANNEL#g" "$FILE_PATH"
|
||||
|
||||
# Notify completion
|
||||
echo "File has been updated: $FILE_PATH"
|
||||
@ -3,6 +3,8 @@
|
||||
# File path to be modified
|
||||
FILE_PATH="$1"
|
||||
|
||||
CHANNEL="$2"
|
||||
|
||||
# Check if the file exists
|
||||
if [ ! -f "$FILE_PATH" ]; then
|
||||
echo "File does not exist: $FILE_PATH"
|
||||
@ -10,7 +12,7 @@ if [ ! -f "$FILE_PATH" ]; then
|
||||
fi
|
||||
|
||||
# Perform the replacements
|
||||
sed -i -e 's/yarn workspace jan/yarn workspace jan-beta/g' "$FILE_PATH"
|
||||
sed -i -e "s/yarn workspace jan/yarn workspace jan-$CHANNEL/g" "$FILE_PATH"
|
||||
|
||||
# Notify completion
|
||||
echo "File has been updated: $FILE_PATH"
|
||||
64
.github/workflows/jan-electron-build-nightly.yml
vendored
64
.github/workflows/jan-electron-build-nightly.yml
vendored
@ -114,8 +114,8 @@ jobs:
|
||||
- name: Upload latest-mac.yml
|
||||
if: ${{ needs.set-public-provider.outputs.public_provider == 'aws-s3' }}
|
||||
run: |
|
||||
aws s3 cp ./latest-mac.yml "s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/temp-latest/latest-mac.yml"
|
||||
aws s3 sync s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/temp-latest/ s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/latest/
|
||||
aws s3 cp ./latest-mac.yml "s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/temp-nightly/latest-mac.yml"
|
||||
aws s3 sync s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/temp-nightly/ s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/nightly/
|
||||
env:
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.DELTA_AWS_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.DELTA_AWS_SECRET_ACCESS_KEY }}
|
||||
@ -123,35 +123,35 @@ jobs:
|
||||
AWS_EC2_METADATA_DISABLED: "true"
|
||||
|
||||
|
||||
noti-discord-nightly-and-update-url-readme:
|
||||
needs: [build-macos-x64, build-macos-arm64, build-windows-x64, build-linux-x64, get-update-version, set-public-provider, combine-latest-mac-yml]
|
||||
secrets: inherit
|
||||
if: github.event_name == 'schedule'
|
||||
uses: ./.github/workflows/template-noti-discord-and-update-url-readme.yml
|
||||
with:
|
||||
ref: refs/heads/dev
|
||||
build_reason: Nightly
|
||||
push_to_branch: dev
|
||||
new_version: ${{ needs.get-update-version.outputs.new_version }}
|
||||
# noti-discord-nightly-and-update-url-readme:
|
||||
# needs: [build-macos-x64, build-macos-arm64, build-windows-x64, build-linux-x64, get-update-version, set-public-provider, combine-latest-mac-yml]
|
||||
# secrets: inherit
|
||||
# if: github.event_name == 'schedule'
|
||||
# uses: ./.github/workflows/template-noti-discord-and-update-url-readme.yml
|
||||
# with:
|
||||
# ref: refs/heads/dev
|
||||
# build_reason: Nightly
|
||||
# push_to_branch: dev
|
||||
# new_version: ${{ needs.get-update-version.outputs.new_version }}
|
||||
|
||||
noti-discord-pre-release-and-update-url-readme:
|
||||
needs: [build-macos-x64, build-macos-arm64, build-windows-x64, build-linux-x64, get-update-version, set-public-provider, combine-latest-mac-yml]
|
||||
secrets: inherit
|
||||
if: github.event_name == 'push'
|
||||
uses: ./.github/workflows/template-noti-discord-and-update-url-readme.yml
|
||||
with:
|
||||
ref: refs/heads/dev
|
||||
build_reason: Pre-release
|
||||
push_to_branch: dev
|
||||
new_version: ${{ needs.get-update-version.outputs.new_version }}
|
||||
# noti-discord-pre-release-and-update-url-readme:
|
||||
# needs: [build-macos-x64, build-macos-arm64, build-windows-x64, build-linux-x64, get-update-version, set-public-provider, combine-latest-mac-yml]
|
||||
# secrets: inherit
|
||||
# if: github.event_name == 'push'
|
||||
# uses: ./.github/workflows/template-noti-discord-and-update-url-readme.yml
|
||||
# with:
|
||||
# ref: refs/heads/dev
|
||||
# build_reason: Pre-release
|
||||
# push_to_branch: dev
|
||||
# new_version: ${{ needs.get-update-version.outputs.new_version }}
|
||||
|
||||
noti-discord-manual-and-update-url-readme:
|
||||
needs: [build-macos-x64, build-macos-arm64, build-windows-x64, build-linux-x64, get-update-version, set-public-provider, combine-latest-mac-yml]
|
||||
secrets: inherit
|
||||
if: github.event_name == 'workflow_dispatch' && github.event.inputs.public_provider == 'aws-s3'
|
||||
uses: ./.github/workflows/template-noti-discord-and-update-url-readme.yml
|
||||
with:
|
||||
ref: refs/heads/dev
|
||||
build_reason: Manual
|
||||
push_to_branch: dev
|
||||
new_version: ${{ needs.get-update-version.outputs.new_version }}
|
||||
# noti-discord-manual-and-update-url-readme:
|
||||
# needs: [build-macos-x64, build-macos-arm64, build-windows-x64, build-linux-x64, get-update-version, set-public-provider, combine-latest-mac-yml]
|
||||
# secrets: inherit
|
||||
# if: github.event_name == 'workflow_dispatch' && github.event.inputs.public_provider == 'aws-s3'
|
||||
# uses: ./.github/workflows/template-noti-discord-and-update-url-readme.yml
|
||||
# with:
|
||||
# ref: refs/heads/dev
|
||||
# build_reason: Manual
|
||||
# push_to_branch: dev
|
||||
# new_version: ${{ needs.get-update-version.outputs.new_version }}
|
||||
|
||||
17
.github/workflows/template-build-linux-x64.yml
vendored
17
.github/workflows/template-build-linux-x64.yml
vendored
@ -60,18 +60,25 @@ jobs:
|
||||
mv /tmp/package.json electron/package.json
|
||||
jq --arg version "${{ inputs.new_version }}" '.version = $version' web/package.json > /tmp/package.json
|
||||
mv /tmp/package.json web/package.json
|
||||
jq '.build.publish = [{"provider": "generic", "url": "${{ secrets.CLOUDFLARE_R2_PUBLIC_URL }}", "channel": "latest"}, {"provider": "s3", "acl": null, "bucket": "${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}", "region": "${{ secrets.DELTA_AWS_REGION}}", "path": "temp-latest", "channel": "latest"}]' electron/package.json > /tmp/package.json
|
||||
jq '.build.publish = [{"provider": "generic", "url": "https://delta.jan.ai/nightly", "channel": "latest"}, {"provider": "s3", "acl": null, "bucket": "${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}", "region": "${{ secrets.DELTA_AWS_REGION}}", "path": "temp-nightly", "channel": "latest"}]' electron/package.json > /tmp/package.json
|
||||
mv /tmp/package.json electron/package.json
|
||||
cat electron/package.json
|
||||
chmod +x .github/scripts/rename-app.sh
|
||||
.github/scripts/rename-app.sh ./electron/package.json nightly
|
||||
chmod +x .github/scripts/rename-workspace.sh
|
||||
.github/scripts/rename-workspace.sh ./package.json nightly
|
||||
echo "------------------------"
|
||||
cat ./electron/package.json
|
||||
echo "------------------------"
|
||||
|
||||
- name: Change App Name for beta version
|
||||
if: inputs.beta == true
|
||||
shell: bash
|
||||
run: |
|
||||
chmod +x .github/scripts/rename-app-beta.sh
|
||||
.github/scripts/rename-app-beta.sh ./electron/package.json
|
||||
chmod +x .github/scripts/rename-workspace-beta.sh
|
||||
.github/scripts/rename-workspace-beta.sh ./package.json
|
||||
chmod +x .github/scripts/rename-app.sh
|
||||
.github/scripts/rename-app.sh ./electron/package.json beta
|
||||
chmod +x .github/scripts/rename-workspace.sh
|
||||
.github/scripts/rename-workspace.sh ./package.json beta
|
||||
echo "------------------------"
|
||||
cat ./electron/package.json
|
||||
echo "------------------------"
|
||||
|
||||
19
.github/workflows/template-build-macos-arm64.yml
vendored
19
.github/workflows/template-build-macos-arm64.yml
vendored
@ -72,22 +72,29 @@ jobs:
|
||||
jq --arg version "${{ inputs.new_version }}" '.version = $version' web/package.json > /tmp/package.json
|
||||
mv /tmp/package.json web/package.json
|
||||
|
||||
jq '.build.publish = [{"provider": "generic", "url": "${{ secrets.CLOUDFLARE_R2_PUBLIC_URL }}", "channel": "latest"}, {"provider": "s3", "acl": null, "bucket": "${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}", "region": "${{ secrets.DELTA_AWS_REGION}}", "path": "temp-latest", "channel": "latest"}]' electron/package.json > /tmp/package.json
|
||||
jq '.build.publish = [{"provider": "generic", "url": "https://delta.jan.ai/nightly", "channel": "latest"}, {"provider": "s3", "acl": null, "bucket": "${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}", "region": "${{ secrets.DELTA_AWS_REGION}}", "path": "temp-nightly", "channel": "latest"}]' electron/package.json > /tmp/package.json
|
||||
mv /tmp/package.json electron/package.json
|
||||
|
||||
jq --arg teamid "${{ secrets.APPLE_TEAM_ID }}" '.build.mac.notarize.teamId = $teamid' electron/package.json > /tmp/package.json
|
||||
mv /tmp/package.json electron/package.json
|
||||
|
||||
cat electron/package.json
|
||||
chmod +x .github/scripts/rename-app.sh
|
||||
.github/scripts/rename-app.sh ./electron/package.json nightly
|
||||
chmod +x .github/scripts/rename-workspace.sh
|
||||
.github/scripts/rename-workspace.sh ./package.json nightly
|
||||
echo "------------------------"
|
||||
cat ./electron/package.json
|
||||
echo "------------------------"
|
||||
|
||||
- name: Change App Name for beta version
|
||||
if: inputs.beta == true
|
||||
shell: bash
|
||||
run: |
|
||||
chmod +x .github/scripts/rename-app-beta.sh
|
||||
.github/scripts/rename-app-beta.sh ./electron/package.json
|
||||
chmod +x .github/scripts/rename-workspace-beta.sh
|
||||
.github/scripts/rename-workspace-beta.sh ./package.json
|
||||
chmod +x .github/scripts/rename-app.sh
|
||||
.github/scripts/rename-app.sh ./electron/package.json beta
|
||||
chmod +x .github/scripts/rename-workspace.sh
|
||||
.github/scripts/rename-workspace.sh ./package.json beta
|
||||
echo "------------------------"
|
||||
cat ./electron/package.json
|
||||
echo "------------------------"
|
||||
@ -186,7 +193,7 @@ jobs:
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: jan-mac-arm64-${{ inputs.new_version }}
|
||||
path: ./electron/dist/jan-mac-arm64-${{ inputs.new_version }}.dmg
|
||||
path: ./electron/dist/*.dmg
|
||||
|
||||
- name: Upload Artifact
|
||||
if: inputs.beta == false
|
||||
|
||||
19
.github/workflows/template-build-macos-x64.yml
vendored
19
.github/workflows/template-build-macos-x64.yml
vendored
@ -72,22 +72,29 @@ jobs:
|
||||
jq --arg version "${{ inputs.new_version }}" '.version = $version' web/package.json > /tmp/package.json
|
||||
mv /tmp/package.json web/package.json
|
||||
|
||||
jq '.build.publish = [{"provider": "generic", "url": "${{ secrets.CLOUDFLARE_R2_PUBLIC_URL }}", "channel": "latest"}, {"provider": "s3", "acl": null, "bucket": "${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}", "region": "${{ secrets.DELTA_AWS_REGION}}", "path": "temp-latest", "channel": "latest"}]' electron/package.json > /tmp/package.json
|
||||
jq '.build.publish = [{"provider": "generic", "url": "https://delta.jan.ai/nightly", "channel": "latest"}, {"provider": "s3", "acl": null, "bucket": "${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}", "region": "${{ secrets.DELTA_AWS_REGION}}", "path": "temp-nightly", "channel": "latest"}]' electron/package.json > /tmp/package.json
|
||||
mv /tmp/package.json electron/package.json
|
||||
|
||||
jq --arg teamid "${{ secrets.APPLE_TEAM_ID }}" '.build.mac.notarize.teamId = $teamid' electron/package.json > /tmp/package.json
|
||||
mv /tmp/package.json electron/package.json
|
||||
|
||||
cat electron/package.json
|
||||
chmod +x .github/scripts/rename-app.sh
|
||||
.github/scripts/rename-app.sh ./electron/package.json nightly
|
||||
chmod +x .github/scripts/rename-workspace.sh
|
||||
.github/scripts/rename-workspace.sh ./package.json nightly
|
||||
echo "------------------------"
|
||||
cat ./electron/package.json
|
||||
echo "------------------------"
|
||||
|
||||
- name: Change App Name for beta version
|
||||
if: inputs.beta == true
|
||||
shell: bash
|
||||
run: |
|
||||
chmod +x .github/scripts/rename-app-beta.sh
|
||||
.github/scripts/rename-app-beta.sh ./electron/package.json
|
||||
chmod +x .github/scripts/rename-workspace-beta.sh
|
||||
.github/scripts/rename-workspace-beta.sh ./package.json
|
||||
chmod +x .github/scripts/rename-app.sh
|
||||
.github/scripts/rename-app.sh ./electron/package.json beta
|
||||
chmod +x .github/scripts/rename-workspace.sh
|
||||
.github/scripts/rename-workspace.sh ./package.json beta
|
||||
echo "------------------------"
|
||||
cat ./electron/package.json
|
||||
echo "------------------------"
|
||||
@ -186,7 +193,7 @@ jobs:
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: jan-mac-x64-${{ inputs.new_version }}
|
||||
path: ./electron/dist/jan-mac-x64-${{ inputs.new_version }}.dmg
|
||||
path: ./electron/dist/*.dmg
|
||||
|
||||
- name: Upload Artifact
|
||||
if: inputs.beta == false
|
||||
|
||||
25
.github/workflows/template-build-windows-x64.yml
vendored
25
.github/workflows/template-build-windows-x64.yml
vendored
@ -73,23 +73,34 @@ jobs:
|
||||
jq --arg version "${{ inputs.new_version }}" '.version = $version' web/package.json > /tmp/package.json
|
||||
mv /tmp/package.json web/package.json
|
||||
|
||||
jq '.build.publish = [{"provider": "generic", "url": "${{ secrets.CLOUDFLARE_R2_PUBLIC_URL }}", "channel": "latest"}, {"provider": "s3", "acl": null, "bucket": "${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}", "region": "${{ secrets.DELTA_AWS_REGION}}", "path": "temp-latest", "channel": "latest"}]' electron/package.json > /tmp/package.json
|
||||
jq '.build.publish = [{"provider": "generic", "url": "https://delta.jan.ai/nightly", "channel": "latest"}, {"provider": "s3", "acl": null, "bucket": "${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}", "region": "${{ secrets.DELTA_AWS_REGION}}", "path": "temp-nightly", "channel": "latest"}]' electron/package.json > /tmp/package.json
|
||||
mv /tmp/package.json electron/package.json
|
||||
|
||||
jq '.build.win.sign = "./sign.js"' electron/package.json > /tmp/package.json
|
||||
mv /tmp/package.json electron/package.json
|
||||
cat electron/package.json
|
||||
chmod +x .github/scripts/rename-app.sh
|
||||
.github/scripts/rename-app.sh ./electron/package.json nightly
|
||||
chmod +x .github/scripts/rename-workspace.sh
|
||||
.github/scripts/rename-workspace.sh ./package.json nightly
|
||||
chmod +x .github/scripts/rename-uninstaller.sh
|
||||
.github/scripts/rename-uninstaller.sh nightly
|
||||
echo "------------------------"
|
||||
cat ./electron/package.json
|
||||
echo "------------------------"
|
||||
cat ./package.json
|
||||
echo "------------------------"
|
||||
|
||||
- name: Change App Name for beta version
|
||||
if: inputs.beta == true
|
||||
shell: bash
|
||||
run: |
|
||||
chmod +x .github/scripts/rename-app-beta.sh
|
||||
.github/scripts/rename-app-beta.sh ./electron/package.json
|
||||
chmod +x .github/scripts/rename-workspace-beta.sh
|
||||
.github/scripts/rename-workspace-beta.sh ./package.json
|
||||
chmod +x .github/scripts/rename-uninstaller-beta.sh
|
||||
.github/scripts/rename-uninstaller-beta.sh
|
||||
chmod +x .github/scripts/rename-app.sh
|
||||
.github/scripts/rename-app.sh ./electron/package.json beta
|
||||
chmod +x .github/scripts/rename-workspace.sh
|
||||
.github/scripts/rename-workspace.sh ./package.json beta
|
||||
chmod +x .github/scripts/rename-uninstaller.sh
|
||||
.github/scripts/rename-uninstaller.sh beta
|
||||
echo "------------------------"
|
||||
cat ./electron/package.json
|
||||
echo "------------------------"
|
||||
|
||||
@ -111,7 +111,7 @@
|
||||
"@kirillvakalov/nut-tree__nut-js": "4.2.1-2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@electron/notarize": "^2.1.0",
|
||||
"@electron/notarize": "^2.5.0",
|
||||
"@playwright/test": "^1.38.1",
|
||||
"@types/npmcli__arborist": "^5.6.4",
|
||||
"@types/pacote": "^11.1.7",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user