Removed recompose entirely. Most changes were to do with compose, which is an export function similar to lodash_.flowRight. Biggest change came from src/containers/hoc/load-data.jsx and its withMutations function needing a full rework (0813151).
Removed deprecated @bandwidth/messaging for bandwidth-sdk
Removed node-abort-controller in favor of native support
Removed deprecated camelcase-keys in favor of humps (already a dependency in Spoke)
Removed url-join in favor of native support
Removed unused selenium-webdriver
Upgraded Packages
Upgrade webpack-cli4.7.2 => 4.10.0; removed optional dependency of this, while maintaining it as a main dependency.
Upgrade @babel/cli7.19.3 =>7.24.1
Upgrade @babel/core7.24.0 => 7.24.1
Upgraded typescript from 2.71 => 3.2.1
Upgraded aws-sdk to V3 and its many supporting packages. This had a codemod which made this process simple.
Upgrade enzyme-adapter-react-16 from 1.15.7 => 1.15.8 (WILL LOSE SUPPORT IN react@17, currently running react@16)
Upgrade jest-when from 3.5.1 => 3.6.0
Upgrade eslint from 8.26.0 => 8.56.0
Upgrade google-libphonenumber from 3.0.0 => 3.2.34
Upgrade isomorphic-fetch from 2.2.1 => 3.0.0
Upgrade data-loader from 1.4.2 => 2.2.2
Upgrade twilio from 3.4.0 => 4.23.0
Upgrade knex from 2.0.0 => 3.1.0
Upgrade pg-query-stream from 1.1.2 => 4.5.3
Upgrade redis from 3 => 4.6.13
Upgrade query-string from 4.3.4 => 9.0.0
Upgrade @babel/eslint from 7.19.1 => 7.24.1
Upgrade @babel/plugin-transfrom-runtime from 7.19.6 => 7.24.4
Upgrade rollbar from 2.4.4 => 2.26.4
Upgrade supertest from 6.2.3 => 6.3.4
Upgrade webpack from 5.74.0 => 5.90.1
Upgrade moment-timezone from 0.5.14 => 0.5.45
Upgrade @babel/preset-env from 7.20.2 => 7.23.9
Upgrade pg from 8.0.2 => 8.11.3. Added support for TextDecoder and TextEncoder as this version upgrade of pg dropped support.
Upgrade @babel/register from 7.18.9 => 7.23.7
Upgrade auth0-js from 9.14.2 => 9.24.1
Upgrade cookie-session from 2.0.0-alpha.1 => 2.1.0
Upgrade nodemailer from 6.4.16 => 6.9.9
Added Packages
Added @babel/plugin-syntax-flow for unmet peer dep react-scripts > eslint-config-react-app > eslint-plugin-flowtype@8.0.3.
Added @babel/plugin-transform-react-jsx for unmet peer dep react-scripts> eslint-config-react-app > eslint-plugin-flowtype@8.0.3
Added eslint-plugin-react-hooks for unmet peer dep eslint-config-aribnb
Change createMuiTheme import to createTheme from @material-ui/core/styles packag.
FAILING TESTS
SQlite (running yarn test-sqlite) is storing a datetime object as a string. This has been an issue in previous versions of spoke as mentioned in a comment above.
FAIL __test__/backend.test.js
● graphql test suite › Campaign › Copy Campaign › creates and returns a copy of the campaign
expect(received).toEqual(expected) // deep equality
Expected: 2024-03-21T15:38:17.000Z
Received: Date { NaN }
634 |
635 | campaignDueBy.setMilliseconds(0);
> 636 | expect(copiedCampaign.due_by).toEqual(campaignDueBy);
| ^
637 | } else {
638 | expect(copiedCampaign.due_by).toEqual(campaign.due_by);
639 | }
at Object.<anonymous> (__test__/backend.test.js:636:43)
// Currently an open issue w/ datetime being stored as a string in SQLite3
// for Jest tests: https://github.com/TryGhost/node-sqlite3/issues/1355.
// This results in milliseconds being truncated when getting campaign due_by
// 3.15.2024 => Fails in SQLite testing now, but passes in PG.
// copiedCampaign.due_by is an Invalid Date, and at some point
// uses Date.parse()
2. NGP Van is having a type error. This error has persisted since the start of this branch.
```js
FAIL __test__/extensions/action-handlers/ngpvan-action.test.js
● ngpvn-action › #processAction › when something throws an exception › rethrows the exception
expect(received).toEqual(expected) // deep equality
Expected: StringMatching /^unexpected token*/i
Received: "\"[object Object]\" is not valid JSON"
1071 | }
1072 |
> 1073 | expect(error.message).toEqual(
| ^
1074 | expect.stringMatching(/^unexpected token*/i)
1075 | );
1076 |
at _callee33$ (__test__/extensions/action-handlers/ngpvan-action.test.js:1073:31)
at tryCatch (node_modules/@babel/runtime/helpers/regeneratorRuntime.js:44:17)
at Generator.<anonymous> (node_modules/@babel/runtime/helpers/regeneratorRuntime.js:125:22)
at Generator.throw (node_modules/@babel/runtime/helpers/regeneratorRuntime.js:69:21)
at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:24)
at _throw (node_modules/@babel/runtime/helpers/asyncToGenerator.js:25:9)
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change, and any blockers that make your change a WIP
Checklist:
[x] I have manually tested my changes on desktop and mobile
[x] The test suite passes locally with my changes
[ ] If my change is a UI change, I have attached a screenshot to the description section of this pull request
Fixes # (issue)
Removed
recompose
entirely. Most changes were to do withcompose
, which is an export function similar tolodash
_.flowRight
. Biggest change came fromsrc/containers/hoc/load-data.jsx
and itswithMutations
function needing a full rework (0813151).@bandwidth/messaging
forbandwidth-sdk
node-abort-controller
in favor of native supportcamelcase-keys
in favor ofhumps
(already a dependency in Spoke)url-join
in favor of native supportselenium-webdriver
Upgraded Packages
webpack-cli
4.7.2
=>4.10.0
; removed optional dependency of this, while maintaining it as a main dependency.@babel/cli
7.19.3
=>7.24.1
@babel/core
7.24.0
=>7.24.1
typescript
from2.71
=>3.2.1
aws-sdk
to V3 and its many supporting packages. This had acodemod
which made this process simple.enzyme-adapter-react-16
from1.15.7
=>1.15.8
(WILL LOSE SUPPORT INreact@17
, currently runningreact@16
)jest-when
from3.5.1
=>3.6.0
eslint
from8.26.0
=>8.56.0
google-libphonenumber
from3.0.0
=>3.2.34
isomorphic-fetch
from2.2.1
=>3.0.0
data-loader
from1.4.2
=>2.2.2
twilio
from3.4.0
=>4.23.0
knex
from2.0.0
=>3.1.0
pg-query-stream
from1.1.2
=>4.5.3
redis
from3
=>4.6.13
query-string
from4.3.4
=>9.0.0
@babel/eslint
from7.19.1
=>7.24.1
@babel/plugin-transfrom-runtime
from7.19.6
=>7.24.4
rollbar
from2.4.4
=>2.26.4
supertest
from6.2.3
=>6.3.4
webpack
from5.74.0
=>5.90.1
moment-timezone
from0.5.14
=>0.5.45
@babel/preset-env
from7.20.2
=>7.23.9
pg
from8.0.2
=>8.11.3
. Added support forTextDecoder
andTextEncoder
as this version upgrade ofpg
dropped support.@babel/register
from7.18.9
=>7.23.7
auth0-js
from9.14.2
=>9.24.1
cookie-session
from2.0.0-alpha.1
=>2.1.0
nodemailer
from6.4.16
=>6.9.9
Added Packages
@babel/plugin-syntax-flow
for unmet peer depreact-scripts
>eslint-config-react-app
>eslint-plugin-flowtype@8.0.3
.@babel/plugin-transform-react-jsx
for unmet peer depreact-scripts
>eslint-config-react-app
>eslint-plugin-flowtype@8.0.3
eslint-plugin-react-hooks
for unmet peer depeslint-config-aribnb
react-dnd
peer dep@babel/travers@7.23.2
@babel/plugin-transform-class-properties@7.23.3
@babel/plugin-transform-nullish-coalescing-operator@7.23.4
Other
bable.config.js
for ESM supportcreateMuiTheme
import tocreateTheme
from@material-ui/core/styles
packag.FAILING TESTS
SQlite (running
yarn test-sqlite
) is storing adatetime
object as a string. This has been an issue in previous versions of spoke as mentioned in a comment above.// 3.15.2024 => Fails in SQLite testing now, but passes in PG. // copiedCampaign.due_by is an Invalid Date, and at some point // uses Date.parse()
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change, and any blockers that make your change a WIP
Checklist: