@jsenv/filesystem 2.2.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -13,24 +13,22 @@ const relativeUrl = urlToRelativeUrl(jsFileUrl, projectDirectoryUrl)
13
13
  console.log(relativeUrl) // "src/file.js"
14
14
  ```
15
15
 
16
- ## Collect files using pattern matching
16
+ ## List files using pattern matching
17
17
 
18
18
  ```js
19
- import { collectFiles } from "@jsenv/filesystem"
20
-
21
- const jsAndSourceMapFiles = await collectFiles({
22
- directoryUrl: "file:///project/directory/",
23
- structuredMetaMap: {
24
- isJsFile: {
25
- "./**/*.js": true,
26
- },
27
- isSourceMapFile: {
28
- "./**/*.js.map": true,
29
- },
30
- },
31
- predicate: ({ isJsFile, isSourceMapFile }) => isJsFile || isSourceMapFile,
32
- })
33
- console.log(jsAndSourceMapFiles.length)
19
+ import { listFilesMatching } from "@jsenv/filesystem"
20
+
21
+ const jsFiles = await listFilesMatching(
22
+ "./**/*.js",
23
+ new URL("./", import.meta.url),
24
+ )
25
+ ```
26
+
27
+ ```console
28
+ [
29
+ 'file:///Users/dmail/docs/demo/a.js',
30
+ 'file:///Users/dmail/docs/demo/b.js'
31
+ ]
34
32
  ```
35
33
 
36
34
  ## Watch a specific file changes
@@ -785,6 +785,7 @@ const collectFiles = async ({
785
785
  })
786
786
  });
787
787
  matchingFileResultArray.push({
788
+ url: new URL(relativeUrl, directoryUrl).href,
788
789
  relativeUrl,
789
790
  meta,
790
791
  fileStats: directoryChildNodeStats,
@@ -1608,6 +1609,35 @@ const grantPermissionsOnFileSystemNode = async (source, {
1608
1609
  };
1609
1610
  };
1610
1611
 
1612
+ const listFilesMatching = async (patterns, directoryUrl = process.cwd()) => {
1613
+ if (typeof patterns === "string") {
1614
+ patterns = [patterns];
1615
+ } else if (Array.isArray(patterns)) {
1616
+ throw new TypeError(`patterns must be a string or an array of strings, got ${patterns}`);
1617
+ }
1618
+
1619
+ const patternMap = {};
1620
+ patterns.forEach((pattern, index) => {
1621
+ if (typeof pattern !== "string") {
1622
+ throw new TypeError(`every pattern must be a string, found ${pattern} at index ${index}`);
1623
+ }
1624
+
1625
+ patternMap[pattern] = true;
1626
+ });
1627
+ const fileDatas = await collectFiles({
1628
+ directoryUrl,
1629
+ structuredMetaMap: {
1630
+ matches: patternMap
1631
+ },
1632
+ predicate: ({
1633
+ matches
1634
+ }) => matches
1635
+ });
1636
+ return fileDatas.map(({
1637
+ url
1638
+ }) => url);
1639
+ };
1640
+
1611
1641
  const memoize = compute => {
1612
1642
  let memoized = false;
1613
1643
  let memoizedValue;
@@ -2588,6 +2618,7 @@ exports.ensureWindowsDriveLetter = ensureWindowsDriveLetter;
2588
2618
  exports.fileSystemPathToUrl = fileSystemPathToUrl;
2589
2619
  exports.grantPermissionsOnFileSystemNode = grantPermissionsOnFileSystemNode;
2590
2620
  exports.isFileSystemPath = isFileSystemPath;
2621
+ exports.listFilesMatching = listFilesMatching;
2591
2622
  exports.memoize = memoize;
2592
2623
  exports.moveDirectoryContent = moveDirectoryContent;
2593
2624
  exports.moveFileSystemNode = moveFileSystemNode;
@@ -38,6 +38,7 @@
38
38
  "../../src/copyDirectoryContent.js",
39
39
  "../../src/readFileSystemNodePermissions.js",
40
40
  "../../src/grantPermissionsOnFileSystemNode.js",
41
+ "../../src/listFilesMatching.js",
41
42
  "../../src/memoize.js",
42
43
  "../../src/moveFileSystemNode.js",
43
44
  "../../src/moveDirectoryContent.js",
@@ -80,7 +81,7 @@
80
81
  "import { getCommonPathname } from \"./internal/getCommonPathname.js\"\nimport { pathnameToParentPathname } from \"./internal/pathnameToParentPathname.js\"\n\nexport const urlToRelativeUrl = (url, baseUrl) => {\n const urlObject = new URL(url)\n const baseUrlObject = new URL(baseUrl)\n\n if (urlObject.protocol !== baseUrlObject.protocol) {\n const urlAsString = String(url)\n return urlAsString\n }\n\n if (\n urlObject.username !== baseUrlObject.username ||\n urlObject.password !== baseUrlObject.password ||\n urlObject.host !== baseUrlObject.host\n ) {\n const afterUrlScheme = String(url).slice(urlObject.protocol.length)\n return afterUrlScheme\n }\n\n const { pathname, hash, search } = urlObject\n if (pathname === \"/\") {\n const baseUrlRessourceWithoutLeadingSlash = baseUrlObject.pathname.slice(1)\n return baseUrlRessourceWithoutLeadingSlash\n }\n\n const basePathname = baseUrlObject.pathname\n const commonPathname = getCommonPathname(pathname, basePathname)\n if (!commonPathname) {\n const urlAsString = String(url)\n return urlAsString\n }\n\n const specificPathname = pathname.slice(commonPathname.length)\n const baseSpecificPathname = basePathname.slice(commonPathname.length)\n if (baseSpecificPathname.includes(\"/\")) {\n const baseSpecificParentPathname =\n pathnameToParentPathname(baseSpecificPathname)\n const relativeDirectoriesNotation = baseSpecificParentPathname.replace(\n /.*?\\//g,\n \"../\",\n )\n const relativeUrl = `${relativeDirectoriesNotation}${specificPathname}${search}${hash}`\n return relativeUrl\n }\n\n const relativeUrl = `${specificPathname}${search}${hash}`\n return relativeUrl\n}\n",
81
82
  "export const comparePathnames = (leftPathame, rightPathname) => {\n const leftPartArray = leftPathame.split(\"/\")\n const rightPartArray = rightPathname.split(\"/\")\n\n const leftLength = leftPartArray.length\n const rightLength = rightPartArray.length\n\n const maxLength = Math.max(leftLength, rightLength)\n let i = 0\n while (i < maxLength) {\n const leftPartExists = i in leftPartArray\n const rightPartExists = i in rightPartArray\n\n // longer comes first\n if (!leftPartExists) {\n return +1\n }\n if (!rightPartExists) {\n return -1\n }\n\n const leftPartIsLast = i === leftPartArray.length - 1\n const rightPartIsLast = i === rightPartArray.length - 1\n // folder comes first\n if (leftPartIsLast && !rightPartIsLast) {\n return +1\n }\n if (!leftPartIsLast && rightPartIsLast) {\n return -1\n }\n\n const leftPart = leftPartArray[i]\n const rightPart = rightPartArray[i]\n i++\n // local comparison comes first\n const comparison = leftPart.localeCompare(rightPart)\n if (comparison !== 0) {\n return comparison\n }\n }\n\n if (leftLength < rightLength) {\n return +1\n }\n if (leftLength > rightLength) {\n return -1\n }\n return 0\n}\n",
82
83
  "import { createCancellationToken, createOperation } from \"@jsenv/cancellation\"\nimport {\n normalizeStructuredMetaMap,\n urlCanContainsMetaMatching,\n urlToMeta,\n} from \"@jsenv/url-meta\"\n\nimport { ensureUrlTrailingSlash } from \"./internal/ensureUrlTrailingSlash.js\"\nimport { assertAndNormalizeDirectoryUrl } from \"./assertAndNormalizeDirectoryUrl.js\"\nimport { readDirectory } from \"./readDirectory.js\"\nimport { readFileSystemNodeStat } from \"./readFileSystemNodeStat.js\"\nimport { urlToRelativeUrl } from \"./urlToRelativeUrl.js\"\nimport { comparePathnames } from \"./comparePathnames.js\"\n\nexport const collectDirectoryMatchReport = async ({\n cancellationToken = createCancellationToken(),\n directoryUrl,\n structuredMetaMap,\n predicate,\n}) => {\n const matchingArray = []\n const ignoredArray = []\n\n const rootDirectoryUrl = assertAndNormalizeDirectoryUrl(directoryUrl)\n if (typeof predicate !== \"function\") {\n throw new TypeError(`predicate must be a function, got ${predicate}`)\n }\n const structuredMetaMapNormalized = normalizeStructuredMetaMap(\n structuredMetaMap,\n rootDirectoryUrl,\n )\n\n const visitDirectory = async (directoryUrl) => {\n const directoryItems = await createOperation({\n cancellationToken,\n start: () => readDirectory(directoryUrl),\n })\n\n await Promise.all(\n directoryItems.map(async (directoryItem) => {\n const directoryChildNodeUrl = `${directoryUrl}${directoryItem}`\n const relativeUrl = urlToRelativeUrl(\n directoryChildNodeUrl,\n rootDirectoryUrl,\n )\n\n const directoryChildNodeStats = await createOperation({\n cancellationToken,\n start: () =>\n readFileSystemNodeStat(directoryChildNodeUrl, {\n // we ignore symlink because recursively traversed\n // so symlinked file will be discovered.\n // Moreover if they lead outside of directoryPath it can become a problem\n // like infinite recursion of whatever.\n // that we could handle using an object of pathname already seen but it will be useless\n // because directoryPath is recursively traversed\n followLink: false,\n }),\n })\n\n if (directoryChildNodeStats.isDirectory()) {\n const subDirectoryUrl = `${directoryChildNodeUrl}/`\n\n if (\n !urlCanContainsMetaMatching({\n url: subDirectoryUrl,\n structuredMetaMap: structuredMetaMapNormalized,\n predicate,\n })\n ) {\n ignoredArray.push({\n relativeUrl: ensureUrlTrailingSlash(relativeUrl),\n fileStats: directoryChildNodeStats,\n })\n\n return\n }\n\n await visitDirectory(subDirectoryUrl)\n return\n }\n\n if (directoryChildNodeStats.isFile()) {\n const meta = urlToMeta({\n url: directoryChildNodeUrl,\n structuredMetaMap: structuredMetaMapNormalized,\n })\n if (!predicate(meta)) {\n ignoredArray.push({\n relativeUrl,\n meta,\n fileStats: directoryChildNodeStats,\n })\n return\n }\n\n matchingArray.push({\n relativeUrl,\n meta,\n fileStats: directoryChildNodeStats,\n })\n return\n }\n }),\n )\n }\n await visitDirectory(rootDirectoryUrl)\n\n return {\n matchingArray: sortByRelativeUrl(matchingArray),\n ignoredArray: sortByRelativeUrl(ignoredArray),\n }\n}\n\nconst sortByRelativeUrl = (array) =>\n array.sort((left, right) => {\n return comparePathnames(left.relativeUrl, right.relativeUrl)\n })\n",
83
- "import { createCancellationToken, createOperation } from \"@jsenv/cancellation\"\nimport {\n normalizeStructuredMetaMap,\n urlCanContainsMetaMatching,\n urlToMeta,\n} from \"@jsenv/url-meta\"\n\nimport { assertAndNormalizeDirectoryUrl } from \"./assertAndNormalizeDirectoryUrl.js\"\nimport { readDirectory } from \"./readDirectory.js\"\nimport { readFileSystemNodeStat } from \"./readFileSystemNodeStat.js\"\nimport { urlToRelativeUrl } from \"./urlToRelativeUrl.js\"\nimport { comparePathnames } from \"./comparePathnames.js\"\n\nexport const collectFiles = async ({\n cancellationToken = createCancellationToken(),\n directoryUrl,\n structuredMetaMap,\n predicate,\n matchingFileOperation = () => null,\n}) => {\n const rootDirectoryUrl = assertAndNormalizeDirectoryUrl(directoryUrl)\n if (typeof predicate !== \"function\") {\n throw new TypeError(`predicate must be a function, got ${predicate}`)\n }\n if (typeof matchingFileOperation !== \"function\") {\n throw new TypeError(\n `matchingFileOperation must be a function, got ${matchingFileOperation}`,\n )\n }\n const structuredMetaMapNormalized = normalizeStructuredMetaMap(\n structuredMetaMap,\n rootDirectoryUrl,\n )\n\n const matchingFileResultArray = []\n const visitDirectory = async (directoryUrl) => {\n const directoryItems = await createOperation({\n cancellationToken,\n start: () => readDirectory(directoryUrl),\n })\n\n await Promise.all(\n directoryItems.map(async (directoryItem) => {\n const directoryChildNodeUrl = `${directoryUrl}${directoryItem}`\n\n const directoryChildNodeStats = await createOperation({\n cancellationToken,\n start: () =>\n readFileSystemNodeStat(directoryChildNodeUrl, {\n // we ignore symlink because recursively traversed\n // so symlinked file will be discovered.\n // Moreover if they lead outside of directoryPath it can become a problem\n // like infinite recursion of whatever.\n // that we could handle using an object of pathname already seen but it will be useless\n // because directoryPath is recursively traversed\n followLink: false,\n }),\n })\n\n if (directoryChildNodeStats.isDirectory()) {\n const subDirectoryUrl = `${directoryChildNodeUrl}/`\n\n if (\n !urlCanContainsMetaMatching({\n url: subDirectoryUrl,\n structuredMetaMap: structuredMetaMapNormalized,\n predicate,\n })\n ) {\n return\n }\n\n await visitDirectory(subDirectoryUrl)\n return\n }\n\n if (directoryChildNodeStats.isFile()) {\n const meta = urlToMeta({\n url: directoryChildNodeUrl,\n structuredMetaMap: structuredMetaMapNormalized,\n })\n if (!predicate(meta)) return\n\n const relativeUrl = urlToRelativeUrl(\n directoryChildNodeUrl,\n rootDirectoryUrl,\n )\n const operationResult = await createOperation({\n cancellationToken,\n start: () =>\n matchingFileOperation({\n cancellationToken,\n relativeUrl,\n meta,\n fileStats: directoryChildNodeStats,\n }),\n })\n matchingFileResultArray.push({\n relativeUrl,\n meta,\n fileStats: directoryChildNodeStats,\n operationResult,\n })\n return\n }\n }),\n )\n }\n await visitDirectory(rootDirectoryUrl)\n\n // When we operate on thoose files later it feels more natural\n // to perform operation in the same order they appear in the filesystem.\n // It also allow to get a predictable return value.\n // For that reason we sort matchingFileResultArray\n matchingFileResultArray.sort((leftFile, rightFile) => {\n return comparePathnames(leftFile.relativeUrl, rightFile.relativeUrl)\n })\n return matchingFileResultArray\n}\n",
84
+ "import { createCancellationToken, createOperation } from \"@jsenv/cancellation\"\nimport {\n normalizeStructuredMetaMap,\n urlCanContainsMetaMatching,\n urlToMeta,\n} from \"@jsenv/url-meta\"\n\nimport { assertAndNormalizeDirectoryUrl } from \"./assertAndNormalizeDirectoryUrl.js\"\nimport { readDirectory } from \"./readDirectory.js\"\nimport { readFileSystemNodeStat } from \"./readFileSystemNodeStat.js\"\nimport { urlToRelativeUrl } from \"./urlToRelativeUrl.js\"\nimport { comparePathnames } from \"./comparePathnames.js\"\n\nexport const collectFiles = async ({\n cancellationToken = createCancellationToken(),\n directoryUrl,\n structuredMetaMap,\n predicate,\n matchingFileOperation = () => null,\n}) => {\n const rootDirectoryUrl = assertAndNormalizeDirectoryUrl(directoryUrl)\n if (typeof predicate !== \"function\") {\n throw new TypeError(`predicate must be a function, got ${predicate}`)\n }\n if (typeof matchingFileOperation !== \"function\") {\n throw new TypeError(\n `matchingFileOperation must be a function, got ${matchingFileOperation}`,\n )\n }\n const structuredMetaMapNormalized = normalizeStructuredMetaMap(\n structuredMetaMap,\n rootDirectoryUrl,\n )\n\n const matchingFileResultArray = []\n const visitDirectory = async (directoryUrl) => {\n const directoryItems = await createOperation({\n cancellationToken,\n start: () => readDirectory(directoryUrl),\n })\n\n await Promise.all(\n directoryItems.map(async (directoryItem) => {\n const directoryChildNodeUrl = `${directoryUrl}${directoryItem}`\n\n const directoryChildNodeStats = await createOperation({\n cancellationToken,\n start: () =>\n readFileSystemNodeStat(directoryChildNodeUrl, {\n // we ignore symlink because recursively traversed\n // so symlinked file will be discovered.\n // Moreover if they lead outside of directoryPath it can become a problem\n // like infinite recursion of whatever.\n // that we could handle using an object of pathname already seen but it will be useless\n // because directoryPath is recursively traversed\n followLink: false,\n }),\n })\n\n if (directoryChildNodeStats.isDirectory()) {\n const subDirectoryUrl = `${directoryChildNodeUrl}/`\n\n if (\n !urlCanContainsMetaMatching({\n url: subDirectoryUrl,\n structuredMetaMap: structuredMetaMapNormalized,\n predicate,\n })\n ) {\n return\n }\n\n await visitDirectory(subDirectoryUrl)\n return\n }\n\n if (directoryChildNodeStats.isFile()) {\n const meta = urlToMeta({\n url: directoryChildNodeUrl,\n structuredMetaMap: structuredMetaMapNormalized,\n })\n if (!predicate(meta)) return\n\n const relativeUrl = urlToRelativeUrl(\n directoryChildNodeUrl,\n rootDirectoryUrl,\n )\n const operationResult = await createOperation({\n cancellationToken,\n start: () =>\n matchingFileOperation({\n cancellationToken,\n relativeUrl,\n meta,\n fileStats: directoryChildNodeStats,\n }),\n })\n matchingFileResultArray.push({\n url: new URL(relativeUrl, directoryUrl).href,\n relativeUrl,\n meta,\n fileStats: directoryChildNodeStats,\n operationResult,\n })\n return\n }\n }),\n )\n }\n await visitDirectory(rootDirectoryUrl)\n\n // When we operate on thoose files later it feels more natural\n // to perform operation in the same order they appear in the filesystem.\n // It also allow to get a predictable return value.\n // For that reason we sort matchingFileResultArray\n matchingFileResultArray.sort((leftFile, rightFile) => {\n return comparePathnames(leftFile.relativeUrl, rightFile.relativeUrl)\n })\n return matchingFileResultArray\n}\n",
84
85
  "import { promises } from \"fs\"\nimport { statsToType } from \"./internal/statsToType.js\"\nimport { assertAndNormalizeDirectoryUrl } from \"./assertAndNormalizeDirectoryUrl.js\"\nimport { urlToFileSystemPath } from \"./urlToFileSystemPath.js\"\nimport { readFileSystemNodeStat } from \"./readFileSystemNodeStat.js\"\n\n// https://nodejs.org/dist/latest-v13.x/docs/api/fs.html#fs_fspromises_mkdir_path_options\nconst { mkdir } = promises\n\nexport const writeDirectory = async (\n destination,\n { recursive = true, allowUseless = false } = {},\n) => {\n const destinationUrl = assertAndNormalizeDirectoryUrl(destination)\n const destinationPath = urlToFileSystemPath(destinationUrl)\n\n const destinationStats = await readFileSystemNodeStat(destinationUrl, {\n nullIfNotFound: true,\n followLink: false,\n })\n\n if (destinationStats) {\n if (destinationStats.isDirectory()) {\n if (allowUseless) {\n return\n }\n throw new Error(`directory already exists at ${destinationPath}`)\n }\n\n const destinationType = statsToType(destinationStats)\n throw new Error(\n `cannot write directory at ${destinationPath} because there is a ${destinationType}`,\n )\n }\n\n try {\n await mkdir(destinationPath, { recursive })\n } catch (error) {\n if (allowUseless && error.code === \"EEXIST\") {\n return\n }\n throw error\n }\n}\n",
85
86
  "export const resolveUrl = (specifier, baseUrl) => {\n if (typeof baseUrl === \"undefined\") {\n throw new TypeError(`baseUrl missing to resolve ${specifier}`)\n }\n\n return String(new URL(specifier, baseUrl))\n}\n",
86
87
  "import { unlink, rmdir, openSync, closeSync } from \"node:fs\"\n\nimport { ensureUrlTrailingSlash } from \"./internal/ensureUrlTrailingSlash.js\"\nimport { assertAndNormalizeFileUrl } from \"./assertAndNormalizeFileUrl.js\"\nimport { urlToFileSystemPath } from \"./urlToFileSystemPath.js\"\nimport { readFileSystemNodeStat } from \"./readFileSystemNodeStat.js\"\nimport { readDirectory } from \"./readDirectory.js\"\nimport { resolveUrl } from \"./resolveUrl.js\"\n\nexport const removeFileSystemNode = async (\n source,\n {\n allowUseless = false,\n recursive = false,\n maxRetries = 3,\n retryDelay = 100,\n onlyContent = false,\n } = {},\n) => {\n const sourceUrl = assertAndNormalizeFileUrl(source)\n\n const sourceStats = await readFileSystemNodeStat(sourceUrl, {\n nullIfNotFound: true,\n followLink: false,\n })\n if (!sourceStats) {\n if (allowUseless) {\n return\n }\n throw new Error(`nothing to remove at ${urlToFileSystemPath(sourceUrl)}`)\n }\n\n // https://nodejs.org/dist/latest-v13.x/docs/api/fs.html#fs_class_fs_stats\n // FIFO and socket are ignored, not sure what they are exactly and what to do with them\n // other libraries ignore them, let's do the same.\n if (\n sourceStats.isFile() ||\n sourceStats.isSymbolicLink() ||\n sourceStats.isCharacterDevice() ||\n sourceStats.isBlockDevice()\n ) {\n await removeNonDirectory(\n sourceUrl.endsWith(\"/\") ? sourceUrl.slice(0, -1) : sourceUrl,\n {\n maxRetries,\n retryDelay,\n },\n )\n } else if (sourceStats.isDirectory()) {\n await removeDirectory(ensureUrlTrailingSlash(sourceUrl), {\n recursive,\n maxRetries,\n retryDelay,\n onlyContent,\n })\n }\n}\n\nconst removeNonDirectory = (sourceUrl, { maxRetries, retryDelay }) => {\n const sourcePath = urlToFileSystemPath(sourceUrl)\n\n let retryCount = 0\n const attempt = () => {\n return unlinkNaive(sourcePath, {\n ...(retryCount >= maxRetries\n ? {}\n : {\n handleTemporaryError: async () => {\n retryCount++\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(attempt())\n }, retryCount * retryDelay)\n })\n },\n }),\n })\n }\n return attempt()\n}\n\nconst unlinkNaive = (sourcePath, { handleTemporaryError = null } = {}) => {\n return new Promise((resolve, reject) => {\n unlink(sourcePath, (error) => {\n if (error) {\n if (error.code === \"ENOENT\") {\n resolve()\n } else if (\n handleTemporaryError &&\n (error.code === \"EBUSY\" ||\n error.code === \"EMFILE\" ||\n error.code === \"ENFILE\" ||\n error.code === \"ENOENT\")\n ) {\n resolve(handleTemporaryError(error))\n } else {\n reject(error)\n }\n } else {\n resolve()\n }\n })\n })\n}\n\nconst removeDirectory = async (\n rootDirectoryUrl,\n { maxRetries, retryDelay, recursive, onlyContent },\n) => {\n const visit = async (sourceUrl) => {\n const sourceStats = await readFileSystemNodeStat(sourceUrl, {\n nullIfNotFound: true,\n followLink: false,\n })\n\n // file/directory not found\n if (sourceStats === null) {\n return\n }\n\n if (\n sourceStats.isFile() ||\n sourceStats.isCharacterDevice() ||\n sourceStats.isBlockDevice()\n ) {\n await visitFile(sourceUrl)\n } else if (sourceStats.isSymbolicLink()) {\n await visitSymbolicLink(sourceUrl)\n } else if (sourceStats.isDirectory()) {\n await visitDirectory(`${sourceUrl}/`)\n }\n }\n\n const visitDirectory = async (directoryUrl) => {\n const directoryPath = urlToFileSystemPath(directoryUrl)\n const optionsFromRecursive = recursive\n ? {\n handleNotEmptyError: async () => {\n await removeDirectoryContent(directoryUrl)\n await visitDirectory(directoryUrl)\n },\n }\n : {}\n await removeDirectoryNaive(directoryPath, {\n ...optionsFromRecursive,\n // Workaround for https://github.com/joyent/node/issues/4337\n ...(process.platform === \"win32\"\n ? {\n handlePermissionError: async (error) => {\n console.error(\n `trying to fix windows EPERM after readir on ${directoryPath}`,\n )\n\n let openOrCloseError\n try {\n const fd = openSync(directoryPath)\n closeSync(fd)\n } catch (e) {\n openOrCloseError = e\n }\n\n if (openOrCloseError) {\n if (openOrCloseError.code === \"ENOENT\") {\n return\n }\n console.error(\n `error while trying to fix windows EPERM after readir on ${directoryPath}: ${openOrCloseError.stack}`,\n )\n throw error\n }\n\n await removeDirectoryNaive(directoryPath, {\n ...optionsFromRecursive,\n })\n },\n }\n : {}),\n })\n }\n\n const removeDirectoryContent = async (directoryUrl) => {\n const names = await readDirectory(directoryUrl)\n await Promise.all(\n names.map(async (name) => {\n const url = resolveUrl(name, directoryUrl)\n await visit(url)\n }),\n )\n }\n\n const visitFile = async (fileUrl) => {\n await removeNonDirectory(fileUrl, { maxRetries, retryDelay })\n }\n\n const visitSymbolicLink = async (symbolicLinkUrl) => {\n await removeNonDirectory(symbolicLinkUrl, { maxRetries, retryDelay })\n }\n\n if (onlyContent) {\n await removeDirectoryContent(rootDirectoryUrl)\n } else {\n await visitDirectory(rootDirectoryUrl)\n }\n}\n\nconst removeDirectoryNaive = (\n directoryPath,\n { handleNotEmptyError = null, handlePermissionError = null } = {},\n) => {\n return new Promise((resolve, reject) => {\n rmdir(directoryPath, (error, lstatObject) => {\n if (error) {\n if (handlePermissionError && error.code === \"EPERM\") {\n resolve(handlePermissionError(error))\n } else if (error.code === \"ENOENT\") {\n resolve()\n } else if (\n handleNotEmptyError &&\n // linux os\n (error.code === \"ENOTEMPTY\" ||\n // SunOS\n error.code === \"EEXIST\")\n ) {\n resolve(handleNotEmptyError(error))\n } else {\n reject(error)\n }\n } else {\n resolve(lstatObject)\n }\n })\n })\n}\n",
@@ -97,6 +98,7 @@
97
98
  "import { assertAndNormalizeDirectoryUrl } from \"./assertAndNormalizeDirectoryUrl.js\"\nimport { readFileSystemNodeStat } from \"./readFileSystemNodeStat.js\"\nimport { urlToFileSystemPath } from \"./urlToFileSystemPath.js\"\nimport { readSymbolicLink } from \"./readSymbolicLink.js\"\nimport { resolveUrl } from \"./resolveUrl.js\"\nimport { readDirectory } from \"./readDirectory.js\"\nimport { copyFileSystemNode } from \"./copyFileSystemNode.js\"\n\nimport { urlTargetsSameFileSystemPath } from \"./internal/urlTargetsSameFileSystemPath.js\"\nimport { statsToType } from \"./internal/statsToType.js\"\n\nexport const copyDirectoryContent = async ({\n from,\n to,\n overwrite,\n followLink = true,\n} = {}) => {\n const fromUrl = assertAndNormalizeDirectoryUrl(from)\n const fromPath = urlToFileSystemPath(fromUrl)\n let toUrl = assertAndNormalizeDirectoryUrl(to)\n let toPath = urlToFileSystemPath(toUrl)\n\n const sourceStats = await readFileSystemNodeStat(fromUrl, {\n nullIfNotFound: true,\n followLink: false,\n })\n if (!sourceStats) {\n throw new Error(`no directory to copy content from at ${fromPath}`)\n }\n if (!sourceStats.isDirectory()) {\n const sourceType = statsToType(sourceStats)\n throw new Error(\n `found a ${sourceType} instead of a directory at ${fromPath}`,\n )\n }\n\n let destinationStats = await readFileSystemNodeStat(toUrl, {\n nullIfNotFound: true,\n // we force false here but in fact we will follow the destination link\n // to know where we will actually move and detect useless move overrite etc..\n followLink: false,\n })\n if (followLink && destinationStats && destinationStats.isSymbolicLink()) {\n const linkTarget = await readSymbolicLink(toUrl)\n toUrl = resolveUrl(linkTarget, toUrl)\n toPath = urlToFileSystemPath(toUrl)\n destinationStats = await readFileSystemNodeStat(toUrl, {\n nullIfNotFound: true,\n })\n }\n\n if (destinationStats === null) {\n throw new Error(`no directory to copy content into at ${toPath}`)\n }\n if (!destinationStats.isDirectory()) {\n const destinationType = statsToType(destinationStats)\n throw new Error(\n `destination leads to a ${destinationType} instead of a directory at ${toPath}`,\n )\n }\n\n if (urlTargetsSameFileSystemPath(fromUrl, toUrl)) {\n throw new Error(\n `cannot copy directory content, source and destination are the same (${fromPath})`,\n )\n }\n\n const directoryEntries = await readDirectory(fromUrl)\n await Promise.all(\n directoryEntries.map(async (directoryEntry) => {\n const from = resolveUrl(directoryEntry, fromUrl)\n const to = resolveUrl(directoryEntry, toUrl)\n await copyFileSystemNode({\n from,\n to,\n overwrite,\n followLink,\n })\n }),\n )\n}\n",
98
99
  "/*\n * - file modes documentation on Node.js\n * https://nodejs.org/docs/latest-v13.x/api/fs.html#fs_file_modes\n */\n\nimport { promises } from \"node:fs\"\n\nimport { binaryFlagsToPermissions } from \"./internal/permissions.js\"\nimport { assertAndNormalizeFileUrl } from \"./assertAndNormalizeFileUrl.js\"\nimport { urlToFileSystemPath } from \"./urlToFileSystemPath.js\"\n\nconst { stat } = promises\n\nexport const readFileSystemNodePermissions = async (source) => {\n const sourceUrl = assertAndNormalizeFileUrl(source)\n const sourcePath = urlToFileSystemPath(sourceUrl)\n\n const { mode } = await stat(sourcePath)\n return binaryFlagsToPermissions(mode)\n}\n",
99
100
  "import { assertAndNormalizeFileUrl } from \"./assertAndNormalizeFileUrl.js\"\nimport { readFileSystemNodePermissions } from \"./readFileSystemNodePermissions.js\"\nimport { writeFileSystemNodePermissions } from \"./writeFileSystemNodePermissions.js\"\n\nexport const grantPermissionsOnFileSystemNode = async (\n source,\n { read = false, write = false, execute = false },\n) => {\n const sourceUrl = assertAndNormalizeFileUrl(source)\n\n const filePermissions = await readFileSystemNodePermissions(sourceUrl)\n await writeFileSystemNodePermissions(sourceUrl, {\n owner: { read, write, execute },\n group: { read, write, execute },\n others: { read, write, execute },\n })\n return async () => {\n await writeFileSystemNodePermissions(sourceUrl, filePermissions)\n }\n}\n",
101
+ "import { collectFiles } from \"./collectFiles.js\"\n\nexport const listFilesMatching = async (\n patterns,\n directoryUrl = process.cwd(),\n) => {\n if (typeof patterns === \"string\") {\n patterns = [patterns]\n } else if (Array.isArray(patterns)) {\n throw new TypeError(\n `patterns must be a string or an array of strings, got ${patterns}`,\n )\n }\n\n const patternMap = {}\n patterns.forEach((pattern, index) => {\n if (typeof pattern !== \"string\") {\n throw new TypeError(\n `every pattern must be a string, found ${pattern} at index ${index}`,\n )\n }\n patternMap[pattern] = true\n })\n\n const fileDatas = await collectFiles({\n directoryUrl,\n structuredMetaMap: {\n matches: patternMap,\n },\n predicate: ({ matches }) => matches,\n })\n\n return fileDatas.map(({ url }) => url)\n}\n",
100
102
  "export const memoize = (compute) => {\n let memoized = false\n let memoizedValue\n\n const fnWithMemoization = (...args) => {\n if (memoized) {\n return memoizedValue\n }\n // if compute is recursive wait for it to be fully done before storing the value\n // so set memoized boolean after the call\n memoizedValue = compute(...args)\n memoized = true\n return memoizedValue\n }\n\n fnWithMemoization.forget = () => {\n const value = memoizedValue\n memoized = false\n memoizedValue = undefined\n return value\n }\n\n return fnWithMemoization\n}\n",
101
103
  "/* eslint-disable import/max-dependencies */\nimport { rename } from \"node:fs\"\n\nimport { urlTargetsSameFileSystemPath } from \"./internal/urlTargetsSameFileSystemPath.js\"\nimport { statsToType } from \"./internal/statsToType.js\"\nimport { assertAndNormalizeFileUrl } from \"./assertAndNormalizeFileUrl.js\"\nimport { urlToFileSystemPath } from \"./urlToFileSystemPath.js\"\nimport { resolveUrl } from \"./resolveUrl.js\"\nimport { ensureParentDirectories } from \"./ensureParentDirectories.js\"\nimport { removeFileSystemNode } from \"./removeFileSystemNode.js\"\nimport { copyFileSystemNode } from \"./copyFileSystemNode.js\"\nimport { readFileSystemNodeStat } from \"./readFileSystemNodeStat.js\"\nimport { readSymbolicLink } from \"./readSymbolicLink.js\"\n\nexport const moveFileSystemNode = async ({\n from,\n to,\n overwrite = false,\n allowUseless = false,\n followLink = true,\n}) => {\n const fromUrl = assertAndNormalizeFileUrl(from)\n const fromPath = urlToFileSystemPath(fromUrl)\n let toUrl = assertAndNormalizeFileUrl(to)\n let toPath = urlToFileSystemPath(toUrl)\n\n const sourceStats = await readFileSystemNodeStat(fromUrl, {\n nullIfNotFound: true,\n followLink: false,\n })\n if (!sourceStats) {\n throw new Error(`nothing to move from ${fromPath}`)\n }\n\n let destinationStats = await readFileSystemNodeStat(toUrl, {\n nullIfNotFound: true,\n // we force false here but in fact we will follow the destination link\n // to know where we will actually move and detect useless move overrite etc..\n followLink: false,\n })\n\n if (followLink && destinationStats && destinationStats.isSymbolicLink()) {\n const linkTarget = await readSymbolicLink(toUrl)\n toUrl = resolveUrl(linkTarget, toUrl)\n toPath = urlToFileSystemPath(toUrl)\n destinationStats = await readFileSystemNodeStat(toUrl, {\n nullIfNotFound: true,\n })\n }\n\n if (urlTargetsSameFileSystemPath(fromUrl, toUrl)) {\n if (allowUseless) {\n return\n }\n throw new Error(\n `no move needed for ${fromPath} because destination and source are the same`,\n )\n }\n\n if (destinationStats) {\n const sourceType = statsToType(sourceStats)\n const destinationType = statsToType(destinationStats)\n\n if (sourceType !== destinationType) {\n throw new Error(\n `cannot move ${sourceType} from ${fromPath} to ${toPath} because destination exists and is not a ${sourceType} (it's a ${destinationType})`,\n )\n }\n if (!overwrite) {\n throw new Error(\n `cannot move ${sourceType} from ${fromPath} to ${toPath} because destination exists and overwrite option is disabled`,\n )\n }\n\n // remove file, link, directory...\n await removeFileSystemNode(toUrl, { recursive: true })\n } else {\n await ensureParentDirectories(toUrl)\n }\n\n await moveNaive(fromPath, toPath, {\n handleCrossDeviceError: async () => {\n await copyFileSystemNode({\n from: fromUrl,\n to: toUrl,\n preserveStat: true,\n })\n await removeFileSystemNode(fromUrl, { recursive: true })\n },\n })\n}\n\nconst moveNaive = (\n fromPath,\n destinationPath,\n { handleCrossDeviceError = null } = {},\n) => {\n return new Promise((resolve, reject) => {\n rename(fromPath, destinationPath, (error) => {\n if (error) {\n if (handleCrossDeviceError && error.code === \"EXDEV\") {\n resolve(handleCrossDeviceError(error))\n } else {\n reject(error)\n }\n } else {\n resolve()\n }\n })\n })\n}\n",
102
104
  "import { assertAndNormalizeDirectoryUrl } from \"./assertAndNormalizeDirectoryUrl.js\"\nimport { readFileSystemNodeStat } from \"./readFileSystemNodeStat.js\"\nimport { urlToFileSystemPath } from \"./urlToFileSystemPath.js\"\nimport { readSymbolicLink } from \"./readSymbolicLink.js\"\nimport { resolveUrl } from \"./resolveUrl.js\"\nimport { readDirectory } from \"./readDirectory.js\"\nimport { moveFileSystemNode } from \"./moveFileSystemNode.js\"\n\nimport { urlTargetsSameFileSystemPath } from \"./internal/urlTargetsSameFileSystemPath.js\"\nimport { statsToType } from \"./internal/statsToType.js\"\n\nexport const moveDirectoryContent = async ({\n from,\n to,\n overwrite,\n followLink = true,\n} = {}) => {\n const fromUrl = assertAndNormalizeDirectoryUrl(from)\n const fromPath = urlToFileSystemPath(fromUrl)\n let toUrl = assertAndNormalizeDirectoryUrl(to)\n let toPath = urlToFileSystemPath(toUrl)\n\n const sourceStats = await readFileSystemNodeStat(fromUrl, {\n nullIfNotFound: true,\n followLink: false,\n })\n if (!sourceStats) {\n throw new Error(`no directory to move content from at ${fromPath}`)\n }\n if (!sourceStats.isDirectory()) {\n const sourceType = statsToType(sourceStats)\n throw new Error(\n `found a ${sourceType} instead of a directory at ${fromPath}`,\n )\n }\n\n let destinationStats = await readFileSystemNodeStat(toUrl, {\n nullIfNotFound: true,\n // we force false here but in fact we will follow the destination link\n // to know where we will actually move and detect useless move overrite etc..\n followLink: false,\n })\n if (followLink && destinationStats && destinationStats.isSymbolicLink()) {\n const linkTarget = await readSymbolicLink(toUrl)\n toUrl = resolveUrl(linkTarget, toUrl)\n toPath = urlToFileSystemPath(toUrl)\n destinationStats = await readFileSystemNodeStat(toUrl, {\n nullIfNotFound: true,\n })\n }\n\n if (destinationStats === null) {\n throw new Error(`no directory to move content into at ${toPath}`)\n }\n if (!destinationStats.isDirectory()) {\n const destinationType = statsToType(destinationStats)\n throw new Error(\n `destination leads to a ${destinationType} instead of a directory at ${toPath}`,\n )\n }\n\n if (urlTargetsSameFileSystemPath(fromUrl, toUrl)) {\n throw new Error(\n `cannot move directory content, source and destination are the same (${fromPath})`,\n )\n }\n\n const directoryEntries = await readDirectory(fromUrl)\n await Promise.all(\n directoryEntries.map(async (directoryEntry) => {\n const from = resolveUrl(directoryEntry, fromUrl)\n const to = resolveUrl(directoryEntry, toUrl)\n await moveFileSystemNode({\n from,\n to,\n overwrite,\n followLink,\n })\n }),\n )\n}\n",
@@ -464,6 +466,16 @@
464
466
  "readFileSystemNodePermissions",
465
467
  "grantPermissionsOnFileSystemNode",
466
468
  "filePermissions",
469
+ "listFilesMatching",
470
+ "patterns",
471
+ "Array",
472
+ "isArray",
473
+ "patternMap",
474
+ "forEach",
475
+ "pattern",
476
+ "index",
477
+ "fileDatas",
478
+ "matches",
467
479
  "memoize",
468
480
  "compute",
469
481
  "memoized",
@@ -496,7 +508,6 @@
496
508
  "callbackArray",
497
509
  "registerCleanupCallback",
498
510
  "callback",
499
- "index",
500
511
  "indexOf",
501
512
  "splice",
502
513
  "cleanup",
@@ -524,7 +535,6 @@
524
535
  "eventType",
525
536
  "handleChange",
526
537
  "relativeUrlCandidateArray",
527
- "Array",
528
538
  "filter",
529
539
  "relativeUrlCandidate",
530
540
  "afterDirectory",
@@ -542,7 +552,6 @@
542
552
  "delete",
543
553
  "fileSystemPathToDirectoryRelativeUrlAndFilename",
544
554
  "readdirSync",
545
- "forEach",
546
555
  "normalizedPath",
547
556
  "registerFileLifecycle",
548
557
  "handleFileFound",
@@ -591,5 +600,5 @@
591
600
  "writeFileNode",
592
601
  "content"
593
602
  ],
594
- "mappings": "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"
603
+ "mappings": "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"
595
604
  }
package/main.js CHANGED
@@ -26,6 +26,7 @@ export { copyDirectoryContent } from "./src/copyDirectoryContent.js"
26
26
  export { fileSystemPathToUrl } from "./src/fileSystemPathToUrl.js"
27
27
  export { grantPermissionsOnFileSystemNode } from "./src/grantPermissionsOnFileSystemNode.js"
28
28
  export { isFileSystemPath } from "./src/isFileSystemPath.js"
29
+ export { listFilesMatching } from "./src/listFilesMatching.js"
29
30
  export { memoize } from "./src/memoize.js"
30
31
  export { moveDirectoryContent } from "./src/moveDirectoryContent.js"
31
32
  export { moveFileSystemNode } from "./src/moveFileSystemNode.js"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsenv/filesystem",
3
- "version": "2.2.0",
3
+ "version": "2.3.0",
4
4
  "description": "Collection of functions to interact with filesystem in Node.js",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -96,6 +96,7 @@ export const collectFiles = async ({
96
96
  }),
97
97
  })
98
98
  matchingFileResultArray.push({
99
+ url: new URL(relativeUrl, directoryUrl).href,
99
100
  relativeUrl,
100
101
  meta,
101
102
  fileStats: directoryChildNodeStats,
@@ -0,0 +1,34 @@
1
+ import { collectFiles } from "./collectFiles.js"
2
+
3
+ export const listFilesMatching = async (
4
+ patterns,
5
+ directoryUrl = process.cwd(),
6
+ ) => {
7
+ if (typeof patterns === "string") {
8
+ patterns = [patterns]
9
+ } else if (Array.isArray(patterns)) {
10
+ throw new TypeError(
11
+ `patterns must be a string or an array of strings, got ${patterns}`,
12
+ )
13
+ }
14
+
15
+ const patternMap = {}
16
+ patterns.forEach((pattern, index) => {
17
+ if (typeof pattern !== "string") {
18
+ throw new TypeError(
19
+ `every pattern must be a string, found ${pattern} at index ${index}`,
20
+ )
21
+ }
22
+ patternMap[pattern] = true
23
+ })
24
+
25
+ const fileDatas = await collectFiles({
26
+ directoryUrl,
27
+ structuredMetaMap: {
28
+ matches: patternMap,
29
+ },
30
+ predicate: ({ matches }) => matches,
31
+ })
32
+
33
+ return fileDatas.map(({ url }) => url)
34
+ }