This is an automated email from the ASF dual-hosted git repository.
scottyaslan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/main by this push:
new 4a784242b0 NIFI-14949 - Display bulletin stack trace on bulletin board
if it exists. Add the stack trace to the copied content if available. (#10343)
4a784242b0 is described below
commit 4a784242b08a7d708069b9bc6a1ae6b79accdc4a
Author: Rob Fellows <[email protected]>
AuthorDate: Wed Oct 29 11:30:42 2025 -0400
NIFI-14949 - Display bulletin stack trace on bulletin board if it exists.
Add the stack trace to the copied content if available. (#10343)
---
.../bulletin-board-list.component.html | 19 +-
.../bulletin-board-list.component.scss | 4 +
.../bulletin-board-list.component.spec.ts | 235 +++++++++++++++-
.../bulletin-board-list.component.ts | 34 ++-
.../bulletins-tip/bulletins-tip.component.html | 6 +-
.../bulletins-tip/bulletins-tip.component.spec.ts | 24 ++
.../bulletins-tip/bulletins-tip.component.ts | 9 +-
.../shared/src/directives/copy/copy.directive.ts | 9 +-
.../main/frontend/libs/shared/src/types/index.ts | 1 +
nifi-frontend/src/main/frontend/package-lock.json | 308 ++++++++++-----------
10 files changed, 481 insertions(+), 168 deletions(-)
diff --git
a/nifi-frontend/src/main/frontend/apps/nifi/src/app/pages/bulletins/ui/bulletin-board/bulletin-board-list/bulletin-board-list.component.html
b/nifi-frontend/src/main/frontend/apps/nifi/src/app/pages/bulletins/ui/bulletin-board/bulletin-board-list/bulletin-board-list.component.html
index d543a096e0..691e9944b7 100644
---
a/nifi-frontend/src/main/frontend/apps/nifi/src/app/pages/bulletins/ui/bulletin-board/bulletin-board-list/bulletin-board-list.component.html
+++
b/nifi-frontend/src/main/frontend/apps/nifi/src/app/pages/bulletins/ui/bulletin-board/bulletin-board-list/bulletin-board-list.component.html
@@ -48,7 +48,7 @@
@if (isBulletin(item)) {
@if (asBulletin(item); as bulletin) {
@if (bulletin.canRead) {
- <li>
+ <li class="w-full">
<div class="inline-flex flex-wrap
gap-x-1.5">
<div>{{ bulletin.timestamp }}</div>
<div class="font-bold {{
getSeverity(bulletin.bulletin.level) }}">
@@ -64,8 +64,23 @@
@if (!!bulletin.nodeAddress) {
<div>{{ bulletin.nodeAddress
}}</div>
}
- <pre class="whitespace-pre-wrap">{{
bulletin.bulletin.message }}</pre>
+ <pre class="whitespace-pre-wrap"
[copy]="getBulletinCopyMessage(bulletin)">{{
+ bulletin.bulletin.message
+ }}</pre>
</div>
+ @if (bulletin.bulletin.stackTrace) {
+ <div class="w-full">
+ <a class="italic"
(click)="toggleStackTrace(bulletin)">
+ {{ isExpanded(bulletin) ?
'Hide stack trace' : 'Show stack trace' }}
+ </a>
+ @if (isExpanded(bulletin)) {
+ <pre
+ class="stack-trace mt-2
p-2 border whitespace-pre-wrap overflow-auto max-h-96"
+ >{{
bulletin.bulletin.stackTrace }}</pre
+ >
+ }
+ </div>
+ }
</li>
}
}
diff --git
a/nifi-frontend/src/main/frontend/apps/nifi/src/app/pages/bulletins/ui/bulletin-board/bulletin-board-list/bulletin-board-list.component.scss
b/nifi-frontend/src/main/frontend/apps/nifi/src/app/pages/bulletins/ui/bulletin-board/bulletin-board-list/bulletin-board-list.component.scss
index b33f7cac34..7687af0c65 100644
---
a/nifi-frontend/src/main/frontend/apps/nifi/src/app/pages/bulletins/ui/bulletin-board/bulletin-board-list/bulletin-board-list.component.scss
+++
b/nifi-frontend/src/main/frontend/apps/nifi/src/app/pages/bulletins/ui/bulletin-board/bulletin-board-list/bulletin-board-list.component.scss
@@ -14,3 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
+.stack-trace {
+ background-color: var(--mat-sys-surface-container);
+}
diff --git
a/nifi-frontend/src/main/frontend/apps/nifi/src/app/pages/bulletins/ui/bulletin-board/bulletin-board-list/bulletin-board-list.component.spec.ts
b/nifi-frontend/src/main/frontend/apps/nifi/src/app/pages/bulletins/ui/bulletin-board/bulletin-board-list/bulletin-board-list.component.spec.ts
index ce8cd724a4..2a71f32a97 100644
---
a/nifi-frontend/src/main/frontend/apps/nifi/src/app/pages/bulletins/ui/bulletin-board/bulletin-board-list/bulletin-board-list.component.spec.ts
+++
b/nifi-frontend/src/main/frontend/apps/nifi/src/app/pages/bulletins/ui/bulletin-board/bulletin-board-list/bulletin-board-list.component.spec.ts
@@ -15,7 +15,8 @@
* limitations under the License.
*/
-import { ComponentFixture, TestBed } from '@angular/core/testing';
+import { ComponentFixture, TestBed, fakeAsync, tick } from
'@angular/core/testing';
+import { RouterTestingModule } from '@angular/router/testing';
import { BulletinBoardList } from './bulletin-board-list.component';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
@@ -27,7 +28,7 @@ describe('BulletinBoardList', () => {
beforeEach(() => {
Element.prototype.scroll = jest.fn();
TestBed.configureTestingModule({
- imports: [BulletinBoardList, NoopAnimationsModule]
+ imports: [BulletinBoardList, NoopAnimationsModule,
RouterTestingModule]
});
fixture = TestBed.createComponent(BulletinBoardList);
component = fixture.componentInstance;
@@ -37,4 +38,234 @@ describe('BulletinBoardList', () => {
it('should create', () => {
expect(component).toBeTruthy();
});
+
+ it('should emit filterChanged when applyFilter is called', () => {
+ const received: any[] = [];
+ component.filterChanged.subscribe((args) => received.push(args));
+ component.applyFilter('foo', 'message');
+ expect(received).toEqual([{ filterTerm: 'foo', filterColumn: 'message'
}]);
+ });
+
+ it('should debounce filter term changes before emitting', fakeAsync(() => {
+ const received: any[] = [];
+ component.filterChanged.subscribe((args) => received.push(args));
+
+ component.filterForm.get('filterTerm')!.setValue('abc');
+ tick(499);
+ expect(received.length).toBe(0);
+ tick(1);
+ expect(received).toEqual([{ filterTerm: 'abc', filterColumn: 'message'
}]);
+ }));
+
+ it('should emit immediately when filter column changes', () => {
+ const received: any[] = [];
+ component.filterChanged.subscribe((args) => received.push(args));
+ component.filterForm.get('filterColumn')!.setValue('name');
+ expect(received).toEqual([{ filterTerm: '', filterColumn: 'name' }]);
+ });
+
+ it('should return proper severity classes', () => {
+ expect(component.getSeverity('error')).toBe('bulletin-error
error-color');
+ expect(component.getSeverity('warn')).toBe('bulletin-warn
caution-color');
+ expect(component.getSeverity('warning')).toBe('bulletin-warn
caution-color');
+ expect(component.getSeverity('info')).toBe('bulletin-normal
success-color-default');
+ });
+
+ it('should determine bulletin vs event types correctly', () => {
+ const bulletin = {
+ canRead: true,
+ id: 1,
+ sourceId: 's1',
+ groupId: 'g1',
+ timestamp: 'now',
+ bulletin: {
+ id: 1,
+ sourceId: 's1',
+ groupId: 'g1',
+ category: 'cat',
+ level: 'INFO',
+ message: 'm',
+ sourceName: 'sn',
+ timestamp: 'now',
+ sourceType: 'PROCESSOR'
+ }
+ } as any;
+
+ const event = { type: 'filter', message: 'applied' } as any;
+
+ const bulletinItem = { item: bulletin } as any;
+ const eventItem = { item: event } as any;
+
+ expect(component.isBulletin(bulletinItem)).toBe(true);
+ expect(component.asBulletin(bulletinItem)).toBe(bulletin);
+ expect(component.asBulletinEvent(bulletinItem)).toBeNull();
+
+ expect(component.isBulletin(eventItem)).toBe(false);
+ expect(component.asBulletin(eventItem)).toBeNull();
+ expect(component.asBulletinEvent(eventItem)).toBe(event);
+ });
+
+ it('should build router links for known component types and contexts', ()
=> {
+ const base = {
+ canRead: true,
+ id: 1,
+ sourceId: 'sid',
+ groupId: 'gid',
+ timestamp: 't'
+ } as any;
+
+ const generateBulletin = (sourceType: string, groupId: string | null =
'gid') =>
+ ({
+ ...base,
+ groupId: groupId ?? (undefined as any),
+ bulletin: {
+ id: 1,
+ sourceId: 'sid',
+ groupId: groupId ?? undefined,
+ category: 'c',
+ level: 'INFO',
+ message: 'm',
+ sourceName: 'sn',
+ timestamp: 't',
+ sourceType
+ }
+ }) as any;
+
+
expect(component.getRouterLink(generateBulletin('CONTROLLER_SERVICE'))).toEqual([
+ '/process-groups',
+ 'gid',
+ 'controller-services',
+ 'sid'
+ ]);
+ expect(component.getRouterLink(generateBulletin('CONTROLLER_SERVICE',
null))).toEqual([
+ '/settings',
+ 'management-controller-services',
+ 'sid'
+ ]);
+
expect(component.getRouterLink(generateBulletin('REPORTING_TASK'))).toEqual([
+ '/settings',
+ 'reporting-tasks',
+ 'sid'
+ ]);
+
expect(component.getRouterLink(generateBulletin('FLOW_REGISTRY_CLIENT'))).toEqual([
+ '/settings',
+ 'registry-clients',
+ 'sid'
+ ]);
+
expect(component.getRouterLink(generateBulletin('FLOW_ANALYSIS_RULE'))).toEqual([
+ '/settings',
+ 'flow-analysis-rules',
+ 'sid'
+ ]);
+
expect(component.getRouterLink(generateBulletin('PARAMETER_PROVIDER'))).toEqual([
+ '/settings',
+ 'parameter-providers',
+ 'sid'
+ ]);
+
expect(component.getRouterLink(generateBulletin('PROCESSOR'))).toEqual([
+ '/process-groups',
+ 'gid',
+ 'Processor',
+ 'sid'
+ ]);
+
expect(component.getRouterLink(generateBulletin('UNKNOWN'))).toBeNull();
+ });
+
+ it('should toggle stack trace expansion by bulletin id', () => {
+ const bulletin = {
+ canRead: true,
+ id: 1,
+ sourceId: 's1',
+ groupId: 'g1',
+ timestamp: 'now',
+ bulletin: {
+ id: 42,
+ sourceId: 's1',
+ groupId: 'g1',
+ category: 'cat',
+ level: 'ERROR',
+ message: 'm',
+ stackTrace: 'st',
+ sourceName: 'sn',
+ timestamp: 'now',
+ sourceType: 'PROCESSOR'
+ }
+ } as any;
+
+ expect(component.isExpanded(bulletin)).toBe(false);
+ component.toggleStackTrace(bulletin);
+ expect(component.isExpanded(bulletin)).toBe(true);
+ component.toggleStackTrace(bulletin);
+ expect(component.isExpanded(bulletin)).toBe(false);
+ });
+
+ it('should compose bulletin copy message with optional stack trace', () =>
{
+ const base = {
+ canRead: true,
+ id: 1,
+ sourceId: 's1',
+ groupId: 'g1',
+ timestamp: 'now'
+ } as any;
+ const withStack = {
+ ...base,
+ bulletin: {
+ id: 1,
+ sourceId: 's1',
+ groupId: 'g1',
+ category: 'c',
+ level: 'ERROR',
+ message: 'm',
+ stackTrace: 'st',
+ sourceName: 'sn',
+ timestamp: 'now',
+ sourceType: 'PROCESSOR'
+ }
+ } as any;
+ const withoutStack = {
+ ...base,
+ bulletin: {
+ id: 1,
+ sourceId: 's1',
+ groupId: 'g1',
+ category: 'c',
+ level: 'ERROR',
+ message: 'm',
+ sourceName: 'sn',
+ timestamp: 'now',
+ sourceType: 'PROCESSOR'
+ }
+ } as any;
+
+ expect(component.getBulletinCopyMessage(withStack)).toBe('m\n\nst');
+ expect(component.getBulletinCopyMessage(withoutStack)).toBe('m');
+ });
+
+ it('should auto-scroll when bulletins change', fakeAsync(() => {
+ const scrollSpy = jest.spyOn(Element.prototype as any, 'scroll');
+ scrollSpy.mockClear();
+ const bulletin = {
+ canRead: true,
+ id: 1,
+ sourceId: 's1',
+ groupId: 'g1',
+ timestamp: 'now',
+ bulletin: {
+ id: 1,
+ sourceId: 's1',
+ groupId: 'g1',
+ category: 'c',
+ level: 'INFO',
+ message: 'm',
+ sourceName: 'sn',
+ timestamp: 'now',
+ sourceType: 'PROCESSOR'
+ }
+ } as any;
+
+ component.bulletinBoardItems = [{ item: bulletin } as any];
+ fixture.detectChanges();
+ tick(11);
+ expect(scrollSpy).toHaveBeenCalledTimes(1);
+ }));
});
diff --git
a/nifi-frontend/src/main/frontend/apps/nifi/src/app/pages/bulletins/ui/bulletin-board/bulletin-board-list/bulletin-board-list.component.ts
b/nifi-frontend/src/main/frontend/apps/nifi/src/app/pages/bulletins/ui/bulletin-board/bulletin-board-list/bulletin-board-list.component.ts
index 44c9da6f82..a53f377895 100644
---
a/nifi-frontend/src/main/frontend/apps/nifi/src/app/pages/bulletins/ui/bulletin-board/bulletin-board-list/bulletin-board-list.component.ts
+++
b/nifi-frontend/src/main/frontend/apps/nifi/src/app/pages/bulletins/ui/bulletin-board/bulletin-board-list/bulletin-board-list.component.ts
@@ -32,7 +32,7 @@ import { MatInputModule } from '@angular/material/input';
import { MatOptionModule } from '@angular/material/core';
import { MatSelectModule } from '@angular/material/select';
import { FormBuilder, FormGroup, ReactiveFormsModule } from '@angular/forms';
-import { BulletinEntity, ComponentType, NiFiCommon } from '@nifi/shared';
+import { BulletinEntity, ComponentType, CopyDirective, NiFiCommon } from
'@nifi/shared';
import { BulletinBoardEvent, BulletinBoardFilterArgs, BulletinBoardItem } from
'../../../state/bulletin-board';
import { debounceTime, delay, Subject } from 'rxjs';
import { RouterLink } from '@angular/router';
@@ -40,7 +40,16 @@ import { takeUntilDestroyed } from
'@angular/core/rxjs-interop';
@Component({
selector: 'bulletin-board-list',
- imports: [MatFormFieldModule, MatInputModule, MatOptionModule,
MatSelectModule, ReactiveFormsModule, RouterLink],
+ standalone: true,
+ imports: [
+ MatFormFieldModule,
+ MatInputModule,
+ MatOptionModule,
+ MatSelectModule,
+ ReactiveFormsModule,
+ RouterLink,
+ CopyDirective
+ ],
templateUrl: './bulletin-board-list.component.html',
styleUrls: ['./bulletin-board-list.component.scss']
})
@@ -59,6 +68,8 @@ export class BulletinBoardList implements AfterViewInit,
OnDestroy {
@ViewChild('scrollContainer') private scroll!: ElementRef;
+ expandedBulletinIds: Set<number> = new Set<number>();
+
@Input() set bulletinBoardItems(items: BulletinBoardItem[]) {
this._items = items;
this.bulletinsChanged$.next();
@@ -216,4 +227,23 @@ export class BulletinBoardList implements AfterViewInit,
OnDestroy {
return null;
}
}
+
+ isExpanded(bulletin: BulletinEntity): boolean {
+ return this.expandedBulletinIds.has(bulletin.bulletin.id);
+ }
+
+ toggleStackTrace(bulletin: BulletinEntity): void {
+ const id = bulletin.bulletin.id;
+ if (this.expandedBulletinIds.has(id)) {
+ this.expandedBulletinIds.delete(id);
+ } else {
+ this.expandedBulletinIds.add(id);
+ }
+ }
+ getBulletinCopyMessage(bulletin: BulletinEntity): string {
+ if (bulletin.bulletin.stackTrace) {
+ return bulletin.bulletin.message + '\n\n' +
bulletin.bulletin.stackTrace;
+ }
+ return bulletin.bulletin.message;
+ }
}
diff --git
a/nifi-frontend/src/main/frontend/apps/nifi/src/app/ui/common/tooltips/bulletins-tip/bulletins-tip.component.html
b/nifi-frontend/src/main/frontend/apps/nifi/src/app/ui/common/tooltips/bulletins-tip/bulletins-tip.component.html
index 35d04622c9..2ab0d518e5 100644
---
a/nifi-frontend/src/main/frontend/apps/nifi/src/app/ui/common/tooltips/bulletins-tip/bulletins-tip.component.html
+++
b/nifi-frontend/src/main/frontend/apps/nifi/src/app/ui/common/tooltips/bulletins-tip/bulletins-tip.component.html
@@ -21,7 +21,7 @@
@if (bulletinEntity.canRead) {
<li>
<div class="inline-flex flex-wrap gap-x-1.5">
- <div class="inline-flex flex-wrap gap-x-1.5"
[copy]="bulletinEntity.bulletin.message">
+ <div class="inline-flex flex-wrap gap-x-1.5">
<div>{{ bulletinEntity.bulletin.timestamp }}</div>
@if (bulletinEntity.nodeAddress) {
<div>{{ bulletinEntity.nodeAddress }}</div>
@@ -30,7 +30,9 @@
{{ bulletinEntity.bulletin.level }}
</div>
</div>
- <pre class="whitespace-pre-wrap">{{
bulletinEntity.bulletin.message }}</pre>
+ <pre class="whitespace-pre-wrap"
[copy]="getBulletinCopyMessage(bulletinEntity)">{{
+ bulletinEntity.bulletin.message
+ }}</pre>
</div>
</li>
}
diff --git
a/nifi-frontend/src/main/frontend/apps/nifi/src/app/ui/common/tooltips/bulletins-tip/bulletins-tip.component.spec.ts
b/nifi-frontend/src/main/frontend/apps/nifi/src/app/ui/common/tooltips/bulletins-tip/bulletins-tip.component.spec.ts
index 0ea48ae48d..9f1e2fcedd 100644
---
a/nifi-frontend/src/main/frontend/apps/nifi/src/app/ui/common/tooltips/bulletins-tip/bulletins-tip.component.spec.ts
+++
b/nifi-frontend/src/main/frontend/apps/nifi/src/app/ui/common/tooltips/bulletins-tip/bulletins-tip.component.spec.ts
@@ -35,4 +35,28 @@ describe('Bulletins', () => {
it('should create', () => {
expect(component).toBeTruthy();
});
+
+ it('should return proper severity classes', () => {
+ expect(component.getSeverity('error')).toBe('bulletin-error
error-color');
+ expect(component.getSeverity('warn')).toBe('bulletin-warn
caution-color');
+ expect(component.getSeverity('warning')).toBe('bulletin-warn
caution-color');
+ expect(component.getSeverity('info')).toBe('bulletin-normal
success-color-default');
+ });
+
+ it('should compose bulletin copy message with optional stack trace', () =>
{
+ const withStack = {
+ bulletin: {
+ message: 'm',
+ stackTrace: 'st'
+ }
+ } as any;
+ const withoutStack = {
+ bulletin: {
+ message: 'm'
+ }
+ } as any;
+
+ expect(component.getBulletinCopyMessage(withStack)).toBe('m\n\nst');
+ expect(component.getBulletinCopyMessage(withoutStack)).toBe('m');
+ });
});
diff --git
a/nifi-frontend/src/main/frontend/apps/nifi/src/app/ui/common/tooltips/bulletins-tip/bulletins-tip.component.ts
b/nifi-frontend/src/main/frontend/apps/nifi/src/app/ui/common/tooltips/bulletins-tip/bulletins-tip.component.ts
index b2031b6ab6..31682b63d0 100644
---
a/nifi-frontend/src/main/frontend/apps/nifi/src/app/ui/common/tooltips/bulletins-tip/bulletins-tip.component.ts
+++
b/nifi-frontend/src/main/frontend/apps/nifi/src/app/ui/common/tooltips/bulletins-tip/bulletins-tip.component.ts
@@ -17,7 +17,7 @@
import { Component, Input } from '@angular/core';
import { BulletinsTipInput } from '../../../../state/shared';
-import { CopyDirective } from '@nifi/shared';
+import { BulletinEntity, CopyDirective } from '@nifi/shared';
@Component({
selector: 'bulletins-tip',
@@ -39,4 +39,11 @@ export class BulletinsTip {
return 'bulletin-normal success-color-default';
}
}
+
+ getBulletinCopyMessage(bulletin: BulletinEntity): string {
+ if (bulletin.bulletin.stackTrace) {
+ return bulletin.bulletin.message + '\n\n' +
bulletin.bulletin.stackTrace;
+ }
+ return bulletin.bulletin.message;
+ }
}
diff --git
a/nifi-frontend/src/main/frontend/libs/shared/src/directives/copy/copy.directive.ts
b/nifi-frontend/src/main/frontend/libs/shared/src/directives/copy/copy.directive.ts
index 913764bd0f..675e5d032c 100644
---
a/nifi-frontend/src/main/frontend/libs/shared/src/directives/copy/copy.directive.ts
+++
b/nifi-frontend/src/main/frontend/libs/shared/src/directives/copy/copy.directive.ts
@@ -18,7 +18,7 @@
*/
import { Directive, ElementRef, HostListener, Input, NgZone, Renderer2, inject
} from '@angular/core';
-import { fromEvent, Subscription, switchMap, take } from 'rxjs';
+import { fromEvent, Subscription, switchMap, take, tap } from 'rxjs';
@Directive({
selector: '[copy]',
@@ -49,8 +49,13 @@ export class CopyDirective {
// run outside the angular zone to prevent unnecessary change
detection cycles
this.subscription = this.zone.runOutsideAngular(() => {
- return fromEvent(cb, 'click')
+ return fromEvent<MouseEvent>(cb, 'click')
.pipe(
+ tap((event: MouseEvent) => {
+ // prevent copy click from triggering parent
click handlers
+ event.stopPropagation();
+ event.preventDefault();
+ }),
switchMap(() =>
navigator.clipboard.writeText(this.copy)),
take(1)
)
diff --git a/nifi-frontend/src/main/frontend/libs/shared/src/types/index.ts
b/nifi-frontend/src/main/frontend/libs/shared/src/types/index.ts
index 6defbab008..4294eb8bba 100644
--- a/nifi-frontend/src/main/frontend/libs/shared/src/types/index.ts
+++ b/nifi-frontend/src/main/frontend/libs/shared/src/types/index.ts
@@ -181,6 +181,7 @@ export interface BulletinEntity {
category: string;
level: string;
message: string;
+ stackTrace?: string;
sourceName: string;
timestamp: string;
nodeAddress?: string;
diff --git a/nifi-frontend/src/main/frontend/package-lock.json
b/nifi-frontend/src/main/frontend/package-lock.json
index 957fbc4efc..d40ce0f95d 100644
--- a/nifi-frontend/src/main/frontend/package-lock.json
+++ b/nifi-frontend/src/main/frontend/package-lock.json
@@ -11617,28 +11617,28 @@
}
},
"node_modules/@rspack/binding": {
- "version": "1.5.6",
- "resolved":
"https://registry.npmjs.org/@rspack/binding/-/binding-1.5.6.tgz",
- "integrity":
"sha512-1I6VOr5pe4FeL6wUlrOmMUVXWcYTVJTpwBzprxGdiu9oYwltBTiTXd7F6x6NOId1CiPcmXZII+3aZr9X3JwoPA==",
+ "version": "1.5.7",
+ "resolved":
"https://registry.npmjs.org/@rspack/binding/-/binding-1.5.7.tgz",
+ "integrity":
"sha512-/fFrf4Yu8Tc0yXBw33g2++turdld1MDphLiLg05bx92fOVI1MafocwPvm35e3y1z7CtlQJ2Bmvzhi6APJShKxg==",
"dev": true,
"license": "MIT",
"optionalDependencies": {
- "@rspack/binding-darwin-arm64": "1.5.6",
- "@rspack/binding-darwin-x64": "1.5.6",
- "@rspack/binding-linux-arm64-gnu": "1.5.6",
- "@rspack/binding-linux-arm64-musl": "1.5.6",
- "@rspack/binding-linux-x64-gnu": "1.5.6",
- "@rspack/binding-linux-x64-musl": "1.5.6",
- "@rspack/binding-wasm32-wasi": "1.5.6",
- "@rspack/binding-win32-arm64-msvc": "1.5.6",
- "@rspack/binding-win32-ia32-msvc": "1.5.6",
- "@rspack/binding-win32-x64-msvc": "1.5.6"
+ "@rspack/binding-darwin-arm64": "1.5.7",
+ "@rspack/binding-darwin-x64": "1.5.7",
+ "@rspack/binding-linux-arm64-gnu": "1.5.7",
+ "@rspack/binding-linux-arm64-musl": "1.5.7",
+ "@rspack/binding-linux-x64-gnu": "1.5.7",
+ "@rspack/binding-linux-x64-musl": "1.5.7",
+ "@rspack/binding-wasm32-wasi": "1.5.7",
+ "@rspack/binding-win32-arm64-msvc": "1.5.7",
+ "@rspack/binding-win32-ia32-msvc": "1.5.7",
+ "@rspack/binding-win32-x64-msvc": "1.5.7"
}
},
"node_modules/@rspack/binding-darwin-arm64": {
- "version": "1.5.6",
- "resolved":
"https://registry.npmjs.org/@rspack/binding-darwin-arm64/-/binding-darwin-arm64-1.5.6.tgz",
- "integrity":
"sha512-eRG8wbciBn09rdEGGijt3ZKYNgq1DGaiLaDb08HP1hZ/+SN4OdM9wxGo+abwkWl/Zv9ab/Ff8xc+Ry357UFvKA==",
+ "version": "1.5.7",
+ "resolved":
"https://registry.npmjs.org/@rspack/binding-darwin-arm64/-/binding-darwin-arm64-1.5.7.tgz",
+ "integrity":
"sha512-prQ/vgJxOPdlYiR4gVeOEKofTCEOu70JQIQApqFnw8lKM7rd9ag8ogDNqmc2L/GGXGHLAqds28oeKXRlzYf7+Q==",
"cpu": [
"arm64"
],
@@ -11650,9 +11650,9 @@
]
},
"node_modules/@rspack/binding-darwin-x64": {
- "version": "1.5.6",
- "resolved":
"https://registry.npmjs.org/@rspack/binding-darwin-x64/-/binding-darwin-x64-1.5.6.tgz",
- "integrity":
"sha512-+0ulwI2XNu1ArNP2UucKbePr1GAJiwaNL6Us5Ke0Qx/DRRzPGuA6X+R2iT30HjJRSLe6G9T9DxnBOnnqJOlysw==",
+ "version": "1.5.7",
+ "resolved":
"https://registry.npmjs.org/@rspack/binding-darwin-x64/-/binding-darwin-x64-1.5.7.tgz",
+ "integrity":
"sha512-FPqiWSbEEerqfJrGnYe68svvl6NyuQFAb3qqFe/Q0MqFhBYmAZwa0R2/ylugCdgFLZxmkFuWqpDgItpvJb/E3Q==",
"cpu": [
"x64"
],
@@ -11664,9 +11664,9 @@
]
},
"node_modules/@rspack/binding-linux-arm64-gnu": {
- "version": "1.5.6",
- "resolved":
"https://registry.npmjs.org/@rspack/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.5.6.tgz",
- "integrity":
"sha512-a7LxYdJzANj8xNjjlNJDCITQ9yAYGlc4Znz4DAYTX6vW0Q146rXCDif/UJLboYjQgrrbNbufpfRKEpPbYu2zGw==",
+ "version": "1.5.7",
+ "resolved":
"https://registry.npmjs.org/@rspack/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.5.7.tgz",
+ "integrity":
"sha512-fwy+NY+0CHrZqqzDrjPBlTuK53W4dG5EEg/QQFAE7KVM+okRqPk8tg45bJ5628rCNLe13GDmPIE107LmgspNqA==",
"cpu": [
"arm64"
],
@@ -11678,9 +11678,9 @@
]
},
"node_modules/@rspack/binding-linux-arm64-musl": {
- "version": "1.5.6",
- "resolved":
"https://registry.npmjs.org/@rspack/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.5.6.tgz",
- "integrity":
"sha512-Bi2Z8HhWH1ZikH2Ettowzej75Iy219KZYIl2W1RVwLkuAqm/DBRx099YsMmh+6esI8e3UgBQtWcHLz5lXaB+6g==",
+ "version": "1.5.7",
+ "resolved":
"https://registry.npmjs.org/@rspack/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.5.7.tgz",
+ "integrity":
"sha512-576u/0F4ZUzpHckFme4vQ0sSxjE+B/gVP4tNJ+P6bJaclXLFXV4icbjTUQwOIgmA1EQz/JFeKGGJZ4p6mowpBQ==",
"cpu": [
"arm64"
],
@@ -11692,9 +11692,9 @@
]
},
"node_modules/@rspack/binding-linux-x64-gnu": {
- "version": "1.5.6",
- "resolved":
"https://registry.npmjs.org/@rspack/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.5.6.tgz",
- "integrity":
"sha512-Ko4IbyaWA0B4e0EtXyfouVvkeIyh0bcgcESahir1tX/wRyXAV9aqOm0uRZ3eSIRaIvKxWQAmoi49/gFNgUMNJA==",
+ "version": "1.5.7",
+ "resolved":
"https://registry.npmjs.org/@rspack/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.5.7.tgz",
+ "integrity":
"sha512-brSHywXjjeuWkv0ywgxS4VgDgquarEb4XGr+eXhOaPcc8x2rNefyc4hErplrI7+oxPXVuGK5VE4ZH5bj3Yknvg==",
"cpu": [
"x64"
],
@@ -11706,9 +11706,9 @@
]
},
"node_modules/@rspack/binding-linux-x64-musl": {
- "version": "1.5.6",
- "resolved":
"https://registry.npmjs.org/@rspack/binding-linux-x64-musl/-/binding-linux-x64-musl-1.5.6.tgz",
- "integrity":
"sha512-Nyk2KoMiWruGe8GSGKlg0MU+EBWUiWJ+fV4/IEZw6tnAsod4YKIm4vD7f9jac0Mw07GIXggKQc0MaVhWTC8F7g==",
+ "version": "1.5.7",
+ "resolved":
"https://registry.npmjs.org/@rspack/binding-linux-x64-musl/-/binding-linux-x64-musl-1.5.7.tgz",
+ "integrity":
"sha512-HcS0DzbLlWCwVfYcWMbTgILh4GELD6m4CZoFEhIr4fJCJi0p8NgLYycy1QtDhaUjs8TKalmyMwHrJwGnD141JA==",
"cpu": [
"x64"
],
@@ -11720,9 +11720,9 @@
]
},
"node_modules/@rspack/binding-wasm32-wasi": {
- "version": "1.5.6",
- "resolved":
"https://registry.npmjs.org/@rspack/binding-wasm32-wasi/-/binding-wasm32-wasi-1.5.6.tgz",
- "integrity":
"sha512-Jj44lsdQWAaBZZwKk/x6UeQD/NFpH5uucHVXQUsC5BGF0PO3XbGSwhX7GSQ7+JuvFvEpIZDg6DuFXycB0Kv6iA==",
+ "version": "1.5.7",
+ "resolved":
"https://registry.npmjs.org/@rspack/binding-wasm32-wasi/-/binding-wasm32-wasi-1.5.7.tgz",
+ "integrity":
"sha512-uTRUEuK+TVlvUBSWXVoxD+6JTN+rvtRqVlO+A7I7VnOY7p9Rpvk1sXcHtEwg/XuDCq4DALnvlzbFLh7G3zILvw==",
"cpu": [
"wasm32"
],
@@ -11734,9 +11734,9 @@
}
},
"node_modules/@rspack/binding-win32-arm64-msvc": {
- "version": "1.5.6",
- "resolved":
"https://registry.npmjs.org/@rspack/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.5.6.tgz",
- "integrity":
"sha512-zkAe6JRAUqHGYFO64GyGDQHk6jg5s+odFkZ66Z1jun7AvHXB99iDN5mX8+kNjaECXjIl4A9dT5oO8Ogc04vLkQ==",
+ "version": "1.5.7",
+ "resolved":
"https://registry.npmjs.org/@rspack/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.5.7.tgz",
+ "integrity":
"sha512-dFHrXRUmMTkxEn/Uw2RLbIckKfi0Zmn2NnEXwedWdyRgZW4Vhk7+VBxM22O/CHZmAGt12Ol25yTuVv58ANLEKA==",
"cpu": [
"arm64"
],
@@ -11748,9 +11748,9 @@
]
},
"node_modules/@rspack/binding-win32-ia32-msvc": {
- "version": "1.5.6",
- "resolved":
"https://registry.npmjs.org/@rspack/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.5.6.tgz",
- "integrity":
"sha512-M7ghMl0eh/cD5oNCCd8OPsUdgCPEsI3BKJqrWZmKFIMbJci0mDTLivc2/NIMt7fgbfRBSeUKeIQKbVbey6yufg==",
+ "version": "1.5.7",
+ "resolved":
"https://registry.npmjs.org/@rspack/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.5.7.tgz",
+ "integrity":
"sha512-PNtnOIUzE9p/Fbl6l/1Zs7bhn8ccTlaHTgZgQq0sO/QxjLlbU0WPjRl+YLo27cAningSOAbANuYlN8vAcuimrw==",
"cpu": [
"ia32"
],
@@ -11762,9 +11762,9 @@
]
},
"node_modules/@rspack/binding-win32-x64-msvc": {
- "version": "1.5.6",
- "resolved":
"https://registry.npmjs.org/@rspack/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.5.6.tgz",
- "integrity":
"sha512-i8HiI1gErP+vQ8DYz+oDbpNHPRZ8BSRl8tt3GA02FINujanKvy0xWyOQyOssxSio4IwWTlZQRQf0TEAT1UraUg==",
+ "version": "1.5.7",
+ "resolved":
"https://registry.npmjs.org/@rspack/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.5.7.tgz",
+ "integrity":
"sha512-22gTaYkwaIUvyXRxf1RVnFTJPqF2hD1pgAQNBIz7kYybe6vvSZ6KInW4WyG4vjYKrJg/cbS4QvtlLn0lYXrdIw==",
"cpu": [
"x64"
],
@@ -11776,14 +11776,14 @@
]
},
"node_modules/@rspack/core": {
- "version": "1.5.6",
- "resolved":
"https://registry.npmjs.org/@rspack/core/-/core-1.5.6.tgz",
- "integrity":
"sha512-lM+0m5P+YZdY1tMWX8qbEO3gywAS2lV7pUWFQRF2hqyF7mwWo9oN4erp99MIf5dq5A+vDrK3oPDNIuTWrWz5NA==",
+ "version": "1.5.7",
+ "resolved":
"https://registry.npmjs.org/@rspack/core/-/core-1.5.7.tgz",
+ "integrity":
"sha512-57ey3wafK/g+B9zLdCiIrX3eTK8rFEM3yvxBUb2ro3ZtAaCGm4y7xERcXZJNn4D01pjzzCJ/u1ezpQmsZYLP7A==",
"dev": true,
"license": "MIT",
"dependencies": {
"@module-federation/runtime-tools": "0.18.0",
- "@rspack/binding": "1.5.6",
+ "@rspack/binding": "1.5.7",
"@rspack/lite-tapable": "1.0.1"
},
"engines": {
@@ -14987,9 +14987,9 @@
"license": "ISC"
},
"node_modules/cacache/node_modules/tar": {
- "version": "7.5.0",
- "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.0.tgz",
- "integrity":
"sha512-StRGMxeVwyozZpAmHLm2IfbwUlE21DbRXyZrYpGPFBVxM8cxALPongxFVMrs+HqCN7jQVVKyAgKOwGB1WbCp4A==",
+ "version": "7.5.1",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.1.tgz",
+ "integrity":
"sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -17460,9 +17460,9 @@
}
},
"node_modules/detect-libc": {
- "version": "2.1.0",
- "resolved":
"https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.0.tgz",
- "integrity":
"sha512-vEtk+OcP7VBRtQZ1EJ3bdgzSfBjgnEalLTp5zjJrS+2Z1w2KZly4SBdac/WDU3hhsNAZ9E8SC96ME4Ey8MZ7cg==",
+ "version": "2.1.1",
+ "resolved":
"https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.1.tgz",
+ "integrity":
"sha512-ecqj/sy1jcK1uWrwpR67UhYrIFQ+5WlGxth34WquCbamhFA6hkkwiu37o6J5xCHdo1oixJRfVRw+ywV+Hq/0Aw==",
"dev": true,
"license": "Apache-2.0",
"optional": true,
@@ -17777,9 +17777,9 @@
}
},
"node_modules/electron-to-chromium": {
- "version": "1.5.222",
- "resolved":
"https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.222.tgz",
- "integrity":
"sha512-gA7psSwSwQRE60CEoLz6JBCQPIxNeuzB2nL8vE03GK/OHxlvykbLyeiumQy1iH5C2f3YbRAZpGCMT12a/9ih9w==",
+ "version": "1.5.223",
+ "resolved":
"https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.223.tgz",
+ "integrity":
"sha512-qKm55ic6nbEmagFlTFczML33rF90aU+WtrJ9MdTCThrcvDNdUHN4p6QfVN78U06ZmguqXIyMPyYhw2TrbDUwPQ==",
"dev": true,
"license": "ISC"
},
@@ -20013,9 +20013,9 @@
}
},
"node_modules/hosted-git-info/node_modules/lru-cache": {
- "version": "11.2.1",
- "resolved":
"https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.1.tgz",
- "integrity":
"sha512-r8LA6i4LP4EeWOhqBaZZjDWwehd1xUJPCJd9Sv300H0ZmcUER4+JPh7bqqZeqs1o5pgtgvXm+d9UGrB5zZGDiQ==",
+ "version": "11.2.2",
+ "resolved":
"https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.2.tgz",
+ "integrity":
"sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==",
"dev": true,
"license": "ISC",
"engines": {
@@ -26555,9 +26555,9 @@
}
},
"node_modules/node-gyp/node_modules/tar": {
- "version": "7.5.0",
- "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.0.tgz",
- "integrity":
"sha512-StRGMxeVwyozZpAmHLm2IfbwUlE21DbRXyZrYpGPFBVxM8cxALPongxFVMrs+HqCN7jQVVKyAgKOwGB1WbCp4A==",
+ "version": "7.5.1",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.1.tgz",
+ "integrity":
"sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -29784,9 +29784,9 @@
}
},
"node_modules/sass-embedded": {
- "version": "1.93.1",
- "resolved":
"https://registry.npmjs.org/sass-embedded/-/sass-embedded-1.93.1.tgz",
- "integrity":
"sha512-LgXSubbCngOUZ7sVhxtfREa/lHa+hkG0Pjul02I4gB4cb0PhsR+UTLH0GIMnEafoL4dhFM1x8tdtezB3Njv7ng==",
+ "version": "1.93.2",
+ "resolved":
"https://registry.npmjs.org/sass-embedded/-/sass-embedded-1.93.2.tgz",
+ "integrity":
"sha512-FvQdkn2dZ8DGiLgi0Uf4zsj7r/BsiLImNa5QJ10eZalY6NfZyjrmWGFcuCN5jNwlDlXFJnftauv+UtvBKLvepQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -29806,30 +29806,30 @@
"node": ">=16.0.0"
},
"optionalDependencies": {
- "sass-embedded-all-unknown": "1.93.1",
- "sass-embedded-android-arm": "1.93.1",
- "sass-embedded-android-arm64": "1.93.1",
- "sass-embedded-android-riscv64": "1.93.1",
- "sass-embedded-android-x64": "1.93.1",
- "sass-embedded-darwin-arm64": "1.93.1",
- "sass-embedded-darwin-x64": "1.93.1",
- "sass-embedded-linux-arm": "1.93.1",
- "sass-embedded-linux-arm64": "1.93.1",
- "sass-embedded-linux-musl-arm": "1.93.1",
- "sass-embedded-linux-musl-arm64": "1.93.1",
- "sass-embedded-linux-musl-riscv64": "1.93.1",
- "sass-embedded-linux-musl-x64": "1.93.1",
- "sass-embedded-linux-riscv64": "1.93.1",
- "sass-embedded-linux-x64": "1.93.1",
- "sass-embedded-unknown-all": "1.93.1",
- "sass-embedded-win32-arm64": "1.93.1",
- "sass-embedded-win32-x64": "1.93.1"
+ "sass-embedded-all-unknown": "1.93.2",
+ "sass-embedded-android-arm": "1.93.2",
+ "sass-embedded-android-arm64": "1.93.2",
+ "sass-embedded-android-riscv64": "1.93.2",
+ "sass-embedded-android-x64": "1.93.2",
+ "sass-embedded-darwin-arm64": "1.93.2",
+ "sass-embedded-darwin-x64": "1.93.2",
+ "sass-embedded-linux-arm": "1.93.2",
+ "sass-embedded-linux-arm64": "1.93.2",
+ "sass-embedded-linux-musl-arm": "1.93.2",
+ "sass-embedded-linux-musl-arm64": "1.93.2",
+ "sass-embedded-linux-musl-riscv64": "1.93.2",
+ "sass-embedded-linux-musl-x64": "1.93.2",
+ "sass-embedded-linux-riscv64": "1.93.2",
+ "sass-embedded-linux-x64": "1.93.2",
+ "sass-embedded-unknown-all": "1.93.2",
+ "sass-embedded-win32-arm64": "1.93.2",
+ "sass-embedded-win32-x64": "1.93.2"
}
},
"node_modules/sass-embedded-all-unknown": {
- "version": "1.93.1",
- "resolved":
"https://registry.npmjs.org/sass-embedded-all-unknown/-/sass-embedded-all-unknown-1.93.1.tgz",
- "integrity":
"sha512-APlGAJhk/Twv1i8K/jHfkruMwTVV03M5+RZ2yxalYWhn0pouC+MIQ8I/xkiOPk2sNmCQ4M3EewMb0FUVyS/LMQ==",
+ "version": "1.93.2",
+ "resolved":
"https://registry.npmjs.org/sass-embedded-all-unknown/-/sass-embedded-all-unknown-1.93.2.tgz",
+ "integrity":
"sha512-GdEuPXIzmhRS5J7UKAwEvtk8YyHQuFZRcpnEnkA3rwRUI27kwjyXkNeIj38XjUQ3DzrfMe8HcKFaqWGHvblS7Q==",
"cpu": [
"!arm",
"!arm64",
@@ -29840,13 +29840,13 @@
"license": "MIT",
"optional": true,
"dependencies": {
- "sass": "1.93.1"
+ "sass": "1.93.2"
}
},
"node_modules/sass-embedded-all-unknown/node_modules/sass": {
- "version": "1.93.1",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.93.1.tgz",
- "integrity":
"sha512-wLAeLB7IksO2u+cCfhHqcy7/2ZUMPp/X2oV6+LjmweTqgjhOKrkaE/Q1wljxtco5EcOcupZ4c981X0gpk5Tiag==",
+ "version": "1.93.2",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.93.2.tgz",
+ "integrity":
"sha512-t+YPtOQHpGW1QWsh1CHQ5cPIr9lbbGZLZnbihP/D/qZj/yuV68m8qarcV17nvkOX81BCrvzAlq2klCQFZghyTg==",
"dev": true,
"license": "MIT",
"optional": true,
@@ -29866,9 +29866,9 @@
}
},
"node_modules/sass-embedded-android-arm": {
- "version": "1.93.1",
- "resolved":
"https://registry.npmjs.org/sass-embedded-android-arm/-/sass-embedded-android-arm-1.93.1.tgz",
- "integrity":
"sha512-ysejojGThRhsnyYRQtNyAstQqqOP+W+EsEbxnhKVZRLBp4WxeAza/W5x1/GBzLjhk6HUJ7N1MwNkkpvF0eqnuQ==",
+ "version": "1.93.2",
+ "resolved":
"https://registry.npmjs.org/sass-embedded-android-arm/-/sass-embedded-android-arm-1.93.2.tgz",
+ "integrity":
"sha512-I8bpO8meZNo5FvFx5FIiE7DGPVOYft0WjuwcCCdeJ6duwfkl6tZdatex1GrSigvTsuz9L0m4ngDcX/Tj/8yMow==",
"cpu": [
"arm"
],
@@ -29883,9 +29883,9 @@
}
},
"node_modules/sass-embedded-android-arm64": {
- "version": "1.93.1",
- "resolved":
"https://registry.npmjs.org/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.93.1.tgz",
- "integrity":
"sha512-kWvCvNXnHjPmjSS4uYGcSRLZo9am8cNDdg+jIY4mZy62Q3nmz0h0p9if1GszBHl4H3eIBXJIEJQiDY5E26amdQ==",
+ "version": "1.93.2",
+ "resolved":
"https://registry.npmjs.org/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.93.2.tgz",
+ "integrity":
"sha512-346f4iVGAPGcNP6V6IOOFkN5qnArAoXNTPr5eA/rmNpeGwomdb7kJyQ717r9rbJXxOG8OAAUado6J0qLsjnjXQ==",
"cpu": [
"arm64"
],
@@ -29900,9 +29900,9 @@
}
},
"node_modules/sass-embedded-android-riscv64": {
- "version": "1.93.1",
- "resolved":
"https://registry.npmjs.org/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.93.1.tgz",
- "integrity":
"sha512-EaNkWJ5IOMCZid3IZWl/Bvb3RkCFz0RBas6Ns05F7W3hls+ggaqiFB7RaVr4Wbr7Em8Ak6yYw5CuTgUiY58nDg==",
+ "version": "1.93.2",
+ "resolved":
"https://registry.npmjs.org/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.93.2.tgz",
+ "integrity":
"sha512-hSMW1s4yJf5guT9mrdkumluqrwh7BjbZ4MbBW9tmi1DRDdlw1Wh9Oy1HnnmOG8x9XcI1qkojtPL6LUuEJmsiDg==",
"cpu": [
"riscv64"
],
@@ -29917,9 +29917,9 @@
}
},
"node_modules/sass-embedded-android-x64": {
- "version": "1.93.1",
- "resolved":
"https://registry.npmjs.org/sass-embedded-android-x64/-/sass-embedded-android-x64-1.93.1.tgz",
- "integrity":
"sha512-kyGNIgFTAgWPa79LI+vkbOUNV1DzCywSAayAHsvuK6NgPcq560ET7qekp/OlbZ97wgTjVRlj68UAP0jVhq4k4A==",
+ "version": "1.93.2",
+ "resolved":
"https://registry.npmjs.org/sass-embedded-android-x64/-/sass-embedded-android-x64-1.93.2.tgz",
+ "integrity":
"sha512-JqktiHZduvn+ldGBosE40ALgQ//tGCVNAObgcQ6UIZznEJbsHegqStqhRo8UW3x2cgOO2XYJcrInH6cc7wdKbw==",
"cpu": [
"x64"
],
@@ -29934,9 +29934,9 @@
}
},
"node_modules/sass-embedded-darwin-arm64": {
- "version": "1.93.1",
- "resolved":
"https://registry.npmjs.org/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.93.1.tgz",
- "integrity":
"sha512-GOD2Nt+BZZdBmg+BM2CozkhAZFGzaU8IK1lI2KP5C6HTuhQP7mTPA9UZWNN3c7iHj6JrkenfWd1ec/vsCZVr+Q==",
+ "version": "1.93.2",
+ "resolved":
"https://registry.npmjs.org/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.93.2.tgz",
+ "integrity":
"sha512-qI1X16qKNeBJp+M/5BNW7v/JHCDYWr1/mdoJ7+UMHmP0b5AVudIZtimtK0hnjrLnBECURifd6IkulybR+h+4UA==",
"cpu": [
"arm64"
],
@@ -29951,9 +29951,9 @@
}
},
"node_modules/sass-embedded-darwin-x64": {
- "version": "1.93.1",
- "resolved":
"https://registry.npmjs.org/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.93.1.tgz",
- "integrity":
"sha512-79UlR88nNDbsGqa/87yxOdShPL9Bqz0KnFzv8ioh1NkxYwKYUM9XuKwohFEBTyGg8KDw6h31oTFAvrEFR2qBzg==",
+ "version": "1.93.2",
+ "resolved":
"https://registry.npmjs.org/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.93.2.tgz",
+ "integrity":
"sha512-4KeAvlkQ0m0enKUnDGQJZwpovYw99iiMb8CTZRSsQm8Eh7halbJZVmx67f4heFY/zISgVOCcxNg19GrM5NTwtA==",
"cpu": [
"x64"
],
@@ -29968,9 +29968,9 @@
}
},
"node_modules/sass-embedded-linux-arm": {
- "version": "1.93.1",
- "resolved":
"https://registry.npmjs.org/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.93.1.tgz",
- "integrity":
"sha512-CdJXeZazBU1Ry1jG0T0ohZkoKHnUBIdniqw3o8ZzqHPzVY3A4svuQWj0WvGGM+YrZ+SV5HQ3nmzezS58dlandA==",
+ "version": "1.93.2",
+ "resolved":
"https://registry.npmjs.org/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.93.2.tgz",
+ "integrity":
"sha512-N3+D/ToHtzwLDO+lSH05Wo6/KRxFBPnbjVHASOlHzqJnK+g5cqex7IFAp6ozzlRStySk61Rp6d+YGrqZ6/P0PA==",
"cpu": [
"arm"
],
@@ -29985,9 +29985,9 @@
}
},
"node_modules/sass-embedded-linux-arm64": {
- "version": "1.93.1",
- "resolved":
"https://registry.npmjs.org/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.93.1.tgz",
- "integrity":
"sha512-F5ZHx1s5ce3NdjtwPAq6oTXpTC1bZUlHweFgqzbYH5rhVhdhkOemIdHHUG+3gl8YttYrqZ0KASVDtJKBrJMnSg==",
+ "version": "1.93.2",
+ "resolved":
"https://registry.npmjs.org/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.93.2.tgz",
+ "integrity":
"sha512-9ftX6nd5CsShJqJ2WRg+ptaYvUW+spqZfJ88FbcKQBNFQm6L87luj3UI1rB6cP5EWrLwHA754OKxRJyzWiaN6g==",
"cpu": [
"arm64"
],
@@ -30002,9 +30002,9 @@
}
},
"node_modules/sass-embedded-linux-musl-arm": {
- "version": "1.93.1",
- "resolved":
"https://registry.npmjs.org/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.93.1.tgz",
- "integrity":
"sha512-gMxRky1OjjVh8HHw/blgMggkmIu5a9l8iLAODuBIi+AOOuF9v7v20JXyUfXh2jT2HvdXjKfc/EvIuhhELnBPpg==",
+ "version": "1.93.2",
+ "resolved":
"https://registry.npmjs.org/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.93.2.tgz",
+ "integrity":
"sha512-XBTvx66yRenvEsp3VaJCb3HQSyqCsUh7R+pbxcN5TuzueybZi0LXvn9zneksdXcmjACMlMpIVXi6LyHPQkYc8A==",
"cpu": [
"arm"
],
@@ -30019,9 +30019,9 @@
}
},
"node_modules/sass-embedded-linux-musl-arm64": {
- "version": "1.93.1",
- "resolved":
"https://registry.npmjs.org/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.93.1.tgz",
- "integrity":
"sha512-p7fxdQI+ev6KMkqRNgl1i7yG5PaUiPgudF4usfSE5NaQobORZYuFXt4m2XPd1h5xwP0ykYLyXjad1EMXTnGr7Q==",
+ "version": "1.93.2",
+ "resolved":
"https://registry.npmjs.org/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.93.2.tgz",
+ "integrity":
"sha512-+3EHuDPkMiAX5kytsjEC1bKZCawB9J6pm2eBIzzLMPWbf5xdx++vO1DpT7hD4bm4ZGn0eVHgSOKIfP6CVz6tVg==",
"cpu": [
"arm64"
],
@@ -30036,9 +30036,9 @@
}
},
"node_modules/sass-embedded-linux-musl-riscv64": {
- "version": "1.93.1",
- "resolved":
"https://registry.npmjs.org/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.93.1.tgz",
- "integrity":
"sha512-iVtkoiwXxVcIjbOD3ctX1CxgkXMPUzkw3A/1Iok55lmLLDRKB6t4nny8vT8qiejKrQ9DF4Oz2/+q7Cj0S3mN+Q==",
+ "version": "1.93.2",
+ "resolved":
"https://registry.npmjs.org/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.93.2.tgz",
+ "integrity":
"sha512-0sB5kmVZDKTYzmCSlTUnjh6mzOhzmQiW/NNI5g8JS4JiHw2sDNTvt1dsFTuqFkUHyEOY3ESTsfHHBQV8Ip4bEA==",
"cpu": [
"riscv64"
],
@@ -30053,9 +30053,9 @@
}
},
"node_modules/sass-embedded-linux-musl-x64": {
- "version": "1.93.1",
- "resolved":
"https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.93.1.tgz",
- "integrity":
"sha512-UPtkoxgljB+Tz5TF8Pg/5EaMDlDRhqlqnA3cCOqj+bDoaAgTQcqYNpAz/6wJSXYTv7Jjs54kWjI+NDMSOPdh/Q==",
+ "version": "1.93.2",
+ "resolved":
"https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.93.2.tgz",
+ "integrity":
"sha512-t3ejQ+1LEVuHy7JHBI2tWHhoMfhedUNDjGJR2FKaLgrtJntGnyD1RyX0xb3nuqL/UXiEAtmTmZY+Uh3SLUe1Hg==",
"cpu": [
"x64"
],
@@ -30070,9 +30070,9 @@
}
},
"node_modules/sass-embedded-linux-riscv64": {
- "version": "1.93.1",
- "resolved":
"https://registry.npmjs.org/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.93.1.tgz",
- "integrity":
"sha512-gTzxKGPK1vwqO8ZOYlQIVh1BFI2dBW1GyMHmyjqM4Mc/orAjOmTN3aJYGafJjxiMmH424JwlUmCN5vARRJQsJg==",
+ "version": "1.93.2",
+ "resolved":
"https://registry.npmjs.org/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.93.2.tgz",
+ "integrity":
"sha512-e7AndEwAbFtXaLy6on4BfNGTr3wtGZQmypUgYpSNVcYDO+CWxatKVY4cxbehMPhxG9g5ru+eaMfynvhZt7fLaA==",
"cpu": [
"riscv64"
],
@@ -30087,9 +30087,9 @@
}
},
"node_modules/sass-embedded-linux-x64": {
- "version": "1.93.1",
- "resolved":
"https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.93.1.tgz",
- "integrity":
"sha512-x67rR5KmmjZrnqzKSqNFEEyQoybajFmWnsWvxt3Fn2BCewK40EThVjJAJwNdZtXKcc8y7CZrMF+kmxBDxFbv4g==",
+ "version": "1.93.2",
+ "resolved":
"https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.93.2.tgz",
+ "integrity":
"sha512-U3EIUZQL11DU0xDDHXexd4PYPHQaSQa2hzc4EzmhHqrAj+TyfYO94htjWOd+DdTPtSwmLp+9cTWwPZBODzC96w==",
"cpu": [
"x64"
],
@@ -30104,9 +30104,9 @@
}
},
"node_modules/sass-embedded-unknown-all": {
- "version": "1.93.1",
- "resolved":
"https://registry.npmjs.org/sass-embedded-unknown-all/-/sass-embedded-unknown-all-1.93.1.tgz",
- "integrity":
"sha512-noDOdIJWRTXAW77J2bkrKGyoPWNuJ5G+JnXVHH+zLll1AlVcwPjVCKag9dNk6+o4cXDb0hx8b8Sg4ojdCzK8VA==",
+ "version": "1.93.2",
+ "resolved":
"https://registry.npmjs.org/sass-embedded-unknown-all/-/sass-embedded-unknown-all-1.93.2.tgz",
+ "integrity":
"sha512-7VnaOmyewcXohiuoFagJ3SK5ddP9yXpU0rzz+pZQmS1/+5O6vzyFCUoEt3HDRaLctH4GT3nUGoK1jg0ae62IfQ==",
"dev": true,
"license": "MIT",
"optional": true,
@@ -30117,13 +30117,13 @@
"!win32"
],
"dependencies": {
- "sass": "1.93.1"
+ "sass": "1.93.2"
}
},
"node_modules/sass-embedded-unknown-all/node_modules/sass": {
- "version": "1.93.1",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.93.1.tgz",
- "integrity":
"sha512-wLAeLB7IksO2u+cCfhHqcy7/2ZUMPp/X2oV6+LjmweTqgjhOKrkaE/Q1wljxtco5EcOcupZ4c981X0gpk5Tiag==",
+ "version": "1.93.2",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.93.2.tgz",
+ "integrity":
"sha512-t+YPtOQHpGW1QWsh1CHQ5cPIr9lbbGZLZnbihP/D/qZj/yuV68m8qarcV17nvkOX81BCrvzAlq2klCQFZghyTg==",
"dev": true,
"license": "MIT",
"optional": true,
@@ -30143,9 +30143,9 @@
}
},
"node_modules/sass-embedded-win32-arm64": {
- "version": "1.93.1",
- "resolved":
"https://registry.npmjs.org/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.93.1.tgz",
- "integrity":
"sha512-B6seb+gjZ9XV/rXO2STkBkFLpsRnlLS1Hs9tqJyWe723VhuaOy/cyI8LSuUjNDolYVbo4YKb4vbx3+BNFNRGBQ==",
+ "version": "1.93.2",
+ "resolved":
"https://registry.npmjs.org/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.93.2.tgz",
+ "integrity":
"sha512-Y90DZDbQvtv4Bt0GTXKlcT9pn4pz8AObEjFF8eyul+/boXwyptPZ/A1EyziAeNaIEIfxyy87z78PUgCeGHsx3Q==",
"cpu": [
"arm64"
],
@@ -30160,9 +30160,9 @@
}
},
"node_modules/sass-embedded-win32-x64": {
- "version": "1.93.1",
- "resolved":
"https://registry.npmjs.org/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.93.1.tgz",
- "integrity":
"sha512-tt4OxnQN2b1PbTWHeZHVFxnQTTSbzOZlSIVeZZ8T9hQmSWrAfzjuV0B96V1/YzhKfhSKtbCo7KD/JIgADKugqg==",
+ "version": "1.93.2",
+ "resolved":
"https://registry.npmjs.org/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.93.2.tgz",
+ "integrity":
"sha512-BbSucRP6PVRZGIwlEBkp+6VQl2GWdkWFMN+9EuOTPrLxCJZoq+yhzmbjspd3PeM8+7WJ7AdFu/uRYdO8tor1iQ==",
"cpu": [
"x64"
],
@@ -32114,9 +32114,9 @@
}
},
"node_modules/ts-checker-rspack-plugin/node_modules/memfs": {
- "version": "4.43.0",
- "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.43.0.tgz",
- "integrity":
"sha512-XCdhMy33sgxCwJ4JgjSasLGgOjFm9/i+IEhO03gPHroJeTBhM7ZQ1+v3j7di9nNKtcLGjVvKjHVOkTbVop/R/Q==",
+ "version": "4.46.0",
+ "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.46.0.tgz",
+ "integrity":
"sha512-//IxqL9OO/WMpm2kE2aq+y7vO7/xS9xgVIbFM8RUIfW7TY7lowtnuS1j9MwLGm0OwcHUa4p8Bp+40W7f1BiWGQ==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -32127,9 +32127,6 @@
"tree-dump": "^1.0.3",
"tslib": "^2.0.0"
},
- "engines": {
- "node": ">= 4.0.0"
- },
"funding": {
"type": "github",
"url": "https://github.com/sponsors/streamich"
@@ -33116,9 +33113,9 @@
}
},
"node_modules/webpack-dev-middleware/node_modules/memfs": {
- "version": "4.43.0",
- "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.43.0.tgz",
- "integrity":
"sha512-XCdhMy33sgxCwJ4JgjSasLGgOjFm9/i+IEhO03gPHroJeTBhM7ZQ1+v3j7di9nNKtcLGjVvKjHVOkTbVop/R/Q==",
+ "version": "4.46.0",
+ "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.46.0.tgz",
+ "integrity":
"sha512-//IxqL9OO/WMpm2kE2aq+y7vO7/xS9xgVIbFM8RUIfW7TY7lowtnuS1j9MwLGm0OwcHUa4p8Bp+40W7f1BiWGQ==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -33129,9 +33126,6 @@
"tree-dump": "^1.0.3",
"tslib": "^2.0.0"
},
- "engines": {
- "node": ">= 4.0.0"
- },
"funding": {
"type": "github",
"url": "https://github.com/sponsors/streamich"