Setup Gulp structures its styles as a set of focused SCSS partials that are composed together in a single entry file. Each partial has a single responsibility — color tokens, typography, utility functions, or cross-browser mixins — so the codebase stays easy to navigate and extend without coupling unrelated concerns.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/jpachecox/setup-gulp/llms.txt
Use this file to discover all available pages before exploring further.
File organisation
| File | Role |
|---|---|
_colors.scss | Defines every design token as a CSS custom property (e.g. --gray-60). Includes base hex colors and pre-computed rgba() opacity variants from 90 % down to 1.25 %. |
_fonts.scss | Declares a direct @font-face block for Roboto and exports $roboto-black as a named Sass variable for the font stack. |
_functions.scss | Three pure Sass utility functions: hex-to-rgb(), str-replace(), and to-string(). These support the color system and dynamic class generation in the mixin library. |
_mixins.scss | A comprehensive cross-browser mixin library covering flexbox, typography, layout, visual effects, transforms, animations, and user-interaction utilities. |
_variables.scss | Reserved for project-level Sass variables. The file is present but currently empty — add breakpoints, spacing scales, or z-index maps here as the project grows. |
app.scss | The main entry file. Imports every partial with @use and pulls in the Bourbon utility library with @import. |
components/ | Component-scoped SCSS files, for example loading-spinner.scss. Each file styles one discrete UI component. |
sections/ | Page-section SCSS files that correspond to Shopify theme sections. |
Import order in app.scss
The order of @use and @import statements matters: partials that define variables or functions must be loaded before anything that consumes them.
@use is the modern Sass module system — it scopes the partial’s members under a namespace (e.g. mixins.flexbox). @import 'bourbon' uses the legacy import path because Bourbon ships as a pre-built entry point that the Gulp Sass task resolves automatically (see Bourbon integration below).
After the imports, app.scss applies global resets and layout rules using the mixins and color variables defined in the partials:
Bourbon integration
Bourbon is a lightweight Sass mixin library. The Gulpsass task automatically injects Bourbon’s includePaths when it initialises the Sass compiler, which means you can write @import 'bourbon' (or @import 'bourbon-neat') anywhere in your SCSS without specifying a relative path. No manual node_modules path is needed.
@include padding(), @include margin()) is available globally in every file compiled through that task.
Component example
Thecomponents/loading-spinner.scss file demonstrates the component pattern. It defines two @keyframes animations — rotator (full 270 ° rotation) and dash (stroke-dashoffset animation) — and applies them to .loading__spinner, .spinner, and .path selectors. The stroke color is driven by the CSS custom property --color-foreground, keeping the spinner theme-aware without any Sass variables.
Further reading
Mixins
Full reference for every mixin in
_mixins.scssColors
CSS custom property color tokens and opacity variants
Functions
hex-to-rgb, str-replace, and to-string utility functions