From c71ae08bc265cfab398bd7f6569f99d149b3db5a Mon Sep 17 00:00:00 2001 From: Justin Coyne Date: Tue, 24 Jan 2023 16:02:49 -0600 Subject: [PATCH 1/3] Inline sul_styles This helps us so that we can migrate from libsass to dart sass --- Gemfile | 1 - Gemfile.lock | 3 - app/assets/stylesheets/sul-styles.scss | 4 + .../sul-styles/su_primary_colors.scss | 34 ++++++++ .../stylesheets/sul-styles/su_web_colors.scss | 34 ++++++++ .../stylesheets/sul-styles/sul_footer.scss | 77 +++++++++++++++++++ .../stylesheets/sul-styles/variables.scss | 5 ++ 7 files changed, 154 insertions(+), 4 deletions(-) create mode 100644 app/assets/stylesheets/sul-styles.scss create mode 100644 app/assets/stylesheets/sul-styles/su_primary_colors.scss create mode 100644 app/assets/stylesheets/sul-styles/su_web_colors.scss create mode 100644 app/assets/stylesheets/sul-styles/sul_footer.scss create mode 100644 app/assets/stylesheets/sul-styles/variables.scss diff --git a/Gemfile b/Gemfile index b540c7237..0a2caed56 100644 --- a/Gemfile +++ b/Gemfile @@ -115,7 +115,6 @@ source 'https://gems.contribsys.com/' do end gem 'sidekiq', '~> 7.0' -gem 'sul_styles' gem 'dotenv' gem 'riiif' gem 'rsolr' diff --git a/Gemfile.lock b/Gemfile.lock index 0df58f34c..06790851c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -711,8 +711,6 @@ GEM stanford-mods (3.3.1) activesupport mods (~> 3.0, >= 3.0.3) - sul_styles (0.7.0) - rails (>= 4.1, < 8) test_xml (0.1.8) diffy (~> 3.0) nokogiri (>= 1.3.2) @@ -864,7 +862,6 @@ DEPENDENCIES sprockets-rails sqlite3 stanford-mods (~> 3.0) - sul_styles traject turbolinks (~> 5) turnout diff --git a/app/assets/stylesheets/sul-styles.scss b/app/assets/stylesheets/sul-styles.scss new file mode 100644 index 000000000..25e8040e5 --- /dev/null +++ b/app/assets/stylesheets/sul-styles.scss @@ -0,0 +1,4 @@ +@import 'sul-styles/su_web_colors'; +@import 'sul-styles/su_primary_colors'; +@import 'sul-styles/variables'; +@import 'sul-styles/sul_footer'; \ No newline at end of file diff --git a/app/assets/stylesheets/sul-styles/su_primary_colors.scss b/app/assets/stylesheets/sul-styles/su_primary_colors.scss new file mode 100644 index 000000000..5721fe604 --- /dev/null +++ b/app/assets/stylesheets/sul-styles/su_primary_colors.scss @@ -0,0 +1,34 @@ +/* + Stanford Primary Colors + from https://identity.stanford.edu/overview/color.html +*/ + +// Primary Palette +$color-cardinal-red: #8c1515; +$color-cool-gray: #4d4f53; +$color-black: #000; + +// Neutral Color Palette +$color-pantone-467: #d2c295; +$color-pantone-465: #b3995d; +$color-pantone-403: #928b81; +$color-pantone-401: #b6b1a9; +$color-pantone-7527: #dad7cb; +$color-pantone-5665: #c7d1c5; +$color-pantone-445: #4d5357; +$color-pantone-405: #5f574f; + +// Deep Tone Color Palette +$color-pantone-1817: #5e3032; +$color-pantone-7526: #8d3c1e; +$color-pantone-3165: #00505c; +$color-pantone-561: #175e54; +$color-pantone-262: #53284f; + +// Bright Color Palette +$color-pantone-2925: #0098db; +$color-pantone-3145: #007c92; +$color-pantone-334: #009b76; +$color-pantone-7511: #b26f16; +$color-pantone-144: #e98300; +$color-pantone-124: #eaab00; diff --git a/app/assets/stylesheets/sul-styles/su_web_colors.scss b/app/assets/stylesheets/sul-styles/su_web_colors.scss new file mode 100644 index 000000000..fa28fbe62 --- /dev/null +++ b/app/assets/stylesheets/sul-styles/su_web_colors.scss @@ -0,0 +1,34 @@ +/* + Stanford Web Colors + from https://identity.stanford.edu/web-toolkit/color.html +*/ + +// Red +$color-cardinal-red: #8c1515; +$color-dark-red: #820000; + +// Black +$color-blackish: #2e2d29; +$color-black-80: #585754; + +// Warm Gray +$color-gray: #3f3c30; +$color-gray-90: #565347; +$color-gray-60: #8a887d; + +// Sandstone +$color-sandstone: #ddcf99; +$color-sandstone-50: #eee6cb; +$color-sandstone-35: #f3efd8; +$color-sandstone-25: #f6f3e5; +$color-sandstone-20: #f8f6ea; + +// Beige +$color-beige: #9d9573; +$color-beige-85: #aca68d; +$color-beige-60: #c4bfa9; +$color-beige-40: #d5d0c0; +$color-beige-30: #e3dfd5; +$color-beige-20: #e9e6df; +$color-beige-10: #f2f1eb; +$color-beige-05: #fbfbf9; diff --git a/app/assets/stylesheets/sul-styles/sul_footer.scss b/app/assets/stylesheets/sul-styles/sul_footer.scss new file mode 100644 index 000000000..18cdd618a --- /dev/null +++ b/app/assets/stylesheets/sul-styles/sul_footer.scss @@ -0,0 +1,77 @@ +#su-content { + padding-bottom: $footer-height !important; +} + +#sul-footer-container { + background-color: $sul-footer-bg-color; + border-top: 1px solid $sul-footer-border-top-color; + -webkit-box-shadow: $sul-footer-shadow; + box-shadow: $sul-footer-shadow; + clear: both; + margin-top: -1 * $footer-height; + min-height: $footer-height; + padding: 0 !important; + position: relative; +} + +#sul-footer { + display: table; + font-size: small; + height: 80px; + margin: 0 auto; + padding: 0; + + ul { + list-style-type: none; + margin: 0; + } + + li { + display: inline; + margin: 0 13px 3px 0; + padding: 0; + + a { + color: $color-blackish; + white-space: nowrap; + } + + a, + a:hover, + a:focus { + border-bottom: 1px dotted $color-gray-60; + text-decoration: none; + } + } +} + +#sul-footer-img { + display: table-cell; + vertical-align: middle; + width: 162px; +} + +#sul-footer-links { + display: table-cell; + padding-left: 15px; + text-align: left; + vertical-align: middle; +} + +@media (min-width: 768px) { + #sul-footer { + width: 750px; + } +} + +@media (min-width: 980px) { + #sul-footer { + width: 970px; + } +} + +@media (min-width: 1200px) { + #sul-footer { + width: 1170px; + } +} diff --git a/app/assets/stylesheets/sul-styles/variables.scss b/app/assets/stylesheets/sul-styles/variables.scss new file mode 100644 index 000000000..7e60fedf1 --- /dev/null +++ b/app/assets/stylesheets/sul-styles/variables.scss @@ -0,0 +1,5 @@ +$sul-footer-bg-color: $color-beige-10; +$sul-footer-border-top-color: $color-beige-20; +$footer-height: 200px; +$sul-footer-shadow-color: rgba(0, 0, 0, 0.2); +$sul-footer-shadow: 0 4px 8px -8px $sul-footer-shadow-color inset; \ No newline at end of file From 6bce9af6c143cd4379dfcdafb013ec1898239f4c Mon Sep 17 00:00:00 2001 From: Justin Coyne Date: Tue, 24 Jan 2023 16:04:13 -0600 Subject: [PATCH 2/3] Stop requiring uglifier It is no longer used in Rails 7 --- Gemfile | 4 ---- Gemfile.lock | 3 --- 2 files changed, 7 deletions(-) diff --git a/Gemfile b/Gemfile index 0a2caed56..5015accf1 100644 --- a/Gemfile +++ b/Gemfile @@ -15,10 +15,6 @@ gem 'sprockets-rails' gem 'sassc-rails' # Use Puma as the app server gem 'puma', '~> 5.0' -# Use Uglifier as compressor for JavaScript assets -gem 'uglifier', '>= 2.7.2' -# See https://github.com/sstephenson/execjs#readme for more supported runtimes -# gem 'therubyracer', platforms: :ruby # Use jquery as the JavaScript library gem 'jquery-rails' diff --git a/Gemfile.lock b/Gemfile.lock index 06790851c..e62682e98 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -746,8 +746,6 @@ GEM tzinfo (2.0.5) concurrent-ruby (~> 1.0) uber (0.1.0) - uglifier (4.2.0) - execjs (>= 0.3.0, < 3) underscore-rails (1.8.3) unf (0.1.4) unf_ext @@ -867,7 +865,6 @@ DEPENDENCIES turnout twitter-typeahead-rails (= 0.11.1.pre.corejavascript) tzinfo-data - uglifier (>= 2.7.2) web-console (>= 4.1.0) webdrivers webmock From 335a25921c46c4b7a55cbaec87abc62f90b9b205 Mon Sep 17 00:00:00 2001 From: Justin Coyne Date: Tue, 24 Jan 2023 16:08:23 -0600 Subject: [PATCH 3/3] Migrate from libsass to dart sass --- .gitignore | 3 + Gemfile | 4 +- Gemfile.lock | 4 +- Procfile.dev | 2 + README.md | 6 +- app/assets/builds/.keep | 0 app/assets/config/manifest.js | 1 + app/assets/stylesheets/application.sass.scss | 2 + app/assets/stylesheets/application.scss | 1 - app/assets/stylesheets/base.scss | 2 +- bin/dev | 8 ++ package.json | 7 +- yarn.lock | 126 +++++++++++++++++++ 13 files changed, 157 insertions(+), 9 deletions(-) create mode 100644 Procfile.dev create mode 100644 app/assets/builds/.keep create mode 100644 app/assets/stylesheets/application.sass.scss delete mode 100644 app/assets/stylesheets/application.scss create mode 100755 bin/dev diff --git a/.gitignore b/.gitignore index 4cd245c8e..a288a4fbe 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,6 @@ config/environments/*.local.yml /node_modules /public/assets + +/app/assets/builds/* +!/app/assets/builds/.keep diff --git a/Gemfile b/Gemfile index 5015accf1..e6ffcdbae 100644 --- a/Gemfile +++ b/Gemfile @@ -11,8 +11,6 @@ gem 'rails', '~> 7.0' # The original asset pipeline for Rails [https://github.com/rails/sprockets-rails] gem 'sprockets-rails' -# Use SCSS for stylesheets -gem 'sassc-rails' # Use Puma as the app server gem 'puma', '~> 5.0' @@ -133,3 +131,5 @@ gem 'blacklight-oembed', '~> 1.0' # Used for shared reporting https://github.com/sul-dlss/exhibits/issues/2069 gem 'redis', '~> 5.0' + +gem "cssbundling-rails", "~> 1.1" diff --git a/Gemfile.lock b/Gemfile.lock index e62682e98..1bec97531 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -231,6 +231,8 @@ GEM rexml csl-styles (2.0.1) csl (~> 2.0) + cssbundling-rails (1.1.2) + railties (>= 6.0.0) database_cleaner (2.0.1) database_cleaner-active_record (~> 2.0.0) database_cleaner-active_record (2.0.1) @@ -809,6 +811,7 @@ DEPENDENCIES citeproc-ruby config csl-styles + cssbundling-rails (~> 1.1) database_cleaner debug devise @@ -847,7 +850,6 @@ DEPENDENCIES rubocop-rails rubocop-rspec ruby-oembed - sassc-rails selenium-webdriver (!= 3.13.0) sidekiq (~> 7.0) sidekiq-pro (~> 7.0)! diff --git a/Procfile.dev b/Procfile.dev new file mode 100644 index 000000000..cb7c9aa85 --- /dev/null +++ b/Procfile.dev @@ -0,0 +1,2 @@ +web: unset PORT && bin/rails server +css: yarn build:css --watch diff --git a/README.md b/README.md index cdc8cb76f..7316e0e20 100644 --- a/README.md +++ b/README.md @@ -31,19 +31,19 @@ See [projectblacklight/spotlight](https://github.com/projectblacklight/spotlight Install dependencies, set up the databases and run migrations: ```console $ bundle install -$ bundle exec rake db:setup +$ bin/rails db:setup ``` You can spin up the Rails server, solr_wrapper, and populate the Solr index using this command: ```console -$ REMOTE_USER="archivist1@example.com" bundle exec rake server +$ REMOTE_USER="archivist1@example.com" bin/dev ``` When prompted to create an admin user, the email should match the email provided in `REMOTE_USER`. This will allow you to bypass authentication. ## Testing Run RuboCop and tests: ```console -$ bundle exec rake +$ bin/rake ``` **Tip:** if you receive the error message `ERROR: Core 'blacklight-core' already exists!` you have an instance of Solr running elsewhere. Clean out your data with `solr_wrapper clean` or search for rogue instances with `ps aux | grep solr`. diff --git a/app/assets/builds/.keep b/app/assets/builds/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/app/assets/config/manifest.js b/app/assets/config/manifest.js index 9ff84f16e..c14415636 100644 --- a/app/assets/config/manifest.js +++ b/app/assets/config/manifest.js @@ -3,3 +3,4 @@ //= link application.css //= link application_parker.css //= link openseadragon-assets.js +//= link_tree ../builds diff --git a/app/assets/stylesheets/application.sass.scss b/app/assets/stylesheets/application.sass.scss new file mode 100644 index 000000000..c49775f5c --- /dev/null +++ b/app/assets/stylesheets/application.sass.scss @@ -0,0 +1,2 @@ +// Entry point for your Sass build +@import "base"; \ No newline at end of file diff --git a/app/assets/stylesheets/application.scss b/app/assets/stylesheets/application.scss deleted file mode 100644 index 9acd9cd62..000000000 --- a/app/assets/stylesheets/application.scss +++ /dev/null @@ -1 +0,0 @@ -@import "base"; diff --git a/app/assets/stylesheets/base.scss b/app/assets/stylesheets/base.scss index 7ff0b98c6..c019a3078 100644 --- a/app/assets/stylesheets/base.scss +++ b/app/assets/stylesheets/base.scss @@ -1,4 +1,4 @@ -@import 'blacklight_range_limit/blacklight_range_limit'; +@import 'blacklight-range-limit/app/assets/stylesheets/blacklight_range_limit/blacklight_range_limit'; @import 'bootstrap-slider/dist/css/bootstrap-slider'; @import "bootstrap-tagsinput"; @import "variables"; // bootstrap variable overrides diff --git a/bin/dev b/bin/dev new file mode 100755 index 000000000..74ade1664 --- /dev/null +++ b/bin/dev @@ -0,0 +1,8 @@ +#!/usr/bin/env sh + +if ! gem list foreman -i --silent; then + echo "Installing foreman..." + gem install foreman +fi + +exec foreman start -f Procfile.dev "$@" diff --git a/package.json b/package.json index b2f95e765..2a0979a15 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,11 @@ { "dependencies": { + "blacklight-range-limit": "8.2.4-beta.1", "bootstrap": "^4.6.2", - "bootstrap-slider": "^11.0.2" + "bootstrap-slider": "^11.0.2", + "sass": "^1.57.1" + }, + "scripts": { + "build:css": "sass ./app/assets/stylesheets/application.sass.scss:./app/assets/builds/application.css --no-source-map --load-path=node_modules" } } diff --git a/yarn.lock b/yarn.lock index f7115a122..9ab71a761 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,24 @@ # yarn lockfile v1 +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +blacklight-range-limit@8.2.4-beta.1: + version "8.2.4-beta.1" + resolved "https://registry.yarnpkg.com/blacklight-range-limit/-/blacklight-range-limit-8.2.4-beta.1.tgz#55b5f61410c60e6614a5ec03dcc3c314256966a1" + integrity sha512-/fpGXUxPI/1qbXgt+JYwMn6eaVucKyKQix2xM8gvwKSC8eQOL47iY6RkrIgJUCn3ELnM5pt45rmAmWMVeUAjgQ== + bootstrap-slider@^11.0.2: version "11.0.2" resolved "https://registry.yarnpkg.com/bootstrap-slider/-/bootstrap-slider-11.0.2.tgz#4b167c165f322339cc66f0c7166b5a39e289e251" @@ -11,3 +29,111 @@ bootstrap@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.6.2.tgz#8e0cd61611728a5bf65a3a2b8d6ff6c77d5d7479" integrity sha512-51Bbp/Uxr9aTuy6ca/8FbFloBUJZLHwnhTcnjIeRn2suQWsWzcuJhGjKDB5eppVte/8oCdOL3VuwxvZDUggwGQ== + +braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +"chokidar@>=3.0.0 <4.0.0": + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +immutable@^4.0.0: + version "4.2.2" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.2.2.tgz#2da9ff4384a4330c36d4d1bc88e90f9e0b0ccd16" + integrity sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +picomatch@^2.0.4, picomatch@^2.2.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +sass@^1.57.1: + version "1.57.1" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.57.1.tgz#dfafd46eb3ab94817145e8825208ecf7281119b5" + integrity sha512-O2+LwLS79op7GI0xZ8fqzF7X2m/m8WFfI02dHOdsK5R2ECeS5F62zrwg/relM1rjSLy7Vd/DiMNIvPrQGsA0jw== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + +"source-map-js@>=0.6.2 <2.0.0": + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0"