Comments (4)
Thanks! The following does appear to at least pass unit tests again:
// code:
const extract = require('tar/extract')
return extract.extract(options)
// test:
const extract = require('tar/extract')
const extractStub = sinon.stub(extract, 'extract')
from node-tar.
x is now a getter, because the codebase uses typescript and native esm, and live bindings need to work (even when transpiled to commonjs).
possible workarounds:
require('tar/extract')
directly in your code and mock theextract
method.- mock the fn on your end that calls tar.
from node-tar.
Thanks for the quick response. I did try changing my code to call tar.extract insted of tar.x but this cannot be stubbed by sinon, doing a sinon.stub(tar, 'extract')
results in TypeError: Descriptor for property extract is non-configurable and non-writable
.
If I require('tar/extract')
I don't see how I would stub that with sinon.
from node-tar.
Rather than requiring tar
in the implementation, require tar/extract
and use the extract
fn exported from that module.
Do the same where you mock. That module directly exports the fn extract
, meaning it can be mocked, as it's not a getter.
from node-tar.
Related Issues (20)
- Does not support XZ compressed data HOT 5
- tar has problems in a CIFS mount path with node 20 and node 18.18.0 HOT 10
- Document reproducibility of resulting archives HOT 1
- Error crashing my service HOT 4
- Error when using in typescript HOT 1
- [BUG] Crash when extracting file with hardlink to itself HOT 1
- Does not throw an error if the user does not have write permission to directory `cwd` HOT 2
- Enhancement: migrate yallist to js-sdsl HOT 1
- ASAR problem in Electron HOT 5
- After using node-tar to read a specific file in the tar package, the file cannot be deleted by fs.unlinkSync immediately. HOT 1
- tar seems to corrupt mac app bundle signature integrity HOT 4
- [Bug] path-reservations accessing index of undefined array HOT 1
- CHANGELOG.md missing entries HOT 13
- [7.0.0][type regression] Unpack is not assignable to NodeJS.WritableStream HOT 11
- unpack strip error HOT 3
- [7.0.1][Type Regression] Property 'write' in type 'Pack' is not assignable to the same property in base type 'Minipass<Buffer, ContiguousData>'. HOT 3
- Documentation: including multiple unrelated directories without leading directory elements in a single archive HOT 1
- Typescript issues for `Pack` and base type `Minipass<ContiguousData, Buffer, WarnEvent>` when using node v18 types HOT 6
- Node help
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from node-tar.