diff --git a/.versionrc b/.versionrc new file mode 100644 index 00000000..35fa2364 --- /dev/null +++ b/.versionrc @@ -0,0 +1,31 @@ +{ + "skip": { + "bump": true, + "commit": true, + "tag": true, + "changelog": false + }, + "types": [ + { + "type": "chore", + "hidden": true + }, + { + "type": "docs", + "hidden": true + }, + { + "type": "feat", + "section": "Features" + }, + { + "type": "fix", + "section": "Bug Fixes" + }, + { + "type": "refactor", + "section": "Tweaks" + } + ], + "releaseCommitMessageFormat": "chore(release): {{currentTag}} [skip ci]" +} \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 22d025b1..2a4e205d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,740 +1,687 @@ -# LunaSea Changelog +### 6.0.0 -## v6.0.0 (60000006) +### Features -#### NEW +- **Dashboard:** (Calendar) Display content poster and additional information +- **Dashboard:** (Calendar) Add option to show past days in schedule view +- **Dashboard:** (Calendar) Use different marker colours depending on how much content is missing +- **Lidarr:** (Add Artist) Long-press result tile to view Discogs page +- **Lidarr:** (Add Artist) Show artist poster in result list +- **Lidarr:** (Add Artist) Allow user to select monitoring options +- **Lidarr:** (Add Artist) Removed toggle to use album folders +- **Lidarr:** (Catalogue) Show artist poster in catalogue list +- **Lidarr:** (Missing) Display album covers +- **Notifications:** (Priority) Support time-sensitive notifications +- **Settings:** (Account) Ability to delete your LunaSea account and all cloud data +- **Settings:** (Configuration) Show dismissible blocks with information and links +- **Settings:** (Network) Ability to enable TLS certificate validation +- **Settings:** (Radarr) Ability to set default catalogue view +- **Settings:** (Sonarr) Removed toggle to enable v3 features +- **Settings:** (Sonarr) Ability to set default catalogue view +- **Settings:** (Sonarr) Ability to set default filtering method +- **Settings:** (Sonarr) Ability to set queue fetch size +- **Settings:** (System) Ability to clear image cache +- **Radarr:** (Catalogue) Grid view support +- **Radarr:** (Catalogue) Expand search bar on focus +- **Sonarr:** (Catalogue) Grid view support +- **Sonarr:** (Catalogue) Expand search bar on focus +- **Sonarr:** (Catalogue) Many additional sorting and filtering options +- **Sonarr:** (Episodes) Entirely revamped details view +- **Sonarr:** (Episodes) View media info for downloaded episodes +- **Sonarr:** (Episodes) View history for a single episode +- **Sonarr:** (Episodes) View active queued releases for a single episode +- **Sonarr:** (Season Details) View history for a single season +- **Sonarr:** (Series Details) View history for a single series +- **Sonarr:** (History) Now an infinite scrolling list +- **Sonarr:** (History) Tiles are now expandable tiles with much more detail +- **Sonarr:** (Home) "History" tab has been replaced with a "More" tab +- **Sonarr:** (Season List) Display season posters +- **Sonarr:** (Queue) Option to set queue page size +- **Sonarr:** (Releases) Ability to set default filtering method +- **Sonarr:** (Releases) Now shows preferred word score +- **System:** (Analytics) Completely removed Firebase Analytics +- **System:** (Analytics) Completely removed Firebase Crashlytics +- **System:** (Images) Cache fetched images to disk +- **UI/UX:** (Icons) Added/updated brand icons for Lidarr, Sonarr, and Overseerr +- **UI/UX:** (Tile Blocks) Allow overflowing title or body lines to be horizontally scrolled -- `[Dashboard]` (Calendar) Display content poster and additional information -- `[Dashboard]` (Calendar) Add option to show past days in schedule view -- `[Dashboard]` (Calendar) Use different marker colours depending on how much content is missing -- `[Lidarr]` (Add Artist) Long-press result tile to view Discogs page -- `[Lidarr]` (Add Artist) Show artist poster in result list -- `[Lidarr]` (Add Artist) Allow user to select monitoring options -- `[Lidarr]` (Add Artist) Removed toggle to use album folders -- `[Lidarr]` (Catalogue) Show artist poster in catalogue list -- `[Lidarr]` (Missing) Display album covers -- `[Notifications]` (Priority) Support time-sensitive notifications -- `[Settings]` (Account) Ability to delete your LunaSea account and all cloud data -- `[Settings]` (Configuration) Show dismissible blocks with information and links -- `[Settings]` (Network) Ability to enable TLS certificate validation -- `[Settings]` (Radarr) Ability to set default catalogue view -- `[Settings]` (Sonarr) Removed toggle to enable v3 features -- `[Settings]` (Sonarr) Ability to set default catalogue view -- `[Settings]` (Sonarr) Ability to set default filtering method -- `[Settings]` (Sonarr) Ability to set queue fetch size -- `[Settings]` (System) Ability to clear image cache -- `[Radarr]` (Catalogue) Grid view support -- `[Radarr]` (Catalogue) Expand search bar on focus -- `[Sonarr]` (Catalogue) Grid view support -- `[Sonarr]` (Catalogue) Expand search bar on focus -- `[Sonarr]` (Catalogue) Many additional sorting and filtering options -- `[Sonarr]` (Episodes) Entirely revamped details view -- `[Sonarr]` (Episodes) View media info for downloaded episodes -- `[Sonarr]` (Episodes) View history for a single episode -- `[Sonarr]` (Episodes) View active queued releases for a single episode -- `[Sonarr]` (Season Details) View history for a single season -- `[Sonarr]` (Series Details) View history for a single series -- `[Sonarr]` (History) Now an infinite scrolling list -- `[Sonarr]` (History) Tiles are now expandable tiles with much more detail -- `[Sonarr]` (Home) "History" tab has been replaced with a "More" tab -- `[Sonarr]` (Season List) Display season posters -- `[Sonarr]` (Queue) Option to set queue page size -- `[Sonarr]` (Releases) Ability to set default filtering method -- `[Sonarr]` (Releases) Now shows preferred word score -- `[System]` (Analytics) Completely removed Firebase Analytics -- `[System]` (Analytics) Completely removed Firebase Crashlytics -- `[System]` (Images) Cache fetched images to disk -- `[UI/UX]` (Icons) Added/updated brand icons for Lidarr, Sonarr, and Overseerr -- `[UI/UX]` (Tile Blocks) Allow overflowing title or body lines to be horizontally scrolled +### Tweaks -#### TWEAKS +- **Dashboard:** (Modules) Always use module's brand colour for module list +- **UI/UX:** (Drawer) Use module's brand colour for highlighted colour +- **UI/UX:** (Drawer) Heavily reduced the size of the header area +- **UI/UX:** (Drawer) Use the primary colour as the background colour +- **UI/UX:** (Fonts) Normalized font sizes across the UI +- **UI/UX:** (Icons) Ensure all icons are of the "rounded" family +- **UI/UX:** (Icons) Replace custom icons (except branding icons) with Flutter defaults +- **UI/UX:** (Images) Set the default image opacity to 20% (custom set values are unaffected) +- **UI/UX:** (Tile Blocks) Heavily improved build and memory performance of tiles +- **UI/UX:** (Tile Blocks) Improved consistency in trailing icon/text size +- **UI/UX:** (Tile Blocks) Improved consistency of tile height, content spacing, and padding +- **UI/UX:** (Tile Blocks) Natively draw placeholder posters for movies, series, albums, etc. +- **UI/UX:** (Tile Blocks) Fade-in background image loads +- **UI/UX:** (Tooltips) Added styling to match LunaSea theme -- `[Dashboard]` (Modules) Always use module's brand colour for module list -- `[UI/UX]` (Drawer) Use module's brand colour for highlighted colour -- `[UI/UX]` (Drawer) Heavily reduced the size of the header area -- `[UI/UX]` (Drawer) Use the primary colour as the background colour -- `[UI/UX]` (Fonts) Normalized font sizes across the UI -- `[UI/UX]` (Icons) Ensure all icons are of the "rounded" family -- `[UI/UX]` (Icons) Replace custom icons (except branding icons) with Flutter defaults -- `[UI/UX]` (Images) Set the default image opacity to 20% (custom set values are unaffected) -- `[UI/UX]` (Tile Blocks) Heavily improved build and memory performance of tiles -- `[UI/UX]` (Tile Blocks) Improved consistency in trailing icon/text size -- `[UI/UX]` (Tile Blocks) Improved consistency of tile height, content spacing, and padding -- `[UI/UX]` (Tile Blocks) Natively draw placeholder posters for movies, series, albums, etc. -- `[UI/UX]` (Tile Blocks) Fade-in background image loads -- `[UI/UX]` (Tooltips) Added styling to match LunaSea theme +### Bug Fixes -#### FIXES +- **Dashboard:** (Calendar) Only show type switcher icon when on the calendar page +- **Lidarr:** (Artists) Safe-guard fetching of artist quality profiles +- **Radarr:** (Add Movie) Removed ability to set PreDB or TBA minimum availability +- **Radarr:** (Edit Movie) Removed ability to set PreDB or TBA minimum availability +- **Radarr:** (Files) Failed to load when files have no media information +- **Radarr:** (Releases) Negative custom word scores would be incorrectly displayed +- **Settings:** (Calendar) Starting type would have incorrect icons +- **Settings:** (Notifications) Overseerr would not be displayed +- **Sonarr:** (API) Now only utilizes v3 API routes +- **Sonarr:** (Catalogue) Missing filter would fail to load when using Sonarr v4 +- **Sonarr:** (Edit Series) Vastly speed up response time on submitting updates +- **Sonarr:** (Missing) Air date would show in days for very old content +- **Sonarr:** (Queue) Check monitored download status on pull to refresh +- **Sonarr:** (Season List) Correctly calculate the available episode count +- **System:** Update packages +- **System:** Upgrade to Firebase SDK v8.9.0 +- **System:** TLS v1.3 is now fully supported +- **Tautulli:** (Activity) Activity counter badge would not completely fade away +- **Tautulli:** (Check for Updates) Checking for updates could fail in some cases +- **UI/UX:** (Bottom Sheet) Tightly size all bottom sheets to the content +- **UI/UX:** (List View) Make padding around the end of infinite list loaders and icons more consistent +- **UI/UX:** (Popup Menu) Positioning could get unaligned or broken if opened in specific views +- **UI/UX:** (Router) Slide transitions between pages could not occur on some devices +- **UI/UX:** (Snackbar) Snackbar would not be shown in some cases +- **UI/UX:** (Theme) Removed deprecated theme values -- `[Dashboard]` (Calendar) Only show type switcher icon when on the calendar page -- `[Lidarr]` (Artists) Safe-guard fetching of artist quality profiles -- `[Radarr]` (Add Movie) Removed ability to set PreDB or TBA minimum availability -- `[Radarr]` (Edit Movie) Removed ability to set PreDB or TBA minimum availability -- `[Radarr]` (Files) Failed to load when files have no media information -- `[Radarr]` (Releases) Negative custom word scores would be incorrectly displayed -- `[Settings]` (Calendar) Starting type would have incorrect icons -- `[Settings]` (Notifications) Overseerr would not be displayed -- `[Sonarr]` (API) Now only utilizes v3 API routes -- `[Sonarr]` (Catalogue) Missing filter would fail to load when using Sonarr v4 -- `[Sonarr]` (Edit Series) Vastly speed up response time on submitting updates -- `[Sonarr]` (Missing) Air date would show in days for very old content -- `[Sonarr]` (Queue) Check monitored download status on pull to refresh -- `[Sonarr]` (Season List) Correctly calculate the available episode count -- `[System]` Update packages -- `[System]` Upgrade to Firebase SDK v8.9.0 -- `[System]` TLS v1.3 is now fully supported -- `[Tautulli]` (Activity) Activity counter badge would not completely fade away -- `[Tautulli]` (Check for Updates) Checking for updates could fail in some cases -- `[UI/UX]` (Bottom Sheet) Tightly size all bottom sheets to the content -- `[UI/UX]` (List View) Make padding around the end of infinite list loaders and icons more consistent -- `[UI/UX]` (Popup Menu) Positioning could get unaligned or broken if opened in specific views -- `[UI/UX]` (Router) Slide transitions between pages could not occur on some devices -- `[UI/UX]` (Snackbar) Snackbar would not be shown in some cases -- `[UI/UX]` (Theme) Removed deprecated theme values +### 5.1.0 ---- +### Features -## v5.1.0 (50100004) +- **Dashboard:** (Modules) Show Wake on LAN tile +- **Drawer:** Ability to customize the order of modules +- **External Modules:** Ability to add and view external modules +- **Performance:** Build LunaSea with pre-compiled SkSL shaders -#### NEW +### Tweaks -- `[Dashboard]` (Modules) Show Wake on LAN tile -- `[Drawer]` Ability to customize the order of modules -- `[External Modules]` Ability to add and view external modules -- `[Performance]` Build LunaSea with pre-compiled SkSL shaders +- **Dashboard:** (Calendar) Add divider between calendar and calendar entries +- **Dashboard:** (Modules) Synchronize module ordering with drawer ordering +- **Drawer:** Default to sorting modules alphabetically +- **Settings:** (Configuration) Alphabetically sort the modules -#### TWEAKS +### Bug Fixes -- `[Dashboard]` (Calendar) Add divider between calendar and calendar entries -- `[Dashboard]` (Modules) Synchronize module ordering with drawer ordering -- `[Drawer]` Default to sorting modules alphabetically -- `[Settings]` (Configuration) Alphabetically sort the modules +- **Flutter:** Update packages +- **Flutter:** Upgrade to Firebase SDK v7.11.0 +- **Locale:** Ensure that the date formatter uses the currently set locale +- **Radarr:** (Manual Import) Could not select movie when using Radarr v3.1.0+ +- **Search:** Indexers would not load in some cases when the headers map was null/empty +- **Settings:** (Connection Test) Connection tests could fail unexpectedly +- **Settings:** (Dialogs) Ensure all bulleted lists in dialogs are left aligned +- **Sonarr:** (Edit) Grey screen could be shown when a user has no tags +- **Sonarr:** (Edit) Grey screen could be shown when a user has no language profiles +- **Tautulli:** (Graphs) Line chart tooltips had incorrect data +- **UI/UX:** Popup menus were not aligned correctly +- **UI/UX:** (Buttons) Border would incorrectly be applied to buttons with a background colour set +- **UI/UX:** (ListView) Vertical padding did not match horizontal padding -#### FIXES +### 5.0.1 -- `[Flutter]` Update packages -- `[Flutter]` Upgrade to Firebase SDK v7.11.0 -- `[Locale]` Ensure that the date formatter uses the currently set locale -- `[Radarr]` (Manual Import) Could not select movie when using Radarr v3.1.0+ -- `[Search]` Indexers would not load in some cases when the headers map was null/empty -- `[Settings]` (Connection Test) Connection tests could fail unexpectedly -- `[Settings]` (Dialogs) Ensure all bulleted lists in dialogs are left aligned -- `[Sonarr]` (Edit) Grey screen could be shown when a user has no tags -- `[Sonarr]` (Edit) Grey screen could be shown when a user has no language profiles -- `[Tautulli]` (Graphs) Line chart tooltips had incorrect data -- `[UI/UX]` Popup menus were not aligned correctly -- `[UI/UX]` (Buttons) Border would incorrectly be applied to buttons with a background colour set -- `[UI/UX]` (ListView) Vertical padding did not match horizontal padding +### Bug Fixes ---- +- **iOS:** LunaSea would hard crash on startup on iOS 12 or lower devices -## v5.0.1 (50001002) +### 5.0.0 -#### PLATFORM-SPECIFIC +### Features -- `[iOS]` (fix) LunaSea would hard crash on startup on iOS 12 or lower devices +- **-arr:** (Content Details) Added a button to the AppBar to jump directly into the edit page +- **-arr:** (Releases) Match torrent seeder colours to the web GUI +- **Android:** Attach module headers to requests when viewing the web GUI +- **Android:** Set status and navigation bar colours to match LunaSea +- **Dashboard:** "Home" has been renamed to "Dashboard" +- **Logger:** Utilize a new, custom built on-device logging system +- **Logger:** Compact/delete old log entries once the log count passes 100 +- **Logger:** Exported logs are now in JSON format +- **Logger:** Switch to Firebase Crashlytics from Sentry for crash and log monitoring +- **Logger:** Added Firebase Analytics for breadcrumb tracking in crashes +- **Notifications:** Support for webhook-based rich push notifications +- **NZBGet:** (Queue) Add category to the queue tile +- **Quick Actions:** Default "Settings" quick action added to end of the list (if there is room) +- **Radarr:** Completely rewritten from the ground-up +- **Radarr:** (Catalogue) If no movie is found in the search query, given an option to search to add the movie +- **Radarr:** (Discover) Ability to discover movies from your import lists & Radarr recommendations +- **Radarr:** (Filtering/Sorting) Many additional filtering and sorting options +- **Radarr:** (History) Now an infinite scrolling list +- **Radarr:** (Manual Import) Ability to manually import content from the filesystem +- **Radarr:** (Movie) Cast information, movie-specific history, more detailed file information, & more detailed overview page +- **Radarr:** (Queue) View, update, and manage items in the queue +- **Radarr:** (System Status) Page to view status, health, and disk spaces +- **Radarr:** (Tags) Manage, set, and delete tags +- **SABnzbd:** (Queue) Add category to the queue tile +- **Search:** (Results) Show clickable comment and download links in the expanded table +- **Search:** (Results) Now supports infinite scrolling for loading additional pages of results +- **Settings:** (Notifications) Added page to setup webhook-based push notifications +- **Settings:** (Radarr) Ability to toggle on or off Radarr suggestions in the discover page +- **Settings:** (Radarr) Ability to set sorting direction, category, and filtering method +- **Settings:** (Resources) Added link to Weblate localization page +- **Settings:** (Resources) Added link to hosted services status page +- **Settings:** (Search) Ability to toggle off showing comment and download links +- **Settings:** (System) Ability to disable Firebase Analytics and Firebase Crashlytics +- **Sonarr:** (Catalogue) If no series is found in the search query, given an option to search to add the series +- **Sonarr:** (Queue) Refreshing the queue will now also refresh the monitored downloads from the clients +- **Tautulli:** (Activity) Show custom season titles from Plex's new TV agent +- **Tautulli:** (Activity) Show session type and bandwidth type breakdown on activity page +- **Tautulli:** (Activity) Show subtitle stream decision +- **UI/UX:** (Experience) Ability to tap the AppBar to scroll to top +- **UI/UX:** (Experience) If the list is in a tabbed PageView, tapping the active tab will scroll the list to the top +- **UI/UX:** (Experience) If the keyboard is open, scrolling the list, swiping between pages, or opening the drawer will dismiss the keyboard +- **UI/UX:** (Experience) Added haptic feedback to all buttons, toggles, and dropdowns ---- +### Tweaks -## v5.0.0 (50000019) +- **-arr:** (Releases) Improve the layout of the rejection reasons dialog +- **Dashboard:** (Calendar) Set bounds to calendar +- **Dashboard:** (Calendar) Removed month header from calendar +- **Dashboard:** (Calendar) Disable calendar days outside of the past and future date range +- **Dashboard:** (Calendar) Made the styling for calendar slightly more consistent +- **Logger:** Removed viewing the stack trace within the application (still viewable within the exported logs) +- **NZBGet:** (Queue) Submenu for queued NZBs are now accessible via a single tap on the tile +- **NZBGet:** (Queue) Reordering queue items now occurs by dragging via the handle +- **Radarr:** Now only supports v3.0.0 and higher of Radarr +- **Radarr:** Many visual changes, too many to list +- **Radarr:** The tab "History" has been replaced with "More" +- **Radarr:** (Edit) Monitor toggle has been moved to the edit prompt +- **SABnzbd:** (Queue) Submenu for queued NZBs are now accessible via a single tap on the tile +- **SABnzbd:** (Queue) Reordering queue items now occurs by dragging via the handle +- **Search:** (Results) Now returns 50 results per infinite scrolling page +- **Search:** (Results) Removed support for sorting and filtering results +- **Settings:** (Account) Removed the ability to pull user ID or device ID from help dialog +- **Settings:** (Configuration) Sort configuration options within modules for cleaner isolation and easier expansion for future configuration options +- **Settings:** (Profiles) Renaming a profile now checks for an existing profile with the same name within the prompt +- **Settings:** (Profiles) Adding a profile now checks for an existing profile with the same name within the prompt +- **Settings:** (Profiles) The delete profile prompt now hides the currently enabled profile, and shows a snackbar if only one profile exists +- **Settings:** (Wake on LAN) Allow clearing the broadcast and MAC addresses to empty values +- **Tautulli:** (Activity) Cleanup player information to more closely resemble web GUI +- **Tautulli:** (Activity) Show the full season title +- **UI/UX:** (Accessibility) Added more descriptive tooltips to all popup menu buttons +- **UI/UX:** (Bottom Sheet) Bottom modal sheets lists will now shrink wrap to match content height +- **UI/UX:** (Brands) Updated the logo to The Movie Database's new logo +- **UI/UX:** (Design) Active tab in navigation bar now has a border with the AMOLED theme +- **UI/UX:** (Design) Adjusted the style of splash/highlight inking +- **UI/UX:** (Design) Reduced the weight of bold text across the application +- **UI/UX:** (Design) Added padding to bottom of lists for devices that require a safe area +- **UI/UX:** (Design) Minor tweaks to the colour palette +- **UI/UX:** (Design) Unify the design and size of all action buttons +- **UI/UX:** (Design) Sticky primary action buttons to the bottom navigation bar area +- **UI/UX:** (Design) Removed all deprecated UI elements and usages +- **UI/UX:** (Design) Many additional, minor tweaks to the design +- **UI/UX:** (Drawer) Removed the option to use categories/folders in the drawer +- **UI/UX:** (Navigation) Jump instead of animate to page when tapping a navbar item +- **UI/UX:** (Profiles) Highlight active profile in profile switcher popup menus -#### NEW +### Bug Fixes -- `[-arr]` (Content Details) Added a button to the AppBar to jump directly into the edit page -- `[-arr]` (Releases) Match torrent seeder colours to the web GUI -- `[Dashboard]` "Home" has been renamed to "Dashboard" -- `[Logger]` Utilize a new, custom built on-device logging system -- `[Logger]` Compact/delete old log entries once the log count passes 100 -- `[Logger]` Exported logs are now in JSON format -- `[Logger]` Switch to Firebase Crashlytics from Sentry for crash and log monitoring -- `[Logger]` Added Firebase Analytics for breadcrumb tracking in crashes -- `[Notifications]` Support for webhook-based rich push notifications -- `[NZBGet]` (Queue) Add category to the queue tile -- `[Quick Actions]` Default "Settings" quick action added to end of the list (if there is room) -- `[Radarr]` Completely rewritten from the ground-up -- `[Radarr]` (Catalogue) If no movie is found in the search query, given an option to search to add the movie -- `[Radarr]` (Discover) Ability to discover movies from your import lists & Radarr recommendations -- `[Radarr]` (Filtering/Sorting) Many additional filtering and sorting options -- `[Radarr]` (History) Now an infinite scrolling list -- `[Radarr]` (Manual Import) Ability to manually import content from the filesystem -- `[Radarr]` (Movie) Cast information, movie-specific history, more detailed file information, & more detailed overview page -- `[Radarr]` (Queue) View, update, and manage items in the queue -- `[Radarr]` (System Status) Page to view status, health, and disk spaces -- `[Radarr]` (Tags) Manage, set, and delete tags -- `[SABnzbd]` (Queue) Add category to the queue tile -- `[Search]` (Results) Show clickable comment and download links in the expanded table -- `[Search]` (Results) Now supports infinite scrolling for loading additional pages of results -- `[Settings]` (Notifications) Added page to setup webhook-based push notifications -- `[Settings]` (Radarr) Ability to toggle on or off Radarr suggestions in the discover page -- `[Settings]` (Radarr) Ability to set sorting direction, category, and filtering method -- `[Settings]` (Resources) Added link to Weblate localization page -- `[Settings]` (Resources) Added link to hosted services status page -- `[Settings]` (Search) Ability to toggle off showing comment and download links -- `[Settings]` (System) Ability to disable Firebase Analytics and Firebase Crashlytics -- `[Sonarr]` (Catalogue) If no series is found in the search query, given an option to search to add the series -- `[Sonarr]` (Queue) Refreshing the queue will now also refresh the monitored downloads from the clients -- `[Tautulli]` (Activity) Show custom season titles from Plex's new TV agent -- `[Tautulli]` (Activity) Show session type and bandwidth type breakdown on activity page -- `[Tautulli]` (Activity) Show subtitle stream decision -- `[UI/UX]` (Experience) Ability to tap the AppBar to scroll to top -- `[UI/UX]` (Experience) If the list is in a tabbed PageView, tapping the active tab will scroll the list to the top -- `[UI/UX]` (Experience) If the keyboard is open, scrolling the list, swiping between pages, or opening the drawer will dismiss the keyboard -- `[UI/UX]` (Experience) Added haptic feedback to all buttons, toggles, and dropdowns +- **Android:** Remove legacy external storage permission +- **Dashboard:** (Calendar) Stored current date would not update on date change +- **Flutter:** Fully upgrade to Flutter v2 +- **Flutter:** Update packages +- **iOS:** Share sheet would not appear on iPadOS devices +- **Networking:** Headers would not get attached in some networking configurations +- **NZBGet:** (Queue) Would not refresh in some cases when switching profiles +- **Quick Actions:** Improve package internal native channel +- **SABnzbd:** (Queue) Would not refresh in some cases when switching profiles +- **Settings:** (Configuration) Newly set headers would sometimes not be passed to the connection test +- **Sonarr:** (Add) Series type would not be set correctly when adding a new series +- **Sonarr:** (Edit) Series path prompt would show an incorrect title +- **Sonarr:** (Queue) Ensure the trailing icon on queue entries is centered vertically +- **Sonarr:** (Releases) Default sorting direction was using catalogue default value +- **Strings:** Safe-guard many substring operations +- **Tautulli:** (Activity) Play/paused/buffering icon was not properly left aligned to the text +- **Tautulli:** (Graphs) Description of some graphs were not correct (Thanks @ZuluWhiskey!) +- **Tautulli:** (IPs) Fix location showing as null for local addresses +- **Tautulli:** (Users) User images would not be fetched on newer versions of Tautulli +- **UI/UX:** (Bottom Sheet) Reduce swipe down to dismiss threshold to 10% of height +- **UI/UX:** (Design) Margin/size of sort/filter buttons were off by a few pixels +- **UI/UX:** (Design) InkWell splash now clips correctly to the rounded borders of popup menu buttons +- **UI/UX:** (Design) Vertical padding around title when the profile dropdown is visible was incorrect +- **UI/UX:** (Design) Some elements were using the system colours instead of the LunaSea colours +- **UI/UX:** (Images) Normalize size of all branded logos to have the same widths for consistency +- **UI/UX:** (Images) Prevent attempting to load background images that are passed an empty URL +- **UI/UX:** (Snackbar) Remove all uses of the deprecated snackbar +- **UI/UX:** (Snackbar) All error snackbar will now have a button to view the error +- **URLs:** Safe-guard launching specific invalid URLs -#### TWEAKS +### 4.2.1 -- `[-arr]` (Releases) Improve the layout of the rejection reasons dialog -- `[Dashboard]` (Calendar) Set bounds to calendar -- `[Dashboard]` (Calendar) Removed month header from calendar -- `[Dashboard]` (Calendar) Disable calendar days outside of the past and future date range -- `[Dashboard]` (Calendar) Made the styling for calendar slightly more consistent -- `[Logger]` Removed viewing the stack trace within the application (still viewable within the exported logs) -- `[NZBGet]` (Queue) Submenu for queued NZBs are now accessible via a single tap on the tile -- `[NZBGet]` (Queue) Reordering queue items now occurs by dragging via the handle -- `[Radarr]` Now only supports v3.0.0 and higher of Radarr -- `[Radarr]` Many visual changes, too many to list -- `[Radarr]` The tab "History" has been replaced with "More" -- `[Radarr]` (Edit) Monitor toggle has been moved to the edit prompt -- `[SABnzbd]` (Queue) Submenu for queued NZBs are now accessible via a single tap on the tile -- `[SABnzbd]` (Queue) Reordering queue items now occurs by dragging via the handle -- `[Search]` (Results) Now returns 50 results per infinite scrolling page -- `[Search]` (Results) Removed support for sorting and filtering results -- `[Settings]` (Account) Removed the ability to pull user ID or device ID from help dialog -- `[Settings]` (Configuration) Sort configuration options within modules for cleaner isolation and easier expansion for future configuration options -- `[Settings]` (Profiles) Renaming a profile now checks for an existing profile with the same name within the prompt -- `[Settings]` (Profiles) Adding a profile now checks for an existing profile with the same name within the prompt -- `[Settings]` (Profiles) The delete profile prompt now hides the currently enabled profile, and shows a snackbar if only one profile exists -- `[Settings]` (Wake on LAN) Allow clearing the broadcast and MAC addresses to empty values -- `[Tautulli]` (Activity) Cleanup player information to more closely resemble web GUI -- `[Tautulli]` (Activity) Show the full season title -- `[UI/UX]` (Accessibility) Added more descriptive tooltips to all popup menu buttons -- `[UI/UX]` (Bottom Sheet) Bottom modal sheets lists will now shrink wrap to match content height -- `[UI/UX]` (Brands) Updated the logo to The Movie Database's new logo -- `[UI/UX]` (Design) Active tab in navigation bar now has a border with the AMOLED theme -- `[UI/UX]` (Design) Adjusted the style of splash/highlight inking -- `[UI/UX]` (Design) Reduced the weight of bold text across the application -- `[UI/UX]` (Design) Added padding to bottom of lists for devices that require a safe area -- `[UI/UX]` (Design) Minor tweaks to the colour palette -- `[UI/UX]` (Design) Unify the design and size of all action buttons -- `[UI/UX]` (Design) Sticky primary action buttons to the bottom navigation bar area -- `[UI/UX]` (Design) Removed all deprecated UI elements and usages -- `[UI/UX]` (Design) Many additional, minor tweaks to the design -- `[UI/UX]` (Drawer) Removed the option to use categories/folders in the drawer -- `[UI/UX]` (Navigation) Jump instead of animate to page when tapping a navbar item -- `[UI/UX]` (Profiles) Highlight active profile in profile switcher popup menus +### Features -#### FIXES +- **Accounts:** Ability to send a password reset email +- **Accounts:** Associate the LunaSea website domain for better autofill support -- `[Dashboard]` (Calendar) Stored current date would not update on date change -- `[Flutter]` Fully upgrade to Flutter v2 -- `[Flutter]` Update packages -- `[Networking]` Headers would not get attached in some networking configurations -- `[NZBGet]` (Queue) Would not refresh in some cases when switching profiles -- `[Quick Actions]` Improve package internal native channel -- `[SABnzbd]` (Queue) Would not refresh in some cases when switching profiles -- `[Settings]` (Configuration) Newly set headers would sometimes not be passed to the connection test -- `[Sonarr]` (Add) Series type would not be set correctly when adding a new series -- `[Sonarr]` (Edit) Series path prompt would show an incorrect title -- `[Sonarr]` (Queue) Ensure the trailing icon on queue entries is centered vertically -- `[Sonarr]` (Releases) Default sorting direction was using catalogue default value -- `[Strings]` Safe-guard many substring operations -- `[Tautulli]` (Activity) Play/paused/buffering icon was not properly left aligned to the text -- `[Tautulli]` (Graphs) Description of some graphs were not correct (Thanks @ZuluWhiskey!) -- `[Tautulli]` (IPs) Fix location showing as null for local addresses -- `[Tautulli]` (Users) User images would not be fetched on newer versions of Tautulli -- `[UI/UX]` (Bottom Sheet) Reduce swipe down to dismiss threshold to 10% of height -- `[UI/UX]` (Design) Margin/size of sort/filter buttons were off by a few pixels -- `[UI/UX]` (Design) InkWell splash now clips correctly to the rounded borders of popup menu buttons -- `[UI/UX]` (Design) Vertical padding around title when the profile dropdown is visible was incorrect -- `[UI/UX]` (Design) Some elements were using the system colours instead of the LunaSea colours -- `[UI/UX]` (Images) Normalize size of all branded logos to have the same widths for consistency -- `[UI/UX]` (Images) Prevent attempting to load background images that are passed an empty URL -- `[UI/UX]` (Snackbar) Remove all uses of the deprecated snackbar -- `[UI/UX]` (Snackbar) All error snackbar will now have a button to view the error -- `[URLs]` Safe-guard launching specific invalid URLs +### Tweaks -#### PLATFORM-SPECIFIC +- **Sonarr/Upcoming:** Change "Not Downloaded" to "Missing" -- `[Android]` (new) Attach module headers to requests when viewing the web GUI -- `[Android]` (new) Set status and navigation bar colours to match LunaSea -- `[Android]` (fix) Remove legacy external storage permission -- `[iOS]` (fix) Share sheet would not appear on iPadOS devices +### Bug Fixes ---- +- **Alerts/Changelog:** Changelog would be shown again when restoring a backup from a previous version +- **Sonarr/Add:** Fixed error log showing series ID as null -## v4.2.1 (40201001) +### 4.2.0 -#### NEW +### Features -- `[Accounts]` Ability to send a password reset email -- `[Accounts]` Associate the LunaSea website domain for better autofill support +- **Accounts:** Added LunaSea accounts +- **Accounts:** Ability to backup, restore, and delete cloud configurations +- **Accounts:** Register device token to database for future notification support +- **Backups:** All backups now contain all customization and configuration options in LunaSea (New backups are required to utilize this) +- **Changelog:** Show changelog on launch if a new version is installed +- **Changelog:** Use a new bottom sheet UI for the changelog +- **Settings/Modules:** Add an information/help button with module descriptions and links +- **Sonarr/Releases:** Added loading state to download buttons to prevent triggering multiple downloads of the same release -#### TWEAKS +### Tweaks -- `[Sonarr/Upcoming]` Change "Not Downloaded" to "Missing" +- **Radarr:** Always show the amount of days content will be available instead of limiting it to only content in the next 30 days +- **Settings:** Moved "Backup & Restore" and "Logs" to "System" section +- **Settings:** Merged "Customization" and "Modules" sections into "Configuration" +- **Settings/Sonarr:** Removed the need to enable Sonarr to test the connection +- **Settings/Tautulli:** Removed the need to enable Tautulli to test the connection -#### FIXES +### Bug Fixes -- `[Alerts/Changelog]` Changelog would be shown again when restoring a backup from a previous version -- `[Sonarr/Add]` Fixed error log showing series ID as null +- **Flutter:** Updated packages +- **In App Purchases:** Ensure all in app purchases are marked as consumed +- **Logging:** Updated Sentry to v4 framework to improve capturing fatal/crashing bugs +- **Settings/Logs:** Hide exception and stack trace buttons when an error is not available +- **Settings/Resources:** Updated URL endpoints +- **Sonarr/History:** Fixed cases where history fetched the oldest entries, not the newest +- **Sonarr/Upcoming:** If an episode has not aired, show it as "Unaired" instead of "Not Downloaded" +- **State:** Correctly clear state when clearing LunaSea's configuration +- **Tautulli/Activity:** Fixed consistency of hardware transcoding indicator compared to the web UI +- **UI/Divider:** Fixed consistency of divider width across regular and AMOLED dark theme -## v4.2.0 (40200008) +### 4.1.1 -#### NEW +### Bug Fixes -- `[Accounts]` Added LunaSea accounts -- `[Accounts]` Ability to backup, restore, and delete cloud configurations -- `[Accounts]` Register device token to database for future notification support -- `[Backups]` All backups now contain all customization and configuration options in LunaSea (New backups are required to utilize this) -- `[Changelog]` Show changelog on launch if a new version is installed -- `[Changelog]` Use a new bottom sheet UI for the changelog -- `[Settings/Modules]` Add an information/help button with module descriptions and links -- `[Sonarr/Releases]` Added loading state to download buttons to prevent triggering multiple downloads of the same release +- **Sonarr/v2:** Fix inability to interactively search for releases +- **Routing:** Fix black screen when popping back from nested calendar routes -#### TWEAKS +### 4.1.0 -- `[Radarr]` Always show the amount of days content will be available instead of limiting it to only content in the next 30 days -- `[Settings]` Moved "Backup & Restore" and "Logs" to "System" section -- `[Settings]` Merged "Customization" and "Modules" sections into "Configuration" -- `[Settings/Sonarr]` Removed the need to enable Sonarr to test the connection -- `[Settings/Tautulli]` Removed the need to enable Tautulli to test the connection +### Features -#### FIXES +- **Backup & Restore:** Backup files now use the .LunaSea extension (older .json backups are still supported) +- **Filesystem:** Any saves to the filesystem now uses the system share sheet +- **Images:** Ability to set (or entirely disable) the opacity of the background image for cards +- **Networking:** Strict TLS/SSL validation is now disabled globally +- **Routing:** Hold the AppBar back button to pop back to the home page of the module +- **Settings/Sonarr:** Toggle to enable Sonarr v3 features +- **Sonarr:** A ground-up re-implementation of Sonarr +- **Sonarr:** State is now held across module switches +- **Sonarr/Add:** (v3 only) Tapping an already-added series will take you to the series page +- **Sonarr/Add:** Automatically navigate to a newly added series +- **Sonarr/Add:** Ability to set tags and (v3 only) language profile when adding a new series +- **Sonarr/Catalogue:** Ability to view all, only monitored, or only unmonitored series +- **Sonarr/Catalogue:** Ability to set the default sorting type and direction (in the settings) +- **Sonarr/Edit:** Ability to update tags and (v3 only) language profile +- **Sonarr/Episodes:** If the episode is in the queue, show details of the download status +- **Sonarr/Overview:** View tags and (v3 only) language profile applied to the series +- **Sonarr/Queue:** Ability to view and manage your queue +- **Sonarr/Releases:** (v3 only) Ability to interactively search for season packs +- **Sonarr/Releases:** Ability to view all, only approved, or only rejected releases +- **Sonarr/Releases:** Ability to set the default sorting type and direction (in the settings) +- **Sonarr/Tags:** Ability to add, view, and delete tags +- **Tautulli/Activity:** Show the ETA for when the session will be completed +- **Tautulli/Activity:** Show if hardware transcoding is being used on the stream -- `[Flutter]` Updated packages -- `[In App Purchases]` Ensure all in app purchases are marked as consumed -- `[Logging]` Updated Sentry to v4 framework to improve capturing fatal/crashing bugs -- `[Settings/Logs]` Hide exception and stack trace buttons when an error is not available -- `[Settings/Resources]` Updated URL endpoints -- `[Sonarr/History]` Fixed cases where history fetched the oldest entries, not the newest -- `[Sonarr/Upcoming]` If an episode has not aired, show it as "Unaired" instead of "Not Downloaded" -- `[State]` Correctly clear state when clearing LunaSea's configuration -- `[Tautulli/Activity]` Fixed consistency of hardware transcoding indicator compared to the web UI -- `[UI/Divider]` Fixed consistency of divider width across regular and AMOLED dark theme +### Tweaks ---- +- **Radarr:** Use Radarr v3 icon across the UI +- **Settings/Dialogs:** Small tweaks and additional notes for entering hosts and passwords +- **Settings/Host Dialog:** Add validator on host to ensure user adds http:// or https:// +- **Settings/Resources:** Hide link to documentation until I actually finish it +- **Sonarr:** Many changes to Sonarr's design +- **Sonarr/Series:** Toggling monitored state of series has now been moved to the edit prompt and edit screen -## v4.1.1 (40101001) +### Bug Fixes -#### NEW - -- None - -#### TWEAKS - -- None - -#### FIXES - -- `[Sonarr/v2]` Fix inability to interactively search for releases -- `[Routing]` Fix black screen when popping back from nested calendar routes - ---- - -## v4.1.0 (40100007) - -#### NEW - -- `[Backup & Restore]` Backup files now use the .LunaSea extension (older .json backups are still supported) -- `[Filesystem]` Any saves to the filesystem now uses the system share sheet -- `[Images]` Ability to set (or entirely disable) the opacity of the background image for cards -- `[Networking]` Strict TLS/SSL validation is now disabled globally -- `[Routing]` Hold the AppBar back button to pop back to the home page of the module -- `[Settings/Sonarr]` Toggle to enable Sonarr v3 features -- `[Sonarr]` A ground-up re-implementation of Sonarr -- `[Sonarr]` State is now held across module switches -- `[Sonarr/Add]` (v3 only) Tapping an already-added series will take you to the series page -- `[Sonarr/Add]` Automatically navigate to a newly added series -- `[Sonarr/Add]` Ability to set tags and (v3 only) language profile when adding a new series -- `[Sonarr/Catalogue]` Ability to view all, only monitored, or only unmonitored series -- `[Sonarr/Catalogue]` Ability to set the default sorting type and direction (in the settings) -- `[Sonarr/Edit]` Ability to update tags and (v3 only) language profile -- `[Sonarr/Episodes]` If the episode is in the queue, show details of the download status -- `[Sonarr/Overview]` View tags and (v3 only) language profile applied to the series -- `[Sonarr/Queue]` Ability to view and manage your queue -- `[Sonarr/Releases]` (v3 only) Ability to interactively search for season packs -- `[Sonarr/Releases]` Ability to view all, only approved, or only rejected releases -- `[Sonarr/Releases]` Ability to set the default sorting type and direction (in the settings) -- `[Sonarr/Tags]` Ability to add, view, and delete tags -- `[Tautulli/Activity]` Show the ETA for when the session will be completed -- `[Tautulli/Activity]` Show if hardware transcoding is being used on the stream - -#### TWEAKS - -- `[Radarr]` Use Radarr v3 icon across the UI -- `[Settings/Dialogs]` Small tweaks and additional notes for entering hosts and passwords -- `[Settings/Host Dialog]` Add validator on host to ensure user adds http:// or https:// -- `[Settings/Resources]` Hide link to documentation until I actually finish it -- `[Sonarr]` Many changes to Sonarr's design -- `[Sonarr/Series]` Toggling monitored state of series has now been moved to the edit prompt and edit screen - -#### FIXES - -- `[Backup & Restore]` Fix grey screen when restoring a backup without a "default"-named profile (new backups are not required) -- `[Build]` (Android) Update gradle -- `[Build]` (iOS) Reintegrate cocoapods podfile -- `[Filesystem]` (Android) Using the share sheet now fixes the issue of inaccessible logs, backups, and downloads on Android 10+ devices -- `[Flutter]` Update packages -- `[Images]` Images will now load for invalid/self-signed certificates -- `[Networking]` Ensure that insecure (HTTP/80) connections are allowed at the platform-level -- `[Tautulli/Activity]` Fix grey screen for music activity -- `[TextField]` Fix TextField actions (cut, copy, paste, etc.) not showing -- `[Timestamps]` Fix 12:xx AM being shown as 00:xx AM when using 12-hour time -- `[UI/Checkbox]` Fix overly vibrant checkbox selected background +- **Backup & Restore:** Fix grey screen when restoring a backup without a "default"-named profile (new backups are not required) +- **Build:** (Android) Update gradle +- **Build:** (iOS) Reintegrate cocoapods podfile +- **Filesystem:** (Android) Using the share sheet now fixes the issue of inaccessible logs, backups, and downloads on Android 10+ devices +- **Flutter:** Update packages +- **Images:** Images will now load for invalid/self-signed certificates +- **Networking:** Ensure that insecure (HTTP/80) connections are allowed at the platform-level +- **Tautulli/Activity:** Fix grey screen for music activity +- **TextField:** Fix TextField actions (cut, copy, paste, etc.) not showing +- **Timestamps:** Fix 12:xx AM being shown as 00:xx AM when using 12-hour time +- **UI/Checkbox:** Fix overly vibrant checkbox selected background - Tons of additional minor bugs were fixed ---- +### 4.0.0 -## v4.0.0 (400102) +### Features -#### NEW +- **Module:** Tautulli support +- **Calendar:** Ability to set how many days in the past and future to fetch calendar entries for +- **Drawer:** Categorical folders are now optional +- **Drawer:** If using folders, ability to set the initial expanded state +- **Locale:** Ability to use 24 hour timestamps +- **Quick Actions:** Ability to set up to four home screen quick actions +- **Search:** Ability to set custom headers for individual indexers +- **Settings:** Complete overhaul of the settings +- **Settings/Resources:** (iOS) Added link to join TestFlight -- `[Module]` Tautulli support -- `[Calendar]` Ability to set how many days in the past and future to fetch calendar entries for -- `[Drawer]` Categorical folders are now optional -- `[Drawer]` If using folders, ability to set the initial expanded state -- `[Locale]` Ability to use 24 hour timestamps -- `[Quick Actions]` Ability to set up to four home screen quick actions -- `[Search]` Ability to set custom headers for individual indexers -- `[Settings]` Complete overhaul of the settings -- `[Settings/Resources]` (iOS) Added link to join TestFlight +### Tweaks -#### TWEAKS +- **Home/Calendar:** Separate calendar view type into its own preference +- **Home/Calendar:** Show no modules enabled message when there are no automation modules enabled, not just no modules overall +- **Home/Calendar:** Default past and future days is now 14 days for each +- **Images:** Images are no longer cached to the device storage to heavily improve performance & reduce crashing on older/lower-end devices +- **Images:** Fetch images at specific resolutions instead of full resolution to reduce network performance and decrease memory pressure +- **Search:** Improved detection of adult categories +- **Settings:** Settings now replaces the active module/route and shows the drawer on the base route +- **Settings/System:** Removed clear image cache tile +- **UI:** Added new loading animation design -- `[Home/Calendar]` Separate calendar view type into its own preference -- `[Home/Calendar]` Show no modules enabled message when there are no automation modules enabled, not just no modules overall -- `[Home/Calendar]` Default past and future days is now 14 days for each -- `[Images]` Images are no longer cached to the device storage to heavily improve performance & reduce crashing on older/lower-end devices -- `[Images]` Fetch images at specific resolutions instead of full resolution to reduce network performance and decrease memory pressure -- `[Search]` Improved detection of adult categories -- `[Settings]` Settings now replaces the active module/route and shows the drawer on the base route -- `[Settings/System]` Removed clear image cache tile -- `[UI]` Added new loading animation design +### Bug Fixes -#### FIXES +- **Flutter:** Updated packages & Flutter +- **General:** Many small bug fixes +- **LunaSea:** Many behind the scenes changes to reduce memory pressure +- **LunaSea:** Heavy improvements and fixes to the navigation routing +- **Settings/Logs:** Logs could be shown in reverse order +- **Text:** Fixed "squished" text on iOS 14 and higher devices -- `[Flutter]` Updated packages & Flutter -- `[General]` Many small bug fixes -- `[LunaSea]` Many behind the scenes changes to reduce memory pressure -- `[LunaSea]` Heavy improvements and fixes to the navigation routing -- `[Settings/Logs]` Logs could be shown in reverse order -- `[Text]` Fixed "squished" text on iOS 14 and higher devices +### 3.3.0 ---- +### Features -## v3.3.0 (330002) +- **Home/Calendar:** New "schedule" view +- **Home/Modules:** Option to use module "brand colour" or the LunaSea list colours +- **Search:** Option to hide adult categories +- **-arr/Catalogue:** Ability to sort by date added +- **-arr/Search:** Show the indexer/tracker on the collapsed tile -#### NEW +### Bug Fixes -- `[Home/Calendar]` New "schedule" view -- `[Home/Modules]` Option to use module "brand colour" or the LunaSea list colours -- `[Search]` Option to hide adult categories -- `[-arr/Catalogue]` Ability to sort by date added -- `[-arr/Search]` Show the indexer/tracker on the collapsed tile +- **Sonarr:** Fixed multiple errors related to parsing fetched episode data +- **Everything:** Multiple smaller crash/error fixes -#### TWEAKS +### 3.2.0 -- None +### Features -#### FIXES +- **Drawer:** Add the LunaSea logo to the header +- **Logging:** Integrated Sentry, an open-source exception/crash log aggregation tool +- **Settings/System:** Added toggle (under system -> advanced) to disable Sentry logging -- `[Sonarr]` Fixed multiple errors related to parsing fetched episode data -- `[Everything]` Multiple smaller crash/error fixes +### Tweaks ---- +- **System:** Implemented new image caching backend +- **APIs:** Improved exception logging +- **Logging:** Improved on-device logger to have more useful stack traces -## v3.2.0 (320003) +### Bug Fixes -#### NEW +- **-arr/Details:** Fixed crash related to state management +- **radarr/Add:** Fixed crash when a searched movie does not have a minimum availability value available -- `[Drawer]` Add the LunaSea logo to the header -- `[Logging]` Integrated Sentry, an open-source exception/crash log aggregation tool -- `[Settings/System]` Added toggle (under system -> advanced) to disable Sentry logging +### 3.1.0 -#### TWEAKS +### Features -- `[System]` Implemented new image caching backend -- `[APIs]` Improved exception logging -- `[Logging]` Improved on-device logger to have more useful stack traces +- **Settings/Resources:** Added Discord invite link for official server +- **-arr:** Ability to search and enter interactive search from all upcoming and missing pages +- **-arr/Add:** Ability to jump directly into newly added content from toast notification +- **Radarr/Delete:** Ability to add to exclusion list when deleting content +- **Clients:** Hide and show queue pause/start FAB on scroll +- **Clients/History:** History tiles are now expandable in-line +- **SABnzbd/Statistics:** Show both temporary and final storage space +- **Calendar:** Ability to search/enter interactive search directly from calendar tiles -#### FIXES +### Tweaks -- `[-arr/Details]` Fixed crash related to state management -- `[radarr/Add]` Fixed crash when a searched movie does not have a minimum availability value available +- **Development:** Updated Flutter packages ---- +### Bug Fixes -## v3.1.0 (310004) +- **API/Host:** Correctly handle cases where host ends with a forward slash -#### NEW +### 3.0.0 -- `[Settings/Resources]` Added Discord invite link for official server -- `[-arr]` Ability to search and enter interactive search from all upcoming and missing pages -- `[-arr/Add]` Ability to jump directly into newly added content from toast notification -- `[Radarr/Delete]` Ability to add to exclusion list when deleting content -- `[Clients]` Hide and show queue pause/start FAB on scroll -- `[Clients/History]` History tiles are now expandable in-line -- `[SABnzbd/Statistics]` Show both temporary and final storage space -- `[Calendar]` Ability to search/enter interactive search directly from calendar tiles +### Features -#### TWEAKS +- **Search:** Releases are now shown as an expandable tile +- **Search/Category Results:** Ability to sort and filter results +- **Search/Search Results:** Ability to sort search results +- **-rr/Catalogue:** Many additional sorting options +- **-rr/Releases:** Releases are now shown as an expandable tile +- **-rr/Releases:** Ability to sort, hide, and filter releases +- **Sonarr/Add:** Ability to set initial episode monitoring state +- **Sonarr/Episodes:** Episodes are now shown as an expandable tile +- **Radarr/Releases:** Shows custom format tags +- **Clients:** FAB icon animates between queue state +- **Images:** Ability to clear network image cache +- **UI/AMOLED Theme:** Optional setting to add subtle border -- `[Development]` Updated Flutter packages +### Tweaks -#### FIXES +- **Changelog:** Removed integrated changelog, redirects to documentation changelog +- **-rr:** Use the term "Interactive" instead of "Manual" for search +- **-rr/Links:** Normalize size of images +- **Sonarr/Upcoming:** Now shows dates in-line as a styled header +- **Sonarr/Season View:** Now shows season number in-line as a styled header +- **UI/Font:** Adjusted font size across entire application +- **UI/Dropdowns:** Change dropdowns to popup menus +- **UI:** Rounder radius around tiles, popups, etc. -- `[API/Host]` Correctly handle cases where host ends with a forward slash +### Bug Fixes ---- +- **Home/Calendar:** Row height is now statically set to prevent huge calendar on larger displays +- **Sonarr/Seasons:** Fixed crash related to seasons with no statistics data for percentage of season completion +- **Sonarr/Episodes:** Episode numbers greater than 100 could cause a line-break +- **Sonarr/Episodes:** Fixed/safe-guarded layout crash on incomplete episode data received +- **Sonarr/Queue:** Safe-guarded Sonarr queue results when results are null +- **Snackbar:** Snackbar wouldn't adopt AMOLED styling when enabled +- **State:** Fixed crashes caused by setting the state of an unmounted widget -## v3.0.0 (300100) +### 2.3.0 -#### NEW +### Features -- `[Search]` Releases are now shown as an expandable tile -- `[Search/Category Results]` Ability to sort and filter results -- `[Search/Search Results]` Ability to sort search results -- `[-rr/Catalogue]` Many additional sorting options -- `[-rr/Releases]` Releases are now shown as an expandable tile -- `[-rr/Releases]` Ability to sort, hide, and filter releases -- `[Sonarr/Add]` Ability to set initial episode monitoring state -- `[Sonarr/Episodes]` Episodes are now shown as an expandable tile -- `[Radarr/Releases]` Shows custom format tags -- `[Clients]` FAB icon animates between queue state -- `[Images]` Ability to clear network image cache -- `[UI/AMOLED Theme]` Optional setting to add subtle border +- **Module:** Wake on LAN support +- **Settings/Modules:** Ability to set custom headers to be attached to module requests +- **Settings/Changelog:** Changelog is now displayed as a route, not a dialog +- **UX:** Hitting the back button on apex/primary routes will now open the drawer instead of closing the application +- **UX:** Enable landscape mode for iPhones -#### TWEAKS +### Tweaks -- `[Changelog]` Removed integrated changelog, redirects to documentation changelog -- `[-rr]` Use the term "Interactive" instead of "Manual" for search -- `[-rr/Links]` Normalize size of images -- `[Sonarr/Upcoming]` Now shows dates in-line as a styled header -- `[Sonarr/Season View]` Now shows season number in-line as a styled header -- `[UI/Font]` Adjusted font size across entire application -- `[UI/Dropdowns]` Change dropdowns to popup menus -- `[UI]` Rounder radius around tiles, popups, etc. +- **-rr/Details:** Removed sliver AppBar and fanart as it caused unwanted scrolling interference (A revamped overview page in the future will bring back the fanart images) +- **-rr/Details:** Switched from AppBar tabs to bottom navigation bar +- **-rr/Release:** Do not show warning message when triggering a release download from details page on rejected release +- **Dialogs:** Re-implemented all dialogs +- **Dialogs:** Keyboard type is now set for all inputs +- **Dialogs:** All inputs are now validated (to some extent) and can be submitted via the Keyboard -#### FIXES +### Bug Fixes -- `[Home/Calendar]` Row height is now statically set to prevent huge calendar on larger displays -- `[Sonarr/Seasons]` Fixed crash related to seasons with no statistics data for percentage of season completion -- `[Sonarr/Episodes]` Episode numbers greater than 100 could cause a line-break -- `[Sonarr/Episodes]` Fixed/safe-guarded layout crash on incomplete episode data received -- `[Sonarr/Queue]` Safe-guarded Sonarr queue results when results are null -- `[Snackbar]` Snackbar wouldn't adopt AMOLED styling when enabled -- `[State]` Fixed crashes caused by setting the state of an unmounted widget +- **SnackBar:** SnackBar could cause UI locking when doing swipe-back gestures ---- +### 2.2.0 -## v2.3.0 (230004) +### Features -#### NEW - -- `[Module]` Wake on LAN support -- `[Settings/Modules]` Ability to set custom headers to be attached to module requests -- `[Settings/Changelog]` Changelog is now displayed as a route, not a dialog -- `[UX]` Hitting the back button on apex/primary routes will now open the drawer instead of closing the application -- `[UX]` Enable landscape mode for iPhones - -#### TWEAKS - -- `[-rr/Details]` Removed sliver AppBar and fanart as it caused unwanted scrolling interference (A revamped overview page in the future will bring back the fanart images) -- `[-rr/Details]` Switched from AppBar tabs to bottom navigation bar -- `[-rr/Release]` Do not show warning message when triggering a release download from details page on rejected release -- `[Dialogs]` Re-implemented all dialogs -- `[Dialogs]` Keyboard type is now set for all inputs -- `[Dialogs]` All inputs are now validated (to some extent) and can be submitted via the Keyboard - -#### FIXES - -- `[SnackBar]` SnackBar could cause UI locking when doing swipe-back gestures - ---- - -## v2.2.0 (220003) - -#### NEW - -- `[Donations]` Added donation IAPs -- `[Profiles]` Added rapid-profile switcher -- `[Settings]` Added license attributions -- `[Settings]` Added feedback link -- `[-rr/Add]` Search bar will now be autofocused -- `[SABnzbd]` Added statistics for individual servers -- `[NZBGet]` Option to use basic authentication instead of URL-encoded authentication - -#### TWEAKS - -- `[UI]` Removed custom letter spacing -- `[Settings]` Added subheaders - -#### FIXES - -- `[Database]` Cleanly exit on clean application exit to prevent corruption - ---- - -## v2.1.0 (66) - -#### NEW - -- `[Branding]` New icon & splash screen -- `[Links]` Ability to set which browser you open links in (iOS only) -- `[Home/Calendar]` Ability to set starting day of week -- `[Home/Calendar]` Ability to set starting calendar size -- `[Home/Calendar]` Ability to enable and disable specific modules that show up in the calendar -- `[Appearance/Theme]` Option to enable AMOLED black theme -- `[Platform]` LunaSea is now build-able & available for Android - -#### TWEAKS - -- `[Settings]` Redesign of settings page -- `[General]` Use the term "Modules" instead of "Services" -- `[-rr/Details]` Background image header/app bar is now collapsed by default -- `[-rr/Details]` Left align title to match the rest of LunaSea - -#### FIXES - -- `[Sonarr]` Toast for toggling season monitor state would show monitor status of the series, not the season -- `[Settings/Backup]` Backing up your configuration would always fail -- `[Search]` Would show an empty screen if you deleted all indexers while search is open - ---- - -## v2.0.1 (55) - -#### NEW - -- `[SABnzbd]` Ability to upload .rar & .gz archives -- `[-rr/Add]` All configurable values are now stored in cold database, persisting between sessions -- `[-rr/Add]` Root folders now also show available space for the folder -- `[Search]` When sending an NZB to a client, there is now an action in the toast to jump directly to the respective client -- `[Automation/Search]` When downloading a release manually, there is now an action in the toast to pop back to the main screen of the automation service -- `[Settings]` Ability to disable SSL/TLS validation for all services -- `[HTTP]` With the above, support for self-signed SSL certificates - -#### TWEAKS - -- `[Descriptions]` Adjusted alignment and consistency when no summary is available -- `[Search]` Removed redundant “Sending” toast since it very quickly gets covered by the follow-up toast -- `[Automation]` Edit content prompt now shows full title of the content -- `[Clients]` Opening the edit menu now shows the full title of the job -- `[UI]` Tweaked design of content headers -- `[Settings]` Added headers to automation and client pages to separate regular and advanced configuration options - -#### FIXES - -- `[HTTP]` Safer handling of redirects -- `[Routes]` Make route changes asynchronous to help minimize stutters -- `[Radarr/Add]` Fixed wrong title for minimum availability card -- `[Restore Configuration]` Error message had typos -- `[UI]` Fixed uneven font sizing in some prompts -- `[NZBGet/SABnzbd]` Failure on uploading an NZB would show no error message - ---- - -## v2.0.0 (333) - -#### NEW - -- `[iOS]` Built for iOS 13.4 -- `[Indexers/Search]` Full support for browsing and searching Newznab-based indexers! -- `[Indexers/Search]` Support for NZBHydra2 -- `[Indexers/Search]` Download NZB files directly to your device -- `[Indexers/Search]` Send NZB files directly from the indexer to your client of choice -- `[-rr/Catalogue]` Catalogue search bar is now stickied -- `[-rr/History]` Ability to enter content -- `[-rr/Add]` More information (year, seasons, etc.) shown in result tiles -- `[NZBGet]` Ability to search through fetched history -- `[SABnzbd]` Ability to search through fetched history -- `[Settings/Configuration]` Ability to clear configuration -- `[Drawer]` Ability to switch profiles in navigation Drawer -- `[Snackbar]` New snackbar style, design, and formatting -- `[Everything]` All services now dynamically reload on profile changes - -#### TWEAKS - -- `[Everything]` Re-implemented... everything -- `[Everything]` Moved away from FABs (where possible) to buttons -- `[Navigation]` Ability to swipe left and right between bottom navigation tabs (except Settings) -- `[Navigation Bar]` Slightly redesigned -- `[Home/Summary]` Redesigned summary page -- `[Home/Summary]` Removed fetching of series count, movie count, and artist count -- `[Home/Calendar]` Now only shows 1 dot for each day instead of 3 -- `[Home/Calendar]` Highlights today as well as selected day -- `[Home/Calendar]` Now shows the day of the week on the calendar -- `[Home/Calendar]` Now defaults to showing 1 week (swipe down to show two weeks or one month) -- `[Settings]` No longer a need to save configuration settings, everything is saved automatically -- `[Search Bar]` "X" to clear search bars -- `[-rr/Catalogue]` Sorting now scrolls back to top -- `[-rr/Catalogue]` Moved hide unmonitored button to stickied search bar -- `[-rr/Add]` Selected profile, folders, etc. are stored in state until application is closed or profile is switched -- `[-rr/Images]` Images now show placeholder, transition to real content on load -- `[Sonarr/Episodes]` Multi-select episodes with single tap anywhere on tile, now highlighted for easier distinction -- `[SABnzbd]` Limit queue to first 100 results -- `[SABnzbd]` Lowered refresh rate to 2 seconds from 1 second -- `[NZBGet]` Limit queue to first 100 results -- `[NZBGet]` Lowered refresh rate to 2 seconds from 1 second -- `[UI]` Reduced elevation of UI in general - -#### FIXES - -- `[Sonarr/Search]` Searching for an entire season now executes a season search instead of individual episode searches -- `[Logs]` Fixed bug where logs could not load in some cases and always show "Logs Not Found" -- `[Radarr/Search]` Now correctly retains search state to prevent needless researching & API hits -- `[Configuration]` Deleting or renaming "default" profile could cause a new "default" profile to be created on next launch - ---- - -## v1.1.0 (44) - -#### NEW - -- `[Home]` Calendar view for upcoming -rr content -- `[Sonarr]` Ability to toggle single episode monitored status -- `[Sonarr]` Ability to delete file -- `[Radarr]` Split missing tab into missing and upcoming -- `[-rr]` Long-press tile on non-catalogue pages to view catalogue entry -- `[-rr]` Ability to delete files when deleting catalogue entries -- `[Documentation]` Added a link to WIP documentation - -#### FIXES - -- `[Prompts]` All prompts now use the correct colour ordering -- `[NZBGet]` Adjusted authentication method to interfere less with custom auth setups - -#### TWEAKS - -- `[Drawer]` Dropdown groups are open by default until more services are added -- `[Settings]` Minor tile shuffling and rewording -- `[Navigation]` New style for the navigation bars -- `[Navigation]` Added custom icons to navigation bars -- `[Releases]` Easier to differentiate the release's protocol - ---- - -## v1.0.0 (33) - -#### NEW - -- `[-rr]` When adding new content, checks if content is already in your library -- `[-rr]` Ability to sort catalogue by size of alphabetical -- `[Settings]` Ability to rename a profile -- `[SAB/NZBGet]` Ability to pause the queue for some amount of time -- `[NZBGet]` Ability to filter out successful history entries - -#### FIXES - -- `[Radarr]` Fetching quality profiles could fail -- `[SAB/NZBGet]` Percentage calculation could fail causing a grey screen -- `[SAB/NZBGet]` Connection error now cancels timer until manual refresh (cleaner logs) - -#### TWEAKS - -- `[Build]` Adjusted how build number is presented -- `[Sonarr]` Now shows size on disk on catalogue page -- `[Lidarr]` Now shows size on disk on catalogue page -- `[Settings]` Successful connection test now also triggers save -- `[Settings]` Save button is now more obvious/clear -- `[Settings]` Adjusted and added more tips when adding hosts +- **Donations:** Added donation IAPs +- **Profiles:** Added rapid-profile switcher +- **Settings:** Added license attributions +- **Settings:** Added feedback link +- **-rr/Add:** Search bar will now be autofocused +- **SABnzbd:** Added statistics for individual servers +- **NZBGet:** Option to use basic authentication instead of URL-encoded authentication + +### Tweaks + +- **UI:** Removed custom letter spacing +- **Settings:** Added subheaders + +### Bug Fixes + +- **Database:** Cleanly exit on clean application exit to prevent corruption + +### 2.1.0 + +### Features + +- **Branding:** New icon & splash screen +- **Links:** Ability to set which browser you open links in (iOS only) +- **Home/Calendar:** Ability to set starting day of week +- **Home/Calendar:** Ability to set starting calendar size +- **Home/Calendar:** Ability to enable and disable specific modules that show up in the calendar +- **Appearance/Theme:** Option to enable AMOLED black theme +- **Platform:** LunaSea is now build-able & available for Android + +### Tweaks + +- **Settings:** Redesign of settings page +- **General:** Use the term "Modules" instead of "Services" +- **-rr/Details:** Background image header/app bar is now collapsed by default +- **-rr/Details:** Left align title to match the rest of LunaSea + +### Bug Fixes + +- **Sonarr:** Toast for toggling season monitor state would show monitor status of the series, not the season +- **Settings/Backup:** Backing up your configuration would always fail +- **Search:** Would show an empty screen if you deleted all indexers while search is open + +### 2.0.1 + +### Features + +- **SABnzbd:** Ability to upload .rar & .gz archives +- **-rr/Add:** All configurable values are now stored in cold database, persisting between sessions +- **-rr/Add:** Root folders now also show available space for the folder +- **Search:** When sending an NZB to a client, there is now an action in the toast to jump directly to the respective client +- **Automation/Search:** When downloading a release manually, there is now an action in the toast to pop back to the main screen of the automation service +- **Settings:** Ability to disable SSL/TLS validation for all services +- **HTTP:** With the above, support for self-signed SSL certificates + +### Tweaks + +- **Descriptions:** Adjusted alignment and consistency when no summary is available +- **Search:** Removed redundant “Sending” toast since it very quickly gets covered by the follow-up toast +- **Automation:** Edit content prompt now shows full title of the content +- **Clients:** Opening the edit menu now shows the full title of the job +- **UI:** Tweaked design of content headers +- **Settings:** Added headers to automation and client pages to separate regular and advanced configuration options + +### Bug Fixes + +- **HTTP:** Safer handling of redirects +- **Routes:** Make route changes asynchronous to help minimize stutters +- **Radarr/Add:** Fixed wrong title for minimum availability card +- **Restore Configuration:** Error message had typos +- **UI:** Fixed uneven font sizing in some prompts +- **NZBGet/SABnzbd:** Failure on uploading an NZB would show no error message + +### 2.0.0 + +### Features + +- **iOS:** Built for iOS 13.4 +- **Indexers/Search:** Full support for browsing and searching Newznab-based indexers! +- **Indexers/Search:** Support for NZBHydra2 +- **Indexers/Search:** Download NZB files directly to your device +- **Indexers/Search:** Send NZB files directly from the indexer to your client of choice +- **-rr/Catalogue:** Catalogue search bar is now stickied +- **-rr/History:** Ability to enter content +- **-rr/Add:** More information (year, seasons, etc.) shown in result tiles +- **NZBGet:** Ability to search through fetched history +- **SABnzbd:** Ability to search through fetched history +- **Settings/Configuration:** Ability to clear configuration +- **Drawer:** Ability to switch profiles in navigation Drawer +- **Snackbar:** New snackbar style, design, and formatting +- **Everything:** All services now dynamically reload on profile changes + +### Tweaks + +- **Everything:** Re-implemented... everything +- **Everything:** Moved away from FABs (where possible) to buttons +- **Navigation:** Ability to swipe left and right between bottom navigation tabs (except Settings) +- **Navigation Bar:** Slightly redesigned +- **Home/Summary:** Redesigned summary page +- **Home/Summary:** Removed fetching of series count, movie count, and artist count +- **Home/Calendar:** Now only shows 1 dot for each day instead of 3 +- **Home/Calendar:** Highlights today as well as selected day +- **Home/Calendar:** Now shows the day of the week on the calendar +- **Home/Calendar:** Now defaults to showing 1 week (swipe down to show two weeks or one month) +- **Settings:** No longer a need to save configuration settings, everything is saved automatically +- **Search Bar:** "X" to clear search bars +- **-rr/Catalogue:** Sorting now scrolls back to top +- **-rr/Catalogue:** Moved hide unmonitored button to stickied search bar +- **-rr/Add:** Selected profile, folders, etc. are stored in state until application is closed or profile is switched +- **-rr/Images:** Images now show placeholder, transition to real content on load +- **Sonarr/Episodes:** Multi-select episodes with single tap anywhere on tile, now highlighted for easier distinction +- **SABnzbd:** Limit queue to first 100 results +- **SABnzbd:** Lowered refresh rate to 2 seconds from 1 second +- **NZBGet:** Limit queue to first 100 results +- **NZBGet:** Lowered refresh rate to 2 seconds from 1 second +- **UI:** Reduced elevation of UI in general + +### Bug Fixes + +- **Sonarr/Search:** Searching for an entire season now executes a season search instead of individual episode searches +- **Logs:** Fixed bug where logs could not load in some cases and always show "Logs Not Found" +- **Radarr/Search:** Now correctly retains search state to prevent needless researching & API hits +- **Configuration:** Deleting or renaming "default" profile could cause a new "default" profile to be created on next launch + +### 1.1.0 + +### Features + +- **Home:** Calendar view for upcoming -rr content +- **Sonarr:** Ability to toggle single episode monitored status +- **Sonarr:** Ability to delete file +- **Radarr:** Split missing tab into missing and upcoming +- **-rr:** Long-press tile on non-catalogue pages to view catalogue entry +- **-rr:** Ability to delete files when deleting catalogue entries +- **Documentation:** Added a link to WIP documentation + +### Bug Fixes + +- **Prompts:** All prompts now use the correct colour ordering +- **NZBGet:** Adjusted authentication method to interfere less with custom auth setups + +### Tweaks + +- **Drawer:** Dropdown groups are open by default until more services are added +- **Settings:** Minor tile shuffling and rewording +- **Navigation:** New style for the navigation bars +- **Navigation:** Added custom icons to navigation bars +- **Releases:** Easier to differentiate the release's protocol + +### 1.0.0 + +### Features + +- **-rr:** When adding new content, checks if content is already in your library +- **-rr:** Ability to sort catalogue by size of alphabetical +- **Settings:** Ability to rename a profile +- **SAB/NZBGet:** Ability to pause the queue for some amount of time +- **NZBGet:** Ability to filter out successful history entries + +### Bug Fixes + +- **Radarr:** Fetching quality profiles could fail +- **SAB/NZBGet:** Percentage calculation could fail causing a grey screen +- **SAB/NZBGet:** Connection error now cancels timer until manual refresh (cleaner logs) + +### Tweaks + +- **Build:** Adjusted how build number is presented +- **Sonarr:** Now shows size on disk on catalogue page +- **Lidarr:** Now shows size on disk on catalogue page +- **Settings:** Successful connection test now also triggers save +- **Settings:** Save button is now more obvious/clear +- **Settings:** Adjusted and added more tips when adding hosts diff --git a/package-lock.json b/package-lock.json index e7ccd0b9..deee6865 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,18 +1,19 @@ { "name": "lunasea", - "version": "0.0.0", + "version": "6.0.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "lunasea", - "version": "0.0.0", + "version": "6.0.1", "devDependencies": { "@commitlint/cli": "^16.1.0", "@commitlint/config-conventional": "^16.0.0", "commitizen": "^4.2.4", "cz-conventional-changelog": "^3.3.0", - "husky": "^7.0.0" + "husky": "^7.0.0", + "standard-version": "^9.3.2" } }, "node_modules/@babel/code-frame": { @@ -369,6 +370,15 @@ "node": ">=12" } }, + "node_modules/@hutson/parse-repository-url": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz", + "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@tsconfig/node10": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", @@ -439,6 +449,12 @@ "node": ">=0.4.0" } }, + "node_modules/add-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", + "integrity": "sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=", + "dev": true + }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -537,6 +553,12 @@ "node": ">=8" } }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, "node_modules/cachedir": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.2.0.tgz", @@ -854,6 +876,43 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, + "node_modules/concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "dev": true, + "engines": [ + "node >= 6.0" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/conventional-changelog": { + "version": "3.1.24", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.24.tgz", + "integrity": "sha512-ed6k8PO00UVvhExYohroVPXcOJ/K1N0/drJHx/faTH37OIZthlecuLIRX/T6uOp682CAoVoFpu+sSEaeuH6Asg==", + "dev": true, + "dependencies": { + "conventional-changelog-angular": "^5.0.12", + "conventional-changelog-atom": "^2.0.8", + "conventional-changelog-codemirror": "^2.0.8", + "conventional-changelog-conventionalcommits": "^4.5.0", + "conventional-changelog-core": "^4.2.1", + "conventional-changelog-ember": "^2.0.9", + "conventional-changelog-eslint": "^3.0.9", + "conventional-changelog-express": "^2.0.6", + "conventional-changelog-jquery": "^3.0.11", + "conventional-changelog-jshint": "^2.0.9", + "conventional-changelog-preset-loader": "^2.3.4" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/conventional-changelog-angular": { "version": "5.0.13", "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", @@ -867,6 +926,36 @@ "node": ">=10" } }, + "node_modules/conventional-changelog-atom": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz", + "integrity": "sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-codemirror": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz", + "integrity": "sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-config-spec": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz", + "integrity": "sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ==", + "dev": true + }, "node_modules/conventional-changelog-conventionalcommits": { "version": "4.6.3", "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz", @@ -881,12 +970,294 @@ "node": ">=10" } }, + "node_modules/conventional-changelog-core": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz", + "integrity": "sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==", + "dev": true, + "dependencies": { + "add-stream": "^1.0.0", + "conventional-changelog-writer": "^5.0.0", + "conventional-commits-parser": "^3.2.0", + "dateformat": "^3.0.0", + "get-pkg-repo": "^4.0.0", + "git-raw-commits": "^2.0.8", + "git-remote-origin-url": "^2.0.0", + "git-semver-tags": "^4.1.1", + "lodash": "^4.17.15", + "normalize-package-data": "^3.0.0", + "q": "^1.5.1", + "read-pkg": "^3.0.0", + "read-pkg-up": "^3.0.0", + "through2": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-core/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-changelog-core/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/conventional-changelog-core/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-changelog-core/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-changelog-core/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-changelog-core/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-changelog-core/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-changelog-core/node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-changelog-core/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-changelog-core/node_modules/read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "dependencies": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-changelog-core/node_modules/read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, + "dependencies": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-changelog-core/node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/conventional-changelog-core/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/conventional-changelog-ember": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz", + "integrity": "sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-eslint": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz", + "integrity": "sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-express": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz", + "integrity": "sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-jquery": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz", + "integrity": "sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-jshint": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz", + "integrity": "sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==", + "dev": true, + "dependencies": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-preset-loader": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", + "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-writer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz", + "integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==", + "dev": true, + "dependencies": { + "conventional-commits-filter": "^2.0.7", + "dateformat": "^3.0.0", + "handlebars": "^4.7.7", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "semver": "^6.0.0", + "split": "^1.0.0", + "through2": "^4.0.0" + }, + "bin": { + "conventional-changelog-writer": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-writer/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/conventional-commit-types": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/conventional-commit-types/-/conventional-commit-types-3.0.0.tgz", "integrity": "sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==", "dev": true }, + "node_modules/conventional-commits-filter": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", + "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", + "dev": true, + "dependencies": { + "lodash.ismatch": "^4.4.0", + "modify-values": "^1.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/conventional-commits-parser": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", @@ -907,6 +1278,34 @@ "node": ">=10" } }, + "node_modules/conventional-recommended-bump": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz", + "integrity": "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==", + "dev": true, + "dependencies": { + "concat-stream": "^2.0.0", + "conventional-changelog-preset-loader": "^2.3.4", + "conventional-commits-filter": "^2.0.7", + "conventional-commits-parser": "^3.2.0", + "git-raw-commits": "^2.0.8", + "git-semver-tags": "^4.1.1", + "meow": "^8.0.0", + "q": "^1.5.1" + }, + "bin": { + "conventional-recommended-bump": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, "node_modules/cosmiconfig": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", @@ -1053,6 +1452,15 @@ "node": ">=8" } }, + "node_modules/dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", @@ -1108,6 +1516,15 @@ "node": ">=8" } }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", @@ -1129,6 +1546,80 @@ "node": ">=8" } }, + "node_modules/dotgitignore": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/dotgitignore/-/dotgitignore-2.1.0.tgz", + "integrity": "sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dotgitignore/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dotgitignore/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dotgitignore/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dotgitignore/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dotgitignore/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -1294,6 +1785,18 @@ "node": ">= 8" } }, + "node_modules/fs-access": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz", + "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=", + "dev": true, + "dependencies": { + "null-check": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/fs-extra": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", @@ -1329,6 +1832,126 @@ "node": "6.* || 8.* || >= 10.*" } }, + "node_modules/get-pkg-repo": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz", + "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==", + "dev": true, + "dependencies": { + "@hutson/parse-repository-url": "^3.0.0", + "hosted-git-info": "^4.0.0", + "through2": "^2.0.0", + "yargs": "^16.2.0" + }, + "bin": { + "get-pkg-repo": "src/cli.js" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-pkg-repo/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/get-pkg-repo/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/get-pkg-repo/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/get-pkg-repo/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/get-pkg-repo/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/get-pkg-repo/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/get-pkg-repo/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/get-pkg-repo/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/get-pkg-repo/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -1360,6 +1983,53 @@ "node": ">=10" } }, + "node_modules/git-remote-origin-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", + "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=", + "dev": true, + "dependencies": { + "gitconfiglocal": "^1.0.0", + "pify": "^2.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/git-semver-tags": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz", + "integrity": "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==", + "dev": true, + "dependencies": { + "meow": "^8.0.0", + "semver": "^6.0.0" + }, + "bin": { + "git-semver-tags": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/git-semver-tags/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/gitconfiglocal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", + "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=", + "dev": true, + "dependencies": { + "ini": "^1.3.2" + } + }, "node_modules/glob": { "version": "7.1.4", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", @@ -1437,6 +2107,27 @@ "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", "dev": true }, + "node_modules/handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, "node_modules/hard-rejection": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", @@ -1783,6 +2474,12 @@ "node": ">=0.10.0" } }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -1795,6 +2492,12 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", @@ -1807,6 +2510,12 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, "node_modules/jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -1859,6 +2568,52 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, + "node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -1880,6 +2635,12 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, + "node_modules/lodash.ismatch": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", + "integrity": "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=", + "dev": true + }, "node_modules/lodash.map": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", @@ -2025,12 +2786,27 @@ "node": ">= 6" } }, + "node_modules/modify-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", + "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/mute-stream": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", "dev": true }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, "node_modules/normalize-package-data": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", @@ -2058,6 +2834,15 @@ "node": ">=8" } }, + "node_modules/null-check": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz", + "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -2223,6 +3008,21 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, "node_modules/punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", @@ -2590,6 +3390,15 @@ "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", "dev": true }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/spdx-correct": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", @@ -2622,6 +3431,18 @@ "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", "dev": true }, + "node_modules/split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "dev": true, + "dependencies": { + "through": "2" + }, + "engines": { + "node": "*" + } + }, "node_modules/split2": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", @@ -2631,6 +3452,188 @@ "readable-stream": "^3.0.0" } }, + "node_modules/standard-version": { + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/standard-version/-/standard-version-9.3.2.tgz", + "integrity": "sha512-u1rfKP4o4ew7Yjbfycv80aNMN2feTiqseAhUhrrx2XtdQGmu7gucpziXe68Z4YfHVqlxVEzo4aUA0Iu3VQOTgQ==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2", + "conventional-changelog": "3.1.24", + "conventional-changelog-config-spec": "2.1.0", + "conventional-changelog-conventionalcommits": "4.6.1", + "conventional-recommended-bump": "6.1.0", + "detect-indent": "^6.0.0", + "detect-newline": "^3.1.0", + "dotgitignore": "^2.1.0", + "figures": "^3.1.0", + "find-up": "^5.0.0", + "fs-access": "^1.0.1", + "git-semver-tags": "^4.0.0", + "semver": "^7.1.1", + "stringify-package": "^1.0.1", + "yargs": "^16.0.0" + }, + "bin": { + "standard-version": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/standard-version/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/standard-version/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/standard-version/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/standard-version/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/standard-version/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/standard-version/node_modules/conventional-changelog-conventionalcommits": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.1.tgz", + "integrity": "sha512-lzWJpPZhbM1R0PIzkwzGBCnAkH5RKJzJfFQZcl/D+2lsJxAwGnDKBqn/F4C1RD31GJNn8NuKWQzAZDAVXPp2Mw==", + "dev": true, + "dependencies": { + "compare-func": "^2.0.0", + "lodash": "^4.17.15", + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/standard-version/node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/standard-version/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/standard-version/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/standard-version/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/standard-version/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/standard-version/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/standard-version/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -2674,6 +3677,12 @@ "node": ">=4" } }, + "node_modules/stringify-package": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.1.tgz", + "integrity": "sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg==", + "dev": true + }, "node_modules/strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", @@ -2865,6 +3874,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, "node_modules/typescript": { "version": "4.5.5", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz", @@ -2878,6 +3893,19 @@ "node": ">=4.2.0" } }, + "node_modules/uglify-js": { + "version": "3.14.5", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.5.tgz", + "integrity": "sha512-qZukoSxOG0urUTvjc2ERMTcAy+BiFh3weWAkeurLwjrCba73poHmG3E36XEjd/JGukMzwTL7uCxZiAexj8ppvQ==", + "dev": true, + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", @@ -2936,6 +3964,12 @@ "node": ">=0.10.0" } }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -3003,6 +4037,15 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", @@ -3405,6 +4448,12 @@ "@cspotcode/source-map-consumer": "0.8.0" } }, + "@hutson/parse-repository-url": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz", + "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==", + "dev": true + }, "@tsconfig/node10": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", @@ -3466,6 +4515,12 @@ "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", "dev": true }, + "add-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", + "integrity": "sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=", + "dev": true + }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -3542,6 +4597,12 @@ "fill-range": "^7.0.1" } }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, "cachedir": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.2.0.tgz", @@ -3793,6 +4854,37 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, + "concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "conventional-changelog": { + "version": "3.1.24", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.24.tgz", + "integrity": "sha512-ed6k8PO00UVvhExYohroVPXcOJ/K1N0/drJHx/faTH37OIZthlecuLIRX/T6uOp682CAoVoFpu+sSEaeuH6Asg==", + "dev": true, + "requires": { + "conventional-changelog-angular": "^5.0.12", + "conventional-changelog-atom": "^2.0.8", + "conventional-changelog-codemirror": "^2.0.8", + "conventional-changelog-conventionalcommits": "^4.5.0", + "conventional-changelog-core": "^4.2.1", + "conventional-changelog-ember": "^2.0.9", + "conventional-changelog-eslint": "^3.0.9", + "conventional-changelog-express": "^2.0.6", + "conventional-changelog-jquery": "^3.0.11", + "conventional-changelog-jshint": "^2.0.9", + "conventional-changelog-preset-loader": "^2.3.4" + } + }, "conventional-changelog-angular": { "version": "5.0.13", "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", @@ -3803,6 +4895,30 @@ "q": "^1.5.1" } }, + "conventional-changelog-atom": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz", + "integrity": "sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-codemirror": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz", + "integrity": "sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-config-spec": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz", + "integrity": "sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ==", + "dev": true + }, "conventional-changelog-conventionalcommits": { "version": "4.6.3", "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz", @@ -3814,12 +4930,234 @@ "q": "^1.5.1" } }, + "conventional-changelog-core": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz", + "integrity": "sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==", + "dev": true, + "requires": { + "add-stream": "^1.0.0", + "conventional-changelog-writer": "^5.0.0", + "conventional-commits-parser": "^3.2.0", + "dateformat": "^3.0.0", + "get-pkg-repo": "^4.0.0", + "git-raw-commits": "^2.0.8", + "git-remote-origin-url": "^2.0.0", + "git-semver-tags": "^4.1.1", + "lodash": "^4.17.15", + "normalize-package-data": "^3.0.0", + "q": "^1.5.1", + "read-pkg": "^3.0.0", + "read-pkg-up": "^3.0.0", + "through2": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "dependencies": { + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + } + } + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "conventional-changelog-ember": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz", + "integrity": "sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-eslint": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz", + "integrity": "sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-express": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz", + "integrity": "sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-jquery": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz", + "integrity": "sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-jshint": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz", + "integrity": "sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==", + "dev": true, + "requires": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + } + }, + "conventional-changelog-preset-loader": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", + "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", + "dev": true + }, + "conventional-changelog-writer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz", + "integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==", + "dev": true, + "requires": { + "conventional-commits-filter": "^2.0.7", + "dateformat": "^3.0.0", + "handlebars": "^4.7.7", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "semver": "^6.0.0", + "split": "^1.0.0", + "through2": "^4.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, "conventional-commit-types": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/conventional-commit-types/-/conventional-commit-types-3.0.0.tgz", "integrity": "sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==", "dev": true }, + "conventional-commits-filter": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", + "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", + "dev": true, + "requires": { + "lodash.ismatch": "^4.4.0", + "modify-values": "^1.0.0" + } + }, "conventional-commits-parser": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", @@ -3834,6 +5172,28 @@ "through2": "^4.0.0" } }, + "conventional-recommended-bump": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz", + "integrity": "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==", + "dev": true, + "requires": { + "concat-stream": "^2.0.0", + "conventional-changelog-preset-loader": "^2.3.4", + "conventional-commits-filter": "^2.0.7", + "conventional-commits-parser": "^3.2.0", + "git-raw-commits": "^2.0.8", + "git-semver-tags": "^4.1.1", + "meow": "^8.0.0", + "q": "^1.5.1" + } + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, "cosmiconfig": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", @@ -3947,6 +5307,12 @@ "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", "dev": true }, + "dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true + }, "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", @@ -3989,6 +5355,12 @@ "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==", "dev": true }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true + }, "diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", @@ -4004,6 +5376,61 @@ "is-obj": "^2.0.0" } }, + "dotgitignore": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/dotgitignore/-/dotgitignore-2.1.0.tgz", + "integrity": "sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA==", + "dev": true, + "requires": { + "find-up": "^3.0.0", + "minimatch": "^3.0.4" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } + } + }, "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -4136,6 +5563,15 @@ "resolve-dir": "^1.0.1" } }, + "fs-access": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz", + "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=", + "dev": true, + "requires": { + "null-check": "^1.0.0" + } + }, "fs-extra": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", @@ -4165,6 +5601,107 @@ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, + "get-pkg-repo": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz", + "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==", + "dev": true, + "requires": { + "@hutson/parse-repository-url": "^3.0.0", + "hosted-git-info": "^4.0.0", + "through2": "^2.0.0", + "yargs": "^16.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + } + } + }, "get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -4184,6 +5721,43 @@ "through2": "^4.0.0" } }, + "git-remote-origin-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", + "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=", + "dev": true, + "requires": { + "gitconfiglocal": "^1.0.0", + "pify": "^2.3.0" + } + }, + "git-semver-tags": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz", + "integrity": "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==", + "dev": true, + "requires": { + "meow": "^8.0.0", + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "gitconfiglocal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", + "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=", + "dev": true, + "requires": { + "ini": "^1.3.2" + } + }, "glob": { "version": "7.1.4", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", @@ -4248,6 +5822,19 @@ "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", "dev": true }, + "handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "requires": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" + } + }, "hard-rejection": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", @@ -4508,6 +6095,12 @@ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -4520,6 +6113,12 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, "json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", @@ -4532,6 +6131,12 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, "jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -4570,6 +6175,42 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + } + } + }, "locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -4585,6 +6226,12 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, + "lodash.ismatch": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", + "integrity": "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=", + "dev": true + }, "lodash.map": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", @@ -4697,12 +6344,24 @@ "kind-of": "^6.0.3" } }, + "modify-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", + "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", + "dev": true + }, "mute-stream": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", "dev": true }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, "normalize-package-data": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", @@ -4724,6 +6383,12 @@ "path-key": "^3.0.0" } }, + "null-check": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz", + "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=", + "dev": true + }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -4835,6 +6500,18 @@ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", @@ -5100,6 +6777,12 @@ "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", "dev": true }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, "spdx-correct": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", @@ -5132,6 +6815,15 @@ "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", "dev": true }, + "split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "dev": true, + "requires": { + "through": "2" + } + }, "split2": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", @@ -5141,6 +6833,148 @@ "readable-stream": "^3.0.0" } }, + "standard-version": { + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/standard-version/-/standard-version-9.3.2.tgz", + "integrity": "sha512-u1rfKP4o4ew7Yjbfycv80aNMN2feTiqseAhUhrrx2XtdQGmu7gucpziXe68Z4YfHVqlxVEzo4aUA0Iu3VQOTgQ==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "conventional-changelog": "3.1.24", + "conventional-changelog-config-spec": "2.1.0", + "conventional-changelog-conventionalcommits": "4.6.1", + "conventional-recommended-bump": "6.1.0", + "detect-indent": "^6.0.0", + "detect-newline": "^3.1.0", + "dotgitignore": "^2.1.0", + "figures": "^3.1.0", + "find-up": "^5.0.0", + "fs-access": "^1.0.1", + "git-semver-tags": "^4.0.0", + "semver": "^7.1.1", + "stringify-package": "^1.0.1", + "yargs": "^16.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "conventional-changelog-conventionalcommits": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.1.tgz", + "integrity": "sha512-lzWJpPZhbM1R0PIzkwzGBCnAkH5RKJzJfFQZcl/D+2lsJxAwGnDKBqn/F4C1RD31GJNn8NuKWQzAZDAVXPp2Mw==", + "dev": true, + "requires": { + "compare-func": "^2.0.0", + "lodash": "^4.17.15", + "q": "^1.5.1" + } + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + } + } + }, "string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -5177,6 +7011,12 @@ } } }, + "stringify-package": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.1.tgz", + "integrity": "sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg==", + "dev": true + }, "strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", @@ -5305,12 +7145,25 @@ "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", "dev": true }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, "typescript": { "version": "4.5.5", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz", "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==", "dev": true }, + "uglify-js": { + "version": "3.14.5", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.5.tgz", + "integrity": "sha512-qZukoSxOG0urUTvjc2ERMTcAy+BiFh3weWAkeurLwjrCba73poHmG3E36XEjd/JGukMzwTL7uCxZiAexj8ppvQ==", + "dev": true, + "optional": true + }, "universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", @@ -5357,6 +7210,12 @@ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, "wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -5408,6 +7267,12 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, "y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", diff --git a/package.json b/package.json index 2c74e947..cb5b4a63 100644 --- a/package.json +++ b/package.json @@ -1,16 +1,19 @@ { "name": "lunasea", - "version": "0.0.0", + "description": "Self-Hosted Controller", + "version": "6.0.1", "private": true, "scripts": { "prepare": "husky install", - "commit": "cz" + "commit": "git add . && cz", + "changelog": "standard-version" }, "devDependencies": { "@commitlint/cli": "^16.1.0", "@commitlint/config-conventional": "^16.0.0", "commitizen": "^4.2.4", "cz-conventional-changelog": "^3.3.0", - "husky": "^7.0.0" + "husky": "^7.0.0", + "standard-version": "^9.3.2" } } \ No newline at end of file