Skip to content

UI5 Linter does not detect deprecated API calls inside sap.ui.predefine #247

@flovogt

Description

@flovogt

Deprecated APIs inside sap.ui.predefine calls are not detected, I guess because sap.ui.predefine calls are not transpiled. Due to this, types inside the callback of sap.ui.predefine are not known to TypeScript.

Example:

sap.ui.predefine('mylib/library', ["sap/ui/core/Lib"], function(Library) {
	return Library.init({
		name: 'testlibs.scenario1.lib3',
		noLibraryCSS: true
	});
});

https://github.com/SAP/openui5/blob/7a9efdbc5ce7b03d48629a805078fc522e2b93fc/src/sap.ui.core/test/sap/ui/core/qunit/Lib.qunit.js#L82-L87
(apiVersion was missing, but this was not reported by the linter - In master, this has been fixed in the meantime)

Note: This issue is assumed to be specific to framework code only. sap.ui.predefine calls should not occur in application code.

Context

  • UI5 linter version: 0.2.2
  • Node.js Version: v20.11.1
  • npm Version: 10.2.4
  • OS/Platform: macOS 14.4.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    detectionAn issue related to detection capabilities

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions