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:
* We want to be able to interact with the paypalCustomer table from the
new libs structure
This commit:
* Adds a paypalCustomer repository
Closes FXA-8888
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 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:
- 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:
* We had some last minute tweaks to the error arrangement.
This commit:
* Moves the error class to the library using it and inherits from a
shared base error.
Because:
* We want an error library to generalize error handling across all new integrated libraries.
This commit:
* Generates a new JS library with nx called shared-error that exports a few error classes.
* Ports the PayPalClientError to the new library as an example error (renamed to PayPalNVPError with PayPalClientError becoming a MultiError composed of one or more PayPalNVPErrors), refactoring the multiple error handling logic to a new helper.
Closes #FXA-7656