apache-airflow-providers-fab 3.0.0rc2__py3-none-any.whl → 3.0.1rc1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of apache-airflow-providers-fab might be problematic. Click here for more details.

Files changed (18) hide show
  1. airflow/providers/fab/__init__.py +1 -1
  2. airflow/providers/fab/auth_manager/models/__init__.py +4 -13
  3. airflow/providers/fab/auth_manager/security_manager/override.py +3 -4
  4. airflow/providers/fab/version_compat.py +1 -0
  5. airflow/providers/fab/www/package-lock.json +105 -79
  6. airflow/providers/fab/www/package.json +3 -3
  7. airflow/providers/fab/www/static/dist/{743.fc7a7c6ef9d09365976e.js → 743.935ed3d26e56ed8f63d3.js} +1 -1
  8. airflow/providers/fab/www/static/dist/manifest.json +2 -2
  9. airflow/providers/fab/www/static/dist/runtime.6ad9da077ea169d60db9.js +1 -0
  10. airflow/providers/fab/www/views.py +8 -2
  11. {apache_airflow_providers_fab-3.0.0rc2.dist-info → apache_airflow_providers_fab-3.0.1rc1.dist-info}/METADATA +8 -8
  12. {apache_airflow_providers_fab-3.0.0rc2.dist-info → apache_airflow_providers_fab-3.0.1rc1.dist-info}/RECORD +17 -17
  13. airflow/providers/fab/www/static/dist/runtime.ad800fc1845ad5c6ddeb.js +0 -1
  14. /airflow/providers/fab/www/static/dist/{743.fc7a7c6ef9d09365976e.js.LICENSE.txt → 743.935ed3d26e56ed8f63d3.js.LICENSE.txt} +0 -0
  15. {apache_airflow_providers_fab-3.0.0rc2.dist-info → apache_airflow_providers_fab-3.0.1rc1.dist-info}/WHEEL +0 -0
  16. {apache_airflow_providers_fab-3.0.0rc2.dist-info → apache_airflow_providers_fab-3.0.1rc1.dist-info}/entry_points.txt +0 -0
  17. {apache_airflow_providers_fab-3.0.0rc2.dist-info → apache_airflow_providers_fab-3.0.1rc1.dist-info}/licenses/3rd-party-licenses/LICENSES-ui.txt +0 -0
  18. {apache_airflow_providers_fab-3.0.0rc2.dist-info → apache_airflow_providers_fab-3.0.1rc1.dist-info}/licenses/NOTICE +0 -0
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
29
29
 
30
30
  __all__ = ["__version__"]
31
31
 
32
- __version__ = "3.0.0"
32
+ __version__ = "3.0.1"
33
33
 
34
34
  if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
35
35
  "3.0.2"
@@ -43,16 +43,7 @@ from sqlalchemy import (
43
43
  from sqlalchemy.orm import Mapped, backref, declared_attr, relationship
44
44
 
45
45
  from airflow.api_fastapi.auth.managers.models.base_user import BaseUser
46
-
47
- try:
48
- from sqlalchemy.orm import mapped_column
49
- except ImportError:
50
- # fallback for SQLAlchemy < 2.0
51
- def mapped_column(*args, **kwargs):
52
- from sqlalchemy import Column
53
-
54
- return Column(*args, **kwargs)
55
-
46
+ from airflow.providers.common.compat.sqlalchemy.orm import mapped_column
56
47
 
57
48
  if TYPE_CHECKING:
58
49
  try:
@@ -225,9 +216,9 @@ class Group(Model):
225
216
  Sequence("ab_group_id_seq", start=1, increment=1, minvalue=1, cycle=False),
226
217
  primary_key=True,
227
218
  )
228
- name: Mapped[str] = Column(String(100), unique=True, nullable=False)
229
- label: Mapped[str] = Column(String(150))
230
- description: Mapped[str] = Column(String(512))
219
+ name: Mapped[str] = mapped_column(String(100), unique=True, nullable=False)
220
+ label: Mapped[str | None] = mapped_column(String(150))
221
+ description: Mapped[str | None] = mapped_column(String(512))
231
222
  users: Mapped[list[User]] = relationship(
232
223
  "User", secondary=assoc_user_group, backref="groups", passive_deletes=True
233
224
  )
@@ -19,6 +19,7 @@ from __future__ import annotations
19
19
 
20
20
  import copy
21
21
  import datetime
22
+ import importlib
22
23
  import itertools
23
24
  import logging
24
25
  import uuid
@@ -59,6 +60,7 @@ from flask_jwt_extended import JWTManager
59
60
  from flask_login import LoginManager
60
61
  from itsdangerous import want_bytes
61
62
  from markupsafe import Markup, escape
63
+ from packaging.version import Version
62
64
  from sqlalchemy import delete, func, inspect, or_, select
63
65
  from sqlalchemy.exc import MultipleResultsFound
64
66
  from sqlalchemy.orm import joinedload
@@ -790,10 +792,7 @@ class FabAirflowSecurityManagerOverride(AirflowSecurityManagerV2):
790
792
  current_app.config.setdefault("AUTH_ROLES_SYNC_AT_LOGIN", False)
791
793
  current_app.config.setdefault("AUTH_API_LOGIN_ALLOW_MULTIPLE_PROVIDERS", False)
792
794
 
793
- from packaging.version import Version
794
- from werkzeug import __version__ as werkzeug_version
795
-
796
- parsed_werkzeug_version = Version(werkzeug_version)
795
+ parsed_werkzeug_version = Version(importlib.metadata.version("werkzeug"))
797
796
  if parsed_werkzeug_version < Version("3.0.0"):
798
797
  current_app.config.setdefault("FAB_PASSWORD_HASH_METHOD", "pbkdf2:sha256")
799
798
  current_app.config.setdefault(
@@ -33,3 +33,4 @@ def get_base_airflow_version_tuple() -> tuple[int, int, int]:
33
33
 
34
34
 
35
35
  AIRFLOW_V_3_1_PLUS = get_base_airflow_version_tuple() >= (3, 1, 0)
36
+ AIRFLOW_V_3_1_1_PLUS = get_base_airflow_version_tuple() >= (3, 1, 1)
@@ -22,7 +22,7 @@
22
22
  "copy-webpack-plugin": "^13.0.1",
23
23
  "css-loader": "7.1.2",
24
24
  "css-minimizer-webpack-plugin": "^7.0.2",
25
- "eslint": "^9.36.0",
25
+ "eslint": "^9.38.0",
26
26
  "eslint-config-prettier": "^10.1.8",
27
27
  "eslint-plugin-html": "^8.1.3",
28
28
  "eslint-plugin-import": "^2.32.0",
@@ -33,10 +33,10 @@
33
33
  "moment": "^2.29.4",
34
34
  "moment-locales-webpack-plugin": "^1.2.0",
35
35
  "prettier": "^3.6.2",
36
- "stylelint": "^16.24.0",
36
+ "stylelint": "^16.25.0",
37
37
  "terser-webpack-plugin": "<6.0.0",
38
38
  "url-loader": "4.1.1",
39
- "webpack": "^5.101.3",
39
+ "webpack": "^5.102.1",
40
40
  "webpack-cli": "^6.0.1",
41
41
  "webpack-license-plugin": "^4.2.1",
42
42
  "webpack-manifest-plugin": "^5.0.1"
@@ -1661,14 +1661,14 @@
1661
1661
  }
1662
1662
  },
1663
1663
  "node_modules/@dual-bundle/import-meta-resolve": {
1664
- "version": "4.1.0",
1665
- "resolved": "https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz",
1666
- "integrity": "sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==",
1664
+ "version": "4.2.1",
1665
+ "resolved": "https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.2.1.tgz",
1666
+ "integrity": "sha512-id+7YRUgoUX6CgV0DtuhirQWodeeA7Lf4i2x71JS/vtA5pRb/hIGWlw+G6MeXvsM+MXrz0VAydTGElX1rAfgPg==",
1667
1667
  "dev": true,
1668
1668
  "license": "MIT",
1669
1669
  "funding": {
1670
1670
  "type": "github",
1671
- "url": "https://github.com/sponsors/wooorm"
1671
+ "url": "https://github.com/sponsors/JounQin"
1672
1672
  }
1673
1673
  },
1674
1674
  "node_modules/@eslint-community/eslint-utils": {
@@ -1713,12 +1713,13 @@
1713
1713
  }
1714
1714
  },
1715
1715
  "node_modules/@eslint/config-array": {
1716
- "version": "0.21.0",
1717
- "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.0.tgz",
1718
- "integrity": "sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==",
1716
+ "version": "0.21.1",
1717
+ "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz",
1718
+ "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==",
1719
1719
  "dev": true,
1720
+ "license": "Apache-2.0",
1720
1721
  "dependencies": {
1721
- "@eslint/object-schema": "^2.1.6",
1722
+ "@eslint/object-schema": "^2.1.7",
1722
1723
  "debug": "^4.3.1",
1723
1724
  "minimatch": "^3.1.2"
1724
1725
  },
@@ -1727,19 +1728,22 @@
1727
1728
  }
1728
1729
  },
1729
1730
  "node_modules/@eslint/config-helpers": {
1730
- "version": "0.3.1",
1731
- "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.1.tgz",
1732
- "integrity": "sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==",
1731
+ "version": "0.4.1",
1732
+ "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.1.tgz",
1733
+ "integrity": "sha512-csZAzkNhsgwb0I/UAV6/RGFTbiakPCf0ZrGmrIxQpYvGZ00PhTkSnyKNolphgIvmnJeGw6rcGVEXfTzUnFuEvw==",
1733
1734
  "dev": true,
1734
1735
  "license": "Apache-2.0",
1736
+ "dependencies": {
1737
+ "@eslint/core": "^0.16.0"
1738
+ },
1735
1739
  "engines": {
1736
1740
  "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
1737
1741
  }
1738
1742
  },
1739
1743
  "node_modules/@eslint/core": {
1740
- "version": "0.15.2",
1741
- "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.2.tgz",
1742
- "integrity": "sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==",
1744
+ "version": "0.16.0",
1745
+ "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.16.0.tgz",
1746
+ "integrity": "sha512-nmC8/totwobIiFcGkDza3GIKfAw1+hLiYVrh3I1nIomQ8PEr5cxg34jnkmGawul/ep52wGRAcyeDCNtWKSOj4Q==",
1743
1747
  "dev": true,
1744
1748
  "license": "Apache-2.0",
1745
1749
  "dependencies": {
@@ -1807,9 +1811,9 @@
1807
1811
  }
1808
1812
  },
1809
1813
  "node_modules/@eslint/js": {
1810
- "version": "9.36.0",
1811
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.36.0.tgz",
1812
- "integrity": "sha512-uhCbYtYynH30iZErszX78U+nR3pJU3RHGQ57NXy5QupD4SBVwDeU8TNBy+MjMngc1UyIW9noKqsRqfjQTBU2dw==",
1814
+ "version": "9.38.0",
1815
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.38.0.tgz",
1816
+ "integrity": "sha512-UZ1VpFvXf9J06YG9xQBdnzU+kthors6KjhMAl6f4gH4usHyh31rUf2DLGInT8RFYIReYXNSydgPY0V2LuWgl7A==",
1813
1817
  "dev": true,
1814
1818
  "license": "MIT",
1815
1819
  "engines": {
@@ -1820,22 +1824,23 @@
1820
1824
  }
1821
1825
  },
1822
1826
  "node_modules/@eslint/object-schema": {
1823
- "version": "2.1.6",
1824
- "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz",
1825
- "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==",
1827
+ "version": "2.1.7",
1828
+ "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz",
1829
+ "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==",
1826
1830
  "dev": true,
1831
+ "license": "Apache-2.0",
1827
1832
  "engines": {
1828
1833
  "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
1829
1834
  }
1830
1835
  },
1831
1836
  "node_modules/@eslint/plugin-kit": {
1832
- "version": "0.3.5",
1833
- "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.5.tgz",
1834
- "integrity": "sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==",
1837
+ "version": "0.4.0",
1838
+ "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.0.tgz",
1839
+ "integrity": "sha512-sB5uyeq+dwCWyPi31B2gQlVlo+j5brPlWx4yZBrEaRo/nhdDE8Xke1gsGgtiBdaBTxuTkceLVuVt/pclrasb0A==",
1835
1840
  "dev": true,
1836
1841
  "license": "Apache-2.0",
1837
1842
  "dependencies": {
1838
- "@eslint/core": "^0.15.2",
1843
+ "@eslint/core": "^0.16.0",
1839
1844
  "levn": "^0.4.1"
1840
1845
  },
1841
1846
  "engines": {
@@ -2796,6 +2801,16 @@
2796
2801
  "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
2797
2802
  "dev": true
2798
2803
  },
2804
+ "node_modules/baseline-browser-mapping": {
2805
+ "version": "2.8.16",
2806
+ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.16.tgz",
2807
+ "integrity": "sha512-OMu3BGQ4E7P1ErFsIPpbJh0qvDudM/UuJeHgkAvfWe+0HFJCXh+t/l8L6fVLR55RI/UbKrVLnAXZSVwd9ysWYw==",
2808
+ "dev": true,
2809
+ "license": "Apache-2.0",
2810
+ "bin": {
2811
+ "baseline-browser-mapping": "dist/cli.js"
2812
+ }
2813
+ },
2799
2814
  "node_modules/big.js": {
2800
2815
  "version": "5.2.2",
2801
2816
  "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
@@ -2835,9 +2850,9 @@
2835
2850
  }
2836
2851
  },
2837
2852
  "node_modules/browserslist": {
2838
- "version": "4.25.1",
2839
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.1.tgz",
2840
- "integrity": "sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==",
2853
+ "version": "4.26.3",
2854
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.26.3.tgz",
2855
+ "integrity": "sha512-lAUU+02RFBuCKQPj/P6NgjlbCnLBMp4UtgTx7vNHd3XSIJF87s9a5rA3aH2yw3GS9DqZAUbOtZdCCiZeVRqt0w==",
2841
2856
  "dev": true,
2842
2857
  "funding": [
2843
2858
  {
@@ -2853,10 +2868,12 @@
2853
2868
  "url": "https://github.com/sponsors/ai"
2854
2869
  }
2855
2870
  ],
2871
+ "license": "MIT",
2856
2872
  "dependencies": {
2857
- "caniuse-lite": "^1.0.30001726",
2858
- "electron-to-chromium": "^1.5.173",
2859
- "node-releases": "^2.0.19",
2873
+ "baseline-browser-mapping": "^2.8.9",
2874
+ "caniuse-lite": "^1.0.30001746",
2875
+ "electron-to-chromium": "^1.5.227",
2876
+ "node-releases": "^2.0.21",
2860
2877
  "update-browserslist-db": "^1.1.3"
2861
2878
  },
2862
2879
  "bin": {
@@ -2963,9 +2980,9 @@
2963
2980
  }
2964
2981
  },
2965
2982
  "node_modules/caniuse-lite": {
2966
- "version": "1.0.30001726",
2967
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001726.tgz",
2968
- "integrity": "sha512-VQAUIUzBiZ/UnlM28fSp2CRF3ivUn1BWEvxMcVTNwpw91Py1pGbPIyIKtd+tzct9C3ouceCVdGAXxZOpZAsgdw==",
2983
+ "version": "1.0.30001750",
2984
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001750.tgz",
2985
+ "integrity": "sha512-cuom0g5sdX6rw00qOoLNSFCJ9/mYIsuSOA+yzpDw8eopiFqcVwQvZHqov0vmEighRxX++cfC0Vg1G+1Iy/mSpQ==",
2969
2986
  "dev": true,
2970
2987
  "funding": [
2971
2988
  {
@@ -2980,7 +2997,8 @@
2980
2997
  "type": "github",
2981
2998
  "url": "https://github.com/sponsors/ai"
2982
2999
  }
2983
- ]
3000
+ ],
3001
+ "license": "CC-BY-4.0"
2984
3002
  },
2985
3003
  "node_modules/chalk": {
2986
3004
  "version": "4.1.2",
@@ -3550,9 +3568,9 @@
3550
3568
  }
3551
3569
  },
3552
3570
  "node_modules/debug": {
3553
- "version": "4.4.1",
3554
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
3555
- "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
3571
+ "version": "4.4.3",
3572
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
3573
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
3556
3574
  "dev": true,
3557
3575
  "license": "MIT",
3558
3576
  "dependencies": {
@@ -3747,10 +3765,11 @@
3747
3765
  }
3748
3766
  },
3749
3767
  "node_modules/electron-to-chromium": {
3750
- "version": "1.5.179",
3751
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.179.tgz",
3752
- "integrity": "sha512-UWKi/EbBopgfFsc5k61wFpV7WrnnSlSzW/e2XcBmS6qKYTivZlLtoll5/rdqRTxGglGHkmkW0j0pFNJG10EUIQ==",
3753
- "dev": true
3768
+ "version": "1.5.234",
3769
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.234.tgz",
3770
+ "integrity": "sha512-RXfEp2x+VRYn8jbKfQlRImzoJU01kyDvVPBmG39eU2iuRVhuS6vQNocB8J0/8GrIMLnPzgz4eW6WiRnJkTuNWg==",
3771
+ "dev": true,
3772
+ "license": "ISC"
3754
3773
  },
3755
3774
  "node_modules/emoji-regex": {
3756
3775
  "version": "8.0.0",
@@ -3998,25 +4017,24 @@
3998
4017
  }
3999
4018
  },
4000
4019
  "node_modules/eslint": {
4001
- "version": "9.36.0",
4002
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.36.0.tgz",
4003
- "integrity": "sha512-hB4FIzXovouYzwzECDcUkJ4OcfOEkXTv2zRY6B9bkwjx/cprAq0uvm1nl7zvQ0/TsUk0zQiN4uPfJpB9m+rPMQ==",
4020
+ "version": "9.38.0",
4021
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.38.0.tgz",
4022
+ "integrity": "sha512-t5aPOpmtJcZcz5UJyY2GbvpDlsK5E8JqRqoKtfiKE3cNh437KIqfJr3A3AKf5k64NPx6d0G3dno6XDY05PqPtw==",
4004
4023
  "dev": true,
4005
4024
  "license": "MIT",
4006
4025
  "dependencies": {
4007
4026
  "@eslint-community/eslint-utils": "^4.8.0",
4008
4027
  "@eslint-community/regexpp": "^4.12.1",
4009
- "@eslint/config-array": "^0.21.0",
4010
- "@eslint/config-helpers": "^0.3.1",
4011
- "@eslint/core": "^0.15.2",
4028
+ "@eslint/config-array": "^0.21.1",
4029
+ "@eslint/config-helpers": "^0.4.1",
4030
+ "@eslint/core": "^0.16.0",
4012
4031
  "@eslint/eslintrc": "^3.3.1",
4013
- "@eslint/js": "9.36.0",
4014
- "@eslint/plugin-kit": "^0.3.5",
4032
+ "@eslint/js": "9.38.0",
4033
+ "@eslint/plugin-kit": "^0.4.0",
4015
4034
  "@humanfs/node": "^0.16.6",
4016
4035
  "@humanwhocodes/module-importer": "^1.0.1",
4017
4036
  "@humanwhocodes/retry": "^0.4.2",
4018
4037
  "@types/estree": "^1.0.6",
4019
- "@types/json-schema": "^7.0.15",
4020
4038
  "ajv": "^6.12.4",
4021
4039
  "chalk": "^4.0.0",
4022
4040
  "cross-spawn": "^7.0.6",
@@ -4829,7 +4847,8 @@
4829
4847
  "version": "0.4.1",
4830
4848
  "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
4831
4849
  "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
4832
- "dev": true
4850
+ "dev": true,
4851
+ "license": "BSD-2-Clause"
4833
4852
  },
4834
4853
  "node_modules/global-modules": {
4835
4854
  "version": "2.0.0",
@@ -6138,10 +6157,11 @@
6138
6157
  "dev": true
6139
6158
  },
6140
6159
  "node_modules/node-releases": {
6141
- "version": "2.0.19",
6142
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz",
6143
- "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==",
6144
- "dev": true
6160
+ "version": "2.0.23",
6161
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.23.tgz",
6162
+ "integrity": "sha512-cCmFDMSm26S6tQSDpBCg/NR8NENrVPhAJSf+XbxBG4rPFaaonlEoE9wHQmun+cls499TQGSb7ZyPBRlzgKfpeg==",
6163
+ "dev": true,
6164
+ "license": "MIT"
6145
6165
  },
6146
6166
  "node_modules/normalize-path": {
6147
6167
  "version": "3.0.0",
@@ -7482,9 +7502,9 @@
7482
7502
  "dev": true
7483
7503
  },
7484
7504
  "node_modules/schema-utils": {
7485
- "version": "4.3.2",
7486
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz",
7487
- "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==",
7505
+ "version": "4.3.3",
7506
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz",
7507
+ "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==",
7488
7508
  "dev": true,
7489
7509
  "license": "MIT",
7490
7510
  "dependencies": {
@@ -7933,9 +7953,9 @@
7933
7953
  }
7934
7954
  },
7935
7955
  "node_modules/stylelint": {
7936
- "version": "16.24.0",
7937
- "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.24.0.tgz",
7938
- "integrity": "sha512-7ksgz3zJaSbTUGr/ujMXvLVKdDhLbGl3R/3arNudH7z88+XZZGNLMTepsY28WlnvEFcuOmUe7fg40Q3lfhOfSQ==",
7956
+ "version": "16.25.0",
7957
+ "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.25.0.tgz",
7958
+ "integrity": "sha512-Li0avYWV4nfv1zPbdnxLYBGq4z8DVZxbRgx4Kn6V+Uftz1rMoF1qiEI3oL4kgWqyYgCgs7gT5maHNZ82Gk03vQ==",
7939
7959
  "dev": true,
7940
7960
  "funding": [
7941
7961
  {
@@ -7953,13 +7973,13 @@
7953
7973
  "@csstools/css-tokenizer": "^3.0.4",
7954
7974
  "@csstools/media-query-list-parser": "^4.0.3",
7955
7975
  "@csstools/selector-specificity": "^5.0.0",
7956
- "@dual-bundle/import-meta-resolve": "^4.1.0",
7976
+ "@dual-bundle/import-meta-resolve": "^4.2.1",
7957
7977
  "balanced-match": "^2.0.0",
7958
7978
  "colord": "^2.9.3",
7959
7979
  "cosmiconfig": "^9.0.0",
7960
7980
  "css-functions-list": "^3.2.3",
7961
7981
  "css-tree": "^3.1.0",
7962
- "debug": "^4.4.1",
7982
+ "debug": "^4.4.3",
7963
7983
  "fast-glob": "^3.3.3",
7964
7984
  "fastest-levenshtein": "^1.0.16",
7965
7985
  "file-entry-cache": "^10.1.4",
@@ -8225,12 +8245,17 @@
8225
8245
  "dev": true
8226
8246
  },
8227
8247
  "node_modules/tapable": {
8228
- "version": "2.2.1",
8229
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
8230
- "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
8248
+ "version": "2.3.0",
8249
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz",
8250
+ "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==",
8231
8251
  "dev": true,
8252
+ "license": "MIT",
8232
8253
  "engines": {
8233
8254
  "node": ">=6"
8255
+ },
8256
+ "funding": {
8257
+ "type": "opencollective",
8258
+ "url": "https://opencollective.com/webpack"
8234
8259
  }
8235
8260
  },
8236
8261
  "node_modules/terser": {
@@ -8641,10 +8666,11 @@
8641
8666
  "dev": true
8642
8667
  },
8643
8668
  "node_modules/watchpack": {
8644
- "version": "2.4.2",
8645
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz",
8646
- "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==",
8669
+ "version": "2.4.4",
8670
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz",
8671
+ "integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==",
8647
8672
  "dev": true,
8673
+ "license": "MIT",
8648
8674
  "dependencies": {
8649
8675
  "glob-to-regexp": "^0.4.1",
8650
8676
  "graceful-fs": "^4.1.2"
@@ -8654,9 +8680,9 @@
8654
8680
  }
8655
8681
  },
8656
8682
  "node_modules/webpack": {
8657
- "version": "5.101.3",
8658
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.101.3.tgz",
8659
- "integrity": "sha512-7b0dTKR3Ed//AD/6kkx/o7duS8H3f1a4w3BYpIriX4BzIhjkn4teo05cptsxvLesHFKK5KObnadmCHBwGc+51A==",
8683
+ "version": "5.102.1",
8684
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.102.1.tgz",
8685
+ "integrity": "sha512-7h/weGm9d/ywQ6qzJ+Xy+r9n/3qgp/thalBbpOi5i223dPXKi04IBtqPN9nTd+jBc7QKfvDbaBnFipYp4sJAUQ==",
8660
8686
  "dev": true,
8661
8687
  "license": "MIT",
8662
8688
  "dependencies": {
@@ -8668,7 +8694,7 @@
8668
8694
  "@webassemblyjs/wasm-parser": "^1.14.1",
8669
8695
  "acorn": "^8.15.0",
8670
8696
  "acorn-import-phases": "^1.0.3",
8671
- "browserslist": "^4.24.0",
8697
+ "browserslist": "^4.26.3",
8672
8698
  "chrome-trace-event": "^1.0.2",
8673
8699
  "enhanced-resolve": "^5.17.3",
8674
8700
  "es-module-lexer": "^1.2.1",
@@ -8680,10 +8706,10 @@
8680
8706
  "loader-runner": "^4.2.0",
8681
8707
  "mime-types": "^2.1.27",
8682
8708
  "neo-async": "^2.6.2",
8683
- "schema-utils": "^4.3.2",
8684
- "tapable": "^2.1.1",
8709
+ "schema-utils": "^4.3.3",
8710
+ "tapable": "^2.3.0",
8685
8711
  "terser-webpack-plugin": "^5.3.11",
8686
- "watchpack": "^2.4.1",
8712
+ "watchpack": "^2.4.4",
8687
8713
  "webpack-sources": "^3.3.3"
8688
8714
  },
8689
8715
  "bin": {
@@ -48,7 +48,7 @@
48
48
  "copy-webpack-plugin": "^13.0.1",
49
49
  "css-loader": "7.1.2",
50
50
  "css-minimizer-webpack-plugin": "^7.0.2",
51
- "eslint": "^9.36.0",
51
+ "eslint": "^9.38.0",
52
52
  "eslint-config-prettier": "^10.1.8",
53
53
  "eslint-plugin-html": "^8.1.3",
54
54
  "eslint-plugin-import": "^2.32.0",
@@ -59,10 +59,10 @@
59
59
  "moment": "^2.29.4",
60
60
  "moment-locales-webpack-plugin": "^1.2.0",
61
61
  "prettier": "^3.6.2",
62
- "stylelint": "^16.24.0",
62
+ "stylelint": "^16.25.0",
63
63
  "terser-webpack-plugin": "<6.0.0",
64
64
  "url-loader": "4.1.1",
65
- "webpack": "^5.101.3",
65
+ "webpack": "^5.102.1",
66
66
  "webpack-cli": "^6.0.1",
67
67
  "webpack-license-plugin": "^4.2.1",
68
68
  "webpack-manifest-plugin": "^5.0.1"