Registry / http-networking / appcenter-file-upload-client-node

appcenter-file-upload-client-node

JSON →
library1.2.12jsnpmunverified

File upload client for Visual Studio App Center Distribute, used to upload release binaries to App Center. Current stable version is 1.2.12 (part of appcenter-cli ecosystem). The library slices a binary into 4MB chunks and uploads them in parallel for faster uploads on high-latency connections, with per-chunk retry. Internal dependency for appcenter-cli; not intended for direct use. Ships TypeScript types. Release cadence tied to appcenter-cli (v2.x, v3.x). Differentiator: parallel chunked upload vs single-stream alternatives.

npm install appcenter-file-upload-client-node
INSTALL
IMPORT
SIG · APPCENTER-FILE-UPL
A
appcenter-file-upload-client-node
http-networkingjavascriptv1.2.12
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

upload
import { upload } from 'appcenter-file-upload-client-node'
const upload = require('appcenter-file-upload-client-node').upload
ESM module; named export. Avoid default import.
FileUploadClient
import { FileUploadClient } from 'appcenter-file-upload-client-node'
import FileUploadClient from 'appcenter-file-upload-client-node'
Named export for the client class. Default import is undefined.
UploadableAsset
import { UploadableAsset } from 'appcenter-file-upload-client-node'
import { UploadableAsset } from 'appcenter-file-upload-client-node/lib/UploadableAsset'
Type export; internal path may change, always import from package root.

Shows how to upload a binary file to App Center using the upload function with necessary parameters and environment variable for token.

import { upload } from 'appcenter-file-upload-client-node'; async function main() { const result = await upload({ asset: { path: '/path/to/release.apk', version: '1.0.0', versionCode: '1' }, ownerName: 'myowner', appName: 'myapp', token: process.env.APPCENTER_TOKEN ?? '', uploadDomain: 'https://upload.appcenter.ms', releaseNotes: 'First release', notifyTesters: false, destinations: [ { name: 'Collaborators', isNotifyTesters: true } ] }); console.log('Upload succeeded', result); } main().catch(console.error);
Debug
Known issues
breakingThe minimum node version required is now Node 14 (since v2.14.0) or higher.
fix
Update Node.js to v14 or later.
affects: >=2.14.0
breakingThe library was migrated from @azure/ms-rest-js to @azure/storage-blob in v2.13.7, which changes the internal API for chunk uploading. No external API change, but ensures compatibility with newer Azure SDK.
fix
If you depend on internal types, update to use @azure/storage-blob types.
affects: >=2.13.7
deprecatedVM2 package was removed in v2.13.10 due to security concerns. This library does not use sandboxing anymore.
fix
This is an internal change; no action required unless you relied on VM2.
affects: >=2.13.10
gotchaThe upload function's `options` parameter is typed as `UploadOptions` but some properties (like `destinations`) are actually required in the App Center API. Missing them may cause silent failure or 400 errors.
fix
Always include `destinations` array with at least one element (e.g., `[{name: 'Collaborators'}]`).
affects: *
gotchaThe `releaseNotes` option does not support Markdown; plain text only. Using Markdown may cause display issues or truncation.
fix
Pass plain text release notes.
affects: *
Errors
Common errors & fixes
Cannot find module 'node-fetch'
node-fetch is an internal dependency of appcenter-file-upload-client-node, but its version may be incompatible with Node version or ESM.
fix
Ensure you are using Node 14+ and install the package with npm install appcenter-file-upload-client-node, which will pull node-fetch automatically. If using Node 18+ with ESM, node-fetch v3 may be required; consider setting type: 'module' or force resolution.
TypeError: Options.destinations is not iterable
The destinations option must be an array; passing a string or missing it causes a runtime error.
fix
Always provide destinations as an array, e.g., destinations: [{name: 'Collaborators', isNotifyTesters: true}].
Upload failed with status 401: Unauthorized.
Invalid or expired App Center API token.
fix
Regenerate a new token from App Center settings and ensure it is passed correctly in the `token` option (or set as APPCENTER_TOKEN environment variable).
Error: asset.path must be a valid file path.
The `asset.path` provided is either missing, not a string, or points to a non-existent file.
fix
Ensure `asset.path` is an absolute or relative path to an existing binary file.
Upgrade
Version history
1.2.12latest on npm
Audit
Dependencies
node-fetchrequiredUsed for HTTP requests to the upload service
@azure/storage-blobrequiredAzure Blob Storage SDK for uploading chunks
Agent activity
36 hits · last 30 days
node
30
OpenAI (training)
1
Resources
appcenter-file-upload-client-node — npm install appcenter-file-upload-client-node · libregistry