Code Monkey home page Code Monkey logo

bisonapp's Introduction

Bison Logo

The Full Stack Jamstack in-a-box

Bison is a starter repository created out of real-world apps at Echobind. It represents our team's "Greenfield Web Stack" that we use when creating web apps for clients.

We're always improving on this, and we welcome suggestions from the community!

Technology

Features

  • Customizable Hygen Templates to generate new files
  • Fully wired up login/signup pages with client and server-side validation.
  • Eslint pre-configured with Echobind best practices
  • Import path alias to the root project folder (@/) to avoid the need for long relative import paths.
  • Set up for components from ui.shadcn.com

Conventions

  • Don't copy/paste files, use generators and Hygen templates. Need to update the generator as your project evolves? they are all in the _templates folder.
  • Don't manually write types for tRPC procedures. Infer the types from the router definition.
  • All frontend pages are static by default. If you need something server rendered, just add getServerSideProps like you would in any Next app.
  • Instead of creating component CSS classes (like .btn or .input) or installing a component library, UI components should be copy/pasted into the /components/ui folder and adjusted as needed. ui.shadcn.com is the recommended source for these components.

Tradeoffs

  • To reduce complexity, Bison avoids yarn workspaces and separate top-level folders. Think of your app like a traditional monolith, but with a separate frontend and API. This means that folders may be a little more intermingled than you're used to.

Alternatives

A few other projects that are rapidly maturing in the Full Stack Jamstack space.

RedwoodJS Redwood is a very promising framework that we're watching. We took the concept of "Cells" directly from Redwood (though admittedly our version takes a bit more code!)

Blitz.js Blitz is also very promising. Blitz is built on Next.js (which we love!) and takes a very different approach by attempting to remove the API layer using conventions provided by Next.js.

We may borrow concepts from Redwood and Blitz over time or even switch to one as they continue to mature.

Think of Bison as a bit closer to the metal and preconfigured for maximum DX and efficiency. The good news is, if you disagree with any of the choices that we've made, nothing is hidden from you. You're welcome to adapt the "framework" to fit your needs.


Getting Started

Create a new repo from the Bison template.

Using yarn:

yarn create bison-app MyApp

Using npx:

npx create-bison-app MyApp

Setup the database

Please refer to: Set up Postgres.

Run the app locally

From the root, run yarn dev. This runs next dev to run the frontend and serverless functions locally.

Next Steps

After the app is running locally, you'll want to set up deployment.

Docs

Have an idea to improve Bison? Let us know!


About Echobind

Echobind is a full-service digital agency that creates web and mobile apps for clients across a variety of industries.

We're experts in React, React Native, Node, GraphQL, and Rails.

If you're building a new app, your team is tackling a hard problem, or you just need help getting over the finish line, we'd love to work with you. Say hello and tell us what you're working on!

Echobind Logo

bisonapp's People

Contributors

alexanderson1993 avatar alvincrespo avatar cball avatar cboss1029 avatar cullylarson avatar darleendenno avatar deloristhompson avatar dennis-campos avatar dependabot[bot] avatar dominicsherman avatar echobind-ci avatar isaiahgrey93 avatar jeremy-doucet avatar kgajera avatar kyleshevlin avatar mariahgrey avatar mthomps4 avatar myared avatar needcaffeine avatar piotrblachnio avatar samuelkilada avatar semantic-release-bot avatar tundera avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bisonapp's Issues

The automated release is failing 🚨

🚨 The automated release from the main branch failed. 🚨

I recommend you give this issue a high priority, so other packages depending on you could benefit from your bug fixes and new features.

You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. I’m sure you can resolve this πŸ’ͺ.

Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.

Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the main branch. You can also manually restart the failed CI job that runs semantic-release.

If you are not sure how to resolve this, here is some links that can help you:

If those don’t help, or if this issue is reporting something you think isn’t right, you can always ask the humans behind semantic-release.


Invalid npm token.

The npm token configured in the NPM_TOKEN environment variable must be a valid token allowing to publish to the registry https://registry.npmjs.org/.

If you are using Two-Factor Authentication, make configure the auth-only level is supported. semantic-release cannot publish with the default auth-and-writes level.

Please make sure to set the NPM_TOKEN environment variable in your CI with the exact value of the npm token.


Good luck with your project ✨

Your semantic-release bot πŸ“¦πŸš€

Error on Signup/Login

Created new bison-app, after successful db setup and spinning up the server, attempt to signup or login throws the following error:
image

Improve the Vercel setup

Right now, we:

  • Expect the user to modify the GitHub Actions workflow to properly set the Vercel scope
  • Have unclear instructions on how to add a database
  • Have unclear instructions on how to add secrets into Vercel

Ideally, we would:

  • Ask the user what team they will be deploying to. Bonus if we can use the vercel CLI to do this.
  • Direct the user to documentation for supported database providers. Is there something we can/should do with Prisma here?
  • Ask the user if they want to deploy now in order to link the project and get proper values for GitHub Actions.
  • Walk them through setting the secrets

The automated release is failing 🚨

🚨 The automated release from the main branch failed. 🚨

I recommend you give this issue a high priority, so other packages depending on you could benefit from your bug fixes and new features.

You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. I’m sure you can resolve this πŸ’ͺ.

Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.

Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the main branch. You can also manually restart the failed CI job that runs semantic-release.

If you are not sure how to resolve this, here is some links that can help you:

If those don’t help, or if this issue is reporting something you think isn’t right, you can always ask the humans behind semantic-release.


Invalid npm token.

The npm token configured in the NPM_TOKEN environment variable must be a valid token allowing to publish to the registry https://registry.npmjs.org/.

If you are using Two-Factor Authentication, make configure the auth-only level is supported. semantic-release cannot publish with the default auth-and-writes level.

Please make sure to set the NPM_TOKEN environment variable in your CI with the exact value of the npm token.


Good luck with your project ✨

Your semantic-release bot πŸ“¦πŸš€

Support Heroku / Non-Serverless Deployments

The bulk of the changes should be confined to pages/api/graphql/index, but we'll need to make some adjustments for deployment and ask the user if they want a serverless deployment or not.

Heroku is definitely not a typical Jamstack host, but because we recommend it for databases, and it sometimes need to be used, we want Bison to support it.

Migrate to Lerna

We need to start adding packages to this project to properly manage dependencies and allow for easier upgrading.

Spike has been completed that imports the current create-bison-app and sets up the necessary config for conventionalCommits.

[bug] prisma.disconnect -> prisma.$disconnect from generated bison app.

Hello guys, awesome boilerplate, I had to make a couple fixes to get my project generated with create-bison-app to build before deploying to vercel. But the stack and codebase looks rad so far!

Mainly prisma.disconnect() call on lib/prisma.ts wasn't using thhe new $disconnect() syntax.

I checked on your main repo code and the template seems to be alright now using the $ dollar sign before the fn name. Im not sure if the generated by me was using an older version of the code maybe?

Maybe then this can be closed and will be fixed once create-bison-app uses latest version from master branch.

lib/prisma.ts

}

export async function disconnect() {
-  await prisma.disconnect();
+ await prisma.$disconnect();

 return true;
}

The automated release is failing 🚨

🚨 The automated release from the main branch failed. 🚨

I recommend you give this issue a high priority, so other packages depending on you could benefit from your bug fixes and new features.

You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. I’m sure you can resolve this πŸ’ͺ.

Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.

Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the main branch. You can also manually restart the failed CI job that runs semantic-release.

If you are not sure how to resolve this, here is some links that can help you:

If those don’t help, or if this issue is reporting something you think isn’t right, you can always ask the humans behind semantic-release.


Invalid npm token.

The npm token configured in the NPM_TOKEN environment variable must be a valid token allowing to publish to the registry https://registry.npmjs.org/.

If you are using Two-Factor Authentication, make configure the auth-only level is supported. semantic-release cannot publish with the default auth-and-writes level.

Please make sure to set the NPM_TOKEN environment variable in your CI with the exact value of the npm token.


Good luck with your project ✨

Your semantic-release bot πŸ“¦πŸš€

Installation fails at "Generate Nexus types"

I did a new installation with yarn create bison-app bison-test and the process stopped at "Generate Nexus types" due to an error.

1. yarn create bison-app bison-test

  βœ” Copy files
  βœ” Install dependencies
  βœ– Generate Nexus types
    β†’ info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
    Cleanup
    Git init
(node:50408) UnhandledPromiseRejectionWarning: Error: Command failed: yarn nexus build --no-bundle
error Command failed with exit code 1.

yarn run v1.22.4
$ /Users/frank/Documents/test/bison-test/node_modules/.bin/nexus build --no-bundle
{"event":"get used plugins","level":3,"path":["nexus","build"]}
{"event":"failed to get used plugins","level":6,"path":["nexus"],"context":{"error":{}}}
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

    at makeError (/Users/frank/.config/yarn/global/node_modules/execa/index.js:174:9)
    at /Users/frank/.config/yarn/global/node_modules/execa/index.js:278:16
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:50408) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
(node:50408) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

2. Then I tried yarn nexus build --no-bundle by myself which ended up in this error

βœ• nexus failed to get used plugins
  | error  Error: @prisma/client did not initialize yet. Please run "prisma generate" and try to import it again.
  |        In case this error is unexpected for you, please report it in https://github.com/prisma/prisma-client-js/issues/390.
  |            at new PrismaClient (/Users/frank/Documents/test/bison-test/node_modules/.prisma/client/index.js:3:11)
  |            at Object.<anonymous> (/Users/frank/Documents/test/bison-test/lib/prisma.ts:6:12)
  |            at Module._compile (internal/modules/cjs/loader.js:1251:30)
  |            at Module._compile (/Users/frank/Documents/test/bison-test/node_modules/pirates/lib/index.js:99:24)
  |            at Module._extensions..js (internal/modules/cjs/loader.js:1272:10)
  |            at Object.newLoader [as .ts] (/Users/frank/Documents/test/bison-test/node_modules/pirates/lib/index.js:104:7)
  |            at Module.load (internal/modules/cjs/loader.js:1100:32)
  |            at Function.Module._load (internal/modules/cjs/loader.js:962:14)
  |            at Module.require (internal/modules/cjs/loader.js:1140:19)
  |            at require (internal/modules/cjs/helpers.js:75:18)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

3. yarn global add @prisma/client && prisma generate

4. yarn nexus build --no-bundle worked as expected

I think prisma generate should be run before nexus build --no-bundle. What do you say?

mkdir error when running yarn dev after fresh install.


[NEXT] Error: EROFS: read-only file system, mkdir '/node_modules'
[NEXT]     at Object.mkdirSync (fs.js:948:3)
[NEXT]     at createBrandNewDirectorySync (/Users/agustif/Code/nodede/node_modules/fs-jetpack/lib/dir.js:62:8)
[NEXT]     at createBrandNewDirectorySync (/Users/agustif/Code/nodede/node_modules/fs-jetpack/lib/dir.js:66:7)
[NEXT]     at Object.createBrandNewDirectorySync [as createSync] (/Users/agustif/Code/nodede/node_modules/fs-jetpack/lib/dir.js:66:7)
[NEXT]     at writeFileSync (/Users/agustif/Code/nodede/node_modules/fs-jetpack/lib/write.js:50:11)
[NEXT]     at Object.writeSync [as sync] (/Users/agustif/Code/nodede/node_modules/fs-jetpack/lib/write.js:75:3)
[NEXT]     at Object.write (/Users/agustif/Code/nodede/node_modules/fs-jetpack/lib/jetpack.js:226:13)
[NEXT]     at Object.exports.hardWriteFileSync (/Users/agustif/Code/nodede/node_modules/nexus-plugin-prisma/dist/utils.js:62:8)
[NEXT]     at doGenerate (/Users/agustif/Code/nodede/node_modules/nexus-plugin-prisma/dist/typegen/render.js:50:17)
[NEXT]     at Object.generateSync (/Users/agustif/Code/nodede/node_modules/nexus-plugin-prisma/dist/typegen/render.js:30:5) {
[NEXT]   errno: -30,
[NEXT]   syscall: 'mkdir',
[NEXT]   code: 'EROFS',
[NEXT]   path: '/node_modules'
[NEXT] }

Doc updates

  • Under Configure Prisma, it says to add a .env file under api/prisma but the api file doesn't exist.
  • Would be nice to instruct how to start a watching under "Run The App"

Determine how to upgrade between versions.

2 proposed ways to attack this:

  1. Create a demo repo. Every time we release a new version of bison, we regenerate the app and create a tag. This tag should match the current version of Bison at the time of creation. If we save the version of Bison that was used to generate, we can create a link in the CLI to the git diff. This should give users a step-by-step way to upgrade and is similar to how react-native-upgrade-helper works.
  2. Create a bison package that manages the dependencies, write codemods using jscodeshift to patch files appropriately. This is likely the future solution that we could move to once things have stabilized. It does require some dev work to implement properly.

Support GitLab CI

GitLab and GitLab CI have been working wonderfully for my team, and we'd love to have an out-of-the-box framework that generated the necessary files for it!

Vercel deployment - Required lambda files exceed max lambda size

I was trying to deploy an untouched and fresh installation of bison app to Vercel but I'm getting a Required lambda files exceed max lambda size error

image

this is the full deployment log:


16:49:36 | Cloning github.com/MarvinAmador7/haab (Branch: master, Commit: 5a8033d)
-- | --
16:49:54 | Cloning completed in 17010ms
16:49:54 | Analyzing source code...
16:50:10 | Installing build runtime...
16:50:10 | Build runtime installed: 406.275ms
16:50:11 | Looking up build cache...
16:50:11 | Build cache not found
16:50:11 | Installing dependencies...
16:50:12 | yarn install v1.22.4
16:50:12 | [1/4] Resolving packages...
16:50:12 | [2/4] Fetching packages...
16:50:12 | warning Pattern ["@apollo/client@latest"] is trying to unpack in the same destination "/vercel/.cache/yarn/v6/npm-@apollo-client-3.1.3-4ea9c3818bd2836a3dbe26088227c3d8cb46ad2b-integrity/node_modules/@apollo/client" as pattern ["@apollo/client@^3.0.2"]. This could result in non-deterministic behavior, skipping.
16:50:34 | info [email protected]: The platform "linux" is incompatible with this module.
16:50:34 | info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
16:50:34 | info [email protected]: The platform "linux" is incompatible with this module.
16:50:34 | info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
16:50:34 | [3/4] Linking dependencies...
16:50:34 | warning " > @apollo/[email protected]" has unmet peer dependency "graphql@^14.0.0 \|\| ^15.0.0".
16:50:34 | warning " > @apollo/[email protected]" has unmet peer dependency "subscriptions-transport-ws@^0.9.0".
16:50:34 | warning "@apollo/client > [email protected]" has unmet peer dependency "graphql@^0.9.0 \|\| ^0.10.0 \|\| ^0.11.0 \|\| ^0.12.0 \|\| ^0.13.0 \|\| ^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning " > @chakra-ui/[email protected]" has unmet peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning "@chakra-ui/core > @chakra-ui/[email protected]" has incorrect peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning " > @chakra-ui/[email protected]" has unmet peer dependency "@chakra-ui/[email protected]".
16:50:34 | warning " > [email protected]" has unmet peer dependency "graphql@^0.5.0 \|\| ^0.6.0 \|\| ^0.7.0 \|\| ^0.8.0-b \|\| ^0.9.0 \|\| ^0.10.0 \|\| ^0.11.0 \|\| ^0.12.0 \|\| ^0.13.0 \|\| ^14.0.0".
16:50:34 | warning " > [email protected]" has unmet peer dependency "graphql@>=0.8.0".
16:50:34 | warning "nexus > @zeit/node-file-trace > [email protected]" has incorrect peer dependency "acorn@^6.0.1".
16:50:34 | warning " > @graphql-codegen/[email protected]" has unmet peer dependency "graphql@^0.8.0 \|\| ^0.9.0 \|\| ^0.10.0 \|\| ^0.11.0 \|\| ^0.12.0 \|\| ^0.13.0 \|\| ^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/cli > @graphql-codegen/[email protected]" has unmet peer dependency "graphql@^0.8.0 \|\| ^0.9.0 \|\| ^0.10.0 \|\| ^0.11.0 \|\| ^0.12.0 \|\| ^0.13.0 \|\| ^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/cli > @graphql-codegen/[email protected]" has unmet peer dependency "graphql@^0.8.0 \|\| ^0.9.0 \|\| ^0.10.0 \|\| ^0.11.0 \|\| ^0.12.0 \|\| ^0.13.0 \|\| ^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/cli > @graphql-tools/[email protected]" has unmet peer dependency "graphql@^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/cli > @graphql-tools/[email protected]" has unmet peer dependency "graphql@^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/cli > @graphql-tools/[email protected]" has unmet peer dependency "graphql@^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/cli > @graphql-tools/[email protected]" has unmet peer dependency "graphql@^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/cli > @graphql-tools/[email protected]" has unmet peer dependency "graphql@^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/cli > @graphql-tools/[email protected]" has unmet peer dependency "graphql@^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/cli > @graphql-tools/[email protected]" has unmet peer dependency "graphql@^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/cli > @graphql-tools/[email protected]" has unmet peer dependency "graphql@^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/cli > @graphql-tools/[email protected]" has unmet peer dependency "graphql@^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/cli > @graphql-tools/[email protected]" has unmet peer dependency "graphql@^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/cli > [email protected]" has unmet peer dependency "graphql@^0.11.0 \|\| ^0.12.0 \|\| ^0.13.0 \|\| ^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/cli > @graphql-codegen/core > @graphql-tools/[email protected]" has unmet peer dependency "graphql@^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/cli > @graphql-tools/code-file-loader > @graphql-tools/[email protected]" has unmet peer dependency "graphql@^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/cli > @graphql-tools/graphql-file-loader > @graphql-tools/[email protected]" has unmet peer dependency "graphql@^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/cli > @graphql-tools/prisma-loader > [email protected]" has unmet peer dependency "[email protected] \|\| 15.x".
16:50:34 | warning "@graphql-codegen/cli > @graphql-tools/url-loader > @graphql-tools/[email protected]" has unmet peer dependency "graphql@^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/cli > @graphql-tools/url-loader > @graphql-tools/[email protected]" has unmet peer dependency "graphql@^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/cli > @graphql-tools/url-loader > [email protected]" has unmet peer dependency "graphql@>=0.10.0".
16:50:34 | warning "@graphql-codegen/cli > @graphql-codegen/core > @graphql-tools/merge > @graphql-tools/[email protected]" has unmet peer dependency "graphql@^14.0.0 \|\| ^15.0.0".
16:50:34 | warning " > @graphql-codegen/[email protected]" has unmet peer dependency "graphql@^0.12.0 \|\| ^0.13.0 \|\| ^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/typescript > @graphql-codegen/[email protected]" has unmet peer dependency "graphql@^0.8.0 \|\| ^0.9.0 \|\| ^0.10.0 \|\| ^0.11.0 \|\| ^0.12.0 \|\| ^0.13.0 \|\| ^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/typescript > @graphql-codegen/visitor-plugin-common > @graphql-tools/[email protected]" has unmet peer dependency "graphql@^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/typescript > @graphql-codegen/visitor-plugin-common > [email protected]" has unmet peer dependency "graphql@^0.9.0 \|\| ^0.10.0 \|\| ^0.11.0 \|\| ^0.12.0 \|\| ^0.13.0 \|\| ^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/typescript > @graphql-codegen/visitor-plugin-common > @graphql-tools/relay-operation-optimizer > @graphql-tools/[email protected]" has unmet peer dependency "graphql@^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/typescript > @graphql-codegen/visitor-plugin-common > @graphql-tools/relay-operation-optimizer > [email protected]" has unmet peer dependency "graphql@^15.0.0".
16:50:34 | warning " > @graphql-codegen/[email protected]" has unmet peer dependency "graphql@^0.8.0 \|\| ^0.9.0 \|\| ^0.10.0 \|\| ^0.11.0 \|\| ^0.12.0 \|\| ^0.13.0 \|\| ^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/typescript-operations > @graphql-codegen/[email protected]" has unmet peer dependency "graphql@^0.8.0 \|\| ^0.9.0 \|\| ^0.10.0 \|\| ^0.11.0 \|\| ^0.12.0 \|\| ^0.13.0 \|\| ^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/typescript-operations > @graphql-codegen/[email protected]" has unmet peer dependency "graphql@^0.12.0 \|\| ^0.13.0 \|\| ^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/typescript-operations > @graphql-codegen/[email protected]" has unmet peer dependency "graphql@^0.8.0 \|\| ^0.9.0 \|\| ^0.10.0 \|\| ^0.11.0 \|\| ^0.12.0 \|\| ^0.13.0 \|\| ^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/typescript-operations > @graphql-codegen/visitor-plugin-common > @graphql-tools/[email protected]" has unmet peer dependency "graphql@^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/typescript-operations > @graphql-codegen/visitor-plugin-common > @graphql-tools/relay-operation-optimizer > [email protected]" has unmet peer dependency "graphql@^15.0.0".
16:50:34 | warning " > @graphql-codegen/[email protected]" has unmet peer dependency "graphql@^0.8.0 \|\| ^0.9.0 \|\| ^0.10.0 \|\| ^0.11.0 \|\| ^0.12.0 \|\| ^0.13.0 \|\| ^14.0.0 \|\| ^15.0.0".
16:50:34 | warning " > @graphql-codegen/[email protected]" has unmet peer dependency "graphql-tag@^2.0.0".
16:50:34 | warning " > @graphql-codegen/[email protected]" has unmet peer dependency "graphql@^0.8.0 \|\| ^0.9.0 \|\| ^0.10.0 \|\| ^0.11.0 \|\| ^0.12.0 \|\| ^0.13.0 \|\| ^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/typescript-resolvers > @graphql-codegen/[email protected]" has unmet peer dependency "graphql@^0.8.0 \|\| ^0.9.0 \|\| ^0.10.0 \|\| ^0.11.0 \|\| ^0.12.0 \|\| ^0.13.0 \|\| ^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/typescript-resolvers > @graphql-codegen/[email protected]" has unmet peer dependency "graphql@^0.12.0 \|\| ^0.13.0 \|\| ^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "@graphql-codegen/typescript-resolvers > @graphql-codegen/[email protected]" has unmet peer dependency "graphql@^0.8.0 \|\| ^0.9.0 \|\| ^0.10.0 \|\| ^0.11.0 \|\| ^0.12.0 \|\| ^0.13.0 \|\| ^14.0.0 \|\| ^15.0.0".
16:50:34 | warning "eslint-plugin-echobind > @typescript-eslint/[email protected]" has incorrect peer dependency "eslint@^5.0.0 \|\| ^6.0.0".
16:50:34 | warning "eslint-plugin-echobind > @typescript-eslint/[email protected]" has incorrect peer dependency "eslint@^5.0.0 \|\| ^6.0.0".
16:50:34 | warning "eslint-plugin-echobind > [email protected]" has incorrect peer dependency "[email protected]".
16:50:34 | warning "eslint-plugin-echobind > [email protected]" has unmet peer dependency "[email protected] \|\| 4.x".
16:50:34 | warning "eslint-plugin-echobind > [email protected]" has incorrect peer dependency "eslint@^3.0.0 \|\| ^4.0.0 \|\| ^5.0.0 \|\| ^6.0.0".
16:50:34 | warning "eslint-plugin-echobind > @react-native-community/eslint-config > @typescript-eslint/[email protected]" has incorrect peer dependency "eslint@^5.0.0".
16:50:34 | warning "eslint-plugin-echobind > @react-native-community/eslint-config > @typescript-eslint/[email protected]" has incorrect peer dependency "eslint@^5.0.0".
16:50:34 | warning "eslint-plugin-echobind > @react-native-community/eslint-config > [email protected]" has incorrect peer dependency "eslint@^3.0.0 \|\| ^4.0.0 \|\| ^5.0.0".
16:50:34 | warning "eslint-plugin-echobind > @react-native-community/eslint-config > [email protected]" has incorrect peer dependency "eslint@^3.0.0 \|\| ^4.0.0 \|\| ^5.0.0 \|\| ^6.0.0".
16:50:34 | warning "eslint-plugin-echobind > @react-native-community/eslint-config > [email protected]" has incorrect peer dependency "eslint@^3.17.0 \|\| ^4 \|\| ^5".
16:50:50 | [4/4] Building fresh packages...
16:51:04 | Done in 52.77s.
16:51:04 | Running "yarn run build"
16:51:05 | yarn run v1.22.4
16:51:05 | $ yarn nexus build && next build
16:51:05 | $ /vercel/18ce53be/node_modules/.bin/nexus build
16:51:06 | {"event":"get used plugins","level":3,"path":["nexus","build"],"hostname":"ip-172-31-58-108.us-west-2.compute.internal","pid":1792,"time":1597791066118}
16:51:06 | {"event":"Running generators","level":3,"path":["nexus","plugin","nexusPluginPrisma"],"hostname":"ip-172-31-58-108.us-west-2.compute.internal","pid":1792,"time":1597791066772}
16:51:07 | {"event":"starting reflection","level":3,"path":["nexus","build"],"hostname":"ip-172-31-58-108.us-west-2.compute.internal","pid":1792,"time":1597791067596}
16:51:13 | {"event":"building typescript program","level":3,"path":["nexus","build"],"hostname":"ip-172-31-58-108.us-west-2.compute.internal","pid":1792,"time":1597791073684}
16:51:17 | {"event":"compiling a production build","level":3,"path":["nexus","build"],"hostname":"ip-172-31-58-108.us-west-2.compute.internal","pid":1792,"time":1597791077037}
16:51:17 | {"event":"bundling app","level":3,"path":["nexus","build"],"hostname":"ip-172-31-58-108.us-west-2.compute.internal","pid":1792,"time":1597791077087}
16:51:22 | {"event":"success","level":3,"path":["nexus","build"],"context":{"buildOutput":".nexus/build","time":16542},"hostname":"ip-172-31-58-108.us-west-2.compute.internal","pid":1792,"time":1597791082478}
16:51:23 | info  - Loaded env from /vercel/18ce53be/.env.local
16:51:23 | Creating an optimized production build...
16:51:23 | Attention: Next.js now collects completely anonymous telemetry regarding usage.
16:51:23 | This information is used to shape Next.js' roadmap and prioritize features.
16:51:23 | You can learn more, including how to opt-out if you'd not like to participate in this anonymous program, by visiting the following URL:
16:51:23 | https://nextjs.org/telemetry
16:52:52 | Compiled successfully.
16:52:52 | Automatically optimizing pages...
16:52:53 | Page                                                           Size     First Load JS
16:52:53 | β”Œ β—‹ /                                                          2.47 kB         153 kB
16:52:53 | β”œ   /_app                                                      22.9 kB         151 kB
16:52:53 | β”œ β—‹ /404                                                       3.25 kB         154 kB
16:52:53 | β”œ Ξ» /api/graphql
16:52:53 | β”œ β—‹ /login                                                     1.37 kB         168 kB
16:52:53 | β”” β—‹ /signup                                                    1.48 kB         168 kB
16:52:53 | + First Load JS shared by all                                  151 kB
16:52:53 | β”œ static/pages/_app.js                                       22.9 kB
16:52:53 | β”œ chunks/165464d86b0119c3025e24821b29f8ff50481e84.34d6ab.js  22.3 kB
16:52:53 | β”œ chunks/899a5c147de3c46772f6168851474b8978ce03a1.105cae.js  46.6 kB
16:52:53 | β”œ chunks/abe2db7b0bc2a4c55a12dfb47b1361f9f6a3bcc5.f5bff6.js  10.3 kB
16:52:53 | β”œ chunks/framework.c66671.js                                 40.1 kB
16:52:53 | β”œ runtime/main.ba41a0.js                                     6.98 kB
16:52:53 | β”” runtime/webpack.eb36d2.js                                  1.31 kB
16:52:53 | Ξ»  (Lambda)  server-side renders at runtime (uses getInitialProps or getServerSideProps)
16:52:53 | β—‹  (Static)  automatically rendered as static HTML (uses no initial props)
16:52:53 | ●  (SSG)     automatically generated as static HTML + JSON (uses getStaticProps)
16:52:53 | Done in 108.73s.
16:53:27 | Traced Next.js serverless functions for external files in: 33451.464ms
16:53:53 | Compressed shared serverless function files: 26049.451ms
16:53:53 | Error: Required lambda files exceed max lambda size of 50000000 bytes
16:53:53 | at Object.module.exports.178.exports.build (/vercel/beeac83ffad651b3/.build-utils/.builder/node_modules/@vercel/next/dist/index.js:6977:23)
16:53:53 | at async buildStep (/var/task/sandbox-worker.js:21362:20)
16:53:53 | at async mainSub (/var/task/sandbox-worker.js:21096:9)
16:53:53 | at async main (/var/task/sandbox-worker.js:20959:5)
16:53:56 | Done with "package.json"


Question: Split project into frontend and backend

Does it make sense split frontend and backend into two different root directories?
I had a look at the package.json and it looks very long. For me it is difficult to distinguish between frontend and backend scripts. Same for the dependencies.

Running yarn test throws an authentication error

I've successfully ran yarn db:setup and I have the MyBysonApp_dev database created with some tables such as Profile and User. However, when I try to run yarn test this error is thrown:

  ● Test suite failed to run

    Command failed: yarn prisma migrate up --create-db --experimental
    Environment variables loaded from prisma/.env
    Error: P1000: Authentication failed against database server at `localhost`, the provided database credentials for `postgres` are not valid.

    Please make sure to provide valid database credentials for the database server at `localhost`.
    error Command failed with exit code 1.

I've already changed both prisma/.env and .env.test files and added the user and password combination for my local postgres server.

Also, I did not face any issue by running yarn prisma migrate up --create-db --experimental

Add cells to generators

We borrowed this concept from RedwoodJS on recent projects, and should include it as a default generator.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.