ui5-task-flatten-library

3.1.0 • Public • Published

UI5 task to flatten the library folder structure

👋 This is a community project and there is no official support for this package! Feel free to use it, open issues, contribute, and help answering questions.

Task for ui5-builder, to prepare build result for deployment to SAP NetWeaver.

Prerequisites

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

Install

# Using npm
npm install ui5-task-flatten-library --save-dev

# Using pnpm
pnpm add --save-dev ui5-task-flatten-library

# Using yarn
yarn add --dev ui5-task-flatten-library

Usage

  1. Define the dependency in $yourapp/package.json:
"devDependencies": {
    // ...
    "ui5-task-flatten-library": "*"
    // ...
}
  1. configure it in $yourapp/ui5.yaml:
builder:
  customTasks:
    - name: ui5-task-flatten-library
      afterTask: generateResourcesJson

How it works

  • For src files it removes the /resources/${projectNamespace}/ part of the path (e.g. dist/resources/my/lib/library.js => dist/library.js)
  • All test files (/test-resources/) will be omitted from the build result
  • A warning is logged for src files that are not part of the project namespace

UI5 Tooling Output Style

Starting from @ui5/cli version 3.8.0, the tooling introduces a new build option known as "Output Style." This feature allows developers to switch between various output styles when building their projects. Now you have the flexibility to omit both this project namespace and the “resources” directory. Imagine “/resources/sap/m/RangeSlider.js” transforming into “./RangeSlider.js.” This results in a flat build output.
The available output styles include:

  • Default: The default directory structure for every project type. For applications, this is identical to "Flat", and for libraries, it is "Namespace". Other types have a more distinct default output style.
  • Flat: Omits the project namespace and the "resources" directory.
  • Namespace: Respects the project namespace and the "resources" directory, maintaining the original structure.

To learn more about this feature and to migrate your project to the native Output Style feature instead of using the custom task, refer to the associated blog post or the CLI documentation page.

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 or @matthiaso a beer or buy @pmuessig a coke when you see them.

/ui5-task-flatten-library/

    Package Sidebar

    Install

    npm i ui5-task-flatten-library

    Weekly Downloads

    1,274

    Version

    3.1.0

    License

    Apache-2.0

    Unpacked Size

    28.7 kB

    Total Files

    7

    Last publish

    Collaborators

    • pmuessig
    • ui5-community-bot