JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 67
  • Score
    100M100P100Q84194F
  • License MIT

Node.js module that reduces EPERM errors on win32 platform using retry approach

Package Exports

  • fs-no-eperm-anymore

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (fs-no-eperm-anymore) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

fs-no-eperm-anymore

is a Node.js module that reduces EPERM or other errors on win32 or other platforms using retry loop approach.

Build Status: Linux / MacOS Build status: Windows

Notes

  • Original "fs" methods are wrapped into the ES2015 Promises.
  • Module exposes only the async functions. Retry approach is used and so it won't make much sense to sleep the main process just to support sync methods set.
  • You can see some details about the options parameter in the Making options more flexible issue. Default options value:
    const options = {
        items: [
            {
                platforms: ["win32"],
                errorCodes: ["EPERM"], // https://nodejs.org/api/errors.html#errors_common_system_errors
                options: {
                    retryIntervalMs: 100,
                    retryTimeoutMs: 10 * 1000,
                },
            },
        ],
    };

Code Example

    import {instantiate} from "fs-no-eperm-anymore";
    // const fs = require("fs-no-eperm-anymore").instantiate();
     
    // options parameter is optional
    const fs = instantiate(/*options*/);
    
    fs.rename("from.txt", "to.txt")
        .then(() => console.log("Successful renaming"))
        .catch((error) => console.log("Renaming failed with the error", error));