Skip to content
This repository was archived by the owner on Jul 28, 2023. It is now read-only.
This repository was archived by the owner on Jul 28, 2023. It is now read-only.

Crashes on Ndb.FileSystem.getMetadata  #326

@wesbos

Description

@wesbos

Steps to reproduce

Tell us about your environment:

  • ndb version: 1.1.5
  • Platform / OS version: Mac OS Catalina
  • Node.js version: 15.6.0

When running NDB on a basic Next.js project, it crashes.

package.json:

{
  "name": "ndb",
  "scripts": {
    "dev": "next"
  },
  "dependencies": {
    "next": "^10.0.6",
    "react": "^17.0.1",
    "react-dom": "^17.0.1"
  }
}

pages/index.js

const Page = () => <p>hi</p>
export default Page;

Then run ndb npm run dev in your console. As soon as you visit the site, Next.js builds that first page and the whole thing crashes:

 ⮀ ndb npm run dev

> dev
> next

ready - started server on 0.0.0.0:3000, url: http://localhost:3000
event - compiled successfully
event - build page: /
wait  - compiling...
event - compiled successfully
/usr/local/lib/node_modules/ndb/services/ndd_service.js:21
  throw error;
  ^

Error: Error: not implemented
Error: not implemented
    at Ndb.FileSystem.getMetadata (https://domain/ndb.js:3:175663)
    at Persistence.FileSystemWorkspaceBinding.FileSystem.requestMetadata (https://domain/ndb.js:3:131825)
    at Workspace.UISourceCode.requestMetadata (https://domain/ndb.js:1:648280)
    at n (https://domain/ndb.js:3:141810)
    at https://domain/ndb.js:3:141759
    at Array.map (<anonymous>)
    at Persistence.Automapping._pullMetadatas (https://domain/ndb.js:3:141752)
    at Persistence.Automapping._createBinding (https://domain/ndb.js:3:141234)
    at Persistence.Automapping._computeNetworkStatus (https://domain/ndb.js:3:138667)
    at Persistence.Automapping._onUISourceCodeAdded (https://domain/ndb.js:3:137732)
    at Rpc.dispatchMessageLocally_ (/usr/local/lib/node_modules/ndb/node_modules/carlo/rpc/rpc.js:423:16)
    at Rpc.routeMessage_ (/usr/local/lib/node_modules/ndb/node_modules/carlo/rpc/rpc.js:371:12)
    at process.emit (node:events:379:20)
    at emit (node:internal/child_process:918:12)
    at processTicksAndRejections (node:internal/process/task_queues:82:21)
node:events:356
      throw er; // Unhandled 'error' event
      ^

Error [ERR_IPC_CHANNEL_CLOSED]: Channel closed
    at new NodeError (node:internal/errors:329:5)
    at ChildProcess.target.send (node:internal/child_process:722:16)
    at Rpc.routeMessage_ (/usr/local/lib/node_modules/ndb/node_modules/carlo/rpc/rpc.js:379:9)
    at /usr/local/lib/node_modules/ndb/node_modules/carlo/lib/carlo.js:388:71
    at Page._onBindingCalled (/usr/local/lib/node_modules/ndb/node_modules/puppeteer-core/lib/Page.js:548:56)
    at CDPSession.<anonymous> (/usr/local/lib/node_modules/ndb/node_modules/puppeteer-core/lib/Page.js:136:54)
    at CDPSession.emit (node:events:379:20)
    at CDPSession._onMessage (/usr/local/lib/node_modules/ndb/node_modules/puppeteer-core/lib/Connection.js:200:12)
    at Connection._onMessage (/usr/local/lib/node_modules/ndb/node_modules/puppeteer-core/lib/Connection.js:112:17)
    at PipeTransport._dispatch (/usr/local/lib/node_modules/ndb/node_modules/puppeteer-core/lib/PipeTransport.js:65:24)
Emitted 'error' event on ChildProcess instance at:
    at node:internal/child_process:726:35
    at processTicksAndRejections (node:internal/process/task_queues:76:11) {
  code: 'ERR_IPC_CHANNEL_CLOSED'
}

What is the expected result?

It doesn't crash

What happens instead?

It crashes

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions