We’ve released version 6.0.0 of the Forge CLI. This update includes:
Forge CLI now uses TypeScript 4.8.4
Forge now uses TypeScript 4.8.4 to bundle apps written in TypeScript. This will allow Forge developers to benefit from later TypeScript updates and fixes.
If you encounter compilation errors during app deployment, this may be due to breaking changes since TypeScript version 3.9.7. For more information, see TypeScript’s official list of all breaking changes.
Should you need more time refactoring your TypeScript code, you can defer updating to the latest Forge CLI version. You can also revert back to a previous version by running npm install -g @forge/cli@5.2.1.
Added a custom UI condition application template for Forge CLI
A new jira-workflow-condition-custom-ui Forge CLI application template is available.
The template demonstrates how to use the Jira expression condition from the jira:workflowCondition module, which uses custom UI.
New Jira Forge extension - jira:issueViewBackgroundScript
We’ve introduced the jira:issueViewBackgroundScript Forge module. With this module, you can run code without having to add any UI elements to the issue view page.
Is there any progress on decoupling the Forge builder from the TypeScript version, so that vendors aren’t locked into whatever specific version of TypeScript is chosen by Atlassian for a particular release? For example, what if a vendor is forced to use a newer version of the Forge bundles for a mandatory security bugfix or to (say) use new modules or properties that are not supported in prior versions, but they have a large amount of application code to migrate for a TypeScript change?
Hi @scott.dudley, thank you for your feedback. We’re currently working on the new runtime project and there’s some work that may be beneficial for the bundler decoupling. Let me gather more details and get back to you later.
Hi @scott.dudley, just checked with the team, and I have to say the walk-around(transpile TS to JS) is still the most practical solution at this stage.
Currently, our top priority is to ship some big changes to the Forge runtime that will improve performance and open up more support for built-in Node libraries to work properly on Forge. And there will be some Forge bundler changes accordingly as well. But the complete decoupling solution is still too far away to promise.
I’ve created this issue on the Forge Kanban board so you can have better visibility of its progress.
Please feel free to comment/suggest via this link: https://ecosystem.atlassian.net/browse/FRGE-887
Do you have any suggestions for how to transpile to get a working product, given that the current Forge bundler overrides a significant number of commonly-used NPM packages with Forge-compatible versions (and none of these would be pulled in when using transpilation)?
What I meant is to transpile your app source code from TS to JS first, and then use Forge CLI to bundle/deploy JS instead of TS. It should be equivalent to writing the app in JS.