Skip to content

Commit 0724246

Browse files
committed
fix: add tsx as root devDependency for CI script resolution
Root scripts (mapping:validate, api-report:fix) use pnpm tsx which resolves from the root node_modules, not from tool packages.
1 parent ca7d206 commit 0724246

3 files changed

Lines changed: 14 additions & 10 deletions

File tree

MIGRATION.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ This guide documents the conversion from `@forgerock/javascript-sdk` (legacy) to
44

55
## Package Dependencies
66

7-
| Legacy | New | Purpose |
8-
| --------------------------- | --------------------------- | ------------------------------------------------------------------ |
9-
| `@forgerock/javascript-sdk` | `@forgerock/journey-client` | Authentication tree/journey flows |
10-
| `@forgerock/javascript-sdk` | `@forgerock/oidc-client` | OAuth2/OIDC token management, user info, logout |
11-
| `@forgerock/javascript-sdk` | `@forgerock/device-client` | Device profile & management (OATH, Push, WebAuthn, Bound, Profile) |
12-
| `@forgerock/ping-protect` | `@forgerock/protect` | PingOne Protect/Signals integration |
7+
| Legacy | New | Purpose |
8+
| ------------------------------------------------------- | --------------------------- | ------------------------------------------------------------------ |
9+
| `@forgerock/javascript-sdk` `FRAuth` class | `@forgerock/journey-client` | Authentication tree/journey flows |
10+
| `@forgerock/javascript-sdk` `TokenManager` class | `@forgerock/oidc-client` | OAuth2/OIDC token management, user info, logout |
11+
| `@forgerock/javascript-sdk` `FRDevice*` classes | `@forgerock/device-client` | Device profile & management (OATH, Push, WebAuthn, Bound, Profile) |
12+
| `@forgerock/ping-protect` | `@forgerock/protect` | PingOne Protect/Signals integration |
1313

1414
---
1515

@@ -58,7 +58,7 @@ const oidcClient = await oidc({ config });
5858
| `FRAuth.next(step, { tree: 'Login' })` | `journeyClient.next(step)` | Tree is set at `start()`, not repeated on `next()` |
5959
| `FRAuth.redirect(step)` | `await journeyClient.redirect(step)` | Now async. Step stored in `sessionStorage` (was `localStorage`) |
6060
| `FRAuth.resume(resumeUrl)` | `await journeyClient.resume(resumeUrl)` | Previous step retrieved from `sessionStorage` (was `localStorage`) |
61-
| No equivalent | `await journeyClient.terminate()` | **New.** Ends the AM session via `/sessions` endpoint |
61+
| `SessionManager.logout()` | `await journeyClient.terminate()` | Ends the AM session via `/sessions` endpoint |
6262

6363
### Before/After: Login Flow
6464

@@ -123,8 +123,8 @@ if ('error' in result) {
123123

124124
| Legacy | New | Notes |
125125
| ------------------------------------------------- | --------------------------------------------------------------------------------------------- | ------------------------------------------------------ |
126-
| `TokenManager.getTokens({ forceRenew: true })` | `await oidcClient.token.get({ forceRenew: true, backgroundRenew: true })` | Single call with auto-renewal. Returns tokens or error |
127-
| `TokenManager.getTokens()` then manual code+state | `await oidcClient.authorize.background()` then `await oidcClient.token.exchange(code, state)` | Two-step when you need explicit control |
126+
| `TokenManager.getTokens({ forceRenew: true })` | `await oidcClient.token.get({ forceRenew: true, backgroundRenew: true })` | Single call with auto-renewal. Returns tokens or error |
127+
| `OAuth2Client.getAuthCodeByIframe()` then `TokenManager.getTokens({ authorizationCode, ...params })` | `await oidcClient.authorize.background()` then `await oidcClient.token.exchange(code, state)` | Two-step when you need explicit control over authorize + exchange |
128128
| `TokenManager.deleteTokens()` | `await oidcClient.token.revoke()` | Revokes remotely AND deletes locally |
129129
| `TokenStorage.get()` | `await oidcClient.token.get()` | Auto-retrieves from storage; check `'error' in tokens` |
130130
| `TokenStorage.set(tokens)` | Handled automatically by `oidcClient.token.exchange()` | Tokens stored after exchange |
@@ -182,7 +182,7 @@ const response = await fetch('https://api.example.com/resource', {
182182

183183
## Error Handling Pattern
184184

185-
The new SDK primarily returns error objects instead of throwing exceptions. However, some `journey-client` methods may still throw in certain edge cases (known tech debt). Defensive code should handle both patterns:
185+
Client **initialization** (factory functions like `journey()` and `oidc()`) will **throw** when misconfigured. However, once initialized, client **methods** return error objects instead of throwing exceptions. Some `journey-client` methods may still throw in certain edge cases (known tech debt). Defensive code should handle both patterns:
186186

187187
| Legacy | New |
188188
| ------------------------------------------------ | ------------------------------------------------------------------------ |

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@
104104
"shx": "^0.4.0",
105105
"swc-loader": "0.2.6",
106106
"ts-node": "10.9.2",
107+
"tsx": "^4.20.0",
107108
"ts-patch": "3.3.0",
108109
"tslib": "^2.5.0",
109110
"typedoc": "^0.27.4",

pnpm-lock.yaml

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)