@visulima/fs
Advanced tools
Comparing version 1.0.0 to 1.1.0
@@ -0,1 +1,8 @@ | ||
## @visulima/fs [1.1.0](https://github.com/visulima/visulima/compare/@visulima/fs@1.0.0...@visulima/fs@1.1.0) (2024-03-09) | ||
### Features | ||
* **fs:** added isAccessibleSync and isAccessible ([#339](https://github.com/visulima/visulima/issues/339)) ([552eaec](https://github.com/visulima/visulima/commit/552eaec4a1b36db08a6386c562fa6a3bf248c40d)) | ||
## @visulima/fs 1.0.0 (2024-03-09) | ||
@@ -8,3 +15,3 @@ | ||
* migrating readdir to fs package ([664d567](https://github.com/visulima/visulima/commit/664d5670ac84811963a830b594968f19bf81809a)) | ||
* renamed readdir for fs ([29b0564](https://github.com/visulima/visulima/commit/29b0564913cd136cd126a1e3a6d9461a85158930)) | ||
* renamed readdir to fs ([29b0564](https://github.com/visulima/visulima/commit/29b0564913cd136cd126a1e3a6d9461a85158930)) | ||
@@ -11,0 +18,0 @@ |
@@ -33,2 +33,8 @@ import { Dirent } from 'node:fs'; | ||
declare function isAccessible(path: string, mode?: number): Promise<boolean>; | ||
declare function isAccessible(path: string[], mode?: number): Promise<boolean[]>; | ||
declare function isAccessibleSync(path: string, mode?: number): boolean; | ||
declare function isAccessibleSync(path: string[], mode?: number): boolean[]; | ||
declare function walk(directory: URL | string, { extensions, followSymlinks, includeDirs: includeDirectories, includeFiles, includeSymlinks, match, maxDepth, skip, }?: WalkOptions): AsyncIterableIterator<WalkEntry>; | ||
@@ -38,2 +44,2 @@ | ||
export { type WalkEntry, type WalkOptions, collect, collectSync, findUp, findUpSync, walk, walkSync }; | ||
export { type WalkEntry, type WalkOptions, collect, collectSync, findUp, findUpSync, isAccessible, isAccessibleSync, walk, walkSync }; |
@@ -8,11 +8,13 @@ 'use strict'; | ||
var h=class extends Error{root;constructor(i,r){super(`${i instanceof Error?i.message:i} for path "${r}"`),this.cause=i,this.name="WalkError",this.root=r;}},u=h;var L=e=>{let i=e.replace(/\.\*/g,".([^/]*)").replace(/\*\*/g,"(.*)").replace(/(?<!\.)\*(?!\*)/g,"([^/]*)").replace(/\?/g,"[^/]").replace(/\.(?!\*)/g,"\\.").replace(/\{/g,"(").replace(/\}/g,")").replace(/,/g,"|").replace(/\[!(.*?)\]/g,"[^$1]");return new RegExp(`^${i}$`)},g=L;var x=e=>e instanceof URL?url.fileURLToPath(e):e,m=x;var R=(e,i,r,o)=>i&&!i.some(s=>e.endsWith(s))||r&&!r.some(s=>s.test(e))?!1:!(o&&o.some(s=>s.test(e))),y=R;var T=async e=>{let i=path.normalize(e),r=path.basename(i),o=await promises.stat(i);return {isDirectory:o.isDirectory,isFile:o.isFile,isSymbolicLink:o.isSymbolicLink,name:r,path:i}};async function*w(e,{extensions:i,followSymlinks:r=!1,includeDirs:o=!0,includeFiles:s=!0,includeSymlinks:l=!0,match:c,maxDepth:a=Number.POSITIVE_INFINITY,skip:k}={}){if(a<0)return;let d=c?c.map(t=>typeof t=="string"?g(t):t):void 0,f=k?k.map(t=>typeof t=="string"?g(t):t):void 0;if(e=path.resolve(m(e)),o&&y(e,i,d,f)&&(yield await T(e)),!(a<1||!y(e,void 0,void 0,f)))try{for await(let t of await promises.readdir(e,{withFileTypes:!0})){let n=path.join(e,t.name);if(t.isSymbolicLink())if(r)n=await promises.realpath(n);else if(l&&y(n,i,d,f))yield {isDirectory:t.isDirectory,isFile:t.isFile,isSymbolicLink:t.isSymbolicLink,name:t.name,path:n};else continue;t.isSymbolicLink()||t.isDirectory()?yield*w(n,{extensions:i,followSymlinks:r,includeDirs:o,includeFiles:s,includeSymlinks:l,match:d,maxDepth:a-1,skip:f}):t.isFile()&&s&&y(n,i,d,f)&&(yield {isDirectory:t.isDirectory,isFile:t.isFile,isSymbolicLink:t.isSymbolicLink,name:t.name,path:n});}}catch(t){throw t instanceof u?t:new u(t,e)}}var A=async(e,i={})=>{let r={extensions:["js","mjs","cjs","ts"],...i},o=[];for await(let s of w(e,r))o.push(s.path);return o},N=A;var q=e=>{let i=path.normalize(e),r=path.basename(i),o=fs.statSync(i);return {isDirectory:o.isDirectory,isFile:o.isFile,isSymbolicLink:o.isSymbolicLink,name:r,path:i}};function*b(e,{extensions:i,followSymlinks:r=!1,includeDirs:o=!0,includeFiles:s=!0,includeSymlinks:l=!0,match:c,maxDepth:a=Number.POSITIVE_INFINITY,skip:k}={}){if(a<0)return;let d=c?c.map(t=>typeof t=="string"?g(t):t):void 0,f=k?k.map(t=>typeof t=="string"?g(t):t):void 0;if(e=path.resolve(m(e)),o&&y(e,i,d,f)&&(yield q(e)),!(a<1||!y(e,void 0,void 0,f)))try{for(let t of fs.readdirSync(e,{withFileTypes:!0})){let n=path.join(e,t.name);if(t.isSymbolicLink())if(r)n=fs.realpathSync(n);else if(l&&y(n,i,d,f))yield {isDirectory:t.isDirectory,isFile:t.isFile,isSymbolicLink:t.isSymbolicLink,name:t.name,path:n};else continue;t.isSymbolicLink()||t.isDirectory()?yield*b(n,{extensions:i,followSymlinks:r,includeDirs:o,includeFiles:s,includeSymlinks:l,match:d,maxDepth:a-1,skip:f}):t.isFile()&&s&&y(n,i,d,f)&&(yield {isDirectory:t.isDirectory,isFile:t.isFile,isSymbolicLink:t.isSymbolicLink,name:t.name,path:n});}}catch(t){throw t instanceof u?t:new u(t,e)}}var B=(e,i={})=>{let r={extensions:["js","mjs","cjs","ts"],...i},o=[];for(let s of b(e,r))o.push(s.path);return o},C=B;var X=async(e,i={})=>{let r=path.resolve(i.cwd?m(i.cwd):process.cwd()),{root:o}=path.parse(r),s=path.resolve(r,m(i.stopAt??o)),l=i.type??"file";for(;r&&r!==s&&r!==o;){let c=path.isAbsolute(e)?e:path.join(r,e);try{let a=await promises.stat(c);if(l==="file"&&a.isFile()||l==="directory"&&a.isDirectory())return c}catch{}r=path.dirname(r);}},Z=X;var st=(e,i={})=>{let r=path.resolve(i.cwd?m(i.cwd):process.cwd()),{root:o}=path.parse(r),s=path.resolve(r,m(i.stopAt??o)),l=i.type??"file";for(;r&&r!==s&&r!==o;){let c=path.isAbsolute(e)?e:path.join(r,e);try{let a=fs.statSync(c);if(l==="file"&&a.isFile()||l==="directory"&&a.isDirectory())return c}catch{}r=path.dirname(r);}},nt=st; | ||
var S=class extends Error{root;constructor(i,r){super(`${i instanceof Error?i.message:i} for path "${r}"`),this.cause=i,this.name="WalkError",this.root=r;}},d=S;var W=t=>{let i=t.replace(/\.\*/g,".([^/]*)").replace(/\*\*/g,"(.*)").replace(/(?<!\.)\*(?!\*)/g,"([^/]*)").replace(/\?/g,"[^/]").replace(/\.(?!\*)/g,"\\.").replace(/\{/g,"(").replace(/\}/g,")").replace(/,/g,"|").replace(/\[!(.*?)\]/g,"[^$1]");return new RegExp(`^${i}$`)},g=W;var F=t=>t instanceof URL?url.fileURLToPath(t):t,m=F;var R=(t,i,r,o)=>i&&!i.some(s=>t.endsWith(s))||r&&!r.some(s=>s.test(t))?!1:!(o&&o.some(s=>s.test(t))),y=R;var N=async t=>{let i=path.normalize(t),r=path.basename(i),o=await promises.stat(i);return {isDirectory:o.isDirectory,isFile:o.isFile,isSymbolicLink:o.isSymbolicLink,name:r,path:i}};async function*k(t,{extensions:i,followSymlinks:r=!1,includeDirs:o=!0,includeFiles:s=!0,includeSymlinks:c=!0,match:f,maxDepth:a=Number.POSITIVE_INFINITY,skip:b}={}){if(a<0)return;let u=f?f.map(e=>typeof e=="string"?g(e):e):void 0,p=b?b.map(e=>typeof e=="string"?g(e):e):void 0;if(t=path.resolve(m(t)),o&&y(t,i,u,p)&&(yield await N(t)),!(a<1||!y(t,void 0,void 0,p)))try{for await(let e of await promises.readdir(t,{withFileTypes:!0})){let n=path.join(t,e.name);if(e.isSymbolicLink())if(r)n=await promises.realpath(n);else if(c&&y(n,i,u,p))yield {isDirectory:e.isDirectory,isFile:e.isFile,isSymbolicLink:e.isSymbolicLink,name:e.name,path:n};else continue;e.isSymbolicLink()||e.isDirectory()?yield*k(n,{extensions:i,followSymlinks:r,includeDirs:o,includeFiles:s,includeSymlinks:c,match:u,maxDepth:a-1,skip:p}):e.isFile()&&s&&y(n,i,u,p)&&(yield {isDirectory:e.isDirectory,isFile:e.isFile,isSymbolicLink:e.isSymbolicLink,name:e.name,path:n});}}catch(e){throw e instanceof d?e:new d(e,t)}}var _=async(t,i={})=>{let r={extensions:["js","mjs","cjs","ts"],...i},o=[];for await(let s of k(t,r))o.push(s.path);return o},$=_;var B=t=>{let i=path.normalize(t),r=path.basename(i),o=fs.statSync(i);return {isDirectory:o.isDirectory,isFile:o.isFile,isSymbolicLink:o.isSymbolicLink,name:r,path:i}};function*w(t,{extensions:i,followSymlinks:r=!1,includeDirs:o=!0,includeFiles:s=!0,includeSymlinks:c=!0,match:f,maxDepth:a=Number.POSITIVE_INFINITY,skip:b}={}){if(a<0)return;let u=f?f.map(e=>typeof e=="string"?g(e):e):void 0,p=b?b.map(e=>typeof e=="string"?g(e):e):void 0;if(t=path.resolve(m(t)),o&&y(t,i,u,p)&&(yield B(t)),!(a<1||!y(t,void 0,void 0,p)))try{for(let e of fs.readdirSync(t,{withFileTypes:!0})){let n=path.join(t,e.name);if(e.isSymbolicLink())if(r)n=fs.realpathSync(n);else if(c&&y(n,i,u,p))yield {isDirectory:e.isDirectory,isFile:e.isFile,isSymbolicLink:e.isSymbolicLink,name:e.name,path:n};else continue;e.isSymbolicLink()||e.isDirectory()?yield*w(n,{extensions:i,followSymlinks:r,includeDirs:o,includeFiles:s,includeSymlinks:c,match:u,maxDepth:a-1,skip:p}):e.isFile()&&s&&y(n,i,u,p)&&(yield {isDirectory:e.isDirectory,isFile:e.isFile,isSymbolicLink:e.isSymbolicLink,name:e.name,path:n});}}catch(e){throw e instanceof d?e:new d(e,t)}}var C=(t,i={})=>{let r={extensions:["js","mjs","cjs","ts"],...i},o=[];for(let s of w(t,r))o.push(s.path);return o},G=C;var tt=async(t,i={})=>{let r=path.resolve(i.cwd?m(i.cwd):process.cwd()),{root:o}=path.parse(r),s=path.resolve(r,m(i.stopAt??o)),c=i.type??"file";for(;r&&r!==s&&r!==o;){let f=path.isAbsolute(t)?t:path.join(r,t);try{let a=await promises.stat(f);if(c==="file"&&a.isFile()||c==="directory"&&a.isDirectory())return f}catch{}r=path.dirname(r);}},et=tt;var at=(t,i={})=>{let r=path.resolve(i.cwd?m(i.cwd):process.cwd()),{root:o}=path.parse(r),s=path.resolve(r,m(i.stopAt??o)),c=i.type??"file";for(;r&&r!==s&&r!==o;){let f=path.isAbsolute(t)?t:path.join(r,t);try{let a=fs.statSync(f);if(c==="file"&&a.isFile()||c==="directory"&&a.isDirectory())return f}catch{}r=path.dirname(r);}},lt=at;async function E(t,i=0){if(Array.isArray(t))return await Promise.all(t.map(async r=>await E(r,i)));try{return await promises.access(t,i),!0}catch{return !1}}var pt=E;function L(t,i=0){if(Array.isArray(t))return t.map(r=>L(r,i));try{return fs.accessSync(t,i),!0}catch{return !1}}var yt=L; | ||
exports.collect = N; | ||
exports.collectSync = C; | ||
exports.findUp = Z; | ||
exports.findUpSync = nt; | ||
exports.walk = w; | ||
exports.walkSync = b; | ||
exports.collect = $; | ||
exports.collectSync = G; | ||
exports.findUp = et; | ||
exports.findUpSync = lt; | ||
exports.isAccessible = pt; | ||
exports.isAccessibleSync = yt; | ||
exports.walk = k; | ||
exports.walkSync = w; | ||
//# sourceMappingURL=out.js.map | ||
//# sourceMappingURL=index.js.map |
{ | ||
"name": "@visulima/fs", | ||
"version": "1.0.0", | ||
"version": "1.1.0", | ||
"description": "Human friendly file system utilities for Node.js", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
77239
84