Because:
* Versions of protobufjs <6.11.4 and <7.2.4 are causing security alerts
This commit:
* Resolve protobufjs version 6 to use v6.11.4 or newer
* Resolve protobufjs version 7 to use v7.2.4 or newer
* Ran yarn set resolution manually to force yarn.lock update
Co-authored-by: Ben Bangert <ben@groovie.org>
Because:
* We want to use the newer Next.js.
* We want to use proper Next.js JSON return handling.
This commit:
* Updates to Next.js 13.5.1.
* Updates the heartbeat routes to use the new JSON return handling.
Because:
* We want to be able to call server-side logic with our business classes
directly from the nextJS app before rendering on the server.
This pull request:
* Adds a NestJS application context to the NextJS app that can be used
to load services and call methods on them.
Because:
* Create the initial work for the Checkout page as a starting point and
example for the rest of the SP3 components and pages.
This commit:
* Adds the payments/next/ui Next.js library.
* Move Header JSX into layout.tsx and remove ExampleHeader component.
* Add RSC PurchaseDetails, using JSX from SP2.5 PlanDetails component.
* Add RSC TermsAndPrivacy component
* Add various stubs functions for illustration purposes. These will be
replaced with actual implementations in future tickets.
* Cart fetch
* Contentful fetch
* Translation using @fluent/bundle
Closes FXA-8133
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
Because:
* We want to keep with the latest versions of our dependencies.
This commit:
* Bumps mapped-type to the latest version, and consolidates several
dependencies in the root package.json.
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:
* The paypal client config is a basic interface, and we'd like to be
able to use Nest-Typed-Config with a structured config file.
This commit:
* Adds a typed config class for the paypal client.
Because:
* We want to use the latest typescript features.
This commit:
* Updates to TypeScript 5.2.2.
* Updates to Node 18.17.1 as OOM would occur frequently with 18.14.
* Updates CI to use a large instance with increased memory for Node.
Because:
* We want to easily be able to consume library classes within NestJS.
Adding the injectable decorator to all library classes means we can do
so with ease, but also doesn't prevent us from using the class outside
of the NestJS DI system.
* We want all dependencies (such as nest) centralized to the main
package.json
This commit:
* Adds the injectable decorator to every library class.
* Centralizes the NestJS dependency to the root package.json.
Closes: no relevant issue - polish PR.
Because:
* We want to have a single place to manage account related operations in
the database layer.
This commit:
* Adds a new AccountManager class and account package.
Closes #FXA-6623
Because
- We need a reusable client for accessing contentful
This Commit
- Adds a contentful client with automated codegen
- Creates a reusable query system
Closes FXA-7501
Because:
- Refactor the Cart Manager to serve as higher level logic for the
cart db model.
This commit:
- Removes service level logic.
- Adds common methods to be used by Cart Manager consumers.
- Adds checks for valid state by action and valid state transitions.
- Reverts playwright tests back to xlarge instance size
Closes FXA-8128
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:
* Fluent warning messages are slowing down tests.
This commit:
* Updates to the latest @fluent/react version
* Adds a non-console.warn reportError to testing ReactLocalization
instantiations.
Closes #FXA-7958
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
Because:
* We need to upgrade to react 18
This commit:
* Upgrades all frontend packages to react 18
Closes: FXA-7932
Closes: FXA-3587
Closes: FXA-4353
Closes: FXA-5081
Closes: FXA-5136
Closes: FXA-5140
Closes: FXA-5142
Closes: FXA-5143
Because:
- We want to lock down our gql queries as part of good security practices.
This Commit:
- Creates task that extracts existing gql queries from our code
- Applies middleware that checks a allowlist of extracted queries.
- Creates a 403 if the query is not in the allowlist
- Makes all gql parsable by extraction utility. The extraction utility doesn't support string placeholders. e.g. gql` Account { ${ACCOUNT_FIELDS} }`
- Moves all the gql in the admin server into .ts files. Again for consistency and extraction utility support.
- Cleans up some config references at startup
- Adds nx config for extraction & copy tasks
Because:
- we want to upgrade our React/CRA packages to react-scripts and
webpack v5
This commit:
- upgrades react-scripts and webpack to v5 for Settings, Payments, and
Admin Panel
- upgrades other dependencies in order to make the react-scripts and
webpack upgrades work
- hybridizes fxa-auth-client and fxa-shared into dual module format
packages
Because:
* Objection was outdated.
This commit:
* Updates the objection/knex dependencies and the root package.json in
order to use the latest versions of objection and knex across the
integrated configuration.
Because:
* Need to add Google Analytics to payments server.
This commit:
* Performs the necessary setup to run GA events on payments for specific
products.
Closes #FXA-7670
Because:
* Nx gives us the ability to break things up into smaller libraries with
individual responsibilities.
* Paypal logic can exist in a standalone library for reusability in SP3
This commit:
* Moves PayPalClient and associated utils/typings to a library named
`subs/paypal`. It can be imported via `@fxa/payments/paypal` in any
TypeScript code.
Closes FXA-7610
Because:
* We want to introduce nx to the repository
This commit:
* Adds nx with working builds
Closes: FXA-7341
Co-authored-by: dschom <dschomburg@mozilla.com>