Skip to content

Latest commit

 

History

History
80 lines (55 loc) · 2.1 KB

README.md

File metadata and controls

80 lines (55 loc) · 2.1 KB

nocloud

nocloud 🔄🚫☁️

iCloud nosync cli

What is nocloud?

Firstly a WIP or quick POC. nocloud pretends to solve the problem of syncing files with iCloud that might need to follow any given name convention. I'm 👀 at you node_modules folder 😅.

How does it work?

iCloud, as today, will ignore any file or folder ending in .nosync when syncing to the ☁️. Knowing that, nocloud does the following:

  1. Renames any given files or directories, adding the extension .nosync.
  2. Creates a symbolic link with the original name to the renamed one.

Usage

Clone or download nocloud.sh

Make it executable by running:

$ chmod +x nocloud.sh

or install it globally by running:

$ install nocloud.sh /usr/local/bin/nocloud

Stop syncing any file or folder by running:

$ nocloud <name-of-the-file-or-folder>

Example If you dont want to sync your (>200MB) node_modules folder:

$ nocloud node_modules

Tests

  • Moves to *.nosync and creates a symbolic link with the original name
    • Works for directories
    • Works for files

TODO

  • Add exit codes
  • Undo the - removes the symbolyc link, then removes .nosync extension
  • Check conflicts
  • Allow multiple arguments
  • Allow file patterns
  • TDD in bash 😅
  • Add silent mode 🤫
  • Create the the actual cli
  • Add prettier for bash. Is this feasible? 😅
  • Publish to homebrew formulas
  • semantic-release - will it blend? 👩‍🍳 It did blend!

not that FAQ

Q: Why is there a package.json file in a bash project, I see no JavaScript?

A: Why? Why not 😜! package.json holds the release script with semantic-release and some info about the project, like the actual version. JavaScript everywhere! Even whenever the project it's not a JS one 😎

🙏 Thanks

Logo inspiration:

  • Sync by ProSymbols from the Noun Project
  • Cloud by Kumar from the Noun Project