JSPM

filemanagementsystemfornode

1.0.2
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • Downloads 5
    • Score
      100M100P100Q28121F
    • License ISC

    A file management system for node.js application making managements of files easier, all in one code, you can delete, move, etc, files all in one code, making ability to manage a system eg a application requiring transfering of files in folders easier

    Package Exports

      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 (filemanagementsystemfornode) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

      Readme


      📘 File Management System - TypeScript

      A powerful, flexible, and chainable file management system for Node.js.

      📘 File Management System - TypeScript

      A powerful, flexible, and chainable file management system for Node.js.
      This system provides an easy way to manage files and directories while supporting:

      • Custom error handling
      • Custom chainable methods
      • Advanced file operations like compression, metadata retrieval, and content manipulation.

      📌 Key Features

      🚀 File Operations

      Rename, Move, Copy, and Delete files
      Append content to files
      Retrieve compressed file content (getInfo())
      Retrieve file metadata (getMetaInfo())

      📂 Directory Operations

      Create, Delete, and List directories
      Check if a file/folder exists (syncExist())

      ⚙ Customization & Error Handling

      Custom error handling (e.g., auto-create missing files on error)
      Add custom chainable methods (addMethod())
      Invoke custom chain methods dynamically (invokeMethod())


      📥 Installation

      To install and use this package, run:

      git clone https://github.com/Whitzzscott/FileManagement.git
      cd FileManagement
      npm install

      🛠 Usage Example

      This example demonstrates:

      • Error handling: Automatically creating a missing file if an error occurs.
      • Custom chainable methods: Adding a method that logs the file path.
      • File operations: Renaming, moving, copying, appending, and deleting a file.
      import { FileWrapper } from "./wrappers/FileWrapper";
      
      const file = new FileWrapper("./testFolder/sample.txt");
      
      // ✅ Custom error handling: Auto-create missing files when they are not found
      file.errorOnFound = (error) => {
          if (error.code === "ENOENT") {
              file.sync().writeFile("Default content");
              console.log(`📄 File created: ${file.getPath()}`);
          }
      };
      
      // ✅ Add a custom method (e.g., logging the file path)
      file.addMethod("logPath", function () {
          console.log("File is at:", this.getPath());
          return this;
      });
      
      // ✅ Chainable file operations
      (async () => {
          file
              .rename("renamed.txt")  // Renames file
              .invokeMethod("logPath") // Logs new file path
              .move("./testFolder/moved") // Moves file to a new folder
              .copy("./backup")  // Creates a copy in the backup folder
              .append("\nMore content added.") // Appends text to the file
              .delete();  // Deletes the file
      
          console.log("📄 Compressed File Content:", file.getInfo());
          console.log("📑 File Metadata:", file.getMetaInfo());
          console.log("📂 Files in directory:", file.list());
      })();

      📜 API Reference

      This file management system offers multiple operations for handling files and folders.

      📂 File Operations

      Method Description Example
      rename(newName: string) Renames the file file.rename("newName.txt")
      move(destination: string) Moves the file to a new directory file.move("./newFolder")
      copy(destination: string) Copies the file to a new location file.copy("./backup")
      delete() Deletes the file permanently file.delete()
      writeFile(content: string) Writes new content to the file (overwrites existing content) file.writeFile("Hello, world!")
      append(content: string) Appends new content to the file file.append("\nNew content")

      📁 Directory Operations

      Method Description Example
      syncExist() Checks if a file or folder exists if (file.syncExist()) {...}
      sync() Ensures the directory exists (creates it if missing) file.sync()
      list() Lists all files in the directory console.log(file.list())

      📊 File Info & Metadata

      Method Description Example
      getInfo() Reads and compresses the entire file content console.log(file.getInfo())
      getMetaInfo() Retrieves metadata such as size, creation date, and modification date console.log(file.getMetaInfo())

      ⚙ Customization & Error Handling

      Method Description Example
      errorOnFound = (error) => {...} Custom error handling (e.g., auto-create files) file.errorOnFound = (err) => {...}
      addMethod(name, method) Adds a custom chainable method file.addMethod("customMethod", function () {...})
      invokeMethod(name, ...args) Calls a custom method dynamically file.invokeMethod("customMethod")

      🔧 How to Use This Project

      1. Install the package
        npm install filemanagementsystemfornode
      2. Run the script
        npm run start
      3. Modify settings
        • Change file paths in src/main.ts to test different operations.
        • Modify core functionality in src/Wrapper if necessary.

      📜 License

      This project is open-source and free to use.


      💡 Future Enhancements

      We plan to add:

      • 🔹 File encryption support (AES, RSA encryption for file security)
      • 🔹 File versioning (track changes over time)
      • 🔹 Logging & monitoring system (track operations in a log file)

      🚀 Enjoy simplified file management with powerful chaining!
      Feel free to suggest new features or improvements! 🎯


      👨‍💻 Author

      WhitzScott - Developer of the File Management System.
      If you have questions or ideas, feel free to reach out!