SAP / openui5

OpenUI5 lets you build enterprise-ready web applications, responsive to all devices, running on almost any browser of your choice.
http://openui5.org
Apache License 2.0
2.95k stars 1.23k forks source link

Node CLI: npm packages cannot be required #2828

Closed stesap closed 4 years ago

stesap commented 4 years ago

OpenUI5 version:

Steps to reproduce the problem:

 ~/code/test % npm i @openui5/sap.ui.core

+ @openui5/sap.ui.core
added 1 package from 1 contributor in 2.915s

 ~/code/test % ls node_modules/@openui5 
sap.ui.core

 ~/code/test % node -r @openui5/sap.ui.core
internal/modules/cjs/loader.js:983
  throw err;
  ^

Error: Cannot find module '@openui5/sap.ui.core'
Require stack:
- internal/preload
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:980:15)
    at Function.Module._load (internal/modules/cjs/loader.js:862:27)
    at Module.require (internal/modules/cjs/loader.js:1040:19)
    at Module._preloadModules (internal/modules/cjs/loader.js:1296:12)
    at loadPreloadModules (internal/bootstrap/pre_execution.js:435:5)
    at prepareMainThreadExecution (internal/bootstrap/pre_execution.js:68:3)
    at internal/main/repl.js:18:1 {
  code: 'MODULE_NOT_FOUND',
  requireStack: [ 'internal/preload' ]
}

Below a test with @babel/core package.

~/code/test % npm i @babel/core

+ @babel/core@7.8.6
added 36 packages from 56 contributors in 1.375s

~/code/test % node -r @babel/core
Welcome to Node.js v13.8.0.
Type ".help" for more information.
> var babelCore = require('@babel/core');
undefined
> babelCore
{
  Plugin: [Function: Plugin],
  File: [Getter],
  buildExternalHelpers: [Getter],
  resolvePlugin: [Getter],
  …
  …
}

What is the expected result?

The module should be required by CLI of node. Having separate NPM modules is great, but it would be even more awesome to have these available in node CLI environment for fast testing of, e.g. formatters.

What happens instead?

The module is not required and fails with an error, see above command line output.

stesap commented 4 years ago

ok, as I read the documentation properly, UI5 Tooling is needed to use the NPM modules.