Angular – File Uploader

In my last job I had a task to create a file up-loader for an application I was working on. So, I was between using a prebuilt library or build it from scratch which I opted to do, but why?

From my limited experience in Front-End development, one of the weaknesses I find in JS 3rd party libraries is that they use and depend on many other libraries which put a toll on maintainability and security.

  • How many times we install a library before we get a notification to run audit to address some security concerns?
  • How many times we try to update our libraries then to get hit by a message saying that some libraries can’t be updated because they depend on older versions? or they stop working at all.

In addition, most of the prebuilt up-loaders I found didn’t allow for the 2 use cases below:

  • Click and Upload
  • Drag and Drop

Demo: https://fileuploader.alwaqfi.net/
Git Repository: https://gitlab.com/alwaqfi/file-uploader-angular