FRE-709: Document duplicate recovery wake - FRE-635 already recovered via FRE-708
This commit is contained in:
13
node_modules/bare-os/CMakeLists.txt
generated
vendored
Normal file
13
node_modules/bare-os/CMakeLists.txt
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
cmake_minimum_required(VERSION 3.25)
|
||||
|
||||
find_package(cmake-bare REQUIRED PATHS node_modules/cmake-bare)
|
||||
|
||||
project(bare_os C)
|
||||
|
||||
add_bare_module(bare_os)
|
||||
|
||||
target_sources(
|
||||
${bare_os}
|
||||
PRIVATE
|
||||
binding.c
|
||||
)
|
||||
201
node_modules/bare-os/LICENSE
generated
vendored
Normal file
201
node_modules/bare-os/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,201 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
252
node_modules/bare-os/README.md
generated
vendored
Normal file
252
node_modules/bare-os/README.md
generated
vendored
Normal file
@@ -0,0 +1,252 @@
|
||||
# bare-os
|
||||
|
||||
Operating system utilities for Bare. The API closely follows that of the Node.js `os` module.
|
||||
|
||||
```
|
||||
npm i bare-os
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
const os = require('bare-os')
|
||||
|
||||
console.log(os.platform()) // 'darwin', 'linux', 'win32', ...
|
||||
console.log(os.arch()) // 'arm64', 'x64', ...
|
||||
console.log(os.homedir())
|
||||
console.log(os.tmpdir())
|
||||
console.log(os.hostname())
|
||||
console.log(os.networkInterfaces())
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
#### `os.constants`
|
||||
|
||||
An object containing the following properties:
|
||||
|
||||
- `signals` - Signal constants such as `SIGTERM` and `SIGKILL`.
|
||||
- `errnos` - Error number constants.
|
||||
- `priority` - Process priority constants.
|
||||
|
||||
These are also available as a separate module:
|
||||
|
||||
```js
|
||||
const constants = require('bare-os/constants')
|
||||
```
|
||||
|
||||
#### `os.EOL`
|
||||
|
||||
The platform-specific end-of-line marker. `'\r\n'` on Windows, `'\n'` everywhere else.
|
||||
|
||||
#### `os.devNull`
|
||||
|
||||
The platform-specific path to the null device. `'\\\\.\\nul'` on Windows, `'/dev/null'` everywhere else.
|
||||
|
||||
#### `const p = os.platform()`
|
||||
|
||||
Returns the operating system platform as a string. Possible values include `'android'`, `'darwin'`, `'ios'`, `'linux'`, and `'win32'`.
|
||||
|
||||
#### `const a = os.arch()`
|
||||
|
||||
Returns the CPU architecture as a string. Possible values include `'arm'`, `'arm64'`, `'ia32'`, and `'x64'`.
|
||||
|
||||
#### `const t = os.type()`
|
||||
|
||||
Returns the operating system name as returned by `uname(3)`.
|
||||
|
||||
#### `const v = os.version()`
|
||||
|
||||
Returns the operating system version.
|
||||
|
||||
#### `const r = os.release()`
|
||||
|
||||
Returns the operating system release.
|
||||
|
||||
#### `const m = os.machine()`
|
||||
|
||||
Returns the machine type as a string.
|
||||
|
||||
#### `const p = os.execPath()`
|
||||
|
||||
Returns the absolute path of the executable that started the process.
|
||||
|
||||
#### `const id = os.pid()`
|
||||
|
||||
Returns the process ID.
|
||||
|
||||
#### `const id = os.ppid()`
|
||||
|
||||
Returns the parent process ID.
|
||||
|
||||
#### `const dir = os.cwd()`
|
||||
|
||||
Returns the current working directory.
|
||||
|
||||
#### `os.chdir(dir)`
|
||||
|
||||
Changes the current working directory to `dir`.
|
||||
|
||||
#### `const dir = os.tmpdir()`
|
||||
|
||||
Returns the operating system's default directory for temporary files.
|
||||
|
||||
#### `const dir = os.homedir()`
|
||||
|
||||
Returns the home directory of the current user.
|
||||
|
||||
#### `const name = os.hostname()`
|
||||
|
||||
Returns the hostname of the operating system.
|
||||
|
||||
#### `const interfaces = os.networkInterfaces()`
|
||||
|
||||
Returns an object containing network interfaces that have been assigned a network address. Each key on the returned object identifies a network interface. The associated value is an array of objects with the following properties:
|
||||
|
||||
- `address` - The assigned IPv4 or IPv6 address.
|
||||
- `netmask` - The IPv4 or IPv6 network mask.
|
||||
- `family` - Either `'IPv4'` or `'IPv6'`.
|
||||
- `cidr` - The assigned IPv4 or IPv6 address with the routing prefix in CIDR notation.
|
||||
- `mac` - The MAC address of the network interface.
|
||||
- `internal` - `true` if the network interface is a loopback or similar interface that is not remotely accessible; otherwise `false`.
|
||||
- `scopeid` - The numeric IPv6 scope ID. Only specified when `family` is `'IPv6'`.
|
||||
|
||||
#### `os.kill(pid[, signal])`
|
||||
|
||||
Sends `signal` to the process identified by `pid`. `signal` can be a string or a number. Defaults to `'SIGTERM'`.
|
||||
|
||||
#### `const info = os.userInfo([uid])`
|
||||
|
||||
Returns information about a current user. The `uid` value defaults to the current effective uid. The returned object has the following properties:
|
||||
|
||||
- `uid` - The user ID.
|
||||
- `gid` - The group ID.
|
||||
- `username` - The username.
|
||||
- `homedir` - The home directory.
|
||||
- `shell` - The shell, or `null` if unavailable.
|
||||
|
||||
#### `const info = os.groupInfo([gid])`
|
||||
|
||||
Returns information about a group. The `gid` value defaults to the effective group ID of the calling process. The returned object has the following properties:
|
||||
|
||||
- `groupname` - The group name.
|
||||
- `gid` - The group ID.
|
||||
- `members` - List with the names of group members.
|
||||
|
||||
#### `const e = os.endianness()`
|
||||
|
||||
Returns `'LE'` on little-endian systems and `'BE'` on big-endian systems.
|
||||
|
||||
#### `const n = os.availableParallelism()`
|
||||
|
||||
Returns the number of logical CPU cores available to the process.
|
||||
|
||||
#### `const usage = os.cpuUsage([previous])`
|
||||
|
||||
Returns an object with `user` and `system` properties, each representing CPU time in microseconds. If `previous` is provided, the returned values are relative to it.
|
||||
|
||||
#### `const usage = os.threadCpuUsage([previous])`
|
||||
|
||||
Like `os.cpuUsage()` but for the current thread only.
|
||||
|
||||
#### `const usage = os.resourceUsage()`
|
||||
|
||||
Returns an object describing the resource usage of the current process. The returned object has the following properties:
|
||||
|
||||
- `userCPUTime` - User CPU time in microseconds.
|
||||
- `systemCPUTime` - System CPU time in microseconds.
|
||||
- `maxRSS` - Maximum resident set size in bytes.
|
||||
- `sharedMemorySize` - Shared memory size.
|
||||
- `unsharedDataSize` - Unshared data size.
|
||||
- `unsharedStackSize` - Unshared stack size.
|
||||
- `minorPageFault` - Minor page faults.
|
||||
- `majorPageFault` - Major page faults.
|
||||
- `swappedOut` - Swap count.
|
||||
- `fsRead` - File system reads.
|
||||
- `fsWrite` - File system writes.
|
||||
- `ipcSent` - IPC messages sent.
|
||||
- `ipcReceived` - IPC messages received.
|
||||
- `signalsCount` - Signals received.
|
||||
- `voluntaryContextSwitches` - Voluntary context switches.
|
||||
- `involuntaryContextSwitches` - Involuntary context switches.
|
||||
|
||||
#### `const usage = os.memoryUsage()`
|
||||
|
||||
Returns an object describing the memory usage of the process. The returned object has the following properties:
|
||||
|
||||
- `rss` - Resident set size in bytes.
|
||||
- `heapTotal` - Total heap size in bytes.
|
||||
- `heapUsed` - Used heap size in bytes.
|
||||
- `external` - Memory usage of C++ objects bound to JavaScript objects.
|
||||
|
||||
#### `const bytes = os.freemem()`
|
||||
|
||||
Returns the amount of free system memory in bytes.
|
||||
|
||||
#### `const bytes = os.totalmem()`
|
||||
|
||||
Returns the total amount of system memory in bytes.
|
||||
|
||||
#### `const bytes = os.availableMemory()`
|
||||
|
||||
Returns an estimate of the amount of memory available for the process in bytes.
|
||||
|
||||
#### `const bytes = os.constrainedMemory()`
|
||||
|
||||
Returns the amount of memory available to the process under resource constraints, such as cgroups.
|
||||
|
||||
#### `const seconds = os.uptime()`
|
||||
|
||||
Returns the system uptime in seconds.
|
||||
|
||||
#### `const avgs = os.loadavg()`
|
||||
|
||||
Returns an array containing the 1, 5, and 15 minute load averages.
|
||||
|
||||
#### `const list = os.cpus()`
|
||||
|
||||
Returns an array of objects describing each logical CPU core. Each object has the following properties:
|
||||
|
||||
- `model` - The CPU model.
|
||||
- `speed` - The CPU speed in MHz.
|
||||
- `times` - An object with `user`, `nice`, `sys`, `idle`, and `irq` CPU time values in milliseconds.
|
||||
|
||||
#### `const title = os.getProcessTitle()`
|
||||
|
||||
Returns the current process title.
|
||||
|
||||
#### `os.setProcessTitle(title)`
|
||||
|
||||
Sets the process title. `title` is coerced to a string and must be shorter than 256 characters.
|
||||
|
||||
#### `const priority = os.getPriority([pid])`
|
||||
|
||||
Returns the scheduling priority of the process specified by `pid`. Defaults to `0`, meaning the current process.
|
||||
|
||||
#### `os.setPriority([pid, ]priority)`
|
||||
|
||||
Sets the scheduling priority of the process specified by `pid`. If `pid` is omitted, the priority of the current process is set.
|
||||
|
||||
#### `const keys = os.getEnvKeys()`
|
||||
|
||||
Returns an array of the names of all environment variables.
|
||||
|
||||
#### `const value = os.getEnv(name)`
|
||||
|
||||
Returns the value of the environment variable `name`, or `undefined` if it is not set.
|
||||
|
||||
#### `const exists = os.hasEnv(name)`
|
||||
|
||||
Returns `true` if the environment variable `name` is set, otherwise `false`.
|
||||
|
||||
#### `os.setEnv(name, value)`
|
||||
|
||||
Sets the environment variable `name` to `value`.
|
||||
|
||||
#### `os.unsetEnv(name)`
|
||||
|
||||
Removes the environment variable `name`.
|
||||
|
||||
## License
|
||||
|
||||
Apache-2.0
|
||||
1538
node_modules/bare-os/binding.c
generated
vendored
Normal file
1538
node_modules/bare-os/binding.c
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
node_modules/bare-os/binding.js
generated
vendored
Normal file
1
node_modules/bare-os/binding.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
module.exports = require.addon()
|
||||
151
node_modules/bare-os/index.d.ts
generated
vendored
Normal file
151
node_modules/bare-os/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,151 @@
|
||||
export const constants: {
|
||||
signals: Record<string, number>
|
||||
errnos: Record<string, number>
|
||||
priority: Record<string, number>
|
||||
}
|
||||
|
||||
export const EOL: '\r\n' | '\n'
|
||||
|
||||
export const devNull: '\\\\.\\nul' | '/dev/null'
|
||||
|
||||
export function platform(): 'android' | 'darwin' | 'ios' | 'linux' | 'win32'
|
||||
|
||||
export function arch(): 'arm' | 'arm64' | 'ia32' | 'x64'
|
||||
|
||||
export function type(): string
|
||||
|
||||
export function version(): string
|
||||
|
||||
export function release(): string
|
||||
|
||||
export function machine(): string
|
||||
|
||||
export function execPath(): string
|
||||
|
||||
export function pid(): number
|
||||
|
||||
export function ppid(): number
|
||||
|
||||
export function cwd(): string
|
||||
|
||||
export function chdir(dir: string): string
|
||||
|
||||
export function tmpdir(): string
|
||||
|
||||
export function homedir(): string
|
||||
|
||||
export function hostname(): string
|
||||
|
||||
export interface NetworkInterface {
|
||||
address: string
|
||||
netmask: string
|
||||
family: 'IPv4' | 'IPv6'
|
||||
cidr: string
|
||||
mac: string
|
||||
internal: boolean
|
||||
scopeid?: number
|
||||
}
|
||||
|
||||
export function networkInterfaces(): Record<string, NetworkInterface[]>
|
||||
|
||||
export function kill(pid: number, signal?: string | number): void
|
||||
|
||||
export interface UserInfo {
|
||||
uid: number
|
||||
gid: number
|
||||
username: string
|
||||
homedir: string
|
||||
shell: string | null
|
||||
}
|
||||
|
||||
export function userInfo(uid?: number): UserInfo
|
||||
|
||||
export interface GroupInfo {
|
||||
groupname: string
|
||||
gid: number
|
||||
members: string[]
|
||||
}
|
||||
|
||||
export function groupInfo(gid?: number): GroupInfo | null
|
||||
|
||||
export function endianness(): 'LE' | 'BE'
|
||||
|
||||
export function availableParallelism(): number
|
||||
|
||||
export interface CpuUsage {
|
||||
user: number
|
||||
system: number
|
||||
}
|
||||
|
||||
export function cpuUsage(previous?: CpuUsage): CpuUsage
|
||||
|
||||
export function threadCpuUsage(previous?: CpuUsage): CpuUsage
|
||||
|
||||
export function resourceUsage(): {
|
||||
userCPUTime: number
|
||||
systemCPUTime: number
|
||||
maxRSS: number
|
||||
sharedMemorySize: number
|
||||
unsharedDataSize: number
|
||||
unsharedStackSize: number
|
||||
minorPageFault: number
|
||||
majorPageFault: number
|
||||
swappedOut: number
|
||||
fsRead: number
|
||||
fsWrite: number
|
||||
ipcSent: number
|
||||
ipcReceived: number
|
||||
signalsCount: number
|
||||
voluntaryContextSwitches: number
|
||||
involuntaryContextSwitches: number
|
||||
}
|
||||
|
||||
export function memoryUsage(): {
|
||||
rss: number
|
||||
heapTotal: number
|
||||
heapUsed: number
|
||||
external: number
|
||||
}
|
||||
|
||||
export function freemem(): number
|
||||
|
||||
export function totalmem(): number
|
||||
|
||||
export function availableMemory(): number
|
||||
|
||||
export function constrainedMemory(): number
|
||||
|
||||
export function uptime(): number
|
||||
|
||||
export function loadavg(): ArrayLike<number>
|
||||
|
||||
export function cpus(): {
|
||||
model: string
|
||||
speed: number
|
||||
times: {
|
||||
user: number
|
||||
nice: number
|
||||
sys: number
|
||||
idle: number
|
||||
irq: number
|
||||
}
|
||||
}[]
|
||||
|
||||
export function getProcessTitle(): string
|
||||
|
||||
export function setProcessTitle(title: unknown): void
|
||||
|
||||
export function getPriority(pid?: number): number
|
||||
|
||||
export function setPriority(priority: number): void
|
||||
export function setPriority(pid: number, priority: number): void
|
||||
|
||||
export function getEnvKeys(): string[]
|
||||
|
||||
export function getEnv(name: string): string | undefined
|
||||
|
||||
export function hasEnv(name: string): boolean
|
||||
|
||||
export function setEnv(name: string, value: string): void
|
||||
|
||||
export function unsetEnv(name: string): void
|
||||
130
node_modules/bare-os/index.js
generated
vendored
Normal file
130
node_modules/bare-os/index.js
generated
vendored
Normal file
@@ -0,0 +1,130 @@
|
||||
const binding = require('./binding')
|
||||
const errors = require('./lib/errors')
|
||||
const constants = require('./lib/constants')
|
||||
|
||||
exports.constants = constants
|
||||
|
||||
exports.EOL = binding.platform === 'win32' ? '\r\n' : '\n'
|
||||
|
||||
exports.devNull = binding.platform === 'win32' ? '\\\\.\\nul' : '/dev/null'
|
||||
|
||||
exports.platform = function platform() {
|
||||
return binding.platform
|
||||
}
|
||||
|
||||
exports.arch = function arch() {
|
||||
return binding.arch
|
||||
}
|
||||
|
||||
exports.type = binding.type
|
||||
exports.version = binding.version
|
||||
exports.release = binding.release
|
||||
exports.machine = binding.machine
|
||||
exports.execPath = binding.execPath
|
||||
exports.pid = binding.pid
|
||||
exports.ppid = binding.ppid
|
||||
exports.cwd = binding.cwd
|
||||
exports.chdir = binding.chdir
|
||||
exports.tmpdir = binding.tmpdir
|
||||
exports.homedir = binding.homedir
|
||||
exports.hostname = binding.hostname
|
||||
exports.userInfo = binding.userInfo
|
||||
exports.groupInfo = binding.groupInfo
|
||||
|
||||
exports.networkInterfaces = function networkInterfaces() {
|
||||
const result = {}
|
||||
|
||||
for (const entry of binding.networkInterfaces()) {
|
||||
const { name, ...properties } = entry
|
||||
|
||||
if (result[name]) result[name].push(properties)
|
||||
else result[name] = [properties]
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
exports.kill = function kill(pid, signal = constants.signals.SIGTERM) {
|
||||
if (typeof signal === 'string') {
|
||||
if (signal in constants.signals === false) {
|
||||
throw errors.UNKNOWN_SIGNAL('Unknown signal: ' + signal)
|
||||
}
|
||||
|
||||
signal = constants.signals[signal]
|
||||
}
|
||||
|
||||
binding.kill(pid, signal)
|
||||
}
|
||||
|
||||
exports.endianness = function endianness() {
|
||||
return binding.isLittleEndian ? 'LE' : 'BE'
|
||||
}
|
||||
|
||||
exports.availableParallelism = binding.availableParallelism
|
||||
|
||||
exports.cpuUsage = function cpuUsage(previous) {
|
||||
const current = binding.cpuUsage()
|
||||
|
||||
if (previous) {
|
||||
return {
|
||||
user: current.user - previous.user,
|
||||
system: current.system - previous.system
|
||||
}
|
||||
}
|
||||
|
||||
return current
|
||||
}
|
||||
|
||||
exports.threadCpuUsage = function threadCpuUsage(previous) {
|
||||
const current = binding.threadCpuUsage()
|
||||
|
||||
if (previous) {
|
||||
return {
|
||||
user: current.user - previous.user,
|
||||
system: current.system - previous.system
|
||||
}
|
||||
}
|
||||
|
||||
return current
|
||||
}
|
||||
|
||||
exports.resourceUsage = binding.resourceUsage
|
||||
exports.memoryUsage = binding.memoryUsage
|
||||
exports.freemem = binding.freemem
|
||||
exports.totalmem = binding.totalmem
|
||||
exports.availableMemory = binding.availableMemory
|
||||
exports.constrainedMemory = binding.constrainedMemory
|
||||
exports.uptime = binding.uptime
|
||||
exports.loadavg = binding.loadavg
|
||||
exports.cpus = binding.cpus
|
||||
|
||||
exports.getProcessTitle = binding.getProcessTitle
|
||||
|
||||
exports.setProcessTitle = function setProcessTitle(title) {
|
||||
if (typeof title !== 'string') title = title.toString()
|
||||
|
||||
if (title.length >= 256) {
|
||||
throw errors.TITLE_OVERFLOW('Process title is too long')
|
||||
}
|
||||
|
||||
binding.setProcessTitle(title)
|
||||
}
|
||||
|
||||
exports.getPriority = function getPriority(pid = 0) {
|
||||
return binding.getPriority(pid)
|
||||
}
|
||||
|
||||
exports.setPriority = function setPriority(pid, priority) {
|
||||
if (priority === undefined) {
|
||||
priority = pid
|
||||
pid = 0
|
||||
}
|
||||
|
||||
binding.setPriority(pid, priority)
|
||||
}
|
||||
|
||||
exports.getEnvKeys = binding.getEnvKeys
|
||||
exports.getEnv = binding.getEnv
|
||||
exports.hasEnv = binding.hasEnv
|
||||
exports.setEnv = binding.setEnv
|
||||
exports.unsetEnv = binding.unsetEnv
|
||||
7
node_modules/bare-os/lib/constants.js
generated
vendored
Normal file
7
node_modules/bare-os/lib/constants.js
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
const binding = require('../binding')
|
||||
|
||||
module.exports = {
|
||||
signals: binding.signals,
|
||||
errnos: binding.errnos,
|
||||
priority: binding.priority
|
||||
}
|
||||
22
node_modules/bare-os/lib/errors.js
generated
vendored
Normal file
22
node_modules/bare-os/lib/errors.js
generated
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
module.exports = class OSError extends Error {
|
||||
constructor(msg, code, fn = OSError) {
|
||||
super(`${code}: ${msg}`)
|
||||
this.code = code
|
||||
|
||||
if (Error.captureStackTrace) {
|
||||
Error.captureStackTrace(this, fn)
|
||||
}
|
||||
}
|
||||
|
||||
get name() {
|
||||
return 'OSError'
|
||||
}
|
||||
|
||||
static UNKNOWN_SIGNAL(msg) {
|
||||
return new OSError(msg, 'UNKNOWN_SIGNAL', OSError.UNKNOWN_SIGNAL)
|
||||
}
|
||||
|
||||
static TITLE_OVERFLOW(msg) {
|
||||
return new OSError(msg, 'TITLE_OVERFLOW', OSError.TITLE_OVERFLOW)
|
||||
}
|
||||
}
|
||||
49
node_modules/bare-os/package.json
generated
vendored
Normal file
49
node_modules/bare-os/package.json
generated
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
{
|
||||
"name": "bare-os",
|
||||
"version": "3.9.0",
|
||||
"description": "Operating system utilities for Bare",
|
||||
"exports": {
|
||||
".": {
|
||||
"types": "./index.d.ts",
|
||||
"default": "./index.js"
|
||||
},
|
||||
"./package": "./package.json",
|
||||
"./constants": "./lib/constants.js",
|
||||
"./errors": "./lib/errors.js"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"index.d.ts",
|
||||
"binding.c",
|
||||
"binding.js",
|
||||
"CMakeLists.txt",
|
||||
"lib",
|
||||
"prebuilds"
|
||||
],
|
||||
"addon": true,
|
||||
"scripts": {
|
||||
"format": "prettier --write . && lunte --fix",
|
||||
"lint": "prettier --check . && lunte",
|
||||
"test": "brittle-bare --coverage test.js"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/holepunchto/bare-os.git"
|
||||
},
|
||||
"author": "Holepunch",
|
||||
"license": "Apache-2.0",
|
||||
"bugs": {
|
||||
"url": "https://github.com/holepunchto/bare-os/issues"
|
||||
},
|
||||
"homepage": "https://github.com/holepunchto/bare-os#readme",
|
||||
"engines": {
|
||||
"bare": ">=1.14.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"brittle": "^3.1.1",
|
||||
"cmake-bare": "^1.1.6",
|
||||
"lunte": "^1.6.0",
|
||||
"prettier": "^3.4.2",
|
||||
"prettier-config-holepunch": "^2.0.0"
|
||||
}
|
||||
}
|
||||
BIN
node_modules/bare-os/prebuilds/android-arm/bare-os.bare
generated
vendored
Normal file
BIN
node_modules/bare-os/prebuilds/android-arm/bare-os.bare
generated
vendored
Normal file
Binary file not shown.
BIN
node_modules/bare-os/prebuilds/android-arm64/bare-os.bare
generated
vendored
Normal file
BIN
node_modules/bare-os/prebuilds/android-arm64/bare-os.bare
generated
vendored
Normal file
Binary file not shown.
BIN
node_modules/bare-os/prebuilds/android-ia32/bare-os.bare
generated
vendored
Normal file
BIN
node_modules/bare-os/prebuilds/android-ia32/bare-os.bare
generated
vendored
Normal file
Binary file not shown.
BIN
node_modules/bare-os/prebuilds/android-x64/bare-os.bare
generated
vendored
Normal file
BIN
node_modules/bare-os/prebuilds/android-x64/bare-os.bare
generated
vendored
Normal file
Binary file not shown.
BIN
node_modules/bare-os/prebuilds/darwin-arm64/bare-os.bare
generated
vendored
Normal file
BIN
node_modules/bare-os/prebuilds/darwin-arm64/bare-os.bare
generated
vendored
Normal file
Binary file not shown.
BIN
node_modules/bare-os/prebuilds/darwin-x64/bare-os.bare
generated
vendored
Normal file
BIN
node_modules/bare-os/prebuilds/darwin-x64/bare-os.bare
generated
vendored
Normal file
Binary file not shown.
BIN
node_modules/bare-os/prebuilds/ios-arm64-simulator/bare-os.bare
generated
vendored
Normal file
BIN
node_modules/bare-os/prebuilds/ios-arm64-simulator/bare-os.bare
generated
vendored
Normal file
Binary file not shown.
BIN
node_modules/bare-os/prebuilds/ios-arm64/bare-os.bare
generated
vendored
Normal file
BIN
node_modules/bare-os/prebuilds/ios-arm64/bare-os.bare
generated
vendored
Normal file
Binary file not shown.
BIN
node_modules/bare-os/prebuilds/ios-x64-simulator/bare-os.bare
generated
vendored
Normal file
BIN
node_modules/bare-os/prebuilds/ios-x64-simulator/bare-os.bare
generated
vendored
Normal file
Binary file not shown.
BIN
node_modules/bare-os/prebuilds/linux-arm64/bare-os.bare
generated
vendored
Normal file
BIN
node_modules/bare-os/prebuilds/linux-arm64/bare-os.bare
generated
vendored
Normal file
Binary file not shown.
BIN
node_modules/bare-os/prebuilds/linux-x64/bare-os.bare
generated
vendored
Normal file
BIN
node_modules/bare-os/prebuilds/linux-x64/bare-os.bare
generated
vendored
Normal file
Binary file not shown.
BIN
node_modules/bare-os/prebuilds/win32-arm64/bare-os.bare
generated
vendored
Normal file
BIN
node_modules/bare-os/prebuilds/win32-arm64/bare-os.bare
generated
vendored
Normal file
Binary file not shown.
BIN
node_modules/bare-os/prebuilds/win32-x64/bare-os.bare
generated
vendored
Normal file
BIN
node_modules/bare-os/prebuilds/win32-x64/bare-os.bare
generated
vendored
Normal file
Binary file not shown.
Reference in New Issue
Block a user