diff --git a/.pnp.cjs b/.pnp.cjs index 785e03c..66d59df 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -47,6 +47,7 @@ const RAW_RUNTIME_STATE = ["@typescript-eslint/eslint-plugin", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:8.20.0"],\ ["@typescript-eslint/parser", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:8.20.0"],\ ["@vitejs/plugin-react", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:4.3.4"],\ + ["classnames", "npm:2.5.1"],\ ["cypress", "npm:14.0.0"],\ ["eslint", "npm:8.57.1"],\ ["eslint-config-prettier", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:10.0.1"],\ @@ -62,6 +63,7 @@ const RAW_RUNTIME_STATE = ["react", "npm:18.3.1"],\ ["react-dom", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:18.3.1"],\ ["sass", "npm:1.83.4"],\ + ["sass-loader", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:16.0.4"],\ ["storybook", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:8.5.0"],\ ["ts-jest", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:29.2.5"],\ ["ts-node", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:10.9.2"],\ @@ -5062,6 +5064,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["classnames", [\ + ["npm:2.5.1", {\ + "packageLocation": "./.yarn/cache/classnames-npm-2.5.1-c7273f3423-afff4f77e6.zip/node_modules/classnames/",\ + "packageDependencies": [\ + ["classnames", "npm:2.5.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["clean-stack", [\ ["npm:2.2.0", {\ "packageLocation": "./.yarn/cache/clean-stack-npm-2.2.0-a8ce435a5c-1f90262d5f.zip/node_modules/clean-stack/",\ @@ -9686,6 +9697,7 @@ const RAW_RUNTIME_STATE = ["@typescript-eslint/eslint-plugin", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:8.20.0"],\ ["@typescript-eslint/parser", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:8.20.0"],\ ["@vitejs/plugin-react", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:4.3.4"],\ + ["classnames", "npm:2.5.1"],\ ["cypress", "npm:14.0.0"],\ ["eslint", "npm:8.57.1"],\ ["eslint-config-prettier", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:10.0.1"],\ @@ -9701,6 +9713,7 @@ const RAW_RUNTIME_STATE = ["react", "npm:18.3.1"],\ ["react-dom", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:18.3.1"],\ ["sass", "npm:1.83.4"],\ + ["sass-loader", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:16.0.4"],\ ["storybook", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:8.5.0"],\ ["ts-jest", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:29.2.5"],\ ["ts-node", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:10.9.2"],\ @@ -9768,6 +9781,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["neo-async", [\ + ["npm:2.6.2", {\ + "packageLocation": "./.yarn/cache/neo-async-npm-2.6.2-75d6902586-c2f5a604a5.zip/node_modules/neo-async/",\ + "packageDependencies": [\ + ["neo-async", "npm:2.6.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["node-addon-api", [\ ["npm:7.1.1", {\ "packageLocation": "./.yarn/unplugged/node-addon-api-npm-7.1.1-bfb302df19/node_modules/node-addon-api/",\ @@ -11100,6 +11122,45 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["sass-loader", [\ + ["npm:16.0.4", {\ + "packageLocation": "./.yarn/cache/sass-loader-npm-16.0.4-58fd3a0682-d57c5fa356.zip/node_modules/sass-loader/",\ + "packageDependencies": [\ + ["sass-loader", "npm:16.0.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:16.0.4", {\ + "packageLocation": "./.yarn/__virtual__/sass-loader-virtual-ea513f7c45/0/cache/sass-loader-npm-16.0.4-58fd3a0682-d57c5fa356.zip/node_modules/sass-loader/",\ + "packageDependencies": [\ + ["sass-loader", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:16.0.4"],\ + ["@rspack/core", null],\ + ["@types/node-sass", null],\ + ["@types/rspack__core", null],\ + ["@types/sass", null],\ + ["@types/sass-embedded", null],\ + ["@types/webpack", null],\ + ["neo-async", "npm:2.6.2"],\ + ["node-sass", null],\ + ["sass", "npm:1.83.4"],\ + ["sass-embedded", null],\ + ["webpack", null]\ + ],\ + "packagePeers": [\ + "@rspack/core",\ + "@types/node-sass",\ + "@types/rspack__core",\ + "@types/sass-embedded",\ + "@types/sass",\ + "@types/webpack",\ + "node-sass",\ + "sass-embedded",\ + "sass",\ + "webpack"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["sax", [\ ["npm:1.3.0", {\ "packageLocation": "./.yarn/cache/sax-npm-1.3.0-e6c479267f-599dbe0ba9.zip/node_modules/sax/",\ diff --git a/.yarn/cache/classnames-npm-2.5.1-c7273f3423-afff4f77e6.zip b/.yarn/cache/classnames-npm-2.5.1-c7273f3423-afff4f77e6.zip new file mode 100644 index 0000000..723106d Binary files /dev/null and b/.yarn/cache/classnames-npm-2.5.1-c7273f3423-afff4f77e6.zip differ diff --git a/.yarn/cache/neo-async-npm-2.6.2-75d6902586-c2f5a604a5.zip b/.yarn/cache/neo-async-npm-2.6.2-75d6902586-c2f5a604a5.zip new file mode 100644 index 0000000..7dad943 Binary files /dev/null and b/.yarn/cache/neo-async-npm-2.6.2-75d6902586-c2f5a604a5.zip differ diff --git a/.yarn/cache/sass-loader-npm-16.0.4-58fd3a0682-d57c5fa356.zip b/.yarn/cache/sass-loader-npm-16.0.4-58fd3a0682-d57c5fa356.zip new file mode 100644 index 0000000..b01c098 Binary files /dev/null and b/.yarn/cache/sass-loader-npm-16.0.4-58fd3a0682-d57c5fa356.zip differ diff --git a/package.json b/package.json index 117913f..897a9ad 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ }, "dependencies": { "@tanstack/react-query": "^5.64.2", + "classnames": "^2.5.1", "react": "^18.3.1", "react-dom": "^18.3.1" }, @@ -53,6 +54,7 @@ "lint-staged": "^15.4.1", "prettier": "^3.4.2", "sass": "^1.83.4", + "sass-loader": "^16.0.4", "storybook": "^8.5.0", "ts-jest": "^29.2.5", "ts-node": "^10.9.2", diff --git a/public/fonts/woff/Pretendard-Black.woff b/public/fonts/woff/Pretendard-Black.woff new file mode 100644 index 0000000..83c411c Binary files /dev/null and b/public/fonts/woff/Pretendard-Black.woff differ diff --git a/public/fonts/woff/Pretendard-Bold.woff b/public/fonts/woff/Pretendard-Bold.woff new file mode 100644 index 0000000..53470ba Binary files /dev/null and b/public/fonts/woff/Pretendard-Bold.woff differ diff --git a/public/fonts/woff/Pretendard-ExtraBold.woff b/public/fonts/woff/Pretendard-ExtraBold.woff new file mode 100644 index 0000000..6b78d50 Binary files /dev/null and b/public/fonts/woff/Pretendard-ExtraBold.woff differ diff --git a/public/fonts/woff/Pretendard-ExtraLight.woff b/public/fonts/woff/Pretendard-ExtraLight.woff new file mode 100644 index 0000000..b0ada01 Binary files /dev/null and b/public/fonts/woff/Pretendard-ExtraLight.woff differ diff --git a/public/fonts/woff/Pretendard-Light.woff b/public/fonts/woff/Pretendard-Light.woff new file mode 100644 index 0000000..bc0ad69 Binary files /dev/null and b/public/fonts/woff/Pretendard-Light.woff differ diff --git a/public/fonts/woff/Pretendard-Medium.woff b/public/fonts/woff/Pretendard-Medium.woff new file mode 100644 index 0000000..92ca0c3 Binary files /dev/null and b/public/fonts/woff/Pretendard-Medium.woff differ diff --git a/public/fonts/woff/Pretendard-Regular.woff b/public/fonts/woff/Pretendard-Regular.woff new file mode 100644 index 0000000..d560808 Binary files /dev/null and b/public/fonts/woff/Pretendard-Regular.woff differ diff --git a/public/fonts/woff/Pretendard-SemiBold.woff b/public/fonts/woff/Pretendard-SemiBold.woff new file mode 100644 index 0000000..c6bd2ff Binary files /dev/null and b/public/fonts/woff/Pretendard-SemiBold.woff differ diff --git a/public/fonts/woff/Pretendard-Thin.woff b/public/fonts/woff/Pretendard-Thin.woff new file mode 100644 index 0000000..a92526d Binary files /dev/null and b/public/fonts/woff/Pretendard-Thin.woff differ diff --git a/public/fonts/woff2/Pretendard-Black.woff2 b/public/fonts/woff2/Pretendard-Black.woff2 new file mode 100644 index 0000000..e409cc0 Binary files /dev/null and b/public/fonts/woff2/Pretendard-Black.woff2 differ diff --git a/public/fonts/woff2/Pretendard-Bold.woff2 b/public/fonts/woff2/Pretendard-Bold.woff2 new file mode 100644 index 0000000..8975b80 Binary files /dev/null and b/public/fonts/woff2/Pretendard-Bold.woff2 differ diff --git a/public/fonts/woff2/Pretendard-ExtraBold.woff2 b/public/fonts/woff2/Pretendard-ExtraBold.woff2 new file mode 100644 index 0000000..1a9caaf Binary files /dev/null and b/public/fonts/woff2/Pretendard-ExtraBold.woff2 differ diff --git a/public/fonts/woff2/Pretendard-ExtraLight.woff2 b/public/fonts/woff2/Pretendard-ExtraLight.woff2 new file mode 100644 index 0000000..a6bf185 Binary files /dev/null and b/public/fonts/woff2/Pretendard-ExtraLight.woff2 differ diff --git a/public/fonts/woff2/Pretendard-Light.woff2 b/public/fonts/woff2/Pretendard-Light.woff2 new file mode 100644 index 0000000..a86436a Binary files /dev/null and b/public/fonts/woff2/Pretendard-Light.woff2 differ diff --git a/public/fonts/woff2/Pretendard-Medium.woff2 b/public/fonts/woff2/Pretendard-Medium.woff2 new file mode 100644 index 0000000..153fd55 Binary files /dev/null and b/public/fonts/woff2/Pretendard-Medium.woff2 differ diff --git a/public/fonts/woff2/Pretendard-Regular.woff2 b/public/fonts/woff2/Pretendard-Regular.woff2 new file mode 100644 index 0000000..ca8008f Binary files /dev/null and b/public/fonts/woff2/Pretendard-Regular.woff2 differ diff --git a/public/fonts/woff2/Pretendard-SemiBold.woff2 b/public/fonts/woff2/Pretendard-SemiBold.woff2 new file mode 100644 index 0000000..79f8089 Binary files /dev/null and b/public/fonts/woff2/Pretendard-SemiBold.woff2 differ diff --git a/public/fonts/woff2/Pretendard-Thin.woff2 b/public/fonts/woff2/Pretendard-Thin.woff2 new file mode 100644 index 0000000..809bf22 Binary files /dev/null and b/public/fonts/woff2/Pretendard-Thin.woff2 differ diff --git a/public/vite.svg b/public/vite.svg deleted file mode 100644 index e7b8dfb..0000000 --- a/public/vite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/App.tsx b/src/App.tsx index 729b1ea..91f9108 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,5 +1,7 @@ +import Button from "@/components/Button"; + const App = () => { - return
App
; + return ; +}; + +export default Button; diff --git a/src/main.tsx b/src/main.tsx index c44a6da..0f2457d 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -7,6 +7,8 @@ import App from "@/App"; import ReactQueryClientProvider from "@/components/provider/ReactQueryClientProvider"; +import "@/styles/reset.scss"; + createRoot(document.getElementById("root")!).render( diff --git a/src/styles/_mixins.scss b/src/styles/_mixins.scss new file mode 100644 index 0000000..21419b3 --- /dev/null +++ b/src/styles/_mixins.scss @@ -0,0 +1,49 @@ +@mixin titleLg { + font-size: var(--font-size-xl); + font-weight: var(--font-weight-bold); +} + +@mixin titleMd { + font-size: var(--font-size-lg); + font-weight: var(--font-weight-bold); +} + +@mixin titleSm { + font-size: var(--font-size-md); + font-weight: var(--font-weight-bold); +} + +@mixin bodyLg { + font-size: var(--font-size-default); + font-weight: var(--font-weight-medium); +} + +@mixin bodyMd { + font-size: var(--font-size-sm); + font-weight: var(--font-weight-medium); +} + +@mixin bodySm { + font-size: var(--font-size-xs); + font-weight: var(--font-weight-medium); +} + +@mixin bodyXsm { + font-size: var(--font-size-xxs); + font-weight: var(--font-weight-medium); +} + +@mixin buttonMd { + font-size: var(--font-size-default); + font-weight: var(--font-weight-semi-bold); +} + +@mixin buttonSm { + font-size: var(--font-size-default); + font-weight: var(--font-weight-medium); +} + +@mixin buttonXs { + font-size: var(--font-size-xs); + font-weight: var(--font-weight-medium); +} diff --git a/src/styles/_variables.scss b/src/styles/_variables.scss new file mode 100644 index 0000000..f714bcd --- /dev/null +++ b/src/styles/_variables.scss @@ -0,0 +1,31 @@ +:root { + --font-weight-regular: 400; + --font-weight-medium: 500; + --font-weight-semi-bold: 600; + --font-weight-bold: 700; + + --font-size-xl: 28px; + --font-size-lg: 24px; + --font-size-md: 22px; + --font-size-default: 16px; + --font-size-sm: 15px; + --font-size-xs: 14px; + --font-size-xxs: 13px; + + --color-white: #fff; + --color-black: #000; + --color-text01: #363642; + --color-text02: #68696e; + --color-text03: #a6a6ad; + --color-text04: #e0e0e0; + --color-text-gradient: linear-gradient(#d444ba, #443fb6); + --color-gray100: #f8f8f8; + --color-gray200: #ebecf0; + --color-gray300: #e1e2e8; + --color-gray400: #00000026; + --color-gray500: #00000040; + --color-gray600: #363642; + --color-gray700: #161636; + --color-bg-gradient: linear-gradient(#ffffff, #443fb6); + --color-bg-error: #d45085; +} diff --git a/src/styles/reset.scss b/src/styles/reset.scss new file mode 100644 index 0000000..a04e60e --- /dev/null +++ b/src/styles/reset.scss @@ -0,0 +1,134 @@ +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} + +/* HTML5 display-role reset */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} + +body { + line-height: 1; +} + +ol, +ul { + list-style: none; +} + +blockquote, +q { + quotes: none; +} + +blockquote::before, +blockquote::after, +q::before, +q::after { + content: ""; + content: none; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +* { + font-family: "Pretendard", sans-serif; +} diff --git a/src/types/global.d.ts b/src/types/global.d.ts new file mode 100644 index 0000000..b78db39 --- /dev/null +++ b/src/types/global.d.ts @@ -0,0 +1,4 @@ +declare module "*.module.scss" { + const classes: { [className: string]: string }; + export default classes; +} diff --git a/tsconfig.json b/tsconfig.json index 7603e08..919a53b 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -25,7 +25,7 @@ "@/*": ["./src/*"] }, "plugins": [{ "name": "typescript-plugin-css-modules" }], - "types": ["@testing-library/jest-dom"] + "types": ["@testing-library/jest-dom", "vite/client"] }, - "include": ["src"] + "include": ["src", "src/types"] } diff --git a/vite.config.ts b/vite.config.ts index 15fb262..80c562e 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,3 +1,5 @@ +import path from "path"; + import react from "@vitejs/plugin-react"; import { defineConfig } from "vite"; @@ -6,4 +8,19 @@ import tsconfigPaths from "vite-tsconfig-paths"; export default defineConfig({ plugins: [react(), tsconfigPaths()], base: "/", + resolve: { + alias: { + "@": path.resolve(__dirname, "./src"), + }, + }, + css: { + preprocessorOptions: { + scss: { + additionalData: ` + @use "@/styles/_variables.scss" as *; + @use "@/styles/_mixins.scss" as *; + `, + }, + }, + }, }); diff --git a/yarn.lock b/yarn.lock index 14cbe5a..7ed8c91 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3473,6 +3473,13 @@ __metadata: languageName: node linkType: hard +"classnames@npm:^2.5.1": + version: 2.5.1 + resolution: "classnames@npm:2.5.1" + checksum: 10c0/afff4f77e62cea2d79c39962980bf316bacb0d7c49e13a21adaadb9221e1c6b9d3cdb829d8bb1b23c406f4e740507f37e1dcf506f7e3b7113d17c5bab787aa69 + languageName: node + linkType: hard + "clean-stack@npm:^2.0.0": version: 2.2.0 resolution: "clean-stack@npm:2.2.0" @@ -7539,6 +7546,7 @@ __metadata: "@typescript-eslint/eslint-plugin": "npm:^8.20.0" "@typescript-eslint/parser": "npm:^8.20.0" "@vitejs/plugin-react": "npm:^4.3.4" + classnames: "npm:^2.5.1" cypress: "npm:^14.0.0" eslint: "npm:^8.57.0" eslint-config-prettier: "npm:^10.0.1" @@ -7554,6 +7562,7 @@ __metadata: react: "npm:^18.3.1" react-dom: "npm:^18.3.1" sass: "npm:^1.83.4" + sass-loader: "npm:^16.0.4" storybook: "npm:^8.5.0" ts-jest: "npm:^29.2.5" ts-node: "npm:^10.9.2" @@ -7615,6 +7624,13 @@ __metadata: languageName: node linkType: hard +"neo-async@npm:^2.6.2": + version: 2.6.2 + resolution: "neo-async@npm:2.6.2" + checksum: 10c0/c2f5a604a54a8ec5438a342e1f356dff4bc33ccccdb6dc668d94fe8e5eccfc9d2c2eea6064b0967a767ba63b33763f51ccf2cd2441b461a7322656c1f06b3f5d + languageName: node + linkType: hard + "node-addon-api@npm:^7.0.0": version: 7.1.1 resolution: "node-addon-api@npm:7.1.1" @@ -8778,6 +8794,32 @@ __metadata: languageName: node linkType: hard +"sass-loader@npm:^16.0.4": + version: 16.0.4 + resolution: "sass-loader@npm:16.0.4" + dependencies: + neo-async: "npm:^2.6.2" + peerDependencies: + "@rspack/core": 0.x || 1.x + node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + sass: ^1.3.0 + sass-embedded: "*" + webpack: ^5.0.0 + peerDependenciesMeta: + "@rspack/core": + optional: true + node-sass: + optional: true + sass: + optional: true + sass-embedded: + optional: true + webpack: + optional: true + checksum: 10c0/d57c5fa35620e9022cfa3e5d49f3f9b3e54fb8b2fa9d021c10fe26c8c2f77103e038b6540eb20123a6f73aef23d2beb04033d3b7772588ca3f3c0ba2a4ee40ac + languageName: node + linkType: hard + "sass@npm:^1.70.0, sass@npm:^1.83.4": version: 1.83.4 resolution: "sass@npm:1.83.4"