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

Esbuild - feedback after v0.28.0 bump #2120

Closed
noire-munich opened this issue Mar 26, 2021 · 3 comments · Fixed by #2129
Closed

Esbuild - feedback after v0.28.0 bump #2120

noire-munich opened this issue Mar 26, 2021 · 3 comments · Fixed by #2129

Comments

@noire-munich
Copy link
Collaborator

Hi @peterp !

Gave esbuild a spin this morning right after the upgrade, here's a short feedback.

I thought candidly that yarn rw dev api --esbuild would work but it doesn't:

$ yarn rw dev api --esbuild                130 ↵
yarn run v1.22.5
$ /Workspace/Code/SportOffice/node_modules/.bin/rw dev api --esbuild
$ /Workspace/Code/SportOffice/node_modules/.bin/cross-env NODE_ENV=development NODE_OPTIONS=--enable-source-maps yarn rw-api-server-watch
error Command "rw-api-server-watch" not found.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
api esbuild | yarn cross-env NODE_ENV=development NODE_OPTIONS=--enable-source-maps yarn rw-api-server-watch exited with code 1
Done in 11.24s.

Being a notorious noob I do not know if this is a bug or if this option shouldn't be allowed on yarn rw dev api :)

Second! I ran yarn rw dev --esbuild. When it eventually resolved on the web side, here's what I got in the terminal:

yarn rw dev --esbuild  
yarn run v1.22.5
$ /Workspace/Code/SportOffice/node_modules/.bin/rw dev --esbuild
$ /Workspace/Code/SportOffice/node_modules/.bin/cross-env NODE_ENV=development NODE_OPTIONS=--enable-source-maps yarn rw-api-server-watch
$ /Workspace/Code/SportOffice/node_modules/.bin/cross-env ESBUILD=1
$ /Workspace/Code/SportOffice/node_modules/.bin/webpack-dev-server --config ../node_modules/@redwoodjs/core/config/webpack.development.js
error Command "rw-api-server-watch" not found.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
api esbuild | yarn cross-env NODE_ENV=development NODE_OPTIONS=--enable-source-maps yarn rw-api-server-watch exited with code 1
web esbuild | ℹ 「wds」: Project is running at http://localhost:8910/
web esbuild | ℹ 「wds」: webpack output is served from /
web esbuild | ℹ 「wds」: Content not from webpack is served from /Workspace/Code/SportOffice/web
web esbuild | ℹ 「wds」: 404s will fallback to /index.html
web esbuild | [HPM] Error occurred while trying to proxy request /graphql from localhost:8910 to http://[::1]:8911 (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors)

error Command "rw-api-server-watch" not found. bumps in both cases.
Ultimately the graphql endpoint falls on a 504.

Hope it helps :)

yarn rw info                             130 ↵
yarn run v1.22.5
$ /Workspace/Code/SportOffice/node_modules/.bin/rw info

  System:
    OS: Linux 5.8 Ubuntu 20.10 (Groovy Gorilla)
    Shell: 5.8 - /usr/bin/zsh
  Binaries:
    Node: 14.0.0 - /tmp/yarn--1616743997204-0.39385911995709955/node
    Yarn: 1.22.5 - /tmp/yarn--1616743997204-0.39385911995709955/yarn
  Browsers:
    Chrome: 89.0.4389.90
    Firefox: 87.0
  npmPackages:
    @redwoodjs/core: ^0.28.0 => 0.28.0 

Done in 7.96s.
@peterp
Copy link
Contributor

peterp commented Mar 26, 2021

Whoops! I need to update the instructions, you must install @redwoodjs/api-server in ./api

@esteban-url
Copy link
Contributor

esteban-url commented Mar 26, 2021

I'm running into the problem when spinning up a brand new app

$ yarn create redwood-app my-redwood-app <- looks good
$ cd my-redwood-app
$ yarn redwood dev <- 💣

api | /Users/esteban/files/my-redwood-app/node_modules/apollo-server-core/dist/ApolloServer.js:230
api |                 throw new Error(`called start() with surprising state ${initialState.phase}`);
api |                       ^
api |
api | Error: called start() with surprising state invoking serverWillStart
complete output
$ yarn redwood dev
yarn run v1.22.10
$ /Users/esteban/files/my-redwood-app/node_modules/.bin/redwood dev
  ✔ Generating the Prisma client...
$ /Users/esteban/files/my-redwood-app/node_modules/.bin/cross-env NODE_ENV=development yarn dev-server
$ /Users/esteban/files/my-redwood-app/node_modules/.bin/webpack-dev-server --config ../node_modules/@redwoodjs/core/config/webpack.development.js
$ /Users/esteban/files/my-redwood-app/node_modules/.bin/dev-server
api | Running at 'http://localhost:8911'
api | Watching files in '/Users/esteban/files/my-redwood-app/api/src/functions'
web | ℹ 「wds」: Project is running at http://localhost:8910/
web | ℹ 「wds」: webpack output is served from /
web | ℹ 「wds」: Content not from webpack is served from /Users/esteban/files/my-redwood-app/web
web | ℹ 「wds」: 404s will fallback to /index.html
api | Done. Took 2609ms.
api | /Users/esteban/files/my-redwood-app/node_modules/apollo-server-core/dist/ApolloServer.js:230
api |                 throw new Error(`called start() with surprising state ${initialState.phase}`);
api |                       ^
api |
api | Error: called start() with surprising state invoking serverWillStart
api |     at ApolloServer.<anonymous> (/Users/esteban/files/my-redwood-app/node_modules/apollo-server-core/src/ApolloServer.ts:510:13)
api |     at Generator.next (<anonymous>)
api |     at /Users/esteban/files/my-redwood-app/node_modules/apollo-server-core/dist/ApolloServer.js:8:71
api |     at new Promise (<anonymous>)
api |     at __awaiter (/Users/esteban/files/my-redwood-app/node_modules/apollo-server-core/dist/ApolloServer.js:4:12)
api |     at ApolloServer._start (/Users/esteban/files/my-redwood-app/node_modules/apollo-server-core/dist/ApolloServer.js:226:16)
api |     at ApolloServer.<anonymous> (/Users/esteban/files/my-redwood-app/node_modules/apollo-server-core/src/ApolloServer.ts:594:12)
api |     at Generator.next (<anonymous>)
api |     at /Users/esteban/files/my-redwood-app/node_modules/apollo-server-core/dist/ApolloServer.js:8:71
api |     at new Promise (<anonymous>)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
api | cd "/Users/esteban/files/my-redwood-app/api" && yarn cross-env NODE_ENV=development yarn dev-server exited with code 1
^C
web | cd "/Users/esteban/files/my-redwood-app/web" && yarn webpack-dev-server --config ../node_modules/@redwoodjs/core/config/webpack.development.js  exited with code SIGINT

so I tried the esbuild flag
$ yarn rw dev --esbuild <- again it throws errors

error Command "rw-api-server-watch" not found.
complete output
$ yarn rw dev --esbuild
yarn run v1.22.10
$ /Users/esteban/files/my-redwood-app/node_modules/.bin/rw dev --esbuild
$ /Users/esteban/files/my-redwood-app/node_modules/.bin/cross-env ESBUILD=1
$ /Users/esteban/files/my-redwood-app/node_modules/.bin/cross-env NODE_ENV=development NODE_OPTIONS=--enable-source-maps yarn rw-api-server-watch
$ /Users/esteban/files/my-redwood-app/node_modules/.bin/webpack-dev-server --config ../node_modules/@redwoodjs/core/config/webpack.development.js
error Command "rw-api-server-watch" not found.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
api esbuild | yarn cross-env NODE_ENV=development NODE_OPTIONS=--enable-source-maps yarn rw-api-server-watch exited with code 1
web esbuild | ℹ 「wds」: Project is running at http://localhost:8910/
web esbuild | ℹ 「wds」: webpack output is served from /
web esbuild | ℹ 「wds」: Content not from webpack is served from /Users/esteban/files/my-redwood-app/web
web esbuild | ℹ 「wds」: 404s will fallback to /index.html
error Command failed with signal "SIGKILL".
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
web esbuild | yarn cross-env ESBUILD=1 && cd "/Users/esteban/files/my-redwood-app/web" && yarn webpack-dev-server --config ../node_modules/@redwoodjs/core/config/webpack.development.js  exited with code 1
✨  Done in 116.16s.

so then i added as @peterp suggested
$ yarn workspace api add @redwoodjs/api-server <- bunch of warning but otherwise it looks good

except it still errors out when running dev
yarn rw dev --esbuild

api esbuild | /Users/esteban/files/my-redwood-app/node_modules/apollo-server-core/src/ApolloServer.ts:510
api esbuild |       throw new Error(
api esbuild |             ^
api esbuild |
api esbuild | Error: called start() with surprising state invoking serverWillStart
complete output
$ yarn rw dev --esbuild
yarn run v1.22.10
$ /Users/esteban/files/my-redwood-app/node_modules/.bin/rw dev --esbuild
$ /Users/esteban/files/my-redwood-app/node_modules/.bin/cross-env NODE_ENV=development NODE_OPTIONS=--enable-source-maps yarn rw-api-server-watch
$ /Users/esteban/files/my-redwood-app/node_modules/.bin/cross-env ESBUILD=1
$ /Users/esteban/files/my-redwood-app/node_modules/.bin/webpack-dev-server --config ../node_modules/@redwoodjs/core/config/webpack.development.js
$ /Users/esteban/files/my-redwood-app/node_modules/.bin/rw-api-server-watch
api esbuild | Building API...
api esbuild | Built in 118 ms
api esbuild | Importing API...
api esbuild | Imported in 718 ms
api esbuild | Listening on http://localhost:8911
api esbuild |
api esbuild | /Users/esteban/files/my-redwood-app/node_modules/apollo-server-core/src/ApolloServer.ts:510
api esbuild |       throw new Error(
api esbuild |             ^
api esbuild |
api esbuild | Error: called start() with surprising state invoking serverWillStart
api esbuild |     at ApolloServer.<anonymous> (/Users/esteban/files/my-redwood-app/node_modules/apollo-server-core/dist/ApolloServer.js:230:23)
api esbuild |         -> /Users/esteban/files/my-redwood-app/node_modules/apollo-server-core/src/ApolloServer.ts:510:13
api esbuild |     at Generator.next (<anonymous>)
api esbuild |     at /Users/esteban/files/my-redwood-app/node_modules/apollo-server-core/dist/ApolloServer.js:8:71
api esbuild |     at new Promise (<anonymous>)
api esbuild |     at __awaiter (/Users/esteban/files/my-redwood-app/node_modules/apollo-server-core/dist/ApolloServer.js:4:12)
api esbuild |     at ApolloServer._start (/Users/esteban/files/my-redwood-app/node_modules/apollo-server-core/dist/ApolloServer.js:226:16)
api esbuild |         -> /Users/esteban/files/my-redwood-app/node_modules/apollo-server-core/src/ApolloServer.ts:504:25
api esbuild |     at ApolloServer.<anonymous> (/Users/esteban/files/my-redwood-app/node_modules/apollo-server-core/dist/ApolloServer.js:280:22)
api esbuild |         -> /Users/esteban/files/my-redwood-app/node_modules/apollo-server-core/src/ApolloServer.ts:594:12
api esbuild |     at Generator.next (<anonymous>)
api esbuild |     at /Users/esteban/files/my-redwood-app/node_modules/apollo-server-core/dist/ApolloServer.js:8:71
api esbuild |     at new Promise (<anonymous>)
web esbuild | ℹ 「wds」: Project is running at http://localhost:8910/
web esbuild | ℹ 「wds」: webpack output is served from /
web esbuild | ℹ 「wds」: Content not from webpack is served from /Users/esteban/files/my-redwood-app/web
web esbuild | ℹ 「wds」: 404s will fallback to /index.html

hope this helps ☺️

@thedavidprice
Copy link
Contributor

@esteban-url Your error above is not related to Esbuild. It looks like an issue between Node and Apollo server versions. I've been able to replicate locally, but I only get a Warning.

I've copied your comment into a new Issue here: #2127

Would it be possible for you to comment with the output from your project's yarn redwood info? I'd like to know what version of Node.js you're using.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants