I want to be able to import a global scss file with functions into my components.

Svelte automatically comes with component scoped styles. As much as CSS has added in the last few years, like custom-properties, SCSS can still be useful - @mixins for breakpoints, color manipulation functions, looping through values to create animations, just to name a few.

Because Svelte is already a compilation process, svelte-preprocess is a package that makes it easy to add to the compilation pipeline. This post by Ruben Leija walks through how to bind node-sass to the svelte-preprocess pipeline.

After this is set up in rollup.config.js, a type="text/scss" attribute can be added to Svelte’s <style> tags. This allows for SCSS to be written directly inside of the component, or to import standalone .scss files.

<style type="text/scss">
  @import '../functions.scss';

  p {
    font-size: 12px;

    span {
      font-style: italic;
    }
  }

  @include small() {
    p {
      font-size: 16px;
    }
  }
</style>