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

Support Qwik City (dev server) #20612

Open
birkskyum opened this issue Sep 21, 2023 · 13 comments
Open

Support Qwik City (dev server) #20612

birkskyum opened this issue Sep 21, 2023 · 13 comments
Labels
bug Something isn't working node compat

Comments

@birkskyum
Copy link
Contributor

birkskyum commented Sep 21, 2023

Qwik - Qwik City - GitHub

Platform

Darwin 22.6.0 arm64 arm

Version

deno 1.37.0

Repro

  • deno run -A npm:create-qwik@1.3.0 (UPDATE: works from v1.4.1)
  • deno task dev

Expected

Dev server start

Actual

➜ deno task dev
Warning Currently only basic package.json `scripts` are supported. Programs like `rimraf` or `cross-env` will not work correctly. This will be fixed in an upcoming release.
Task dev vite --mode ssr
error when starting dev server:
Error: 
Something went wrong installing the "sharp" module

Cannot find module '../build/Release/sharp-darwin-arm64v8.node'
Require stack:
- /Users/admin/repos/qwik-test/qwik-app/node_modules/.deno/sharp@0.32.6/node_modules/sharp/lib/sharp.js
- /Users/admin/repos/qwik-test/qwik-app/node_modules/.deno/sharp@0.32.6/node_modules/sharp/lib/constructor.js
- /Users/admin/repos/qwik-test/qwik-app/node_modules/.deno/sharp@0.32.6/node_modules/sharp/lib/index.js
- /Users/admin/repos/qwik-test/qwik-app/node_modules/.deno/imagetools-core@4.0.5/node_modules/sharp/lib/index.js

Possible solutions:
- Install with verbose logging and look for errors: "npm install --ignore-scripts=false --foreground-scripts --verbose sharp"
- Install for the current darwin-arm64v8 runtime: "npm install --platform=darwin --arch=arm64v8 sharp"
- Consult the installation documentation: https://sharp.pixelplumbing.com/install
    at Object.<anonymous> (file:///Users/admin/repos/qwik-test/qwik-app/node_modules/.deno/sharp@0.32.6/node_modules/sharp/lib/sharp.js:37:9)
    at Object.<anonymous> (file:///Users/admin/repos/qwik-test/qwik-app/node_modules/.deno/sharp@0.32.6/node_modules/sharp/lib/sharp.js:40:4)
    at Module._compile (node:module:733:34)
    at Object.Module._extensions..js (node:module:747:10)
    at Module.load (node:module:658:32)
    at Function.Module._load (node:module:539:12)
    at Module.require (node:module:677:19)
    at require (node:module:791:16)
    at Object.<anonymous> (file:///Users/admin/repos/qwik-test/qwik-app/node_modules/.deno/sharp@0.32.6/node_modules/sharp/lib/constructor.js:11:1)
    at Object.<anonymous> (file:///Users/admin/repos/qwik-test/qwik-app/node_modules/.deno/sharp@0.32.6/node_modules/sharp/lib/constructor.js:441:4)

Related to:

@bartlomieju bartlomieju added bug Something isn't working node compat labels Sep 22, 2023
birkskyum added a commit to birkskyum/qwik that referenced this issue Dec 4, 2023
The new vite-imagetools version uses a newer Sharp version which will allow Qwik City to work with
Deno

denoland/deno#20612
mhevery pushed a commit to QwikDev/qwik that referenced this issue Dec 6, 2023
The new vite-imagetools version uses a newer Sharp version which will allow Qwik City to work with
Deno

denoland/deno#20612
@birkskyum
Copy link
Contributor Author

birkskyum commented Dec 6, 2023

Now we wait for Qwik 1.3 to come out (should be soon), and re-assess the status again

@birkskyum
Copy link
Contributor Author

birkskyum commented Dec 6, 2023

Alright, this is the new situation with qwik 1.3

➜ deno task dev
Task dev vite --mode ssr
The CJS build of Vite's Node API is deprecated. See https://vitejs.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details.
error when starting dev server:
Error: Platform not supported
    at loadPlatformBinding (file:///Users/admin/repos/qwik-app/node_modules/.deno/@builder.io+qwik@1.3.0/node_modules/@builder.io/qwik/optimizer.cjs:1367:11)
    at createOptimizer (file:///Users/admin/repos/qwik-app/node_modules/.deno/@builder.io+qwik@1.3.0/node_modules/@builder.io/qwik/optimizer.cjs:1396:93)
    at async Object.init2 [as init] (file:///Users/admin/repos/qwik-app/node_modules/.deno/@builder.io+qwik@1.3.0/node_modules/@builder.io/qwik/optimizer.cjs:1760:49)
    at async config (file:///Users/admin/repos/qwik-app/node_modules/.deno/@builder.io+qwik@1.3.0/node_modules/@builder.io/qwik/optimizer.cjs:3163:9)
    at async runConfigHook (file:///Users/admin/repos/qwik-app/node_modules/.deno/vite@4.4.7/node_modules/vite/dist/node/chunks/dep-3b8eb186.js:66218:25)
    at async resolveConfig (file:///Users/admin/repos/qwik-app/node_modules/.deno/vite@4.4.7/node_modules/vite/dist/node/chunks/dep-3b8eb186.js:65661:14)
    at async _createServer (file:///Users/admin/repos/qwik-app/node_modules/.deno/vite@4.4.7/node_modules/vite/dist/node/chunks/dep-3b8eb186.js:64905:20)
    at async CAC.<anonymous> (file:///Users/admin/repos/qwik-app/node_modules/.deno/vite@4.4.7/node_modules/vite/dist/node/cli.js:743:24)

@birkskyum
Copy link
Contributor Author

birkskyum commented Jan 25, 2024

Just tried with latest qwik (1.4.1), and things are working in dev mode! It's a small thing, but I get all these deprecation warnings though:

➜ deno task dev                    
Task dev vite --mode ssr
(!) Could not auto-determine entry point from rollupOptions or html files and there are no explicit optimizeDeps.include patterns. Skipping dependency pre-bundling.

  VITE v5.0.12  ready in 1479 ms

  ➜  Local:   http://localhost:5173/
  ➜  Network: use --host to expose
  ➜  press h + enter to show help
warning: Use of deprecated "Deno.stdin.rid" API. This API will be removed in Deno 2.

hint: Use `Deno.stdin` instance methods instead.


  ❗️ Expect significant performance loss in development.
  ❗️ Disabling the browser's cache results in waterfall requests.
warning: Use of deprecated "Deno.TcpConn.rid" API. This API will be removed in Deno 2.

Stack trace:
  at ext:deno_http/00_serve.js:455:24

hint: Use `Deno.TcpConn` instance methods instead.
hint: It appears this API is used by a remote dependency. Try upgrading to the latest version of that dependency.

warning: Use of deprecated "Deno.TcpConn.rid" API. This API will be removed in Deno 2.

hint: Use `Deno.TcpConn` instance methods instead.

warning: Use of deprecated "Deno.TcpConn.rid" API. This API will be removed in Deno 2.

hint: Use `Deno.TcpConn` instance methods instead.

warning: Use of deprecated "Deno.TcpConn.rid" API. This API will be removed in Deno 2.

hint: Use `Deno.TcpConn` instance methods instead.

warning: Use of deprecated "Deno.FsFile.rid" API. This API will be removed in Deno 2.

Stack trace:
  at ext:deno_node/_fs/_fs_open.ts:78:96

hint: Use `Deno.FsFile` methods directly instead.
hint: It appears this API is used by a remote dependency. Try upgrading to the latest version of that dependency.

@birkskyum
Copy link
Contributor Author

The deno task build gives this error:

npm run build.types
npm run build.client
npm run lint


> build.types
> tsc --incremental --noEmit


> build.client
> vite build

sh: vite: command not found
Warning: Not implemented: ChildProcess.prototype.disconnect

@bartlomieju
Copy link
Member

CC @littledivy could you take a look at that? We should now support disconnect event in ChildProcess.

@birkskyum
Copy link
Contributor Author

birkskyum commented Feb 20, 2024

Alright, so now the deno task build returns just (no disconnect warning):

> build.client
> vite build

sh: vite: command not found

@bartlomieju
Copy link
Member

This is most likely caused by the fact that we don't set up proper entries in node_modules/.bin/ directory.

@birkskyum
Copy link
Contributor Author

birkskyum commented Feb 20, 2024

@bartlomieju , it would probably solve a multiple issues (at least remix as well)

@birkskyum
Copy link
Contributor Author

birkskyum commented May 10, 2024

@bartlomieju I saw the new deno video: https://youtu.be/1IzcI-91iQM?feature=shared&t=92 , and i think it has some incorrect information on qwik support.

Screenshot 2024-05-10 at 15 41 02

I can't make Qwik City run with Deno 1.43.2 like it says it should be able to

Trying with qwik 1.3.0

$ deno run -A npm:create-qwik@1.3.0
$ pnpm i
$ DENO_FUTURE=1 deno task dev


Task dev vite --mode ssr
The CJS build of Vite's Node API is deprecated. See https://vitejs.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details.
error when starting dev server:
Error: Platform not supported
    at loadPlatformBinding (file:///Users/admin/repos/deno-kitchensink/qwik-app/node_modules/.deno/@builder.io+qwik@1.5.4/node_modules/@builder.io/qwik/optimizer.cjs:1410:11)
    at createOptimizer (file:///Users/admin/repos/deno-kitchensink/qwik-app/node_modules/.deno/@builder.io+qwik@1.5.4/node_modules/@builder.io/qwik/optimizer.cjs:1439:93)
    at async Object.init2 [as init] (file:///Users/admin/repos/deno-kitchensink/qwik-app/node_modules/.deno/@builder.io+qwik@1.5.4/node_modules/@builder.io/qwik/optimizer.cjs:1812:49)
    at async config (file:///Users/admin/repos/deno-kitchensink/qwik-app/node_modules/.deno/@builder.io+qwik@1.5.4/node_modules/@builder.io/qwik/optimizer.cjs:3218:9)
    at async runConfigHook (file:///Users/admin/repos/deno-kitchensink/qwik-app/node_modules/.deno/vite@5.2.10/node_modules/vite/dist/node/chunks/dep-DkOS1hkm.js:68750:25)
    at async resolveConfig (file:///Users/admin/repos/deno-kitchensink/qwik-app/node_modules/.deno/vite@5.2.10/node_modules/vite/dist/node/chunks/dep-DkOS1hkm.js:68198:14)
    at async _createServer (file:///Users/admin/repos/deno-kitchensink/qwik-app/node_modules/.deno/vite@5.2.10/node_modules/vite/dist/node/chunks/dep-DkOS1hkm.js:64702:20)
    at async CAC.<anonymous> (file:///Users/admin/repos/deno-kitchensink/qwik-app/node_modules/.deno/vite@5.2.10/node_modules/vite/dist/node/cli.js:762:24)


Trying latest qwik 1.5.4

$ deno run -A npm:create-qwik@1.5.4
$ pnpm i
$ DENO_FUTURE=1 deno task dev ( or just `deno task dev`)

Task dev vite --mode ssr
failed to load config from /Users/admin/repos/deno-kitchensink/qwik-app2/vite.config.ts
error when starting dev server:
SyntaxError: The requested module 'node:http2' does not provide an export named 'Http2ServerRequest' at file:///Users/admin/repos/deno-kitchensink/qwik-app2/node_modules/@builder.io/qwik-city/vite/index.mjs:25672:10
    at async loadConfigFromBundledFile (file:///Users/admin/repos/deno-kitchensink/qwik-app2/node_modules/vite/dist/node/chunks/dep-cNe07EU9.js:68705:21)
    at async loadConfigFromFile (file:///Users/admin/repos/deno-kitchensink/qwik-app2/node_modules/vite/dist/node/chunks/dep-cNe07EU9.js:68558:28)
    at async resolveConfig (file:///Users/admin/repos/deno-kitchensink/qwik-app2/node_modules/vite/dist/node/chunks/dep-cNe07EU9.js:68161:28)
    at async _createServer (file:///Users/admin/repos/deno-kitchensink/qwik-app2/node_modules/vite/dist/node/chunks/dep-cNe07EU9.js:64686:20)
    at async CAC.<anonymous> (file:///Users/admin/repos/deno-kitchensink/qwik-app2/node_modules/vite/dist/node/cli.js:762:24)

@bartlomieju
Copy link
Member

Ugh, I'm not really sure. I'm gonna ping @littledivy who has been running tests for Qwik for the past months. Maybe we don't work any more with a newer version?

@birkskyum
Copy link
Contributor Author

maybe, it's broken in 1.44 at least

@littledivy
Copy link
Member

hmm yeah its errors with:

The requested module 'node:http2' does not provide an export named 'Http2ServerRequest'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working node compat
Projects
None yet
Development

No branches or pull requests

3 participants