Node wrapper and utilities for the WSL CLI. Uses node child_process with no other dependencies
You can use npm or yarn to install this package into your project
npm install @endevr-io/wsl-api
yarn add @endevr-io/wsl-api
- exportDistribution(distribution, path) ⇒
Promise
Exports a specified distribution to a path/file name
- importDistribution(distribution, location, path) ⇒
Promise
Imports a new distribution to a location from a path/file name
- install() ⇒
Promise
Install WSL and Ubuntu
- installDistribution(distribution) ⇒
Promise
Install official distribution
- list([raw]) ⇒
Promise
|Array.<ListObject>
|String
|Null
Lists distributions
- listAll([raw]) ⇒
Promise
|Array.<ListObject>
|String
|Null
Lists all distributions
- listOnline([raw]) ⇒
Promise
|Array.<ListOnlineObject>
|String
|Null
Lists official online distributions that can be installed
- listQuiet([raw]) ⇒
Promise
|Array.<String>
|String
|Null
Lists quiet distributions
- listRunning([raw]) ⇒
Promise
|Array.<ListObject>
|String
|Null
Lists running distributions
- listVerbose([raw]) ⇒
Promise
|Array.<ListVerboseObject>
|String
|Null
Lists verbose distributions
- mount(path, [name], [bare], [type], [partition], [options]) ⇒
Promise
Mounts a disk to all distributions
- runDistribution([distribution], [user])
Runs a distribution with an optional user. The distribution will be attached to this process. Do not await a response
- runDistributionDetached([distribution], [user])
Runs a detached distribution with an optional user. The distribution will be detached from this process in it's own window
- setDefaultDistribution(distribution) ⇒
Promise
Sets the default distribution
- setDefaultVersion(version) ⇒
Promise
Sets the default WSL version
- setVersion(distribution, version) ⇒
Promise
Sets the WSL version of a distribution
- shutdown() ⇒
Promise
Shutdown all distributions
- status([raw]) ⇒
Promise
|StatusObject
|String
|Null
Lists the status of WSL
- terminate(distribution) ⇒
Promise
Terminates or stops specified distribution
- unmount(path) ⇒
Promise
Unmounts a disk to all distributions
- unregister(distribution) ⇒
Promise
Unregisters or uninstalls specified distribution
- update([rollback]) ⇒
Promise
Update the WSL kernel
- isSupported() ⇒
Boolean
Checks if WSL is supported in the OS, must be Windows 10 build >= 19041 or Windows 11
runBashCommand(command, [longProcess], [stdoutCallback], [stderrCallback], [errorCallback], [closeCallback]) ⇒Promise
|String
Runs a bash command on the default distribution
runBashFile(path, [longProcess], [stdoutCallback], [stderrCallback], [errorCallback], [closeCallback]) ⇒Promise
|String
Runs a bash file on the default distribution
⚠️ Make sure that the file uses Linux line endings (LF) and NOT Windows line endings (CRLF)- runWSLCommand(command, [distribution], [user], [longProcess], [stdoutCallback], [stderrCallback], [errorCallback], [closeCallback]) ⇒
Promise
|String
Runs a command on the default or specified distribution. Must be a simple single command. Use
runBashCommand
for multiple or complex commands or run a bash file withrunWSLFile
orrunBashFile
- runWSLFile(path, [distribution], [user], [longProcess], [stdoutCallback], [stderrCallback], [errorCallback], [closeCallback]) ⇒
Promise
|String
Runs a bash file on the default or specified istribution
⚠️ Make sure that the file uses Linux line endings (LF) and NOT Windows line endings (CRLF)- isInstalled(distribution) ⇒
Boolean
Checks if distribution is installed or exists
- isRunning(distribution) ⇒
Boolean
Checks if distribution is currently running
- isNotRunning(distribution) ⇒
Boolean
Checks if distribution is currently not running
- isAnyRunning() ⇒
Boolean
Checks if any distribution is currently running, can also use
const isAnyRunning = wsl.listRunning().length >= 1
- isInstalling(distribution) ⇒
Boolean
Checks if distribution is currently installing
- waitForRunning(distribution, [poll]) ⇒
Promise
Checks every poll interval and returns a promise when the distribution is running
- waitForNotRunning(distribution, [poll]) ⇒
Promise
Checks every poll interval and returns a promise when the distribution is not running
- waitForAllNotRunning([poll]) ⇒
Promise
Checks every poll interval and returns a promise when all distributions are not running
- waitForInstalling(distribution, [poll]) ⇒
Promise
Checks every poll interval and returns a promise when the distribution is installing
- ListObject :
Object
- ListOnlineObject :
Object
- ListVerboseObject :
Object
- StatusObject :
Object
Exports a specified distribution to a path/file name
Kind: global function
Returns: Promise
- resolves promise from execPromise
Throws:
TypeError
throws if distribution is not a string or path is not a stringError
throws if distribution could not be exported
Param | Type | Description |
---|---|---|
distribution | String |
distribution to export |
path | String |
path/file name to export to |
Example
const wsl = require('@endevr-io/wsl-api')
await wsl.exportDistribution('Ubuntu', 'C:\\endevr\\Ubuntu.tar.gz')
Imports a new distribution to a location from a path/file name
Kind: global function
Returns: Promise
- resolves promise from execPromise
Throws:
TypeError
throws if distribution is not a string or location is not a string or path is not a stringError
throws if distribution could not be imported
Param | Type | Description |
---|---|---|
distribution | String |
distribution to import |
location | String |
folder path to import to |
path | String |
path/file name to import from |
Example
const wsl = require('@endevr-io/wsl-api')
await wsl.importDistribution('Custom', 'C:\\endevr', 'C:\\endevr\\Ubuntu.tar.gz')
Install WSL and Ubuntu
Kind: global function
Returns: Promise
- resolves promise from execPromise
Throws:
Error
throws if WSL and Ubuntu could not be installed
Example
const wsl = require('@endevr-io/wsl-api')
await wsl.install()
Install official distribution
Kind: global function
Returns: Promise
- resolves promise from execPromise
Throws:
TypeError
throws if distribution is not a stringError
throws if distribution could not be installed
Param | Type | Description |
---|---|---|
distribution | String |
distribution to install |
Example
const wsl = require('@endevr-io/wsl-api')
await wsl.installDistribution('Ubuntu')
list([raw]) ⇒ Promise
| Array.<ListObject>
| String
| Null
Lists distributions
Kind: global function
Returns: Promise
| Array.<ListObject>
| String
| Null
- returns an array of distribution objects, a string of the raw output, or null
Throws:
TypeError
throws if raw is not a boolean
Param | Type | Default | Description |
---|---|---|---|
[raw] | Boolean |
false |
option to return a string of the raw output |
Example
const wsl = require('@endevr-io/wsl-api')
const list = await wsl.list()
console.log(list)
// [
// { name: 'Ubuntu', default: true },
// { name: 'Debian', default: false }
// ]
listAll([raw]) ⇒ Promise
| Array.<ListObject>
| String
| Null
Lists all distributions
Kind: global function
Returns: Promise
| Array.<ListObject>
| String
| Null
- returns an array of distribution objects, a string of the raw output, or null
Throws:
TypeError
throws if raw is not a boolean
Param | Type | Default | Description |
---|---|---|---|
[raw] | Boolean |
false |
option to return a string of the raw output |
Example
const wsl = require('@endevr-io/wsl-api')
const listAll = await wsl.listAll()
console.log(listAll)
// [
// { name: 'Ubuntu', default: true },
// { name: 'Debian', default: false }
// ]
listOnline([raw]) ⇒ Promise
| Array.<ListOnlineObject>
| String
| Null
Lists official online distributions that can be installed
Kind: global function
Returns: Promise
| Array.<ListOnlineObject>
| String
| Null
- returns an array of distribution objects, a string of the raw output, or null
Throws:
TypeError
throws if raw is not a booleanError
throws if unable to list online
Param | Type | Default | Description |
---|---|---|---|
[raw] | Boolean |
false |
option to return a string of the raw output |
Example
const wsl = require('@endevr-io/wsl-api')
const listOnline = await wsl.listOnline()
console.log(listOnline)
// [
// { name: 'Ubuntu', friendly: 'Ubuntu' },
// { name: 'Debian', friendly: 'Debian GNU/Linux' },
// { name: 'kali-linux', friendly: 'Kali Linux Rolling' },
// { name: 'openSUSE-42', friendly: 'openSUSE Leap 42' },
// { name: 'SLES-12', friendly: 'SUSE Linux Enterprise Server v12' },
// { name: 'Ubuntu-16.04', friendly: 'Ubuntu 16.04 LTS' },
// { name: 'Ubuntu-18.04', friendly: 'Ubuntu 18.04 LTS' },
// { name: 'Ubuntu-20.04', friendly: 'Ubuntu 20.04 LTS' }
// ]
Lists quiet distributions
Kind: global function
Returns: Promise
| Array.<String>
| String
| Null
- returns an array of distribution names, a string of the raw output, or null
Throws:
TypeError
throws if raw is not a boolean
Param | Type | Default | Description |
---|---|---|---|
[raw] | Boolean |
false |
option to return a string of the raw output |
Example
const wsl = require('@endevr-io/wsl-api')
const listQuiet = await wsl.listQuiet()
console.log(listQuiet)
// [ 'Ubuntu', 'Debian' ]
listRunning([raw]) ⇒ Promise
| Array.<ListObject>
| String
| Null
Lists running distributions
Kind: global function
Returns: Promise
| Array.<ListObject>
| String
| Null
- returns an array of distribution objects, a string of the raw output, or null
Throws:
TypeError
throws if raw is not a boolean
Param | Type | Default | Description |
---|---|---|---|
[raw] | Boolean |
false |
option to return a string of the raw output |
Example
const wsl = require('@endevr-io/wsl-api')
const listRunning = await wsl.listRunning()
console.log(listRunning)
// [ { name: 'Ubuntu', default: true } ]
listVerbose([raw]) ⇒ Promise
| Array.<ListVerboseObject>
| String
| Null
Lists verbose distributions
Kind: global function
Returns: Promise
| Array.<ListVerboseObject>
| String
| Null
- returns an array of distribution objects, a string of the raw output, or null
Throws:
TypeError
throws if raw is not a boolean
Param | Type | Default | Description |
---|---|---|---|
[raw] | Boolean |
false |
option to return a string of the raw output |
Example
const wsl = require('@endevr-io/wsl-api')
const listVerbose = await wsl.listVerbose()
console.log(listVerbose)
// [
// { default: true, name: 'Ubuntu', state: 'Stopped', version: 2 },
// { default: false, name: 'Debian', state: 'Stopped', version: 2 }
// ]
Mounts a disk to all distributions
Kind: global function
Returns: Promise
- resolves promise from execPromise
Throws:
TypeError
throws if path is not a string, name is not string or null, bare is not boolean, type is not string or null, partition is not number or null, or options is not a string or nullError
throws if disk could not be mounted
Param | Type | Default | Description |
---|---|---|---|
path | String |
disk path to mount | |
[name] | String | Null |
|
option to mount with name |
[bare] | Boolean |
false |
option to attach the drive but not mount it |
[type] | String | Null |
|
option to specify the filesystem type |
[partition] | Number | Null |
|
option to specify the partition ID |
[options] | String | Null |
|
option with the mounting options, they are already encased with "" |
Example
const wsl = require('@endevr-io/wsl-api')
await wsl.mount('\\\\.\\PHYSICALDRIVE3', 'F', false, null, null, 'data=ordered')
Runs a distribution with an optional user. The distribution will be attached to this process. Do not await a response
Kind: global function
Throws:
TypeError
throws if distribution is not a stringTypeError
throws if user is not a stringError
throws if the distribution could not be run
Param | Type | Default | Description |
---|---|---|---|
[distribution] | String | Null |
|
distribution to run, or the default if not specified |
[user] | String | Null |
|
the user to run as |
Example
const wsl = require('@endevr-io/wsl-api')
wsl.runDistribution('Ubuntu', 'endevr')
Runs a detached distribution with an optional user. The distribution will be detached from this process in it's own window
Kind: global function
Throws:
TypeError
throws if distribution is not a stringTypeError
throws if user is not a stringError
throws if the distribution could not be run detached
Param | Type | Default | Description |
---|---|---|---|
[distribution] | String | Null |
|
distribution to run, or the default if not specified |
[user] | String | Null |
|
the user to run as |
Example
const wsl = require('@endevr-io/wsl-api')
wsl.runDistributionDetached('Ubuntu', 'endevr')
Sets the default distribution
Kind: global function
Returns: Promise
- resolves promise from execPromise
Throws:
TypeError
throws if distribution is not a stringError
throws if default distribution could not be set
Param | Type | Description |
---|---|---|
distribution | String |
distribution to set |
Example
const wsl = require('@endevr-io/wsl-api')
await wsl.setDefaultDistribution('Ubuntu')
Sets the default WSL version
Kind: global function
Returns: Promise
- resolves promise from execPromise
Throws:
TypeError
throws if version is not a numberError
throws if version is not 1 or 2Error
throws if default version could not be set
Param | Type | Description |
---|---|---|
version | Number |
version to set |
Example
const wsl = require('@endevr-io/wsl-api')
await wsl.setDefaultVersion(2)
Sets the WSL version of a distribution
Kind: global function
Returns: Promise
- resolves promise from execPromise
Throws:
TypeError
throws if distribution is not a stringTypeError
throws if version is not a numberError
throws if version is not 1 or 2Error
throws if distribution version could not be set
Param | Type | Description |
---|---|---|
distribution | String |
distribution to set |
version | Number |
version to set |
Example
const wsl = require('@endevr-io/wsl-api')
await wsl.setVersion('Ubuntu', 2)
Shutdown all distributions
Kind: global function
Returns: Promise
- resolves promise from execPromise
Throws:
Error
throws if distributions could not be shutdown
Example
const wsl = require('@endevr-io/wsl-api')
await wsl.shutdown()
status([raw]) ⇒ Promise
| StatusObject
| String
| Null
Lists the status of WSL
Kind: global function
Returns: Promise
| StatusObject
| String
| Null
- returns a status object, a string of the raw output, or null
Throws:
TypeError
throws if raw is not a boolean
Param | Type | Default | Description |
---|---|---|---|
[raw] | Boolean |
false |
option to return a string of the raw output |
Example
const wsl = require('@endevr-io/wsl-api')
const status = await wsl.status()
console.log(status)
// {
// defaultDistribution: 'Ubuntu',
// defaultVersion: 2,
// lastUpdated: 2021-12-01T06:00:00.000Z,
// automaticUpdates: true,
// kernelVersion: '5.10.60.1'
// }
Terminates or stops specified distribution
Kind: global function
Returns: Promise
- resolves promise from execPromise
Throws:
TypeError
throws if distribution is not a stringError
throws if distribution could not be terminated
Param | Type | Description |
---|---|---|
distribution | String |
distribution to terminate |
Example
const wsl = require('@endevr-io/wsl-api')
await wsl.terminate('Ubuntu')
Unmounts a disk to all distributions
Kind: global function
Returns: Promise
- resolves promise from execPromise
Throws:
TypeError
throws if path is not a stringError
throws if disk could not be unmounted
Param | Type | Description |
---|---|---|
path | String |
disk path to unmount |
Example
const wsl = require('@endevr-io/wsl-api')
await wsl.unmount('\\\\.\\PHYSICALDRIVE3')
Unregisters or uninstalls specified distribution
Kind: global function
Returns: Promise
- resolves promise from execPromise
Throws:
TypeError
throws if distribution is not a stringError
throws if distribution could not be unregistered
Param | Type | Description |
---|---|---|
distribution | String |
distribution to unregister |
Example
const wsl = require('@endevr-io/wsl-api')
await wsl.unregister('Ubuntu')
Update the WSL kernel
Kind: global function
Returns: Promise
- resolves promise from execPromise
Throws:
TypeError
throws if rollback is not a booleanError
throws if unable to update WSL
Param | Type | Default | Description |
---|---|---|---|
[rollback] | Boolean |
false |
option to rollback to previous version |
Example
const wsl = require('@endevr-io/wsl-api')
await wsl.update()
Checks if WSL is supported in the OS, must be Windows 10 build >= 19041 or Windows 11
Kind: global function
Returns: Boolean
- returns truthy of is WSL supported or false on error
Example
const wsl = require('@endevr-io/wsl-api')
const isSupported = wsl.isSupported()
console.log(isSupported)
// true
runBashCommand(command, [longProcess], [stdoutCallback], [stderrCallback], [errorCallback], [closeCallback]) ⇒ Promise
| String
Promise
| String
Deprecated
Runs a bash command on the default distribution
Kind: global function
Returns: Promise
| String
- returns promise from spawnBashPromise if longProcess is true or string from execPromise if longProcess is false
Param | Type | Default | Description |
---|---|---|---|
command | String |
command to run, already is wrapped with "" | |
[longProcess] | Boolean |
false |
option if to run a process with a single response or a long running process with callbacks for the response |
[stdoutCallback] | function | Boolean |
false |
optional callback for the stdout event, longProcess must be true, returns a buffer |
[stderrCallback] | function | Boolean |
false |
optional callback for the stderr event, longProcess must be true, returns a buffer |
[errorCallback] | function | Boolean |
false |
optional callback for the error event, longProcess must be true, returns a buffer |
[closeCallback] | function | Boolean |
false |
optional callback for the close event, longProcess must be true, returns a close code |
Example
const wsl = require('@endevr-io/wsl-api')
const ls = await wsl.runBashCommand('ls')
console.log(ls)
function callback (data) {
console.log(data.toString())
}
await wsl.runBashCommand('apt update', true, callback)
runBashFile(path, [longProcess], [stdoutCallback], [stderrCallback], [errorCallback], [closeCallback]) ⇒ Promise
| String
Promise
| String
Deprecated
Runs a bash file on the default distribution
⚠️ Make sure that the file uses Linux line endings (LF) and NOT Windows line endings (CRLF)
Kind: global function
Returns: Promise
| String
- returns promise from spawnBashPromise if longProcess is true or string from execPromise if longProcess is false
Param | Type | Default | Description |
---|---|---|---|
path | String |
path to the file in WSL/Linux format, ie /mnt/c/Path/To/File or /home/user/path/to/file |
|
[longProcess] | Boolean |
false |
option if to run a process with a single response or a long running process with callbacks for the response |
[stdoutCallback] | function | Boolean |
false |
optional callback for the stdout event, returns a buffer |
[stderrCallback] | function | Boolean |
false |
optional callback for the stderr event, returns a buffer |
[errorCallback] | function | Boolean |
false |
optional callback for the error event, returns a buffer |
[closeCallback] | function | Boolean |
false |
optional callback for the close event, returns a close code |
Example
const wsl = require('@endevr-io/wsl-api')
const short = await wsl.runBashFile('/mnt/c/shortprocess.sh')
console.log(short)
function callback (data) {
console.log(data.toString())
}
await wsl.runBashFile('/mnt/c/longprocess.sh', true, callback)
runWSLCommand(command, [distribution], [user], [longProcess], [stdoutCallback], [stderrCallback], [errorCallback], [closeCallback]) ⇒ Promise
| String
Runs a command on the default or specified distribution. Must be a simple single command. Use runBashCommand
for multiple or complex commands or run a bash file with runWSLFile
or runBashFile
Kind: global function
Returns: Promise
| String
- returns promise from spawnBashPromise if longProcess is true or string from execPromise if longProcess is false
Param | Type | Default | Description |
---|---|---|---|
command | String |
command to run, already is wrapped with "" | |
[distribution] | String | Null |
|
option to specify the distribution or use the default distribution |
[user] | String | Null |
|
option to specify the user or use the default user |
[longProcess] | Boolean |
false |
option if to run a process with a single response or a long running process with callbacks for the response |
[stdoutCallback] | function | Boolean |
false |
optional callback for the stdout event, returns a buffer |
[stderrCallback] | function | Boolean |
false |
optional callback for the stderr event, returns a buffer |
[errorCallback] | function | Boolean |
false |
optional callback for the error event, returns a buffer |
[closeCallback] | function | Boolean |
false |
optional callback for the close event, returns a close code |
Example
const wsl = require('@endevr-io/wsl-api')
const ls = await wsl.runWSLCommand('ls', 'Ubuntu', 'endevr')
console.log(ls)
function callback (data) {
console.log(data.toString())
}
await wsl.runWSLCommand('apt update', 'Ubuntu', 'endevr', true, callback)
runWSLFile(path, [distribution], [user], [longProcess], [stdoutCallback], [stderrCallback], [errorCallback], [closeCallback]) ⇒ Promise
| String
Runs a bash file on the default or specified istribution
⚠️ Make sure that the file uses Linux line endings (LF) and NOT Windows line endings (CRLF)
Kind: global function
Returns: Promise
| String
- returns promise from spawnBashPromise if longProcess is true or string from execPromise if longProcess is false
Param | Type | Default | Description |
---|---|---|---|
path | String |
path to the file in WSL/Linux format, ie /mnt/c/Path/To/File or /home/user/path/to/file |
|
[distribution] | String | Null |
|
option to specify the distribution or use the default distribution |
[user] | String | Null |
|
option to specify the user or use the default user |
[longProcess] | Boolean |
false |
option if to run a process with a single response or a long running process with callbacks for the response |
[stdoutCallback] | function | Boolean |
false |
optional callback for the stdout event, returns a buffer |
[stderrCallback] | function | Boolean |
false |
optional callback for the stderr event, returns a buffer |
[errorCallback] | function | Boolean |
false |
optional callback for the error event, returns a buffer |
[closeCallback] | function | Boolean |
false |
optional callback for the close event, returns a close code |
Example
const wsl = require('@endevr-io/wsl-api')
const short = await wsl.runWSLFile('/mnt/c/shortprocess.sh', 'Ubuntu', 'endevr')
console.log(short)
function callback (data) {
console.log(data.toString())
}
await wsl.runWSLFile('/mnt/c/longprocess.sh', 'Ubuntu', 'endevr', true, callback)
Checks if distribution is installed or exists
Kind: global function
Returns: Boolean
- returns truthy of if the distribution exists
Throws:
TypeError
throws if distribution is not a string
Param | Type | Description |
---|---|---|
distribution | String |
distribution to check for installed |
Example
const wsl = require('@endevr-io/wsl-api')
const isInstalled = await wsl.isInstalled('Ubuntu')
console.log(isInstalled)
// true
Checks if distribution is currently running
Kind: global function
Returns: Boolean
- returns truthy of if the distribution is running
Throws:
TypeError
throws if distribution is not a string
Param | Type | Description |
---|---|---|
distribution | String |
distribution to check for running |
Example
const wsl = require('@endevr-io/wsl-api')
const isRunning = await wsl.isRunning('Ubuntu')
console.log(isRunning)
// false
Checks if distribution is currently not running
Kind: global function
Returns: Boolean
- returns truthy of if the distribution is not running
Throws:
TypeError
throws if distribution is not a string
Param | Type | Description |
---|---|---|
distribution | String |
distribution to check for not running |
Example
const wsl = require('@endevr-io/wsl-api')
const isNotRunning = await wsl.isNotRunning('Ubuntu')
console.log(isNotRunning)
// true
Checks if any distribution is currently running, can also use const isAnyRunning = wsl.listRunning().length >= 1
Kind: global function
Returns: Boolean
- returns truthy of if any distribution is running
Example
const wsl = require('@endevr-io/wsl-api')
const isAnyRunning = await wsl.isAnyRunning('Ubuntu')
console.log(isAnyRunning)
// true
Checks if distribution is currently installing
Kind: global function
Returns: Boolean
- returns truthy of if the distribution is installing
Throws:
TypeError
throws if distribution is not a string
Param | Type | Description |
---|---|---|
distribution | String |
distribution to check for installing |
Example
const wsl = require('@endevr-io/wsl-api')
const isInstalling = await wsl.isInstalling('Ubuntu')
console.log(isInstalling)
// false
Checks every poll interval and returns a promise when the distribution is running
Kind: global function
Returns: Promise
- returns when the distribution is running
Throws:
TypeError
throws if distribution is not a string or poll is not a number
Param | Type | Default | Description |
---|---|---|---|
distribution | String |
distribution to wait for running | |
[poll] | Number |
1000 |
option poll interval |
Example
const wsl = require('@endevr-io/wsl-api')
wsl.runDistribution('Ubuntu', 'endevr')
await wsl.waitForRunning('Ubuntu')
console.log('Ubuntu has started')
// Ubuntu has started
Checks every poll interval and returns a promise when the distribution is not running
Kind: global function
Returns: Promise
- returns when the distribution is not running
Throws:
TypeError
throws if distribution is not a string or poll is not a number
Param | Type | Default | Description |
---|---|---|---|
distribution | String |
distribution to wait for not running | |
[poll] | Number |
1000 |
option poll interval |
Example
const wsl = require('@endevr-io/wsl-api')
await wsl.terminate('Ubuntu')
await wsl.waitForNotRunning('Ubuntu')
console.log('Ubuntu has stopped')
// Ubuntu has stopped
Checks every poll interval and returns a promise when all distributions are not running
Kind: global function
Returns: Promise
- returns when the distribution is not running
Throws:
TypeError
throws if distribution is not a string or poll is not a number
Param | Type | Default | Description |
---|---|---|---|
[poll] | Number |
1000 |
option poll interval |
Example
const wsl = require('@endevr-io/wsl-api')
wsl.runDistribution('Ubuntu', 'endevr')
await wsl.terminate('Ubuntu')
await wsl.waitForAllNotRunning()
console.log('All distributions have stopped')
// All distributions have stopped
Checks every poll interval and returns a promise when the distribution is installing
Kind: global function
Returns: Promise
- returns when the distribution is installing
Throws:
TypeError
throws if distribution is not a string or poll is not a number
Param | Type | Default | Description |
---|---|---|---|
distribution | String |
distribution to wait for installing | |
[poll] | Number |
1000 |
option poll interval |
Example
const wsl = require('@endevr-io/wsl-api')
await wsl.installDistribution('Ubuntu')
await wsl.waitForInstalling('Ubuntu')
console.log('Ubuntu is installing')
// Ubuntu is installing
Kind: global typedef
Properties
Name | Type |
---|---|
name | String |
default | Boolean |
Kind: global typedef
Properties
Name | Type |
---|---|
name | String |
friendly | String |
Kind: global typedef
Properties
Name | Type |
---|---|
default | Boolean |
name | String |
state | String |
version | Number |
Kind: global typedef
Properties
Name | Type |
---|---|
defaultDistribution | String |
defaultVersion | Number |
lastUpdated | Date |
automaticUpdates | Boolean |
kernelVersion | String |
Pull requests are welcome for bug fixes or feature requests.
Support this project and possibly other open-source projects by becoming a sponsor. Higher tier sponsor will appear here with a logo and link to your website. Become a sponsor