Skip to content

Lot of ERR_PACKAGE_PATH_NOT_EXPORTED when upgrading, making API unavailable #7197

@Chostakovitch

Description

@Chostakovitch

Hi !

I tried to upgrade from 2.2.7 to 2.5.1, and the following happens:

etherpad-weekly-app  | [2025-10-29T00:31:45.626] [ERROR] settings - Failed to load hook function "/opt/etherpad-lite/node_modules/ep_etherpad-lite/node/hooks/express/openapi:expressPreSession" for plugin "ep_etherpad-lite" part "openapi" hook set "hooks" hook "expressPreSession": Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './core' is not defined by "exports" in /opt/etherpad-lite/node_modules/.pnpm/oidc-provider@9.5.2/node_modules/eta/package.json
etherpad-weekly-app  |     at exportsNotFound (node:internal/modules/esm/resolve:313:10)
etherpad-weekly-app  |     at packageExportsResolve (node:internal/modules/esm/resolve:603:13)
etherpad-weekly-app  |     at resolveExports (node:internal/modules/cjs/loader:650:36)
etherpad-weekly-app  |     at Function._findPath (node:internal/modules/cjs/loader:717:31)
etherpad-weekly-app  |     at node:internal/modules/cjs/loader:1369:27
etherpad-weekly-app  |     at nextResolveSimple (/opt/etherpad-lite/node_modules/.pnpm/tsx@4.20.6/node_modules/tsx/dist/register-D46fvsV_.cjs:4:1004)
etherpad-weekly-app  |     at /opt/etherpad-lite/node_modules/.pnpm/tsx@4.20.6/node_modules/tsx/dist/register-D46fvsV_.cjs:3:2630
etherpad-weekly-app  |     at /opt/etherpad-lite/node_modules/.pnpm/tsx@4.20.6/node_modules/tsx/dist/register-D46fvsV_.cjs:3:1542
etherpad-weekly-app  |     at resolveTsPaths (/opt/etherpad-lite/node_modules/.pnpm/tsx@4.20.6/node_modules/tsx/dist/register-D46fvsV_.cjs:4:760)
etherpad-weekly-app  |     at Function._resolveFilename (/opt/etherpad-lite/node_modules/.pnpm/tsx@4.20.6/node_modules/tsx/dist/register-D46fvsV_.cjs:4:1102)
etherpad-weekly-app  |     at defaultResolveImpl (node:internal/modules/cjs/loader:1025:19)
etherpad-weekly-app  |     at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1030:22)
etherpad-weekly-app  |     at Function._load (node:internal/modules/cjs/loader:1192:37)
etherpad-weekly-app  |     at TracingChannel.traceSync (node:diagnostics_channel:328:14)
etherpad-weekly-app  |     at wrapModuleLoad (node:internal/modules/cjs/loader:237:24)
etherpad-weekly-app  |     at Module.require (node:internal/modules/cjs/loader:1463:12)
etherpad-weekly-app  | [2025-10-29T00:31:46.687] [ERROR] settings - Failed to load hook function "/opt/etherpad-lite/node_modules/ep_etherpad-lite/node/handler/RestAPI:expressCreateServer" for plugin "ep_etherpad-lite" part "restApi" hook set "hooks" hook "expressCreateServer": Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './core' is not defined by "exports" in /opt/etherpad-lite/node_modules/.pnpm/oidc-provider@9.5.2/node_modules/eta/package.json
etherpad-weekly-app  |     at exportsNotFound (node:internal/modules/esm/resolve:313:10)
etherpad-weekly-app  |     at packageExportsResolve (node:internal/modules/esm/resolve:603:13)
etherpad-weekly-app  |     at resolveExports (node:internal/modules/cjs/loader:650:36)
etherpad-weekly-app  |     at Function._findPath (node:internal/modules/cjs/loader:717:31)
etherpad-weekly-app  |     at node:internal/modules/cjs/loader:1369:27
etherpad-weekly-app  |     at nextResolveSimple (/opt/etherpad-lite/node_modules/.pnpm/tsx@4.20.6/node_modules/tsx/dist/register-D46fvsV_.cjs:4:1004)
etherpad-weekly-app  |     at /opt/etherpad-lite/node_modules/.pnpm/tsx@4.20.6/node_modules/tsx/dist/register-D46fvsV_.cjs:3:2630
etherpad-weekly-app  |     at /opt/etherpad-lite/node_modules/.pnpm/tsx@4.20.6/node_modules/tsx/dist/register-D46fvsV_.cjs:3:1542
etherpad-weekly-app  |     at resolveTsPaths (/opt/etherpad-lite/node_modules/.pnpm/tsx@4.20.6/node_modules/tsx/dist/register-D46fvsV_.cjs:4:760)
etherpad-weekly-app  |     at Function._resolveFilename (/opt/etherpad-lite/node_modules/.pnpm/tsx@4.20.6/node_modules/tsx/dist/register-D46fvsV_.cjs:4:1102)
etherpad-weekly-app  |     at defaultResolveImpl (node:internal/modules/cjs/loader:1025:19)
etherpad-weekly-app  |     at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1030:22)
etherpad-weekly-app  |     at Function._load (node:internal/modules/cjs/loader:1192:37)
etherpad-weekly-app  |     at TracingChannel.traceSync (node:diagnostics_channel:328:14)
etherpad-weekly-app  |     at wrapModuleLoad (node:internal/modules/cjs/loader:237:24)
etherpad-weekly-app  |     at Module.require (node:internal/modules/cjs/loader:1463:12)
etherpad-weekly-app  | [2025-10-29T00:31:46.731] [ERROR] settings - Failed to load hook function "/opt/etherpad-lite/node_modules/ep_etherpad-lite/node/hooks/express/apicalls:expressPreSession" for plugin "ep_etherpad-lite" part "apicalls" hook set "hooks" hook "expressPreSession": Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './core' is not defined by "exports" in /opt/etherpad-lite/node_modules/.pnpm/oidc-provider@9.5.2/node_modules/eta/package.json
etherpad-weekly-app  |     at exportsNotFound (node:internal/modules/esm/resolve:313:10)
etherpad-weekly-app  |     at packageExportsResolve (node:internal/modules/esm/resolve:603:13)
etherpad-weekly-app  |     at resolveExports (node:internal/modules/cjs/loader:650:36)
etherpad-weekly-app  |     at Function._findPath (node:internal/modules/cjs/loader:717:31)
etherpad-weekly-app  |     at node:internal/modules/cjs/loader:1369:27
etherpad-weekly-app  |     at nextResolveSimple (/opt/etherpad-lite/node_modules/.pnpm/tsx@4.20.6/node_modules/tsx/dist/register-D46fvsV_.cjs:4:1004)
etherpad-weekly-app  |     at /opt/etherpad-lite/node_modules/.pnpm/tsx@4.20.6/node_modules/tsx/dist/register-D46fvsV_.cjs:3:2630
etherpad-weekly-app  |     at /opt/etherpad-lite/node_modules/.pnpm/tsx@4.20.6/node_modules/tsx/dist/register-D46fvsV_.cjs:3:1542
etherpad-weekly-app  |     at resolveTsPaths (/opt/etherpad-lite/node_modules/.pnpm/tsx@4.20.6/node_modules/tsx/dist/register-D46fvsV_.cjs:4:760)
etherpad-weekly-app  |     at Function._resolveFilename (/opt/etherpad-lite/node_modules/.pnpm/tsx@4.20.6/node_modules/tsx/dist/register-D46fvsV_.cjs:4:1102)
etherpad-weekly-app  |     at defaultResolveImpl (node:internal/modules/cjs/loader:1025:19)
etherpad-weekly-app  |     at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1030:22)
etherpad-weekly-app  |     at Function._load (node:internal/modules/cjs/loader:1192:37)
etherpad-weekly-app  |     at TracingChannel.traceSync (node:diagnostics_channel:328:14)
etherpad-weekly-app  |     at wrapModuleLoad (node:internal/modules/cjs/loader:237:24)
etherpad-weekly-app  |     at Module.require (node:internal/modules/cjs/loader:1463:12)
etherpad-weekly-app  | [2025-10-29T00:31:46.756] [ERROR] settings - Failed to load hook function "/opt/etherpad-lite/node_modules/ep_etherpad-lite/node/security/OAuth2Provider:expressCreateServer" for plugin "ep_etherpad-lite" part "oauth2" hook set "hooks" hook "expressCreateServer": Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './core' is not defined by "exports" in /opt/etherpad-lite/node_modules/.pnpm/oidc-provider@9.5.2/node_modules/eta/package.json
etherpad-weekly-app  |     at exportsNotFound (node:internal/modules/esm/resolve:313:10)
etherpad-weekly-app  |     at packageExportsResolve (node:internal/modules/esm/resolve:603:13)
etherpad-weekly-app  |     at resolveExports (node:internal/modules/cjs/loader:650:36)
etherpad-weekly-app  |     at Function._findPath (node:internal/modules/cjs/loader:717:31)
etherpad-weekly-app  |     at node:internal/modules/cjs/loader:1369:27
etherpad-weekly-app  |     at nextResolveSimple (/opt/etherpad-lite/node_modules/.pnpm/tsx@4.20.6/node_modules/tsx/dist/register-D46fvsV_.cjs:4:1004)
etherpad-weekly-app  |     at /opt/etherpad-lite/node_modules/.pnpm/tsx@4.20.6/node_modules/tsx/dist/register-D46fvsV_.cjs:3:2630
etherpad-weekly-app  |     at /opt/etherpad-lite/node_modules/.pnpm/tsx@4.20.6/node_modules/tsx/dist/register-D46fvsV_.cjs:3:1542
etherpad-weekly-app  |     at resolveTsPaths (/opt/etherpad-lite/node_modules/.pnpm/tsx@4.20.6/node_modules/tsx/dist/register-D46fvsV_.cjs:4:760)
etherpad-weekly-app  |     at Function._resolveFilename (/opt/etherpad-lite/node_modules/.pnpm/tsx@4.20.6/node_modules/tsx/dist/register-D46fvsV_.cjs:4:1102)
etherpad-weekly-app  |     at defaultResolveImpl (node:internal/modules/cjs/loader:1025:19)
etherpad-weekly-app  |     at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1030:22)
etherpad-weekly-app  |     at Function._load (node:internal/modules/cjs/loader:1192:37)
etherpad-weekly-app  |     at TracingChannel.traceSync (node:diagnostics_channel:328:14)
etherpad-weekly-app  |     at wrapModuleLoad (node:internal/modules/cjs/loader:237:24)
etherpad-weekly-app  |     at Module.require (node:internal/modules/cjs/loader:1463:12)

I tried to remove all plugins and reduce environment variables customization, but the error stays, even on a clean instance with no data.

I don't know if this is a direct consequence, but while pad editing works, API seems broken (i.e. Cannot GET /api while it worked on previous version).

The Docker image is built with the following arguments:

build:
  context: https://github.com/ether/etherpad-lite.git#2.5.1
  args:
    # Cf https://github.com/ether/etherpad-lite/issues/6813
    BUILD_ENV: copy
    INSTALL_ABIWORD: 1

The container's relevant environment is as follow:

TRUST_PROXY=true
POSTGRES_PASSWORD=<REDACTED>
TITLE=<REDACTED>
FOCUS_LINE_PERCENTAGE_ABOVE=0.5
YARN_VERSION=1.22.22
PWD=/opt/etherpad-lite
NODE_ENV=production
DB_PORT=5432
PAD_OPTIONS_USER_NAME=anonyme
ABIWORD=/usr/bin/abiword
DB_USER=<REDACTED>
ETHERPAD_PRODUCTION=true
SOCKETIO_MAX_HTTP_BUFFER_SIZE=200000
DB_TYPE=postgres
SUPPRESS_ERRORS_IN_PAD_TEXT=true
FOCUS_LINE_DURATION=200
DB_HOST=<REDACTED>
ALLOW_UNKNOWN_FILE_ENDS=false
AUTOMATIC_RECONNECTION_TIMEOUT=10
DB_NAME=etherpad
INSTANCE_URL=<REDACTED>
NODE_VERSION=22.21.0
PAD_OPTIONS_LANG=fr

Strangely, contrarily as the first errors indicates ./core is defined in /opt/etherpad-lite/node_modules/.pnpm/oidc-provider@9.5.2/node_modules/eta/package.json's exports, similar to the other errors:

"exports": {
  ".": {
    "import": "./dist/index.js",
    "types": "./index.d.ts"
  },
  "./core": {
    "import": "./dist/core.js",
    "types": "./dist/core.d.ts"
  }
},

Maybe it is something obvious but I don't know where to look.
May you help?

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions