Build toolBuild tooltypeRuns at build time. Nothing of it ships in the deployed application.See every one →What this type is →by a community orgby a community orgoriginPublished by a community organisation, so it outlives any one maintainer.See every one →

ui5-task-transpile

A UI5 Tooling task that transpiles TypeScript, ES modules and other ES6+ sources during the build so the UI5 runtime can load them.

UI5 task for transpiling ES6+ sources

Facts

Latestv0.5.1ReleasedLast pushLicenceApache-2.0

Where it sits

Lives in
Provides
TypeScript supportUI5TypeScript supportcapabilityWriting apps and libraries in TypeScript — the type definitions, the module syntax the loader expects, and the build step that gets from one to the other.

Who is behind it

UI5 CommunityUI5 CommunityOrganisationMaintains this
In the atlas: maintains 69
@ui5-community
maintainerAdrian BobevPersonContributes to this
In the atlas: contributes to 10
@adrian-bobev
Attila BorosPersonContributes to this
In the atlas: contributes to 6
@attila-boros
Benjamin ReimPersonContributes to this
In the atlas: contributes to 9
@BenReim
Christian GeorgiPersonContributes to this
In the atlas: maintains 1, contributes to 53
@chgeo
Frank WeigelPersonContributes to this
In the atlas: contributes to 10
@codeworrior
David SooterPersonContributes to this
In the atlas: contributes to 9
@d-sooter
Yavor IvanovPersonContributes to this
In the atlas: contributes to 17
@d3xter666
Austin DevinePersonContributes to this
In the atlas: maintains 7, contributes to 25
@devinea
Dimitar FenerskiPersonContributes to this
In the atlas: contributes to 23
@dfenerski
Dominik FeiningerPersonContributes to this
In the atlas: contributes to 11
@dominikfeininger
58 contributors

What it declares

Every artifact

Type
Build tool
Origin
By a community org
Runtime
Node.js

As a build tool

Distributed through
npm

Connections1

Install

npm add ui5-task-transpile

Derived from the package name. No recipe recorded; the README has the configuration.

README

quoted from ui5-community/ui5-ecosystem-showcase under Apache-2.0, read
ui5-community/ui5-ecosystem-showcase/packages/ui5-task-transpile/README.mdOn GitHub

UI5 task for transpiling ES6+ sources

Task for ui5-builder, enabling transpiling.

⚠️ The ui5-task-transpile has been deprecated and replaced with the ui5-tooling-transpile-task. Please check out the tooling extensions from ui5-tooling-transpile.

Install

npm install ui5-task-transpile --save-dev

Configuration options (in $yourapp/ui5.yaml)

  • debug: true|false
    verbose logging

  • removeConsoleStatements: true|false
    remove console statements while transpiling using Babel plugin

  • excludePatterns: String<Array>
    array of paths inside $yourapp/webapp/ to exclude from live transpilation,
    e.g. 3-rd party libs in lib/*

  • transpileAsync: true|false
    transpiling async/await using this Babel plugin, which doesn't require
    the regenerator runtime (Issue #242)

  • babelConfig: Object object to use as configuration for babel instead of the
    default configuration defined in this middleware

Usage

  1. Define the dependency in $yourapp/package.json:
"devDependencies": {
    // ...
    "ui5-task-transpile": "*"
    // ...
},
"ui5": {
  "dependencies": [
    // ...
    "ui5-task-transpile",
    // ...
  ]
}

As the devDependencies are not recognized by the UI5 tooling, they need to be listed in the ui5 > dependencies array. In addition, once using the ui5 > dependencies array you need to list all UI5 tooling relevant dependencies.

  1. configure it in $yourapp/ui5.yaml:
builder:
  customTasks:
  - name: ui5-task-transpile
    afterTask: replaceVersion
    configuration:
      debug: true
      removeConsoleStatements: true
      transpileAsync: true
      excludePatterns:
      - "lib/"
      - "another/dir/in/webapp"
      - "yet/another/dir"

How it works

The task can be used to transpile ES6+ JavaScript code to ES5 by using babel.

Extending the default configuration (in $yourapp/babel.config.json)

If you want to further customize the transpiling options you can do so by creating a babel config file babel.config.json in your project directory. Babel will automatically pick up the configuration and apply it. The default configuration from this task will still be applied.

Example

An example configuration is as follows:

{
  "plugins": [
    ["@babel/plugin-transform-for-of", { "assumeArray": true }],
    ["@babel/plugin-transform-computed-properties", { "loose": true }],
    ["@babel/plugin-transform-destructuring", { "loose": true }]
  ]
}
Additional dependencies

If you need dependencies not included in this task you have to install them in your project in order to be able to use them.

Override babel configuration (in $yourapp/ui5.yaml)

You can override the default babel configuration from this package by including an object babelConfig in this task's configuration. If such an object is given the default configuration from this task will not be considered, but only the configuration given in ui5.yaml will be used.

Example
builder:
  customTasks:
    - name: ui5-task-transpile
      afterTask: replaceVersion
      configuration:
        excludePatterns:
          - "lib/"
        babelConfig: &babelConfig
          plugins:
            - - "@babel/plugin-transform-computed-properties"
              - loose: true
            - - "@babel/plugin-transform-for-of"
              - assumeArray: true
          presets:
            - - "@babel/preset-env"
              - targets:
                  browsers: "last 2 versions, ie 10-11"

Hint: if you also use use ui5-middleware-livetranspile you probably do not want to duplicate the babel configuration in your ui5.yaml. Use YAML anchors in order to reference the babel configuration across the ui5.yaml file. In the example above the anchor &babelConfig defines the babel configuration of ui5-task-transpile and may be re-used in other parts of ui5.yaml by using the alias *babelConfig:

server:
  customMiddleware:
  - name: ui5-middleware-livetranspile
    afterMiddleware: compression
    configuration:
      babelConfig:
        <<: *babelConfig
        sourceMaps: "inline"
Additional dependencies

If you need dependencies not included in this task you have to install them in your project in order to be able to use them.

License

This work is dual-licensed under Apache 2.0 and the Derived Beer-ware License. The official license will be Apache 2.0 but finally you can choose between one of them if you use this work.

When you like this stuff, buy @vobu a beer or buy @pmuessig a coke when you see them.

Apache-2.0, read

History

Latest

v0.5.1

Notes

Note: Version bump only for package ui5-task-transpile

  1. v0.5.0

    Features 1

    Notes
    Features
    • ui5-tooling-transpile: new transpile extensions supporting TS (#568) (8bed8ea)
  2. v0.4.1

    Notes

    Note: Version bump only for package ui5-task-transpile

  3. v0.4.0

    Breaking 26, Features 1

    Notes
    Features
    BREAKING CHANGES
    • new package manager

    • refactor: updated tests to pass with pnpm

    • refactor: iasync still failing

    • feat(ui5-tooling-modules): support pnpm / node_modules symlinks

    • fix(ui5-app): make Karma work with pnpm

    • chore(ui5-app): remove uiveri5 from sample

    • chore(ui5-app): add updated wdio.conf

    • fix: make prettier and eslint work with pnpm

    • fix: fix cf_dest tests

    restructured tests and added node_modules as symlink

    • fix(ui5-app): adding eslint for wdio and mocha

    • chore(ui5-middleware-cfdestination): cleanup

    • feat(ui5-tooling-modules): add bundling support for AMD

    • chore(ui5-tooling-modules): cleanup

    • chore: fix code style

    • fix(ui5-task-flatten-library): support files without extensions

    • refactor: updated tests to pass with pnpm

    • feat(ui5-tooling-modules): support pnpm / node_modules symlinks

    • fix: make prettier and eslint work with pnpm

    • fix: update actions, lerna, vscode for pnpm

    • chore: only run test on tooling extensions

    • chore: use sequential tests for ava

    • chore: add @ui5/cli dev dependency for ava tests

    • chore: enable support for local act GH action tests

    • chore: add docu for local GitHub action execution

    • chore: docu cleanup

    • chore: re-add ncu scripts

    Co-authored-by: Peter Muessig peter.muessig@sap.com

  4. v0.3.10

    Notes

    Note: Version bump only for package ui5-task-transpile

  5. v0.3.9

    Notes

    Note: Version bump only for package ui5-task-transpile

  6. v0.3.8

    Other 1

    Notes
    Reverts
    • Revert "chore: add metadata to package.json for all packages for ui5-community website (#600)" (#601) (b6037d4), closes #600 #601
  7. v0.3.7

    Notes

    Note: Version bump only for package ui5-task-transpile

  8. v0.3.6

    Notes

    Note: Version bump only for package ui5-task-transpile

  9. v0.3.5

    Notes

    Note: Version bump only for package ui5-task-transpile

  10. v0.3.4

    Notes

    Note: Version bump only for package ui5-task-transpile

  11. v0.3.3

    Fixes 1

    Notes
    Bug Fixes
    • deps: update dependencies version (2444781)
  12. v0.3.2

    Notes

    Note: Version bump only for package ui5-task-transpile

  13. v0.3.1

    Notes

    Note: Version bump only for package ui5-task-transpile

  14. v0.3.0

    Features 1

    Notes
    Features
    • allow for file patterns as JS input source (#364) (fe41414)
  15. v0.2.3

    Notes

    Note: Version bump only for package ui5-task-transpile

  16. v0.2.2

    Notes

    Note: Version bump only for package ui5-task-transpile

  17. v0.2.1

    Notes

    Note: Version bump only for package ui5-task-transpile

  18. v0.2.0

    Features 1

    Notes
    Features
    • pwa: added pwa build for sample application (c36baf2)
  19. v0.1.7

    Notes

    Note: Version bump only for package ui5-task-transpile

  20. v0.1.6

    Notes

    Note: Version bump only for package ui5-task-transpile

  21. v0.1.5

    Notes

    Note: Version bump only for package ui5-task-transpile

1,006downloads per week, npm
Weekly downloads for ui5-task-transpile26 complete calendar weeks from 2026-04-20 to 2026-10-18; the latest total is 1006.20 Apr – 26 Apr: 2,69427 Apr – 3 May: 2,4674 May – 10 May: 2,29011 May – 17 May: 1,71318 May – 24 May: 1,97225 May – 31 May: 1,8651 Jun – 7 Jun: 1,9388 Jun – 14 Jun: 1,85515 Jun – 21 Jun: 1,87622 Jun – 28 Jun: 1,75729 Jun – 5 Jul: 1,9006 Jul – 12 Jul: 2,43313 Jul – 19 Jul: 2,40920 Jul – 26 Jul: 2,09427 Jul – 2 Aug: 2,3733 Aug – 9 Aug: 2,38710 Aug – 16 Aug: 1,77217 Aug – 23 Aug: 1,96624 Aug – 30 Aug: 1,86431 Aug – 6 Sept: 1,7607 Sept – 13 Sept: 1,77514 Sept – 20 Sept: 1,98021 Sept – 27 Sept: 2,44928 Sept – 4 Oct: 2,8535 Oct – 11 Oct: 2,19012 Oct – 18 Oct: 1,006
TypeScript support
  1. ui5-task-dts-generatorUI5 builder task generating d.ts type declarationsfrom UI5
  2. @openui5/sap.ui.coreFramework core: module loader, MVC runtime, binding, routing, themingfrom UI5
  3. babel-preset-transform-ui5Babel transformer from modern ES or TypeScript to UI5 module syntaxfrom UI5
  4. @ui5-community/jsx-runtimePlugin-based JSX runtime for UI5 views written as .tsxfrom UI5
  5. @ui5/mcp-serverMCP server for UI5 development with ten toolsfrom UI5
  6. @ui5/webcomponentsSAP's UI elements as standard custom elementsfrom UI5

Details

Sources4
bestofui5discovered herechecked
npm registry, ui5-task-transpileversion, releases, installschecked
packages/ui5-task-transpile/README.mdquoted, and what the entry declareschecked

Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.

Compatibility and provenance
runtimesnode
latestv0.5.1
first release
releases and cadence27, ~30d median
discovered viabestofui5
first seen in the atlas
ecosystem and domainui5, developer-experience
Contributors58
History in the atlas1
  1. First seen.
For your agent
Ref
artifact:ui5-community-ui5-task-transpile
JSON
/artifacts/ui5-community-ui5-task-transpile.json
MCP
Connecting an agent