Frequently Asked Questions

  Sapper is not 1.0 yet. Is it production ready and should I use it?

The version number reflects that there are major features we'd like to add still. E.g. TypeScript support was added in Sapper 0.28.

Sapper is operationally stable and some of the Svelte maintainers run their businesses on Sapper. "production readiness" is subjective, and if Sapper fulfils your requirements, then it's production ready. As with any software, a major version number is not an indicator of whether something is suitable for your specific use-case.

  Should I use Webpack or Rollup with Sapper?

Sapper offers both Rollup and Webpack templates. If you don't have a strong reason to prefer one over the other, we'd recommend using the Rollup template. The Rollup implementation supports additional features such as improved tree-shaking for smaller bundles, the ability to serve a legacy bundle to older browsers, and it automatically lists all your .js and .css files in the Link header to preload those files.

  Why is there a node_modules folder in the src folder of a Sapper project?

Before bundling your app, Sapper builds a special package for your app, which you can access by importing from @sapper/app. Putting it inside src/node_modules means that it won't get nuked when you add new dependencies, and that you can easily import from it using the Node resolution algorithm.

See also the Svelte FAQ for questions relating to Svelte directly.