Граф коммитов

17 Коммитов

Автор SHA1 Сообщение Дата
Lisa Chan 2e4db7aabe
chore(payments-next): Remove storybook 2024-10-17 12:07:50 -04:00
Reino Muhl 7dd569d383
feat(next): glean emit view event
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
2024-09-19 15:38:27 -04:00
Reino Muhl e15e7e718b
feat(next): add glean-generate script
Because:

- Have project target to generate glean code.

This commit:

- Adds glean metrics library.
- Adds blank subplat-backend-metrics.yaml
- Add glean-generate target to project.

Closes #FXA-9996
2024-08-09 15:05:16 -04:00
Reino Muhl d267d6eecf
feat(next): check payments-next starts up
Because:

- Payments Next errors on startup do not cause a stack startup error,
  and instead fails silently.

This commit:

- Adds a check to the heartbeat route to check that Payments Next starts
  up correctly

Closes #FXA-10113
2024-07-26 12:58:05 -04:00
Reino Muhl ab8ae37229
feat(next): update payments-next build and restart
Because:

- Starting and restarting payments-next takes a long time due to always
  building the app first, which isn't necessary during development.
- When changes are made to NestApp or its dependencies, these are not
  hot reloaded by Next.js, requiring a full Next.js restart.

This commit:

- Adopt Nx plugin for Next.js which more closely aligns with Next.js
  standard dev commands.
- Retained Nx Next.js executors for build, since it more closely fits
  into the current FxA build and deploy CI logic.
- Added a watcher to NestApp which calls a NestApp restart api, only
  available in development, to restart the NestApp on any changes.
- Adds a function to get the NestApp, instead of a const, thus ensuring,
  in dev mode, the latest NestApp is always returned.

Closes #FXA-9706
2024-06-18 10:45:04 -04:00
Reino Muhl 05d7265292
feat(many): add partial stack startup scripts
Because:

- During development it could be useful to start only parts of the stack
  needed for development on specific domains.

This commit:

- Provides additional stack startup options to only start specific parts
  of the stack, by using nx projects and tags.

Closes #FXA-9771
2024-06-04 11:41:51 -04:00
Reino Muhl cb41181b4d
feat(next): add typesafe config
Because:

* Use Next.js standard environment variable procedure
* Provide typed config to be used throughout Payments Next.

This commit:

* Refactor config to use Next.js native environment loaders
* Remove .env.json and .env.production.json
* Add validator and transformer functions to provide
  validated and typesafe config.

Closes #FXA-9436
2024-04-23 12:47:18 -04:00
Reino Muhl 652c09ab50
feat(next): add l10n to localizer for next rsc
Because:

* Ensure all localization strings can be localized in React Server
  Components.

This commit:

* Removes LocalizerServer
* Adds LocalizerRSC to serve as a wrapper for ReactLocalization that can
  be used by React Server Components, as well as a few other utility
  methods.
* Adds LocalizerRscFactory that instantiates LocalizerRSC only with
  bundles for a provided acceptLanguage string.
* Adds LocalizerRscFactoryProvider to be used with the NestApp to
  instantiate and then intialize the LocalizerRscFactory. Initalization
  will fetch all messages from disk and populate the bundles.
* Reorganize shared/l10n library to match Node style guide
* Removes demo l10n code
* Update purchase-details, terms-and-service components, and success and
  error pages to use new LocalizerRSC class for localization.
* Adds temporary l10n-convert script to provide translation for existing
  ftl strings.

Closes #FXA-8822
2024-04-08 14:58:17 -04:00
Lisa Chan ad714efd00
feat(l10n): Add localization scripts/targets to payments-next 2024-03-21 20:42:55 -04:00
Reino Muhl f80ba7ff45
feat(l10n): update l10n ftl scripts for nx apps v2
Because:

* Fluent ftl files need to be added to apps in the nx apps/ directory.

This commit:

* Updates bundle and prime scripts to support the apps/ directory, without affecting existing packages apps.

Closes #FXA-8823
2024-03-14 10:41:02 -04:00
Reino Muhl a11256cb50
feat(next): add l10n grunt scripts
Because:

* Add grunt script used to manage and update l10n ftl files used by
  payments next

This commit:

* Adds grunt scripts copy:branding-ftl, concat:ftl and watch:ftl

Closes #FXA-8819
2024-03-08 10:53:25 -05:00
Reino Muhl 2df7ca494a
chore(nx): upgrade to nx 18
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
2024-02-12 09:01:00 -05:00
Reino Muhl 9a4a92aa9a
fix(payments): config file missing in build
Because:

* payments-next heartbeat api returns 500 due to missing config file.

This commit:

* Reorders nest-typed-config loaders so that fileLoader is first, which
  results in an empty .env.json file to be included in the
  payments-next build.
* Adds normalization step to config loader, for non-string values.

Closes #
2023-10-10 11:03:13 -04:00
Meghan Sardesai a999afd748
chore(next): add Storybook to NextJS setup
Because:

* We want to include Storybook in 3.0.

This commit:

* Ensures Storybook component loads as expected.
* Ensures shared Tailwind styles can be used in payments-next and works with hot-reloading.
* Ensures the build script executes without any errors.

Closes FXA-7503
2023-09-11 17:26:30 -04:00
dschom d96797ae6a
task(CI): Improve nx caching for CI pipelines
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
2023-08-29 11:19:54 -07:00
dschom 535498214a
task(many): Switch nx test target to be test-unit
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
2023-08-03 15:38:16 -07:00
Lisa Chan d4bf24117c
chore(next): Add Next.js to fxa and initial setup 2023-07-19 14:57:15 -04:00