refactor: use SASS @use over @import
This commit is contained in:
@@ -20,7 +20,7 @@
|
||||
"embla-carousel": "^8.3.1",
|
||||
"focus-visible": "^5.2.1",
|
||||
"lenis": "^1.1.16",
|
||||
"motion": "^10.18.0",
|
||||
"motion": "^10",
|
||||
"ogl": "^1.0.9",
|
||||
"sanitize.css": "^13.0.0",
|
||||
"swell-js": "^4.2.4",
|
||||
@@ -30,7 +30,7 @@
|
||||
"devDependencies": {
|
||||
"@sveltejs/adapter-auto": "^3.3.1",
|
||||
"@sveltejs/adapter-cloudflare": "^4.7.4",
|
||||
"@sveltejs/kit": "^2.8.0",
|
||||
"@sveltejs/kit": "^2.8.1",
|
||||
"@typescript-eslint/eslint-plugin": "^8.14.0",
|
||||
"@typescript-eslint/parser": "^8.14.0",
|
||||
"base-64": "^1.0.0",
|
||||
@@ -44,8 +44,8 @@
|
||||
"postcss-normalize": "^13.0.1",
|
||||
"postcss-preset-env": "^10.1.0",
|
||||
"postcss-sort-media-queries": "^5.2.0",
|
||||
"sass": "^1.80.6",
|
||||
"svelte": "^5.1.15",
|
||||
"sass": "^1.80.7",
|
||||
"svelte": "^5.1.16",
|
||||
"svelte-check": "^4.0.7",
|
||||
"svelte-preprocess": "^6.0.3",
|
||||
"tslib": "^2.8.1",
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
</style>
|
||||
|
||||
<script lang="ts">
|
||||
import 'sanitize.css'
|
||||
import '../style/global.scss'
|
||||
|
||||
import { PUBLIC_ANALYTICS_DOMAIN } from '$env/static/public'
|
||||
@@ -94,7 +95,7 @@
|
||||
<svelte:window bind:innerHeight />
|
||||
|
||||
<svelte:head>
|
||||
<link rel="canonical" href={$page.url.href} />
|
||||
<link rel="canonical" href={$page.url.href.split('#')[0]} />
|
||||
|
||||
{#each fonts as font}
|
||||
<link rel="preload" href="/fonts/{font}.woff2" as="font" type="font/woff2" crossorigin="anonymous">
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
@use "imports" as *;
|
||||
|
||||
|
||||
/*
|
||||
** Earth icon
|
||||
*/
|
||||
@@ -1,3 +1,6 @@
|
||||
@use "../imports" as *;
|
||||
|
||||
|
||||
.photo {
|
||||
overflow: hidden;
|
||||
background: $color-primary-tertiary20;
|
||||
@@ -1,3 +1,6 @@
|
||||
@use "imports" as *;
|
||||
|
||||
|
||||
html {
|
||||
font: #{$base-font-size}/1.2 $font-sans;
|
||||
font-weight: 400;
|
||||
@@ -1,3 +1,6 @@
|
||||
@use "imports" as *;
|
||||
|
||||
|
||||
/*
|
||||
** Box shadows
|
||||
*/
|
||||
@@ -1,3 +1,5 @@
|
||||
@use "imports" as *;
|
||||
|
||||
/* Fonts list
|
||||
========================================================================== */
|
||||
@include font-face("Garnett", "G-Light", 200);
|
||||
@@ -1,25 +1,22 @@
|
||||
@charset "UTF-8";
|
||||
|
||||
// Dependencies
|
||||
@import "sanitize.css/sanitize";
|
||||
|
||||
// Tools
|
||||
@import "tools/helpers";
|
||||
@forward "tools/helpers";
|
||||
|
||||
// Base
|
||||
@import "variables-css";
|
||||
@import "base";
|
||||
@import "fonts";
|
||||
@import "typography";
|
||||
@import "effects";
|
||||
@forward "variables-css";
|
||||
@forward "base";
|
||||
@forward "fonts";
|
||||
@forward "typography";
|
||||
|
||||
// Layout
|
||||
@import "layout/grid";
|
||||
@import "layout/modules";
|
||||
@forward "layout/grid";
|
||||
@forward "layout/modules";
|
||||
|
||||
// Misc
|
||||
@import "animations";
|
||||
@forward "animations";
|
||||
@forward "effects";
|
||||
|
||||
// Components (Atomic Design System)
|
||||
// Atoms
|
||||
@import "atoms/photo";
|
||||
@forward "atoms/photo";
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
// Tools
|
||||
@import "variables";
|
||||
@import "tools/mixins";
|
||||
@import "tools/functions";
|
||||
@forward "variables";
|
||||
@forward "tools/mixins";
|
||||
@forward "tools/functions";
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
@use "../imports" as *;
|
||||
|
||||
|
||||
/*
|
||||
** Grid
|
||||
*/
|
||||
@@ -1,3 +1,6 @@
|
||||
@use "../imports" as *;
|
||||
|
||||
|
||||
.grid-modules {
|
||||
padding-bottom: 40px;
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
@use "sass:math";
|
||||
@use "sass:color";
|
||||
@use "../variables" as *;
|
||||
|
||||
|
||||
/* PX to REM
|
||||
========================================================================== */
|
||||
@@ -39,5 +42,5 @@
|
||||
/* HEX color to RGB
|
||||
========================================================================== */
|
||||
@function hexToRGB($color) {
|
||||
@return red($color), green($color), blue($color);
|
||||
@return color.channel($color, "red", $space: rgb), color.channel($color, "green", $space: rgb), color.channel($color, "blue", $space: rgb);
|
||||
}
|
||||
@@ -1,3 +1,6 @@
|
||||
@use "../imports" as *;
|
||||
|
||||
|
||||
/* Classes
|
||||
========================================================================== */
|
||||
.clear {
|
||||
@@ -1,5 +1,7 @@
|
||||
@use "sass:math";
|
||||
@use "sass:map";
|
||||
@use "../variables" as *;
|
||||
|
||||
|
||||
// Hide text
|
||||
%hide-text {
|
||||
@@ -1,3 +1,6 @@
|
||||
@use "imports" as *;
|
||||
|
||||
|
||||
/* ==========================================================================
|
||||
TITLES
|
||||
========================================================================== */
|
||||
@@ -1,3 +1,6 @@
|
||||
@use "imports" as *;
|
||||
|
||||
|
||||
:root {
|
||||
// Sizes
|
||||
--container-width: #{$container-width};
|
||||
@@ -1,18 +1,16 @@
|
||||
import { sveltePreprocess } from 'svelte-preprocess'
|
||||
import adapter from '@sveltejs/adapter-cloudflare'
|
||||
import { fileURLToPath } from 'url'
|
||||
import { dirname } from 'path'
|
||||
import { sveltePreprocess } from 'svelte-preprocess'
|
||||
import adapter from '@sveltejs/adapter-cloudflare'
|
||||
|
||||
const stylePath = `${dirname(fileURLToPath(import.meta.url))}/src/style`
|
||||
export const scssImports = `@use "${stylePath}/imports.scss" as *;`
|
||||
export const globalStyles = `@use "${dirname(fileURLToPath(import.meta.url))}/src/style/imports" as *;`
|
||||
|
||||
/** @type {import('@sveltejs/kit').Config} */
|
||||
const config = {
|
||||
// Preprocessors docs: https://github.com/sveltejs/svelte-preprocess
|
||||
preprocess: sveltePreprocess({
|
||||
scss: {
|
||||
prependData: scssImports,
|
||||
renderSync: true,
|
||||
prependData: globalStyles,
|
||||
}
|
||||
}),
|
||||
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
import type { UserConfig } from 'vite'
|
||||
import { defineConfig } from 'vite'
|
||||
import { sveltekit } from '@sveltejs/kit/vite'
|
||||
import { scssImports } from './svelte.config'
|
||||
import { globalStyles } from './svelte.config'
|
||||
|
||||
const config: UserConfig = {
|
||||
export default defineConfig({
|
||||
plugins: [
|
||||
sveltekit()
|
||||
],
|
||||
css: {
|
||||
preprocessorOptions: {
|
||||
scss: {
|
||||
additionalData: scssImports,
|
||||
additionalData: globalStyles,
|
||||
api: 'modern',
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -18,6 +19,4 @@ const config: UserConfig = {
|
||||
transformMixedEsModules: true,
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export default config
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user