https://github.com/sequencemedia/watch-match
https://github.com/sequencemedia/watch-match
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/sequencemedia/watch-match
- Owner: sequencemedia
- Created: 2021-12-28T13:04:08.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-05-23T04:35:39.000Z (about 2 years ago)
- Last Synced: 2024-05-23T09:15:12.071Z (about 2 years ago)
- Language: JavaScript
- Size: 2.74 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# @sequencemedia/watch-match
Watch a file system directory path and replace a _string pattern_ in its files whenever a file is added or modified
From the command line
```shell
npm start -- \
--path '~/Documents/m3u' \
--from '/Users/sequencemedia/Music/m4a' \
--to '/Volumes/Audio/Assets' \
--type 'm3u'
```
Or with the default export
```javascript
import watchMatch from '@sequencemedia/watch-match'
const path = '~/Documents/m3u'
const from = '/Users/sequencemedia/Music/m4a'
const to = '/Volumes/Audio/Assets'
const type = 'm3u'
watchMatch(path, from, to, type)
```
For example, You have an application generating `m3u` files. Each file is written to a directory
That directory is the `path`
```shell
cd ~/Documents/m3u
ls -l
-rw-r--r-- 1 sequencemedia staff 1879 04 Feb 08:08 The Doors - The Doors.m3u
-rw-r--r-- 1 sequencemedia staff 1879 04 Feb 08:09 The Doors - Strange Days.m3u
-rw-r--r-- 1 sequencemedia staff 1879 04 Feb 08:10 The Doors - Waiting For The Sun.m3u
```
Each file contains a _pattern_ you want to replace. In this case, the _pattern_ is also a _file system path_ `/Users/sequencemedia/Music/m4a` (but it could be _any_ string)
That is the `from`
```
#EXTM3U
#EXTINF:149,Break On Through (To The Other Side) - The Doors
/Users/sequencemedia/Music/m4a/The Doors/The Doors/01 Break On Through (To The Other Side).m4a
#EXTINF:215,Soul Kitchen - The Doors
/Users/sequencemedia/Music/m4a/The Doors/The Doors/02 Soul Kitchen.m4a
#EXTINF:154,The Crystal Ship - The Doors
/Users/sequencemedia/Music/m4a/The Doors/The Doors/03 The Crystal Ship.m4a
#EXTINF:153,Twentieth Century Fox - The Doors
/Users/sequencemedia/Music/m4a/The Doors/The Doors/04 Twentieth Century Fox.m4a
#EXTINF:200,Alabama Song (Whisky Bar) - The Doors
/Users/sequencemedia/Music/m4a/The Doors/The Doors/05 Alabama Song (Whisky Bar).m4a
#EXTINF:428,Light My Fire - The Doors
/Users/sequencemedia/Music/m4a/The Doors/The Doors/06 Light My Fire.m4a
#EXTINF:214,Back Door Man - The Doors
/Users/sequencemedia/Music/m4a/The Doors/The Doors/07 Back Door Man.m4a
#EXTINF:142,I Looked At You - The Doors
/Users/sequencemedia/Music/m4a/The Doors/The Doors/08 I Looked At You.m4a
#EXTINF:172,End Of The Night - The Doors
/Users/sequencemedia/Music/m4a/The Doors/The Doors/09 End Of The Night.m4a
#EXTINF:137,Take It As It Comes - The Doors
/Users/sequencemedia/Music/m4a/The Doors/The Doors/10 Take It As It Comes.m4a
#EXTINF:705,The End - The Doors
/Users/sequencemedia/Music/m4a/The Doors/The Doors/11 The End.m4a
```
And its replacement is the `to`
```
#EXTM3U
#EXTINF:149,Break On Through (To The Other Side) - The Doors
/Volumes/Audio/Assets/The Doors/The Doors/01 Break On Through (To The Other Side).m4a
#EXTINF:215,Soul Kitchen - The Doors
/Volumes/Audio/Assets/The Doors/The Doors/02 Soul Kitchen.m4a
#EXTINF:154,The Crystal Ship - The Doors
/Volumes/Audio/Assets/The Doors/The Doors/03 The Crystal Ship.m4a
#EXTINF:153,Twentieth Century Fox - The Doors
/Volumes/Audio/Assets/The Doors/The Doors/04 Twentieth Century Fox.m4a
#EXTINF:200,Alabama Song (Whisky Bar) - The Doors
/Volumes/Audio/Assets/The Doors/The Doors/05 Alabama Song (Whisky Bar).m4a
#EXTINF:428,Light My Fire - The Doors
/Volumes/Audio/Assets/The Doors/The Doors/06 Light My Fire.m4a
#EXTINF:214,Back Door Man - The Doors
/Volumes/Audio/Assets/The Doors/The Doors/07 Back Door Man.m4a
#EXTINF:142,I Looked At You - The Doors
/Volumes/Audio/Assets/The Doors/The Doors/08 I Looked At You.m4a
#EXTINF:172,End Of The Night - The Doors
/Volumes/Audio/Assets/The Doors/The Doors/09 End Of The Night.m4a
#EXTINF:137,Take It As It Comes - The Doors
/Volumes/Audio/Assets/The Doors/The Doors/10 Take It As It Comes.m4a
#EXTINF:705,The End - The Doors
/Volumes/Audio/Assets/The Doors/The Doors/11 The End.m4a
```