Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dep updates 2024 09 02 #5342

Merged
merged 31 commits into from
Sep 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
6644407
dep-updates: Update all packages without caveats
Sep 6, 2024
b493ffd
dep-updates: Update typescript test
Sep 6, 2024
0d2437c
dep-updates: remove temp
Sep 6, 2024
d25a2c9
dep-updates: remove caveat
Sep 6, 2024
370342d
dep-updates: doc updates
Sep 6, 2024
034a2e5
dep-updates: Update puppeteer to 32 and chromium to 127
Sep 6, 2024
61dd79a
dep-updates: remove react-test-renderer and associated UI tests as th…
Sep 6, 2024
c694ea2
dep-updates: remove ajv
Sep 6, 2024
c1e3bbc
dep-updates: remove axios-retry
Sep 6, 2024
fb8529b
dep-updates: remove babel-loader
Sep 6, 2024
4f5b0d9
dep-updates: remove babel-plugin-transform-html-import-require-to-string
Sep 6, 2024
5e36a97
dep-updates: remove checksum
Sep 6, 2024
aabba42
dep-updates: remove css-loader
Sep 6, 2024
b10ee31
dep-updates: remove esm
Sep 6, 2024
93ef077
dep-updates: remove file-loader
Sep 6, 2024
578ab8b
dep-updates: remove json2yaml
Sep 6, 2024
51f78a4
dep-updates: remove node-cache
Sep 6, 2024
cf955f2
dep-updates: npm-run-all
Sep 6, 2024
5703700
dep-updates: remove postcss-loader
Sep 6, 2024
672b83c
dep-updates: remove prop-types
Sep 6, 2024
83ce657
dep-updates: remove style-loader
Sep 6, 2024
2313ceb
dep-updates: remove ts-loader
Sep 6, 2024
a0ffd12
dep-updates: remove babel plugin
Sep 6, 2024
7ac166a
dep-updates: replace run-p with & operator
Sep 6, 2024
be76691
dep-updates: replace run-p with & operator
Sep 6, 2024
a8f0677
dep-updates: Update dockerfile
Sep 6, 2024
92390ec
dep-updates: Update terraform provider
Sep 6, 2024
86fb5e7
dep-updates: Update target for typescript for aggregateCommonQueryPar…
Sep 6, 2024
0757e06
dep-updates: Update package lock for puppeteer
Sep 9, 2024
b852a8e
dep-updates: Make pdf-generator lambda return an object so that direc…
Sep 9, 2024
b46323c
Merge branch 'staging' into dep-updates-2024-09-02
TomElliottFlexion Sep 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ version: 2.1
orbs:
git-shallow-clone: guitarrapc/[email protected]

efcms-docker-image: &efcms-docker-image $AWS_ACCOUNT_ID.dkr.ecr.us-east-1.amazonaws.com/ef-cms-us-east-1:4.3.8
efcms-docker-image: &efcms-docker-image $AWS_ACCOUNT_ID.dkr.ecr.us-east-1.amazonaws.com/ef-cms-us-east-1:4.3.9

parameters:
run_build_and_deploy:
Expand Down
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Note: node-20.14.0-chrome-125.0.* is debian 12.5 (bookworm)

FROM cypress/browsers:node-20.16.0-chrome-127.0.6533.119-1-ff-129.0.1-edge-127.0.2651.98-1
FROM cypress/browsers:node-20.17.0-chrome-128.0.6613.119-1-ff-130.0-edge-128.0.2739.63-1

WORKDIR /home/app

Expand Down Expand Up @@ -37,7 +37,7 @@ RUN apt-get install -y build-essential
RUN apt-get install -y libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev

ENV JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.17.36.zip" -o "awscliv2.zip" && \
RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.17.46.zip" -o "awscliv2.zip" && \
unzip awscliv2.zip && \
./aws/install && \
rm -rf awscliv2.zip
Expand Down
2 changes: 1 addition & 1 deletion babel.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module.exports = {
plugins: ['babel-plugin-cerebral', 'transform-html-import-require-to-string'],
plugins: ['babel-plugin-cerebral'],
presets: [
[
'@babel/preset-env',
Expand Down
8 changes: 2 additions & 6 deletions docs/dependency-updates.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,8 @@ Below is a list of dependencies that are locked down due to known issues with se

### puppeteer and @sparticuz/chromium

- When updating puppeteer or puppeteer core in the project, make sure to also match versions in `web-api/runtimes/puppeteer/package.json` as this is our lambda layer which we use to generate pdfs. Puppeteer and chromium versions should always match between package.json and web-api/runtimes/puppeteer/package.json. Remember to run `npm install --prefix web-api/runtimes/puppeteer` to install and update the package-lock file.
- Puppeteer also has recommended versions of Chromium, so we should make sure to use the recommended version of chromium for the version of puppeteer that we are on.
- When updating puppeteer or puppeteer core in the project, make sure to also match versions in `web-api/runtimes/puppeteer/package.json` as this is our lambda layer which we use to generate pdfs. Puppeteer and chromium versions should always match between package.json and web-api/runtimes/puppeteer/package.json. Remember to run `npm install --prefix web-api/runtimes/puppeteer` to install and update the package-lock file.
- Puppeteer also has recommended versions of Chromium, so we should make sure to use the recommended version of chromium for the version of puppeteer that we are on. The chromium versions supported by puppeteer can be found [here](https://pptr.dev/supported-browsers)
- As of 8/15/2024, we cannot update puppeteer or puppeteer-core beyond 22.13.1 because the latest release of @sparticuz/chromium only supports version 126 of chromium.
- There is a high-severity security issue with ws (ws affected by a DoS when handling a request with many HTTP headers - https://github.com/advisories/GHSA-3h5v-q93c-6h6q); however, we only use ws on the client side, so this should not be an issue. (We tried to upgrade puppeteer anyway, but unsurprisingly the PDF tests failed because there is no newer version of Chromium that supports puppeteer.)

Expand All @@ -95,10 +95,6 @@ See: https://github.com/jsx-eslint/eslint-plugin-react/issues/3699
### ws, 3rd party dependency of Cerebral
- When running npm audit, you'll see a high severity issue with ws, 'affected by a DoS when handling a request with many HTTP headers - https://github.com/advisories/GHSA-3h5v-q93c-6h6q'. This doesn't affect us as the vulnerability is on the server side and we're not using this package on the server. We tried to override this to 5.2.4 and 8.18.0 and weren't able to make this work as import paths have changed. In the mean time, we recommend skipping this issue. We could always fork the cerebral repo in the future if needed.

### typescript
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉

- We currently run version 5.4.5; upon upgrading to version 5.5.3 on 6 July 2024, we ran into a series of issues. While the tests passed, we ran into issues linting and type-checking. The recurring issue was a RangeError: Maximum call stack size exceeded, which occurred with our npx tsc command as well as our lint-staged command. We noticed related issues in Github around this release. In order to prevent delaying other devs and ensure the remaining dependency updates are completed, we decided to hold on this update till version 5.5.3+ and/or we can spend more time to determine why this is occurring.
- Update 12 July 2024: There are two new related open issues (https://github.com/microsoft/TypeScript/issues/59255 and https://github.com/microsoft/TypeScript/issues/59253), which provides further evidence for a TS bug. TS is still on version 5.5.3.

## Incrementing the Node Cache Key Version

It's rare to need modify cache key. One reason you may want to do so is if a package fails to install properly, and CircleCI, unaware of the failed installation, stores the corrupted cache. In this case, we will need to increment the cache key version so that CircleCI is forced to reinstall the node dependencies and save them using the new key. To update the cache key, locate `vX-npm` and `vX-cypress` (where X represents the current cache key version) in the config.yml file, and then increment the identified version.
Expand Down
5 changes: 1 addition & 4 deletions esbuildHelper.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -108,10 +108,7 @@ export default async function ({
babel({
config: {
ignore: ['node_modules'],
plugins: [
'babel-plugin-cerebral',
'transform-html-import-require-to-string',
],
plugins: ['babel-plugin-cerebral'],
presets: [
[
'@babel/preset-env',
Expand Down
Loading
Loading