|
1 | 1 | # Use Current Forge Runtime |
2 | 2 |
|
3 | | -* Status: Accepted |
| 3 | +- Status: Accepted |
4 | 4 |
|
5 | 5 | ## Context and Problem Statement |
6 | 6 |
|
7 | | -Need to choose a JavaScript runtime that executes the app code and provides libraries for Jira and Flagsmith REST API calls, storage, authorisation, etc. |
| 7 | +Need to choose a JavaScript runtime that executes the app code and provides libraries for Jira and Flagsmith REST API |
| 8 | +calls, storage, authorisation, etc. |
8 | 9 |
|
9 | 10 | ## Decision Drivers |
10 | 11 |
|
11 | | -* Overall requirement to quickly tick the box that Flagsmith has a Jira integration and offer MVP functionality which can be iterated on later. |
| 12 | +- Overall requirement to quickly tick the box that Flagsmith has a Jira integration and offer MVP functionality which |
| 13 | + can be iterated on later. |
12 | 14 |
|
13 | 15 | ## Considered Options |
14 | 16 |
|
15 | | -* Current runtime (limited Node.js 14, generally available) |
16 | | -* Native runtime (full Node.js 18, in preview) |
| 17 | +- Current runtime (limited Node.js 14, generally available) |
| 18 | +- Native runtime (full Node.js 18, in preview) |
17 | 19 |
|
18 | 20 | ## Decision Outcome |
19 | 21 |
|
20 | | -Chosen option: "Current runtime", while avoiding falling into any of the breaking changes between the runtimes, i.e. use latest Forge libraries, set Content-Type on API calls, don't rely on snapshotting. This allows for faster, more reliable, development without ruling out a future change of runtime. |
| 22 | +Chosen option: "Current runtime", while avoiding falling into any of the breaking changes between the runtimes, i.e. use |
| 23 | +latest Forge libraries, set Content-Type on API calls, don't rely on snapshotting. This allows for faster, more |
| 24 | +reliable, development without ruling out a future change of runtime. |
21 | 25 |
|
22 | 26 | ### Positive Consequences |
23 | 27 |
|
24 | | -* Stability as preview releases are subject to change |
25 | | -* Reliable tunnelling as local environment is same as deployment environment |
26 | | -* Ability to use runtime features (e.g. debugging) not yet available in new runtime |
27 | | -* Avoids confusion between Forge CLI Node.js (20) and Runtime Node.js (18) |
28 | | -* Minimal obstacles to migrate to the new runtime later |
| 28 | +- Stability as preview releases are subject to change |
| 29 | +- Reliable tunnelling as local environment is same as deployment environment |
| 30 | +- Ability to use runtime features (e.g. debugging) not yet available in new runtime |
| 31 | +- Avoids confusion between Forge CLI Node.js (20) and Runtime Node.js (18) |
| 32 | +- Minimal obstacles to migrate to the new runtime later |
29 | 33 |
|
30 | 34 | ### Negative Consequences |
31 | 35 |
|
32 | | -* Potentially slower but should be fast enough, if not we can re-evaluate this decision |
33 | | -* Less Node features in the older runtime but we don't need them now |
| 36 | +- Potentially slower but should be fast enough, if not we can re-evaluate this decision |
| 37 | +- Less Node features in the older runtime but we don't need them now |
34 | 38 |
|
35 | 39 | ## Links |
36 | 40 |
|
37 | | -* https://developer.atlassian.com/platform/forge/runtime-reference/native-nodejs-runtime/ |
| 41 | +- https://developer.atlassian.com/platform/forge/runtime-reference/native-nodejs-runtime/ |
0 commit comments