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:
* 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 have little in the way of metrics tests in our functional tests currently.
This commit:
* Adds test helpers to assert our events are being recorded as expected.
Closes FXA-7363
Because:
* The prod package build works different from stage in terms of yarn workspaces and namespaces.
This commit:
* Prevents VSCode from automatically using absolute imports in this situation.
Because:
* Development mode is used on a deployed stack that doesn't use a
local SQS testing instance.
* lbheartbeat was missing from the health routes.
This commit:
* Checks that the SQS URL includes localhost before turning on the
local SQS dev mode flags.
* Includes a lbheartbeat route.
Because:
* New graphql-api server doesn't exist yet.
This commit:
* Duplicates the admin-server project, with admin-server specific bits
removed.
* Links in necessary build portions to circleci.
Closes#4812
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
1. renamed _scripts/*.sh to use kebab-case
2. linted _scripts with shellcheck
3. added _dev directory and moved pm2 json files there
4. added nps and package-scripts.js
- this allows us to do nice things like: `npm start debug firefox`
- I'd like to expand this further but it's a start
5. refactored the install scripts to make `npm install` nicer
6. renamed pm2 process names for easier control
- can use `pm2 logs auth` instead of the id
Because:
* It can be useful to debug multiple services at once.
This commit:
* Adds a pm2 config that starts 4 of the servers using start-dev-debug
with unique inspect ports so that they can be debugged all at the
same time.
* Updates the package.json files for these services so they don't choose
the same port.
* Documents the ports used for debugging.
* Add's an attach debug for VS Code that lets one choose which process
to debug.
Because:
* Sub Plat Architecture 2.0 has FxA using Stripe direcly.
* Remaining Arch 2.0 issues all require the same base API functionality
created here.
This commit:
* Implements direct Stripe API calls for the subscription routes.
* Skips the unfinished tests for the direct integration as the other
issues are blocked and unblocking them is a priority.
Issue #3809
Co-authored-by: Jackie Munroe <jackiemunroe@users.noreply.github.com>
Co-authored-by: Les Orchard <lorchard@mozilla.com>