mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-21 18:57:03 +02:00
feat: depot dodnloader node js
This commit is contained in:
1 parent
3157bc5e1b
commit
d70a980058
4 files changed
+48
-31
No files matched your search
@@ -2,44 +2,34 @@ name: Build Assets
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 1.16.0
|
||||
branches: 1.16.0
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: windows-latest
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Set up .NET
|
||||
uses: actions/setup-dotnet@v3
|
||||
- name: Use node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
dotnet-version: '6.0'
|
||||
node-version: 18
|
||||
cache: 'npm'
|
||||
|
||||
- name: Get latest release info
|
||||
id: release
|
||||
run: |
|
||||
$RELEASE_JSON = Invoke-RestMethod -Uri https://api.github.com/repos/SteamRE/DepotDownloader/releases/latest
|
||||
$DOWNLOAD_URL = $RELEASE_JSON.assets[0].browser_download_url
|
||||
Write-Output "##vso[task.setvariable variable=tag_name;isOutput=true]$($RELEASE_JSON.tag_name)"
|
||||
Write-Output "##vso[task.setvariable variable=download_url;isOutput=true]$DOWNLOAD_URL"
|
||||
- name: Install Yarn
|
||||
run: npm install --location=global yarn
|
||||
|
||||
- name: Download file as depotdownload.zip
|
||||
run: |
|
||||
$DOWNLOAD_URL = $env:download_url
|
||||
if (-not $DOWNLOAD_URL) {
|
||||
Write-Error "Download URL is null or empty. Check GitHub API response."
|
||||
exit 1
|
||||
}
|
||||
Invoke-WebRequest -Uri $DOWNLOAD_URL -OutFile depotdownload.zip
|
||||
- name: Use node_modules cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: '**/node_modules'
|
||||
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
|
||||
|
||||
- name: Extract zip file
|
||||
run: Expand-Archive -Path depotdownload.zip -DestinationPath .
|
||||
- name: Install dependencies
|
||||
run: yarn
|
||||
|
||||
- name: Run DepotDownloader.dll
|
||||
run: |
|
||||
$DLL_PATH = ".\DepotDownloader.dll"
|
||||
dotnet $DLL_PATH
|
||||
- name: Setup DepotDownloader
|
||||
run: yarn setup:depotdownloader
|
||||
+3
-3
@@ -19,13 +19,13 @@
|
||||
"start:website": "next start",
|
||||
"host:docs": "vitepress preview docs",
|
||||
"publish:ratingsleaderboard": "vite-node --script scripts/buildRatingsLeaderboard --publish",
|
||||
"zip": "zip -r dist.zip dist",
|
||||
"lint": "npx tsc",
|
||||
"lint:website": "next lint",
|
||||
"format": "prettier --write \"**/*.@(json|js|jsx|css|md|ts|tsx|html|xml|yml|gltf)\"",
|
||||
"lint:version": "vite-node --script scripts/checkVersionMissMatch",
|
||||
"knip": "knip",
|
||||
"update": "yarn upgrade --latest"
|
||||
"update": "yarn upgrade --latest",
|
||||
"setup:depotdownloader": "vite-node --script scripts/setupDepotDownloader"
|
||||
},
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -74,7 +74,7 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@total-typescript/ts-reset": "^0.5.1",
|
||||
"@types/decompress": "^4.2.6",
|
||||
"@types/decompress": "^4.2.7",
|
||||
"@types/escape-html": "^1.0.2",
|
||||
"@types/express": "^4.17.18",
|
||||
"@types/js-yaml": "^4.0.8",
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
import decompress from 'decompress';
|
||||
import { existsSync } from 'fs';
|
||||
import { mkdir, writeFile } from 'fs/promises';
|
||||
|
||||
if (!existsSync('temp')) {
|
||||
console.log('Creating temp directory...');
|
||||
await mkdir('temp');
|
||||
}
|
||||
|
||||
console.log('Downloading depot downloader...');
|
||||
await fetch(
|
||||
'https://api.github.com/repos/SteamRE/DepotDownloader/releases/latest',
|
||||
)
|
||||
.then(
|
||||
(response) =>
|
||||
response.json() as Promise<{
|
||||
assets: { browser_download_url: string }[];
|
||||
}>,
|
||||
)
|
||||
.then(({ assets }) => fetch(assets[0].browser_download_url))
|
||||
.then((response) => response.arrayBuffer())
|
||||
.then((arrayBuffer) =>
|
||||
writeFile('temp/depotDownloader.zip', Buffer.from(arrayBuffer)),
|
||||
);
|
||||
|
||||
console.log('Unzipping...');
|
||||
decompress('temp/depotDownloader.zip', 'temp/depotDownloader');
|
||||
@@ -2275,7 +2275,7 @@
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
|
||||
"@types/decompress@^4.2.6":
|
||||
"@types/decompress@^4.2.7":
|
||||
version "4.2.7"
|
||||
resolved "https://registry.yarnpkg.com/@types/decompress/-/decompress-4.2.7.tgz#604f69b69d519ecb74dea1ea0829f159b85e1332"
|
||||
integrity sha512-9z+8yjKr5Wn73Pt17/ldnmQToaFHZxK0N1GHysuk/JIPT8RIdQeoInM01wWPgypRcvb6VH1drjuFpQ4zmY437g==
|
||||
|
||||
Reference in new issue
Block a user