Node.js tar binding

Related tags

Command-line tar
Overview

@napi-rs/tar

https://github.com/napi-rs/tar/actions install size Downloads

Node.js tar binding https://docs.rs/tar/latest/tar/

Usage

export class Entries {
  [Symbol.iterator](): Iterator<Entry, void, void>
}
export class Entry {
  path(): string | null
}
export class Archive {
  /** Create a new archive with the underlying path. */
  constructor(path: string)
  entries(): Entries
  /**
   * Unpacks the contents tarball into the specified `dst`.
   *
   * This function will iterate over the entire contents of this tarball,
   * extracting each file in turn to the location specified by the entry's
   * path name.
   *
   * This operation is relatively sensitive in that it will not write files
   * outside of the path specified by `dst`. Files in the archive which have
   * a '..' in their path are skipped during the unpacking process.
   */
  unpack(to: string): void
}

Install this test package

yarn add @napi-rs/tar
pnpm install @napi-rs/tar
npm install @napi-rs/tar
Comments
  • chore: bump up @napi-rs/cross-toolchain version to ^0.0.14

    chore: bump up @napi-rs/cross-toolchain version to ^0.0.14

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | @napi-rs/cross-toolchain | ^0.0.12 -> ^0.0.14 | age | adoption | passing | confidence |


    Release Notes

    napi-rs/cross-toolchain (@​napi-rs/cross-toolchain)

    v0.0.14

    Compare Source

    v0.0.13

    Compare Source


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    â™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    dependencies 
    opened by renovate[bot] 1
  • chore: bump up actions/upload-artifact action to v4

    chore: bump up actions/upload-artifact action to v4

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | actions/upload-artifact | action | major | v3 -> v4 |


    Release Notes

    actions/upload-artifact (actions/upload-artifact)

    v4

    Compare Source


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    â™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    dependencies 
    opened by renovate[bot] 1
  • chore: bump up macos version to v13

    chore: bump up macos version to v13

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | macos | github-runner | major | 12 -> 13 |


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    â™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    dependencies 
    opened by renovate[bot] 1
  • chore: bump up actions/download-artifact action to v4 - autoclosed

    chore: bump up actions/download-artifact action to v4 - autoclosed

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | actions/download-artifact | action | major | v3 -> v4 |


    Release Notes

    actions/download-artifact (actions/download-artifact)

    v4

    Compare Source


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    â™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    dependencies 
    opened by renovate[bot] 0
  • chore: bump up ava version to v6

    chore: bump up ava version to v6

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | ava (source) | ^5.3.1 -> ^6.0.0 | age | adoption | passing | confidence |


    Release Notes

    avajs/ava (ava)

    v6.0.0

    Compare Source

    Breaking Changes

    • AVA now requires Node.js versions 18.18, 20.8 or 21. Versions 14 and 16 are no longer supported. #​3251 #​3216

    • When tests finish, worker threads or child processes are no longer exited through proces.exit(). If your test file does not exit on its own, the test run will time out. #​3260

    • Changes to watch mode #​3218:

      • Watch mode can no longer be started via the ava.config.* or package.json configuration.
      • The ignoredByWatcher configuration has moved to the watchMode object, under the ignoreChanges key.
      • Watch mode now uses the built-in fs.watch() in recursive mode. This is supported on Linux in Node.js 20 or newer, and MacOS and Windows in Node.js 18 as well. There are caveats to keep in mind.
    • Failed assertions now throw, meaning that any subsequent code is not executed. This also impacts the type definitions. #​3246

    • Only native errors are now considered errors by the t.throws() and t.throwsAsync() assertions. Object.create(Error.prototype) is not a native error. #​3229

    • Changes to modules loaded through the require configuration #​3184:

      • If such modules export a default function, this function is now invoked.
      • Local files are loaded through @ava/typescript if necessary.

    Improvements

    Rewritten watcher

    The watcher has been rewritten. It’s now built on fs.watch() in recursive mode.

    @vercel/nft is used to perform static dependency analysis, supporting ESM and CJS imports for JavaScript & TypeScript source files. This is a huge improvement over the previous runtime tracking of CJS imports, which did not support ESM.

    Integration with @ava/typescript has been improved. The watcher can now detect a change to a TypeScript source file, then wait for the corresponding build output to change before re-running tests.

    The ignoredByWatcher configuration has moved to the watchMode object, under the ignoreChanges key.

    See #​3218 and #​3257.

    Failed assertions now throw

    Assertions now throw a TestFailure error when they fail. This error is not exported or documented and should not be used or thrown manually. You cannot catch this error in order to recover from a failure, use t.try() instead.

    All assertions except for t.throws() and t.throwsAsync() now return true when they pass. This is useful for some of the assertions in TypeScript where they can be used as a type guard.

    Committing a failed t.try() result now also throws.

    See #​3246.

    t.throws() and t.throwsAsync() can now expect any error

    By default, the thrown error (or rejection reason) must be a native error. You can change the assertion to expect any kind of error by setting any: true in the expectation object:

    t.throws(() => { throw 'error' }, {any: true})
    

    See #​3245 by @​adiSuper94.

    The require configuration is now more powerful

    It now loads ES modules.

    Local files are loaded through @ava/typescript if necessary, so you can also write these in TypeScript.

    If there is a default export function, it is invoked after loading. The function is awaited so it can do asynchronous setup before further modules are loaded. Arguments from the configuration can be passed to the function (as a [structured clone](https://developer.mozilla.org/en-US/docs/Web/API/structuredClone)).

    See #​3184 by @​sculpt0r.

    Other changes worth noting
    • Internal events can now be observed (experimentally). See #​3247 by @​codetheweb. It’s experimental and undocumented.
    • You can now use t.timeout.clear() to restore a previous t.timeout(). #​3221
    • Code coverage is flushed to disk at opportune moments. #​3220

    New Contributors

    Full Changelog: https://github.com/avajs/ava/compare/v5.3.1...v6.0.0


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    â™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    dependencies 
    opened by renovate[bot] 0
  • chore: bump up all non-major dependencies to ^0.0.12

    chore: bump up all non-major dependencies to ^0.0.12

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | @napi-rs/cross-toolchain | ^0.0.9 -> ^0.0.12 | age | adoption | passing | confidence | | @napi-rs/cross-toolchain-arm64-target-aarch64 | ^0.0.9 -> ^0.0.12 | age | adoption | passing | confidence | | @napi-rs/cross-toolchain-arm64-target-armv7 | ^0.0.9 -> ^0.0.12 | age | adoption | passing | confidence | | @napi-rs/cross-toolchain-arm64-target-x86_64 | ^0.0.9 -> ^0.0.12 | age | adoption | passing | confidence | | @napi-rs/cross-toolchain-x64-target-aarch64 | ^0.0.9 -> ^0.0.12 | age | adoption | passing | confidence | | @napi-rs/cross-toolchain-x64-target-armv7 | ^0.0.9 -> ^0.0.12 | age | adoption | passing | confidence | | @napi-rs/cross-toolchain-x64-target-x86_64 | ^0.0.9 -> ^0.0.12 | age | adoption | passing | confidence |


    Release Notes

    napi-rs/cross-toolchain (@​napi-rs/cross-toolchain)

    v0.0.12

    Compare Source

    v0.0.11

    Compare Source

    v0.0.10

    Compare Source


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    â™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about these updates again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    dependencies 
    opened by renovate[bot] 0
  • Dependency Dashboard

    Dependency Dashboard

    This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

    Ignored or Blocked

    These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

    Detected dependencies

    cargo
    Cargo.toml
    • anyhow 1
    • bzip2 0.4
    • flate2 1
    • lzma-rs 0.3
    • infer 0.15
    • napi 2
    • napi-derive 2
    • tar 0.4
    • napi-build 2
    • mimalloc 0.1
    • mimalloc 0.1
    github-actions
    .github/workflows/CI.yml
    • actions/checkout v4
    • actions/setup-node v4
    • actions/cache v3
    • goto-bus-stop/setup-zig v2
    • actions/setup-node v4
    • actions/upload-artifact v4
    • actions/checkout v4
    • cross-platform-actions/action v0.21.1
    • actions/upload-artifact v4
    • actions/checkout v4
    • actions/setup-node v4
    • actions/download-artifact v4
    • actions/checkout v4
    • actions/setup-node v4
    • actions/download-artifact v4
    • actions/checkout v4
    • actions/setup-node v4
    • actions/download-artifact v4
    • actions/checkout v4
    • actions/download-artifact v4
    • docker/setup-qemu-action v3
    • addnab/docker-run-action v3
    • actions/checkout v4
    • actions/download-artifact v4
    • docker/setup-qemu-action v3
    • addnab/docker-run-action v3
    • actions/checkout v4
    • actions/download-artifact v4
    • docker/setup-qemu-action v3
    • addnab/docker-run-action v3
    • actions/checkout v4
    • actions/setup-node v4
    • actions/download-artifact v4
    • macos 12
    .github/workflows/lint.yml
    • actions/checkout v4
    • actions/setup-node v4
    npm
    npm/android-arm-eabi/package.json
    • node >= 10
    npm/android-arm64/package.json
    • node >= 10
    npm/darwin-arm64/package.json
    • node >= 10
    npm/darwin-x64/package.json
    • node >= 10
    npm/freebsd-x64/package.json
    • node >= 10
    npm/linux-arm-gnueabihf/package.json
    • node >= 10
    npm/linux-arm64-gnu/package.json
    • node >= 10
    npm/linux-arm64-musl/package.json
    • node >= 10
    npm/linux-x64-gnu/package.json
    • node >= 10
    npm/linux-x64-musl/package.json
    • node >= 10
    npm/win32-arm64-msvc/package.json
    • node >= 10
    npm/win32-ia32-msvc/package.json
    • node >= 10
    npm/win32-x64-msvc/package.json
    • node >= 10
    package.json
    • @napi-rs/cli ^3.0.0-alpha.19
    • @napi-rs/cross-toolchain ^0.0.14
    • @napi-rs/lzma ^1.1.2
    • @swc-node/register ^1.6.8
    • @swc/core ^1.3.95
    • @taplo/cli ^0.5.2
    • @types/node ^20.10.2
    • @types/tar ^6
    • @typescript-eslint/eslint-plugin ^6.9.1
    • @typescript-eslint/parser ^6.9.1
    • ava ^6.0.0
    • benny ^3.7.1
    • chalk ^5.3.0
    • eslint ^8.52.0
    • eslint-config-prettier ^9.0.0
    • eslint-plugin-import ^2.29.0
    • husky ^8.0.3
    • lint-staged ^15.0.2
    • npm-run-all ^4.1.5
    • prettier ^3.0.3
    • tar ^6.2.0
    • typescript ^5.2.2
    • node >= 10
    • yarn 4.0.2

    • [ ] Check this box to trigger a request for Renovate to run again on this repository
    opened by renovate[bot] 0
Owner
Node-API (N-API) for Rust
High-level and typesafe Node.js Node-API (N-API) bindings for Rust
Node-API (N-API) for Rust
Nvm - Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions

Node Version Manager Table of Contents Intro About Installing and Updating Install & Update Script Additional Notes Troubleshooting on Linux Troublesh

nvm.sh 63.8k Jan 7, 2023
Abuse the node.js inspector mechanism in order to force any node.js/electron/v8 based process to execute arbitrary javascript code.

jscythe abuses the node.js inspector mechanism in order to force any node.js/electron/v8 based process to execute arbitrary javascript code, even if t

Simone Margaritelli 301 Jan 4, 2023
A GSL (the GNU Scientific Library) binding for Rust

rust-GSL A Rust binding for the GSL library (the GNU Scientific Library). The minimum support Rust version is 1.54. Installation This binding requires

Guillaume Gomez 157 Dec 15, 2022
Rust Imaging Library's Python binding: A performant and high-level image processing library for Python written in Rust

ril-py Rust Imaging Library for Python: Python bindings for ril, a performant and high-level image processing library written in Rust. What's this? Th

Cryptex 13 Dec 6, 2022
Fast & Memory Efficient NodeJs Excel Writer using Rust Binding

FastExcel This project need Rust to be installed, check here for Rust installation instruction This project using Rust and Neon as a binding to Rust t

Aditya Kresna 2 Dec 15, 2022
.NET PhysX 5 binding to all platforms(win, osx, linux) for 3D engine, deep learning, dedicated server of gaming.

MagicPhysX .NET PhysX 5 binding to all platforms(win-x64, osx-x64, osx-arm64, linux-x64, linux-arm64) for 3D engine, deep learning, dedicated server o

Cysharp, Inc. 37 Jul 4, 2023
The high-speed IAPWS-IF97 package in Rust with C and Python binding

SEUIF97 This is the Rust implementation of the high-speed IAPWS-IF97 package seuif97 with C and Python binding. It is suitable for computation-intensi

Cheng Maohua 5 Aug 12, 2023
A syntax highlighter for Node powered by Tree Sitter. Written in Rust.

tree-sitter-highlight A syntax highlighter for Node.js powered by Tree Sitter. Written in Rust. Usage The following will output HTML: const treeSitter

Devon Govett 211 Dec 20, 2022
IntMaxRollup operator node & cli tools.

Intmax Rollup Operator Int max operator node Prepara Install rustup. rustup override set nightly

null 5 Jul 26, 2022
A visual node-based programming language

Stainless Script Stainless Script is a visual node-based programming language. The structure is as follows: program contains classes, objects (constan

null 4 Dec 15, 2022
Cuprate, an upcoming experimental, modern & secure monero node. Written in Rust

Cuprate an upcoming experimental, modern & secure monero node. Written in Rust (there is nothing working at the moment, stay tuned if you want to see

Someone Else 16 Feb 20, 2023
Proof-of-concept on how to solve Bitcoin's light node sync problem with zkSNARKs

BTC Warp Prove and verify the longest Bitcoin PoW chain BTC Warp is a proof-of-concept system that aims to solve the client-syncing problem for Bitcoi

Succinct 45 May 31, 2023
A HTML to node macro powered by rstml.

html-node A HTML to node macro powered by rstml. Features Text escaping Pretty-printing NEW: type-safe elements and attributes! (example) Example let

Vidhan Bhatt 6 Jul 28, 2023
🗽 Universal Node Package Manager

?? NY Universal Node Package Manager node • yarn • pnpm Features Universal - Picks the right package manager for you based on the lockfile in your fol

Kris Kaczor 46 Oct 12, 2023
NodeCraft - Crafting seamless node operations for distributed systems

NodeCraft Crafting seamless node operations for distributed systems, which provides foundational traits for node identification and address resolution

Al Liu 3 Oct 9, 2023
Minimal, blazing fast Node.js script runner

nrr Minimal, blazing fast Node.js script runner. Why? nrr initializes and resolves scripts way faster than package managers. It achieves this by provi

Ryan Cao 3 Nov 17, 2023
A simple Node.js library to convert raster images into svg

@neplex/vectorizer A simple Node.js library to convert raster images into svg using VTracer, with time complexity of O(n). Installation npm install @n

Neplex 21 Dec 28, 2023
rga: ripgrep, but also search in PDFs, E-Books, Office documents, zip, tar.gz, etc.

rga: ripgrep, but also search in PDFs, E-Books, Office documents, zip, tar.gz, etc. rga is a line-oriented search tool that allows you to look for a r

null 5.2k Jan 2, 2023
Tar file reading/writing for Rust

tar-rs Documentation A tar archive reading/writing library for Rust. # Cargo.toml [dependencies] tar = "0.4" Reading an archive extern crate tar; use

Alex Crichton 490 Dec 30, 2022
tar analysis tool

alquitran Inspects tar archives and tries to spot portability issues in regard to POSIX 2017 pax specification and common tar implementations. Usage R

null 16 Aug 12, 2022