Because:
- we want to use the latest node LTS major version
This commit:
- upgrades FxA to use node 18, with two workarounds
- Webpack uses a hash algorithm that's no longer supported by default
in node 17+, causing build failures; --openssl-legacy-provider is
used as the workaround
- dns.lookup in node 17+ by default returns the results in the same
order as they are from the resolver, which could lead to
'localhost' resolving to ::1; --dns-result-order=ipv4first is used
as the workaround
Because:
* We're replacing the sentry tracing library/configuration with
OpenTelemetry (per the auth server)
This commit:
* Removes sentry tracing and replaces it with OpenTelemetry, modelled on
the work already done in the auth server
Closes # https://mozilla-hub.atlassian.net/browse/FXA-5720
Because:
- We are upgrading sentry.
This Commit:
- Upgrades version of sentry used
- Improves config to support more options
- Creates routine for consistent extraction of config data from config objects
- Sets sampleRate, and defaults it to 1.0. This controls the percentage of errors captured.
- Sets tracesSampleRate, and defaults it 1.0. This controls the percentage of errors captured.
- Introduces browser tracing support for the client side.
- Introduces tracing transactions on the server side for performance monitoring.
- Improves capture of graphql transactions.
- Adds support for using sentry during local development via configuration of envs.
Closes: #11761
Notes: There will be a follow up PR specifically to address improvements for tagging, filtering of PII, consolidation of error handling, and improvements to distributed tracing.
chore(deps): updated yarn.lock
In order to keep the typescript shared modules up to date for their dependents to use while running locally this adds them to pm2 so that a `tsc --watch` can run alongside the other services.
Note, this DOES NOT automatically restart dependent javascript service processes.
This change refactors pm2-all.sh in order to start processes in dependency topological order. This requires an update to most pm2.config.js files in order to set PATH correctly while running under yarn.
why: several reasons...
- to have a unified approach and pattern for:
- debugging
- fs watching for local dev
- running services in dev
- configuring services in dev
- to improve the initial clone and subsequent `npm ci` experience
- to make future work on tooling easier