@sequencemedia/watch-match

1.2.13 • Public • Published

@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

npm start -- \
  --path '~/Documents/m3u' \
  --from '/Users/sequencemedia/Music/m4a' \
  --to '/Volumes/Audio/Assets'

Or with the default export

import watchMatch from '@sequencemedia/watch-match/watch-match'

const path = '~/Documents/m3u'
const from = '/Users/sequencemedia/Music/m4a'
const to = '/Volumes/Audio/Assets'

watchMatch(path, from, to)

For example, You have an application generating m3u files. Each file is written to a directory

That directory is the path

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

Package Sidebar

Install

npm i @sequencemedia/watch-match

Weekly Downloads

10

Version

1.2.13

License

MIT

Unpacked Size

10.3 kB

Total Files

6

Last publish

Collaborators

  • sequencemedialimited
  • jonathanperry