{
+describe('KeyEligibilityCriteriaList', () => {
it('renders a match to the previous snapshot', () => {
const { asFragment } = render(
-
+
)
expect(asFragment()).toMatchSnapshot()
})
diff --git a/benefit-finder/src/shared/components/KeyElegibilityCrieriaList/_index.scss b/benefit-finder/src/shared/components/KeyEligibilityCriteriaList/_index.scss
similarity index 100%
rename from benefit-finder/src/shared/components/KeyElegibilityCrieriaList/_index.scss
rename to benefit-finder/src/shared/components/KeyEligibilityCriteriaList/_index.scss
diff --git a/benefit-finder/src/shared/components/KeyElegibilityCrieriaList/index.jsx b/benefit-finder/src/shared/components/KeyEligibilityCriteriaList/index.jsx
similarity index 90%
rename from benefit-finder/src/shared/components/KeyElegibilityCrieriaList/index.jsx
rename to benefit-finder/src/shared/components/KeyEligibilityCriteriaList/index.jsx
index c604150f3..72df0ea1f 100644
--- a/benefit-finder/src/shared/components/KeyElegibilityCrieriaList/index.jsx
+++ b/benefit-finder/src/shared/components/KeyEligibilityCriteriaList/index.jsx
@@ -4,14 +4,14 @@ import { useHandleClassName } from '@hooks'
import './_index.scss'
/**
- * a functional component that renders a list of criteria related to eligiblity
+ * a functional component that renders a list of criteria related to eligibility
* @component
* @param {string} className - inherited class names
* @param {array} data - contains our criteria
* @param {string} initialEligibilityLength - location
- * @return {html} returns a group with a heading and an unorderd list
+ * @return {html} returns a group with a heading and an unordered list
*/
-const KeyElegibilityCrieriaList = ({
+const KeyEligibilityCriteriaList = ({
className,
data,
initialEligibilityLength,
@@ -59,10 +59,10 @@ const KeyElegibilityCrieriaList = ({
)
}
-KeyElegibilityCrieriaList.propTypes = {
+KeyEligibilityCriteriaList.propTypes = {
className: PropTypes.string,
data: PropTypes.array,
initialEligibilityLength: PropTypes.number,
}
-export default KeyElegibilityCrieriaList
+export default KeyEligibilityCriteriaList
diff --git a/benefit-finder/src/shared/components/KeyElegibilityCrieriaList/index.stories.jsx b/benefit-finder/src/shared/components/KeyEligibilityCriteriaList/index.stories.jsx
similarity index 83%
rename from benefit-finder/src/shared/components/KeyElegibilityCrieriaList/index.stories.jsx
rename to benefit-finder/src/shared/components/KeyEligibilityCriteriaList/index.stories.jsx
index 4b080fc1a..db397d1de 100644
--- a/benefit-finder/src/shared/components/KeyElegibilityCrieriaList/index.stories.jsx
+++ b/benefit-finder/src/shared/components/KeyEligibilityCriteriaList/index.stories.jsx
@@ -1,4 +1,4 @@
-import KeyElegibilityCrieriaList from './index.jsx'
+import KeyEligibilityCriteriaList from './index.jsx'
import content from '@api/mock-data/current.js'
import * as en from '@locales/en/en.json'
@@ -10,7 +10,7 @@ const b = benefits[0].benefit.eligibility
const initialEligibilityLength = benefits[0].benefit.initialEligibilityLength
export default {
- component: KeyElegibilityCrieriaList,
+ component: KeyEligibilityCriteriaList,
tags: ['autodocs'],
args: {
data: b,
diff --git a/benefit-finder/src/shared/components/Label/index.jsx b/benefit-finder/src/shared/components/Label/index.jsx
index 178415185..5f7316ca1 100644
--- a/benefit-finder/src/shared/components/Label/index.jsx
+++ b/benefit-finder/src/shared/components/Label/index.jsx
@@ -6,7 +6,7 @@ import './_index.scss'
/**
* a functional component to create a label for inputs.
* @function
- * @param {string} label - The inherited lable value
+ * @param {string} label - The inherited label value
* @param {string} htmlFor - The inherited component id that the label is related to
* @return {html} returns a semantic html label
*/
diff --git a/benefit-finder/src/shared/components/Modal/index.jsx b/benefit-finder/src/shared/components/Modal/index.jsx
index 81b531f92..e3cf5765f 100644
--- a/benefit-finder/src/shared/components/Modal/index.jsx
+++ b/benefit-finder/src/shared/components/Modal/index.jsx
@@ -46,8 +46,8 @@ const customStyles = {
* @param {string} modalHeading - heading value
* @param {string} navItemOneLabel - passed to button for nav item in modal
* @param {string} navItemTwoLabel - passed to button for nav item in modal
- * @param {function} handleCheckRequriedFields - inherited async function to check validity of fields
- * @return {html} returns html for seting up a usa-modal component
+ * @param {function} handleCheckRequiredFields - inherited async function to check validity of fields
+ * @return {html} returns html for setting up a usa-modal component
*/
const Modal = ({
id,
@@ -58,7 +58,7 @@ const Modal = ({
navItemOneFunction,
navItemTwoLabel,
navItemTwoFunction,
- handleCheckRequriedFields,
+ handleCheckRequiredFields,
dataLayerValue,
}) => {
// state
@@ -71,7 +71,7 @@ const Modal = ({
* @function
*/
const handleOpenModal = () => {
- handleCheckRequriedFields().then(valid => valid && setModalOpen(valid))
+ handleCheckRequiredFields().then(valid => valid && setModalOpen(valid))
window.scrollTo(0, 0)
}
@@ -142,7 +142,7 @@ const Modal = ({
* @component
* @param {string} id - matches to modal control
* @param {string} triggerLabel - passed to button for triggering modal
- * @return {html} returns an obfustacted anchor element
+ * @return {html} returns an obfuscated anchor element
*/
const Trigger = ({ triggerLabel, onKeyDown, onClick }) => {
return (
@@ -167,7 +167,7 @@ const Modal = ({
* @param {func} navItemOneFunction - passed to button for nav item in modal
* @param {string} navItemOneLabel - passed to button for nav item in modal
* @param {func} navItemTwoFunction - passed to button for nav item in modal
- * @return {html} returns an obfustacted anchor element
+ * @return {html} returns an obfuscated anchor element
*/
// similar to ButtonGroup but we need links for uswds to close modal, this item is default and conditional
const GroupNavigation = ({
@@ -276,7 +276,7 @@ Modal.propTypes = {
navItemOneFunction: PropTypes.func,
navItemTwoLabel: PropTypes.string,
navItemTwoFunction: PropTypes.func,
- handleCheckRequriedFields: PropTypes.func,
+ handleCheckRequiredFields: PropTypes.func,
}
export default Modal
diff --git a/benefit-finder/src/shared/components/Modal/index.stories.jsx b/benefit-finder/src/shared/components/Modal/index.stories.jsx
index d3d2f653a..ee722e3c0 100644
--- a/benefit-finder/src/shared/components/Modal/index.stories.jsx
+++ b/benefit-finder/src/shared/components/Modal/index.stories.jsx
@@ -21,7 +21,7 @@ export default {
navItemTwoLabel: 'View Results',
navItemOneFunction: () => setModalOpen(!modalOpen),
navItemTwoFunction: () => setModalOpen(!modalOpen),
- handleCheckRequriedFields: () => true,
+ handleCheckRequiredFields: () => true,
completed: true,
},
}
diff --git a/benefit-finder/src/shared/components/Paragraph/index.stories.jsx b/benefit-finder/src/shared/components/Paragraph/index.stories.jsx
index 228c091ad..6b5d365c1 100644
--- a/benefit-finder/src/shared/components/Paragraph/index.stories.jsx
+++ b/benefit-finder/src/shared/components/Paragraph/index.stories.jsx
@@ -14,7 +14,7 @@ export default {
},
args: {
children:
- 'Lorem ipsum dolor sit amet consectetur. Consectetur felis fermentum eu nunc elit imperdiet. Aenean porta sem sed nulla rutrum orci morbi non. Sollicitudin proin lorem magna ultrices gravida sem donec.',
+ 'As we embarked on developing the Benefit Finder platform, our goal was to provide an intuitive and efficient way for users to explore their benefits options. Through meticulous planning, design, and development, we were able to create a user-friendly interface that not only meets but exceeds the expectations of our users.',
},
}
diff --git a/benefit-finder/src/shared/components/ShareTrigger/index.jsx b/benefit-finder/src/shared/components/ShareTrigger/index.jsx
index 03dc78865..08aa2f559 100644
--- a/benefit-finder/src/shared/components/ShareTrigger/index.jsx
+++ b/benefit-finder/src/shared/components/ShareTrigger/index.jsx
@@ -3,7 +3,7 @@ import { RouteContext } from '@/App'
import { buildURIParameter } from '@utils'
/**
- * a functional component that renders a button with copy-to-cipboard functionality
+ * a functional component that renders a button with copy-to-clipboard functionality
* @component
* @return {html} returns a semantic html button element with a custom function onClick event
*/
diff --git a/benefit-finder/src/shared/components/StepBackButton/index.jsx b/benefit-finder/src/shared/components/StepBackButton/index.jsx
index b7148f4da..6c33e4679 100644
--- a/benefit-finder/src/shared/components/StepBackButton/index.jsx
+++ b/benefit-finder/src/shared/components/StepBackButton/index.jsx
@@ -7,7 +7,7 @@ import './_index.scss'
/**
* a functional component that supports backwards navigation in the step indicator component
* @component
- * @param {React.ReactNode} children - inhertied child react nodes for label
+ * @param {React.ReactNode} children - inherited child react nodes for label
* @param {function} onClick - inherited click function
* @return {html} returns markup for a usa unstyled button
*/
diff --git a/benefit-finder/src/shared/components/StepIndicator/index.jsx b/benefit-finder/src/shared/components/StepIndicator/index.jsx
index 98717d68a..0c45d0dac 100644
--- a/benefit-finder/src/shared/components/StepIndicator/index.jsx
+++ b/benefit-finder/src/shared/components/StepIndicator/index.jsx
@@ -8,7 +8,7 @@ import './_index.scss'
* @param {array} data - an array of sections
* @param {boolean} noHeadings - determinate to render headings or not
* @param {number} current - inherited state, indicates index value
- * @param {boolean} setCurrent - inherited function to mangae index value
+ * @param {boolean} setCurrent - inherited function to manage index value
* @param {func} handleCheckRequiredFields - inherited handler
* @return {html} returns markup for a usa step indicator
*/
@@ -17,7 +17,7 @@ const StepIndicator = ({
noHeadings,
current,
setCurrent,
- handleCheckRequriedFields,
+ handleCheckRequiredFields,
}) => {
/**
* a functional component that supports a11y for completed steps
@@ -92,7 +92,7 @@ const StepIndicator = ({
current={current}
setCurrent={setCurrent}
completed={isCompleted}
- handleCheckRequriedFields={handleCheckRequriedFields}
+ handleCheckRequiredFields={handleCheckRequiredFields}
/>
)
})}
diff --git a/benefit-finder/src/shared/components/TextInput/index.jsx b/benefit-finder/src/shared/components/TextInput/index.jsx
index 2b298e988..0aa922bdf 100644
--- a/benefit-finder/src/shared/components/TextInput/index.jsx
+++ b/benefit-finder/src/shared/components/TextInput/index.jsx
@@ -6,7 +6,7 @@ import './_index.scss'
/**
* a functional component that renders a field for text input
* @component
- * @param {string} id - unique identifire
+ * @param {string} id - unique Identifier
* @param {string} className - inherited classes
* @param {string} label - string value for input label
* @param {boolean} textarea - conditional to render textarea as return
diff --git a/benefit-finder/src/shared/components/index.js b/benefit-finder/src/shared/components/index.js
index 4c7a605b0..8529a2661 100644
--- a/benefit-finder/src/shared/components/index.js
+++ b/benefit-finder/src/shared/components/index.js
@@ -12,7 +12,7 @@ import Form from './Form'
import Heading from './Heading'
import Hint from './Hint'
import Icon from './Icon'
-import KeyElegibilityCrieriaList from './KeyElegibilityCrieriaList'
+import KeyEligibilityCriteriaList from './KeyEligibilityCriteriaList'
import Legend from './Legend'
import Label from './Label'
import Modal from './Modal'
@@ -47,7 +47,7 @@ export {
Heading,
Hint,
Icon,
- KeyElegibilityCrieriaList,
+ KeyEligibilityCriteriaList,
Legend,
Label,
Modal,
diff --git a/benefit-finder/src/shared/hooks/useCrazyEggUpdate/index.js b/benefit-finder/src/shared/hooks/useCrazyEggUpdate/index.js
deleted file mode 100644
index 555642bd7..000000000
--- a/benefit-finder/src/shared/hooks/useCrazyEggUpdate/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import { useEffect } from 'react'
-import { windowSize } from '@utils'
-
-const useCrazyEggUpdate = ({ pageView, notEligibleView }) => {
- const isDesktop = windowSize(window).desktop
- // handle dataLayer
- useEffect(() => {
- // crazyegg
- const crazyeggEl = document.getElementById('bf-track-by-name')
- const lifeEventId = document.querySelector('[data-testid="app"]')
-
- const device = isDesktop ? 'desktop' : 'mobile'
- const newContent = `var CE_SNAPSHOT_NAME = "${pageView}-${lifeEventId?.id}-${device}";`
-
- if (crazyeggEl !== null) {
- crazyeggEl.innerHTML = newContent
- }
- }, [isDesktop, notEligibleView])
-}
-
-export default useCrazyEggUpdate
diff --git a/benefit-finder/src/shared/hooks/useHandleUnload/index.js b/benefit-finder/src/shared/hooks/useHandleUnload/index.js
index 97767499d..61fae0118 100644
--- a/benefit-finder/src/shared/hooks/useHandleUnload/index.js
+++ b/benefit-finder/src/shared/hooks/useHandleUnload/index.js
@@ -10,7 +10,7 @@ const useHandleUnload = hasData => {
* a state function to manage a native alert to user if data has values
* @function
* @param {boolean} hasData - state of data
- * @return {effect} returns eventhandler
+ * @return {effect} returns event handler
*/
// Sets up prompt that if user hits browser back/refresh button and has imputed any data will alert that data will be lost
diff --git a/benefit-finder/src/shared/hooks/useResetElement/index.js b/benefit-finder/src/shared/hooks/useResetElement/index.js
index f2c0d94cf..949a5f202 100644
--- a/benefit-finder/src/shared/hooks/useResetElement/index.js
+++ b/benefit-finder/src/shared/hooks/useResetElement/index.js
@@ -7,12 +7,12 @@ const useResetElement = () => {
* @return {React.ref} returns ref element
*/
- // example useage
+ // example use
// assign hook to const
// const resetElement = useResetElement()
- // foucus element as needed in an effect or synthetic event
+ // focus element as needed in an effect or synthetic event
// useEffect(() => {
// resetElement.current?.focus()
diff --git a/benefit-finder/src/shared/utils/dataLayerUtils/dataLayerPush.js b/benefit-finder/src/shared/utils/dataLayerUtils/dataLayerPush.js
index 3454901a5..3595f182d 100644
--- a/benefit-finder/src/shared/utils/dataLayerUtils/dataLayerPush.js
+++ b/benefit-finder/src/shared/utils/dataLayerUtils/dataLayerPush.js
@@ -1,4 +1,4 @@
-const dataLayerPush = (w, dataLayerObj, dedup = true) => {
+const dataLayerPush = (w, dataLayerObj, dedupe = true) => {
const isObject = object => {
return object != null && typeof object === 'object'
}
@@ -34,8 +34,8 @@ const dataLayerPush = (w, dataLayerObj, dedup = true) => {
delete lastItem['gtm.uniqueEventId']
delete lastItem.eventCallback
- if (dedup === true) {
- // to prevent pushing duplicate objects unecessarily, as long as our last item doesn't match our current data obj, we push
+ if (dedupe === true) {
+ // to prevent pushing duplicate objects unnecessarily, as long as our last item doesn't match our current data obj, we push
isDeepEqual(lastItem, dataLayerObj) === false &&
w.dataLayer.push(dataLayerObj)
} else {
diff --git a/benefit-finder/src/shared/utils/dateInputValidation/index.js b/benefit-finder/src/shared/utils/dateInputValidation/index.js
index 7b77f36a3..830e5ce4d 100644
--- a/benefit-finder/src/shared/utils/dateInputValidation/index.js
+++ b/benefit-finder/src/shared/utils/dateInputValidation/index.js
@@ -11,7 +11,7 @@ const dateInputValidation = event => {
const currentYear = new Date().getFullYear().toString()
const yearLimit = currentYear.substring(currentYear.length - 1)
if (event.target.value.length === 4) {
- // 1900 - currentyear
+ // 1900 - current year
const range = new RegExp(
`^(19[0-9][0-9]|20[0-1][0-9]|20[0-2][0-${yearLimit}])$`
)
diff --git a/benefit-finder/src/shared/utils/errorHandling/index.js b/benefit-finder/src/shared/utils/errorHandling/index.js
index a41636aa5..3cbdf5c42 100644
--- a/benefit-finder/src/shared/utils/errorHandling/index.js
+++ b/benefit-finder/src/shared/utils/errorHandling/index.js
@@ -90,7 +90,7 @@ export const handleCheckForRequiredValues = async (
})
.flat()
- // handle radios/checks seperately
+ // handle radios/checks separately
const invalidRadioFieldSets = requiredFieldsets
.map(fieldset => {
if (
@@ -135,11 +135,11 @@ export const handleInvalid = ({
})
.includes(true)
- const hanldeFilter = hasError.filter(errorItem => {
+ const handleFilter = hasError.filter(errorItem => {
return errorItem.id !== undefined && errorItem.id.includes(fieldSetId)
})
- return useFilter === true ? hanldeFilter : handleMap
+ return useFilter === true ? handleFilter : handleMap
}
export default {
diff --git a/benefit-finder/vite.config.mjs b/benefit-finder/vite.config.mjs
index 7978387f9..5332b69d5 100644
--- a/benefit-finder/vite.config.mjs
+++ b/benefit-finder/vite.config.mjs
@@ -33,7 +33,7 @@ const copyConfig = test
hook: 'writeBundle',
}
-const poscssConfig = {
+const postcssConfig = {
plugins: [
transformers.prependID({
id: 'benefit-finder',
@@ -74,7 +74,7 @@ export default defineConfig({
include: ['jsdoc-type-pratt-parser'],
},
css: {
- postcss: poscssConfig,
+ postcss: postcssConfig,
preprocessorOptions: {
scss: {
api: 'modern-compiler',
From 91bd8301a5b301f78a6fcf279150a2493014eab5 Mon Sep 17 00:00:00 2001
From: scottqueen-bixal
Date: Fri, 13 Dec 2024 13:13:23 -0500
Subject: [PATCH 26/65] PXBF-1983-spell-checker-updates: update lint-stage to
check for spelling errors
---
benefit-finder/.lintstagedrc | 3 +++
1 file changed, 3 insertions(+)
diff --git a/benefit-finder/.lintstagedrc b/benefit-finder/.lintstagedrc
index cb3fd40f8..569c868ad 100644
--- a/benefit-finder/.lintstagedrc
+++ b/benefit-finder/.lintstagedrc
@@ -9,5 +9,8 @@
],
"src/**/*.scss": [
"stylelint --fix"
+ ],
+ "**": [
+ "cspell lint"
]
}
From 1eac82eaf1e6b434c3dd0c71fba8083bc5142f70 Mon Sep 17 00:00:00 2001
From: scottqueen-bixal
Date: Mon, 16 Dec 2024 14:12:56 -0500
Subject: [PATCH 27/65] PXBF-1996-bug-fix-button-group: lifting component to
parent render process to avoid unecessary re-renders
---
.../src/shared/components/Modal/index.jsx | 37 +++++--------------
1 file changed, 10 insertions(+), 27 deletions(-)
diff --git a/benefit-finder/src/shared/components/Modal/index.jsx b/benefit-finder/src/shared/components/Modal/index.jsx
index e3cf5765f..3006810db 100644
--- a/benefit-finder/src/shared/components/Modal/index.jsx
+++ b/benefit-finder/src/shared/components/Modal/index.jsx
@@ -137,29 +137,6 @@ const Modal = ({
})
}, [modalOpen])
- /**
- * a functional component that renders a link as a button for launching our dialog
- * @component
- * @param {string} id - matches to modal control
- * @param {string} triggerLabel - passed to button for triggering modal
- * @return {html} returns an obfuscated anchor element
- */
- const Trigger = ({ triggerLabel, onKeyDown, onClick }) => {
- return (
-
- {triggerLabel}
-
- )
- }
-
/**
* a functional component that renders a two links as a buttons for navigating out of the dialog
* @component
@@ -225,11 +202,17 @@ const Modal = ({
return (
-
handleKeyValidation(e) && handleOpenModal()}
+ handleOpenModal()}
- >
+ onKeyDown={e => handleKeyValidation(e) && handleOpenModal()}
+ noCarrot
+ tabIndex="0"
+ triggerRef={triggerRef}
+ aria-label="Continue"
+ role="button"
+ >
+ {triggerLabel}
+
Date: Mon, 16 Dec 2024 14:44:52 -0500
Subject: [PATCH 28/65] Add login module uninstall
---
scripts/drush-post-deploy.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/scripts/drush-post-deploy.sh b/scripts/drush-post-deploy.sh
index b71c5ddd1..ef506e7e0 100755
--- a/scripts/drush-post-deploy.sh
+++ b/scripts/drush-post-deploy.sh
@@ -13,6 +13,7 @@ drush cr
drush state:set system.maintenance_mode 0 -y
drush user:create test_test --password="TU_PASS" || true
drush user:password test_test "TU_PASS"
+drush pm:uninstall usagov_login
echo "Post deploy finished!"
From 0bb777557c7c5c04f7f508b88147894876016e20 Mon Sep 17 00:00:00 2001
From: scottqueen-bixal
Date: Mon, 16 Dec 2024 14:51:37 -0500
Subject: [PATCH 29/65] PXBF-1987-update-router-v7: opt into future browser
route api features
---
benefit-finder/src/App/index.jsx | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/benefit-finder/src/App/index.jsx b/benefit-finder/src/App/index.jsx
index 055af2497..24b9fb97f 100644
--- a/benefit-finder/src/App/index.jsx
+++ b/benefit-finder/src/App/index.jsx
@@ -114,7 +114,13 @@ function App({ testAppContent, testQuery }) {
data-testid="app"
data-version={version}
>
-
+
Date: Mon, 16 Dec 2024 14:58:14 -0500
Subject: [PATCH 30/65] PXBF-1987-update-router-v7: update router to v7
---
benefit-finder/package-lock.json | 75 +++++++++++--------
benefit-finder/package.json | 3 +-
benefit-finder/src/App/index.jsx | 10 +--
.../src/Routes/Intro/__tests__/index.spec.jsx | 2 +-
benefit-finder/src/Routes/Intro/index.jsx | 2 +-
.../LifeEventSection/__tests__/index.spec.jsx | 2 +-
.../src/Routes/LifeEventSection/index.jsx | 2 +-
.../ResultsView/__tests__/index.spec.jsx | 2 +-
.../Results/__tests__/index.spec.jsx | 2 +-
.../ResultsView/components/Results/index.jsx | 2 +-
.../__tests__/index.spec.jsx | 2 +-
.../blocks/ZeroBenefitsHeading/index.jsx | 2 +-
.../__tests__/index.spec.jsx | 2 +-
.../StepIndicator/__tests__/index.spec.jsx | 2 +-
14 files changed, 56 insertions(+), 54 deletions(-)
diff --git a/benefit-finder/package-lock.json b/benefit-finder/package-lock.json
index d159fc905..134d3315c 100644
--- a/benefit-finder/package-lock.json
+++ b/benefit-finder/package-lock.json
@@ -11,8 +11,7 @@
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-modal": "^3.16.1",
- "react-router": "^6.26.2",
- "react-router-dom": "^6.26.2"
+ "react-router": "^7.0.2"
},
"devDependencies": {
"@babel/preset-env": "^7.25.3",
@@ -3420,15 +3419,6 @@
"node": ">=14"
}
},
- "node_modules/@remix-run/router": {
- "version": "1.21.0",
- "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.21.0.tgz",
- "integrity": "sha512-xfSkCAchbdG5PnbrKqFWwia4Bi61nH+wm8wLEqfHDyp7Y3dZzgqS2itV8i4gAq9pC2HsTpwyBC6Ds8VHZ96JlA==",
- "license": "MIT",
- "engines": {
- "node": ">=14.0.0"
- }
- },
"node_modules/@rollup/pluginutils": {
"version": "5.1.3",
"resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.3.tgz",
@@ -4545,6 +4535,12 @@
"@babel/types": "^7.20.7"
}
},
+ "node_modules/@types/cookie": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz",
+ "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==",
+ "license": "MIT"
+ },
"node_modules/@types/debug": {
"version": "4.1.12",
"resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz",
@@ -6575,6 +6571,15 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/cookie": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz",
+ "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/core-js-compat": {
"version": "3.39.0",
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.39.0.tgz",
@@ -17427,35 +17432,27 @@
}
},
"node_modules/react-router": {
- "version": "6.28.0",
- "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.28.0.tgz",
- "integrity": "sha512-HrYdIFqdrnhDw0PqG/AKjAqEqM7AvxCz0DQ4h2W8k6nqmc5uRBYDag0SBxx9iYz5G8gnuNVLzUe13wl9eAsXXg==",
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.0.2.tgz",
+ "integrity": "sha512-m5AcPfTRUcjwmhBzOJGEl6Y7+Crqyju0+TgTQxoS4SO+BkWbhOrcfZNq6wSWdl2BBbJbsAoBUb8ZacOFT+/JlA==",
"license": "MIT",
"dependencies": {
- "@remix-run/router": "1.21.0"
+ "@types/cookie": "^0.6.0",
+ "cookie": "^1.0.1",
+ "set-cookie-parser": "^2.6.0",
+ "turbo-stream": "2.4.0"
},
"engines": {
- "node": ">=14.0.0"
+ "node": ">=20.0.0"
},
"peerDependencies": {
- "react": ">=16.8"
- }
- },
- "node_modules/react-router-dom": {
- "version": "6.28.0",
- "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.28.0.tgz",
- "integrity": "sha512-kQ7Unsl5YdyOltsPGl31zOjLrDv+m2VcIEcIHqYYD3Lp0UppLjrzcfJqDJwXxFw3TH/yvapbnUvPlAj7Kx5nbg==",
- "license": "MIT",
- "dependencies": {
- "@remix-run/router": "1.21.0",
- "react-router": "6.28.0"
- },
- "engines": {
- "node": ">=14.0.0"
+ "react": ">=18",
+ "react-dom": ">=18"
},
- "peerDependencies": {
- "react": ">=16.8",
- "react-dom": ">=16.8"
+ "peerDependenciesMeta": {
+ "react-dom": {
+ "optional": true
+ }
}
},
"node_modules/readable-stream": {
@@ -18623,6 +18620,12 @@
"upper-case-first": "^2.0.2"
}
},
+ "node_modules/set-cookie-parser": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz",
+ "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==",
+ "license": "MIT"
+ },
"node_modules/set-function-length": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
@@ -19883,6 +19886,12 @@
"node": "*"
}
},
+ "node_modules/turbo-stream": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.4.0.tgz",
+ "integrity": "sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==",
+ "license": "ISC"
+ },
"node_modules/tweetnacl": {
"version": "0.14.5",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
diff --git a/benefit-finder/package.json b/benefit-finder/package.json
index fa86276f5..6aa8732b2 100644
--- a/benefit-finder/package.json
+++ b/benefit-finder/package.json
@@ -37,8 +37,7 @@
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-modal": "^3.16.1",
- "react-router": "^6.26.2",
- "react-router-dom": "^6.26.2"
+ "react-router": "^7.0.2"
},
"devDependencies": {
"@babel/preset-env": "^7.25.3",
diff --git a/benefit-finder/src/App/index.jsx b/benefit-finder/src/App/index.jsx
index 24b9fb97f..6d0db9b2f 100644
--- a/benefit-finder/src/App/index.jsx
+++ b/benefit-finder/src/App/index.jsx
@@ -1,5 +1,5 @@
import { useState, createContext, useEffect, useMemo } from 'react'
-import { BrowserRouter, Routes, Route } from 'react-router-dom'
+import { BrowserRouter, Routes, Route } from 'react-router'
import { version } from '../../package.json'
import { useResetElement } from '@hooks'
import * as apiCalls from '@api/apiCalls'
@@ -114,13 +114,7 @@ function App({ testAppContent, testQuery }) {
data-testid="app"
data-version={version}
>
-
+
Date: Mon, 16 Dec 2024 14:59:46 -0500
Subject: [PATCH 31/65] PXBF-1987-update-router-v7: remove console log from
spec
---
.../components/RelativeBenefitList/__tests__/index.spec.jsx | 1 -
1 file changed, 1 deletion(-)
diff --git a/benefit-finder/src/shared/components/RelativeBenefitList/__tests__/index.spec.jsx b/benefit-finder/src/shared/components/RelativeBenefitList/__tests__/index.spec.jsx
index 910b3b248..47f63729d 100644
--- a/benefit-finder/src/shared/components/RelativeBenefitList/__tests__/index.spec.jsx
+++ b/benefit-finder/src/shared/components/RelativeBenefitList/__tests__/index.spec.jsx
@@ -32,7 +32,6 @@ describe('RelativeBenefitList', () => {
expect(links[0].href).toContain(relativeBenefits[0].lifeEvent.lifeEventId)
expect(links[1].href).toContain(relativeBenefits[1].lifeEvent.lifeEventId)
// ensure the icons that contain values from the lifeEventId are in the dom
- console.log(relativeBenefits[0].lifeEvent.lifeEventId)
expect(
screen.getByTestId(
`benefit-finder-icon--${relativeBenefits[0].lifeEvent.lifeEventId}`
From 1d410903a160185aca05ad955aaa207539ea68c2 Mon Sep 17 00:00:00 2001
From: scottqueen-bixal
Date: Mon, 16 Dec 2024 16:23:55 -0500
Subject: [PATCH 32/65] PXBF-update-prettier-eslint: recommend prettier, set
format on save with vscode
---
.vscode/extensions.json | 4 +---
.vscode/settings.json | 15 +++++++--------
2 files changed, 8 insertions(+), 11 deletions(-)
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
index e52209d2b..5c514880e 100644
--- a/.vscode/extensions.json
+++ b/.vscode/extensions.json
@@ -1,5 +1,3 @@
{
- "recommendations": [
- "rvest.vs-code-prettier-eslint"
- ],
+ "recommendations": ["github.vscode-github-actions", "esbenp.prettier-vscode"]
}
diff --git a/.vscode/settings.json b/.vscode/settings.json
index e67357140..6317784f6 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,10 +1,9 @@
{
- "debug.javascript.autoAttachFilter": "onlyWithFlag",
- "editor.renderWhitespace": "none",
- "diffEditor.ignoreTrimWhitespace": false,
- "editor.defaultFormatter": "rvest.vs-code-prettier-eslint",
- "editor.formatOnType": false,
- "editor.formatOnSave": true,
- "editor.formatOnSaveMode": "file",
- "vs-code-prettier-eslint.prettierLast": true,
+ "debug.javascript.autoAttachFilter": "onlyWithFlag",
+ "editor.renderWhitespace": "none",
+ "diffEditor.ignoreTrimWhitespace": false,
+ "editor.formatOnType": false,
+ "editor.formatOnSave": true,
+ "editor.formatOnSaveMode": "file",
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
}
From 99e4e9a19156801a238f9f3dd42b5b1935c75406 Mon Sep 17 00:00:00 2001
From: scottqueen-bixal
Date: Mon, 16 Dec 2024 16:24:08 -0500
Subject: [PATCH 33/65] PXBF-update-prettier-eslint: include prettier eslint
plugin
---
benefit-finder/package-lock.json | 82 ++++++++++++++++++++++++++++++++
benefit-finder/package.json | 1 +
2 files changed, 83 insertions(+)
diff --git a/benefit-finder/package-lock.json b/benefit-finder/package-lock.json
index d159fc905..eb350c990 100644
--- a/benefit-finder/package-lock.json
+++ b/benefit-finder/package-lock.json
@@ -44,6 +44,7 @@
"eslint-plugin-cypress": "^3.6.0",
"eslint-plugin-json": "^4.0.1",
"eslint-plugin-jsx-a11y": "^6.10.2",
+ "eslint-plugin-prettier": "^5.2.1",
"eslint-plugin-react": "^7.37.2",
"eslint-plugin-storybook": "^0.10.0",
"http-server": "^14.1.1",
@@ -3420,6 +3421,19 @@
"node": ">=14"
}
},
+ "node_modules/@pkgr/core": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz",
+ "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.20.0 || ^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/unts"
+ }
+ },
"node_modules/@remix-run/router": {
"version": "1.21.0",
"resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.21.0.tgz",
@@ -8085,6 +8099,37 @@
"node": ">= 0.4"
}
},
+ "node_modules/eslint-plugin-prettier": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz",
+ "integrity": "sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "prettier-linter-helpers": "^1.0.0",
+ "synckit": "^0.9.1"
+ },
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint-plugin-prettier"
+ },
+ "peerDependencies": {
+ "@types/eslint": ">=8.0.0",
+ "eslint": ">=8.0.0",
+ "eslint-config-prettier": "*",
+ "prettier": ">=3.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/eslint": {
+ "optional": true
+ },
+ "eslint-config-prettier": {
+ "optional": true
+ }
+ }
+ },
"node_modules/eslint-plugin-react": {
"version": "7.37.2",
"resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.2.tgz",
@@ -8422,6 +8467,13 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/fast-diff": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz",
+ "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==",
+ "dev": true,
+ "license": "Apache-2.0"
+ },
"node_modules/fast-equals": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.0.1.tgz",
@@ -17181,6 +17233,19 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/prettier-linter-helpers": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
+ "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fast-diff": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
"node_modules/pretty-bytes": {
"version": "5.6.0",
"resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz",
@@ -19515,6 +19580,23 @@
"node": ">=16.0.0"
}
},
+ "node_modules/synckit": {
+ "version": "0.9.2",
+ "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.2.tgz",
+ "integrity": "sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@pkgr/core": "^0.1.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/unts"
+ }
+ },
"node_modules/table": {
"version": "6.9.0",
"resolved": "https://registry.npmjs.org/table/-/table-6.9.0.tgz",
diff --git a/benefit-finder/package.json b/benefit-finder/package.json
index fa86276f5..15c0bdfa7 100644
--- a/benefit-finder/package.json
+++ b/benefit-finder/package.json
@@ -70,6 +70,7 @@
"eslint-plugin-cypress": "^3.6.0",
"eslint-plugin-json": "^4.0.1",
"eslint-plugin-jsx-a11y": "^6.10.2",
+ "eslint-plugin-prettier": "^5.2.1",
"eslint-plugin-react": "^7.37.2",
"eslint-plugin-storybook": "^0.10.0",
"http-server": "^14.1.1",
From fd98cbad3c1877b0fd49406ef99e3df872b761f5 Mon Sep 17 00:00:00 2001
From: scottqueen-bixal
Date: Mon, 16 Dec 2024 16:24:22 -0500
Subject: [PATCH 34/65] PXBF-update-prettier-eslint: config eslint prettier
recomended
---
benefit-finder/eslint.config.mjs | 2 ++
1 file changed, 2 insertions(+)
diff --git a/benefit-finder/eslint.config.mjs b/benefit-finder/eslint.config.mjs
index fdece7391..02464df13 100644
--- a/benefit-finder/eslint.config.mjs
+++ b/benefit-finder/eslint.config.mjs
@@ -5,6 +5,7 @@ import pluginCypress from 'eslint-plugin-cypress/flat'
import storybook from 'eslint-plugin-storybook'
import reactPlugin from 'eslint-plugin-react'
import eslintConfigPrettier from 'eslint-config-prettier'
+import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended'
import jsxA11y from 'eslint-plugin-jsx-a11y'
// error when starting dev server:
@@ -19,6 +20,7 @@ export default [
js.configs.recommended,
json.configs.recommended,
eslintConfigPrettier,
+ eslintPluginPrettierRecommended,
...storybook.configs['flat/recommended'],
pluginCypress.configs.recommended,
reactPlugin.configs.flat.all,
From a693f1c75508d7ab4a6b87d345e56ac5dfee41e1 Mon Sep 17 00:00:00 2001
From: scottqueen-bixal
Date: Mon, 16 Dec 2024 16:24:56 -0500
Subject: [PATCH 35/65] PXBF-update-prettier-eslint: format files
---
benefit-finder/.storybook/main.js | 11 ++++++-----
.../selected-criteria-eligibility-benefits.cy.js | 3 ++-
.../cypress/e2e/usagov-public-site/links.cy.js | 1 -
3 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/benefit-finder/.storybook/main.js b/benefit-finder/.storybook/main.js
index 9457c7cdc..11f52d16b 100644
--- a/benefit-finder/.storybook/main.js
+++ b/benefit-finder/.storybook/main.js
@@ -20,15 +20,16 @@ const config = {
viteFinal(config) {
return mergeConfig(config, {
build: {
- chunkSizeWarningLimit: '1000',
- rollupOptions: {
+ chunkSizeWarningLimit: '1000',
+ rollupOptions: {
output: {
- manualChunks: (id) => id.includes('src/App/index.jsx') ? 'app-chunk' : false,
+ manualChunks: id =>
+ id.includes('src/App/index.jsx') ? 'app-chunk' : false,
},
},
},
- });
+ })
},
-};
+}
export default config
diff --git a/benefit-finder/cypress/e2e/storybook/selected-criteria-eligibility-benefits.cy.js b/benefit-finder/cypress/e2e/storybook/selected-criteria-eligibility-benefits.cy.js
index 90af38090..a2557049c 100644
--- a/benefit-finder/cypress/e2e/storybook/selected-criteria-eligibility-benefits.cy.js
+++ b/benefit-finder/cypress/e2e/storybook/selected-criteria-eligibility-benefits.cy.js
@@ -97,7 +97,8 @@ describe('Validate correct eligibility benefits display based on selected criter
})
it('QA scenario 3 Coal Miner EN - Verify correct benefit results for query values that includes Coal Miner in search parameter of URL', () => {
- const selectedData = BENEFITS_ELIGIBILITY_DATA.scenario_3_coal_miner.en.param
+ const selectedData =
+ BENEFITS_ELIGIBILITY_DATA.scenario_3_coal_miner.en.param
const enResults = BENEFITS_ELIGIBILITY_DATA.scenario_3_coal_miner.en.results
const scenario = utils.encodeURIFromObject(selectedData)
diff --git a/benefit-finder/cypress/e2e/usagov-public-site/links.cy.js b/benefit-finder/cypress/e2e/usagov-public-site/links.cy.js
index ec7225aa3..67bba145b 100644
--- a/benefit-finder/cypress/e2e/usagov-public-site/links.cy.js
+++ b/benefit-finder/cypress/e2e/usagov-public-site/links.cy.js
@@ -58,7 +58,6 @@ describe('Verify correct status code handling', () => {
// negate validation on our functional code
Cypress.on('fail', error => {
if (JSON.stringify(error).includes('httpstat')) {
-
expect(error).to.not.be.undefined
} else {
throw error
From 97b4794d50296750973c6170dd9104985d46f43d Mon Sep 17 00:00:00 2001
From: Xavier Metichecchia
Date: Wed, 18 Dec 2024 09:38:40 -0500
Subject: [PATCH 36/65] Unmute scripts
---
scripts/pipeline/cloud-gov-post-deploy.sh | 10 +++++-----
scripts/pipeline/cloud-gov-remote-command.sh | 2 +-
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/scripts/pipeline/cloud-gov-post-deploy.sh b/scripts/pipeline/cloud-gov-post-deploy.sh
index 45335121e..27d9a8b63 100755
--- a/scripts/pipeline/cloud-gov-post-deploy.sh
+++ b/scripts/pipeline/cloud-gov-post-deploy.sh
@@ -6,25 +6,25 @@ ROOT_DIR=$(git rev-parse --show-toplevel)
# Read the drush-post-deploy.sh file line by line
while IFS= read -r command || [[ -n "$command" ]]; do
# Debugging: Print the current command being processed
- # echo "Processing command: ${command}"
+ echo "Processing command: ${command}"
# Skip comments, empty lines, or echo commands
if [[ "${command}" != "#"* ]] && [[ -n "${command}" ]] && [[ "${command}" != "echo "* ]]; then
- # echo "Running command: ${command}"
+ echo "Running command: ${command}"
# Call the cloud-gov-remote-command script with the project and branch
- bash ./scripts/pipeline/cloud-gov-remote-command.sh "${PROJECT}-cms-${BRANCH}" "${command}" < /dev/null >/dev/null 2>&1
+ bash ./scripts/pipeline/cloud-gov-remote-command.sh "${PROJECT}-cms-${BRANCH}" "${command}" #< /dev/null >/dev/null 2>&1
# Check for errors and exit if a command fails
if [[ $? -ne 0 ]]; then
- # echo "Error: Command '${command}' failed!" #>&2
+ echo "Error: Command '${command}' failed!" #>&2
exit 1
fi
fi
done < <(cat "${ROOT_DIR}/scripts/drush-post-deploy.sh")
# Indicate script completion
-# echo "All commands processed successfully!"
+echo "All commands processed successfully!"
exit 0
#Casey's Original Script
diff --git a/scripts/pipeline/cloud-gov-remote-command.sh b/scripts/pipeline/cloud-gov-remote-command.sh
index de49ac845..224ebca11 100755
--- a/scripts/pipeline/cloud-gov-remote-command.sh
+++ b/scripts/pipeline/cloud-gov-remote-command.sh
@@ -30,7 +30,7 @@ if [ -z "${show_output}" ]; then
echo "Running command: '$(echo "${command}" | cut -d' ' -f1,2)'..."
{
sshpass -f "${ssh_passwd}" ssh -F "${ssh_config}" "ssh.fr.cloud.gov" "touch ~/.bashrc && source ~/.bashrc && PATH=\$PATH:${bin_path} ${command}"
- } > /dev/null 2>&1
+ } #> /dev/null 2>&1
else
sshpass -f "${ssh_passwd}" ssh -F "${ssh_config}" "ssh.fr.cloud.gov" "touch ~/.bashrc && source ~/.bashrc && PATH=\$PATH:${bin_path} ${command}"
fi
From 7f73242956df1326000c7ab1892234d38de20d12 Mon Sep 17 00:00:00 2001
From: Xavier Metichecchia
Date: Wed, 18 Dec 2024 12:04:29 -0500
Subject: [PATCH 37/65] Simplify command script
---
scripts/pipeline/cloud-gov-remote-command.sh | 75 ++++++++++++++++----
1 file changed, 63 insertions(+), 12 deletions(-)
diff --git a/scripts/pipeline/cloud-gov-remote-command.sh b/scripts/pipeline/cloud-gov-remote-command.sh
index 224ebca11..3d496bd5e 100755
--- a/scripts/pipeline/cloud-gov-remote-command.sh
+++ b/scripts/pipeline/cloud-gov-remote-command.sh
@@ -1,7 +1,9 @@
#!/bin/bash
+# Ensure the script stops on any error
+set -e
-
+# Variables
APP_NAME=$1
command=$2
show_output=$3
@@ -9,11 +11,15 @@ show_output=$3
APP_GUID=$(cf app "${APP_NAME}" --guid)
bin_path="/var/www/vendor/bin/:/home/vcap/deps/0/bin/"
+# Validate inputs
+if [ -z "${APP_NAME}" ] || [ -z "${command}" ]; then
+ echo "Command error! Valid format: ${0} "
+ exit 1
+fi
-[ -z "${APP_NAME}" ] || [ -z "${command}" ] && echo "Command error! Valid format: ${0} " && exit 1
-
+# Create SSH configuration and password files
ssh_config=/tmp/ssh_config
-ssh_passwd="/tmp/ssh_password"
+ssh_passwd=/tmp/ssh_password
cat >${ssh_config} < ${ssh_passwd}
-if [ -z "${show_output}" ]; then
- echo "Running command: '$(echo "${command}" | cut -d' ' -f1,2)'..."
- {
- sshpass -f "${ssh_passwd}" ssh -F "${ssh_config}" "ssh.fr.cloud.gov" "touch ~/.bashrc && source ~/.bashrc && PATH=\$PATH:${bin_path} ${command}"
- } #> /dev/null 2>&1
-else
- sshpass -f "${ssh_passwd}" ssh -F "${ssh_config}" "ssh.fr.cloud.gov" "touch ~/.bashrc && source ~/.bashrc && PATH=\$PATH:${bin_path} ${command}"
-fi
+# Debugging: Output command being run
+echo "Running command on remote app: ${command}"
+
+# Execute the commands line by line
+echo "Executing commands from input..."
+while IFS= read -r line || [[ -n "$line" ]]; do
+ echo "Processing command: $line"
+ sshpass -f "${ssh_passwd}" ssh -F "${ssh_config}" "ssh.fr.cloud.gov" \
+ "touch ~/.bashrc && source ~/.bashrc && PATH=\$PATH:${bin_path} $line"
+done <<< "${command}"
+
+# Clean up temporary files
+rm -f ${ssh_config} ${ssh_passwd}
+
+# Debugging: Notify success
+echo "Command execution completed."
+
+# #!/bin/bash
+#
+#
+#
+# APP_NAME=$1
+# command=$2
+# show_output=$3
+#
+# APP_GUID=$(cf app "${APP_NAME}" --guid)
+# bin_path="/var/www/vendor/bin/:/home/vcap/deps/0/bin/"
+#
+#
+# [ -z "${APP_NAME}" ] || [ -z "${command}" ] && echo "Command error! Valid format: ${0} " && exit 1
+#
+# ssh_config=/tmp/ssh_config
+# ssh_passwd="/tmp/ssh_password"
+#
+# cat >${ssh_config} < ${ssh_passwd}
+#
+# if [ -z "${show_output}" ]; then
+# echo "Running command: '$(echo "${command}" | cut -d' ' -f1,2)'..."
+# {
+# sshpass -f "${ssh_passwd}" ssh -F "${ssh_config}" "ssh.fr.cloud.gov" "touch ~/.bashrc && source ~/.bashrc && PATH=\$PATH:${bin_path} ${command}"
+# } #> /dev/null 2>&1
+# else
+# sshpass -f "${ssh_passwd}" ssh -F "${ssh_config}" "ssh.fr.cloud.gov" "touch ~/.bashrc && source ~/.bashrc && PATH=\$PATH:${bin_path} ${command}"
+# fi
From 060a80b5985e092248f1a50676c82818ebc6f508 Mon Sep 17 00:00:00 2001
From: scottqueen-bixal
Date: Mon, 23 Dec 2024 15:27:30 -0500
Subject: [PATCH 38/65] PXBF-2014-design-qa-tweaks: bold content on notices
intro
---
.../src/App/__tests__/__snapshots__/index.spec.jsx.snap | 5 ++++-
.../Routes/Intro/__tests__/__snapshots__/index.spec.jsx.snap | 5 ++++-
.../NoticesList/__tests__/__snapshots__/index.spec.jsx.snap | 5 ++++-
benefit-finder/src/shared/locales/en/en.json | 2 +-
benefit-finder/src/shared/locales/es/es.json | 2 +-
5 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/benefit-finder/src/App/__tests__/__snapshots__/index.spec.jsx.snap b/benefit-finder/src/App/__tests__/__snapshots__/index.spec.jsx.snap
index a7f5bf281..fc95a33b2 100644
--- a/benefit-finder/src/App/__tests__/__snapshots__/index.spec.jsx.snap
+++ b/benefit-finder/src/App/__tests__/__snapshots__/index.spec.jsx.snap
@@ -166,7 +166,10 @@ exports[`loads intro 1`] = `
with each agency.
- We do not share, save, or submit your information.
+
+ We do not share, save, or submit
+
+ your information.
diff --git a/benefit-finder/src/Routes/Intro/__tests__/__snapshots__/index.spec.jsx.snap b/benefit-finder/src/Routes/Intro/__tests__/__snapshots__/index.spec.jsx.snap
index 8eb8970d3..e308c488e 100644
--- a/benefit-finder/src/Routes/Intro/__tests__/__snapshots__/index.spec.jsx.snap
+++ b/benefit-finder/src/Routes/Intro/__tests__/__snapshots__/index.spec.jsx.snap
@@ -151,7 +151,10 @@ exports[`Intro > renders a match to the previous snapshot 1`] = `
with each agency.
- We do not share, save, or submit your information.
+
+ We do not share, save, or submit
+
+ your information.