diff --git a/package-lock.json b/package-lock.json index 1a819da722..f7f62d0492 100644 --- a/package-lock.json +++ b/package-lock.json @@ -59,7 +59,7 @@ "@capacitor/share": "^7.0.2", "@capawesome/capacitor-android-dark-mode-support": "^7.0.0", "@capawesome/capacitor-background-task": "^7.0.1", - "@csstools/stylelint-formatter-github": "^1.0.0", + "@csstools/stylelint-formatter-github": "^2.0.0", "@dotenv-run/cli": "^1.3.6", "@electron/notarize": "^3.1.1", "@eslint/js": "^10.0.1", @@ -139,8 +139,8 @@ "spark-md5": "^3.0.2", "stacktrace-js": "^2.0.2", "start-server-and-test": "^2.1.3", - "stylelint": "^16.26.1", - "stylelint-config-recommended-scss": "^14.1.0", + "stylelint": "^17.9.1", + "stylelint-config-recommended-scss": "^17.0.1", "ts-node": "~10.9.2", "ts-patch": "^3.3.0", "tslib": "^2.8.1", @@ -3085,10 +3085,10 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz", - "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==", + "node_modules/@csstools/css-calc": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.2.0.tgz", + "integrity": "sha512-bR9e6o2BDB12jzN/gIbjHa5wLJ4UjD1CB9pM7ehlc0ddk6EBz+yYS1EV2MF55/HUxrHcB/hehAyt5vhsA3hx7w==", "dev": true, "funding": [ { @@ -3102,16 +3102,40 @@ ], "license": "MIT", "engines": { - "node": ">=18" + "node": ">=20.19.0" }, "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.4" + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0" + } + }, + "node_modules/@csstools/css-parser-algorithms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-4.0.0.tgz", + "integrity": "sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^4.0.0" } }, "node_modules/@csstools/css-syntax-patches-for-csstree": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.1.tgz", - "integrity": "sha512-BvqN0AMWNAnLk9G8jnUT77D+mUbY/H2b3uDTvg2isJkHaOufUE2R3AOwxWo7VBQKT1lOdwdvorddo2B/lk64+w==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.3.tgz", + "integrity": "sha512-SH60bMfrRCJF3morcdk57WklujF4Jr/EsQUzqkarfHXEFcAR1gg7fS/chAE922Sehgzc1/+Tz5H3Ypa1HiEKrg==", "dev": true, "funding": [ { @@ -3134,9 +3158,9 @@ } }, "node_modules/@csstools/css-tokenizer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz", - "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-4.0.0.tgz", + "integrity": "sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==", "dev": true, "funding": [ { @@ -3150,13 +3174,13 @@ ], "license": "MIT", "engines": { - "node": ">=18" + "node": ">=20.19.0" } }, "node_modules/@csstools/media-query-list-parser": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.3.tgz", - "integrity": "sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-5.0.0.tgz", + "integrity": "sha512-T9lXmZOfnam3eMERPsszjY5NK0jX8RmThmmm99FZ8b7z8yMaFZWKwLWGZuTwdO3ddRY5fy13GmmEYZXB4I98Eg==", "dev": true, "funding": [ { @@ -3170,17 +3194,40 @@ ], "license": "MIT", "engines": { - "node": ">=18" + "node": ">=20.19.0" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4" + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0" + } + }, + "node_modules/@csstools/selector-resolve-nested": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-resolve-nested/-/selector-resolve-nested-4.0.0.tgz", + "integrity": "sha512-9vAPxmp+Dx3wQBIUwc1v7Mdisw1kbbaGqXUM8QLTgWg7SoPGYtXBsMXvsFs/0Bn5yoFhcktzxNZGNaUt0VjgjA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.1.1" } }, "node_modules/@csstools/selector-specificity": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", - "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-6.0.0.tgz", + "integrity": "sha512-4sSgl78OtOXEX/2d++8A83zHNTgwCJMaR24FvsYL7Uf/VS8HZk9PTwR51elTbGqMuwH3szLvvOXEaVnqn0Z3zA==", "dev": true, "funding": [ { @@ -3194,16 +3241,16 @@ ], "license": "MIT-0", "engines": { - "node": ">=18" + "node": ">=20.19.0" }, "peerDependencies": { - "postcss-selector-parser": "^7.0.0" + "postcss-selector-parser": "^7.1.1" } }, "node_modules/@csstools/stylelint-formatter-github": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/stylelint-formatter-github/-/stylelint-formatter-github-1.0.0.tgz", - "integrity": "sha512-YBKb4lNRXEpqrO6oJY0ql+D7lQGZcIwj/bs2bf3t95CU3NZFLrrZoJrKxVeyp5mCPo5iNopsp+wkksrjI7FI/Q==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@csstools/stylelint-formatter-github/-/stylelint-formatter-github-2.0.0.tgz", + "integrity": "sha512-LAzHf7W1FmBNi/cA4n7ZqGW063UK+KZgcaoAmtkJZlbAxRlnthA/VEojmO06+eBAczKMMU1yslqsDh6Etvok8g==", "dev": true, "funding": [ { @@ -3217,10 +3264,10 @@ ], "license": "MIT-0", "engines": { - "node": ">=18" + "node": ">=20.19.0" }, "peerDependencies": { - "stylelint": "^16.6.0" + "stylelint": "^17.0.0" } }, "node_modules/@ctrl/tinycolor": { @@ -3337,17 +3384,6 @@ "url": "https://dotenvx.com" } }, - "node_modules/@dual-bundle/import-meta-resolve": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.2.1.tgz", - "integrity": "sha512-id+7YRUgoUX6CgV0DtuhirQWodeeA7Lf4i2x71JS/vtA5pRb/hIGWlw+G6MeXvsM+MXrz0VAydTGElX1rAfgPg==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/JounQin" - } - }, "node_modules/@electron/asar": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.4.1.tgz", @@ -8814,6 +8850,19 @@ "url": "https://github.com/sindresorhus/is?sponsor=1" } }, + "node_modules/@sindresorhus/merge-streams": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@socket.io/component-emitter": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", @@ -10740,16 +10789,6 @@ "dev": true, "license": "MIT" }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/array.prototype.findlastindex": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", @@ -13301,19 +13340,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/dmg-builder": { "version": "26.8.1", "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-26.8.1.tgz", @@ -16146,36 +16172,26 @@ } }, "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-16.2.0.tgz", + "integrity": "sha512-QrJia2qDf5BB/V6HYlDTs0I0lBahyjLzpGQg3KT7FnCdTonAyPy2RtY802m2k4ALx6Dp752f82WsOczEVr3l6Q==", "dev": true, "license": "MIT", "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" + "@sindresorhus/merge-streams": "^4.0.0", + "fast-glob": "^3.3.3", + "ignore": "^7.0.5", + "is-path-inside": "^4.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.4.0" }, "engines": { - "node": ">=10" + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globby/node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, "node_modules/globjoin": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", @@ -16519,13 +16535,13 @@ "license": "MIT" }, "node_modules/html-tags": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", - "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-5.1.0.tgz", + "integrity": "sha512-n6l5uca7/y5joxZ3LUePhzmBFUJ+U2YWzhMa8XUTecSeSlQiZdF5XAd/Q3/WUl0VsXgUwWi8I7CNIwdI5WN1SQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=20.10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -16907,6 +16923,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/import-meta-resolve": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz", + "integrity": "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -17530,6 +17557,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-path-inside": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", + "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-plain-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", @@ -19787,9 +19827,9 @@ } }, "node_modules/mathml-tag-names": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", - "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-4.0.0.tgz", + "integrity": "sha512-aa6AU2Pcx0VP/XWnh8IGL0SYSgQHDT6Ucror2j2mXeFAlN3ahaNs8EZtG1YiticMkSLj3Gt6VPFfZogt7G5iFQ==", "dev": true, "license": "MIT", "funding": { @@ -19845,13 +19885,13 @@ } }, "node_modules/meow": { - "version": "13.2.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", - "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-14.1.0.tgz", + "integrity": "sha512-EDYo6VlmtnumlcBCbh1gLJ//9jvM/ndXHfVXIFrZVr6fGcwTUyCTFNTLCKuY3ffbK8L/+3Mzqnd58RojiZqHVw==", "dev": true, "license": "MIT", "engines": { - "node": ">=18" + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -21826,16 +21866,6 @@ "url": "https://opencollective.com/express" } }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/pathe": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", @@ -24278,13 +24308,16 @@ "license": "MIT" }, "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/slice-ansi": { @@ -25065,9 +25098,9 @@ "license": "MIT" }, "node_modules/stylelint": { - "version": "16.26.1", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.26.1.tgz", - "integrity": "sha512-v20V59/crfc8sVTAtge0mdafI3AdnzQ2KsWe6v523L4OA1bJO02S7MO2oyXDCS6iWb9ckIPnqAFVItqSBQr7jw==", + "version": "17.9.1", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-17.9.1.tgz", + "integrity": "sha512-THTmnAPJTrg/JhkTWZlSyrO+HUYMx6ELthIHeMyD2WOKqXIJUFQv2Yxn91bvUrZdbBJaW2dUuQdPST2wcQ6C3g==", "dev": true, "funding": [ { @@ -25081,57 +25114,54 @@ ], "license": "MIT", "dependencies": { - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-syntax-patches-for-csstree": "^1.0.19", - "@csstools/css-tokenizer": "^3.0.4", - "@csstools/media-query-list-parser": "^4.0.3", - "@csstools/selector-specificity": "^5.0.0", - "@dual-bundle/import-meta-resolve": "^4.2.1", - "balanced-match": "^2.0.0", + "@csstools/css-calc": "^3.2.0", + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-syntax-patches-for-csstree": "^1.1.3", + "@csstools/css-tokenizer": "^4.0.0", + "@csstools/media-query-list-parser": "^5.0.0", + "@csstools/selector-resolve-nested": "^4.0.0", + "@csstools/selector-specificity": "^6.0.0", "colord": "^2.9.3", - "cosmiconfig": "^9.0.0", - "css-functions-list": "^3.2.3", - "css-tree": "^3.1.0", + "cosmiconfig": "^9.0.1", + "css-functions-list": "^3.3.3", + "css-tree": "^3.2.1", "debug": "^4.4.3", "fast-glob": "^3.3.3", "fastest-levenshtein": "^1.0.16", - "file-entry-cache": "^11.1.1", + "file-entry-cache": "^11.1.2", "global-modules": "^2.0.0", - "globby": "^11.1.0", + "globby": "^16.2.0", "globjoin": "^0.1.4", - "html-tags": "^3.3.1", + "html-tags": "^5.1.0", "ignore": "^7.0.5", - "imurmurhash": "^0.1.4", + "import-meta-resolve": "^4.2.0", "is-plain-object": "^5.0.0", - "known-css-properties": "^0.37.0", - "mathml-tag-names": "^2.1.3", - "meow": "^13.2.0", + "mathml-tag-names": "^4.0.0", + "meow": "^14.1.0", "micromatch": "^4.0.8", "normalize-path": "^3.0.0", "picocolors": "^1.1.1", - "postcss": "^8.5.6", - "postcss-resolve-nested-selector": "^0.1.6", + "postcss": "^8.5.9", "postcss-safe-parser": "^7.0.1", - "postcss-selector-parser": "^7.1.0", + "postcss-selector-parser": "^7.1.1", "postcss-value-parser": "^4.2.0", - "resolve-from": "^5.0.0", - "string-width": "^4.2.3", - "supports-hyperlinks": "^3.2.0", + "string-width": "^8.2.0", + "supports-hyperlinks": "^4.4.0", "svg-tags": "^1.0.0", "table": "^6.9.0", - "write-file-atomic": "^5.0.1" + "write-file-atomic": "^7.0.1" }, "bin": { "stylelint": "bin/stylelint.mjs" }, "engines": { - "node": ">=18.12.0" + "node": ">=20.19.0" } }, "node_modules/stylelint-config-recommended": { - "version": "14.0.1", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-14.0.1.tgz", - "integrity": "sha512-bLvc1WOz/14aPImu/cufKAZYfXs/A/owZfSMZ4N+16WGXLoX5lOir53M6odBxvhgmgdxCVnNySJmZKx73T93cg==", + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-18.0.0.tgz", + "integrity": "sha512-mxgT2XY6YZ3HWWe3Di8umG6aBmWmHTblTgu/f10rqFXnyWxjKWwNdjSWkgkwCtxIKnqjSJzvFmPT5yabVIRxZg==", "dev": true, "funding": [ { @@ -25145,29 +25175,29 @@ ], "license": "MIT", "engines": { - "node": ">=18.12.0" + "node": ">=20.19.0" }, "peerDependencies": { - "stylelint": "^16.1.0" + "stylelint": "^17.0.0" } }, "node_modules/stylelint-config-recommended-scss": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-14.1.0.tgz", - "integrity": "sha512-bhaMhh1u5dQqSsf6ri2GVWWQW5iUjBYgcHkh7SgDDn92ijoItC/cfO/W+fpXshgTQWhwFkP1rVcewcv4jaftRg==", + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-17.0.1.tgz", + "integrity": "sha512-x5DVehzJudcwF0od3sGpgkln2PLLranFE7twwbp7dqDINCyZvwzFkMc6TLhNOvazRiVBJYATQLouJY0xPGB8WA==", "dev": true, "license": "MIT", "dependencies": { "postcss-scss": "^4.0.9", - "stylelint-config-recommended": "^14.0.1", - "stylelint-scss": "^6.4.0" + "stylelint-config-recommended": "^18.0.0", + "stylelint-scss": "^7.0.0" }, "engines": { - "node": ">=18.12.0" + "node": ">=20" }, "peerDependencies": { "postcss": "^8.3.3", - "stylelint": "^16.6.1" + "stylelint": "^17.0.0" }, "peerDependenciesMeta": { "postcss": { @@ -25176,9 +25206,9 @@ } }, "node_modules/stylelint-scss": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.14.0.tgz", - "integrity": "sha512-ZKmHMZolxeuYsnB+PCYrTpFce0/QWX9i9gh0hPXzp73WjuIMqUpzdQaBCrKoLWh6XtCFSaNDErkMPqdjy1/8aA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-7.0.0.tgz", + "integrity": "sha512-H88kCC+6Vtzj76NsC8rv6x/LW8slBzIbyeSjsKVlS+4qaEJoDrcJR4L+8JdrR2ORdTscrBzYWiiT2jq6leYR1Q==", "dev": true, "license": "MIT", "dependencies": { @@ -25192,18 +25222,24 @@ "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=18.12.0" + "node": ">=20.19.0" }, "peerDependencies": { - "stylelint": "^16.8.2" + "stylelint": "^16.8.2 || ^17.0.0" } }, - "node_modules/stylelint/node_modules/balanced-match": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", - "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", + "node_modules/stylelint/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } }, "node_modules/stylelint/node_modules/file-entry-cache": { "version": "11.1.2", @@ -25227,14 +25263,37 @@ "hookified": "^1.15.0" } }, - "node_modules/stylelint/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "node_modules/stylelint/node_modules/string-width": { + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.1.tgz", + "integrity": "sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==", "dev": true, "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.5.0", + "strip-ansi": "^7.1.2" + }, "engines": { - "node": ">=8" + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylelint/node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, "node_modules/sucrase": { @@ -25346,22 +25405,48 @@ } }, "node_modules/supports-hyperlinks": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.2.0.tgz", - "integrity": "sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-4.4.0.tgz", + "integrity": "sha512-UKbpT93hN5Nr9go5UY7bopIB9YQlMz9nm/ct4IXt/irb5YRkn9WaqrOBJGZ5Pwvsd5FQzSVeYlGdXoCAPQZrPg==", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" + "has-flag": "^5.0.1", + "supports-color": "^10.2.2" }, "engines": { - "node": ">=14.18" + "node": ">=20" }, "funding": { "url": "https://github.com/chalk/supports-hyperlinks?sponsor=1" } }, + "node_modules/supports-hyperlinks/node_modules/has-flag": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-5.0.1.tgz", + "integrity": "sha512-CsNUt5x9LUdx6hnk/E2SZLsDyvfqANZSUq4+D3D8RzDJ2M+HDTIkF60ibS1vHaK55vzgiZw1bEPFG9yH7l33wA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-hyperlinks/node_modules/supports-color": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz", + "integrity": "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", @@ -26609,6 +26694,19 @@ "node": ">=4" } }, + "node_modules/unicorn-magic": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.4.0.tgz", + "integrity": "sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/union": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", @@ -28047,17 +28145,16 @@ "license": "ISC" }, "node_modules/write-file-atomic": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", - "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-7.0.1.tgz", + "integrity": "sha512-OTIk8iR8/aCRWBqvxrzxR0hgxWpnYBblY1S5hDWBQfk/VFmJwzmJgQFN3WsoUKHISv2eAwe+PpbUzyL1CKTLXg==", "dev": true, "license": "ISC", "dependencies": { - "imurmurhash": "^0.1.4", "signal-exit": "^4.0.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/ws": { diff --git a/package.json b/package.json index 96555ac668..58e7b87e2f 100644 --- a/package.json +++ b/package.json @@ -193,7 +193,7 @@ "@capacitor/share": "^7.0.2", "@capawesome/capacitor-android-dark-mode-support": "^7.0.0", "@capawesome/capacitor-background-task": "^7.0.1", - "@csstools/stylelint-formatter-github": "^1.0.0", + "@csstools/stylelint-formatter-github": "^2.0.0", "@dotenv-run/cli": "^1.3.6", "@electron/notarize": "^3.1.1", "@eslint/js": "^10.0.1", @@ -273,8 +273,8 @@ "spark-md5": "^3.0.2", "stacktrace-js": "^2.0.2", "start-server-and-test": "^2.1.3", - "stylelint": "^16.26.1", - "stylelint-config-recommended-scss": "^14.1.0", + "stylelint": "^17.9.1", + "stylelint-config-recommended-scss": "^17.0.1", "ts-node": "~10.9.2", "ts-patch": "^3.3.0", "tslib": "^2.8.1", diff --git a/src/app/core-ui/magic-side-nav/nav-item/nav-item.component.scss b/src/app/core-ui/magic-side-nav/nav-item/nav-item.component.scss index 6e1ca3c7bf..d1e176a0e4 100644 --- a/src/app/core-ui/magic-side-nav/nav-item/nav-item.component.scss +++ b/src/app/core-ui/magic-side-nav/nav-item/nav-item.component.scss @@ -274,7 +274,7 @@ button[mat-menu-item].nav-link.active { font-variation-settings: normal; text-transform: none; letter-spacing: normal; - word-wrap: normal; + overflow-wrap: normal; white-space: nowrap; direction: ltr; // Better emoji rendering diff --git a/src/app/features/focus-mode/focus-mode-main/focus-mode-main.component.scss b/src/app/features/focus-mode/focus-mode-main/focus-mode-main.component.scss index 2fcc093849..07495e1216 100644 --- a/src/app/features/focus-mode/focus-mode-main/focus-mode-main.component.scss +++ b/src/app/features/focus-mode/focus-mode-main/focus-mode-main.component.scss @@ -481,7 +481,7 @@ breathing-dot { color: inherit; border: none; box-sizing: border-box; - word-wrap: break-word; + overflow-wrap: break-word; display: block; resize: none; min-height: 60px; diff --git a/src/app/features/note/note/note.component.scss b/src/app/features/note/note/note.component.scss index 63a6d8932d..3c2a7619aa 100644 --- a/src/app/features/note/note/note.component.scss +++ b/src/app/features/note/note/note.component.scss @@ -102,7 +102,7 @@ margin: 0; width: 100%; box-sizing: border-box; - word-wrap: break-word; + overflow-wrap: break-word; display: block; resize: none; min-height: 40px; diff --git a/src/app/features/planner/dialog-schedule-task/dialog-schedule-task.component.scss b/src/app/features/planner/dialog-schedule-task/dialog-schedule-task.component.scss index 51bf7c55d3..cb6dc2013d 100644 --- a/src/app/features/planner/dialog-schedule-task/dialog-schedule-task.component.scss +++ b/src/app/features/planner/dialog-schedule-task/dialog-schedule-task.component.scss @@ -136,7 +136,7 @@ mat-dialog-content { height: auto; min-height: 38px; white-space: normal; - word-break: break-word; + overflow-wrap: anywhere; text-align: center; } @@ -156,7 +156,7 @@ mat-dialog-content { .schedule-actions button, .dialog-cancel-btn { white-space: normal; - word-break: break-word; + overflow-wrap: anywhere; text-align: center; } diff --git a/src/app/features/planner/planner-calendar-event/planner-calendar-event.component.scss b/src/app/features/planner/planner-calendar-event/planner-calendar-event.component.scss index b98e487e9b..9a6e70bba3 100644 --- a/src/app/features/planner/planner-calendar-event/planner-calendar-event.component.scss +++ b/src/app/features/planner/planner-calendar-event/planner-calendar-event.component.scss @@ -57,7 +57,7 @@ flex-shrink: 1; min-width: 0; overflow: hidden; - word-break: break-word; + overflow-wrap: anywhere; font-size: var(--planner-font-size-mobile); @include mq(xs) { diff --git a/src/app/features/planner/planner-deadline-task/planner-deadline-task.component.scss b/src/app/features/planner/planner-deadline-task/planner-deadline-task.component.scss index b00d0a813d..bd00811245 100644 --- a/src/app/features/planner/planner-deadline-task/planner-deadline-task.component.scss +++ b/src/app/features/planner/planner-deadline-task/planner-deadline-task.component.scss @@ -41,7 +41,7 @@ flex-shrink: 1; min-width: 0; overflow: hidden; - word-break: break-word; + overflow-wrap: anywhere; @include mq(xs) { font-size: var(--planner-font-size); diff --git a/src/app/features/planner/planner-repeat-projection/planner-repeat-projection.component.scss b/src/app/features/planner/planner-repeat-projection/planner-repeat-projection.component.scss index 4d8cc2994d..e024b8bb30 100644 --- a/src/app/features/planner/planner-repeat-projection/planner-repeat-projection.component.scss +++ b/src/app/features/planner/planner-repeat-projection/planner-repeat-projection.component.scss @@ -41,7 +41,7 @@ flex-shrink: 1; min-width: 0; overflow: hidden; - word-break: break-word; + overflow-wrap: anywhere; @include mq(xs) { font-size: var(--planner-font-size); diff --git a/src/app/features/planner/planner-task/planner-task.component.scss b/src/app/features/planner/planner-task/planner-task.component.scss index e213d0d304..b9da17dc9f 100644 --- a/src/app/features/planner/planner-task/planner-task.component.scss +++ b/src/app/features/planner/planner-task/planner-task.component.scss @@ -106,7 +106,7 @@ done-toggle { line-height: 1.5; position: relative; overflow: hidden; - word-break: break-word; + overflow-wrap: anywhere; flex-grow: 1; flex-shrink: 1; @@ -121,7 +121,7 @@ done-toggle { padding-top: var(--s-half); padding-bottom: var(--s-half); overflow: hidden; - word-break: break-word; + overflow-wrap: anywhere; line-height: 1.1; font-size: var(--planner-font-size-smaller-mobile); diff --git a/src/app/features/quick-history/quick-history.component.scss b/src/app/features/quick-history/quick-history.component.scss index 27141f997e..fcf4f35d7e 100644 --- a/src/app/features/quick-history/quick-history.component.scss +++ b/src/app/features/quick-history/quick-history.component.scss @@ -141,7 +141,7 @@ $this-border-radius: 8px; padding-right: 0; width: 100%; // prevent overflow for looooong words - word-break: break-word; + overflow-wrap: anywhere; } &.worked { diff --git a/src/app/features/tasks/dialog-deadline/dialog-deadline.component.scss b/src/app/features/tasks/dialog-deadline/dialog-deadline.component.scss index d965a2f0c2..17f457bacf 100644 --- a/src/app/features/tasks/dialog-deadline/dialog-deadline.component.scss +++ b/src/app/features/tasks/dialog-deadline/dialog-deadline.component.scss @@ -115,7 +115,7 @@ mat-dialog-content { height: auto; min-height: 38px; white-space: normal; - word-break: break-word; + overflow-wrap: anywhere; text-align: center; } @@ -131,7 +131,7 @@ mat-dialog-content { .deadline-actions button, .dialog-cancel-btn { white-space: normal; - word-break: break-word; + overflow-wrap: anywhere; text-align: center; } diff --git a/src/app/features/tasks/dialog-view-archived-task/dialog-view-archived-task.component.scss b/src/app/features/tasks/dialog-view-archived-task/dialog-view-archived-task.component.scss index 7c6428fb6b..ec3b41a654 100644 --- a/src/app/features/tasks/dialog-view-archived-task/dialog-view-archived-task.component.scss +++ b/src/app/features/tasks/dialog-view-archived-task/dialog-view-archived-task.component.scss @@ -7,7 +7,7 @@ h2[mat-dialog-title] { display: flex; align-items: center; - word-break: break-word; + overflow-wrap: anywhere; mat-icon { flex-shrink: 0; diff --git a/src/app/features/tasks/task-summary-table/task-summary-table.component.scss b/src/app/features/tasks/task-summary-table/task-summary-table.component.scss index 484c13bafc..2a2f6eddfd 100644 --- a/src/app/features/tasks/task-summary-table/task-summary-table.component.scss +++ b/src/app/features/tasks/task-summary-table/task-summary-table.component.scss @@ -101,7 +101,7 @@ text-align: start; align-items: center; // prevent overflow for looooong words - word-break: break-word; + overflow-wrap: anywhere; &.isDone ::ng-deep .value-wrapper { text-decoration: line-through; @@ -113,7 +113,7 @@ > span { text-decoration: none !important; - word-break: break-word; + overflow-wrap: anywhere; display: block; padding-left: var(--s); } diff --git a/src/app/features/worklog/worklog.component.scss b/src/app/features/worklog/worklog.component.scss index 93c76e7a97..92ba07b207 100644 --- a/src/app/features/worklog/worklog.component.scss +++ b/src/app/features/worklog/worklog.component.scss @@ -238,7 +238,7 @@ position: relative; display: inline-block; // prevent overflow for looooong words - word-break: break-word; + overflow-wrap: anywhere; &:before { content: '•'; diff --git a/src/app/imex/sync/dialog-sync-conflict/dialog-sync-conflict.component.scss b/src/app/imex/sync/dialog-sync-conflict/dialog-sync-conflict.component.scss index a99e3a61e3..08fcd2e75e 100644 --- a/src/app/imex/sync/dialog-sync-conflict/dialog-sync-conflict.component.scss +++ b/src/app/imex/sync/dialog-sync-conflict/dialog-sync-conflict.component.scss @@ -52,7 +52,7 @@ th { td, th { padding: var(--s-half) var(--s-half); - word-break: break-word; + overflow-wrap: anywhere; min-width: auto; &:first-child { diff --git a/src/app/ui/dialog-fullscreen-markdown/dialog-fullscreen-markdown.component.scss b/src/app/ui/dialog-fullscreen-markdown/dialog-fullscreen-markdown.component.scss index 7ad3772978..80fafed35b 100644 --- a/src/app/ui/dialog-fullscreen-markdown/dialog-fullscreen-markdown.component.scss +++ b/src/app/ui/dialog-fullscreen-markdown/dialog-fullscreen-markdown.component.scss @@ -96,7 +96,7 @@ background: inherit; color: inherit; border: none; - word-wrap: break-word; + overflow-wrap: break-word; display: block; resize: none; font-size: 14px; diff --git a/src/app/ui/inline-markdown/inline-markdown.component.scss b/src/app/ui/inline-markdown/inline-markdown.component.scss index f9b6aac212..7b83a27973 100644 --- a/src/app/ui/inline-markdown/inline-markdown.component.scss +++ b/src/app/ui/inline-markdown/inline-markdown.component.scss @@ -39,7 +39,7 @@ margin: 0; width: 100%; box-sizing: border-box; - word-wrap: break-word; + overflow-wrap: break-word; display: block; resize: none; min-height: inherit; diff --git a/src/app/ui/task-title/task-title.component.scss b/src/app/ui/task-title/task-title.component.scss index 47df9d6df4..5e0341e945 100644 --- a/src/app/ui/task-title/task-title.component.scss +++ b/src/app/ui/task-title/task-title.component.scss @@ -54,7 +54,6 @@ opacity: 1; transition: opacity var(--transition-standard); white-space: pre-wrap; - word-break: break-word; overflow-wrap: break-word; text-wrap-mode: wrap; text-indent: 0; diff --git a/src/styles/components/issue-table.scss b/src/styles/components/issue-table.scss index a2a40effac..625d33fa3f 100644 --- a/src/styles/components/issue-table.scss +++ b/src/styles/components/issue-table.scss @@ -35,9 +35,7 @@ // to shrink the th col to a min td { - overflow-wrap: break-word; - word-wrap: break-word; - word-break: break-word; + overflow-wrap: anywhere; hyphens: auto; padding-left: 0; diff --git a/src/styles/components/markdown.scss b/src/styles/components/markdown.scss index 7f285fb497..648893a535 100644 --- a/src/styles/components/markdown.scss +++ b/src/styles/components/markdown.scss @@ -3,9 +3,7 @@ .markdown-preview, .markdown { @include scroll.scrollY; - word-wrap: break-word; - word-break: break-word; - overflow-wrap: break-word; + overflow-wrap: anywhere; hyphens: auto; *:first-child { diff --git a/src/styles/mixins/_material-icon.scss b/src/styles/mixins/_material-icon.scss index a21095334f..845d653c3f 100644 --- a/src/styles/mixins/_material-icon.scss +++ b/src/styles/mixins/_material-icon.scss @@ -8,7 +8,7 @@ line-height: 1; text-transform: none; letter-spacing: normal; - word-wrap: normal; + overflow-wrap: normal; white-space: nowrap; direction: ltr;