diff --git a/app/controllers/concerns/dynamic_content_security_policy.rb b/app/controllers/concerns/dynamic_content_security_policy.rb
index 440a38869de..839b3adf71c 100644
--- a/app/controllers/concerns/dynamic_content_security_policy.rb
+++ b/app/controllers/concerns/dynamic_content_security_policy.rb
@@ -29,6 +29,12 @@
#++
module DynamicContentSecurityPolicy
+ extend ActiveSupport::Concern
+
+ included do
+ before_action :add_hocuspocus_host_to_csp
+ end
+
##
# Dynamically append sources to CSP directives
# This replaces the secure_headers named append functionality
@@ -47,4 +53,16 @@ module DynamicContentSecurityPolicy
request.content_security_policy = policy
end
end
+
+ private
+
+ def add_hocuspocus_host_to_csp
+ hocuspocus_url = Setting.collaborative_editing_hocuspocus_url
+ if hocuspocus_url.present?
+ uri = URI.parse(hocuspocus_url)
+ base_url = "#{uri.scheme}://#{uri.host}"
+
+ append_content_security_policy_directives(connect_src: [base_url])
+ end
+ end
end
diff --git a/app/helpers/settings_helper.rb b/app/helpers/settings_helper.rb
index 307f015902d..98b476818d8 100644
--- a/app/helpers/settings_helper.rb
+++ b/app/helpers/settings_helper.rb
@@ -80,6 +80,14 @@ module SettingsHelper
end
end
+ def setting_url_field(setting, options = {})
+ setting_field_wrapper(setting, options) do
+ styled_url_field_tag("settings[#{setting}]",
+ Setting.send(setting),
+ disabled_setting_option(setting).merge(options))
+ end
+ end
+
def setting_number_field(setting, options = {})
setting_field_wrapper(setting, options) do
styled_number_field_tag("settings[#{setting}]",
diff --git a/app/services/collaborative_editing.rb b/app/services/collaborative_editing.rb
new file mode 100644
index 00000000000..ecfcb352431
--- /dev/null
+++ b/app/services/collaborative_editing.rb
@@ -0,0 +1,57 @@
+# frozen_string_literal: true
+
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See COPYRIGHT and LICENSE files for more details.
+#++
+
+module CollaborativeEditing
+ module DocumentIdGenerator
+ module_function
+
+ def call(category, id)
+ OpenSSL::HMAC.hexdigest("SHA256", Rails.application.secret_key_base, "#{category}#{id}")
+ end
+ end
+
+ module DocumentAccessTokenGenerator
+ module_function
+
+ def call(document_id, document_text)
+ if Setting.collaborative_editing_hocuspocus_secret.present?
+ JWT.encode(
+ {
+ document_id:,
+ document_text:,
+ exp: 20.minutes.from_now.to_i
+ },
+ Setting.collaborative_editing_hocuspocus_secret,
+ "HS256"
+ )
+ end
+ end
+ end
+end
diff --git a/app/views/admin/settings/general_settings/show.html.erb b/app/views/admin/settings/general_settings/show.html.erb
index a17939c97de..6137683473a 100644
--- a/app/views/admin/settings/general_settings/show.html.erb
+++ b/app/views/admin/settings/general_settings/show.html.erb
@@ -59,6 +59,15 @@ See COPYRIGHT and LICENSE files for more details.
<%= t(:label_example) %>: <%= @guessed_host %>
+
+ <%= setting_url_field :collaborative_editing_hocuspocus_url, size: 60, container_class: "-middle" %>
+
+ <%= t(:label_example) %>: wss://websocket.server/path
+
+
+
+ <%= setting_text_field :collaborative_editing_hocuspocus_secret, size: 60, container_class: "-wide" %>
+
<%= setting_check_box :cache_formatted_text %>
<%= setting_text_area :allowed_link_protocols, rows: 5, container_class: "-wide" %>
diff --git a/config/constants/settings/definition.rb b/config/constants/settings/definition.rb
index a18fd1907cd..3ba4f04e077 100644
--- a/config/constants/settings/definition.rb
+++ b/config/constants/settings/definition.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
#-- copyright
# OpenProject is an open source project management software.
# Copyright (C) the OpenProject GmbH
@@ -564,6 +566,22 @@ module Settings
description: "Additional allowed host names for the application.",
default: []
},
+ collaborative_editing_hocuspocus_url: {
+ format: :string,
+ default: nil,
+ description: "The URL of the hocuspocus server used by BlockNoteJS editor to enable collaborative editing.",
+ default_by_env: {
+ development: "wss://hocuspocus.local"
+ }
+ },
+ collaborative_editing_hocuspocus_secret: {
+ format: :string,
+ default: nil,
+ default_by_env: {
+ development: "secret12345"
+ },
+ description: "The secret used for generating access tokens to access documents on hocuspocus server."
+ },
hours_per_day: {
description: "This will define what is considered a “day” when displaying duration in a more natural way " \
"(for example, if a day is 8 hours, 32 hours would be 4 days).",
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 363edeb94a1..7d3616402b4 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -4131,6 +4131,8 @@ en:
setting_feeds_limit: "Feed content limit"
setting_file_max_size_displayed: "Max size of text files displayed inline"
setting_host_name: "Host name"
+ setting_collaborative_editing_hocuspocus_url: "Hocuspocus server URL"
+ setting_collaborative_editing_hocuspocus_secret: "Hocuspocus server secret"
setting_hours_per_day: "Hours per day"
setting_hours_per_day_explanation: >-
This defines what is considered a "day" when displaying duration in days and hours
diff --git a/docker/dev/hocuspocus/Dockerfile b/docker/dev/hocuspocus/Dockerfile
new file mode 100644
index 00000000000..11df0ffbb3e
--- /dev/null
+++ b/docker/dev/hocuspocus/Dockerfile
@@ -0,0 +1,9 @@
+FROM node:18
+
+WORKDIR /app
+COPY package.json ./
+COPY index.js ./
+RUN npm install
+EXPOSE 1234
+
+CMD ["node", "index.js"]
diff --git a/docker/dev/hocuspocus/docker-compose.yml b/docker/dev/hocuspocus/docker-compose.yml
new file mode 100644
index 00000000000..03eb0acb67f
--- /dev/null
+++ b/docker/dev/hocuspocus/docker-compose.yml
@@ -0,0 +1,20 @@
+services:
+ hocuspocus:
+ build:
+ context: .
+ dockerfile: Dockerfile
+ labels:
+ - "traefik.enable=true"
+ - "traefik.http.routers.hocuspocus.rule=Host(`hocuspocus.local`)"
+ - "traefik.http.routers.hocuspocus.service=hocuspocus-service"
+ - "traefik.http.routers.hocuspocus.tls=true"
+ - "traefik.http.services.hocuspocus-service.loadbalancer.server.port=1234"
+ - "traefik.http.routers.hocuspocus.tls.certresolver=step"
+ # - "traefik.http.serversTransports.insecureTransport.insecureSkipVerify=true"
+ # - "traefik.http.services.my-wss-service.loadBalancer.serversTransport=insecureTransport"
+ networks:
+ - gateway
+networks:
+ gateway:
+ external: true
+ name: gateway
diff --git a/docker/dev/hocuspocus/index.js b/docker/dev/hocuspocus/index.js
new file mode 100644
index 00000000000..13026d6994f
--- /dev/null
+++ b/docker/dev/hocuspocus/index.js
@@ -0,0 +1,61 @@
+import { Server } from "@hocuspocus/server";
+import { createVerifier } from 'fast-jwt'
+import { ServerBlockNoteEditor } from "@blocknote/server-util";
+import {
+ BlockNoteSchema,
+ defaultBlockSpecs,
+ defaultInlineContentSpecs,
+ defaultStyleSpecs,
+} from "@blocknote/core";
+import * as Y from "yjs";
+
+const secret = "secret12345"
+const verifyToken = createVerifier({
+ key: async () => secret,
+ algorithms: ['HS256'],
+})
+const server = new Server({
+ port: 1234,
+ quite: false,
+ onConnect(data) {
+ console.log('CONNECTED: documentName: %0, socketId %0', data.documentName, data.socketId);
+ },
+ async afterUnloadDocument(data) {
+ console.log(`Document ${data.documentName} was closed`);
+ },
+ async onChange(data) {
+ console.log(`Document ${data.documentName} was changed`);
+ },
+ async onLoadDocument({ context, documentName, document }) {
+ const fragment = document.getXmlFragment('document-store');
+ if (fragment.length === 0) {
+ const schema = BlockNoteSchema.create({
+ blockSpecs: defaultBlockSpecs,
+ });
+ const editor = ServerBlockNoteEditor.create({schema});
+ const blocks = await editor.tryParseMarkdownToBlocks(context.document_text);
+ const doc = editor.blocksToYDoc(blocks, "document-store");
+ return doc;
+ }
+ },
+
+ async onAuthenticate(data) {
+ const { token, documentName } = data;
+ if (!token) {
+ throw new Error('Unauthorized: Token missing.')
+ }
+ let tokenPayload;
+ try {
+ tokenPayload = await verifyToken(token)
+ } catch (err) {
+ throw new Error('Unauthorized: Invalid token.')
+ }
+ console.log('Token payload:', tokenPayload);
+ if(documentName != tokenPayload.document_id) {
+ throw new Error('Unauthorized: Invalid token. This document cannot be accessed with this token.')
+ }
+ data.context.document_text = tokenPayload.document_text;
+ },
+});
+
+server.listen();
diff --git a/docker/dev/hocuspocus/package.json b/docker/dev/hocuspocus/package.json
new file mode 100644
index 00000000000..26ecdd907b0
--- /dev/null
+++ b/docker/dev/hocuspocus/package.json
@@ -0,0 +1,18 @@
+{
+ "name": "openproject-hocuspocus",
+ "type": "module",
+ "version": "1.0.0",
+ "description": "",
+ "main": "index.js",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "keywords": [],
+ "author": "",
+ "license": "ISC",
+ "dependencies": {
+ "@blocknote/server-util": "^0.34.0",
+ "@hocuspocus/server": "^3.2.0",
+ "fast-jwt": "^6.0.2"
+ }
+}
diff --git a/docker/dev/tls/docker-compose.override.example.yml b/docker/dev/tls/docker-compose.override.example.yml
index 4292131ccb3..f8f9e1ff57a 100644
--- a/docker/dev/tls/docker-compose.override.example.yml
+++ b/docker/dev/tls/docker-compose.override.example.yml
@@ -12,3 +12,4 @@ services:
- nextcloud.local
- gitlab.local
- keycloak.local
+ - hocuspocus.local
diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index 8eedbbed9f4..10fdb44d0af 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -43,25 +43,24 @@
"@fullcalendar/resource-timeline": "^6.1.11",
"@fullcalendar/timegrid": "^6.1.11",
"@github/webauthn-json": "^2.1.1",
+ "@hocuspocus/provider": "^3.2.0",
"@hotwired/stimulus": "^3.2.2",
"@hotwired/turbo": "^8.0.10",
"@hotwired/turbo-rails": "^8.0.10",
"@kolkov/ngx-gallery": "^2.0.1",
- "@ng-select/ng-option-highlight": "^20.1.0",
- "@ng-select/ng-select": "^20.1.0",
+ "@ng-select/ng-option-highlight": "14.2.6",
+ "@ng-select/ng-select": "^14.2.6",
"@ngneat/content-loader": "^7.0.0",
"@ngx-formly/core": "^6.1.4",
"@openproject/octicons-angular": "^19.26.2",
- "@openproject/primer-view-components": "^0.71.0",
+ "@openproject/primer-view-components": "^0.70.4",
"@openproject/reactivestates": "^3.0.1",
"@primer/css": "^22.0.2",
"@primer/live-region-element": "^0.8.0",
"@primer/primitives": "^11.0.0",
- "@primer/view-components": "npm:@openproject/primer-view-components@^0.71.0",
- "@rails/request.js": "^0.0.12",
+ "@primer/view-components": "npm:@openproject/primer-view-components@^0.70.4",
"@stimulus-components/auto-submit": "^6.0.0",
"@types/hotwired__turbo": "^8.0.1",
- "@types/jquery.cookie": "^1.4.36",
"@uirouter/angular": "^13.0.0",
"@uirouter/core": "^6.1.0",
"@uirouter/rx": "^1.0.0",
@@ -69,7 +68,7 @@
"@xeokit/xeokit-bim-viewer": "2.5.1-beta-28",
"autoprefixer": "^10.4.19",
"byte-base64": "^1.1.0",
- "chart.js": "4.5.0",
+ "chart.js": "4.3.0",
"chartjs-plugin-datalabels": "^2.2.0",
"codemirror": "^5.62.0",
"copy-text-to-clipboard": "^3.0.0",
@@ -86,8 +85,6 @@
"jquery": "^3.7.1",
"jquery-ujs": "^1.2.3",
"jquery.caret": "^0.3.1",
- "jquery.cookie": "^1.4.1",
- "jquery.flot": "^0.8.3",
"json5": "^2.2.2",
"lodash": "^4.17.21",
"mark.js": "^8.11.0",
@@ -97,9 +94,9 @@
"moment-timezone": "^0.5.45",
"mousetrap": "~1.6.3",
"ng-dynamic-component": "^10.7.0",
- "ng2-charts": "^8.0.0",
+ "ng2-charts": "^4.1.1",
"ng2-dragula": "^5.1.0",
- "ngx-cookie-service": "^20.0.1",
+ "ngx-cookie-service": "^14.0.0",
"observable-array": "0.0.4",
"op-blocknote-extensions": "github:opf/op-blocknote-extensions",
"pako": "^2.0.3",
@@ -129,24 +126,20 @@
"@angular-eslint/schematics": "20.1.1",
"@angular-eslint/template-parser": "20.1.1",
"@angular/language-service": "20.1.2",
- "@eslint/js": "^9.33.0",
- "@html-eslint/eslint-plugin": "^0.43.0",
- "@html-eslint/parser": "^0.43.0",
+ "@html-eslint/eslint-plugin": "^0.24.1",
+ "@html-eslint/parser": "^0.24.1",
"@jsdevtools/coverage-istanbul-loader": "3.0.5",
- "@stylistic/eslint-plugin": "^5.2.2",
"@types/codemirror": "5.60.5",
"@types/dom-navigation": "^1.0.3",
"@types/dragula": "^3.7.5",
- "@types/flot": "^0.0.36",
"@types/hammerjs": "^2.0.36",
- "@types/jasmine": "~5.1.8",
+ "@types/jasmine": "~3.6.0",
"@types/jquery": "^3.5.32",
"@types/jqueryui": "^1.12.24",
"@types/lodash": "^4.17.1",
"@types/mime": "^2.0.3",
"@types/mousetrap": "^1.6.3",
"@types/pako": "^1.0.1",
- "@types/rails__request.js": "^0.0.1",
"@types/react": "^19.1.5",
"@types/react-dom": "^19.1.5",
"@types/resize-observer-browser": "^0.1.4",
@@ -157,28 +150,31 @@
"@typescript-eslint/parser": "7.11.0",
"angular-eslint": "^20.1.1",
"browserslist": "^4.23.0",
- "eslint": "^9.33.0",
- "eslint-plugin-import": "^2.32.0",
- "eslint-plugin-jasmine": "^4.2.2",
- "eslint-plugin-jsx-a11y": "^6.10.2",
- "eslint-plugin-react": "^7.37.5",
- "eslint-plugin-react-hooks": "^5.2.0",
- "globals": "^16.3.0",
- "jasmine-core": "~5.9.0",
- "jasmine-spec-reporter": "~7.0.0",
- "karma": "~6.4.4",
- "karma-chrome-launcher": "~3.2.0",
- "karma-coverage": "~2.2.1",
- "karma-coverage-istanbul-reporter": "~3.0.3",
- "karma-jasmine": "~5.1.0",
- "karma-jasmine-html-reporter": "^2.1.0",
- "karma-spec-reporter": "^0.0.36",
+ "eslint": "8.57.1",
+ "eslint-config-airbnb-base": "^15.0.0",
+ "eslint-config-airbnb-typescript": "^18.0.0",
+ "eslint-plugin-change-detection-strategy": "^0.1.4",
+ "eslint-plugin-import": "^2.29.1",
+ "eslint-plugin-jasmine": "^4.1.3",
+ "eslint-plugin-jsx-a11y": "^6.8.0",
+ "eslint-plugin-react": "^7.34.1",
+ "eslint-plugin-react-hooks": "^4.6.2",
+ "esprint": "^3.1.0",
+ "jasmine-core": "~3.6.0",
+ "jasmine-spec-reporter": "~5.0.0",
+ "karma": "~6.3.16",
+ "karma-chrome-launcher": "~3.1.0",
+ "karma-coverage": "~2.0.3",
+ "karma-coverage-istanbul-reporter": "~3.0.2",
+ "karma-jasmine": "~3.3.0",
+ "karma-jasmine-html-reporter": "^1.5.0",
+ "karma-spec-reporter": "^0.0.32",
"source-map-explorer": "^2.5.2",
"theo": "^8.1.5",
"ts-node": "~8.3.0",
- "typescript": "^5.8.3",
- "typescript-eslint": "^8.39.1",
- "webpack-bundle-analyzer": "^4.4.2"
+ "typescript": "5.8.3",
+ "webpack-bundle-analyzer": "^4.4.2",
+ "wscat": "^6.1.0"
},
"optionalDependencies": {
"fsevents": "*"
@@ -465,11 +461,11 @@
}
},
"node_modules/@angular-devkit/architect": {
- "version": "0.2001.6",
- "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2001.6.tgz",
- "integrity": "sha512-CGFDfqPvKw1Ekuk7eSYMdhBv26LiwBrnZEUnrloC8fnuT8G+s46WMj/uH3tTcQ9MHYbhOSAHynNwpnwX71wghg==",
+ "version": "0.2001.4",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2001.4.tgz",
+ "integrity": "sha512-lZ9wYv1YDcw2Ggi2/TXXhYs7JAukAJHdZGZn6Co5s1QE774bVled1qK8pf46rSsG1BGn1a9VFsRFOlB/sx6WjA==",
"dependencies": {
- "@angular-devkit/core": "20.1.6",
+ "@angular-devkit/core": "20.1.4",
"rxjs": "7.8.2"
},
"engines": {
@@ -479,16 +475,16 @@
}
},
"node_modules/@angular-devkit/build-angular": {
- "version": "20.1.6",
- "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-20.1.6.tgz",
- "integrity": "sha512-T9sAN6rj1eDrWTDrX2Tb5FS07vkxIqbp0L3ON8DsbOo68+I4whBSBrCyacqanuL8O6HUkPrlLc2Hl0CFdV6tIg==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-20.1.4.tgz",
+ "integrity": "sha512-mD7B2JqmbP3qBp8MfDhDm1PfybLQX+qVscCr32siuDpS02KvizsmABfnrDOdpHuzCjx4IbmNk0nVUWn1tSHZfw==",
"dev": true,
"dependencies": {
"@ampproject/remapping": "2.3.0",
- "@angular-devkit/architect": "0.2001.6",
- "@angular-devkit/build-webpack": "0.2001.6",
- "@angular-devkit/core": "20.1.6",
- "@angular/build": "20.1.6",
+ "@angular-devkit/architect": "0.2001.4",
+ "@angular-devkit/build-webpack": "0.2001.4",
+ "@angular-devkit/core": "20.1.4",
+ "@angular/build": "20.1.4",
"@babel/core": "7.27.7",
"@babel/generator": "7.27.5",
"@babel/helper-annotate-as-pure": "7.27.3",
@@ -499,7 +495,7 @@
"@babel/preset-env": "7.27.2",
"@babel/runtime": "7.27.6",
"@discoveryjs/json-ext": "0.6.3",
- "@ngtools/webpack": "20.1.6",
+ "@ngtools/webpack": "20.1.4",
"ansi-colors": "4.1.3",
"autoprefixer": "10.4.21",
"babel-loader": "10.0.0",
@@ -554,7 +550,7 @@
"@angular/platform-browser": "^20.0.0",
"@angular/platform-server": "^20.0.0",
"@angular/service-worker": "^20.0.0",
- "@angular/ssr": "^20.1.6",
+ "@angular/ssr": "^20.1.4",
"@web/test-runner": "^0.20.0",
"browser-sync": "^3.0.2",
"jest": "^29.5.0",
@@ -758,12 +754,12 @@
}
},
"node_modules/@angular-devkit/build-webpack": {
- "version": "0.2001.6",
- "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.2001.6.tgz",
- "integrity": "sha512-rOzDLQYWuSoZ9FpavHR9ld+D+C1JJfOystVLufvzhLVlwZn4IYclWJe7BT0wGME92fXrwz4ubjZrZW+fgB3LXg==",
+ "version": "0.2001.4",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.2001.4.tgz",
+ "integrity": "sha512-R/xEwVTaqZN1yKfpQIlP7kcyoEvQueFt78HSNm+FFhqMM5MlSLoc+1ond2MYk9MDEvmvHYlx7r6AZ7C+KouU/Q==",
"dev": true,
"dependencies": {
- "@angular-devkit/architect": "0.2001.6",
+ "@angular-devkit/architect": "0.2001.4",
"rxjs": "7.8.2"
},
"engines": {
@@ -777,9 +773,9 @@
}
},
"node_modules/@angular-devkit/core": {
- "version": "20.1.6",
- "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-20.1.6.tgz",
- "integrity": "sha512-Wooe+nTmHOLvveBQWDmSsdKg39re5BUMGVkwKlPHTQ/YU9aYshvPEBu1K0l4gSqe3qtqVVAx0HlPb53bEFFa8w==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-20.1.4.tgz",
+ "integrity": "sha512-I5CllQoDrVL20/+0JZk/gmR14n/+mwYIoD1RfBDwnaiHlO9o2whRsJj+LeUd9IA5Hf9MPPx+EkOVQt3vsYU0sQ==",
"dependencies": {
"ajv": "8.17.1",
"ajv-formats": "3.0.1",
@@ -832,11 +828,11 @@
}
},
"node_modules/@angular-devkit/schematics": {
- "version": "20.1.6",
- "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-20.1.6.tgz",
- "integrity": "sha512-Maj/yCkn3Qjum2kCYUOYMw8VYh/8725XN8/4cae9VllMwkN5D8jYDvX40qmfgQve2x0x6r3L8rmaIHn8227cHg==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-20.1.4.tgz",
+ "integrity": "sha512-dyvlQcXf5XKPRC1qTqzIGkltFHh8mYujPk6qt6Ah2nKp7UeA80ZSAocwOmlBg8t7GjN8ICe4Kese5scT1ByFXQ==",
"dependencies": {
- "@angular-devkit/core": "20.1.6",
+ "@angular-devkit/core": "20.1.4",
"jsonc-parser": "3.3.1",
"magic-string": "0.30.17",
"ora": "8.2.0",
@@ -976,9 +972,9 @@
}
},
"node_modules/@angular/animations": {
- "version": "20.1.7",
- "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-20.1.7.tgz",
- "integrity": "sha512-ykzx6cKqGkKbtE2CbHBukIgM2Wk8+BmYTEqwRZRVqskxbIGvEuLmLJrvmwpqqvo4MypgvbLEtJyviSCYQkZYvA==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-20.1.4.tgz",
+ "integrity": "sha512-y4mq2r6jhAj5QuA3UnWkVfok0EcA22uH+XVb4HBKY7q23/xaQYu2CGdVOVpdUsaPTf3zRD1DkAnTkV3J3ZHIiA==",
"dependencies": {
"tslib": "^2.3.0"
},
@@ -986,18 +982,18 @@
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
},
"peerDependencies": {
- "@angular/common": "20.1.7",
- "@angular/core": "20.1.7"
+ "@angular/common": "20.1.4",
+ "@angular/core": "20.1.4"
}
},
"node_modules/@angular/build": {
- "version": "20.1.6",
- "resolved": "https://registry.npmjs.org/@angular/build/-/build-20.1.6.tgz",
- "integrity": "sha512-xAC9uGeRmvCKNLr7D0XUK+KWixlRl9nnfZbB9MIDe00ulmHy5duVWILUwBEOeq1/wRrrJc133NAPTTEBWImwnA==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular/build/-/build-20.1.4.tgz",
+ "integrity": "sha512-DClI15kl0t1YijptthQfw0cRSj8Opf8ACsZa1xT3o77BALpeusxS2QzSy6xGH+QnwesTyJFux1oRYjtAKmE2YA==",
"dev": true,
"dependencies": {
"@ampproject/remapping": "2.3.0",
- "@angular-devkit/architect": "0.2001.6",
+ "@angular-devkit/architect": "0.2001.4",
"@babel/core": "7.27.7",
"@babel/helper-annotate-as-pure": "7.27.3",
"@babel/helper-split-export-declaration": "7.24.7",
@@ -1039,7 +1035,7 @@
"@angular/platform-browser": "^20.0.0",
"@angular/platform-server": "^20.0.0",
"@angular/service-worker": "^20.0.0",
- "@angular/ssr": "^20.1.6",
+ "@angular/ssr": "^20.1.4",
"karma": "^6.4.0",
"less": "^4.2.0",
"ng-packagr": "^20.0.0",
@@ -1194,9 +1190,9 @@
}
},
"node_modules/@angular/cdk": {
- "version": "20.1.6",
- "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-20.1.6.tgz",
- "integrity": "sha512-GKxCS/GOAOQCNTnrvYia9wR4Z9rRWjzNRE0989LXwWLYcmiG7+ku30PolGV7zhmlgUu/qx8P6BbxZgUvK34X/A==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-20.1.4.tgz",
+ "integrity": "sha512-Uz0fLZRWpKG7xniXSw3Hr4QEvTlVurov07BBz6nRWseGxeHCDkFqKc3UEriovCQ7ylJdR6miIu7j+h4PWLH48g==",
"dependencies": {
"parse5": "^8.0.0",
"tslib": "^2.3.0"
@@ -1232,17 +1228,17 @@
}
},
"node_modules/@angular/cli": {
- "version": "20.1.6",
- "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-20.1.6.tgz",
- "integrity": "sha512-kqncVmYtlDYLwt4l5lFBz4uEnoheMH+teSqAAD/zaDxn41KvpoRLHiEVurQhsNP/GDHxGu+8wg0s4gX3kaFOzg==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-20.1.4.tgz",
+ "integrity": "sha512-VAQ/EBelBPiX1vV57TZJRPcao/e+Ee9IeLK43fsE2xL+GuEjrJ/fQXqt7OesrgIJHJBwUiX+j8pMMT6VfT1xSA==",
"dependencies": {
- "@angular-devkit/architect": "0.2001.6",
- "@angular-devkit/core": "20.1.6",
- "@angular-devkit/schematics": "20.1.6",
+ "@angular-devkit/architect": "0.2001.4",
+ "@angular-devkit/core": "20.1.4",
+ "@angular-devkit/schematics": "20.1.4",
"@inquirer/prompts": "7.6.0",
"@listr2/prompt-adapter-inquirer": "2.0.22",
"@modelcontextprotocol/sdk": "1.13.3",
- "@schematics/angular": "20.1.6",
+ "@schematics/angular": "20.1.4",
"@yarnpkg/lockfile": "1.1.0",
"algoliasearch": "5.32.0",
"ini": "5.0.0",
@@ -1385,9 +1381,9 @@
}
},
"node_modules/@angular/common": {
- "version": "20.1.7",
- "resolved": "https://registry.npmjs.org/@angular/common/-/common-20.1.7.tgz",
- "integrity": "sha512-3eFxQ18613JpBQw53wMUZfqc2RvratWx6GqKs5A1JJpMs0qq26yc2PhJWer99u3mugpKavmKoKpXFBkuWg50Qw==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular/common/-/common-20.1.4.tgz",
+ "integrity": "sha512-AL+HdsY5xL2iM1zZ55ce33U+w2LgPJZQwKvHXJJ/Hpk3rpFNamWtRPmJBeq8Z0dQV1lLTMM+2pUatH6p+5pvEg==",
"dependencies": {
"tslib": "^2.3.0"
},
@@ -1395,14 +1391,14 @@
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
},
"peerDependencies": {
- "@angular/core": "20.1.7",
+ "@angular/core": "20.1.4",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
"node_modules/@angular/compiler": {
- "version": "20.1.7",
- "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-20.1.7.tgz",
- "integrity": "sha512-IZPkFxXoJZy7aVBgcsYLKyfr1CreCqpqhlbiSVXgtleyTcReaMoQBHeEqyFxD7PeB4Lfmf1N6ncHCILg+wxTfw==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-20.1.4.tgz",
+ "integrity": "sha512-gQbchh2ziK9QxZuHgEf7BUMCm/ayu6Zr9hst6itSecinUJgUeeSp3Z4vXjIBNBUKMPB135tWw9RGiVbW8saBmg==",
"dependencies": {
"tslib": "^2.3.0"
},
@@ -1411,9 +1407,9 @@
}
},
"node_modules/@angular/compiler-cli": {
- "version": "20.1.7",
- "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-20.1.7.tgz",
- "integrity": "sha512-YnSn/956+On0KaJqzikZ6Ot7lcYJRU06bhXAjGI7UdRoyYYbtnpG3jPspXDunycvuVxKFHMzjKlIoMohk6bPGA==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-20.1.4.tgz",
+ "integrity": "sha512-I603/3EmclgX4VUryBo3bxlF+8+fVucrW/V0leqNlt72ppFTphDiKiopogoJFWJxuULTo2V+7Koq8Em7kUO67Q==",
"dependencies": {
"@babel/core": "7.28.0",
"@jridgewell/sourcemap-codec": "^1.4.14",
@@ -1432,7 +1428,7 @@
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
},
"peerDependencies": {
- "@angular/compiler": "20.1.7",
+ "@angular/compiler": "20.1.4",
"typescript": ">=5.8 <5.9"
},
"peerDependenciesMeta": {
@@ -1653,9 +1649,9 @@
}
},
"node_modules/@angular/core": {
- "version": "20.1.7",
- "resolved": "https://registry.npmjs.org/@angular/core/-/core-20.1.7.tgz",
- "integrity": "sha512-LL5nyCQ9yrMLQMfAPgambGCPEQmpuHrg3cTRI0P9EMySgFoyyPUsIfWYYz5w1VWxmkfcXSkpNtyaNB5P60p0rg==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular/core/-/core-20.1.4.tgz",
+ "integrity": "sha512-aWDux64a9usuVU2SnF0epqjXAj8JO8jViUzZAJAuFKSCtkeNzqP+Z6DjkqsCKrNvGP7xkX1XhhepUygxgh7/6A==",
"dependencies": {
"tslib": "^2.3.0"
},
@@ -1663,7 +1659,7 @@
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
},
"peerDependencies": {
- "@angular/compiler": "20.1.7",
+ "@angular/compiler": "20.1.4",
"rxjs": "^6.5.3 || ^7.4.0",
"zone.js": "~0.15.0"
},
@@ -1677,9 +1673,9 @@
}
},
"node_modules/@angular/elements": {
- "version": "20.1.7",
- "resolved": "https://registry.npmjs.org/@angular/elements/-/elements-20.1.7.tgz",
- "integrity": "sha512-M5HRDbtIBGVtsO1Sq4/ijAr/sffPswGzMrJB7YIczKl6kHrdkbmCAzQ5cpmyAJ83YgSQBypgwEpW1R8CkRtrEw==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular/elements/-/elements-20.1.4.tgz",
+ "integrity": "sha512-C6eR5bbyBw5VAU0UaroUjKFzQy0lR87rmOE/l9gy7dlFEOxIr6MfnK12Lv6PUeAmqvQHKjiHSEn73jdJK+bCFA==",
"dependencies": {
"tslib": "^2.3.0"
},
@@ -1687,14 +1683,14 @@
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
},
"peerDependencies": {
- "@angular/core": "20.1.7",
+ "@angular/core": "20.1.4",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
"node_modules/@angular/forms": {
- "version": "20.1.7",
- "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-20.1.7.tgz",
- "integrity": "sha512-gHfCeW7gp7GLjHfNOF+es8gAYph4+ZhgfvP9cdj9RmRy7ckQTuJ2OwrWmruqRcrB3J46uqENQyrNhJz0ubozYA==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-20.1.4.tgz",
+ "integrity": "sha512-5gUwcV+JpzJ2rSPo1nR6iNz2Dm3iRcVCvRTsVnKhFbZCIbGLihLpoCuittsgUY/C9wh/rnmXlatmLJ7giSuUZA==",
"dependencies": {
"tslib": "^2.3.0"
},
@@ -1702,9 +1698,9 @@
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
},
"peerDependencies": {
- "@angular/common": "20.1.7",
- "@angular/core": "20.1.7",
- "@angular/platform-browser": "20.1.7",
+ "@angular/common": "20.1.4",
+ "@angular/core": "20.1.4",
+ "@angular/platform-browser": "20.1.4",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
@@ -1719,9 +1715,9 @@
}
},
"node_modules/@angular/platform-browser": {
- "version": "20.1.7",
- "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-20.1.7.tgz",
- "integrity": "sha512-z2dlsrar4XmDAIgin1O3zDztVWHUpdZzR65mqyvbaNKtQHcnL33wVBBNVnksBkpPq+Lou2Cih1AdsICKyRyRbQ==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-20.1.4.tgz",
+ "integrity": "sha512-z86NsGSwm5pXCACdWBbp7SC1Xn+UGvuoRqTsi0dNUXT/3WrP6MvZT3TfNKwM63GLUqFAICSt7uFXS84D72ukvA==",
"dependencies": {
"tslib": "^2.3.0"
},
@@ -1729,9 +1725,9 @@
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
},
"peerDependencies": {
- "@angular/animations": "20.1.7",
- "@angular/common": "20.1.7",
- "@angular/core": "20.1.7"
+ "@angular/animations": "20.1.4",
+ "@angular/common": "20.1.4",
+ "@angular/core": "20.1.4"
},
"peerDependenciesMeta": {
"@angular/animations": {
@@ -1740,9 +1736,9 @@
}
},
"node_modules/@angular/platform-browser-dynamic": {
- "version": "20.1.7",
- "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-20.1.7.tgz",
- "integrity": "sha512-Fl/AhG54DS1NRrTE8SLJ2vy8Dd1yYjfos+h4bdghP/HY5gRFtnzb662VeKfx6sL+KlG0jV4hMYhuczTF8BvhTg==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-20.1.4.tgz",
+ "integrity": "sha512-bH4CjZ2O2oqRaKd36Xe/EhZDHx769pPf9oR4oITsZJ10bIhkWcaG9pgaW+W1PGc+nMevVpJ7XfG9m9n6+3bEfw==",
"dependencies": {
"tslib": "^2.3.0"
},
@@ -1750,16 +1746,16 @@
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
},
"peerDependencies": {
- "@angular/common": "20.1.7",
- "@angular/compiler": "20.1.7",
- "@angular/core": "20.1.7",
- "@angular/platform-browser": "20.1.7"
+ "@angular/common": "20.1.4",
+ "@angular/compiler": "20.1.4",
+ "@angular/core": "20.1.4",
+ "@angular/platform-browser": "20.1.4"
}
},
"node_modules/@angular/router": {
- "version": "20.1.7",
- "resolved": "https://registry.npmjs.org/@angular/router/-/router-20.1.7.tgz",
- "integrity": "sha512-Pcd5zmQxq2szGQwG9Gmmt92icBrAocEowOI9OBYeuwyhcR+pVrcc67mbrVFB+bspkbTDBxxtPV+SV21vDKROSQ==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular/router/-/router-20.1.4.tgz",
+ "integrity": "sha512-Etd2V2Qw+clQhJORBm7tMphCCweLNKbZvUc+lh1r7yrbBPnZvK3yd69W9ZQoRzrSSI25VGQDyzQXgpLUlHoE+w==",
"dependencies": {
"tslib": "^2.3.0"
},
@@ -1767,9 +1763,9 @@
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
},
"peerDependencies": {
- "@angular/common": "20.1.7",
- "@angular/core": "20.1.7",
- "@angular/platform-browser": "20.1.7",
+ "@angular/common": "20.1.4",
+ "@angular/core": "20.1.4",
+ "@angular/platform-browser": "20.1.4",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
@@ -3522,6 +3518,22 @@
"integrity": "sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==",
"license": "MIT"
},
+ "node_modules/@cnakazawa/watch": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz",
+ "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==",
+ "dev": true,
+ "dependencies": {
+ "exec-sh": "^0.3.2",
+ "minimist": "^1.2.0"
+ },
+ "bin": {
+ "watch": "cli.js"
+ },
+ "engines": {
+ "node": ">=0.1.95"
+ }
+ },
"node_modules/@colors/colors": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
@@ -4023,64 +4035,24 @@
}
},
"node_modules/@eslint-community/regexpp": {
- "version": "4.12.1",
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz",
- "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==",
+ "version": "4.10.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
+ "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==",
"dev": true,
- "license": "MIT",
"engines": {
"node": "^12.0.0 || ^14.0.0 || >=16.0.0"
}
},
- "node_modules/@eslint/config-array": {
- "version": "0.21.0",
- "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.0.tgz",
- "integrity": "sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@eslint/object-schema": "^2.1.6",
- "debug": "^4.3.1",
- "minimatch": "^3.1.2"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- }
- },
- "node_modules/@eslint/config-helpers": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.1.tgz",
- "integrity": "sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- }
- },
- "node_modules/@eslint/core": {
- "version": "0.15.2",
- "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.2.tgz",
- "integrity": "sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@types/json-schema": "^7.0.15"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- }
- },
"node_modules/@eslint/eslintrc": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz",
- "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==",
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
+ "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
"dev": true,
- "license": "MIT",
"dependencies": {
"ajv": "^6.12.4",
"debug": "^4.3.2",
- "espree": "^10.0.1",
- "globals": "^14.0.0",
+ "espree": "^9.6.0",
+ "globals": "^13.19.0",
"ignore": "^5.2.0",
"import-fresh": "^3.2.1",
"js-yaml": "^4.1.0",
@@ -4088,7 +4060,7 @@
"strip-json-comments": "^3.1.1"
},
"engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
@@ -4099,7 +4071,6 @@
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"dev": true,
- "license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
@@ -4112,13 +4083,15 @@
}
},
"node_modules/@eslint/eslintrc/node_modules/globals": {
- "version": "14.0.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
- "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
+ "version": "13.24.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
"dev": true,
- "license": "MIT",
+ "dependencies": {
+ "type-fest": "^0.20.2"
+ },
"engines": {
- "node": ">=18"
+ "node": ">=8"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -4128,44 +4101,15 @@
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true,
- "license": "MIT"
+ "dev": true
},
"node_modules/@eslint/js": {
- "version": "9.33.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.33.0.tgz",
- "integrity": "sha512-5K1/mKhWaMfreBGJTwval43JJmkip0RmM+3+IuqupeSKNC/Th2Kc7ucaq5ovTSra/OOKB9c58CGSz3QMVbWt0A==",
+ "version": "8.57.1",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz",
+ "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==",
"dev": true,
- "license": "MIT",
"engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://eslint.org/donate"
- }
- },
- "node_modules/@eslint/object-schema": {
- "version": "2.1.6",
- "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz",
- "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- }
- },
- "node_modules/@eslint/plugin-kit": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.5.tgz",
- "integrity": "sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@eslint/core": "^0.15.2",
- "levn": "^0.4.1"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
"node_modules/@floating-ui/core": {
@@ -4219,16 +4163,16 @@
"integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ=="
},
"node_modules/@fullcalendar/angular": {
- "version": "6.1.19",
- "resolved": "https://registry.npmjs.org/@fullcalendar/angular/-/angular-6.1.19.tgz",
- "integrity": "sha512-a3TmjKnF8xprH1aNgFn9zYehEhM4GBAyh+91SJymno2j1cE8D8z0+W1HNwtDekKWwJt/5YoinCvDTHydmF/kKw==",
+ "version": "6.1.18",
+ "resolved": "https://registry.npmjs.org/@fullcalendar/angular/-/angular-6.1.18.tgz",
+ "integrity": "sha512-OBdpz0OA/7a2QdLES3vAAIO/TddtaIh7v4mZDYSFqTAia+ISkgGEqb6rZUPcqoSNS/SRLbvowSUO8qgbHOQMTg==",
"dependencies": {
"tslib": "^2.3.0"
},
"peerDependencies": {
- "@angular/common": "12 - 20",
- "@angular/core": "12 - 20",
- "@fullcalendar/core": "~6.1.19"
+ "@angular/common": "12 - 19",
+ "@angular/core": "12 - 19",
+ "@fullcalendar/core": "~6.1.18"
}
},
"node_modules/@fullcalendar/common": {
@@ -4240,72 +4184,72 @@
}
},
"node_modules/@fullcalendar/core": {
- "version": "6.1.19",
- "resolved": "https://registry.npmjs.org/@fullcalendar/core/-/core-6.1.19.tgz",
- "integrity": "sha512-z0aVlO5e4Wah6p6mouM0UEqtRf1MZZPt4mwzEyU6kusaNL+dlWQgAasF2cK23hwT4cmxkEmr4inULXgpyeExdQ==",
+ "version": "6.1.18",
+ "resolved": "https://registry.npmjs.org/@fullcalendar/core/-/core-6.1.18.tgz",
+ "integrity": "sha512-cD7XtZIZZ87Cg2+itnpsONCsZ89VIfLLDZ22pQX4IQVWlpYUB3bcCf878DhWkqyEen6dhi5ePtBoqYgm5K+0fQ==",
"dependencies": {
"preact": "~10.12.1"
}
},
"node_modules/@fullcalendar/daygrid": {
- "version": "6.1.19",
- "resolved": "https://registry.npmjs.org/@fullcalendar/daygrid/-/daygrid-6.1.19.tgz",
- "integrity": "sha512-IAAfnMICnVWPjpT4zi87i3FEw0xxSza0avqY/HedKEz+l5MTBYvCDPOWDATpzXoLut3aACsjktIyw9thvIcRYQ==",
+ "version": "6.1.18",
+ "resolved": "https://registry.npmjs.org/@fullcalendar/daygrid/-/daygrid-6.1.18.tgz",
+ "integrity": "sha512-s452Zle1SdMEzZDw+pDczm8m3JLIZzS9ANMThXTnqeqJewW1gqNFYas18aHypJSgF9Fh9rDJjTSUw04BpXB/Mg==",
"peerDependencies": {
- "@fullcalendar/core": "~6.1.19"
+ "@fullcalendar/core": "~6.1.18"
}
},
"node_modules/@fullcalendar/interaction": {
- "version": "6.1.19",
- "resolved": "https://registry.npmjs.org/@fullcalendar/interaction/-/interaction-6.1.19.tgz",
- "integrity": "sha512-GOciy79xe8JMVp+1evAU3ytdwN/7tv35t5i1vFkifiuWcQMLC/JnLg/RA2s4sYmQwoYhTw/p4GLcP0gO5B3X5w==",
+ "version": "6.1.18",
+ "resolved": "https://registry.npmjs.org/@fullcalendar/interaction/-/interaction-6.1.18.tgz",
+ "integrity": "sha512-f/mD5RTjzw+Q6MGTMZrLCgIrQLIUUO9NV/58aM2J6ZBQZeRlNizDqmqldqyG+j49zj2vFhUfZibPrVKWm5yA4Q==",
"peerDependencies": {
- "@fullcalendar/core": "~6.1.19"
+ "@fullcalendar/core": "~6.1.18"
}
},
"node_modules/@fullcalendar/list": {
- "version": "6.1.19",
- "resolved": "https://registry.npmjs.org/@fullcalendar/list/-/list-6.1.19.tgz",
- "integrity": "sha512-knZHpAVF0LbzZpSJSUmLUUzF0XlU/MRGK+Py2s0/mP93bCtno1k2L3XPs/kzh528hSjehwLm89RgKTSfW1P6cA==",
+ "version": "6.1.18",
+ "resolved": "https://registry.npmjs.org/@fullcalendar/list/-/list-6.1.18.tgz",
+ "integrity": "sha512-XPZI50mq3HXyDQ5sT3jmqQUuwG8zQb5H14dQIUAmOHAIFRA3WpkxlzrXO0U1SrosvGySMPyyNNxvMKI1Q/jL7A==",
"peerDependencies": {
- "@fullcalendar/core": "~6.1.19"
+ "@fullcalendar/core": "~6.1.18"
}
},
"node_modules/@fullcalendar/moment": {
- "version": "6.1.19",
- "resolved": "https://registry.npmjs.org/@fullcalendar/moment/-/moment-6.1.19.tgz",
- "integrity": "sha512-wpP0yXSGPDFoY0P3BA6Nw35q/x9TNbnvkwVyu7qgaewepO2Ss10E1yNVM4EtDl82T5IDRcgmFSQ48z1vGcGe1g==",
+ "version": "6.1.18",
+ "resolved": "https://registry.npmjs.org/@fullcalendar/moment/-/moment-6.1.18.tgz",
+ "integrity": "sha512-NfphuaZvttJzhZ4tu4wzHMyJoxgZWmFURJQrl1WMx84eyXcBg5G/7Djc3jPC5nvtKBco0O2tby6MO6m3SQp4UQ==",
"peerDependencies": {
- "@fullcalendar/core": "~6.1.19",
+ "@fullcalendar/core": "~6.1.18",
"moment": "^2.29.1"
}
},
"node_modules/@fullcalendar/moment-timezone": {
- "version": "6.1.19",
- "resolved": "https://registry.npmjs.org/@fullcalendar/moment-timezone/-/moment-timezone-6.1.19.tgz",
- "integrity": "sha512-6UOhMThdzDnh10/SPW5t5zmNq+betGebK3i7ytg2EHzlEb2EztfHJC5mbqEU2B2AoKNr2FUIonWuergYe7OVhA==",
+ "version": "6.1.18",
+ "resolved": "https://registry.npmjs.org/@fullcalendar/moment-timezone/-/moment-timezone-6.1.18.tgz",
+ "integrity": "sha512-3z9GTzjJCTBgxSELJwcanPGgIR4wZ18QXhsxbDMlpdfoG7W90DFgDZ2Wm3/UPZAW7WKu3YYjU3c5VwYExI/aRA==",
"peerDependencies": {
- "@fullcalendar/core": "~6.1.19",
+ "@fullcalendar/core": "~6.1.18",
"moment-timezone": "^0.5.40"
}
},
"node_modules/@fullcalendar/premium-common": {
- "version": "6.1.19",
- "resolved": "https://registry.npmjs.org/@fullcalendar/premium-common/-/premium-common-6.1.19.tgz",
- "integrity": "sha512-bOWHm1u1dUy6M4fQ0hNK7qEI7SrVWrN1ovv/z4/FE/ybfM19ukz7SFs907Ur7KUBWLNKTQYXBtdrY/ginwWraw==",
+ "version": "6.1.18",
+ "resolved": "https://registry.npmjs.org/@fullcalendar/premium-common/-/premium-common-6.1.18.tgz",
+ "integrity": "sha512-/EUtCOgdrZZss+xtEPAWRkZVCayFiqUx4SHQHBurloWdNp0Krro2xW7G1qNM8f4Qcg/0wwtK7GmOROcom0oFgg==",
"peerDependencies": {
- "@fullcalendar/core": "~6.1.19"
+ "@fullcalendar/core": "~6.1.18"
}
},
"node_modules/@fullcalendar/resource": {
- "version": "6.1.19",
- "resolved": "https://registry.npmjs.org/@fullcalendar/resource/-/resource-6.1.19.tgz",
- "integrity": "sha512-br1ylX/aIOfd8m7Tzl2LpJBSI+N9Q6aS1qw7K9qnQjYXWQyHBlfLG6ZcPmmkjfaqTUJc8ARRbtNWj1ts5qOZgQ==",
+ "version": "6.1.18",
+ "resolved": "https://registry.npmjs.org/@fullcalendar/resource/-/resource-6.1.18.tgz",
+ "integrity": "sha512-E8k2CFu6zo9Kr3GWJEA1P+TMjoaWZEJudRGIvKYVpPnmcdnDSv8KUnUOzxF5A3jXkFwDrL4UGv950AYqi3oK+A==",
"dependencies": {
- "@fullcalendar/premium-common": "~6.1.19"
+ "@fullcalendar/premium-common": "~6.1.18"
},
"peerDependencies": {
- "@fullcalendar/core": "~6.1.19"
+ "@fullcalendar/core": "~6.1.18"
}
},
"node_modules/@fullcalendar/resource-common": {
@@ -4328,51 +4272,51 @@
}
},
"node_modules/@fullcalendar/resource-timeline": {
- "version": "6.1.19",
- "resolved": "https://registry.npmjs.org/@fullcalendar/resource-timeline/-/resource-timeline-6.1.19.tgz",
- "integrity": "sha512-oC3aVR++dLqJNeBwmLHq9sDgRDFfIG0qSteV7bgBekvNlqEMqXx8wPjUxnELrq8rrhMmK4iV3wO7AB/48IVgyg==",
+ "version": "6.1.18",
+ "resolved": "https://registry.npmjs.org/@fullcalendar/resource-timeline/-/resource-timeline-6.1.18.tgz",
+ "integrity": "sha512-dM39v+4B3pEegridB7ES39c5Yk9FrhBYCL/14gnlx+NzptqWJ3DKwqN0KtomfR6tPpeiQUpMmnGDi2USlJS4Cw==",
"dependencies": {
- "@fullcalendar/premium-common": "~6.1.19",
- "@fullcalendar/scrollgrid": "~6.1.19",
- "@fullcalendar/timeline": "~6.1.19"
+ "@fullcalendar/premium-common": "~6.1.18",
+ "@fullcalendar/scrollgrid": "~6.1.18",
+ "@fullcalendar/timeline": "~6.1.18"
},
"peerDependencies": {
- "@fullcalendar/core": "~6.1.19",
- "@fullcalendar/resource": "~6.1.19"
+ "@fullcalendar/core": "~6.1.18",
+ "@fullcalendar/resource": "~6.1.18"
}
},
"node_modules/@fullcalendar/scrollgrid": {
- "version": "6.1.19",
- "resolved": "https://registry.npmjs.org/@fullcalendar/scrollgrid/-/scrollgrid-6.1.19.tgz",
- "integrity": "sha512-S1pbiYHvmV0ep6z5sWXJQfgW4Y/jrS5iLIAqSagDFPK0jr327nBxl7Ryi3Zb5UdMIP0/O4GXs8jwZabQPd8SOg==",
+ "version": "6.1.18",
+ "resolved": "https://registry.npmjs.org/@fullcalendar/scrollgrid/-/scrollgrid-6.1.18.tgz",
+ "integrity": "sha512-5LASFSeUlWDrnmWo7zgEJFE85ytSxjIQuG/qLd+P1llUgrYgaOL2+r8ZXSmSKUAvhuIoUlguIvn2b4METvs8BA==",
"dependencies": {
- "@fullcalendar/premium-common": "~6.1.19"
+ "@fullcalendar/premium-common": "~6.1.18"
},
"peerDependencies": {
- "@fullcalendar/core": "~6.1.19"
+ "@fullcalendar/core": "~6.1.18"
}
},
"node_modules/@fullcalendar/timegrid": {
- "version": "6.1.19",
- "resolved": "https://registry.npmjs.org/@fullcalendar/timegrid/-/timegrid-6.1.19.tgz",
- "integrity": "sha512-OuzpUueyO9wB5OZ8rs7TWIoqvu4v3yEqdDxZ2VcsMldCpYJRiOe7yHWKr4ap5Tb0fs7Rjbserc/b6Nt7ol6BRg==",
+ "version": "6.1.18",
+ "resolved": "https://registry.npmjs.org/@fullcalendar/timegrid/-/timegrid-6.1.18.tgz",
+ "integrity": "sha512-T/ouhs+T1tM8JcW7Cjx+KiohL/qQWKqvRITwjol8ktJ1e1N/6noC40/obR1tyolqOxMRWHjJkYoj9fUqfoez9A==",
"dependencies": {
- "@fullcalendar/daygrid": "~6.1.19"
+ "@fullcalendar/daygrid": "~6.1.18"
},
"peerDependencies": {
- "@fullcalendar/core": "~6.1.19"
+ "@fullcalendar/core": "~6.1.18"
}
},
"node_modules/@fullcalendar/timeline": {
- "version": "6.1.19",
- "resolved": "https://registry.npmjs.org/@fullcalendar/timeline/-/timeline-6.1.19.tgz",
- "integrity": "sha512-d2P961mnUTXtJeWNmIq1neoDmZcrPUaK7nGFoc+jQAlnmG3aNSVWQmD1ia694AMqLWtcWkwipW9MuaJgx2QvrA==",
+ "version": "6.1.18",
+ "resolved": "https://registry.npmjs.org/@fullcalendar/timeline/-/timeline-6.1.18.tgz",
+ "integrity": "sha512-ib3pQoXtX/OBgUGJhUzzpZhR/3Nvqx6r+H86dgHHlSobPl2jXKw3phtt9r8OL8fpxjNQjtX4+TEgpfqYq7s/fg==",
"dependencies": {
- "@fullcalendar/premium-common": "~6.1.19",
- "@fullcalendar/scrollgrid": "~6.1.19"
+ "@fullcalendar/premium-common": "~6.1.18",
+ "@fullcalendar/scrollgrid": "~6.1.18"
},
"peerDependencies": {
- "@fullcalendar/core": "~6.1.19"
+ "@fullcalendar/core": "~6.1.18"
}
},
"node_modules/@github/auto-check-element": {
@@ -4449,6 +4393,31 @@
"webauthn-json": "dist/bin/main.js"
}
},
+ "node_modules/@hocuspocus/common": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/@hocuspocus/common/-/common-3.2.1.tgz",
+ "integrity": "sha512-I/6lm/DkwshGWMIVRbLfXacvCMqerEcf6+PwszcPKgvvubczi1+95AQaJBbOEwiih+K9fiHeqi8IcVBO/GVMfQ==",
+ "license": "MIT",
+ "dependencies": {
+ "lib0": "^0.2.87"
+ }
+ },
+ "node_modules/@hocuspocus/provider": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/@hocuspocus/provider/-/provider-3.2.1.tgz",
+ "integrity": "sha512-LkkXo7hpD8isdeFM6bNF00HPBBaNlMidlipoPHfYjHyAjaZLHPs82b5lyzDHkydhY0QrfWhFQ5m7esdyNS4zmg==",
+ "license": "MIT",
+ "dependencies": {
+ "@hocuspocus/common": "^3.2.1",
+ "@lifeomic/attempt": "^3.0.2",
+ "lib0": "^0.2.87",
+ "ws": "^8.17.1"
+ },
+ "peerDependencies": {
+ "y-protocols": "^1.0.6",
+ "yjs": "^13.6.8"
+ }
+ },
"node_modules/@hotwired/stimulus": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/@hotwired/stimulus/-/stimulus-3.2.2.tgz",
@@ -4474,88 +4443,39 @@
}
},
"node_modules/@html-eslint/eslint-plugin": {
- "version": "0.43.1",
- "resolved": "https://registry.npmjs.org/@html-eslint/eslint-plugin/-/eslint-plugin-0.43.1.tgz",
- "integrity": "sha512-+vuLRT4rgEjRE5/QU8WJ3uvXhxJDFnKa12cGSOupAFy4XAaYEiB8lYH3W1xZ/kK8PEPwZhOhrkCcU6rNLP46Sg==",
+ "version": "0.24.1",
+ "resolved": "https://registry.npmjs.org/@html-eslint/eslint-plugin/-/eslint-plugin-0.24.1.tgz",
+ "integrity": "sha512-JwNDQBrNIWEPcxgSpla/2jaUXyQCqL7Xp8CmON4Bk5qg8MwiDLXOgjylfVC+tN52i8JeHWMca34I9DqBGRj9Qg==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "@eslint/plugin-kit": "^0.3.1",
- "@html-eslint/parser": "^0.43.0",
- "@html-eslint/template-parser": "^0.43.0",
- "@html-eslint/template-syntax-parser": "^0.43.0"
- },
"engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "peerDependencies": {
- "eslint": "^8.0.0 || ^9.0.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
"node_modules/@html-eslint/parser": {
- "version": "0.43.0",
- "resolved": "https://registry.npmjs.org/@html-eslint/parser/-/parser-0.43.0.tgz",
- "integrity": "sha512-/mgKhfwJ8hPooLTRemyuKxR09Je7D300wEockl9clcFplNKHua1rzP2ih1TL/PIaqZGg+SZ72hG+JL9QjGsTog==",
+ "version": "0.24.1",
+ "resolved": "https://registry.npmjs.org/@html-eslint/parser/-/parser-0.24.1.tgz",
+ "integrity": "sha512-O13xX/+Ldh0P7VZMpDDYc3XtWiE1cYm5QhVJ0VB5i7D8Q69HrrGN+5BjS17vkCoLTz+3zWWIiJv4oFmyS5LReA==",
"dev": true,
- "license": "MIT",
"dependencies": {
- "@html-eslint/template-syntax-parser": "^0.43.0",
- "es-html-parser": "0.2.0"
- }
- },
- "node_modules/@html-eslint/template-parser": {
- "version": "0.43.0",
- "resolved": "https://registry.npmjs.org/@html-eslint/template-parser/-/template-parser-0.43.0.tgz",
- "integrity": "sha512-BrYXKNyJpsdIQF3qCrldpb5cOIebSuMdgIoOzAvL8op1/fBQh3FEK9sX/44GBLQnLhI/JpTTHNyRv7Kohg/QEw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "es-html-parser": "0.2.0"
- }
- },
- "node_modules/@html-eslint/template-syntax-parser": {
- "version": "0.43.0",
- "resolved": "https://registry.npmjs.org/@html-eslint/template-syntax-parser/-/template-syntax-parser-0.43.0.tgz",
- "integrity": "sha512-I4rhsmqDlA9w0e6dRC/MDM98w2WPG6eXHJJjZzr7PoQjOdAETRUef0dgl78ayyNPKqeU2M0gN537Qh2/m3jinA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@humanfs/core": {
- "version": "0.19.1",
- "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
- "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=18.18.0"
- }
- },
- "node_modules/@humanfs/node": {
- "version": "0.16.6",
- "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz",
- "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@humanfs/core": "^0.19.1",
- "@humanwhocodes/retry": "^0.3.0"
+ "es-html-parser": "^0.0.9"
},
"engines": {
- "node": ">=18.18.0"
+ "node": ">=8.10.0"
}
},
- "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz",
- "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==",
+ "node_modules/@humanwhocodes/config-array": {
+ "version": "0.13.0",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz",
+ "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==",
+ "deprecated": "Use @eslint/config-array instead",
"dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=18.18"
+ "dependencies": {
+ "@humanwhocodes/object-schema": "^2.0.3",
+ "debug": "^4.3.1",
+ "minimatch": "^3.0.5"
},
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/nzakas"
+ "engines": {
+ "node": ">=10.10.0"
}
},
"node_modules/@humanwhocodes/module-importer": {
@@ -4571,19 +4491,12 @@
"url": "https://github.com/sponsors/nzakas"
}
},
- "node_modules/@humanwhocodes/retry": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz",
- "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=18.18"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/nzakas"
- }
+ "node_modules/@humanwhocodes/object-schema": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
+ "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==",
+ "deprecated": "Use @eslint/object-schema instead",
+ "dev": true
},
"node_modules/@inquirer/checkbox": {
"version": "4.2.0",
@@ -5189,6 +5102,12 @@
"integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==",
"dev": true
},
+ "node_modules/@lifeomic/attempt": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@lifeomic/attempt/-/attempt-3.1.0.tgz",
+ "integrity": "sha512-QZqem4QuAnAyzfz+Gj5/+SLxqwCAw2qmt7732ZXodr6VDWGeYLG6w1i/vYLa55JQM9wRuBKLmXmiZ2P0LtE5rw==",
+ "license": "MIT"
+ },
"node_modules/@listr2/prompt-adapter-inquirer": {
"version": "2.0.22",
"resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-2.0.22.tgz",
@@ -6232,32 +6151,34 @@
}
},
"node_modules/@ng-select/ng-option-highlight": {
- "version": "20.1.2",
- "resolved": "https://registry.npmjs.org/@ng-select/ng-option-highlight/-/ng-option-highlight-20.1.2.tgz",
- "integrity": "sha512-uI1GSAxBnlzlqB1qyFLOzM2L/f9IDVotGl3OdQwnPVQQN5fcexxoFT8Nb8z1WGMjHi9fdG6BPeq6aXyPg0ny9g==",
+ "version": "14.2.6",
+ "resolved": "https://registry.npmjs.org/@ng-select/ng-option-highlight/-/ng-option-highlight-14.2.6.tgz",
+ "integrity": "sha512-/BZNItpaMduFcQyAMLWDaWM7D/doB37j7JYOnrVfNBK7JqkKLYqRuesdU3Z+eBs1x3+FhiQGudi7nhEo68MFaw==",
+ "license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
},
"peerDependencies": {
- "@angular/common": "^20.0.0",
- "@angular/core": "^20.0.0"
+ "@angular/common": "^19.0.0",
+ "@angular/core": "^19.0.0"
}
},
"node_modules/@ng-select/ng-select": {
- "version": "20.1.0",
- "resolved": "https://registry.npmjs.org/@ng-select/ng-select/-/ng-select-20.1.0.tgz",
- "integrity": "sha512-Co4JWm2vOUaXjy/JbKJergIpXOf7hR83q04uCs4Jfthf4IVLaIonthVu62cl7T4MWXDWx4e7emarcJ1JgvYZkQ==",
+ "version": "14.9.0",
+ "resolved": "https://registry.npmjs.org/@ng-select/ng-select/-/ng-select-14.9.0.tgz",
+ "integrity": "sha512-f/E3EaSVwdKmwvZL43nS961bGaXR90F0Gtb8vA+ub8Hfwqjr1NTI6X7+yu5iMkqfy5ZW5cJdoGvo+kv8zcAkjQ==",
"license": "MIT",
"dependencies": {
- "tslib": "^2.8.1"
+ "tslib": "^2.3.1"
},
"engines": {
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
+ "node": ">= 18",
+ "npm": ">= 8"
},
"peerDependencies": {
- "@angular/common": "^20.0.0",
- "@angular/core": "^20.0.0",
- "@angular/forms": "^20.0.0"
+ "@angular/common": "^19.0.0",
+ "@angular/core": "^19.0.0",
+ "@angular/forms": "^19.0.0"
}
},
"node_modules/@ngneat/content-loader": {
@@ -6272,9 +6193,9 @@
}
},
"node_modules/@ngtools/webpack": {
- "version": "20.1.6",
- "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-20.1.6.tgz",
- "integrity": "sha512-0AkmS/xhrXBRsgPJnh/AjWMebuFKK2uHb1LqcENedNzgxu96I+w8fIY8ByDZ0U7T3qsa72PSHbXK4lXeWmq8xw==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-20.1.4.tgz",
+ "integrity": "sha512-pk7xas/dBRHIVpdBIhOUreXA8D9CH7f5anFoiALfubYPldlEtneQCO5HAeS9MjtLIIonv2kJC9+nNEvyJa95oQ==",
"dev": true,
"engines": {
"node": "^20.19.0 || ^22.12.0 || >=24.0.0",
@@ -6611,10 +6532,9 @@
}
},
"node_modules/@openproject/primer-view-components": {
- "version": "0.71.0",
- "resolved": "https://registry.npmjs.org/@openproject/primer-view-components/-/primer-view-components-0.71.0.tgz",
- "integrity": "sha512-fIZE3ve68cVm5RroDFR5i38esFwBn5cdbuSDYMTk9D8lnqd0zH65hndzjEA3mPEV9wuIF45KI03wSAt+1D4xOw==",
- "license": "MIT",
+ "version": "0.70.4",
+ "resolved": "https://registry.npmjs.org/@openproject/primer-view-components/-/primer-view-components-0.70.4.tgz",
+ "integrity": "sha512-W88Xml0s/A+tUQtdkGwVH6h9qeV4VcfvkddLMm03fvxGF7X1E58LWLvUMGKrivxuWimDQj108RJztJoOWtS8cQ==",
"dependencies": {
"@github/auto-check-element": "^6.0.0",
"@github/auto-complete-element": "^3.8.0",
@@ -7035,10 +6955,9 @@
},
"node_modules/@primer/view-components": {
"name": "@openproject/primer-view-components",
- "version": "0.71.0",
- "resolved": "https://registry.npmjs.org/@openproject/primer-view-components/-/primer-view-components-0.71.0.tgz",
- "integrity": "sha512-fIZE3ve68cVm5RroDFR5i38esFwBn5cdbuSDYMTk9D8lnqd0zH65hndzjEA3mPEV9wuIF45KI03wSAt+1D4xOw==",
- "license": "MIT",
+ "version": "0.70.4",
+ "resolved": "https://registry.npmjs.org/@openproject/primer-view-components/-/primer-view-components-0.70.4.tgz",
+ "integrity": "sha512-W88Xml0s/A+tUQtdkGwVH6h9qeV4VcfvkddLMm03fvxGF7X1E58LWLvUMGKrivxuWimDQj108RJztJoOWtS8cQ==",
"dependencies": {
"@github/auto-check-element": "^6.0.0",
"@github/auto-complete-element": "^3.8.0",
@@ -7088,12 +7007,6 @@
"resolved": "https://registry.npmjs.org/@rails/actioncable/-/actioncable-7.0.6.tgz",
"integrity": "sha512-ybBsUrIsu5geM8BtqnpM7ZA9D8uzSz+e1B4JR57NaCmasHKWap6AX5DT7NHIbp21opVet1qqoVSdsoLDqXeB2A=="
},
- "node_modules/@rails/request.js": {
- "version": "0.0.12",
- "resolved": "https://registry.npmjs.org/@rails/request.js/-/request.js-0.0.12.tgz",
- "integrity": "sha512-g3//JBja1s04Zflj7IoMLQuXza9i4ZvtLmm0r0dMwh1QQUs6rL2iKUOGGyERfLsd81SnXC5ucfVV//rtsDlEEA==",
- "license": "MIT"
- },
"node_modules/@remirror/core-constants": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@remirror/core-constants/-/core-constants-3.0.0.tgz",
@@ -7367,12 +7280,12 @@
"dev": true
},
"node_modules/@schematics/angular": {
- "version": "20.1.6",
- "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-20.1.6.tgz",
- "integrity": "sha512-1dE+GkpSZbsQxnir/S24g3+pA5sE0XOMxa4Wxhon0dxArP/gH72hsinoVaLDfcQkYOtbbTw/Q8VV41uWBI9eGg==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-20.1.4.tgz",
+ "integrity": "sha512-TNpm15NKf4buxPYnGaB3JY2B/3sbL19SdlpPDxkgyVY8WDDeZX95m3Tz2qlKpsYxy2XCGUj4Sxh7zJNGC9e/4g==",
"dependencies": {
- "@angular-devkit/core": "20.1.6",
- "@angular-devkit/schematics": "20.1.6",
+ "@angular-devkit/core": "20.1.4",
+ "@angular-devkit/schematics": "20.1.4",
"jsonc-parser": "3.3.1"
},
"engines": {
@@ -7485,66 +7398,6 @@
"@hotwired/stimulus": "^3"
}
},
- "node_modules/@stylistic/eslint-plugin": {
- "version": "5.2.3",
- "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-5.2.3.tgz",
- "integrity": "sha512-oY7GVkJGVMI5benlBDCaRrSC1qPasafyv5dOBLLv5MTilMGnErKhO6ziEfodDDIZbo5QxPUNW360VudJOFODMw==",
- "dev": true,
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.7.0",
- "@typescript-eslint/types": "^8.38.0",
- "eslint-visitor-keys": "^4.2.1",
- "espree": "^10.4.0",
- "estraverse": "^5.3.0",
- "picomatch": "^4.0.3"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "peerDependencies": {
- "eslint": ">=9.0.0"
- }
- },
- "node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/types": {
- "version": "8.38.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.38.0.tgz",
- "integrity": "sha512-wzkUfX3plUqij4YwWaJyqhiPE5UCRVlFpKn1oCRn2O1bJ592XxWJj8ROQ3JD5MYXLORW84063z3tZTb/cs4Tyw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@stylistic/eslint-plugin/node_modules/eslint-visitor-keys": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
- "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/@stylistic/eslint-plugin/node_modules/picomatch": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
- "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
"node_modules/@tiptap/core": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/core/-/core-2.22.3.tgz",
@@ -8038,16 +7891,6 @@
"resolved": "https://registry.npmjs.org/@types/flatbuffers/-/flatbuffers-1.10.3.tgz",
"integrity": "sha512-kwJQsAROanCiMXSLjcTLmYVBIJ9Qyuqs92SaDIcj2EII2KnDgZbiU7it1Z/JfZd1gmxw/lAahMysQ6ZM+j3Ryw=="
},
- "node_modules/@types/flot": {
- "version": "0.0.36",
- "resolved": "https://registry.npmjs.org/@types/flot/-/flot-0.0.36.tgz",
- "integrity": "sha512-xRo4MUIMnRPGXJCuQXAWvo+uKRmziRGHAy9LQHsLgbKanknpe5z3EThqVuYkVCC6ZWPZ/8pllBXnzQmGzFkJ/Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/jquery": "*"
- }
- },
"node_modules/@types/geojson": {
"version": "7946.0.14",
"resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.14.tgz",
@@ -8090,27 +7933,20 @@
}
},
"node_modules/@types/jasmine": {
- "version": "5.1.9",
- "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.9.tgz",
- "integrity": "sha512-8t4HtkW4wxiPVedMpeZ63n3vlWxEIquo/zc1Tm8ElU+SqVV7+D3Na2PWaJUp179AzTragMWVwkMv7mvty0NfyQ==",
+ "version": "3.6.11",
+ "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.6.11.tgz",
+ "integrity": "sha512-S6pvzQDvMZHrkBz2Mcn/8Du7cpr76PlRJBAoHnSDNbulULsH5dp0Gns+WRyNX5LHejz/ljxK4/vIHK/caHt6SQ==",
"dev": true
},
"node_modules/@types/jquery": {
"version": "3.5.32",
"resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.32.tgz",
"integrity": "sha512-b9Xbf4CkMqS02YH8zACqN1xzdxc3cO735Qe5AbSUFmyOiaWAbcpqh9Wna+Uk0vgACvoQHpWDg2rGdHkYPLmCiQ==",
+ "dev": true,
"dependencies": {
"@types/sizzle": "*"
}
},
- "node_modules/@types/jquery.cookie": {
- "version": "1.4.36",
- "resolved": "https://registry.npmjs.org/@types/jquery.cookie/-/jquery.cookie-1.4.36.tgz",
- "integrity": "sha512-qtTnH4jHqFWyYX4deNBklWoaK5myKm0WtKf7LbGQB7DUKt6tdAVWfYQ4Kl8Hw/7eNth864Jjts5rBsHjNveR4Q==",
- "dependencies": {
- "@types/jquery": "*"
- }
- },
"node_modules/@types/jqueryui": {
"version": "1.12.24",
"resolved": "https://registry.npmjs.org/@types/jqueryui/-/jqueryui-1.12.24.tgz",
@@ -8214,13 +8050,6 @@
"integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==",
"dev": true
},
- "node_modules/@types/rails__request.js": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/@types/rails__request.js/-/rails__request.js-0.0.1.tgz",
- "integrity": "sha512-s9KX0falKcyDO2SjER/3HSfcJ8MAm+V05hxW1jJd/Rt+X7QeSSf9g6d2EZ6/uLJiDnXAqc+WPlxT1oYswV2T9A==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/@types/range-parser": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz",
@@ -8228,9 +8057,9 @@
"dev": true
},
"node_modules/@types/react": {
- "version": "19.1.10",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.10.tgz",
- "integrity": "sha512-EhBeSYX0Y6ye8pNebpKrwFJq7BoQ8J5SO6NlvNwwHjSj6adXJViPQrKlsyPw7hLBLvckEMO1yxeGdR82YBBlDg==",
+ "version": "19.1.9",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.9.tgz",
+ "integrity": "sha512-WmdoynAX8Stew/36uTSVMcLJJ1KRh6L3IZRx1PZ7qJtBqT3dYTgyDTx8H1qoRghErydW7xw9mSJ3wS//tCRpFA==",
"dev": true,
"dependencies": {
"csstype": "^3.0.2"
@@ -8296,7 +8125,8 @@
"node_modules/@types/sizzle": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz",
- "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ=="
+ "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==",
+ "dev": true
},
"node_modules/@types/sockjs": {
"version": "0.3.36",
@@ -8352,6 +8182,15 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/@types/ws": {
+ "version": "7.4.7",
+ "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz",
+ "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
"node_modules/@typescript-eslint/eslint-plugin": {
"version": "7.11.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.11.0.tgz",
@@ -8914,7 +8753,6 @@
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
"dev": true,
- "license": "MIT",
"peerDependencies": {
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
@@ -10278,9 +10116,9 @@
}
},
"node_modules/browserslist": {
- "version": "4.25.3",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.3.tgz",
- "integrity": "sha512-cDGv1kkDI4/0e5yON9yM5G/0A5u8sf5TnmdX5C9qHzI9PPu++sQ9zjm1k9NiOrf3riY4OkK0zSGqfvJyJsgCBQ==",
+ "version": "4.25.1",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.1.tgz",
+ "integrity": "sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==",
"funding": [
{
"type": "opencollective",
@@ -10295,9 +10133,10 @@
"url": "https://github.com/sponsors/ai"
}
],
+ "license": "MIT",
"dependencies": {
- "caniuse-lite": "^1.0.30001735",
- "electron-to-chromium": "^1.5.204",
+ "caniuse-lite": "^1.0.30001726",
+ "electron-to-chromium": "^1.5.173",
"node-releases": "^2.0.19",
"update-browserslist-db": "^1.1.3"
},
@@ -10308,6 +10147,15 @@
"node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
}
},
+ "node_modules/bser": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz",
+ "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
+ "dev": true,
+ "dependencies": {
+ "node-int64": "^0.4.0"
+ }
+ },
"node_modules/btoa": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz",
@@ -10554,9 +10402,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001735",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001735.tgz",
- "integrity": "sha512-EV/laoX7Wq2J9TQlyIXRxTJqIw4sxfXS4OYgudGxBYRuTv0q7AM6yMEpU/Vo1I94thg9U6EZ2NfZx9GJq83u7w==",
+ "version": "1.0.30001726",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001726.tgz",
+ "integrity": "sha512-VQAUIUzBiZ/UnlM28fSp2CRF3ivUn1BWEvxMcVTNwpw91Py1pGbPIyIKtd+tzct9C3ouceCVdGAXxZOpZAsgdw==",
"funding": [
{
"type": "opencollective",
@@ -10570,7 +10418,20 @@
"type": "github",
"url": "https://github.com/sponsors/ai"
}
- ]
+ ],
+ "license": "CC-BY-4.0"
+ },
+ "node_modules/capture-exit": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz",
+ "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==",
+ "dev": true,
+ "dependencies": {
+ "rsvp": "^4.8.4"
+ },
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
},
"node_modules/ccount": {
"version": "2.0.1",
@@ -10632,15 +10493,14 @@
"license": "MIT"
},
"node_modules/chart.js": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.5.0.tgz",
- "integrity": "sha512-aYeC/jDgSEx8SHWZvANYMioYMZ2KX02W6f6uVfyteuCGcadDLcYVHdfdygsTQkQ4TKn5lghoojAsPj5pu0SnvQ==",
- "license": "MIT",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.3.0.tgz",
+ "integrity": "sha512-ynG0E79xGfMaV2xAHdbhwiPLczxnNNnasrmPEXriXsPJGjmhOBYzFVEsB65w2qMDz+CaBJJuJD0inE/ab/h36g==",
"dependencies": {
"@kurkle/color": "^0.3.0"
},
"engines": {
- "pnpm": ">=8"
+ "pnpm": ">=7"
}
},
"node_modules/chartjs-plugin-datalabels": {
@@ -10871,9 +10731,10 @@
}
},
"node_modules/codemirror": {
- "version": "5.65.20",
- "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.20.tgz",
- "integrity": "sha512-i5dLDDxwkFCbhjvL2pNjShsojoL3XHyDwsGv1jqETUoW+lzpBKKqNTUWgQwVAOa0tUm4BwekT455ujafi8payA=="
+ "version": "5.65.19",
+ "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.19.tgz",
+ "integrity": "sha512-+aFkvqhaAVr1gferNMuN8vkTSrWIFvzlMV9I2KBLCWS2WpZ2+UAkZjlMZmEuT+gcXTi6RrGQCkWq1/bDtGqhIA==",
+ "license": "MIT"
},
"node_modules/collection-visit": {
"version": "1.0.0",
@@ -11082,6 +10943,12 @@
"node": ">=0.10.0"
}
},
+ "node_modules/confusing-browser-globals": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz",
+ "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==",
+ "dev": true
+ },
"node_modules/connect": {
"version": "3.7.0",
"resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz",
@@ -11824,6 +11691,18 @@
"node": ">=0.10.0"
}
},
+ "node_modules/delay": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz",
+ "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/depd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
@@ -11925,6 +11804,18 @@
"node": ">=6"
}
},
+ "node_modules/doctrine": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "dev": true,
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
"node_modules/dom-autoscroller": {
"version": "2.3.4",
"resolved": "https://registry.npmjs.org/dom-autoscroller/-/dom-autoscroller-2.3.4.tgz",
@@ -12092,9 +11983,10 @@
}
},
"node_modules/electron-to-chromium": {
- "version": "1.5.205",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.205.tgz",
- "integrity": "sha512-gBtbT7IgOHu7CwdtIiXwbNRD1l6oG6GAyanmwMCLVqaoGy92Jfe1dSHLiSj8xUEZNxOTIVlXuaAalMMD+S4y0w=="
+ "version": "1.5.175",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.175.tgz",
+ "integrity": "sha512-Nqpef9mOVo7pZfl9NIUhj7tgtRTsMzCzRTJDP1ccim4Wb4YHOz3Le87uxeZq68OCNwau2iQ/X7UwdAZ3ReOkmg==",
+ "license": "ISC"
},
"node_modules/emoji-mart": {
"version": "5.6.0",
@@ -12148,6 +12040,15 @@
"node": ">=0.10.0"
}
},
+ "node_modules/end-of-stream": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "dev": true,
+ "dependencies": {
+ "once": "^1.4.0"
+ }
+ },
"node_modules/engine.io": {
"version": "6.6.2",
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.2.tgz",
@@ -12365,11 +12266,10 @@
}
},
"node_modules/es-html-parser": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/es-html-parser/-/es-html-parser-0.2.0.tgz",
- "integrity": "sha512-snJ7uJC8Dkx/yT0eYZrWcY57rkPU6Zui6YphPynw8r52AWf57gjqMC0GWe7OxSDipwXowFpa3rqckEeAPTOz7w==",
- "dev": true,
- "license": "MIT"
+ "version": "0.0.9",
+ "resolved": "https://registry.npmjs.org/es-html-parser/-/es-html-parser-0.0.9.tgz",
+ "integrity": "sha512-oniQMi+466VFsDzcdron9Ry/sqUJpDJg1bbDn0jFJKDdxXhwIOYDr4DgBnO5/yPLGj2xv+n5yy4L1Q0vAC5TYQ==",
+ "dev": true
},
"node_modules/es-iterator-helpers": {
"version": "1.2.1",
@@ -12499,6 +12399,21 @@
"node": ">=0.12"
}
},
+ "node_modules/es6-promise": {
+ "version": "4.2.8",
+ "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
+ "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==",
+ "dev": true
+ },
+ "node_modules/es6-promisify": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
+ "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==",
+ "dev": true,
+ "dependencies": {
+ "es6-promise": "^4.0.3"
+ }
+ },
"node_modules/es6-symbol": {
"version": "3.1.4",
"resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz",
@@ -12629,64 +12544,101 @@
}
},
"node_modules/eslint": {
- "version": "9.33.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.33.0.tgz",
- "integrity": "sha512-TS9bTNIryDzStCpJN93aC5VRSW3uTx9sClUn4B87pwiCaJh220otoI0X8mJKr+VcPtniMdN8GKjlwgWGUv5ZKA==",
+ "version": "8.57.1",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz",
+ "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==",
+ "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.",
"dev": true,
- "license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
- "@eslint-community/regexpp": "^4.12.1",
- "@eslint/config-array": "^0.21.0",
- "@eslint/config-helpers": "^0.3.1",
- "@eslint/core": "^0.15.2",
- "@eslint/eslintrc": "^3.3.1",
- "@eslint/js": "9.33.0",
- "@eslint/plugin-kit": "^0.3.5",
- "@humanfs/node": "^0.16.6",
+ "@eslint-community/regexpp": "^4.6.1",
+ "@eslint/eslintrc": "^2.1.4",
+ "@eslint/js": "8.57.1",
+ "@humanwhocodes/config-array": "^0.13.0",
"@humanwhocodes/module-importer": "^1.0.1",
- "@humanwhocodes/retry": "^0.4.2",
- "@types/estree": "^1.0.6",
- "@types/json-schema": "^7.0.15",
+ "@nodelib/fs.walk": "^1.2.8",
+ "@ungap/structured-clone": "^1.2.0",
"ajv": "^6.12.4",
"chalk": "^4.0.0",
- "cross-spawn": "^7.0.6",
+ "cross-spawn": "^7.0.2",
"debug": "^4.3.2",
+ "doctrine": "^3.0.0",
"escape-string-regexp": "^4.0.0",
- "eslint-scope": "^8.4.0",
- "eslint-visitor-keys": "^4.2.1",
- "espree": "^10.4.0",
- "esquery": "^1.5.0",
+ "eslint-scope": "^7.2.2",
+ "eslint-visitor-keys": "^3.4.3",
+ "espree": "^9.6.1",
+ "esquery": "^1.4.2",
"esutils": "^2.0.2",
"fast-deep-equal": "^3.1.3",
- "file-entry-cache": "^8.0.0",
+ "file-entry-cache": "^6.0.1",
"find-up": "^5.0.0",
"glob-parent": "^6.0.2",
+ "globals": "^13.19.0",
+ "graphemer": "^1.4.0",
"ignore": "^5.2.0",
"imurmurhash": "^0.1.4",
"is-glob": "^4.0.0",
+ "is-path-inside": "^3.0.3",
+ "js-yaml": "^4.1.0",
"json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.4.1",
"lodash.merge": "^4.6.2",
"minimatch": "^3.1.2",
"natural-compare": "^1.4.0",
- "optionator": "^0.9.3"
+ "optionator": "^0.9.3",
+ "strip-ansi": "^6.0.1",
+ "text-table": "^0.2.0"
},
"bin": {
"eslint": "bin/eslint.js"
},
"engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
- "url": "https://eslint.org/donate"
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint-config-airbnb-base": {
+ "version": "15.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz",
+ "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==",
+ "dev": true,
+ "dependencies": {
+ "confusing-browser-globals": "^1.0.10",
+ "object.assign": "^4.1.2",
+ "object.entries": "^1.1.5",
+ "semver": "^6.3.0"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
},
"peerDependencies": {
- "jiti": "*"
+ "eslint": "^7.32.0 || ^8.2.0",
+ "eslint-plugin-import": "^2.25.2"
+ }
+ },
+ "node_modules/eslint-config-airbnb-base/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/eslint-config-airbnb-typescript": {
+ "version": "18.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-18.0.0.tgz",
+ "integrity": "sha512-oc+Lxzgzsu8FQyFVa4QFaVKiitTYiiW3frB9KYW5OWdPrqFc7FzxgB20hP4cHMlr+MBzGcLl3jnCOVOydL9mIg==",
+ "dev": true,
+ "dependencies": {
+ "eslint-config-airbnb-base": "^15.0.0"
},
- "peerDependenciesMeta": {
- "jiti": {
- "optional": true
- }
+ "peerDependencies": {
+ "@typescript-eslint/eslint-plugin": "^7.0.0",
+ "@typescript-eslint/parser": "^7.0.0",
+ "eslint": "^8.56.0"
}
},
"node_modules/eslint-import-resolver-node": {
@@ -12737,6 +12689,12 @@
"ms": "^2.1.1"
}
},
+ "node_modules/eslint-plugin-change-detection-strategy": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-change-detection-strategy/-/eslint-plugin-change-detection-strategy-0.1.4.tgz",
+ "integrity": "sha512-st/fA0ePVpwb+HVidcli6uq61cNKioHphJU0dHeTU+a7/hywjYz1DxHURdgYSKGp+/ANNTNkzHQbIxSJxUj7RA==",
+ "dev": true
+ },
"node_modules/eslint-plugin-import": {
"version": "2.32.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz",
@@ -12898,16 +12856,15 @@
}
},
"node_modules/eslint-plugin-react-hooks": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz",
- "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==",
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz",
+ "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==",
"dev": true,
- "license": "MIT",
"engines": {
"node": ">=10"
},
"peerDependencies": {
- "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0"
+ "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0"
}
},
"node_modules/eslint-plugin-react/node_modules/doctrine": {
@@ -13035,14 +12992,17 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/eslint/node_modules/eslint-visitor-keys": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
- "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
+ "node_modules/eslint/node_modules/eslint-scope": {
+ "version": "7.2.2",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
+ "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
"dev": true,
- "license": "Apache-2.0",
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ },
"engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
@@ -13060,6 +13020,21 @@
"node": ">=10.13.0"
}
},
+ "node_modules/eslint/node_modules/globals": {
+ "version": "13.24.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
+ "dev": true,
+ "dependencies": {
+ "type-fest": "^0.20.2"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/eslint/node_modules/has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -13114,31 +13089,17 @@
}
},
"node_modules/espree": {
- "version": "10.4.0",
- "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz",
- "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==",
+ "version": "9.6.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
+ "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
"dev": true,
- "license": "BSD-2-Clause",
"dependencies": {
- "acorn": "^8.15.0",
+ "acorn": "^8.9.0",
"acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^4.2.1"
+ "eslint-visitor-keys": "^3.4.1"
},
"engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/espree/node_modules/eslint-visitor-keys": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
- "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
@@ -13157,6 +13118,49 @@
"node": ">=4"
}
},
+ "node_modules/esprint": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/esprint/-/esprint-3.6.0.tgz",
+ "integrity": "sha512-BWj0GXqpwd0k2GJurS3P7W7uQ3oRofDH+qilptsjqMVwzOOQ54DzHAMT7fUJBNG7EXZd7znuTQShSx/CiGMs7Q==",
+ "dev": true,
+ "dependencies": {
+ "fb-watchman": "^2.0.1",
+ "glob": "^7.2.0",
+ "jayson": "^3.6.6",
+ "jest-worker": "^27.4.6",
+ "sane": "^5.0.1",
+ "yargs": "^17.3.1"
+ },
+ "bin": {
+ "esprint": "build/cli.js"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "peerDependencies": {
+ "eslint": ">=7"
+ }
+ },
+ "node_modules/esprint/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"node_modules/esquery": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
@@ -13264,6 +13268,12 @@
"node": ">=20.0.0"
}
},
+ "node_modules/exec-sh": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz",
+ "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==",
+ "dev": true
+ },
"node_modules/expand-brackets": {
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
@@ -13521,6 +13531,15 @@
"node": ">=0.10.0"
}
},
+ "node_modules/eyes": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz",
+ "integrity": "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==",
+ "dev": true,
+ "engines": {
+ "node": "> 0.1.90"
+ }
+ },
"node_modules/falsey": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/falsey/-/falsey-0.3.2.tgz",
@@ -13610,6 +13629,15 @@
"node": ">=0.8.0"
}
},
+ "node_modules/fb-watchman": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz",
+ "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==",
+ "dev": true,
+ "dependencies": {
+ "bser": "2.1.1"
+ }
+ },
"node_modules/fdir": {
"version": "6.4.6",
"resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz",
@@ -13625,16 +13653,15 @@
}
},
"node_modules/file-entry-cache": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
- "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
+ "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
"dev": true,
- "license": "MIT",
"dependencies": {
- "flat-cache": "^4.0.0"
+ "flat-cache": "^3.0.4"
},
"engines": {
- "node": ">=16.0.0"
+ "node": "^10.12.0 || >=12.0.0"
}
},
"node_modules/filelist": {
@@ -13771,17 +13798,17 @@
}
},
"node_modules/flat-cache": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz",
- "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz",
+ "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==",
"dev": true,
- "license": "MIT",
"dependencies": {
"flatted": "^3.2.9",
- "keyv": "^4.5.4"
+ "keyv": "^4.5.3",
+ "rimraf": "^3.0.2"
},
"engines": {
- "node": ">=16"
+ "node": "^10.12.0 || >=12.0.0"
}
},
"node_modules/flatbuffers": {
@@ -14232,19 +14259,6 @@
"node": ">=8"
}
},
- "node_modules/globals": {
- "version": "16.3.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-16.3.0.tgz",
- "integrity": "sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/globalthis": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz",
@@ -16048,6 +16062,15 @@
"node": ">=0.10.0"
}
},
+ "node_modules/is-path-inside": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
+ "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/is-plain-obj": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
@@ -16135,6 +16158,18 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/is-string": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz",
@@ -16304,6 +16339,15 @@
"node": ">=0.10.0"
}
},
+ "node_modules/isomorphic-ws": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz",
+ "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==",
+ "dev": true,
+ "peerDependencies": {
+ "ws": "*"
+ }
+ },
"node_modules/isomorphic.js": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/isomorphic.js/-/isomorphic.js-0.2.5.tgz",
@@ -16536,22 +16580,75 @@
}
},
"node_modules/jasmine-core": {
- "version": "5.9.0",
- "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.9.0.tgz",
- "integrity": "sha512-OMUvF1iI6+gSRYOhMrH4QYothVLN9C3EJ6wm4g7zLJlnaTl8zbaPOr0bTw70l7QxkoM7sVFOWo83u9B2Fe2Zng==",
- "dev": true,
- "license": "MIT"
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.6.0.tgz",
+ "integrity": "sha512-8uQYa7zJN8hq9z+g8z1bqCfdC8eoDAeVnM5sfqs7KHv9/ifoJ500m018fpFc7RDaO6SWCLCXwo/wPSNcdYTgcw==",
+ "dev": true
},
"node_modules/jasmine-spec-reporter": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-7.0.0.tgz",
- "integrity": "sha512-OtC7JRasiTcjsaCBPtMO0Tl8glCejM4J4/dNuOJdA8lBjz4PmWjYQ6pzb0uzpBNAWJMDudYuj9OdXJWqM2QTJg==",
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-5.0.2.tgz",
+ "integrity": "sha512-6gP1LbVgJ+d7PKksQBc2H0oDGNRQI3gKUsWlswKaQ2fif9X5gzhQcgM5+kiJGCQVurOG09jqNhk7payggyp5+g==",
"dev": true,
- "license": "Apache-2.0",
"dependencies": {
"colors": "1.4.0"
}
},
+ "node_modules/jayson": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/jayson/-/jayson-3.7.0.tgz",
+ "integrity": "sha512-tfy39KJMrrXJ+mFcMpxwBvFDetS8LAID93+rycFglIQM4kl3uNR3W4lBLE/FFhsoUCEox5Dt2adVpDm/XtebbQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/connect": "^3.4.33",
+ "@types/node": "^12.12.54",
+ "@types/ws": "^7.4.4",
+ "commander": "^2.20.3",
+ "delay": "^5.0.0",
+ "es6-promisify": "^5.0.0",
+ "eyes": "^0.1.8",
+ "isomorphic-ws": "^4.0.1",
+ "json-stringify-safe": "^5.0.1",
+ "JSONStream": "^1.3.5",
+ "lodash": "^4.17.20",
+ "uuid": "^8.3.2",
+ "ws": "^7.4.5"
+ },
+ "bin": {
+ "jayson": "bin/jayson.js"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jayson/node_modules/@types/node": {
+ "version": "12.20.55",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz",
+ "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==",
+ "dev": true
+ },
+ "node_modules/jayson/node_modules/ws": {
+ "version": "7.5.10",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz",
+ "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.3.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": "^5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
"node_modules/jest-worker": {
"version": "27.5.1",
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
@@ -16617,17 +16714,6 @@
"resolved": "https://registry.npmjs.org/jquery.caret/-/jquery.caret-0.3.1.tgz",
"integrity": "sha512-nS2mjMZzP4e4tIOgeTLSs+jFhUsUVZUPgkUMpi4DlJq9SgKEg6w2jf7q8joMJp6v+voJHXrH8rzAnbyxWHwAeA=="
},
- "node_modules/jquery.cookie": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/jquery.cookie/-/jquery.cookie-1.4.1.tgz",
- "integrity": "sha512-c/hZOOL+8VSw/FkTVH637gS1/6YzMSCROpTZ2qBYwJ7s7sHajU7uBkSSiE5+GXWwrfCCyO+jsYjUQ7Hs2rIxAA==",
- "license": "MIT"
- },
- "node_modules/jquery.flot": {
- "version": "0.8.3",
- "resolved": "https://registry.npmjs.org/jquery.flot/-/jquery.flot-0.8.3.tgz",
- "integrity": "sha512-/tEE8J5NjwvStHDaCHkvTJpD7wDS4hE1OEL8xEmhgQfUe0gLUem923PIceNez1mz4yBNx6Hjv7pJcowLNd+nbg=="
- },
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -16680,8 +16766,7 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
"integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
- "dev": true,
- "license": "MIT"
+ "dev": true
},
"node_modules/json-parse-even-better-errors": {
"version": "4.0.0",
@@ -16703,6 +16788,12 @@
"integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
"dev": true
},
+ "node_modules/json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
+ "dev": true
+ },
"node_modules/json5": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
@@ -16736,6 +16827,22 @@
"node >= 0.2.0"
]
},
+ "node_modules/JSONStream": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
+ "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
+ "dev": true,
+ "dependencies": {
+ "jsonparse": "^1.2.0",
+ "through": ">=2.2.7 <3"
+ },
+ "bin": {
+ "JSONStream": "bin.js"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/jsx-ast-utils": {
"version": "3.3.5",
"resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz",
@@ -16752,11 +16859,10 @@
}
},
"node_modules/karma": {
- "version": "6.4.4",
- "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.4.tgz",
- "integrity": "sha512-LrtUxbdvt1gOpo3gxG+VAJlJAEMhbWlM4YrFQgql98FwF7+K8K12LYO4hnDdUkNjeztYrOXEMqgTajSWgmtI/w==",
+ "version": "6.3.20",
+ "resolved": "https://registry.npmjs.org/karma/-/karma-6.3.20.tgz",
+ "integrity": "sha512-HRNQhMuKOwKpjYlWiJP0DUrJOh+QjaI/DTaD8b9rEm4Il3tJ8MijutVZH4ts10LuUFst/CedwTS6vieCN8yTSw==",
"dev": true,
- "license": "MIT",
"dependencies": {
"@colors/colors": "1.5.0",
"body-parser": "^1.19.0",
@@ -16777,7 +16883,7 @@
"qjobs": "^1.2.0",
"range-parser": "^1.2.1",
"rimraf": "^3.0.2",
- "socket.io": "^4.7.2",
+ "socket.io": "^4.4.1",
"source-map": "^0.6.1",
"tmp": "^0.2.1",
"ua-parser-js": "^0.7.30",
@@ -16791,11 +16897,10 @@
}
},
"node_modules/karma-chrome-launcher": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz",
- "integrity": "sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz",
+ "integrity": "sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ==",
"dev": true,
- "license": "MIT",
"dependencies": {
"which": "^1.2.1"
}
@@ -16813,17 +16918,16 @@
}
},
"node_modules/karma-coverage": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.1.tgz",
- "integrity": "sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.0.3.tgz",
+ "integrity": "sha512-atDvLQqvPcLxhED0cmXYdsPMCQuh6Asa9FMZW1bhNqlVEhJoB9qyZ2BY1gu7D/rr5GLGb5QzYO4siQskxaWP/g==",
"dev": true,
- "license": "MIT",
"dependencies": {
- "istanbul-lib-coverage": "^3.2.0",
- "istanbul-lib-instrument": "^5.1.0",
+ "istanbul-lib-coverage": "^3.0.0",
+ "istanbul-lib-instrument": "^4.0.1",
"istanbul-lib-report": "^3.0.0",
- "istanbul-lib-source-maps": "^4.0.1",
- "istanbul-reports": "^3.0.5",
+ "istanbul-lib-source-maps": "^4.0.0",
+ "istanbul-reports": "^3.0.0",
"minimatch": "^3.0.4"
},
"engines": {
@@ -16912,68 +17016,32 @@
"node": ">=0.10.0"
}
},
- "node_modules/karma-coverage/node_modules/istanbul-lib-instrument": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz",
- "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "@babel/core": "^7.12.3",
- "@babel/parser": "^7.14.7",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-coverage": "^3.2.0",
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/karma-coverage/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
"node_modules/karma-jasmine": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-5.1.0.tgz",
- "integrity": "sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==",
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-3.3.1.tgz",
+ "integrity": "sha512-Nxh7eX9mOQMyK0VSsMxdod+bcqrR/ikrmEiWj5M6fwuQ7oI+YEF1FckaDsWfs6TIpULm9f0fTKMjF7XcrvWyqQ==",
"dev": true,
- "license": "MIT",
"dependencies": {
- "jasmine-core": "^4.1.0"
+ "jasmine-core": "^3.5.0"
},
"engines": {
- "node": ">=12"
+ "node": ">= 8"
},
"peerDependencies": {
- "karma": "^6.0.0"
+ "karma": "*"
}
},
"node_modules/karma-jasmine-html-reporter": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.1.0.tgz",
- "integrity": "sha512-sPQE1+nlsn6Hwb5t+HHwyy0A1FNCVKuL1192b+XNauMYWThz2kweiBVW1DqloRpVvZIJkIoHVB7XRpK78n1xbQ==",
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.7.0.tgz",
+ "integrity": "sha512-pzum1TL7j90DTE86eFt48/s12hqwQuiD+e5aXx2Dc9wDEn2LfGq6RoAxEZZjFiN0RDSCOnosEKRZWxbQ+iMpQQ==",
"dev": true,
- "license": "MIT",
"peerDependencies": {
- "jasmine-core": "^4.0.0 || ^5.0.0",
- "karma": "^6.0.0",
- "karma-jasmine": "^5.0.0"
+ "jasmine-core": ">=3.8",
+ "karma": ">=0.9",
+ "karma-jasmine": ">=1.1"
}
},
- "node_modules/karma-jasmine/node_modules/jasmine-core": {
- "version": "4.6.1",
- "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.1.tgz",
- "integrity": "sha512-VYz/BjjmC3klLJlLwA4Kw8ytk0zDSmbbDLNs794VnWmkcCB7I9aAL/D48VNQtmITyPvea2C3jdUMfc3kAoy0PQ==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/karma-source-map-support": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz",
@@ -16984,13 +17052,12 @@
}
},
"node_modules/karma-spec-reporter": {
- "version": "0.0.36",
- "resolved": "https://registry.npmjs.org/karma-spec-reporter/-/karma-spec-reporter-0.0.36.tgz",
- "integrity": "sha512-11bvOl1x6ryKZph7kmbmMpbi8vsngEGxGOoeTlIcDaH3ab3j8aPJnZ+r+K/SS0sBSGy5VGkGYO2+hLct7hw/6w==",
+ "version": "0.0.32",
+ "resolved": "https://registry.npmjs.org/karma-spec-reporter/-/karma-spec-reporter-0.0.32.tgz",
+ "integrity": "sha512-ZXsYERZJMTNRR2F3QN11OWF5kgnT/K2dzhM+oY3CDyMrDI3TjIWqYGG7c15rR9wjmy9lvdC+CCshqn3YZqnNrA==",
"dev": true,
- "license": "MIT",
"dependencies": {
- "colors": "1.4.0"
+ "colors": "^1.1.2"
},
"peerDependencies": {
"karma": ">=0.9"
@@ -17057,7 +17124,6 @@
"resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
"integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
"dev": true,
- "license": "MIT",
"dependencies": {
"json-buffer": "3.0.1"
}
@@ -17868,6 +17934,15 @@
"resolved": "https://registry.npmjs.org/make-plural/-/make-plural-7.3.0.tgz",
"integrity": "sha512-/K3BC0KIsO+WK2i94LkMPv3wslMrazrQhfi5We9fMbLlLjzoOSJWr7TAdupLlDWaJcWxwoNosBkhFDejiu5VDw=="
},
+ "node_modules/makeerror": {
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz",
+ "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==",
+ "dev": true,
+ "dependencies": {
+ "tmpl": "1.0.5"
+ }
+ },
"node_modules/map-cache": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
@@ -18880,6 +18955,15 @@
"node": ">= 0.6"
}
},
+ "node_modules/mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/mimic-function": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz",
@@ -19389,19 +19473,17 @@
}
},
"node_modules/ng2-charts": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/ng2-charts/-/ng2-charts-8.0.0.tgz",
- "integrity": "sha512-nofsNHI2Zt+EAwT+BJBVg0kgOhNo9ukO4CxULlaIi7VwZSr7I1km38kWSoU41Oq6os6qqIh5srnL+CcV+RFPFA==",
- "license": "MIT",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/ng2-charts/-/ng2-charts-4.1.1.tgz",
+ "integrity": "sha512-iHwXDbmX86lfeH8VRcsaW2tJATsuAZo4kvvC/Yk2l35zOHjevja1qBvO6BAibiDazi9r9aS6ZRJOqWPsz1pP2w==",
"dependencies": {
"lodash-es": "^4.17.15",
"tslib": "^2.3.0"
},
"peerDependencies": {
- "@angular/cdk": ">=19.0.0",
- "@angular/common": ">=19.0.0",
- "@angular/core": ">=19.0.0",
- "@angular/platform-browser": ">=19.0.0",
+ "@angular/cdk": ">=14.0.0",
+ "@angular/common": ">=14.0.0",
+ "@angular/core": ">=14.0.0",
"chart.js": "^3.4.0 || ^4.0.0",
"rxjs": "^6.5.3 || ^7.4.0"
}
@@ -19423,15 +19505,15 @@
}
},
"node_modules/ngx-cookie-service": {
- "version": "20.1.0",
- "resolved": "https://registry.npmjs.org/ngx-cookie-service/-/ngx-cookie-service-20.1.0.tgz",
- "integrity": "sha512-g7Ddq8097qujmJfoEK27H12KLEpuO4SBPhoOYQ2kmLMSvz65vRrSKVwzOxdc75cFLQPW45Jfyyg3LoMTjKW0uA==",
+ "version": "14.0.1",
+ "resolved": "https://registry.npmjs.org/ngx-cookie-service/-/ngx-cookie-service-14.0.1.tgz",
+ "integrity": "sha512-PHjpA/bpp1ZgvQ2AWdXA6oxPQgE9k0WljQ7tvUH/u0Acl6p6akzF8kWlQiWxkgR3hBs7xB3paIsTk6GKdtakMg==",
"dependencies": {
- "tslib": "^2.8.0"
+ "tslib": "^2.0.0"
},
"peerDependencies": {
- "@angular/common": "^20.0.0",
- "@angular/core": "^20.0.0"
+ "@angular/common": "^14.0.0",
+ "@angular/core": "^14.0.0"
}
},
"node_modules/node-addon-api": {
@@ -19565,6 +19647,12 @@
"node": ">=18"
}
},
+ "node_modules/node-int64": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
+ "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==",
+ "dev": true
+ },
"node_modules/node-releases": {
"version": "2.0.19",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz",
@@ -19696,6 +19784,18 @@
"node": "^18.17.0 || >=20.5.0"
}
},
+ "node_modules/npm-run-path": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/nth-check": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
@@ -19957,6 +20057,21 @@
"wrappy": "1"
}
},
+ "node_modules/onetime": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+ "dev": true,
+ "dependencies": {
+ "mimic-fn": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/op-blocknote-extensions": {
"version": "0.0.1",
"resolved": "git+ssh://git@github.com/opf/op-blocknote-extensions.git#d3b88eb1642f784aa3abead172c0a439806a5a14",
@@ -21059,6 +21174,16 @@
"license": "MIT",
"optional": true
},
+ "node_modules/pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "dev": true,
+ "dependencies": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
"node_modules/punycode": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
@@ -21281,6 +21406,19 @@
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
}
},
+ "node_modules/read": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/read/-/read-4.1.0.tgz",
+ "integrity": "sha512-uRfX6K+f+R8OOrYScaM3ixPY4erg69f8DN6pgTvMcA9iRc8iDhwrA4m3Yu8YYKsXJgVvum+m8PkRboZwwuLzYA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "mute-stream": "^2.0.0"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
"node_modules/readable-stream": {
"version": "3.6.2",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
@@ -21967,6 +22105,15 @@
"node": ">=16"
}
},
+ "node_modules/rsvp": {
+ "version": "4.8.5",
+ "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz",
+ "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==",
+ "dev": true,
+ "engines": {
+ "node": "6.* || >= 7.*"
+ }
+ },
"node_modules/run-applescript": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz",
@@ -22083,6 +22230,76 @@
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
+ "node_modules/sane": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/sane/-/sane-5.0.1.tgz",
+ "integrity": "sha512-9/0CYoRz0MKKf04OMCO3Qk3RQl1PAwWAhPSQSym4ULiLpTZnrY1JoZU0IEikHu8kdk2HvKT/VwQMq/xFZ8kh1Q==",
+ "dev": true,
+ "dependencies": {
+ "@cnakazawa/watch": "^1.0.3",
+ "anymatch": "^3.1.1",
+ "capture-exit": "^2.0.0",
+ "exec-sh": "^0.3.4",
+ "execa": "^4.0.0",
+ "fb-watchman": "^2.0.1",
+ "micromatch": "^4.0.2",
+ "minimist": "^1.1.1",
+ "walker": "~1.0.5"
+ },
+ "bin": {
+ "sane": "src/cli.js"
+ },
+ "engines": {
+ "node": "10.* || >= 12.*"
+ }
+ },
+ "node_modules/sane/node_modules/execa": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz",
+ "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==",
+ "dev": true,
+ "dependencies": {
+ "cross-spawn": "^7.0.0",
+ "get-stream": "^5.0.0",
+ "human-signals": "^1.1.1",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.0",
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2",
+ "strip-final-newline": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ }
+ },
+ "node_modules/sane/node_modules/get-stream": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
+ "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
+ "dev": true,
+ "dependencies": {
+ "pump": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/sane/node_modules/human-signals": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
+ "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.12.0"
+ }
+ },
"node_modules/sass": {
"version": "1.89.2",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.89.2.tgz",
@@ -22632,6 +22849,12 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/signal-exit": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
+ "dev": true
+ },
"node_modules/sigstore": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/sigstore/-/sigstore-3.1.0.tgz",
@@ -23589,6 +23812,15 @@
"node": ">=4"
}
},
+ "node_modules/strip-final-newline": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/strip-json-comments": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
@@ -23884,6 +24116,12 @@
"utrie": "^1.0.2"
}
},
+ "node_modules/text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
+ "dev": true
+ },
"node_modules/texture-compressor": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/texture-compressor/-/texture-compressor-1.0.2.tgz",
@@ -24022,6 +24260,12 @@
"tslib": "^2"
}
},
+ "node_modules/through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
+ "dev": true
+ },
"node_modules/through2": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
@@ -24142,6 +24386,12 @@
"node": ">=14.14"
}
},
+ "node_modules/tmpl": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz",
+ "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==",
+ "dev": true
+ },
"node_modules/to-gfm-code-block": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/to-gfm-code-block/-/to-gfm-code-block-0.1.1.tgz",
@@ -24446,6 +24696,18 @@
"node": ">= 0.8.0"
}
},
+ "node_modules/type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/type-func": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/type-func/-/type-func-1.0.3.tgz",
@@ -24589,298 +24851,6 @@
"node": ">=14.17"
}
},
- "node_modules/typescript-eslint": {
- "version": "8.40.0",
- "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.40.0.tgz",
- "integrity": "sha512-Xvd2l+ZmFDPEt4oj1QEXzA4A2uUK6opvKu3eGN9aGjB8au02lIVcLyi375w94hHyejTOmzIU77L8ol2sRg9n7Q==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/eslint-plugin": "8.40.0",
- "@typescript-eslint/parser": "8.40.0",
- "@typescript-eslint/typescript-estree": "8.40.0",
- "@typescript-eslint/utils": "8.40.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <6.0.0"
- }
- },
- "node_modules/typescript-eslint/node_modules/@typescript-eslint/eslint-plugin": {
- "version": "8.40.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.40.0.tgz",
- "integrity": "sha512-w/EboPlBwnmOBtRbiOvzjD+wdiZdgFeo17lkltrtn7X37vagKKWJABvyfsJXTlHe6XBzugmYgd4A4nW+k8Mixw==",
- "dev": true,
- "dependencies": {
- "@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "8.40.0",
- "@typescript-eslint/type-utils": "8.40.0",
- "@typescript-eslint/utils": "8.40.0",
- "@typescript-eslint/visitor-keys": "8.40.0",
- "graphemer": "^1.4.0",
- "ignore": "^7.0.0",
- "natural-compare": "^1.4.0",
- "ts-api-utils": "^2.1.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "@typescript-eslint/parser": "^8.40.0",
- "eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <6.0.0"
- }
- },
- "node_modules/typescript-eslint/node_modules/@typescript-eslint/parser": {
- "version": "8.40.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.40.0.tgz",
- "integrity": "sha512-jCNyAuXx8dr5KJMkecGmZ8KI61KBUhkCob+SD+C+I5+Y1FWI2Y3QmY4/cxMCC5WAsZqoEtEETVhUiUMIGCf6Bw==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/scope-manager": "8.40.0",
- "@typescript-eslint/types": "8.40.0",
- "@typescript-eslint/typescript-estree": "8.40.0",
- "@typescript-eslint/visitor-keys": "8.40.0",
- "debug": "^4.3.4"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <6.0.0"
- }
- },
- "node_modules/typescript-eslint/node_modules/@typescript-eslint/project-service": {
- "version": "8.40.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.40.0.tgz",
- "integrity": "sha512-/A89vz7Wf5DEXsGVvcGdYKbVM9F7DyFXj52lNYUDS1L9yJfqjW/fIp5PgMuEJL/KeqVTe2QSbXAGUZljDUpArw==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/tsconfig-utils": "^8.40.0",
- "@typescript-eslint/types": "^8.40.0",
- "debug": "^4.3.4"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "typescript": ">=4.8.4 <6.0.0"
- }
- },
- "node_modules/typescript-eslint/node_modules/@typescript-eslint/scope-manager": {
- "version": "8.40.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.40.0.tgz",
- "integrity": "sha512-y9ObStCcdCiZKzwqsE8CcpyuVMwRouJbbSrNuThDpv16dFAj429IkM6LNb1dZ2m7hK5fHyzNcErZf7CEeKXR4w==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "8.40.0",
- "@typescript-eslint/visitor-keys": "8.40.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/typescript-eslint/node_modules/@typescript-eslint/tsconfig-utils": {
- "version": "8.40.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.40.0.tgz",
- "integrity": "sha512-jtMytmUaG9d/9kqSl/W3E3xaWESo4hFDxAIHGVW/WKKtQhesnRIJSAJO6XckluuJ6KDB5woD1EiqknriCtAmcw==",
- "dev": true,
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "typescript": ">=4.8.4 <6.0.0"
- }
- },
- "node_modules/typescript-eslint/node_modules/@typescript-eslint/type-utils": {
- "version": "8.40.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.40.0.tgz",
- "integrity": "sha512-eE60cK4KzAc6ZrzlJnflXdrMqOBaugeukWICO2rB0KNvwdIMaEaYiywwHMzA1qFpTxrLhN9Lp4E/00EgWcD3Ow==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "8.40.0",
- "@typescript-eslint/typescript-estree": "8.40.0",
- "@typescript-eslint/utils": "8.40.0",
- "debug": "^4.3.4",
- "ts-api-utils": "^2.1.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <6.0.0"
- }
- },
- "node_modules/typescript-eslint/node_modules/@typescript-eslint/types": {
- "version": "8.40.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.40.0.tgz",
- "integrity": "sha512-ETdbFlgbAmXHyFPwqUIYrfc12ArvpBhEVgGAxVYSwli26dn8Ko+lIo4Su9vI9ykTZdJn+vJprs/0eZU0YMAEQg==",
- "dev": true,
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/typescript-eslint/node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.40.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.40.0.tgz",
- "integrity": "sha512-k1z9+GJReVVOkc1WfVKs1vBrR5MIKKbdAjDTPvIK3L8De6KbFfPFt6BKpdkdk7rZS2GtC/m6yI5MYX+UsuvVYQ==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/project-service": "8.40.0",
- "@typescript-eslint/tsconfig-utils": "8.40.0",
- "@typescript-eslint/types": "8.40.0",
- "@typescript-eslint/visitor-keys": "8.40.0",
- "debug": "^4.3.4",
- "fast-glob": "^3.3.2",
- "is-glob": "^4.0.3",
- "minimatch": "^9.0.4",
- "semver": "^7.6.0",
- "ts-api-utils": "^2.1.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "typescript": ">=4.8.4 <6.0.0"
- }
- },
- "node_modules/typescript-eslint/node_modules/@typescript-eslint/utils": {
- "version": "8.40.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.40.0.tgz",
- "integrity": "sha512-Cgzi2MXSZyAUOY+BFwGs17s7ad/7L+gKt6Y8rAVVWS+7o6wrjeFN4nVfTpbE25MNcxyJ+iYUXflbs2xR9h4UBg==",
- "dev": true,
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.7.0",
- "@typescript-eslint/scope-manager": "8.40.0",
- "@typescript-eslint/types": "8.40.0",
- "@typescript-eslint/typescript-estree": "8.40.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <6.0.0"
- }
- },
- "node_modules/typescript-eslint/node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.40.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.40.0.tgz",
- "integrity": "sha512-8CZ47QwalyRjsypfwnbI3hKy5gJDPmrkLjkgMxhi0+DZZ2QNx2naS6/hWoVYUHU7LU2zleF68V9miaVZvhFfTA==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "8.40.0",
- "eslint-visitor-keys": "^4.2.1"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/typescript-eslint/node_modules/brace-expansion": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
- "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
- "dev": true,
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
- "node_modules/typescript-eslint/node_modules/eslint-visitor-keys": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
- "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
- "dev": true,
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/typescript-eslint/node_modules/ignore": {
- "version": "7.0.5",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
- "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
- "dev": true,
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/typescript-eslint/node_modules/minimatch": {
- "version": "9.0.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
- "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
- "dev": true,
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=16 || 14 >=14.17"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/typescript-eslint/node_modules/ts-api-utils": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz",
- "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==",
- "dev": true,
- "engines": {
- "node": ">=18.12"
- },
- "peerDependencies": {
- "typescript": ">=4.8.4"
- }
- },
"node_modules/typical": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz",
@@ -25580,6 +25550,15 @@
"integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==",
"license": "MIT"
},
+ "node_modules/walker": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz",
+ "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==",
+ "dev": true,
+ "dependencies": {
+ "makeerror": "1.0.12"
+ }
+ },
"node_modules/warning-symbol": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/warning-symbol/-/warning-symbol-0.1.0.tgz",
@@ -26298,7 +26277,6 @@
"version": "8.17.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
"integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=10.0.0"
@@ -26316,6 +26294,35 @@
}
}
},
+ "node_modules/wscat": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/wscat/-/wscat-6.1.0.tgz",
+ "integrity": "sha512-x6gEZvITvqWslR38DoBfnMi37ZBUGsG9rTkGc/200sEfSs1JwgKLZYQeqa0vlu3bxXQV7hEHI4NF7KQmYIzB2A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "commander": "^12.1.0",
+ "https-proxy-agent": "^7.0.5",
+ "read": "^4.0.0",
+ "ws": "^8.0.0"
+ },
+ "bin": {
+ "wscat": "bin/wscat"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/wscat/node_modules/commander": {
+ "version": "12.1.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz",
+ "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/xml": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz",
@@ -26388,6 +26395,47 @@
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
},
+ "node_modules/yargs": {
+ "version": "17.7.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
+ "dev": true,
+ "dependencies": {
+ "cliui": "^8.0.1",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.1.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/yargs-parser": {
+ "version": "21.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/yargs/node_modules/cliui": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+ "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+ "dev": true,
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.1",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/year": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/year/-/year-0.2.1.tgz",
@@ -26672,25 +26720,25 @@
}
},
"@angular-devkit/architect": {
- "version": "0.2001.6",
- "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2001.6.tgz",
- "integrity": "sha512-CGFDfqPvKw1Ekuk7eSYMdhBv26LiwBrnZEUnrloC8fnuT8G+s46WMj/uH3tTcQ9MHYbhOSAHynNwpnwX71wghg==",
+ "version": "0.2001.4",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2001.4.tgz",
+ "integrity": "sha512-lZ9wYv1YDcw2Ggi2/TXXhYs7JAukAJHdZGZn6Co5s1QE774bVled1qK8pf46rSsG1BGn1a9VFsRFOlB/sx6WjA==",
"requires": {
- "@angular-devkit/core": "20.1.6",
+ "@angular-devkit/core": "20.1.4",
"rxjs": "7.8.2"
}
},
"@angular-devkit/build-angular": {
- "version": "20.1.6",
- "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-20.1.6.tgz",
- "integrity": "sha512-T9sAN6rj1eDrWTDrX2Tb5FS07vkxIqbp0L3ON8DsbOo68+I4whBSBrCyacqanuL8O6HUkPrlLc2Hl0CFdV6tIg==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-20.1.4.tgz",
+ "integrity": "sha512-mD7B2JqmbP3qBp8MfDhDm1PfybLQX+qVscCr32siuDpS02KvizsmABfnrDOdpHuzCjx4IbmNk0nVUWn1tSHZfw==",
"dev": true,
"requires": {
"@ampproject/remapping": "2.3.0",
- "@angular-devkit/architect": "0.2001.6",
- "@angular-devkit/build-webpack": "0.2001.6",
- "@angular-devkit/core": "20.1.6",
- "@angular/build": "20.1.6",
+ "@angular-devkit/architect": "0.2001.4",
+ "@angular-devkit/build-webpack": "0.2001.4",
+ "@angular-devkit/core": "20.1.4",
+ "@angular/build": "20.1.4",
"@babel/core": "7.27.7",
"@babel/generator": "7.27.5",
"@babel/helper-annotate-as-pure": "7.27.3",
@@ -26701,7 +26749,7 @@
"@babel/preset-env": "7.27.2",
"@babel/runtime": "7.27.6",
"@discoveryjs/json-ext": "0.6.3",
- "@ngtools/webpack": "20.1.6",
+ "@ngtools/webpack": "20.1.4",
"ansi-colors": "4.1.3",
"autoprefixer": "10.4.21",
"babel-loader": "10.0.0",
@@ -26848,19 +26896,19 @@
}
},
"@angular-devkit/build-webpack": {
- "version": "0.2001.6",
- "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.2001.6.tgz",
- "integrity": "sha512-rOzDLQYWuSoZ9FpavHR9ld+D+C1JJfOystVLufvzhLVlwZn4IYclWJe7BT0wGME92fXrwz4ubjZrZW+fgB3LXg==",
+ "version": "0.2001.4",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.2001.4.tgz",
+ "integrity": "sha512-R/xEwVTaqZN1yKfpQIlP7kcyoEvQueFt78HSNm+FFhqMM5MlSLoc+1ond2MYk9MDEvmvHYlx7r6AZ7C+KouU/Q==",
"dev": true,
"requires": {
- "@angular-devkit/architect": "0.2001.6",
+ "@angular-devkit/architect": "0.2001.4",
"rxjs": "7.8.2"
}
},
"@angular-devkit/core": {
- "version": "20.1.6",
- "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-20.1.6.tgz",
- "integrity": "sha512-Wooe+nTmHOLvveBQWDmSsdKg39re5BUMGVkwKlPHTQ/YU9aYshvPEBu1K0l4gSqe3qtqVVAx0HlPb53bEFFa8w==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-20.1.4.tgz",
+ "integrity": "sha512-I5CllQoDrVL20/+0JZk/gmR14n/+mwYIoD1RfBDwnaiHlO9o2whRsJj+LeUd9IA5Hf9MPPx+EkOVQt3vsYU0sQ==",
"requires": {
"ajv": "8.17.1",
"ajv-formats": "3.0.1",
@@ -26886,11 +26934,11 @@
}
},
"@angular-devkit/schematics": {
- "version": "20.1.6",
- "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-20.1.6.tgz",
- "integrity": "sha512-Maj/yCkn3Qjum2kCYUOYMw8VYh/8725XN8/4cae9VllMwkN5D8jYDvX40qmfgQve2x0x6r3L8rmaIHn8227cHg==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-20.1.4.tgz",
+ "integrity": "sha512-dyvlQcXf5XKPRC1qTqzIGkltFHh8mYujPk6qt6Ah2nKp7UeA80ZSAocwOmlBg8t7GjN8ICe4Kese5scT1ByFXQ==",
"requires": {
- "@angular-devkit/core": "20.1.6",
+ "@angular-devkit/core": "20.1.4",
"jsonc-parser": "3.3.1",
"magic-string": "0.30.17",
"ora": "8.2.0",
@@ -26987,21 +27035,21 @@
}
},
"@angular/animations": {
- "version": "20.1.7",
- "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-20.1.7.tgz",
- "integrity": "sha512-ykzx6cKqGkKbtE2CbHBukIgM2Wk8+BmYTEqwRZRVqskxbIGvEuLmLJrvmwpqqvo4MypgvbLEtJyviSCYQkZYvA==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-20.1.4.tgz",
+ "integrity": "sha512-y4mq2r6jhAj5QuA3UnWkVfok0EcA22uH+XVb4HBKY7q23/xaQYu2CGdVOVpdUsaPTf3zRD1DkAnTkV3J3ZHIiA==",
"requires": {
"tslib": "^2.3.0"
}
},
"@angular/build": {
- "version": "20.1.6",
- "resolved": "https://registry.npmjs.org/@angular/build/-/build-20.1.6.tgz",
- "integrity": "sha512-xAC9uGeRmvCKNLr7D0XUK+KWixlRl9nnfZbB9MIDe00ulmHy5duVWILUwBEOeq1/wRrrJc133NAPTTEBWImwnA==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular/build/-/build-20.1.4.tgz",
+ "integrity": "sha512-DClI15kl0t1YijptthQfw0cRSj8Opf8ACsZa1xT3o77BALpeusxS2QzSy6xGH+QnwesTyJFux1oRYjtAKmE2YA==",
"dev": true,
"requires": {
"@ampproject/remapping": "2.3.0",
- "@angular-devkit/architect": "0.2001.6",
+ "@angular-devkit/architect": "0.2001.4",
"@babel/core": "7.27.7",
"@babel/helper-annotate-as-pure": "7.27.3",
"@babel/helper-split-export-declaration": "7.24.7",
@@ -27107,9 +27155,9 @@
}
},
"@angular/cdk": {
- "version": "20.1.6",
- "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-20.1.6.tgz",
- "integrity": "sha512-GKxCS/GOAOQCNTnrvYia9wR4Z9rRWjzNRE0989LXwWLYcmiG7+ku30PolGV7zhmlgUu/qx8P6BbxZgUvK34X/A==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-20.1.4.tgz",
+ "integrity": "sha512-Uz0fLZRWpKG7xniXSw3Hr4QEvTlVurov07BBz6nRWseGxeHCDkFqKc3UEriovCQ7ylJdR6miIu7j+h4PWLH48g==",
"requires": {
"parse5": "^8.0.0",
"tslib": "^2.3.0"
@@ -27131,17 +27179,17 @@
}
},
"@angular/cli": {
- "version": "20.1.6",
- "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-20.1.6.tgz",
- "integrity": "sha512-kqncVmYtlDYLwt4l5lFBz4uEnoheMH+teSqAAD/zaDxn41KvpoRLHiEVurQhsNP/GDHxGu+8wg0s4gX3kaFOzg==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-20.1.4.tgz",
+ "integrity": "sha512-VAQ/EBelBPiX1vV57TZJRPcao/e+Ee9IeLK43fsE2xL+GuEjrJ/fQXqt7OesrgIJHJBwUiX+j8pMMT6VfT1xSA==",
"requires": {
- "@angular-devkit/architect": "0.2001.6",
- "@angular-devkit/core": "20.1.6",
- "@angular-devkit/schematics": "20.1.6",
+ "@angular-devkit/architect": "0.2001.4",
+ "@angular-devkit/core": "20.1.4",
+ "@angular-devkit/schematics": "20.1.4",
"@inquirer/prompts": "7.6.0",
"@listr2/prompt-adapter-inquirer": "2.0.22",
"@modelcontextprotocol/sdk": "1.13.3",
- "@schematics/angular": "20.1.6",
+ "@schematics/angular": "20.1.4",
"@yarnpkg/lockfile": "1.1.0",
"algoliasearch": "5.32.0",
"ini": "5.0.0",
@@ -27230,25 +27278,25 @@
}
},
"@angular/common": {
- "version": "20.1.7",
- "resolved": "https://registry.npmjs.org/@angular/common/-/common-20.1.7.tgz",
- "integrity": "sha512-3eFxQ18613JpBQw53wMUZfqc2RvratWx6GqKs5A1JJpMs0qq26yc2PhJWer99u3mugpKavmKoKpXFBkuWg50Qw==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular/common/-/common-20.1.4.tgz",
+ "integrity": "sha512-AL+HdsY5xL2iM1zZ55ce33U+w2LgPJZQwKvHXJJ/Hpk3rpFNamWtRPmJBeq8Z0dQV1lLTMM+2pUatH6p+5pvEg==",
"requires": {
"tslib": "^2.3.0"
}
},
"@angular/compiler": {
- "version": "20.1.7",
- "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-20.1.7.tgz",
- "integrity": "sha512-IZPkFxXoJZy7aVBgcsYLKyfr1CreCqpqhlbiSVXgtleyTcReaMoQBHeEqyFxD7PeB4Lfmf1N6ncHCILg+wxTfw==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-20.1.4.tgz",
+ "integrity": "sha512-gQbchh2ziK9QxZuHgEf7BUMCm/ayu6Zr9hst6itSecinUJgUeeSp3Z4vXjIBNBUKMPB135tWw9RGiVbW8saBmg==",
"requires": {
"tslib": "^2.3.0"
}
},
"@angular/compiler-cli": {
- "version": "20.1.7",
- "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-20.1.7.tgz",
- "integrity": "sha512-YnSn/956+On0KaJqzikZ6Ot7lcYJRU06bhXAjGI7UdRoyYYbtnpG3jPspXDunycvuVxKFHMzjKlIoMohk6bPGA==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-20.1.4.tgz",
+ "integrity": "sha512-I603/3EmclgX4VUryBo3bxlF+8+fVucrW/V0leqNlt72ppFTphDiKiopogoJFWJxuULTo2V+7Koq8Em7kUO67Q==",
"requires": {
"@babel/core": "7.28.0",
"@jridgewell/sourcemap-codec": "^1.4.14",
@@ -27398,25 +27446,25 @@
}
},
"@angular/core": {
- "version": "20.1.7",
- "resolved": "https://registry.npmjs.org/@angular/core/-/core-20.1.7.tgz",
- "integrity": "sha512-LL5nyCQ9yrMLQMfAPgambGCPEQmpuHrg3cTRI0P9EMySgFoyyPUsIfWYYz5w1VWxmkfcXSkpNtyaNB5P60p0rg==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular/core/-/core-20.1.4.tgz",
+ "integrity": "sha512-aWDux64a9usuVU2SnF0epqjXAj8JO8jViUzZAJAuFKSCtkeNzqP+Z6DjkqsCKrNvGP7xkX1XhhepUygxgh7/6A==",
"requires": {
"tslib": "^2.3.0"
}
},
"@angular/elements": {
- "version": "20.1.7",
- "resolved": "https://registry.npmjs.org/@angular/elements/-/elements-20.1.7.tgz",
- "integrity": "sha512-M5HRDbtIBGVtsO1Sq4/ijAr/sffPswGzMrJB7YIczKl6kHrdkbmCAzQ5cpmyAJ83YgSQBypgwEpW1R8CkRtrEw==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular/elements/-/elements-20.1.4.tgz",
+ "integrity": "sha512-C6eR5bbyBw5VAU0UaroUjKFzQy0lR87rmOE/l9gy7dlFEOxIr6MfnK12Lv6PUeAmqvQHKjiHSEn73jdJK+bCFA==",
"requires": {
"tslib": "^2.3.0"
}
},
"@angular/forms": {
- "version": "20.1.7",
- "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-20.1.7.tgz",
- "integrity": "sha512-gHfCeW7gp7GLjHfNOF+es8gAYph4+ZhgfvP9cdj9RmRy7ckQTuJ2OwrWmruqRcrB3J46uqENQyrNhJz0ubozYA==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-20.1.4.tgz",
+ "integrity": "sha512-5gUwcV+JpzJ2rSPo1nR6iNz2Dm3iRcVCvRTsVnKhFbZCIbGLihLpoCuittsgUY/C9wh/rnmXlatmLJ7giSuUZA==",
"requires": {
"tslib": "^2.3.0"
}
@@ -27428,25 +27476,25 @@
"dev": true
},
"@angular/platform-browser": {
- "version": "20.1.7",
- "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-20.1.7.tgz",
- "integrity": "sha512-z2dlsrar4XmDAIgin1O3zDztVWHUpdZzR65mqyvbaNKtQHcnL33wVBBNVnksBkpPq+Lou2Cih1AdsICKyRyRbQ==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-20.1.4.tgz",
+ "integrity": "sha512-z86NsGSwm5pXCACdWBbp7SC1Xn+UGvuoRqTsi0dNUXT/3WrP6MvZT3TfNKwM63GLUqFAICSt7uFXS84D72ukvA==",
"requires": {
"tslib": "^2.3.0"
}
},
"@angular/platform-browser-dynamic": {
- "version": "20.1.7",
- "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-20.1.7.tgz",
- "integrity": "sha512-Fl/AhG54DS1NRrTE8SLJ2vy8Dd1yYjfos+h4bdghP/HY5gRFtnzb662VeKfx6sL+KlG0jV4hMYhuczTF8BvhTg==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-20.1.4.tgz",
+ "integrity": "sha512-bH4CjZ2O2oqRaKd36Xe/EhZDHx769pPf9oR4oITsZJ10bIhkWcaG9pgaW+W1PGc+nMevVpJ7XfG9m9n6+3bEfw==",
"requires": {
"tslib": "^2.3.0"
}
},
"@angular/router": {
- "version": "20.1.7",
- "resolved": "https://registry.npmjs.org/@angular/router/-/router-20.1.7.tgz",
- "integrity": "sha512-Pcd5zmQxq2szGQwG9Gmmt92icBrAocEowOI9OBYeuwyhcR+pVrcc67mbrVFB+bspkbTDBxxtPV+SV21vDKROSQ==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@angular/router/-/router-20.1.4.tgz",
+ "integrity": "sha512-Etd2V2Qw+clQhJORBm7tMphCCweLNKbZvUc+lh1r7yrbBPnZvK3yd69W9ZQoRzrSSI25VGQDyzQXgpLUlHoE+w==",
"requires": {
"tslib": "^2.3.0"
}
@@ -28592,6 +28640,16 @@
"resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-7.1.1.tgz",
"integrity": "sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw=="
},
+ "@cnakazawa/watch": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz",
+ "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==",
+ "dev": true,
+ "requires": {
+ "exec-sh": "^0.3.2",
+ "minimist": "^1.2.0"
+ }
+ },
"@colors/colors": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
@@ -28820,47 +28878,21 @@
}
},
"@eslint-community/regexpp": {
- "version": "4.12.1",
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz",
- "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==",
+ "version": "4.10.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
+ "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==",
"dev": true
},
- "@eslint/config-array": {
- "version": "0.21.0",
- "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.0.tgz",
- "integrity": "sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==",
- "dev": true,
- "requires": {
- "@eslint/object-schema": "^2.1.6",
- "debug": "^4.3.1",
- "minimatch": "^3.1.2"
- }
- },
- "@eslint/config-helpers": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.1.tgz",
- "integrity": "sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==",
- "dev": true
- },
- "@eslint/core": {
- "version": "0.15.2",
- "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.2.tgz",
- "integrity": "sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==",
- "dev": true,
- "requires": {
- "@types/json-schema": "^7.0.15"
- }
- },
"@eslint/eslintrc": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz",
- "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==",
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
+ "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
"dev": true,
"requires": {
"ajv": "^6.12.4",
"debug": "^4.3.2",
- "espree": "^10.0.1",
- "globals": "^14.0.0",
+ "espree": "^9.6.0",
+ "globals": "^13.19.0",
"ignore": "^5.2.0",
"import-fresh": "^3.2.1",
"js-yaml": "^4.1.0",
@@ -28881,10 +28913,13 @@
}
},
"globals": {
- "version": "14.0.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
- "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
- "dev": true
+ "version": "13.24.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
+ "dev": true,
+ "requires": {
+ "type-fest": "^0.20.2"
+ }
},
"json-schema-traverse": {
"version": "0.4.1",
@@ -28895,27 +28930,11 @@
}
},
"@eslint/js": {
- "version": "9.33.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.33.0.tgz",
- "integrity": "sha512-5K1/mKhWaMfreBGJTwval43JJmkip0RmM+3+IuqupeSKNC/Th2Kc7ucaq5ovTSra/OOKB9c58CGSz3QMVbWt0A==",
+ "version": "8.57.1",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz",
+ "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==",
"dev": true
},
- "@eslint/object-schema": {
- "version": "2.1.6",
- "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz",
- "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==",
- "dev": true
- },
- "@eslint/plugin-kit": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.5.tgz",
- "integrity": "sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==",
- "dev": true,
- "requires": {
- "@eslint/core": "^0.15.2",
- "levn": "^0.4.1"
- }
- },
"@floating-ui/core": {
"version": "1.7.3",
"resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz",
@@ -28957,9 +28976,9 @@
"integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ=="
},
"@fullcalendar/angular": {
- "version": "6.1.19",
- "resolved": "https://registry.npmjs.org/@fullcalendar/angular/-/angular-6.1.19.tgz",
- "integrity": "sha512-a3TmjKnF8xprH1aNgFn9zYehEhM4GBAyh+91SJymno2j1cE8D8z0+W1HNwtDekKWwJt/5YoinCvDTHydmF/kKw==",
+ "version": "6.1.18",
+ "resolved": "https://registry.npmjs.org/@fullcalendar/angular/-/angular-6.1.18.tgz",
+ "integrity": "sha512-OBdpz0OA/7a2QdLES3vAAIO/TddtaIh7v4mZDYSFqTAia+ISkgGEqb6rZUPcqoSNS/SRLbvowSUO8qgbHOQMTg==",
"requires": {
"tslib": "^2.3.0"
}
@@ -28973,49 +28992,49 @@
}
},
"@fullcalendar/core": {
- "version": "6.1.19",
- "resolved": "https://registry.npmjs.org/@fullcalendar/core/-/core-6.1.19.tgz",
- "integrity": "sha512-z0aVlO5e4Wah6p6mouM0UEqtRf1MZZPt4mwzEyU6kusaNL+dlWQgAasF2cK23hwT4cmxkEmr4inULXgpyeExdQ==",
+ "version": "6.1.18",
+ "resolved": "https://registry.npmjs.org/@fullcalendar/core/-/core-6.1.18.tgz",
+ "integrity": "sha512-cD7XtZIZZ87Cg2+itnpsONCsZ89VIfLLDZ22pQX4IQVWlpYUB3bcCf878DhWkqyEen6dhi5ePtBoqYgm5K+0fQ==",
"requires": {
"preact": "~10.12.1"
}
},
"@fullcalendar/daygrid": {
- "version": "6.1.19",
- "resolved": "https://registry.npmjs.org/@fullcalendar/daygrid/-/daygrid-6.1.19.tgz",
- "integrity": "sha512-IAAfnMICnVWPjpT4zi87i3FEw0xxSza0avqY/HedKEz+l5MTBYvCDPOWDATpzXoLut3aACsjktIyw9thvIcRYQ=="
+ "version": "6.1.18",
+ "resolved": "https://registry.npmjs.org/@fullcalendar/daygrid/-/daygrid-6.1.18.tgz",
+ "integrity": "sha512-s452Zle1SdMEzZDw+pDczm8m3JLIZzS9ANMThXTnqeqJewW1gqNFYas18aHypJSgF9Fh9rDJjTSUw04BpXB/Mg=="
},
"@fullcalendar/interaction": {
- "version": "6.1.19",
- "resolved": "https://registry.npmjs.org/@fullcalendar/interaction/-/interaction-6.1.19.tgz",
- "integrity": "sha512-GOciy79xe8JMVp+1evAU3ytdwN/7tv35t5i1vFkifiuWcQMLC/JnLg/RA2s4sYmQwoYhTw/p4GLcP0gO5B3X5w=="
+ "version": "6.1.18",
+ "resolved": "https://registry.npmjs.org/@fullcalendar/interaction/-/interaction-6.1.18.tgz",
+ "integrity": "sha512-f/mD5RTjzw+Q6MGTMZrLCgIrQLIUUO9NV/58aM2J6ZBQZeRlNizDqmqldqyG+j49zj2vFhUfZibPrVKWm5yA4Q=="
},
"@fullcalendar/list": {
- "version": "6.1.19",
- "resolved": "https://registry.npmjs.org/@fullcalendar/list/-/list-6.1.19.tgz",
- "integrity": "sha512-knZHpAVF0LbzZpSJSUmLUUzF0XlU/MRGK+Py2s0/mP93bCtno1k2L3XPs/kzh528hSjehwLm89RgKTSfW1P6cA=="
+ "version": "6.1.18",
+ "resolved": "https://registry.npmjs.org/@fullcalendar/list/-/list-6.1.18.tgz",
+ "integrity": "sha512-XPZI50mq3HXyDQ5sT3jmqQUuwG8zQb5H14dQIUAmOHAIFRA3WpkxlzrXO0U1SrosvGySMPyyNNxvMKI1Q/jL7A=="
},
"@fullcalendar/moment": {
- "version": "6.1.19",
- "resolved": "https://registry.npmjs.org/@fullcalendar/moment/-/moment-6.1.19.tgz",
- "integrity": "sha512-wpP0yXSGPDFoY0P3BA6Nw35q/x9TNbnvkwVyu7qgaewepO2Ss10E1yNVM4EtDl82T5IDRcgmFSQ48z1vGcGe1g=="
+ "version": "6.1.18",
+ "resolved": "https://registry.npmjs.org/@fullcalendar/moment/-/moment-6.1.18.tgz",
+ "integrity": "sha512-NfphuaZvttJzhZ4tu4wzHMyJoxgZWmFURJQrl1WMx84eyXcBg5G/7Djc3jPC5nvtKBco0O2tby6MO6m3SQp4UQ=="
},
"@fullcalendar/moment-timezone": {
- "version": "6.1.19",
- "resolved": "https://registry.npmjs.org/@fullcalendar/moment-timezone/-/moment-timezone-6.1.19.tgz",
- "integrity": "sha512-6UOhMThdzDnh10/SPW5t5zmNq+betGebK3i7ytg2EHzlEb2EztfHJC5mbqEU2B2AoKNr2FUIonWuergYe7OVhA=="
+ "version": "6.1.18",
+ "resolved": "https://registry.npmjs.org/@fullcalendar/moment-timezone/-/moment-timezone-6.1.18.tgz",
+ "integrity": "sha512-3z9GTzjJCTBgxSELJwcanPGgIR4wZ18QXhsxbDMlpdfoG7W90DFgDZ2Wm3/UPZAW7WKu3YYjU3c5VwYExI/aRA=="
},
"@fullcalendar/premium-common": {
- "version": "6.1.19",
- "resolved": "https://registry.npmjs.org/@fullcalendar/premium-common/-/premium-common-6.1.19.tgz",
- "integrity": "sha512-bOWHm1u1dUy6M4fQ0hNK7qEI7SrVWrN1ovv/z4/FE/ybfM19ukz7SFs907Ur7KUBWLNKTQYXBtdrY/ginwWraw=="
+ "version": "6.1.18",
+ "resolved": "https://registry.npmjs.org/@fullcalendar/premium-common/-/premium-common-6.1.18.tgz",
+ "integrity": "sha512-/EUtCOgdrZZss+xtEPAWRkZVCayFiqUx4SHQHBurloWdNp0Krro2xW7G1qNM8f4Qcg/0wwtK7GmOROcom0oFgg=="
},
"@fullcalendar/resource": {
- "version": "6.1.19",
- "resolved": "https://registry.npmjs.org/@fullcalendar/resource/-/resource-6.1.19.tgz",
- "integrity": "sha512-br1ylX/aIOfd8m7Tzl2LpJBSI+N9Q6aS1qw7K9qnQjYXWQyHBlfLG6ZcPmmkjfaqTUJc8ARRbtNWj1ts5qOZgQ==",
+ "version": "6.1.18",
+ "resolved": "https://registry.npmjs.org/@fullcalendar/resource/-/resource-6.1.18.tgz",
+ "integrity": "sha512-E8k2CFu6zo9Kr3GWJEA1P+TMjoaWZEJudRGIvKYVpPnmcdnDSv8KUnUOzxF5A3jXkFwDrL4UGv950AYqi3oK+A==",
"requires": {
- "@fullcalendar/premium-common": "~6.1.19"
+ "@fullcalendar/premium-common": "~6.1.18"
}
},
"@fullcalendar/resource-common": {
@@ -29040,38 +29059,38 @@
}
},
"@fullcalendar/resource-timeline": {
- "version": "6.1.19",
- "resolved": "https://registry.npmjs.org/@fullcalendar/resource-timeline/-/resource-timeline-6.1.19.tgz",
- "integrity": "sha512-oC3aVR++dLqJNeBwmLHq9sDgRDFfIG0qSteV7bgBekvNlqEMqXx8wPjUxnELrq8rrhMmK4iV3wO7AB/48IVgyg==",
+ "version": "6.1.18",
+ "resolved": "https://registry.npmjs.org/@fullcalendar/resource-timeline/-/resource-timeline-6.1.18.tgz",
+ "integrity": "sha512-dM39v+4B3pEegridB7ES39c5Yk9FrhBYCL/14gnlx+NzptqWJ3DKwqN0KtomfR6tPpeiQUpMmnGDi2USlJS4Cw==",
"requires": {
- "@fullcalendar/premium-common": "~6.1.19",
- "@fullcalendar/scrollgrid": "~6.1.19",
- "@fullcalendar/timeline": "~6.1.19"
+ "@fullcalendar/premium-common": "~6.1.18",
+ "@fullcalendar/scrollgrid": "~6.1.18",
+ "@fullcalendar/timeline": "~6.1.18"
}
},
"@fullcalendar/scrollgrid": {
- "version": "6.1.19",
- "resolved": "https://registry.npmjs.org/@fullcalendar/scrollgrid/-/scrollgrid-6.1.19.tgz",
- "integrity": "sha512-S1pbiYHvmV0ep6z5sWXJQfgW4Y/jrS5iLIAqSagDFPK0jr327nBxl7Ryi3Zb5UdMIP0/O4GXs8jwZabQPd8SOg==",
+ "version": "6.1.18",
+ "resolved": "https://registry.npmjs.org/@fullcalendar/scrollgrid/-/scrollgrid-6.1.18.tgz",
+ "integrity": "sha512-5LASFSeUlWDrnmWo7zgEJFE85ytSxjIQuG/qLd+P1llUgrYgaOL2+r8ZXSmSKUAvhuIoUlguIvn2b4METvs8BA==",
"requires": {
- "@fullcalendar/premium-common": "~6.1.19"
+ "@fullcalendar/premium-common": "~6.1.18"
}
},
"@fullcalendar/timegrid": {
- "version": "6.1.19",
- "resolved": "https://registry.npmjs.org/@fullcalendar/timegrid/-/timegrid-6.1.19.tgz",
- "integrity": "sha512-OuzpUueyO9wB5OZ8rs7TWIoqvu4v3yEqdDxZ2VcsMldCpYJRiOe7yHWKr4ap5Tb0fs7Rjbserc/b6Nt7ol6BRg==",
+ "version": "6.1.18",
+ "resolved": "https://registry.npmjs.org/@fullcalendar/timegrid/-/timegrid-6.1.18.tgz",
+ "integrity": "sha512-T/ouhs+T1tM8JcW7Cjx+KiohL/qQWKqvRITwjol8ktJ1e1N/6noC40/obR1tyolqOxMRWHjJkYoj9fUqfoez9A==",
"requires": {
- "@fullcalendar/daygrid": "~6.1.19"
+ "@fullcalendar/daygrid": "~6.1.18"
}
},
"@fullcalendar/timeline": {
- "version": "6.1.19",
- "resolved": "https://registry.npmjs.org/@fullcalendar/timeline/-/timeline-6.1.19.tgz",
- "integrity": "sha512-d2P961mnUTXtJeWNmIq1neoDmZcrPUaK7nGFoc+jQAlnmG3aNSVWQmD1ia694AMqLWtcWkwipW9MuaJgx2QvrA==",
+ "version": "6.1.18",
+ "resolved": "https://registry.npmjs.org/@fullcalendar/timeline/-/timeline-6.1.18.tgz",
+ "integrity": "sha512-ib3pQoXtX/OBgUGJhUzzpZhR/3Nvqx6r+H86dgHHlSobPl2jXKw3phtt9r8OL8fpxjNQjtX4+TEgpfqYq7s/fg==",
"requires": {
- "@fullcalendar/premium-common": "~6.1.19",
- "@fullcalendar/scrollgrid": "~6.1.19"
+ "@fullcalendar/premium-common": "~6.1.18",
+ "@fullcalendar/scrollgrid": "~6.1.18"
}
},
"@github/auto-check-element": {
@@ -29145,6 +29164,25 @@
"resolved": "https://registry.npmjs.org/@github/webauthn-json/-/webauthn-json-2.1.1.tgz",
"integrity": "sha512-XrftRn4z75SnaJOmZQbt7Mk+IIjqVHw+glDGOxuHwXkZBZh/MBoRS7MHjSZMDaLhT4RjN2VqiEU7EOYleuJWSQ=="
},
+ "@hocuspocus/common": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/@hocuspocus/common/-/common-3.2.1.tgz",
+ "integrity": "sha512-I/6lm/DkwshGWMIVRbLfXacvCMqerEcf6+PwszcPKgvvubczi1+95AQaJBbOEwiih+K9fiHeqi8IcVBO/GVMfQ==",
+ "requires": {
+ "lib0": "^0.2.87"
+ }
+ },
+ "@hocuspocus/provider": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/@hocuspocus/provider/-/provider-3.2.1.tgz",
+ "integrity": "sha512-LkkXo7hpD8isdeFM6bNF00HPBBaNlMidlipoPHfYjHyAjaZLHPs82b5lyzDHkydhY0QrfWhFQ5m7esdyNS4zmg==",
+ "requires": {
+ "@hocuspocus/common": "^3.2.1",
+ "@lifeomic/attempt": "^3.0.2",
+ "lib0": "^0.2.87",
+ "ws": "^8.17.1"
+ }
+ },
"@hotwired/stimulus": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/@hotwired/stimulus/-/stimulus-3.2.2.tgz",
@@ -29165,64 +29203,29 @@
}
},
"@html-eslint/eslint-plugin": {
- "version": "0.43.1",
- "resolved": "https://registry.npmjs.org/@html-eslint/eslint-plugin/-/eslint-plugin-0.43.1.tgz",
- "integrity": "sha512-+vuLRT4rgEjRE5/QU8WJ3uvXhxJDFnKa12cGSOupAFy4XAaYEiB8lYH3W1xZ/kK8PEPwZhOhrkCcU6rNLP46Sg==",
- "dev": true,
- "requires": {
- "@eslint/plugin-kit": "^0.3.1",
- "@html-eslint/parser": "^0.43.0",
- "@html-eslint/template-parser": "^0.43.0",
- "@html-eslint/template-syntax-parser": "^0.43.0"
- }
+ "version": "0.24.1",
+ "resolved": "https://registry.npmjs.org/@html-eslint/eslint-plugin/-/eslint-plugin-0.24.1.tgz",
+ "integrity": "sha512-JwNDQBrNIWEPcxgSpla/2jaUXyQCqL7Xp8CmON4Bk5qg8MwiDLXOgjylfVC+tN52i8JeHWMca34I9DqBGRj9Qg==",
+ "dev": true
},
"@html-eslint/parser": {
- "version": "0.43.0",
- "resolved": "https://registry.npmjs.org/@html-eslint/parser/-/parser-0.43.0.tgz",
- "integrity": "sha512-/mgKhfwJ8hPooLTRemyuKxR09Je7D300wEockl9clcFplNKHua1rzP2ih1TL/PIaqZGg+SZ72hG+JL9QjGsTog==",
+ "version": "0.24.1",
+ "resolved": "https://registry.npmjs.org/@html-eslint/parser/-/parser-0.24.1.tgz",
+ "integrity": "sha512-O13xX/+Ldh0P7VZMpDDYc3XtWiE1cYm5QhVJ0VB5i7D8Q69HrrGN+5BjS17vkCoLTz+3zWWIiJv4oFmyS5LReA==",
"dev": true,
"requires": {
- "@html-eslint/template-syntax-parser": "^0.43.0",
- "es-html-parser": "0.2.0"
+ "es-html-parser": "^0.0.9"
}
},
- "@html-eslint/template-parser": {
- "version": "0.43.0",
- "resolved": "https://registry.npmjs.org/@html-eslint/template-parser/-/template-parser-0.43.0.tgz",
- "integrity": "sha512-BrYXKNyJpsdIQF3qCrldpb5cOIebSuMdgIoOzAvL8op1/fBQh3FEK9sX/44GBLQnLhI/JpTTHNyRv7Kohg/QEw==",
+ "@humanwhocodes/config-array": {
+ "version": "0.13.0",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz",
+ "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==",
"dev": true,
"requires": {
- "es-html-parser": "0.2.0"
- }
- },
- "@html-eslint/template-syntax-parser": {
- "version": "0.43.0",
- "resolved": "https://registry.npmjs.org/@html-eslint/template-syntax-parser/-/template-syntax-parser-0.43.0.tgz",
- "integrity": "sha512-I4rhsmqDlA9w0e6dRC/MDM98w2WPG6eXHJJjZzr7PoQjOdAETRUef0dgl78ayyNPKqeU2M0gN537Qh2/m3jinA==",
- "dev": true
- },
- "@humanfs/core": {
- "version": "0.19.1",
- "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
- "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==",
- "dev": true
- },
- "@humanfs/node": {
- "version": "0.16.6",
- "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz",
- "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==",
- "dev": true,
- "requires": {
- "@humanfs/core": "^0.19.1",
- "@humanwhocodes/retry": "^0.3.0"
- },
- "dependencies": {
- "@humanwhocodes/retry": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz",
- "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==",
- "dev": true
- }
+ "@humanwhocodes/object-schema": "^2.0.3",
+ "debug": "^4.3.1",
+ "minimatch": "^3.0.5"
}
},
"@humanwhocodes/module-importer": {
@@ -29231,10 +29234,10 @@
"integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
"dev": true
},
- "@humanwhocodes/retry": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz",
- "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==",
+ "@humanwhocodes/object-schema": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
+ "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==",
"dev": true
},
"@inquirer/checkbox": {
@@ -29580,6 +29583,11 @@
"integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==",
"dev": true
},
+ "@lifeomic/attempt": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@lifeomic/attempt/-/attempt-3.1.0.tgz",
+ "integrity": "sha512-QZqem4QuAnAyzfz+Gj5/+SLxqwCAw2qmt7732ZXodr6VDWGeYLG6w1i/vYLa55JQM9wRuBKLmXmiZ2P0LtE5rw=="
+ },
"@listr2/prompt-adapter-inquirer": {
"version": "2.0.22",
"resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-2.0.22.tgz",
@@ -30214,19 +30222,19 @@
"optional": true
},
"@ng-select/ng-option-highlight": {
- "version": "20.1.2",
- "resolved": "https://registry.npmjs.org/@ng-select/ng-option-highlight/-/ng-option-highlight-20.1.2.tgz",
- "integrity": "sha512-uI1GSAxBnlzlqB1qyFLOzM2L/f9IDVotGl3OdQwnPVQQN5fcexxoFT8Nb8z1WGMjHi9fdG6BPeq6aXyPg0ny9g==",
+ "version": "14.2.6",
+ "resolved": "https://registry.npmjs.org/@ng-select/ng-option-highlight/-/ng-option-highlight-14.2.6.tgz",
+ "integrity": "sha512-/BZNItpaMduFcQyAMLWDaWM7D/doB37j7JYOnrVfNBK7JqkKLYqRuesdU3Z+eBs1x3+FhiQGudi7nhEo68MFaw==",
"requires": {
"tslib": "^2.3.0"
}
},
"@ng-select/ng-select": {
- "version": "20.1.0",
- "resolved": "https://registry.npmjs.org/@ng-select/ng-select/-/ng-select-20.1.0.tgz",
- "integrity": "sha512-Co4JWm2vOUaXjy/JbKJergIpXOf7hR83q04uCs4Jfthf4IVLaIonthVu62cl7T4MWXDWx4e7emarcJ1JgvYZkQ==",
+ "version": "14.9.0",
+ "resolved": "https://registry.npmjs.org/@ng-select/ng-select/-/ng-select-14.9.0.tgz",
+ "integrity": "sha512-f/E3EaSVwdKmwvZL43nS961bGaXR90F0Gtb8vA+ub8Hfwqjr1NTI6X7+yu5iMkqfy5ZW5cJdoGvo+kv8zcAkjQ==",
"requires": {
- "tslib": "^2.8.1"
+ "tslib": "^2.3.1"
}
},
"@ngneat/content-loader": {
@@ -30238,9 +30246,9 @@
}
},
"@ngtools/webpack": {
- "version": "20.1.6",
- "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-20.1.6.tgz",
- "integrity": "sha512-0AkmS/xhrXBRsgPJnh/AjWMebuFKK2uHb1LqcENedNzgxu96I+w8fIY8ByDZ0U7T3qsa72PSHbXK4lXeWmq8xw==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-20.1.4.tgz",
+ "integrity": "sha512-pk7xas/dBRHIVpdBIhOUreXA8D9CH7f5anFoiALfubYPldlEtneQCO5HAeS9MjtLIIonv2kJC9+nNEvyJa95oQ==",
"dev": true
},
"@ngx-formly/core": {
@@ -30468,9 +30476,9 @@
}
},
"@openproject/primer-view-components": {
- "version": "0.71.0",
- "resolved": "https://registry.npmjs.org/@openproject/primer-view-components/-/primer-view-components-0.71.0.tgz",
- "integrity": "sha512-fIZE3ve68cVm5RroDFR5i38esFwBn5cdbuSDYMTk9D8lnqd0zH65hndzjEA3mPEV9wuIF45KI03wSAt+1D4xOw==",
+ "version": "0.70.4",
+ "resolved": "https://registry.npmjs.org/@openproject/primer-view-components/-/primer-view-components-0.70.4.tgz",
+ "integrity": "sha512-W88Xml0s/A+tUQtdkGwVH6h9qeV4VcfvkddLMm03fvxGF7X1E58LWLvUMGKrivxuWimDQj108RJztJoOWtS8cQ==",
"requires": {
"@github/auto-check-element": "^6.0.0",
"@github/auto-complete-element": "^3.8.0",
@@ -30669,9 +30677,9 @@
"integrity": "sha512-edsofzVG67EobXGRrqFc/kfjzKh8wbq1wEmRc1vmRNqDJNMxBRWZ9bT2AzKvcv+Hbf7olDAPkrSqVHbO4hhr/A=="
},
"@primer/view-components": {
- "version": "npm:@openproject/primer-view-components@0.71.0",
- "resolved": "https://registry.npmjs.org/@openproject/primer-view-components/-/primer-view-components-0.71.0.tgz",
- "integrity": "sha512-fIZE3ve68cVm5RroDFR5i38esFwBn5cdbuSDYMTk9D8lnqd0zH65hndzjEA3mPEV9wuIF45KI03wSAt+1D4xOw==",
+ "version": "npm:@openproject/primer-view-components@0.70.4",
+ "resolved": "https://registry.npmjs.org/@openproject/primer-view-components/-/primer-view-components-0.70.4.tgz",
+ "integrity": "sha512-W88Xml0s/A+tUQtdkGwVH6h9qeV4VcfvkddLMm03fvxGF7X1E58LWLvUMGKrivxuWimDQj108RJztJoOWtS8cQ==",
"requires": {
"@github/auto-check-element": "^6.0.0",
"@github/auto-complete-element": "^3.8.0",
@@ -30718,11 +30726,6 @@
"resolved": "https://registry.npmjs.org/@rails/actioncable/-/actioncable-7.0.6.tgz",
"integrity": "sha512-ybBsUrIsu5geM8BtqnpM7ZA9D8uzSz+e1B4JR57NaCmasHKWap6AX5DT7NHIbp21opVet1qqoVSdsoLDqXeB2A=="
},
- "@rails/request.js": {
- "version": "0.0.12",
- "resolved": "https://registry.npmjs.org/@rails/request.js/-/request.js-0.0.12.tgz",
- "integrity": "sha512-g3//JBja1s04Zflj7IoMLQuXza9i4ZvtLmm0r0dMwh1QQUs6rL2iKUOGGyERfLsd81SnXC5ucfVV//rtsDlEEA=="
- },
"@remirror/core-constants": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@remirror/core-constants/-/core-constants-3.0.0.tgz",
@@ -30875,12 +30878,12 @@
"dev": true
},
"@schematics/angular": {
- "version": "20.1.6",
- "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-20.1.6.tgz",
- "integrity": "sha512-1dE+GkpSZbsQxnir/S24g3+pA5sE0XOMxa4Wxhon0dxArP/gH72hsinoVaLDfcQkYOtbbTw/Q8VV41uWBI9eGg==",
+ "version": "20.1.4",
+ "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-20.1.4.tgz",
+ "integrity": "sha512-TNpm15NKf4buxPYnGaB3JY2B/3sbL19SdlpPDxkgyVY8WDDeZX95m3Tz2qlKpsYxy2XCGUj4Sxh7zJNGC9e/4g==",
"requires": {
- "@angular-devkit/core": "20.1.6",
- "@angular-devkit/schematics": "20.1.6",
+ "@angular-devkit/core": "20.1.4",
+ "@angular-devkit/schematics": "20.1.4",
"jsonc-parser": "3.3.1"
}
},
@@ -30959,40 +30962,6 @@
"resolved": "https://registry.npmjs.org/@stimulus-components/auto-submit/-/auto-submit-6.0.0.tgz",
"integrity": "sha512-GBwjjnNuDZey9kdJinTGyrkIMCNVnPrTQvqihC0pBiwieIMfZIp+TT7Giee0Z0DS+pX6WdJweIeo8xEYD/VZJg=="
},
- "@stylistic/eslint-plugin": {
- "version": "5.2.3",
- "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-5.2.3.tgz",
- "integrity": "sha512-oY7GVkJGVMI5benlBDCaRrSC1qPasafyv5dOBLLv5MTilMGnErKhO6ziEfodDDIZbo5QxPUNW360VudJOFODMw==",
- "dev": true,
- "requires": {
- "@eslint-community/eslint-utils": "^4.7.0",
- "@typescript-eslint/types": "^8.38.0",
- "eslint-visitor-keys": "^4.2.1",
- "espree": "^10.4.0",
- "estraverse": "^5.3.0",
- "picomatch": "^4.0.3"
- },
- "dependencies": {
- "@typescript-eslint/types": {
- "version": "8.38.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.38.0.tgz",
- "integrity": "sha512-wzkUfX3plUqij4YwWaJyqhiPE5UCRVlFpKn1oCRn2O1bJ592XxWJj8ROQ3JD5MYXLORW84063z3tZTb/cs4Tyw==",
- "dev": true
- },
- "eslint-visitor-keys": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
- "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
- "dev": true
- },
- "picomatch": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
- "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
- "dev": true
- }
- }
- },
"@tiptap/core": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/core/-/core-2.22.3.tgz",
@@ -31312,15 +31281,6 @@
"resolved": "https://registry.npmjs.org/@types/flatbuffers/-/flatbuffers-1.10.3.tgz",
"integrity": "sha512-kwJQsAROanCiMXSLjcTLmYVBIJ9Qyuqs92SaDIcj2EII2KnDgZbiU7it1Z/JfZd1gmxw/lAahMysQ6ZM+j3Ryw=="
},
- "@types/flot": {
- "version": "0.0.36",
- "resolved": "https://registry.npmjs.org/@types/flot/-/flot-0.0.36.tgz",
- "integrity": "sha512-xRo4MUIMnRPGXJCuQXAWvo+uKRmziRGHAy9LQHsLgbKanknpe5z3EThqVuYkVCC6ZWPZ/8pllBXnzQmGzFkJ/Q==",
- "dev": true,
- "requires": {
- "@types/jquery": "*"
- }
- },
"@types/geojson": {
"version": "7946.0.14",
"resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.14.tgz",
@@ -31361,27 +31321,20 @@
}
},
"@types/jasmine": {
- "version": "5.1.9",
- "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.9.tgz",
- "integrity": "sha512-8t4HtkW4wxiPVedMpeZ63n3vlWxEIquo/zc1Tm8ElU+SqVV7+D3Na2PWaJUp179AzTragMWVwkMv7mvty0NfyQ==",
+ "version": "3.6.11",
+ "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.6.11.tgz",
+ "integrity": "sha512-S6pvzQDvMZHrkBz2Mcn/8Du7cpr76PlRJBAoHnSDNbulULsH5dp0Gns+WRyNX5LHejz/ljxK4/vIHK/caHt6SQ==",
"dev": true
},
"@types/jquery": {
"version": "3.5.32",
"resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.32.tgz",
"integrity": "sha512-b9Xbf4CkMqS02YH8zACqN1xzdxc3cO735Qe5AbSUFmyOiaWAbcpqh9Wna+Uk0vgACvoQHpWDg2rGdHkYPLmCiQ==",
+ "dev": true,
"requires": {
"@types/sizzle": "*"
}
},
- "@types/jquery.cookie": {
- "version": "1.4.36",
- "resolved": "https://registry.npmjs.org/@types/jquery.cookie/-/jquery.cookie-1.4.36.tgz",
- "integrity": "sha512-qtTnH4jHqFWyYX4deNBklWoaK5myKm0WtKf7LbGQB7DUKt6tdAVWfYQ4Kl8Hw/7eNth864Jjts5rBsHjNveR4Q==",
- "requires": {
- "@types/jquery": "*"
- }
- },
"@types/jqueryui": {
"version": "1.12.24",
"resolved": "https://registry.npmjs.org/@types/jqueryui/-/jqueryui-1.12.24.tgz",
@@ -31479,12 +31432,6 @@
"integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==",
"dev": true
},
- "@types/rails__request.js": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/@types/rails__request.js/-/rails__request.js-0.0.1.tgz",
- "integrity": "sha512-s9KX0falKcyDO2SjER/3HSfcJ8MAm+V05hxW1jJd/Rt+X7QeSSf9g6d2EZ6/uLJiDnXAqc+WPlxT1oYswV2T9A==",
- "dev": true
- },
"@types/range-parser": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz",
@@ -31492,9 +31439,9 @@
"dev": true
},
"@types/react": {
- "version": "19.1.10",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.10.tgz",
- "integrity": "sha512-EhBeSYX0Y6ye8pNebpKrwFJq7BoQ8J5SO6NlvNwwHjSj6adXJViPQrKlsyPw7hLBLvckEMO1yxeGdR82YBBlDg==",
+ "version": "19.1.9",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.9.tgz",
+ "integrity": "sha512-WmdoynAX8Stew/36uTSVMcLJJ1KRh6L3IZRx1PZ7qJtBqT3dYTgyDTx8H1qoRghErydW7xw9mSJ3wS//tCRpFA==",
"dev": true,
"requires": {
"csstype": "^3.0.2"
@@ -31559,7 +31506,8 @@
"@types/sizzle": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz",
- "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ=="
+ "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==",
+ "dev": true
},
"@types/sockjs": {
"version": "0.3.36",
@@ -31612,6 +31560,15 @@
"integrity": "sha512-G9eAoJRMLjcvN4I08wB5I7YofOb/kaJNd5uoCMX+LbKXTPCF+ZIHuqTnFaK9Jz1rgs035f9JUPUhNFtqgucy/A==",
"dev": true
},
+ "@types/ws": {
+ "version": "7.4.7",
+ "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz",
+ "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
"@typescript-eslint/eslint-plugin": {
"version": "7.11.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.11.0.tgz",
@@ -32976,16 +32933,25 @@
}
},
"browserslist": {
- "version": "4.25.3",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.3.tgz",
- "integrity": "sha512-cDGv1kkDI4/0e5yON9yM5G/0A5u8sf5TnmdX5C9qHzI9PPu++sQ9zjm1k9NiOrf3riY4OkK0zSGqfvJyJsgCBQ==",
+ "version": "4.25.1",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.1.tgz",
+ "integrity": "sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==",
"requires": {
- "caniuse-lite": "^1.0.30001735",
- "electron-to-chromium": "^1.5.204",
+ "caniuse-lite": "^1.0.30001726",
+ "electron-to-chromium": "^1.5.173",
"node-releases": "^2.0.19",
"update-browserslist-db": "^1.1.3"
}
},
+ "bser": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz",
+ "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
+ "dev": true,
+ "requires": {
+ "node-int64": "^0.4.0"
+ }
+ },
"btoa": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz",
@@ -33154,9 +33120,18 @@
"dev": true
},
"caniuse-lite": {
- "version": "1.0.30001735",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001735.tgz",
- "integrity": "sha512-EV/laoX7Wq2J9TQlyIXRxTJqIw4sxfXS4OYgudGxBYRuTv0q7AM6yMEpU/Vo1I94thg9U6EZ2NfZx9GJq83u7w=="
+ "version": "1.0.30001726",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001726.tgz",
+ "integrity": "sha512-VQAUIUzBiZ/UnlM28fSp2CRF3ivUn1BWEvxMcVTNwpw91Py1pGbPIyIKtd+tzct9C3ouceCVdGAXxZOpZAsgdw=="
+ },
+ "capture-exit": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz",
+ "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==",
+ "dev": true,
+ "requires": {
+ "rsvp": "^4.8.4"
+ }
},
"ccount": {
"version": "2.0.1",
@@ -33194,9 +33169,9 @@
"integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="
},
"chart.js": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.5.0.tgz",
- "integrity": "sha512-aYeC/jDgSEx8SHWZvANYMioYMZ2KX02W6f6uVfyteuCGcadDLcYVHdfdygsTQkQ4TKn5lghoojAsPj5pu0SnvQ==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.3.0.tgz",
+ "integrity": "sha512-ynG0E79xGfMaV2xAHdbhwiPLczxnNNnasrmPEXriXsPJGjmhOBYzFVEsB65w2qMDz+CaBJJuJD0inE/ab/h36g==",
"requires": {
"@kurkle/color": "^0.3.0"
}
@@ -33351,9 +33326,9 @@
"integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="
},
"codemirror": {
- "version": "5.65.20",
- "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.20.tgz",
- "integrity": "sha512-i5dLDDxwkFCbhjvL2pNjShsojoL3XHyDwsGv1jqETUoW+lzpBKKqNTUWgQwVAOa0tUm4BwekT455ujafi8payA=="
+ "version": "5.65.19",
+ "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.19.tgz",
+ "integrity": "sha512-+aFkvqhaAVr1gferNMuN8vkTSrWIFvzlMV9I2KBLCWS2WpZ2+UAkZjlMZmEuT+gcXTi6RrGQCkWq1/bDtGqhIA=="
},
"collection-visit": {
"version": "1.0.0",
@@ -33516,6 +33491,12 @@
}
}
},
+ "confusing-browser-globals": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz",
+ "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==",
+ "dev": true
+ },
"connect": {
"version": "3.7.0",
"resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz",
@@ -34039,6 +34020,12 @@
"is-descriptor": "^1.0.0"
}
},
+ "delay": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz",
+ "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==",
+ "dev": true
+ },
"depd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
@@ -34111,6 +34098,15 @@
"@leichtgewicht/ip-codec": "^2.0.1"
}
},
+ "doctrine": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2"
+ }
+ },
"dom-autoscroller": {
"version": "2.3.4",
"resolved": "https://registry.npmjs.org/dom-autoscroller/-/dom-autoscroller-2.3.4.tgz",
@@ -34246,9 +34242,9 @@
}
},
"electron-to-chromium": {
- "version": "1.5.205",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.205.tgz",
- "integrity": "sha512-gBtbT7IgOHu7CwdtIiXwbNRD1l6oG6GAyanmwMCLVqaoGy92Jfe1dSHLiSj8xUEZNxOTIVlXuaAalMMD+S4y0w=="
+ "version": "1.5.175",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.175.tgz",
+ "integrity": "sha512-Nqpef9mOVo7pZfl9NIUhj7tgtRTsMzCzRTJDP1ccim4Wb4YHOz3Le87uxeZq68OCNwau2iQ/X7UwdAZ3ReOkmg=="
},
"emoji-mart": {
"version": "5.6.0",
@@ -34292,6 +34288,15 @@
}
}
},
+ "end-of-stream": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "dev": true,
+ "requires": {
+ "once": "^1.4.0"
+ }
+ },
"engine.io": {
"version": "6.6.2",
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.2.tgz",
@@ -34458,9 +34463,9 @@
"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="
},
"es-html-parser": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/es-html-parser/-/es-html-parser-0.2.0.tgz",
- "integrity": "sha512-snJ7uJC8Dkx/yT0eYZrWcY57rkPU6Zui6YphPynw8r52AWf57gjqMC0GWe7OxSDipwXowFpa3rqckEeAPTOz7w==",
+ "version": "0.0.9",
+ "resolved": "https://registry.npmjs.org/es-html-parser/-/es-html-parser-0.0.9.tgz",
+ "integrity": "sha512-oniQMi+466VFsDzcdron9Ry/sqUJpDJg1bbDn0jFJKDdxXhwIOYDr4DgBnO5/yPLGj2xv+n5yy4L1Q0vAC5TYQ==",
"dev": true
},
"es-iterator-helpers": {
@@ -34565,6 +34570,21 @@
}
}
},
+ "es6-promise": {
+ "version": "4.2.8",
+ "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
+ "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==",
+ "dev": true
+ },
+ "es6-promisify": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
+ "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==",
+ "dev": true,
+ "requires": {
+ "es6-promise": "^4.0.3"
+ }
+ },
"es6-symbol": {
"version": "3.1.4",
"resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz",
@@ -34672,46 +34692,49 @@
"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="
},
"eslint": {
- "version": "9.33.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.33.0.tgz",
- "integrity": "sha512-TS9bTNIryDzStCpJN93aC5VRSW3uTx9sClUn4B87pwiCaJh220otoI0X8mJKr+VcPtniMdN8GKjlwgWGUv5ZKA==",
+ "version": "8.57.1",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz",
+ "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==",
"dev": true,
"requires": {
"@eslint-community/eslint-utils": "^4.2.0",
- "@eslint-community/regexpp": "^4.12.1",
- "@eslint/config-array": "^0.21.0",
- "@eslint/config-helpers": "^0.3.1",
- "@eslint/core": "^0.15.2",
- "@eslint/eslintrc": "^3.3.1",
- "@eslint/js": "9.33.0",
- "@eslint/plugin-kit": "^0.3.5",
- "@humanfs/node": "^0.16.6",
+ "@eslint-community/regexpp": "^4.6.1",
+ "@eslint/eslintrc": "^2.1.4",
+ "@eslint/js": "8.57.1",
+ "@humanwhocodes/config-array": "^0.13.0",
"@humanwhocodes/module-importer": "^1.0.1",
- "@humanwhocodes/retry": "^0.4.2",
- "@types/estree": "^1.0.6",
- "@types/json-schema": "^7.0.15",
+ "@nodelib/fs.walk": "^1.2.8",
+ "@ungap/structured-clone": "^1.2.0",
"ajv": "^6.12.4",
"chalk": "^4.0.0",
- "cross-spawn": "^7.0.6",
+ "cross-spawn": "^7.0.2",
"debug": "^4.3.2",
+ "doctrine": "^3.0.0",
"escape-string-regexp": "^4.0.0",
- "eslint-scope": "^8.4.0",
- "eslint-visitor-keys": "^4.2.1",
- "espree": "^10.4.0",
- "esquery": "^1.5.0",
+ "eslint-scope": "^7.2.2",
+ "eslint-visitor-keys": "^3.4.3",
+ "espree": "^9.6.1",
+ "esquery": "^1.4.2",
"esutils": "^2.0.2",
"fast-deep-equal": "^3.1.3",
- "file-entry-cache": "^8.0.0",
+ "file-entry-cache": "^6.0.1",
"find-up": "^5.0.0",
"glob-parent": "^6.0.2",
+ "globals": "^13.19.0",
+ "graphemer": "^1.4.0",
"ignore": "^5.2.0",
"imurmurhash": "^0.1.4",
"is-glob": "^4.0.0",
+ "is-path-inside": "^3.0.3",
+ "js-yaml": "^4.1.0",
"json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.4.1",
"lodash.merge": "^4.6.2",
"minimatch": "^3.1.2",
"natural-compare": "^1.4.0",
- "optionator": "^0.9.3"
+ "optionator": "^0.9.3",
+ "strip-ansi": "^6.0.1",
+ "text-table": "^0.2.0"
},
"dependencies": {
"ajv": {
@@ -34751,11 +34774,15 @@
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
"dev": true
},
- "eslint-visitor-keys": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
- "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
- "dev": true
+ "eslint-scope": {
+ "version": "7.2.2",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
+ "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
+ "dev": true,
+ "requires": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ }
},
"glob-parent": {
"version": "6.0.2",
@@ -34766,6 +34793,15 @@
"is-glob": "^4.0.3"
}
},
+ "globals": {
+ "version": "13.24.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
+ "dev": true,
+ "requires": {
+ "type-fest": "^0.20.2"
+ }
+ },
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -34789,6 +34825,35 @@
}
}
},
+ "eslint-config-airbnb-base": {
+ "version": "15.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz",
+ "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==",
+ "dev": true,
+ "requires": {
+ "confusing-browser-globals": "^1.0.10",
+ "object.assign": "^4.1.2",
+ "object.entries": "^1.1.5",
+ "semver": "^6.3.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true
+ }
+ }
+ },
+ "eslint-config-airbnb-typescript": {
+ "version": "18.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-18.0.0.tgz",
+ "integrity": "sha512-oc+Lxzgzsu8FQyFVa4QFaVKiitTYiiW3frB9KYW5OWdPrqFc7FzxgB20hP4cHMlr+MBzGcLl3jnCOVOydL9mIg==",
+ "dev": true,
+ "requires": {
+ "eslint-config-airbnb-base": "^15.0.0"
+ }
+ },
"eslint-import-resolver-node": {
"version": "0.3.9",
"resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz",
@@ -34831,6 +34896,12 @@
}
}
},
+ "eslint-plugin-change-detection-strategy": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-change-detection-strategy/-/eslint-plugin-change-detection-strategy-0.1.4.tgz",
+ "integrity": "sha512-st/fA0ePVpwb+HVidcli6uq61cNKioHphJU0dHeTU+a7/hywjYz1DxHURdgYSKGp+/ANNTNkzHQbIxSJxUj7RA==",
+ "dev": true
+ },
"eslint-plugin-import": {
"version": "2.32.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz",
@@ -34989,9 +35060,9 @@
}
},
"eslint-plugin-react-hooks": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz",
- "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==",
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz",
+ "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==",
"dev": true
},
"eslint-scope": {
@@ -35033,22 +35104,14 @@
}
},
"espree": {
- "version": "10.4.0",
- "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz",
- "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==",
+ "version": "9.6.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
+ "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
"dev": true,
"requires": {
- "acorn": "^8.15.0",
+ "acorn": "^8.9.0",
"acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^4.2.1"
- },
- "dependencies": {
- "eslint-visitor-keys": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
- "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
- "dev": true
- }
+ "eslint-visitor-keys": "^3.4.1"
}
},
"esprima": {
@@ -35057,6 +35120,36 @@
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
"dev": true
},
+ "esprint": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/esprint/-/esprint-3.6.0.tgz",
+ "integrity": "sha512-BWj0GXqpwd0k2GJurS3P7W7uQ3oRofDH+qilptsjqMVwzOOQ54DzHAMT7fUJBNG7EXZd7znuTQShSx/CiGMs7Q==",
+ "dev": true,
+ "requires": {
+ "fb-watchman": "^2.0.1",
+ "glob": "^7.2.0",
+ "jayson": "^3.6.6",
+ "jest-worker": "^27.4.6",
+ "sane": "^5.0.1",
+ "yargs": "^17.3.1"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ }
+ }
+ },
"esquery": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
@@ -35136,6 +35229,12 @@
"resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.3.tgz",
"integrity": "sha512-nVpZkTMM9rF6AQ9gPJpFsNAMt48wIzB5TQgiTLdHiuO8XEDhUgZEhqKlZWXbIzo9VmJ/HvysHqEaVeD5v9TPvA=="
},
+ "exec-sh": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz",
+ "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==",
+ "dev": true
+ },
"expand-brackets": {
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
@@ -35338,6 +35437,12 @@
"to-regex": "^3.0.1"
}
},
+ "eyes": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz",
+ "integrity": "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==",
+ "dev": true
+ },
"falsey": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/falsey/-/falsey-0.3.2.tgz",
@@ -35407,18 +35512,27 @@
"websocket-driver": ">=0.5.1"
}
},
+ "fb-watchman": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz",
+ "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==",
+ "dev": true,
+ "requires": {
+ "bser": "2.1.1"
+ }
+ },
"fdir": {
"version": "6.4.6",
"resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz",
"integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w=="
},
"file-entry-cache": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
- "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
+ "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
"dev": true,
"requires": {
- "flat-cache": "^4.0.0"
+ "flat-cache": "^3.0.4"
}
},
"filelist": {
@@ -35531,13 +35645,14 @@
"dev": true
},
"flat-cache": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz",
- "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz",
+ "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==",
"dev": true,
"requires": {
"flatted": "^3.2.9",
- "keyv": "^4.5.4"
+ "keyv": "^4.5.3",
+ "rimraf": "^3.0.2"
}
},
"flatbuffers": {
@@ -35840,12 +35955,6 @@
"integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
"dev": true
},
- "globals": {
- "version": "16.3.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-16.3.0.tgz",
- "integrity": "sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ==",
- "dev": true
- },
"globalthis": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz",
@@ -37141,6 +37250,12 @@
}
}
},
+ "is-path-inside": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
+ "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
+ "dev": true
+ },
"is-plain-obj": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
@@ -37196,6 +37311,12 @@
"call-bound": "^1.0.3"
}
},
+ "is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "dev": true
+ },
"is-string": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz",
@@ -37305,6 +37426,12 @@
"integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
"dev": true
},
+ "isomorphic-ws": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz",
+ "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==",
+ "dev": true
+ },
"isomorphic.js": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/isomorphic.js/-/isomorphic.js-0.2.5.tgz",
@@ -37474,20 +37601,55 @@
}
},
"jasmine-core": {
- "version": "5.9.0",
- "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.9.0.tgz",
- "integrity": "sha512-OMUvF1iI6+gSRYOhMrH4QYothVLN9C3EJ6wm4g7zLJlnaTl8zbaPOr0bTw70l7QxkoM7sVFOWo83u9B2Fe2Zng==",
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.6.0.tgz",
+ "integrity": "sha512-8uQYa7zJN8hq9z+g8z1bqCfdC8eoDAeVnM5sfqs7KHv9/ifoJ500m018fpFc7RDaO6SWCLCXwo/wPSNcdYTgcw==",
"dev": true
},
"jasmine-spec-reporter": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-7.0.0.tgz",
- "integrity": "sha512-OtC7JRasiTcjsaCBPtMO0Tl8glCejM4J4/dNuOJdA8lBjz4PmWjYQ6pzb0uzpBNAWJMDudYuj9OdXJWqM2QTJg==",
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-5.0.2.tgz",
+ "integrity": "sha512-6gP1LbVgJ+d7PKksQBc2H0oDGNRQI3gKUsWlswKaQ2fif9X5gzhQcgM5+kiJGCQVurOG09jqNhk7payggyp5+g==",
"dev": true,
"requires": {
"colors": "1.4.0"
}
},
+ "jayson": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/jayson/-/jayson-3.7.0.tgz",
+ "integrity": "sha512-tfy39KJMrrXJ+mFcMpxwBvFDetS8LAID93+rycFglIQM4kl3uNR3W4lBLE/FFhsoUCEox5Dt2adVpDm/XtebbQ==",
+ "dev": true,
+ "requires": {
+ "@types/connect": "^3.4.33",
+ "@types/node": "^12.12.54",
+ "@types/ws": "^7.4.4",
+ "commander": "^2.20.3",
+ "delay": "^5.0.0",
+ "es6-promisify": "^5.0.0",
+ "eyes": "^0.1.8",
+ "isomorphic-ws": "^4.0.1",
+ "json-stringify-safe": "^5.0.1",
+ "JSONStream": "^1.3.5",
+ "lodash": "^4.17.20",
+ "uuid": "^8.3.2",
+ "ws": "^7.4.5"
+ },
+ "dependencies": {
+ "@types/node": {
+ "version": "12.20.55",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz",
+ "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==",
+ "dev": true
+ },
+ "ws": {
+ "version": "7.5.10",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz",
+ "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
+ "dev": true
+ }
+ }
+ },
"jest-worker": {
"version": "27.5.1",
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
@@ -37537,16 +37699,6 @@
"resolved": "https://registry.npmjs.org/jquery.caret/-/jquery.caret-0.3.1.tgz",
"integrity": "sha512-nS2mjMZzP4e4tIOgeTLSs+jFhUsUVZUPgkUMpi4DlJq9SgKEg6w2jf7q8joMJp6v+voJHXrH8rzAnbyxWHwAeA=="
},
- "jquery.cookie": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/jquery.cookie/-/jquery.cookie-1.4.1.tgz",
- "integrity": "sha512-c/hZOOL+8VSw/FkTVH637gS1/6YzMSCROpTZ2qBYwJ7s7sHajU7uBkSSiE5+GXWwrfCCyO+jsYjUQ7Hs2rIxAA=="
- },
- "jquery.flot": {
- "version": "0.8.3",
- "resolved": "https://registry.npmjs.org/jquery.flot/-/jquery.flot-0.8.3.tgz",
- "integrity": "sha512-/tEE8J5NjwvStHDaCHkvTJpD7wDS4hE1OEL8xEmhgQfUe0gLUem923PIceNez1mz4yBNx6Hjv7pJcowLNd+nbg=="
- },
"js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -37606,6 +37758,12 @@
"integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
"dev": true
},
+ "json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
+ "dev": true
+ },
"json5": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
@@ -37630,6 +37788,16 @@
"resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
"integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg=="
},
+ "JSONStream": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
+ "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
+ "dev": true,
+ "requires": {
+ "jsonparse": "^1.2.0",
+ "through": ">=2.2.7 <3"
+ }
+ },
"jsx-ast-utils": {
"version": "3.3.5",
"resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz",
@@ -37643,9 +37811,9 @@
}
},
"karma": {
- "version": "6.4.4",
- "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.4.tgz",
- "integrity": "sha512-LrtUxbdvt1gOpo3gxG+VAJlJAEMhbWlM4YrFQgql98FwF7+K8K12LYO4hnDdUkNjeztYrOXEMqgTajSWgmtI/w==",
+ "version": "6.3.20",
+ "resolved": "https://registry.npmjs.org/karma/-/karma-6.3.20.tgz",
+ "integrity": "sha512-HRNQhMuKOwKpjYlWiJP0DUrJOh+QjaI/DTaD8b9rEm4Il3tJ8MijutVZH4ts10LuUFst/CedwTS6vieCN8yTSw==",
"dev": true,
"requires": {
"@colors/colors": "1.5.0",
@@ -37667,7 +37835,7 @@
"qjobs": "^1.2.0",
"range-parser": "^1.2.1",
"rimraf": "^3.0.2",
- "socket.io": "^4.7.2",
+ "socket.io": "^4.4.1",
"source-map": "^0.6.1",
"tmp": "^0.2.1",
"ua-parser-js": "^0.7.30",
@@ -37718,9 +37886,9 @@
}
},
"karma-chrome-launcher": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz",
- "integrity": "sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz",
+ "integrity": "sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ==",
"dev": true,
"requires": {
"which": "^1.2.1"
@@ -37738,38 +37906,17 @@
}
},
"karma-coverage": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.1.tgz",
- "integrity": "sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.0.3.tgz",
+ "integrity": "sha512-atDvLQqvPcLxhED0cmXYdsPMCQuh6Asa9FMZW1bhNqlVEhJoB9qyZ2BY1gu7D/rr5GLGb5QzYO4siQskxaWP/g==",
"dev": true,
"requires": {
- "istanbul-lib-coverage": "^3.2.0",
- "istanbul-lib-instrument": "^5.1.0",
+ "istanbul-lib-coverage": "^3.0.0",
+ "istanbul-lib-instrument": "^4.0.1",
"istanbul-lib-report": "^3.0.0",
- "istanbul-lib-source-maps": "^4.0.1",
- "istanbul-reports": "^3.0.5",
+ "istanbul-lib-source-maps": "^4.0.0",
+ "istanbul-reports": "^3.0.0",
"minimatch": "^3.0.4"
- },
- "dependencies": {
- "istanbul-lib-instrument": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz",
- "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.12.3",
- "@babel/parser": "^7.14.7",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-coverage": "^3.2.0",
- "semver": "^6.3.0"
- }
- },
- "semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true
- }
}
},
"karma-coverage-istanbul-reporter": {
@@ -37838,26 +37985,18 @@
}
},
"karma-jasmine": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-5.1.0.tgz",
- "integrity": "sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==",
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-3.3.1.tgz",
+ "integrity": "sha512-Nxh7eX9mOQMyK0VSsMxdod+bcqrR/ikrmEiWj5M6fwuQ7oI+YEF1FckaDsWfs6TIpULm9f0fTKMjF7XcrvWyqQ==",
"dev": true,
"requires": {
- "jasmine-core": "^4.1.0"
- },
- "dependencies": {
- "jasmine-core": {
- "version": "4.6.1",
- "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.1.tgz",
- "integrity": "sha512-VYz/BjjmC3klLJlLwA4Kw8ytk0zDSmbbDLNs794VnWmkcCB7I9aAL/D48VNQtmITyPvea2C3jdUMfc3kAoy0PQ==",
- "dev": true
- }
+ "jasmine-core": "^3.5.0"
}
},
"karma-jasmine-html-reporter": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.1.0.tgz",
- "integrity": "sha512-sPQE1+nlsn6Hwb5t+HHwyy0A1FNCVKuL1192b+XNauMYWThz2kweiBVW1DqloRpVvZIJkIoHVB7XRpK78n1xbQ==",
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.7.0.tgz",
+ "integrity": "sha512-pzum1TL7j90DTE86eFt48/s12hqwQuiD+e5aXx2Dc9wDEn2LfGq6RoAxEZZjFiN0RDSCOnosEKRZWxbQ+iMpQQ==",
"dev": true
},
"karma-source-map-support": {
@@ -37870,12 +38009,12 @@
}
},
"karma-spec-reporter": {
- "version": "0.0.36",
- "resolved": "https://registry.npmjs.org/karma-spec-reporter/-/karma-spec-reporter-0.0.36.tgz",
- "integrity": "sha512-11bvOl1x6ryKZph7kmbmMpbi8vsngEGxGOoeTlIcDaH3ab3j8aPJnZ+r+K/SS0sBSGy5VGkGYO2+hLct7hw/6w==",
+ "version": "0.0.32",
+ "resolved": "https://registry.npmjs.org/karma-spec-reporter/-/karma-spec-reporter-0.0.32.tgz",
+ "integrity": "sha512-ZXsYERZJMTNRR2F3QN11OWF5kgnT/K2dzhM+oY3CDyMrDI3TjIWqYGG7c15rR9wjmy9lvdC+CCshqn3YZqnNrA==",
"dev": true,
"requires": {
- "colors": "1.4.0"
+ "colors": "^1.1.2"
}
},
"keyv": {
@@ -38448,6 +38587,15 @@
"resolved": "https://registry.npmjs.org/make-plural/-/make-plural-7.3.0.tgz",
"integrity": "sha512-/K3BC0KIsO+WK2i94LkMPv3wslMrazrQhfi5We9fMbLlLjzoOSJWr7TAdupLlDWaJcWxwoNosBkhFDejiu5VDw=="
},
+ "makeerror": {
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz",
+ "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==",
+ "dev": true,
+ "requires": {
+ "tmpl": "1.0.5"
+ }
+ },
"map-cache": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
@@ -39072,6 +39220,12 @@
"mime-db": "1.52.0"
}
},
+ "mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "dev": true
+ },
"mimic-function": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz",
@@ -39441,9 +39595,9 @@
}
},
"ng2-charts": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/ng2-charts/-/ng2-charts-8.0.0.tgz",
- "integrity": "sha512-nofsNHI2Zt+EAwT+BJBVg0kgOhNo9ukO4CxULlaIi7VwZSr7I1km38kWSoU41Oq6os6qqIh5srnL+CcV+RFPFA==",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/ng2-charts/-/ng2-charts-4.1.1.tgz",
+ "integrity": "sha512-iHwXDbmX86lfeH8VRcsaW2tJATsuAZo4kvvC/Yk2l35zOHjevja1qBvO6BAibiDazi9r9aS6ZRJOqWPsz1pP2w==",
"requires": {
"lodash-es": "^4.17.15",
"tslib": "^2.3.0"
@@ -39458,11 +39612,11 @@
}
},
"ngx-cookie-service": {
- "version": "20.1.0",
- "resolved": "https://registry.npmjs.org/ngx-cookie-service/-/ngx-cookie-service-20.1.0.tgz",
- "integrity": "sha512-g7Ddq8097qujmJfoEK27H12KLEpuO4SBPhoOYQ2kmLMSvz65vRrSKVwzOxdc75cFLQPW45Jfyyg3LoMTjKW0uA==",
+ "version": "14.0.1",
+ "resolved": "https://registry.npmjs.org/ngx-cookie-service/-/ngx-cookie-service-14.0.1.tgz",
+ "integrity": "sha512-PHjpA/bpp1ZgvQ2AWdXA6oxPQgE9k0WljQ7tvUH/u0Acl6p6akzF8kWlQiWxkgR3hBs7xB3paIsTk6GKdtakMg==",
"requires": {
- "tslib": "^2.8.0"
+ "tslib": "^2.0.0"
}
},
"node-addon-api": {
@@ -39548,6 +39702,12 @@
"detect-libc": "^2.0.1"
}
},
+ "node-int64": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
+ "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==",
+ "dev": true
+ },
"node-releases": {
"version": "2.0.19",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz",
@@ -39638,6 +39798,15 @@
"proc-log": "^5.0.0"
}
},
+ "npm-run-path": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.0.0"
+ }
+ },
"nth-check": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
@@ -39835,6 +40004,15 @@
"wrappy": "1"
}
},
+ "onetime": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "^2.1.0"
+ }
+ },
"op-blocknote-extensions": {
"version": "git+ssh://git@github.com/opf/op-blocknote-extensions.git#d3b88eb1642f784aa3abead172c0a439806a5a14",
"from": "op-blocknote-extensions@github:opf/op-blocknote-extensions"
@@ -40593,6 +40771,16 @@
"dev": true,
"optional": true
},
+ "pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
"punycode": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
@@ -40717,6 +40905,15 @@
"use-latest": "^1.2.1"
}
},
+ "read": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/read/-/read-4.1.0.tgz",
+ "integrity": "sha512-uRfX6K+f+R8OOrYScaM3ixPY4erg69f8DN6pgTvMcA9iRc8iDhwrA4m3Yu8YYKsXJgVvum+m8PkRboZwwuLzYA==",
+ "dev": true,
+ "requires": {
+ "mute-stream": "^2.0.0"
+ }
+ },
"readable-stream": {
"version": "3.6.2",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
@@ -41209,6 +41406,12 @@
}
}
},
+ "rsvp": {
+ "version": "4.8.5",
+ "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz",
+ "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==",
+ "dev": true
+ },
"run-applescript": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz",
@@ -41286,6 +41489,57 @@
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
+ "sane": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/sane/-/sane-5.0.1.tgz",
+ "integrity": "sha512-9/0CYoRz0MKKf04OMCO3Qk3RQl1PAwWAhPSQSym4ULiLpTZnrY1JoZU0IEikHu8kdk2HvKT/VwQMq/xFZ8kh1Q==",
+ "dev": true,
+ "requires": {
+ "@cnakazawa/watch": "^1.0.3",
+ "anymatch": "^3.1.1",
+ "capture-exit": "^2.0.0",
+ "exec-sh": "^0.3.4",
+ "execa": "^4.0.0",
+ "fb-watchman": "^2.0.1",
+ "micromatch": "^4.0.2",
+ "minimist": "^1.1.1",
+ "walker": "~1.0.5"
+ },
+ "dependencies": {
+ "execa": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz",
+ "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^7.0.0",
+ "get-stream": "^5.0.0",
+ "human-signals": "^1.1.1",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.0",
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2",
+ "strip-final-newline": "^2.0.0"
+ }
+ },
+ "get-stream": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
+ "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "human-signals": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
+ "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
+ "dev": true
+ }
+ }
+ },
"sass": {
"version": "1.89.2",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.89.2.tgz",
@@ -41682,6 +41936,12 @@
"side-channel-map": "^1.0.1"
}
},
+ "signal-exit": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
+ "dev": true
+ },
"sigstore": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/sigstore/-/sigstore-3.1.0.tgz",
@@ -42405,6 +42665,12 @@
"integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
"dev": true
},
+ "strip-final-newline": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+ "dev": true
+ },
"strip-json-comments": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
@@ -42606,6 +42872,12 @@
"utrie": "^1.0.2"
}
},
+ "text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
+ "dev": true
+ },
"texture-compressor": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/texture-compressor/-/texture-compressor-1.0.2.tgz",
@@ -42715,6 +42987,12 @@
"integrity": "sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==",
"dev": true
},
+ "through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
+ "dev": true
+ },
"through2": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
@@ -42815,6 +43093,12 @@
"integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==",
"dev": true
},
+ "tmpl": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz",
+ "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==",
+ "dev": true
+ },
"to-gfm-code-block": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/to-gfm-code-block/-/to-gfm-code-block-0.1.1.tgz",
@@ -43023,6 +43307,12 @@
"prelude-ls": "^1.2.1"
}
},
+ "type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "dev": true
+ },
"type-func": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/type-func/-/type-func-1.0.3.tgz",
@@ -43131,172 +43421,6 @@
"integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==",
"dev": true
},
- "typescript-eslint": {
- "version": "8.40.0",
- "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.40.0.tgz",
- "integrity": "sha512-Xvd2l+ZmFDPEt4oj1QEXzA4A2uUK6opvKu3eGN9aGjB8au02lIVcLyi375w94hHyejTOmzIU77L8ol2sRg9n7Q==",
- "dev": true,
- "requires": {
- "@typescript-eslint/eslint-plugin": "8.40.0",
- "@typescript-eslint/parser": "8.40.0",
- "@typescript-eslint/typescript-estree": "8.40.0",
- "@typescript-eslint/utils": "8.40.0"
- },
- "dependencies": {
- "@typescript-eslint/eslint-plugin": {
- "version": "8.40.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.40.0.tgz",
- "integrity": "sha512-w/EboPlBwnmOBtRbiOvzjD+wdiZdgFeo17lkltrtn7X37vagKKWJABvyfsJXTlHe6XBzugmYgd4A4nW+k8Mixw==",
- "dev": true,
- "requires": {
- "@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "8.40.0",
- "@typescript-eslint/type-utils": "8.40.0",
- "@typescript-eslint/utils": "8.40.0",
- "@typescript-eslint/visitor-keys": "8.40.0",
- "graphemer": "^1.4.0",
- "ignore": "^7.0.0",
- "natural-compare": "^1.4.0",
- "ts-api-utils": "^2.1.0"
- }
- },
- "@typescript-eslint/parser": {
- "version": "8.40.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.40.0.tgz",
- "integrity": "sha512-jCNyAuXx8dr5KJMkecGmZ8KI61KBUhkCob+SD+C+I5+Y1FWI2Y3QmY4/cxMCC5WAsZqoEtEETVhUiUMIGCf6Bw==",
- "dev": true,
- "requires": {
- "@typescript-eslint/scope-manager": "8.40.0",
- "@typescript-eslint/types": "8.40.0",
- "@typescript-eslint/typescript-estree": "8.40.0",
- "@typescript-eslint/visitor-keys": "8.40.0",
- "debug": "^4.3.4"
- }
- },
- "@typescript-eslint/project-service": {
- "version": "8.40.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.40.0.tgz",
- "integrity": "sha512-/A89vz7Wf5DEXsGVvcGdYKbVM9F7DyFXj52lNYUDS1L9yJfqjW/fIp5PgMuEJL/KeqVTe2QSbXAGUZljDUpArw==",
- "dev": true,
- "requires": {
- "@typescript-eslint/tsconfig-utils": "^8.40.0",
- "@typescript-eslint/types": "^8.40.0",
- "debug": "^4.3.4"
- }
- },
- "@typescript-eslint/scope-manager": {
- "version": "8.40.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.40.0.tgz",
- "integrity": "sha512-y9ObStCcdCiZKzwqsE8CcpyuVMwRouJbbSrNuThDpv16dFAj429IkM6LNb1dZ2m7hK5fHyzNcErZf7CEeKXR4w==",
- "dev": true,
- "requires": {
- "@typescript-eslint/types": "8.40.0",
- "@typescript-eslint/visitor-keys": "8.40.0"
- }
- },
- "@typescript-eslint/tsconfig-utils": {
- "version": "8.40.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.40.0.tgz",
- "integrity": "sha512-jtMytmUaG9d/9kqSl/W3E3xaWESo4hFDxAIHGVW/WKKtQhesnRIJSAJO6XckluuJ6KDB5woD1EiqknriCtAmcw==",
- "dev": true
- },
- "@typescript-eslint/type-utils": {
- "version": "8.40.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.40.0.tgz",
- "integrity": "sha512-eE60cK4KzAc6ZrzlJnflXdrMqOBaugeukWICO2rB0KNvwdIMaEaYiywwHMzA1qFpTxrLhN9Lp4E/00EgWcD3Ow==",
- "dev": true,
- "requires": {
- "@typescript-eslint/types": "8.40.0",
- "@typescript-eslint/typescript-estree": "8.40.0",
- "@typescript-eslint/utils": "8.40.0",
- "debug": "^4.3.4",
- "ts-api-utils": "^2.1.0"
- }
- },
- "@typescript-eslint/types": {
- "version": "8.40.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.40.0.tgz",
- "integrity": "sha512-ETdbFlgbAmXHyFPwqUIYrfc12ArvpBhEVgGAxVYSwli26dn8Ko+lIo4Su9vI9ykTZdJn+vJprs/0eZU0YMAEQg==",
- "dev": true
- },
- "@typescript-eslint/typescript-estree": {
- "version": "8.40.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.40.0.tgz",
- "integrity": "sha512-k1z9+GJReVVOkc1WfVKs1vBrR5MIKKbdAjDTPvIK3L8De6KbFfPFt6BKpdkdk7rZS2GtC/m6yI5MYX+UsuvVYQ==",
- "dev": true,
- "requires": {
- "@typescript-eslint/project-service": "8.40.0",
- "@typescript-eslint/tsconfig-utils": "8.40.0",
- "@typescript-eslint/types": "8.40.0",
- "@typescript-eslint/visitor-keys": "8.40.0",
- "debug": "^4.3.4",
- "fast-glob": "^3.3.2",
- "is-glob": "^4.0.3",
- "minimatch": "^9.0.4",
- "semver": "^7.6.0",
- "ts-api-utils": "^2.1.0"
- }
- },
- "@typescript-eslint/utils": {
- "version": "8.40.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.40.0.tgz",
- "integrity": "sha512-Cgzi2MXSZyAUOY+BFwGs17s7ad/7L+gKt6Y8rAVVWS+7o6wrjeFN4nVfTpbE25MNcxyJ+iYUXflbs2xR9h4UBg==",
- "dev": true,
- "requires": {
- "@eslint-community/eslint-utils": "^4.7.0",
- "@typescript-eslint/scope-manager": "8.40.0",
- "@typescript-eslint/types": "8.40.0",
- "@typescript-eslint/typescript-estree": "8.40.0"
- }
- },
- "@typescript-eslint/visitor-keys": {
- "version": "8.40.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.40.0.tgz",
- "integrity": "sha512-8CZ47QwalyRjsypfwnbI3hKy5gJDPmrkLjkgMxhi0+DZZ2QNx2naS6/hWoVYUHU7LU2zleF68V9miaVZvhFfTA==",
- "dev": true,
- "requires": {
- "@typescript-eslint/types": "8.40.0",
- "eslint-visitor-keys": "^4.2.1"
- }
- },
- "brace-expansion": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
- "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0"
- }
- },
- "eslint-visitor-keys": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
- "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
- "dev": true
- },
- "ignore": {
- "version": "7.0.5",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
- "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
- "dev": true
- },
- "minimatch": {
- "version": "9.0.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
- "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
- "dev": true,
- "requires": {
- "brace-expansion": "^2.0.1"
- }
- },
- "ts-api-utils": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz",
- "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==",
- "dev": true
- }
- }
- },
"typical": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz",
@@ -43709,6 +43833,15 @@
"resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz",
"integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ=="
},
+ "walker": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz",
+ "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==",
+ "dev": true,
+ "requires": {
+ "makeerror": "1.0.12"
+ }
+ },
"warning-symbol": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/warning-symbol/-/warning-symbol-0.1.0.tgz",
@@ -44183,8 +44316,27 @@
"ws": {
"version": "8.17.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
- "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
- "dev": true
+ "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ=="
+ },
+ "wscat": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/wscat/-/wscat-6.1.0.tgz",
+ "integrity": "sha512-x6gEZvITvqWslR38DoBfnMi37ZBUGsG9rTkGc/200sEfSs1JwgKLZYQeqa0vlu3bxXQV7hEHI4NF7KQmYIzB2A==",
+ "dev": true,
+ "requires": {
+ "commander": "^12.1.0",
+ "https-proxy-agent": "^7.0.5",
+ "read": "^4.0.0",
+ "ws": "^8.0.0"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "12.1.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz",
+ "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
+ "dev": true
+ }
+ }
},
"xml": {
"version": "1.0.1",
@@ -44224,6 +44376,40 @@
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
},
+ "yargs": {
+ "version": "17.7.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
+ "dev": true,
+ "requires": {
+ "cliui": "^8.0.1",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.1.1"
+ },
+ "dependencies": {
+ "cliui": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+ "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+ "dev": true,
+ "requires": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.1",
+ "wrap-ansi": "^7.0.0"
+ }
+ }
+ }
+ },
+ "yargs-parser": {
+ "version": "21.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+ "dev": true
+ },
"year": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/year/-/year-0.2.1.tgz",
diff --git a/frontend/package.json b/frontend/package.json
index 2022bb3af6f..1e8f2a0195b 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -60,9 +60,10 @@
"source-map-explorer": "^2.5.2",
"theo": "^8.1.5",
"ts-node": "~8.3.0",
- "typescript": "^5.8.3",
+ "typescript": "5.8.3",
"typescript-eslint": "^8.39.1",
- "webpack-bundle-analyzer": "^4.4.2"
+ "webpack-bundle-analyzer": "^4.4.2",
+ "wscat": "^6.1.0"
},
"dependencies": {
"@angular/animations": "^20.1.2",
@@ -99,6 +100,7 @@
"@fullcalendar/resource-timeline": "^6.1.11",
"@fullcalendar/timegrid": "^6.1.11",
"@github/webauthn-json": "^2.1.1",
+ "@hocuspocus/provider": "^3.2.0",
"@hotwired/stimulus": "^3.2.2",
"@hotwired/turbo": "^8.0.10",
"@hotwired/turbo-rails": "^8.0.10",
diff --git a/frontend/src/react/OpBlockNoteContainer.tsx b/frontend/src/react/OpBlockNoteContainer.tsx
index b76118ac380..a386c4dca5e 100644
--- a/frontend/src/react/OpBlockNoteContainer.tsx
+++ b/frontend/src/react/OpBlockNoteContainer.tsx
@@ -34,10 +34,16 @@ import { getDefaultReactSlashMenuItems, SuggestionMenuController, useCreateBlock
import { dummyBlockSpec, getDefaultOpenProjectSlashMenuItems, openProjectWorkPackageBlockSpec } from "op-blocknote-extensions";
import { useEffect, useState } from "react";
import { OpColorMode } from "core-app/core/setup/globals/theme-utils";
+import { HocuspocusProvider } from "@hocuspocus/provider";
+import * as Y from 'yjs';
export interface OpBlockNoteContainerProps {
inputField: HTMLInputElement;
inputText?: string;
+ hocuspocusUrl: string;
+ hocuspocusAccessToken: string;
+ userName: string;
+ documentId: string;
}
const schema = BlockNoteSchema.create({
@@ -50,10 +56,38 @@ const schema = BlockNoteSchema.create({
const detectTheme = ():OpColorMode => { return window.OpenProject.theme.detectOpColorMode(); };
-export default function OpBlockNoteContainer({ inputField, inputText }: OpBlockNoteContainerProps) {
+export default function OpBlockNoteContainer({ inputField,
+ inputText,
+ userName,
+ hocuspocusUrl,
+ hocuspocusAccessToken,
+ documentId }: OpBlockNoteContainerProps) {
const [isLoading, setIsLoading] = useState(true);
- const editor = useCreateBlockNote({ schema });
+ let collaboration: any;
+ const collaborationEnabled: boolean = Boolean(hocuspocusUrl && documentId && hocuspocusAccessToken && userName);
+ let provider: HocuspocusProvider | null = null;
+
+ if(collaborationEnabled) {
+ const doc = new Y.Doc()
+ provider = new HocuspocusProvider({
+ url: hocuspocusUrl,
+ name: documentId,
+ token: hocuspocusAccessToken,
+ document: doc
+ });
+ const cursorColor = '#' + Math.floor(Math.random() * 16777215).toString(16).padStart(6, '0');
+ collaboration = {
+ provider,
+ fragment: doc.getXmlFragment("document-store"),
+ user: {
+ name: userName,
+ color: cursorColor,
+ },
+ showCursorLabels: "activity"
+ }
+ }
+ const editor = useCreateBlockNote(collaboration ? { collaboration, schema } : { schema });
type EditorType = typeof editor;
const getCustomSlashMenuItems = (editor: EditorType) => {
@@ -64,13 +98,28 @@ export default function OpBlockNoteContainer({ inputField, inputText }: OpBlockN
};
useEffect(() => {
- async function loadInitialContent() {
- const blocks = await editor.tryParseMarkdownToBlocks(inputText || "");
- editor.replaceBlocks(editor.document, blocks);
- setIsLoading(false);
+ async function prepareEditor() {
+ if(collaborationEnabled && provider) {
+ provider.on('synced', async () => {
+ console.log('BlockNote collaboration synced');
+ setIsLoading(false);
+ });
+ provider.on('disconnect', () => {
+ console.error('BlockNote collaboration disconnected');
+ });
+ } else {
+ const blocks = await editor.tryParseMarkdownToBlocks(inputText || "");
+ editor.replaceBlocks(editor.document, blocks);
+ setIsLoading(false);
+ }
}
- loadInitialContent();
- }, [editor]);
+ void prepareEditor();
+ return () => {
+ if (provider) {
+ provider.destroy();
+ }
+ };
+ }, []);
return (
<>
diff --git a/frontend/src/stimulus/controllers/dynamic/block-note.controller.ts b/frontend/src/stimulus/controllers/dynamic/block-note.controller.ts
index e605cb030e5..2cfc21e4e66 100644
--- a/frontend/src/stimulus/controllers/dynamic/block-note.controller.ts
+++ b/frontend/src/stimulus/controllers/dynamic/block-note.controller.ts
@@ -41,11 +41,19 @@ export default class extends Controller {
static values = {
inputText: String,
+ userName: String,
+ hocuspocusUrl: String,
+ hocuspocusAccessToken: String,
+ documentId: String,
};
declare readonly blockNoteEditorTarget:HTMLElement;
declare readonly blockNoteInputFieldTarget:HTMLInputElement;
declare readonly inputTextValue:string;
+ declare readonly userNameValue:string;
+ declare readonly hocuspocusUrlValue:string;
+ declare readonly hocuspocusAccessTokenValue:string;
+ declare readonly documentIdValue:string;
connect() {
const root = createRoot(this.blockNoteEditorTarget);
@@ -56,6 +64,10 @@ export default class extends Controller {
return React.createElement(OpBlockNoteContainer, {
inputField: this.blockNoteInputFieldTarget,
inputText: this.inputTextValue,
+ userName: this.userNameValue,
+ hocuspocusUrl: this.hocuspocusUrlValue,
+ hocuspocusAccessToken: this.hocuspocusAccessTokenValue,
+ documentId: this.documentIdValue,
});
}
}
diff --git a/lib/open_project/form_tag_helper.rb b/lib/open_project/form_tag_helper.rb
index e0c4b3528c3..f45a568c4f1 100644
--- a/lib/open_project/form_tag_helper.rb
+++ b/lib/open_project/form_tag_helper.rb
@@ -53,6 +53,13 @@ module OpenProject
end
end
+ def styled_url_field_tag(name, value = nil, options = {})
+ apply_css_class_to_options(options, "form--text-field")
+ wrap_field "text-field", options do
+ url_field_tag(name, value, options)
+ end
+ end
+
def styled_label_tag(name = nil, content_or_options = nil, options = {}, &)
apply_css_class_to_options(
block_given? && content_or_options.is_a?(Hash) ? content_or_options : (options ||= {}),
@@ -87,7 +94,7 @@ module OpenProject
##
# Create a wrapper for the text formatting toolbar for this field
def text_formatting_wrapper(target_id, options = {})
- return "".html_safe unless target_id.present?
+ return "".html_safe if target_id.blank?
::OpenProject::TextFormatting::Formats
.rich_helper
diff --git a/lib/primer/open_project/forms/block_note_editor.html.erb b/lib/primer/open_project/forms/block_note_editor.html.erb
index 9e995018c9c..957860466aa 100644
--- a/lib/primer/open_project/forms/block_note_editor.html.erb
+++ b/lib/primer/open_project/forms/block_note_editor.html.erb
@@ -29,13 +29,19 @@ See COPYRIGHT and LICENSE files for more details.
<%=
render FormControl.new(
- input: @input, class: @input.classes, data: {
+ input: @input,
+ class: @input.classes,
+ data: {
controller: "block-note",
- block_note_input_text_value: value
+ block_note_input_text_value: value,
+ block_note_user_name_value: user_name,
+ block_note_hocuspocus_url_value: hocuspocus_url,
+ block_note_hocuspocus_access_token_value: hocuspocus_access_token,
+ block_note_document_id_value: document_id,
}
) do
%>
- <%= @input.builder.hidden_field(name, value: @value, data: { block_note_target: "blockNoteInputField" }) %>
+ <%= @input.builder.hidden_field(name, value:, data: { block_note_target: "blockNoteInputField" }) %>
<%=
render(
Primer::BaseComponent.new(
diff --git a/lib/primer/open_project/forms/block_note_editor.rb b/lib/primer/open_project/forms/block_note_editor.rb
index e34aa516dbd..3fbcf0a6827 100644
--- a/lib/primer/open_project/forms/block_note_editor.rb
+++ b/lib/primer/open_project/forms/block_note_editor.rb
@@ -33,14 +33,23 @@ module Primer
module Forms
# :nodoc:
class BlockNoteEditor < Primer::Forms::BaseComponent
- attr_reader :input, :value
+ attr_reader :input,
+ :value,
+ :user_name,
+ :hocuspocus_url,
+ :hocuspocus_access_token,
+ :document_id
delegate :name, to: :@input
- def initialize(input:, value:)
+ def initialize(input:, value:, document_id:)
super()
@input = input
@value = value
+ @user_name = User.current.name
+ @document_id = document_id
+ @hocuspocus_url = Setting.collaborative_editing_hocuspocus_url
+ @hocuspocus_access_token = ::CollaborativeEditing::DocumentAccessTokenGenerator.call(document_id, value)
end
end
end
diff --git a/lib/primer/open_project/forms/dsl/block_note_editor_input.rb b/lib/primer/open_project/forms/dsl/block_note_editor_input.rb
index 29eb5601a19..1ef4fa3c3f6 100644
--- a/lib/primer/open_project/forms/dsl/block_note_editor_input.rb
+++ b/lib/primer/open_project/forms/dsl/block_note_editor_input.rb
@@ -33,19 +33,20 @@ module Primer
module Forms
module Dsl
class BlockNoteEditorInput < Primer::Forms::Dsl::Input
- attr_reader :name, :label, :value, :classes
+ attr_reader :name, :label, :value, :classes, :document_id
- def initialize(name:, label:, value:, **system_arguments)
+ def initialize(name:, label:, value:, document_id:, **system_arguments)
@name = name
@label = label
@value = value
@classes = system_arguments[:classes]
+ @document_id = document_id
super(**system_arguments)
end
def to_component
- BlockNoteEditor.new(input: self, value:)
+ BlockNoteEditor.new(input: self, value:, document_id:)
end
def type
diff --git a/modules/documents/app/forms/document_form.rb b/modules/documents/app/forms/document_form.rb
index 2aa8cef1fbd..a36e61ff10c 100644
--- a/modules/documents/app/forms/document_form.rb
+++ b/modules/documents/app/forms/document_form.rb
@@ -52,7 +52,8 @@ class DocumentForm < ApplicationForm
name: :description,
label: I18n.t("label_document_description"),
classes: "document-form--long-description",
- value: model.description
+ value: model.description,
+ document_id: ::CollaborativeEditing::DocumentIdGenerator.call("documents", model.id)
)
else
f.rich_text_area(
diff --git a/spec/lib/primer/open_project/forms/dsl/input_methods_spec.rb b/spec/lib/primer/open_project/forms/dsl/input_methods_spec.rb
index d52cfea9029..0a69c392644 100644
--- a/spec/lib/primer/open_project/forms/dsl/input_methods_spec.rb
+++ b/spec/lib/primer/open_project/forms/dsl/input_methods_spec.rb
@@ -233,7 +233,7 @@ RSpec.describe Primer::OpenProject::Forms::Dsl::InputMethods, type: :forms do
end
describe "#block_note_editor" do
- let(:field_group) { form_dsl.block_note_editor(name:, label:, value: "", suggestions: [], **options) }
+ let(:field_group) { form_dsl.block_note_editor(name:, label:, value: "", document_id: "123asdzxc", suggestions: [], **options) }
include_examples "input class", Primer::OpenProject::Forms::Dsl::BlockNoteEditorInput
it_behaves_like "supporting help texts"