Comments (4)
Try passing a custom format
function on the options, as follows:
const micromatch = require('micromatch');
const format = input => input.replace(/^\.\//, '');
console.log(micromatch.isMatch('./my/relative/file.js', 'my/*/file.js', { format })); //=> true
console.log(micromatch.isMatch('./my/relative/file.js', './my/*/file.js', { format })); //=> true
console.log(micromatch.isMatch('./my/relative/file.js', '**/my/*/file.js', { format })); //=> true
The issue of leading dot slashes has been discussed a few times on this and related repositories. Since ./
is contrived and is only really used in require()
and import
statements, it's not a pattern that is typically found in real file system paths. The most reliable way to handle such patterns is to use path.normalize()
or otherwise ensure that your file paths are normalized before using any matcher. Or you can use micromatch's format
option. We decided on this approach because it seemed to be the lesser of all other evils.
Related:
Please let me know if this helps.
from micromatch.
Thanks for the reply. Feel free to close this if this indeed works as intended. Though it would be helpful to mention this in the README so other people won't have to run into debugging this issue.
from micromatch.
const match = micromatch(['/a/file/path/.hiddenFile.ejs.txt', '*.ejs.*', {matchBase: true}]
This is awful DX
from micromatch.
This is awful DX
Yeah, I wouldn't do what you did either.
from micromatch.
Related Issues (20)
- Will micromatch gradually phase out CJS support instead of abruptly (cf multimatch)? HOT 2
- Documentation incomplete for `scan`
- Alternatives in extglobs not matching correctly? HOT 5
- micromatch('.prettierrc.json', '**/*.json') => false HOT 3
- Image for sponsorships
- [BUG] Vulnerabilities Found in Micromatch and Braces HOT 2
- `micromatch.not` returns nothing if empty pattern list provided
- [BUG] Vulnerabilities Found in Micromatch and Braces HOT 38
- gitIgnore and negation patterns - not following gitIgnore specs HOT 6
- Question: Globstar and trailing slashes
- Inefficient Regular Expression Complexity vulnerability with High severity found HOT 6
- Negation style ignores dot option?
- High vulnerability in 'braces' dependency HOT 5
- CVE-2024-4067 and CVE-2024-4068 - Real vulnerabilities or just non-security bugs? HOT 8
- Behavior on Windows seems to have changed with v4.0.6. HOT 1
- Version 4.0.6 is no longer compatible with Node 8.6 HOT 7
- [CVE-2024-4067] Vulnerability detected in micromatch.braces() HOT 13
- What's the deal with 4.0.7? HOT 6
- micromatch 4.0.5 and braces 3.0.3 HOT 4
- Globstar and Braces on slashes issues HOT 3
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 micromatch.