├── test
├── fixtures
│ ├── glob
│ │ ├── package.json
│ │ ├── application.a
│ │ │ ├── package.json
│ │ │ ├── webapp
│ │ │ │ ├── test.js
│ │ │ │ └── index.html
│ │ │ └── ui5.yaml
│ │ └── application.b
│ │ │ ├── package.json
│ │ │ ├── webapp
│ │ │ ├── manifest.json
│ │ │ ├── i18n.properties
│ │ │ ├── embedded
│ │ │ │ ├── manifest.json
│ │ │ │ ├── i18n_fr.properties
│ │ │ │ └── i18n
│ │ │ │ │ ├── i18n.properties
│ │ │ │ │ └── i18n_de.properties
│ │ │ └── i18n
│ │ │ │ ├── i18n.properties
│ │ │ │ ├── i18n_de.properties
│ │ │ │ └── l10n.properties
│ │ │ └── ui5.yaml
│ ├── init-library
│ │ ├── src
│ │ │ └── .gitkeep
│ │ ├── test
│ │ │ └── .gitkeep
│ │ └── package.json
│ ├── application.a
│ │ ├── ui5-test-empty.yaml
│ │ ├── ui5-test-corrupt.yaml
│ │ ├── task.a.js
│ │ ├── middleware.a.js
│ │ ├── node_modules
│ │ │ ├── library.d
│ │ │ │ ├── main
│ │ │ │ │ ├── test
│ │ │ │ │ │ └── library
│ │ │ │ │ │ │ └── d
│ │ │ │ │ │ │ └── Test.html
│ │ │ │ │ └── src
│ │ │ │ │ │ └── library
│ │ │ │ │ │ └── d
│ │ │ │ │ │ ├── some.js
│ │ │ │ │ │ └── .library
│ │ │ │ ├── ui5.yaml
│ │ │ │ └── package.json
│ │ │ └── collection
│ │ │ │ ├── library.a
│ │ │ │ ├── test
│ │ │ │ │ └── library
│ │ │ │ │ │ └── a
│ │ │ │ │ │ └── Test.html
│ │ │ │ ├── ui5.yaml
│ │ │ │ ├── src
│ │ │ │ │ └── library
│ │ │ │ │ │ └── a
│ │ │ │ │ │ ├── themes
│ │ │ │ │ │ └── base
│ │ │ │ │ │ │ └── library.source.less
│ │ │ │ │ │ └── .library
│ │ │ │ └── package.json
│ │ │ │ ├── library.b
│ │ │ │ ├── test
│ │ │ │ │ └── library
│ │ │ │ │ │ └── b
│ │ │ │ │ │ └── Test.html
│ │ │ │ ├── ui5.yaml
│ │ │ │ ├── package.json
│ │ │ │ └── src
│ │ │ │ │ └── library
│ │ │ │ │ └── b
│ │ │ │ │ └── .library
│ │ │ │ ├── library.c
│ │ │ │ ├── test
│ │ │ │ │ └── LibraryC
│ │ │ │ │ │ └── Test.html
│ │ │ │ ├── ui5.yaml
│ │ │ │ ├── package.json
│ │ │ │ └── src
│ │ │ │ │ └── library
│ │ │ │ │ └── c
│ │ │ │ │ └── .library
│ │ │ │ ├── node_modules
│ │ │ │ └── library.d
│ │ │ │ │ ├── test
│ │ │ │ │ └── library
│ │ │ │ │ │ └── d
│ │ │ │ │ │ └── Test.html
│ │ │ │ │ ├── ui5.yaml
│ │ │ │ │ ├── package.json
│ │ │ │ │ └── src
│ │ │ │ │ └── library
│ │ │ │ │ └── d
│ │ │ │ │ └── .library
│ │ │ │ ├── ui5.yaml
│ │ │ │ └── package.json
│ │ ├── ui5.yaml
│ │ ├── webapp
│ │ │ ├── test.js
│ │ │ ├── index.html
│ │ │ └── manifest.json
│ │ ├── ui5-test-error.yaml
│ │ ├── ui5-test-configPath.yaml
│ │ └── package.json
│ ├── init-application
│ │ ├── webapp
│ │ │ └── .gitkeep
│ │ └── package.json
│ ├── library.e
│ │ ├── test
│ │ │ └── library
│ │ │ │ └── e
│ │ │ │ └── Test.html
│ │ ├── node_modules
│ │ │ └── library.d
│ │ │ │ ├── test
│ │ │ │ └── library
│ │ │ │ │ └── d
│ │ │ │ │ └── Test.html
│ │ │ │ ├── ui5.yaml
│ │ │ │ ├── package.json
│ │ │ │ └── src
│ │ │ │ └── library
│ │ │ │ └── d
│ │ │ │ └── .library
│ │ ├── src
│ │ │ └── library
│ │ │ │ └── e
│ │ │ │ ├── some.js
│ │ │ │ └── .library
│ │ ├── ui5.yaml
│ │ ├── package.json
│ │ └── ui5-workspace.yaml
│ ├── library.h
│ │ ├── empty-ui5-workspace.yaml
│ │ ├── corrupt-ui5-workspace.yaml
│ │ ├── src
│ │ │ ├── some.js
│ │ │ ├── .library
│ │ │ └── manifest.json
│ │ ├── ui5.yaml
│ │ ├── invalid-ui5-workspace.yaml
│ │ ├── ui5-workspace.yaml
│ │ └── custom-ui5-workspace.yaml
│ ├── fsInterface
│ │ └── foo.txt
│ ├── init-invalid-webapp-src
│ │ ├── src
│ │ │ └── .gitkeep
│ │ ├── webapp
│ │ │ └── .gitkeep
│ │ └── package.json
│ ├── library.d
│ │ ├── main
│ │ │ ├── test
│ │ │ │ └── library
│ │ │ │ │ └── d
│ │ │ │ │ └── Test.html
│ │ │ └── src
│ │ │ │ └── library
│ │ │ │ └── d
│ │ │ │ ├── some.js
│ │ │ │ └── .library
│ │ ├── ui5.yaml
│ │ └── package.json
│ ├── collection
│ │ ├── library.c
│ │ │ ├── test
│ │ │ │ └── LibraryC
│ │ │ │ │ └── Test.html
│ │ │ ├── ui5.yaml
│ │ │ ├── package.json
│ │ │ └── src
│ │ │ │ └── library
│ │ │ │ └── c
│ │ │ │ └── .library
│ │ ├── library.a
│ │ │ ├── test
│ │ │ │ └── library
│ │ │ │ │ └── a
│ │ │ │ │ └── Test.html
│ │ │ ├── ui5.yaml
│ │ │ ├── src
│ │ │ │ └── library
│ │ │ │ │ └── a
│ │ │ │ │ ├── themes
│ │ │ │ │ └── base
│ │ │ │ │ │ └── library.source.less
│ │ │ │ │ └── .library
│ │ │ └── package.json
│ │ ├── library.b
│ │ │ ├── test
│ │ │ │ └── library
│ │ │ │ │ └── b
│ │ │ │ │ └── Test.html
│ │ │ ├── ui5.yaml
│ │ │ ├── package.json
│ │ │ └── src
│ │ │ │ └── library
│ │ │ │ └── b
│ │ │ │ └── .library
│ │ ├── node_modules
│ │ │ └── library.d
│ │ │ │ ├── test
│ │ │ │ └── library
│ │ │ │ │ └── d
│ │ │ │ │ └── Test.html
│ │ │ │ ├── ui5.yaml
│ │ │ │ ├── package.json
│ │ │ │ └── src
│ │ │ │ └── library
│ │ │ │ └── d
│ │ │ │ └── .library
│ │ ├── test.js
│ │ └── package.json
│ ├── init-invalid-no-package-json
│ │ └── webapp
│ │ │ └── .gitkeep
│ ├── collection.b
│ │ ├── library.a
│ │ │ ├── test
│ │ │ │ └── library
│ │ │ │ │ └── a
│ │ │ │ │ └── Test.html
│ │ │ ├── ui5.yaml
│ │ │ ├── src
│ │ │ │ └── library
│ │ │ │ │ └── a
│ │ │ │ │ ├── themes
│ │ │ │ │ └── base
│ │ │ │ │ │ └── library.source.less
│ │ │ │ │ └── .library
│ │ │ └── package.json
│ │ ├── library.b
│ │ │ ├── test
│ │ │ │ └── library
│ │ │ │ │ └── b
│ │ │ │ │ └── Test.html
│ │ │ ├── ui5.yaml
│ │ │ ├── package.json
│ │ │ └── src
│ │ │ │ └── library
│ │ │ │ └── b
│ │ │ │ └── .library
│ │ ├── library.c
│ │ │ ├── test
│ │ │ │ └── LibraryC
│ │ │ │ │ └── Test.html
│ │ │ ├── ui5.yaml
│ │ │ ├── package.json
│ │ │ └── src
│ │ │ │ └── library
│ │ │ │ └── c
│ │ │ │ └── .library
│ │ ├── test.js
│ │ ├── sub-empty
│ │ │ └── .keep
│ │ ├── sub-collection
│ │ │ └── package.json
│ │ └── package.json
│ ├── legacy.library.a
│ │ ├── test
│ │ │ └── legacy
│ │ │ │ └── library
│ │ │ │ └── a
│ │ │ │ └── Test.html
│ │ ├── src
│ │ │ └── legacy
│ │ │ │ └── library
│ │ │ │ └── a
│ │ │ │ ├── some.js
│ │ │ │ └── .library
│ │ ├── node_modules
│ │ │ └── library.f
│ │ │ │ ├── ui5.yaml
│ │ │ │ └── package.json
│ │ └── package.json
│ ├── legacy.library.b
│ │ ├── test
│ │ │ └── legacy
│ │ │ │ └── library
│ │ │ │ └── b
│ │ │ │ └── Test.html
│ │ ├── src
│ │ │ └── legacy
│ │ │ │ └── library
│ │ │ │ └── b
│ │ │ │ ├── some.js
│ │ │ │ └── .library
│ │ ├── node_modules
│ │ │ └── library.f
│ │ │ │ ├── ui5.yaml
│ │ │ │ └── package.json
│ │ └── package.json
│ ├── library.d-adtl-deps
│ │ ├── main
│ │ │ ├── test
│ │ │ │ └── library
│ │ │ │ │ └── d
│ │ │ │ │ └── Test.html
│ │ │ └── src
│ │ │ │ └── library
│ │ │ │ └── d
│ │ │ │ ├── some.js
│ │ │ │ └── .library
│ │ ├── node_modules
│ │ │ ├── library.f
│ │ │ │ ├── src
│ │ │ │ │ └── library
│ │ │ │ │ │ └── f
│ │ │ │ │ │ ├── some.js
│ │ │ │ │ │ └── .library
│ │ │ │ ├── ui5.yaml
│ │ │ │ └── package.json
│ │ │ └── library.g
│ │ │ │ ├── src
│ │ │ │ └── library
│ │ │ │ │ └── g
│ │ │ │ │ ├── some.js
│ │ │ │ │ └── .library
│ │ │ │ ├── ui5.yaml
│ │ │ │ └── package.json
│ │ ├── ui5.yaml
│ │ └── package.json
│ ├── library.d-depender
│ │ ├── main
│ │ │ ├── test
│ │ │ │ └── library
│ │ │ │ │ └── d
│ │ │ │ │ └── Test.html
│ │ │ └── src
│ │ │ │ └── library
│ │ │ │ └── d
│ │ │ │ ├── some.js
│ │ │ │ └── .library
│ │ ├── node_modules
│ │ │ └── library.d
│ │ │ │ ├── main
│ │ │ │ ├── test
│ │ │ │ │ └── library
│ │ │ │ │ │ └── d
│ │ │ │ │ │ └── Test.html
│ │ │ │ └── src
│ │ │ │ │ └── library
│ │ │ │ │ └── d
│ │ │ │ │ ├── some.js
│ │ │ │ │ └── .library
│ │ │ │ ├── ui5.yaml
│ │ │ │ └── package.json
│ │ ├── ui5.yaml
│ │ └── package.json
│ ├── theme.library.e
│ │ ├── test
│ │ │ └── theme
│ │ │ │ └── library
│ │ │ │ └── e
│ │ │ │ └── Test.html
│ │ ├── src
│ │ │ └── theme
│ │ │ │ └── library
│ │ │ │ └── e
│ │ │ │ └── themes
│ │ │ │ └── my_theme
│ │ │ │ ├── library.source.less
│ │ │ │ ├── .theme
│ │ │ │ └── .theming
│ │ └── ui5.yaml
│ ├── application.b
│ │ ├── webapp
│ │ │ ├── i18n.properties
│ │ │ ├── i18n
│ │ │ │ ├── i18n.properties
│ │ │ │ ├── i18n_de.properties
│ │ │ │ └── l10n.properties
│ │ │ ├── embedded
│ │ │ │ ├── i18n
│ │ │ │ │ ├── i18n.properties
│ │ │ │ │ └── i18n_de.properties
│ │ │ │ ├── i18n_fr.properties
│ │ │ │ └── manifest.json
│ │ │ └── manifest.json
│ │ ├── node_modules
│ │ │ ├── library.d
│ │ │ │ ├── main
│ │ │ │ │ ├── test
│ │ │ │ │ │ └── library
│ │ │ │ │ │ │ └── d
│ │ │ │ │ │ │ └── Test.html
│ │ │ │ │ └── src
│ │ │ │ │ │ └── library
│ │ │ │ │ │ └── d
│ │ │ │ │ │ ├── some.js
│ │ │ │ │ │ └── .library
│ │ │ │ ├── ui5.yaml
│ │ │ │ └── package.json
│ │ │ └── collection
│ │ │ │ ├── library.a
│ │ │ │ ├── test
│ │ │ │ │ └── library
│ │ │ │ │ │ └── a
│ │ │ │ │ │ └── Test.html
│ │ │ │ ├── ui5.yaml
│ │ │ │ ├── src
│ │ │ │ │ └── library
│ │ │ │ │ │ └── a
│ │ │ │ │ │ ├── themes
│ │ │ │ │ │ └── base
│ │ │ │ │ │ │ └── library.source.less
│ │ │ │ │ │ └── .library
│ │ │ │ └── package.json
│ │ │ │ ├── library.b
│ │ │ │ ├── test
│ │ │ │ │ └── library
│ │ │ │ │ │ └── b
│ │ │ │ │ │ └── Test.html
│ │ │ │ ├── ui5.yaml
│ │ │ │ ├── package.json
│ │ │ │ └── src
│ │ │ │ │ └── library
│ │ │ │ │ └── b
│ │ │ │ │ └── .library
│ │ │ │ ├── library.c
│ │ │ │ ├── test
│ │ │ │ │ └── LibraryC
│ │ │ │ │ │ └── Test.html
│ │ │ │ ├── ui5.yaml
│ │ │ │ ├── package.json
│ │ │ │ └── src
│ │ │ │ │ └── library
│ │ │ │ │ └── c
│ │ │ │ │ └── .library
│ │ │ │ ├── node_modules
│ │ │ │ └── library.d
│ │ │ │ │ ├── test
│ │ │ │ │ └── library
│ │ │ │ │ │ └── d
│ │ │ │ │ │ └── Test.html
│ │ │ │ │ ├── ui5.yaml
│ │ │ │ │ ├── package.json
│ │ │ │ │ └── src
│ │ │ │ │ └── library
│ │ │ │ │ └── d
│ │ │ │ │ └── .library
│ │ │ │ └── package.json
│ │ ├── ui5.yaml
│ │ └── package.json
│ ├── build-manifest
│ │ ├── library.e
│ │ │ ├── test-resources
│ │ │ │ └── library
│ │ │ │ │ └── e
│ │ │ │ │ └── Test.html
│ │ │ ├── resources
│ │ │ │ └── library
│ │ │ │ │ └── e
│ │ │ │ │ ├── some.js
│ │ │ │ │ └── .library
│ │ │ ├── package.json
│ │ │ └── .ui5
│ │ │ │ └── build-manifest.json
│ │ └── application.a
│ │ │ ├── resources
│ │ │ └── id1
│ │ │ │ ├── test.js
│ │ │ │ ├── test-dbg.js
│ │ │ │ ├── index.html
│ │ │ │ └── manifest.json
│ │ │ ├── package.json
│ │ │ └── .ui5
│ │ │ └── build-manifest.json
│ ├── module.a
│ │ ├── dev
│ │ │ └── devTools.js
│ │ ├── dist
│ │ │ └── index.js
│ │ └── ui5.yaml
│ ├── application.c
│ │ ├── node_modules
│ │ │ ├── library.e
│ │ │ │ ├── test
│ │ │ │ │ └── library
│ │ │ │ │ │ └── e
│ │ │ │ │ │ └── Test.html
│ │ │ │ ├── node_modules
│ │ │ │ │ └── library.d
│ │ │ │ │ │ ├── test
│ │ │ │ │ │ └── library
│ │ │ │ │ │ │ └── d
│ │ │ │ │ │ │ └── Test.html
│ │ │ │ │ │ ├── ui5.yaml
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ └── src
│ │ │ │ │ │ └── library
│ │ │ │ │ │ └── d
│ │ │ │ │ │ └── .library
│ │ │ │ ├── package.json
│ │ │ │ ├── ui5.yaml
│ │ │ │ └── src
│ │ │ │ │ └── library
│ │ │ │ │ └── e
│ │ │ │ │ └── .library
│ │ │ └── library.d
│ │ │ │ ├── main
│ │ │ │ ├── test
│ │ │ │ │ └── library
│ │ │ │ │ │ └── d
│ │ │ │ │ │ └── Test.html
│ │ │ │ └── src
│ │ │ │ │ └── library
│ │ │ │ │ └── d
│ │ │ │ │ ├── some.js
│ │ │ │ │ └── .library
│ │ │ │ ├── ui5.yaml
│ │ │ │ └── package.json
│ │ ├── ui5.yaml
│ │ ├── src
│ │ │ └── manifest.json
│ │ └── package.json
│ ├── application.c2
│ │ ├── node_modules
│ │ │ ├── library.e
│ │ │ │ ├── test
│ │ │ │ │ └── library
│ │ │ │ │ │ └── e
│ │ │ │ │ │ └── Test.html
│ │ │ │ ├── node_modules
│ │ │ │ │ └── library.d
│ │ │ │ │ │ ├── test
│ │ │ │ │ │ └── library
│ │ │ │ │ │ │ └── d
│ │ │ │ │ │ │ └── Test.html
│ │ │ │ │ │ ├── ui5.yaml
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ └── src
│ │ │ │ │ │ └── library
│ │ │ │ │ │ └── d
│ │ │ │ │ │ └── .library
│ │ │ │ ├── package.json
│ │ │ │ ├── ui5.yaml
│ │ │ │ └── src
│ │ │ │ │ └── library
│ │ │ │ │ └── e
│ │ │ │ │ └── .library
│ │ │ └── library.d-depender
│ │ │ │ ├── main
│ │ │ │ ├── test
│ │ │ │ │ └── library
│ │ │ │ │ │ └── d
│ │ │ │ │ │ └── Test.html
│ │ │ │ └── src
│ │ │ │ │ └── library
│ │ │ │ │ └── d
│ │ │ │ │ ├── some.js
│ │ │ │ │ └── .library
│ │ │ │ ├── node_modules
│ │ │ │ └── library.d
│ │ │ │ │ ├── main
│ │ │ │ │ ├── test
│ │ │ │ │ │ └── library
│ │ │ │ │ │ │ └── d
│ │ │ │ │ │ │ └── Test.html
│ │ │ │ │ └── src
│ │ │ │ │ │ └── library
│ │ │ │ │ │ └── d
│ │ │ │ │ │ ├── some.js
│ │ │ │ │ │ └── .library
│ │ │ │ │ ├── ui5.yaml
│ │ │ │ │ └── package.json
│ │ │ │ ├── ui5.yaml
│ │ │ │ └── package.json
│ │ ├── ui5.yaml
│ │ ├── src
│ │ │ └── manifest.json
│ │ └── package.json
│ ├── application.c3
│ │ ├── node_modules
│ │ │ ├── library.e
│ │ │ │ ├── test
│ │ │ │ │ └── library
│ │ │ │ │ │ └── e
│ │ │ │ │ │ └── Test.html
│ │ │ │ ├── package.json
│ │ │ │ ├── ui5.yaml
│ │ │ │ └── src
│ │ │ │ │ └── library
│ │ │ │ │ └── e
│ │ │ │ │ └── .library
│ │ │ ├── library.d
│ │ │ │ ├── main
│ │ │ │ │ ├── test
│ │ │ │ │ │ └── library
│ │ │ │ │ │ │ └── d
│ │ │ │ │ │ │ └── Test.html
│ │ │ │ │ └── src
│ │ │ │ │ │ └── library
│ │ │ │ │ │ └── d
│ │ │ │ │ │ ├── some.js
│ │ │ │ │ │ └── .library
│ │ │ │ ├── ui5.yaml
│ │ │ │ └── package.json
│ │ │ └── library.d-depender
│ │ │ │ ├── main
│ │ │ │ ├── test
│ │ │ │ │ └── library
│ │ │ │ │ │ └── d
│ │ │ │ │ │ └── Test.html
│ │ │ │ └── src
│ │ │ │ │ └── library
│ │ │ │ │ └── d-depender
│ │ │ │ │ ├── some.js
│ │ │ │ │ └── .library
│ │ │ │ ├── ui5.yaml
│ │ │ │ └── package.json
│ │ ├── ui5.yaml
│ │ ├── src
│ │ │ └── manifest.json
│ │ └── package.json
│ ├── application.d
│ │ ├── node_modules
│ │ │ └── library.e
│ │ │ │ ├── test
│ │ │ │ └── library
│ │ │ │ │ └── e
│ │ │ │ │ └── Test.html
│ │ │ │ ├── node_modules
│ │ │ │ └── library.d
│ │ │ │ │ ├── test
│ │ │ │ │ └── library
│ │ │ │ │ │ └── d
│ │ │ │ │ │ └── Test.html
│ │ │ │ │ ├── ui5.yaml
│ │ │ │ │ ├── package.json
│ │ │ │ │ └── src
│ │ │ │ │ └── library
│ │ │ │ │ └── d
│ │ │ │ │ └── .library
│ │ │ │ ├── src
│ │ │ │ └── library
│ │ │ │ │ └── e
│ │ │ │ │ ├── some.js
│ │ │ │ │ └── .library
│ │ │ │ ├── ui5.yaml
│ │ │ │ └── package.json
│ │ ├── ui5.yaml
│ │ ├── webapp
│ │ │ └── manifest.json
│ │ └── package.json
│ ├── application.e
│ │ ├── node_modules
│ │ │ └── library.e
│ │ │ │ ├── test
│ │ │ │ └── library
│ │ │ │ │ └── e
│ │ │ │ │ └── Test.html
│ │ │ │ ├── package.json
│ │ │ │ ├── src
│ │ │ │ └── library
│ │ │ │ │ └── e
│ │ │ │ │ └── .library
│ │ │ │ └── ui5.yaml
│ │ ├── ui5.yaml
│ │ ├── webapp
│ │ │ └── manifest.json
│ │ └── package.json
│ ├── application.f
│ │ ├── node_modules
│ │ │ ├── library.e
│ │ │ │ ├── test
│ │ │ │ │ └── library
│ │ │ │ │ │ └── e
│ │ │ │ │ │ └── Test.html
│ │ │ │ ├── ui5.yaml
│ │ │ │ ├── package.json
│ │ │ │ └── src
│ │ │ │ │ └── library
│ │ │ │ │ └── e
│ │ │ │ │ └── .library
│ │ │ └── library.d
│ │ │ │ ├── main
│ │ │ │ ├── test
│ │ │ │ │ └── library
│ │ │ │ │ │ └── d
│ │ │ │ │ │ └── Test.html
│ │ │ │ └── src
│ │ │ │ │ └── library
│ │ │ │ │ └── d
│ │ │ │ │ ├── some.js
│ │ │ │ │ └── .library
│ │ │ │ ├── ui5.yaml
│ │ │ │ └── package.json
│ │ ├── ui5.yaml
│ │ ├── webapp
│ │ │ └── manifest.json
│ │ └── package.json
│ ├── application.g
│ │ ├── node_modules
│ │ │ └── library.d
│ │ │ │ ├── main
│ │ │ │ ├── test
│ │ │ │ │ └── library
│ │ │ │ │ │ └── d
│ │ │ │ │ │ └── Test.html
│ │ │ │ └── src
│ │ │ │ │ └── library
│ │ │ │ │ └── d
│ │ │ │ │ ├── some.js
│ │ │ │ │ └── .library
│ │ │ │ ├── ui5.yaml
│ │ │ │ └── package.json
│ │ ├── ui5.yaml
│ │ ├── webapp
│ │ │ └── manifest.json
│ │ └── package.json
│ ├── legacy.collection.a
│ │ └── src
│ │ │ ├── legacy.library.x
│ │ │ ├── test
│ │ │ │ └── legacy
│ │ │ │ │ └── library
│ │ │ │ │ └── x
│ │ │ │ │ └── Test.html
│ │ │ ├── src
│ │ │ │ └── legacy
│ │ │ │ │ └── library
│ │ │ │ │ └── x
│ │ │ │ │ ├── some.js
│ │ │ │ │ └── .library
│ │ │ ├── node_modules
│ │ │ │ └── library.f
│ │ │ │ │ ├── ui5.yaml
│ │ │ │ │ └── package.json
│ │ │ └── package.json
│ │ │ └── legacy.library.y
│ │ │ ├── test
│ │ │ └── legacy
│ │ │ │ └── library
│ │ │ │ └── y
│ │ │ │ └── Test.html
│ │ │ ├── src
│ │ │ └── legacy
│ │ │ │ └── library
│ │ │ │ └── y
│ │ │ │ ├── some.js
│ │ │ │ └── .library
│ │ │ ├── node_modules
│ │ │ └── library.f
│ │ │ │ ├── ui5.yaml
│ │ │ │ └── package.json
│ │ │ └── package.json
│ ├── cyclic-deps
│ │ └── node_modules
│ │ │ └── @ui5-internal
│ │ │ ├── library.cycle.a
│ │ │ ├── test
│ │ │ │ └── cycle
│ │ │ │ │ └── a
│ │ │ │ │ └── Test.html
│ │ │ ├── .npmrc
│ │ │ ├── src
│ │ │ │ └── cycle
│ │ │ │ │ └── a
│ │ │ │ │ ├── some.js
│ │ │ │ │ └── .library
│ │ │ ├── ui5.yaml
│ │ │ └── package.json
│ │ │ ├── library.cycle.b
│ │ │ ├── test
│ │ │ │ └── cycle
│ │ │ │ │ └── b
│ │ │ │ │ └── Test.html
│ │ │ ├── .npmrc
│ │ │ ├── src
│ │ │ │ └── cycle
│ │ │ │ │ └── b
│ │ │ │ │ ├── some.js
│ │ │ │ │ └── .library
│ │ │ ├── ui5.yaml
│ │ │ └── package.json
│ │ │ ├── library.cycle.c
│ │ │ ├── test
│ │ │ │ └── cycle
│ │ │ │ │ └── c
│ │ │ │ │ └── Test.html
│ │ │ ├── node_modules
│ │ │ │ └── @ui5-internal
│ │ │ │ │ └── library.cycle.d
│ │ │ │ │ ├── test
│ │ │ │ │ └── cycle
│ │ │ │ │ │ └── d
│ │ │ │ │ │ └── Test.html
│ │ │ │ │ ├── .npmrc
│ │ │ │ │ ├── src
│ │ │ │ │ └── cycle
│ │ │ │ │ │ └── d
│ │ │ │ │ │ ├── some.js
│ │ │ │ │ │ └── .library
│ │ │ │ │ ├── ui5.yaml
│ │ │ │ │ └── package.json
│ │ │ ├── .npmrc
│ │ │ ├── src
│ │ │ │ └── cycle
│ │ │ │ │ └── c
│ │ │ │ │ ├── some.js
│ │ │ │ │ └── .library
│ │ │ ├── ui5.yaml
│ │ │ └── package.json
│ │ │ ├── library.cycle.d
│ │ │ ├── test
│ │ │ │ └── cycle
│ │ │ │ │ └── d
│ │ │ │ │ └── Test.html
│ │ │ ├── .npmrc
│ │ │ ├── src
│ │ │ │ └── cycle
│ │ │ │ │ └── d
│ │ │ │ │ ├── some.js
│ │ │ │ │ └── .library
│ │ │ ├── ui5.yaml
│ │ │ └── package.json
│ │ │ ├── library.cycle.e
│ │ │ ├── test
│ │ │ │ └── cycle
│ │ │ │ │ └── e
│ │ │ │ │ └── Test.html
│ │ │ ├── .npmrc
│ │ │ ├── src
│ │ │ │ └── cycle
│ │ │ │ │ └── e
│ │ │ │ │ ├── some.js
│ │ │ │ │ └── .library
│ │ │ ├── ui5.yaml
│ │ │ └── package.json
│ │ │ ├── component.cycle.a
│ │ │ ├── test
│ │ │ │ └── component
│ │ │ │ │ └── cycle
│ │ │ │ │ └── a
│ │ │ │ │ └── Test.html
│ │ │ ├── .npmrc
│ │ │ ├── src
│ │ │ │ └── component
│ │ │ │ │ └── cycle
│ │ │ │ │ └── a
│ │ │ │ │ ├── some.js
│ │ │ │ │ └── .library
│ │ │ ├── ui5.yaml
│ │ │ └── package.json
│ │ │ ├── module.g
│ │ │ ├── .npmrc
│ │ │ ├── ui5.yaml
│ │ │ └── package.json
│ │ │ ├── module.a
│ │ │ ├── .npmrc
│ │ │ └── package.json
│ │ │ ├── module.b
│ │ │ ├── .npmrc
│ │ │ └── package.json
│ │ │ ├── module.c
│ │ │ ├── .npmrc
│ │ │ ├── ui5.yaml
│ │ │ └── package.json
│ │ │ ├── module.d
│ │ │ ├── .npmrc
│ │ │ ├── ui5.yaml
│ │ │ └── package.json
│ │ │ ├── module.e
│ │ │ ├── .npmrc
│ │ │ ├── ui5.yaml
│ │ │ └── package.json
│ │ │ ├── module.f
│ │ │ ├── .npmrc
│ │ │ ├── ui5.yaml
│ │ │ └── package.json
│ │ │ ├── module.h
│ │ │ ├── .npmrc
│ │ │ ├── ui5.yaml
│ │ │ └── package.json
│ │ │ ├── module.i
│ │ │ ├── .npmrc
│ │ │ ├── ui5.yaml
│ │ │ └── package.json
│ │ │ ├── module.j
│ │ │ ├── .npmrc
│ │ │ ├── ui5.yaml
│ │ │ └── package.json
│ │ │ ├── module.k
│ │ │ ├── .npmrc
│ │ │ ├── ui5.yaml
│ │ │ └── package.json
│ │ │ ├── module.l
│ │ │ ├── .npmrc
│ │ │ ├── ui5.yaml
│ │ │ └── package.json
│ │ │ ├── module.m
│ │ │ ├── .npmrc
│ │ │ ├── ui5.yaml
│ │ │ └── package.json
│ │ │ ├── application.cycle.a
│ │ │ ├── .npmrc
│ │ │ ├── ui5.yaml
│ │ │ ├── webapp
│ │ │ │ ├── test.js
│ │ │ │ ├── index.html
│ │ │ │ └── manifest.json
│ │ │ └── package.json
│ │ │ ├── application.cycle.b
│ │ │ ├── .npmrc
│ │ │ ├── webapp
│ │ │ │ ├── test.js
│ │ │ │ ├── index.html
│ │ │ │ └── manifest.json
│ │ │ ├── package.json
│ │ │ └── ui5.yaml
│ │ │ ├── application.cycle.c
│ │ │ ├── .npmrc
│ │ │ ├── ui5.yaml
│ │ │ ├── webapp
│ │ │ │ ├── test.js
│ │ │ │ ├── index.html
│ │ │ │ └── manifest.json
│ │ │ └── package.json
│ │ │ ├── application.cycle.d
│ │ │ ├── .npmrc
│ │ │ ├── ui5.yaml
│ │ │ ├── webapp
│ │ │ │ ├── test.js
│ │ │ │ ├── index.html
│ │ │ │ └── manifest.json
│ │ │ └── package.json
│ │ │ ├── application.cycle.e
│ │ │ ├── .npmrc
│ │ │ ├── ui5.yaml
│ │ │ ├── webapp
│ │ │ │ ├── test.js
│ │ │ │ ├── index.html
│ │ │ │ └── manifest.json
│ │ │ └── package.json
│ │ │ └── application.cycle.f
│ │ │ ├── .npmrc
│ │ │ ├── ui5.yaml
│ │ │ ├── webapp
│ │ │ ├── test.js
│ │ │ ├── index.html
│ │ │ └── manifest.json
│ │ │ └── package.json
│ ├── lbt
│ │ └── modules
│ │ │ ├── not_a_module.js
│ │ │ ├── define_toplevel_unnamed.js
│ │ │ ├── define_toplevel_named.js
│ │ │ ├── declare_toplevel.js
│ │ │ └── declare_function_invocation_scope.js
│ ├── extension.a.esm
│ │ ├── package.json
│ │ └── lib
│ │ │ └── extensionModule.js
│ ├── extension.a
│ │ ├── package.json
│ │ ├── lib
│ │ │ └── extensionModule.js
│ │ └── ui5.yaml
│ ├── library.f
│ │ ├── src
│ │ │ └── library
│ │ │ │ └── f
│ │ │ │ ├── some.js
│ │ │ │ └── .library
│ │ ├── ui5.yaml
│ │ ├── node_modules
│ │ │ └── library.g
│ │ │ │ ├── ui5.yaml
│ │ │ │ └── package.json
│ │ └── package.json
│ ├── library.g
│ │ ├── src
│ │ │ └── library
│ │ │ │ └── g
│ │ │ │ ├── some.js
│ │ │ │ └── .library
│ │ ├── ui5.yaml
│ │ ├── node_modules
│ │ │ └── library.f
│ │ │ │ ├── ui5.yaml
│ │ │ │ └── package.json
│ │ └── package.json
│ ├── err.application.a
│ │ ├── ui5.yaml
│ │ ├── webapp
│ │ │ ├── test.js
│ │ │ ├── index.html
│ │ │ └── manifest.json
│ │ └── package.json
│ ├── application.a.aliases
│ │ ├── webapp
│ │ │ ├── test.js
│ │ │ ├── index.html
│ │ │ └── manifest.json
│ │ ├── node_modules
│ │ │ └── extension.a.esm.alias
│ │ │ │ ├── package.json
│ │ │ │ └── lib
│ │ │ │ └── extensionModule.js
│ │ ├── package.json
│ │ └── ui5.yaml
│ └── application.h
│ │ ├── webapp
│ │ ├── sectionsA
│ │ │ ├── section1.js
│ │ │ ├── section2.js
│ │ │ └── section3.js
│ │ ├── sectionsB
│ │ │ ├── section1.js
│ │ │ ├── section2.js
│ │ │ └── section3.js
│ │ ├── Component.js
│ │ └── manifest.json
│ │ ├── projectDependencies-missing-id.yaml
│ │ ├── projectDependencies-missing-path.yaml
│ │ ├── projectDependencies-missing-version.yaml
│ │ ├── projectDependencies.yaml
│ │ ├── webapp-properties.appId
│ │ └── manifest.json
│ │ ├── webapp-project.artifactId
│ │ └── manifest.json
│ │ ├── webapp-properties.componentName
│ │ └── manifest.json
│ │ └── pom.xml
└── lib
│ ├── build
│ └── definitions
│ │ ├── module.js
│ │ └── utils.js
│ ├── ui5framework
│ └── AbstractInstaller.js
│ ├── utils
│ └── fs.js
│ └── graph
│ ├── graphFromPackageDependencies.js
│ └── providers
│ └── NodePackageDependencies.js
├── .github
├── in-solidarity.yml
├── ISSUE_TEMPLATE.md
├── ISSUE_TEMPLATE
│ └── config.yml
├── workflows
│ ├── reuse-compliance.yml
│ ├── github-ci.yml
│ └── dependabot-auto-merge.yml
├── dependabot.yml
└── PULL_REQUEST_TEMPLATE.md
├── .npmrc
├── CONTRIBUTING.md
├── .gitattributes
├── docs
├── BuildExtensibility.md
└── Configuration.md
├── eslint.config.js
├── lib
├── utils
│ └── fs.js
├── build
│ ├── definitions
│ │ ├── module.js
│ │ ├── _utils.js
│ │ └── themeLibrary.js
│ └── helpers
│ │ └── ProjectBuilderOutputStyle.js
├── ui5Framework
│ └── maven
│ │ └── CacheMode.js
├── validation
│ └── schema
│ │ ├── specVersion
│ │ └── specVersion.json
│ │ └── ui5.json
└── specifications
│ ├── extensions
│ ├── ServerMiddleware.js
│ ├── Task.js
│ └── ProjectShim.js
│ └── Extension.js
├── jsdoc-plugin.cjs
├── .editorconfig
├── .chglog
├── config.yml
├── RELEASE.tpl.md
└── release-config.yml
├── .gitignore
└── jsdoc.json
/test/fixtures/glob/package.json:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/init-library/src/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/init-library/test/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/ui5-test-empty.yaml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/glob/application.a/package.json:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/glob/application.a/webapp/test.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/glob/application.b/package.json:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/init-application/webapp/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/library.e/test/library/e/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/library.h/empty-ui5-workspace.yaml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/fsInterface/foo.txt:
--------------------------------------------------------------------------------
1 | content of /foo.txt
--------------------------------------------------------------------------------
/test/fixtures/glob/application.a/webapp/index.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/glob/application.b/webapp/manifest.json:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/init-invalid-webapp-src/src/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/init-invalid-webapp-src/webapp/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/library.d/main/test/library/d/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.github/in-solidarity.yml:
--------------------------------------------------------------------------------
1 | _extends: ietf/terminology
2 |
--------------------------------------------------------------------------------
/test/fixtures/collection/library.c/test/LibraryC/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/glob/application.b/webapp/i18n.properties:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/init-invalid-no-package-json/webapp/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/collection.b/library.a/test/library/a/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/collection.b/library.b/test/library/b/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/collection.b/library.c/test/LibraryC/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/collection/library.a/test/library/a/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/collection/library.b/test/library/b/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/glob/application.b/webapp/embedded/manifest.json:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/glob/application.b/webapp/i18n/i18n.properties:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/glob/application.b/webapp/i18n/i18n_de.properties:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/glob/application.b/webapp/i18n/l10n.properties:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/legacy.library.a/test/legacy/library/a/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/legacy.library.b/test/legacy/library/b/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/library.d-adtl-deps/main/test/library/d/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/library.d-depender/main/test/library/d/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/theme.library.e/test/theme/library/e/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/ui5-test-corrupt.yaml:
--------------------------------------------------------------------------------
1 | |-\nfoo\nbar
2 |
--------------------------------------------------------------------------------
/test/fixtures/glob/application.b/webapp/embedded/i18n_fr.properties:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/library.h/corrupt-ui5-workspace.yaml:
--------------------------------------------------------------------------------
1 | |-\nfoo\nbar
2 |
--------------------------------------------------------------------------------
/test/fixtures/application.b/webapp/i18n.properties:
--------------------------------------------------------------------------------
1 | title=app-i18n-wrong
--------------------------------------------------------------------------------
/test/fixtures/application.b/webapp/i18n/i18n.properties:
--------------------------------------------------------------------------------
1 | title=app-i18n
--------------------------------------------------------------------------------
/test/fixtures/build-manifest/library.e/test-resources/library/e/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/collection/node_modules/library.d/test/library/d/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/glob/application.b/webapp/embedded/i18n/i18n.properties:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/glob/application.b/webapp/embedded/i18n/i18n_de.properties:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/library.e/node_modules/library.d/test/library/d/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/module.a/dev/devTools.js:
--------------------------------------------------------------------------------
1 | console.log("dev dev dev");
2 |
--------------------------------------------------------------------------------
/test/fixtures/module.a/dist/index.js:
--------------------------------------------------------------------------------
1 | console.log("Hello World!");
2 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/task.a.js:
--------------------------------------------------------------------------------
1 | module.exports = function () {};
2 |
--------------------------------------------------------------------------------
/test/fixtures/application.b/webapp/i18n/i18n_de.properties:
--------------------------------------------------------------------------------
1 | title=app-i18n_de
--------------------------------------------------------------------------------
/test/fixtures/application.b/webapp/i18n/l10n.properties:
--------------------------------------------------------------------------------
1 | title=app-i18n-wrong
--------------------------------------------------------------------------------
/test/fixtures/application.c/node_modules/library.e/test/library/e/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/application.c2/node_modules/library.e/test/library/e/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/application.c3/node_modules/library.e/test/library/e/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/application.d/node_modules/library.e/test/library/e/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/application.e/node_modules/library.e/test/library/e/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/application.f/node_modules/library.e/test/library/e/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/middleware.a.js:
--------------------------------------------------------------------------------
1 | module.exports = function () {};
2 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/node_modules/library.d/main/test/library/d/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/application.b/node_modules/library.d/main/test/library/d/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/application.b/webapp/embedded/i18n/i18n.properties:
--------------------------------------------------------------------------------
1 | title=embedded-i18n
--------------------------------------------------------------------------------
/test/fixtures/application.c/node_modules/library.d/main/test/library/d/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/application.c3/node_modules/library.d/main/test/library/d/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/application.f/node_modules/library.d/main/test/library/d/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/application.g/node_modules/library.d/main/test/library/d/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/node_modules/collection/library.a/test/library/a/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/node_modules/collection/library.b/test/library/b/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/node_modules/collection/library.c/test/LibraryC/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/application.b/node_modules/collection/library.a/test/library/a/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/application.b/node_modules/collection/library.b/test/library/b/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/application.b/node_modules/collection/library.c/test/LibraryC/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/legacy.collection.a/src/legacy.library.x/test/legacy/library/x/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/legacy.collection.a/src/legacy.library.y/test/legacy/library/y/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/library.d-depender/node_modules/library.d/main/test/library/d/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/application.b/webapp/embedded/i18n/i18n_de.properties:
--------------------------------------------------------------------------------
1 | title=embedded-i18n_de
--------------------------------------------------------------------------------
/test/fixtures/application.b/webapp/embedded/i18n_fr.properties:
--------------------------------------------------------------------------------
1 | title=embedded-i18n_fr-wrong
--------------------------------------------------------------------------------
/test/fixtures/application.c2/node_modules/library.d-depender/main/test/library/d/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/application.c3/node_modules/library.d-depender/main/test/library/d/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.a/test/cycle/a/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.b/test/cycle/b/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.c/test/cycle/c/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.d/test/cycle/d/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.e/test/cycle/e/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/application.c/node_modules/library.e/node_modules/library.d/test/library/d/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/application.d/node_modules/library.e/node_modules/library.d/test/library/d/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/lbt/modules/not_a_module.js:
--------------------------------------------------------------------------------
1 | // this file does not contain a UI5 module definition
--------------------------------------------------------------------------------
/test/fixtures/library.h/src/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
--------------------------------------------------------------------------------
/test/fixtures/application.a/node_modules/collection/node_modules/library.d/test/library/d/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/application.b/node_modules/collection/node_modules/library.d/test/library/d/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/application.c2/node_modules/library.e/node_modules/library.d/test/library/d/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/component.cycle.a/test/component/cycle/a/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.g/.npmrc:
--------------------------------------------------------------------------------
1 | registry=http://127.0.0.1:99999/
--------------------------------------------------------------------------------
/test/fixtures/library.e/node_modules/library.d/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | name: library.d
3 | type: library
4 |
--------------------------------------------------------------------------------
/test/fixtures/extension.a.esm/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "extension.a",
3 | "type": "module"
4 | }
5 |
--------------------------------------------------------------------------------
/test/fixtures/extension.a/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "extension.a",
3 | "version": "1.0.0"
4 | }
5 |
--------------------------------------------------------------------------------
/test/fixtures/library.e/src/library/e/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
--------------------------------------------------------------------------------
/test/fixtures/library.f/src/library/f/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
--------------------------------------------------------------------------------
/test/fixtures/library.g/src/library/g/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
--------------------------------------------------------------------------------
/test/fixtures/application.c2/node_modules/library.d-depender/node_modules/library.d/main/test/library/d/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/library.d/main/src/library/d/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
--------------------------------------------------------------------------------
/test/fixtures/library.f/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.f
6 |
--------------------------------------------------------------------------------
/test/fixtures/library.g/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.g
6 |
--------------------------------------------------------------------------------
/test/fixtures/library.h/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.6"
3 | type: library
4 | metadata:
5 | name: library.h
6 |
--------------------------------------------------------------------------------
/test/fixtures/module.a/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.6"
3 | type: module
4 | metadata:
5 | name: module.a
6 |
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | # Enforce public npm registry
2 | registry=https://registry.npmjs.org/
3 | lockfile-version=3
4 | ignore-scripts=true
--------------------------------------------------------------------------------
/test/fixtures/legacy.library.a/src/legacy/library/a/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
--------------------------------------------------------------------------------
/test/fixtures/legacy.library.b/src/legacy/library/b/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
--------------------------------------------------------------------------------
/test/fixtures/library.d-depender/main/src/library/d/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
--------------------------------------------------------------------------------
/test/fixtures/application.c/node_modules/library.e/node_modules/library.d/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | name: library.d
3 | type: library
4 |
--------------------------------------------------------------------------------
/test/fixtures/build-manifest/library.e/resources/library/e/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
--------------------------------------------------------------------------------
/test/fixtures/collection/library.a/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.a
6 |
--------------------------------------------------------------------------------
/test/fixtures/collection/library.b/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.b
6 |
--------------------------------------------------------------------------------
/test/fixtures/collection/library.c/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.c
6 |
--------------------------------------------------------------------------------
/test/fixtures/library.d-adtl-deps/main/src/library/d/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
5 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: application
4 | metadata:
5 | name: application.a
6 |
--------------------------------------------------------------------------------
/test/fixtures/application.b/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: application
4 | metadata:
5 | name: application.b
6 |
--------------------------------------------------------------------------------
/test/fixtures/application.d/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: application
4 | metadata:
5 | name: application.d
6 |
--------------------------------------------------------------------------------
/test/fixtures/application.e/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: application
4 | metadata:
5 | name: application.e
6 |
--------------------------------------------------------------------------------
/test/fixtures/application.f/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: application
4 | metadata:
5 | name: application.f
6 |
--------------------------------------------------------------------------------
/test/fixtures/application.g/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: application
4 | metadata:
5 | name: application.g
6 |
--------------------------------------------------------------------------------
/test/fixtures/collection.b/library.a/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.a
6 |
--------------------------------------------------------------------------------
/test/fixtures/collection.b/library.b/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.b
6 |
--------------------------------------------------------------------------------
/test/fixtures/collection.b/library.c/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.c
6 |
--------------------------------------------------------------------------------
/test/fixtures/err.application.a/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: application
4 | metadata:
5 | name: err.app.a
6 |
--------------------------------------------------------------------------------
/test/fixtures/application.d/node_modules/library.e/src/library/e/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.c/node_modules/@ui5-internal/library.cycle.d/test/cycle/d/Test.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/glob/application.a/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: application
4 | metadata:
5 | name: application.a
6 |
--------------------------------------------------------------------------------
/test/fixtures/glob/application.b/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: application
4 | metadata:
5 | name: application.b
6 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/node_modules/library.d/main/src/library/d/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
--------------------------------------------------------------------------------
/test/fixtures/application.b/node_modules/library.d/main/src/library/d/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
--------------------------------------------------------------------------------
/test/fixtures/application.c/node_modules/library.d/main/src/library/d/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
--------------------------------------------------------------------------------
/test/fixtures/application.c3/node_modules/library.d/main/src/library/d/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
--------------------------------------------------------------------------------
/test/fixtures/application.f/node_modules/library.d/main/src/library/d/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
--------------------------------------------------------------------------------
/test/fixtures/application.g/node_modules/library.d/main/src/library/d/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.a/.npmrc:
--------------------------------------------------------------------------------
1 | registry=http://127.0.0.1:99999/
2 | ignore-scripts=true
3 | offline=true
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.b/.npmrc:
--------------------------------------------------------------------------------
1 | registry=http://127.0.0.1:99999/
2 | ignore-scripts=true
3 | offline=true
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.c/.npmrc:
--------------------------------------------------------------------------------
1 | registry=http://127.0.0.1:99999/
2 | ignore-scripts=true
3 | offline=true
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.d/.npmrc:
--------------------------------------------------------------------------------
1 | registry=http://127.0.0.1:99999/
2 | ignore-scripts=true
3 | offline=true
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.e/.npmrc:
--------------------------------------------------------------------------------
1 | registry=http://127.0.0.1:99999/
2 | ignore-scripts=true
3 | offline=true
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.f/.npmrc:
--------------------------------------------------------------------------------
1 | registry=http://127.0.0.1:99999/
2 | ignore-scripts=true
3 | offline=true
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.h/.npmrc:
--------------------------------------------------------------------------------
1 | registry=http://127.0.0.1:99999/
2 | ignore-scripts=true
3 | offline=true
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.i/.npmrc:
--------------------------------------------------------------------------------
1 | registry=http://127.0.0.1:99999/
2 | ignore-scripts=true
3 | offline=true
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.j/.npmrc:
--------------------------------------------------------------------------------
1 | registry=http://127.0.0.1:99999/
2 | ignore-scripts=true
3 | offline=true
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.k/.npmrc:
--------------------------------------------------------------------------------
1 | registry=http://127.0.0.1:99999/
2 | ignore-scripts=true
3 | offline=true
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.l/.npmrc:
--------------------------------------------------------------------------------
1 | registry=http://127.0.0.1:99999/
2 | ignore-scripts=true
3 | offline=true
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.m/.npmrc:
--------------------------------------------------------------------------------
1 | registry=http://127.0.0.1:99999/
2 | ignore-scripts=true
3 | offline=true
--------------------------------------------------------------------------------
/test/fixtures/library.d-adtl-deps/node_modules/library.f/src/library/f/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
--------------------------------------------------------------------------------
/test/fixtures/library.d-adtl-deps/node_modules/library.g/src/library/g/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
--------------------------------------------------------------------------------
/test/fixtures/library.f/node_modules/library.g/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.g
6 |
--------------------------------------------------------------------------------
/test/fixtures/library.g/node_modules/library.f/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.f
6 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/webapp/test.js:
--------------------------------------------------------------------------------
1 | function test(paramA) {
2 | var variableA = paramA;
3 | console.log(variableA);
4 | }
5 | test();
6 |
--------------------------------------------------------------------------------
/test/fixtures/collection.b/test.js:
--------------------------------------------------------------------------------
1 | import {globby} from 'globby';
2 |
3 | const paths = await globby(["library.a"]);
4 | console.log("paths")
5 |
--------------------------------------------------------------------------------
/test/fixtures/collection/test.js:
--------------------------------------------------------------------------------
1 | import {globby} from 'globby';
2 |
3 | const paths = await globby(["library.a"]);
4 | console.log("paths")
5 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.a/.npmrc:
--------------------------------------------------------------------------------
1 | registry=http://127.0.0.1:99999/
2 | ignore-scripts=true
3 | offline=true
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.b/.npmrc:
--------------------------------------------------------------------------------
1 | registry=http://127.0.0.1:99999/
2 | ignore-scripts=true
3 | offline=true
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.c/.npmrc:
--------------------------------------------------------------------------------
1 | registry=http://127.0.0.1:99999/
2 | ignore-scripts=true
3 | offline=true
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.d/.npmrc:
--------------------------------------------------------------------------------
1 | registry=http://127.0.0.1:99999/
2 | ignore-scripts=true
3 | offline=true
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.e/.npmrc:
--------------------------------------------------------------------------------
1 | registry=http://127.0.0.1:99999/
2 | ignore-scripts=true
3 | offline=true
--------------------------------------------------------------------------------
/test/fixtures/legacy.collection.a/src/legacy.library.x/src/legacy/library/x/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
--------------------------------------------------------------------------------
/test/fixtures/legacy.collection.a/src/legacy.library.y/src/legacy/library/y/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
--------------------------------------------------------------------------------
/test/fixtures/legacy.library.a/node_modules/library.f/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.f
6 |
--------------------------------------------------------------------------------
/test/fixtures/legacy.library.b/node_modules/library.f/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.f
6 |
--------------------------------------------------------------------------------
/test/fixtures/library.d-depender/node_modules/library.d/main/src/library/d/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
--------------------------------------------------------------------------------
/test/fixtures/application.c2/node_modules/library.d-depender/main/src/library/d/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.a/.npmrc:
--------------------------------------------------------------------------------
1 | registry=http://127.0.0.1:99999/
2 | ignore-scripts=true
3 | offline=true
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.b/.npmrc:
--------------------------------------------------------------------------------
1 | registry=http://127.0.0.1:99999/
2 | ignore-scripts=true
3 | offline=true
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.c/.npmrc:
--------------------------------------------------------------------------------
1 | registry=http://127.0.0.1:99999/
2 | ignore-scripts=true
3 | offline=true
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.d/.npmrc:
--------------------------------------------------------------------------------
1 | registry=http://127.0.0.1:99999/
2 | ignore-scripts=true
3 | offline=true
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.e/.npmrc:
--------------------------------------------------------------------------------
1 | registry=http://127.0.0.1:99999/
2 | ignore-scripts=true
3 | offline=true
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.f/.npmrc:
--------------------------------------------------------------------------------
1 | registry=http://127.0.0.1:99999/
2 | ignore-scripts=true
3 | offline=true
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/component.cycle.a/.npmrc:
--------------------------------------------------------------------------------
1 | registry=http://127.0.0.1:99999/
2 | ignore-scripts=true
3 | offline=true
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.a/src/cycle/a/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.b/src/cycle/b/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.c/src/cycle/c/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.d/src/cycle/d/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.e/src/cycle/e/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.c/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: module
4 | metadata:
5 | name: module.c
6 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.d/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: module
4 | metadata:
5 | name: module.d
6 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.e/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: module
4 | metadata:
5 | name: module.e
6 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.f/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: module
4 | metadata:
5 | name: module.f
6 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.g/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: module
4 | metadata:
5 | name: module.g
6 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.h/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: module
4 | metadata:
5 | name: module.h
6 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.i/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: module
4 | metadata:
5 | name: module.i
6 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.j/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: module
4 | metadata:
5 | name: module.j
6 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.k/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: module
4 | metadata:
5 | name: module.k
6 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.l/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: module
4 | metadata:
5 | name: module.l
6 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.m/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: module
4 | metadata:
5 | name: module.m
6 |
--------------------------------------------------------------------------------
/test/fixtures/err.application.a/webapp/test.js:
--------------------------------------------------------------------------------
1 | function test(paramA) {
2 | var variableA = paramA;
3 | console.log(variableA);
4 | }
5 | test();
6 |
--------------------------------------------------------------------------------
/test/fixtures/library.d-adtl-deps/node_modules/library.f/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.f
6 |
--------------------------------------------------------------------------------
/test/fixtures/library.d-adtl-deps/node_modules/library.g/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.g
6 |
--------------------------------------------------------------------------------
/test/fixtures/application.a.aliases/webapp/test.js:
--------------------------------------------------------------------------------
1 | function test(paramA) {
2 | var variableA = paramA;
3 | console.log(variableA);
4 | }
5 | test();
6 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/node_modules/collection/library.a/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.a
6 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/node_modules/collection/library.b/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.b
6 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/node_modules/collection/library.c/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.c
6 |
--------------------------------------------------------------------------------
/test/fixtures/application.b/node_modules/collection/library.a/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.a
6 |
--------------------------------------------------------------------------------
/test/fixtures/application.b/node_modules/collection/library.b/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.b
6 |
--------------------------------------------------------------------------------
/test/fixtures/application.b/node_modules/collection/library.c/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.c
6 |
--------------------------------------------------------------------------------
/test/fixtures/application.c3/node_modules/library.d-depender/main/src/library/d-depender/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contributing to the UI5 CLI
2 |
3 | See CONTRIBUTING.md in the [UI5/cli](https://github.com/UI5/cli/blob/v4/CONTRIBUTING.md) repository.
4 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/ui5-test-error.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: application
4 | metadata:
5 | name: application.a
6 | xyz:
7 | foo: true
--------------------------------------------------------------------------------
/test/fixtures/application.h/webapp/sectionsA/section1.js:
--------------------------------------------------------------------------------
1 | sap.ui.define(["sap/m/Button"], function(Button) {
2 | console.log("Section 1 included");
3 | });
4 |
--------------------------------------------------------------------------------
/test/fixtures/application.h/webapp/sectionsA/section2.js:
--------------------------------------------------------------------------------
1 | sap.ui.define(["sap/m/Button"], function(Button) {
2 | console.log("Section 2 included");
3 | });
4 |
--------------------------------------------------------------------------------
/test/fixtures/application.h/webapp/sectionsA/section3.js:
--------------------------------------------------------------------------------
1 | sap.ui.define(["sap/m/Button"], function(Button) {
2 | console.log("Section 3 included");
3 | });
4 |
--------------------------------------------------------------------------------
/test/fixtures/application.h/webapp/sectionsB/section1.js:
--------------------------------------------------------------------------------
1 | sap.ui.define(["sap/m/Button"], function(Button) {
2 | console.log("Section 1 included");
3 | });
4 |
--------------------------------------------------------------------------------
/test/fixtures/application.h/webapp/sectionsB/section2.js:
--------------------------------------------------------------------------------
1 | sap.ui.define(["sap/m/Button"], function(Button) {
2 | console.log("Section 2 included");
3 | });
4 |
--------------------------------------------------------------------------------
/test/fixtures/application.h/webapp/sectionsB/section3.js:
--------------------------------------------------------------------------------
1 | sap.ui.define(["sap/m/Button"], function(Button) {
2 | console.log("Section 3 included");
3 | });
4 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/component.cycle.a/src/component/cycle/a/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
--------------------------------------------------------------------------------
/test/fixtures/application.a/webapp/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Application A
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/test/fixtures/application.c2/node_modules/library.e/node_modules/library.d/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.d
6 |
--------------------------------------------------------------------------------
/test/fixtures/application.d/node_modules/library.e/node_modules/library.d/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.d
6 |
--------------------------------------------------------------------------------
/test/fixtures/build-manifest/application.a/resources/id1/test.js:
--------------------------------------------------------------------------------
1 | function test(paramA) {
2 | var variableA = paramA;
3 | console.log(variableA);
4 | }
5 | test();
6 |
--------------------------------------------------------------------------------
/test/fixtures/application.a.aliases/node_modules/extension.a.esm.alias/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "extension.a",
3 | "type": "module",
4 | "version": "1.0.0"
5 | }
6 |
--------------------------------------------------------------------------------
/test/fixtures/application.c2/node_modules/library.d-depender/node_modules/library.d/main/src/library/d/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
--------------------------------------------------------------------------------
/test/fixtures/build-manifest/application.a/resources/id1/test-dbg.js:
--------------------------------------------------------------------------------
1 | function test(paramA) {
2 | var variableA = paramA;
3 | console.log(variableA);
4 | }
5 | test();
6 |
--------------------------------------------------------------------------------
/test/fixtures/legacy.collection.a/src/legacy.library.x/node_modules/library.f/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.f
6 |
--------------------------------------------------------------------------------
/test/fixtures/legacy.collection.a/src/legacy.library.y/node_modules/library.f/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.f
6 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.a/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: application
4 | metadata:
5 | name: application.cycle.a
6 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.c/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: application
4 | metadata:
5 | name: application.cycle.c
6 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.d/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: application
4 | metadata:
5 | name: application.cycle.d
6 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.e/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: application
4 | metadata:
5 | name: application.cycle.e
6 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.f/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: application
4 | metadata:
5 | name: application.cycle.f
6 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | * text=auto eol=lf
2 | build/** -linguist-generated=false
3 | lib/build/** linguist-generated=false
4 | lib/** linguist-vendored=false
5 | lib/** linguist-generated=false
--------------------------------------------------------------------------------
/test/fixtures/extension.a/lib/extensionModule.js:
--------------------------------------------------------------------------------
1 | module.exports = () => "extension module";
2 | module.exports.determineRequiredDependencies = () => "required dependencies function";
3 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | ## 🚨 Issues Have Been Transferred to UI5 CLI Repository
2 |
3 | Please create new issues in the UI5 CLI repository: https://github.com/UI5/cli/issues/new/choose
4 |
--------------------------------------------------------------------------------
/test/fixtures/application.a.aliases/webapp/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Application A
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/ui5-test-configPath.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: application
4 | metadata:
5 | name: application.a
6 | customConfiguration:
7 | configPathTest: true
--------------------------------------------------------------------------------
/test/fixtures/build-manifest/application.a/resources/id1/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Application A
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.a/webapp/test.js:
--------------------------------------------------------------------------------
1 | function test(paramA) {
2 | var variableA = paramA;
3 | console.log(variableA);
4 | }
5 | test();
6 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.b/webapp/test.js:
--------------------------------------------------------------------------------
1 | function test(paramA) {
2 | var variableA = paramA;
3 | console.log(variableA);
4 | }
5 | test();
6 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.c/webapp/test.js:
--------------------------------------------------------------------------------
1 | function test(paramA) {
2 | var variableA = paramA;
3 | console.log(variableA);
4 | }
5 | test();
6 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.d/webapp/test.js:
--------------------------------------------------------------------------------
1 | function test(paramA) {
2 | var variableA = paramA;
3 | console.log(variableA);
4 | }
5 | test();
6 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.e/webapp/test.js:
--------------------------------------------------------------------------------
1 | function test(paramA) {
2 | var variableA = paramA;
3 | console.log(variableA);
4 | }
5 | test();
6 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.f/webapp/test.js:
--------------------------------------------------------------------------------
1 | function test(paramA) {
2 | var variableA = paramA;
3 | console.log(variableA);
4 | }
5 | test();
6 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.c/node_modules/@ui5-internal/library.cycle.d/.npmrc:
--------------------------------------------------------------------------------
1 | registry=http://127.0.0.1:99999/
2 | ignore-scripts=true
3 | offline=true
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.c/node_modules/@ui5-internal/library.cycle.d/src/cycle/d/some.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 | console.log('HelloWorld');
--------------------------------------------------------------------------------
/test/fixtures/err.application.a/webapp/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Error Application A
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/test/fixtures/extension.a/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.0"
3 | kind: extension
4 | type: task
5 | metadata:
6 | name: extension.a-ui5-yaml
7 | task:
8 | path: lib/extensionModule.js
9 |
--------------------------------------------------------------------------------
/test/fixtures/lbt/modules/define_toplevel_unnamed.js:
--------------------------------------------------------------------------------
1 | //declares module sap.ui.testmodule
2 | sap.ui.define(["define/arg1","define/arg2"], function(Strings,Dom,Something) {
3 |
4 | });
5 |
--------------------------------------------------------------------------------
/test/fixtures/extension.a.esm/lib/extensionModule.js:
--------------------------------------------------------------------------------
1 | export default () => "extension module";
2 | export function determineRequiredDependencies () { return "required dependencies function" };
3 |
--------------------------------------------------------------------------------
/test/fixtures/library.h/invalid-ui5-workspace.yaml:
--------------------------------------------------------------------------------
1 | specVersion: wörkspace/1.0
2 | metadata:
3 | name: default
4 | dependencyManagement:
5 | resolutions:
6 | - path: ../library.d
7 |
--------------------------------------------------------------------------------
/test/fixtures/lbt/modules/define_toplevel_named.js:
--------------------------------------------------------------------------------
1 | //declares module sap.ui.testmodule
2 | sap.ui.define("sap/ui/testmodule", ["define/arg1","define/arg2"], function(Strings,Dom,Something) {
3 |
4 | });
5 |
--------------------------------------------------------------------------------
/test/fixtures/application.c/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: application
4 | metadata:
5 | name: application.c
6 | resources:
7 | configuration:
8 | paths:
9 | webapp: src
10 |
--------------------------------------------------------------------------------
/docs/BuildExtensibility.md:
--------------------------------------------------------------------------------
1 | # UI5 Build Extensibility
2 | This documentation moved to a new place: [ui5.github.io/cli/pages/extensibility/CustomTasks/](https://ui5.github.io/cli/pages/extensibility/CustomTasks/)
3 |
--------------------------------------------------------------------------------
/test/fixtures/application.c2/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: application
4 | metadata:
5 | name: application.c2
6 | resources:
7 | configuration:
8 | paths:
9 | webapp: src
10 |
--------------------------------------------------------------------------------
/test/fixtures/application.c3/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: application
4 | metadata:
5 | name: application.c3
6 | resources:
7 | configuration:
8 | paths:
9 | webapp: src
10 |
--------------------------------------------------------------------------------
/test/fixtures/application.h/projectDependencies-missing-id.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | version: "0.0.1"
3 | path: "../application.a"
4 | dependencies:
5 | - id: static-library.e
6 | version: "0.0.1"
7 | path: "../library.e"
8 |
--------------------------------------------------------------------------------
/test/fixtures/collection.b/library.a/src/library/a/themes/base/library.source.less:
--------------------------------------------------------------------------------
1 | @libraryAColor1: lightgoldenrodyellow;
2 |
3 | .library-a-foo {
4 | color: @libraryAColor1;
5 | padding: 1px 2px 3px 4px;
6 | }
7 |
--------------------------------------------------------------------------------
/test/fixtures/collection.b/sub-empty/.keep:
--------------------------------------------------------------------------------
1 | This file is a stand-in for an empty project directory.
2 | This directory, even though matching the npm workspace configuration pattern, should be ignored by UI5 CLI.
3 |
--------------------------------------------------------------------------------
/test/fixtures/collection/library.a/src/library/a/themes/base/library.source.less:
--------------------------------------------------------------------------------
1 | @libraryAColor1: lightgoldenrodyellow;
2 |
3 | .library-a-foo {
4 | color: @libraryAColor1;
5 | padding: 1px 2px 3px 4px;
6 | }
7 |
--------------------------------------------------------------------------------
/test/fixtures/theme.library.e/src/theme/library/e/themes/my_theme/library.source.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * ${copyright}
3 | */
4 |
5 | @mycolor: blue;
6 |
7 | .sapUiBody {
8 | background-color: @mycolor;
9 | }
10 |
--------------------------------------------------------------------------------
/test/fixtures/application.h/projectDependencies-missing-path.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | id: static-application.a
3 | version: "0.0.1"
4 | path: "../application.a"
5 | dependencies:
6 | - id: static-library.e
7 | version: "0.0.1"
8 |
--------------------------------------------------------------------------------
/test/fixtures/application.h/projectDependencies-missing-version.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | id: static-application.a
3 | path: "../application.a"
4 | dependencies:
5 | - id: static-library.e
6 | version: "0.0.1"
7 | path: "../library.e"
8 |
--------------------------------------------------------------------------------
/test/fixtures/library.d-adtl-deps/ui5.yaml:
--------------------------------------------------------------------------------
1 | specVersion: "2.3"
2 | type: library
3 | metadata:
4 | name: library.d
5 | resources:
6 | configuration:
7 | paths:
8 | src: main/src
9 | test: main/test
10 |
--------------------------------------------------------------------------------
/test/fixtures/library.d/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.d
6 | resources:
7 | configuration:
8 | paths:
9 | src: main/src
10 | test: main/test
11 |
--------------------------------------------------------------------------------
/test/fixtures/application.a.aliases/node_modules/extension.a.esm.alias/lib/extensionModule.js:
--------------------------------------------------------------------------------
1 | export default () => "extension module";
2 | export function determineRequiredDependencies () { return "required dependencies function" };
3 |
--------------------------------------------------------------------------------
/test/fixtures/application.h/projectDependencies.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | id: static-application.a
3 | version: "0.0.1"
4 | path: "../application.a"
5 | dependencies:
6 | - id: static-library.e
7 | version: "0.0.1"
8 | path: "../library.e"
9 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.a/webapp/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Application Cycle A
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.b/webapp/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Application Cycle B
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.c/webapp/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Application Cycle C
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.d/webapp/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Application Cycle D
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.e/webapp/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Application Cycle E
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.f/webapp/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Application Cycle F
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/node_modules/collection/library.a/src/library/a/themes/base/library.source.less:
--------------------------------------------------------------------------------
1 | @libraryAColor1: lightgoldenrodyellow;
2 |
3 | .library-a-foo {
4 | color: @libraryAColor1;
5 | padding: 1px 2px 3px 4px;
6 | }
7 |
--------------------------------------------------------------------------------
/test/fixtures/application.b/node_modules/collection/library.a/src/library/a/themes/base/library.source.less:
--------------------------------------------------------------------------------
1 | @libraryAColor1: lightgoldenrodyellow;
2 |
3 | .library-a-foo {
4 | color: @libraryAColor1;
5 | padding: 1px 2px 3px 4px;
6 | }
7 |
--------------------------------------------------------------------------------
/test/fixtures/collection/node_modules/library.d/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.d
6 | resources:
7 | configuration:
8 | paths:
9 | src: main/src
10 | test: main/test
11 |
--------------------------------------------------------------------------------
/test/fixtures/library.d-depender/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.d-depender
6 | resources:
7 | configuration:
8 | paths:
9 | src: main/src
10 | test: main/test
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/node_modules/library.d/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.d
6 | resources:
7 | configuration:
8 | paths:
9 | src: main/src
10 | test: main/test
11 |
--------------------------------------------------------------------------------
/test/fixtures/application.b/node_modules/library.d/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.d
6 | resources:
7 | configuration:
8 | paths:
9 | src: main/src
10 | test: main/test
11 |
--------------------------------------------------------------------------------
/test/fixtures/application.c/node_modules/library.d/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.d
6 | resources:
7 | configuration:
8 | paths:
9 | src: main/src
10 | test: main/test
11 |
--------------------------------------------------------------------------------
/test/fixtures/application.c3/node_modules/library.d/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.d
6 | resources:
7 | configuration:
8 | paths:
9 | src: main/src
10 | test: main/test
11 |
--------------------------------------------------------------------------------
/test/fixtures/application.f/node_modules/library.d/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.d
6 | resources:
7 | configuration:
8 | paths:
9 | src: main/src
10 | test: main/test
11 |
--------------------------------------------------------------------------------
/test/fixtures/application.g/node_modules/library.d/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.d
6 | resources:
7 | configuration:
8 | paths:
9 | src: main/src
10 | test: main/test
11 |
--------------------------------------------------------------------------------
/test/fixtures/application.h/webapp/Component.js:
--------------------------------------------------------------------------------
1 | sap.ui.define(["sap/ui/core/UIComponent"], function(UIComponent){
2 | "use strict";
3 | return UIComponent.extend('application.h.Component', {
4 | metadata: {
5 | manifest: "json"
6 | }
7 | });
8 | });
9 |
--------------------------------------------------------------------------------
/test/fixtures/library.d-depender/node_modules/library.d/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.d
6 | resources:
7 | configuration:
8 | paths:
9 | src: main/src
10 | test: main/test
11 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: false
2 | contact_links:
3 | - name: Report UI5 CLI Issues or Request a Feature
4 | url: https://github.com/UI5/cli/issues/new/choose
5 | about: Please create new issues in the UI5 CLI repository
6 |
--------------------------------------------------------------------------------
/test/fixtures/collection.b/sub-collection/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "sub-collection",
3 | "version": "1.0.0",
4 | "description": "Sub-Collection package",
5 | "ui5": {
6 | "workspaces": [
7 | "../../library.d"
8 | ]
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/test/fixtures/library.d/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.d",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "dependencies": {},
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/node_modules/collection/node_modules/library.d/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.d
6 | resources:
7 | configuration:
8 | paths:
9 | src: main/src
10 | test: main/test
11 |
--------------------------------------------------------------------------------
/test/fixtures/application.b/node_modules/collection/node_modules/library.d/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.d
6 | resources:
7 | configuration:
8 | paths:
9 | src: main/src
10 | test: main/test
11 |
--------------------------------------------------------------------------------
/test/fixtures/application.c2/node_modules/library.d-depender/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.d-depender
6 | resources:
7 | configuration:
8 | paths:
9 | src: main/src
10 | test: main/test
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.c3/node_modules/library.d-depender/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.d-depender
6 | resources:
7 | configuration:
8 | paths:
9 | src: main/src
10 | test: main/test
11 |
12 |
--------------------------------------------------------------------------------
/test/lib/build/definitions/module.js:
--------------------------------------------------------------------------------
1 | import test from "ava";
2 | import moduleDefinition from "../../../../lib/build/definitions/module.js";
3 |
4 | test("Standard build", (t) => {
5 | const tasks = moduleDefinition({});
6 | t.is(tasks.size, 0, "No tasks returned");
7 | });
8 |
--------------------------------------------------------------------------------
/eslint.config.js:
--------------------------------------------------------------------------------
1 | import eslintCommonConfig from "./eslint.common.config.js";
2 |
3 | export default [
4 | ...eslintCommonConfig, // Load common ESLint config
5 | {
6 | // Add project-specific ESLint config rules here
7 | // in order to override common config
8 | }
9 | ];
10 |
--------------------------------------------------------------------------------
/test/fixtures/application.c2/node_modules/library.d-depender/node_modules/library.d/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.d
6 | resources:
7 | configuration:
8 | paths:
9 | src: main/src
10 | test: main/test
11 |
--------------------------------------------------------------------------------
/test/fixtures/collection.b/library.a/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.a",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "dependencies": {},
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/test/fixtures/collection.b/library.b/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.b",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "dependencies": {},
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/test/fixtures/collection.b/library.c/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.c",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "dependencies": {},
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/test/fixtures/collection/library.a/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.a",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "dependencies": {},
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/test/fixtures/collection/library.b/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.b",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "dependencies": {},
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/test/fixtures/collection/library.c/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.c",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "dependencies": {},
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/test/fixtures/collection/node_modules/library.d/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.d",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "dependencies": {},
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/test/fixtures/library.e/node_modules/library.d/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.d",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "dependencies": {},
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/node_modules/library.d/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.d",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "dependencies": {},
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/test/fixtures/application.b/node_modules/library.d/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.d",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "dependencies": {},
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/test/fixtures/application.c/node_modules/library.d/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.d",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "dependencies": {},
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/test/fixtures/application.c3/node_modules/library.d/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.d",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "dependencies": {},
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/test/fixtures/application.f/node_modules/library.d/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.d",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "dependencies": {},
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/test/fixtures/application.g/node_modules/library.d/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.d",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "dependencies": {},
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/test/fixtures/library.d-depender/node_modules/library.d/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.d",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "dependencies": {},
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/node_modules/collection/library.b/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.b",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "dependencies": {},
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/node_modules/collection/library.c/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.c",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "dependencies": {},
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/test/fixtures/application.b/node_modules/collection/library.b/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.b",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "dependencies": {},
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/test/fixtures/application.b/node_modules/collection/library.c/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.c",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "dependencies": {},
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/test/fixtures/theme.library.e/src/theme/library/e/themes/my_theme/.theme:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | my_theme
5 | me
6 | ${copyright}
7 | ${version}
8 |
9 |
--------------------------------------------------------------------------------
/test/fixtures/application.c/node_modules/library.e/node_modules/library.d/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.d",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "dependencies": {},
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/test/fixtures/application.d/node_modules/library.e/node_modules/library.d/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.d",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "dependencies": {},
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/node_modules/collection/node_modules/library.d/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.d",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "dependencies": {},
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/test/fixtures/application.b/node_modules/collection/node_modules/library.d/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.d",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "dependencies": {},
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/test/fixtures/application.c2/node_modules/library.e/node_modules/library.d/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.d",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "dependencies": {},
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/test/fixtures/init-library/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "init-library",
3 | "version": "1.0.0",
4 | "private": true,
5 | "description": "",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "keywords": [],
10 | "author": "",
11 | "license": "UNLICENSED"
12 | }
13 |
--------------------------------------------------------------------------------
/test/fixtures/application.c2/node_modules/library.d-depender/node_modules/library.d/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.d",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "dependencies": {},
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/test/fixtures/init-application/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "init-application",
3 | "version": "1.0.0",
4 | "private": true,
5 | "description": "",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "keywords": [],
10 | "author": "",
11 | "license": "UNLICENSED"
12 | }
13 |
--------------------------------------------------------------------------------
/test/fixtures/legacy.library.a/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "legacy.library.a",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library - legacy library missing ui5.yaml",
5 | "devDependencies": {
6 | },
7 | "scripts": {
8 | "test": "echo \"Error: no test specified\" && exit 1"
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/test/fixtures/legacy.library.b/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "legacy.library.b",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library - legacy library missing ui5.yaml",
5 | "devDependencies": {
6 | },
7 | "scripts": {
8 | "test": "echo \"Error: no test specified\" && exit 1"
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/test/fixtures/init-invalid-webapp-src/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "init-invalid",
3 | "version": "1.0.0",
4 | "private": true,
5 | "description": "",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "keywords": [],
10 | "author": "",
11 | "license": "UNLICENSED"
12 | }
13 |
--------------------------------------------------------------------------------
/test/fixtures/library.e/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.e
6 | copyright: |-
7 | UI development toolkit for HTML5 (OpenUI5)
8 | * (c) Copyright 2009-xxx SAP SE or an SAP affiliate company.
9 | * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
10 |
--------------------------------------------------------------------------------
/test/fixtures/library.d-depender/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.d-depender",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "dependencies": {
6 | "library.d": "file:../library.d"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.c/node_modules/library.e/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.e",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "devDependencies": {
6 | "library.d": "file:../library.d"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.e/node_modules/library.e/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.e",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "devDependencies": {
6 | "library.d": "file:../library.d"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.c2/node_modules/library.e/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.e",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "devDependencies": {
6 | "library.d": "file:../library.d"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.c3/node_modules/library.e/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.e",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "devDependencies": {
6 | "library.d": "file:../library.d"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/legacy.collection.a/src/legacy.library.x/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "legacy.library.x",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library - legacy library missing ui5.yaml",
5 | "devDependencies": {
6 | },
7 | "scripts": {
8 | "test": "echo \"Error: no test specified\" && exit 1"
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/test/fixtures/legacy.collection.a/src/legacy.library.y/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "legacy.library.y",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library - legacy library missing ui5.yaml",
5 | "devDependencies": {
6 | },
7 | "scripts": {
8 | "test": "echo \"Error: no test specified\" && exit 1"
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/test/fixtures/library.e/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.e",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library - test for dev dependencies",
5 | "devDependencies": {
6 | "library.d": "file:../library.d"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/library.e/ui5-workspace.yaml:
--------------------------------------------------------------------------------
1 | specVersion: workspace/1.0
2 | metadata:
3 | name: config-a
4 | dependencyManagement:
5 | resolutions:
6 | - path: ../library.d
7 | ---
8 | specVersion: workspace/1.0
9 | metadata:
10 | name: config-b
11 | dependencyManagement:
12 | resolutions:
13 | - path: ../library.x
14 |
--------------------------------------------------------------------------------
/test/fixtures/library.f/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.f",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library - test for circular dependencies",
5 | "dependencies": {
6 | "library.g": "file:../library.g"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/library.h/src/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.h
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library G
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/theme.library.e/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "1.1"
3 | type: theme-library
4 | metadata:
5 | name: theme.library.e
6 | copyright: |-
7 | UI development toolkit for HTML5 (OpenUI5)
8 | * (c) Copyright 2009-xxx SAP SE or an SAP affiliate company.
9 | * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
10 |
--------------------------------------------------------------------------------
/test/fixtures/library.g/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.g",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library - test for circular dependencies",
5 | "devDependencies": {
6 | "library.f": "file:../library.f"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.c/node_modules/library.e/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.e
6 | copyright: |-
7 | UI development toolkit for HTML5 (OpenUI5)
8 | * (c) Copyright 2009-xxx SAP SE or an SAP affiliate company.
9 | * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
10 |
--------------------------------------------------------------------------------
/test/fixtures/application.c/src/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "_version": "1.1.0",
3 | "sap.app": {
4 | "_version": "1.1.0",
5 | "id": "id1",
6 | "type": "application",
7 | "applicationVersion": {
8 | "version": "1.2.2"
9 | },
10 | "embeds": ["embedded"],
11 | "title": "{{title}}"
12 | }
13 | }
--------------------------------------------------------------------------------
/test/fixtures/application.c2/node_modules/library.e/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.e
6 | copyright: |-
7 | UI development toolkit for HTML5 (OpenUI5)
8 | * (c) Copyright 2009-xxx SAP SE or an SAP affiliate company.
9 | * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
10 |
--------------------------------------------------------------------------------
/test/fixtures/application.c3/node_modules/library.e/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.e
6 | copyright: |-
7 | UI development toolkit for HTML5 (OpenUI5)
8 | * (c) Copyright 2009-xxx SAP SE or an SAP affiliate company.
9 | * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
10 |
--------------------------------------------------------------------------------
/test/fixtures/application.d/node_modules/library.e/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.e
6 | copyright: |-
7 | UI development toolkit for HTML5 (OpenUI5)
8 | * (c) Copyright 2009-xxx SAP SE or an SAP affiliate company.
9 | * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
10 |
--------------------------------------------------------------------------------
/test/fixtures/application.f/node_modules/library.e/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.e
6 | copyright: |-
7 | UI development toolkit for HTML5 (OpenUI5)
8 | * (c) Copyright 2009-xxx SAP SE or an SAP affiliate company.
9 | * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
10 |
--------------------------------------------------------------------------------
/test/fixtures/library.e/src/library/e/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.e
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library E
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/library.f/src/library/f/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.f
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library F
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/library.g/src/library/g/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.g
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library G
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/webapp/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "_version": "1.1.0",
3 | "sap.app": {
4 | "_version": "1.1.0",
5 | "id": "id1",
6 | "type": "application",
7 | "applicationVersion": {
8 | "version": "1.2.2"
9 | },
10 | "embeds": ["embedded"],
11 | "title": "{{title}}"
12 | }
13 | }
--------------------------------------------------------------------------------
/test/fixtures/application.b/webapp/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "_version": "1.1.0",
3 | "sap.app": {
4 | "_version": "1.1.0",
5 | "id": "id1",
6 | "type": "application",
7 | "applicationVersion": {
8 | "version": "1.2.2"
9 | },
10 | "embeds": ["embedded"],
11 | "title": "{{title}}"
12 | }
13 | }
--------------------------------------------------------------------------------
/test/fixtures/application.c2/node_modules/library.d-depender/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.d-depender",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "dependencies": {
6 | "library.d": "file:../library.d"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.c2/src/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "_version": "1.1.0",
3 | "sap.app": {
4 | "_version": "1.1.0",
5 | "id": "id1",
6 | "type": "application",
7 | "applicationVersion": {
8 | "version": "1.2.2"
9 | },
10 | "embeds": ["embedded"],
11 | "title": "{{title}}"
12 | }
13 | }
--------------------------------------------------------------------------------
/test/fixtures/application.c3/node_modules/library.d-depender/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.d-depender",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "dependencies": {
6 | "library.d": "file:../library.d"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.c3/src/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "_version": "1.1.0",
3 | "sap.app": {
4 | "_version": "1.1.0",
5 | "id": "id1",
6 | "type": "application",
7 | "applicationVersion": {
8 | "version": "1.2.2"
9 | },
10 | "embeds": ["embedded"],
11 | "title": "{{title}}"
12 | }
13 | }
--------------------------------------------------------------------------------
/test/fixtures/application.d/webapp/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "_version": "1.1.0",
3 | "sap.app": {
4 | "_version": "1.1.0",
5 | "id": "id1",
6 | "type": "application",
7 | "applicationVersion": {
8 | "version": "1.2.2"
9 | },
10 | "embeds": ["embedded"],
11 | "title": "{{title}}"
12 | }
13 | }
--------------------------------------------------------------------------------
/test/fixtures/application.e/webapp/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "_version": "1.1.0",
3 | "sap.app": {
4 | "_version": "1.1.0",
5 | "id": "id1",
6 | "type": "application",
7 | "applicationVersion": {
8 | "version": "1.2.2"
9 | },
10 | "embeds": ["embedded"],
11 | "title": "{{title}}"
12 | }
13 | }
--------------------------------------------------------------------------------
/test/fixtures/application.f/webapp/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "_version": "1.1.0",
3 | "sap.app": {
4 | "_version": "1.1.0",
5 | "id": "id1",
6 | "type": "application",
7 | "applicationVersion": {
8 | "version": "1.2.2"
9 | },
10 | "embeds": ["embedded"],
11 | "title": "{{title}}"
12 | }
13 | }
--------------------------------------------------------------------------------
/test/fixtures/application.g/webapp/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "_version": "1.1.0",
3 | "sap.app": {
4 | "_version": "1.1.0",
5 | "id": "id1",
6 | "type": "application",
7 | "applicationVersion": {
8 | "version": "1.2.2"
9 | },
10 | "embeds": ["embedded"],
11 | "title": "{{title}}"
12 | }
13 | }
--------------------------------------------------------------------------------
/test/fixtures/build-manifest/library.e/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.e",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library - test for dev dependencies",
5 | "devDependencies": {
6 | "library.d": "file:../library.d"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/docs/Configuration.md:
--------------------------------------------------------------------------------
1 | # Configuration
2 | This documentation moved to a new place: [ui5.github.io/cli/pages/Configuration/](https://ui5.github.io/cli/pages/Configuration/).
3 |
4 | The **Specification Version Documentation** can be found here: [ui5.github.io/cli/pages/Configuration/#specification-versions](https://ui5.github.io/cli/pages/Configuration/#specification-versions)
5 |
--------------------------------------------------------------------------------
/test/fixtures/err.application.a/webapp/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "_version": "1.1.0",
3 | "sap.app": {
4 | "_version": "1.1.0",
5 | "id": "id1",
6 | "type": "application",
7 | "applicationVersion": {
8 | "version": "1.2.2"
9 | },
10 | "embeds": ["embedded"],
11 | "title": "{{title}}"
12 | }
13 | }
--------------------------------------------------------------------------------
/lib/utils/fs.js:
--------------------------------------------------------------------------------
1 | import fs from "graceful-fs";
2 | import {promisify} from "node:util";
3 | const mkdir = promisify(fs.mkdir);
4 | const rm = promisify(fs.rm);
5 |
6 | export async function mkdirp(dirPath) {
7 | return mkdir(dirPath, {recursive: true});
8 | }
9 |
10 | export async function rmrf(dirPath) {
11 | return rm(dirPath, {recursive: true, force: true});
12 | }
13 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/node_modules/collection/ui5.yaml:
--------------------------------------------------------------------------------
1 | specVersion: "2.1"
2 | metadata:
3 | name: application.a.collection.dependency.shim
4 | kind: extension
5 | type: project-shim
6 | shims:
7 | collections:
8 | collection:
9 | modules:
10 | "library.a": "./library.a"
11 | "library.b": "./library.b"
12 | "library.c": "./library.c"
--------------------------------------------------------------------------------
/test/fixtures/application.d/node_modules/library.e/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.e",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library - test for dev dependencies",
5 | "devDependencies": {
6 | "library.d": "file:../library.d"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.f/node_modules/library.e/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.e",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library - test for dev dependencies",
5 | "devDependencies": {
6 | "library.d": "file:../library.d"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/library.d/main/src/library/d/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.d
5 | SAP SE
6 | Some fancy copyright
7 | ${version}
8 |
9 | Library D
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/library.f/node_modules/library.g/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.g",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library - test for circular dependencies",
5 | "devDependencies": {
6 | "library.f": "file:../library.f"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/library.g/node_modules/library.f/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.f",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library - test for circular dependencies",
5 | "dependencies": {
6 | "library.g": "file:../library.g"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/jsdoc-plugin.cjs:
--------------------------------------------------------------------------------
1 | /*
2 | * This plugin fixes unexpected JSDoc behavior that prevents us from using types that start with an at-sign (@).
3 | * JSDoc doesn't see "{@" as a valid type expression, probably as there's also {@link ...}.
4 | */
5 | exports.handlers = {
6 | jsdocCommentFound: function(e) {
7 | e.comment = e.comment.replace(/{@ui5\//g, "{ @ui5/");
8 | }
9 | };
10 |
--------------------------------------------------------------------------------
/test/fixtures/application.a.aliases/webapp/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "_version": "1.1.0",
3 | "sap.app": {
4 | "_version": "1.1.0",
5 | "id": "id1",
6 | "type": "application",
7 | "applicationVersion": {
8 | "version": "1.2.2"
9 | },
10 | "embeds": ["embedded"],
11 | "title": "{{title}}"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/test/fixtures/application.b/webapp/embedded/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "_version": "1.1.0",
3 | "sap.app": {
4 | "_version": "1.1.0",
5 | "id": "id1.embedded",
6 | "type": "component",
7 | "applicationVersion": {
8 | "version": "1.2.2"
9 | },
10 | "embeddedBy": "../",
11 | "title": "{{title}}"
12 | }
13 | }
--------------------------------------------------------------------------------
/test/fixtures/application.h/webapp/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "_version": "1.1.0",
3 | "sap.app": {
4 | "_version": "1.1.0",
5 | "id": "application.h",
6 | "type": "application",
7 | "applicationVersion": {
8 | "version": "1.2.2"
9 | },
10 | "embeds": ["embedded"],
11 | "title": "{{title}}"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.a/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.cycle.a
6 | copyright: |-
7 | UI development toolkit for HTML5 (OpenUI5)
8 | * (c) Copyright 2009-xxx SAP SE or an SAP affiliate company.
9 | * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
10 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.b/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.cycle.b
6 | copyright: |-
7 | UI development toolkit for HTML5 (OpenUI5)
8 | * (c) Copyright 2009-xxx SAP SE or an SAP affiliate company.
9 | * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
10 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.c/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.cycle.c
6 | copyright: |-
7 | UI development toolkit for HTML5 (OpenUI5)
8 | * (c) Copyright 2009-xxx SAP SE or an SAP affiliate company.
9 | * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
10 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.d/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.cycle.d
6 | copyright: |-
7 | UI development toolkit for HTML5 (OpenUI5)
8 | * (c) Copyright 2009-xxx SAP SE or an SAP affiliate company.
9 | * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
10 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.e/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.cycle.e
6 | copyright: |-
7 | UI development toolkit for HTML5 (OpenUI5)
8 | * (c) Copyright 2009-xxx SAP SE or an SAP affiliate company.
9 | * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
10 |
--------------------------------------------------------------------------------
/test/fixtures/legacy.library.a/node_modules/library.f/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.f",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library - test for circular dependencies",
5 | "dependencies": {
6 | "library.g": "file:../library.g"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/legacy.library.b/node_modules/library.f/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.f",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library - test for circular dependencies",
5 | "dependencies": {
6 | "library.g": "file:../library.g"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.d/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "application.d",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based application - test for dev dependencies",
5 | "main": "index.html",
6 | "dependencies": {
7 | "library.e": "file:../library.e"
8 | },
9 | "scripts": {
10 | "test": "echo \"Error: no test specified\" && exit 1"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/test/fixtures/build-manifest/application.a/resources/id1/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "_version": "1.1.0",
3 | "sap.app": {
4 | "_version": "1.1.0",
5 | "id": "id1",
6 | "type": "application",
7 | "applicationVersion": {
8 | "version": "1.2.2"
9 | },
10 | "embeds": ["embedded"],
11 | "title": "{{title}}"
12 | }
13 | }
--------------------------------------------------------------------------------
/test/fixtures/collection/node_modules/library.d/src/library/d/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.d
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library D
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/component.cycle.a/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: component.cycle.a
6 | copyright: |-
7 | UI development toolkit for HTML5 (OpenUI5)
8 | * (c) Copyright 2009-xxx SAP SE or an SAP affiliate company.
9 | * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
10 |
--------------------------------------------------------------------------------
/test/fixtures/library.d-adtl-deps/main/src/library/d/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.d
5 | SAP SE
6 | Some fancy copyright
7 | ${version}
8 |
9 | Library D
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/library.d-adtl-deps/node_modules/library.f/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.f",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library - test for circular dependencies",
5 | "dependencies": {
6 | "library.g": "file:../library.g"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/library.d-adtl-deps/node_modules/library.g/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.g",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library - test for circular dependencies",
5 | "devDependencies": {
6 | "library.f": "file:../library.f"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/library.d-depender/main/src/library/d/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.d
5 | SAP SE
6 | Some fancy copyright
7 | ${version}
8 |
9 | Library D
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/library.e/node_modules/library.d/src/library/d/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.d
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library D
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.a.aliases/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "application.a.aliases",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based application",
5 | "main": "index.html",
6 | "dependencies": {
7 | "extension.a.esm.alias": "file:../extension.a.esm"
8 | },
9 | "scripts": {
10 | "test": "echo \"Error: no test specified\" && exit 1"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/test/fixtures/application.c/node_modules/library.e/src/library/e/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.e
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library E
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.c2/node_modules/library.e/src/library/e/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.e
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library E
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.c3/node_modules/library.e/src/library/e/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.e
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library E
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.d/node_modules/library.e/src/library/e/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.e
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library E
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.e/node_modules/library.e/src/library/e/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.d
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library E
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.f/node_modules/library.e/src/library/e/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.e
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library E
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/build-manifest/library.e/resources/library/e/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.e
5 | SAP SE
6 | Some fancy copyright
7 | ${version}
8 |
9 | Library E
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/legacy.library.a/src/legacy/library/a/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | legacy.library.a
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Legacy Library A
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/legacy.library.b/src/legacy/library/b/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | legacy.library.b
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Legacy Library B
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/lib/ui5framework/AbstractInstaller.js:
--------------------------------------------------------------------------------
1 | import test from "ava";
2 | import AbstractInstaller from "../../../lib/ui5Framework/AbstractInstaller.js";
3 |
4 | test("AbstractInstaller: constructor throws an error", (t) => {
5 | t.throws(() => {
6 | new AbstractInstaller();
7 | }, {
8 | instanceOf: TypeError,
9 | message: "Class 'AbstractInstaller' is abstract"
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/lib/build/definitions/module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Get tasks and their configuration for a given application project
3 | *
4 | * @private
5 | * @param {object} parameters
6 | * @param {object} parameters.project
7 | * @param {object} parameters.taskUtil
8 | * @param {Function} parameters.getTask
9 | */
10 | export default function({project, taskUtil, getTask}) {
11 | return new Map();
12 | }
13 |
--------------------------------------------------------------------------------
/test/fixtures/application.h/webapp-properties.appId/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "_version": "1.1.0",
3 | "sap.app": {
4 | "_version": "1.1.0",
5 | "id": "${appId}",
6 | "type": "application",
7 | "applicationVersion": {
8 | "version": "1.2.2"
9 | },
10 | "embeds": ["embedded"],
11 | "title": "{{title}}"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/test/fixtures/library.d-adtl-deps/node_modules/library.f/src/library/f/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.f
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library F
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/library.d-adtl-deps/node_modules/library.g/src/library/g/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.g
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library G
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/node_modules/library.d/main/src/library/d/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.d
5 | SAP SE
6 | Some fancy copyright
7 | ${version}
8 |
9 | Library D
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.b/node_modules/library.d/main/src/library/d/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.d
5 | SAP SE
6 | Some fancy copyright
7 | ${version}
8 |
9 | Library D
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.c/node_modules/library.d/main/src/library/d/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.d
5 | SAP SE
6 | Some fancy copyright
7 | ${version}
8 |
9 | Library D
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.c3/node_modules/library.d/main/src/library/d/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.d
5 | SAP SE
6 | Some fancy copyright
7 | ${version}
8 |
9 | Library D
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.e/node_modules/library.e/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.e
6 | builder:
7 | configuration:
8 | copyright: |-
9 | UI development toolkit for HTML5 (OpenUI5)
10 | * (c) Copyright 2009-xxx SAP SE or an SAP affiliate company.
11 | * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.f/node_modules/library.d/main/src/library/d/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.d
5 | SAP SE
6 | Some fancy copyright
7 | ${version}
8 |
9 | Library D
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.g/node_modules/library.d/main/src/library/d/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.d
5 | SAP SE
6 | Some fancy copyright
7 | ${version}
8 |
9 | Library D
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/err.application.a/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "err.application.a",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based application - test for missing dependencies",
5 | "main": "index.html",
6 | "dependencies": {
7 | "library.xx": "file:../not.existing"
8 | },
9 | "scripts": {
10 | "test": "echo \"Error: no test specified\" && exit 1"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "application.a",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based application",
5 | "main": "index.html",
6 | "dependencies": {
7 | "library.d": "file:../library.d",
8 | "collection": "file:../collection"
9 | },
10 | "scripts": {
11 | "test": "echo \"Error: no test specified\" && exit 1"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/test/fixtures/application.b/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "application.b",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based application",
5 | "main": "index.html",
6 | "dependencies": {
7 | "library.d": "file:../library.d",
8 | "collection": "file:../collection"
9 | },
10 | "scripts": {
11 | "test": "echo \"Error: no test specified\" && exit 1"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/test/fixtures/collection/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "collection",
3 | "version": "1.0.0",
4 | "description": "Simple Collection",
5 | "dependencies": {
6 | "library.d": "file:../library.d"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | },
11 | "workspaces": [
12 | "library.a",
13 | "library.b",
14 | "library.c"
15 | ]
16 | }
17 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.b/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@ui5-internal/module.b",
3 | "version": "1.0.0",
4 | "description": "Simple npm module - Test for cyclic npm (non-UI5) dependencies",
5 | "dependencies": {
6 | "@ui5-internal/module.c": "^1.0.0"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.m/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@ui5-internal/module.m",
3 | "version": "1.0.0",
4 | "description": "Simple npm module - Test for cyclic npm (non-UI5) dependencies",
5 | "dependencies": {
6 | "@ui5-internal/module.l": "^1.0.0"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/legacy.collection.a/src/legacy.library.x/node_modules/library.f/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.f",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library - test for circular dependencies",
5 | "dependencies": {
6 | "library.g": "file:../library.g"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/legacy.collection.a/src/legacy.library.y/node_modules/library.f/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.f",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library - test for circular dependencies",
5 | "dependencies": {
6 | "library.g": "file:../library.g"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/library.d-adtl-deps/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.d",
3 | "version": "2.0.0",
4 | "description": "Version of library.d that has additional dependencies defined. Used for testing UI5 Workspace resolutions",
5 | "dependencies": {
6 | "library.f": "file:../library.f"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/library.d-depender/node_modules/library.d/main/src/library/d/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.d
5 | SAP SE
6 | Some fancy copyright
7 | ${version}
8 |
9 | Library D
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/node_modules/collection/node_modules/library.d/src/library/d/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.d
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library D
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.b/node_modules/collection/node_modules/library.d/src/library/d/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.d
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library D
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.c/node_modules/library.e/node_modules/library.d/src/library/d/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.d
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library D
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.c2/node_modules/library.d-depender/main/src/library/d/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.d
5 | SAP SE
6 | Some fancy copyright
7 | ${version}
8 |
9 | Library D
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.c2/node_modules/library.e/node_modules/library.d/src/library/d/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.d
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library D
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.d/node_modules/library.e/node_modules/library.d/src/library/d/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.d
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library D
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.h/webapp-project.artifactId/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "_version": "1.1.0",
3 | "sap.app": {
4 | "_version": "1.1.0",
5 | "id": "${project.artifactId}",
6 | "type": "application",
7 | "applicationVersion": {
8 | "version": "1.2.2"
9 | },
10 | "embeds": ["embedded"],
11 | "title": "{{title}}"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/test/fixtures/application.h/webapp-properties.componentName/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "_version": "1.1.0",
3 | "sap.app": {
4 | "_version": "1.1.0",
5 | "id": "${componentName}",
6 | "type": "application",
7 | "applicationVersion": {
8 | "version": "1.2.2"
9 | },
10 | "embeds": ["embedded"],
11 | "title": "{{title}}"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.a/webapp/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "_version": "1.1.0",
3 | "sap.app": {
4 | "_version": "1.1.0",
5 | "id": "id1",
6 | "type": "application",
7 | "applicationVersion": {
8 | "version": "1.2.2"
9 | },
10 | "embeds": ["embedded"],
11 | "title": "{{title}}"
12 | }
13 | }
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.b/webapp/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "_version": "1.1.0",
3 | "sap.app": {
4 | "_version": "1.1.0",
5 | "id": "id1",
6 | "type": "application",
7 | "applicationVersion": {
8 | "version": "1.2.2"
9 | },
10 | "embeds": ["embedded"],
11 | "title": "{{title}}"
12 | }
13 | }
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.c/webapp/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "_version": "1.1.0",
3 | "sap.app": {
4 | "_version": "1.1.0",
5 | "id": "id1",
6 | "type": "application",
7 | "applicationVersion": {
8 | "version": "1.2.2"
9 | },
10 | "embeds": ["embedded"],
11 | "title": "{{title}}"
12 | }
13 | }
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.d/webapp/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "_version": "1.1.0",
3 | "sap.app": {
4 | "_version": "1.1.0",
5 | "id": "id1",
6 | "type": "application",
7 | "applicationVersion": {
8 | "version": "1.2.2"
9 | },
10 | "embeds": ["embedded"],
11 | "title": "{{title}}"
12 | }
13 | }
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.e/webapp/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "_version": "1.1.0",
3 | "sap.app": {
4 | "_version": "1.1.0",
5 | "id": "id1",
6 | "type": "application",
7 | "applicationVersion": {
8 | "version": "1.2.2"
9 | },
10 | "embeds": ["embedded"],
11 | "title": "{{title}}"
12 | }
13 | }
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.f/webapp/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "_version": "1.1.0",
3 | "sap.app": {
4 | "_version": "1.1.0",
5 | "id": "id1",
6 | "type": "application",
7 | "applicationVersion": {
8 | "version": "1.2.2"
9 | },
10 | "embeds": ["embedded"],
11 | "title": "{{title}}"
12 | }
13 | }
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.a/src/cycle/a/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | cycle.a
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library Cycle A
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.b/src/cycle/b/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | cycle.b
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library Cycle B
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.l/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@ui5-internal/module.l",
3 | "version": "1.0.0",
4 | "description": "Simple npm module - Test for cyclic npm (non-UI5) dependencies",
5 | "devDependencies": {
6 | "@ui5-internal/module.m": "^1.0.0"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.c/src/cycle/c/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.cycle.b
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library Cycle C
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.d/src/cycle/d/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.cycle.b
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library Cycle D
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.e/src/cycle/e/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.cycle.b
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library Cycle E
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/legacy.collection.a/src/legacy.library.x/src/legacy/library/x/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | legacy.library.x
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Legacy Library X
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/legacy.collection.a/src/legacy.library.y/src/legacy/library/y/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | legacy.library.y
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Legacy Library Y
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/collection.b/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "collection",
3 | "version": "1.0.0",
4 | "description": "Simple Collection used for Workspace testing",
5 | "dependencies": {
6 | },
7 | "scripts": {
8 | "test": "echo \"Error: no test specified\" && exit 1"
9 | },
10 | "ui5": {
11 | "workspaces": [
12 | "library.{a,b}",
13 | "*c",
14 | "sub-*"
15 | ]
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/test/fixtures/library.h/ui5-workspace.yaml:
--------------------------------------------------------------------------------
1 | specVersion: workspace/1.0
2 | metadata:
3 | name: default
4 | dependencyManagement:
5 | resolutions:
6 | - path: ../library.d
7 | ---
8 | specVersion: workspace/1.0
9 | metadata:
10 | name: all-libraries
11 | dependencyManagement:
12 | resolutions:
13 | - path: ../library.d
14 | - path: ../library.e
15 | - path: ../library.f
16 |
--------------------------------------------------------------------------------
/test/fixtures/build-manifest/application.a/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "application.a-archive",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based application",
5 | "main": "index.html",
6 | "dependencies": {
7 | "library.d": "file:../library.d",
8 | "collection": "file:../collection"
9 | },
10 | "scripts": {
11 | "test": "echo \"Error: no test specified\" && exit 1"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.c/node_modules/@ui5-internal/library.cycle.d/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.3"
3 | type: library
4 | metadata:
5 | name: library.cycle.d
6 | copyright: |-
7 | UI development toolkit for HTML5 (OpenUI5)
8 | * (c) Copyright 2009-xxx SAP SE or an SAP affiliate company.
9 | * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
10 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.a/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@ui5-internal/module.a",
3 | "version": "1.0.0",
4 | "description": "Simple npm module - Test for cyclic npm (non-UI5) dependencies - cycle via module.c",
5 | "dependencies": {
6 | "@ui5-internal/module.b": "^1.0.0"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.c/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@ui5-internal/module.c",
3 | "version": "1.0.0",
4 | "description": "Simple npm module - Test for cyclic npm (non-UI5) dependencies- cycle via module.a",
5 | "dependencies": {
6 | "@ui5-internal/module.a": "^1.0.0"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.f/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@ui5-internal/module.f",
3 | "version": "1.0.0",
4 | "description": "Simple npm module - Test for cyclic npm (non-UI5) dependencies - cycle via module.c",
5 | "dependencies": {
6 | "@ui5-internal/module.a": "^1.0.0"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.g/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@ui5-internal/module.g",
3 | "version": "1.0.0",
4 | "description": "Simple npm module - Test for cyclic npm (non-UI5) dependencies - cycle via module.c",
5 | "dependencies": {
6 | "@ui5-internal/module.a": "^1.0.0"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.j/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@ui5-internal/module.j",
3 | "version": "1.0.0",
4 | "description": "Simple npm module - Test for cyclic npm (non-UI5) dependencies - Like npm package 'd'",
5 | "dependencies": {
6 | "@ui5-internal/module.i": "^1.0.0"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | # see http://editorconfig.org
2 |
3 | root = true
4 |
5 | [*]
6 | charset = utf-8
7 | indent_style = tab
8 |
9 | [*.{css,html,js,cjs,mjs,jsx,ts,tsx,less,txt,json,yml,md}]
10 | trim_trailing_whitespace = true
11 | end_of_line = lf
12 | indent_size = 4
13 | insert_final_newline = true
14 |
15 | [*.{yml,yaml}]
16 | indent_style = space
17 | indent_size = 2
18 |
19 | [*.md]
20 | trim_trailing_whitespace = false
21 |
--------------------------------------------------------------------------------
/test/fixtures/application.c3/node_modules/library.d-depender/main/src/library/d-depender/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.d-depender
5 | SAP SE
6 | Some fancy copyright
7 | ${version}
8 |
9 | Library D
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/component.cycle.a/src/component/cycle/a/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | component.cycle.a
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Component Cycle A
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/library.h/custom-ui5-workspace.yaml:
--------------------------------------------------------------------------------
1 | specVersion: workspace/1.0
2 | metadata:
3 | name: library-d
4 | dependencyManagement:
5 | resolutions:
6 | - path: ../library.d
7 | ---
8 | specVersion: workspace/1.0
9 | metadata:
10 | name: all-libraries
11 | dependencyManagement:
12 | resolutions:
13 | - path: ../library.d
14 | - path: ../library.e
15 | - path: ../library.f
16 |
--------------------------------------------------------------------------------
/test/fixtures/application.c2/node_modules/library.d-depender/node_modules/library.d/main/src/library/d/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.d
5 | SAP SE
6 | Some fancy copyright
7 | ${version}
8 |
9 | Library D
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.e/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "application.d",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based application - test for circular dependencies",
5 | "main": "index.html",
6 | "dependencies": {
7 | "library.f": "file:../library.f",
8 | "library.g": "file:../library.g"
9 | },
10 | "scripts": {
11 | "test": "echo \"Error: no test specified\" && exit 1"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.d/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@ui5-internal/module.d",
3 | "version": "1.0.0",
4 | "description": "Simple npm module - Test for cyclic npm (non-UI5) dependencies - cycle with module.e",
5 | "dependencies": {
6 | "@ui5-internal/module.e": "file:../module.e"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.i/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@ui5-internal/module.i",
3 | "version": "1.0.0",
4 | "description": "Simple npm module - Test for cyclic npm (non-UI5) dependencies - Like npm package 'es5-ext'",
5 | "dependencies": {
6 | "@ui5-internal/module.k": "^1.0.0"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.e/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@ui5-internal/module.e",
3 | "version": "1.0.0",
4 | "description": "Simple npm module - Test for cyclic npm (non-UI5) dependencies - cycle with module.d",
5 | "devDependencies": {
6 | "@ui5-internal/module.d": "file:../module.d"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.a/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@ui5-internal/library.cycle.a",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library - Test for cyclic dependencies",
5 | "devDependencies": {
6 | "@ui5-internal/component.cycle.a": "file:../component.cycle.a"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.b/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@ui5-internal/library.cycle.b",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library - Test for cyclic dependencies",
5 | "devDependencies": {
6 | "@ui5-internal/component.cycle.a": "file:../component.cycle.a"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.c/node_modules/@ui5-internal/library.cycle.d/src/cycle/d/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.cycle.b
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library Cycle D
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.g/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "application.g",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based application - test for npm optionalDependencies",
5 | "main": "index.html",
6 | "optionalDependencies": {
7 | "library.d": "file:../library.d",
8 | "library.nonexistent": "file:../library.nonexistent"
9 | },
10 | "scripts": {
11 | "test": "echo \"Error: no test specified\" && exit 1"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/node_modules/collection/library.a/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.a",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "dependencies": {},
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "ui5": {
10 | "name": "library.a",
11 | "type": "library",
12 | "settings": {
13 | "src": "src",
14 | "test": "test"
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/test/fixtures/application.b/node_modules/collection/library.a/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "library.a",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library",
5 | "dependencies": {},
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "ui5": {
10 | "name": "library.a",
11 | "type": "library",
12 | "settings": {
13 | "src": "src",
14 | "test": "test"
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.c/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@ui5-internal/library.cycle.c",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library - Test for cyclic npm UI5 dependencies - Cycle via projectPreprocessor deduplication",
5 | "dependencies": {
6 | "@ui5-internal/library.cycle.d": "^1.0.0"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.e/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@ui5-internal/library.cycle.e",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library - Test for cyclic npm UI5 dependencies - Cycle via projectPreprocessor deduplication",
5 | "dependencies": {
6 | "@ui5-internal/library.cycle.c": "^1.0.0"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/fixtures/application.c/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "application.c",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based application - test for dev dependencies. Optional dep gets resolved through root project",
5 | "main": "index.html",
6 | "dependencies": {
7 | "library.e": "file:../library.e",
8 | "library.d": "file:../library.d"
9 | },
10 | "scripts": {
11 | "test": "echo \"Error: no test specified\" && exit 1"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.h/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@ui5-internal/module.h",
3 | "version": "1.0.0",
4 | "description": "Simple npm module - Test for cyclic npm (non-UI5) dependencies - Like npm package 'es6-symbol'",
5 | "dependencies": {
6 | "@ui5-internal/module.i": "^1.0.0",
7 | "@ui5-internal/module.j": "^1.0.0"
8 | },
9 | "scripts": {
10 | "test": "echo \"Error: no test specified\" && exit 1"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/.github/workflows/reuse-compliance.yml:
--------------------------------------------------------------------------------
1 | name: REUSE
2 |
3 | on:
4 | push:
5 | branches:
6 | - v4
7 | pull_request:
8 | branches:
9 | - v4
10 |
11 | # No permissions are required for this workflow
12 | permissions: {}
13 |
14 | jobs:
15 | compliance-check:
16 | name: Compliance Check
17 | runs-on: ubuntu-latest
18 | steps:
19 | - uses: actions/checkout@v6
20 | - name: Execute REUSE Compliance Check
21 | uses: fsfe/reuse-action@v6
22 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.a/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@ui5-internal/application.cycle.a",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based application - Test for cyclic UI5 dependencies",
5 | "main": "index.html",
6 | "dependencies": {
7 | "@ui5-internal/component.cycle.a": "file:../component.cycle.a"
8 | },
9 | "scripts": {
10 | "test": "echo \"Error: no test specified\" && exit 1"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | version: 2
2 | updates:
3 | - package-ecosystem: "github-actions"
4 | directory: "/"
5 | schedule:
6 | interval: "weekly"
7 | - package-ecosystem: npm
8 | directory: "/"
9 | schedule:
10 | interval: weekly
11 | day: sunday
12 | time: "10:00"
13 | timezone: Etc/UCT
14 | reviewers:
15 | - "SAP/ui5-foundation"
16 | versioning-strategy: increase
17 | commit-message:
18 | prefix: "[DEPENDENCY] "
19 | prefix-development: "[INTERNAL] "
20 |
--------------------------------------------------------------------------------
/test/fixtures/application.c2/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "application.c2",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based application - test for dev dependencies. Optional dep gets resolved through other project",
5 | "main": "index.html",
6 | "dependencies": {
7 | "library.e": "file:../library.e",
8 | "library.d-depender": "file:../library.d-depender"
9 | },
10 | "scripts": {
11 | "test": "echo \"Error: no test specified\" && exit 1"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/test/fixtures/collection/library.c/src/library/c/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.c
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library C
10 |
11 |
12 |
13 | library.d
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/test/fixtures/collection.b/library.c/src/library/c/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.c
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library C
10 |
11 |
12 |
13 | library.d
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/test/fixtures/application.c3/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "application.c3",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based application - test for dev dependencies. Optional dep gets resolved through other project (but got hoisted)",
5 | "main": "index.html",
6 | "dependencies": {
7 | "library.e": "file:../library.e",
8 | "library.d-depender": "file:../library.d-depender"
9 | },
10 | "scripts": {
11 | "test": "echo \"Error: no test specified\" && exit 1"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/node_modules/collection/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "collection",
3 | "version": "1.0.0",
4 | "description": "Simple Collection",
5 | "dependencies": {
6 | "library.d": "file:../library.d"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | },
11 | "collection": {
12 | "modules": {
13 | "library.a": "./library.a",
14 | "library.b": "./library.b",
15 | "library.c": "./library.c"
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/test/fixtures/application.b/node_modules/collection/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "collection",
3 | "version": "1.0.0",
4 | "description": "Simple Collection",
5 | "dependencies": {
6 | "library.d": "file:../library.d"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | },
11 | "collection": {
12 | "modules": {
13 | "library.a": "./library.a",
14 | "library.b": "./library.b",
15 | "library.c": "./library.c"
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.d/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@ui5-internal/library.cycle.d",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library - Test for cyclic npm UI5 dependencies - Cycle via projectPreprocessor deduplication",
5 | "dependencies": {
6 | "@ui5-internal/library.cycle.c": "^1.0.0",
7 | "@ui5-internal/library.cycle.e": "^1.0.0"
8 | },
9 | "scripts": {
10 | "test": "echo \"Error: no test specified\" && exit 1"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/module.k/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@ui5-internal/module.k",
3 | "version": "1.0.0",
4 | "description": "Simple npm module - Test for cyclic npm (non-UI5) dependencies - Like npm package 'es6-iterator'",
5 | "dependencies": {
6 | "@ui5-internal/module.h": "^1.0.0",
7 | "@ui5-internal/module.i": "^1.0.0",
8 | "@ui5-internal/module.j": "^1.0.0"
9 | },
10 | "scripts": {
11 | "test": "echo \"Error: no test specified\" && exit 1"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/test/fixtures/application.f/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "application.f",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based application - test for ui5-dependencies configuration",
5 | "main": "index.html",
6 | "dependencies": {
7 | "library.d": "file:../library.d",
8 | "library.e": "file:../library.e"
9 | },
10 | "scripts": {
11 | "test": "echo \"Error: no test specified\" && exit 1"
12 | },
13 | "ui5": {
14 | "dependencies": [
15 | "library.d"
16 | ]
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/test/fixtures/collection.b/library.a/src/library/a/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.a
5 | SAP SE
6 | Some fancy copyright ${currentYear}
7 | ${version}
8 |
9 | Library A
10 |
11 |
12 |
13 | library.d
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/test/fixtures/collection.b/library.b/src/library/b/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.b
5 | SAP SE
6 | Some fancy copyright ${currentYear}
7 | ${version}
8 |
9 | Library B
10 |
11 |
12 |
13 | library.d
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/test/fixtures/collection/library.a/src/library/a/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.a
5 | SAP SE
6 | Some fancy copyright ${currentYear}
7 | ${version}
8 |
9 | Library A
10 |
11 |
12 |
13 | library.d
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/test/fixtures/collection/library.b/src/library/b/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.b
5 | SAP SE
6 | Some fancy copyright ${currentYear}
7 | ${version}
8 |
9 | Library B
10 |
11 |
12 |
13 | library.d
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/node_modules/collection/library.a/src/library/a/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.a
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library A
10 |
11 |
12 |
13 | library.d
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/node_modules/collection/library.b/src/library/b/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.b
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library B
10 |
11 |
12 |
13 | library.d
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/test/fixtures/application.a/node_modules/collection/library.c/src/library/c/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.c
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library C
10 |
11 |
12 |
13 | library.d
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/test/fixtures/application.b/node_modules/collection/library.a/src/library/a/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.a
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library A
10 |
11 |
12 |
13 | library.d
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/test/fixtures/application.b/node_modules/collection/library.b/src/library/b/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.b
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library B
10 |
11 |
12 |
13 | library.d
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/test/fixtures/application.b/node_modules/collection/library.c/src/library/c/.library:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | library.c
5 | SAP SE
6 | ${copyright}
7 | ${version}
8 |
9 | Library C
10 |
11 |
12 |
13 | library.d
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/test/lib/utils/fs.js:
--------------------------------------------------------------------------------
1 | import test from "ava";
2 | import path from "node:path";
3 | import {stat} from "node:fs/promises";
4 | import {mkdirp} from "../../../lib/utils/fs.js";
5 |
6 | const __dirname = import.meta.dirname;
7 |
8 | test("mkdirp: Create directory hierarchy", async (t) => {
9 | const targetPath = path.join(__dirname, "..", "..", "tmp", "mkdir-test", "this", "is", "a", "directory");
10 | await mkdirp(targetPath);
11 | const res = await stat(targetPath);
12 | t.truthy(res, "Target directory has been created");
13 | });
14 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.e/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@ui5-internal/application.cycle.e",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based application - Test for cyclic npm (non-UI5) dependencies - Indirect cycle via devDependency (pending dev)",
5 | "main": "index.html",
6 | "dependencies": {
7 | "@ui5-internal/module.l": "^1.0.0",
8 | "@ui5-internal/module.m": "^1.0.0"
9 | },
10 | "scripts": {
11 | "test": "echo \"Error: no test specified\" && exit 1"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/lib/ui5Framework/maven/CacheMode.js:
--------------------------------------------------------------------------------
1 |
2 |
3 | /**
4 | * Cache modes for maven consumption
5 | *
6 | * @public
7 | * @readonly
8 | * @enum {string}
9 | * @property {string} Default Cache everything, invalidate after 9 hours
10 | * @property {string} Force Use cache only. Do not send any requests to the repository
11 | * @property {string} Off Invalidate the cache and update from the repository
12 | * @module @ui5/project/ui5Framework/maven/CacheMode
13 | */
14 | export default {
15 | Default: "Default",
16 | Force: "Force",
17 | Off: "Off"
18 | };
19 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.f/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@ui5-internal/application.cycle.f",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based application - Test for cyclic npm UI5 dependencies - Cycle via projectPreprocessor deduplication",
5 | "main": "index.html",
6 | "dependencies": {
7 | "@ui5-internal/library.cycle.c": "^1.0.0",
8 | "@ui5-internal/library.cycle.d": "^1.0.0"
9 | },
10 | "scripts": {
11 | "test": "echo \"Error: no test specified\" && exit 1"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/library.cycle.c/node_modules/@ui5-internal/library.cycle.d/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@ui5-internal/library.cycle.d",
3 | "version": "0.9.0",
4 | "description": "Simple SAPUI5 based library - Test for cyclic npm UI5 dependencies - Cycle via projectPreprocessor deduplication",
5 | "dependencies": {
6 | "@ui5-internal/library.cycle.c": "^1.0.0",
7 | "@ui5-internal/library.cycle.e": "^1.0.0"
8 | },
9 | "scripts": {
10 | "test": "echo \"Error: no test specified\" && exit 1"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/test/lib/build/definitions/utils.js:
--------------------------------------------------------------------------------
1 | import test from "ava";
2 | import {enhancePatternWithExcludes} from "../../../../lib/build/definitions/_utils.js";
3 |
4 | test("enhancePatternWithExcludes", (t) => {
5 | const patterns = ["/default/pattern", "!/other/pattern"];
6 | const excludes = ["a", "!b", "c", "!d"];
7 |
8 | enhancePatternWithExcludes(patterns, excludes, "/prefix/");
9 |
10 | t.deepEqual(patterns, [
11 | "/default/pattern",
12 | "!/other/pattern",
13 | "!/prefix/a",
14 | "/prefix/b",
15 | "!/prefix/c",
16 | "/prefix/d"
17 | ]);
18 | });
19 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.b/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@ui5-internal/application.cycle.b",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based application - Test for cyclic npm (non-UI5) dependencies - Cycle on second level via dev dependency",
5 | "main": "index.html",
6 | "dependencies": {
7 | "@ui5-internal/module.d": "file:../module.d",
8 | "@ui5-internal/module.e": "file:../module.e"
9 | },
10 | "scripts": {
11 | "test": "echo \"Error: no test specified\" && exit 1"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.b/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "2.2"
3 | type: application
4 | metadata:
5 | name: application.cycle.b
6 | ---
7 | specVersion: "2.2"
8 | kind: extension
9 | type: project-shim
10 | metadata:
11 | name: application.cycle.b-shim
12 | shims:
13 | configurations:
14 | module.d:
15 | specVersion: "2.2"
16 | type: module
17 | metadata:
18 | name: module.d
19 | module.e:
20 | specVersion: "2.2"
21 | type: module
22 | metadata:
23 | name: module.e
--------------------------------------------------------------------------------
/test/fixtures/library.h/src/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "_version": "1.21.0",
3 | "sap.app": {
4 | "id": "library.h",
5 | "type": "library",
6 | "embeds": [],
7 | "applicationVersion": {
8 | "version": "1.0.0"
9 | },
10 | "title": "Library H",
11 | "description": "Library H"
12 | },
13 | "sap.ui": {
14 | "technology": "UI5",
15 | "supportedThemes": []
16 | },
17 | "sap.ui5": {
18 | "dependencies": {
19 | "minUI5Version": "1.0",
20 | "libs": {}
21 | },
22 | "library": {
23 | "i18n": false
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/component.cycle.a/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@ui5-internal/component.cycle.a",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based library - Test for cyclic dependencies",
5 | "dependencies": {
6 | "@ui5-internal/library.cycle.a": "file:../library.cycle.a",
7 | "@ui5-internal/library.cycle.b": "file:../library.cycle.b"
8 | },
9 | "devDependencies": {
10 | "@ui5-internal/application.cycle.a": "file:../application.cycle.a"
11 | },
12 | "scripts": {
13 | "test": "echo \"Error: no test specified\" && exit 1"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/.github/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | **Thank you for your contribution!** 🙌
2 |
3 | To get it merged faster, kindly review the checklist below:
4 |
5 | ## Pull Request Checklist
6 | - [ ] Reviewed the [Contributing Guidelines](https://github.com/UI5/cli/blob/v4/CONTRIBUTING.md#-contributing-code)
7 | + Especially the [How to Contribute](https://github.com/UI5/cli/blob/v4/CONTRIBUTING.md#how-to-contribute) section
8 | - [ ] [No merge commits](https://github.com/UI5/cli/blob/v4/docs/Guidelines.md#no-merge-commits)
9 | - [ ] [Correct commit message style](https://github.com/UI5/cli/blob/v4/docs/Guidelines.md#commit-message-style)
10 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.c/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@ui5-internal/application.cycle.c",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based application - Test for cyclic npm (non-UI5) dependencies - Cycle on third level",
5 | "_ui5_test_comment": "This scenario can't be tested using file: URLs as npm can't create cyclic symlinks.",
6 | "_ui5_test_comment2": "However publishing to and installing from a registry works.",
7 | "main": "index.html",
8 | "dependencies": {
9 | "@ui5-internal/module.f": "^1.0.0",
10 | "@ui5-internal/module.g": "^1.0.0"
11 | },
12 | "scripts": {
13 | "test": "echo \"Error: no test specified\" && exit 1"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/test/fixtures/application.a.aliases/ui5.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | specVersion: "3.1"
3 | type: application
4 | metadata:
5 | name: application.a.aliases
6 |
7 | --- # Everything below this line could also be put into the ui5.yaml of a standalone extension module
8 | specVersion: "3.1"
9 | kind: extension
10 | type: project-shim
11 | metadata:
12 | name: my.application.thirdparty
13 | shims:
14 | configurations:
15 | extension.a.esm.alias: # name as defined in package.json
16 | specVersion: "3.1"
17 | type: module # Use module type
18 | metadata:
19 | name: extension.a.esm.alias
20 | resources:
21 | configuration:
22 | paths:
23 | /resources/my/application/thirdparty/: "" # map root directory of lodash module
24 |
--------------------------------------------------------------------------------
/lib/build/helpers/ProjectBuilderOutputStyle.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Processes build results into a specific directory structure.
3 | *
4 | * @public
5 | * @readonly
6 | * @enum {string}
7 | * @property {string} Default The default directory structure for every project type.
8 | * For applications this is identical to "Flat" and for libraries to "Namespace".
9 | * Other types have a more distinct default output style.
10 | * @property {string} Flat Omits the project namespace and the "resources" directory.
11 | * @property {string} Namespace Respects project namespace and the "resources" directory.
12 | * @module @ui5/project/build/ProjectBuilderOutputStyle
13 | */
14 | export default {
15 | Default: "Default",
16 | Flat: "Flat",
17 | Namespace: "Namespace"
18 | };
19 |
--------------------------------------------------------------------------------
/.chglog/config.yml:
--------------------------------------------------------------------------------
1 | style: github
2 | template: CHANGELOG.tpl.md
3 | info:
4 | title: CHANGELOG
5 | repository_url: https://github.com/SAP/ui5-project
6 | options:
7 | commits:
8 | filters:
9 | Type:
10 | - FEATURE
11 | - FIX
12 | - PERF
13 | - DEPENDENCY
14 | - BREAKING
15 | commit_groups:
16 | title_maps:
17 | FEATURE: Features
18 | FIX: Bug Fixes
19 | PERF: Performance Improvements
20 | DEPENDENCY: Dependency Updates
21 | BREAKING: Breaking Changes
22 | header:
23 | pattern: "^\\[(\\w*)\\]\\s(?:([^\\:]*)\\:\\s)?(.*)$"
24 | pattern_maps:
25 | - Type
26 | - Scope
27 | - Subject
28 | issues:
29 | prefix:
30 | - "#"
31 | notes:
32 | keywords:
33 | - BREAKING CHANGE
34 |
--------------------------------------------------------------------------------
/test/fixtures/theme.library.e/src/theme/library/e/themes/my_theme/.theming:
--------------------------------------------------------------------------------
1 | {
2 | "sEntity": "Theme",
3 | "sId": "sap_belize",
4 | "oExtends": "base",
5 | "sVendor": "SAP",
6 | "aBundled": ["sap_belize_plus"],
7 | "mCssScopes": {
8 | "library": {
9 | "sBaseFile": "library",
10 | "sEmbeddingMethod": "APPEND",
11 | "aScopes": [
12 | {
13 | "sLabel": "Contrast",
14 | "sSelector": "sapContrast",
15 | "sEmbeddedFile": "sap_belize_plus.library",
16 | "sEmbeddedCompareFile": "library",
17 | "sThemeIdSuffix": "Contrast",
18 | "sThemability": "PUBLIC",
19 | "aThemabilityFilter": [
20 | "Color"
21 | ],
22 | "rExcludeSelector": "\\.sapContrastPlus\\W"
23 | }
24 | ]
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/test/fixtures/cyclic-deps/node_modules/@ui5-internal/application.cycle.d/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@ui5-internal/application.cycle.d",
3 | "version": "1.0.0",
4 | "description": "Simple SAPUI5 based application - Test for cyclic npm (non-UI5) dependencies - Heavily influenced by npm package 'es6-map'",
5 | "_ui5_test_comment": "This scenario can't be tested using file: URLs as npm can't create cyclic symlinks.",
6 | "_ui5_test_comment2": "However publishing to and installing from a registry works.",
7 | "main": "index.html",
8 | "dependencies": {
9 | "@ui5-internal/module.h": "^1.0.0",
10 | "@ui5-internal/module.i": "^1.0.0",
11 | "@ui5-internal/module.j": "^1.0.0",
12 | "@ui5-internal/module.k": "^1.0.0"
13 | },
14 | "scripts": {
15 | "test": "echo \"Error: no test specified\" && exit 1"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/.github/workflows/github-ci.yml:
--------------------------------------------------------------------------------
1 | name: GitHub CI
2 |
3 | on:
4 | push:
5 | branches:
6 | - v4
7 | pull_request:
8 | branches:
9 | - v4
10 |
11 | # No permissions are required for this workflow
12 | permissions: {}
13 |
14 | jobs:
15 | test:
16 | name: General checks, tests and coverage reporting
17 | runs-on: ubuntu-24.04
18 | steps:
19 |
20 | - uses: actions/checkout@v6
21 |
22 | - name: Use Node.js LTS 20.11.0
23 | uses: actions/setup-node@v6.1.0
24 | with:
25 | node-version: 20.11.0
26 |
27 | - name: Install dependencies
28 | run: npm ci --engine-strict # --engine-strict is used to fail-fast if deps require node versions unsupported by the repo
29 |
30 | - name: Perform checks and tests
31 | run: npm test
32 |
33 | - name: Send report to Coveralls
34 | uses: coverallsapp/github-action@v2.3.7
35 |
--------------------------------------------------------------------------------
/.chglog/RELEASE.tpl.md:
--------------------------------------------------------------------------------
1 | {{ range .Versions }}
2 | {{ range .CommitGroups -}}
3 | ### {{ .Title }}
4 | {{ range .Commits -}}
5 | - {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject }} [`{{ .Hash.Short }}`]({{ $.Info.RepositoryURL }}/commit/{{ .Hash.Long }})
6 | {{ end }}
7 | {{ end -}}
8 |
9 | {{- if .RevertCommits -}}
10 | ### Reverts
11 | {{ range .RevertCommits -}}
12 | - {{ .Revert.Header }}
13 | {{ end }}
14 | {{ end -}}
15 |
16 | {{- if .NoteGroups -}}
17 | {{ range .NoteGroups -}}
18 | ### {{ .Title }}
19 | {{ range .Notes }}
20 | {{ .Body }}
21 | {{ end }}
22 | {{ end -}}
23 | {{ end -}}
24 |
25 | {{ if .Tag.Previous }}
26 | ### All changes
27 | [`{{ .Tag.Previous.Name }}...{{ .Tag.Name }}`]
28 | {{ end }}
29 |
30 | {{ if .Tag.Previous -}}
31 | [`{{ .Tag.Previous.Name }}...{{ .Tag.Name }}`]: {{ $.Info.RepositoryURL }}/compare/{{ .Tag.Previous.Name }}...{{ .Tag.Name }}
32 | {{ end -}}
33 | {{ end -}}
34 |
--------------------------------------------------------------------------------
/.chglog/release-config.yml:
--------------------------------------------------------------------------------
1 | style: github
2 | template: RELEASE.tpl.md
3 | info:
4 | repository_url: https://github.com/SAP/ui5-project
5 | options:
6 | tag_filter_pattern: '^v[^0123]' # For release notes ignore versions below v4 to that we always compare the _last v4+_ tag with the current release
7 | commits:
8 | filters:
9 | Type:
10 | - FEATURE
11 | - FIX
12 | - PERF
13 | - DEPENDENCY
14 | - BREAKING
15 | commit_groups:
16 | title_maps:
17 | FEATURE: Features
18 | FIX: Bug Fixes
19 | PERF: Performance Improvements
20 | DEPENDENCY: Dependency Updates
21 | BREAKING: Breaking Changes
22 | header:
23 | pattern: "^\\[(\\w*)\\]\\s(?:([^\\:]*)\\:\\s)?(.*)$"
24 | pattern_maps:
25 | - Type
26 | - Scope
27 | - Subject
28 | issues:
29 | prefix:
30 | - "#"
31 | notes:
32 | keywords:
33 | - BREAKING CHANGE
34 |
--------------------------------------------------------------------------------
/lib/build/definitions/_utils.js:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Appends the list of 'excludes' to the list of 'patterns'. To harmonize both lists, the 'excludes'
4 | * are negated and the 'patternPrefix' is added to make them absolute.
5 | *
6 | * @private
7 | * @param {string[]} patterns
8 | * List of absolute default patterns.
9 | * @param {string[]} excludes
10 | * List of relative patterns to be excluded. Excludes with a leading "!" are meant to be re-included.
11 | * @param {string} patternPrefix
12 | * Prefix to be added to the excludes to make them absolute. The prefix must have a leading and a
13 | * trailing "/".
14 | */
15 | export function enhancePatternWithExcludes(patterns, excludes, patternPrefix) {
16 | excludes.forEach((exclude) => {
17 | if (exclude.startsWith("!")) {
18 | patterns.push(`${patternPrefix}${exclude.slice(1)}`);
19 | } else {
20 | patterns.push(`!${patternPrefix}${exclude}`);
21 | }
22 | });
23 | }
24 |
--------------------------------------------------------------------------------
/lib/validation/schema/specVersion/specVersion.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://json-schema.org/draft-07/schema",
3 | "$id": "http://ui5.sap/schema/specVersion/2.0.json",
4 |
5 | "type": "object",
6 | "required": ["specVersion"],
7 | "properties": {
8 | "specVersion": { "enum": ["4.0", "3.2", "3.1", "3.0", "2.6", "2.5", "2.4", "2.3", "2.2", "2.1", "2.0"] },
9 | "kind": {
10 | "enum": ["project", "extension", null],
11 | "$comment": "Using null to allow not defining 'kind' which defaults to project"
12 | }
13 | },
14 | "if": {
15 | "properties": {
16 | "kind": {
17 | "enum": ["project", null],
18 | "$comment": "Using null to allow not defining 'kind' which defaults to project"
19 | }
20 | }
21 | },
22 | "then": {
23 | "$ref": "kind/project.json"
24 | },
25 | "else": {
26 | "if": {
27 | "properties": {
28 | "kind": {
29 | "enum": ["extension"]
30 | }
31 | }
32 | },
33 | "then": {
34 | "$ref": "kind/extension.json"
35 | }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/test/fixtures/build-manifest/application.a/.ui5/build-manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "project": {
3 | "specVersion": "2.3",
4 | "type": "application",
5 | "metadata": {
6 | "name": "application.a"
7 | },
8 | "resources": {
9 | "configuration": {
10 | "paths": {
11 | "webapp": "resources/id1"
12 | }
13 | }
14 | }
15 | },
16 | "buildManifest": {
17 | "manifestVersion": "0.1",
18 | "timestamp": "2022-05-04T12:45:30.024Z",
19 | "versions": {
20 | "builderVersion": "3.0.0",
21 | "projectVersion": "3.0.0",
22 | "fsVersion": "3.0.0"
23 | },
24 | "buildConfig": {
25 | "selfContained": false,
26 | "jsdoc": false,
27 | "includedTasks": [],
28 | "excludedTasks": []
29 | },
30 | "id": "application.a",
31 | "version": "0.2.0",
32 | "namespace": "id1",
33 | "tags": {
34 | "/resources/id1/test.js": {
35 | "ui5:HasDebugVariant": true
36 | },
37 | "/resources/id1/test-dbg.js": {
38 | "ui5:IsDebugVariant": true
39 | }
40 | }
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/test/fixtures/build-manifest/library.e/.ui5/build-manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "project": {
3 | "specVersion": "2.3",
4 | "type": "library",
5 | "metadata": {
6 | "name": "library.e"
7 | },
8 | "resources": {
9 | "configuration": {
10 | "paths": {
11 | "src": "resources",
12 | "test": "test-resources"
13 | }
14 | }
15 | }
16 | },
17 | "buildManifest": {
18 | "manifestVersion": "0.1",
19 | "timestamp": "2022-05-06T09:54:29.051Z",
20 | "versions": {
21 | "builderVersion": "3.0.0",
22 | "projectVersion": "3.0.0",
23 | "fsVersion": "3.0.0"
24 | },
25 | "buildConfig": {
26 | "selfContained": false,
27 | "jsdoc": false,
28 | "includedTasks": [],
29 | "excludedTasks": []
30 | },
31 | "id": "library.e",
32 | "version": "1.0.0",
33 | "namespace": "library/e",
34 | "tags": {
35 | "/resources/library/e/some.js": {
36 | "ui5:HasDebugVariant": true
37 | },
38 | "/resources/library/e/some-dbg.js": {
39 | "ui5:IsDebugVariant": true
40 | }
41 | }
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/.github/workflows/dependabot-auto-merge.yml:
--------------------------------------------------------------------------------
1 | name: Dependabot auto-merge
2 | on:
3 | pull_request:
4 | branches:
5 | - v4
6 |
7 | permissions:
8 | contents: write
9 | pull-requests: write
10 |
11 | jobs:
12 | dependabot:
13 | runs-on: ubuntu-latest
14 | if: ${{ github.actor == 'dependabot[bot]' && github.event.pull_request.auto_merge == null }}
15 | steps:
16 | - name: Dependabot metadata
17 | id: metadata
18 | uses: dependabot/fetch-metadata@v2
19 | with:
20 | github-token: "${{ secrets.GITHUB_TOKEN }}"
21 | - name: Approve and auto-merge PRs for minor/patch updates of github-actions
22 | if: |
23 | steps.metadata.outputs.package-ecosystem == 'github_actions' &&
24 | contains(fromJSON('["version-update:semver-minor", "version-update:semver-patch"]'), steps.metadata.outputs.update-type)
25 | run: gh pr review --approve "$PR_URL" && gh pr merge --auto --rebase "$PR_URL"
26 | env:
27 | PR_URL: ${{github.event.pull_request.html_url}}
28 | GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
29 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 |
8 | # Runtime data
9 | pids
10 | *.pid
11 | *.seed
12 | *.pid.lock
13 |
14 | # Coverage directory used by tools like istanbul
15 | coverage
16 |
17 | # nyc test coverage
18 | .nyc_output
19 |
20 | # CI (Azure Pipelines) xUnit test results
21 | test-results.xml
22 |
23 | # IDEs
24 | .vscode/
25 | *.~vsdx
26 | .idea/
27 |
28 | # node-waf configuration
29 | .lock-wscript
30 |
31 | # Compiled binary addons (http://nodejs.org/api/addons.html)
32 | build/Release
33 |
34 | # Dependency directories
35 | node_modules
36 | jspm_packages
37 |
38 | # Optional npm cache directory
39 | .npm
40 |
41 | # Optional eslint cache
42 | .eslintcache
43 |
44 | # Optional REPL history
45 | .node_repl_history
46 |
47 | # Output of 'npm pack'
48 | *.tgz
49 |
50 | # Yarn Integrity file
51 | .yarn-integrity
52 |
53 | # Misc
54 | yarn.lock
55 | .DS_Store
56 |
57 | # Don't include private SSH key for deployment via Travis CI
58 | deploy_key
59 |
60 | # Custom directories
61 | !test/fixtures/**/node_modules
62 | test/tmp/
63 | jsdocs/
64 |
--------------------------------------------------------------------------------
/lib/specifications/extensions/ServerMiddleware.js:
--------------------------------------------------------------------------------
1 | import path from "node:path";
2 | import Extension from "../Extension.js";
3 | import {pathToFileURL} from "node:url";
4 |
5 | /**
6 | * ServerMiddleware
7 | *
8 | * @public
9 | * @class
10 | * @alias @ui5/project/specifications/extensions/ServerMiddleware
11 | * @extends @ui5/project/specifications/Extension
12 | * @hideconstructor
13 | */
14 | class ServerMiddleware extends Extension {
15 | constructor(parameters) {
16 | super(parameters);
17 | }
18 |
19 | /* === Attributes === */
20 | /**
21 | * @public
22 | */
23 | async getMiddleware() {
24 | const middlewarePath = path.join(this.getRootPath(), this._config.middleware.path);
25 | const {default: middleware} = await import(pathToFileURL(middlewarePath));
26 | return middleware;
27 | }
28 | /* === Internals === */
29 | /**
30 | * @private
31 | */
32 | async _validateConfig() {
33 | // TODO: Move to validator
34 | if (/--\d+$/.test(this.getName())) {
35 | throw new Error(`Server middleware name must not end with '--'`);
36 | }
37 | // TODO: Check that paths exist
38 | }
39 | }
40 |
41 | export default ServerMiddleware;
42 |
--------------------------------------------------------------------------------
/lib/specifications/Extension.js:
--------------------------------------------------------------------------------
1 | import Specification from "./Specification.js";
2 |
3 | /**
4 | * Extension
5 | *
6 | * @public
7 | * @abstract
8 | * @class
9 | * @alias @ui5/project/specifications/Extension
10 | * @extends @ui5/project/specifications/Specification
11 | * @hideconstructor
12 | */
13 | class Extension extends Specification {
14 | constructor(parameters) {
15 | super(parameters);
16 | if (new.target === Extension) {
17 | throw new TypeError("Class 'Extension' is abstract. Please use one of the 'types' subclasses");
18 | }
19 | }
20 |
21 | /**
22 | * @param {object} parameters Specification parameters
23 | * @param {string} parameters.id Unique ID
24 | * @param {string} parameters.version Version
25 | * @param {string} parameters.modulePath File System path to access resources
26 | * @param {object} parameters.configuration Configuration object
27 | */
28 | async init(parameters) {
29 | await super.init(parameters);
30 |
31 | try {
32 | await this._validateConfig();
33 | } catch (err) {
34 | throw new Error(
35 | `Failed to validate configuration of ${this.getType()} extension ${this.getName()}: ` +
36 | err.message);
37 | }
38 |
39 | return this;
40 | }
41 |
42 | async _validateConfig() {}
43 | }
44 |
45 | export default Extension;
46 |
--------------------------------------------------------------------------------
/lib/validation/schema/ui5.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://json-schema.org/draft-07/schema",
3 | "$id": "http://ui5.sap/schema/ui5.json",
4 | "title": "ui5.yaml",
5 | "description": "Schema for UI5 CLI Configuration File (ui5.yaml)",
6 | "$comment": "See https://ui5.github.io/cli/",
7 |
8 | "type": "object",
9 | "required": ["specVersion"],
10 | "properties": {
11 | "specVersion": {
12 | "enum": [
13 | "4.0",
14 | "3.2", "3.1", "3.0",
15 | "2.6", "2.5", "2.4", "2.3", "2.2", "2.1", "2.0",
16 | "1.1", "1.0", "0.1"
17 | ],
18 | "errorMessage": "Unsupported \"specVersion\"\nYour UI5 CLI installation might be outdated.\nSupported specification versions: \"4.0\", \"3.2\", \"3.1\", \"3.0\", \"2.6\", \"2.5\", \"2.4\", \"2.3\", \"2.2\", \"2.1\", \"2.0\", \"1.1\", \"1.0\", \"0.1\"\nFor details, see: https://ui5.github.io/cli/pages/Configuration/#specification-versions"
19 | }
20 | },
21 |
22 | "if": {
23 | "properties": {
24 | "specVersion": { "enum": ["4.0", "3.2", "3.1", "3.0", "2.6", "2.5", "2.4", "2.3", "2.2", "2.1", "2.0"] }
25 | }
26 | },
27 | "then": {
28 | "$ref": "specVersion/specVersion.json"
29 | },
30 | "else": {
31 | "if": {
32 | "properties": {
33 | "specVersion": { "enum": ["1.1", "1.0", "0.1"] }
34 | }
35 | },
36 | "then": {
37 | "additionalProperties": true
38 | }
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/lib/specifications/extensions/Task.js:
--------------------------------------------------------------------------------
1 | import path from "node:path";
2 | import Extension from "../Extension.js";
3 | import {pathToFileURL} from "node:url";
4 |
5 | /**
6 | * Task
7 | *
8 | * @public
9 | * @class
10 | * @alias @ui5/project/specifications/extensions/Task
11 | * @extends @ui5/project/specifications/Extension
12 | * @hideconstructor
13 | */
14 | class Task extends Extension {
15 | constructor(parameters) {
16 | super(parameters);
17 | }
18 |
19 | /* === Attributes === */
20 | /**
21 | * @public
22 | */
23 | async getTask() {
24 | return (await this._getImplementation()).task;
25 | }
26 |
27 | /**
28 | * @public
29 | */
30 | async getRequiredDependenciesCallback() {
31 | return (await this._getImplementation()).determineRequiredDependencies;
32 | }
33 |
34 | /* === Internals === */
35 | /**
36 | * @private
37 | */
38 | async _getImplementation() {
39 | const taskPath = path.join(this.getRootPath(), this._config.task.path);
40 | const {default: task, determineRequiredDependencies} = await import(pathToFileURL(taskPath));
41 | return {
42 | task, determineRequiredDependencies
43 | };
44 | }
45 |
46 | /**
47 | * @private
48 | */
49 | async _validateConfig() {
50 | // TODO: Move to validator
51 | if (/--\d+$/.test(this.getName())) {
52 | throw new Error(`Task name must not end with '--'`);
53 | }
54 | // TODO: Check that paths exist
55 | }
56 | }
57 |
58 | export default Task;
59 |
--------------------------------------------------------------------------------
/lib/specifications/extensions/ProjectShim.js:
--------------------------------------------------------------------------------
1 | import Extension from "../Extension.js";
2 |
3 | /**
4 | * ProjectShim
5 | *
6 | * @public
7 | * @class
8 | * @alias @ui5/project/specifications/extensions/ProjectShim
9 | * @extends @ui5/project/specifications/Extension
10 | * @hideconstructor
11 | */
12 | class ProjectShim extends Extension {
13 | constructor(parameters) {
14 | super(parameters);
15 | }
16 |
17 |
18 | /* === Attributes === */
19 | /**
20 | * @public
21 | */
22 | getDependencyShims() {
23 | return this._config.shims.dependencies || {};
24 | }
25 |
26 | /**
27 | * @public
28 | */
29 | getConfigurationShims() {
30 | return this._config.shims.configurations || {};
31 | }
32 |
33 | /**
34 | * @public
35 | */
36 | getCollectionShims() {
37 | return this._config.shims.collections || {};
38 | }
39 |
40 | /* === Internals === */
41 | /**
42 | * @private
43 | */
44 | async _validateConfig() {
45 | if (this._config.shims.collections) {
46 | const {
47 | default: path
48 | } = await import("path");
49 | for (const dependencyDefinition of Object.values(this._config.shims.collections)) {
50 | Object.values(dependencyDefinition.modules).forEach((depPath) => {
51 | if (path.isAbsolute(depPath)) {
52 | throw new Error("All module paths of collections defined in a project-shim must be relative");
53 | }
54 | });
55 | }
56 | }
57 | }
58 | }
59 |
60 | export default ProjectShim;
61 |
--------------------------------------------------------------------------------
/jsdoc.json:
--------------------------------------------------------------------------------
1 | {
2 | "tags": {
3 | "allowUnknownTags": false
4 | },
5 | "source": {
6 | "include": ["README.md"],
7 | "includePattern": ".+\\.js$",
8 | "excludePattern": "(node_modules(\\\\|/))"
9 | },
10 | "plugins": [
11 | "./jsdoc-plugin.cjs"
12 | ],
13 | "opts": {
14 | "encoding": "utf8",
15 | "destination": "jsdocs/",
16 | "recurse": true,
17 | "verbose": true,
18 | "access": "public"
19 | },
20 | "templates": {
21 | "cleverLinks": false,
22 | "monospaceLinks": false,
23 | "default": {
24 | "useLongnameInNav": true
25 | }
26 | },
27 | "openGraph": {
28 | "title": "UI5 CLI - API Reference",
29 | "type": "website",
30 | "image": "https://ui5.github.io/cli/v4/images/UI5_logo_wide.png",
31 | "site_name": "UI5 CLI - API Reference",
32 | "url": "https://ui5.github.io/cli/"
33 | },
34 | "docdash": {
35 | "sectionOrder": [
36 | "Modules",
37 | "Namespaces",
38 | "Classes",
39 | "Externals",
40 | "Events",
41 | "Mixins",
42 | "Tutorials",
43 | "Interfaces"
44 | ],
45 | "meta": {
46 | "title": "UI5 CLI - API Reference - UI5 Project",
47 | "description": "UI5 CLI - API Reference - UI5 Project",
48 | "keyword": "openui5 sapui5 ui5 build development tool api reference"
49 | },
50 | "search": true,
51 | "wrap": true,
52 | "menu": {
53 | "GitHub": {
54 | "href": "https://github.com/SAP/ui5-project",
55 | "target": "_blank",
56 | "class": "menu-item",
57 | "id": "github_link"
58 | }
59 | }
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/test/fixtures/lbt/modules/declare_toplevel.js:
--------------------------------------------------------------------------------
1 | //declares module sap.ui.testmodule
2 | jQuery.sap.declare("sap.ui.testmodule");
3 |
4 | // top level statements in the scope
5 | jQuery.sap.require("top.require.void");
6 | var x = jQuery.sap.require("top.require.var");
7 | x = jQuery.sap.require("top.require.assign");
8 | var xs = sap.ui.requireSync("top/requireSync/var");
9 | xs = sap.ui.requireSync("top/requireSync/assign");
10 |
11 | // a block with require statements
12 | {
13 | jQuery.sap.require("block.require.void");
14 | var z = jQuery.sap.require("block.require.var");
15 | z = jQuery.sap.require("block.require.assign");
16 | var zs = sap.ui.requireSync("block/requireSync/var");
17 | zs = sap.ui.requireSync("block/requireSync/assign");
18 | }
19 |
20 | // a nested function invocation with require statements
21 | (function() {
22 | jQuery.sap.require("nested.scope.require.void");
23 | var z = jQuery.sap.require("nested.scope.require.var");
24 | z = jQuery.sap.require("nested.scope.require.assign");
25 | var zs = sap.ui.requireSync("nested/scope/requireSync/var");
26 | zs = sap.ui.requireSync("nested/scope/requireSync/assign");
27 | }());
28 |
29 | //a nested function expression with require statements
30 | (function() {
31 | jQuery.sap.require("nested.scope2.require.void");
32 | var z = jQuery.sap.require("nested.scope2.require.var");
33 | z = jQuery.sap.require("nested.scope2.require.assign");
34 | var zs = sap.ui.requireSync("nested/scope2/requireSync/var");
35 | zs = sap.ui.requireSync("nested/scope2/requireSync/assign");
36 | })();
37 |
--------------------------------------------------------------------------------
/test/fixtures/application.h/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
9 | 4.0.0
10 |
11 |
12 |
15 |
16 | com.sap.test
17 | application.h
18 | 1.0.0
19 | war
20 |
21 |
22 |
25 |
26 | application.h
27 | Simple SAPUI5 based application
28 |
29 |
30 |
33 |
34 |
35 |
36 | application.h
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/test/lib/graph/graphFromPackageDependencies.js:
--------------------------------------------------------------------------------
1 | import test from "ava";
2 | import path from "node:path";
3 | import sinonGlobal from "sinon";
4 | import {graphFromPackageDependencies} from "../../../lib/graph/graph.js";
5 |
6 | const __dirname = import.meta.dirname;
7 |
8 | const applicationAPath = path.join(__dirname, "..", "..", "fixtures", "application.a");
9 | test.beforeEach((t) => {
10 | t.context.sinon = sinonGlobal.createSandbox();
11 | });
12 |
13 | test.afterEach.always((t) => {
14 | t.context.sinon.restore();
15 | });
16 |
17 | test("Application A", async (t) => {
18 | const projectGraph = await graphFromPackageDependencies({cwd: applicationAPath});
19 | const rootProject = projectGraph.getRoot();
20 | t.is(rootProject.getName(), "application.a", "Returned correct root project");
21 | });
22 |
23 | test("Application A: Traverse project graph breadth first", async (t) => {
24 | const projectGraph = await graphFromPackageDependencies({cwd: applicationAPath});
25 | const callbackStub = t.context.sinon.stub().resolves();
26 | await projectGraph.traverseBreadthFirst(callbackStub);
27 |
28 | t.is(callbackStub.callCount, 5, "Five projects have been visited");
29 |
30 | const callbackCalls = callbackStub.getCalls().map((call) => call.args[0].project.getName());
31 |
32 | t.deepEqual(callbackCalls, [
33 | "application.a",
34 | "library.d",
35 | "library.a",
36 | "library.b",
37 | "library.c"
38 | ], "Traversed graph in correct order");
39 | });
40 |
41 | // More integration tests for package.json dependencies in graph/providers/NodePackageDependencies.integration.js
42 |
--------------------------------------------------------------------------------
/lib/build/definitions/themeLibrary.js:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Get tasks and their configuration for a given application project
4 | *
5 | * @private
6 | * @param {object} parameters
7 | * @param {object} parameters.project
8 | * @param {object} parameters.taskUtil
9 | * @param {Function} parameters.getTask
10 | */
11 | export default function({project, taskUtil, getTask}) {
12 | const tasks = new Map();
13 | tasks.set("replaceCopyright", {
14 | options: {
15 | copyright: project.getCopyright(),
16 | pattern: "/resources/**/*.{less,theme}"
17 | }
18 | });
19 |
20 | tasks.set("replaceVersion", {
21 | options: {
22 | version: project.getVersion(),
23 | pattern: "/resources/**/*.{less,theme}"
24 | }
25 | });
26 |
27 | tasks.set("buildThemes", {
28 | requiresDependencies: true,
29 | options: {
30 | projectName: project.getName(),
31 | librariesPattern: !taskUtil.isRootProject() ? "/resources/**/(*.library|library.js)" : undefined,
32 | themesPattern: !taskUtil.isRootProject() ? "/resources/sap/ui/core/themes/*" : undefined,
33 | inputPattern: "/resources/**/themes/*/library.source.less",
34 | cssVariables: taskUtil.getBuildOption("cssVariables")
35 | }
36 | });
37 |
38 | if (project.isFrameworkProject()) {
39 | tasks.set("generateThemeDesignerResources", {
40 | requiresDependencies: true,
41 | options: {
42 | version: project.getVersion()
43 | }
44 | });
45 | } else {
46 | tasks.set("generateThemeDesignerResources", {taskFunction: null});
47 | }
48 |
49 | tasks.set("generateResourcesJson", {requiresDependencies: true});
50 | return tasks;
51 | }
52 |
--------------------------------------------------------------------------------
/test/fixtures/lbt/modules/declare_function_invocation_scope.js:
--------------------------------------------------------------------------------
1 | //uses a function invocation expr to create a scope
2 | (function($2, window){
3 |
4 | //declares module sap.ui.testmodule
5 | jQuery.sap.declare("sap.ui.testmodule");
6 |
7 | // top level statements in the scope
8 | jQuery.sap.require("top.require.void");
9 | var x = jQuery.sap.require("top.require.var");
10 | x = jQuery.sap.require("top.require.assign");
11 | var xs = sap.ui.requireSync("top/requireSync/var");
12 | xs = sap.ui.requireSync("top/requireSync/assign");
13 |
14 | // a block with require statements
15 | {
16 | jQuery.sap.require("block.require.void");
17 | var z = jQuery.sap.require("block.require.var");
18 | z = jQuery.sap.require("block.require.assign");
19 | var zs = sap.ui.requireSync("block/requireSync/var");
20 | zs = sap.ui.requireSync("block/requireSync/assign");
21 | }
22 |
23 | // a nested function invocation with require statements
24 | (function() {
25 | jQuery.sap.require("nested.scope.require.void");
26 | var z = jQuery.sap.require("nested.scope.require.var");
27 | z = jQuery.sap.require("nested.scope.require.assign");
28 | var zs = sap.ui.requireSync("nested/scope/requireSync/var");
29 | zs = sap.ui.requireSync("nested/scope/requireSync/assign");
30 | }());
31 |
32 | //a nested function expression with require statements
33 | (function() {
34 | jQuery.sap.require("nested.scope2.require.void");
35 | var z = jQuery.sap.require("nested.scope2.require.var");
36 | z = jQuery.sap.require("nested.scope2.require.assign");
37 | var zs = sap.ui.requireSync("nested/scope2/requireSync/var");
38 | zs = sap.ui.requireSync("nested/scope2/requireSync/assign");
39 | })();
40 |
41 | }(jQuery, this));
42 |
--------------------------------------------------------------------------------
/test/lib/graph/providers/NodePackageDependencies.js:
--------------------------------------------------------------------------------
1 | import test from "ava";
2 | import sinonGlobal from "sinon";
3 | import esmock from "esmock";
4 |
5 | test.beforeEach(async (t) => {
6 | const sinon = t.context.sinon = sinonGlobal.createSandbox();
7 |
8 | t.context.readPackageUp = sinon.stub();
9 |
10 | t.context.NodePackageDependencies = await esmock("../../../../lib/graph/providers/NodePackageDependencies.js", {
11 | "read-package-up": {
12 | readPackageUp: t.context.readPackageUp
13 | }
14 | });
15 | });
16 |
17 | test.afterEach.always((t) => {
18 | t.context.sinon.restore();
19 | });
20 |
21 | test("getRootNode should reject with error when 'name' is empty/missing in package.json", async (t) => {
22 | const {NodePackageDependencies, readPackageUp} = t.context;
23 |
24 | const resolver = new NodePackageDependencies({cwd: "cwd"});
25 |
26 | readPackageUp.resolves({
27 | path: "/path/to/root/package.json",
28 | packageJson: {
29 | name: ""
30 | }
31 | });
32 |
33 | await t.throwsAsync(() => resolver.getRootNode(), {
34 | message: "Missing or empty 'name' attribute in package.json at /path/to/root"
35 | });
36 | });
37 |
38 | test("getRootNode should reject with error when 'version' is empty/missing in package.json", async (t) => {
39 | const {NodePackageDependencies, readPackageUp} = t.context;
40 |
41 | const resolver = new NodePackageDependencies({cwd: "cwd"});
42 |
43 | readPackageUp.resolves({
44 | path: "/path/to/root/package.json",
45 | packageJson: {
46 | name: "test-package-name",
47 | version: ""
48 | }
49 | });
50 |
51 | await t.throwsAsync(() => resolver.getRootNode(), {
52 | message: "Missing or empty 'version' attribute in package.json at /path/to/root"
53 | });
54 | });
55 |
--------------------------------------------------------------------------------