npm

@saucelabs/bin-wrapper
TypeScript icon, indicating that this package has built-in type declarations

2.1.1 • Public • Published

bin-wrapper

⚠️ This package is not an official Sauce Labs product and is not supported by Sauce Labs.

Install

npm install --save @saucelabs/bin-wrapper

Usage

import { BinWrapper } from '@saucelabs/bin-wrapper';

const baseUrl = 'http://dummy-host/path/to/archives';
const bw = new BinWrapper()
  .src(`${baseUrl}/dummy-darwin_arm64.tar`, 'darwin', 'arm64')
  .src(`${baseUrl}/dummy-darwin_amd64.tar`, 'darwin', 'x64')
  .src(`${baseUrl}/dummy-win64.tar`, 'win32', 'x64')
  .dst(path.join(__dirname, 'bin'))
  .use(process.platform === 'win32' ? 'dummy.exe' : 'dummy')

(async () => {
  await bw.run(['--arg1', '--arg2']);
});

API

new BinWrapper()

Creates a new instance of BinWrapper.

src(path: URL, os: OS, arch: Arch): BinWrapper

Adds a source URL for a OS / Arch.

Params

path

Type: URL

URL pointing to the archive containing the binary.

os

Type: 'aix' | 'darwin' | 'freebsd' | 'linux' | 'openbsd' | 'sunos' | 'win32'

OS compatibility of the archive.

arch

Type: 'arm' | 'arm64' | 'ia32' | 'mips' | 'mipsel' | 'ppc' | 'ppc64' | 's390' | 's390x' | 'x64'

Arch compatibility of the archive.

dest(path: string): BinWrapper

Defines where to store the binary.

Params

path

Type: string

Target file location.

use(name: string): BinWrapper

Defines what file of the archive to use as the binary.

Params

path

Type: string

Filename contained withing the archive.

install(): Promise<void>

Installs the binary.

run(args: string[]): Promise<number>

Runs the binary with the specified args.

Params

args

Type: string[]

Arguments to pass to the binary during execution.

path(): string

Returns the path to the binary.

Readme

Keywords

none

Package Sidebar

Install

npm i @saucelabs/bin-wrapper

Weekly Downloads

12,065

Version

2.1.1

License

Apache-2.0

Unpacked Size

29 kB

Total Files

21

Last publish

Collaborators

  • christina.tonkonogaya
  • joaquin.hurtado
  • webdev-saucelabs
  • gracjan.grala
  • david.missmann
  • thomas.fett
  • pawel-sauce
  • diego.molina
  • sakhi-sl
  • navrajsingh
  • it10403npm
  • rillgen-saucelabs
  • saucebot
  • krzysztof.sulejczak.sauce