thgh / vercel-sapper

Vercel builder for Sapper with SSR enabled
MIT License
189 stars 25 forks source link

vercel-sapper cannot find server.js #49

Closed dscherdi closed 3 years ago

dscherdi commented 3 years ago

Result image

My vercel.json image

My package.json image

My server.js image

Output in vercel

02:17:19.977    Cloning github.com/dscherdi/personal-page-3 (Branch: master, Commit: 9dcf749)
02:17:20.776    Cloning completed in 799ms
02:17:20.778    Analyzing source code...
02:17:20.778    Warning: Due to `builds` existing in your configuration file, the Build and Development Settings defined in your Project Settings will not apply. Learn More: https://vercel.link/unused-build-settings
02:17:21.333    Installing build runtime...
02:17:22.870    Build runtime installed: 1536.899ms
02:17:23.246    Looking up build cache...
02:17:23.287    Build cache not found
02:17:31.832    > nodemailer@6.4.11 postinstall /vercel/4de13785/node_modules/nodemailer
02:17:31.832    > node -e "try{require('./postinstall')}catch(e){}"
02:17:31.886                               === Nodemailer 6.4.11 ===
02:17:31.886    
02:17:31.886    Thank you for using Nodemailer for your email sending needs! While Nodemailer
02:17:31.886    itself is mostly meant to be a SMTP client there are other related projects in
02:17:31.886    the Nodemailer project as well.
02:17:31.886    
02:17:31.886    > IMAP API (  https://imapapi.com  ) is a server application to easily access
02:17:31.886      IMAP accounts via REST API
02:17:31.886    > ImapFlow (  https://imapflow.com/  ) is an async IMAP client library for
02:17:31.886      Node.js
02:17:31.886    > NodemailerApp (  https://nodemailer.com/app/  ) is a cross platform GUI app to
02:17:31.886      debug emails
02:17:31.886    > Project Pending (  https://projectpending.com/  ) allows you to host DNS of
02:17:31.886      your project domains
02:17:31.886    > Pending DNS (  https://pendingdns.com/  ) is the DNS server used that powers
02:17:31.887      Project Pending
02:17:31.887    > Ethereal Email (  https://ethereal.email/  ) is an email testing service that
02:17:31.887      accepts all your test emails
02:17:31.887    
02:17:31.887                                Don't like this message?
02:17:31.887                      There's a Github Sponsors goal to remove it
02:17:31.887                           https://github.com/sponsors/andris9 
02:17:31.887                                            
02:17:35.987    ........
02:17:35.992    > svelte-preprocess@4.0.12 postinstall /vercel/4de13785/node_modules/svelte-preprocess
02:17:35.992    > echo "[svelte-preprocess] Don't forget to install the preprocessors packages that will be used: node-sass/sass, stylus, less, postcss & postcss-load-config, coffeescript, pug, etc..."
02:17:36.000    [svelte-preprocess] Don't forget to install the preprocessors packages that will be used: node-sass/sass, stylus, less, postcss & postcss-load-config, coffeescript, pug, etc...
02:17:36.248    npm WARN personal-website@0.0.1 No repository field.
02:17:36.248    npm WARN personal-website@0.0.1 No license field.
02:17:36.248    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.3 (node_modules/fsevents):
02:17:36.248    npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
02:17:36.250    added 561 packages from 327 contributors in 12.093s
02:17:36.443    27 packages are looking for funding
02:17:36.443      run `npm fund` for details
02:17:36.475    Running "npm run build"
02:17:36.661    > personal-website@0.0.1 build /vercel/4de13785
02:17:36.661    > sapper build --legacy
02:17:36.709    > Building...
02:17:48.954    ┌──────────────┐
02:17:48.954    │ built client │
02:17:48.955    └──────────────┘
02:17:48.955       1.71 kB index.d173b04c.js
02:17:48.955               └ src/routes/index.svelte
02:17:48.955       5.97 kB contact.0fbb5a97.js
02:17:48.955               │ src/components/Contact.svelte (82.5%)
02:17:48.955               │ static/three-dots.svg (9.3%)
02:17:48.955               │ src/routes/contact.svelte (6.4%)
02:17:48.955               └ node_modules/svelte/transition/index.mjs (1.8%)
02:17:48.955       5.51 kB index.3f4fbad0.js
02:17:48.955               │ src/components/Project.svelte (62.5%)
02:17:48.955               │ src/routes/projects/index.svelte (34.0%)
02:17:48.955               └ node_modules/@fortawesome/free-solid-svg-icons/index.es.js (3.5%)
02:17:48.955       1.22 kB about.ff02d036.js
02:17:48.955               └ src/routes/about.svelte
02:17:48.955       1.11 kB [slug].3c0178aa.js
02:17:48.955               └ src/routes/blog/[slug].svelte
02:17:48.955       1.71 kB index.fda12113.js
02:17:48.955               └ src/routes/blog/index.svelte
02:17:48.955        175 kB client.a5d14498.js
02:17:48.955               │ static/logo.svg (55.0%)
02:17:48.955               │ node_modules/svelte-awesome/components/Icon.svelte (7.8%)
02:17:48.955               │ node_modules/svelte/internal/index.mjs (7.8%)
02:17:48.955               │ src/components/Nav.svelte (6.8%)
02:17:48.955               │ src/node_modules/@sapper/app.mjs (5.5%)
02:17:48.956               │ src/node_modules/@sapper/internal/App.svelte (3.2%)
02:17:48.956               │ src/components/Footer.svelte (2.4%)
02:17:48.956               │ node_modules/svelte-awesome/components/svg/Svg.svelte (2.4%)
02:17:48.956               │ node_modules/@fortawesome/free-brands-svg-icons/index.es.js (1.6%)
02:17:48.956               │ src/routes/_error.svelte (1.5%)
02:17:48.956               │ src/routes/_layout.svelte (1.4%)
02:17:48.956               │ src/components/Toggler.svelte (0.7%)
02:17:48.956               │ node_modules/svelte/store/index.mjs (0.7%)
02:17:48.956               │ node_modules/svelte-awesome/components/svg/Raw.svelte (0.7%)
02:17:48.956               │ node_modules/svelte-awesome/components/svg/Polygon.svelte (0.7%)
02:17:48.956               │ node_modules/svelte-awesome/components/svg/Path.svelte (0.6%)
02:17:48.956               │ src/node_modules/@sapper/internal/manifest-client.mjs (0.6%)
02:17:48.956               │ node_modules/@fortawesome/free-regular-svg-icons/index.es.js (0.4%)
02:17:48.956               │ src/components/Tailwindcss.svelte (0.1%)
02:17:48.956               │ src/client.js (0.0%)
02:17:48.956               └ src/node_modules/@sapper/internal/shared.mjs (0.0%)
02:18:01.121    [BABEL] Note: The code generator has deoptimised the styling of /vercel/4de13785/node_modules/@fortawesome/free-solid-svg-icons/index.es.js as it exceeds the max of 500KB.
02:18:02.152    ┌───────────────────────┐
02:18:02.152    │ built client (legacy) │
02:18:02.152    └───────────────────────┘
02:18:02.152        355 kB client.49471f62.js
02:18:02.152               │ static/logo.svg (37.0%)
02:18:02.152               │ node_modules/svelte-awesome/components/Icon.svelte (9.7%)
02:18:02.152               │ node_modules/regenerator-runtime/runtime.js (7.2%)
02:18:02.152               │ src/components/Nav.svelte (6.6%)
02:18:02.152               │ node_modules/svelte/internal/index.mjs (6.5%)
02:18:02.152               │ src/node_modules/@sapper/app.mjs (6.3%)
02:18:02.152               │ src/node_modules/@sapper/internal/App.svelte (4.7%)
02:18:02.152               │ node_modules/svelte-awesome/components/svg/Svg.svelte (4.6%)
02:18:02.152               │ src/components/Footer.svelte (2.7%)
02:18:02.153               │ src/routes/_error.svelte (2.4%)
02:18:02.153               │ src/routes/_layout.svelte (1.9%)
02:18:02.153               │ node_modules/svelte-awesome/components/svg/Polygon.svelte (1.5%)
02:18:02.153               │ node_modules/svelte-awesome/components/svg/Raw.svelte (1.4%)
02:18:02.153               │ node_modules/svelte-awesome/components/svg/Path.svelte (1.4%)
02:18:02.153               │ src/components/Toggler.svelte (1.4%)
02:18:02.153               │ node_modules/@fortawesome/free-brands-svg-icons/index.es.js (1.1%)
02:18:02.153               │ src/components/Tailwindcss.svelte (0.6%)
02:18:02.153               │ src/node_modules/@sapper/internal/manifest-client.mjs (0.5%)
02:18:02.153               │ node_modules/svelte/store/index.mjs (0.5%)
02:18:02.153               │ node_modules/@fortawesome/free-regular-svg-icons/index.es.js (0.3%)
02:18:02.153               │ node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js (0.2%)
02:18:02.153               │ node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js (0.2%)
02:18:02.153               │ node_modules/@babel/runtime/helpers/esm/createClass.js (0.2%)
02:18:02.153               │ node_modules/@babel/runtime/helpers/esm/get.js (0.1%)
02:18:02.153               │ node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js (0.1%)
02:18:02.153               │ node_modules/@babel/runtime/helpers/esm/inherits.js (0.1%)
02:18:02.153               │ commonjsHelpers.js (0.1%)
02:18:02.153               │ node_modules/@babel/runtime/helpers/esm/typeof.js (0.1%)
02:18:02.153               │ node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js (0.1%)
02:18:02.153               │ node_modules/@babel/runtime/helpers/esm/superPropBase.js (0.1%)
02:18:02.153               │ node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js (0.1%)
02:18:02.153               │ node_modules/@babel/runtime/helpers/esm/nonIterableRest.js (0.1%)
02:18:02.153               │ node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js (0.1%)
02:18:02.153               │ node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js (0.1%)
02:18:02.153               │ node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js (0.1%)
02:18:02.153               │ node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js (0.1%)
02:18:02.153               │ node_modules/@babel/runtime/helpers/esm/classCallCheck.js (0.0%)
02:18:02.153               │ node_modules/@babel/runtime/helpers/esm/slicedToArray.js (0.0%)
02:18:02.153               │ node_modules/@babel/runtime/helpers/esm/toConsumableArray.js (0.0%)
02:18:02.153               │ node_modules/@babel/runtime/helpers/esm/iterableToArray.js (0.0%)
02:18:02.153               │ node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js (0.0%)
02:18:02.153               │ node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js (0.0%)
02:18:02.154               │ src/client.js (0.0%)
02:18:02.154               │ node_modules/@babel/runtime/regenerator/index.js (0.0%)
02:18:02.154               └ src/node_modules/@sapper/internal/shared.mjs (0.0%)
02:18:02.154       6.69 kB index.65db81ac.js
02:18:02.154               └ src/routes/index.svelte
02:18:02.154       23.6 kB index.23b1a625.js
02:18:02.154               │ src/components/Project.svelte (59.6%)
02:18:02.154               │ src/routes/projects/index.svelte (38.5%)
02:18:02.154               └ node_modules/@fortawesome/free-solid-svg-icons/index.es.js (1.9%)
02:18:02.154       23.3 kB contact.be85ec72.js
02:18:02.154               │ src/components/Contact.svelte (79.6%)
02:18:02.154               │ src/routes/contact.svelte (12.9%)
02:18:02.154               │ static/three-dots.svg (5.2%)
02:18:02.154               └ node_modules/svelte/transition/index.mjs (2.3%)
02:18:02.154       4.63 kB about.7596883c.js
02:18:02.154               └ src/routes/about.svelte
02:18:02.154       8.74 kB index.42b74458.js
02:18:02.154               └ src/routes/blog/index.svelte
02:18:02.154       7.21 kB [slug].a8f764fe.js
02:18:02.154               └ src/routes/blog/[slug].svelte
02:18:11.381    ┌─────────────────────────────┐
02:18:11.381    │ built server with 1 warning │
02:18:11.381    └─────────────────────────────┘
02:18:11.381    > Entry module "src/server.js" is implicitly using "default" export mode, which means for CommonJS output that its default export is assigned to "module.exports". For many tools, such CommonJS output will not be interchangeable with the original ES module. If this is intended, explicitly set "output.exports" to either "auto" or "default", otherwise you might want to consider changing the signature of "src/server.js" to use named exports only.
02:18:11.381       4.66 MB server.js
02:18:11.381               │ src/components/Tailwindcss.svelte (93.8%)
02:18:11.381               │ static/logo.svg (2.8%)
02:18:11.381               │ src/node_modules/@sapper/server.mjs (1.7%)
02:18:11.382               │ src/components/Nav.svelte (0.2%)
02:18:11.382               │ src/components/Contact.svelte (0.2%)
02:18:11.382               │ src/components/Toggler.svelte (0.2%)
02:18:11.382               │ src/routes/index.svelte (0.1%)
02:18:11.382               │ src/routes/blog/_posts.js (0.1%)
02:18:11.382               │ node_modules/svelte-awesome/components/svg/Svg.svelte (0.1%)
02:18:11.382               │ node_modules/svelte/internal/index.mjs (0.1%)
02:18:11.382               │ node_modules/svelte-awesome/components/Icon.svelte (0.1%)
02:18:11.382               │ src/components/Footer.svelte (0.1%)
02:18:11.382               │ src/routes/blog/[slug].svelte (0.1%)
02:18:11.382               │ src/routes/_error.svelte (0.0%)
02:18:11.382               │ src/routes/blog/index.svelte (0.0%)
02:18:11.382               │ src/routes/_layout.svelte (0.0%)
02:18:11.382               │ node_modules/svelte/store/index.mjs (0.0%)
02:18:11.382               │ src/node_modules/@sapper/internal/manifest-server.mjs (0.0%)
02:18:11.382               │ src/node_modules/@sapper/internal/App.svelte (0.0%)
02:18:11.382               │ src/components/Project.svelte (0.0%)
02:18:11.382               │ src/routes/mailer/index.js (0.0%)
02:18:11.382               │ node_modules/svelte-awesome/components/svg/Raw.svelte (0.0%)
02:18:11.382               │ src/routes/projects/index.svelte (0.0%)
02:18:11.382               │ src/server.js (0.0%)
02:18:11.382               │ src/routes/about.svelte (0.0%)
02:18:11.382               │ src/routes/projects/_projects.js (0.0%)
02:18:11.382               │ src/routes/blog/[slug].json.js (0.0%)
02:18:11.382               │ node_modules/svelte-awesome/components/svg/Polygon.svelte (0.0%)
02:18:11.382               │ node_modules/svelte-awesome/components/svg/Path.svelte (0.0%)
02:18:11.382               │ src/routes/contact.svelte (0.0%)
02:18:11.382               │ src/routes/blog/index.json.js (0.0%)
02:18:11.382               │ src/routes/projects/index.json.js (0.0%)
02:18:11.382               └ src/node_modules/@sapper/internal/shared.mjs (0.0%)
02:18:11.577    ┌─────────────────────┐
02:18:11.577    │ built serviceworker │
02:18:11.577    └─────────────────────┘
02:18:11.577       1.31 kB service-worker.js
02:18:11.577               │ src/service-worker.js (80.9%)
02:18:11.577               └ src/node_modules/@sapper/service-worker.js (19.1%)
02:18:11.577    > Finished in 34.9s. Type node __sapper__/build to run the app.
02:18:11.900    yarn install v1.22.4
02:18:11.910    warning package.json: No license field
02:18:11.915    info No lockfile found.
02:18:11.919    warning personal-website@0.0.1: No license field
02:18:11.920    [1/5] Validating package.json...
02:18:11.920    warning personal-website@0.0.1: No license field
02:18:11.922    [2/5] Resolving packages...
02:18:16.115    [3/5] Fetching packages...
02:18:21.297    info fsevents@2.1.3: The platform "linux" is incompatible with this module.
02:18:21.297    info "fsevents@2.1.3" is an optional dependency and failed compatibility check. Excluding it from installation.
02:18:21.298    [4/5] Linking dependencies...
02:18:22.431    [5/5] Building fresh packages...
02:18:26.668    success Saved lockfile.
02:18:26.670    Done in 14.77s.
02:18:30.863    Uploading build outputs...
02:18:36.034    Done with "package.json"

Output folder in vercel image

Steps I took:

npx vercel-sapper
vercel
dscherdi commented 3 years ago

Fixed by adding

if(dev) {
 app.listen(PORT, () => {});
}

or removing .listen() part

thgh commented 3 years ago

If you remove export default app and then run npx vercel-sapper it will apply a change that should work.

If you remove .listen() you won't be able to fetch during SSR. Which may not be a problem for you.

dscherdi commented 3 years ago

Thanks that worked too, the problem was that .listen returns void, not Express object. Thanks for explanation.