From 45106b47d40fee90b09105ff3912c648e25821b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Losada=20Hern=C3=A1ndez?= Date: Tue, 2 Apr 2024 13:47:16 +0200 Subject: [PATCH 01/44] Custom scrollbar fixes --- .../homebrew/brewRenderer/brewRenderer.less | 21 +++++++++++++++---- client/homebrew/homebrew.less | 17 +++++++++++---- shared/naturalcrit/codeEditor/codeEditor.less | 7 +------ 3 files changed, 31 insertions(+), 14 deletions(-) diff --git a/client/homebrew/brewRenderer/brewRenderer.less b/client/homebrew/brewRenderer/brewRenderer.less index edc8d503b..0406cad29 100644 --- a/client/homebrew/brewRenderer/brewRenderer.less +++ b/client/homebrew/brewRenderer/brewRenderer.less @@ -17,11 +17,24 @@ &::-webkit-scrollbar { width: 20px; + &:horizontal{ + height: 20px; + width:auto; + } + &-thumb { + background: linear-gradient(90deg, #d3c1af 15px, #00000000 15px); + &:horizontal{ + background: linear-gradient(0deg, #d3c1af 15px, #00000000 15px); + } + } + &-corner { + visibility: hidden; + } } - &::-webkit-scrollbar-thumb { - width:20px; - background: linear-gradient(90deg, #d3c1af 15px, #00000000 15px); - } + + + + } .pane { position : relative; } diff --git a/client/homebrew/homebrew.less b/client/homebrew/homebrew.less index ed86a8c28..828de796f 100644 --- a/client/homebrew/homebrew.less +++ b/client/homebrew/homebrew.less @@ -18,10 +18,19 @@ &::-webkit-scrollbar { width: 20px; - } - &::-webkit-scrollbar-thumb { - width:20px; - background: linear-gradient(90deg, #d3c1af 15px, #00000000 15px); + &:horizontal{ + height: 20px; + width:auto; + } + &-thumb { + background: linear-gradient(90deg, #d3c1af 15px, #00000000 15px); + &:horizontal{ + background: linear-gradient(0deg, #d3c1af 15px, #00000000 15px); + } + } + &-corner { + visibility: hidden; + } } } } diff --git a/shared/naturalcrit/codeEditor/codeEditor.less b/shared/naturalcrit/codeEditor/codeEditor.less index 8ffbcad91..2ab08a5af 100644 --- a/shared/naturalcrit/codeEditor/codeEditor.less +++ b/shared/naturalcrit/codeEditor/codeEditor.less @@ -24,18 +24,13 @@ animation-duration: 0.4s; } - .CodeMirror-sizer { - padding-right: 0 !important; - //this setting must be !important, because CodeMirror sets it inline. Achieves overlay scrollbar - } - .CodeMirror-vscrollbar { &::-webkit-scrollbar { width: 20px; } &::-webkit-scrollbar-thumb { width: 20px; - background: linear-gradient(90deg, #85858599 15px, #80808000 15px); + background: linear-gradient(90deg, #858585 15px, #808080 15px); } } From 9f2aaf01c77d6d113fa61517131a03c22aa904fe Mon Sep 17 00:00:00 2001 From: Gazook89 Date: Sat, 6 Apr 2024 14:50:20 -0500 Subject: [PATCH 02/44] Remove unnecessary Nav components and methods. --- .../pages/accountPage/accountPage.jsx | 21 ------------------- 1 file changed, 21 deletions(-) diff --git a/client/homebrew/pages/accountPage/accountPage.jsx b/client/homebrew/pages/accountPage/accountPage.jsx index d08832427..c796b9d22 100644 --- a/client/homebrew/pages/accountPage/accountPage.jsx +++ b/client/homebrew/pages/accountPage/accountPage.jsx @@ -1,19 +1,9 @@ const React = require('react'); const createClass = require('create-react-class'); -const _ = require('lodash'); -const cx = require('classnames'); const moment = require('moment'); const UIPage = require('../basePages/uiPage/uiPage.jsx'); -const Nav = require('naturalcrit/nav/nav.jsx'); -const Navbar = require('../../navbar/navbar.jsx'); - -const RecentNavItem = require('../../navbar/recent.navitem.jsx').both; -const Account = require('../../navbar/account.navitem.jsx'); -const NewBrew = require('../../navbar/newbrew.navitem.jsx'); -const HelpNavItem = require('../../navbar/help.navitem.jsx'); - const NaturalCritIcon = require('naturalcrit/svg/naturalcrit.svg.jsx'); let SAVEKEY = ''; @@ -53,17 +43,6 @@ const AccountPage = createClass({ return ; }, - renderNavItems : function() { - return - - - - - - - ; - }, - renderUiItems : function() { return <>
From e7eda1f5ec789ce729ca27cbf639d19152fbe4f3 Mon Sep 17 00:00:00 2001 From: Gazook89 Date: Sat, 6 Apr 2024 15:26:40 -0500 Subject: [PATCH 03/44] Convert class component to functional component Used OpenAI ChatGPT to do the bulk of this, and then fixed some formatting and looked for obvious mistakes. --- .../pages/accountPage/accountPage.jsx | 129 +++++++++--------- 1 file changed, 65 insertions(+), 64 deletions(-) diff --git a/client/homebrew/pages/accountPage/accountPage.jsx b/client/homebrew/pages/accountPage/accountPage.jsx index c796b9d22..88a347121 100644 --- a/client/homebrew/pages/accountPage/accountPage.jsx +++ b/client/homebrew/pages/accountPage/accountPage.jsx @@ -1,5 +1,4 @@ const React = require('react'); -const createClass = require('create-react-class'); const moment = require('moment'); const UIPage = require('../basePages/uiPage/uiPage.jsx'); @@ -8,74 +7,76 @@ const NaturalCritIcon = require('naturalcrit/svg/naturalcrit.svg.jsx'); let SAVEKEY = ''; -const AccountPage = createClass({ - displayName : 'AccountPage', - getDefaultProps : function() { - return { - brew : {}, - uiItems : {} - }; - }, - getInitialState : function() { - return { - uiItems : this.props.uiItems - }; - }, - componentDidMount : function(){ - if(!this.state.saveLocation && this.props.uiItems.username) { - SAVEKEY = `HOMEBREWERY-DEFAULT-SAVE-LOCATION-${this.props.uiItems.username}`; - let saveLocation = window.localStorage.getItem(SAVEKEY); - saveLocation = saveLocation ?? (this.state.uiItems.googleId ? 'GOOGLE-DRIVE' : 'HOMEBREWERY'); - this.makeActive(saveLocation); +const AccountPage = (props)=>{ + const [saveLocation, setSaveLocation] = React.useState(''); + + React.useEffect(()=>{ + if(!saveLocation && props.uiItems.username) { + SAVEKEY = `HOMEBREWERY-DEFAULT-SAVE-LOCATION-${props.uiItems.username}`; + let saveLocation = window.localStorage.getItem(SAVEKEY); + saveLocation = saveLocation ?? (props.uiItems.googleId ? 'GOOGLE-DRIVE' : 'HOMEBREWERY'); + makeActive(saveLocation); } - }, + }, []); - makeActive : function(newSelection){ - if(this.state.saveLocation == newSelection) return; + const makeActive = (newSelection)=>{ + if(saveLocation === newSelection) return; window.localStorage.setItem(SAVEKEY, newSelection); - this.setState({ - saveLocation : newSelection - }); - }, + setSaveLocation(newSelection); + }; - renderButton : function(name, key, shouldRender=true){ - if(!shouldRender) return; - return ; - }, + const renderButton = (name, key, shouldRender = true)=>{ + if(!shouldRender) return null; + return ( + + ); + }; - renderUiItems : function() { - return <> -
-

Account Information

-

Username: {this.props.uiItems.username || 'No user currently logged in'}

-

Last Login: {moment(this.props.uiItems.issued).format('dddd, MMMM Do YYYY, h:mm:ss a ZZ') || '-'}

-
-
-

Homebrewery Information

-

Brews on Homebrewery: {this.props.uiItems.mongoCount}

-
-
-

Google Information

-

Linked to Google: {this.props.uiItems.googleId ? 'YES' : 'NO'}

- {this.props.uiItems.googleId && -

- Brews on Google Drive: {this.props.uiItems.googleCount ?? <>Unable to retrieve files - follow these steps to renew your Google credentials.} -

- } -
-
-

Default Save Location

- {this.renderButton('Homebrewery', 'HOMEBREWERY')} - {this.renderButton('Google Drive', 'GOOGLE-DRIVE', this.state.uiItems.googleId)} -
- ; - }, + const renderUiItems = ()=>{ + return ( + <> +
+

Account Information

+

Username: {props.uiItems.username || 'No user currently logged in'}

+

Last Login: {moment(props.uiItems.issued).format('dddd, MMMM Do YYYY, h:mm:ss a ZZ') || '-'}

+
+
+

Homebrewery Information

+

Brews on Homebrewery: {props.uiItems.mongoCount}

+
+
+

Google Information

+

Linked to Google: {props.uiItems.googleId ? 'YES' : 'NO'}

+ {props.uiItems.googleId && ( +

+ Brews on Google Drive: {props.uiItems.googleCount ?? ( + <> + Unable to retrieve files - follow these steps to renew your Google credentials. + + )} +

+ )} +
+
+

Default Save Location

+ {renderButton('Homebrewery', 'HOMEBREWERY')} + {renderButton('Google Drive', 'GOOGLE-DRIVE', props.uiItems.googleId)} +
+ + ); + }; - render : function(){ - return - {this.renderUiItems()} - ; - } -}); + return ( + + {renderUiItems()} + ); +}; module.exports = AccountPage; From e1599909bcf6448ab359acbd7f81fa89497671a6 Mon Sep 17 00:00:00 2001 From: Gazook89 Date: Sat, 6 Apr 2024 15:30:18 -0500 Subject: [PATCH 04/44] change name of render method to be more discriptive "UiItems" is not descriptive enough for a render method because most anything that is rendered is part of the UI. This could be left as just `render()`, but `renderAccountPage()` provides best context of what is happening. --- client/homebrew/pages/accountPage/accountPage.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/homebrew/pages/accountPage/accountPage.jsx b/client/homebrew/pages/accountPage/accountPage.jsx index 88a347121..591845cbb 100644 --- a/client/homebrew/pages/accountPage/accountPage.jsx +++ b/client/homebrew/pages/accountPage/accountPage.jsx @@ -39,7 +39,7 @@ const AccountPage = (props)=>{ ); }; - const renderUiItems = ()=>{ + const renderAccountPage = ()=>{ return ( <>
@@ -75,7 +75,7 @@ const AccountPage = (props)=>{ return ( - {renderUiItems()} + {renderAccountPage()} ); }; From 08406de5cc094efd592f172400a4ca9b4eff502f Mon Sep 17 00:00:00 2001 From: Gazook89 Date: Sat, 6 Apr 2024 15:44:19 -0500 Subject: [PATCH 05/44] add code comments for each step. --- client/homebrew/pages/accountPage/accountPage.jsx | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/client/homebrew/pages/accountPage/accountPage.jsx b/client/homebrew/pages/accountPage/accountPage.jsx index 591845cbb..72d60a741 100644 --- a/client/homebrew/pages/accountPage/accountPage.jsx +++ b/client/homebrew/pages/accountPage/accountPage.jsx @@ -8,23 +8,29 @@ const NaturalCritIcon = require('naturalcrit/svg/naturalcrit.svg.jsx'); let SAVEKEY = ''; const AccountPage = (props)=>{ + // State for the save location const [saveLocation, setSaveLocation] = React.useState(''); + // initialize save location from local storage based on user id React.useEffect(()=>{ if(!saveLocation && props.uiItems.username) { SAVEKEY = `HOMEBREWERY-DEFAULT-SAVE-LOCATION-${props.uiItems.username}`; + // if no SAVEKEY in local storage, default save location to Google Drive. let saveLocation = window.localStorage.getItem(SAVEKEY); saveLocation = saveLocation ?? (props.uiItems.googleId ? 'GOOGLE-DRIVE' : 'HOMEBREWERY'); makeActive(saveLocation); } }, []); + // function to set the active save location const makeActive = (newSelection)=>{ if(saveLocation === newSelection) return; window.localStorage.setItem(SAVEKEY, newSelection); setSaveLocation(newSelection); }; + // render a button for setting save locations. + // todo: should this be a set of radio buttons (well styled) since it's either/or choice? const renderButton = (name, key, shouldRender = true)=>{ if(!shouldRender) return null; return ( @@ -39,6 +45,7 @@ const AccountPage = (props)=>{ ); }; + // render the entirety of the account page content const renderAccountPage = ()=>{ return ( <> @@ -73,6 +80,7 @@ const AccountPage = (props)=>{ ); }; + // return the account page inside the base layout wrapper (with navbar etc). return ( {renderAccountPage()} From 777438fd940e74fe87f20887fddabd8d41e3f98a Mon Sep 17 00:00:00 2001 From: Gazook89 Date: Sat, 6 Apr 2024 21:23:26 -0500 Subject: [PATCH 06/44] rename props.brew.uiItems to ...accountDetails and destructure props at start of account page component. `accountDetails` is more descriptive of what set of info is being passed through props to the account page, info which is only *then* displayed as UI items. --- client/homebrew/homebrew.jsx | 2 +- .../pages/accountPage/accountPage.jsx | 26 +++++++++++-------- server/app.js | 2 +- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/client/homebrew/homebrew.jsx b/client/homebrew/homebrew.jsx index a08a39ea0..8c82f33e7 100644 --- a/client/homebrew/homebrew.jsx +++ b/client/homebrew/homebrew.jsx @@ -76,7 +76,7 @@ const Homebrew = createClass({ } /> } /> } /> - } /> + } /> } /> } /> } /> diff --git a/client/homebrew/pages/accountPage/accountPage.jsx b/client/homebrew/pages/accountPage/accountPage.jsx index 72d60a741..e65736a24 100644 --- a/client/homebrew/pages/accountPage/accountPage.jsx +++ b/client/homebrew/pages/accountPage/accountPage.jsx @@ -8,16 +8,20 @@ const NaturalCritIcon = require('naturalcrit/svg/naturalcrit.svg.jsx'); let SAVEKEY = ''; const AccountPage = (props)=>{ + // destructure props + const { accountDetails, brew } = props; + + // State for the save location const [saveLocation, setSaveLocation] = React.useState(''); // initialize save location from local storage based on user id React.useEffect(()=>{ - if(!saveLocation && props.uiItems.username) { - SAVEKEY = `HOMEBREWERY-DEFAULT-SAVE-LOCATION-${props.uiItems.username}`; + if(!saveLocation && accountDetails.username) { + SAVEKEY = `HOMEBREWERY-DEFAULT-SAVE-LOCATION-${accountDetails.username}`; // if no SAVEKEY in local storage, default save location to Google Drive. let saveLocation = window.localStorage.getItem(SAVEKEY); - saveLocation = saveLocation ?? (props.uiItems.googleId ? 'GOOGLE-DRIVE' : 'HOMEBREWERY'); + saveLocation = saveLocation ?? (accountDetails.googleId ? 'GOOGLE-DRIVE' : 'HOMEBREWERY'); makeActive(saveLocation); } }, []); @@ -51,19 +55,19 @@ const AccountPage = (props)=>{ <>

Account Information

-

Username: {props.uiItems.username || 'No user currently logged in'}

-

Last Login: {moment(props.uiItems.issued).format('dddd, MMMM Do YYYY, h:mm:ss a ZZ') || '-'}

+

Username: {accountDetails.username || 'No user currently logged in'}

+

Last Login: {moment(accountDetails.issued).format('dddd, MMMM Do YYYY, h:mm:ss a ZZ') || '-'}

Homebrewery Information

-

Brews on Homebrewery: {props.uiItems.mongoCount}

+

Brews on Homebrewery: {accountDetails.mongoCount}

Google Information

-

Linked to Google: {props.uiItems.googleId ? 'YES' : 'NO'}

- {props.uiItems.googleId && ( +

Linked to Google: {accountDetails.googleId ? 'YES' : 'NO'}

+ {accountDetails.googleId && (

- Brews on Google Drive: {props.uiItems.googleCount ?? ( + Brews on Google Drive: {accountDetails.googleCount ?? ( <> Unable to retrieve files - follow these steps to renew your Google credentials. @@ -74,7 +78,7 @@ const AccountPage = (props)=>{

Default Save Location

{renderButton('Homebrewery', 'HOMEBREWERY')} - {renderButton('Google Drive', 'GOOGLE-DRIVE', props.uiItems.googleId)} + {renderButton('Google Drive', 'GOOGLE-DRIVE', accountDetails.googleId)}
); @@ -82,7 +86,7 @@ const AccountPage = (props)=>{ // return the account page inside the base layout wrapper (with navbar etc). return ( - + {renderAccountPage()} ); }; diff --git a/server/app.js b/server/app.js index 4c72b4924..c8fec4bc4 100644 --- a/server/app.js +++ b/server/app.js @@ -372,7 +372,7 @@ app.get('/account', asyncHandler(async (req, res, next)=>{ console.log(err); }); - data.uiItems = { + data.accountDetails = { username : req.account.username, issued : req.account.issued, googleId : Boolean(req.account.googleId), From ed85f77c48fe1ad4dea889bbfa4fc15593369ccf Mon Sep 17 00:00:00 2001 From: Gazook89 Date: Sat, 6 Apr 2024 21:34:04 -0500 Subject: [PATCH 07/44] ESLint linting (one small whitespace change). --- client/homebrew/pages/accountPage/accountPage.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/homebrew/pages/accountPage/accountPage.jsx b/client/homebrew/pages/accountPage/accountPage.jsx index e65736a24..47264dca1 100644 --- a/client/homebrew/pages/accountPage/accountPage.jsx +++ b/client/homebrew/pages/accountPage/accountPage.jsx @@ -33,7 +33,7 @@ const AccountPage = (props)=>{ setSaveLocation(newSelection); }; - // render a button for setting save locations. + // render a button for setting save locations. // todo: should this be a set of radio buttons (well styled) since it's either/or choice? const renderButton = (name, key, shouldRender = true)=>{ if(!shouldRender) return null; From 99f9b1034852f18060151c1581351a595837a4a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Losada=20Hern=C3=A1ndez?= Date: Sun, 7 Apr 2024 16:16:21 +0200 Subject: [PATCH 08/44] initial commit --- .../pages/errorPage/errors/errorIndex.js | 20 +++++++++++++++++-- server/homebrew.api.js | 4 ++-- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/client/homebrew/pages/errorPage/errors/errorIndex.js b/client/homebrew/pages/errorPage/errors/errorIndex.js index 7c7a3ae7f..bec3fdfe7 100644 --- a/client/homebrew/pages/errorPage/errors/errorIndex.js +++ b/client/homebrew/pages/errorPage/errors/errorIndex.js @@ -73,11 +73,14 @@ const errorIndex = (props)=>{ **Properties** tab, and adding your username to the "invited authors" list. You can then try to access this document again. + : + **Brew Title:** ${props.brew.brewTitle || 'Unable to show title'} **Current Authors:** ${props.brew.authors?.map((author)=>{return `${author}`;}).join(', ') || 'Unable to list authors'} - [Click here to be redirected to the brew's share page.](/share/${props.brew.shareId})`, + ${props.brew.published ? `[Click here to be redirected to the brew's share page.](/share/${props.brew.shareId})`: + 'This brew is unpublished, therefore we cannot grant you its share page URL.'}`, // User is not signed in; must be a user on the Authors List '04' : dedent` @@ -86,9 +89,14 @@ const errorIndex = (props)=>{ You must be logged in to one of the accounts listed as an author of this brew. User is not logged in. Please log in [here](${loginUrl}). + : + **Brew Title:** ${props.brew.brewTitle || 'Unable to show title'} - **Current Authors:** ${props.brew.authors?.map((author)=>{return `${author}`;}).join(', ') || 'Unable to list authors'}`, + **Current Authors:** ${props.brew.authors?.map((author)=>{return `${author}`;}).join(', ') || 'Unable to list authors'} + + ${props.brew.published ? `[Click here to be redirected to the brew's share page.](/share/${props.brew.shareId})`: + 'This brew is unpublished, therefore we cannot grant you its share page URL.'}`, // Brew load error '05' : dedent` @@ -97,6 +105,8 @@ const errorIndex = (props)=>{ The server could not locate the Homebrewery document. It was likely deleted by its owner. + : + **Requested access:** ${props.brew.accessType} **Brew ID:** ${props.brew.brewId}`, @@ -113,6 +123,8 @@ const errorIndex = (props)=>{ An error occurred while attempting to remove the Homebrewery document. + : + **Brew ID:** ${props.brew.brewId}`, // Author delete error @@ -121,6 +133,8 @@ const errorIndex = (props)=>{ An error occurred while attempting to remove the user from the Homebrewery document author list! + : + **Brew ID:** ${props.brew.brewId}`, // Brew locked by Administrators error @@ -129,6 +143,8 @@ const errorIndex = (props)=>{ Please contact the Administrators to unlock this document. + : + **Brew ID:** ${props.brew.brewId} **Brew Title:** ${props.brew.brewTitle}`, diff --git a/server/homebrew.api.js b/server/homebrew.api.js index 567dc9cf7..f9a2c6156 100644 --- a/server/homebrew.api.js +++ b/server/homebrew.api.js @@ -83,9 +83,9 @@ const api = { if(accessType === 'edit' && (authorsExist && !(isAuthor || isInvited))) { const accessError = { name: 'Access Error', status: 401 }; if(req.account){ - throw { ...accessError, message: 'User is not an Author', HBErrorCode: '03', authors: stub.authors, brewTitle: stub.title, shareId: stub.shareId }; + throw { ...accessError, message: 'User is not an Author', HBErrorCode: '03', authors: stub.authors, brewTitle: stub.title, shareId: stub.shareId, published: stub.published }; } - throw { ...accessError, message: 'User is not logged in', HBErrorCode: '04', authors: stub.authors, brewTitle: stub.title }; + throw { ...accessError, message: 'User is not logged in', HBErrorCode: '04', authors: stub.authors, brewTitle: stub.title, shareId: stub.shareId , published: stub.published}; } // If after all of that we still don't have a brew, throw an exception From 2045bf8060cefe0b95180aadd2b9e9e1b0cff76d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Losada=20Hern=C3=A1ndez?= Date: Mon, 8 Apr 2024 02:17:10 +0200 Subject: [PATCH 09/44] renaming snippetBar --- client/homebrew/editor/editor.jsx | 2 +- client/homebrew/editor/snippetbar/snippetbar.jsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/client/homebrew/editor/editor.jsx b/client/homebrew/editor/editor.jsx index 7cc800b78..53f9b825f 100644 --- a/client/homebrew/editor/editor.jsx +++ b/client/homebrew/editor/editor.jsx @@ -7,7 +7,7 @@ const cx = require('classnames'); const dedent = require('dedent-tabs').default; const CodeEditor = require('naturalcrit/codeEditor/codeEditor.jsx'); -const SnippetBar = require('./snippetbar/snippetbar.jsx'); +const snippetBar = require('./snippetBar/snippetBar.jsx'); const MetadataEditor = require('./metadataEditor/metadataEditor.jsx'); const EDITOR_THEME_KEY = 'HOMEBREWERY-EDITOR-THEME'; diff --git a/client/homebrew/editor/snippetbar/snippetbar.jsx b/client/homebrew/editor/snippetbar/snippetbar.jsx index 75fe0d736..1341405e5 100644 --- a/client/homebrew/editor/snippetbar/snippetbar.jsx +++ b/client/homebrew/editor/snippetbar/snippetbar.jsx @@ -1,5 +1,5 @@ /*eslint max-lines: ["warn", {"max": 250, "skipBlankLines": true, "skipComments": true}]*/ -require('./snippetbar.less'); +require('./snippetBar.less'); const React = require('react'); const createClass = require('create-react-class'); const _ = require('lodash'); From 22b01b131fc47ea8af9721060e90bd67b44679c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Losada=20Hern=C3=A1ndez?= Date: Mon, 8 Apr 2024 02:19:32 +0200 Subject: [PATCH 10/44] rename icons --- client/icons/{book-back-cover.svg => bookBackCover.svg} | 0 client/icons/{book-front-cover.svg => bookFrontCover.svg} | 0 client/icons/{book-inside-cover.svg => bookInsideCover.svg} | 0 client/icons/{book-part-cover.svg => bookPartCover.svg} | 0 client/icons/{mask-center.svg => maskCenter.svg} | 0 client/icons/{mask-corner.svg => maskCorner.svg} | 0 client/icons/{mask-edge.svg => maskEdge.svg} | 0 client/icons/{position-bottom.svg => positionBottom.svg} | 0 client/icons/{position-bottom-left.svg => positionBottomLeft.svg} | 0 .../icons/{position-bottom-right.svg => positionBottomRight.svg} | 0 client/icons/{position-left.svg => positionLeft.svg} | 0 client/icons/{position-right.svg => positionRight.svg} | 0 client/icons/{position-top.svg => positionTop.svg} | 0 client/icons/{position-top-left.svg => positionTopLeft.svg} | 0 client/icons/{position-top-right.svg => positionTopRight.svg} | 0 15 files changed, 0 insertions(+), 0 deletions(-) rename client/icons/{book-back-cover.svg => bookBackCover.svg} (100%) rename client/icons/{book-front-cover.svg => bookFrontCover.svg} (100%) rename client/icons/{book-inside-cover.svg => bookInsideCover.svg} (100%) rename client/icons/{book-part-cover.svg => bookPartCover.svg} (100%) rename client/icons/{mask-center.svg => maskCenter.svg} (100%) rename client/icons/{mask-corner.svg => maskCorner.svg} (100%) rename client/icons/{mask-edge.svg => maskEdge.svg} (100%) rename client/icons/{position-bottom.svg => positionBottom.svg} (100%) rename client/icons/{position-bottom-left.svg => positionBottomLeft.svg} (100%) rename client/icons/{position-bottom-right.svg => positionBottomRight.svg} (100%) rename client/icons/{position-left.svg => positionLeft.svg} (100%) rename client/icons/{position-right.svg => positionRight.svg} (100%) rename client/icons/{position-top.svg => positionTop.svg} (100%) rename client/icons/{position-top-left.svg => positionTopLeft.svg} (100%) rename client/icons/{position-top-right.svg => positionTopRight.svg} (100%) diff --git a/client/icons/book-back-cover.svg b/client/icons/bookBackCover.svg similarity index 100% rename from client/icons/book-back-cover.svg rename to client/icons/bookBackCover.svg diff --git a/client/icons/book-front-cover.svg b/client/icons/bookFrontCover.svg similarity index 100% rename from client/icons/book-front-cover.svg rename to client/icons/bookFrontCover.svg diff --git a/client/icons/book-inside-cover.svg b/client/icons/bookInsideCover.svg similarity index 100% rename from client/icons/book-inside-cover.svg rename to client/icons/bookInsideCover.svg diff --git a/client/icons/book-part-cover.svg b/client/icons/bookPartCover.svg similarity index 100% rename from client/icons/book-part-cover.svg rename to client/icons/bookPartCover.svg diff --git a/client/icons/mask-center.svg b/client/icons/maskCenter.svg similarity index 100% rename from client/icons/mask-center.svg rename to client/icons/maskCenter.svg diff --git a/client/icons/mask-corner.svg b/client/icons/maskCorner.svg similarity index 100% rename from client/icons/mask-corner.svg rename to client/icons/maskCorner.svg diff --git a/client/icons/mask-edge.svg b/client/icons/maskEdge.svg similarity index 100% rename from client/icons/mask-edge.svg rename to client/icons/maskEdge.svg diff --git a/client/icons/position-bottom.svg b/client/icons/positionBottom.svg similarity index 100% rename from client/icons/position-bottom.svg rename to client/icons/positionBottom.svg diff --git a/client/icons/position-bottom-left.svg b/client/icons/positionBottomLeft.svg similarity index 100% rename from client/icons/position-bottom-left.svg rename to client/icons/positionBottomLeft.svg diff --git a/client/icons/position-bottom-right.svg b/client/icons/positionBottomRight.svg similarity index 100% rename from client/icons/position-bottom-right.svg rename to client/icons/positionBottomRight.svg diff --git a/client/icons/position-left.svg b/client/icons/positionLeft.svg similarity index 100% rename from client/icons/position-left.svg rename to client/icons/positionLeft.svg diff --git a/client/icons/position-right.svg b/client/icons/positionRight.svg similarity index 100% rename from client/icons/position-right.svg rename to client/icons/positionRight.svg diff --git a/client/icons/position-top.svg b/client/icons/positionTop.svg similarity index 100% rename from client/icons/position-top.svg rename to client/icons/positionTop.svg diff --git a/client/icons/position-top-left.svg b/client/icons/positionTopLeft.svg similarity index 100% rename from client/icons/position-top-left.svg rename to client/icons/positionTopLeft.svg diff --git a/client/icons/position-top-right.svg b/client/icons/positionTopRight.svg similarity index 100% rename from client/icons/position-top-right.svg rename to client/icons/positionTopRight.svg From 7cc83eaf95d141063004d62acd38e9ffba2a23be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Losada=20Hern=C3=A1ndez?= Date: Mon, 8 Apr 2024 02:19:43 +0200 Subject: [PATCH 11/44] rename icons less --- client/icons/customIcons.less | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/client/icons/customIcons.less b/client/icons/customIcons.less index dd6605326..10ba66574 100644 --- a/client/icons/customIcons.less +++ b/client/icons/customIcons.less @@ -1,50 +1,50 @@ .fac { - display : inline-block; + display: inline-block; } .position-top-left { - content: url('../icons/position-top-left.svg'); + content: url('../icons/positionTopLeft.svg'); } .position-top-right { - content: url('../icons/position-top-right.svg'); + content: url('../icons/positionTopRight.svg'); } .position-bottom-left { - content: url('../icons/position-bottom-left.svg'); + content: url('../icons/positionBottomLeft.svg'); } .position-bottom-right { - content: url('../icons/position-bottom-right.svg'); + content: url('../icons/positionBottomRight.svg'); } .position-top { - content: url('../icons/position-top.svg'); + content: url('../icons/positionTop.svg'); } .position-right { - content: url('../icons/position-right.svg'); + content: url('../icons/positionRight.svg'); } .position-bottom { - content: url('../icons/position-bottom.svg'); + content: url('../icons/positionBottom.svg'); } .position-left { - content: url('../icons/position-left.svg'); + content: url('../icons/positionLeft.svg'); } .mask-edge { - content: url('../icons/mask-edge.svg'); + content: url('../icons/maskEdge.svg'); } .mask-corner { - content: url('../icons/mask-corner.svg'); + content: url('../icons/maskCorner.svg'); } .mask-center { - content: url('../icons/mask-center.svg'); + content: url('../icons/maskCenter.svg'); } .book-front-cover { - content: url('../icons/book-front-cover.svg'); + content: url('../icons/bookFrontCover.svg'); } .book-back-cover { - content: url('../icons/book-back-cover.svg'); + content: url('../icons/bookBackCover.svg'); } .book-inside-cover { - content: url('../icons/book-inside-cover.svg'); + content: url('../icons/bookInsideCover.svg'); } .book-part-cover { - content: url('../icons/book-part-cover.svg'); + content: url('../icons/bookPartCover.svg'); } .davek { content: url('../icons/Davek.svg'); From 4f9e93fac744de52b1f8d368024f6e97076e6875 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Losada=20Hern=C3=A1ndez?= Date: Mon, 8 Apr 2024 02:29:38 +0200 Subject: [PATCH 12/44] Revert "renaming snippetBar" This reverts commit 2045bf8060cefe0b95180aadd2b9e9e1b0cff76d. --- client/homebrew/editor/editor.jsx | 2 +- client/homebrew/editor/snippetbar/snippetbar.jsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/client/homebrew/editor/editor.jsx b/client/homebrew/editor/editor.jsx index 53f9b825f..7cc800b78 100644 --- a/client/homebrew/editor/editor.jsx +++ b/client/homebrew/editor/editor.jsx @@ -7,7 +7,7 @@ const cx = require('classnames'); const dedent = require('dedent-tabs').default; const CodeEditor = require('naturalcrit/codeEditor/codeEditor.jsx'); -const snippetBar = require('./snippetBar/snippetBar.jsx'); +const SnippetBar = require('./snippetbar/snippetbar.jsx'); const MetadataEditor = require('./metadataEditor/metadataEditor.jsx'); const EDITOR_THEME_KEY = 'HOMEBREWERY-EDITOR-THEME'; diff --git a/client/homebrew/editor/snippetbar/snippetbar.jsx b/client/homebrew/editor/snippetbar/snippetbar.jsx index 1341405e5..75fe0d736 100644 --- a/client/homebrew/editor/snippetbar/snippetbar.jsx +++ b/client/homebrew/editor/snippetbar/snippetbar.jsx @@ -1,5 +1,5 @@ /*eslint max-lines: ["warn", {"max": 250, "skipBlankLines": true, "skipComments": true}]*/ -require('./snippetBar.less'); +require('./snippetbar.less'); const React = require('react'); const createClass = require('create-react-class'); const _ = require('lodash'); From f5c729c32856445290b669481b54bb9167de242b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Losada=20Hern=C3=A1ndez?= Date: Mon, 8 Apr 2024 02:29:40 +0200 Subject: [PATCH 13/44] Revert "rename icons" This reverts commit 22b01b131fc47ea8af9721060e90bd67b44679c5. --- client/icons/{bookBackCover.svg => book-back-cover.svg} | 0 client/icons/{bookFrontCover.svg => book-front-cover.svg} | 0 client/icons/{bookInsideCover.svg => book-inside-cover.svg} | 0 client/icons/{bookPartCover.svg => book-part-cover.svg} | 0 client/icons/{maskCenter.svg => mask-center.svg} | 0 client/icons/{maskCorner.svg => mask-corner.svg} | 0 client/icons/{maskEdge.svg => mask-edge.svg} | 0 client/icons/{positionBottomLeft.svg => position-bottom-left.svg} | 0 .../icons/{positionBottomRight.svg => position-bottom-right.svg} | 0 client/icons/{positionBottom.svg => position-bottom.svg} | 0 client/icons/{positionLeft.svg => position-left.svg} | 0 client/icons/{positionRight.svg => position-right.svg} | 0 client/icons/{positionTopLeft.svg => position-top-left.svg} | 0 client/icons/{positionTopRight.svg => position-top-right.svg} | 0 client/icons/{positionTop.svg => position-top.svg} | 0 15 files changed, 0 insertions(+), 0 deletions(-) rename client/icons/{bookBackCover.svg => book-back-cover.svg} (100%) rename client/icons/{bookFrontCover.svg => book-front-cover.svg} (100%) rename client/icons/{bookInsideCover.svg => book-inside-cover.svg} (100%) rename client/icons/{bookPartCover.svg => book-part-cover.svg} (100%) rename client/icons/{maskCenter.svg => mask-center.svg} (100%) rename client/icons/{maskCorner.svg => mask-corner.svg} (100%) rename client/icons/{maskEdge.svg => mask-edge.svg} (100%) rename client/icons/{positionBottomLeft.svg => position-bottom-left.svg} (100%) rename client/icons/{positionBottomRight.svg => position-bottom-right.svg} (100%) rename client/icons/{positionBottom.svg => position-bottom.svg} (100%) rename client/icons/{positionLeft.svg => position-left.svg} (100%) rename client/icons/{positionRight.svg => position-right.svg} (100%) rename client/icons/{positionTopLeft.svg => position-top-left.svg} (100%) rename client/icons/{positionTopRight.svg => position-top-right.svg} (100%) rename client/icons/{positionTop.svg => position-top.svg} (100%) diff --git a/client/icons/bookBackCover.svg b/client/icons/book-back-cover.svg similarity index 100% rename from client/icons/bookBackCover.svg rename to client/icons/book-back-cover.svg diff --git a/client/icons/bookFrontCover.svg b/client/icons/book-front-cover.svg similarity index 100% rename from client/icons/bookFrontCover.svg rename to client/icons/book-front-cover.svg diff --git a/client/icons/bookInsideCover.svg b/client/icons/book-inside-cover.svg similarity index 100% rename from client/icons/bookInsideCover.svg rename to client/icons/book-inside-cover.svg diff --git a/client/icons/bookPartCover.svg b/client/icons/book-part-cover.svg similarity index 100% rename from client/icons/bookPartCover.svg rename to client/icons/book-part-cover.svg diff --git a/client/icons/maskCenter.svg b/client/icons/mask-center.svg similarity index 100% rename from client/icons/maskCenter.svg rename to client/icons/mask-center.svg diff --git a/client/icons/maskCorner.svg b/client/icons/mask-corner.svg similarity index 100% rename from client/icons/maskCorner.svg rename to client/icons/mask-corner.svg diff --git a/client/icons/maskEdge.svg b/client/icons/mask-edge.svg similarity index 100% rename from client/icons/maskEdge.svg rename to client/icons/mask-edge.svg diff --git a/client/icons/positionBottomLeft.svg b/client/icons/position-bottom-left.svg similarity index 100% rename from client/icons/positionBottomLeft.svg rename to client/icons/position-bottom-left.svg diff --git a/client/icons/positionBottomRight.svg b/client/icons/position-bottom-right.svg similarity index 100% rename from client/icons/positionBottomRight.svg rename to client/icons/position-bottom-right.svg diff --git a/client/icons/positionBottom.svg b/client/icons/position-bottom.svg similarity index 100% rename from client/icons/positionBottom.svg rename to client/icons/position-bottom.svg diff --git a/client/icons/positionLeft.svg b/client/icons/position-left.svg similarity index 100% rename from client/icons/positionLeft.svg rename to client/icons/position-left.svg diff --git a/client/icons/positionRight.svg b/client/icons/position-right.svg similarity index 100% rename from client/icons/positionRight.svg rename to client/icons/position-right.svg diff --git a/client/icons/positionTopLeft.svg b/client/icons/position-top-left.svg similarity index 100% rename from client/icons/positionTopLeft.svg rename to client/icons/position-top-left.svg diff --git a/client/icons/positionTopRight.svg b/client/icons/position-top-right.svg similarity index 100% rename from client/icons/positionTopRight.svg rename to client/icons/position-top-right.svg diff --git a/client/icons/positionTop.svg b/client/icons/position-top.svg similarity index 100% rename from client/icons/positionTop.svg rename to client/icons/position-top.svg From 0e5c91733dffce39523a1388f0114cad69bb8a94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Losada=20Hern=C3=A1ndez?= Date: Mon, 8 Apr 2024 02:29:43 +0200 Subject: [PATCH 14/44] Revert "rename icons less" This reverts commit 7cc83eaf95d141063004d62acd38e9ffba2a23be. --- client/icons/customIcons.less | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/client/icons/customIcons.less b/client/icons/customIcons.less index 10ba66574..dd6605326 100644 --- a/client/icons/customIcons.less +++ b/client/icons/customIcons.less @@ -1,50 +1,50 @@ .fac { - display: inline-block; + display : inline-block; } .position-top-left { - content: url('../icons/positionTopLeft.svg'); + content: url('../icons/position-top-left.svg'); } .position-top-right { - content: url('../icons/positionTopRight.svg'); + content: url('../icons/position-top-right.svg'); } .position-bottom-left { - content: url('../icons/positionBottomLeft.svg'); + content: url('../icons/position-bottom-left.svg'); } .position-bottom-right { - content: url('../icons/positionBottomRight.svg'); + content: url('../icons/position-bottom-right.svg'); } .position-top { - content: url('../icons/positionTop.svg'); + content: url('../icons/position-top.svg'); } .position-right { - content: url('../icons/positionRight.svg'); + content: url('../icons/position-right.svg'); } .position-bottom { - content: url('../icons/positionBottom.svg'); + content: url('../icons/position-bottom.svg'); } .position-left { - content: url('../icons/positionLeft.svg'); + content: url('../icons/position-left.svg'); } .mask-edge { - content: url('../icons/maskEdge.svg'); + content: url('../icons/mask-edge.svg'); } .mask-corner { - content: url('../icons/maskCorner.svg'); + content: url('../icons/mask-corner.svg'); } .mask-center { - content: url('../icons/maskCenter.svg'); + content: url('../icons/mask-center.svg'); } .book-front-cover { - content: url('../icons/bookFrontCover.svg'); + content: url('../icons/book-front-cover.svg'); } .book-back-cover { - content: url('../icons/bookBackCover.svg'); + content: url('../icons/book-back-cover.svg'); } .book-inside-cover { - content: url('../icons/bookInsideCover.svg'); + content: url('../icons/book-inside-cover.svg'); } .book-part-cover { - content: url('../icons/bookPartCover.svg'); + content: url('../icons/book-part-cover.svg'); } .davek { content: url('../icons/Davek.svg'); From 53e437c6bc0500bfcb9863dee339921bfeba7bc7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 9 Apr 2024 03:02:17 +0000 Subject: [PATCH 15/44] Bump mongoose from 8.3.0 to 8.3.1 Bumps [mongoose](https://github.com/Automattic/mongoose) from 8.3.0 to 8.3.1. - [Release notes](https://github.com/Automattic/mongoose/releases) - [Changelog](https://github.com/Automattic/mongoose/blob/master/CHANGELOG.md) - [Commits](https://github.com/Automattic/mongoose/compare/8.3.0...8.3.1) --- updated-dependencies: - dependency-name: mongoose dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 16 ++++++++-------- package.json | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8cb32640d..0e69c6d7c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -36,7 +36,7 @@ "marked-smartypants-lite": "^1.0.2", "markedLegacy": "npm:marked@^0.3.19", "moment": "^2.30.1", - "mongoose": "^8.3.0", + "mongoose": "^8.3.1", "nanoid": "3.3.4", "nconf": "^0.12.1", "react": "^18.2.0", @@ -9836,9 +9836,9 @@ } }, "node_modules/kareem": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.6.0.tgz", - "integrity": "sha512-B9wwgyKKKZkxYZXQzefvb/Ykh9eHixxR+ttTP2c/Pq8NvHi1iYIAImf3nj/DXkPcnenjGEffhPWXnCFRIbNAhw==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.6.3.tgz", + "integrity": "sha512-C3iHfuGUXK2u8/ipq9LfjFfXFxAZMQJJq7vLS45r3D9Y2xQ/m4S8zaR4zMLFWh9AsNPXmcFfUDhTEO8UIC/V6Q==", "engines": { "node": ">=12.0.0" } @@ -10545,12 +10545,12 @@ } }, "node_modules/mongoose": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-8.3.0.tgz", - "integrity": "sha512-Y5QNnuA38CEin8hnA+q//nUVztIi4Xklu9xlmbkd1KdWHnIlemSwf5IL/evcI+e2zplL4g5Y6PMkO+nPSAnIdA==", + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-8.3.1.tgz", + "integrity": "sha512-D78C+s7QI4+pJQhs3XbOxzrHFEti4x+BDhaH94QrdV1/cmMA7fHc50LgLSXjzA/5q89TBK8DAXyf3VwDZbQJlA==", "dependencies": { "bson": "^6.5.0", - "kareem": "2.6.0", + "kareem": "2.6.3", "mongodb": "6.5.0", "mpath": "0.9.0", "mquery": "5.0.0", diff --git a/package.json b/package.json index 57569791a..8dcb7356a 100644 --- a/package.json +++ b/package.json @@ -107,7 +107,7 @@ "marked-smartypants-lite": "^1.0.2", "markedLegacy": "npm:marked@^0.3.19", "moment": "^2.30.1", - "mongoose": "^8.3.0", + "mongoose": "^8.3.1", "nanoid": "3.3.4", "nconf": "^0.12.1", "react": "^18.2.0", From 4f0cbd82d40890b0ed7258a33b5e934d8ce9fbf3 Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Tue, 9 Apr 2024 11:35:30 -0400 Subject: [PATCH 16/44] Linting, small cleanup, and renaming some functions Renamed "makeActive" and "renderButton" to make more clear without needing comments. --- .../pages/accountPage/accountPage.jsx | 24 +++++++------------ 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/client/homebrew/pages/accountPage/accountPage.jsx b/client/homebrew/pages/accountPage/accountPage.jsx index 47264dca1..3f1295fdb 100644 --- a/client/homebrew/pages/accountPage/accountPage.jsx +++ b/client/homebrew/pages/accountPage/accountPage.jsx @@ -1,8 +1,6 @@ -const React = require('react'); +const React = require('react'); const moment = require('moment'); - const UIPage = require('../basePages/uiPage/uiPage.jsx'); - const NaturalCritIcon = require('naturalcrit/svg/naturalcrit.svg.jsx'); let SAVEKEY = ''; @@ -11,7 +9,6 @@ const AccountPage = (props)=>{ // destructure props const { accountDetails, brew } = props; - // State for the save location const [saveLocation, setSaveLocation] = React.useState(''); @@ -19,15 +16,15 @@ const AccountPage = (props)=>{ React.useEffect(()=>{ if(!saveLocation && accountDetails.username) { SAVEKEY = `HOMEBREWERY-DEFAULT-SAVE-LOCATION-${accountDetails.username}`; - // if no SAVEKEY in local storage, default save location to Google Drive. + // if no SAVEKEY in local storage, default save location to Google Drive if user has Google account. let saveLocation = window.localStorage.getItem(SAVEKEY); saveLocation = saveLocation ?? (accountDetails.googleId ? 'GOOGLE-DRIVE' : 'HOMEBREWERY'); - makeActive(saveLocation); + setActiveSaveLocation(saveLocation); } }, []); // function to set the active save location - const makeActive = (newSelection)=>{ + const setActiveSaveLocation = (newSelection)=>{ if(saveLocation === newSelection) return; window.localStorage.setItem(SAVEKEY, newSelection); setSaveLocation(newSelection); @@ -35,15 +32,10 @@ const AccountPage = (props)=>{ // render a button for setting save locations. // todo: should this be a set of radio buttons (well styled) since it's either/or choice? - const renderButton = (name, key, shouldRender = true)=>{ + const renderSaveLocationButton = (name, key, shouldRender = true)=>{ if(!shouldRender) return null; return ( - ); @@ -77,8 +69,8 @@ const AccountPage = (props)=>{

Default Save Location

- {renderButton('Homebrewery', 'HOMEBREWERY')} - {renderButton('Google Drive', 'GOOGLE-DRIVE', accountDetails.googleId)} + {renderSaveLocationButton('Homebrewery', 'HOMEBREWERY')} + {renderSaveLocationButton('Google Drive', 'GOOGLE-DRIVE', accountDetails.googleId)}
); From 431dfd77802fd7ed562e2b15fd1dad68ce594a13 Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Tue, 9 Apr 2024 11:36:13 -0400 Subject: [PATCH 17/44] tweak comments --- client/homebrew/pages/accountPage/accountPage.jsx | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/client/homebrew/pages/accountPage/accountPage.jsx b/client/homebrew/pages/accountPage/accountPage.jsx index 3f1295fdb..598683504 100644 --- a/client/homebrew/pages/accountPage/accountPage.jsx +++ b/client/homebrew/pages/accountPage/accountPage.jsx @@ -6,10 +6,8 @@ const NaturalCritIcon = require('naturalcrit/svg/naturalcrit.svg.jsx'); let SAVEKEY = ''; const AccountPage = (props)=>{ - // destructure props + // destructure props and set state for save location const { accountDetails, brew } = props; - - // State for the save location const [saveLocation, setSaveLocation] = React.useState(''); // initialize save location from local storage based on user id @@ -23,14 +21,12 @@ const AccountPage = (props)=>{ } }, []); - // function to set the active save location const setActiveSaveLocation = (newSelection)=>{ if(saveLocation === newSelection) return; window.localStorage.setItem(SAVEKEY, newSelection); setSaveLocation(newSelection); }; - // render a button for setting save locations. // todo: should this be a set of radio buttons (well styled) since it's either/or choice? const renderSaveLocationButton = (name, key, shouldRender = true)=>{ if(!shouldRender) return null; From 810934f2c1237134255c08faf11cfed590e8661f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 9 Apr 2024 15:42:16 +0000 Subject: [PATCH 18/44] Bump eslint-plugin-jest from 27.9.0 to 28.2.0 Bumps [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest) from 27.9.0 to 28.2.0. - [Release notes](https://github.com/jest-community/eslint-plugin-jest/releases) - [Changelog](https://github.com/jest-community/eslint-plugin-jest/blob/main/CHANGELOG.md) - [Commits](https://github.com/jest-community/eslint-plugin-jest/compare/v27.9.0...v28.2.0) --- updated-dependencies: - dependency-name: eslint-plugin-jest dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- package-lock.json | 201 +++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 101 insertions(+), 102 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0e69c6d7c..5750674c2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -49,7 +49,7 @@ }, "devDependencies": { "eslint": "^8.57.0", - "eslint-plugin-jest": "^27.9.0", + "eslint-plugin-jest": "^28.2.0", "eslint-plugin-react": "^7.34.1", "jest": "^29.7.0", "jest-expect-message": "^1.1.3", @@ -1900,9 +1900,9 @@ } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.3.0.tgz", - "integrity": "sha512-v3oplH6FYCULtFuCeqyuTd9D2WKO937Dxdq+GmHOLL72TTRriLxz2VLlNfkZRsvj6PKnOPAtuT6dwrs/pA5DvA==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, "dependencies": { "eslint-visitor-keys": "^3.3.0" @@ -2960,9 +2960,9 @@ } }, "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true }, "node_modules/@types/minimist": { @@ -2984,9 +2984,9 @@ "dev": true }, "node_modules/@types/semver": { - "version": "7.3.13", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", - "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", "dev": true }, "node_modules/@types/stack-utils": { @@ -3024,16 +3024,16 @@ "dev": true }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.58.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.58.0.tgz", - "integrity": "sha512-b+w8ypN5CFvrXWQb9Ow9T4/6LC2MikNf1viLkYTiTbkQl46CnR69w7lajz1icW0TBsYmlpg+mRzFJ4LEJ8X9NA==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.58.0", - "@typescript-eslint/visitor-keys": "5.58.0" + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -3041,12 +3041,12 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.58.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.58.0.tgz", - "integrity": "sha512-JYV4eITHPzVQMnHZcYJXl2ZloC7thuUHrcUmxtzvItyKPvQ50kb9QXBkgNAt90OYMqwaodQh2kHutWZl1fc+1g==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -3054,21 +3054,22 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.58.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.58.0.tgz", - "integrity": "sha512-cRACvGTodA+UxnYM2uwA2KCwRL7VAzo45syNysqlMyNyjw0Z35Icc9ihPJZjIYuA5bXJYiJ2YGUB59BqlOZT1Q==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.58.0", - "@typescript-eslint/visitor-keys": "5.58.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -3080,6 +3081,15 @@ } } }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -3092,10 +3102,25 @@ "node": ">=10" } }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -3114,51 +3139,28 @@ "dev": true }, "node_modules/@typescript-eslint/utils": { - "version": "5.58.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.58.0.tgz", - "integrity": "sha512-gAmLOTFXMXOC+zP1fsqm3VceKSBQJNzV385Ok3+yzlavNHZoedajjS4UyS21gabJYcobuigQPs/z71A9MdJFqQ==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", + "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", "dev": true, "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.58.0", - "@typescript-eslint/types": "5.58.0", - "@typescript-eslint/typescript-estree": "5.58.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "semver": "^7.5.4" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" + "eslint": "^7.0.0 || ^8.0.0" } }, "node_modules/@typescript-eslint/utils/node_modules/lru-cache": { @@ -3174,9 +3176,9 @@ } }, "node_modules/@typescript-eslint/utils/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -3195,16 +3197,16 @@ "dev": true }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.58.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.58.0.tgz", - "integrity": "sha512-/fBraTlPj0jwdyTwLyrRTxv/3lnU2H96pNTVM6z3esTWLtA5MZ9ghSMJ7Rb+TtUAdtEw9EyJzJ0EydIMKxQ9gA==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.58.0", - "eslint-visitor-keys": "^3.3.0" + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -5746,19 +5748,19 @@ } }, "node_modules/eslint-plugin-jest": { - "version": "27.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz", - "integrity": "sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==", + "version": "28.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.2.0.tgz", + "integrity": "sha512-yRDti/a+f+SMSmNTiT9/M/MzXGkitl8CfzUxnpoQcTyfq8gUrXMriVcWU36W1X6BZSUoyUCJrDAWWUA2N4hE5g==", "dev": true, "dependencies": { - "@typescript-eslint/utils": "^5.10.0" + "@typescript-eslint/utils": "^6.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^16.10.0 || ^18.12.0 || >=20.0.0" }, "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^5.0.0 || ^6.0.0 || ^7.0.0", - "eslint": "^7.0.0 || ^8.0.0", + "@typescript-eslint/eslint-plugin": "^6.0.0 || ^7.0.0", + "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0", "jest": "*" }, "peerDependenciesMeta": { @@ -14011,26 +14013,23 @@ "utf8-byte-length": "^1.0.1" } }, + "node_modules/ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "dev": true, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, "node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, "node_modules/tty-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", @@ -14160,9 +14159,9 @@ "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" }, "node_modules/typescript": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", - "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "version": "5.4.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.4.tgz", + "integrity": "sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw==", "dev": true, "peer": true, "bin": { @@ -14170,7 +14169,7 @@ "tsserver": "bin/tsserver" }, "engines": { - "node": ">=12.20" + "node": ">=14.17" } }, "node_modules/umd": { diff --git a/package.json b/package.json index 8dcb7356a..490e32601 100644 --- a/package.json +++ b/package.json @@ -120,7 +120,7 @@ }, "devDependencies": { "eslint": "^8.57.0", - "eslint-plugin-jest": "^27.9.0", + "eslint-plugin-jest": "^28.2.0", "eslint-plugin-react": "^7.34.1", "jest": "^29.7.0", "jest-expect-message": "^1.1.3", From 9247967f93a10e3a163d925024b544bd86b97344 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Losada=20Hern=C3=A1ndez?= Date: Tue, 9 Apr 2024 20:12:40 +0200 Subject: [PATCH 19/44] fixed published request --- client/homebrew/pages/errorPage/errors/errorIndex.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/client/homebrew/pages/errorPage/errors/errorIndex.js b/client/homebrew/pages/errorPage/errors/errorIndex.js index 5d242648c..f9d52c109 100644 --- a/client/homebrew/pages/errorPage/errors/errorIndex.js +++ b/client/homebrew/pages/errorPage/errors/errorIndex.js @@ -79,8 +79,7 @@ const errorIndex = (props)=>{ **Current Authors:** ${props.brew.authors?.map((author)=>{return `[${author}](/user/${author})`;}).join(', ') || 'Unable to list authors'} - ${props.brew.published ? `[Click here to be redirected to the brew's share page.](/share/${props.brew.shareId})`: - 'This brew is unpublished, therefore we cannot grant you its share page URL.'}`, + [Click here to be redirected to the brew's share page.](/share/${props.brew.shareId})`, // User is not signed in; must be a user on the Authors List '04' : dedent` @@ -95,8 +94,7 @@ const errorIndex = (props)=>{ **Current Authors:** ${props.brew.authors?.map((author)=>{return `[${author}](/user/${author})`;}).join(', ') || 'Unable to list authors'} - ${props.brew.published ? `[Click here to be redirected to the brew's share page.](/share/${props.brew.shareId})`: - 'This brew is unpublished, therefore we cannot grant you its share page URL.'}`, + [Click here to be redirected to the brew's share page.](/share/${props.brew.shareId})`, // Brew load error From 7097897df8cc1131863c62a47feefd5f74416519 Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Tue, 9 Apr 2024 15:24:04 -0400 Subject: [PATCH 20/44] Remove "stub.published" from thrown error, since no longer used --- server/homebrew.api.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/homebrew.api.js b/server/homebrew.api.js index f9a2c6156..e73a704a8 100644 --- a/server/homebrew.api.js +++ b/server/homebrew.api.js @@ -83,9 +83,9 @@ const api = { if(accessType === 'edit' && (authorsExist && !(isAuthor || isInvited))) { const accessError = { name: 'Access Error', status: 401 }; if(req.account){ - throw { ...accessError, message: 'User is not an Author', HBErrorCode: '03', authors: stub.authors, brewTitle: stub.title, shareId: stub.shareId, published: stub.published }; + throw { ...accessError, message: 'User is not an Author', HBErrorCode: '03', authors: stub.authors, brewTitle: stub.title, shareId: stub.shareId}; } - throw { ...accessError, message: 'User is not logged in', HBErrorCode: '04', authors: stub.authors, brewTitle: stub.title, shareId: stub.shareId , published: stub.published}; + throw { ...accessError, message: 'User is not logged in', HBErrorCode: '04', authors: stub.authors, brewTitle: stub.title, shareId: stub.shareId}; } // If after all of that we still don't have a brew, throw an exception From 6220e4f63faed0ff40696c5d80beaabfe1fcded4 Mon Sep 17 00:00:00 2001 From: Gazook89 Date: Sat, 13 Apr 2024 10:30:04 -0500 Subject: [PATCH 21/44] Remove unused defaultProps The defaultProps are not used, and may be a relic of previous error page function. --- client/homebrew/pages/errorPage/errorPage.jsx | 9 --------- 1 file changed, 9 deletions(-) diff --git a/client/homebrew/pages/errorPage/errorPage.jsx b/client/homebrew/pages/errorPage/errorPage.jsx index 33da05017..113c152d0 100644 --- a/client/homebrew/pages/errorPage/errorPage.jsx +++ b/client/homebrew/pages/errorPage/errorPage.jsx @@ -13,15 +13,6 @@ const ErrorIndex = require('./errors/errorIndex.js'); const ErrorPage = createClass({ displayName : 'ErrorPage', - getDefaultProps : function() { - return { - ver : '0.0.0', - errorId : '', - text : '# Oops \n We could not find a brew with that id. **Sorry!**', - error : {} - }; - }, - render : function(){ const errorText = ErrorIndex(this.props)[this.props.brew.HBErrorCode.toString()] || ''; From ff84ded5472d4e949615d237e6e3fc8c10b4fef5 Mon Sep 17 00:00:00 2001 From: Gazook89 Date: Sat, 13 Apr 2024 11:10:43 -0500 Subject: [PATCH 22/44] Convert page to functional component --- client/homebrew/pages/errorPage/errorPage.jsx | 36 ++++++++----------- 1 file changed, 14 insertions(+), 22 deletions(-) diff --git a/client/homebrew/pages/errorPage/errorPage.jsx b/client/homebrew/pages/errorPage/errorPage.jsx index 113c152d0..f57a63fa2 100644 --- a/client/homebrew/pages/errorPage/errorPage.jsx +++ b/client/homebrew/pages/errorPage/errorPage.jsx @@ -1,32 +1,24 @@ -require('./errorPage.less'); -const React = require('react'); -const createClass = require('create-react-class'); -const _ = require('lodash'); -const cx = require('classnames'); +import './errorPage.less'; +import React from 'react'; +import UIPage from '../basePages/uiPage/uiPage.jsx'; +import Markdown from '../../../../shared/naturalcrit/markdown.js'; +import ErrorIndex from './errors/errorIndex.js'; -const UIPage = require('../basePages/uiPage/uiPage.jsx'); +const ErrorPage = ({ brew })=>{ + const errorText = ErrorIndex({ brew })[brew.HBErrorCode.toString()] || ''; -const Markdown = require('../../../../shared/naturalcrit/markdown.js'); - -const ErrorIndex = require('./errors/errorIndex.js'); - -const ErrorPage = createClass({ - displayName : 'ErrorPage', - - render : function(){ - const errorText = ErrorIndex(this.props)[this.props.brew.HBErrorCode.toString()] || ''; - - return + return ( +
-

{`Error ${this.props.brew.status || '000'}`}

-

{this.props.brew.text || 'No error text'}

+

{`Error ${brew?.status || '000'}`}

+

{brew?.text || 'No error text'}


- ; - } -}); + + ); +}; module.exports = ErrorPage; From 52904eea09daeb2f0f718ec23195f5500531a26e Mon Sep 17 00:00:00 2001 From: Gazook89 Date: Sat, 13 Apr 2024 20:47:38 -0500 Subject: [PATCH 23/44] add a comment --- client/homebrew/pages/errorPage/errorPage.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/client/homebrew/pages/errorPage/errorPage.jsx b/client/homebrew/pages/errorPage/errorPage.jsx index f57a63fa2..899de0d6c 100644 --- a/client/homebrew/pages/errorPage/errorPage.jsx +++ b/client/homebrew/pages/errorPage/errorPage.jsx @@ -5,6 +5,7 @@ import Markdown from '../../../../shared/naturalcrit/markdown.js'; import ErrorIndex from './errors/errorIndex.js'; const ErrorPage = ({ brew })=>{ + // Retrieving the error text based on the brew's error code from ErrorIndex const errorText = ErrorIndex({ brew })[brew.HBErrorCode.toString()] || ''; return ( From 67d824cac9919771d89f59d1d3ec7b47abb12f89 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 17 Apr 2024 03:56:30 +0000 Subject: [PATCH 24/44] Bump mongoose from 8.3.1 to 8.3.2 Bumps [mongoose](https://github.com/Automattic/mongoose) from 8.3.1 to 8.3.2. - [Release notes](https://github.com/Automattic/mongoose/releases) - [Changelog](https://github.com/Automattic/mongoose/blob/master/CHANGELOG.md) - [Commits](https://github.com/Automattic/mongoose/compare/8.3.1...8.3.2) --- updated-dependencies: - dependency-name: mongoose dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5750674c2..fe4d6cb86 100644 --- a/package-lock.json +++ b/package-lock.json @@ -36,7 +36,7 @@ "marked-smartypants-lite": "^1.0.2", "markedLegacy": "npm:marked@^0.3.19", "moment": "^2.30.1", - "mongoose": "^8.3.1", + "mongoose": "^8.3.2", "nanoid": "3.3.4", "nconf": "^0.12.1", "react": "^18.2.0", @@ -10547,9 +10547,9 @@ } }, "node_modules/mongoose": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-8.3.1.tgz", - "integrity": "sha512-D78C+s7QI4+pJQhs3XbOxzrHFEti4x+BDhaH94QrdV1/cmMA7fHc50LgLSXjzA/5q89TBK8DAXyf3VwDZbQJlA==", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-8.3.2.tgz", + "integrity": "sha512-3JcpDjFI25cF/3xpu+4+9nM0lURQTNLcP86X83+LvuICdn453QQLmhSrUr2IPM/ffLiDE9KPl9slNb2s0hZPpg==", "dependencies": { "bson": "^6.5.0", "kareem": "2.6.3", diff --git a/package.json b/package.json index 490e32601..783c1c82e 100644 --- a/package.json +++ b/package.json @@ -107,7 +107,7 @@ "marked-smartypants-lite": "^1.0.2", "markedLegacy": "npm:marked@^0.3.19", "moment": "^2.30.1", - "mongoose": "^8.3.1", + "mongoose": "^8.3.2", "nanoid": "3.3.4", "nconf": "^0.12.1", "react": "^18.2.0", From e1186b4a1ed5f8bc2f3bb199b9a83e4567f82737 Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Wed, 17 Apr 2024 01:01:58 -0400 Subject: [PATCH 25/44] Rename Inline to SingleLine --- shared/naturalcrit/markdown.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/shared/naturalcrit/markdown.js b/shared/naturalcrit/markdown.js index 8018bf63b..c2c0710dd 100644 --- a/shared/naturalcrit/markdown.js +++ b/shared/naturalcrit/markdown.js @@ -294,8 +294,8 @@ const superSubScripts = { } }; -const definitionListsInline = { - name : 'definitionListsInline', +const definitionListsSingleLine = { + name : 'definitionListsSingleLine', level : 'block', start(src) { return src.match(/^[^\n]*?::[^\n]*/m)?.index; }, // Hint to Marked.js to stop and check for a match tokenizer(src, tokens) { @@ -312,7 +312,7 @@ const definitionListsInline = { } if(definitions.length) { return { - type : 'definitionListsInline', + type : 'definitionListsSingleLine', raw : src.slice(0, endIndex), definitions }; @@ -326,8 +326,8 @@ const definitionListsInline = { } }; -const definitionListsMultiline = { - name : 'definitionListsMultiline', +const definitionListsMultiLine = { + name : 'definitionListsMultiLine', level : 'block', start(src) { return src.match(/^[^\n]*\n::/m)?.index; }, // Hint to Marked.js to stop and check for a match tokenizer(src, tokens) { @@ -353,7 +353,7 @@ const definitionListsMultiline = { } if(definitions.length) { return { - type : 'definitionListsMultiline', + type : 'definitionListsMultiLine', raw : src.slice(0, endIndex), definitions }; @@ -617,7 +617,7 @@ function MarkedVariables() { //^=====--------------------< Variable Handling >-------------------=====^// Marked.use(MarkedVariables()); -Marked.use({ extensions: [definitionListsMultiline, definitionListsInline, superSubScripts, mustacheSpans, mustacheDivs, mustacheInjectInline] }); +Marked.use({ extensions: [definitionListsMultiLine, definitionListsSingleLine, superSubScripts, mustacheSpans, mustacheDivs, mustacheInjectInline] }); Marked.use(mustacheInjectBlock); Marked.use({ renderer: renderer, tokenizer: tokenizer, mangle: false }); Marked.use(MarkedExtendedTables(), MarkedGFMHeadingId(), MarkedSmartypantsLite()); From 68a68bde829f33039c298cc63329d66db0899ece Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Wed, 17 Apr 2024 01:03:25 -0400 Subject: [PATCH 26/44] Only check for DLs at start of line Previous "start" regex used `^` instead of `\n`, which meant if the first character in a line failed to start a match, it would check for the start of a DL in *every* character in the line, which slows things down a lot. --- shared/naturalcrit/markdown.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/shared/naturalcrit/markdown.js b/shared/naturalcrit/markdown.js index c2c0710dd..f72955bf3 100644 --- a/shared/naturalcrit/markdown.js +++ b/shared/naturalcrit/markdown.js @@ -297,7 +297,7 @@ const superSubScripts = { const definitionListsSingleLine = { name : 'definitionListsSingleLine', level : 'block', - start(src) { return src.match(/^[^\n]*?::[^\n]*/m)?.index; }, // Hint to Marked.js to stop and check for a match + start(src) { return src.match(/\n[^\n]*?::[^\n]*/m)?.index; }, // Hint to Marked.js to stop and check for a match tokenizer(src, tokens) { const regex = /^([^\n]*?)::([^\n]*)(?:\n|$)/ym; let match; @@ -329,7 +329,7 @@ const definitionListsSingleLine = { const definitionListsMultiLine = { name : 'definitionListsMultiLine', level : 'block', - start(src) { return src.match(/^[^\n]*\n::/m)?.index; }, // Hint to Marked.js to stop and check for a match + start(src) { return src.match(/\n[^\n]*\n::/m)?.index; }, // Hint to Marked.js to stop and check for a match tokenizer(src, tokens) { const regex = /(\n?\n?(?!::)[^\n]+?(?=\n::))|\n::(.(?:.|\n)*?(?=(?:\n::)|(?:\n\n)|$))/y; let match; From 709c9ece7459860a221d1d5b5922686c7ee12f32 Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Thu, 18 Apr 2024 16:20:09 -0400 Subject: [PATCH 27/44] Change to camelCase --- themes/V3/5ePHB/style.less | 2 +- themes/V3/Blank/style.less | 2 +- themes/fonts/icon fonts/dicefont.less | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/themes/V3/5ePHB/style.less b/themes/V3/5ePHB/style.less index 37327fb19..25b784cfc 100644 --- a/themes/V3/5ePHB/style.less +++ b/themes/V3/5ePHB/style.less @@ -1,6 +1,6 @@ @import (less) './themes/assets/assets.less'; @import (less) './themes/fonts/icon fonts/font-icons.less'; -@import (less) './themes/fonts/icon fonts/dicefont.less'; +@import (less) './themes/fonts/icon fonts/diceFont.less'; :root { //Colors diff --git a/themes/V3/Blank/style.less b/themes/V3/Blank/style.less index 1d8ca6ee4..ec8905630 100644 --- a/themes/V3/Blank/style.less +++ b/themes/V3/Blank/style.less @@ -1,6 +1,6 @@ @import (less) './themes/fonts/5e/fonts.less'; @import (less) './themes/assets/assets.less'; -@import (less) './themes/fonts/icon fonts/dicefont.less'; +@import (less) './themes/fonts/icon fonts/diceFont.less'; :root { //Colors diff --git a/themes/fonts/icon fonts/dicefont.less b/themes/fonts/icon fonts/dicefont.less index 78a88f03a..069f6f769 100644 --- a/themes/fonts/icon fonts/dicefont.less +++ b/themes/fonts/icon fonts/dicefont.less @@ -1,9 +1,9 @@ -/* Icon Font: dicefont */ +/* Icon Font: diceFont */ @font-face { font-family : 'DiceFont'; font-style : normal; font-weight : normal; - src : url('../../../fonts/icon fonts/dicefont.woff2'); + src : url('../../../fonts/icon fonts/diceFont.woff2'); } .df { From 1018ba554f20a872a97e4fdb9699e2bec6bd71b3 Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Thu, 18 Apr 2024 16:42:06 -0400 Subject: [PATCH 28/44] rename files to camelCase --- .../icon fonts/{dicefont.less => diceFont.less} | 0 .../icon fonts/{dicefont.woff2 => diceFont.woff2} | Bin .../{dicefont_license.md => diceFont_license.md} | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename themes/fonts/icon fonts/{dicefont.less => diceFont.less} (100%) rename themes/fonts/icon fonts/{dicefont.woff2 => diceFont.woff2} (100%) rename themes/fonts/icon fonts/{dicefont_license.md => diceFont_license.md} (100%) diff --git a/themes/fonts/icon fonts/dicefont.less b/themes/fonts/icon fonts/diceFont.less similarity index 100% rename from themes/fonts/icon fonts/dicefont.less rename to themes/fonts/icon fonts/diceFont.less diff --git a/themes/fonts/icon fonts/dicefont.woff2 b/themes/fonts/icon fonts/diceFont.woff2 similarity index 100% rename from themes/fonts/icon fonts/dicefont.woff2 rename to themes/fonts/icon fonts/diceFont.woff2 diff --git a/themes/fonts/icon fonts/dicefont_license.md b/themes/fonts/icon fonts/diceFont_license.md similarity index 100% rename from themes/fonts/icon fonts/dicefont_license.md rename to themes/fonts/icon fonts/diceFont_license.md From fc539899467509f5ae0a37c6fc430b28ac133c36 Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Fri, 19 Apr 2024 10:47:00 -0400 Subject: [PATCH 29/44] Create pr-check.yml For users with many open PRs, creates a warning message in the PR description when opening a new PR, encouraging users to complete existing PRs before opening new ones. --- .github/workflows/pr-check.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .github/workflows/pr-check.yml diff --git a/.github/workflows/pr-check.yml b/.github/workflows/pr-check.yml new file mode 100644 index 000000000..951fd02c1 --- /dev/null +++ b/.github/workflows/pr-check.yml @@ -0,0 +1,26 @@ +name: PR Check + +on: + pull_request: + types: + - opened + +jobs: + check-pr: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Get PR count + id: pr-count + run: | + PR_COUNT=$(curl -s -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \ + "https://api.github.com/repos/naturalcrit/homebrewery/pulls? state=open&head=${{ github.actor }}:${{ github.head_ref }}" | jq '. | length') + echo "::set-output name=pr_count::$PR_COUNT" + + - name: Update PR description + if: ${{ steps.pr_count.outputs.pr_count }} -ge 1 + run: | + gh pr edit ${{ github.event.number }} --body "You already have ${{ steps.pr-count.outputs.pr_count }} PRs open. Consider completing some of your existing PRs before opening new ones." From 228041913ee02ef1af795d206e373bfdf7261b7d Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Fri, 19 Apr 2024 11:15:27 -0400 Subject: [PATCH 30/44] Create limit-pull-requests.yml --- .github/workflows/limit-pull-requests.yml | 103 ++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 .github/workflows/limit-pull-requests.yml diff --git a/.github/workflows/limit-pull-requests.yml b/.github/workflows/limit-pull-requests.yml new file mode 100644 index 000000000..413fa0624 --- /dev/null +++ b/.github/workflows/limit-pull-requests.yml @@ -0,0 +1,103 @@ +name: Limit pull requests +description: > + Limit the number of open pull requests to the repository created by a user +author: ZhongRuoyu (from Homebrew repository) +branding: + icon: alert-triangle + color: yellow + +inputs: + token: + description: GitHub token + required: false + default: ${{ github.token }} + except-users: + description: The users exempted from the limit, one per line + required: false + # https://docs.github.com/en/graphql/reference/enums#commentauthorassociation + except-author-associations: + description: The author associations exempted from the limit, one per line + required: false + comment-limit: + description: > + Post the comment when the user's number of open pull requests exceeds this + number and `comment` is not empty + required: true + default: "10" + comment: + description: The comment to post when the limit is reached + required: false + close-limit: + description: > + Close the pull request when the user's number of open pull requests + exceeds this number and `close` is set to `true` + required: true + default: "50" + close: + description: Whether to close the pull request when the limit is reached + required: true + default: "false" + +runs: + using: composite + steps: + - name: Check the number of pull requests + id: count-pull-requests + run: | + # If the user is exempted, assume they have no pull requests. + if grep -Fiqx '${{ github.actor }}' <<<"$EXCEPT_USERS"; then + echo "::notice::@${{ github.actor }} is exempted from the limit." + echo "count=0" >>"$GITHUB_OUTPUT" + exit 0 + fi + if grep -Fiqx '${{ github.event.pull_request.author_association }}' <<<"$EXCEPT_AUTHOR_ASSOCIATIONS"; then + echo "::notice::@{{ github.actor }} is a ${{ github.event.pull_request.author_association }} exempted from the limit." + echo "count=0" >>"$GITHUB_OUTPUT" + exit 0 + fi + + count="$( + gh api \ + --method GET \ + --header 'Accept: application/vnd.github+json' \ + --header 'X-GitHub-Api-Version: 2022-11-28' \ + --field state=open \ + --paginate \ + '/repos/{owner}/{repo}/pulls' | + jq \ + --raw-output \ + --arg USER '${{ github.actor }}' \ + 'map(select(.user.login == $USER)) | length' + )" + echo "::notice::@${{ github.actor }} has $count open pull request(s)." + echo "count=$count" >>"$GITHUB_OUTPUT" + env: + GH_REPO: ${{ github.repository }} + GH_TOKEN: ${{ inputs.token }} + EXCEPT_USERS: ${{ inputs.except-users }} + EXCEPT_AUTHOR_ASSOCIATIONS: ${{ inputs.except-author-associations }} + shell: bash + + - name: Comment on pull request + if: > + fromJSON(steps.count-pull-requests.outputs.count) > fromJSON(inputs.comment-limit) && + inputs.comment != '' + run: | + gh pr comment '${{ github.event.pull_request.number }}' \ + --body="${COMMENT_BODY}" + env: + GH_REPO: ${{ github.repository }} + GH_TOKEN: ${{ inputs.token }} + COMMENT_BODY: ${{ inputs.comment }} + shell: bash + + - name: Close pull request + if: > + fromJSON(steps.count-pull-requests.outputs.count) > fromJSON(inputs.close-limit) && + inputs.close == 'true' + run: | + gh pr close '${{ github.event.pull_request.number }}' + env: + GH_REPO: ${{ github.repository }} + GH_TOKEN: ${{ inputs.token }} + shell: bash From f23959bb057df011aa3595f0e2579017cf7eac15 Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Fri, 19 Apr 2024 11:24:18 -0400 Subject: [PATCH 31/44] Update pr-check.yml --- .github/workflows/pr-check.yml | 43 +++++++++++++++++----------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/.github/workflows/pr-check.yml b/.github/workflows/pr-check.yml index 951fd02c1..077eb0c4d 100644 --- a/.github/workflows/pr-check.yml +++ b/.github/workflows/pr-check.yml @@ -1,26 +1,25 @@ name: PR Check - -on: - pull_request: - types: - - opened - +on: pull_request_target +env: + GH_REPO: ${{ github.repository }} + GH_NO_UPDATE_NOTIFIER: 1 + GH_PROMPT_DISABLED: 1 +permissions: + contents: read + issues: write + pull-requests: write + statuses: write jobs: - check-pr: + limit-pull-requests: + if: always() && github.repository_owner == 'Homebrew' runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Get PR count - id: pr-count - run: | - PR_COUNT=$(curl -s -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \ - "https://api.github.com/repos/naturalcrit/homebrewery/pulls? state=open&head=${{ github.actor }}:${{ github.head_ref }}" | jq '. | length') - echo "::set-output name=pr_count::$PR_COUNT" - - - name: Update PR description - if: ${{ steps.pr_count.outputs.pr_count }} -ge 1 - run: | - gh pr edit ${{ github.event.number }} --body "You already have ${{ steps.pr-count.outputs.pr_count }} PRs open. Consider completing some of your existing PRs before opening new ones." + - uses: Homebrew/actions/limit-pull-requests@master + with: + except-users: | + dependabot + comment-limit: 1 + comment: | + Hi, thanks for your contribution to the Homebrewery! You already have >=3 open pull requests. Consider completing some of your existing PRs before opening new ones. Thanks! + close-limit: 5 + close: false From 8b6be1cab8d2ae4fd775c68f69037d2448b6522d Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Fri, 19 Apr 2024 11:33:55 -0400 Subject: [PATCH 32/44] Create limit-pull-requests.yml --- .../limit-pull-requests.yml | 103 ++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 .github/actions/limit-pull-requests/limit-pull-requests.yml diff --git a/.github/actions/limit-pull-requests/limit-pull-requests.yml b/.github/actions/limit-pull-requests/limit-pull-requests.yml new file mode 100644 index 000000000..413fa0624 --- /dev/null +++ b/.github/actions/limit-pull-requests/limit-pull-requests.yml @@ -0,0 +1,103 @@ +name: Limit pull requests +description: > + Limit the number of open pull requests to the repository created by a user +author: ZhongRuoyu (from Homebrew repository) +branding: + icon: alert-triangle + color: yellow + +inputs: + token: + description: GitHub token + required: false + default: ${{ github.token }} + except-users: + description: The users exempted from the limit, one per line + required: false + # https://docs.github.com/en/graphql/reference/enums#commentauthorassociation + except-author-associations: + description: The author associations exempted from the limit, one per line + required: false + comment-limit: + description: > + Post the comment when the user's number of open pull requests exceeds this + number and `comment` is not empty + required: true + default: "10" + comment: + description: The comment to post when the limit is reached + required: false + close-limit: + description: > + Close the pull request when the user's number of open pull requests + exceeds this number and `close` is set to `true` + required: true + default: "50" + close: + description: Whether to close the pull request when the limit is reached + required: true + default: "false" + +runs: + using: composite + steps: + - name: Check the number of pull requests + id: count-pull-requests + run: | + # If the user is exempted, assume they have no pull requests. + if grep -Fiqx '${{ github.actor }}' <<<"$EXCEPT_USERS"; then + echo "::notice::@${{ github.actor }} is exempted from the limit." + echo "count=0" >>"$GITHUB_OUTPUT" + exit 0 + fi + if grep -Fiqx '${{ github.event.pull_request.author_association }}' <<<"$EXCEPT_AUTHOR_ASSOCIATIONS"; then + echo "::notice::@{{ github.actor }} is a ${{ github.event.pull_request.author_association }} exempted from the limit." + echo "count=0" >>"$GITHUB_OUTPUT" + exit 0 + fi + + count="$( + gh api \ + --method GET \ + --header 'Accept: application/vnd.github+json' \ + --header 'X-GitHub-Api-Version: 2022-11-28' \ + --field state=open \ + --paginate \ + '/repos/{owner}/{repo}/pulls' | + jq \ + --raw-output \ + --arg USER '${{ github.actor }}' \ + 'map(select(.user.login == $USER)) | length' + )" + echo "::notice::@${{ github.actor }} has $count open pull request(s)." + echo "count=$count" >>"$GITHUB_OUTPUT" + env: + GH_REPO: ${{ github.repository }} + GH_TOKEN: ${{ inputs.token }} + EXCEPT_USERS: ${{ inputs.except-users }} + EXCEPT_AUTHOR_ASSOCIATIONS: ${{ inputs.except-author-associations }} + shell: bash + + - name: Comment on pull request + if: > + fromJSON(steps.count-pull-requests.outputs.count) > fromJSON(inputs.comment-limit) && + inputs.comment != '' + run: | + gh pr comment '${{ github.event.pull_request.number }}' \ + --body="${COMMENT_BODY}" + env: + GH_REPO: ${{ github.repository }} + GH_TOKEN: ${{ inputs.token }} + COMMENT_BODY: ${{ inputs.comment }} + shell: bash + + - name: Close pull request + if: > + fromJSON(steps.count-pull-requests.outputs.count) > fromJSON(inputs.close-limit) && + inputs.close == 'true' + run: | + gh pr close '${{ github.event.pull_request.number }}' + env: + GH_REPO: ${{ github.repository }} + GH_TOKEN: ${{ inputs.token }} + shell: bash From 6e69696b4a6eaf94641ef44510da693cbecda9f9 Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Fri, 19 Apr 2024 11:34:06 -0400 Subject: [PATCH 33/44] Update pr-check.yml --- .github/workflows/pr-check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-check.yml b/.github/workflows/pr-check.yml index 077eb0c4d..7784ce98e 100644 --- a/.github/workflows/pr-check.yml +++ b/.github/workflows/pr-check.yml @@ -14,7 +14,7 @@ jobs: if: always() && github.repository_owner == 'Homebrew' runs-on: ubuntu-latest steps: - - uses: Homebrew/actions/limit-pull-requests@master + - uses: ./.github/actions/limit-pull-requests with: except-users: | dependabot From 9f4545606610a65d09070ed63c110c4f341bfdb1 Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Fri, 19 Apr 2024 11:34:26 -0400 Subject: [PATCH 34/44] Delete .github/workflows/limit-pull-requests.yml --- .github/workflows/limit-pull-requests.yml | 103 ---------------------- 1 file changed, 103 deletions(-) delete mode 100644 .github/workflows/limit-pull-requests.yml diff --git a/.github/workflows/limit-pull-requests.yml b/.github/workflows/limit-pull-requests.yml deleted file mode 100644 index 413fa0624..000000000 --- a/.github/workflows/limit-pull-requests.yml +++ /dev/null @@ -1,103 +0,0 @@ -name: Limit pull requests -description: > - Limit the number of open pull requests to the repository created by a user -author: ZhongRuoyu (from Homebrew repository) -branding: - icon: alert-triangle - color: yellow - -inputs: - token: - description: GitHub token - required: false - default: ${{ github.token }} - except-users: - description: The users exempted from the limit, one per line - required: false - # https://docs.github.com/en/graphql/reference/enums#commentauthorassociation - except-author-associations: - description: The author associations exempted from the limit, one per line - required: false - comment-limit: - description: > - Post the comment when the user's number of open pull requests exceeds this - number and `comment` is not empty - required: true - default: "10" - comment: - description: The comment to post when the limit is reached - required: false - close-limit: - description: > - Close the pull request when the user's number of open pull requests - exceeds this number and `close` is set to `true` - required: true - default: "50" - close: - description: Whether to close the pull request when the limit is reached - required: true - default: "false" - -runs: - using: composite - steps: - - name: Check the number of pull requests - id: count-pull-requests - run: | - # If the user is exempted, assume they have no pull requests. - if grep -Fiqx '${{ github.actor }}' <<<"$EXCEPT_USERS"; then - echo "::notice::@${{ github.actor }} is exempted from the limit." - echo "count=0" >>"$GITHUB_OUTPUT" - exit 0 - fi - if grep -Fiqx '${{ github.event.pull_request.author_association }}' <<<"$EXCEPT_AUTHOR_ASSOCIATIONS"; then - echo "::notice::@{{ github.actor }} is a ${{ github.event.pull_request.author_association }} exempted from the limit." - echo "count=0" >>"$GITHUB_OUTPUT" - exit 0 - fi - - count="$( - gh api \ - --method GET \ - --header 'Accept: application/vnd.github+json' \ - --header 'X-GitHub-Api-Version: 2022-11-28' \ - --field state=open \ - --paginate \ - '/repos/{owner}/{repo}/pulls' | - jq \ - --raw-output \ - --arg USER '${{ github.actor }}' \ - 'map(select(.user.login == $USER)) | length' - )" - echo "::notice::@${{ github.actor }} has $count open pull request(s)." - echo "count=$count" >>"$GITHUB_OUTPUT" - env: - GH_REPO: ${{ github.repository }} - GH_TOKEN: ${{ inputs.token }} - EXCEPT_USERS: ${{ inputs.except-users }} - EXCEPT_AUTHOR_ASSOCIATIONS: ${{ inputs.except-author-associations }} - shell: bash - - - name: Comment on pull request - if: > - fromJSON(steps.count-pull-requests.outputs.count) > fromJSON(inputs.comment-limit) && - inputs.comment != '' - run: | - gh pr comment '${{ github.event.pull_request.number }}' \ - --body="${COMMENT_BODY}" - env: - GH_REPO: ${{ github.repository }} - GH_TOKEN: ${{ inputs.token }} - COMMENT_BODY: ${{ inputs.comment }} - shell: bash - - - name: Close pull request - if: > - fromJSON(steps.count-pull-requests.outputs.count) > fromJSON(inputs.close-limit) && - inputs.close == 'true' - run: | - gh pr close '${{ github.event.pull_request.number }}' - env: - GH_REPO: ${{ github.repository }} - GH_TOKEN: ${{ inputs.token }} - shell: bash From 08e273bfd6183b8043b18e35989dac7a91c20743 Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Fri, 19 Apr 2024 11:37:23 -0400 Subject: [PATCH 35/44] Update pr-check.yml --- .github/workflows/pr-check.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pr-check.yml b/.github/workflows/pr-check.yml index 7784ce98e..7c986de7e 100644 --- a/.github/workflows/pr-check.yml +++ b/.github/workflows/pr-check.yml @@ -1,5 +1,8 @@ name: PR Check -on: pull_request_target +on: + pull_request: + types: + - opened env: GH_REPO: ${{ github.repository }} GH_NO_UPDATE_NOTIFIER: 1 From 19961c7ec55e7dcbea69fa82b2b6bb5db4418f9a Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Fri, 19 Apr 2024 11:48:30 -0400 Subject: [PATCH 36/44] Update pr-check.yml --- .github/workflows/pr-check.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/pr-check.yml b/.github/workflows/pr-check.yml index 7c986de7e..c2c3a5a04 100644 --- a/.github/workflows/pr-check.yml +++ b/.github/workflows/pr-check.yml @@ -1,8 +1,5 @@ name: PR Check -on: - pull_request: - types: - - opened +on: pull_request_target env: GH_REPO: ${{ github.repository }} GH_NO_UPDATE_NOTIFIER: 1 @@ -14,7 +11,7 @@ permissions: statuses: write jobs: limit-pull-requests: - if: always() && github.repository_owner == 'Homebrew' + if: always() && github.repository_owner == 'naturalcrit' runs-on: ubuntu-latest steps: - uses: ./.github/actions/limit-pull-requests From 1e5e3d5f4197f1409e1f068184e94802ba55f753 Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Fri, 19 Apr 2024 11:50:01 -0400 Subject: [PATCH 37/44] Rename limit-pull-requests.yml to action.yml --- .../limit-pull-requests/{limit-pull-requests.yml => action.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/actions/limit-pull-requests/{limit-pull-requests.yml => action.yml} (100%) diff --git a/.github/actions/limit-pull-requests/limit-pull-requests.yml b/.github/actions/limit-pull-requests/action.yml similarity index 100% rename from .github/actions/limit-pull-requests/limit-pull-requests.yml rename to .github/actions/limit-pull-requests/action.yml From 80bcf92fa3e070a99778794b0b617c72de197a32 Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Fri, 19 Apr 2024 11:57:44 -0400 Subject: [PATCH 38/44] Update pr-check.yml --- .github/workflows/pr-check.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pr-check.yml b/.github/workflows/pr-check.yml index c2c3a5a04..ac1eb3190 100644 --- a/.github/workflows/pr-check.yml +++ b/.github/workflows/pr-check.yml @@ -14,7 +14,11 @@ jobs: if: always() && github.repository_owner == 'naturalcrit' runs-on: ubuntu-latest steps: - - uses: ./.github/actions/limit-pull-requests + - name: Checkout + uses: actions/checkout@v2 + + - name : Run limit-pull-requests action + uses: ./.github/actions/limit-pull-requests with: except-users: | dependabot From 98d032913b0c236acabaf3a98ca2bea2fc087f76 Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Fri, 19 Apr 2024 12:00:11 -0400 Subject: [PATCH 39/44] Update pr-check.yml --- .github/workflows/pr-check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-check.yml b/.github/workflows/pr-check.yml index ac1eb3190..e5adb2561 100644 --- a/.github/workflows/pr-check.yml +++ b/.github/workflows/pr-check.yml @@ -22,7 +22,7 @@ jobs: with: except-users: | dependabot - comment-limit: 1 + comment-limit: 3 comment: | Hi, thanks for your contribution to the Homebrewery! You already have >=3 open pull requests. Consider completing some of your existing PRs before opening new ones. Thanks! close-limit: 5 From 2197a9b7823430507ef5c05e972fa10eac2e250d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 24 Apr 2024 03:27:56 +0000 Subject: [PATCH 40/44] Bump react-router-dom from 6.22.3 to 6.23.0 Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.22.3 to 6.23.0. - [Release notes](https://github.com/remix-run/react-router/releases) - [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md) - [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.23.0/packages/react-router-dom) --- updated-dependencies: - dependency-name: react-router-dom dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package-lock.json | 26 +++++++++++++------------- package.json | 2 +- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5750674c2..0bbb50ea3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -42,7 +42,7 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "react-frame-component": "^4.1.3", - "react-router-dom": "6.22.3", + "react-router-dom": "6.23.0", "sanitize-filename": "1.6.3", "superagent": "^8.1.2", "vitreum": "git+https://git@github.com/calculuschild/vitreum.git" @@ -2854,9 +2854,9 @@ } }, "node_modules/@remix-run/router": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.3.tgz", - "integrity": "sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.16.0.tgz", + "integrity": "sha512-Quz1KOffeEf/zwkCBM3kBtH4ZoZ+pT3xIXBG4PPW/XFtDP7EGhtTiC2+gpL9GnR7+Qdet5Oa6cYSvwKYg6kN9Q==", "engines": { "node": ">=14.0.0" } @@ -11976,11 +11976,11 @@ "dev": true }, "node_modules/react-router": { - "version": "6.22.3", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.22.3.tgz", - "integrity": "sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ==", + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.23.0.tgz", + "integrity": "sha512-wPMZ8S2TuPadH0sF5irFGjkNLIcRvOSaEe7v+JER8508dyJumm6XZB1u5kztlX0RVq6AzRVndzqcUh6sFIauzA==", "dependencies": { - "@remix-run/router": "1.15.3" + "@remix-run/router": "1.16.0" }, "engines": { "node": ">=14.0.0" @@ -11990,12 +11990,12 @@ } }, "node_modules/react-router-dom": { - "version": "6.22.3", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.22.3.tgz", - "integrity": "sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw==", + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.23.0.tgz", + "integrity": "sha512-Q9YaSYvubwgbal2c9DJKfx6hTNoBp3iJDsl+Duva/DwxoJH+OTXkxGpql4iUK2sla/8z4RpjAm6EWx1qUDuopQ==", "dependencies": { - "@remix-run/router": "1.15.3", - "react-router": "6.22.3" + "@remix-run/router": "1.16.0", + "react-router": "6.23.0" }, "engines": { "node": ">=14.0.0" diff --git a/package.json b/package.json index 490e32601..d8c3c8237 100644 --- a/package.json +++ b/package.json @@ -113,7 +113,7 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "react-frame-component": "^4.1.3", - "react-router-dom": "6.22.3", + "react-router-dom": "6.23.0", "sanitize-filename": "1.6.3", "superagent": "^8.1.2", "vitreum": "git+https://git@github.com/calculuschild/vitreum.git" From 86be90adb21902d7f46683855d0a39281e500300 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 25 Apr 2024 14:28:34 +0000 Subject: [PATCH 41/44] Bump formidable, superagent and supertest Bumps [formidable](https://github.com/node-formidable/formidable) to 3.5.1 and updates ancestor dependencies [formidable](https://github.com/node-formidable/formidable), [superagent](https://github.com/ladjs/superagent) and [supertest](https://github.com/ladjs/supertest). These dependencies need to be updated together. Updates `formidable` from 2.1.2 to 3.5.1 - [Release notes](https://github.com/node-formidable/formidable/releases) - [Changelog](https://github.com/node-formidable/formidable/blob/master/CHANGELOG.md) - [Commits](https://github.com/node-formidable/formidable/commits/v3.5.1) Updates `superagent` from 8.1.2 to 9.0.1 - [Release notes](https://github.com/ladjs/superagent/releases) - [Changelog](https://github.com/ladjs/superagent/blob/master/HISTORY.md) - [Commits](https://github.com/ladjs/superagent/compare/v8.1.2...v9.0.1) Updates `supertest` from 6.3.4 to 7.0.0 - [Release notes](https://github.com/ladjs/supertest/releases) - [Commits](https://github.com/ladjs/supertest/compare/v6.3.4...v7.0.0) --- updated-dependencies: - dependency-name: formidable dependency-type: indirect - dependency-name: superagent dependency-type: direct:production - dependency-name: supertest dependency-type: direct:development ... Signed-off-by: dependabot[bot] --- package-lock.json | 33 ++++++++++++++++----------------- package.json | 4 ++-- 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/package-lock.json b/package-lock.json index a98fb8fa0..13ef98bd1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -44,7 +44,7 @@ "react-frame-component": "^4.1.3", "react-router-dom": "6.23.0", "sanitize-filename": "1.6.3", - "superagent": "^8.1.2", + "superagent": "^9.0.1", "vitreum": "git+https://git@github.com/calculuschild/vitreum.git" }, "devDependencies": { @@ -58,7 +58,7 @@ "stylelint-config-recess-order": "^4.6.0", "stylelint-config-recommended": "^13.0.0", "stylelint-stylistic": "^0.4.3", - "supertest": "^6.3.4" + "supertest": "^7.0.0" }, "engines": { "node": "^20.8.x", @@ -6516,14 +6516,13 @@ } }, "node_modules/formidable": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz", - "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-3.5.1.tgz", + "integrity": "sha512-WJWKelbRHN41m5dumb0/k8TeAx7Id/y3a+Z7QfhxP/htI9Js5zYaEDtG8uMgG0vM0lOlqnmjE99/kfpOYi/0Og==", "dependencies": { "dezalgo": "^1.0.4", "hexoid": "^1.0.0", - "once": "^1.4.0", - "qs": "^6.11.0" + "once": "^1.4.0" }, "funding": { "url": "https://ko-fi.com/tunnckoCore/commissions" @@ -13598,23 +13597,23 @@ } }, "node_modules/superagent": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz", - "integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-9.0.1.tgz", + "integrity": "sha512-CcRSdb/P2oUVaEpQ87w9Obsl+E9FruRd6b2b7LdiBtJoyMr2DQt7a89anAfiX/EL59j9b2CbRFvf2S91DhuCww==", "dependencies": { "component-emitter": "^1.3.0", "cookiejar": "^2.1.4", "debug": "^4.3.4", "fast-safe-stringify": "^2.1.1", "form-data": "^4.0.0", - "formidable": "^2.1.2", + "formidable": "^3.5.1", "methods": "^1.1.2", "mime": "2.6.0", "qs": "^6.11.0", "semver": "^7.3.8" }, "engines": { - "node": ">=6.4.0 <13 || >=14" + "node": ">=14.18.0" } }, "node_modules/superagent/node_modules/lru-cache": { @@ -13659,16 +13658,16 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/supertest": { - "version": "6.3.4", - "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.4.tgz", - "integrity": "sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/supertest/-/supertest-7.0.0.tgz", + "integrity": "sha512-qlsr7fIC0lSddmA3tzojvzubYxvlGtzumcdHgPwbFWMISQwL22MhM2Y3LNt+6w9Yyx7559VW5ab70dgphm8qQA==", "dev": true, "dependencies": { "methods": "^1.1.2", - "superagent": "^8.1.2" + "superagent": "^9.0.1" }, "engines": { - "node": ">=6.4.0" + "node": ">=14.18.0" } }, "node_modules/supports-color": { diff --git a/package.json b/package.json index 2d5df4c0b..e316bc14b 100644 --- a/package.json +++ b/package.json @@ -115,7 +115,7 @@ "react-frame-component": "^4.1.3", "react-router-dom": "6.23.0", "sanitize-filename": "1.6.3", - "superagent": "^8.1.2", + "superagent": "^9.0.1", "vitreum": "git+https://git@github.com/calculuschild/vitreum.git" }, "devDependencies": { @@ -129,6 +129,6 @@ "stylelint-config-recess-order": "^4.6.0", "stylelint-config-recommended": "^13.0.0", "stylelint-stylistic": "^0.4.3", - "supertest": "^6.3.4" + "supertest": "^7.0.0" } } From 34a41fd610ce56f71996193c30ce3063f8b0b48a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 30 Apr 2024 03:58:07 +0000 Subject: [PATCH 42/44] Bump @babel/preset-env from 7.24.4 to 7.24.5 Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.24.4 to 7.24.5. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.24.5/packages/babel-preset-env) --- updated-dependencies: - dependency-name: "@babel/preset-env" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 160 +++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 81 insertions(+), 81 deletions(-) diff --git a/package-lock.json b/package-lock.json index 13ef98bd1..b41baac38 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "dependencies": { "@babel/core": "^7.24.4", "@babel/plugin-transform-runtime": "^7.24.3", - "@babel/preset-env": "^7.24.4", + "@babel/preset-env": "^7.24.5", "@babel/preset-react": "^7.24.1", "@googleapis/drive": "^8.7.0", "body-parser": "^1.20.2", @@ -205,18 +205,18 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.4.tgz", - "integrity": "sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.5.tgz", + "integrity": "sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", - "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.24.5", "@babel/helper-optimise-call-expression": "^7.22.5", "@babel/helper-replace-supers": "^7.24.1", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-split-export-declaration": "^7.24.5", "semver": "^6.3.1" }, "engines": { @@ -289,11 +289,11 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", - "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.5.tgz", + "integrity": "sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA==", "dependencies": { - "@babel/types": "^7.23.0" + "@babel/types": "^7.24.5" }, "engines": { "node": ">=6.9.0" @@ -340,9 +340,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", - "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz", + "integrity": "sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==", "engines": { "node": ">=6.9.0" } @@ -402,28 +402,28 @@ } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz", + "integrity": "sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", + "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz", + "integrity": "sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==", "engines": { "node": ">=6.9.0" } @@ -488,12 +488,12 @@ } }, "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.4.tgz", - "integrity": "sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.5.tgz", + "integrity": "sha512-LdXRi1wEMTrHVR4Zc9F8OewC3vdm5h4QB6L71zy6StmYeqGi1b3ttIO8UC+BfZKcH9jdr4aI249rBkm+3+YvHw==", "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.5" }, "engines": { "node": ">=6.9.0" @@ -878,11 +878,11 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.4.tgz", - "integrity": "sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.5.tgz", + "integrity": "sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.5" }, "engines": { "node": ">=6.9.0" @@ -923,17 +923,17 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz", - "integrity": "sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.5.tgz", + "integrity": "sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-compilation-targets": "^7.23.6", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.5", "@babel/helper-replace-supers": "^7.24.1", - "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-split-export-declaration": "^7.24.5", "globals": "^11.1.0" }, "engines": { @@ -959,11 +959,11 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz", - "integrity": "sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.5.tgz", + "integrity": "sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.5" }, "engines": { "node": ">=6.9.0" @@ -1258,14 +1258,14 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz", - "integrity": "sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.5.tgz", + "integrity": "sha512-7EauQHszLGM3ay7a161tTQH7fj+3vVM/gThlz5HpFtnygTxjrlvoeq7MPVA1Vy9Q555OB8SnAOsMkLShNkkrHA==", "dependencies": { "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.5", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.24.1" + "@babel/plugin-transform-parameters": "^7.24.5" }, "engines": { "node": ">=6.9.0" @@ -1305,11 +1305,11 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz", - "integrity": "sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.5.tgz", + "integrity": "sha512-xWCkmwKT+ihmA6l7SSTpk8e4qQl/274iNbSKRRS8mpqFR32ksy36+a+LWY8OXCCEefF8WFlnOHVsaDI2231wBg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, @@ -1321,11 +1321,11 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz", - "integrity": "sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.5.tgz", + "integrity": "sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.5" }, "engines": { "node": ">=6.9.0" @@ -1350,13 +1350,13 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz", - "integrity": "sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.5.tgz", + "integrity": "sha512-JM4MHZqnWR04jPMujQDTBVRnqxpLLpx2tkn7iPn+Hmsc0Gnb79yvRWOkvqFOx3Z7P7VxiRIR22c4eGSNj87OBQ==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-create-class-features-plugin": "^7.24.5", + "@babel/helper-plugin-utils": "^7.24.5", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { @@ -1547,11 +1547,11 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz", - "integrity": "sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.5.tgz", + "integrity": "sha512-UTGnhYVZtTAjdwOTzT+sCyXmTn8AhaxOS/MjG9REclZ6ULHWF9KoCZur0HSGU7hk8PdBFKKbYe6+gqdXWz84Jg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.5" }, "engines": { "node": ">=6.9.0" @@ -1620,15 +1620,15 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.4.tgz", - "integrity": "sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.5.tgz", + "integrity": "sha512-UGK2ifKtcC8i5AI4cH+sbLLuLc2ktYSFJgBAXorKAsHUZmrQ1q6aQ6i3BvU24wWs2AAKqQB6kq3N9V9Gw1HiMQ==", "dependencies": { "@babel/compat-data": "^7.24.4", "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.5", "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.4", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.5", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.1", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.1", "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.1", @@ -1655,12 +1655,12 @@ "@babel/plugin-transform-async-generator-functions": "^7.24.3", "@babel/plugin-transform-async-to-generator": "^7.24.1", "@babel/plugin-transform-block-scoped-functions": "^7.24.1", - "@babel/plugin-transform-block-scoping": "^7.24.4", + "@babel/plugin-transform-block-scoping": "^7.24.5", "@babel/plugin-transform-class-properties": "^7.24.1", "@babel/plugin-transform-class-static-block": "^7.24.4", - "@babel/plugin-transform-classes": "^7.24.1", + "@babel/plugin-transform-classes": "^7.24.5", "@babel/plugin-transform-computed-properties": "^7.24.1", - "@babel/plugin-transform-destructuring": "^7.24.1", + "@babel/plugin-transform-destructuring": "^7.24.5", "@babel/plugin-transform-dotall-regex": "^7.24.1", "@babel/plugin-transform-duplicate-keys": "^7.24.1", "@babel/plugin-transform-dynamic-import": "^7.24.1", @@ -1680,13 +1680,13 @@ "@babel/plugin-transform-new-target": "^7.24.1", "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1", "@babel/plugin-transform-numeric-separator": "^7.24.1", - "@babel/plugin-transform-object-rest-spread": "^7.24.1", + "@babel/plugin-transform-object-rest-spread": "^7.24.5", "@babel/plugin-transform-object-super": "^7.24.1", "@babel/plugin-transform-optional-catch-binding": "^7.24.1", - "@babel/plugin-transform-optional-chaining": "^7.24.1", - "@babel/plugin-transform-parameters": "^7.24.1", + "@babel/plugin-transform-optional-chaining": "^7.24.5", + "@babel/plugin-transform-parameters": "^7.24.5", "@babel/plugin-transform-private-methods": "^7.24.1", - "@babel/plugin-transform-private-property-in-object": "^7.24.1", + "@babel/plugin-transform-private-property-in-object": "^7.24.5", "@babel/plugin-transform-property-literals": "^7.24.1", "@babel/plugin-transform-regenerator": "^7.24.1", "@babel/plugin-transform-reserved-words": "^7.24.1", @@ -1694,7 +1694,7 @@ "@babel/plugin-transform-spread": "^7.24.1", "@babel/plugin-transform-sticky-regex": "^7.24.1", "@babel/plugin-transform-template-literals": "^7.24.1", - "@babel/plugin-transform-typeof-symbol": "^7.24.1", + "@babel/plugin-transform-typeof-symbol": "^7.24.5", "@babel/plugin-transform-unicode-escapes": "^7.24.1", "@babel/plugin-transform-unicode-property-regex": "^7.24.1", "@babel/plugin-transform-unicode-regex": "^7.24.1", @@ -1795,12 +1795,12 @@ } }, "node_modules/@babel/types": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", - "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.5.tgz", + "integrity": "sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==", "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-string-parser": "^7.24.1", + "@babel/helper-validator-identifier": "^7.24.5", "to-fast-properties": "^2.0.0" }, "engines": { diff --git a/package.json b/package.json index e316bc14b..e5738f779 100644 --- a/package.json +++ b/package.json @@ -83,7 +83,7 @@ "dependencies": { "@babel/core": "^7.24.4", "@babel/plugin-transform-runtime": "^7.24.3", - "@babel/preset-env": "^7.24.4", + "@babel/preset-env": "^7.24.5", "@babel/preset-react": "^7.24.1", "@googleapis/drive": "^8.7.0", "body-parser": "^1.20.2", From c0a8b79acc09e45d07a2c23c799095623af31995 Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Tue, 30 Apr 2024 13:40:39 -0400 Subject: [PATCH 43/44] Small tweak --- client/homebrew/pages/errorPage/errorPage.jsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/client/homebrew/pages/errorPage/errorPage.jsx b/client/homebrew/pages/errorPage/errorPage.jsx index 899de0d6c..387a99b02 100644 --- a/client/homebrew/pages/errorPage/errorPage.jsx +++ b/client/homebrew/pages/errorPage/errorPage.jsx @@ -1,8 +1,8 @@ -import './errorPage.less'; -import React from 'react'; -import UIPage from '../basePages/uiPage/uiPage.jsx'; -import Markdown from '../../../../shared/naturalcrit/markdown.js'; -import ErrorIndex from './errors/errorIndex.js'; +require('./errorPage.less'); +const React = require('react'); +const UIPage = require('../basePages/uiPage/uiPage.jsx'); +const Markdown = require('../../../../shared/naturalcrit/markdown.js'); +const ErrorIndex = require('./errors/errorIndex.js'); const ErrorPage = ({ brew })=>{ // Retrieving the error text based on the brew's error code from ErrorIndex From 37e211937cdcab98d58f454391c96b6a3f6a3880 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 30 Apr 2024 03:57:31 +0000 Subject: [PATCH 44/44] Bump mongoose from 8.3.2 to 8.3.3 Bumps [mongoose](https://github.com/Automattic/mongoose) from 8.3.2 to 8.3.3. - [Release notes](https://github.com/Automattic/mongoose/releases) - [Changelog](https://github.com/Automattic/mongoose/blob/master/CHANGELOG.md) - [Commits](https://github.com/Automattic/mongoose/compare/8.3.2...8.3.3) --- updated-dependencies: - dependency-name: mongoose dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index b41baac38..31295f14a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -36,7 +36,7 @@ "marked-smartypants-lite": "^1.0.2", "markedLegacy": "npm:marked@^0.3.19", "moment": "^2.30.1", - "mongoose": "^8.3.2", + "mongoose": "^8.3.3", "nanoid": "3.3.4", "nconf": "^0.12.1", "react": "^18.2.0", @@ -10546,9 +10546,9 @@ } }, "node_modules/mongoose": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-8.3.2.tgz", - "integrity": "sha512-3JcpDjFI25cF/3xpu+4+9nM0lURQTNLcP86X83+LvuICdn453QQLmhSrUr2IPM/ffLiDE9KPl9slNb2s0hZPpg==", + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-8.3.3.tgz", + "integrity": "sha512-3kSk0db9DM2tLttCdS6WNRqewPleamFEa4Vz/Qldc0dB4Zow/FiZxb9GExHTJjBZQ9T2xiGleQ3GzRrES3hhsA==", "dependencies": { "bson": "^6.5.0", "kareem": "2.6.3", diff --git a/package.json b/package.json index e5738f779..df7f700ef 100644 --- a/package.json +++ b/package.json @@ -107,7 +107,7 @@ "marked-smartypants-lite": "^1.0.2", "markedLegacy": "npm:marked@^0.3.19", "moment": "^2.30.1", - "mongoose": "^8.3.2", + "mongoose": "^8.3.3", "nanoid": "3.3.4", "nconf": "^0.12.1", "react": "^18.2.0",