bridgetownrb / bridgetown

A next-generation progressive site generator & fullstack framework, powered by Ruby
https://www.bridgetownrb.com
MIT License
1.11k stars 114 forks source link

Starting the server on a fresh project with Lit fails #895

Open ivalentine opened 1 month ago

ivalentine commented 1 month ago

Bridgetown Version: bridgetown 1.3.4 "Kelly Butte"

To Reproduce

Repo: https://github.com/ivalentine/bridgetown-lit-example

  1. Following the Lit Web Components documentation, create a new Bridgetown + Lit project by running bridgetown new mysite -t erb -c lit.
  2. cd into the project directory.
  3. Add the example component snippet <%= lit :happy_days, hello: "there" %> to the main section of src/_layouts/default.erb.
  4. Start the server by running bin/bridgetown start.

Current behavior

Following the reproduction steps results in this error message:

$ bin/bridgetown start
[Bridgetown]           Starting: Bridgetown v1.3.4 (codename "Kelly Butte")
[Server] * Puma version: 6.4.2 (ruby 3.3.1-p55) ("The Eagle of Durango")
[Server] * PID: 24063
[Server] * Listening on http://0.0.0.0:4000
[Server] Use Ctrl-C to stop
[Frontend] yarn run esbuild-dev
[Frontend] (node:24081) ExperimentalWarning: Importing JSON modules is an experimental feature and might change at any time
[Frontend] (Use `node --trace-warnings ...` to show where the warning was created)
[Frontend] (node:24081) ExperimentalWarning: Use `importAttributes` instead of `importAssertions`
[Frontend] (Use `node --trace-warnings ...` to show where the warning was created)
[Frontend] esbuild: frontend bundling started...
[Frontend] esbuild: frontend bundling complete!
[Frontend] esbuild: entrypoints processed:
[Frontend]          - index.ALNQWISX.js: 37.32KB
[Frontend]          - index.PAEIRIAG.css: 4.48KB
[Bridgetown]        Environment: development
[Bridgetown]             Source: /Users/ianvalentine/dev/bridgetown-lit-example/src
[Bridgetown]        Destination: /Users/ianvalentine/dev/bridgetown-lit-example/output
[Bridgetown]     Custom Plugins: /Users/ianvalentine/dev/bridgetown-lit-example/plugins
[Bridgetown]         Generating…
[Bridgetown]         Pagination: disabled. Enable in site config with pagination:\n enabled: true
[Bridgetown]            Lit SSR: Bundling with esbuild...
node:internal/modules/cjs/loader:1148
  throw err;
  ^

Error: Cannot find module 'bridgetown-lit-renderer/build'
Require stack:
- /Users/ianvalentine/dev/bridgetown-lit-example/config/lit-ssr.config.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1145:15)
    at Module._load (node:internal/modules/cjs/loader:986:27)
    at Module.require (node:internal/modules/cjs/loader:1233:19)
    at require (node:internal/modules/helpers:179:18)
    at Object.<anonymous> (/Users/ianvalentine/dev/bridgetown-lit-example/config/lit-ssr.config.js:1:15)
    at Module._compile (node:internal/modules/cjs/loader:1358:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1416:10)
    at Module.load (node:internal/modules/cjs/loader:1208:32)
    at Module._load (node:internal/modules/cjs/loader:1024:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:174:12) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/Users/ianvalentine/dev/bridgetown-lit-example/config/lit-ssr.config.js'
  ]
}

Node.js v20.13.1
[Bridgetown]            Lit SSR: Rendering components...
node:internal/modules/cjs/loader:1148
  throw err;
  ^

Error: Cannot find module 'colors/safe'
Require stack:
- /Users/ianvalentine/.rvm/gems/ruby-3.3.1/gems/bridgetown-lit-renderer-2.1.0.beta2/src/server/ssr_exec.js
- /Users/ianvalentine/.rvm/gems/ruby-3.3.1/gems/bridgetown-lit-renderer-2.1.0.beta2/src/serve.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1145:15)
    at Module._load (node:internal/modules/cjs/loader:986:27)
    at Module.require (node:internal/modules/cjs/loader:1233:19)
    at require (node:internal/modules/helpers:179:18)
    at Object.<anonymous> (/Users/ianvalentine/.rvm/gems/ruby-3.3.1/gems/bridgetown-lit-renderer-2.1.0.beta2/src/server/ssr_exec.js:1:16)
    at Module._compile (node:internal/modules/cjs/loader:1358:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1416:10)
    at Module.load (node:internal/modules/cjs/loader:1208:32)
    at Module._load (node:internal/modules/cjs/loader:1024:12)
    at Module.require (node:internal/modules/cjs/loader:1233:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/Users/ianvalentine/.rvm/gems/ruby-3.3.1/gems/bridgetown-lit-renderer-2.1.0.beta2/src/server/ssr_exec.js',
    '/Users/ianvalentine/.rvm/gems/ruby-3.3.1/gems/bridgetown-lit-renderer-2.1.0.beta2/src/serve.js'
  ]
}

Node.js v20.13.1
[Bridgetown]   Conversion error: Bridgetown::Converters::ERBTemplates encountered an error while converting `_posts/2024-05-16-welcome-to-bridgetown.md'
[Server] - Gracefully stopping, waiting for requests to finish
[Server] === puma shutdown: 2024-05-16 16:34:03 -0400 ===
[Server] - Goodbye!
[Bridgetown] Stopping auxiliary processes...
[Bridgetown]   Exception raised: Faraday::ConnectionFailed
[Bridgetown] Failed to open TCP connection to 127.0.0.1:55483 (Connection refused - connect(2) for "127.0.0.1" port 55483)
[Bridgetown]                  1: /Users/ianvalentine/.rvm/rubies/ruby-3.3.1/lib/ruby/3.3.0/net/http.rb:1603:in `initialize'
[Bridgetown]                  2: /Users/ianvalentine/.rvm/rubies/ruby-3.3.1/lib/ruby/3.3.0/net/http.rb:1603:in `open'
[Bridgetown]                  3: /Users/ianvalentine/.rvm/rubies/ruby-3.3.1/lib/ruby/3.3.0/net/http.rb:1603:in `block in connect'
[Bridgetown]                  4: /Users/ianvalentine/.rvm/rubies/ruby-3.3.1/lib/ruby/3.3.0/timeout.rb:186:in `block in timeout'
[Bridgetown]                  5: /Users/ianvalentine/.rvm/rubies/ruby-3.3.1/lib/ruby/3.3.0/timeout.rb:193:in `timeout'
[Bridgetown]          Backtrace: Use the --trace option for complete information.

Expected behavior

The server should start and the Lit component should render on the homepage.

Screenshots

N/A

Computing environment (please complete the following information):

Additional context

I checked the Bridgetown documentation, GitHub issues, and Discord, and I was unable to find anything related to this issue.