Comments (3)
Just to make sure I understand what you are saying, can I assume that your above test assumes that process.cwd() === '/project'
?
const assert = require('assert');
const path = require('path');
const testExclude = require('test-exclude');
function failingTest() {
const exclude = testExclude({
exclude: [path.resolve('file')]
});
assert.equal(exclude.shouldInstrument('./file'), false);
}
function passingTest() {
const exclude = testExclude({
exclude: [path.resolve('file')],
relativePath: false
});
assert.equal(exclude.shouldInstrument(path.resolve('./file')), false);
}
// a call to `failingTest()` will assert, a call to `passingTest()` will not.
There are issues mixing of relative and absolute paths, I'm not aware of anything that uses relativePath: false
outside test-exclude
's own tests.
from test-exclude.
Correct, cwd is /project
.
relativePath: false
is required to make it work, or will that make relative paths fail ("mixing") ?
from test-exclude.
Mixing does not work as of now. The only correct way (as of now) to exclude ./file
is exclude: ["file"]
.
exclude.shouldInstrument()
actually expects an absolute path to be provided for the first argument. If relativePath: true
it converts to a relative path for comparison with the include/exclude options.
It's a tough situation, we have to be really careful with logic changes to test-exclude
(4.8 million downloads last week, lots of users dependent on the current logic). By far the nominal use is relativePath: true
.
Side note: it appears that the README for test-exclude is incorrect as the examples show passing relative filenames to shouldInstrument
. I've opened #33 regarding the need to correct/improve the documentation.
from test-exclude.
Related Issues (15)
- option to not exclude anything HOT 7
- Don't automatically exclude local node_modules HOT 10
- support negated glob for node_modules and always exclude node_modules HOT 9
- Windows: undefined path resolution for directory junctions HOT 1
- `options.cwd` should use the canonical pathname
- test-exclude: README issues
- Investigate issue with `./` include/exclude paths. HOT 1
- test-exclude should supply `nocase` to `minimatch` and `glob` when running on win32. HOT 11
- windows symlinks (aka junctions) mess up the is-outside-dir logic HOT 2
- Error [ERR_REQUIRE_ESM]: Must use import to load ES Module HOT 1
- PRISMA-2022-0039 in minimatch version 3.0.4 dependency HOT 2
- Use a faster globbing library
- The filename field should be compatible?
- Support Glob 10.
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 test-exclude.