diff --git a/client/homebrew/pages/basePages/listPage/listPage.jsx b/client/homebrew/pages/basePages/listPage/listPage.jsx
index 4b0ff97a9..b3e35922b 100644
--- a/client/homebrew/pages/basePages/listPage/listPage.jsx
+++ b/client/homebrew/pages/basePages/listPage/listPage.jsx
@@ -1,9 +1,8 @@
/*eslint max-lines: ["warn", {"max": 300, "skipBlankLines": true, "skipComments": true}]*/
import './listPage.less';
-import React from 'react';
-import createReactClass from 'create-react-class';
-import _ from 'lodash';
+import React, { useEffect, useState, useRef, useMemo } from 'react';
import moment from 'moment';
+import _ from 'lodash';
import BrewItem from './brewItem/brewItem.jsx';
@@ -14,132 +13,119 @@ const USERPAGE_GROUP_VISIBILITY_PREFIX = 'HB_listPage_visibility_group';
const DEFAULT_SORT_TYPE = 'alpha';
const DEFAULT_SORT_DIR = 'asc';
-const ListPage = createReactClass({
- displayName : 'ListPage',
- getDefaultProps : function() {
- return {
- brewCollection : [
- {
- title : '',
- class : '',
- brews : []
- }
- ],
- navItems : <>>,
- reportError : null
+const ListPage = ({ brewCollection = [{ title: '', class: '', brews: [] }], navItems = <>>, reportError = null, query }) => {
+ const [filterString, setFilterString] = useState(query?.filter || '');
+ const [filterTags, setFilterTags] = useState([]);
+ const [sortType, setSortType] = useState(query?.sort || null);
+ const [sortDir, setSortDir] = useState(query?.dir || null);
+ const [groupVisibility, setGroupVisibility] = useState({});
+
+ const groupVisibilityRef = useRef(groupVisibility);
+ const sortTypeRef = useRef(sortType);
+ const sortDirRef = useRef(sortDir);
+
+ useEffect(() => {
+ groupVisibilityRef.current = groupVisibility;
+ }, [groupVisibility]);
+
+ useEffect(() => {
+ sortTypeRef.current = sortType;
+ }, [sortType]);
+
+ useEffect(() => {
+ sortDirRef.current = sortDir;
+ }, [sortDir]);
+
+ useEffect(() => {
+ window.onbeforeunload = saveToLocalStorage;
+
+ if (typeof window !== 'undefined') {
+ const newSortType = sortType ?? (localStorage.getItem(USERPAGE_SORT_TYPE) || DEFAULT_SORT_TYPE);
+ const newSortDir = sortDir ?? (localStorage.getItem(USERPAGE_SORT_DIR) || DEFAULT_SORT_DIR);
+ updateUrl(filterString, newSortType, newSortDir);
+
+ const namedBrewCollection = brewCollection.reduce((visibility, brewGroup) => {
+ visibility[brewGroup.class] = (localStorage.getItem(`${USERPAGE_GROUP_VISIBILITY_PREFIX}_${brewGroup.class}`) ?? 'true') == 'true';
+ return visibility;
+ }, {});
+
+ setGroupVisibility(namedBrewCollection);
+ setSortType(newSortType);
+ setSortDir(newSortDir);
+ }
+
+ return () => {
+ window.onbeforeunload = null;
};
- },
- getInitialState : function() {
- // HIDE ALL GROUPS UNTIL LOADED
- const brewCollection = this.props.brewCollection.map((brewGroup)=>{
- brewGroup.visible = false;
- return brewGroup;
+ }, []);
+
+ const saveToLocalStorage = () => {
+ brewCollection.forEach((brewGroup) => {
+ localStorage.setItem(`${USERPAGE_GROUP_VISIBILITY_PREFIX}_${brewGroup.class}`, `${groupVisibilityRef.current[brewGroup.class]}`);
});
+ localStorage.setItem(USERPAGE_SORT_TYPE, sortTypeRef.current);
+ localStorage.setItem(USERPAGE_SORT_DIR, sortDirRef.current);
+ };
- return {
- filterString : this.props.query?.filter || '',
- filterTags : [],
- sortType : this.props.query?.sort || null,
- sortDir : this.props.query?.dir || null,
- query : this.props.query,
- brewCollection : brewCollection
- };
- },
+ const renderBrews = (brews) => {
+ if (!brews || !brews.length) return
No Brews.
;
- componentDidMount : function() {
- // SAVE TO LOCAL STORAGE WHEN LEAVING PAGE
- window.onbeforeunload = this.saveToLocalStorage;
-
- // LOAD FROM LOCAL STORAGE
- if(typeof window !== 'undefined') {
- const newSortType = (this.state.sortType ?? (localStorage.getItem(USERPAGE_SORT_TYPE) || DEFAULT_SORT_TYPE));
- const newSortDir = (this.state.sortDir ?? (localStorage.getItem(USERPAGE_SORT_DIR) || DEFAULT_SORT_DIR));
- this.updateUrl(this.state.filterString, newSortType, newSortDir);
-
- const brewCollection = this.props.brewCollection.map((brewGroup)=>{
- brewGroup.visible = (localStorage.getItem(`${USERPAGE_GROUP_VISIBILITY_PREFIX}_${brewGroup.class}`) ?? 'true')=='true';
- return brewGroup;
- });
-
- this.setState({
- brewCollection : brewCollection,
- sortType : newSortType,
- sortDir : newSortDir
- });
- };
- },
-
- componentWillUnmount : function() {
- window.onbeforeunload = function(){};
- },
-
- saveToLocalStorage : function() {
- this.state.brewCollection.map((brewGroup)=>{
- localStorage.setItem(`${USERPAGE_GROUP_VISIBILITY_PREFIX}_${brewGroup.class}`, `${brewGroup.visible}`);
+ return _.map(brews, (brew, idx) => {
+ return (
+ {
+ updateUrl(filterString, sortType, sortDir, tag);
+ }}
+ />
+ );
});
- localStorage.setItem(USERPAGE_SORT_TYPE, this.state.sortType);
- localStorage.setItem(USERPAGE_SORT_DIR, this.state.sortDir);
- },
+ };
- renderBrews : function(brews){
- if(!brews || !brews.length) return No Brews.
;
-
- return _.map(brews, (brew, idx)=>{
- return { this.updateUrl(this.state.filterString, this.state.sortType, this.state.sortDir, tag); }}/>;
- });
- },
-
- sortBrewOrder : function(brew){
- if(!brew.title){brew.title = 'No Title';}
+ const sortBrewOrder = (brew) => {
+ const title = brew.title || 'No Title';
const mapping = {
- 'alpha' : _.deburr(brew.title.trim().toLowerCase()),
- 'created' : moment(brew.createdAt).format(),
- 'updated' : moment(brew.updatedAt).format(),
- 'views' : brew.views,
- 'latest' : moment(brew.lastViewed).format()
+ 'alpha': _.deburr(title.trim().toLowerCase()),
+ 'created': moment(brew.createdAt).format(),
+ 'updated': moment(brew.updatedAt).format(),
+ 'views': brew.views,
+ 'latest': moment(brew.lastViewed).format(),
};
- return mapping[this.state.sortType];
- },
+ return mapping[sortType];
+ };
- handleSortOptionChange : function(event){
- this.updateUrl(this.state.filterString, event.target.value, this.state.sortDir);
- this.setState({
- sortType : event.target.value
- });
- },
+ const handleSortOptionChange = (event) => {
+ updateUrl(filterString, event.target.value, sortDir);
+ setSortType(event.target.value);
+ };
- handleSortDirChange : function(event){
- const newDir = this.state.sortDir == 'asc' ? 'desc' : 'asc';
+ const handleSortDirChange = (event) => {
+ const newDir = sortDir == 'asc' ? 'desc' : 'asc';
- this.updateUrl(this.state.filterString, this.state.sortType, newDir);
- this.setState({
- sortDir : newDir
- });
- },
+ updateUrl(filterString, sortType, newDir);
+ setSortDir(newDir);
+ };
- renderSortOption : function(sortTitle, sortValue){
- return
-
- {this.state.sortType == sortValue &&
-
- }
-
;
- },
+ const renderSortOption = (sortTitle, sortValue) => {
+ return (
+
+
+ {sortType == sortValue && }
+
+ );
+ };
- handleFilterTextChange : function(e){
- this.setState({
- filterString : e.target.value,
- });
- this.updateUrl(e.target.value, this.state.sortType, this.state.sortDir);
+ const handleFilterTextChange = (e) => {
+ setFilterString(e.target.value);
+ updateUrl(e.target.value, sortType, sortDir);
return;
- },
+ };
- updateUrl : function(filterTerm, sortType, sortDir, filterTag=''){
+ const updateUrl = (filterTerm, sortType, sortDir, filterTag = '') => {
const url = new URL(window.location.href);
const urlParams = new URLSearchParams(url.search);
@@ -147,136 +133,168 @@ const ListPage = createReactClass({
urlParams.set('dir', sortDir);
let filterTags = urlParams.getAll('tag');
- if(filterTag != '') {
- if(filterTags.findIndex((tag)=>{return tag.toLowerCase()==filterTag.toLowerCase();}) == -1){
+ if (filterTag != '') {
+ if (
+ filterTags.findIndex((tag) => {
+ return tag.toLowerCase() == filterTag.toLowerCase();
+ }) == -1
+ ) {
filterTags.push(filterTag);
} else {
- filterTags = filterTags.filter((tag)=>{ return tag.toLowerCase() != filterTag.toLowerCase(); });
+ filterTags = filterTags.filter((tag) => {
+ return tag.toLowerCase() != filterTag.toLowerCase();
+ });
}
}
urlParams.delete('tag');
// Add tags to URL in the order they were clicked
- filterTags.forEach((tag)=>{ urlParams.append('tag', tag); });
+ filterTags.forEach((tag) => {
+ urlParams.append('tag', tag);
+ });
// Sort tags before updating state
- filterTags.sort((a, b)=>{
+ filterTags.sort((a, b) => {
return a.indexOf(':') - b.indexOf(':') != 0 ? a.indexOf(':') - b.indexOf(':') : a.toLowerCase().localeCompare(b.toLowerCase());
});
- this.setState({
- filterTags
- });
+ setFilterTags(filterTags);
- if(!filterTerm)
- urlParams.delete('filter');
- else
- urlParams.set('filter', filterTerm);
+ if (!filterTerm) urlParams.delete('filter');
+ else urlParams.set('filter', filterTerm);
url.search = urlParams;
window.history.replaceState(null, null, url);
- },
+ };
- renderFilterOption : function(){
- return
-
-
;
- },
+ const renderFilterOption = () => {
+ return (
+
+
+
+ );
+ };
- renderTagsOptions : function(){
- if(this.state.filterTags?.length == 0) return;
- return
- {_.map(this.state.filterTags, (tag, idx)=>{
- const matches = tag.match(/^(?:([^:]+):)?([^:]+)$/);
- return { this.updateUrl(this.state.filterString, this.state.sortType, this.state.sortDir, tag); }}>{matches[2]};
- })}
-
;
- },
+ const renderTagsOptions = () => {
+ if (filterTags?.length == 0) return;
+ return (
+
+ {_.map(filterTags, (tag, idx) => {
+ const matches = tag.match(/^(?:([^:]+):)?([^:]+)$/);
+ return (
+ {
+ updateUrl(filterString, sortType, sortDir, tag);
+ }}>
+ {matches[2]}
+
+ );
+ })}
+
+ );
+ };
- renderSortOptions : function(){
- return
-
Sort by :
- {this.renderSortOption('Title', 'alpha')}
- {this.renderSortOption('Created Date', 'created')}
- {this.renderSortOption('Updated Date', 'updated')}
- {this.renderSortOption('Views', 'views')}
- {/* {this.renderSortOption('Latest', 'latest')} */}
+ const renderSortOptions = () => {
+ return (
+
+
Sort by :
+ {renderSortOption('Title', 'alpha')}
+ {renderSortOption('Created Date', 'created')}
+ {renderSortOption('Updated Date', 'updated')}
+ {renderSortOption('Views', 'views')}
+ {/* {renderSortOption('Latest', 'latest')} */}
- {this.renderFilterOption()}
- ;
- },
+ {renderFilterOption()}
+
+ );
+ };
- getSortedBrews : function(brews){
- const testString = _.deburr(this.state.filterString).toLowerCase();
+ const getSortedBrews = (brews) => {
+ const testString = _.deburr(filterString).toLowerCase();
- brews = _.filter(brews, (brew)=>{
+ brews = _.filter(brews, (brew) => {
// Filter by user entered text
- const brewStrings = _.deburr([
- brew.title,
- brew.description,
- brew.tags].join('\n')
- .toLowerCase());
+ const brewStrings = _.deburr([brew.title, brew.description, brew.tags].join('\n').toLowerCase());
const filterTextTest = brewStrings.includes(testString);
// Filter by user selected tags
let filterTagTest = true;
- if(this.state.filterTags.length > 0){
- filterTagTest = Array.isArray(brew.tags) && this.state.filterTags?.every((tag)=>{
- return brew.tags.findIndex((brewTag)=>{
- return brewTag.toLowerCase() == tag.toLowerCase();
- }) >= 0;
- });
+ if (filterTags.length > 0) {
+ filterTagTest =
+ Array.isArray(brew.tags) &&
+ filterTags?.every((tag) => {
+ return (
+ brew.tags.findIndex((brewTag) => {
+ return brewTag.toLowerCase() == tag.toLowerCase();
+ }) >= 0
+ );
+ });
}
return filterTextTest && filterTagTest;
});
- return _.orderBy(brews, (brew)=>{ return this.sortBrewOrder(brew); }, this.state.sortDir);
- },
+ return _.orderBy(
+ brews,
+ (brew) => {
+ return sortBrewOrder(brew);
+ },
+ sortDir,
+ );
+ };
- toggleBrewCollectionState : function(brewGroupClass) {
- this.setState((prevState)=>({
- brewCollection : prevState.brewCollection.map(
- (brewGroup)=>brewGroup.class === brewGroupClass ? { ...brewGroup, visible: !brewGroup.visible } : brewGroup
- )
- }));
- },
+ const sortedBrewCollection = useMemo(() => {
+ return brewCollection.map((brewGroup) => ({ ...brewGroup, brews: getSortedBrews(brewGroup.brews) }));
+ }, [brewCollection, filterString, filterTags, sortType, sortDir]);
- renderBrewCollection : function(brewCollection){
- if(brewCollection == []) return
-
No Brews
- ;
- return _.map(brewCollection, (brewGroup, idx)=>{
- return
-
{this.toggleBrewCollectionState(brewGroup.class);}}>{brewGroup.title || 'No Title'}
- {brewGroup.visible ? this.renderBrews(this.getSortedBrews(brewGroup.brews)) : <>>}
- ;
+ const toggleBrewCollectionState = (brewGroupClass) => {
+ setGroupVisibility((prevVisibility) => ({ ...prevVisibility, [brewGroupClass]: !prevVisibility[brewGroupClass] }));
+ };
+
+ const renderBrewCollection = (brewCollection) => {
+ if (brewCollection.length === 0)
+ return (
+
+
No Brews
+
+ );
+ return _.map(brewCollection, (brewGroup, idx) => {
+ const sortedBrewGroup = sortedBrewCollection[idx];
+ const visible = groupVisibility[brewGroup.class];
+
+ return (
+
+
{
+ toggleBrewCollectionState(brewGroup.class);
+ }}>
+ {brewGroup.title || 'No Title'}
+
+ {visible ? renderBrews(sortedBrewGroup.brews) : <>>}
+
+ );
});
- },
+ };
- render : function(){
- return
+ return (
+
{/**/}
-
-
- {this.props.navItems}
- {this.renderSortOptions()}
- {this.renderTagsOptions()}
+
+
+ {navItems}
+ {renderSortOptions()}
+ {renderTagsOptions()}
-
- {this.renderBrewCollection(this.state.brewCollection)}
-
+
{renderBrewCollection(brewCollection)}
-
;
- }
-});
+
+ );
+};
export default ListPage;
diff --git a/package-lock.json b/package-lock.json
index 20539b345..242d9e608 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2169,9 +2169,9 @@
}
},
"node_modules/@codemirror/search": {
- "version": "6.7.1",
- "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.7.1.tgz",
- "integrity": "sha512-uMe5UO6PamJtSHrXhhHOzSX3ReWtiJrva6GnPMwSOrZtiExb5X5eExhr2OUZQVvdxPsKpY3Ro2mFbQadpPWmHA==",
+ "version": "6.7.2",
+ "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.7.2.tgz",
+ "integrity": "sha512-gUYkYhT2+n/+VGZ+8EzE5WFkYZUZYm1VOKDudIsNqh42uRVQJ0a6Yss9sdKT3MeOYfuL1N6AZA57oza0Oyr0LA==",
"license": "MIT",
"dependencies": {
"@codemirror/state": "^6.0.0",
@@ -2180,9 +2180,9 @@
}
},
"node_modules/@codemirror/state": {
- "version": "6.7.1",
- "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.7.1.tgz",
- "integrity": "sha512-9QzNDgE4EYDnAHfrTlR2lwiPciiOymLtwKK+8yHQzCc7GXhAP9xdEbEJFy2IWB1j9UGUl9BsgMmTo/ImA02T7A==",
+ "version": "6.7.2",
+ "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.7.2.tgz",
+ "integrity": "sha512-U3RiPX62Wl/Gx4ftQ7UxLlloSfsFTQqKa+7vFBYteZGCzkp6oBqcsD7iSwniWRGobCAmDcwZSY+Six3+3ztdfg==",
"license": "MIT",
"dependencies": {
"@marijn/find-cluster-break": "^1.0.0"
@@ -2196,9 +2196,9 @@
"license": "MIT"
},
"node_modules/@codemirror/view": {
- "version": "6.43.9",
- "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.43.9.tgz",
- "integrity": "sha512-sTuUzTpPMFebRhg6dawChoKKgndIwfjmJgKVxBefPElcU2NwQ6AFroupk0SFqEerQyZOGRfDNnSN8Dw/lMAsXw==",
+ "version": "6.43.10",
+ "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.43.10.tgz",
+ "integrity": "sha512-vVWLvd4fKWYN/pMcwUrg6dWeublxmSz+V+52ZjW3h64IVN9cRUYLk5Km4JDT9vifxAFfDtNOIFxKYENthcolJQ==",
"license": "MIT",
"dependencies": {
"@codemirror/state": "^6.7.0",
@@ -2252,9 +2252,9 @@
}
},
"node_modules/@csstools/css-color-parser": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-4.2.1.tgz",
- "integrity": "sha512-YpAJZhaHplYQkG8ib+/Fx5Y0eF2lVWi3tIvMJA6i39TLyUNp2439cifzW8VMjhlqrBjHzK5hVGugRRm2zTKI/A==",
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-4.2.2.tgz",
+ "integrity": "sha512-3QKjR/vxyjcSXBLgb6lP0S3MGdvwbmqSsvLPbYdVORqPDc8FX1HAJ0Spk38bxaRXgvENTA47tlhhbb5Z2e8hEg==",
"dev": true,
"funding": [
{
@@ -2303,9 +2303,9 @@
}
},
"node_modules/@csstools/css-syntax-patches-for-csstree": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.9.tgz",
- "integrity": "sha512-iGGw4OsAYsS6pD29MdJ2bX/nJx65a04ZZiw6x+VwWlP2DdXf6f++Zmuv/OzALpdyfVhjbduIIF2cXM7HWBIe9A==",
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.12.tgz",
+ "integrity": "sha512-3vLQK+dXxhBMR2Wx99PTCifE+vHtW2ndZWyla8yK813ev6oGhyn8Lja8jCyGAWTJ+LEYZK7EVtJxrDj8ztevJw==",
"dev": true,
"funding": [
{
@@ -2515,9 +2515,9 @@
}
},
"node_modules/@eslint/eslintrc": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.6.tgz",
- "integrity": "sha512-l2Ul9PrHsPCKcEY/ac7VgFj9D80C7S68sOKc618SyHDPK36s1XcFebXY0iTzUVn4Yq+YbwvSnDmCz9yxjX+QrA==",
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.7.tgz",
+ "integrity": "sha512-F42g89Qd5oAWtp0k0nnSrjziAKza7w8SVT4mStc18LZMaRb4J1HQAHLCalEtDCxrTuksx7NU9qsmeLwpOfPqWw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2527,7 +2527,7 @@
"globals": "^14.0.0",
"ignore": "^5.2.0",
"import-fresh": "^3.2.1",
- "js-yaml": "^4.3.0",
+ "js-yaml": "^4.3.2",
"minimatch": "^3.1.5",
"strip-json-comments": "^3.1.1"
},
@@ -2825,17 +2825,17 @@
}
},
"node_modules/@jest/console": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/@jest/console/-/console-30.5.0.tgz",
- "integrity": "sha512-BI1DpOedrJqbrYVi9yNhDWGjqphR/+gsM4STmg2+VaeXm7851hvpBDyKOZGMXATTrGEnFuEseQvLCtrrRmG0GQ==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/console/-/console-30.5.1.tgz",
+ "integrity": "sha512-u5Ncuc+gXVUwjNMFQOnphHo2Qx2DxyC8Dvpmf4HCx4y0kvSkRRNiQYRixrvOP4V7y52JcSuNxqochCt0PpdHVg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@jest/types": "30.5.0",
+ "@jest/types": "30.5.1",
"@types/node": "*",
"chalk": "^4.1.2",
- "jest-message-util": "30.5.0",
- "jest-util": "30.5.0",
+ "jest-message-util": "30.5.1",
+ "jest-util": "30.5.1",
"slash": "^3.0.0"
},
"engines": {
@@ -2843,18 +2843,18 @@
}
},
"node_modules/@jest/core": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/@jest/core/-/core-30.5.0.tgz",
- "integrity": "sha512-DLjRME+NY//j+UDTSfWnjoP0srrdR3DrJRy7yFZktGIwzpN2iVy2vMo0jziZ5c2Ij7bOwlJRXKVWtxZusazOJg==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/core/-/core-30.5.1.tgz",
+ "integrity": "sha512-BL9g6CJUUhIbdoAflz/Va658erSSXUIvU8XUYiWNTbZljJjZ5yaC9EJ9/dQ19rpbYV3ZOK4sBACqhPaTyhoUIA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@jest/console": "30.5.0",
+ "@jest/console": "30.5.1",
"@jest/pattern": "30.5.0",
- "@jest/reporters": "30.5.0",
- "@jest/test-result": "30.5.0",
- "@jest/transform": "30.5.0",
- "@jest/types": "30.5.0",
+ "@jest/reporters": "30.5.1",
+ "@jest/test-result": "30.5.1",
+ "@jest/transform": "30.5.1",
+ "@jest/types": "30.5.1",
"@types/node": "*",
"ansi-escapes": "^4.3.2",
"chalk": "^4.1.2",
@@ -2862,20 +2862,20 @@
"exit-x": "^0.2.2",
"fast-json-stable-stringify": "^2.1.0",
"graceful-fs": "^4.2.11",
- "jest-changed-files": "30.5.0",
- "jest-config": "30.5.0",
- "jest-haste-map": "30.5.0",
- "jest-message-util": "30.5.0",
+ "jest-changed-files": "30.5.1",
+ "jest-config": "30.5.1",
+ "jest-haste-map": "30.5.1",
+ "jest-message-util": "30.5.1",
"jest-regex-util": "30.5.0",
- "jest-resolve": "30.5.0",
- "jest-resolve-dependencies": "30.5.0",
- "jest-runner": "30.5.0",
- "jest-runtime": "30.5.0",
- "jest-snapshot": "30.5.0",
- "jest-util": "30.5.0",
- "jest-validate": "30.5.0",
- "jest-watcher": "30.5.0",
- "pretty-format": "30.5.0",
+ "jest-resolve": "30.5.1",
+ "jest-resolve-dependencies": "30.5.1",
+ "jest-runner": "30.5.1",
+ "jest-runtime": "30.5.1",
+ "jest-snapshot": "30.5.1",
+ "jest-util": "30.5.1",
+ "jest-validate": "30.5.1",
+ "jest-watcher": "30.5.1",
+ "pretty-format": "30.5.1",
"slash": "^3.0.0"
},
"engines": {
@@ -2901,39 +2901,39 @@
}
},
"node_modules/@jest/environment": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.5.0.tgz",
- "integrity": "sha512-HUaqexIauIh69IQ4NTuPDEUCB8g8T4TOPSIzQOS18mwI/KEHKQk1j013K2o6ra031szZE2t5jGmVx3xbzdjgKA==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.5.1.tgz",
+ "integrity": "sha512-eYJAkOsrpwDXPcoLNEG6lN9Zo3Cy35pxnVQD74vyIfsi/Q8wB/lZFsEjU4wrecOgT4ZviQDZaX/cFIJyMdMxTw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@jest/fake-timers": "30.5.0",
- "@jest/types": "30.5.0",
+ "@jest/fake-timers": "30.5.1",
+ "@jest/types": "30.5.1",
"@types/node": "*",
- "jest-mock": "30.5.0"
+ "jest-mock": "30.5.1"
},
"engines": {
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
}
},
"node_modules/@jest/expect": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-30.5.0.tgz",
- "integrity": "sha512-jEmgmgJEobJ3zEhDOGp1VAJ6JkoVelpS8uZ1ae1Ul/5lP78UKJKmmU0lciJwd6JdnqOXHaaS/QCKwbf1dHI9MA==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-30.5.1.tgz",
+ "integrity": "sha512-uOGd40P/COyUp9xHf5jeGiGJC2/ANg+2+Tk9/xN5/LxmlY/r/gxsPrx3DTEtaRZsLAX4wgNSLEDELZ5bmVs2bA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "expect": "30.5.0",
- "jest-snapshot": "30.5.0"
+ "expect": "30.5.1",
+ "jest-snapshot": "30.5.1"
},
"engines": {
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
}
},
"node_modules/@jest/expect-utils": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.5.0.tgz",
- "integrity": "sha512-5j0ztPxSy3McUJihjkDdCyCfjvT2hxykFTWsgEBZKB8qsw9ALdCiGTpTRH5gnf/d+qI4SflYUJ0dWNbzjQCWbA==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.5.1.tgz",
+ "integrity": "sha512-WcRWhHQdTMRDpyWKZ/6MINBmovI7zeD+bL8wFjCncRV3NQOwKy1X45IfyblfHR4k/XciIlNEdFL9QjFO+HNKOg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2944,18 +2944,18 @@
}
},
"node_modules/@jest/fake-timers": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.5.0.tgz",
- "integrity": "sha512-sg8xIbYwe5GdB/vT3/0qrDIpO7Ov9mazHi++M95uynmDKEZ70G1r169AWct73H07VrTZhrz1SJEfLtjYv8tE3A==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.5.1.tgz",
+ "integrity": "sha512-rEkV6YzpBXo/L9cnj2ibyuYZuyGiNWaPUsyCu3HYJbqCV4jnEiKmf7hId20z8eKjZ0JQ9jtIYKxRSmYB/OYSsA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@jest/types": "30.5.0",
+ "@jest/types": "30.5.1",
"@sinonjs/fake-timers": "^15.4.0",
"@types/node": "*",
- "jest-message-util": "30.5.0",
- "jest-mock": "30.5.0",
- "jest-util": "30.5.0"
+ "jest-message-util": "30.5.1",
+ "jest-mock": "30.5.1",
+ "jest-util": "30.5.1"
},
"engines": {
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
@@ -2972,16 +2972,16 @@
}
},
"node_modules/@jest/globals": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-30.5.0.tgz",
- "integrity": "sha512-h7eJx534czwL8lQMYB0hwLT4/HquO8EX/RtYL7RNUHyUyWWVciYjoudN4Ns5JmNvn2/jh0Vm9UstZjEzJJ5EsQ==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-30.5.1.tgz",
+ "integrity": "sha512-VhqvQ251XIC7pk46YymI3HCeBLOdvriDw9zibekodAHEwoVvbVVgpU5H13GvmyOAzxtZCfsm1uvzqkaqJf2I+g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@jest/environment": "30.5.0",
- "@jest/expect": "30.5.0",
- "@jest/types": "30.5.0",
- "jest-mock": "30.5.0"
+ "@jest/environment": "30.5.1",
+ "@jest/expect": "30.5.1",
+ "@jest/types": "30.5.1",
+ "jest-mock": "30.5.1"
},
"engines": {
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
@@ -3018,17 +3018,17 @@
"license": "MIT"
},
"node_modules/@jest/reporters": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-30.5.0.tgz",
- "integrity": "sha512-FEAuusWm+PUOn9ydjaHhpOpyPmS6IbGE04HaKTuUI4zd8eqYZiXiNLoCsdCog/l2XnNj53E9pFy64UltcvfJKg==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-30.5.1.tgz",
+ "integrity": "sha512-RbUXIfv85KxitJn4l3MpAoMilkvXe2QCO5lXxHWftywo/VdZ5vkEoHRDgphcxP6qmoIkUaN8/UZj6NhdkIFdJg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@bcoe/v8-coverage": "^0.2.3",
- "@jest/console": "30.5.0",
- "@jest/test-result": "30.5.0",
- "@jest/transform": "30.5.0",
- "@jest/types": "30.5.0",
+ "@jest/console": "30.5.1",
+ "@jest/test-result": "30.5.1",
+ "@jest/transform": "30.5.1",
+ "@jest/types": "30.5.1",
"@jridgewell/trace-mapping": "^0.3.31",
"@types/node": "*",
"chalk": "^4.1.2",
@@ -3041,9 +3041,9 @@
"istanbul-lib-report": "^3.0.0",
"istanbul-lib-source-maps": "^5.0.0",
"istanbul-reports": "^3.1.3",
- "jest-message-util": "30.5.0",
- "jest-util": "30.5.0",
- "jest-worker": "30.5.0",
+ "jest-message-util": "30.5.1",
+ "jest-util": "30.5.1",
+ "jest-worker": "30.5.1",
"slash": "^3.0.0",
"string-length": "^4.0.2",
"v8-to-istanbul": "^9.0.1"
@@ -3074,13 +3074,13 @@
}
},
"node_modules/@jest/snapshot-utils": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/@jest/snapshot-utils/-/snapshot-utils-30.5.0.tgz",
- "integrity": "sha512-iWQtIsi2dRsO2oWzVceOeynuRJiYTW8gsDVp5wFQ02ipHluQsNgBpasWSHiawVxukIlsGLdCtCSbIEK7fPtpvQ==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/snapshot-utils/-/snapshot-utils-30.5.1.tgz",
+ "integrity": "sha512-V3wnxNtiVmw5PPVg433Cn3VdXnsOeu/ofLw3KC04Bn2y1wIlU5kozXQn48rhrgj/02LrCVtntTEF1yBha0XSUw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@jest/types": "30.5.0",
+ "@jest/types": "30.5.1",
"chalk": "^4.1.2",
"graceful-fs": "^4.2.11",
"natural-compare": "^1.4.0"
@@ -3106,14 +3106,14 @@
}
},
"node_modules/@jest/test-result": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-30.5.0.tgz",
- "integrity": "sha512-9IlPqUzUMkVDmoDqSSrVVLroVotgN3hTUPWPwq24XWXhh1Zpg915RXZ5pgRJ/7j4YE/kng5nqjSn4p3S68SZJA==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-30.5.1.tgz",
+ "integrity": "sha512-A/1S6ZBdpic50E0pxLgvaB9XNPL4k7AksmG69OO2oiotxciWZwHkbOec+qbIi+uUtIIByOVlXJUl97oZUsz+Jw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@jest/console": "30.5.0",
- "@jest/types": "30.5.0",
+ "@jest/console": "30.5.1",
+ "@jest/types": "30.5.1",
"@types/istanbul-lib-coverage": "^2.0.6",
"collect-v8-coverage": "^1.0.2"
},
@@ -3122,15 +3122,15 @@
}
},
"node_modules/@jest/test-sequencer": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-30.5.0.tgz",
- "integrity": "sha512-TXlvSDIVv482b83hD8A8WtxDJEmGF47f60W6jRXOQL0Isfs3hKtk4rZIm9R/jLzAibg8+c56y+Q00BQs8R7Xcg==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-30.5.1.tgz",
+ "integrity": "sha512-SHcPnrjdVRYJv6y6l4JUTy4Jccu7zmO6BmiOfOA34UiVBto22s19WiDC0A/2qfM7MWB/qdcoqfSIRMitpjTT4A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@jest/test-result": "30.5.0",
+ "@jest/test-result": "30.5.1",
"graceful-fs": "^4.2.11",
- "jest-haste-map": "30.5.0",
+ "jest-haste-map": "30.5.1",
"slash": "^3.0.0"
},
"engines": {
@@ -3138,23 +3138,23 @@
}
},
"node_modules/@jest/transform": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-30.5.0.tgz",
- "integrity": "sha512-n1cYhoByyULEIXi64wbT4Lq91qeT1E6bwpM//sprFXhw955qaiHTdAmy1c1rNFGB6fCf1J+nxDUSf3RGwgZP5A==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-30.5.1.tgz",
+ "integrity": "sha512-EDnDhn0jleU9ZhpVoA4gvqw+Ev0iw/r5upNT2b79RiwiaTiYAMMhvNJP3lmocjIe5J2ZkoNr0B3K/J6O5GIm4Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/core": "^7.27.4",
- "@jest/types": "30.5.0",
+ "@jest/types": "30.5.1",
"@jridgewell/trace-mapping": "^0.3.31",
"babel-plugin-istanbul": "^8.0.0",
"chalk": "^4.1.2",
"convert-source-map": "^2.0.0",
"fast-json-stable-stringify": "^2.1.0",
"graceful-fs": "^4.2.11",
- "jest-haste-map": "30.5.0",
+ "jest-haste-map": "30.5.1",
"jest-regex-util": "30.5.0",
- "jest-util": "30.5.0",
+ "jest-util": "30.5.1",
"pirates": "^4.0.7",
"slash": "^3.0.0",
"write-file-atomic": "^5.0.1"
@@ -3431,9 +3431,9 @@
}
},
"node_modules/@jest/types": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.5.0.tgz",
- "integrity": "sha512-s1N+79S4Yp9ZgklCauZXi+YPJdCdtStNYQT32stuD6EeQaIBGHoUfyj2P0YWy8RmuQfaJboO+ulxEvEheR/POQ==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.5.1.tgz",
+ "integrity": "sha512-LvVYn83nnXPl+Rg98nvcFgjx6nRMTArhSn6RAX/w3ELn54S8A42TYZvsCMdGUqTM8S0wyXbtlQdU6Hi6dykj9g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3614,9 +3614,9 @@
}
},
"node_modules/@lezer/php": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/@lezer/php/-/php-1.0.5.tgz",
- "integrity": "sha512-W7asp9DhM6q0W6DYNwIkLSKOvxlXRrif+UXBMxzsJUuqmhE7oVU+gS3THO4S/Puh7Xzgm858UNaFi6dxTP8dJA==",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/@lezer/php/-/php-1.0.6.tgz",
+ "integrity": "sha512-QJ2xNXPmsm/Z3IpThq8fnJrEIVpxhsIoj6GZBW0JYEd/l9zxpJZW216X4fzqQY4vgpdGIumypvI4uQjd4tnYtw==",
"license": "MIT",
"dependencies": {
"@lezer/common": "^1.2.0",
@@ -4732,9 +4732,9 @@
"license": "MIT"
},
"node_modules/@types/node": {
- "version": "26.4.0",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-26.4.0.tgz",
- "integrity": "sha512-faiGnoIrLH/V8cibOMEAZ8pMw6oXqSukl29ra4mN8GdaB2ZewzeaLj+INpV5N+Z1eKWzY+IzaIZH2EIR6YZRNQ==",
+ "version": "26.4.1",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-26.4.1.tgz",
+ "integrity": "sha512-k97ENvZWtvA6yqz5/FS6a7duDgOPEeOQOc2iKS/nY6mX6qJUKtLnWzQS+Xj6tXweyj6ZcTAK2Qecetnvi9nCLA==",
"devOptional": true,
"license": "MIT",
"dependencies": {
@@ -4781,14 +4781,14 @@
"license": "MIT"
},
"node_modules/@typescript-eslint/project-service": {
- "version": "8.68.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.68.0.tgz",
- "integrity": "sha512-5GQtWZCXFcFYux955pvoS02WLc49pXNlvIxocKjS0clvwo3in1RdlzVKyiqQH9vE5AKWFLTaUgeQkOrTS+0Qxw==",
+ "version": "8.69.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.69.0.tgz",
+ "integrity": "sha512-yi4obFrHMmnsesWehHbkg9zMA7Jt8cXT+mKM08G999pH1yT6nqgsHx7MYm0uY1wAj8CqiBXYRJ7WAT0QdQHQXg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/tsconfig-utils": "^8.68.0",
- "@typescript-eslint/types": "^8.68.0",
+ "@typescript-eslint/tsconfig-utils": "^8.69.0",
+ "@typescript-eslint/types": "^8.69.0",
"debug": "^4.4.3"
},
"engines": {
@@ -4803,14 +4803,14 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "8.68.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.68.0.tgz",
- "integrity": "sha512-T5eXpcaJNg8bhjHJ8Rjp68Vq/QBteYtTKY8TZqVNPaUbuz0f6jI9t6aDkylwvalpAB9XTTFeFOjrjXAZ3YvmVA==",
+ "version": "8.69.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.69.0.tgz",
+ "integrity": "sha512-ewfspqWvSxKSOaplqAUNbaSFO0eB6w1EtQ+esfYFRm3614Ty4uNtExkcbgd6nWsXphbqKyf9ZYdbZdv2xEoWEQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.68.0",
- "@typescript-eslint/visitor-keys": "8.68.0"
+ "@typescript-eslint/types": "8.69.0",
+ "@typescript-eslint/visitor-keys": "8.69.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -4821,9 +4821,9 @@
}
},
"node_modules/@typescript-eslint/tsconfig-utils": {
- "version": "8.68.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.68.0.tgz",
- "integrity": "sha512-F7zrGQfiJHojPwi8vhxZQC1tWtJzvL74cK/nqri2lk8YUXvYaYwl263xOJ69jDWPUk1hmcdoayFwk9lX09npVw==",
+ "version": "8.69.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.69.0.tgz",
+ "integrity": "sha512-xNqK7YTDZsLniQMV/4rpFR8Z5JlqeRvVjuG1YgF/mdPVH84HSD19L8CczMA0qg2RfwEV231GHH3VnToJDo4MfQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -4838,9 +4838,9 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "8.68.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.68.0.tgz",
- "integrity": "sha512-9RnpsGJjrAllCMefGVVsImJM24YurhC0Q1h4UbvivtvOqXmR/vEJge2OoE++z9m6hyg8T1Q8t5SNT6tHSbrxcg==",
+ "version": "8.69.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.69.0.tgz",
+ "integrity": "sha512-K3VrubUPhlo9VDBS6QdI8YB5j7ClpqLRdefcz6PFrhnwicehBweqQ9Evhl4l+FYz0HdDmMqIiSX0aldGRYtDCA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -4852,16 +4852,16 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.68.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.68.0.tgz",
- "integrity": "sha512-OKKsD0tYmoNiU5PW2zehO1yO56jYOm1ShYlxon/Z0SJNidAkdVg86eg9ruRuoXf8xfnuWZGbwDsStkoXbZtIIA==",
+ "version": "8.69.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.69.0.tgz",
+ "integrity": "sha512-AdFkgqck3Vudb/kWnxlyafU/4aBhHrbQ9locP2N4psXTy5mOBg0SHJumnLvx7r6g1gV4DKvUFwV2nJZBoqOD8w==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/project-service": "8.68.0",
- "@typescript-eslint/tsconfig-utils": "8.68.0",
- "@typescript-eslint/types": "8.68.0",
- "@typescript-eslint/visitor-keys": "8.68.0",
+ "@typescript-eslint/project-service": "8.69.0",
+ "@typescript-eslint/tsconfig-utils": "8.69.0",
+ "@typescript-eslint/types": "8.69.0",
+ "@typescript-eslint/visitor-keys": "8.69.0",
"debug": "^4.4.3",
"minimatch": "^10.2.2",
"semver": "^7.7.3",
@@ -4919,16 +4919,16 @@
}
},
"node_modules/@typescript-eslint/utils": {
- "version": "8.68.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.68.0.tgz",
- "integrity": "sha512-PB5gJMMOg0Q5P1tsgWtEAqQacJXq0qEqRHDX/YJ4FaTMLfZPpHB3gjl2EJuiZyPABxmj4ZQYiY9m1bdAJ5y7tQ==",
+ "version": "8.69.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.69.0.tgz",
+ "integrity": "sha512-tUbx60BBqQa31kXF5MCsOOLL5E/WzUuxIn7YpAvq+eaUlqvk8/NXnXMBNAdLCr0icjkzem7iUA5QqWHe/hJ1aw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.9.1",
- "@typescript-eslint/scope-manager": "8.68.0",
- "@typescript-eslint/types": "8.68.0",
- "@typescript-eslint/typescript-estree": "8.68.0"
+ "@typescript-eslint/scope-manager": "8.69.0",
+ "@typescript-eslint/types": "8.69.0",
+ "@typescript-eslint/typescript-estree": "8.69.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -4943,13 +4943,13 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.68.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.68.0.tgz",
- "integrity": "sha512-YR65gGdGvTUAWLldC3xLOvOzamdGzB4A5/N8rehEaHs3Zvoe39BhgY+u0SPch1OvrVTfLcc55wsSgK2NcnTS/A==",
+ "version": "8.69.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.69.0.tgz",
+ "integrity": "sha512-+rmdgPA+EXkNgKYvHvFfhrs35utXbwaC5PGpDquSXcoXQDKUA5UjV0LmTucG/4JXkM31BTu4TilHtrN8IVBe8w==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.68.0",
+ "@typescript-eslint/types": "8.69.0",
"eslint-visitor-keys": "^5.0.0"
},
"engines": {
@@ -5680,13 +5680,13 @@
}
},
"node_modules/babel-jest": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.5.0.tgz",
- "integrity": "sha512-PrhPHlKC+MsLnuNzgIH/y1dkz1f6cSfKWaQeaG8WxLMuG44dYWQ8E9uRrsBbAGCU/3+BEFYPN4d6G3Zc5Y+waA==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.5.1.tgz",
+ "integrity": "sha512-ge1xUVZS91ml09YRMgRGgeKJ4YJpcOiuwteAxFBYLugQyp7cRw+hHej6Ho0vPjvLrjq60bb7JPHH9LAMA1/krA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@jest/transform": "30.5.0",
+ "@jest/transform": "30.5.1",
"@types/babel__core": "^7.20.5",
"babel-plugin-istanbul": "^8.0.0",
"babel-preset-jest": "30.5.0",
@@ -7013,9 +7013,9 @@
"license": "MIT"
},
"node_modules/electron-to-chromium": {
- "version": "1.5.416",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.416.tgz",
- "integrity": "sha512-K6bvB2BjnNrugtIih6ewlbBI9DXa976jIdiIlRLHhBoEI9a4JaQjjHyF+A1IQI543aQYR4LnmOrT/K5fZj0aPA==",
+ "version": "1.5.419",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.419.tgz",
+ "integrity": "sha512-nHMPn8x4yCxCI0iSnL+LlHL5sUoUfjLXkcRIagZ4GBdrfFLFaiLNvzJWbJqZhFT9IAhw5tUSNlhggWN+otvp/A==",
"license": "ISC"
},
"node_modules/emittery": {
@@ -7385,9 +7385,9 @@
}
},
"node_modules/eslint-plugin-jest": {
- "version": "29.16.5",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-29.16.5.tgz",
- "integrity": "sha512-2JblbVHN+FAF5iEz2Lky3jvzPRRmEOHJxFSvAl698FF6KPo+sdgaVT0j49HOAJ6gBP8Vlf/DAUs9/I6S3fj9VQ==",
+ "version": "29.16.6",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-29.16.6.tgz",
+ "integrity": "sha512-q8TVr0rlNvUD0XnafGWkwtPeX+tTl2llP86EDl3sJtwWrQA/JT9SIu2hLLZbhhX6fT5SDE4O0gIKyZUujKnkYA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7657,18 +7657,18 @@
}
},
"node_modules/expect": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/expect/-/expect-30.5.0.tgz",
- "integrity": "sha512-8fiMWcEjPU7B9nErC4FtFcCzf2tC6I75Qf7m8wzBAWC2taZmcno3yAFEjIQL34SwoGZNgPf63UDiJLyh4SMPaw==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/expect/-/expect-30.5.1.tgz",
+ "integrity": "sha512-m8YrYgvKe9+9gEnWEuKz+qCGfHqkrff7PPfyDnOFkjsfYRKqiYyOxDFMFieCGAuhtk/VNm63tvNgKZVzVy+Hvg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@jest/expect-utils": "30.5.0",
+ "@jest/expect-utils": "30.5.1",
"@jest/get-type": "30.5.0",
- "jest-matcher-utils": "30.5.0",
- "jest-message-util": "30.5.0",
- "jest-mock": "30.5.0",
- "jest-util": "30.5.0"
+ "jest-matcher-utils": "30.5.1",
+ "jest-message-util": "30.5.1",
+ "jest-mock": "30.5.1",
+ "jest-util": "30.5.1"
},
"engines": {
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
@@ -8520,9 +8520,9 @@
}
},
"node_modules/globby/node_modules/ignore": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.6.tgz",
- "integrity": "sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw==",
+ "version": "7.0.8",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.8.tgz",
+ "integrity": "sha512-YYNsSlXBjMk92SKnkwvB5LOVSa6OznlFUGcsvrFgNJbJCd0M1XKeFVRc8ZByeCqz32FivYNHJVooLmdqrmvp/Q==",
"dev": true,
"license": "MIT",
"engines": {
@@ -9868,16 +9868,16 @@
}
},
"node_modules/jest": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/jest/-/jest-30.5.0.tgz",
- "integrity": "sha512-HeFeOUEKh5gjnp1rjuSCse8Dhj0Y3KA8lsZ3azr4Wnq1nCxwMBu35MDc9mp8iblZxmeAz6wV4P241tyUB7J2Ew==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/jest/-/jest-30.5.1.tgz",
+ "integrity": "sha512-3qrR8+ZXFnn7y0H2yjWQNkGGBLBY4zTRoTMAq9zJcgwLLtlyonfsCLviIXK9xuE2KgIyM+M36AFcoK2DgFR36w==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@jest/core": "30.5.0",
- "@jest/types": "30.5.0",
+ "@jest/core": "30.5.1",
+ "@jest/types": "30.5.1",
"import-local": "^3.2.0",
- "jest-cli": "30.5.0"
+ "jest-cli": "30.5.1"
},
"bin": {
"jest": "bin/jest.js"
@@ -9895,14 +9895,14 @@
}
},
"node_modules/jest-changed-files": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-30.5.0.tgz",
- "integrity": "sha512-dq1x8JiEnHkJDxxOrF6UJDivBRAQMwAa5tzr+VX3um0SfyMFseUPQUbe51wLwggfoa5h/EmOtSpdJxxkzSlNRQ==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-30.5.1.tgz",
+ "integrity": "sha512-0+bvMM/ENhDI29Z8q1r4HxiDIi4G5tnBmSw4esfPQoj9q8Nik7KIyuxHkTVnnniJQf05SxpGaKDQ+4h28ynGPg==",
"dev": true,
"license": "MIT",
"dependencies": {
"execa": "^5.1.1",
- "jest-util": "30.5.0",
+ "jest-util": "30.5.1",
"p-limit": "^3.1.0"
},
"engines": {
@@ -9910,29 +9910,29 @@
}
},
"node_modules/jest-circus": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-30.5.0.tgz",
- "integrity": "sha512-T3v7uM4wwCu+RQicjsAWCgoL3CiyuX3THSKwv2uMb9N2bMUgb+HfwDWEUma85vOGbvQNQ/YfoCXF1OCZot0ZEw==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-30.5.1.tgz",
+ "integrity": "sha512-NgliezXQ6yznqR4W5Gqw++0cZSbBZlF0NknNIAE5VmSJKWOtmWJmWnBq3TSkUOVBTPrT7FGGhVdA8DLWnxo2Sw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@jest/environment": "30.5.0",
- "@jest/expect": "30.5.0",
- "@jest/test-result": "30.5.0",
- "@jest/types": "30.5.0",
+ "@jest/environment": "30.5.1",
+ "@jest/expect": "30.5.1",
+ "@jest/test-result": "30.5.1",
+ "@jest/types": "30.5.1",
"@types/node": "*",
"chalk": "^4.1.2",
"co": "^4.6.0",
"dedent": "^1.6.0",
"is-generator-fn": "^2.1.0",
- "jest-each": "30.5.0",
- "jest-matcher-utils": "30.5.0",
- "jest-message-util": "30.5.0",
- "jest-runtime": "30.5.0",
- "jest-snapshot": "30.5.0",
- "jest-util": "30.5.0",
+ "jest-each": "30.5.1",
+ "jest-matcher-utils": "30.5.1",
+ "jest-message-util": "30.5.1",
+ "jest-runtime": "30.5.1",
+ "jest-snapshot": "30.5.1",
+ "jest-util": "30.5.1",
"p-limit": "^3.1.0",
- "pretty-format": "30.5.0",
+ "pretty-format": "30.5.1",
"pure-rand": "^7.0.0",
"slash": "^3.0.0",
"stack-utils": "^2.0.6"
@@ -9942,21 +9942,21 @@
}
},
"node_modules/jest-cli": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-30.5.0.tgz",
- "integrity": "sha512-QHZMiy32x2K+NzJ1AuuoCAVc1Y5co0VXib3R7kD9MWcWFflzsD1eJN0wR+mkNlM+ts7C+Bjz0oOoFE5IiHylCg==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-30.5.1.tgz",
+ "integrity": "sha512-uwNYepWgaNBCplm42fCIUZTf/tIEHIy5AYvx7eL1BrwIgyjPt+2poouR23UO2yopIP+kV8oZFHfv+l4pg/8prQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@jest/core": "30.5.0",
- "@jest/test-result": "30.5.0",
- "@jest/types": "30.5.0",
+ "@jest/core": "30.5.1",
+ "@jest/test-result": "30.5.1",
+ "@jest/types": "30.5.1",
"chalk": "^4.1.2",
"exit-x": "^0.2.2",
"import-local": "^3.2.0",
- "jest-config": "30.5.0",
- "jest-util": "30.5.0",
- "jest-validate": "30.5.0",
+ "jest-config": "30.5.1",
+ "jest-util": "30.5.1",
+ "jest-validate": "30.5.1",
"yargs": "^17.7.2"
},
"bin": {
@@ -9975,33 +9975,33 @@
}
},
"node_modules/jest-config": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-30.5.0.tgz",
- "integrity": "sha512-gYQl2FqYgiVpyuB7DutBIbJRWaq5VcHdzOXJJ51HNa8J5JrsZehIlzNFW0/9s5uvvcbzM5/LTUizYSbsFErv+w==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-30.5.1.tgz",
+ "integrity": "sha512-L8PKM2X/ngG8PxfLMqglKGZjylPgw84bVPUlMY9W/o76TnLqPWrmQgsaT0HrheGdRtpGE5FbmREA0Kvb+Qx5gQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/core": "^7.27.4",
"@jest/get-type": "30.5.0",
"@jest/pattern": "30.5.0",
- "@jest/test-sequencer": "30.5.0",
- "@jest/types": "30.5.0",
- "babel-jest": "30.5.0",
+ "@jest/test-sequencer": "30.5.1",
+ "@jest/types": "30.5.1",
+ "babel-jest": "30.5.1",
"chalk": "^4.1.2",
"ci-info": "^4.2.0",
"deepmerge": "^4.3.1",
"glob": "^13.0.6",
"graceful-fs": "^4.2.11",
- "jest-circus": "30.5.0",
+ "jest-circus": "30.5.1",
"jest-docblock": "30.5.0",
- "jest-environment-node": "30.5.0",
+ "jest-environment-node": "30.5.1",
"jest-regex-util": "30.5.0",
- "jest-resolve": "30.5.0",
- "jest-runner": "30.5.0",
- "jest-util": "30.5.0",
- "jest-validate": "30.5.0",
+ "jest-resolve": "30.5.1",
+ "jest-runner": "30.5.1",
+ "jest-util": "30.5.1",
+ "jest-validate": "30.5.1",
"parse-json": "^5.2.0",
- "pretty-format": "30.5.0",
+ "pretty-format": "30.5.1",
"slash": "^3.0.0",
"strip-json-comments": "^3.1.1"
},
@@ -10293,16 +10293,16 @@
}
},
"node_modules/jest-diff": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.5.0.tgz",
- "integrity": "sha512-QjCfDMwdPFvLxTQmS4/Dswx3PUCiqmSXVLGljMC3SU7YG1qHVoR6b86IH/O2G9k9OMyKXz2vS2Q60VnAozNDwA==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.5.1.tgz",
+ "integrity": "sha512-e3cNNMpv8Kh20MjjphTXs+3Vz7DQyLM1nft7KJhnh46atFhjVJRa+0Hq0beywuwsACtMQUBihQkFl8zxb7gt1Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"@jest/diff-sequences": "30.5.0",
"@jest/get-type": "30.5.0",
"chalk": "^4.1.2",
- "pretty-format": "30.5.0"
+ "pretty-format": "30.5.1"
},
"engines": {
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
@@ -10322,36 +10322,36 @@
}
},
"node_modules/jest-each": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-30.5.0.tgz",
- "integrity": "sha512-NiMFNhRygJEFqYNt8pnkxppUF6CR486GEpt9rSU6lPBf7KeccaOL0zbjxG8fgJgD//6e7zYdssnlt6j+1kI31A==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-30.5.1.tgz",
+ "integrity": "sha512-S1af0TU4v1EZ/AUlkFs/sxf/5KGsbAT9kRgdyoMX/x72y7C8ZEgETE5o1TPnbKRnrbprc5FR/moYLfdRmqEjsQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@jest/get-type": "30.5.0",
- "@jest/types": "30.5.0",
+ "@jest/types": "30.5.1",
"chalk": "^4.1.2",
- "jest-util": "30.5.0",
- "pretty-format": "30.5.0"
+ "jest-util": "30.5.1",
+ "pretty-format": "30.5.1"
},
"engines": {
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
}
},
"node_modules/jest-environment-node": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-30.5.0.tgz",
- "integrity": "sha512-bTc79ywKLz0ogbT3JIYuEhgWV4Ffd/cJe06co4v8CyRtlmju8x5gokMlGFR8ARWhmk5SnbDRxmf50XWnlZVhDg==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-30.5.1.tgz",
+ "integrity": "sha512-LrPj3sPMjsQoOB3jrb8p/sa+XkSFNKo60TTsyc+EB2kxQJHgbwElpXnx1yX25fdFn5958FIObRtcLSHyV8VIAw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@jest/environment": "30.5.0",
- "@jest/fake-timers": "30.5.0",
- "@jest/types": "30.5.0",
+ "@jest/environment": "30.5.1",
+ "@jest/fake-timers": "30.5.1",
+ "@jest/types": "30.5.1",
"@types/node": "*",
- "jest-mock": "30.5.0",
- "jest-util": "30.5.0",
- "jest-validate": "30.5.0"
+ "jest-mock": "30.5.1",
+ "jest-util": "30.5.1",
+ "jest-validate": "30.5.1"
},
"engines": {
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
@@ -10365,13 +10365,13 @@
"license": "MIT"
},
"node_modules/jest-haste-map": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.5.0.tgz",
- "integrity": "sha512-0FStogBslBVOEqTOJr4oXMtFitmrWp9WscG6Gbns88i0YAuMXijCT2G5VMfg/HCR4QAnL+OF2C2ednag+HlDuA==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.5.1.tgz",
+ "integrity": "sha512-VIFgt67jW480YDxKfEv9IYQKrFpYt7bOCMn3VsnjK7AK9qo7p6acpnA1DHwsVOULE3dTaYew/6JaTD/d0VDHoQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@jest/types": "30.5.0",
+ "@jest/types": "30.5.1",
"@parcel/watcher": "^2.6.0",
"@types/node": "*",
"anymatch": "^3.1.3",
@@ -10379,8 +10379,8 @@
"fdir": "^6.5.0",
"graceful-fs": "^4.2.11",
"jest-regex-util": "30.5.0",
- "jest-util": "30.5.0",
- "jest-worker": "30.5.0",
+ "jest-util": "30.5.1",
+ "jest-worker": "30.5.1",
"picomatch": "^4.0.3"
},
"engines": {
@@ -10388,50 +10388,50 @@
}
},
"node_modules/jest-leak-detector": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-30.5.0.tgz",
- "integrity": "sha512-Mq11ceAkNR250Iv45RoOwuG9fb4kYbJ02qoyL7A0nCI8FV5+aG/THmcEUx5uR2dNSa4KOtz+xBKrJ8cZPhPpuQ==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-30.5.1.tgz",
+ "integrity": "sha512-gt4GT2aWgEoCNTcBe4rqS74xTIUJxi+UD9SNSu9aOk5LmTEd6fS5KSTmAKAfitCCktQHNN+upUuL6EkBfFbMDQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@jest/get-type": "30.5.0",
- "pretty-format": "30.5.0"
+ "pretty-format": "30.5.1"
},
"engines": {
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
}
},
"node_modules/jest-matcher-utils": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.5.0.tgz",
- "integrity": "sha512-EfaYMC9f9ds7fahB/LYFTgd1Z2RS9Vpm2e46gazij0onkpoQG7Daq+MLm8/gQVqWwRVjL/RNDggbFx9MsrJEmQ==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.5.1.tgz",
+ "integrity": "sha512-aroZVqwOz/wC2y6pC+obgFWKV9viaQWQTTSB6W5H55+egtUczIfXR/rxExTv92xD/ADYwpqaYfVWx1aqwKg7FA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@jest/get-type": "30.5.0",
"chalk": "^4.1.2",
- "jest-diff": "30.5.0",
- "pretty-format": "30.5.0"
+ "jest-diff": "30.5.1",
+ "pretty-format": "30.5.1"
},
"engines": {
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
}
},
"node_modules/jest-message-util": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.5.0.tgz",
- "integrity": "sha512-dBYMhplGfspKaCnVk9TUy1cZnknWubpuPNEputjz0YJk1G/92R45rn45BvbPMPMtC5LVcIdxJGPOaOSQTiuzJw==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.5.1.tgz",
+ "integrity": "sha512-UdQlLdd9wL/Ys7xRErckqwD6wPlSZYueosSWuHc1r2ztGLwlgPvtSJq2+BPEgaEY13WLvfFbmhTj8pba0Sd1jg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.27.1",
- "@jest/types": "30.5.0",
+ "@jest/types": "30.5.1",
"@types/stack-utils": "^2.0.3",
"chalk": "^4.1.2",
"graceful-fs": "^4.2.11",
- "jest-util": "30.5.0",
+ "jest-util": "30.5.1",
"picomatch": "^4.0.3",
- "pretty-format": "30.5.0",
+ "pretty-format": "30.5.1",
"slash": "^3.0.0",
"stack-utils": "^2.0.6"
},
@@ -10472,16 +10472,16 @@
"license": "MIT"
},
"node_modules/jest-mock": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.5.0.tgz",
- "integrity": "sha512-bP5MHZpkYrV7xpV+yvhl36DPcXoEmTR57Un5EACcdVpMY7mpkDefCBq+V4mhcjE/3rwUajT6OTrcJTN7EwN1BA==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.5.1.tgz",
+ "integrity": "sha512-9fVjc3leUpGID2/by/LU4Dvdcp7PFh9LlxS3QRWK3ABm+KtvEVsG/AEGeLY3gKOZsjkBxyfwGltoAVlW7dygHg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@jest/expect-utils": "30.5.0",
- "@jest/types": "30.5.0",
+ "@jest/expect-utils": "30.5.1",
+ "@jest/types": "30.5.1",
"@types/node": "*",
- "jest-util": "30.5.0"
+ "jest-util": "30.5.1"
},
"engines": {
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
@@ -10498,17 +10498,17 @@
}
},
"node_modules/jest-resolve": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-30.5.0.tgz",
- "integrity": "sha512-NFvQWJ4G7e2kN5712iG+12Xr325NRFGAIhovrwLfgq5Oqd4bFHITw4CzcFkZGp1GTCqemC4v1l8/yZzedKZkjw==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-30.5.1.tgz",
+ "integrity": "sha512-wprhLejRtwN6h8ZgaqC0eYjGJ1uMdGPT/+b3eFncbG4NWuuP9QL+vWwRinu9waw7hkOLcpMJGVJAMgBwsPssMQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"chalk": "^4.1.2",
"graceful-fs": "^4.2.11",
- "jest-haste-map": "30.5.0",
- "jest-util": "30.5.0",
- "jest-validate": "30.5.0",
+ "jest-haste-map": "30.5.1",
+ "jest-util": "30.5.1",
+ "jest-validate": "30.5.1",
"slash": "^3.0.0",
"unrs-resolver": "^1.12.1"
},
@@ -10517,47 +10517,47 @@
}
},
"node_modules/jest-resolve-dependencies": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-30.5.0.tgz",
- "integrity": "sha512-TnSBAp3wGOnqXBmLT3OXtJkugw6Vj2KU0IPde2EJmbGns/QMoNlkauJ7jZ8KYaxONSpx0o4pUvi+u1Q/LSk3Pg==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-30.5.1.tgz",
+ "integrity": "sha512-JKpXGONDcTaunrNVn8KCl6qAnwl06jIkvv70lhq0Ze47lsPx9sH5HoeEUiXX6iFGnliHN/qpIbQ0l38wrVmXaw==",
"dev": true,
"license": "MIT",
"dependencies": {
"jest-regex-util": "30.5.0",
- "jest-snapshot": "30.5.0"
+ "jest-snapshot": "30.5.1"
},
"engines": {
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
}
},
"node_modules/jest-runner": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-30.5.0.tgz",
- "integrity": "sha512-Q6Yt+1LvXvEstvru6sQLT7OQYC77VNl6dK0KEvBkeOHgThmXDqNp3Ox9TglDWFHU85pemqTNdKwxfnmO3vgrdA==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-30.5.1.tgz",
+ "integrity": "sha512-FPlQE4+mwnFxXmpPrSi836KV2ZzvK1g6/nPCT8o5BcoDUUNJQeHo1/Qdkoe/QeoL4M7OeJpbnGUhYKhC1VMdaQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@jest/console": "30.5.0",
- "@jest/environment": "30.5.0",
+ "@jest/console": "30.5.1",
+ "@jest/environment": "30.5.1",
"@jest/source-map": "30.5.0",
- "@jest/test-result": "30.5.0",
- "@jest/transform": "30.5.0",
- "@jest/types": "30.5.0",
+ "@jest/test-result": "30.5.1",
+ "@jest/transform": "30.5.1",
+ "@jest/types": "30.5.1",
"@types/node": "*",
"chalk": "^4.1.2",
"emittery": "^0.13.1",
"exit-x": "^0.2.2",
"graceful-fs": "^4.2.11",
"jest-docblock": "30.5.0",
- "jest-environment-node": "30.5.0",
- "jest-haste-map": "30.5.0",
- "jest-leak-detector": "30.5.0",
- "jest-message-util": "30.5.0",
- "jest-resolve": "30.5.0",
- "jest-runtime": "30.5.0",
- "jest-util": "30.5.0",
- "jest-watcher": "30.5.0",
- "jest-worker": "30.5.0",
+ "jest-environment-node": "30.5.1",
+ "jest-haste-map": "30.5.1",
+ "jest-leak-detector": "30.5.1",
+ "jest-message-util": "30.5.1",
+ "jest-resolve": "30.5.1",
+ "jest-runtime": "30.5.1",
+ "jest-util": "30.5.1",
+ "jest-watcher": "30.5.1",
+ "jest-worker": "30.5.1",
"p-limit": "^3.1.0"
},
"engines": {
@@ -10565,19 +10565,19 @@
}
},
"node_modules/jest-runtime": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-30.5.0.tgz",
- "integrity": "sha512-VTRz0sRIw2EISeHigx1O+CMuwoG4+RKJjF8dp8okzFaDNQEcv5Mw0h5QW8VJXgb2CRF4gZIjSEBb2jdzXPagFQ==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-30.5.1.tgz",
+ "integrity": "sha512-UB88+NRkK2Tw/OqV7dofYcyiUGrVZtD41k/N0xQOs9fG//57XHK7JLWG52HD1UYpUAhjK4xm6DBvFX3yWudsMA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@jest/environment": "30.5.0",
- "@jest/fake-timers": "30.5.0",
- "@jest/globals": "30.5.0",
+ "@jest/environment": "30.5.1",
+ "@jest/fake-timers": "30.5.1",
+ "@jest/globals": "30.5.1",
"@jest/source-map": "30.5.0",
- "@jest/test-result": "30.5.0",
- "@jest/transform": "30.5.0",
- "@jest/types": "30.5.0",
+ "@jest/test-result": "30.5.1",
+ "@jest/transform": "30.5.1",
+ "@jest/types": "30.5.1",
"@types/node": "*",
"chalk": "^4.1.2",
"cjs-module-lexer": "^2.2.0",
@@ -10585,13 +10585,13 @@
"es-module-lexer": "^2.1.0",
"glob": "^13.0.6",
"graceful-fs": "^4.2.11",
- "jest-haste-map": "30.5.0",
- "jest-message-util": "30.5.0",
- "jest-mock": "30.5.0",
+ "jest-haste-map": "30.5.1",
+ "jest-message-util": "30.5.1",
+ "jest-mock": "30.5.1",
"jest-regex-util": "30.5.0",
- "jest-resolve": "30.5.0",
- "jest-snapshot": "30.5.0",
- "jest-util": "30.5.0",
+ "jest-resolve": "30.5.1",
+ "jest-snapshot": "30.5.1",
+ "jest-util": "30.5.1",
"slash": "^3.0.0",
"strip-bom": "^4.0.0"
},
@@ -10600,9 +10600,9 @@
}
},
"node_modules/jest-snapshot": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-30.5.0.tgz",
- "integrity": "sha512-pZWETdcqmKve9MDTE/AX6RaeAbRhzKhhAXGozAW8Pg2FfOSdUrQ/7D+VdwE3fLQsqjpITXJVQvYVZoMEzrUl0Q==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-30.5.1.tgz",
+ "integrity": "sha512-cNWFdSb5xuDGl8hKkAZJ3YtI/PzHpAPFV+HUXWIOG8rMhpDTLVbvAc2d2wRicoYw2wGsJGLaurJT6BLC97bLXQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -10611,20 +10611,20 @@
"@babel/plugin-syntax-jsx": "^7.27.1",
"@babel/plugin-syntax-typescript": "^7.27.1",
"@babel/types": "^7.27.3",
- "@jest/expect-utils": "30.5.0",
+ "@jest/expect-utils": "30.5.1",
"@jest/get-type": "30.5.0",
- "@jest/snapshot-utils": "30.5.0",
- "@jest/transform": "30.5.0",
- "@jest/types": "30.5.0",
+ "@jest/snapshot-utils": "30.5.1",
+ "@jest/transform": "30.5.1",
+ "@jest/types": "30.5.1",
"babel-preset-current-node-syntax": "^1.2.0",
"chalk": "^4.1.2",
- "expect": "30.5.0",
+ "expect": "30.5.1",
"graceful-fs": "^4.2.11",
- "jest-diff": "30.5.0",
- "jest-matcher-utils": "30.5.0",
- "jest-message-util": "30.5.0",
- "jest-util": "30.5.0",
- "pretty-format": "30.5.0",
+ "jest-diff": "30.5.1",
+ "jest-matcher-utils": "30.5.1",
+ "jest-message-util": "30.5.1",
+ "jest-util": "30.5.1",
+ "pretty-format": "30.5.1",
"semver": "^7.7.2",
"synckit": "^0.11.8"
},
@@ -10952,13 +10952,13 @@
}
},
"node_modules/jest-util": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.5.0.tgz",
- "integrity": "sha512-lzU4aGUWaS+2X/B0CmgheDasfnsVlRfZh/rNQxB9b9s8cSYUq5BcqdQA95ld+KqJXBUVVt1sqnMQ2T3OxIalmg==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.5.1.tgz",
+ "integrity": "sha512-yKuxmNy2rSbTXw+3SIPanJo+nV4/BS1p26v44IYBFMsswSQySfMMcPHErnOncda7i9HEz0q605rIhSTBVgrZTg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@jest/types": "30.5.0",
+ "@jest/types": "30.5.1",
"@types/node": "*",
"chalk": "^4.1.2",
"ci-info": "^4.2.0",
@@ -10970,18 +10970,18 @@
}
},
"node_modules/jest-validate": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-30.5.0.tgz",
- "integrity": "sha512-N/hsPYKgBSzBeVZ2RHCs3yvBbTZNPX7Be8q33zhyo/yeFneBL1swzly31LYU4LJ3zJM9e8TxSM8IYLo2SDJZYQ==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-30.5.1.tgz",
+ "integrity": "sha512-i/buJ56wTpxihE93hQYNMfdOThS87+HGvLZzZJmU4xggPcdTYQq051iwALLCHp3q+SkCGH+EFejQZz5EbBSkkg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@jest/get-type": "30.5.0",
- "@jest/types": "30.5.0",
+ "@jest/types": "30.5.1",
"camelcase": "^6.3.0",
"chalk": "^4.1.2",
"leven": "^3.1.0",
- "pretty-format": "30.5.0"
+ "pretty-format": "30.5.1"
},
"engines": {
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
@@ -11001,19 +11001,19 @@
}
},
"node_modules/jest-watcher": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-30.5.0.tgz",
- "integrity": "sha512-ujjnEoL4Uu+Swu3WRwYenWMB9JMEiD2T3OypnveMJ64S/1r/5G8eC4OQ1wEOgYWQqMi+mT+buzccflCHr/XJ9Q==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-30.5.1.tgz",
+ "integrity": "sha512-+FHJ7C+S7b3ySfhA1aFmoa6TztsnwZVv84ycPRn0tVN93np2EU4b8C/KadqA3l6igdjgLBTnUotab9ER0HLG8A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@jest/test-result": "30.5.0",
- "@jest/types": "30.5.0",
+ "@jest/test-result": "30.5.1",
+ "@jest/types": "30.5.1",
"@types/node": "*",
"ansi-escapes": "^4.3.2",
"chalk": "^4.1.2",
"emittery": "^0.13.1",
- "jest-util": "30.5.0",
+ "jest-util": "30.5.1",
"string-length": "^4.0.2"
},
"engines": {
@@ -11021,15 +11021,15 @@
}
},
"node_modules/jest-worker": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-30.5.0.tgz",
- "integrity": "sha512-7kFk/607EoynNHLJa20daivkElM+c9PrCLduYy6AlMkYrXbh5TmVtW1BLXE05Y8baAFsJHMoC3xs2QRRTotwLw==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-30.5.1.tgz",
+ "integrity": "sha512-Cbxh5v7AoLuFRmFJSM4/aHdQ68rjXvUWr716EE0Dh3I7T+T/3FgFKhOERGXHcU2Meftq9+9zxPM3TSNyI9D+HA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/node": "*",
"@ungap/structured-clone": "^1.3.0",
- "jest-util": "30.5.0",
+ "jest-util": "30.5.1",
"merge-stream": "^2.0.0",
"supports-color": "^8.1.1"
},
@@ -13056,9 +13056,9 @@
}
},
"node_modules/pretty-format": {
- "version": "30.5.0",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.5.0.tgz",
- "integrity": "sha512-mzNzBErpHwM0zpmWS7ExOv62yhQhvd546nUuFqVR0dmnJB59tfrw9sjDF0DJknwsr59OXP0buwJ7PaKguczHSg==",
+ "version": "30.5.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.5.1.tgz",
+ "integrity": "sha512-byhRAPguVKMQIj4kjJwJ5lAskVhfuiSdiYl/aLTWpgkGEmic2jYhJh1yE9ih8Ox44Xg9ccCT11/S6QrzSJuNrg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -13225,9 +13225,9 @@
"license": "MIT"
},
"node_modules/qs": {
- "version": "6.15.3",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.3.tgz",
- "integrity": "sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==",
+ "version": "6.16.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.16.0.tgz",
+ "integrity": "sha512-h6fhOIaRrID2CbEY2fqs+7t+UXZo+MLAnU5gRIq85uFtdiUPCdsApMlHhXogKVM4HM2DVbIjGNTTYH2OcmP1vA==",
"license": "BSD-3-Clause",
"dependencies": {
"es-define-property": "^1.0.1",
@@ -14542,9 +14542,9 @@
}
},
"node_modules/stylelint/node_modules/ignore": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.6.tgz",
- "integrity": "sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw==",
+ "version": "7.0.8",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.8.tgz",
+ "integrity": "sha512-YYNsSlXBjMk92SKnkwvB5LOVSa6OznlFUGcsvrFgNJbJCd0M1XKeFVRc8ZByeCqz32FivYNHJVooLmdqrmvp/Q==",
"dev": true,
"license": "MIT",
"engines": {
@@ -15208,9 +15208,9 @@
}
},
"node_modules/undici": {
- "version": "8.10.0",
- "resolved": "https://registry.npmjs.org/undici/-/undici-8.10.0.tgz",
- "integrity": "sha512-HvltHd7avK13QIw/oLe4qoOLyoVSoafqJ2jYOrtMRBkbYT31eiBQ8O0ehRKZiEZCMEyLFQNIADpgCWC5fALvYQ==",
+ "version": "8.10.1",
+ "resolved": "https://registry.npmjs.org/undici/-/undici-8.10.1.tgz",
+ "integrity": "sha512-YQ3WlbqjYMmNpdvDH64jAgLjxuAR9+649calDWhbshYaeQGO2bR4nI94ORJmwI3J9YhoKQnpyGOK+0zlWS5N5Q==",
"dev": true,
"license": "MIT",
"engines": {