lustre-labs / lustre

An Elm-inspired framework for building HTML templates, single page applications, and server-rendered components in Gleam!
https://hexdocs.pm/lustre
MIT License
738 stars 52 forks source link

esbuild error when running example 01 #57

Closed greenfork closed 3 months ago

greenfork commented 3 months ago

Steps to reproduce:

cd examples/01-hello-world/
gleam run -m lustre build app

crashes with

Downloading packages
 Downloaded 20 packages in 0.03s
  Compiling argv
  Compiling gleam_stdlib
  Compiling filepath
  Compiling gleam_community_colour
  Compiling gleam_community_ansi
  Compiling gleam_erlang
  Compiling thoas
===> Analyzing applications...
===> Compiling thoas
  Compiling gleam_json
  Compiling gleam_otp
  Compiling gleam_package_interface
  Compiling glearray
  Compiling gleeunit
  Compiling snag
  Compiling glint

warning: Deprecated value used
    ┌─ /home/grfork/reps/gleam/lustre/examples/01-hello-world/build/packages/glint/src/glint.gleam:493:56
    │
493 │   run_and_handle(from: glint, for: args, with: function.constant(Nil))
    │                                                        ^^^^^^^^^ This value has been deprecated

It was deprecated with this message: Use a fn literal instead, it is easier
to understand
  Compiling justin
  Compiling simplifile
  Compiling repeatedly
  Compiling spinner
  Compiling tom
  Compiling lustre
  Compiling lustre_ui
  Compiling app
   Compiled in 9.67s
    Running lustre.main
⠋ Building your project
warning: Deprecated value used
    ┌─ /home/grfork/reps/gleam/lustre/examples/01-hello-world/build/packages/glint/src/glint.gleam:493:56
    │
493 │   run_and_handle(from: glint, for: args, with: function.constant(Nil))
    │                                                        ^^^^^^^^^ This value has been deprecated

It was deprecated with this message: Use a fn literal instead, it is easier
to understand
✅ Project compiled successfully
⠋ Checking if I can bundle your application
warning: Deprecated value used
    ┌─ /home/grfork/reps/gleam/lustre/examples/01-hello-world/build/packages/glint/src/glint.gleam:493:56
    │
493 │   run_and_handle(from: glint, for: args, with: function.constant(Nil))
    │                                                        ^^^^^^^^^ This value has been deprecated

It was deprecated with this message: Use a fn literal instead, it is easier
to understand
✅ Esbuild installed!
▲ [WARNING] Import "create_from_string" will always be undefined because there is no matching export in "build/dev/javascript/gleam_erlang/gleam/erlang/atom.mjs" [import-is-undefined]

    build/dev/javascript/gleam_erlang/gleam/erlang/process.mjs:78:18:
      78 │   let tag = $atom.create_from_string("EXIT");
         ╵                   ~~~~~~~~~~~~~~~~~~

▲ [WARNING] Import "create_from_string" will always be undefined because there is no matching export in "build/dev/javascript/gleam_erlang/gleam/erlang/atom.mjs" [import-is-undefined]

    build/dev/javascript/gleam_otp/gleam/otp/actor.mjs:135:10:
      135 │     $atom.create_from_string("gleam@otp@actor"),
          ╵           ~~~~~~~~~~~~~~~~~~

▲ [WARNING] Import "from_string" will always be undefined because there is no matching export in "build/dev/javascript/gleam_erlang/gleam/erlang/charlist.mjs" [import-is-undefined]

    build/dev/javascript/gleam_otp/gleam/otp/actor.mjs:169:18:
      169 │         $charlist.from_string("Actor discarding unexpected message: ~s"),
          ╵                   ~~~~~~~~~~~

✘ [ERROR] No matching export in "build/dev/javascript/lustre/lustre/cli/utils.mjs" for import "exec"

    build/dev/javascript/lustre/lustre/cli/project.mjs:18:9:
      18 │ import { exec, map, try$ } from "../../lustre/cli/utils.mjs";
         ╵          ~~~~

✘ [ERROR] No matching export in "build/dev/javascript/lustre/lustre/cli/utils.mjs" for import "exec"

    build/dev/javascript/lustre/lustre/cli/esbuild.mjs:22:9:
      22 │ import { exec, keep, replace } from "../../lustre/cli/utils.mjs";
         ╵          ~~~~

▲ [WARNING] Import "new_subject" will always be undefined because there is no matching export in "build/dev/javascript/gleam_erlang/gleam/erlang/process.mjs" [import-is-undefined]

    build/dev/javascript/gleam_otp/gleam/otp/actor.mjs:197:25:
      197 │   let subject = $process.new_subject();
          ╵                          ~~~~~~~~~~~

4 of 19 warnings and all 2 errors shown (disable the message limit with --log-limit=0)
❌ Bundling with esbuild

I ran into an error while trying to create a bundle with esbuild:
hayleigh-dot-dev commented 3 months ago

This should be fixed in the new lustre_dev_tools package! Please give it a try and open an issue on the repo there if you run into anything.