Because:
- payments-next should be be recording all P1 metrics.
This commit:
- Renames PaymentsGleanService to PaymentsEmitterService to more
accurately indicate that this service will be used to handle all
Emitter events.
- Restructure EmitterService to reuse common functionality.
- Restructure EmitterService to reuse common functionality.
- Renames recordGleanEvents to recordEmitterEvents to more accurately
indicate that this action should be used to emit Emittery events on
the server.
- Emit CheckoutView/Engage/Submit/Success/Error events from pages and
components where necessary.
- Record the appropriate Glean event for each of the Emittery events.
Closes #FXA-10088
Because:
- Record SubPlat P1 metric view event using glean
This commit:
- Adds payments-metrics library
- Adds PaymentsGleanManager to format events data and CMS data into the
required format for Glean events recording.
- Adds PaymentsGleanService to handle metrics events emitted by Next.js
- Adds the manager and service to the NestApp
- Adds new config values to payments-next for Glean reporting
- Emit view event from Checkout start page
Closes #FXA-10087
Because:
- Define glean events and metrics for subplat backend events
This commit:
- Adds metrics and events to subplat backend metrics yaml
Closes #FXA-10086
Because:
- ts-jest is consuming too much memory during unit test execution
This commit:
- Replace ts-jest with @swc/jest, which has better memory utilization
- Replace Nx TSC build executor with Nx esbuild build executor, for better performance.
- Reduce size of unit-test job instance size from large back to medium+
Closes #FXA-9879
Because:
* Add the Stripe Payment Element to the checkout page
* Be able to checkout and successfully add a new payment method and
new subscription.
This commit:
* Adds the PaymentElement to the StripeWrapper
* Adds the Subscribe Now button
* Adds the Full Name field
* Updates the NestApp with Firestore and StatsD provider factories
Closes #FXA-8850 and #FXA-7810
Because:
* Many of the tests did not use NestJS test harness
* Many of the tests had poor structure
* Many of the tests did not use jest.spyOn and were not typesafe in
their mocks
This commit:
* Restructures tests within libs
Closes FXA-9540
Because:
- We want to let RPs know when users opt out of metrics collection
- We want to let RPs know when users opt in to metrics collection
This Commit:
- Ports the notifier code over to nx libs from auth server
- Ports other supporting libraries from fxa-shared to nx libs
- MozLoggerService
- Sentry
- Metrics (ie statsd)
- Updates graphql to emit a 'metricsChange' event when users toggle their 'Help improve Mozilla accounts' option in settings.
- Adds support for the metricsChanged event to the fxa-event-broker
Because:
* Want to migrate Nx to latest
This commit:
* Migrate nx to 18 using nx cli migrate latest
* Readd a few dev dependancies back into packages/**/package.json
* Behavior of `npx nx...` commands seems to have changed, resulting in
multiple "command not found: <library>" errors, where <library>
refers to libaries used in packages/**/package.json scripts, such as
tailwindcss, tsc-alias, nx, etc.
* Updates nx cache location for Circle CI
Closes #FXA-8880
Because:
* Manual changes were needed to all nx libraries to ensure expected
TypeScript build and development intellisense behavior.
This commit:
* Removes the "rootDir" build option added to all libraries, to allow
for relative paths. This is no longer necessary since issues using
TypeScript path aliases have been resolved.
* Removes changes to "main" build option, which ensured the built
version of package.json had the correct path to the main index.js.
Closes #
Because:
- Not all CI operations where taking advantage of NX caches
This Commit:
- Adjusts nx.json config to ensure correct caching behavior
- Adjusts nx.json config to ensure proper target chains. ie build is dependent on pre-build
- Uses nx to directly run integration tests
- Uses nx to directly run unit tests
- Phases out dependency on generated .list files
- Ensures 'start up' for services for functional tests is done with nx and uses nx caches.
- Creates nx tags to facilitate test commands
- Fixes linter errors encountered
- Updates docker images to nx for builds
- Updates nx ignore files
Because:
- we want to be able to use packagename based imports, defined in
tsconfig.base.json paths, throughout the repo.
This commit:
- Adds a workaround fix to libs/**/project.json > main properties to
ensure that the built dist/libs/**/.package.json has the correct
main property.
- Upgrades esbuild-register to latest version, which includes
tsconfig path resolution.
- Adds tsconfig-paths to auth-server mocha based tests.
- Adds various workarounds to fxa-graphql-api including the following
- Adds paths from `tsconfig.base.json` to `tsconfig.build.json`
excluding the extension.
- Add pathToModuleNameMapper to all jest*.config.js
- Add build step before tests are run
Because:
- The CI already targets test-unit
- We want to draw a distinction between unit and integration tests.
This Commit:
- Renames "test" to "test-unit" in lib packages.
- Sets up CI to run integration tests on 'libs' folder packages
- Adds tags to nx projects in libs folder
Because:
* Some items were identified not to meet code organization standards
the team is implementing with Nx.
* Nx identified some circular dependencies that need resolving.
This commit:
* Resolves circular dependencies.
* More to do
Because:
* We want to use clean and well tested code for our new integrated
account database layer.
* We don't want to use stored procedures for new code.
This commit:
* Adds a new library that contains core mysql connection functionality.
* Duplicates core objection classes and setup from fxa-shared without
stored procedure functionality.
Closes FXA-6622