Skip to content

Using latest @loopback/cli emits error #11415

@clewisln

Description

@clewisln

Describe the bug

Using the latest version of the cli to either create a new app or update an existing one causes a "camelCaseKeys is not a function" error to occur.

Have tried to run from global and have tried to use as a locally installed dev dependency that is then ran using npx; both fail in the same manner.

@loopback/cli is at version 7.0.10

Logs

VERSION works:
---------------
C:\app>lb4 --version
@loopback/cli version: 7.0.10

@loopback/* dependencies:
  - @loopback/authentication: ^12.0.10
  - @loopback/boot: ^8.0.9
  - @loopback/build: ^12.0.8
  - @loopback/context: ^8.0.8
  - @loopback/core: ^7.0.8
  - @loopback/metadata: ^8.0.8
  - @loopback/openapi-spec-builder: ^8.0.8
  - @loopback/openapi-v3: ^11.0.9
  - @loopback/repository-json-schema: ^9.0.9
  - @loopback/repository: ^8.0.8
  - @loopback/rest: ^15.0.9
  - @loopback/testlab: ^8.0.8
  - @loopback/docs: ^8.0.10
  - @loopback/example-hello-world: ^8.0.9
  - @loopback/example-log-extension: ^8.0.9
  - @loopback/example-rpc-server: ^8.0.8
  - @loopback/example-todo: ^9.0.9
  - @loopback/example-soap-calculator: ^8.0.9
  - @loopback/service-proxy: ^8.0.8
  - @loopback/http-caching-proxy: ^7.0.8
  - @loopback/http-server: ^7.0.8
  - @loopback/example-todo-list: ^9.0.9
  - @loopback/dist-util: ^0.4.0
  - @loopback/rest-explorer: ^8.0.9
  - @loopback/eslint-config: ^16.0.1
  - @loopback/example-express-composition: ^8.0.9
  - @loopback/example-greeter-extension: ^8.0.8
  - @loopback/booter-lb3app: ^7.0.9
  - @loopback/example-lb3-application: ^8.0.9
  - @loopback/example-greeting-app: ^8.0.9
  - @loopback/example-context: ^8.0.8
  - @loopback/repository-tests: ^0.25.9
  - @loopback/health: ^0.15.9
  - @loopback/authorization: ^0.16.9
  - @loopback/rest-crud: ^0.19.9
  - @loopback/security: ^0.12.9
  - @loopback/authentication-passport: ^8.0.10
  - @loopback/example-metrics-prometheus: ^0.15.9
  - @loopback/metrics: ^0.15.9
  - @loopback/model-api-builder: ^7.0.9
  - @loopback/logging: ^0.13.9
  - @loopback/example-access-control-migration: ^8.0.10
  - @loopback/example-file-transfer: ^7.0.9
  - @loopback/example-rest-crud: ^7.0.9
  - @loopback/apiconnect: ^0.14.9
  - @loopback/example-validation-app: ^7.0.9
  - @loopback/cron: ^0.13.8
  - @loopback/example-multi-tenancy: ^0.18.9
  - @loopback/example-passport-login: ^7.0.10
  - @loopback/authentication-jwt: ^0.16.10
  - @loopback/context-explorer: ^0.12.9
  - @loopback/express: ^8.0.8
  - @loopback/example-todo-jwt: ^7.0.10
  - @loopback/mock-oauth2-provider: ^0.10.8
  - @loopback/pooling: ^0.12.8
  - @loopback/typeorm: ^0.11.9
  - @loopback/example-graphql: ^0.12.9
  - @loopback/graphql: ^0.12.9
  - @loopback/filter: ^6.0.8
  - @loopback/rest-msgpack: ^0.12.9
  - @loopback/example-binding-resolution: ^0.12.9
  - @loopback/example-webpack: ^0.13.9
  - @loopback/example-socketio: ^0.11.9
  - @loopback/socketio: ^0.9.9
  - @loopback/monorepo: ^0.6.0
  - @loopback/tsdocs: ^7.0.8
  - @loopback/example-references-many: ^9.0.9
  - @loopback/sequelize: ^0.8.5

Creating NEW app fails:
-----------------------
C:\newapp>lb4 app
C:\Users\user\AppData\Roaming\nvm\v20.19.6\node_modules\@loopback\cli\lib\cli.js:39
  const options = camelCaseKeys(opts, {exclude: ['--', /^\w$/, 'argv']});
                  ^

TypeError: camelCaseKeys is not a function
    at runCommand (C:\Users\user\AppData\Roaming\nvm\v20.19.6\node_modules\@loopback\cli\lib\cli.js:39:19)
    at main (C:\Users\user\AppData\Roaming\nvm\v20.19.6\node_modules\@loopback\cli\lib\cli.js:232:3)
    at Object.<anonymous> (C:\Users\user\AppData\Roaming\nvm\v20.19.6\node_modules\@loopback\cli\bin\cli-main.js:66:1)
    at Module._compile (node:internal/modules/cjs/loader:1521:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1623:10)
    at Module.load (node:internal/modules/cjs/loader:1266:32)
    at Module._load (node:internal/modules/cjs/loader:1091:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:164:12)
    at node:internal/main/run_main_module:28:49

Node.js v20.19.6

Updating existing app fails:
----------------------------
C:\app>lb4 update
C:\Users\user\AppData\Roaming\nvm\v20.19.6\node_modules\@loopback\cli\lib\cli.js:39
  const options = camelCaseKeys(opts, {exclude: ['--', /^\w$/, 'argv']});
                  ^

TypeError: camelCaseKeys is not a function
    at runCommand (C:\Users\user\AppData\Roaming\nvm\v20.19.6\node_modules\@loopback\cli\lib\cli.js:39:19)
    at main (C:\Users\user\AppData\Roaming\nvm\v20.19.6\node_modules\@loopback\cli\lib\cli.js:232:3)
    at Object.<anonymous> (C:\Users\user\AppData\Roaming\nvm\v20.19.6\node_modules\@loopback\cli\bin\cli-main.js:66:1)
    at Module._compile (node:internal/modules/cjs/loader:1521:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1623:10)
    at Module.load (node:internal/modules/cjs/loader:1266:32)
    at Module._load (node:internal/modules/cjs/loader:1091:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:164:12)
    at node:internal/main/run_main_module:28:49

Node.js v20.19.6

Additional information

No response

Reproduction

n/a

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions