From 92852fdce49489134a707bf81d844b5d7f4ec1db Mon Sep 17 00:00:00 2001 From: Gjore Milevski Date: Mon, 2 Dec 2024 11:55:48 +0100 Subject: [PATCH] Rename scss files, update comments, fix paths, formatting --- .../components/common/banner/styles.scss | 0 .../{index.scss => datepicker.scss} | 0 .../components/common/datepicker/index.tsx | 20 +-- .../components/common/page-header/index.tsx | 1 - .../page-header/logo-container/index.tsx | 11 +- .../{styles.scss => logo-container.scss} | 0 .../{styles.scss => page-header.scss} | 0 app/scripts/styles/styles.scss | 11 +- gulpfile.js | 85 +++++++++++- package.json | 2 + postcss.config.js | 7 +- yarn.lock | 129 ++++++++++++++++++ 12 files changed, 240 insertions(+), 26 deletions(-) delete mode 100644 app/scripts/components/common/banner/styles.scss rename app/scripts/components/common/datepicker/{index.scss => datepicker.scss} (100%) rename app/scripts/components/common/page-header/logo-container/{styles.scss => logo-container.scss} (100%) rename app/scripts/components/common/page-header/{styles.scss => page-header.scss} (100%) diff --git a/app/scripts/components/common/banner/styles.scss b/app/scripts/components/common/banner/styles.scss deleted file mode 100644 index e69de29bb..000000000 diff --git a/app/scripts/components/common/datepicker/index.scss b/app/scripts/components/common/datepicker/datepicker.scss similarity index 100% rename from app/scripts/components/common/datepicker/index.scss rename to app/scripts/components/common/datepicker/datepicker.scss diff --git a/app/scripts/components/common/datepicker/index.tsx b/app/scripts/components/common/datepicker/index.tsx index 1f23449af..d7e17fc4a 100644 --- a/app/scripts/components/common/datepicker/index.tsx +++ b/app/scripts/components/common/datepicker/index.tsx @@ -1,12 +1,11 @@ -import React, { ReactNode, useRef, useState } from "react"; -import { Icon } from "@trussworks/react-uswds"; -import { View } from "react-calendar/dist/cjs/shared/types"; +import React, { ReactNode, useRef, useState } from 'react'; +import { Icon } from '@trussworks/react-uswds'; +import { View } from 'react-calendar/dist/cjs/shared/types'; import Calendar from 'react-calendar'; -import Tippy from "@tippyjs/react"; -import styled from "styled-components"; +import Tippy from '@tippyjs/react'; +import styled from 'styled-components'; import 'react-calendar/dist/Calendar.css'; -import './index.scss'; interface SimpleDatePickerProps { disabled: boolean; @@ -39,7 +38,7 @@ export const SimpleDatePicker = ({ renderTriggerElement, calendarView, minDate, - maxDate, + maxDate }: SimpleDatePickerProps) => { const [isCalendarOpen, setIsCalendarOpen] = useState(false); const triggerRef = useRef(null); @@ -54,7 +53,10 @@ export const SimpleDatePicker = ({ }; const handleClickOutside = (event) => { - if (triggerRef.current && !triggerRef.current.contains(event.target as Node)) { + if ( + triggerRef.current && + !triggerRef.current.contains(event.target as Node) + ) { setIsCalendarOpen(false); } }; @@ -67,7 +69,7 @@ export const SimpleDatePicker = ({ disabled, tipContent, triggerHeadReference, - selectedDay, + selectedDay })} {isCalendarOpen && ( diff --git a/app/scripts/components/common/page-header/index.tsx b/app/scripts/components/common/page-header/index.tsx index 5dcccb735..64716d73d 100644 --- a/app/scripts/components/common/page-header/index.tsx +++ b/app/scripts/components/common/page-header/index.tsx @@ -7,7 +7,6 @@ import { LinkProperties } from '$types/veda'; import { USWDSHeader, USWDSHeaderTitle } from '$components/common/uswds/header'; import { USWDSNavMenuButton } from '$components/common/uswds/header/nav-menu-button'; import { USWDSExtendedNav } from '$components/common/uswds/header/extended-nav'; -import './styles.scss'; interface PageHeaderProps { mainNavItems: NavItem[]; diff --git a/app/scripts/components/common/page-header/logo-container/index.tsx b/app/scripts/components/common/page-header/logo-container/index.tsx index 513150ca3..52abcf7fa 100644 --- a/app/scripts/components/common/page-header/logo-container/index.tsx +++ b/app/scripts/components/common/page-header/logo-container/index.tsx @@ -1,7 +1,7 @@ import React, { ComponentType } from 'react'; import { Tip } from '../../tip'; import { LinkProperties } from '$types/veda'; -import './styles.scss'; +import './logo-container.scss'; /** * LogoContainer that is meant to integrate in the default @@ -14,7 +14,7 @@ export default function LogoContainer({ linkProperties, LogoSvg, title, - version, + version }: { linkProperties: LinkProperties; LogoSvg?: SVGElement | JSX.Element; @@ -26,7 +26,10 @@ export default function LogoContainer({ return (
- + {LogoSvg} {title} @@ -43,4 +46,4 @@ export default function LogoContainer({
); -} \ No newline at end of file +} diff --git a/app/scripts/components/common/page-header/logo-container/styles.scss b/app/scripts/components/common/page-header/logo-container/logo-container.scss similarity index 100% rename from app/scripts/components/common/page-header/logo-container/styles.scss rename to app/scripts/components/common/page-header/logo-container/logo-container.scss diff --git a/app/scripts/components/common/page-header/styles.scss b/app/scripts/components/common/page-header/page-header.scss similarity index 100% rename from app/scripts/components/common/page-header/styles.scss rename to app/scripts/components/common/page-header/page-header.scss diff --git a/app/scripts/styles/styles.scss b/app/scripts/styles/styles.scss index e658db7fc..9e426c960 100644 --- a/app/scripts/styles/styles.scss +++ b/app/scripts/styles/styles.scss @@ -11,9 +11,8 @@ @use 'usa-modal'; @use 'usa-header'; -// Custom VEDA UI styles -@use "../components/common/page-header/styles.scss"; -@use "../components/common/page-header/logo-container/styles.scss"; -@use "../components/common/cookie-consent/index.scss"; -@use "../components/common/datepicker/index.scss"; -@use "../components/common/banner/styles.scss"; +// Custom VEDA UI styles should be added here, so that they can be +// picked up by Parcel and included in the final CSS bundle for the veda-ui library. +@use "../components/common/page-header/page-header.scss"; +@use "../components/common/page-header/logo-container/logo-container.scss"; +@use "../components/common/datepicker/datepicker.scss"; diff --git a/gulpfile.js b/gulpfile.js index d0cd3e755..6ac7d7639 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -6,6 +6,9 @@ const del = require('del'); const portscanner = require('portscanner'); const log = require('fancy-log'); const uswds = require('@uswds/compile'); +const sass = require('gulp-sass')(require('sass')); +const postcss = require('gulp-postcss'); +const url = require('postcss-url'); uswds.settings.version = 3; @@ -75,6 +78,74 @@ function copyUswdsImages() { return uswds.copyImages(); } +// Task that uses Parcel to build the library version of the VEDA UI. +// It specifies the entry file, output directory, and custom Parcel configuration file. +// This task will generate distributable library (`lib` folder) that other projects can consume. +function parcelBuildLib(cb) { + const args = [ + 'build', + 'app/scripts/index.ts', + '--dist-dir=lib', + '--config', + '.parcelrc-lib' + ]; + + const pr = spawn('node', [parcelCli, ...args], { + stdio: 'inherit' + }); + pr.on('close', (code) => { + cb(code ? 'Build failed' : undefined); + }); +} + +function copyUswdsAssets() { + // Copy the uswds assets to the veda-ui lib directory. + // This makes things easier for the veda components to consume + // when the veda-ui library is used as a dependency. + return gulp + .src( + [ + './node_modules/@uswds/uswds/dist/fonts/**/*', + './node_modules/@uswds/uswds/dist/img/**/*' + ], + { base: './node_modules/@uswds/uswds/dist' } + ) + .pipe(gulp.dest('lib')); +} + +// Task that compiles SCSS files into CSS. +// It processes styles from the `styles.scss` file, resolves imports and adjusts asset URLs +// (e.g fonts and images) to verify they are correctly referenced in the output CSS. +// The compiled styles are then output to the `lib/styles` directory for consumption by the app. +function buildStyles() { + return gulp + .src('app/scripts/styles/styles.scss') + .pipe( + sass({ + includePaths: [ + './node_modules/@uswds/uswds/packages', + path.resolve(__dirname, 'app/scripts/components') + ] + }).on('error', sass.logError) + ) + .pipe( + postcss([ + url({ + url: (asset) => { + if (asset.url.startsWith('../fonts/')) { + return asset.url.replace('../fonts/', '/fonts/'); + } + if (asset.url.startsWith('../img/')) { + return asset.url.replace('../img/', '/img/'); + } + return asset.url; + } + }) + ]) + ) + .pipe(gulp.dest('lib/styles')); +} + // Below are the parcel related tasks. One for the build process and other to // start the development server. @@ -146,5 +217,17 @@ const parallelTasks = ? gulp.parallel(copyFiles, copyUswdsImages) : gulp.parallel(copyFiles, copyNetlifyCMS, copyUswdsImages); +module.exports.buildlib = gulp.series( + clean, + buildStyles, + copyUswdsAssets, + parcelBuildLib +); + // Task orchestration used during the production process. -module.exports.default = gulp.series(clean, parallelTasks, parcelBuild); +module.exports.default = gulp.series( + clean, + parallelTasks, + buildStyles, + parcelBuild +); diff --git a/package.json b/package.json index 3ad36dc4b..f68bb56bb 100644 --- a/package.json +++ b/package.json @@ -177,6 +177,7 @@ "geojson-validation": "^1.0.2", "google-polyline": "^1.0.3", "gulp-postcss": "^10.0.0", + "gulp-sass": "^6.0.0", "history": "^5.1.0", "intersection-observer": "^0.12.0", "jest-environment-jsdom": "^28.1.3", @@ -222,6 +223,7 @@ "react-virtual": "^2.10.4", "recharts": "2.1.12", "rodemirror": "^2.0.0", + "sass": "^1.81.0", "scrollama": "^3.1.0", "shpjs": "^4.0.4", "styled-components": "^5.3.3", diff --git a/postcss.config.js b/postcss.config.js index 664dbeecd..6600a770f 100644 --- a/postcss.config.js +++ b/postcss.config.js @@ -5,14 +5,11 @@ const plugins = [ require('postcss-import'), url({ url: (asset) => { - const uswdsBasePath = - '/node_modules/@developmentseed/veda-ui/node_modules/@uswds/uswds/dist'; - if (asset.url.startsWith('../fonts/')) { - return `${uswdsBasePath}/fonts/${asset.url.slice('../fonts/'.length)}`; + return `./fonts/${asset.url.slice('../fonts/'.length)}`; } if (asset.url.startsWith('../img/')) { - return `${uswdsBasePath}/img/${asset.url.slice('../img/'.length)}`; + return `./img/${asset.url.slice('../img/'.length)}`; } return asset.url; } diff --git a/yarn.lock b/yarn.lock index ee2f46e66..66a235491 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3392,61 +3392,126 @@ resolved "http://verdaccio.ds.io:4873/@parcel%2fwatcher-android-arm64/-/watcher-android-arm64-2.4.1.tgz#c2c19a3c442313ff007d2d7a9c2c1dd3e1c9ca84" integrity sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg== +"@parcel/watcher-android-arm64@2.5.0": + version "2.5.0" + resolved "http://verdaccio.ds.io:4873/@parcel%2fwatcher-android-arm64/-/watcher-android-arm64-2.5.0.tgz#e32d3dda6647791ee930556aee206fcd5ea0fb7a" + integrity sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ== + "@parcel/watcher-darwin-arm64@2.4.1": version "2.4.1" resolved "http://verdaccio.ds.io:4873/@parcel%2fwatcher-darwin-arm64/-/watcher-darwin-arm64-2.4.1.tgz#c817c7a3b4f3a79c1535bfe54a1c2818d9ffdc34" integrity sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA== +"@parcel/watcher-darwin-arm64@2.5.0": + version "2.5.0" + resolved "http://verdaccio.ds.io:4873/@parcel%2fwatcher-darwin-arm64/-/watcher-darwin-arm64-2.5.0.tgz#0d9e680b7e9ec1c8f54944f1b945aa8755afb12f" + integrity sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw== + "@parcel/watcher-darwin-x64@2.4.1": version "2.4.1" resolved "http://verdaccio.ds.io:4873/@parcel%2fwatcher-darwin-x64/-/watcher-darwin-x64-2.4.1.tgz#1a3f69d9323eae4f1c61a5f480a59c478d2cb020" integrity sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg== +"@parcel/watcher-darwin-x64@2.5.0": + version "2.5.0" + resolved "http://verdaccio.ds.io:4873/@parcel%2fwatcher-darwin-x64/-/watcher-darwin-x64-2.5.0.tgz#f9f1d5ce9d5878d344f14ef1856b7a830c59d1bb" + integrity sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA== + "@parcel/watcher-freebsd-x64@2.4.1": version "2.4.1" resolved "http://verdaccio.ds.io:4873/@parcel%2fwatcher-freebsd-x64/-/watcher-freebsd-x64-2.4.1.tgz#0d67fef1609f90ba6a8a662bc76a55fc93706fc8" integrity sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w== +"@parcel/watcher-freebsd-x64@2.5.0": + version "2.5.0" + resolved "http://verdaccio.ds.io:4873/@parcel%2fwatcher-freebsd-x64/-/watcher-freebsd-x64-2.5.0.tgz#2b77f0c82d19e84ff4c21de6da7f7d096b1a7e82" + integrity sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw== + "@parcel/watcher-linux-arm-glibc@2.4.1": version "2.4.1" resolved "http://verdaccio.ds.io:4873/@parcel%2fwatcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.1.tgz#ce5b340da5829b8e546bd00f752ae5292e1c702d" integrity sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA== +"@parcel/watcher-linux-arm-glibc@2.5.0": + version "2.5.0" + resolved "http://verdaccio.ds.io:4873/@parcel%2fwatcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.0.tgz#92ed322c56dbafa3d2545dcf2803334aee131e42" + integrity sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA== + +"@parcel/watcher-linux-arm-musl@2.5.0": + version "2.5.0" + resolved "http://verdaccio.ds.io:4873/@parcel%2fwatcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.0.tgz#cd48e9bfde0cdbbd2ecd9accfc52967e22f849a4" + integrity sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA== + "@parcel/watcher-linux-arm64-glibc@2.4.1": version "2.4.1" resolved "http://verdaccio.ds.io:4873/@parcel%2fwatcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.1.tgz#6d7c00dde6d40608f9554e73998db11b2b1ff7c7" integrity sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA== +"@parcel/watcher-linux-arm64-glibc@2.5.0": + version "2.5.0" + resolved "http://verdaccio.ds.io:4873/@parcel%2fwatcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.0.tgz#7b81f6d5a442bb89fbabaf6c13573e94a46feb03" + integrity sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA== + "@parcel/watcher-linux-arm64-musl@2.4.1": version "2.4.1" resolved "http://verdaccio.ds.io:4873/@parcel%2fwatcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.1.tgz#bd39bc71015f08a4a31a47cd89c236b9d6a7f635" integrity sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA== +"@parcel/watcher-linux-arm64-musl@2.5.0": + version "2.5.0" + resolved "http://verdaccio.ds.io:4873/@parcel%2fwatcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.0.tgz#dcb8ff01077cdf59a18d9e0a4dff7a0cfe5fd732" + integrity sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q== + "@parcel/watcher-linux-x64-glibc@2.4.1": version "2.4.1" resolved "http://verdaccio.ds.io:4873/@parcel%2fwatcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz#0ce29966b082fb6cdd3de44f2f74057eef2c9e39" integrity sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg== +"@parcel/watcher-linux-x64-glibc@2.5.0": + version "2.5.0" + resolved "http://verdaccio.ds.io:4873/@parcel%2fwatcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.0.tgz#2e254600fda4e32d83942384d1106e1eed84494d" + integrity sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw== + "@parcel/watcher-linux-x64-musl@2.4.1": version "2.4.1" resolved "http://verdaccio.ds.io:4873/@parcel%2fwatcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.1.tgz#d2ebbf60e407170bb647cd6e447f4f2bab19ad16" integrity sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ== +"@parcel/watcher-linux-x64-musl@2.5.0": + version "2.5.0" + resolved "http://verdaccio.ds.io:4873/@parcel%2fwatcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.0.tgz#01fcea60fedbb3225af808d3f0a7b11229792eef" + integrity sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA== + "@parcel/watcher-win32-arm64@2.4.1": version "2.4.1" resolved "http://verdaccio.ds.io:4873/@parcel%2fwatcher-win32-arm64/-/watcher-win32-arm64-2.4.1.tgz#eb4deef37e80f0b5e2f215dd6d7a6d40a85f8adc" integrity sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg== +"@parcel/watcher-win32-arm64@2.5.0": + version "2.5.0" + resolved "http://verdaccio.ds.io:4873/@parcel%2fwatcher-win32-arm64/-/watcher-win32-arm64-2.5.0.tgz#87cdb16e0783e770197e52fb1dc027bb0c847154" + integrity sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig== + "@parcel/watcher-win32-ia32@2.4.1": version "2.4.1" resolved "http://verdaccio.ds.io:4873/@parcel%2fwatcher-win32-ia32/-/watcher-win32-ia32-2.4.1.tgz#94fbd4b497be39fd5c8c71ba05436927842c9df7" integrity sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw== +"@parcel/watcher-win32-ia32@2.5.0": + version "2.5.0" + resolved "http://verdaccio.ds.io:4873/@parcel%2fwatcher-win32-ia32/-/watcher-win32-ia32-2.5.0.tgz#778c39b56da33e045ba21c678c31a9f9d7c6b220" + integrity sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA== + "@parcel/watcher-win32-x64@2.4.1": version "2.4.1" resolved "http://verdaccio.ds.io:4873/@parcel%2fwatcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz#4bf920912f67cae5f2d264f58df81abfea68dadf" integrity sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A== +"@parcel/watcher-win32-x64@2.5.0": + version "2.5.0" + resolved "http://verdaccio.ds.io:4873/@parcel%2fwatcher-win32-x64/-/watcher-win32-x64-2.5.0.tgz#33873876d0bbc588aacce38e90d1d7480ce81cb7" + integrity sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw== + "@parcel/watcher@^2.0.0": version "2.0.5" resolved "http://verdaccio.ds.io:4873/@parcel%2fwatcher/-/watcher-2.0.5.tgz#f913a54e1601b0aac972803829b0eece48de215b" @@ -3478,6 +3543,30 @@ "@parcel/watcher-win32-ia32" "2.4.1" "@parcel/watcher-win32-x64" "2.4.1" +"@parcel/watcher@^2.4.1": + version "2.5.0" + resolved "http://verdaccio.ds.io:4873/@parcel%2fwatcher/-/watcher-2.5.0.tgz#5c88818b12b8de4307a9d3e6dc3e28eba0dfbd10" + integrity sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ== + dependencies: + detect-libc "^1.0.3" + is-glob "^4.0.3" + micromatch "^4.0.5" + node-addon-api "^7.0.0" + optionalDependencies: + "@parcel/watcher-android-arm64" "2.5.0" + "@parcel/watcher-darwin-arm64" "2.5.0" + "@parcel/watcher-darwin-x64" "2.5.0" + "@parcel/watcher-freebsd-x64" "2.5.0" + "@parcel/watcher-linux-arm-glibc" "2.5.0" + "@parcel/watcher-linux-arm-musl" "2.5.0" + "@parcel/watcher-linux-arm64-glibc" "2.5.0" + "@parcel/watcher-linux-arm64-musl" "2.5.0" + "@parcel/watcher-linux-x64-glibc" "2.5.0" + "@parcel/watcher-linux-x64-musl" "2.5.0" + "@parcel/watcher-win32-arm64" "2.5.0" + "@parcel/watcher-win32-ia32" "2.5.0" + "@parcel/watcher-win32-x64" "2.5.0" + "@parcel/workers@2.12.0": version "2.12.0" resolved "http://verdaccio.ds.io:4873/@parcel%2fworkers/-/workers-2.12.0.tgz#773182b5006741102de8ae36d18a5a9e3320ebd1" @@ -5746,6 +5835,13 @@ chokidar@^2.0.0: optionalDependencies: fsevents "^1.2.7" +chokidar@^4.0.0: + version "4.0.1" + resolved "http://verdaccio.ds.io:4873/chokidar/-/chokidar-4.0.1.tgz#4a6dff66798fb0f72a94f616abbd7e1a19f31d41" + integrity sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA== + dependencies: + readdirp "^4.0.1" + chrome-trace-event@^1.0.2: version "1.0.3" resolved "http://verdaccio.ds.io:4873/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" @@ -8388,6 +8484,18 @@ gulp-sass@5.1.0: strip-ansi "^6.0.1" vinyl-sourcemaps-apply "^0.2.1" +gulp-sass@^6.0.0: + version "6.0.0" + resolved "http://verdaccio.ds.io:4873/gulp-sass/-/gulp-sass-6.0.0.tgz#91e651d86baf53bf7de8a537b1a38ea839968a4b" + integrity sha512-FGb4Uab4jnH2GnSfBGd6uW3+imvNodAGfsjGcUhEtpNYPVx+TK2tp5uh7MO0sSR7aIf1Sm544werc+zV7ejHHw== + dependencies: + lodash.clonedeep "^4.5.0" + picocolors "^1.0.0" + plugin-error "^1.0.1" + replace-ext "^2.0.0" + strip-ansi "^6.0.1" + vinyl-sourcemaps-apply "^0.2.1" + gulp-sourcemaps@3.0.0: version "3.0.0" resolved "http://verdaccio.ds.io:4873/gulp-sourcemaps/-/gulp-sourcemaps-3.0.0.tgz#2e154e1a2efed033c0e48013969e6f30337b2743" @@ -8777,6 +8885,11 @@ immutable@^4.3.4: resolved "http://verdaccio.ds.io:4873/immutable/-/immutable-4.3.4.tgz#2e07b33837b4bb7662f288c244d1ced1ef65a78f" integrity sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA== +immutable@^5.0.2: + version "5.0.3" + resolved "http://verdaccio.ds.io:4873/immutable/-/immutable-5.0.3.tgz#aa037e2313ea7b5d400cd9298fa14e404c933db1" + integrity sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw== + import-fresh@^3.0.0, import-fresh@^3.2.1, import-fresh@^3.3.0: version "3.3.0" resolved "http://verdaccio.ds.io:4873/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" @@ -12886,6 +12999,11 @@ readdirp@^2.2.1: micromatch "^3.1.10" readable-stream "^2.0.2" +readdirp@^4.0.1: + version "4.0.2" + resolved "http://verdaccio.ds.io:4873/readdirp/-/readdirp-4.0.2.tgz#388fccb8b75665da3abffe2d8f8ed59fe74c230a" + integrity sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA== + readdirp@~3.6.0: version "3.6.0" resolved "http://verdaccio.ds.io:4873/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" @@ -13451,6 +13569,17 @@ sass@^1.38.0: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" +sass@^1.81.0: + version "1.81.0" + resolved "http://verdaccio.ds.io:4873/sass/-/sass-1.81.0.tgz#a9010c0599867909dfdbad057e4a6fbdd5eec941" + integrity sha512-Q4fOxRfhmv3sqCLoGfvrC9pRV8btc0UtqL9mN6Yrv6Qi9ScL55CVH1vlPP863ISLEEMNLLuu9P+enCeGHlnzhA== + dependencies: + chokidar "^4.0.0" + immutable "^5.0.2" + source-map-js ">=0.6.2 <2.0.0" + optionalDependencies: + "@parcel/watcher" "^2.4.1" + saxes@^5.0.1: version "5.0.1" resolved "http://verdaccio.ds.io:4873/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d"