From 147a1ae8bb6eb7747ff5cb6cb5d5adbddac3350f Mon Sep 17 00:00:00 2001 From: Richard Dominick <34370238+RichDom2185@users.noreply.github.com> Date: Fri, 3 Oct 2025 19:23:47 +0800 Subject: [PATCH 1/9] Address `@import` deprecation --- src/pages/login/NusLogin.module.scss | 2 +- src/styles/Academy.module.scss | 2 +- src/styles/ContextMenu.module.scss | 2 +- src/styles/Contributors.module.scss | 2 +- src/styles/FileSystemView.module.scss | 2 +- src/styles/Grading.module.scss | 2 +- src/styles/GradingBadges.module.scss | 2 +- src/styles/Login.module.scss | 2 +- src/styles/NavigationBar.module.scss | 2 +- .../SideContentSessionManagement.module.scss | 4 +- src/styles/Stories.module.scss | 2 +- src/styles/_mobileworkspace.scss | 2 +- src/styles/index.scss | 68 +++++++++---------- 13 files changed, 47 insertions(+), 47 deletions(-) diff --git a/src/pages/login/NusLogin.module.scss b/src/pages/login/NusLogin.module.scss index 2b2e7fcb20..7bbba58b8a 100644 --- a/src/pages/login/NusLogin.module.scss +++ b/src/pages/login/NusLogin.module.scss @@ -1,4 +1,4 @@ -@import '../../styles/global'; +@use '../../styles/global' as *; .container { display: flex; diff --git a/src/styles/Academy.module.scss b/src/styles/Academy.module.scss index c261c29ff2..037591d973 100644 --- a/src/styles/Academy.module.scss +++ b/src/styles/Academy.module.scss @@ -1,4 +1,4 @@ -@import '_global'; +@use '_global' as *; .Academy { height: 100%; diff --git a/src/styles/ContextMenu.module.scss b/src/styles/ContextMenu.module.scss index 14cfdf25b1..08405885be 100644 --- a/src/styles/ContextMenu.module.scss +++ b/src/styles/ContextMenu.module.scss @@ -1,4 +1,4 @@ -@import '_global'; +@use '_global' as *; .context-menu { background-color: $cadet-color-1; diff --git a/src/styles/Contributors.module.scss b/src/styles/Contributors.module.scss index 552a14b3c4..5645bbcecd 100644 --- a/src/styles/Contributors.module.scss +++ b/src/styles/Contributors.module.scss @@ -1,4 +1,4 @@ -@import '_global'; +@use '_global' as *; // Styling components of the ContributorsDetails diff --git a/src/styles/FileSystemView.module.scss b/src/styles/FileSystemView.module.scss index c3c13e0977..151d483209 100644 --- a/src/styles/FileSystemView.module.scss +++ b/src/styles/FileSystemView.module.scss @@ -1,4 +1,4 @@ -@import '_global'; +@use '_global' as *; .file-system-view-container { width: 100%; diff --git a/src/styles/Grading.module.scss b/src/styles/Grading.module.scss index d6aade16c8..03e6e9e285 100644 --- a/src/styles/Grading.module.scss +++ b/src/styles/Grading.module.scss @@ -1,4 +1,4 @@ -@import '_global'; +@use '_global' as *; .grading-overview-unfilterable-btns, .grading-overview-filterable-btns { diff --git a/src/styles/GradingBadges.module.scss b/src/styles/GradingBadges.module.scss index 8fb258e0a6..85365ff74f 100644 --- a/src/styles/GradingBadges.module.scss +++ b/src/styles/GradingBadges.module.scss @@ -1,4 +1,4 @@ -@import '_global'; +@use '_global' as *; .grading-badge { border-radius: 9999px; diff --git a/src/styles/Login.module.scss b/src/styles/Login.module.scss index 3a4d70b896..f42f9a542a 100644 --- a/src/styles/Login.module.scss +++ b/src/styles/Login.module.scss @@ -1,4 +1,4 @@ -@import '_global'; +@use '_global' as *; .Login { background-size: cover; diff --git a/src/styles/NavigationBar.module.scss b/src/styles/NavigationBar.module.scss index 64102990b5..c30ebec158 100644 --- a/src/styles/NavigationBar.module.scss +++ b/src/styles/NavigationBar.module.scss @@ -1,4 +1,4 @@ -@import '_global'; +@use '_global' as *; .primary-navbar { background: #141e30; /* fallback for old browsers */ diff --git a/src/styles/SideContentSessionManagement.module.scss b/src/styles/SideContentSessionManagement.module.scss index bf443ee438..736854b3cf 100644 --- a/src/styles/SideContentSessionManagement.module.scss +++ b/src/styles/SideContentSessionManagement.module.scss @@ -1,5 +1,5 @@ -@import '_global'; -@import '@blueprintjs/core/lib/scss/variables'; +@use '_global' as *; +@use '@blueprintjs/core/lib/scss/variables' as *; .span { display: inline-flex; diff --git a/src/styles/Stories.module.scss b/src/styles/Stories.module.scss index f2bbf3a3c0..1716ad592c 100644 --- a/src/styles/Stories.module.scss +++ b/src/styles/Stories.module.scss @@ -1,4 +1,4 @@ -@import '_global'; +@use '_global' as *; .highlight-row { background-color: #e0f2fe; diff --git a/src/styles/_mobileworkspace.scss b/src/styles/_mobileworkspace.scss index e592ce130d..6f567e6a9c 100644 --- a/src/styles/_mobileworkspace.scss +++ b/src/styles/_mobileworkspace.scss @@ -1,4 +1,4 @@ -@import 'react-simple-keyboard/build/css/index.css'; +@use 'react-simple-keyboard/build/css/index.css' as *; $shadow-dark: rgba(0, 0, 0, 0.5); $shadow-light: rgba(0, 0, 0, 0.2); diff --git a/src/styles/index.scss b/src/styles/index.scss index eeaf4f6200..16baf27120 100755 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -1,44 +1,44 @@ @use 'sass:math'; -@import '~normalize.css/normalize.css'; -@import '~@blueprintjs/core/lib/css/blueprint.css'; -@import '~@blueprintjs/datetime/lib/css/blueprint-datetime.css'; -@import '~@blueprintjs/select/lib/css/blueprint-select.css'; -@import '~flexboxgrid/dist/flexboxgrid.css'; -@import '~flexboxgrid-helpers/dist/flexboxgrid-helpers.min.css'; +@use '~normalize.css/normalize.css' as *; +@use '~@blueprintjs/core/lib/css/blueprint.css' as *; +@use '~@blueprintjs/datetime/lib/css/blueprint-datetime.css' as *; +@use '~@blueprintjs/select/lib/css/blueprint-select.css' as *; +@use '~flexboxgrid/dist/flexboxgrid.css' as *; +@use '~flexboxgrid-helpers/dist/flexboxgrid-helpers.min.css' as *; // CSS styles for react-mde Markdown editor // (currently this editor is only used for grading comments) // react-mde-preview.css is excluded to avoid conflict with blueprintjs // styles in the preview tab of the editor, providing a more accurate // depiction of what the actual comment will look like -@import '~react-mde/lib/styles/css/react-mde-toolbar.css'; -@import '~react-mde/lib/styles/css/react-mde-editor.css'; -@import '~react-mde/lib/styles/css/react-mde.css'; +@use '~react-mde/lib/styles/css/react-mde-toolbar.css' as *; +@use '~react-mde/lib/styles/css/react-mde-editor.css' as *; +@use '~react-mde/lib/styles/css/react-mde.css' as *; -@import '../../node_modules/@blueprintjs/core/lib/scss/variables'; -@import 'global'; +@use '../../node_modules/@blueprintjs/core/lib/scss/variables' as *; +@use 'global' as *; -@import 'academy'; -@import 'achievementcontrol'; -@import 'achievementdashboard'; -@import 'application'; -@import 'commons'; -@import 'contributors'; -@import 'dropdown'; -@import 'editorTabs'; -@import 'game'; -@import 'github'; -@import 'gamesimulator'; -@import 'groundcontrol'; -@import 'mobileworkspace'; -@import 'navigationBar'; -@import 'playground'; -@import 'sicp'; -@import 'sideBar'; -@import 'sourcereel'; -@import 'sourcecast'; -@import 'stories'; -@import 'variableHighlighting'; -@import 'workspaceGreen'; -@import 'workspace'; +@use 'academy' as *; +@use 'achievementcontrol' as *; +@use 'achievementdashboard' as *; +@use 'application' as *; +@use 'commons' as *; +@use 'contributors' as *; +@use 'dropdown' as *; +@use 'editorTabs' as *; +@use 'game' as *; +@use 'github' as *; +@use 'gamesimulator' as *; +@use 'groundcontrol' as *; +@use 'mobileworkspace' as *; +@use 'navigationBar' as *; +@use 'playground' as *; +@use 'sicp' as *; +@use 'sideBar' as *; +@use 'sourcereel' as *; +@use 'sourcecast' as *; +@use 'stories' as *; +@use 'variableHighlighting' as *; +@use 'workspaceGreen' as *; +@use 'workspace' as *; From d8cb2555f974f763374da5ea48c8fc34b6a12a02 Mon Sep 17 00:00:00 2001 From: Richard Dominick <34370238+RichDom2185@users.noreply.github.com> Date: Fri, 3 Oct 2025 19:24:50 +0800 Subject: [PATCH 2/9] Remove CSS from gitignore --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index 2b3388daf5..9da3214359 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,6 @@ # production /build -src/styles/*.css /.env # deployment From b56293875b3b0047207e4175a4d70a537c95bdeb Mon Sep 17 00:00:00 2001 From: Richard Dominick <34370238+RichDom2185@users.noreply.github.com> Date: Fri, 3 Oct 2025 19:26:33 +0800 Subject: [PATCH 3/9] Move CSS imports to separate CSS file --- src/index.tsx | 1 + src/styles/index.scss | 16 ---------------- src/styles/main.css | 15 +++++++++++++++ 3 files changed, 16 insertions(+), 16 deletions(-) create mode 100644 src/styles/main.css diff --git a/src/index.tsx b/src/index.tsx index 203f2e55dc..d30c0f27cf 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -1,5 +1,6 @@ import 'src/i18n/i18n'; import 'src/styles/index.scss'; +import 'src/styles/main.css'; import { Button, OverlaysProvider } from '@blueprintjs/core'; import { setModulesStaticURL } from 'js-slang/dist/modules/loader'; diff --git a/src/styles/index.scss b/src/styles/index.scss index 16baf27120..fc86cc125a 100755 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -1,21 +1,5 @@ @use 'sass:math'; -@use '~normalize.css/normalize.css' as *; -@use '~@blueprintjs/core/lib/css/blueprint.css' as *; -@use '~@blueprintjs/datetime/lib/css/blueprint-datetime.css' as *; -@use '~@blueprintjs/select/lib/css/blueprint-select.css' as *; -@use '~flexboxgrid/dist/flexboxgrid.css' as *; -@use '~flexboxgrid-helpers/dist/flexboxgrid-helpers.min.css' as *; - -// CSS styles for react-mde Markdown editor -// (currently this editor is only used for grading comments) -// react-mde-preview.css is excluded to avoid conflict with blueprintjs -// styles in the preview tab of the editor, providing a more accurate -// depiction of what the actual comment will look like -@use '~react-mde/lib/styles/css/react-mde-toolbar.css' as *; -@use '~react-mde/lib/styles/css/react-mde-editor.css' as *; -@use '~react-mde/lib/styles/css/react-mde.css' as *; - @use '../../node_modules/@blueprintjs/core/lib/scss/variables' as *; @use 'global' as *; diff --git a/src/styles/main.css b/src/styles/main.css new file mode 100644 index 0000000000..de9f368ff9 --- /dev/null +++ b/src/styles/main.css @@ -0,0 +1,15 @@ +@import '~normalize.css/normalize.css'; +@import '~@blueprintjs/core/lib/css/blueprint.css'; +@import '~@blueprintjs/datetime/lib/css/blueprint-datetime.css'; +@import '~@blueprintjs/select/lib/css/blueprint-select.css'; +@import '~flexboxgrid/dist/flexboxgrid.css'; +@import '~flexboxgrid-helpers/dist/flexboxgrid-helpers.min.css'; + +// CSS styles for react-mde Markdown editor +// (currently this editor is only used for grading comments) +// react-mde-preview.css is excluded to avoid conflict with blueprintjs +// styles in the preview tab of the editor, providing a more accurate +// depiction of what the actual comment will look like +@import '~react-mde/lib/styles/css/react-mde-toolbar.css'; +@import '~react-mde/lib/styles/css/react-mde-editor.css'; +@import '~react-mde/lib/styles/css/react-mde.css'; From 5ef452f3a7e28543929e47d8b4f75b9e17afa391 Mon Sep 17 00:00:00 2001 From: Richard Dominick <34370238+RichDom2185@users.noreply.github.com> Date: Fri, 3 Oct 2025 19:39:31 +0800 Subject: [PATCH 4/9] Move variables to separate file --- src/styles/_global.scss | 12 +----------- src/styles/variables.scss | 11 +++++++++++ 2 files changed, 12 insertions(+), 11 deletions(-) create mode 100644 src/styles/variables.scss diff --git a/src/styles/_global.scss b/src/styles/_global.scss index 3bc2c9ae6d..246a3c3d6b 100644 --- a/src/styles/_global.scss +++ b/src/styles/_global.scss @@ -1,14 +1,4 @@ -$ns: 'bp6'; - -// Global variables -$cadet-color-1: #1a2530; -$cadet-color-2: #2c3e50; -$cadet-color-3: #34495e; -$cadet-color-4: #ced9e0; -$cadet-color-5: #ffffff; - -$images-path: '../assets'; -$achievement-assets: 'https://source-academy-assets.s3-ap-southeast-1.amazonaws.com/achievement'; +@use 'variables' as *; /* Fixes height behaviour of nested flexboxes in the code editor and REPL, diff --git a/src/styles/variables.scss b/src/styles/variables.scss new file mode 100644 index 0000000000..3bf2019a10 --- /dev/null +++ b/src/styles/variables.scss @@ -0,0 +1,11 @@ +$ns: 'bp6'; + +// Global variables +$cadet-color-1: #1a2530; +$cadet-color-2: #2c3e50; +$cadet-color-3: #34495e; +$cadet-color-4: #ced9e0; +$cadet-color-5: #ffffff; + +$images-path: '../assets'; +$achievement-assets: 'https://source-academy-assets.s3-ap-southeast-1.amazonaws.com/achievement'; From f06ca60cd84ae4d7450e96d6eb6c51cabf418bd7 Mon Sep 17 00:00:00 2001 From: Richard Dominick <34370238+RichDom2185@users.noreply.github.com> Date: Fri, 3 Oct 2025 19:40:51 +0800 Subject: [PATCH 5/9] Move more variables --- src/styles/_contributors.scss | 8 -------- src/styles/_workspaceGreen.scss | 2 -- src/styles/variables.scss | 12 ++++++++++++ 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/styles/_contributors.scss b/src/styles/_contributors.scss index 56b7dbc4fe..8418d20c2a 100644 --- a/src/styles/_contributors.scss +++ b/src/styles/_contributors.scss @@ -1,11 +1,3 @@ -// Mixins - -@mixin mQ($arg) { - @media screen and (max-width: $arg) { - @content; - } -} - // Overall fullpage .fullpage { diff --git a/src/styles/_workspaceGreen.scss b/src/styles/_workspaceGreen.scss index e3d7d6fafc..3b41c9f712 100644 --- a/src/styles/_workspaceGreen.scss +++ b/src/styles/_workspaceGreen.scss @@ -1,5 +1,3 @@ -$pure-green: #00ff00; -$dark-green: #00e000; .GreenScreen { // Hide NavigationBar position: absolute; diff --git a/src/styles/variables.scss b/src/styles/variables.scss index 3bf2019a10..8227f381b3 100644 --- a/src/styles/variables.scss +++ b/src/styles/variables.scss @@ -9,3 +9,15 @@ $cadet-color-5: #ffffff; $images-path: '../assets'; $achievement-assets: 'https://source-academy-assets.s3-ap-southeast-1.amazonaws.com/achievement'; + +// For greenscreen +$pure-green: #00ff00; +$dark-green: #00e000; + +// Mixins + +@mixin mQ($arg) { + @media screen and (max-width: $arg) { + @content; + } +} From 66c2990e8be28e6f4ce9a4e75a44ef7dbc1fe082 Mon Sep 17 00:00:00 2001 From: Richard Dominick <34370238+RichDom2185@users.noreply.github.com> Date: Fri, 3 Oct 2025 19:46:14 +0800 Subject: [PATCH 6/9] Fix imports for clarity --- src/styles/Academy.module.scss | 2 +- src/styles/ContextMenu.module.scss | 2 +- src/styles/Contributors.module.scss | 2 +- src/styles/FileSystemView.module.scss | 2 +- src/styles/Grading.module.scss | 2 +- src/styles/GradingBadges.module.scss | 2 +- src/styles/Login.module.scss | 2 +- src/styles/NavigationBar.module.scss | 2 +- src/styles/SideContentSessionManagement.module.scss | 2 +- src/styles/Stories.module.scss | 2 +- src/styles/_academy.scss | 2 ++ src/styles/_achievementcontrol.scss | 3 +++ src/styles/_achievementdashboard.scss | 3 +++ src/styles/_application.scss | 2 ++ src/styles/_commons.scss | 2 ++ src/styles/_contributors.scss | 2 ++ src/styles/_dropdown.scss | 2 ++ src/styles/_editorTabs.scss | 2 ++ src/styles/_game.scss | 2 ++ src/styles/_gamesimulator.scss | 2 ++ src/styles/_github.scss | 2 ++ src/styles/_groundcontrol.scss | 2 ++ src/styles/_mobileworkspace.scss | 1 + src/styles/_navigationBar.scss | 2 ++ src/styles/_playground.scss | 2 ++ src/styles/_sicp.scss | 2 ++ src/styles/_sideBar.scss | 2 ++ src/styles/_sourcecast.scss | 2 ++ src/styles/_sourcereel.scss | 2 ++ src/styles/_stories.scss | 2 ++ src/styles/_variableHighlighting.scss | 2 ++ src/styles/_workspace.scss | 2 ++ src/styles/_workspaceGreen.scss | 2 ++ src/styles/index.scss | 3 --- 34 files changed, 57 insertions(+), 13 deletions(-) diff --git a/src/styles/Academy.module.scss b/src/styles/Academy.module.scss index 037591d973..0bde516f88 100644 --- a/src/styles/Academy.module.scss +++ b/src/styles/Academy.module.scss @@ -1,4 +1,4 @@ -@use '_global' as *; +@use 'variables' as *; .Academy { height: 100%; diff --git a/src/styles/ContextMenu.module.scss b/src/styles/ContextMenu.module.scss index 08405885be..48081d39e2 100644 --- a/src/styles/ContextMenu.module.scss +++ b/src/styles/ContextMenu.module.scss @@ -1,4 +1,4 @@ -@use '_global' as *; +@use 'variables' as *; .context-menu { background-color: $cadet-color-1; diff --git a/src/styles/Contributors.module.scss b/src/styles/Contributors.module.scss index 5645bbcecd..d37dcf8ee4 100644 --- a/src/styles/Contributors.module.scss +++ b/src/styles/Contributors.module.scss @@ -1,4 +1,4 @@ -@use '_global' as *; +@use 'variables' as *; // Styling components of the ContributorsDetails diff --git a/src/styles/FileSystemView.module.scss b/src/styles/FileSystemView.module.scss index 151d483209..16f979b2ed 100644 --- a/src/styles/FileSystemView.module.scss +++ b/src/styles/FileSystemView.module.scss @@ -1,4 +1,4 @@ -@use '_global' as *; +@use 'variables' as *; .file-system-view-container { width: 100%; diff --git a/src/styles/Grading.module.scss b/src/styles/Grading.module.scss index 03e6e9e285..28b18ef8df 100644 --- a/src/styles/Grading.module.scss +++ b/src/styles/Grading.module.scss @@ -1,4 +1,4 @@ -@use '_global' as *; +@use 'variables' as *; .grading-overview-unfilterable-btns, .grading-overview-filterable-btns { diff --git a/src/styles/GradingBadges.module.scss b/src/styles/GradingBadges.module.scss index 85365ff74f..a3d2cab495 100644 --- a/src/styles/GradingBadges.module.scss +++ b/src/styles/GradingBadges.module.scss @@ -1,4 +1,4 @@ -@use '_global' as *; +@use 'variables' as *; .grading-badge { border-radius: 9999px; diff --git a/src/styles/Login.module.scss b/src/styles/Login.module.scss index f42f9a542a..9d43efdbd5 100644 --- a/src/styles/Login.module.scss +++ b/src/styles/Login.module.scss @@ -1,4 +1,4 @@ -@use '_global' as *; +@use 'variables' as *; .Login { background-size: cover; diff --git a/src/styles/NavigationBar.module.scss b/src/styles/NavigationBar.module.scss index c30ebec158..d1741e2a4d 100644 --- a/src/styles/NavigationBar.module.scss +++ b/src/styles/NavigationBar.module.scss @@ -1,4 +1,4 @@ -@use '_global' as *; +@use 'variables' as *; .primary-navbar { background: #141e30; /* fallback for old browsers */ diff --git a/src/styles/SideContentSessionManagement.module.scss b/src/styles/SideContentSessionManagement.module.scss index 736854b3cf..ea9c0196d1 100644 --- a/src/styles/SideContentSessionManagement.module.scss +++ b/src/styles/SideContentSessionManagement.module.scss @@ -1,4 +1,4 @@ -@use '_global' as *; +@use 'variables' as *; @use '@blueprintjs/core/lib/scss/variables' as *; .span { diff --git a/src/styles/Stories.module.scss b/src/styles/Stories.module.scss index 1716ad592c..870cd4cbdf 100644 --- a/src/styles/Stories.module.scss +++ b/src/styles/Stories.module.scss @@ -1,4 +1,4 @@ -@use '_global' as *; +@use 'variables' as *; .highlight-row { background-color: #e0f2fe; diff --git a/src/styles/_academy.scss b/src/styles/_academy.scss index 6cdbcb3557..249fbf9baa 100644 --- a/src/styles/_academy.scss +++ b/src/styles/_academy.scss @@ -1,3 +1,5 @@ +@use 'variables' as *; + @media only screen and (max-width: 512px) { .custom-hidden-xxxs { display: none; diff --git a/src/styles/_achievementcontrol.scss b/src/styles/_achievementcontrol.scss index bc007b0d93..70d81ac735 100644 --- a/src/styles/_achievementcontrol.scss +++ b/src/styles/_achievementcontrol.scss @@ -1,3 +1,6 @@ +@use 'sass:math'; +@use 'variables' as *; + .AchievementControl { // Cover aspect ratio 2:1 $cover-height: 18em; diff --git a/src/styles/_achievementdashboard.scss b/src/styles/_achievementdashboard.scss index 70b941f4b3..b78d2ef90b 100644 --- a/src/styles/_achievementdashboard.scss +++ b/src/styles/_achievementdashboard.scss @@ -1,3 +1,6 @@ +@use 'sass:math'; +@use 'variables' as *; + .AchievementDashboard { background: black url(#{$achievement-assets}/background.png) center/cover no-repeat fixed; display: flex; diff --git a/src/styles/_application.scss b/src/styles/_application.scss index b276c81e84..3daabe0434 100644 --- a/src/styles/_application.scss +++ b/src/styles/_application.scss @@ -1,3 +1,5 @@ +@use 'variables' as *; + /** * Background is repeated here instead of Application, so that * - The background is repeated regardless of content overextending the page diff --git a/src/styles/_commons.scss b/src/styles/_commons.scss index f66b05afbd..5c8e85c92b 100644 --- a/src/styles/_commons.scss +++ b/src/styles/_commons.scss @@ -1,3 +1,5 @@ +@use 'variables' as *; + .ContentDisplay { height: fit-content; width: 100%; diff --git a/src/styles/_contributors.scss b/src/styles/_contributors.scss index 8418d20c2a..11334a209d 100644 --- a/src/styles/_contributors.scss +++ b/src/styles/_contributors.scss @@ -1,3 +1,5 @@ +@use 'variables' as *; + // Overall fullpage .fullpage { diff --git a/src/styles/_dropdown.scss b/src/styles/_dropdown.scss index 4e44e24c7f..987f63e08e 100644 --- a/src/styles/_dropdown.scss +++ b/src/styles/_dropdown.scss @@ -1,3 +1,5 @@ +@use 'variables' as *; + .profile { // 30% of 1366 pixels min-width: 410px; diff --git a/src/styles/_editorTabs.scss b/src/styles/_editorTabs.scss index d2cb8966f4..f61f8418db 100644 --- a/src/styles/_editorTabs.scss +++ b/src/styles/_editorTabs.scss @@ -1,3 +1,5 @@ +@use 'variables' as *; + .editor-container { display: flex; flex-direction: column; diff --git a/src/styles/_game.scss b/src/styles/_game.scss index ef3c4081d6..5637e4a470 100644 --- a/src/styles/_game.scss +++ b/src/styles/_game.scss @@ -1,3 +1,5 @@ +@use 'variables' as *; + #game-display { display: flex; flex-direction: column; diff --git a/src/styles/_gamesimulator.scss b/src/styles/_gamesimulator.scss index a0e5968a8a..bb254eff86 100644 --- a/src/styles/_gamesimulator.scss +++ b/src/styles/_gamesimulator.scss @@ -1,3 +1,5 @@ +@use 'variables' as *; + #simulator-display { width: 200px; align-self: flex-start; diff --git a/src/styles/_github.scss b/src/styles/_github.scss index 9aedebe36c..8eac2dfd8a 100644 --- a/src/styles/_github.scss +++ b/src/styles/_github.scss @@ -1,3 +1,5 @@ +@use 'variables' as *; + .githubDialog { background-color: $cadet-color-3; } diff --git a/src/styles/_groundcontrol.scss b/src/styles/_groundcontrol.scss index 78d5ad9fe1..a1af065c4d 100644 --- a/src/styles/_groundcontrol.scss +++ b/src/styles/_groundcontrol.scss @@ -1,3 +1,5 @@ +@use 'variables' as *; + .GroundControl { .#{$ns}-collapse .#{$ns}-card { margin-top: 4px; diff --git a/src/styles/_mobileworkspace.scss b/src/styles/_mobileworkspace.scss index 6f567e6a9c..ae032587aa 100644 --- a/src/styles/_mobileworkspace.scss +++ b/src/styles/_mobileworkspace.scss @@ -1,3 +1,4 @@ +@use 'variables' as *; @use 'react-simple-keyboard/build/css/index.css' as *; $shadow-dark: rgba(0, 0, 0, 0.5); diff --git a/src/styles/_navigationBar.scss b/src/styles/_navigationBar.scss index 7257aabf7f..f9fab4e3e6 100644 --- a/src/styles/_navigationBar.scss +++ b/src/styles/_navigationBar.scss @@ -1,3 +1,5 @@ +@use 'variables' as *; + /* * Style for all navigation bars. */ diff --git a/src/styles/_playground.scss b/src/styles/_playground.scss index efbd25872a..75765dc869 100644 --- a/src/styles/_playground.scss +++ b/src/styles/_playground.scss @@ -1,3 +1,5 @@ +@use 'variables' as *; + .Playground { height: 100%; display: flex; diff --git a/src/styles/_sicp.scss b/src/styles/_sicp.scss index cc458fbc8a..438574a912 100644 --- a/src/styles/_sicp.scss +++ b/src/styles/_sicp.scss @@ -1,3 +1,5 @@ +@use 'variables' as *; + $sicp-text-color: #333333; $sicp-background-color: #ffffff; diff --git a/src/styles/_sideBar.scss b/src/styles/_sideBar.scss index ce85a65f53..0b407b7ad5 100644 --- a/src/styles/_sideBar.scss +++ b/src/styles/_sideBar.scss @@ -1,3 +1,5 @@ +@use 'variables' as *; + .sidebar-container { height: 100%; padding-bottom: 0.6rem; diff --git a/src/styles/_sourcecast.scss b/src/styles/_sourcecast.scss index 357bdf1764..91ec9cab0b 100755 --- a/src/styles/_sourcecast.scss +++ b/src/styles/_sourcecast.scss @@ -1,3 +1,5 @@ +@use 'variables' as *; + .Sourcecast { height: 100%; display: flex; diff --git a/src/styles/_sourcereel.scss b/src/styles/_sourcereel.scss index 20bb3ba4b2..4ceac8f19c 100755 --- a/src/styles/_sourcereel.scss +++ b/src/styles/_sourcereel.scss @@ -1,3 +1,5 @@ +@use 'variables' as *; + .Sourcereel { height: 100%; display: flex; diff --git a/src/styles/_stories.scss b/src/styles/_stories.scss index deb55d57ad..3909f4a974 100644 --- a/src/styles/_stories.scss +++ b/src/styles/_stories.scss @@ -1,3 +1,5 @@ +@use 'variables' as *; + .workspace { .#{$ns}-card { background-color: $cadet-color-2; diff --git a/src/styles/_variableHighlighting.scss b/src/styles/_variableHighlighting.scss index 28217efbe4..63537293ab 100644 --- a/src/styles/_variableHighlighting.scss +++ b/src/styles/_variableHighlighting.scss @@ -1,3 +1,5 @@ +@use 'variables' as *; + .ace_variable_highlighting { z-index: 4; position: absolute; diff --git a/src/styles/_workspace.scss b/src/styles/_workspace.scss index 08c7e4da9d..6a4ac31ee8 100755 --- a/src/styles/_workspace.scss +++ b/src/styles/_workspace.scss @@ -1,3 +1,5 @@ +@use 'variables' as *; + $code-color-code: #ced9e0; $code-color-log: #dd8c60; $code-color-result: #ffffff; diff --git a/src/styles/_workspaceGreen.scss b/src/styles/_workspaceGreen.scss index 3b41c9f712..86c2164745 100644 --- a/src/styles/_workspaceGreen.scss +++ b/src/styles/_workspaceGreen.scss @@ -1,3 +1,5 @@ +@use 'variables' as *; + .GreenScreen { // Hide NavigationBar position: absolute; diff --git a/src/styles/index.scss b/src/styles/index.scss index fc86cc125a..5cde4abcb8 100755 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -1,7 +1,4 @@ -@use 'sass:math'; - @use '../../node_modules/@blueprintjs/core/lib/scss/variables' as *; -@use 'global' as *; @use 'academy' as *; @use 'achievementcontrol' as *; From d467f085305c98adf04ca35c8fc7d5dc5ad34562 Mon Sep 17 00:00:00 2001 From: Richard Dominick <34370238+RichDom2185@users.noreply.github.com> Date: Fri, 3 Oct 2025 21:28:25 +0800 Subject: [PATCH 7/9] Commit generated code --- src/pages/login/NusLogin.module.scss.d.ts | 27 ++++++++++++++++++ src/pages/welcome/Welcome.module.scss.d.ts | 14 ++++++++++ src/styles/Academy.module.scss.d.ts | 14 ++++++++++ .../AchievementCommentCard.module.scss.d.ts | 18 ++++++++++++ src/styles/Chatbot.module.scss.d.ts | 28 +++++++++++++++++++ src/styles/ConfigureControls.module.scss.d.ts | 16 +++++++++++ src/styles/ConfirmDialog.module.scss.d.ts | 13 +++++++++ src/styles/ContextMenu.module.scss.d.ts | 13 +++++++++ src/styles/Contributors.module.scss.d.ts | 23 +++++++++++++++ src/styles/Draggable.module.scss.d.ts | 13 +++++++++ src/styles/FileSystemView.module.scss.d.ts | 20 +++++++++++++ src/styles/Grading.module.scss.d.ts | 26 +++++++++++++++++ src/styles/GradingBadges.module.scss.d.ts | 18 ++++++++++++ src/styles/Login.module.scss.d.ts | 14 ++++++++++ src/styles/NavigationBar.module.scss.d.ts | 12 ++++++++ ...eContentSessionManagement.module.scss.d.ts | 22 +++++++++++++++ src/styles/Stories.module.scss.d.ts | 12 ++++++++ src/styles/TeamFormation.module.scss.d.ts | 19 +++++++++++++ 18 files changed, 322 insertions(+) create mode 100644 src/pages/login/NusLogin.module.scss.d.ts create mode 100644 src/pages/welcome/Welcome.module.scss.d.ts create mode 100644 src/styles/Academy.module.scss.d.ts create mode 100644 src/styles/AchievementCommentCard.module.scss.d.ts create mode 100644 src/styles/Chatbot.module.scss.d.ts create mode 100644 src/styles/ConfigureControls.module.scss.d.ts create mode 100644 src/styles/ConfirmDialog.module.scss.d.ts create mode 100644 src/styles/ContextMenu.module.scss.d.ts create mode 100644 src/styles/Contributors.module.scss.d.ts create mode 100644 src/styles/Draggable.module.scss.d.ts create mode 100644 src/styles/FileSystemView.module.scss.d.ts create mode 100644 src/styles/Grading.module.scss.d.ts create mode 100644 src/styles/GradingBadges.module.scss.d.ts create mode 100644 src/styles/Login.module.scss.d.ts create mode 100644 src/styles/NavigationBar.module.scss.d.ts create mode 100644 src/styles/SideContentSessionManagement.module.scss.d.ts create mode 100644 src/styles/Stories.module.scss.d.ts create mode 100644 src/styles/TeamFormation.module.scss.d.ts diff --git a/src/pages/login/NusLogin.module.scss.d.ts b/src/pages/login/NusLogin.module.scss.d.ts new file mode 100644 index 0000000000..641d4454d4 --- /dev/null +++ b/src/pages/login/NusLogin.module.scss.d.ts @@ -0,0 +1,27 @@ +/* eslint-disable */ +// WARNING: THIS FILE IS AUTO GENERATED, PLEASE DO NOT EDIT IT MANUALLY. +// prettier-ignore +export type Styles = { + "Application__main": string; + "badge": string; + "badge-tag": string; + "body": string; + "bp6-overlay": string; + "bp6-popover-content": string; + "bp6-tag": string; + "buttons-wrapper": string; + "container": string; + "header": string; + "logo": string; + "outlined": string; + "row": string; + "text-center": string; + "unpadded": string; + "WorkspaceParent": string; +}; + +export type ClassNames = keyof Styles; + +declare const styles: Styles; + +export default styles; diff --git a/src/pages/welcome/Welcome.module.scss.d.ts b/src/pages/welcome/Welcome.module.scss.d.ts new file mode 100644 index 0000000000..f8f4bc831d --- /dev/null +++ b/src/pages/welcome/Welcome.module.scss.d.ts @@ -0,0 +1,14 @@ +/* eslint-disable */ +// WARNING: THIS FILE IS AUTO GENERATED, PLEASE DO NOT EDIT IT MANUALLY. +// prettier-ignore +export type Styles = { + "fullpage": string; + "fullpage-content": string; + "text-left": string; +}; + +export type ClassNames = keyof Styles; + +declare const styles: Styles; + +export default styles; diff --git a/src/styles/Academy.module.scss.d.ts b/src/styles/Academy.module.scss.d.ts new file mode 100644 index 0000000000..ad92d480fb --- /dev/null +++ b/src/styles/Academy.module.scss.d.ts @@ -0,0 +1,14 @@ +/* eslint-disable */ +// WARNING: THIS FILE IS AUTO GENERATED, PLEASE DO NOT EDIT IT MANUALLY. +// prettier-ignore +export type Styles = { + "Academy": string; + "Academy-switching-courses": string; + "listing-xp": string; +}; + +export type ClassNames = keyof Styles; + +declare const styles: Styles; + +export default styles; diff --git a/src/styles/AchievementCommentCard.module.scss.d.ts b/src/styles/AchievementCommentCard.module.scss.d.ts new file mode 100644 index 0000000000..57356e32db --- /dev/null +++ b/src/styles/AchievementCommentCard.module.scss.d.ts @@ -0,0 +1,18 @@ +/* eslint-disable */ +// WARNING: THIS FILE IS AUTO GENERATED, PLEASE DO NOT EDIT IT MANUALLY. +// prettier-ignore +export type Styles = { + "assessment-comments": string; + "assessment-feedback": string; + "box-comment": string; + "feedback-list": string; + "question-header": string; + "to-assessment-button": string; + "xp": string; +}; + +export type ClassNames = keyof Styles; + +declare const styles: Styles; + +export default styles; diff --git a/src/styles/Chatbot.module.scss.d.ts b/src/styles/Chatbot.module.scss.d.ts new file mode 100644 index 0000000000..e858a67328 --- /dev/null +++ b/src/styles/Chatbot.module.scss.d.ts @@ -0,0 +1,28 @@ +/* eslint-disable */ +// WARNING: THIS FILE IS AUTO GENERATED, PLEASE DO NOT EDIT IT MANUALLY. +// prettier-ignore +export type Styles = { + "assistant": string; + "bot-area": string; + "bot-button": string; + "bot-container": string; + "button-clean": string; + "button-container": string; + "button-send": string; + "chat-container": string; + "chat-message": string; + "control-container": string; + "input-count": string; + "input-count-container": string; + "iSA": string; + "tips-box": string; + "tips-message": string; + "user": string; + "user-input": string; +}; + +export type ClassNames = keyof Styles; + +declare const styles: Styles; + +export default styles; diff --git a/src/styles/ConfigureControls.module.scss.d.ts b/src/styles/ConfigureControls.module.scss.d.ts new file mode 100644 index 0000000000..490eb8758a --- /dev/null +++ b/src/styles/ConfigureControls.module.scss.d.ts @@ -0,0 +1,16 @@ +/* eslint-disable */ +// WARNING: THIS FILE IS AUTO GENERATED, PLEASE DO NOT EDIT IT MANUALLY. +// prettier-ignore +export type Styles = { + "confirm-assign-text": string; + "confirm-assign-voting": string; + "current-voting-status": string; + "reassign-voting-warning": string; + "voting-status-text": string; +}; + +export type ClassNames = keyof Styles; + +declare const styles: Styles; + +export default styles; diff --git a/src/styles/ConfirmDialog.module.scss.d.ts b/src/styles/ConfirmDialog.module.scss.d.ts new file mode 100644 index 0000000000..f6ffc3e0d8 --- /dev/null +++ b/src/styles/ConfirmDialog.module.scss.d.ts @@ -0,0 +1,13 @@ +/* eslint-disable */ +// WARNING: THIS FILE IS AUTO GENERATED, PLEASE DO NOT EDIT IT MANUALLY. +// prettier-ignore +export type Styles = { + "ConfirmDialog": string; + "large-button": string; +}; + +export type ClassNames = keyof Styles; + +declare const styles: Styles; + +export default styles; diff --git a/src/styles/ContextMenu.module.scss.d.ts b/src/styles/ContextMenu.module.scss.d.ts new file mode 100644 index 0000000000..83dda3c37c --- /dev/null +++ b/src/styles/ContextMenu.module.scss.d.ts @@ -0,0 +1,13 @@ +/* eslint-disable */ +// WARNING: THIS FILE IS AUTO GENERATED, PLEASE DO NOT EDIT IT MANUALLY. +// prettier-ignore +export type Styles = { + "context-menu": string; + "context-menu-item": string; +}; + +export type ClassNames = keyof Styles; + +declare const styles: Styles; + +export default styles; diff --git a/src/styles/Contributors.module.scss.d.ts b/src/styles/Contributors.module.scss.d.ts new file mode 100644 index 0000000000..a32ed066bf --- /dev/null +++ b/src/styles/Contributors.module.scss.d.ts @@ -0,0 +1,23 @@ +/* eslint-disable */ +// WARNING: THIS FILE IS AUTO GENERATED, PLEASE DO NOT EDIT IT MANUALLY. +// prettier-ignore +export type Styles = { + "containerPermalink": string; + "contributors": string; + "contributorsDetails": string; + "description": string; + "dot": string; + "evenWider": string; + "hallOfFame": string; + "inPermalink": string; + "leadership": string; + "outsideDetails": string; + "repoDetailsPermalink": string; + "wider": string; +}; + +export type ClassNames = keyof Styles; + +declare const styles: Styles; + +export default styles; diff --git a/src/styles/Draggable.module.scss.d.ts b/src/styles/Draggable.module.scss.d.ts new file mode 100644 index 0000000000..d013300aee --- /dev/null +++ b/src/styles/Draggable.module.scss.d.ts @@ -0,0 +1,13 @@ +/* eslint-disable */ +// WARNING: THIS FILE IS AUTO GENERATED, PLEASE DO NOT EDIT IT MANUALLY. +// prettier-ignore +export type Styles = { + "clickable": string; + "draggable": string; +}; + +export type ClassNames = keyof Styles; + +declare const styles: Styles; + +export default styles; diff --git a/src/styles/FileSystemView.module.scss.d.ts b/src/styles/FileSystemView.module.scss.d.ts new file mode 100644 index 0000000000..fffc05d68c --- /dev/null +++ b/src/styles/FileSystemView.module.scss.d.ts @@ -0,0 +1,20 @@ +/* eslint-disable */ +// WARNING: THIS FILE IS AUTO GENERATED, PLEASE DO NOT EDIT IT MANUALLY. +// prettier-ignore +export type Styles = { + "file-system-view-container": string; + "file-system-view-directory-node-container": string; + "file-system-view-empty-space": string; + "file-system-view-error": string; + "file-system-view-file-name": string; + "file-system-view-input": string; + "file-system-view-list-container": string; + "file-system-view-node-container": string; + "file-system-view-spinner": string; +}; + +export type ClassNames = keyof Styles; + +declare const styles: Styles; + +export default styles; diff --git a/src/styles/Grading.module.scss.d.ts b/src/styles/Grading.module.scss.d.ts new file mode 100644 index 0000000000..3478222914 --- /dev/null +++ b/src/styles/Grading.module.scss.d.ts @@ -0,0 +1,26 @@ +/* eslint-disable */ +// WARNING: THIS FILE IS AUTO GENERATED, PLEASE DO NOT EDIT IT MANUALLY. +// prettier-ignore +export type Styles = { + "grading-badge": string; + "grading-cell-align-left": string; + "grading-def-cell": string; + "grading-def-cell-pointer": string; + "grading-def-cell-selectable": string; + "grading-default-headers": string; + "grading-filter-btn": string; + "grading-filter-btn-on": string; + "grading-left-align": string; + "grading-overview-filterable-btns": string; + "grading-overview-unfilterable-btns": string; + "grading-table-col-icons": string; + "grading-table-header-individual": string; + "grading-table-rows": string; + "grading-xp-cell": string; +}; + +export type ClassNames = keyof Styles; + +declare const styles: Styles; + +export default styles; diff --git a/src/styles/GradingBadges.module.scss.d.ts b/src/styles/GradingBadges.module.scss.d.ts new file mode 100644 index 0000000000..ae6ca272ba --- /dev/null +++ b/src/styles/GradingBadges.module.scss.d.ts @@ -0,0 +1,18 @@ +/* eslint-disable */ +// WARNING: THIS FILE IS AUTO GENERATED, PLEASE DO NOT EDIT IT MANUALLY. +// prettier-ignore +export type Styles = { + "grading-badge": string; + "grading-badge-lg": string; + "grading-badge-md": string; + "grading-badge-sm": string; + "grading-badge-text": string; + "grading-badge-xl": string; + "grading-badge-xs": string; +}; + +export type ClassNames = keyof Styles; + +declare const styles: Styles; + +export default styles; diff --git a/src/styles/Login.module.scss.d.ts b/src/styles/Login.module.scss.d.ts new file mode 100644 index 0000000000..98d6dad068 --- /dev/null +++ b/src/styles/Login.module.scss.d.ts @@ -0,0 +1,14 @@ +/* eslint-disable */ +// WARNING: THIS FILE IS AUTO GENERATED, PLEASE DO NOT EDIT IT MANUALLY. +// prettier-ignore +export type Styles = { + "Login": string; + "login-header": string; + "login-icon": string; +}; + +export type ClassNames = keyof Styles; + +declare const styles: Styles; + +export default styles; diff --git a/src/styles/NavigationBar.module.scss.d.ts b/src/styles/NavigationBar.module.scss.d.ts new file mode 100644 index 0000000000..ff93cfec1a --- /dev/null +++ b/src/styles/NavigationBar.module.scss.d.ts @@ -0,0 +1,12 @@ +/* eslint-disable */ +// WARNING: THIS FILE IS AUTO GENERATED, PLEASE DO NOT EDIT IT MANUALLY. +// prettier-ignore +export type Styles = { + "primary-navbar": string; +}; + +export type ClassNames = keyof Styles; + +declare const styles: Styles; + +export default styles; diff --git a/src/styles/SideContentSessionManagement.module.scss.d.ts b/src/styles/SideContentSessionManagement.module.scss.d.ts new file mode 100644 index 0000000000..8e68b35585 --- /dev/null +++ b/src/styles/SideContentSessionManagement.module.scss.d.ts @@ -0,0 +1,22 @@ +/* eslint-disable */ +// WARNING: THIS FILE IS AUTO GENERATED, PLEASE DO NOT EDIT IT MANUALLY. +// prettier-ignore +export type Styles = { + "alert": string; + "default-switch": string; + "left-cell": string; + "right-cell": string; + "session-code": string; + "side-content-tab-alert": string; + "span": string; + "switch": string; + "table": string; + "table-container": string; + "user-icon": string; +}; + +export type ClassNames = keyof Styles; + +declare const styles: Styles; + +export default styles; diff --git a/src/styles/Stories.module.scss.d.ts b/src/styles/Stories.module.scss.d.ts new file mode 100644 index 0000000000..6316eecfb6 --- /dev/null +++ b/src/styles/Stories.module.scss.d.ts @@ -0,0 +1,12 @@ +/* eslint-disable */ +// WARNING: THIS FILE IS AUTO GENERATED, PLEASE DO NOT EDIT IT MANUALLY. +// prettier-ignore +export type Styles = { + "highlight-row": string; +}; + +export type ClassNames = keyof Styles; + +declare const styles: Styles; + +export default styles; diff --git a/src/styles/TeamFormation.module.scss.d.ts b/src/styles/TeamFormation.module.scss.d.ts new file mode 100644 index 0000000000..243833572a --- /dev/null +++ b/src/styles/TeamFormation.module.scss.d.ts @@ -0,0 +1,19 @@ +/* eslint-disable */ +// WARNING: THIS FILE IS AUTO GENERATED, PLEASE DO NOT EDIT IT MANUALLY. +// prettier-ignore +export type Styles = { + "form-container": string; + "form-field": string; + "form-field-row": string; + "form-footer": string; + "form-label": string; + "form-select": string; + "input-container": string; + "student-form-field": string; +}; + +export type ClassNames = keyof Styles; + +declare const styles: Styles; + +export default styles; From 8029cd1d8b26e81742ecc25bea03d93768ecc641 Mon Sep 17 00:00:00 2001 From: Richard Dominick <34370238+RichDom2185@users.noreply.github.com> Date: Fri, 3 Oct 2025 21:30:19 +0800 Subject: [PATCH 8/9] Update VSCode settings --- .vscode/settings.json | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 1f849d81a0..ddba97f5fa 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -4,5 +4,20 @@ "files.insertFinalNewline": true, "liveServer.settings.file": "/index.html", "liveServer.settings.NoBrowser": true, - "liveServer.settings.root": "/build" + "liveServer.settings.root": "/build", + "[scss]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + // Collapse generated files into their sources + "explorer.fileNesting.enabled": true, + "explorer.fileNesting.expand": true, + "explorer.fileNesting.patterns": { + "*.module.css": "${capture}.module.css.d.ts", + "*.module.scss": "${capture}.module.scss.d.ts" + }, + // Mark generated files as read-only + "files.readonlyInclude": { + "src/**/*.module.css.d.ts": true, + "src/**/*.module.scss.d.ts": true + } } From 23c977b870e9ddb5a7b7645454b16eb22b22f72c Mon Sep 17 00:00:00 2001 From: Richard Dominick <34370238+RichDom2185@users.noreply.github.com> Date: Wed, 5 Nov 2025 21:55:23 +0800 Subject: [PATCH 9/9] Add generator dependency --- package.json | 1 + rsbuild.config.ts | 2 + yarn.lock | 667 ++++++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 645 insertions(+), 25 deletions(-) diff --git a/package.json b/package.json index 6ae34ea8ce..b201595d49 100644 --- a/package.json +++ b/package.json @@ -183,6 +183,7 @@ "timers-browserify": "^2.0.12", "typescript": "^5.8.2", "typescript-eslint": "^8.1.0", + "unplugin-typed-css-modules": "^1.1.0", "url": "^0.11.1", "vitest": "^3.2.4", "webpack-bundle-analyzer": "^4.9.0" diff --git a/rsbuild.config.ts b/rsbuild.config.ts index 86ae1dbc79..09601915e3 100644 --- a/rsbuild.config.ts +++ b/rsbuild.config.ts @@ -5,6 +5,7 @@ import { pluginNodePolyfill } from '@rsbuild/plugin-node-polyfill'; import { pluginReact } from '@rsbuild/plugin-react'; import { pluginSass } from '@rsbuild/plugin-sass'; import { pluginSvgr } from '@rsbuild/plugin-svgr'; +import pluginTypedCssModules from 'unplugin-typed-css-modules/rspack'; const { publicVars, rawPublicVars } = loadEnv({ prefixes: ['REACT_APP_'] }); @@ -123,6 +124,7 @@ export default defineConfig({ config.plugins = [ ...config.plugins, + pluginTypedCssModules({ scss: true }), new InjectManifest({ swSrc: './src/service-worker.ts', swDest: 'service-worker.js', diff --git a/yarn.lock b/yarn.lock index e14563d647..f672bde3ff 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1827,6 +1827,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-arm64@npm:0.17.19": + version: 0.17.19 + resolution: "@esbuild/android-arm64@npm:0.17.19" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/android-arm64@npm:0.25.8": version: 0.25.8 resolution: "@esbuild/android-arm64@npm:0.25.8" @@ -1834,6 +1841,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-arm@npm:0.17.19": + version: 0.17.19 + resolution: "@esbuild/android-arm@npm:0.17.19" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + "@esbuild/android-arm@npm:0.25.8": version: 0.25.8 resolution: "@esbuild/android-arm@npm:0.25.8" @@ -1841,6 +1855,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-x64@npm:0.17.19": + version: 0.17.19 + resolution: "@esbuild/android-x64@npm:0.17.19" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + "@esbuild/android-x64@npm:0.25.8": version: 0.25.8 resolution: "@esbuild/android-x64@npm:0.25.8" @@ -1848,6 +1869,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/darwin-arm64@npm:0.17.19": + version: 0.17.19 + resolution: "@esbuild/darwin-arm64@npm:0.17.19" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/darwin-arm64@npm:0.25.8": version: 0.25.8 resolution: "@esbuild/darwin-arm64@npm:0.25.8" @@ -1855,6 +1883,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/darwin-x64@npm:0.17.19": + version: 0.17.19 + resolution: "@esbuild/darwin-x64@npm:0.17.19" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@esbuild/darwin-x64@npm:0.25.8": version: 0.25.8 resolution: "@esbuild/darwin-x64@npm:0.25.8" @@ -1862,6 +1897,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/freebsd-arm64@npm:0.17.19": + version: 0.17.19 + resolution: "@esbuild/freebsd-arm64@npm:0.17.19" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/freebsd-arm64@npm:0.25.8": version: 0.25.8 resolution: "@esbuild/freebsd-arm64@npm:0.25.8" @@ -1869,6 +1911,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/freebsd-x64@npm:0.17.19": + version: 0.17.19 + resolution: "@esbuild/freebsd-x64@npm:0.17.19" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/freebsd-x64@npm:0.25.8": version: 0.25.8 resolution: "@esbuild/freebsd-x64@npm:0.25.8" @@ -1876,6 +1925,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-arm64@npm:0.17.19": + version: 0.17.19 + resolution: "@esbuild/linux-arm64@npm:0.17.19" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/linux-arm64@npm:0.25.8": version: 0.25.8 resolution: "@esbuild/linux-arm64@npm:0.25.8" @@ -1883,6 +1939,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-arm@npm:0.17.19": + version: 0.17.19 + resolution: "@esbuild/linux-arm@npm:0.17.19" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + "@esbuild/linux-arm@npm:0.25.8": version: 0.25.8 resolution: "@esbuild/linux-arm@npm:0.25.8" @@ -1890,6 +1953,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-ia32@npm:0.17.19": + version: 0.17.19 + resolution: "@esbuild/linux-ia32@npm:0.17.19" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + "@esbuild/linux-ia32@npm:0.25.8": version: 0.25.8 resolution: "@esbuild/linux-ia32@npm:0.25.8" @@ -1897,6 +1967,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-loong64@npm:0.17.19": + version: 0.17.19 + resolution: "@esbuild/linux-loong64@npm:0.17.19" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + "@esbuild/linux-loong64@npm:0.25.8": version: 0.25.8 resolution: "@esbuild/linux-loong64@npm:0.25.8" @@ -1904,6 +1981,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-mips64el@npm:0.17.19": + version: 0.17.19 + resolution: "@esbuild/linux-mips64el@npm:0.17.19" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + "@esbuild/linux-mips64el@npm:0.25.8": version: 0.25.8 resolution: "@esbuild/linux-mips64el@npm:0.25.8" @@ -1911,6 +1995,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-ppc64@npm:0.17.19": + version: 0.17.19 + resolution: "@esbuild/linux-ppc64@npm:0.17.19" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + "@esbuild/linux-ppc64@npm:0.25.8": version: 0.25.8 resolution: "@esbuild/linux-ppc64@npm:0.25.8" @@ -1918,6 +2009,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-riscv64@npm:0.17.19": + version: 0.17.19 + resolution: "@esbuild/linux-riscv64@npm:0.17.19" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + "@esbuild/linux-riscv64@npm:0.25.8": version: 0.25.8 resolution: "@esbuild/linux-riscv64@npm:0.25.8" @@ -1925,6 +2023,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-s390x@npm:0.17.19": + version: 0.17.19 + resolution: "@esbuild/linux-s390x@npm:0.17.19" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + "@esbuild/linux-s390x@npm:0.25.8": version: 0.25.8 resolution: "@esbuild/linux-s390x@npm:0.25.8" @@ -1932,6 +2037,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-x64@npm:0.17.19": + version: 0.17.19 + resolution: "@esbuild/linux-x64@npm:0.17.19" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + "@esbuild/linux-x64@npm:0.25.8": version: 0.25.8 resolution: "@esbuild/linux-x64@npm:0.25.8" @@ -1946,6 +2058,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/netbsd-x64@npm:0.17.19": + version: 0.17.19 + resolution: "@esbuild/netbsd-x64@npm:0.17.19" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/netbsd-x64@npm:0.25.8": version: 0.25.8 resolution: "@esbuild/netbsd-x64@npm:0.25.8" @@ -1960,6 +2079,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/openbsd-x64@npm:0.17.19": + version: 0.17.19 + resolution: "@esbuild/openbsd-x64@npm:0.17.19" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/openbsd-x64@npm:0.25.8": version: 0.25.8 resolution: "@esbuild/openbsd-x64@npm:0.25.8" @@ -1974,6 +2100,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/sunos-x64@npm:0.17.19": + version: 0.17.19 + resolution: "@esbuild/sunos-x64@npm:0.17.19" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + "@esbuild/sunos-x64@npm:0.25.8": version: 0.25.8 resolution: "@esbuild/sunos-x64@npm:0.25.8" @@ -1981,6 +2114,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-arm64@npm:0.17.19": + version: 0.17.19 + resolution: "@esbuild/win32-arm64@npm:0.17.19" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/win32-arm64@npm:0.25.8": version: 0.25.8 resolution: "@esbuild/win32-arm64@npm:0.25.8" @@ -1988,6 +2128,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-ia32@npm:0.17.19": + version: 0.17.19 + resolution: "@esbuild/win32-ia32@npm:0.17.19" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + "@esbuild/win32-ia32@npm:0.25.8": version: 0.25.8 resolution: "@esbuild/win32-ia32@npm:0.25.8" @@ -1995,6 +2142,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-x64@npm:0.17.19": + version: 0.17.19 + resolution: "@esbuild/win32-x64@npm:0.17.19" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@esbuild/win32-x64@npm:0.25.8": version: 0.25.8 resolution: "@esbuild/win32-x64@npm:0.25.8" @@ -4893,6 +5047,16 @@ __metadata: languageName: node linkType: hard +"anymatch@npm:~3.1.2": + version: 3.1.3 + resolution: "anymatch@npm:3.1.3" + dependencies: + normalize-path: "npm:^3.0.0" + picomatch: "npm:^2.0.4" + checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac + languageName: node + linkType: hard + "argparse@npm:^1.0.7": version: 1.0.10 resolution: "argparse@npm:1.0.10" @@ -5244,6 +5408,13 @@ __metadata: languageName: node linkType: hard +"binary-extensions@npm:^2.0.0": + version: 2.3.0 + resolution: "binary-extensions@npm:2.3.0" + checksum: 10c0/75a59cafc10fb12a11d510e77110c6c7ae3f4ca22463d52487709ca7f18f69d886aa387557cc9864fbdb10153d0bdb4caacabf11541f55e89ed6e18d12ece2b5 + languageName: node + linkType: hard + "bl@npm:^4.0.2, bl@npm:^4.0.3": version: 4.1.0 resolution: "bl@npm:4.1.0" @@ -5295,7 +5466,7 @@ __metadata: languageName: node linkType: hard -"braces@npm:^3.0.3": +"braces@npm:^3.0.3, braces@npm:~3.0.2": version: 3.0.3 resolution: "braces@npm:3.0.3" dependencies: @@ -5460,6 +5631,17 @@ __metadata: languageName: node linkType: hard +"bundle-require@npm:^4.0.4": + version: 4.2.1 + resolution: "bundle-require@npm:4.2.1" + dependencies: + load-tsconfig: "npm:^0.2.3" + peerDependencies: + esbuild: ">=0.17" + checksum: 10c0/f458ce39f8dd23f900f1877f475f36aa502ecf888cc97cfa2b8d1e9178d091a0d4c09f07afff001aae8b805ba6a94ca71bbbd9efe08b0e03c870bd61e8c00cb3 + languageName: node + linkType: hard + "cac@npm:^6.7.14": version: 6.7.14 resolution: "cac@npm:6.7.14" @@ -5536,7 +5718,7 @@ __metadata: languageName: node linkType: hard -"camelcase@npm:^6.2.0": +"camelcase@npm:^6.0.0, camelcase@npm:^6.2.0": version: 6.3.0 resolution: "camelcase@npm:6.3.0" checksum: 10c0/0d701658219bd3116d12da3eab31acddb3f9440790c0792e0d398f0a520a6a4058018e546862b6fba89d7ae990efaeb97da71e1913e9ebf5a8b5621a3d55c710 @@ -5606,6 +5788,16 @@ __metadata: languageName: node linkType: hard +"chalk@npm:4.1.2, chalk@npm:^4.0.0, chalk@npm:^4.0.2": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 + languageName: node + linkType: hard + "chalk@npm:^2.3.0": version: 2.4.2 resolution: "chalk@npm:2.4.2" @@ -5617,16 +5809,6 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^4.0.0, chalk@npm:^4.0.2": - version: 4.1.2 - resolution: "chalk@npm:4.1.2" - dependencies: - ansi-styles: "npm:^4.1.0" - supports-color: "npm:^7.1.0" - checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 - languageName: node - linkType: hard - "change-case@npm:^4.1.2": version: 4.1.2 resolution: "change-case@npm:4.1.2" @@ -5728,6 +5910,25 @@ __metadata: languageName: node linkType: hard +"chokidar@npm:^3.4.0, chokidar@npm:^3.5.3": + version: 3.6.0 + resolution: "chokidar@npm:3.6.0" + dependencies: + anymatch: "npm:~3.1.2" + braces: "npm:~3.0.2" + fsevents: "npm:~2.3.2" + glob-parent: "npm:~5.1.2" + is-binary-path: "npm:~2.1.0" + is-glob: "npm:~4.0.1" + normalize-path: "npm:~3.0.0" + readdirp: "npm:~3.6.0" + dependenciesMeta: + fsevents: + optional: true + checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 + languageName: node + linkType: hard + "chokidar@npm:^4.0.0": version: 4.0.3 resolution: "chokidar@npm:4.0.3" @@ -5775,6 +5976,17 @@ __metadata: languageName: node linkType: hard +"cliui@npm:^8.0.1": + version: 8.0.1 + resolution: "cliui@npm:8.0.1" + dependencies: + string-width: "npm:^4.2.0" + strip-ansi: "npm:^6.0.1" + wrap-ansi: "npm:^7.0.0" + checksum: 10c0/4bda0f09c340cbb6dfdc1ed508b3ca080f12992c18d68c6be4d9cf51756033d5266e61ec57529e610dacbf4da1c634423b0c1b11037709cc6b09045cbd815df5 + languageName: node + linkType: hard + "clsx@npm:^2.1.1": version: 2.1.1 resolution: "clsx@npm:2.1.1" @@ -6212,6 +6424,15 @@ __metadata: languageName: node linkType: hard +"cssesc@npm:^3.0.0": + version: 3.0.0 + resolution: "cssesc@npm:3.0.0" + bin: + cssesc: bin/cssesc + checksum: 10c0/6bcfd898662671be15ae7827120472c5667afb3d7429f1f917737f3bf84c4176003228131b643ae74543f17a394446247df090c597bb9a728cce298606ed0aa7 + languageName: node + linkType: hard + "csso@npm:^5.0.5": version: 5.0.5 resolution: "csso@npm:5.0.5" @@ -7005,6 +7226,83 @@ __metadata: languageName: node linkType: hard +"esbuild@npm:^0.17.0": + version: 0.17.19 + resolution: "esbuild@npm:0.17.19" + dependencies: + "@esbuild/android-arm": "npm:0.17.19" + "@esbuild/android-arm64": "npm:0.17.19" + "@esbuild/android-x64": "npm:0.17.19" + "@esbuild/darwin-arm64": "npm:0.17.19" + "@esbuild/darwin-x64": "npm:0.17.19" + "@esbuild/freebsd-arm64": "npm:0.17.19" + "@esbuild/freebsd-x64": "npm:0.17.19" + "@esbuild/linux-arm": "npm:0.17.19" + "@esbuild/linux-arm64": "npm:0.17.19" + "@esbuild/linux-ia32": "npm:0.17.19" + "@esbuild/linux-loong64": "npm:0.17.19" + "@esbuild/linux-mips64el": "npm:0.17.19" + "@esbuild/linux-ppc64": "npm:0.17.19" + "@esbuild/linux-riscv64": "npm:0.17.19" + "@esbuild/linux-s390x": "npm:0.17.19" + "@esbuild/linux-x64": "npm:0.17.19" + "@esbuild/netbsd-x64": "npm:0.17.19" + "@esbuild/openbsd-x64": "npm:0.17.19" + "@esbuild/sunos-x64": "npm:0.17.19" + "@esbuild/win32-arm64": "npm:0.17.19" + "@esbuild/win32-ia32": "npm:0.17.19" + "@esbuild/win32-x64": "npm:0.17.19" + dependenciesMeta: + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10c0/c7ac14bfaaebe4745d5d18347b4f6854fd1140acb9389e88dbfa5c20d4e2122451d9647d5498920470a880a605d6e5502b5c2102da6c282b01f129ddd49d2874 + languageName: node + linkType: hard + "esbuild@npm:^0.25.0": version: 0.25.8 resolution: "esbuild@npm:0.25.8" @@ -7094,7 +7392,7 @@ __metadata: languageName: node linkType: hard -"escalade@npm:^3.2.0": +"escalade@npm:^3.1.1, escalade@npm:^3.2.0": version: 3.2.0 resolution: "escalade@npm:3.2.0" checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 @@ -7514,6 +7812,18 @@ __metadata: languageName: node linkType: hard +"fdir@npm:^6.5.0": + version: 6.5.0 + resolution: "fdir@npm:6.5.0" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 10c0/e345083c4306b3aed6cb8ec551e26c36bab5c511e99ea4576a16750ddc8d3240e63826cc624f5ae17ad4dc82e68a253213b60d556c11bfad064b7607847ed07f + languageName: node + linkType: hard + "fflate@npm:^0.8.2": version: 0.8.2 resolution: "fflate@npm:0.8.2" @@ -7803,6 +8113,7 @@ __metadata: typescript: "npm:^5.8.2" typescript-eslint: "npm:^8.1.0" unified: "npm:^11.0.0" + unplugin-typed-css-modules: "npm:^1.1.0" url: "npm:^0.11.1" uuid: "npm:^13.0.0" vitest: "npm:^3.2.4" @@ -7905,6 +8216,15 @@ __metadata: languageName: node linkType: hard +"generic-names@npm:^4.0.0": + version: 4.0.0 + resolution: "generic-names@npm:4.0.0" + dependencies: + loader-utils: "npm:^3.2.0" + checksum: 10c0/4e2be864535fadceed4e803fefc1df7f85447d9479d51e611a8a43a2c96533422b62c8fae84d9eb10cc21ee3de569a8c29d5ba68978ae930cccc9cb43b9a36d1 + languageName: node + linkType: hard + "gensync@npm:^1.0.0-beta.2": version: 1.0.0-beta.2 resolution: "gensync@npm:1.0.0-beta.2" @@ -7912,6 +8232,13 @@ __metadata: languageName: node linkType: hard +"get-caller-file@npm:^2.0.5": + version: 2.0.5 + resolution: "get-caller-file@npm:2.0.5" + checksum: 10c0/c6c7b60271931fa752aeb92f2b47e355eac1af3a2673f47c9589e8f8a41adc74d45551c1bc57b5e66a80609f10ffb72b6f575e4370d61cc3f7f3aaff01757cde + languageName: node + linkType: hard + "get-intrinsic@npm:^1.2.4, get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.2.6, get-intrinsic@npm:^1.2.7, get-intrinsic@npm:^1.3.0": version: 1.3.0 resolution: "get-intrinsic@npm:1.3.0" @@ -7974,7 +8301,7 @@ __metadata: languageName: node linkType: hard -"glob-parent@npm:^5.1.2": +"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": version: 5.1.2 resolution: "glob-parent@npm:5.1.2" dependencies: @@ -8008,7 +8335,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.1.6": +"glob@npm:^7.1.6, glob@npm:^7.2.0": version: 7.2.3 resolution: "glob@npm:7.2.3" dependencies: @@ -8441,6 +8768,22 @@ __metadata: languageName: node linkType: hard +"icss-replace-symbols@npm:^1.1.0": + version: 1.1.0 + resolution: "icss-replace-symbols@npm:1.1.0" + checksum: 10c0/aaa5b67f82781fccc77bf6df14eaa9177ce3944462ef82b2b9e3b9f17d8fcd90f8851ffd5e6e249ebc5c464bfda07c2eccce2d122274c51c9d5b359b087f7049 + languageName: node + linkType: hard + +"icss-utils@npm:^5.0.0, icss-utils@npm:^5.1.0": + version: 5.1.0 + resolution: "icss-utils@npm:5.1.0" + peerDependencies: + postcss: ^8.1.0 + checksum: 10c0/39c92936fabd23169c8611d2b5cc39e39d10b19b0d223352f20a7579f75b39d5f786114a6b8fc62bee8c5fed59ba9e0d38f7219a4db383e324fb3061664b043d + languageName: node + linkType: hard + "idb@npm:^7.0.1": version: 7.1.1 resolution: "idb@npm:7.1.1" @@ -8671,6 +9014,15 @@ __metadata: languageName: node linkType: hard +"is-binary-path@npm:~2.1.0": + version: 2.1.0 + resolution: "is-binary-path@npm:2.1.0" + dependencies: + binary-extensions: "npm:^2.0.0" + checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 + languageName: node + linkType: hard + "is-boolean-object@npm:^1.2.1": version: 1.2.2 resolution: "is-boolean-object@npm:1.2.2" @@ -8767,7 +9119,7 @@ __metadata: languageName: node linkType: hard -"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3": +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": version: 4.0.3 resolution: "is-glob@npm:4.0.3" dependencies: @@ -8922,6 +9274,13 @@ __metadata: languageName: node linkType: hard +"is-there@npm:^4.4.2": + version: 4.5.2 + resolution: "is-there@npm:4.5.2" + checksum: 10c0/39e6fc543e583c488c64ae9761b4eeb945b359ef5f684d9d42f50d368885dcc5e6c5e767f98de5a48a5ae2df2bfac46784167b58384b44ddbf578e5507c2e0bd + languageName: node + linkType: hard + "is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.14, is-typed-array@npm:^1.1.15, is-typed-array@npm:^1.1.3": version: 1.1.15 resolution: "is-typed-array@npm:1.1.15" @@ -9148,6 +9507,13 @@ __metadata: languageName: node linkType: hard +"joycon@npm:^3.1.1": + version: 3.1.1 + resolution: "joycon@npm:3.1.1" + checksum: 10c0/131fb1e98c9065d067fd49b6e685487ac4ad4d254191d7aa2c9e3b90f4e9ca70430c43cad001602bdbdabcf58717d3b5c5b7461c1bd8e39478c8de706b3fe6ae + languageName: node + linkType: hard + "js-base64@npm:^3.7.5": version: 3.7.7 resolution: "js-base64@npm:3.7.7" @@ -9469,6 +9835,13 @@ __metadata: languageName: node linkType: hard +"load-tsconfig@npm:^0.2.3": + version: 0.2.5 + resolution: "load-tsconfig@npm:0.2.5" + checksum: 10c0/bf2823dd26389d3497b6567f07435c5a7a58d9df82e879b0b3892f87d8db26900f84c85bc329ef41c0540c0d6a448d1c23ddc64a80f3ff6838b940f3915a3fcb + languageName: node + linkType: hard + "loader-utils@npm:^2.0.4": version: 2.0.4 resolution: "loader-utils@npm:2.0.4" @@ -9480,7 +9853,7 @@ __metadata: languageName: node linkType: hard -"loader-utils@npm:^3.3.1": +"loader-utils@npm:^3.2.0, loader-utils@npm:^3.3.1": version: 3.3.1 resolution: "loader-utils@npm:3.3.1" checksum: 10c0/f2af4eb185ac5bf7e56e1337b666f90744e9f443861ac521b48f093fb9e8347f191c8960b4388a3365147d218913bc23421234e7788db69f385bacfefa0b4758 @@ -9503,6 +9876,13 @@ __metadata: languageName: node linkType: hard +"lodash.camelcase@npm:^4.3.0": + version: 4.3.0 + resolution: "lodash.camelcase@npm:4.3.0" + checksum: 10c0/fcba15d21a458076dd309fce6b1b4bf611d84a0ec252cb92447c948c533ac250b95d2e00955801ebc367e5af5ed288b996d75d37d2035260a937008e14eaf432 + languageName: node + linkType: hard + "lodash.debounce@npm:^4.0.8": version: 4.0.8 resolution: "lodash.debounce@npm:4.0.8" @@ -10320,7 +10700,7 @@ __metadata: languageName: node linkType: hard -"mkdirp@npm:^3.0.1": +"mkdirp@npm:^3.0.0, mkdirp@npm:^3.0.1": version: 3.0.1 resolution: "mkdirp@npm:3.0.1" bin: @@ -10486,7 +10866,7 @@ __metadata: languageName: node linkType: hard -"normalize-path@npm:^3.0.0": +"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": version: 3.0.0 resolution: "normalize-path@npm:3.0.0" checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 @@ -11008,7 +11388,7 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^2.2.2, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.2, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": version: 2.3.1 resolution: "picomatch@npm:2.3.1" checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be @@ -11038,6 +11418,78 @@ __metadata: languageName: node linkType: hard +"postcss-modules-extract-imports@npm:^3.0.0, postcss-modules-extract-imports@npm:^3.1.0": + version: 3.1.0 + resolution: "postcss-modules-extract-imports@npm:3.1.0" + peerDependencies: + postcss: ^8.1.0 + checksum: 10c0/402084bcab376083c4b1b5111b48ec92974ef86066f366f0b2d5b2ac2b647d561066705ade4db89875a13cb175b33dd6af40d16d32b2ea5eaf8bac63bd2bf219 + languageName: node + linkType: hard + +"postcss-modules-local-by-default@npm:^4.0.0, postcss-modules-local-by-default@npm:^4.0.5": + version: 4.2.0 + resolution: "postcss-modules-local-by-default@npm:4.2.0" + dependencies: + icss-utils: "npm:^5.0.0" + postcss-selector-parser: "npm:^7.0.0" + postcss-value-parser: "npm:^4.1.0" + peerDependencies: + postcss: ^8.1.0 + checksum: 10c0/b0b83feb2a4b61f5383979d37f23116c99bc146eba1741ca3cf1acca0e4d0dbf293ac1810a6ab4eccbe1ee76440dd0a9eb2db5b3bba4f99fc1b3ded16baa6358 + languageName: node + linkType: hard + +"postcss-modules-scope@npm:^3.0.0, postcss-modules-scope@npm:^3.2.0": + version: 3.2.1 + resolution: "postcss-modules-scope@npm:3.2.1" + dependencies: + postcss-selector-parser: "npm:^7.0.0" + peerDependencies: + postcss: ^8.1.0 + checksum: 10c0/bd2d81f79e3da0ef6365b8e2c78cc91469d05b58046b4601592cdeef6c4050ed8fe1478ae000a1608042fc7e692cb51fecbd2d9bce3f4eace4d32e883ffca10b + languageName: node + linkType: hard + +"postcss-modules-values@npm:^4.0.0": + version: 4.0.0 + resolution: "postcss-modules-values@npm:4.0.0" + dependencies: + icss-utils: "npm:^5.0.0" + peerDependencies: + postcss: ^8.1.0 + checksum: 10c0/dd18d7631b5619fb9921b198c86847a2a075f32e0c162e0428d2647685e318c487a2566cc8cc669fc2077ef38115cde7a068e321f46fb38be3ad49646b639dbc + languageName: node + linkType: hard + +"postcss-modules@npm:^6.0.0": + version: 6.0.1 + resolution: "postcss-modules@npm:6.0.1" + dependencies: + generic-names: "npm:^4.0.0" + icss-utils: "npm:^5.1.0" + lodash.camelcase: "npm:^4.3.0" + postcss-modules-extract-imports: "npm:^3.1.0" + postcss-modules-local-by-default: "npm:^4.0.5" + postcss-modules-scope: "npm:^3.2.0" + postcss-modules-values: "npm:^4.0.0" + string-hash: "npm:^1.1.3" + peerDependencies: + postcss: ^8.0.0 + checksum: 10c0/b82230693cb257b69db486df8835626d96632481ec6a8777b51ae7a530a56fa0ed399cbc8c2c777525f31fefab5a2d12ea7331a748fdfddde9f16cf3fff3bc58 + languageName: node + linkType: hard + +"postcss-selector-parser@npm:^7.0.0": + version: 7.1.0 + resolution: "postcss-selector-parser@npm:7.1.0" + dependencies: + cssesc: "npm:^3.0.0" + util-deprecate: "npm:^1.0.2" + checksum: 10c0/0fef257cfd1c0fe93c18a3f8a6e739b4438b527054fd77e9a62730a89b2d0ded1b59314a7e4aaa55bc256204f40830fecd2eb50f20f8cb7ab3a10b52aa06c8aa + languageName: node + linkType: hard + "postcss-value-parser@npm:^3.3.0": version: 3.3.1 resolution: "postcss-value-parser@npm:3.3.1" @@ -11045,7 +11497,7 @@ __metadata: languageName: node linkType: hard -"postcss-value-parser@npm:^4.0.2": +"postcss-value-parser@npm:^4.0.2, postcss-value-parser@npm:^4.1.0": version: 4.2.0 resolution: "postcss-value-parser@npm:4.2.0" checksum: 10c0/f4142a4f56565f77c1831168e04e3effd9ffcc5aebaf0f538eee4b2d465adfd4b85a44257bb48418202a63806a7da7fe9f56c330aebb3cac898e46b4cbf49161 @@ -11063,7 +11515,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.5.6": +"postcss@npm:^8.0.0, postcss@npm:^8.4.27, postcss@npm:^8.5.6": version: 8.5.6 resolution: "postcss@npm:8.5.6" dependencies: @@ -11888,6 +12340,15 @@ __metadata: languageName: node linkType: hard +"readdirp@npm:~3.6.0": + version: 3.6.0 + resolution: "readdirp@npm:3.6.0" + dependencies: + picomatch: "npm:^2.2.1" + checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b + languageName: node + linkType: hard + "recharts-scale@npm:^0.4.4": version: 0.4.5 resolution: "recharts-scale@npm:0.4.5" @@ -12133,6 +12594,13 @@ __metadata: languageName: node linkType: hard +"require-directory@npm:^2.1.1": + version: 2.1.1 + resolution: "require-directory@npm:2.1.1" + checksum: 10c0/83aa76a7bc1531f68d92c75a2ca2f54f1b01463cb566cf3fbc787d0de8be30c9dbc211d1d46be3497dac5785fe296f2dd11d531945ac29730643357978966e99 + languageName: node + linkType: hard + "require-from-string@npm:^2.0.2": version: 2.0.2 resolution: "require-from-string@npm:2.0.2" @@ -12147,6 +12615,13 @@ __metadata: languageName: node linkType: hard +"reserved-words@npm:^0.1.2": + version: 0.1.2 + resolution: "reserved-words@npm:0.1.2" + checksum: 10c0/88360388d88f4b36c1f5d47f8d596936dbf950bddd642c04ce940f1dab1fa58ef6fec23f5fab81a1bfe5cd0f223b2b635311496fcf0ef3db93ad4dfb6d7be186 + languageName: node + linkType: hard + "resize-observer-polyfill@npm:^1.5.1": version: 1.5.1 resolution: "resize-observer-polyfill@npm:1.5.1" @@ -12966,6 +13441,13 @@ __metadata: languageName: node linkType: hard +"slash@npm:^3.0.0": + version: 3.0.0 + resolution: "slash@npm:3.0.0" + checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b + languageName: node + linkType: hard + "smart-buffer@npm:^4.2.0": version: 4.2.0 resolution: "smart-buffer@npm:4.2.0" @@ -13220,7 +13702,14 @@ __metadata: languageName: node linkType: hard -"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0": +"string-hash@npm:^1.1.3": + version: 1.1.3 + resolution: "string-hash@npm:1.1.3" + checksum: 10c0/179725d7706b49fbbc0a4901703a2d8abec244140879afd5a17908497e586a6b07d738f6775450aefd9f8dd729e4a0abd073fbc6fa3bd020b7a1d2369614af88 + languageName: node + linkType: hard + +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" dependencies: @@ -13663,6 +14152,16 @@ __metadata: languageName: node linkType: hard +"tinyglobby@npm:^0.2.15": + version: 0.2.15 + resolution: "tinyglobby@npm:0.2.15" + dependencies: + fdir: "npm:^6.5.0" + picomatch: "npm:^4.0.3" + checksum: 10c0/869c31490d0d88eedb8305d178d4c75e7463e820df5a9b9d388291daf93e8b1eb5de1dad1c1e139767e4269fe75f3b10d5009b2cc14db96ff98986920a186844 + languageName: node + linkType: hard + "tinypool@npm:^1.1.1": version: 1.1.1 resolution: "tinypool@npm:1.1.1" @@ -13907,6 +14406,59 @@ __metadata: languageName: node linkType: hard +"typed-css-modules@npm:^0.9.1": + version: 0.9.1 + resolution: "typed-css-modules@npm:0.9.1" + dependencies: + camelcase: "npm:^6.0.0" + chalk: "npm:^4.0.0" + chokidar: "npm:^3.4.0" + glob: "npm:^10.3.10" + icss-replace-symbols: "npm:^1.1.0" + is-there: "npm:^4.4.2" + mkdirp: "npm:^3.0.0" + postcss: "npm:^8.0.0" + postcss-modules-extract-imports: "npm:^3.0.0" + postcss-modules-local-by-default: "npm:^4.0.0" + postcss-modules-scope: "npm:^3.0.0" + postcss-modules-values: "npm:^4.0.0" + yargs: "npm:^17.7.2" + bin: + tcm: lib/cli.js + checksum: 10c0/c8e15e79f85f0906d391a562c3f686ac7c00125aa96631456762e2dabc1118ca2f475be7718b924e3f9fe3d86b5fde58fe381aa0217d5481df1f80f2ee29d1a4 + languageName: node + linkType: hard + +"typed-scss-modules@npm:^8.1.1": + version: 8.1.1 + resolution: "typed-scss-modules@npm:8.1.1" + dependencies: + bundle-require: "npm:^4.0.4" + chalk: "npm:4.1.2" + change-case: "npm:^4.1.2" + chokidar: "npm:^3.5.3" + esbuild: "npm:^0.17.0" + glob: "npm:^7.2.0" + joycon: "npm:^3.1.1" + postcss: "npm:^8.4.27" + postcss-modules: "npm:^6.0.0" + reserved-words: "npm:^0.1.2" + slash: "npm:^3.0.0" + yargs: "npm:^17.3.1" + peerDependencies: + node-sass: ^7.0.3 || ^8.0.0 + sass: ^1.49.7 + peerDependenciesMeta: + node-sass: + optional: true + sass: + optional: true + bin: + typed-scss-modules: dist/lib/cli.js + checksum: 10c0/bd4e74ca0379db1d939e90d8eb31cf1232a353ba4674f116b2ae7f4a4594dc24b9f2188a47f8675abc2de547565a9f31c11b0cd71d9987936d420c888c539c35 + languageName: node + linkType: hard + "typedarray@npm:^0.0.6": version: 0.0.6 resolution: "typedarray@npm:0.0.6" @@ -14128,6 +14680,35 @@ __metadata: languageName: node linkType: hard +"unplugin-typed-css-modules@npm:^1.1.0": + version: 1.1.0 + resolution: "unplugin-typed-css-modules@npm:1.1.0" + dependencies: + tinyglobby: "npm:^0.2.15" + typed-css-modules: "npm:^0.9.1" + typed-scss-modules: "npm:^8.1.1" + unplugin: "npm:^2.3.10" + peerDependencies: + "@rspack/core": ^1.5.8 + peerDependenciesMeta: + "@rspack/core": + optional: true + checksum: 10c0/4c9877e8f5874c247cc271d46a29373dcee13c8007c82380f66110ea037aa52b2ccbbdca2f4a8a3de960fac4bd17f96ae1bac41349430f66f42333a3b558f191 + languageName: node + linkType: hard + +"unplugin@npm:^2.3.10": + version: 2.3.10 + resolution: "unplugin@npm:2.3.10" + dependencies: + "@jridgewell/remapping": "npm:^2.3.5" + acorn: "npm:^8.15.0" + picomatch: "npm:^4.0.3" + webpack-virtual-modules: "npm:^0.6.2" + checksum: 10c0/29dcd738772aeff91c6f0154f156c95c58a37a4674fcb7cc34d6868af763834f0f447a1c3af074818c0c5602baead49bd3b9399a13f0425d69a00a527e58ddda + languageName: node + linkType: hard + "upath@npm:^1.2.0": version: 1.2.0 resolution: "upath@npm:1.2.0" @@ -14239,7 +14820,7 @@ __metadata: languageName: node linkType: hard -"util-deprecate@npm:^1.0.1, util-deprecate@npm:~1.0.1": +"util-deprecate@npm:^1.0.1, util-deprecate@npm:^1.0.2, util-deprecate@npm:~1.0.1": version: 1.0.2 resolution: "util-deprecate@npm:1.0.2" checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 @@ -14558,6 +15139,13 @@ __metadata: languageName: node linkType: hard +"webpack-virtual-modules@npm:^0.6.2": + version: 0.6.2 + resolution: "webpack-virtual-modules@npm:0.6.2" + checksum: 10c0/5ffbddf0e84bf1562ff86cf6fcf039c74edf09d78358a6904a09bbd4484e8bb6812dc385fe14330b715031892dcd8423f7a88278b57c9f5002c84c2860179add + languageName: node + linkType: hard + "whatwg-encoding@npm:^3.1.1": version: 3.1.1 resolution: "whatwg-encoding@npm:3.1.1" @@ -14880,7 +15468,7 @@ __metadata: languageName: node linkType: hard -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": version: 7.0.0 resolution: "wrap-ansi@npm:7.0.0" dependencies: @@ -14986,6 +15574,13 @@ __metadata: languageName: node linkType: hard +"y18n@npm:^5.0.5": + version: 5.0.8 + resolution: "y18n@npm:5.0.8" + checksum: 10c0/4df2842c36e468590c3691c894bc9cdbac41f520566e76e24f59401ba7d8b4811eb1e34524d57e54bc6d864bcb66baab7ffd9ca42bf1eda596618f9162b91249 + languageName: node + linkType: hard + "yallist@npm:^3.0.2": version: 3.1.1 resolution: "yallist@npm:3.1.1" @@ -15021,6 +15616,28 @@ __metadata: languageName: node linkType: hard +"yargs-parser@npm:^21.1.1": + version: 21.1.1 + resolution: "yargs-parser@npm:21.1.1" + checksum: 10c0/f84b5e48169479d2f402239c59f084cfd1c3acc197a05c59b98bab067452e6b3ea46d4dd8ba2985ba7b3d32a343d77df0debd6b343e5dae3da2aab2cdf5886b2 + languageName: node + linkType: hard + +"yargs@npm:^17.3.1, yargs@npm:^17.7.2": + version: 17.7.2 + resolution: "yargs@npm:17.7.2" + dependencies: + cliui: "npm:^8.0.1" + escalade: "npm:^3.1.1" + get-caller-file: "npm:^2.0.5" + require-directory: "npm:^2.1.1" + string-width: "npm:^4.2.3" + y18n: "npm:^5.0.5" + yargs-parser: "npm:^21.1.1" + checksum: 10c0/ccd7e723e61ad5965fffbb791366db689572b80cca80e0f96aad968dfff4156cd7cd1ad18607afe1046d8241e6fb2d6c08bf7fa7bfb5eaec818735d8feac8f05 + languageName: node + linkType: hard + "yocto-queue@npm:^0.1.0": version: 0.1.0 resolution: "yocto-queue@npm:0.1.0"