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-tooling-transpile

A UI5 CLI extension that transpiles modern JavaScript or TypeScript during the UI5 build, with a transformJSX option that handles JSX and TSX in the same step.

A UI5 project written in modern syntax or TypeScript needs that code transpiled before the UI5 loader can run it. This CLI extension supplies that step, described as UI5 CLI extensions to transpile code. Its transformJSX option puts @babel/plugin-transform-react-jsx into the Babel plugin configuration, so JSX and TSX syntax is transformed in the same step rather than in a hand-written Babel configuration beside it.

Facts

Latestv3.13.1ReleasedLast pushLicenceApache-2.0

Where it sits

Lives in
Provides
Build and dev-server toolingUI5Build and dev-server toolingcapabilityServing an app locally and building it for deployment — proxying a backend, transpiling, bundling, and shaping the result for whatever will host it.

Who is behind it

UI5 CommunityUI5 CommunityOrganisationMaintains this
In the atlas: maintains 69
@ui5-community
maintainerAustin 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
Dirk TeufelPersonContributes to this
In the atlas: contributes to 19
@drktfl
Florian VogtPersonContributes to this
In the atlas: contributes to 50, wrote 2
@flovogt
Peter MuessigPersonContributes to this
In the atlas: maintains 14, contributes to 80, wrote 1
@petermuessig
6 contributors

What it declares

Every artifact

Type
Build tool
Origin
By a community org

As a build tool

Distributed through
npm

Connections3

Install

npm add ui5-tooling-transpile

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

Learn more1

Readings
  1. UI5 Views, Reimagined: Type-Safe TSX for a Modern Dev ExperiencePeter Muessig, YouTube — SAP Developers playlists

README

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

UI5 CLI Extension for Transpiling JS/TS

👋 This is an open‑source, community‑driven project, developed and actively monitored by members of the UI5 community. You are welcome to use it, report issues, contribute enhancements, and support others in the community.

The UI5 CLI extension provides a middleware and a task which transpiles JavaScript or TypeScript code to ES5 by using Babel. A default Babel configuration will be provided by the UI5 CLI extension unless a inline Babel configuration in the ui5.yaml or any Babel configuration as described at Babel config files will be provided.

The middleware handles by default all requests to .js-files. For JavaScript transpilation the matching .js-file or for TypeScript the matching .ts-file will be transpiled on-the-fly via Babel. The transpiled JavaScript file will inline the sourcemap. Because of the sourcemap, setting breakpoints in the original (ES6+ or TS) source will cause the debugger to stop when the corresponding transpiled source code is reached.

The task finally transpiles the relevant source files during the UI5 CLI build process. In case of TypeScript is enabled, for libraries, the task also generates the d.ts-files. For applications, this option can be enabled on demand.

Prerequisites

⚠️ UI5 CLI Compatibility All releases of this UI5 CLI extension using the major version 3 require UI5 CLI V3. Any previous releases below major version 3 (if available) also support older versions of the UI5 CLI. But the usage of the latest UI5 CLI is strongly recommended!

Install

npm install ui5-tooling-transpile --save-dev

If you want the ui5-tooling-transpile to add it's configuration to the ui5.yaml, just add the command line argument -rte or --register-tooling-extension:

npm install ui5-tooling-transpile --save-dev -rte

Configuration options (in $yourapp/ui5.yaml)

  • debug: boolean
    enable detailed logging (can be even more verbose by using the --verbose argument)

  • babelConfig: String|Object path to the babel config file or object to use as configuration for babel instead of the babel configuration from the file system (as described at Babel config files), or the default configuration defined in this middleware (just using the @babel/preset-env)

  • includes: String<Array> (old alias: includePatterns) array of paths your application to include in transpilation, e.g. /modern-stuff/. By default matched as substrings; set useGlobPatterns: true to match them as glob patterns.

  • excludes: String<Array> (old alias: excludePatterns) array of paths your application to exclude from transpilation, e.g. 3-rd party libs in /lib/. By default matched as substrings; set useGlobPatterns: true to match them as glob patterns.

  • useGlobPatterns: boolean (defaults to false) when enabled, includes/excludes (and their includePatterns/excludePatterns aliases) are matched as glob patterns via minimatch instead of the classic substring matching — aligning the syntax with other UI5 tooling extensions (e.g. ui5-task-zipper). With this enabled, patterns must be written as globs, e.g. **/thirdparty/** or **/*.png (the built-in default excludes for images are globbed automatically). Kept false by default to preserve backward compatibility with existing substring configurations.

  • filePattern: String source file pattern for the resources to transpile, defaults to .js and will be changed to .ts if a tsconfig.json file is located in the project or by explicitly setting the configuration option transformTypeScript to true (multiple file extensions can be handled by specifying mutliple extensions using the glob syntax, e.g.: .+(js|jsx) or .+(ts|tsx))

  • transformTypeScript: boolean (old alias: transpileTypeScript) if enabled, the UI5 CLI extension transforms TypeScript sources; the default value is derived from the existence of a tsconfig.json in the root folder of the project - if the file exists the configuration option is true otherwise false; setting this configuration option overrules the automatic determination

  • altTsConfig: String specify the location of an alternate tsconfig.json to use for the TypeScript transpilation step. Also the detection whether the project uses TypeScript is then using the alternate tsconfig.json file

  • generateTsInterfaces: boolean|undefined (experimental feature) option requires a dependency to the @ui5/ts-interface-generator when either the value of the option is true or undefined and the project is a TypeScript-based project or the transformTypeScript option is set to true - can be forced to be inactive by setting the option to false (only relevant for the middleware)

  • generateTsInterfacesJsDoc: String(none|minimal|verbose) (experimental feature) configures the amount of JSDoc which should be generated by the @ui5/ts-interface-generator. For details please check: https://github.com/SAP/ui5-typescript/tree/main/packages/ts-interface-generator#commandline-options

  • generateDts: boolean if enabled, the UI5 CLI extension will generate type definitions (.d.ts) files; by default for projects of type library this option is considered as true and for other projects such as application this option is considered as false by default (is only relevant in case of transformTypeScript is true)

  • failOnDtsErrors: boolean if enabled, the UI5 CLI extension will fail during the generation of type definitions (.d.ts) files; this option is considered as false by default (is only relevant in case of generateDts is true)

  • omitTSFromBuildResult: boolean if enabled, the TypeScript sources will be omitted from the build result. This will disable the debugging support in the TypeScript sources (since the related source files aren't included anymore)

  • omitSourceMaps: boolean if enabled, the SourceMaps will not be generated for the JavaScript sources created from the TypeScript sources

  • transpileDependencies: boolean (experimental feature) if enabled, the middleware also transpile the sources from the dependencies which is needed for development scenarios when referring to other projects (this configuration option is ignored by the task)

  • transformAtStartup: boolean (experimental feature) if enabled, the resources will be transpiled at startup to avoid additional overhead for the first requests to the transpiled resources.

  • skipBabelPresetPluginResolve: boolean (experimental feature) if enabled, the babel presets and plugins will not be resolved by the UI5 CLI extension and babel itself will do it. This can cause babel presets or plugins not to be found in case of working in monorepos

  • generateBabelConfig: boolean|string (experimental feature) this option allows to generate the babel config file for the current project when the babel config file doesn't exist - this option is useful when you are using babel generation within a different tooling (like a native babel execution inside e.g. jest) to use the same configuration like when running the task or middleware; if the value is a string the UI5 CLI extension will assume to generate a file with the provided name

The following configuration options will only be taken into account if no inline babel configuration is maintained in the ui5.yaml as babelConfig or no external babel configuration exists in any configuration file as described in Babels configuration section:

  • targetBrowsers: String (default: "defaults") first, the config will be looked up in the package.json browserslist property, second the config is searched in an external .browserlistrc file and if nothing has been found, the targeted browsers can be defined with the shared browser compatibility config from browserslist within this configuration option; to transpile back to ES5 you can i.e. use the browserslist configuration: ">0.2% and not dead"

  • transformTypeScript: boolean|Object (old: transpileTypeScript) includes the Babel presets @babel/preset-typescript and babel-preset-transform-ui5 into Babels preset configuration (if transformModulesToUI5 is explicitely set to false the babel-preset-transform-ui5 will not be added to the presets); if the value is type of Object the configuration option is considered to be true and the configuration object will be used for the @babel/preset-typescript

  • transformModulesToUI5: boolean|Object includes the babel-preset-transform-ui5 into Babels preset configuration (included implicitly when transpileTypeScript is set to true and this configuration option is omitted); if the value is type of Object the configuration option is considered to be true and the configuration object will be used for the babel-preset-transform-ui5; this preset ensures that ES module imports will be transpiled to UI5 classic sap.ui.define or sap.ui.require calls and ES UI5 classes to classic UI5 classes using the extend API

  • transformAsyncToPromise: boolean (old: transpileAsync) includes the babel-plugin-transform-async-to-promises into Babels presert configuration which transpiles async/await statements into Promises; otherwise Babel uses @babel/plugin-transform-regenerator to transpile async/await with regenerator-runtime which isn't CSP compliant

  • removeConsoleStatements: boolean
    includes the babel-plugin-transform-remove-console which removes the console statement from the transpiled code

  • transformJSX: boolean|Object includes the @babel/plugin-transform-react-jsx into Babels plugin configuration to transform JSX/TSX syntax into JavaScript; this requires the optional peer dependency @babel/plugin-transform-react-jsx to be installed (if missing, a warning is logged and JSX/TSX will not be transformed); if the value is type of Object the configuration option is considered to be true and the configuration object will be used for the plugin (e.g. { "runtime": "automatic", "importSource": "..." }); when enabled and no explicit filePattern is configured, the default filePattern is extended to also handle jsx/tsx files (.+(js|jsx) or .+(ts|tsx))

  • coverage: boolean|Object includes the babel-plugin-istanbul into Babels plugin configuration to instrument the code for coverage collection; this requires the optional peer dependency babel-plugin-istanbul to be installed (if missing, a warning is logged and the code will not be instrumented); if the value is type of Object the configuration option is considered to be true and the configuration object will be used for the plugin; the plugin is added last so that it instruments the already transformed source

⚠️ When using builder > settings > includeDependency to add references to other projects (libraries, modules, ...) which also require a Babel transformation, the Babel configuration lookup or the tsconfig.json lookup will take place relative to the current working directory. If you want to ensure to use project local configurations in this case, inline the Babel configuration babelConfig and the transformTypeScript (with true=TS or false=JS) switch explicitly in the ui5.yaml.

Usage

By default, the UI5 CLI extension is configuration free and works out-of-the-box. The programming language is derived from the existence of the tsconfig.json in the project root.

Define the dependency in $yourapp/package.json:

"devDependencies": {
    // ...
    "ui5-tooling-transpile": "*"
    // ...
}

Register the task and middleware in your $yourapp/ui5.yaml:

builder:
  customTasks:
  - name: ui5-tooling-transpile-task
    afterTask: replaceVersion
[...]
server:
  customMiddleware:
  - name: ui5-tooling-transpile-middleware
    afterMiddleware: compression

That's it. Now you can transpile your sources with the help of Babel.

Advanced Options

Configuration options are added in the configuration section. For JavaScript projects, ensure that no tsconfig.json is present in the project root. This would turn the UI5 CLI extension into the TypeScript mode.

Example configuration for a JavaScript project without external Babel configuration which removes console statements and exclude specific paths:

builder:
  customTasks:
  - name: ui5-tooling-transpile-task
    afterTask: replaceVersion
    configuration:
      debug: true
      removeConsoleStatements: true
      excludePatterns:
      - "lib/"
      - "another/dir/in/webapp"
      - "yet/another/dir"
[...]
server:
  customMiddleware:
  - name: ui5-tooling-transpile-middleware
    afterMiddleware: compression
    configuration:
      debug: true
      removeConsoleStatements: true
      excludePatterns:
      - "lib/"
      - "another/dir/in/webapp"
      - "yet/another/dir"

Example configuration for a TypeScript project without external Babel configuration which transforms async/await to Promises and removes console statements:

builder:
  customTasks:
  - name: ui5-tooling-transpile-task
    afterTask: replaceVersion
    configuration:
      debug: true
      transformAsyncToPromise: true
      removeConsoleStatements: true
[...]
server:
  customMiddleware:
  - name: ui5-tooling-transpile-middleware
    afterMiddleware: compression
    configuration:
      debug: true
      transformAsyncToPromise: true
      removeConsoleStatements: true

Support

Please use the GitHub bug tracking system to post questions, bug reports or to create pull requests.

Contributing

Any type of contribution (code contributions, pull requests, issues) to this set of UI5 CLI extensions will be equally appreciated.

License

This work is licensed under Apache 2.0.

Built with care (and a lot of caffeine). If this helped you build, test, or ship, the next coffee — or drink — is on you when you bump into a contributor.

Apache-2.0, read

History

Latest

v3.13.1

Fixes 1

Notes
Patch Changes
  • #1435 6dd8c9b Thanks @petermuessig! - chore(ui5-tooling-transpile): update browserslist to 4.28.8

    Bumps the browserslist dependency from ^4.28.2 to ^4.28.8 to pick up the latest 4.28.x patch release. All workspace consumers now dedupe onto a single 4.28.8 resolution.

  1. v3.13.0

    Features 1

    Notes
    Minor Changes
    • #1430 9aae380 Thanks @petermuessig! - feat(ui5-tooling-transpile): add useGlobPatterns flag for glob includes/excludes

      Adds a useGlobPatterns boolean option (default false). When enabled, the includes/excludes options (and their includePatterns/excludePatterns aliases) are matched as glob patterns via minimatch instead of the classic substring matching, aligning the syntax with other UI5 tooling extensions (e.g. ui5-task-zipper). With the flag enabled, patterns must be written as globs (e.g. **/thirdparty/**, **/*.png) and the built-in image default excludes are globbed automatically. The default remains substring matching, so existing configurations are unaffected.

  2. v3.12.0

    Features 1

    Notes
    Minor Changes
    • #1414 2e64891 Thanks @petermuessig! - Add native JSX/TSX transformation and coverage instrumentation support.
      • New transformJSX configuration option (boolean|Object) enables the optional peer dependency @babel/plugin-transform-react-jsx to transform JSX/TSX syntax. When the value is an object, it is passed through as the plugin's options (e.g. runtime, importSource). When enabled and no explicit filePattern is set, the default file pattern is extended to also handle jsx/tsx files (.+(js|jsx) or .+(ts|tsx)).
      • New coverage configuration option (boolean|Object) enables the optional peer dependency babel-plugin-istanbul to instrument the transpiled code for coverage collection. When the value is an object, it is passed through as the plugin's options.
      • Both plugins are only added when the respective configuration option is present/truthy AND the optional dependency can be resolved; otherwise a warning is logged and transpilation continues without the plugin. Both are declared as optional peerDependencies.
  3. v3.11.3

    Fixes 1

    Notes
    Patch Changes
    • #1382 ca396eb Thanks @petermuessig! - fix(ui5-tooling-transpile): preserve export modifier on top-level declarations in generated .d.ts files

      When the task generates .d.ts files for a TypeScript library it wraps the original source in declare module "<fqn>" { ... } so the emitted type definition references the fully-qualified UI5 module name. TSC's d.ts emitter however strips the export modifier from declarations inside an ambient module body, turning previously-exported type / enum / interface / class / function / const / let / var / namespace declarations into module-private symbols that consumers can no longer import.

      The task now post-processes the emitted d.ts: it collects the names that were re-exported in the original source and re-prepends export to the matching top-level declarations inside the wrapped module body. Names that were never exported in the source remain module-private as before.

      Fixes #1380.

  4. v3.11.2

    Fixes 1

    Notes
    Patch Changes
    • #1370 dd71c42 Thanks @petermuessig! - Bump runtime dependencies to clear open dependabot alerts and pick up upstream patch releases:
      • cds-plugin-ui5: semver ^7.8.0 → ^7.8.1
      • ui5-middleware-approuter: @sap/approuter ^22.0.0 → ^22.0.1
      • ui5-middleware-serveframework: node-fetch ^2.7.0 → ^3.3.2
      • ui5-middleware-websocket: ws ^8.20.1 → ^8.21.0
      • ui5-task-copyright: @typescript-eslint/typescript-estree ^8.59.3 → ^8.60.0
      • ui5-tooling-transpile: @babel/core, @babel/preset-env, @babel/preset-typescript → ^7.29.7

    All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

  5. v3.11.1

    Notes

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

  6. v3.11.0

    Features 1

    Notes
    Features
  7. v3.10.1

    Notes

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

  8. v3.10.0

    Features 1

    Notes
    Features
  9. v3.9.2

    Notes

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

  10. v3.9.1

    Notes

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

  11. v3.9.0

    Features 1, Fixes 1

    Notes
    Bug Fixes
    Features
  12. v3.8.0

    Features 1

    Notes
    Features
    • ui5-tooling-modules: jsdoc generation support for seamless web components (#1210) (9379843)
  13. v3.7.5

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: ensure global namespace for tsx modules (#1190) (5476f89)
  14. v3.7.4

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: omit ts and tsx from build result (#1188) (3e67f1f)
  15. v3.7.3

    Notes

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

  16. v3.7.2

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: avoid top-level use strict directive (#1181) (62642c0)
  17. v3.7.1

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: fix undefined issue in source map generation (#1169) (b980626)
  18. v3.7.0

    Features 1

    Notes
    Features
  19. v3.6.1

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: rewrite rel imports of control interfaces to abs (#1160) (75d30ba), closes #1150
  20. v3.6.0

    Features 3

    Notes
    Features
    • ui5-tooling-transpile: allow to omit source maps generation (#1155) (4fc9f1d), closes #1151
    • ui5-tooling-transpile: config to set interface JSDoc output (#1156) (2e3e15b), closes #1109
    • ui5-tooling-transpile: support alternative tsconfig.json (#1154) (36a7bce), closes #1138
  21. v3.5.3

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: allow to break build with failOnDtsErrors=true (#1148) (37ca8aa), closes #1145
  22. v3.5.2

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: ensure forward slashes for type definitions (#1144) (2a9d105), closes #1143
  23. v3.5.1

    Fixes 1

    Notes
    Bug Fixes
  24. v3.5.0

    Features 1

    Notes
    Features
    • enhanced v4 compat + update dependencies (#1070) (2d7ed16)
  25. v3.4.8

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: properly load replaceVersion task (#1063) (4575da2)
  26. v3.4.7

    Notes

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

  27. v3.4.6

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: ensure consistent line endings (#1038) (f2938cf), closes #1035
  28. v3.4.5

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: create absolute path for the replaceVersion import (#1024) (1746d31)
  29. v3.4.4

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: support replacing versions (#1023) (945131b)
  30. v3.4.3

    Notes

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

  31. v3.4.2

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: forward the generateBabelConfig option (#1011) (e4b6cab)
  32. v3.4.1

    Notes

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

  33. v3.4.0

    Features 1

    Notes
    Features
    • ui5-tooling-transpile: support generation of babel config (#988) (8496d21)
  34. v3.3.7

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: passthrough the complete babel config options (#975) (7df825e)
  35. v3.3.6

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: support JS-based babel config files (#970) (35cfa45), closes #966
  36. v3.3.5

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: support special rhino target via env var (#959) (3a0cc03)
  37. v3.3.4

    Notes

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

  38. v3.3.3

    Notes

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

  39. v3.3.2

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: more usage of UI5 Tooling V3 APIs (#923) (380e96c)
  40. v3.3.1

    Notes

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

  41. v3.3.0

    Features 1

    Notes
    Features
    • ui5-tooling-transpile: support generation of interfaces in task (#920) (67f277c), closes #919
  42. v3.2.7

    Fixes 1

    Notes
    Bug Fixes
    • handle local framework dependencies in middleware (#884) (fcab7da)
  43. v3.2.6

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: re-enable inline config in ui5.yaml (#866) (2cf9812), closes #864
  44. v3.2.5

    Notes

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

  45. v3.2.4

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: ignore framework dependencies (#850) (7482a2d)
  46. v3.2.3

    Notes

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

  47. v3.2.2

    Fixes 1

    Notes
    Bug Fixes
    • consistent request path handling of all middlewares (#833) (11ad435), closes #817
  48. v3.2.1

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: ensure loadPartialConfigAsync works with filters (#834) (1f33961)
  49. v3.2.0

    Features 1

    Notes
    Features
    • ui5-tooling-transpile: resolve presets/plugins for babel config options (#811) (cb17b23), closes #810
  50. v3.1.0

    Features 1

    Notes
    Features
    • ui5-tooling-transpile: integrate ts-interface-generator (#787) (7dfa15d)
  51. v3.0.5

    Fixes 3

    Notes
    Bug Fixes
    • ui5-tooling-transpile: load and normalize the babel config (#804) (9f3c9fd)
    • ui5-tooling-transpile: support comments in ts config and babel config (#806) (17e3302), closes #803
    • ui5-tooling-transpile: use latest UI5 Tooling V3 APIs only (#805) (202c19d)
  52. v3.0.4

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: support preset/plugin resolution with UI5 tooling binary (#802) (a3943ab)
  53. v3.0.3

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: include sourceMappingURL into transpiled file (#791) (2c70de1)
  54. v3.0.2

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: derive transpileDependencies from tsconfig (#786) (ba5d734)
  55. v3.0.1

    Fixes 1

    Notes
    Bug Fixes
    • karma-ui5-transpile: ensure to instrument test files (#782) (1d201bb)
  56. v3.0.0

    Breaking 1, Features 2, Fixes 1

    Notes
    Bug Fixes
    Features
    BREAKING CHANGES
    • The support for UI5 Tooling V2 has been removed
  57. v0.7.20

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: allow to forward config options for presets (#768) (1e61090)
  58. v0.7.19

    Fixes 2

    Notes
    Bug Fixes
    • ui5-tooling-transpile: add generation context info to index.d.ts (#764) (03998d4)
    • ui5-tooling-transpile: do not stop server for transpile issues (#766) (2cbfd30)
  59. v0.7.18

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: include TypeScript sources in build output (#762) (8998aa5)
  60. v0.7.17

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: correct index.d.ts paths for app resources (#760) (68eaeeb)
  61. v0.7.16

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: delegate transformAtStartup option (#759) (2bb3616)
  62. v0.7.15

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: add option to enable transform at startup (#758) (5f01f04)
  63. v0.7.14

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: transpile at startup + caching (#757) (6c7946d)
  64. v0.7.13

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: consider tsconfig.json for d.ts generation (#755) (0eb1995)
  65. v0.7.12

    Fixes 1

    Notes
    Bug Fixes
  66. v0.7.11

    Fixes 3

    Notes
    Bug Fixes
    • ui5-tooling-transpile: allow to inject targetBrowsers via env var (#751) (26bc59b)
    • ui5-tooling-transpile: ensure absolute module path for ambient modules (#753) (d1ffda6), closes #743
    • update dependencies (#749) (b1c8cfb)
  67. v0.7.10

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: determine base path for libs and apps (#741) (8257389)
  68. v0.7.9

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: config should be found relative to project (#739) (9ba4dd8)
  69. v0.7.8

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: omit resources also for non-root projects (78a0f87)
  70. v0.7.7

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: fix library detection (e6a4167)
  71. v0.7.6

    Fixes 2

    Notes
    Bug Fixes
    • ui5-tooling-transpile: add support for d.ts source maps (#735) (cafc5b9)
    • ui5-tooling-transpile: use error logging instead of warnings (93ec11e)
  72. v0.7.5

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: d.ts files to be modules + generate index.d.ts (#734) (bc75c8c)
  73. v0.7.4

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: dependency cleanup (#714) (5971b24)
  74. v0.7.3

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-modules: ensure __esModule marker being exported (#728) (8f8afd3), closes #726
  75. v0.7.2

    Fixes 1

    Notes
    Bug Fixes
  76. v0.7.1

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: only omit TS sources from build output (#717) (88d6738)
  77. v0.7.0

    Features 1

    Notes
    Features
    • ui5-tooling-transpile: rework to avoid configurations for default usage (#712) (97119f6)
  78. v0.6.0

    Features 1

    Notes
    Features
  79. v0.5.2

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: use proper fs path for resource tranform (#708) (eee0014)
  80. v0.5.1

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: correct order of presets (#707) (760218e)
  81. v0.5.0

    Features 1, Fixes 4

    Notes
    Bug Fixes
    • ui5-task-zipper: introduce test for packaging shims (#702) (d4f7e28)
    • ui5-tooling-modules: allow to define provided dependencies (#698) (b3dbbac)
    • ui5-tooling-transpile: add sourcemaps to default babelrc config (#700) (81983da)
    • update of project depedencies (#704) (2f94887)
    Features
    • ui5-tooling-transpile: align and clean-up configuration options (#701) (8b26e71)
  82. v0.4.1

    Fixes 1

    Notes
    Bug Fixes
    • implement determineRequiredDependencies for all tasks (#692) (d27b55e)
  83. v0.4.0

    Features 1

    Notes
    Features
    • ui5-tooling-transpile: generate d.ts and filter ts files (#693) (56fc521)
  84. v0.3.7

    Notes

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

  85. v0.3.6

    Notes

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

  86. v0.3.5

    Notes

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

  87. v0.3.4

    Notes

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

  88. v0.3.3

    Notes

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

  89. v0.3.2

    Notes

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

  90. v0.3.1

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: fix issue with created config (a6128b0)
  91. v0.3.0

    Features 1

    Notes
    Features
    • ui5-tooling-transpile: enable config files (#660) (9f854ec)
  92. v0.2.1

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: fix error when no ts file matches for js request (faea158), closes #650
  93. v0.2.0

    Features 1

    Notes
    Features
    • ui5-tooling-transpile: new transpile extensions supporting TS (#568) (8bed8ea)
24,390downloads per week, npm
Weekly downloads for ui5-tooling-transpile26 complete calendar weeks from 2026-04-20 to 2026-10-18; the latest total is 24390.20 Apr – 26 Apr: 56,31127 Apr – 3 May: 45,8134 May – 10 May: 55,03511 May – 17 May: 55,02518 May – 24 May: 53,38825 May – 31 May: 50,4061 Jun – 7 Jun: 42,1768 Jun – 14 Jun: 53,85015 Jun – 21 Jun: 55,90922 Jun – 28 Jun: 50,49129 Jun – 5 Jul: 52,1166 Jul – 12 Jul: 60,18213 Jul – 19 Jul: 52,37420 Jul – 26 Jul: 55,44727 Jul – 2 Aug: 52,5153 Aug – 9 Aug: 56,69310 Aug – 16 Aug: 45,87017 Aug – 23 Aug: 56,91124 Aug – 30 Aug: 50,31631 Aug – 6 Sept: 42,4077 Sept – 13 Sept: 30,68914 Sept – 20 Sept: 41,88821 Sept – 27 Sept: 50,19328 Sept – 4 Oct: 55,3945 Oct – 11 Oct: 43,32812 Oct – 18 Oct: 24,390
Build and dev-server tooling
  1. UI5 ToolsVS Code extension to serve, proxy, build and deploy UI5 projects
  2. ui5-middleware-route-proxyUI5 server middleware proxying route prefixes to a backend
  3. ui5-task-cachebuster-indexingUI5 builder task preparing build output for the cachebuster
  4. ui5-task-transpile-genUI5 builder task transpiling ES6 to ES5 with Babel
  5. ui5-middleware-odata-recorderUI5 middleware recording OData traffic as mock server datasets
  6. ui5-plugin-loaderUI5 Tooling v4 extension that registers other extensions
  7. ui5-deployerUI5 Tooling module deploying Fiori/UI5 apps to SAP systems
  8. ui5-task-dts-generatorUI5 builder task generating d.ts type declarations
  9. ui5-task-minifierUI5 builder task minifying HTML, CSS and JSON files
  10. ui5-middleware-oidcUI5 dev server middleware adding an OpenID Connect login
  11. generator-ui5-library-af-deployYeoman generator for Application Frontend config in UI5 libraries
  12. ui5-middleware-destinationUI5 Tooling middleware proxying destinations and neo-app.json routes
  13. ui5-task-check-eocpUI5 build task warning when the app's UI5 version reaches EOCP
  14. @ui5/cliUI5 Tooling command line for project setup, dev server and build
  15. ui5-task-btp-manifestUI5 Tooling task writing the service name into the importer manifest
  16. ui5-middleware-approuterUI5 CLI middleware proxying the dev server through @sap/approuter
  17. ui5-middleware-capUI5 CLI middleware running a CDS server inside the UI5 dev server
  18. ui5-middleware-hmrExperimental UI5 middleware for hot module replacement
  19. ui5-middleware-iasyncUI5 middleware syncing interactions across browsers over websocket
  20. ui5-middleware-indexUI5 middleware serving a chosen welcome page at the root path
  21. ui5-middleware-livereloadLive reload middleware for the UI5 dev server
  22. ui5-middleware-oneloginUI5 middleware logging in with Playwright and reusing the session
  23. ui5-middleware-serveframeworkUI5 middleware serving a locally built UI5 framework
  24. ui5-middleware-servestaticUI5 middleware serving static resources from a path or npm package
  25. ui5-middleware-simpleproxyDev-server middleware proxying requests to a backend system
  26. ui5-middleware-ui5UI5 middleware including one UI5 application in another
  27. ui5-middleware-webjarsUI5 middleware serving static resources from JAR files (WebJars)
  28. ui5-middleware-websocketWebSocket support for Express-based dev servers such as UI5's
  29. ui5-task-cachebusterUI5 builder task cachebusting standalone UI5 applications
  30. ui5-task-copyrightUI5 builder task appending copyright headers to source files
  31. ui5-task-flatten-libraryUI5 builder task flattening library output for SAP NetWeaver
  32. ui5-task-i18ncheckUI5 builder task checking XML views for missing i18n texts
  33. ui5-task-minify-xmlUI5 builder task minifying XML views and fragments
  34. ui5-task-pwa-enablerUI5 builder task turning a UI5 app into a progressive web app
  35. ui5-task-zipperBuild task packaging the UI5 build result as a zip archive
  36. ui5-tooling-lessUI5 CLI extension compiling Less files into CSS
  37. ui5-tooling-modulesUI5 tooling extensions loading npm packages as UI5 modules
  38. ui5-tooling-stringreplaceUI5 CLI extension for string replacement during the build
  39. @ui5/loggerInternal logger of the UI5 CLI
  40. @ui5/middleware-code-coverageUI5 CLI middleware for Istanbul code coverage
  41. @ui5/tooling-webcDeprecated UI5 Tooling extensions for UI5 Web Components wrappers

Details

Sources4
npm registrydiscovered herechecked
npm registry, ui5-tooling-transpileversion, releases, installschecked
github.com/https://github.com/ui5-community/ui5-ecosystem-showcase.gittree, pushes, contributors, CIchecked
packages/ui5-tooling-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
latestv3.13.1
first release
releases and cadence94, ~36d median
discovered vianpm registry
first seen in the atlas
ecosystem and domainui5, developer-experience
Contributors6
History in the atlas2
  1. the `transformJSX` option and the Babel plugin it adds
  2. First seen.
For your agent
Ref
artifact:ui5-community-ui5-tooling-transpile
JSON
/artifacts/ui5-community-ui5-tooling-transpile.json
MCP
Connecting an agent