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

[SDK-3796] Upgrade to Webpack 5 #2213

Merged
merged 17 commits into from
Dec 8, 2022
Merged

[SDK-3796] Upgrade to Webpack 5 #2213

merged 17 commits into from
Dec 8, 2022

Conversation

stevehobbsdev
Copy link
Contributor

@stevehobbsdev stevehobbsdev commented Dec 7, 2022

Changes

This PR updates several aspects of the tooling used to build Lock:

  • Update to Webpack 5 (new polyfill imports included)
  • Update to Babel 7 (now uses @babel/preset-env)
  • Update to Jest 29
  • Various configuration tweaks

Note: This is a large diff, mainly due to the number of auto-generated snapshot tests that had to be regenerated thanks to updating Jest. Some E2E tests have been corrected to make them more reliable in the face of concurrency scenarios. No net new tests or logic has been written or changed.

References

SDK-3796

Testing

No new coverage, but has been tested manually and by running yarn test and yarn test:e2e locally.

  • This change adds unit test coverage
  • This change adds integration test coverage
  • This change has been tested on the latest version of the platform/language

Checklist

@stevehobbsdev stevehobbsdev added the review:large Large review label Dec 7, 2022
@stevehobbsdev stevehobbsdev requested a review from a team as a code owner December 7, 2022 13:47
Comment on lines -101 to +77
webpack: webpackConfig,
publicPath: '/build/'
},
dev: {
hot: true,
port: 3000,
https: getDevCerts() || true,
webpack: {
devtool: 'source-map'
output: {
publicPath: '/build/'
}
},
dev: webpackConfig,
Copy link
Contributor Author

Choose a reason for hiding this comment

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

All this webpack dev server config (along with getDevCerts() was moved into webpack.config.js.

@lgtm-com
Copy link
Contributor

lgtm-com bot commented Dec 7, 2022

This pull request fixes 4 alerts when merging bff6285 into ef29085 - view on LGTM.com

fixed alerts:

  • 4 for Unused variable, import, function or class

Heads-up: LGTM.com's PR analysis will be disabled on the 5th of December, and LGTM.com will be shut down ⏻ completely on the 16th of December 2022. Please enable GitHub code scanning, which uses the same CodeQL engine ⚙️ that powers LGTM.com. For more information, please check out our post on the GitHub blog.

@lgtm-com
Copy link
Contributor

lgtm-com bot commented Dec 7, 2022

This pull request fixes 4 alerts when merging 50592c7 into ef29085 - view on LGTM.com

fixed alerts:

  • 4 for Unused variable, import, function or class

Heads-up: LGTM.com's PR analysis will be disabled on the 5th of December, and LGTM.com will be shut down ⏻ completely on the 16th of December 2022. Please enable GitHub code scanning, which uses the same CodeQL engine ⚙️ that powers LGTM.com. For more information, please check out our post on the GitHub blog.

@lgtm-com
Copy link
Contributor

lgtm-com bot commented Dec 8, 2022

This pull request fixes 4 alerts when merging cba0f12 into 3094d4f - view on LGTM.com

fixed alerts:

  • 4 for Unused variable, import, function or class

Heads-up: LGTM.com's PR analysis will be disabled on the 5th of December, and LGTM.com will be shut down ⏻ completely on the 16th of December 2022. It looks like GitHub code scanning with CodeQL is already set up for this repo, so no further action is needed 🚀. For more information, please check out our post on the GitHub blog.

@Widcket
Copy link
Contributor

Widcket commented Dec 8, 2022

@stevehobbsdev CI is failing

@stevehobbsdev
Copy link
Contributor Author

These are the browserstack tests that we know to be unreliable, and has been the case for months now. While I have been taking steps to clean them up where possible, it's an ongoing effort (hence the check not being required currently).

I've verified the E2E tests locally, which all pass. It's a BS-specific issue from what I can see.

Symbol(enzyme.__childContext__): null,
}
`;
exports[`Recaptcha Enterprise should match the snapshot 1`] = `ShallowWrapper {}`;
Copy link
Contributor

Choose a reason for hiding this comment

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

Should this one be empty?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I don't think this should be empty, but rather than it hold up the beta release, I'll come back and fix if if that's ok - it requires a deep look into how I can get Enzyme to provide the correct snapshot for the component that doesn't fully render until after a set period of time.

@lgtm-com
Copy link
Contributor

lgtm-com bot commented Dec 8, 2022

This pull request fixes 4 alerts when merging 13500c8 into 3094d4f - view on LGTM.com

fixed alerts:

  • 4 for Unused variable, import, function or class

Heads-up: LGTM.com's PR analysis will be disabled on the 5th of December, and LGTM.com will be shut down ⏻ completely on the 16th of December 2022. It looks like GitHub code scanning with CodeQL is already set up for this repo, so no further action is needed 🚀. For more information, please check out our post on the GitHub blog.

@stevehobbsdev stevehobbsdev merged commit 240c3d8 into beta Dec 8, 2022
@stevehobbsdev stevehobbsdev deleted the sdk-3796/webpack-5 branch December 8, 2022 22:20
stevehobbsdev added a commit that referenced this pull request Jan 20, 2023
* Remove Bower support (#2198)

remove build assets, bower.json and exclude

* [SDK-3789] Upgrade to React 18 (#2209)

* install react, react-dom 18

* use createRoot instead of render

* use @cfaester/enzyme-adapter-react-18 and update snapshots

* fix up async issues in E2E tests

* run yarn upgrade

* fix up another failing async test with helpers

* use lts browsers in Circle build

* remove dependency on 'node-fetch'

* use UNSAFE_ for componentWilReceiveProps

* [SDK-3796] Upgrade to Webpack 5 (#2213)

* use @cfaester/enzyme-adapter-react-18 and update snapshots

* fix up async issues in E2E tests

* run yarn upgrade

* upgrade to webpack 3

* upgrade webpack to 4.x

* wip - upgrade to babel 7

* upgrade UnminifiedWebpackPlugin

* update jest to latest and update tests & snapshots

* update karma dependencies

* upgrade to webpack 5

* adding polyfills

* tweaks to fix e2e tests

* enable browserstack tests on IE11

* attempting to fix concurrency issues in browserstack runs

* add new line for browserslistrc

* Update src/__tests__/core/index.test.js

Co-authored-by: Rita Zerrizuela <[email protected]>

Co-authored-by: Rita Zerrizuela <[email protected]>

* [chore] update readme for the beta (#2217)

Update readme for the beta

* release v12.0.0-beta.0 (#2218)

* Update circle config to use latest ship-orb (#2219)

* Update README.md (#2220)

* Update readme for release (#2239)

* chore: update docs for GA release

* chore: build lockfile using yarn@2

* Merge master into beta (#2240)

* Bump auth0-js from 9.19.2 to 9.20.0 (#2221)

Bumps [auth0-js](https://github.com/auth0/auth0.js) from 9.19.2 to 9.20.0.
- [Release notes](https://github.com/auth0/auth0.js/releases)
- [Changelog](https://github.com/auth0/auth0.js/blob/master/CHANGELOG.md)
- [Commits](auth0/auth0.js@v9.19.2...v9.20.0)

---
updated-dependencies:
- dependency-name: auth0-js
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* IAMRISK-1790 Support captcha for Passwordless (#2222)

* initial changes for email passwordless login screen

* updated tests

* Fix test for passwordless/social_or_email_login_screen

Fixes for a couple of issues:

**Circular dependency error**

Thanks to the email field, it was trying to use a function `isHRDEmailValid` from 'connection/enterprise', which isn't necessary for this test (I don't *think* you can have enterprise passwordless connections, you would just use the non-passwordless version of Lock). Mocking out this module and just returning `false` for `isHRDEmailValid` makes things simpler.

**m.getIn is not a function**

This is down to `social_or_email_login_screen` calling `hasSomeConnections` from 'core/index', this can simply be mocked to return `true` for this test. This function just verifies that there is a passwordless or email connection available.

I also had to mock out i18n.html, as this function is called when the component renders.

* add capthca pane to social or email login screen (failing tests)

* Remove unneeded lines

* add captcha to passwordless login screens, with unit tests passing

* got rid of sso

* got rid of enterprise check

* deleted unncessary imports

* Captcha support for Passwordless

* Update passwordless snapshots

* Error translations

* Swap captcha if restarting passwordless

* Add missing fun argument docs

* Use invalid_recaptcha error key for recaptcha_enterprise

* Resolve deps publicly

* Fix bug to correctly reset captcha field

* Remove conditional for non objects

* Add missing translations

Co-authored-by: kaki1104 <[email protected]>
Co-authored-by: Steve Hobbs <[email protected]>

* Release v11.35.0 (#2223)

release v11.35.0

* Bump eslint-config-prettier from 8.5.0 to 8.6.0

Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 8.5.0 to 8.6.0.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md)
- [Commits](prettier/eslint-config-prettier@v8.5.0...v8.6.0)

---
updated-dependencies:
- dependency-name: eslint-config-prettier
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump dompurify from 2.4.1 to 2.4.3 (#2232)

Bumps [dompurify](https://github.com/cure53/DOMPurify) from 2.4.1 to 2.4.3.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](cure53/DOMPurify@2.4.1...2.4.3)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump prettier from 2.8.1 to 2.8.2 (#2231)

Bumps [prettier](https://github.com/prettier/prettier) from 2.8.1 to 2.8.2.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](prettier/prettier@2.8.1...2.8.2)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump eslint-plugin-react from 7.31.11 to 7.32.0 (#2233)

Bumps [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) from 7.31.11 to 7.32.0.
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](jsx-eslint/eslint-plugin-react@v7.31.11...v7.32.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-react
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump prettier from 2.8.2 to 2.8.3 (#2237)

* Bump auth0-js from 9.20.0 to 9.20.1 (#2235)

* Bump eslint-plugin-react from 7.32.0 to 7.32.1 (#2238)

Bumps [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) from 7.32.0 to 7.32.1.
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](jsx-eslint/eslint-plugin-react@v7.32.0...v7.32.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-react
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump node-fetch from 2.6.7 to 2.6.8 (#2236)

Bumps [node-fetch](https://github.com/node-fetch/node-fetch) from 2.6.7 to 2.6.8.
- [Release notes](https://github.com/node-fetch/node-fetch/releases)
- [Commits](node-fetch/node-fetch@v2.6.7...v2.6.8)

---
updated-dependencies:
- dependency-name: node-fetch
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rita Zerrizuela <[email protected]>
Co-authored-by: Steve Hobbs <[email protected]>

* Use latest ship-orb in CI (#2234)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Robin Bijlani <[email protected]>
Co-authored-by: kaki1104 <[email protected]>
Co-authored-by: Steve Hobbs <[email protected]>
Co-authored-by: Rita Zerrizuela <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Rita Zerrizuela <[email protected]>
Co-authored-by: Frederik Prijck <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Robin Bijlani <[email protected]>
Co-authored-by: kaki1104 <[email protected]>
Co-authored-by: Steve Hobbs <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
review:large Large review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants