Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error importing db from "db" when run blitz console #6

Open
sergous opened this issue Mar 27, 2022 · 3 comments
Open

Error importing db from "db" when run blitz console #6

sergous opened this issue Mar 27, 2022 · 3 comments

Comments

@sergous
Copy link

sergous commented Mar 27, 2022

What is the problem?

blitz generator creates import line import db from "db"

When run blitz console it can not find import from db.

Solution proposition:

The generator should be modified for creating valid db paths

Workaround:

Replace in the generated files the import strings import db from "db" with:

  1. relative path, f.e. import db from "../../../db" (works for queries and mutations)
  2. absolute root path import db from /db/index.js (works for mutations)

Paste all your error logs here:

Loaded env from /.env.local
Loaded env from /.env
You have entered the Blitz console
Tips: - Exit by typing .exit or pressing Ctrl-D
      - Use your db like this: await db.project.findMany()
      - Use your queries/mutations like this: await getProjects({})
00:07:07.229 ERROR Failed to load /app/auth/mutations/changePassword.js: Error: Cannot find module 'db'
Require stack:
- /app/auth/mutations/changePassword.js
- /node_modules/next/dist/cli/next-console.js
- /node_modules/@blitzjs/cli/lib/src/commands/console.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/plugin.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/config.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/index.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/lib/command.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/lib/index.js
- /node_modules/@blitzjs/cli/lib/src/index.js
- /Users/sergous/.config/yarn/global/node_modules/blitz/cli/dist/blitz-cli.cjs.dev.js
- /Users/sergous/.config/yarn/global/node_modules/blitz/cli/dist/blitz-cli.cjs.js
00:07:07.238 ERROR Failed to load /app/auth/mutations/forgotPassword.js: Error: Cannot find module 'db'
Require stack:
- /app/auth/mutations/forgotPassword.js
- /node_modules/next/dist/cli/next-console.js
- /node_modules/@blitzjs/cli/lib/src/commands/console.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/plugin.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/config.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/index.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/lib/command.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/lib/index.js
- /node_modules/@blitzjs/cli/lib/src/index.js
- /Users/sergous/.config/yarn/global/node_modules/blitz/cli/dist/blitz-cli.cjs.dev.js
- /Users/sergous/.config/yarn/global/node_modules/blitz/cli/dist/blitz-cli.cjs.js
00:07:07.247 ERROR Failed to load /app/auth/mutations/login.js: Error: Cannot find module 'db'
Require stack:
- /app/auth/mutations/login.js
- /node_modules/next/dist/cli/next-console.js
- /node_modules/@blitzjs/cli/lib/src/commands/console.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/plugin.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/config.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/index.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/lib/command.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/lib/index.js
- /node_modules/@blitzjs/cli/lib/src/index.js
- /Users/sergous/.config/yarn/global/node_modules/blitz/cli/dist/blitz-cli.cjs.dev.js
- /Users/sergous/.config/yarn/global/node_modules/blitz/cli/dist/blitz-cli.cjs.js
Loading Modules 1/1700:07:07.262 ERROR Failed to load /app/auth/mutations/resetPassword.js: Error: Cannot find module 'db'
Require stack:
- /app/auth/mutations/resetPassword.js
- /node_modules/next/dist/cli/next-console.js
- /node_modules/@blitzjs/cli/lib/src/commands/console.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/plugin.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/config.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/index.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/lib/command.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/lib/index.js
- /node_modules/@blitzjs/cli/lib/src/index.js
- /Users/sergous/.config/yarn/global/node_modules/blitz/cli/dist/blitz-cli.cjs.dev.js
- /Users/sergous/.config/yarn/global/node_modules/blitz/cli/dist/blitz-cli.cjs.js
00:07:07.272 ERROR Failed to load /app/auth/mutations/signup.js: Error: Cannot find module 'db'
Require stack:
- /app/auth/mutations/signup.js
- /node_modules/next/dist/cli/next-console.js
- /node_modules/@blitzjs/cli/lib/src/commands/console.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/plugin.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/config.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/index.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/lib/command.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/lib/index.js
- /node_modules/@blitzjs/cli/lib/src/index.js
- /Users/sergous/.config/yarn/global/node_modules/blitz/cli/dist/blitz-cli.cjs.dev.js
- /Users/sergous/.config/yarn/global/node_modules/blitz/cli/dist/blitz-cli.cjs.js
00:07:07.281 ERROR Failed to load /app/tasks/mutations/createTask.js: Error: Cannot find module 'db'
Require stack:
- /app/tasks/mutations/createTask.js
- /node_modules/next/dist/cli/next-console.js
- /node_modules/@blitzjs/cli/lib/src/commands/console.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/plugin.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/config.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/index.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/lib/command.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/lib/index.js
- /node_modules/@blitzjs/cli/lib/src/index.js
- /Users/sergous/.config/yarn/global/node_modules/blitz/cli/dist/blitz-cli.cjs.dev.js
- /Users/sergous/.config/yarn/global/node_modules/blitz/cli/dist/blitz-cli.cjs.js
00:07:07.293 ERROR Failed to load /app/tasks/mutations/deleteTask.js: Error: Cannot find module 'db'
Require stack:
- /app/tasks/mutations/deleteTask.js
- /node_modules/next/dist/cli/next-console.js
- /node_modules/@blitzjs/cli/lib/src/commands/console.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/plugin.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/config.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/index.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/lib/command.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/lib/index.js
- /node_modules/@blitzjs/cli/lib/src/index.js
- /Users/sergous/.config/yarn/global/node_modules/blitz/cli/dist/blitz-cli.cjs.dev.js
- /Users/sergous/.config/yarn/global/node_modules/blitz/cli/dist/blitz-cli.cjs.js
00:07:07.302 ERROR Failed to load /app/tasks/mutations/updateTask.js: Error: Cannot find module 'db'
Require stack:
- /app/tasks/mutations/updateTask.js
- /node_modules/next/dist/cli/next-console.js
- /node_modules/@blitzjs/cli/lib/src/commands/console.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/plugin.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/config.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/index.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/lib/command.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/lib/index.js
- /node_modules/@blitzjs/cli/lib/src/index.js
- /Users/sergous/.config/yarn/global/node_modules/blitz/cli/dist/blitz-cli.cjs.dev.js
- /Users/sergous/.config/yarn/global/node_modules/blitz/cli/dist/blitz-cli.cjs.js
00:07:07.311 ERROR Failed to load /app/tasks/queries/getTask.js: Error: Cannot find module 'db'
Require stack:
- /app/tasks/queries/getTask.js
- /node_modules/next/dist/cli/next-console.js
- /node_modules/@blitzjs/cli/lib/src/commands/console.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/plugin.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/config.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/index.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/lib/command.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/lib/index.js
- /node_modules/@blitzjs/cli/lib/src/index.js
- /Users/sergous/.config/yarn/global/node_modules/blitz/cli/dist/blitz-cli.cjs.dev.js
- /Users/sergous/.config/yarn/global/node_modules/blitz/cli/dist/blitz-cli.cjs.js
00:07:07.320 ERROR Failed to load /app/tasks/queries/getTasks.js: Error: Cannot find module 'db'
Require stack:
- /app/tasks/queries/getTasks.js
- /node_modules/next/dist/cli/next-console.js
- /node_modules/@blitzjs/cli/lib/src/commands/console.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/plugin.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/config.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/index.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/lib/command.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/lib/index.js
- /node_modules/@blitzjs/cli/lib/src/index.js
- /Users/sergous/.config/yarn/global/node_modules/blitz/cli/dist/blitz-cli.cjs.dev.js
- /Users/sergous/.config/yarn/global/node_modules/blitz/cli/dist/blitz-cli.cjs.js
00:07:07.329 ERROR Failed to load /app/users/mutations/updateUser.js: Error: Cannot find module 'db'
Require stack:
- /app/users/mutations/updateUser.js
- /node_modules/next/dist/cli/next-console.js
- /node_modules/@blitzjs/cli/lib/src/commands/console.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/plugin.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/config.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/index.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/lib/command.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/lib/index.js
- /node_modules/@blitzjs/cli/lib/src/index.js
- /Users/sergous/.config/yarn/global/node_modules/blitz/cli/dist/blitz-cli.cjs.dev.js
- /Users/sergous/.config/yarn/global/node_modules/blitz/cli/dist/blitz-cli.cjs.js
00:07:07.337 ERROR Failed to load /app/users/queries/getCurrentUser.js: Error: Cannot find module 'db'
Require stack:
- /app/users/queries/getCurrentUser.js
- /node_modules/next/dist/cli/next-console.js
- /node_modules/@blitzjs/cli/lib/src/commands/console.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/plugin.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/config.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/index.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/lib/command.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/lib/index.js
- /node_modules/@blitzjs/cli/lib/src/index.js
- /Users/sergous/.config/yarn/global/node_modules/blitz/cli/dist/blitz-cli.cjs.dev.js
- /Users/sergous/.config/yarn/global/node_modules/blitz/cli/dist/blitz-cli.cjs.js
00:07:07.346 ERROR Failed to load /app/user-profiles/mutations/createUserProfile.js: Error: Cannot find module 'db'
Require stack:
- /app/user-profiles/mutations/createUserProfile.js
- /node_modules/next/dist/cli/next-console.js
- /node_modules/@blitzjs/cli/lib/src/commands/console.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/plugin.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/config.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/index.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/lib/command.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/lib/index.js
- /node_modules/@blitzjs/cli/lib/src/index.js
- /Users/sergous/.config/yarn/global/node_modules/blitz/cli/dist/blitz-cli.cjs.dev.js
- /Users/sergous/.config/yarn/global/node_modules/blitz/cli/dist/blitz-cli.cjs.js
00:07:07.354 ERROR Failed to load /app/user-profiles/mutations/updateUserProfile.js: Error: Cannot find module 'app/users/mutations/updateUser'
Require stack:
- /app/user-profiles/mutations/updateUserProfile.js
- /node_modules/next/dist/cli/next-console.js
- /node_modules/@blitzjs/cli/lib/src/commands/console.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/plugin.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/config.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/index.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/lib/command.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/lib/index.js
- /node_modules/@blitzjs/cli/lib/src/index.js
- /Users/sergous/.config/yarn/global/node_modules/blitz/cli/dist/blitz-cli.cjs.dev.js
- /Users/sergous/.config/yarn/global/node_modules/blitz/cli/dist/blitz-cli.cjs.js
00:07:07.367 ERROR Failed to load /app/user-profiles/queries/getUserProfile.js: Error: Cannot find module 'db'
Require stack:
- /app/user-profiles/queries/getUserProfile.js
- /node_modules/next/dist/cli/next-console.js
- /node_modules/@blitzjs/cli/lib/src/commands/console.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/plugin.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/config.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/node_modules/@oclif/config/lib/index.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/lib/command.js
- /node_modules/@blitzjs/cli/node_modules/@oclif/command/lib/index.js
- /node_modules/@blitzjs/cli/lib/src/index.js
- /Users/sergous/.config/yarn/global/node_modules/blitz/cli/dist/blitz-cli.cjs.dev.js
- /Users/sergous/.config/yarn/global/node_modules/blitz/cli/dist/blitz-cli.cjs.js
Loading Modules 2/17
⚡️ >

Paste all relevant code snippets here:

import db from "db";

What are detailed steps to reproduce this?

  1. blitz new (JS version)
  2. blitz console

Run blitz -v and paste the output here:

Loaded env from /.env.local
Loaded env from /.env
macOS Big Sur | darwin-x64 | Node: v16.13.1

blitz: 0.45.3 (global)
blitz: 0.45.3 (local)

  Package manager: yarn
  System:
    OS: macOS 11.6
    CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
    Memory: 3.50 GB / 16.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 16.13.1 - /usr/local/bin/node
    Yarn: 1.22.10 - /usr/local/bin/yarn
    npm: 8.1.2 - /usr/local/bin/npm
    Watchman: Not Found
  npmPackages:
    @prisma/client: 3.10.0 => 3.10.0
    blitz: 0.45.3 => 0.45.3
    prisma: 3.10.0 => 3.10.0
    react: 18.0.0-beta-149b420f6-20211119 => 18.0.0-beta-149b420f6-20211119
    react-dom: 18.0.0-alpha-5ca4b0433-20211020 => 18.0.0-alpha-5ca4b0433-20211020
    typescript: Not Found


Please include below any other applicable logs and screenshots that show your problem:

No response

@sergous sergous changed the title Can't load blitz console Error importing db from "db" when run blitz console Mar 27, 2022
@isaacs
Copy link

isaacs commented Apr 9, 2022

This is a workaround I used that got me unstuck, without having to painstakingly edit every file Blitz generates: https://gist.github.com/isaacs/4bdeb1d2de48b32e5cd9b668108c1762

@isaacs
Copy link

isaacs commented Apr 9, 2022

It's really not a great idea to rely on any folder in the cwd being a valid top-level import. I know you can configure TypeScript to do this with the tsconfig.json file containing {"compilerOptions":{"baseUrl":"."}}, but putting the same value in a jsconfig.json doesn't have the same effect, because "jsconfig.json" is not a thing.

The reason it's not a good idea is that a top-level dependency named app or db or mailers can make things really confusing, if some code in your project wants to import that dependency, and other code is relying on it resolving to the cwd. There's nothing preventing that collision, and it's a footgun waiting for someone to step on it. Much better to be explicit; ideally by generating the full relative path to the actual module in the code Blitz is generating (which, I mean, it's machine generated anyway right? who cares if it has "../../../db" instead of "db", you're creating it programmatically), but failing that, by defining a dependency so that import db from "db" can only ever resolve to ${baseUrl}/db, and never any other thing.

@isaacs
Copy link

isaacs commented Apr 9, 2022

Aha! Apparently it is a thing in Webpack, but when loading non-webpack'ed code, it doesn't work. Still, better to be explicit.

@dillondotzip dillondotzip transferred this issue from blitz-js/blitz Jul 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants