* added template option and validation
* update comment link to element list
* get author info when fetching video info
* added template elements to video object
* minor function naming changes
* better exit message for template error
* changed template elements for better substitution
* implemented video title template
* removed trailing decimals on duration
* added template description
* removed hashing from uniqueId
removed debug logger.warn()
* fixed typos in default template
added elements to template fail message
* moved ffmpeg version logging to verbose
* Added Chromium caching of identity provider cookies
* Moved token expiry check in standalone method
* Created refreshSession function
* Session is now refreshed if the token expires
* Linting fixes
* Removed debug console.log()
* Added CC support
* Created function to prompt user for download parameters (interactive mode)
* Fix data folder for puppeteer
* Fixed multiple session error
* Fix token expire time
* Moved session refreshing to a more sensible place
* Changed Metadata name to Video (to better reflect the data structure)
* Complete CLI refactoring
* Removed useless sleep function
* Added outDir check from CLI
* Complete input parsing refactoring (both inline and file)
* Fixed and improved tests to work with the new input parsing
* Moved and improved output path generation to videoUtils
* Main code refactoring, added outpath to video type
* Minor changes in spacing and type definition style
* Updated readme after code refactoring
* Fix if inputFile doesn't start with url on line 1
* Minor naming change
* Use module 'winston' for logging
* Created logge, changed all console.log and similar to use the logger
* Added verbose logging, changed posterUrl property name on Video type
* Moved GUID extraction to input parsing
* Added support for group links
* Fixed test after last input parsing update
* Removed debug proces.exit()
* Changed from desc to asc order for group videos
* Updated test to reflect GUIDs output after parsing
* Added couple of comments and restyled some imports
* More readable verbose GUIDs logging
* Removed unused errors
* Temporary fix for timeout not working in ApiClient
* Explicit class member accessibility
* Defined array naming schema to be Array<T>
* Defined type/interface schema to be type only
* A LOT of type definitions
* Fix `makeUniqueTitle` was not working with (custom) output format
* Add option to skip already existing files
* Update README to include --skip option
Co-authored-by: molikuner <molikuner@gmail.com>
* Delete the video file on ffmpeg error
* rework chunk calculation (with more tests it turns out it was not good for all durations)
Co-authored-by: kylon <kylonux@gmail.com>
* Input url list: Fix bad Windows behavior
* Minor output fix
* Fix all download issues
- downloads are synchronous again
- fix progress bar (fix#39)
- nuke fluent and switch to a bug-free ffmpeg module (fessonia)
* Move destreamer process events to a new file, we may add more in the future, lets give them their own space
* Destreamer: Release packages and builder script
ETA when? :P
* Clean up
* Implement yargs checks and add --videoUrlsFile option
* Refactor error handling
- Human readable
- No magic numbers
* Handle mkdir error
- remove reduntant message
* gitignore: don't add hidden files
* Implement --outputDirectories
This gives us more flexibility on where to save videos
..especially if your videos have all the same name <.<
* Rename utils -> Utils
* Fix tests
don't import yargs on files other than main
* Create scripts directory
* Update make_release path
* Fix typo
* Create CONTRIBUTING.md
Co-authored-by: kylon <kylonux@gmail.com>