semver
fswatch
Our great sponsors
semver | fswatch | |
---|---|---|
720 | 22 | |
6,970 | 4,857 | |
0.9% | - | |
2.3 | 0.0 | |
about 2 months ago | about 2 months ago | |
C++ | ||
- | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
semver
-
Using semantic-release to automate releases and changelogs
Semantic Versioning: An established convention for version numbers following the pattern MAJOR.MINOR.PATCH
-
Essential Command Line Tools for Developers
Increases the major of the latest tag and prints it As per the Semver spec, it'll also clear the pre-release…
-
Neovim v0.9.5 Released
I believe neovim follows semantic versioning. https://semver.org/
-
Semver 2.0.0 Released
Semver has been 2.0.0 for 10 years, look at the date of the assets. Multiple releases created today where none existed before. Not sure why someone is creating releases now, perhaps just some housekeeping/cleanup.
-
fkYAML v0.3.0: Support non-string-scalar nodes as mapping keys
If you're using semver, read the spec it's not overly long or hard to understand.
-
Immich will have breaking changes (again) in the next release
Semantic versioning actually has a clear rule about this:
-
Pragmatic Versioning – An Alternative to Semver
The biggest issue with semver is that it encourages compatibility breakages unoer a false promise that increased major version number saves the users from the dependency hell.
-
Python Versions and Release Cycles
Python versions include a major, minor, and micro component. It's slightly similar in concept to semver, though the minor version may do something incompatible at times. An example of this is the removal of distutils in 3.12. While technically not a language change persay, it did mean some build systems had to be revamped to accommodate this change. In general you'll see python referred to in a major.minor format such as:
fswatch
-
MakeMake: Generate make files from C source code
Or even better, fswatch (https://github.com/emcrisostomo/fswatch) which works on Linux, BSDs, macOS, Windows, and even Solaris
-
Are there any CLIs or good ways on macOS to real-time / continuously sync two folders on the same drive?
If you don’t mind shell shell scripting you can use something like fswatch and some shell logic to do something similar.
-
File System Watcher
Well, I am not too lazy to search but I was interested in your experience, especially with reliability.
This one looks interesting: https://github.com/emcrisostomo/fswatch
-
Kubernetes Reload/Restart pod on file changes
What about using https://github.com/emcrisostomo/fswatch ?
-
Watchman: Execute a command when something changes
The required kernel hooks exist in pretty much any common OS these days, it is a user-space tool that is sometimes missing.
It may not be installed by default, but inotifywait is available in common Linux distributions, usually in a package called something like ionotify-tools, and has been for over a decade-ana-half IIRC. It'll work under WSL on Windows too, though only for ext4 devices not bits of the Windows filesystem made available to Linux.
I can't speak to what other OSs include by default, but as every major OS has a different API for defining how to register a lister and how it gets messages no built-in tool is going to be cross platform. There are third party tools which present more cross-platform consistency, most notably https://github.com/emcrisostomo/fswatch#readme (also available in common Linux distros, just an apt install away in Debian for instance).
-
GhostSCAD: Marrying OpenSCAD and Golang
> It watches source files, and regenerates the OpenSCAD files automatically
inotify() is awesome. Here's a library in python that does it.
https://michaelcho.me/article/using-pythons-watchdog-to-moni...
There's also inotifywatch on linux and fswatch on mac. I'm sure there's alternatives for BSD Unix and Windows, but I care the least about those OS's.
-
Rapid development helper: run program when anything changes
This setup uses the fswatch utility. If you want to adapt it for your own use, this is the key bit: fswatch -0 -o $YOUR_FILES | while read -d "" event ; do runscript done where runscript is a shell function to run the program (compile it too if necessary) and $YOUR_FILES are shell globs that match the files you want to watch.
-
Writing Bash Scripts Like A Pro - Part 1 - Styling Guide
Background jobs and watching file for changes with fswatch
-
Is there something that monitors your code as you're working and re-executes it on the command line every time it notices a change?
I had good luck with fswatch last time I did something like this. Same principle as what /u/balloonanimalfarm links, but it's cross-platform. It also uses the inotify API on linux, but others on different OSes.
-
Random file appeared on my mac desktop then disappeared instantly.
Theoretically, you could use something like fswatch and make a simple one-liner like fswatch ~/Desktop | xargs -I{} cp {} ~/caught-files
What are some alternatives?
inotify-tools - inotify-tools is a C library and a set of command-line programs providing a simple interface to inotify.
react-native - A framework for building native applications using React
semantic-release - :package::rocket: Fully automated version management and package publishing
standard-version - :trophy: Automate versioning and CHANGELOG generation, with semver.org and conventionalcommits.org
watchexec - Executes commands in response to file modifications
changesets - 🦋 A way to manage your versioning and changelogs with a focus on monorepos
helmfile - Deploy Kubernetes Helm Charts
Poetry - Python packaging and dependency management made easy
keep-a-changelog - If you build software, keep a changelog.
TermuxBlack - Termux repository for hacking tools and packages
Flutter - Flutter makes it easy and fast to build beautiful apps for mobile and beyond
lerna - :dragon: Lerna is a fast, modern build system for managing and publishing multiple JavaScript/TypeScript packages from the same repository.