SAP/ui5-tooling

"project?.getPropertiesFileSourceEncoding is not a function" after upgrading to v3

Zitruism opened this issue · 4 comments

Expected Behavior

When running ui5 serve, I should be able to load .properties files which are contained inside a project-shim. With UI5 tooling v2 this worked just fine.

Current Behavior

With UI5 tooling v3, loading of .properties files which are part of a project-shim (a npm module) cause an internal server error with the error message stating that "project?.getPropertiesFileSourceEncoding is not a function"

Steps to Reproduce the Issue

  1. Have a project-shim setup.
specVersion: '3.0'
kind: extension
type: project-shim
metadata:
  name: my.application.lib # this can be your project shim name
shims:
  configurations:
    "@mynpm/package": # name as defined in package.json
      specVersion: '3.0'
      type: module # Use module type
      metadata:
        name: "@mynpm/package"
      resources:
        configuration:
          paths:
            /lib/myPackage/: '/dist/'  # location where modules are stored
  1. Run your application via ui5 serve
  2. In the browser, navigate to the lib/myPackage directory and open a .properties file thats contained inside the directory.
  3. The error "project?.getPropertiesFileSourceEncoding is not a function" shows up

Context

  • UI5 Module Version (output of ui5 --version when using the CLI): 3.0.4
  • Node.js Version: 18.15.0
  • npm Version: 9.5.0
  • OS/Platform: Windows 11 Pro 64Bit

Log Output / Stack Trace

verb cli:middlewares:base using @ui5/cli version 3.0.4 (from myProjectPath\myapplication\node_modules\@ui5\cli\bin\ui5.cjs)
verb cli:middlewares:base using node version v18.15.0
verb generateProjectGraph Creating project graph using npm provider...
verb generateProjectGraph No workspace configuration file provided at myProjectPath\myapplication\ui5-workspace.yaml
verb graph:Module Could not find any build manifest in module myapplication
verb graph:Module Configuration for module myapplication is provided in YAML file at ui5.yaml
verb graph:Module Module myapplication contains extension my.application.lib
verb specifications:types:Application Path mapping for application project myapplication:
verb specifications:types:Application   Physical root path: myProjectPath\myapplication
verb specifications:types:Application   Mapped to: webapp
verb specifications:types:Application Namespace of project myapplication is my/application (from manifest.json)
verb graph:Module Module myapplication contains project myapplication
verb graph:projectGraphBuilder Root project myapplication qualified as application project for project graph
verb graph:ProjectGraph Adding project: myapplication
verb graph:ShimCollection Adding new shim my.application.lib...
verb graph:providers:NodePackageDependencies Resolving dependencies of myapplication...
verb graph:providers:NodePackageDependencies Resolving module path for '@mynpm/package'...
verb graph:providers:NodePackageDependencies Resolving module path for '@sap/eslint-plugin-ui5-jsdocs'...
verb graph:providers:NodePackageDependencies Resolving module path for '@sapui5/ts-types'...
verb graph:providers:NodePackageDependencies Resolving module path for '@ui5/cli'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint'...
verb graph:providers:NodePackageDependencies Resolving module path for 'ui5-middleware-simpleproxy'...
verb graph:providers:NodePackageDependencies Resolving module path for 'ui5-task-zipper'...
verb graph:providers:NodePackageDependencies Resolved module eslint to path myProjectPath\myapplication\node_modules\eslint
verb graph:providers:NodePackageDependencies Reading package.json in directory myProjectPath\myapplication\node_modules\eslint...
verb graph:providers:NodePackageDependencies Resolved module ui5-middleware-simpleproxy to path myProjectPath\myapplication\node_modules\ui5-middleware-simpleproxy
verb graph:providers:NodePackageDependencies Reading package.json in directory myProjectPath\myapplication\node_modules\ui5-middleware-simpleproxy...
verb graph:providers:NodePackageDependencies Resolved module @sap/eslint-plugin-ui5-jsdocs to path myProjectPath\myapplication\node_modules\@sap\eslint-plugin-ui5-jsdocs       
verb graph:providers:NodePackageDependencies Reading package.json in directory myProjectPath\myapplication\node_modules\@sap\eslint-plugin-ui5-jsdocs...
verb graph:providers:NodePackageDependencies Resolved module ui5-task-zipper to path myProjectPath\myapplication\node_modules\ui5-task-zipper
verb graph:providers:NodePackageDependencies Reading package.json in directory myProjectPath\myapplication\node_modules\ui5-task-zipper...
verb graph:providers:NodePackageDependencies Resolved module @sapui5/ts-types to path myProjectPath\myapplication\node_modules\@sapui5\ts-types
verb graph:providers:NodePackageDependencies Reading package.json in directory myProjectPath\myapplication\node_modules\@sapui5\ts-types...
verb graph:providers:NodePackageDependencies Resolved module @mynpm/package to path myProjectPath\myapplication\node_modules\@mynpm\package
verb graph:providers:NodePackageDependencies Reading package.json in directory myProjectPath\myapplication\node_modules\@mynpm\package...
verb graph:providers:NodePackageDependencies Resolved module @ui5/cli to path myProjectPath\myapplication\node_modules\@ui5\cli
verb graph:providers:NodePackageDependencies Reading package.json in directory myProjectPath\myapplication\node_modules\@ui5\cli...
verb graph:providers:NodePackageDependencies Resolving module path for '@babel/core'...
verb graph:providers:NodePackageDependencies Resolving module path for '@babel/preset-env'...
verb graph:providers:NodePackageDependencies Resolving module path for 'babel-loader'...
verb graph:providers:NodePackageDependencies Resolving module path for 'chai'...
verb graph:providers:NodePackageDependencies Resolving module path for 'cheerio'...
verb graph:providers:NodePackageDependencies Resolving module path for 'common-tags'...
verb graph:providers:NodePackageDependencies Resolving module path for 'core-js'...
verb graph:providers:NodePackageDependencies Resolving module path for 'ejs'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint-config-eslint'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint-plugin-eslint-comments'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint-plugin-eslint-plugin'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint-plugin-internal-rules'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint-plugin-jsdoc'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint-plugin-n'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint-plugin-unicorn'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint-release'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslump'...
verb graph:providers:NodePackageDependencies Resolving module path for 'esprima'...
verb graph:providers:NodePackageDependencies Resolving module path for 'fast-glob'...
verb graph:providers:NodePackageDependencies Resolving module path for 'fs-teardown'...
verb graph:providers:NodePackageDependencies Resolving module path for 'glob'...
verb graph:providers:NodePackageDependencies Resolving module path for 'got'...
verb graph:providers:NodePackageDependencies Resolving module path for 'gray-matter'...
verb graph:providers:NodePackageDependencies Resolving module path for 'jsdoc'...
verb graph:providers:NodePackageDependencies Resolving module path for 'karma'...
verb graph:providers:NodePackageDependencies Resolving module path for 'karma-chrome-launcher'...
verb graph:providers:NodePackageDependencies Resolving module path for 'karma-mocha'...
verb graph:providers:NodePackageDependencies Resolving module path for 'karma-mocha-reporter'...
verb graph:providers:NodePackageDependencies Resolving module path for 'karma-webpack'...
verb graph:providers:NodePackageDependencies Resolving module path for 'lint-staged'...
verb graph:providers:NodePackageDependencies Resolving module path for 'load-perf'...
verb graph:providers:NodePackageDependencies Resolving module path for 'markdownlint'...
verb graph:providers:NodePackageDependencies Resolving module path for 'markdownlint-cli'...
verb graph:providers:NodePackageDependencies Resolving module path for 'marked'...
verb graph:providers:NodePackageDependencies Resolving module path for 'memfs'...
verb graph:providers:NodePackageDependencies Resolving module path for 'metascraper'...
verb graph:providers:NodePackageDependencies Resolving module path for 'metascraper-description'...
verb graph:providers:NodePackageDependencies Resolving module path for 'metascraper-image'...
verb graph:providers:NodePackageDependencies Resolving module path for 'metascraper-logo'...
verb graph:providers:NodePackageDependencies Resolving module path for 'metascraper-logo-favicon'...
verb graph:providers:NodePackageDependencies Resolving module path for 'metascraper-title'...
verb graph:providers:NodePackageDependencies Resolving module path for 'mocha'...
verb graph:providers:NodePackageDependencies Resolving module path for 'mocha-junit-reporter'...
verb graph:providers:NodePackageDependencies Resolving module path for 'node-polyfill-webpack-plugin'...
verb graph:providers:NodePackageDependencies Resolving module path for 'npm-license'...
verb graph:providers:NodePackageDependencies Resolving module path for 'nyc'...
verb graph:providers:NodePackageDependencies Resolving module path for 'pirates'...
verb graph:providers:NodePackageDependencies Resolving module path for 'progress'...
verb graph:providers:NodePackageDependencies Resolving module path for 'proxyquire'...
verb graph:providers:NodePackageDependencies Resolving module path for 'puppeteer'...
verb graph:providers:NodePackageDependencies Resolving module path for 'recast'...
verb graph:providers:NodePackageDependencies Resolving module path for 'regenerator-runtime'...
verb graph:providers:NodePackageDependencies Resolving module path for 'semver'...
verb graph:providers:NodePackageDependencies Resolving module path for 'shelljs'...
verb graph:providers:NodePackageDependencies Resolving module path for 'sinon'...
verb graph:providers:NodePackageDependencies Resolving module path for 'temp'...
verb graph:providers:NodePackageDependencies Resolving module path for 'webpack'...
verb graph:providers:NodePackageDependencies Resolving module path for 'webpack-cli'...
verb graph:providers:NodePackageDependencies Resolving module path for 'yorkie'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint-plugin-eslint-plugin'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint-plugin-standard'...
verb graph:providers:NodePackageDependencies Resolving module path for 'nyc'...
verb graph:providers:NodePackageDependencies Resolving module path for 'prettier'...
verb graph:providers:NodePackageDependencies Resolving module path for 'mocha'...
verb graph:providers:NodePackageDependencies Resolving module path for '@ui5/cli'...
verb graph:providers:NodePackageDependencies Resolving module path for 'ava'...
verb graph:providers:NodePackageDependencies Resolving module path for 'yauzl'...
verb graph:providers:NodePackageDependencies Resolving module path for '@istanbuljs/esm-loader-hook'...
verb graph:providers:NodePackageDependencies Resolving module path for 'ava'...
verb graph:providers:NodePackageDependencies Resolving module path for 'chokidar-cli'...
verb graph:providers:NodePackageDependencies Resolving module path for 'cross-env'...
verb graph:providers:NodePackageDependencies Resolving module path for 'depcheck'...
verb graph:providers:NodePackageDependencies Resolving module path for 'docdash'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint-config-google'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint-plugin-ava'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint-plugin-jsdoc'...
verb graph:providers:NodePackageDependencies Resolving module path for 'esmock'...
verb graph:providers:NodePackageDependencies Resolving module path for 'execa'...
verb graph:providers:NodePackageDependencies Resolving module path for 'jsdoc'...
verb graph:providers:NodePackageDependencies Resolving module path for 'nyc'...
verb graph:providers:NodePackageDependencies Resolving module path for 'open-cli'...
verb graph:providers:NodePackageDependencies Resolving module path for 'rimraf'...
verb graph:providers:NodePackageDependencies Resolving module path for 'sinon'...
verb graph:providers:NodePackageDependencies Resolving module path for 'strip-ansi'...
verb graph:providers:NodePackageDependencies Resolving module path for 'tap-xunit'...
verb graph:providers:NodePackageDependencies Resolved module semver to path myProjectPath\node_modules\semver
verb graph:providers:NodePackageDependencies Resolved module execa to path myProjectPath\node_modules\execa
verb graph:providers:NodePackageDependencies Resolved module eslint to path myProjectPath\myapplication\node_modules\eslint
verb graph:providers:NodePackageDependencies Resolved module glob to path myProjectPath\myapplication\node_modules\glob
verb graph:providers:NodePackageDependencies Resolved module fast-glob to path myProjectPath\myapplication\node_modules\fast-glob
verb graph:providers:NodePackageDependencies Resolved module progress to path myProjectPath\myapplication\node_modules\progress
verb graph:providers:NodePackageDependencies Resolved module esprima to path myProjectPath\myapplication\node_modules\esprima
verb graph:providers:NodePackageDependencies Resolved module @ui5/cli to path myProjectPath\myapplication\node_modules\@ui5\cli
verb graph:providers:NodePackageDependencies Resolved module eslint to path myProjectPath\myapplication\node_modules\eslint
verb graph:providers:NodePackageDependencies Resolved module jsdoc to path myProjectPath\myapplication\node_modules\@ui5\cli\node_modules\jsdoc
verb graph:providers:NodePackageDependencies Resolved module strip-ansi to path myProjectPath\myapplication\node_modules\@ui5\cli\node_modules\strip-ansi
verb graph:providers:NodePackageDependencies Resolved module rimraf to path myProjectPath\myapplication\node_modules\@ui5\cli\node_modules\rimraf
verb graph:projectGraphBuilder Creating module @mynpm/package...
verb graph:projectGraphBuilder Creating module @sap/eslint-plugin-ui5-jsdocs...
verb graph:projectGraphBuilder Creating module @sapui5/ts-types...
verb graph:projectGraphBuilder Creating module @ui5/cli...
verb graph:projectGraphBuilder Creating module eslint...
verb graph:projectGraphBuilder Creating module ui5-middleware-simpleproxy...
verb graph:projectGraphBuilder Creating module ui5-task-zipper...
verb graph:Module Could not find any build manifest in module @mynpm/package
verb graph:Module Could not find any build manifest in module @sap/eslint-plugin-ui5-jsdocs
verb graph:Module Could not find any build manifest in module @sapui5/ts-types
verb graph:Module Could not find any build manifest in module @ui5/cli
verb graph:Module Could not find any build manifest in module eslint
verb graph:Module Could not find any build manifest in module ui5-middleware-simpleproxy
verb graph:Module Could not find any build manifest in module ui5-task-zipper
verb graph:Module Could not find a configuration file for module @mynpm/package
verb graph:Module Applying project shim my.application.lib for module @mynpm/package...
verb graph:Module Created configuration from shim extensions for module @mynpm/package
verb graph:Module Could not find a configuration file for module @sap/eslint-plugin-ui5-jsdocs
verb graph:Module Could not find a configuration file for module @sapui5/ts-types
verb graph:Module Could not find a configuration file for module @ui5/cli
verb graph:Module Could not find a configuration file for module eslint
verb graph:Module Configuration for module ui5-middleware-simpleproxy is provided in YAML file at ui5.yaml
verb graph:Module Configuration for module ui5-task-zipper is provided in YAML file at ui5.yaml
verb specifications:types:Module Path mapping for module project @mynpm/package:
verb specifications:types:Module   Physical root path: myProjectPath\myapplication\node_modules\@mynpm\package
verb specifications:types:Module   Mapped to:
verb specifications:types:Module     /lib/myPackage/ => /dist/
verb graph:Module Module @mynpm/package contains project @mynpm/package
verb specifications:types:ServerMiddleware Detected legacy Specification Version 1.0, defined for extension ui5-middleware-simpleproxy. Attempting to migrate the project to a supported specification version...
verb graph:Module Module ui5-middleware-simpleproxy contains extension ui5-middleware-simpleproxy
verb graph:Module Module ui5-task-zipper contains extension ui5-task-zipper
verb graph:ProjectGraph Adding project: @mynpm/package
verb graph:ProjectGraph Declaring dependency: myapplication depends on @mynpm/package
verb graph:providers:NodePackageDependencies Resolving dependencies of @mynpm/package...
verb graph:projectGraphBuilder Module @sap/eslint-plugin-ui5-jsdocs neither provides a project nor an extension. Skipping dependency resolution
verb graph:projectGraphBuilder Module @sapui5/ts-types neither provides a project nor an extension. Skipping dependency resolution
verb graph:projectGraphBuilder Module @ui5/cli neither provides a project nor an extension. Skipping dependency resolution
verb graph:projectGraphBuilder Module eslint neither provides a project nor an extension. Skipping dependency resolution
verb graph:projectGraphBuilder Handling extensions for module ui5-middleware-simpleproxy...
verb graph:providers:NodePackageDependencies Resolving dependencies of ui5-middleware-simpleproxy...
verb graph:providers:NodePackageDependencies Resolving module path for '@ui5/logger'...
verb graph:providers:NodePackageDependencies Resolving module path for 'dotenv'...
verb graph:providers:NodePackageDependencies Resolving module path for 'express-http-proxy'...
verb graph:providers:NodePackageDependencies Resolving module path for 'minimatch'...
verb graph:providers:NodePackageDependencies Resolved module @ui5/logger to path myProjectPath\myapplication\node_modules\@ui5\logger
verb graph:providers:NodePackageDependencies Reading package.json in directory myProjectPath\myapplication\node_modules\@ui5\logger...
verb graph:providers:NodePackageDependencies Resolved module express-http-proxy to path myProjectPath\myapplication\node_modules\express-http-proxy
verb graph:providers:NodePackageDependencies Reading package.json in directory myProjectPath\myapplication\node_modules\express-http-proxy...
verb graph:providers:NodePackageDependencies Resolved module dotenv to path myProjectPath\myapplication\node_modules\dotenv
verb graph:providers:NodePackageDependencies Reading package.json in directory myProjectPath\myapplication\node_modules\dotenv...
verb graph:providers:NodePackageDependencies Resolving module path for 'ava'...
verb graph:providers:NodePackageDependencies Resolving module path for 'chokidar-cli'...
verb graph:providers:NodePackageDependencies Resolving module path for 'cross-env'...
verb graph:providers:NodePackageDependencies Resolving module path for 'docdash'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint-config-google'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint-plugin-ava'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint-plugin-jsdoc'...
verb graph:providers:NodePackageDependencies Resolving module path for 'jsdoc'...
verb graph:providers:NodePackageDependencies Resolving module path for 'mock-require'...
verb graph:providers:NodePackageDependencies Resolving module path for 'nyc'...
verb graph:providers:NodePackageDependencies Resolving module path for 'open-cli'...
verb graph:providers:NodePackageDependencies Resolving module path for 'rimraf'...
verb graph:providers:NodePackageDependencies Resolving module path for 'sinon'...
verb graph:providers:NodePackageDependencies Resolving module path for 'tap-nyan'...
verb graph:providers:NodePackageDependencies Resolving module path for 'tap-xunit'...
verb graph:providers:NodePackageDependencies Resolving module path for 'body-parser'...
verb graph:providers:NodePackageDependencies Resolving module path for 'chai'...
verb graph:providers:NodePackageDependencies Resolving module path for 'cookie-parser'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint'...
verb graph:providers:NodePackageDependencies Resolving module path for 'express'...
verb graph:providers:NodePackageDependencies Resolving module path for 'mocha'...
verb graph:providers:NodePackageDependencies Resolving module path for 'nock'...
verb graph:providers:NodePackageDependencies Resolving module path for 'supertest'...
verb graph:providers:NodePackageDependencies Resolving module path for '@types/node'...
verb graph:providers:NodePackageDependencies Resolving module path for 'decache'...
verb graph:providers:NodePackageDependencies Resolving module path for 'dtslint'...
verb graph:providers:NodePackageDependencies Resolving module path for 'sinon'...
verb graph:providers:NodePackageDependencies Resolving module path for 'standard'...
verb graph:providers:NodePackageDependencies Resolving module path for 'standard-markdown'...
verb graph:providers:NodePackageDependencies Resolving module path for 'standard-version'...
verb graph:providers:NodePackageDependencies Resolving module path for 'tap'...
verb graph:providers:NodePackageDependencies Resolving module path for 'tar'...
verb graph:providers:NodePackageDependencies Resolving module path for 'typescript'...
verb graph:providers:NodePackageDependencies Resolved module minimatch to path myProjectPath\myapplication\node_modules\ui5-middleware-simpleproxy\node_modules\minimatch
verb graph:providers:NodePackageDependencies Reading package.json in directory myProjectPath\myapplication\node_modules\ui5-middleware-simpleproxy\node_modules\minimatch...    
verb graph:providers:NodePackageDependencies Resolving module path for '@types/brace-expansion'...
verb graph:providers:NodePackageDependencies Resolving module path for '@types/node'...
verb graph:providers:NodePackageDependencies Resolving module path for '@types/tap'...
verb graph:providers:NodePackageDependencies Resolving module path for 'c8'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint-config-prettier'...
verb graph:providers:NodePackageDependencies Resolving module path for 'mkdirp'...
verb graph:providers:NodePackageDependencies Resolving module path for 'prettier'...
verb graph:providers:NodePackageDependencies Resolving module path for 'tap'...
verb graph:providers:NodePackageDependencies Resolving module path for 'ts-node'...
verb graph:providers:NodePackageDependencies Resolving module path for 'typedoc'...
verb graph:providers:NodePackageDependencies Resolving module path for 'typescript'...
verb graph:providers:NodePackageDependencies Resolved module eslint to path myProjectPath\myapplication\node_modules\eslint
verb graph:providers:NodePackageDependencies Resolved module eslint to path myProjectPath\myapplication\node_modules\eslint
verb graph:providers:NodePackageDependencies Resolved module rimraf to path myProjectPath\myapplication\node_modules\rimraf
verb graph:providers:NodePackageDependencies Resolved module mkdirp to path myProjectPath\myapplication\node_modules\mkdirp
verb graph:projectGraphBuilder Handling extensions for module ui5-task-zipper...
verb graph:providers:NodePackageDependencies Resolving dependencies of ui5-task-zipper...
verb graph:providers:NodePackageDependencies Resolving module path for '@ui5/fs'...
verb graph:providers:NodePackageDependencies Resolving module path for '@ui5/logger'...
verb graph:providers:NodePackageDependencies Resolving module path for 'yazl'...
verb graph:providers:NodePackageDependencies Resolving module path for '@ui5/cli'...
verb graph:providers:NodePackageDependencies Resolved module yazl to path myProjectPath\myapplication\node_modules\yazl
verb graph:providers:NodePackageDependencies Reading package.json in directory myProjectPath\myapplication\node_modules\yazl...
verb graph:providers:NodePackageDependencies Resolved module @ui5/fs to path myProjectPath\myapplication\node_modules\@ui5\fs
verb graph:providers:NodePackageDependencies Reading package.json in directory myProjectPath\myapplication\node_modules\@ui5\fs...
verb graph:providers:NodePackageDependencies Resolved module @ui5/logger to path myProjectPath\myapplication\node_modules\@ui5\logger
verb graph:providers:NodePackageDependencies Reading package.json in directory myProjectPath\myapplication\node_modules\@ui5\logger...
verb graph:providers:NodePackageDependencies Resolving module path for 'bl'...
verb graph:providers:NodePackageDependencies Resolving module path for 'istanbul'...
verb graph:providers:NodePackageDependencies Resolving module path for 'yauzl'...
verb graph:providers:NodePackageDependencies Resolved module @ui5/cli to path myProjectPath\myapplication\node_modules\@ui5\cli
verb graph:providers:NodePackageDependencies Reading package.json in directory myProjectPath\myapplication\node_modules\@ui5\cli...
verb graph:providers:NodePackageDependencies Resolving module path for 'ava'...
verb graph:providers:NodePackageDependencies Resolving module path for 'chai'...
verb graph:providers:NodePackageDependencies Resolving module path for 'chai-fs'...
verb graph:providers:NodePackageDependencies Resolving module path for 'chokidar-cli'...
verb graph:providers:NodePackageDependencies Resolving module path for 'cross-env'...
verb graph:providers:NodePackageDependencies Resolving module path for 'depcheck'...
verb graph:providers:NodePackageDependencies Resolving module path for 'docdash'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint-config-google'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint-plugin-jsdoc'...
verb graph:providers:NodePackageDependencies Resolving module path for 'jsdoc'...
verb graph:providers:NodePackageDependencies Resolving module path for 'mock-require'...
verb graph:providers:NodePackageDependencies Resolving module path for 'nyc'...
verb graph:providers:NodePackageDependencies Resolving module path for 'open-cli'...
verb graph:providers:NodePackageDependencies Resolving module path for 'rimraf'...
verb graph:providers:NodePackageDependencies Resolving module path for 'sinon'...
verb graph:providers:NodePackageDependencies Resolving module path for 'tap-nyan'...
verb graph:providers:NodePackageDependencies Resolving module path for 'tap-xunit'...
verb graph:providers:NodePackageDependencies Resolving module path for 'ava'...
verb graph:providers:NodePackageDependencies Resolving module path for 'chokidar-cli'...
verb graph:providers:NodePackageDependencies Resolving module path for 'cross-env'...
verb graph:providers:NodePackageDependencies Resolving module path for 'docdash'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint-config-google'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint-plugin-ava'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint-plugin-jsdoc'...
verb graph:providers:NodePackageDependencies Resolving module path for 'jsdoc'...
verb graph:providers:NodePackageDependencies Resolving module path for 'mock-require'...
verb graph:providers:NodePackageDependencies Resolving module path for 'nyc'...
verb graph:providers:NodePackageDependencies Resolving module path for 'open-cli'...
verb graph:providers:NodePackageDependencies Resolving module path for 'rimraf'...
verb graph:providers:NodePackageDependencies Resolving module path for 'sinon'...
verb graph:providers:NodePackageDependencies Resolving module path for 'tap-nyan'...
verb graph:providers:NodePackageDependencies Resolving module path for 'tap-xunit'...
verb graph:providers:NodePackageDependencies Resolving module path for '@istanbuljs/esm-loader-hook'...
verb graph:providers:NodePackageDependencies Resolving module path for 'ava'...
verb graph:providers:NodePackageDependencies Resolving module path for 'chokidar-cli'...
verb graph:providers:NodePackageDependencies Resolving module path for 'cross-env'...
verb graph:providers:NodePackageDependencies Resolving module path for 'depcheck'...
verb graph:providers:NodePackageDependencies Resolving module path for 'docdash'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint-config-google'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint-plugin-ava'...
verb graph:providers:NodePackageDependencies Resolving module path for 'eslint-plugin-jsdoc'...
verb graph:providers:NodePackageDependencies Resolving module path for 'esmock'...
verb graph:providers:NodePackageDependencies Resolving module path for 'execa'...
verb graph:providers:NodePackageDependencies Resolving module path for 'jsdoc'...
verb graph:providers:NodePackageDependencies Resolving module path for 'nyc'...
verb graph:providers:NodePackageDependencies Resolving module path for 'open-cli'...
verb graph:providers:NodePackageDependencies Resolving module path for 'rimraf'...
verb graph:providers:NodePackageDependencies Resolving module path for 'sinon'...
verb graph:providers:NodePackageDependencies Resolving module path for 'strip-ansi'...
verb graph:providers:NodePackageDependencies Resolving module path for 'tap-xunit'...
verb graph:providers:NodePackageDependencies Resolved module execa to path myProjectPath\node_modules\execa
verb graph:providers:NodePackageDependencies Resolved module eslint to path myProjectPath\myapplication\node_modules\eslint
verb graph:providers:NodePackageDependencies Resolved module rimraf to path myProjectPath\myapplication\node_modules\rimraf
verb graph:providers:NodePackageDependencies Resolved module eslint to path myProjectPath\myapplication\node_modules\eslint
verb graph:providers:NodePackageDependencies Resolved module rimraf to path myProjectPath\myapplication\node_modules\rimraf
verb graph:providers:NodePackageDependencies Resolved module eslint to path myProjectPath\myapplication\node_modules\eslint
verb graph:providers:NodePackageDependencies Resolved module jsdoc to path myProjectPath\myapplication\node_modules\@ui5\cli\node_modules\jsdoc
verb graph:providers:NodePackageDependencies Resolved module rimraf to path myProjectPath\myapplication\node_modules\@ui5\cli\node_modules\rimraf
verb graph:providers:NodePackageDependencies Resolved module strip-ansi to path myProjectPath\myapplication\node_modules\@ui5\cli\node_modules\strip-ansi
verb graph:projectGraphBuilder Creating module @ui5/logger...
verb graph:projectGraphBuilder Creating module dotenv...
verb graph:projectGraphBuilder Creating module express-http-proxy...
verb graph:projectGraphBuilder Creating module minimatch...
verb graph:Module Could not find any build manifest in module @ui5/logger
verb graph:Module Could not find any build manifest in module dotenv
verb graph:Module Could not find any build manifest in module express-http-proxy
verb graph:Module Could not find any build manifest in module minimatch
verb graph:Module Could not find a configuration file for module @ui5/logger
verb graph:Module Could not find a configuration file for module dotenv
verb graph:Module Could not find a configuration file for module express-http-proxy
verb graph:Module Could not find a configuration file for module minimatch
verb graph:projectGraphBuilder Module @ui5/logger neither provides a project nor an extension. Skipping dependency resolution
verb graph:projectGraphBuilder Module dotenv neither provides a project nor an extension. Skipping dependency resolution
verb graph:projectGraphBuilder Module express-http-proxy neither provides a project nor an extension. Skipping dependency resolution
verb graph:projectGraphBuilder Module minimatch neither provides a project nor an extension. Skipping dependency resolution
verb graph:projectGraphBuilder Creating module @ui5/fs...
verb graph:projectGraphBuilder Creating module yazl...
verb graph:Module Could not find any build manifest in module @ui5/fs
verb graph:Module Could not find any build manifest in module yazl
verb graph:Module Could not find a configuration file for module @ui5/fs
verb graph:Module Could not find a configuration file for module yazl
verb graph:projectGraphBuilder Module @ui5/fs neither provides a project nor an extension. Skipping dependency resolution
verb graph:projectGraphBuilder Module @ui5/logger neither provides a project nor an extension. Skipping dependency resolution
verb graph:projectGraphBuilder Module yazl neither provides a project nor an extension. Skipping dependency resolution
verb graph:projectGraphBuilder Module @ui5/cli neither provides a project nor an extension. Skipping dependency resolution
verb graph:ProjectGraph Skipping resolution of optional dependencies since none have been declared
verb graph:helpers:ui5Framework Root project myapplication has no framework configuration. Nothing to do here
Server started
URL: http://localhost:8082
verb server:middleware:serveIndex 
 Listing index of /Component-preload.js
verb server:middleware:serveIndex
 Listing index of /Component-preload.js
(node:23600) [DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated
(Use `node --trace-deprecation ...` to show where the warning was created)
TypeError: project?.getPropertiesFileSourceEncoding is not a function
    at serveResources (file:///myProjectPath/node_modules/@ui5/cli/node_modules/@ui5/server/lib/middleware/serveResources.js:42:49)
TypeError: project?.getPropertiesFileSourceEncoding is not a function
    at serveResources (file:///myProjectPath/node_modules/@ui5/cli/node_modules/@ui5/server/lib/middleware/serveResources.js:42:49)

I took a look at the code and this is the part where the error is thrown:

const {default: nonAsciiEscaper} = await import("@ui5/builder/processors/nonAsciiEscaper");
const project = resource.getProject();
let propertiesFileSourceEncoding = project?.getPropertiesFileSourceEncoding();

It seems the project object which is retrieved by the requested .properties resource does indeed not posess a getPropertiesFileSourceEncoding function.

Hi @Zitruism,
thanks a lot for opening this issue. Your assumption is correct. For projects of kind extension the method getPropertiesFileSourceEncoding is not available in UI5 Tooling V3. We have refactored the ui5-project heavily compared to UI5 Tooling V2 and for extensions this method was not added. We will discuss this scenario in the team and get back to you as soon as possible.

@flovogt this is also not possible for theme-library and module, as such you should at least ensure that the server code does not break if the method is not available.

@nlunets Thanks for pointing that out. PR SAP/ui5-server#584 is doing so.

Fixed with @ui5/cli@v3.0.5