diff --git a/.eslintrc.js b/.eslintrc.js
index 62e04175..3a012201 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -1,41 +1,5 @@
module.exports = {
- root: true,
- env: {
- browser: true,
- es6: true,
- node: true
- },
- globals: {
- dav: true
- },
- extends: ['eslint:recommended', 'plugin:node/recommended', 'standard'],
- plugins: ['node'],
- rules: {
- // space before function ()
- 'space-before-function-paren': ['error', 'never'],
- // curly braces always space
- 'object-curly-spacing': ['error', 'always'],
- 'array-bracket-spacing': ['error', 'never'],
- // stay consistent with array brackets
- 'array-bracket-newline': ['error', 'consistent'],
- // 1tbs brace style
- 'brace-style': 'error',
- // tabs only
- indent: ['error', 'tab'],
- 'no-tabs': 0,
- // only debug console
- 'no-console': ['error', { allow: ['error', 'warn', 'debug'] }],
- // classes blocks
- 'padded-blocks': ['error', { classes: 'always' }],
- // always have the operator in front
- 'operator-linebreak': ['error', 'before'],
- // ternary on multiline
- 'multiline-ternary': ['error', 'always-multiline'],
- // es6 import/export and require
- 'node/no-unsupported-features/es-syntax': ['off'],
- // disable the recommended no-extra-semi
- semi: ['error', 'always'],
- // dot notation exclusion for uppercase first letters variables
- 'dot-notation': ['error', { allowPattern: '^[A-Z][a-zA-Z]+$' }]
- }
-};
+ extends: [
+ '@nextcloud',
+ ],
+}
diff --git a/babel.config.js b/babel.config.js
index 9e4568f3..8be4fc38 100644
--- a/babel.config.js
+++ b/babel.config.js
@@ -1,11 +1,3 @@
-module.exports = {
- presets: [
- [
- '@babel/preset-env',
- {
- useBuiltIns: 'usage',
- corejs: 3
- }
- ]
- ]
-}
\ No newline at end of file
+const babelConfig = require('@nextcloud/babel-config')
+
+module.exports = babelConfig
diff --git a/package-lock.json b/package-lock.json
index 6cb7f3ce..dd815f67 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,20 +8,12 @@
"name": "@nextcloud/cdav-library",
"version": "1.3.0",
"license": "AGPL-3.0",
- "dependencies": {
- "core-js": "^3.19.3",
- "regenerator-runtime": "^0.14.0"
- },
"devDependencies": {
"@babel/core": "^7.16.0",
- "@babel/preset-env": "^7.16.4",
+ "@nextcloud/babel-config": "^1.2.0",
"@nextcloud/browserslist-config": "^3.0.0",
- "babel-eslint": "^10.1.0",
+ "@nextcloud/eslint-config": "^8.4.1",
"babel-loader": "^9.1.0",
- "eslint": "^7.32.0",
- "eslint-config-standard": "^16.0.3",
- "eslint-loader": "^4.0.2",
- "eslint-plugin-node": "^11.1.0",
"istanbul": "^0.4.5",
"jasmine": "^5.0.0",
"karma": "^6.3.9",
@@ -117,6 +109,35 @@
"url": "https://opencollective.com/babel"
}
},
+ "node_modules/@babel/eslint-parser": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.24.7.tgz",
+ "integrity": "sha512-SO5E3bVxDuxyNxM5agFv480YA2HO6ohZbGxbazZdIk3KQOPOGVNw6q78I9/lbviIf95eq6tPozeYnJLbjnC8IA==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1",
+ "eslint-visitor-keys": "^2.1.0",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || >=14.0.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.11.0",
+ "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0"
+ }
+ },
+ "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
+ "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/@babel/generator": {
"version": "7.24.5",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.5.tgz",
@@ -137,6 +158,7 @@
"resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz",
"integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/types": "^7.22.5"
},
@@ -149,6 +171,7 @@
"resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz",
"integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/types": "^7.22.15"
},
@@ -192,6 +215,7 @@
"resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.5.tgz",
"integrity": "sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5",
"@babel/helper-environment-visitor": "^7.22.20",
@@ -215,6 +239,7 @@
"resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz",
"integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5",
"regexpu-core": "^5.3.1",
@@ -232,6 +257,7 @@
"resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz",
"integrity": "sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-compilation-targets": "^7.22.6",
"@babel/helper-plugin-utils": "^7.22.5",
@@ -282,6 +308,7 @@
"resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.5.tgz",
"integrity": "sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/types": "^7.24.5"
},
@@ -325,6 +352,7 @@
"resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz",
"integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/types": "^7.22.5"
},
@@ -337,6 +365,7 @@
"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz",
"integrity": "sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==",
"dev": true,
+ "peer": true,
"engines": {
"node": ">=6.9.0"
}
@@ -346,6 +375,7 @@
"resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz",
"integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5",
"@babel/helper-environment-visitor": "^7.22.20",
@@ -363,6 +393,7 @@
"resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz",
"integrity": "sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-environment-visitor": "^7.22.20",
"@babel/helper-member-expression-to-functions": "^7.23.0",
@@ -392,6 +423,7 @@
"resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz",
"integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/types": "^7.22.5"
},
@@ -443,6 +475,7 @@
"resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz",
"integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-function-name": "^7.22.5",
"@babel/template": "^7.22.15",
@@ -498,6 +531,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.5.tgz",
"integrity": "sha512-LdXRi1wEMTrHVR4Zc9F8OewC3vdm5h4QB6L71zy6StmYeqGi1b3ttIO8UC+BfZKcH9jdr4aI249rBkm+3+YvHw==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-environment-visitor": "^7.22.20",
"@babel/helper-plugin-utils": "^7.24.5"
@@ -514,6 +548,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz",
"integrity": "sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.0"
},
@@ -529,6 +564,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz",
"integrity": "sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.0",
"@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
@@ -546,6 +582,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz",
"integrity": "sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-environment-visitor": "^7.22.20",
"@babel/helper-plugin-utils": "^7.24.0"
@@ -562,6 +599,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz",
"integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==",
"dev": true,
+ "peer": true,
"engines": {
"node": ">=6.9.0"
},
@@ -574,6 +612,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
"integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
},
@@ -586,6 +625,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
"integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.12.13"
},
@@ -598,6 +638,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
"integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.14.5"
},
@@ -613,6 +654,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
"integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
},
@@ -625,6 +667,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
"integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.3"
},
@@ -637,6 +680,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz",
"integrity": "sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.0"
},
@@ -652,6 +696,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz",
"integrity": "sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.0"
},
@@ -667,6 +712,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
"integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.10.4"
},
@@ -679,6 +725,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
"integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
},
@@ -691,6 +738,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
"integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.10.4"
},
@@ -703,6 +751,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
"integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
},
@@ -715,6 +764,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
"integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.10.4"
},
@@ -727,6 +777,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
"integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
},
@@ -739,6 +790,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
"integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
},
@@ -751,6 +803,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
"integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
},
@@ -763,6 +816,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
"integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.14.5"
},
@@ -778,6 +832,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
"integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.14.5"
},
@@ -793,6 +848,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz",
"integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^7.18.6",
"@babel/helper-plugin-utils": "^7.18.6"
@@ -809,6 +865,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz",
"integrity": "sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.0"
},
@@ -824,6 +881,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz",
"integrity": "sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-environment-visitor": "^7.22.20",
"@babel/helper-plugin-utils": "^7.24.0",
@@ -842,6 +900,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz",
"integrity": "sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-module-imports": "^7.24.1",
"@babel/helper-plugin-utils": "^7.24.0",
@@ -859,6 +918,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz",
"integrity": "sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.0"
},
@@ -874,6 +934,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.5.tgz",
"integrity": "sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.5"
},
@@ -889,6 +950,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz",
"integrity": "sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-create-class-features-plugin": "^7.24.1",
"@babel/helper-plugin-utils": "^7.24.0"
@@ -905,6 +967,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz",
"integrity": "sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-create-class-features-plugin": "^7.24.4",
"@babel/helper-plugin-utils": "^7.24.0",
@@ -922,6 +985,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.5.tgz",
"integrity": "sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5",
"@babel/helper-compilation-targets": "^7.23.6",
@@ -944,6 +1008,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz",
"integrity": "sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.0",
"@babel/template": "^7.24.0"
@@ -960,6 +1025,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.5.tgz",
"integrity": "sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.5"
},
@@ -975,6 +1041,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz",
"integrity": "sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^7.22.15",
"@babel/helper-plugin-utils": "^7.24.0"
@@ -991,6 +1058,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz",
"integrity": "sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.0"
},
@@ -1006,6 +1074,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz",
"integrity": "sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.0",
"@babel/plugin-syntax-dynamic-import": "^7.8.3"
@@ -1022,6 +1091,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz",
"integrity": "sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15",
"@babel/helper-plugin-utils": "^7.24.0"
@@ -1038,6 +1108,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz",
"integrity": "sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.0",
"@babel/plugin-syntax-export-namespace-from": "^7.8.3"
@@ -1054,6 +1125,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz",
"integrity": "sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.0",
"@babel/helper-skip-transparent-expression-wrappers": "^7.22.5"
@@ -1070,6 +1142,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz",
"integrity": "sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-compilation-targets": "^7.23.6",
"@babel/helper-function-name": "^7.23.0",
@@ -1087,6 +1160,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz",
"integrity": "sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.0",
"@babel/plugin-syntax-json-strings": "^7.8.3"
@@ -1103,6 +1177,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz",
"integrity": "sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.0"
},
@@ -1118,6 +1193,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz",
"integrity": "sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.0",
"@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
@@ -1134,6 +1210,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz",
"integrity": "sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.0"
},
@@ -1149,6 +1226,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz",
"integrity": "sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-module-transforms": "^7.23.3",
"@babel/helper-plugin-utils": "^7.24.0"
@@ -1165,6 +1243,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz",
"integrity": "sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-module-transforms": "^7.23.3",
"@babel/helper-plugin-utils": "^7.24.0",
@@ -1182,6 +1261,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz",
"integrity": "sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-hoist-variables": "^7.22.5",
"@babel/helper-module-transforms": "^7.23.3",
@@ -1200,6 +1280,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz",
"integrity": "sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-module-transforms": "^7.23.3",
"@babel/helper-plugin-utils": "^7.24.0"
@@ -1216,6 +1297,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz",
"integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^7.22.5",
"@babel/helper-plugin-utils": "^7.22.5"
@@ -1232,6 +1314,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz",
"integrity": "sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.0"
},
@@ -1247,6 +1330,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz",
"integrity": "sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.0",
"@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
@@ -1263,6 +1347,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz",
"integrity": "sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.0",
"@babel/plugin-syntax-numeric-separator": "^7.10.4"
@@ -1279,6 +1364,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.5.tgz",
"integrity": "sha512-7EauQHszLGM3ay7a161tTQH7fj+3vVM/gThlz5HpFtnygTxjrlvoeq7MPVA1Vy9Q555OB8SnAOsMkLShNkkrHA==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-compilation-targets": "^7.23.6",
"@babel/helper-plugin-utils": "^7.24.5",
@@ -1297,6 +1383,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz",
"integrity": "sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.0",
"@babel/helper-replace-supers": "^7.24.1"
@@ -1313,6 +1400,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz",
"integrity": "sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.0",
"@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
@@ -1329,6 +1417,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.5.tgz",
"integrity": "sha512-xWCkmwKT+ihmA6l7SSTpk8e4qQl/274iNbSKRRS8mpqFR32ksy36+a+LWY8OXCCEefF8WFlnOHVsaDI2231wBg==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.5",
"@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
@@ -1346,6 +1435,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.5.tgz",
"integrity": "sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.5"
},
@@ -1361,6 +1451,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz",
"integrity": "sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-create-class-features-plugin": "^7.24.1",
"@babel/helper-plugin-utils": "^7.24.0"
@@ -1377,6 +1468,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.5.tgz",
"integrity": "sha512-JM4MHZqnWR04jPMujQDTBVRnqxpLLpx2tkn7iPn+Hmsc0Gnb79yvRWOkvqFOx3Z7P7VxiRIR22c4eGSNj87OBQ==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5",
"@babel/helper-create-class-features-plugin": "^7.24.5",
@@ -1395,6 +1487,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz",
"integrity": "sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.0"
},
@@ -1410,6 +1503,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz",
"integrity": "sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.0",
"regenerator-transform": "^0.15.2"
@@ -1426,6 +1520,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz",
"integrity": "sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.0"
},
@@ -1441,6 +1536,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz",
"integrity": "sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.0"
},
@@ -1456,6 +1552,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz",
"integrity": "sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.0",
"@babel/helper-skip-transparent-expression-wrappers": "^7.22.5"
@@ -1472,6 +1569,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz",
"integrity": "sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.0"
},
@@ -1487,6 +1585,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz",
"integrity": "sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.0"
},
@@ -1502,6 +1601,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.5.tgz",
"integrity": "sha512-UTGnhYVZtTAjdwOTzT+sCyXmTn8AhaxOS/MjG9REclZ6ULHWF9KoCZur0HSGU7hk8PdBFKKbYe6+gqdXWz84Jg==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.5"
},
@@ -1517,6 +1617,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz",
"integrity": "sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.0"
},
@@ -1532,6 +1633,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz",
"integrity": "sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^7.22.15",
"@babel/helper-plugin-utils": "^7.24.0"
@@ -1548,6 +1650,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz",
"integrity": "sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^7.22.15",
"@babel/helper-plugin-utils": "^7.24.0"
@@ -1564,6 +1667,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz",
"integrity": "sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^7.22.15",
"@babel/helper-plugin-utils": "^7.24.0"
@@ -1580,6 +1684,7 @@
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.5.tgz",
"integrity": "sha512-UGK2ifKtcC8i5AI4cH+sbLLuLc2ktYSFJgBAXorKAsHUZmrQ1q6aQ6i3BvU24wWs2AAKqQB6kq3N9V9Gw1HiMQ==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/compat-data": "^7.24.4",
"@babel/helper-compilation-targets": "^7.23.6",
@@ -1675,6 +1780,7 @@
"resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz",
"integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.0.0",
"@babel/types": "^7.4.4",
@@ -1688,13 +1794,15 @@
"version": "0.8.0",
"resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz",
"integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==",
- "dev": true
+ "dev": true,
+ "peer": true
},
"node_modules/@babel/runtime": {
"version": "7.24.1",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.1.tgz",
"integrity": "sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==",
"dev": true,
+ "peer": true,
"dependencies": {
"regenerator-runtime": "^0.14.0"
},
@@ -1769,31 +1877,97 @@
"node": ">=10.0.0"
}
},
+ "node_modules/@es-joy/jsdoccomment": {
+ "version": "0.41.0",
+ "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.41.0.tgz",
+ "integrity": "sha512-aKUhyn1QI5Ksbqcr3fFJj16p99QdjUxXAEuFst1Z47DRyoiMwivIH9MV/ARcJOCXVjPfjITciej8ZD2O/6qUmw==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "comment-parser": "1.4.1",
+ "esquery": "^1.5.0",
+ "jsdoc-type-pratt-parser": "~4.0.0"
+ },
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/@eslint-community/eslint-utils": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
+ "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "eslint-visitor-keys": "^3.3.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
+ }
+ },
+ "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/@eslint-community/regexpp": {
+ "version": "4.10.1",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.1.tgz",
+ "integrity": "sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+ }
+ },
"node_modules/@eslint/eslintrc": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz",
- "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==",
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
+ "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
"dev": true,
+ "peer": true,
"dependencies": {
"ajv": "^6.12.4",
- "debug": "^4.1.1",
- "espree": "^7.3.0",
- "globals": "^13.9.0",
- "ignore": "^4.0.6",
+ "debug": "^4.3.2",
+ "espree": "^9.6.0",
+ "globals": "^13.19.0",
+ "ignore": "^5.2.0",
"import-fresh": "^3.2.1",
- "js-yaml": "^3.13.1",
- "minimatch": "^3.0.4",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.1.2",
"strip-json-comments": "^3.1.1"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
}
},
+ "node_modules/@eslint/eslintrc/node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true,
+ "peer": true
+ },
"node_modules/@eslint/eslintrc/node_modules/globals": {
- "version": "13.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz",
- "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==",
+ "version": "13.24.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
"dev": true,
+ "peer": true,
"dependencies": {
"type-fest": "^0.20.2"
},
@@ -1804,25 +1978,64 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/@eslint/eslintrc/node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/@eslint/js": {
+ "version": "8.57.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
+ "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
"node_modules/@humanwhocodes/config-array": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz",
- "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==",
+ "version": "0.11.14",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
+ "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==",
"dev": true,
+ "peer": true,
"dependencies": {
- "@humanwhocodes/object-schema": "^1.2.0",
- "debug": "^4.1.1",
- "minimatch": "^3.0.4"
+ "@humanwhocodes/object-schema": "^2.0.2",
+ "debug": "^4.3.1",
+ "minimatch": "^3.0.5"
},
"engines": {
"node": ">=10.10.0"
}
},
+ "node_modules/@humanwhocodes/module-importer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">=12.22"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
+ },
"node_modules/@humanwhocodes/object-schema": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
- "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
- "dev": true
+ "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,
+ "peer": true
},
"node_modules/@isaacs/cliui": {
"version": "8.0.2",
@@ -1987,6 +2200,21 @@
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
+ "node_modules/@nextcloud/babel-config": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@nextcloud/babel-config/-/babel-config-1.2.0.tgz",
+ "integrity": "sha512-QOESlmX99UOfXdPANpoeFtfoRWWfKhBm1wXgF2lLnwpOBq4ZzdtqI+wphhWA/lkdfw/sftZzd1UJF/gcPDpiAw==",
+ "dev": true,
+ "engines": {
+ "node": "^20.0.0",
+ "npm": "^10.0.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.24.5",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3",
+ "@babel/preset-env": "^7.24.5"
+ }
+ },
"node_modules/@nextcloud/browserslist-config": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@nextcloud/browserslist-config/-/browserslist-config-3.0.1.tgz",
@@ -1997,6 +2225,112 @@
"npm": "^10.0.0"
}
},
+ "node_modules/@nextcloud/eslint-config": {
+ "version": "8.4.1",
+ "resolved": "https://registry.npmjs.org/@nextcloud/eslint-config/-/eslint-config-8.4.1.tgz",
+ "integrity": "sha512-ilrPxOnfVkB4dAddtkhbJmbYK9FwEVZ5oIJ2ipiE97rQz82TUZxmfEHE1tr87FbIvz0drIcREgGil3zuNWHjrg==",
+ "dev": true,
+ "engines": {
+ "node": "^20.0.0",
+ "npm": "^10.0.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.24.5",
+ "@babel/eslint-parser": "^7.16.5",
+ "@nextcloud/eslint-plugin": "^2.2.1",
+ "@vue/eslint-config-typescript": "^13.0.0",
+ "eslint": "^8.27.0",
+ "eslint-config-standard": "^17.1.0",
+ "eslint-import-resolver-exports": "^1.0.0-beta.5",
+ "eslint-import-resolver-typescript": "^3.6.1",
+ "eslint-plugin-import": "^2.26.0",
+ "eslint-plugin-jsdoc": "^46.2.6",
+ "eslint-plugin-n": "^16.0.0",
+ "eslint-plugin-promise": "^6.1.1",
+ "eslint-plugin-vue": "^9.7.0",
+ "typescript": "^5.0.2"
+ }
+ },
+ "node_modules/@nextcloud/eslint-plugin": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/@nextcloud/eslint-plugin/-/eslint-plugin-2.2.1.tgz",
+ "integrity": "sha512-RX+0FxpL1h2EzjNLeW0VSGTkbyWIq7WgV7QAjtyUmDbSGwf1ds9Zy5OcRkgXRHRIu/W0gB0DhS2iz9qXHphCzA==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "fast-xml-parser": "^4.2.5",
+ "requireindex": "^1.2.0",
+ "semver": "^7.5.3"
+ },
+ "engines": {
+ "node": "^20.0.0",
+ "npm": "^10.0.0"
+ },
+ "peerDependencies": {
+ "eslint": ">=7.0.0"
+ }
+ },
+ "node_modules/@nextcloud/eslint-plugin/node_modules/semver": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+ "dev": true,
+ "peer": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": {
+ "version": "5.1.1-v1",
+ "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz",
+ "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "eslint-scope": "5.1.1"
+ }
+ },
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
"node_modules/@pkgjs/parseargs": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
@@ -2073,6 +2407,283 @@
"integrity": "sha512-QB5D2sqfSjCmTuWcBWyJ+/44bcjO7VbjSbOE0ucoVbAsSNQc4Lt6QkgkVXkTDwkL4z/beecZNDvVX15D4P8Jbw==",
"dev": true
},
+ "node_modules/@typescript-eslint/eslint-plugin": {
+ "version": "7.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.12.0.tgz",
+ "integrity": "sha512-7F91fcbuDf/d3S8o21+r3ZncGIke/+eWk0EpO21LXhDfLahriZF9CGj4fbAetEjlaBdjdSm9a6VeXbpbT6Z40Q==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@eslint-community/regexpp": "^4.10.0",
+ "@typescript-eslint/scope-manager": "7.12.0",
+ "@typescript-eslint/type-utils": "7.12.0",
+ "@typescript-eslint/utils": "7.12.0",
+ "@typescript-eslint/visitor-keys": "7.12.0",
+ "graphemer": "^1.4.0",
+ "ignore": "^5.3.1",
+ "natural-compare": "^1.4.0",
+ "ts-api-utils": "^1.3.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "@typescript-eslint/parser": "^7.0.0",
+ "eslint": "^8.56.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/parser": {
+ "version": "7.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.12.0.tgz",
+ "integrity": "sha512-dm/J2UDY3oV3TKius2OUZIFHsomQmpHtsV0FTh1WO8EKgHLQ1QCADUqscPgTpU+ih1e21FQSRjXckHn3txn6kQ==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@typescript-eslint/scope-manager": "7.12.0",
+ "@typescript-eslint/types": "7.12.0",
+ "@typescript-eslint/typescript-estree": "7.12.0",
+ "@typescript-eslint/visitor-keys": "7.12.0",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.56.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/scope-manager": {
+ "version": "7.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.12.0.tgz",
+ "integrity": "sha512-itF1pTnN6F3unPak+kutH9raIkL3lhH1YRPGgt7QQOh43DQKVJXmWkpb+vpc/TiDHs6RSd9CTbDsc/Y+Ygq7kg==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@typescript-eslint/types": "7.12.0",
+ "@typescript-eslint/visitor-keys": "7.12.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/type-utils": {
+ "version": "7.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.12.0.tgz",
+ "integrity": "sha512-lib96tyRtMhLxwauDWUp/uW3FMhLA6D0rJ8T7HmH7x23Gk1Gwwu8UZ94NMXBvOELn6flSPiBrCKlehkiXyaqwA==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@typescript-eslint/typescript-estree": "7.12.0",
+ "@typescript-eslint/utils": "7.12.0",
+ "debug": "^4.3.4",
+ "ts-api-utils": "^1.3.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.56.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/types": {
+ "version": "7.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.12.0.tgz",
+ "integrity": "sha512-o+0Te6eWp2ppKY3mLCU+YA9pVJxhUJE15FV7kxuD9jgwIAa+w/ycGJBMrYDTpVGUM/tgpa9SeMOugSabWFq7bg==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree": {
+ "version": "7.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.12.0.tgz",
+ "integrity": "sha512-5bwqLsWBULv1h6pn7cMW5dXX/Y2amRqLaKqsASVwbBHMZSnHqE/HN4vT4fE0aFsiwxYvr98kqOWh1a8ZKXalCQ==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@typescript-eslint/types": "7.12.0",
+ "@typescript-eslint/visitor-keys": "7.12.0",
+ "debug": "^4.3.4",
+ "globby": "^11.1.0",
+ "is-glob": "^4.0.3",
+ "minimatch": "^9.0.4",
+ "semver": "^7.6.0",
+ "ts-api-utils": "^1.3.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
+ "version": "9.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
+ "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+ "dev": true,
+ "peer": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@typescript-eslint/utils": {
+ "version": "7.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.12.0.tgz",
+ "integrity": "sha512-Y6hhwxwDx41HNpjuYswYp6gDbkiZ8Hin9Bf5aJQn1bpTs3afYY4GX+MPYxma8jtoIV2GRwTM/UJm/2uGCVv+DQ==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.4.0",
+ "@typescript-eslint/scope-manager": "7.12.0",
+ "@typescript-eslint/types": "7.12.0",
+ "@typescript-eslint/typescript-estree": "7.12.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.56.0"
+ }
+ },
+ "node_modules/@typescript-eslint/visitor-keys": {
+ "version": "7.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.12.0.tgz",
+ "integrity": "sha512-uZk7DevrQLL3vSnfFl5bj4sL75qC9D6EdjemIdbtkuUmIheWpuiiylSY01JxJE7+zGrOWDZrp1WxOuDntvKrHQ==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@typescript-eslint/types": "7.12.0",
+ "eslint-visitor-keys": "^3.4.3"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/@ungap/structured-clone": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
+ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
+ "dev": true,
+ "peer": true
+ },
+ "node_modules/@vue/eslint-config-typescript": {
+ "version": "13.0.0",
+ "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-13.0.0.tgz",
+ "integrity": "sha512-MHh9SncG/sfqjVqjcuFLOLD6Ed4dRAis4HNt0dXASeAuLqIAx4YMB1/m2o4pUKK1vCt8fUvYG8KKX2Ot3BVZTg==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@typescript-eslint/eslint-plugin": "^7.1.1",
+ "@typescript-eslint/parser": "^7.1.1",
+ "vue-eslint-parser": "^9.3.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "peerDependencies": {
+ "eslint": "^8.56.0",
+ "eslint-plugin-vue": "^9.0.0",
+ "typescript": ">=4.7.4"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
"node_modules/@webassemblyjs/ast": {
"version": "1.12.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz",
@@ -2295,9 +2906,9 @@
}
},
"node_modules/acorn": {
- "version": "7.4.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
- "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
+ "version": "8.11.3",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
+ "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
"dev": true,
"bin": {
"acorn": "bin/acorn"
@@ -2311,6 +2922,7 @@
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
"dev": true,
+ "peer": true,
"peerDependencies": {
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
@@ -2389,15 +3001,6 @@
"node": ">=0.4.2"
}
},
- "node_modules/ansi-colors": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
- "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/ansi-regex": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
@@ -2432,6 +3035,16 @@
"node": ">= 8"
}
},
+ "node_modules/are-docs-informative": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz",
+ "integrity": "sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">=14"
+ }
+ },
"node_modules/argparse": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
@@ -2475,6 +3088,16 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "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,
+ "peer": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/array.prototype.findlastindex": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz",
@@ -2555,15 +3178,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/astral-regex": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
- "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/async": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
@@ -2583,27 +3197,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/babel-eslint": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz",
- "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==",
- "deprecated": "babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.0.0",
- "@babel/parser": "^7.7.0",
- "@babel/traverse": "^7.7.0",
- "@babel/types": "^7.7.0",
- "eslint-visitor-keys": "^1.0.0",
- "resolve": "^1.12.0"
- },
- "engines": {
- "node": ">=6"
- },
- "peerDependencies": {
- "eslint": ">= 4.12.1"
- }
- },
"node_modules/babel-loader": {
"version": "9.1.3",
"resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz",
@@ -2695,6 +3288,7 @@
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz",
"integrity": "sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/compat-data": "^7.22.6",
"@babel/helper-define-polyfill-provider": "^0.6.1",
@@ -2709,6 +3303,7 @@
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz",
"integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-define-polyfill-provider": "^0.6.1",
"core-js-compat": "^3.36.1"
@@ -2722,6 +3317,7 @@
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz",
"integrity": "sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/helper-define-polyfill-provider": "^0.6.1"
},
@@ -2744,15 +3340,6 @@
"node": "^4.5.0 || >= 5.9"
}
},
- "node_modules/big.js": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
- "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
"node_modules/binary-extensions": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
@@ -2813,6 +3400,13 @@
"node": ">= 0.8"
}
},
+ "node_modules/boolbase": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+ "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
+ "dev": true,
+ "peer": true
+ },
"node_modules/brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -2824,12 +3418,12 @@
}
},
"node_modules/braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dev": true,
"dependencies": {
- "fill-range": "^7.0.1"
+ "fill-range": "^7.1.1"
},
"engines": {
"node": ">=8"
@@ -2873,6 +3467,42 @@
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
"dev": true
},
+ "node_modules/builtin-modules": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz",
+ "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/builtins": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz",
+ "integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "semver": "^7.0.0"
+ }
+ },
+ "node_modules/builtins/node_modules/semver": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+ "dev": true,
+ "peer": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/bytes": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
@@ -2901,6 +3531,7 @@
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
"dev": true,
+ "peer": true,
"engines": {
"node": ">=6"
}
@@ -3024,18 +3655,22 @@
"node": ">=14"
}
},
+ "node_modules/comment-parser": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz",
+ "integrity": "sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
"node_modules/common-path-prefix": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz",
"integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==",
"dev": true
},
- "node_modules/commondir": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
- "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
- "dev": true
- },
"node_modules/concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -3096,21 +3731,12 @@
"node": ">= 0.6"
}
},
- "node_modules/core-js": {
- "version": "3.37.1",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.37.1.tgz",
- "integrity": "sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw==",
- "hasInstallScript": true,
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/core-js"
- }
- },
"node_modules/core-js-compat": {
"version": "3.36.1",
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.1.tgz",
"integrity": "sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==",
"dev": true,
+ "peer": true,
"dependencies": {
"browserslist": "^4.23.0"
},
@@ -3146,6 +3772,19 @@
"node": ">= 8"
}
},
+ "node_modules/cssesc": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+ "dev": true,
+ "peer": true,
+ "bin": {
+ "cssesc": "bin/cssesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/custom-event": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
@@ -3241,11 +3880,25 @@
"integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=",
"dev": true
},
+ "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,
+ "peer": true,
+ "dependencies": {
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/doctrine": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
"integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
"dev": true,
+ "peer": true,
"dependencies": {
"esutils": "^2.0.2"
},
@@ -3289,15 +3942,6 @@
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
- "node_modules/emojis-list": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
- "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
- "dev": true,
- "engines": {
- "node": ">= 4"
- }
- },
"node_modules/encodeurl": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
@@ -3350,18 +3994,6 @@
"node": ">=10.13.0"
}
},
- "node_modules/enquirer": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
- "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
- "dev": true,
- "dependencies": {
- "ansi-colors": "^4.1.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
"node_modules/ent": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
@@ -3603,66 +4235,94 @@
}
},
"node_modules/eslint": {
- "version": "7.32.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz",
- "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==",
+ "version": "8.57.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz",
+ "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==",
"dev": true,
+ "peer": true,
"dependencies": {
- "@babel/code-frame": "7.12.11",
- "@eslint/eslintrc": "^0.4.3",
- "@humanwhocodes/config-array": "^0.5.0",
- "ajv": "^6.10.0",
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@eslint-community/regexpp": "^4.6.1",
+ "@eslint/eslintrc": "^2.1.4",
+ "@eslint/js": "8.57.0",
+ "@humanwhocodes/config-array": "^0.11.14",
+ "@humanwhocodes/module-importer": "^1.0.1",
+ "@nodelib/fs.walk": "^1.2.8",
+ "@ungap/structured-clone": "^1.2.0",
+ "ajv": "^6.12.4",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
- "debug": "^4.0.1",
+ "debug": "^4.3.2",
"doctrine": "^3.0.0",
- "enquirer": "^2.3.5",
"escape-string-regexp": "^4.0.0",
- "eslint-scope": "^5.1.1",
- "eslint-utils": "^2.1.0",
- "eslint-visitor-keys": "^2.0.0",
- "espree": "^7.3.1",
- "esquery": "^1.4.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": "^6.0.1",
- "functional-red-black-tree": "^1.0.1",
- "glob-parent": "^5.1.2",
- "globals": "^13.6.0",
- "ignore": "^4.0.6",
- "import-fresh": "^3.0.0",
+ "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",
- "js-yaml": "^3.13.1",
+ "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.0.4",
+ "minimatch": "^3.1.2",
"natural-compare": "^1.4.0",
- "optionator": "^0.9.1",
- "progress": "^2.0.0",
- "regexpp": "^3.1.0",
- "semver": "^7.2.1",
- "strip-ansi": "^6.0.0",
- "strip-json-comments": "^3.1.0",
- "table": "^6.0.9",
- "text-table": "^0.2.0",
- "v8-compile-cache": "^2.0.3"
+ "optionator": "^0.9.3",
+ "strip-ansi": "^6.0.1",
+ "text-table": "^0.2.0"
},
"bin": {
"eslint": "bin/eslint.js"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
}
},
+ "node_modules/eslint-compat-utils": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz",
+ "integrity": "sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "semver": "^7.5.4"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "peerDependencies": {
+ "eslint": ">=6.0.0"
+ }
+ },
+ "node_modules/eslint-compat-utils/node_modules/semver": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+ "dev": true,
+ "peer": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/eslint-config-standard": {
- "version": "16.0.3",
- "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.3.tgz",
- "integrity": "sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg==",
+ "version": "17.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz",
+ "integrity": "sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==",
"dev": true,
"funding": [
{
@@ -3678,11 +4338,29 @@
"url": "https://feross.org/support"
}
],
+ "peer": true,
+ "engines": {
+ "node": ">=12.0.0"
+ },
"peerDependencies": {
- "eslint": "^7.12.1",
- "eslint-plugin-import": "^2.22.1",
- "eslint-plugin-node": "^11.1.0",
- "eslint-plugin-promise": "^4.2.1 || ^5.0.0"
+ "eslint": "^8.0.1",
+ "eslint-plugin-import": "^2.25.2",
+ "eslint-plugin-n": "^15.0.0 || ^16.0.0 ",
+ "eslint-plugin-promise": "^6.0.0"
+ }
+ },
+ "node_modules/eslint-import-resolver-exports": {
+ "version": "1.0.0-beta.5",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-exports/-/eslint-import-resolver-exports-1.0.0-beta.5.tgz",
+ "integrity": "sha512-o6t0w7muUpXr7MkUVzD5igQoDfAQvTmcPp8HEAJdNF8eOuAO+yn6I/TTyMxz9ecCwzX7e02vzlkHURoScUuidg==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "resolve.exports": "^2.0.0"
+ },
+ "peerDependencies": {
+ "eslint": "*",
+ "eslint-plugin-import": "*"
}
},
"node_modules/eslint-import-resolver-node": {
@@ -3707,39 +4385,30 @@
"ms": "^2.1.1"
}
},
- "node_modules/eslint-loader": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-4.0.2.tgz",
- "integrity": "sha512-EDpXor6lsjtTzZpLUn7KmXs02+nIjGcgees9BYjNkWra3jVq5vVa8IoCKgzT2M7dNNeoMBtaSG83Bd40N3poLw==",
- "deprecated": "This loader has been deprecated. Please use eslint-webpack-plugin",
+ "node_modules/eslint-import-resolver-typescript": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz",
+ "integrity": "sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==",
"dev": true,
+ "peer": true,
"dependencies": {
- "find-cache-dir": "^3.3.1",
- "fs-extra": "^8.1.0",
- "loader-utils": "^2.0.0",
- "object-hash": "^2.0.3",
- "schema-utils": "^2.6.5"
+ "debug": "^4.3.4",
+ "enhanced-resolve": "^5.12.0",
+ "eslint-module-utils": "^2.7.4",
+ "fast-glob": "^3.3.1",
+ "get-tsconfig": "^4.5.0",
+ "is-core-module": "^2.11.0",
+ "is-glob": "^4.0.3"
},
"engines": {
- "node": ">= 10.13.0"
+ "node": "^14.18.0 || >=16.0.0"
},
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0",
- "webpack": "^4.0.0 || ^5.0.0"
- }
- },
- "node_modules/eslint-loader/node_modules/fs-extra": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
- "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
+ "funding": {
+ "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts"
},
- "engines": {
- "node": ">=6 <7 || >=8"
+ "peerDependencies": {
+ "eslint": "*",
+ "eslint-plugin-import": "*"
}
},
"node_modules/eslint-module-utils": {
@@ -3770,23 +4439,26 @@
"ms": "^2.1.1"
}
},
- "node_modules/eslint-plugin-es": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz",
- "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==",
+ "node_modules/eslint-plugin-es-x": {
+ "version": "7.7.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.7.0.tgz",
+ "integrity": "sha512-aP3qj8BwiEDPttxQkZdI221DLKq9sI/qHolE2YSQL1/9+xk7dTV+tB1Fz8/IaCA+lnLA1bDEnvaS2LKs0k2Uig==",
"dev": true,
+ "funding": [
+ "https://github.com/sponsors/ota-meshi",
+ "https://opencollective.com/eslint"
+ ],
+ "peer": true,
"dependencies": {
- "eslint-utils": "^2.0.0",
- "regexpp": "^3.0.0"
+ "@eslint-community/eslint-utils": "^4.1.2",
+ "@eslint-community/regexpp": "^4.6.0",
+ "eslint-compat-utils": "^0.5.1"
},
"engines": {
- "node": ">=8.10.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/mysticatea"
+ "node": "^14.18.0 || >=16.0.0"
},
"peerDependencies": {
- "eslint": ">=4.19.1"
+ "eslint": ">=8"
}
},
"node_modules/eslint-plugin-import": {
@@ -3844,92 +4516,193 @@
"node": ">=0.10.0"
}
},
- "node_modules/eslint-plugin-node": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz",
- "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==",
+ "node_modules/eslint-plugin-jsdoc": {
+ "version": "46.10.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.10.1.tgz",
+ "integrity": "sha512-x8wxIpv00Y50NyweDUpa+58ffgSAI5sqe+zcZh33xphD0AVh+1kqr1ombaTRb7Fhpove1zfUuujlX9DWWBP5ag==",
"dev": true,
+ "peer": true,
"dependencies": {
- "eslint-plugin-es": "^3.0.0",
- "eslint-utils": "^2.0.0",
- "ignore": "^5.1.1",
- "minimatch": "^3.0.4",
- "resolve": "^1.10.1",
- "semver": "^6.1.0"
+ "@es-joy/jsdoccomment": "~0.41.0",
+ "are-docs-informative": "^0.0.2",
+ "comment-parser": "1.4.1",
+ "debug": "^4.3.4",
+ "escape-string-regexp": "^4.0.0",
+ "esquery": "^1.5.0",
+ "is-builtin-module": "^3.2.1",
+ "semver": "^7.5.4",
+ "spdx-expression-parse": "^4.0.0"
},
"engines": {
- "node": ">=8.10.0"
+ "node": ">=16"
},
"peerDependencies": {
- "eslint": ">=5.16.0"
+ "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0"
}
},
- "node_modules/eslint-plugin-node/node_modules/ignore": {
- "version": "5.1.9",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz",
- "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==",
+ "node_modules/eslint-plugin-jsdoc/node_modules/escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
"dev": true,
+ "peer": true,
"engines": {
- "node": ">= 4"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint-plugin-jsdoc/node_modules/semver": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+ "dev": true,
+ "peer": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/eslint-plugin-n": {
+ "version": "16.6.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.6.2.tgz",
+ "integrity": "sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.4.0",
+ "builtins": "^5.0.1",
+ "eslint-plugin-es-x": "^7.5.0",
+ "get-tsconfig": "^4.7.0",
+ "globals": "^13.24.0",
+ "ignore": "^5.2.4",
+ "is-builtin-module": "^3.2.1",
+ "is-core-module": "^2.12.1",
+ "minimatch": "^3.1.2",
+ "resolve": "^1.22.2",
+ "semver": "^7.5.3"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ },
+ "peerDependencies": {
+ "eslint": ">=7.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-n/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,
+ "peer": true,
+ "dependencies": {
+ "type-fest": "^0.20.2"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint-plugin-n/node_modules/semver": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+ "dev": true,
+ "peer": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
}
},
"node_modules/eslint-plugin-promise": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-5.2.0.tgz",
- "integrity": "sha512-SftLb1pUG01QYq2A/hGAWfDRXqYD82zE7j7TopDOyNdU+7SvvoXREls/+PRTY17vUXzXnZA/zfnyKgRH6x4JJw==",
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.2.0.tgz",
+ "integrity": "sha512-QmAqwizauvnKOlifxyDj2ObfULpHQawlg/zQdgEixur9vl0CvZGv/LCJV2rtj3210QCoeGBzVMfMXqGAOr/4fA==",
"dev": true,
"peer": true,
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
},
"peerDependencies": {
- "eslint": "^7.0.0"
+ "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0"
}
},
- "node_modules/eslint-scope": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
- "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+ "node_modules/eslint-plugin-vue": {
+ "version": "9.26.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.26.0.tgz",
+ "integrity": "sha512-eTvlxXgd4ijE1cdur850G6KalZqk65k1JKoOI2d1kT3hr8sPD07j1q98FRFdNnpxBELGPWxZmInxeHGF/GxtqQ==",
"dev": true,
+ "peer": true,
"dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^4.1.1"
+ "@eslint-community/eslint-utils": "^4.4.0",
+ "globals": "^13.24.0",
+ "natural-compare": "^1.4.0",
+ "nth-check": "^2.1.1",
+ "postcss-selector-parser": "^6.0.15",
+ "semver": "^7.6.0",
+ "vue-eslint-parser": "^9.4.2",
+ "xml-name-validator": "^4.0.0"
},
"engines": {
- "node": ">=8.0.0"
+ "node": "^14.17.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0"
}
},
- "node_modules/eslint-utils": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
- "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
+ "node_modules/eslint-plugin-vue/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,
+ "peer": true,
"dependencies": {
- "eslint-visitor-keys": "^1.1.0"
+ "type-fest": "^0.20.2"
},
"engines": {
- "node": ">=6"
+ "node": ">=8"
},
"funding": {
- "url": "https://github.com/sponsors/mysticatea"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/eslint-visitor-keys": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
- "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+ "node_modules/eslint-plugin-vue/node_modules/semver": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
"dev": true,
+ "peer": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
"engines": {
- "node": ">=4"
+ "node": ">=10"
}
},
- "node_modules/eslint/node_modules/@babel/code-frame": {
- "version": "7.12.11",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
- "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
+ "node_modules/eslint-scope": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
"dev": true,
"dependencies": {
- "@babel/highlight": "^7.10.4"
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
}
},
"node_modules/eslint/node_modules/ansi-styles": {
@@ -3937,6 +4710,7 @@
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
+ "peer": true,
"dependencies": {
"color-convert": "^2.0.1"
},
@@ -3947,11 +4721,19 @@
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
+ "node_modules/eslint/node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true,
+ "peer": true
+ },
"node_modules/eslint/node_modules/chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
+ "peer": true,
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -3968,6 +4750,7 @@
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
+ "peer": true,
"dependencies": {
"color-name": "~1.1.4"
},
@@ -3979,13 +4762,15 @@
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
+ "dev": true,
+ "peer": true
},
"node_modules/eslint/node_modules/escape-string-regexp": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
"dev": true,
+ "peer": true,
"engines": {
"node": ">=10"
},
@@ -3993,20 +4778,82 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "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,
+ "peer": true,
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
"node_modules/eslint/node_modules/eslint-visitor-keys": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
- "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint/node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/eslint/node_modules/find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
"dev": true,
+ "peer": true,
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
"engines": {
"node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint/node_modules/glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
}
},
"node_modules/eslint/node_modules/globals": {
- "version": "13.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz",
- "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==",
+ "version": "13.24.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
"dev": true,
+ "peer": true,
"dependencies": {
"type-fest": "^0.20.2"
},
@@ -4022,21 +4869,80 @@
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
+ "peer": true,
"engines": {
"node": ">=8"
}
},
- "node_modules/eslint/node_modules/semver": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
- "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+ "node_modules/eslint/node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
"dev": true,
- "license": "ISC",
+ "peer": true,
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
"bin": {
- "semver": "bin/semver.js"
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/eslint/node_modules/locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint/node_modules/p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "yocto-queue": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint/node_modules/p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "p-limit": "^3.0.2"
},
"engines": {
"node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint/node_modules/path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">=8"
}
},
"node_modules/eslint/node_modules/supports-color": {
@@ -4044,6 +4950,7 @@
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
+ "peer": true,
"dependencies": {
"has-flag": "^4.0.0"
},
@@ -4051,18 +4958,48 @@
"node": ">=8"
}
},
+ "node_modules/eslint/node_modules/yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/espree": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz",
- "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==",
+ "version": "9.6.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
+ "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
"dev": true,
+ "peer": true,
"dependencies": {
- "acorn": "^7.4.0",
- "acorn-jsx": "^5.3.1",
- "eslint-visitor-keys": "^1.3.0"
+ "acorn": "^8.9.0",
+ "acorn-jsx": "^5.3.2",
+ "eslint-visitor-keys": "^3.4.1"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/espree/node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
}
},
"node_modules/esprima": {
@@ -4079,10 +5016,11 @@
}
},
"node_modules/esquery": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
- "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
+ "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
"dev": true,
+ "peer": true,
"dependencies": {
"estraverse": "^5.1.0"
},
@@ -4095,6 +5033,7 @@
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
"dev": true,
+ "peer": true,
"engines": {
"node": ">=4.0"
}
@@ -4165,6 +5104,23 @@
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
"dev": true
},
+ "node_modules/fast-glob": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
+ "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.4"
+ },
+ "engines": {
+ "node": ">=8.6.0"
+ }
+ },
"node_modules/fast-json-stable-stringify": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
@@ -4177,17 +5133,51 @@
"integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
"dev": true
},
+ "node_modules/fast-xml-parser": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.0.tgz",
+ "integrity": "sha512-kLY3jFlwIYwBNDojclKsNAC12sfD6NwW74QB2CoNGPvtVxjliYehVunB3HYyNi+n4Tt1dAcgwYvmKF/Z18flqg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ },
+ {
+ "type": "paypal",
+ "url": "https://paypal.me/naturalintelligence"
+ }
+ ],
+ "peer": true,
+ "dependencies": {
+ "strnum": "^1.0.5"
+ },
+ "bin": {
+ "fxparser": "src/cli/cli.js"
+ }
+ },
"node_modules/fastest-levenshtein": {
"version": "1.0.12",
"resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz",
"integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==",
"dev": true
},
+ "node_modules/fastq": {
+ "version": "1.17.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
+ "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
"node_modules/file-entry-cache": {
"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,
+ "peer": true,
"dependencies": {
"flat-cache": "^3.0.4"
},
@@ -4196,9 +5186,9 @@
}
},
"node_modules/fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dev": true,
"dependencies": {
"to-regex-range": "^5.0.1"
@@ -4240,105 +5230,6 @@
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
},
- "node_modules/find-cache-dir": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
- "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
- "dev": true,
- "dependencies": {
- "commondir": "^1.0.1",
- "make-dir": "^3.0.2",
- "pkg-dir": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/avajs/find-cache-dir?sponsor=1"
- }
- },
- "node_modules/find-cache-dir/node_modules/find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "dependencies": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/find-cache-dir/node_modules/locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "dependencies": {
- "p-locate": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/find-cache-dir/node_modules/p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "dependencies": {
- "p-try": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/find-cache-dir/node_modules/p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "dependencies": {
- "p-limit": "^2.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/find-cache-dir/node_modules/p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/find-cache-dir/node_modules/path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/find-cache-dir/node_modules/pkg-dir": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
- "dev": true,
- "dependencies": {
- "find-up": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/find-up": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz",
@@ -4369,6 +5260,7 @@
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
"integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
"dev": true,
+ "peer": true,
"dependencies": {
"flatted": "^3.1.0",
"rimraf": "^3.0.2"
@@ -4477,12 +5369,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/functional-red-black-tree": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
- "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
- "dev": true
- },
"node_modules/functions-have-names": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
@@ -4543,6 +5429,19 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/get-tsconfig": {
+ "version": "4.7.5",
+ "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.5.tgz",
+ "integrity": "sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "resolve-pkg-maps": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
+ }
+ },
"node_modules/glob": {
"version": "5.0.15",
"resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
@@ -4602,6 +5501,27 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/globby": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+ "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+ "dev": true,
+ "peer": true,
+ "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"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/gopd": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
@@ -4620,6 +5540,13 @@
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
"dev": true
},
+ "node_modules/graphemer": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
+ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
+ "dev": true,
+ "peer": true
+ },
"node_modules/handlebars": {
"version": "4.7.7",
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz",
@@ -4782,10 +5709,11 @@
}
},
"node_modules/ignore": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
- "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
+ "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
"dev": true,
+ "peer": true,
"engines": {
"node": ">= 4"
}
@@ -4795,6 +5723,7 @@
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
"integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
+ "peer": true,
"dependencies": {
"parent-module": "^1.0.0",
"resolve-from": "^4.0.0"
@@ -4909,6 +5838,7 @@
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
"integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
"dev": true,
+ "peer": true,
"engines": {
"node": ">=0.8.19"
}
@@ -5010,6 +5940,22 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-builtin-module": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz",
+ "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "builtin-modules": "^3.3.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/is-callable": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
@@ -5134,6 +6080,16 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "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,
+ "peer": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/is-plain-object": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
@@ -5594,6 +6550,16 @@
"node": ">=4"
}
},
+ "node_modules/jsdoc-type-pratt-parser": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz",
+ "integrity": "sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
"node_modules/jsesc": {
"version": "2.5.2",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
@@ -5622,7 +6588,8 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
"integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
- "dev": true
+ "dev": true,
+ "peer": true
},
"node_modules/json5": {
"version": "2.2.3",
@@ -5636,15 +6603,6 @@
"node": ">=6"
}
},
- "node_modules/jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
- "dev": true,
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
"node_modules/karma": {
"version": "6.4.3",
"resolved": "https://registry.npmjs.org/karma/-/karma-6.4.3.tgz",
@@ -5891,6 +6849,7 @@
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
"integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
"dev": true,
+ "peer": true,
"dependencies": {
"prelude-ls": "^1.2.1",
"type-check": "~0.4.0"
@@ -5908,20 +6867,6 @@
"node": ">=6.11.5"
}
},
- "node_modules/loader-utils": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
- "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
- "dev": true,
- "dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
- },
- "engines": {
- "node": ">=8.9.0"
- }
- },
"node_modules/locate-path": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz",
@@ -5947,19 +6892,15 @@
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
"integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
- "dev": true
+ "dev": true,
+ "peer": true
},
"node_modules/lodash.merge": {
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true
- },
- "node_modules/lodash.truncate": {
- "version": "4.4.2",
- "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
- "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=",
- "dev": true
+ "dev": true,
+ "peer": true
},
"node_modules/log-symbols": {
"version": "2.2.0",
@@ -6019,6 +6960,30 @@
"integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
"dev": true
},
+ "node_modules/merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/micromatch": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
+ "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "braces": "^3.0.3",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
"node_modules/mime": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
@@ -6104,7 +7069,8 @@
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
"integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
- "dev": true
+ "dev": true,
+ "peer": true
},
"node_modules/negotiator": {
"version": "0.6.3",
@@ -6148,6 +7114,19 @@
"node": ">=0.10.0"
}
},
+ "node_modules/nth-check": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
+ "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "boolbase": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/nth-check?sponsor=1"
+ }
+ },
"node_modules/object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@@ -6157,15 +7136,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/object-hash": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz",
- "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==",
- "dev": true,
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/object-inspect": {
"version": "1.13.1",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
@@ -6275,17 +7245,18 @@
}
},
"node_modules/optionator": {
- "version": "0.9.1",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
- "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
+ "version": "0.9.4",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
+ "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
"dev": true,
+ "peer": true,
"dependencies": {
"deep-is": "^0.1.3",
"fast-levenshtein": "^2.0.6",
"levn": "^0.4.1",
"prelude-ls": "^1.2.1",
"type-check": "^0.4.0",
- "word-wrap": "^1.2.3"
+ "word-wrap": "^1.2.5"
},
"engines": {
"node": ">= 0.8.0"
@@ -6326,6 +7297,7 @@
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
"integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
"dev": true,
+ "peer": true,
"dependencies": {
"callsites": "^3.0.0"
},
@@ -6400,6 +7372,16 @@
"node": "14 || >=16.14"
}
},
+ "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,
+ "peer": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
@@ -6407,9 +7389,9 @@
"dev": true
},
"node_modules/picomatch": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
- "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true,
"engines": {
"node": ">=8.6"
@@ -6433,24 +7415,30 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/postcss-selector-parser": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz",
+ "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/prelude-ls": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
"integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
"dev": true,
+ "peer": true,
"engines": {
"node": ">= 0.8.0"
}
},
- "node_modules/progress": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
- "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
- "dev": true,
- "engines": {
- "node": ">=0.4.0"
- }
- },
"node_modules/punycode": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
@@ -6484,6 +7472,27 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/queue-microtask": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "peer": true
+ },
"node_modules/randombytes": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
@@ -6545,13 +7554,15 @@
"version": "1.4.2",
"resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
"integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==",
- "dev": true
+ "dev": true,
+ "peer": true
},
"node_modules/regenerate-unicode-properties": {
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz",
"integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==",
"dev": true,
+ "peer": true,
"dependencies": {
"regenerate": "^1.4.2"
},
@@ -6562,13 +7573,16 @@
"node_modules/regenerator-runtime": {
"version": "0.14.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
- "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
+ "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
+ "dev": true,
+ "peer": true
},
"node_modules/regenerator-transform": {
"version": "0.15.2",
"resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz",
"integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/runtime": "^7.8.4"
}
@@ -6591,23 +7605,12 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/regexpp": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
- "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/mysticatea"
- }
- },
"node_modules/regexpu-core": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz",
"integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==",
"dev": true,
+ "peer": true,
"dependencies": {
"@babel/regjsgen": "^0.8.0",
"regenerate": "^1.4.2",
@@ -6625,6 +7628,7 @@
"resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz",
"integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==",
"dev": true,
+ "peer": true,
"dependencies": {
"jsesc": "~0.5.0"
},
@@ -6637,6 +7641,7 @@
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
"integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==",
"dev": true,
+ "peer": true,
"bin": {
"jsesc": "bin/jsesc"
}
@@ -6659,6 +7664,16 @@
"node": ">=0.10.0"
}
},
+ "node_modules/requireindex": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz",
+ "integrity": "sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">=0.10.5"
+ }
+ },
"node_modules/requires-port": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
@@ -6708,10 +7723,42 @@
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
"dev": true,
+ "peer": true,
"engines": {
"node": ">=4"
}
},
+ "node_modules/resolve-pkg-maps": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz",
+ "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==",
+ "dev": true,
+ "peer": true,
+ "funding": {
+ "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1"
+ }
+ },
+ "node_modules/resolve.exports": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz",
+ "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/rfdc": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz",
@@ -6753,6 +7800,30 @@
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/run-parallel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "peer": true,
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
"node_modules/safe-array-concat": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz",
@@ -6813,24 +7884,6 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"dev": true
},
- "node_modules/schema-utils": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
- "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
- "dev": true,
- "dependencies": {
- "@types/json-schema": "^7.0.5",
- "ajv": "^6.12.4",
- "ajv-keywords": "^3.5.2"
- },
- "engines": {
- "node": ">= 8.9.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- }
- },
"node_modules/semver": {
"version": "6.3.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
@@ -6944,56 +7997,16 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/slice-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
- "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "astral-regex": "^2.0.0",
- "is-fullwidth-code-point": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/slice-ansi?sponsor=1"
- }
- },
- "node_modules/slice-ansi/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "node_modules/slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
+ "peer": true,
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/slice-ansi/node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
}
},
- "node_modules/slice-ansi/node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
"node_modules/socket.io": {
"version": "4.7.4",
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.4.tgz",
@@ -7054,6 +8067,31 @@
"source-map": "^0.6.0"
}
},
+ "node_modules/spdx-exceptions": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz",
+ "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==",
+ "dev": true,
+ "peer": true
+ },
+ "node_modules/spdx-expression-parse": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-4.0.0.tgz",
+ "integrity": "sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "node_modules/spdx-license-ids": {
+ "version": "3.0.18",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz",
+ "integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==",
+ "dev": true,
+ "peer": true
+ },
"node_modules/sprintf-js": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
@@ -7235,6 +8273,7 @@
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
"dev": true,
+ "peer": true,
"engines": {
"node": ">=8"
},
@@ -7242,6 +8281,13 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/strnum": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz",
+ "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==",
+ "dev": true,
+ "peer": true
+ },
"node_modules/supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
@@ -7266,44 +8312,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/table": {
- "version": "6.7.3",
- "resolved": "https://registry.npmjs.org/table/-/table-6.7.3.tgz",
- "integrity": "sha512-5DkIxeA7XERBqMwJq0aHZOdMadBx4e6eDoFRuyT5VR82J0Ycg2DwM6GfA/EQAhJ+toRTaS1lIdSQCqgrmhPnlw==",
- "dev": true,
- "dependencies": {
- "ajv": "^8.0.1",
- "lodash.truncate": "^4.4.2",
- "slice-ansi": "^4.0.0",
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/table/node_modules/ajv": {
- "version": "8.8.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.0.tgz",
- "integrity": "sha512-L+cJ/+pkdICMueKR6wIx3VP2fjIx3yAhuvadUv/osv9yFD7OVZy442xFF+Oeu3ZvmhBGQzoF6mTSt+LUWBmGQg==",
- "dev": true,
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/table/node_modules/json-schema-traverse": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
- "dev": true
- },
"node_modules/tapable": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
@@ -7383,18 +8391,6 @@
"url": "https://opencollective.com/webpack"
}
},
- "node_modules/terser/node_modules/acorn": {
- "version": "8.11.3",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
- "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
- "dev": true,
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
"node_modules/terser/node_modules/commander": {
"version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
@@ -7405,7 +8401,8 @@
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
"integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
- "dev": true
+ "dev": true,
+ "peer": true
},
"node_modules/tmp": {
"version": "0.2.1",
@@ -7449,6 +8446,19 @@
"node": ">=0.6"
}
},
+ "node_modules/ts-api-utils": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz",
+ "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">=16"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.2.0"
+ }
+ },
"node_modules/tsconfig-paths": {
"version": "3.15.0",
"resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz",
@@ -7480,6 +8490,7 @@
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
"integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
"dev": true,
+ "peer": true,
"dependencies": {
"prelude-ls": "^1.2.1"
},
@@ -7492,6 +8503,7 @@
"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,
+ "peer": true,
"engines": {
"node": ">=10"
},
@@ -7581,6 +8593,20 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/typescript": {
+ "version": "5.4.5",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
+ "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
+ "dev": true,
+ "peer": true,
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
"node_modules/ua-parser-js": {
"version": "0.7.33",
"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.33.tgz",
@@ -7634,6 +8660,7 @@
"resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
"integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==",
"dev": true,
+ "peer": true,
"engines": {
"node": ">=4"
}
@@ -7643,6 +8670,7 @@
"resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
"integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==",
"dev": true,
+ "peer": true,
"dependencies": {
"unicode-canonical-property-names-ecmascript": "^2.0.0",
"unicode-property-aliases-ecmascript": "^2.0.0"
@@ -7656,6 +8684,7 @@
"resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz",
"integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==",
"dev": true,
+ "peer": true,
"engines": {
"node": ">=4"
}
@@ -7665,19 +8694,11 @@
"resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
"integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==",
"dev": true,
+ "peer": true,
"engines": {
"node": ">=4"
}
},
- "node_modules/universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true,
- "engines": {
- "node": ">= 4.0.0"
- }
- },
"node_modules/unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
@@ -7726,37 +8747,116 @@
"punycode": "^2.1.0"
}
},
- "node_modules/utils-merge": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+ "dev": true,
+ "peer": true
+ },
+ "node_modules/utils-merge": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+ "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/void-elements": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
+ "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/vue-eslint-parser": {
+ "version": "9.4.3",
+ "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz",
+ "integrity": "sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "debug": "^4.3.4",
+ "eslint-scope": "^7.1.1",
+ "eslint-visitor-keys": "^3.3.0",
+ "espree": "^9.3.1",
+ "esquery": "^1.4.0",
+ "lodash": "^4.17.21",
+ "semver": "^7.3.6"
+ },
+ "engines": {
+ "node": "^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ },
+ "peerDependencies": {
+ "eslint": ">=6.0.0"
+ }
+ },
+ "node_modules/vue-eslint-parser/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,
+ "peer": true,
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/vue-eslint-parser/node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
"dev": true,
+ "peer": true,
"engines": {
- "node": ">= 0.4.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
}
},
- "node_modules/v8-compile-cache": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
- "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
- "dev": true
- },
- "node_modules/vary": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
+ "node_modules/vue-eslint-parser/node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
"dev": true,
+ "peer": true,
"engines": {
- "node": ">= 0.8"
+ "node": ">=4.0"
}
},
- "node_modules/void-elements": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
- "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
+ "node_modules/vue-eslint-parser/node_modules/semver": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
"dev": true,
+ "peer": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=10"
}
},
"node_modules/watchpack": {
@@ -7887,18 +8987,6 @@
"node": ">=10.13.0"
}
},
- "node_modules/webpack/node_modules/acorn": {
- "version": "8.8.2",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
- "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==",
- "dev": true,
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
"node_modules/webpack/node_modules/acorn-import-assertions": {
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz",
@@ -7985,9 +9073,9 @@
"dev": true
},
"node_modules/word-wrap": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz",
- "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==",
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
+ "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
"dev": true,
"engines": {
"node": ">=0.10.0"
@@ -8127,6 +9215,16 @@
}
}
},
+ "node_modules/xml-name-validator": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz",
+ "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/y18n": {
"version": "5.0.8",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
@@ -8238,6 +9336,27 @@
"semver": "^6.3.1"
}
},
+ "@babel/eslint-parser": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.24.7.tgz",
+ "integrity": "sha512-SO5E3bVxDuxyNxM5agFv480YA2HO6ohZbGxbazZdIk3KQOPOGVNw6q78I9/lbviIf95eq6tPozeYnJLbjnC8IA==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1",
+ "eslint-visitor-keys": "^2.1.0",
+ "semver": "^6.3.1"
+ },
+ "dependencies": {
+ "eslint-visitor-keys": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
+ "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
+ "dev": true,
+ "peer": true
+ }
+ }
+ },
"@babel/generator": {
"version": "7.24.5",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.5.tgz",
@@ -8255,6 +9374,7 @@
"resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz",
"integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/types": "^7.22.5"
}
@@ -8264,6 +9384,7 @@
"resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz",
"integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/types": "^7.22.15"
}
@@ -8303,6 +9424,7 @@
"resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.5.tgz",
"integrity": "sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-annotate-as-pure": "^7.22.5",
"@babel/helper-environment-visitor": "^7.22.20",
@@ -8320,6 +9442,7 @@
"resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz",
"integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-annotate-as-pure": "^7.22.5",
"regexpu-core": "^5.3.1",
@@ -8331,6 +9454,7 @@
"resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz",
"integrity": "sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-compilation-targets": "^7.22.6",
"@babel/helper-plugin-utils": "^7.22.5",
@@ -8369,6 +9493,7 @@
"resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.5.tgz",
"integrity": "sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/types": "^7.24.5"
}
@@ -8400,6 +9525,7 @@
"resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz",
"integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/types": "^7.22.5"
}
@@ -8408,13 +9534,15 @@
"version": "7.24.5",
"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz",
"integrity": "sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==",
- "dev": true
+ "dev": true,
+ "peer": true
},
"@babel/helper-remap-async-to-generator": {
"version": "7.22.20",
"resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz",
"integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-annotate-as-pure": "^7.22.5",
"@babel/helper-environment-visitor": "^7.22.20",
@@ -8426,6 +9554,7 @@
"resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz",
"integrity": "sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-environment-visitor": "^7.22.20",
"@babel/helper-member-expression-to-functions": "^7.23.0",
@@ -8446,6 +9575,7 @@
"resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz",
"integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/types": "^7.22.5"
}
@@ -8482,6 +9612,7 @@
"resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz",
"integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-function-name": "^7.22.5",
"@babel/template": "^7.22.15",
@@ -8522,6 +9653,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.5.tgz",
"integrity": "sha512-LdXRi1wEMTrHVR4Zc9F8OewC3vdm5h4QB6L71zy6StmYeqGi1b3ttIO8UC+BfZKcH9jdr4aI249rBkm+3+YvHw==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-environment-visitor": "^7.22.20",
"@babel/helper-plugin-utils": "^7.24.5"
@@ -8532,6 +9664,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz",
"integrity": "sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.0"
}
@@ -8541,6 +9674,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz",
"integrity": "sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.0",
"@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
@@ -8552,6 +9686,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz",
"integrity": "sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-environment-visitor": "^7.22.20",
"@babel/helper-plugin-utils": "^7.24.0"
@@ -8562,6 +9697,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz",
"integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==",
"dev": true,
+ "peer": true,
"requires": {}
},
"@babel/plugin-syntax-async-generators": {
@@ -8569,6 +9705,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
"integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.8.0"
}
@@ -8578,6 +9715,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
"integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.12.13"
}
@@ -8587,6 +9725,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
"integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.14.5"
}
@@ -8596,6 +9735,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
"integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.8.0"
}
@@ -8605,6 +9745,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
"integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.8.3"
}
@@ -8614,6 +9755,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz",
"integrity": "sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.0"
}
@@ -8623,6 +9765,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz",
"integrity": "sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.0"
}
@@ -8632,6 +9775,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
"integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
@@ -8641,6 +9785,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
"integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.8.0"
}
@@ -8650,6 +9795,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
"integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
@@ -8659,6 +9805,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
"integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.8.0"
}
@@ -8668,6 +9815,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
"integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
@@ -8677,6 +9825,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
"integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.8.0"
}
@@ -8686,6 +9835,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
"integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.8.0"
}
@@ -8695,6 +9845,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
"integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.8.0"
}
@@ -8704,6 +9855,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
"integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.14.5"
}
@@ -8713,6 +9865,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
"integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.14.5"
}
@@ -8722,6 +9875,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz",
"integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-create-regexp-features-plugin": "^7.18.6",
"@babel/helper-plugin-utils": "^7.18.6"
@@ -8732,6 +9886,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz",
"integrity": "sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.0"
}
@@ -8741,6 +9896,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz",
"integrity": "sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-environment-visitor": "^7.22.20",
"@babel/helper-plugin-utils": "^7.24.0",
@@ -8753,6 +9909,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz",
"integrity": "sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-module-imports": "^7.24.1",
"@babel/helper-plugin-utils": "^7.24.0",
@@ -8764,6 +9921,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz",
"integrity": "sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.0"
}
@@ -8773,6 +9931,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.5.tgz",
"integrity": "sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.5"
}
@@ -8782,6 +9941,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz",
"integrity": "sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-create-class-features-plugin": "^7.24.1",
"@babel/helper-plugin-utils": "^7.24.0"
@@ -8792,6 +9952,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz",
"integrity": "sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-create-class-features-plugin": "^7.24.4",
"@babel/helper-plugin-utils": "^7.24.0",
@@ -8803,6 +9964,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.5.tgz",
"integrity": "sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-annotate-as-pure": "^7.22.5",
"@babel/helper-compilation-targets": "^7.23.6",
@@ -8819,6 +9981,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz",
"integrity": "sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.0",
"@babel/template": "^7.24.0"
@@ -8829,6 +9992,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.5.tgz",
"integrity": "sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.5"
}
@@ -8838,6 +10002,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz",
"integrity": "sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-create-regexp-features-plugin": "^7.22.15",
"@babel/helper-plugin-utils": "^7.24.0"
@@ -8848,6 +10013,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz",
"integrity": "sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.0"
}
@@ -8857,6 +10023,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz",
"integrity": "sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.0",
"@babel/plugin-syntax-dynamic-import": "^7.8.3"
@@ -8867,6 +10034,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz",
"integrity": "sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15",
"@babel/helper-plugin-utils": "^7.24.0"
@@ -8877,6 +10045,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz",
"integrity": "sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.0",
"@babel/plugin-syntax-export-namespace-from": "^7.8.3"
@@ -8887,6 +10056,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz",
"integrity": "sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.0",
"@babel/helper-skip-transparent-expression-wrappers": "^7.22.5"
@@ -8897,6 +10067,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz",
"integrity": "sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-compilation-targets": "^7.23.6",
"@babel/helper-function-name": "^7.23.0",
@@ -8908,6 +10079,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz",
"integrity": "sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.0",
"@babel/plugin-syntax-json-strings": "^7.8.3"
@@ -8918,6 +10090,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz",
"integrity": "sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.0"
}
@@ -8927,6 +10100,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz",
"integrity": "sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.0",
"@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
@@ -8937,6 +10111,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz",
"integrity": "sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.0"
}
@@ -8946,6 +10121,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz",
"integrity": "sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-module-transforms": "^7.23.3",
"@babel/helper-plugin-utils": "^7.24.0"
@@ -8956,6 +10132,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz",
"integrity": "sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-module-transforms": "^7.23.3",
"@babel/helper-plugin-utils": "^7.24.0",
@@ -8967,6 +10144,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz",
"integrity": "sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-hoist-variables": "^7.22.5",
"@babel/helper-module-transforms": "^7.23.3",
@@ -8979,6 +10157,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz",
"integrity": "sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-module-transforms": "^7.23.3",
"@babel/helper-plugin-utils": "^7.24.0"
@@ -8989,6 +10168,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz",
"integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-create-regexp-features-plugin": "^7.22.5",
"@babel/helper-plugin-utils": "^7.22.5"
@@ -8999,6 +10179,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz",
"integrity": "sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.0"
}
@@ -9008,6 +10189,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz",
"integrity": "sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.0",
"@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
@@ -9018,6 +10200,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz",
"integrity": "sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.0",
"@babel/plugin-syntax-numeric-separator": "^7.10.4"
@@ -9028,6 +10211,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.5.tgz",
"integrity": "sha512-7EauQHszLGM3ay7a161tTQH7fj+3vVM/gThlz5HpFtnygTxjrlvoeq7MPVA1Vy9Q555OB8SnAOsMkLShNkkrHA==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-compilation-targets": "^7.23.6",
"@babel/helper-plugin-utils": "^7.24.5",
@@ -9040,6 +10224,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz",
"integrity": "sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.0",
"@babel/helper-replace-supers": "^7.24.1"
@@ -9050,6 +10235,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz",
"integrity": "sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.0",
"@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
@@ -9060,6 +10246,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.5.tgz",
"integrity": "sha512-xWCkmwKT+ihmA6l7SSTpk8e4qQl/274iNbSKRRS8mpqFR32ksy36+a+LWY8OXCCEefF8WFlnOHVsaDI2231wBg==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.5",
"@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
@@ -9071,6 +10258,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.5.tgz",
"integrity": "sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.5"
}
@@ -9080,6 +10268,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz",
"integrity": "sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-create-class-features-plugin": "^7.24.1",
"@babel/helper-plugin-utils": "^7.24.0"
@@ -9090,6 +10279,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.5.tgz",
"integrity": "sha512-JM4MHZqnWR04jPMujQDTBVRnqxpLLpx2tkn7iPn+Hmsc0Gnb79yvRWOkvqFOx3Z7P7VxiRIR22c4eGSNj87OBQ==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-annotate-as-pure": "^7.22.5",
"@babel/helper-create-class-features-plugin": "^7.24.5",
@@ -9102,6 +10292,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz",
"integrity": "sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.0"
}
@@ -9111,6 +10302,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz",
"integrity": "sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.0",
"regenerator-transform": "^0.15.2"
@@ -9121,6 +10313,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz",
"integrity": "sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.0"
}
@@ -9130,6 +10323,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz",
"integrity": "sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.0"
}
@@ -9139,6 +10333,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz",
"integrity": "sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.0",
"@babel/helper-skip-transparent-expression-wrappers": "^7.22.5"
@@ -9149,6 +10344,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz",
"integrity": "sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.0"
}
@@ -9158,6 +10354,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz",
"integrity": "sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.0"
}
@@ -9167,6 +10364,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.5.tgz",
"integrity": "sha512-UTGnhYVZtTAjdwOTzT+sCyXmTn8AhaxOS/MjG9REclZ6ULHWF9KoCZur0HSGU7hk8PdBFKKbYe6+gqdXWz84Jg==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.5"
}
@@ -9176,6 +10374,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz",
"integrity": "sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.24.0"
}
@@ -9185,6 +10384,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz",
"integrity": "sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-create-regexp-features-plugin": "^7.22.15",
"@babel/helper-plugin-utils": "^7.24.0"
@@ -9195,6 +10395,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz",
"integrity": "sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-create-regexp-features-plugin": "^7.22.15",
"@babel/helper-plugin-utils": "^7.24.0"
@@ -9205,6 +10406,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz",
"integrity": "sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-create-regexp-features-plugin": "^7.22.15",
"@babel/helper-plugin-utils": "^7.24.0"
@@ -9215,6 +10417,7 @@
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.5.tgz",
"integrity": "sha512-UGK2ifKtcC8i5AI4cH+sbLLuLc2ktYSFJgBAXorKAsHUZmrQ1q6aQ6i3BvU24wWs2AAKqQB6kq3N9V9Gw1HiMQ==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/compat-data": "^7.24.4",
"@babel/helper-compilation-targets": "^7.23.6",
@@ -9304,6 +10507,7 @@
"resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz",
"integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-plugin-utils": "^7.0.0",
"@babel/types": "^7.4.4",
@@ -9314,13 +10518,15 @@
"version": "0.8.0",
"resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz",
"integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==",
- "dev": true
+ "dev": true,
+ "peer": true
},
"@babel/runtime": {
"version": "7.24.1",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.1.tgz",
"integrity": "sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==",
"dev": true,
+ "peer": true,
"requires": {
"regenerator-runtime": "^0.14.0"
}
@@ -9377,50 +10583,123 @@
"integrity": "sha512-6nFkfkmSeV/rqSaS4oWHgmpnYw194f6hmWF5is6b0J1naJZoiD0NTc9AiUwPHvWsowkjuHErCZT1wa0jg+BLIA==",
"dev": true
},
+ "@es-joy/jsdoccomment": {
+ "version": "0.41.0",
+ "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.41.0.tgz",
+ "integrity": "sha512-aKUhyn1QI5Ksbqcr3fFJj16p99QdjUxXAEuFst1Z47DRyoiMwivIH9MV/ARcJOCXVjPfjITciej8ZD2O/6qUmw==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "comment-parser": "1.4.1",
+ "esquery": "^1.5.0",
+ "jsdoc-type-pratt-parser": "~4.0.0"
+ }
+ },
+ "@eslint-community/eslint-utils": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
+ "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "eslint-visitor-keys": "^3.3.0"
+ },
+ "dependencies": {
+ "eslint-visitor-keys": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "dev": true,
+ "peer": true
+ }
+ }
+ },
+ "@eslint-community/regexpp": {
+ "version": "4.10.1",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.1.tgz",
+ "integrity": "sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==",
+ "dev": true,
+ "peer": true
+ },
"@eslint/eslintrc": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz",
- "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==",
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
+ "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
"dev": true,
+ "peer": true,
"requires": {
"ajv": "^6.12.4",
- "debug": "^4.1.1",
- "espree": "^7.3.0",
- "globals": "^13.9.0",
- "ignore": "^4.0.6",
+ "debug": "^4.3.2",
+ "espree": "^9.6.0",
+ "globals": "^13.19.0",
+ "ignore": "^5.2.0",
"import-fresh": "^3.2.1",
- "js-yaml": "^3.13.1",
- "minimatch": "^3.0.4",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.1.2",
"strip-json-comments": "^3.1.1"
},
"dependencies": {
+ "argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true,
+ "peer": true
+ },
"globals": {
- "version": "13.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz",
- "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==",
+ "version": "13.24.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
"dev": true,
+ "peer": true,
"requires": {
"type-fest": "^0.20.2"
}
+ },
+ "js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "argparse": "^2.0.1"
+ }
}
}
},
+ "@eslint/js": {
+ "version": "8.57.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
+ "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
+ "dev": true,
+ "peer": true
+ },
"@humanwhocodes/config-array": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz",
- "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==",
+ "version": "0.11.14",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
+ "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==",
"dev": true,
+ "peer": true,
"requires": {
- "@humanwhocodes/object-schema": "^1.2.0",
- "debug": "^4.1.1",
- "minimatch": "^3.0.4"
+ "@humanwhocodes/object-schema": "^2.0.2",
+ "debug": "^4.3.1",
+ "minimatch": "^3.0.5"
}
},
+ "@humanwhocodes/module-importer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
+ "dev": true,
+ "peer": true
+ },
"@humanwhocodes/object-schema": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
- "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
- "dev": true
+ "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,
+ "peer": true
},
"@isaacs/cliui": {
"version": "8.0.2",
@@ -9532,22 +10811,96 @@
"integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
"dev": true
},
- "@jridgewell/trace-mapping": {
- "version": "0.3.25",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
- "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+ "@jridgewell/trace-mapping": {
+ "version": "0.3.25",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+ "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+ "dev": true,
+ "requires": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "@nextcloud/babel-config": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@nextcloud/babel-config/-/babel-config-1.2.0.tgz",
+ "integrity": "sha512-QOESlmX99UOfXdPANpoeFtfoRWWfKhBm1wXgF2lLnwpOBq4ZzdtqI+wphhWA/lkdfw/sftZzd1UJF/gcPDpiAw==",
+ "dev": true,
+ "requires": {}
+ },
+ "@nextcloud/browserslist-config": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@nextcloud/browserslist-config/-/browserslist-config-3.0.1.tgz",
+ "integrity": "sha512-GZTxL5fsDgmFoot/qnRurjHCuHjSfOg+A6t4+P2TySXua2Q1Ex0lecZYlSnRuOR/W5BGOZ06ITTA/hbkSh1Ypg==",
+ "dev": true
+ },
+ "@nextcloud/eslint-config": {
+ "version": "8.4.1",
+ "resolved": "https://registry.npmjs.org/@nextcloud/eslint-config/-/eslint-config-8.4.1.tgz",
+ "integrity": "sha512-ilrPxOnfVkB4dAddtkhbJmbYK9FwEVZ5oIJ2ipiE97rQz82TUZxmfEHE1tr87FbIvz0drIcREgGil3zuNWHjrg==",
+ "dev": true,
+ "requires": {}
+ },
+ "@nextcloud/eslint-plugin": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/@nextcloud/eslint-plugin/-/eslint-plugin-2.2.1.tgz",
+ "integrity": "sha512-RX+0FxpL1h2EzjNLeW0VSGTkbyWIq7WgV7QAjtyUmDbSGwf1ds9Zy5OcRkgXRHRIu/W0gB0DhS2iz9qXHphCzA==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "fast-xml-parser": "^4.2.5",
+ "requireindex": "^1.2.0",
+ "semver": "^7.5.3"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+ "dev": true,
+ "peer": true
+ }
+ }
+ },
+ "@nicolo-ribaudo/eslint-scope-5-internals": {
+ "version": "5.1.1-v1",
+ "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz",
+ "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "eslint-scope": "5.1.1"
+ }
+ },
+ "@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ }
+ },
+ "@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "dev": true,
+ "peer": true
+ },
+ "@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
"dev": true,
+ "peer": true,
"requires": {
- "@jridgewell/resolve-uri": "^3.1.0",
- "@jridgewell/sourcemap-codec": "^1.4.14"
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
}
},
- "@nextcloud/browserslist-config": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@nextcloud/browserslist-config/-/browserslist-config-3.0.1.tgz",
- "integrity": "sha512-GZTxL5fsDgmFoot/qnRurjHCuHjSfOg+A6t4+P2TySXua2Q1Ex0lecZYlSnRuOR/W5BGOZ06ITTA/hbkSh1Ypg==",
- "dev": true
- },
"@pkgjs/parseargs": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
@@ -9621,6 +10974,167 @@
"integrity": "sha512-QB5D2sqfSjCmTuWcBWyJ+/44bcjO7VbjSbOE0ucoVbAsSNQc4Lt6QkgkVXkTDwkL4z/beecZNDvVX15D4P8Jbw==",
"dev": true
},
+ "@typescript-eslint/eslint-plugin": {
+ "version": "7.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.12.0.tgz",
+ "integrity": "sha512-7F91fcbuDf/d3S8o21+r3ZncGIke/+eWk0EpO21LXhDfLahriZF9CGj4fbAetEjlaBdjdSm9a6VeXbpbT6Z40Q==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "@eslint-community/regexpp": "^4.10.0",
+ "@typescript-eslint/scope-manager": "7.12.0",
+ "@typescript-eslint/type-utils": "7.12.0",
+ "@typescript-eslint/utils": "7.12.0",
+ "@typescript-eslint/visitor-keys": "7.12.0",
+ "graphemer": "^1.4.0",
+ "ignore": "^5.3.1",
+ "natural-compare": "^1.4.0",
+ "ts-api-utils": "^1.3.0"
+ }
+ },
+ "@typescript-eslint/parser": {
+ "version": "7.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.12.0.tgz",
+ "integrity": "sha512-dm/J2UDY3oV3TKius2OUZIFHsomQmpHtsV0FTh1WO8EKgHLQ1QCADUqscPgTpU+ih1e21FQSRjXckHn3txn6kQ==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "@typescript-eslint/scope-manager": "7.12.0",
+ "@typescript-eslint/types": "7.12.0",
+ "@typescript-eslint/typescript-estree": "7.12.0",
+ "@typescript-eslint/visitor-keys": "7.12.0",
+ "debug": "^4.3.4"
+ }
+ },
+ "@typescript-eslint/scope-manager": {
+ "version": "7.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.12.0.tgz",
+ "integrity": "sha512-itF1pTnN6F3unPak+kutH9raIkL3lhH1YRPGgt7QQOh43DQKVJXmWkpb+vpc/TiDHs6RSd9CTbDsc/Y+Ygq7kg==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "@typescript-eslint/types": "7.12.0",
+ "@typescript-eslint/visitor-keys": "7.12.0"
+ }
+ },
+ "@typescript-eslint/type-utils": {
+ "version": "7.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.12.0.tgz",
+ "integrity": "sha512-lib96tyRtMhLxwauDWUp/uW3FMhLA6D0rJ8T7HmH7x23Gk1Gwwu8UZ94NMXBvOELn6flSPiBrCKlehkiXyaqwA==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "@typescript-eslint/typescript-estree": "7.12.0",
+ "@typescript-eslint/utils": "7.12.0",
+ "debug": "^4.3.4",
+ "ts-api-utils": "^1.3.0"
+ }
+ },
+ "@typescript-eslint/types": {
+ "version": "7.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.12.0.tgz",
+ "integrity": "sha512-o+0Te6eWp2ppKY3mLCU+YA9pVJxhUJE15FV7kxuD9jgwIAa+w/ycGJBMrYDTpVGUM/tgpa9SeMOugSabWFq7bg==",
+ "dev": true,
+ "peer": true
+ },
+ "@typescript-eslint/typescript-estree": {
+ "version": "7.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.12.0.tgz",
+ "integrity": "sha512-5bwqLsWBULv1h6pn7cMW5dXX/Y2amRqLaKqsASVwbBHMZSnHqE/HN4vT4fE0aFsiwxYvr98kqOWh1a8ZKXalCQ==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "@typescript-eslint/types": "7.12.0",
+ "@typescript-eslint/visitor-keys": "7.12.0",
+ "debug": "^4.3.4",
+ "globby": "^11.1.0",
+ "is-glob": "^4.0.3",
+ "minimatch": "^9.0.4",
+ "semver": "^7.6.0",
+ "ts-api-utils": "^1.3.0"
+ },
+ "dependencies": {
+ "brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "minimatch": {
+ "version": "9.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
+ "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "brace-expansion": "^2.0.1"
+ }
+ },
+ "semver": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+ "dev": true,
+ "peer": true
+ }
+ }
+ },
+ "@typescript-eslint/utils": {
+ "version": "7.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.12.0.tgz",
+ "integrity": "sha512-Y6hhwxwDx41HNpjuYswYp6gDbkiZ8Hin9Bf5aJQn1bpTs3afYY4GX+MPYxma8jtoIV2GRwTM/UJm/2uGCVv+DQ==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "@eslint-community/eslint-utils": "^4.4.0",
+ "@typescript-eslint/scope-manager": "7.12.0",
+ "@typescript-eslint/types": "7.12.0",
+ "@typescript-eslint/typescript-estree": "7.12.0"
+ }
+ },
+ "@typescript-eslint/visitor-keys": {
+ "version": "7.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.12.0.tgz",
+ "integrity": "sha512-uZk7DevrQLL3vSnfFl5bj4sL75qC9D6EdjemIdbtkuUmIheWpuiiylSY01JxJE7+zGrOWDZrp1WxOuDntvKrHQ==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "@typescript-eslint/types": "7.12.0",
+ "eslint-visitor-keys": "^3.4.3"
+ },
+ "dependencies": {
+ "eslint-visitor-keys": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "dev": true,
+ "peer": true
+ }
+ }
+ },
+ "@ungap/structured-clone": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
+ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
+ "dev": true,
+ "peer": true
+ },
+ "@vue/eslint-config-typescript": {
+ "version": "13.0.0",
+ "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-13.0.0.tgz",
+ "integrity": "sha512-MHh9SncG/sfqjVqjcuFLOLD6Ed4dRAis4HNt0dXASeAuLqIAx4YMB1/m2o4pUKK1vCt8fUvYG8KKX2Ot3BVZTg==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "@typescript-eslint/eslint-plugin": "^7.1.1",
+ "@typescript-eslint/parser": "^7.1.1",
+ "vue-eslint-parser": "^9.3.1"
+ }
+ },
"@webassemblyjs/ast": {
"version": "1.12.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz",
@@ -9817,9 +11331,9 @@
}
},
"acorn": {
- "version": "7.4.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
- "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
+ "version": "8.11.3",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
+ "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
"dev": true
},
"acorn-jsx": {
@@ -9827,6 +11341,7 @@
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
"dev": true,
+ "peer": true,
"requires": {}
},
"ajv": {
@@ -9884,12 +11399,6 @@
"dev": true,
"optional": true
},
- "ansi-colors": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
- "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
- "dev": true
- },
"ansi-regex": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
@@ -9915,6 +11424,13 @@
"picomatch": "^2.0.4"
}
},
+ "are-docs-informative": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz",
+ "integrity": "sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==",
+ "dev": true,
+ "peer": true
+ },
"argparse": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
@@ -9949,6 +11465,13 @@
"is-string": "^1.0.7"
}
},
+ "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,
+ "peer": true
+ },
"array.prototype.findlastindex": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz",
@@ -10005,12 +11528,6 @@
"is-shared-array-buffer": "^1.0.2"
}
},
- "astral-regex": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
- "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
- "dev": true
- },
"async": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
@@ -10024,20 +11541,6 @@
"dev": true,
"peer": true
},
- "babel-eslint": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz",
- "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "@babel/parser": "^7.7.0",
- "@babel/traverse": "^7.7.0",
- "@babel/types": "^7.7.0",
- "eslint-visitor-keys": "^1.0.0",
- "resolve": "^1.12.0"
- }
- },
"babel-loader": {
"version": "9.1.3",
"resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz",
@@ -10104,6 +11607,7 @@
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz",
"integrity": "sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/compat-data": "^7.22.6",
"@babel/helper-define-polyfill-provider": "^0.6.1",
@@ -10115,6 +11619,7 @@
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz",
"integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-define-polyfill-provider": "^0.6.1",
"core-js-compat": "^3.36.1"
@@ -10125,6 +11630,7 @@
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz",
"integrity": "sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/helper-define-polyfill-provider": "^0.6.1"
}
@@ -10141,12 +11647,6 @@
"integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==",
"dev": true
},
- "big.js": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
- "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
- "dev": true
- },
"binary-extensions": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
@@ -10199,6 +11699,13 @@
}
}
},
+ "boolbase": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+ "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
+ "dev": true,
+ "peer": true
+ },
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -10210,12 +11717,12 @@
}
},
"braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dev": true,
"requires": {
- "fill-range": "^7.0.1"
+ "fill-range": "^7.1.1"
}
},
"browserslist": {
@@ -10236,6 +11743,32 @@
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
"dev": true
},
+ "builtin-modules": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz",
+ "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==",
+ "dev": true,
+ "peer": true
+ },
+ "builtins": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz",
+ "integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "semver": "^7.0.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+ "dev": true,
+ "peer": true
+ }
+ }
+ },
"bytes": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
@@ -10257,7 +11790,8 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "dev": true
+ "dev": true,
+ "peer": true
},
"caniuse-lite": {
"version": "1.0.30001599",
@@ -10347,18 +11881,19 @@
"integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
"dev": true
},
+ "comment-parser": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz",
+ "integrity": "sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==",
+ "dev": true,
+ "peer": true
+ },
"common-path-prefix": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz",
"integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==",
"dev": true
},
- "commondir": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
- "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
- "dev": true
- },
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -10412,16 +11947,12 @@
"integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==",
"dev": true
},
- "core-js": {
- "version": "3.37.1",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.37.1.tgz",
- "integrity": "sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw=="
- },
"core-js-compat": {
"version": "3.36.1",
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.1.tgz",
"integrity": "sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==",
"dev": true,
+ "peer": true,
"requires": {
"browserslist": "^4.23.0"
}
@@ -10447,6 +11978,13 @@
"which": "^2.0.1"
}
},
+ "cssesc": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+ "dev": true,
+ "peer": true
+ },
"custom-event": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
@@ -10515,11 +12053,22 @@
"integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=",
"dev": true
},
+ "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,
+ "peer": true,
+ "requires": {
+ "path-type": "^4.0.0"
+ }
+ },
"doctrine": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
"integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
"dev": true,
+ "peer": true,
"requires": {
"esutils": "^2.0.2"
}
@@ -10560,12 +12109,6 @@
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
- "emojis-list": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
- "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
- "dev": true
- },
"encodeurl": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
@@ -10606,15 +12149,6 @@
"tapable": "^2.2.0"
}
},
- "enquirer": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
- "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
- "dev": true,
- "requires": {
- "ansi-colors": "^4.1.1"
- }
- },
"ent": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
@@ -10804,76 +12338,75 @@
}
},
"eslint": {
- "version": "7.32.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz",
- "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==",
+ "version": "8.57.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz",
+ "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==",
"dev": true,
+ "peer": true,
"requires": {
- "@babel/code-frame": "7.12.11",
- "@eslint/eslintrc": "^0.4.3",
- "@humanwhocodes/config-array": "^0.5.0",
- "ajv": "^6.10.0",
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@eslint-community/regexpp": "^4.6.1",
+ "@eslint/eslintrc": "^2.1.4",
+ "@eslint/js": "8.57.0",
+ "@humanwhocodes/config-array": "^0.11.14",
+ "@humanwhocodes/module-importer": "^1.0.1",
+ "@nodelib/fs.walk": "^1.2.8",
+ "@ungap/structured-clone": "^1.2.0",
+ "ajv": "^6.12.4",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
- "debug": "^4.0.1",
+ "debug": "^4.3.2",
"doctrine": "^3.0.0",
- "enquirer": "^2.3.5",
"escape-string-regexp": "^4.0.0",
- "eslint-scope": "^5.1.1",
- "eslint-utils": "^2.1.0",
- "eslint-visitor-keys": "^2.0.0",
- "espree": "^7.3.1",
- "esquery": "^1.4.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": "^6.0.1",
- "functional-red-black-tree": "^1.0.1",
- "glob-parent": "^5.1.2",
- "globals": "^13.6.0",
- "ignore": "^4.0.6",
- "import-fresh": "^3.0.0",
+ "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",
- "js-yaml": "^3.13.1",
+ "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.0.4",
+ "minimatch": "^3.1.2",
"natural-compare": "^1.4.0",
- "optionator": "^0.9.1",
- "progress": "^2.0.0",
- "regexpp": "^3.1.0",
- "semver": "^7.2.1",
- "strip-ansi": "^6.0.0",
- "strip-json-comments": "^3.1.0",
- "table": "^6.0.9",
- "text-table": "^0.2.0",
- "v8-compile-cache": "^2.0.3"
+ "optionator": "^0.9.3",
+ "strip-ansi": "^6.0.1",
+ "text-table": "^0.2.0"
},
"dependencies": {
- "@babel/code-frame": {
- "version": "7.12.11",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
- "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
- "dev": true,
- "requires": {
- "@babel/highlight": "^7.10.4"
- }
- },
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
+ "peer": true,
"requires": {
"color-convert": "^2.0.1"
}
},
+ "argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true,
+ "peer": true
+ },
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
+ "peer": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -10884,6 +12417,7 @@
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
+ "peer": true,
"requires": {
"color-name": "~1.1.4"
}
@@ -10892,59 +12426,182 @@
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
+ "dev": true,
+ "peer": true
},
"escape-string-regexp": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true
+ "dev": true,
+ "peer": 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,
+ "peer": true,
+ "requires": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ }
},
"eslint-visitor-keys": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
- "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
- "dev": true
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "dev": true,
+ "peer": true
+ },
+ "estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
+ "peer": true
+ },
+ "find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "is-glob": "^4.0.3"
+ }
},
"globals": {
- "version": "13.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz",
- "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==",
+ "version": "13.24.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
+ "dev": true,
+ "peer": 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",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "peer": true
+ },
+ "js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "argparse": "^2.0.1"
+ }
+ },
+ "locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "p-locate": "^5.0.0"
+ }
+ },
+ "p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "yocto-queue": "^0.1.0"
+ }
+ },
+ "p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
"dev": true,
+ "peer": true,
"requires": {
- "type-fest": "^0.20.2"
+ "p-limit": "^3.0.2"
}
},
- "has-flag": {
+ "path-exists": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "semver": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
- "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
- "dev": true
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true,
+ "peer": true
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
+ "peer": true,
"requires": {
"has-flag": "^4.0.0"
}
+ },
+ "yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "dev": true,
+ "peer": true
+ }
+ }
+ },
+ "eslint-compat-utils": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz",
+ "integrity": "sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "semver": "^7.5.4"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+ "dev": true,
+ "peer": true
}
}
},
"eslint-config-standard": {
- "version": "16.0.3",
- "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.3.tgz",
- "integrity": "sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg==",
+ "version": "17.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz",
+ "integrity": "sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==",
"dev": true,
+ "peer": true,
"requires": {}
},
+ "eslint-import-resolver-exports": {
+ "version": "1.0.0-beta.5",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-exports/-/eslint-import-resolver-exports-1.0.0-beta.5.tgz",
+ "integrity": "sha512-o6t0w7muUpXr7MkUVzD5igQoDfAQvTmcPp8HEAJdNF8eOuAO+yn6I/TTyMxz9ecCwzX7e02vzlkHURoScUuidg==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "resolve.exports": "^2.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",
@@ -10969,30 +12626,20 @@
}
}
},
- "eslint-loader": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-4.0.2.tgz",
- "integrity": "sha512-EDpXor6lsjtTzZpLUn7KmXs02+nIjGcgees9BYjNkWra3jVq5vVa8IoCKgzT2M7dNNeoMBtaSG83Bd40N3poLw==",
+ "eslint-import-resolver-typescript": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz",
+ "integrity": "sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==",
"dev": true,
+ "peer": true,
"requires": {
- "find-cache-dir": "^3.3.1",
- "fs-extra": "^8.1.0",
- "loader-utils": "^2.0.0",
- "object-hash": "^2.0.3",
- "schema-utils": "^2.6.5"
- },
- "dependencies": {
- "fs-extra": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
- "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- }
- }
+ "debug": "^4.3.4",
+ "enhanced-resolve": "^5.12.0",
+ "eslint-module-utils": "^2.7.4",
+ "fast-glob": "^3.3.1",
+ "get-tsconfig": "^4.5.0",
+ "is-core-module": "^2.11.0",
+ "is-glob": "^4.0.3"
}
},
"eslint-module-utils": {
@@ -11017,14 +12664,16 @@
}
}
},
- "eslint-plugin-es": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz",
- "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==",
+ "eslint-plugin-es-x": {
+ "version": "7.7.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.7.0.tgz",
+ "integrity": "sha512-aP3qj8BwiEDPttxQkZdI221DLKq9sI/qHolE2YSQL1/9+xk7dTV+tB1Fz8/IaCA+lnLA1bDEnvaS2LKs0k2Uig==",
"dev": true,
+ "peer": true,
"requires": {
- "eslint-utils": "^2.0.0",
- "regexpp": "^3.0.0"
+ "@eslint-community/eslint-utils": "^4.1.2",
+ "@eslint-community/regexpp": "^4.6.0",
+ "eslint-compat-utils": "^0.5.1"
}
},
"eslint-plugin-import": {
@@ -11075,36 +12724,123 @@
}
}
},
- "eslint-plugin-node": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz",
- "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==",
+ "eslint-plugin-jsdoc": {
+ "version": "46.10.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.10.1.tgz",
+ "integrity": "sha512-x8wxIpv00Y50NyweDUpa+58ffgSAI5sqe+zcZh33xphD0AVh+1kqr1ombaTRb7Fhpove1zfUuujlX9DWWBP5ag==",
"dev": true,
+ "peer": true,
"requires": {
- "eslint-plugin-es": "^3.0.0",
- "eslint-utils": "^2.0.0",
- "ignore": "^5.1.1",
- "minimatch": "^3.0.4",
- "resolve": "^1.10.1",
- "semver": "^6.1.0"
+ "@es-joy/jsdoccomment": "~0.41.0",
+ "are-docs-informative": "^0.0.2",
+ "comment-parser": "1.4.1",
+ "debug": "^4.3.4",
+ "escape-string-regexp": "^4.0.0",
+ "esquery": "^1.5.0",
+ "is-builtin-module": "^3.2.1",
+ "semver": "^7.5.4",
+ "spdx-expression-parse": "^4.0.0"
},
"dependencies": {
- "ignore": {
- "version": "5.1.9",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz",
- "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==",
- "dev": true
+ "escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "dev": true,
+ "peer": true
+ },
+ "semver": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+ "dev": true,
+ "peer": true
+ }
+ }
+ },
+ "eslint-plugin-n": {
+ "version": "16.6.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.6.2.tgz",
+ "integrity": "sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "@eslint-community/eslint-utils": "^4.4.0",
+ "builtins": "^5.0.1",
+ "eslint-plugin-es-x": "^7.5.0",
+ "get-tsconfig": "^4.7.0",
+ "globals": "^13.24.0",
+ "ignore": "^5.2.4",
+ "is-builtin-module": "^3.2.1",
+ "is-core-module": "^2.12.1",
+ "minimatch": "^3.1.2",
+ "resolve": "^1.22.2",
+ "semver": "^7.5.3"
+ },
+ "dependencies": {
+ "globals": {
+ "version": "13.24.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "type-fest": "^0.20.2"
+ }
+ },
+ "semver": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+ "dev": true,
+ "peer": true
}
}
},
"eslint-plugin-promise": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-5.2.0.tgz",
- "integrity": "sha512-SftLb1pUG01QYq2A/hGAWfDRXqYD82zE7j7TopDOyNdU+7SvvoXREls/+PRTY17vUXzXnZA/zfnyKgRH6x4JJw==",
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.2.0.tgz",
+ "integrity": "sha512-QmAqwizauvnKOlifxyDj2ObfULpHQawlg/zQdgEixur9vl0CvZGv/LCJV2rtj3210QCoeGBzVMfMXqGAOr/4fA==",
"dev": true,
"peer": true,
"requires": {}
},
+ "eslint-plugin-vue": {
+ "version": "9.26.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.26.0.tgz",
+ "integrity": "sha512-eTvlxXgd4ijE1cdur850G6KalZqk65k1JKoOI2d1kT3hr8sPD07j1q98FRFdNnpxBELGPWxZmInxeHGF/GxtqQ==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "@eslint-community/eslint-utils": "^4.4.0",
+ "globals": "^13.24.0",
+ "natural-compare": "^1.4.0",
+ "nth-check": "^2.1.1",
+ "postcss-selector-parser": "^6.0.15",
+ "semver": "^7.6.0",
+ "vue-eslint-parser": "^9.4.2",
+ "xml-name-validator": "^4.0.0"
+ },
+ "dependencies": {
+ "globals": {
+ "version": "13.24.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "type-fest": "^0.20.2"
+ }
+ },
+ "semver": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+ "dev": true,
+ "peer": true
+ }
+ }
+ },
"eslint-scope": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
@@ -11115,30 +12851,25 @@
"estraverse": "^4.1.1"
}
},
- "eslint-utils": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
- "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
- "dev": true,
- "requires": {
- "eslint-visitor-keys": "^1.1.0"
- }
- },
- "eslint-visitor-keys": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
- "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
- "dev": true
- },
"espree": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz",
- "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==",
+ "version": "9.6.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
+ "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
"dev": true,
+ "peer": true,
"requires": {
- "acorn": "^7.4.0",
- "acorn-jsx": "^5.3.1",
- "eslint-visitor-keys": "^1.3.0"
+ "acorn": "^8.9.0",
+ "acorn-jsx": "^5.3.2",
+ "eslint-visitor-keys": "^3.4.1"
+ },
+ "dependencies": {
+ "eslint-visitor-keys": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "dev": true,
+ "peer": true
+ }
}
},
"esprima": {
@@ -11148,10 +12879,11 @@
"dev": true
},
"esquery": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
- "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
+ "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
"dev": true,
+ "peer": true,
"requires": {
"estraverse": "^5.1.0"
},
@@ -11160,7 +12892,8 @@
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "dev": true
+ "dev": true,
+ "peer": true
}
}
},
@@ -11217,6 +12950,20 @@
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
"dev": true
},
+ "fast-glob": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
+ "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.4"
+ }
+ },
"fast-json-stable-stringify": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
@@ -11229,25 +12976,46 @@
"integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
"dev": true
},
+ "fast-xml-parser": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.0.tgz",
+ "integrity": "sha512-kLY3jFlwIYwBNDojclKsNAC12sfD6NwW74QB2CoNGPvtVxjliYehVunB3HYyNi+n4Tt1dAcgwYvmKF/Z18flqg==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "strnum": "^1.0.5"
+ }
+ },
"fastest-levenshtein": {
"version": "1.0.12",
"resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz",
"integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==",
"dev": true
},
+ "fastq": {
+ "version": "1.17.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
+ "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "reusify": "^1.0.4"
+ }
+ },
"file-entry-cache": {
"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,
+ "peer": true,
"requires": {
"flat-cache": "^3.0.4"
}
},
"fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dev": true,
"requires": {
"to-regex-range": "^5.0.1"
@@ -11285,77 +13053,6 @@
}
}
},
- "find-cache-dir": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
- "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
- "dev": true,
- "requires": {
- "commondir": "^1.0.1",
- "make-dir": "^3.0.2",
- "pkg-dir": "^4.1.0"
- },
- "dependencies": {
- "find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "requires": {
- "p-locate": "^4.1.0"
- }
- },
- "p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "requires": {
- "p-limit": "^2.2.0"
- }
- },
- "p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "dev": true
- },
- "path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true
- },
- "pkg-dir": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
- "dev": true,
- "requires": {
- "find-up": "^4.0.0"
- }
- }
- }
- },
"find-up": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz",
@@ -11377,6 +13074,7 @@
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
"integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
"dev": true,
+ "peer": true,
"requires": {
"flatted": "^3.1.0",
"rimraf": "^3.0.2"
@@ -11446,12 +13144,6 @@
"functions-have-names": "^1.2.3"
}
},
- "functional-red-black-tree": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
- "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
- "dev": true
- },
"functions-have-names": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
@@ -11494,6 +13186,16 @@
"get-intrinsic": "^1.1.1"
}
},
+ "get-tsconfig": {
+ "version": "4.7.5",
+ "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.5.tgz",
+ "integrity": "sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "resolve-pkg-maps": "^1.0.0"
+ }
+ },
"glob": {
"version": "5.0.15",
"resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
@@ -11538,6 +13240,21 @@
"define-properties": "^1.1.3"
}
},
+ "globby": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+ "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "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"
+ }
+ },
"gopd": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
@@ -11553,6 +13270,13 @@
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
"dev": true
},
+ "graphemer": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
+ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
+ "dev": true,
+ "peer": true
+ },
"handlebars": {
"version": "4.7.7",
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz",
@@ -11667,16 +13391,18 @@
}
},
"ignore": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
- "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
- "dev": true
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
+ "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
+ "dev": true,
+ "peer": true
},
"import-fresh": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
"integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
+ "peer": true,
"requires": {
"parent-module": "^1.0.0",
"resolve-from": "^4.0.0"
@@ -11756,7 +13482,8 @@
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
"integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
- "dev": true
+ "dev": true,
+ "peer": true
},
"inflight": {
"version": "1.0.6",
@@ -11834,6 +13561,16 @@
"has-tostringtag": "^1.0.0"
}
},
+ "is-builtin-module": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz",
+ "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "builtin-modules": "^3.3.0"
+ }
+ },
"is-callable": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
@@ -11910,6 +13647,13 @@
"has-tostringtag": "^1.0.0"
}
},
+ "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,
+ "peer": true
+ },
"is-plain-object": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
@@ -12253,6 +13997,13 @@
}
}
},
+ "jsdoc-type-pratt-parser": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz",
+ "integrity": "sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==",
+ "dev": true,
+ "peer": true
+ },
"jsesc": {
"version": "2.5.2",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
@@ -12275,7 +14026,8 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
"integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
- "dev": true
+ "dev": true,
+ "peer": true
},
"json5": {
"version": "2.2.3",
@@ -12283,15 +14035,6 @@
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
"dev": true
},
- "jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.6"
- }
- },
"karma": {
"version": "6.4.3",
"resolved": "https://registry.npmjs.org/karma/-/karma-6.4.3.tgz",
@@ -12490,6 +14233,7 @@
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
"integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
"dev": true,
+ "peer": true,
"requires": {
"prelude-ls": "^1.2.1",
"type-check": "~0.4.0"
@@ -12501,17 +14245,6 @@
"integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==",
"dev": true
},
- "loader-utils": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
- "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
- "dev": true,
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
- }
- },
"locate-path": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz",
@@ -12531,19 +14264,15 @@
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
"integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
- "dev": true
+ "dev": true,
+ "peer": true
},
"lodash.merge": {
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true
- },
- "lodash.truncate": {
- "version": "4.4.2",
- "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
- "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=",
- "dev": true
+ "dev": true,
+ "peer": true
},
"log-symbols": {
"version": "2.2.0",
@@ -12588,6 +14317,24 @@
"integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
"dev": true
},
+ "merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "dev": true,
+ "peer": true
+ },
+ "micromatch": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
+ "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "braces": "^3.0.3",
+ "picomatch": "^2.3.1"
+ }
+ },
"mime": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
@@ -12649,7 +14396,8 @@
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
"integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
- "dev": true
+ "dev": true,
+ "peer": true
},
"negotiator": {
"version": "0.6.3",
@@ -12684,18 +14432,22 @@
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"dev": true
},
+ "nth-check": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
+ "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "boolbase": "^1.0.0"
+ }
+ },
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
"dev": true
},
- "object-hash": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz",
- "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==",
- "dev": true
- },
"object-inspect": {
"version": "1.13.1",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
@@ -12778,17 +14530,18 @@
}
},
"optionator": {
- "version": "0.9.1",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
- "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
+ "version": "0.9.4",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
+ "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
"dev": true,
+ "peer": true,
"requires": {
"deep-is": "^0.1.3",
"fast-levenshtein": "^2.0.6",
"levn": "^0.4.1",
"prelude-ls": "^1.2.1",
"type-check": "^0.4.0",
- "word-wrap": "^1.2.3"
+ "word-wrap": "^1.2.5"
}
},
"p-limit": {
@@ -12814,6 +14567,7 @@
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
"integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
"dev": true,
+ "peer": true,
"requires": {
"callsites": "^3.0.0"
}
@@ -12866,6 +14620,13 @@
}
}
},
+ "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,
+ "peer": true
+ },
"picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
@@ -12873,9 +14634,9 @@
"dev": true
},
"picomatch": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
- "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true
},
"pkg-dir": {
@@ -12887,17 +14648,23 @@
"find-up": "^6.3.0"
}
},
+ "postcss-selector-parser": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz",
+ "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ }
+ },
"prelude-ls": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
"integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
- "dev": true
- },
- "progress": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
- "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
- "dev": true
+ "dev": true,
+ "peer": true
},
"punycode": {
"version": "2.1.1",
@@ -12920,6 +14687,13 @@
"side-channel": "^1.0.4"
}
},
+ "queue-microtask": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "dev": true,
+ "peer": true
+ },
"randombytes": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
@@ -12969,13 +14743,15 @@
"version": "1.4.2",
"resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
"integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==",
- "dev": true
+ "dev": true,
+ "peer": true
},
"regenerate-unicode-properties": {
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz",
"integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==",
"dev": true,
+ "peer": true,
"requires": {
"regenerate": "^1.4.2"
}
@@ -12983,13 +14759,16 @@
"regenerator-runtime": {
"version": "0.14.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
- "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
+ "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
+ "dev": true,
+ "peer": true
},
"regenerator-transform": {
"version": "0.15.2",
"resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz",
"integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/runtime": "^7.8.4"
}
@@ -13006,17 +14785,12 @@
"set-function-name": "^2.0.0"
}
},
- "regexpp": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
- "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
- "dev": true
- },
"regexpu-core": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz",
"integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/regjsgen": "^0.8.0",
"regenerate": "^1.4.2",
@@ -13031,6 +14805,7 @@
"resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz",
"integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==",
"dev": true,
+ "peer": true,
"requires": {
"jsesc": "~0.5.0"
},
@@ -13039,7 +14814,8 @@
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
"integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==",
- "dev": true
+ "dev": true,
+ "peer": true
}
}
},
@@ -13055,6 +14831,13 @@
"integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
"dev": true
},
+ "requireindex": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz",
+ "integrity": "sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==",
+ "dev": true,
+ "peer": true
+ },
"requires-port": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
@@ -13093,7 +14876,29 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "dev": true
+ "dev": true,
+ "peer": true
+ },
+ "resolve-pkg-maps": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz",
+ "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==",
+ "dev": true,
+ "peer": true
+ },
+ "resolve.exports": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz",
+ "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==",
+ "dev": true,
+ "peer": true
+ },
+ "reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "dev": true,
+ "peer": true
},
"rfdc": {
"version": "1.3.0",
@@ -13126,6 +14931,16 @@
}
}
},
+ "run-parallel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
"safe-array-concat": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz",
@@ -13163,17 +14978,6 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"dev": true
},
- "schema-utils": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
- "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
- "dev": true,
- "requires": {
- "@types/json-schema": "^7.0.5",
- "ajv": "^6.12.4",
- "ajv-keywords": "^3.5.2"
- }
- },
"semver": {
"version": "6.3.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
@@ -13260,42 +15064,12 @@
"integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==",
"dev": true
},
- "slice-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
- "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"dev": true,
- "requires": {
- "ansi-styles": "^4.0.0",
- "astral-regex": "^2.0.0",
- "is-fullwidth-code-point": "^3.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- }
- }
+ "peer": true
},
"socket.io": {
"version": "4.7.4",
@@ -13348,6 +15122,31 @@
"source-map": "^0.6.0"
}
},
+ "spdx-exceptions": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz",
+ "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==",
+ "dev": true,
+ "peer": true
+ },
+ "spdx-expression-parse": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-4.0.0.tgz",
+ "integrity": "sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-license-ids": {
+ "version": "3.0.18",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz",
+ "integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==",
+ "dev": true,
+ "peer": true
+ },
"sprintf-js": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
@@ -13487,7 +15286,15 @@
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
- "dev": true
+ "dev": true,
+ "peer": true
+ },
+ "strnum": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz",
+ "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==",
+ "dev": true,
+ "peer": true
},
"supports-color": {
"version": "5.5.0",
@@ -13504,39 +15311,6 @@
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
"dev": true
},
- "table": {
- "version": "6.7.3",
- "resolved": "https://registry.npmjs.org/table/-/table-6.7.3.tgz",
- "integrity": "sha512-5DkIxeA7XERBqMwJq0aHZOdMadBx4e6eDoFRuyT5VR82J0Ycg2DwM6GfA/EQAhJ+toRTaS1lIdSQCqgrmhPnlw==",
- "dev": true,
- "requires": {
- "ajv": "^8.0.1",
- "lodash.truncate": "^4.4.2",
- "slice-ansi": "^4.0.0",
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1"
- },
- "dependencies": {
- "ajv": {
- "version": "8.8.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.0.tgz",
- "integrity": "sha512-L+cJ/+pkdICMueKR6wIx3VP2fjIx3yAhuvadUv/osv9yFD7OVZy442xFF+Oeu3ZvmhBGQzoF6mTSt+LUWBmGQg==",
- "dev": true,
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
- }
- },
- "json-schema-traverse": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
- "dev": true
- }
- }
- },
"tapable": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
@@ -13555,12 +15329,6 @@
"source-map-support": "~0.5.20"
},
"dependencies": {
- "acorn": {
- "version": "8.11.3",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
- "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
- "dev": true
- },
"commander": {
"version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
@@ -13599,7 +15367,8 @@
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
"integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
- "dev": true
+ "dev": true,
+ "peer": true
},
"tmp": {
"version": "0.2.1",
@@ -13631,6 +15400,14 @@
"integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
"dev": true
},
+ "ts-api-utils": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz",
+ "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==",
+ "dev": true,
+ "peer": true,
+ "requires": {}
+ },
"tsconfig-paths": {
"version": "3.15.0",
"resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz",
@@ -13661,6 +15438,7 @@
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
"integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
"dev": true,
+ "peer": true,
"requires": {
"prelude-ls": "^1.2.1"
}
@@ -13669,7 +15447,8 @@
"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
+ "dev": true,
+ "peer": true
},
"type-is": {
"version": "1.6.18",
@@ -13732,6 +15511,13 @@
"is-typed-array": "^1.1.9"
}
},
+ "typescript": {
+ "version": "5.4.5",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
+ "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
+ "dev": true,
+ "peer": true
+ },
"ua-parser-js": {
"version": "0.7.33",
"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.33.tgz",
@@ -13762,13 +15548,15 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
"integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==",
- "dev": true
+ "dev": true,
+ "peer": true
},
"unicode-match-property-ecmascript": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
"integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==",
"dev": true,
+ "peer": true,
"requires": {
"unicode-canonical-property-names-ecmascript": "^2.0.0",
"unicode-property-aliases-ecmascript": "^2.0.0"
@@ -13778,19 +15566,15 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz",
"integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==",
- "dev": true
+ "dev": true,
+ "peer": true
},
"unicode-property-aliases-ecmascript": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
"integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==",
- "dev": true
- },
- "universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true
+ "dev": true,
+ "peer": true
},
"unpipe": {
"version": "1.0.0",
@@ -13817,18 +15601,19 @@
"punycode": "^2.1.0"
}
},
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+ "dev": true,
+ "peer": true
+ },
"utils-merge": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
"dev": true
},
- "v8-compile-cache": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
- "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
- "dev": true
- },
"vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
@@ -13841,6 +15626,56 @@
"integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
"dev": true
},
+ "vue-eslint-parser": {
+ "version": "9.4.3",
+ "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz",
+ "integrity": "sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "debug": "^4.3.4",
+ "eslint-scope": "^7.1.1",
+ "eslint-visitor-keys": "^3.3.0",
+ "espree": "^9.3.1",
+ "esquery": "^1.4.0",
+ "lodash": "^4.17.21",
+ "semver": "^7.3.6"
+ },
+ "dependencies": {
+ "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,
+ "peer": true,
+ "requires": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ }
+ },
+ "eslint-visitor-keys": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "dev": true,
+ "peer": true
+ },
+ "estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
+ "peer": true
+ },
+ "semver": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+ "dev": true,
+ "peer": true
+ }
+ }
+ },
"watchpack": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz",
@@ -13883,12 +15718,6 @@
"webpack-sources": "^3.2.3"
},
"dependencies": {
- "acorn": {
- "version": "8.8.2",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
- "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==",
- "dev": true
- },
"acorn-import-assertions": {
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz",
@@ -13991,9 +15820,9 @@
"dev": true
},
"word-wrap": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz",
- "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==",
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
+ "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
"dev": true
},
"wordwrap": {
@@ -14089,6 +15918,13 @@
"dev": true,
"requires": {}
},
+ "xml-name-validator": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz",
+ "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==",
+ "dev": true,
+ "peer": true
+ },
"y18n": {
"version": "5.0.8",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
diff --git a/package.json b/package.json
index b0f421fb..c14cc46c 100644
--- a/package.json
+++ b/package.json
@@ -43,14 +43,10 @@
},
"devDependencies": {
"@babel/core": "^7.16.0",
- "@babel/preset-env": "^7.16.4",
+ "@nextcloud/babel-config": "^1.2.0",
"@nextcloud/browserslist-config": "^3.0.0",
- "babel-eslint": "^10.1.0",
+ "@nextcloud/eslint-config": "^8.4.1",
"babel-loader": "^9.1.0",
- "eslint": "^7.32.0",
- "eslint-config-standard": "^16.0.3",
- "eslint-loader": "^4.0.2",
- "eslint-plugin-node": "^11.1.0",
"istanbul": "^0.4.5",
"jasmine": "^5.0.0",
"karma": "^6.3.9",
@@ -62,9 +58,5 @@
"webpack": "^5.65.0",
"webpack-cli": "^5.0.0",
"webpack-merge": "^5.8.0"
- },
- "dependencies": {
- "core-js": "^3.19.3",
- "regenerator-runtime": "^0.14.0"
}
}
diff --git a/src/debug.js b/src/debug.js
index 0be15a27..d048dbce 100644
--- a/src/debug.js
+++ b/src/debug.js
@@ -23,16 +23,16 @@
/**
* creates a debug function bound to a context
- * @param {String} context
- * @returns {Function}
+ * @param {string} context
+ * @return {Function}
*/
export function debugFactory(context) {
return (...args) => {
if (debugFactory.enabled) {
// eslint-disable-next-line no-console
- console.debug(context, ...args);
+ console.debug(context, ...args)
}
- };
+ }
}
-debugFactory.enabled = false;
+debugFactory.enabled = false
diff --git a/src/errors/attachError.js b/src/errors/attachError.js
index d3286e29..fca9ffa7 100644
--- a/src/errors/attachError.js
+++ b/src/errors/attachError.js
@@ -30,12 +30,12 @@ export default class AttachError extends Error {
/**
*
- * @param {Object} attach
+ * @param {object} attach
*/
constructor(attach) {
- super();
+ super()
- Object.assign(this, attach);
+ Object.assign(this, attach)
}
}
diff --git a/src/errors/networkRequestAbortedError.js b/src/errors/networkRequestAbortedError.js
index 492e0089..17517119 100644
--- a/src/errors/networkRequestAbortedError.js
+++ b/src/errors/networkRequestAbortedError.js
@@ -21,6 +21,6 @@
*
*/
-import AttachError from './attachError.js';
+import AttachError from './attachError.js'
export default class NetworkRequestAbortedError extends AttachError {}
diff --git a/src/errors/networkRequestClientError.js b/src/errors/networkRequestClientError.js
index 413ca47a..f695e1b1 100644
--- a/src/errors/networkRequestClientError.js
+++ b/src/errors/networkRequestClientError.js
@@ -21,6 +21,6 @@
*
*/
-import NetworkRequestHttpError from './networkRequestHttpError.js';
+import NetworkRequestHttpError from './networkRequestHttpError.js'
export default class NetworkRequestClientError extends NetworkRequestHttpError {}
diff --git a/src/errors/networkRequestError.js b/src/errors/networkRequestError.js
index 3477c8ed..710ce66d 100644
--- a/src/errors/networkRequestError.js
+++ b/src/errors/networkRequestError.js
@@ -21,6 +21,6 @@
*
*/
-import AttachError from './attachError.js';
+import AttachError from './attachError.js'
export default class NetworkRequestError extends AttachError {}
diff --git a/src/errors/networkRequestHttpError.js b/src/errors/networkRequestHttpError.js
index a1a6890f..93fe68b0 100644
--- a/src/errors/networkRequestHttpError.js
+++ b/src/errors/networkRequestHttpError.js
@@ -21,6 +21,6 @@
*
*/
-import AttachError from './attachError.js';
+import AttachError from './attachError.js'
export default class NetworkRequestHttpError extends AttachError {}
diff --git a/src/errors/networkRequestServerError.js b/src/errors/networkRequestServerError.js
index 7f97d05d..36152bb6 100644
--- a/src/errors/networkRequestServerError.js
+++ b/src/errors/networkRequestServerError.js
@@ -21,6 +21,6 @@
*
*/
-import NetworkRequestHttpError from './networkRequestHttpError.js';
+import NetworkRequestHttpError from './networkRequestHttpError.js'
export default class NetworkRequestServerError extends NetworkRequestHttpError {}
diff --git a/src/index.js b/src/index.js
index 0de3988a..d2642a16 100644
--- a/src/index.js
+++ b/src/index.js
@@ -20,18 +20,18 @@
* License along with this library. If not, see .
*
*/
-import Parser from './parser.js';
-import Request from './request.js';
-import * as NS from './utility/namespaceUtility.js';
-import * as XMLUtility from './utility/xmlUtility';
-import { CalendarHome } from './models/calendarHome.js';
-import { AddressBookHome } from './models/addressBookHome.js';
-import { Principal } from './models/principal.js';
+import Parser from './parser.js'
+import Request from './request.js'
+import * as NS from './utility/namespaceUtility.js'
+import * as XMLUtility from './utility/xmlUtility.js'
+import { CalendarHome } from './models/calendarHome.js'
+import { AddressBookHome } from './models/addressBookHome.js'
+import { Principal } from './models/principal.js'
-import { debugFactory } from './debug.js';
-const debug = debugFactory('index.js');
+import { debugFactory } from './debug.js'
+const debug = debugFactory('index.js')
-export { debugFactory as debug, NS as namespaces };
+export { debugFactory as debug, NS as namespaces }
/**
*
@@ -39,46 +39,46 @@ export { debugFactory as debug, NS as namespaces };
export default class DavClient {
/**
- * @param {Object} options
- * @param {String} options.rootUrl
+ * @param {object} options
+ * @param {string} options.rootUrl
* @param {Function} xhrProvider
- * @param {Object} factories
+ * @param {object} factories
*/
constructor(options, xhrProvider = null, factories = {}) {
/**
* root URL of DAV Server
*
- * @type {String}
+ * @type {string}
*/
- this.rootUrl = null;
+ this.rootUrl = null
if (options.rootUrl.slice(-1) !== '/') {
- options.rootUrl += '/';
+ options.rootUrl += '/'
}
// overwrite rootUrl if passed as argument
- Object.assign(this, options);
+ Object.assign(this, options)
/**
* List of advertised DAV features
*
- * @type {String[]}
+ * @type {string[]}
*/
- this.advertisedFeatures = [];
+ this.advertisedFeatures = []
/**
* Principal object of current user
*
* @type {Principal}
*/
- this.currentUserPrincipal = null;
+ this.currentUserPrincipal = null
/**
* Array of links to principal collections
*
- * @type {String[]}
+ * @type {string[]}
*/
- this.principalCollections = [];
+ this.principalCollections = []
/**
* Array of calendar homes
@@ -86,7 +86,7 @@ export default class DavClient {
*
* @type {CalendarHome[]}
*/
- this.calendarHomes = [];
+ this.calendarHomes = []
/**
* The calendar-home that houses all public calendars
@@ -95,7 +95,7 @@ export default class DavClient {
*
* @type {CalendarHome|null}
*/
- this.publicCalendarHome = null;
+ this.publicCalendarHome = null
/**
* Array of address book homes
@@ -103,67 +103,67 @@ export default class DavClient {
*
* @type {AddressBookHome[]}
*/
- this.addressBookHomes = [];
+ this.addressBookHomes = []
/**
*
* @type {Parser}
*/
- this.parser = new Parser();
+ this.parser = new Parser()
/**
*
* @type {boolean}
* @private
*/
- this._isConnected = false;
+ this._isConnected = false
/**
*
* @type {Request}
* @private
*/
- this._request = new Request(this.rootUrl, this.parser, xhrProvider);
+ this._request = new Request(this.rootUrl, this.parser, xhrProvider)
}
/**
* initializes the DAVClient
- * @param {Object} options
- * @returns {Promise}
+ * @param {object} options
+ * @return {Promise}
*/
async connect(options = { enableCalDAV: false, enableCardDAV: false }) {
if (this._isConnected) {
- return this;
+ return this
}
// we don't support rfc 6764 for now - Pull-requests welcome :)
if (!this.rootUrl) {
- throw new Error('No rootUrl configured');
+ throw new Error('No rootUrl configured')
}
- const principalUrl = await this._discoverPrincipalUri();
- debug(`PrincipalURL: ${principalUrl}`);
+ const principalUrl = await this._discoverPrincipalUri()
+ debug(`PrincipalURL: ${principalUrl}`)
- const propFindList = Principal.getPropFindList(options);
+ const propFindList = Principal.getPropFindList(options)
if (options.enableCalDAV || options.enableCardDAV) {
propFindList.push(
[NS.DAV, 'principal-collection-set'],
- [NS.DAV, 'supported-report-set']
- );
+ [NS.DAV, 'supported-report-set'],
+ )
}
- const response = await this._request.propFind(principalUrl, propFindList);
+ const response = await this._request.propFind(principalUrl, propFindList)
- this.currentUserPrincipal = new Principal(null, this._request, principalUrl, response.body);
- this._extractAdvertisedDavFeatures(response.xhr);
- this._extractAddressBookHomes(response.body);
- this._extractCalendarHomes(response.body);
- this._extractPrincipalCollectionSets(response.body);
- this._createPublicCalendarHome();
+ this.currentUserPrincipal = new Principal(null, this._request, principalUrl, response.body)
+ this._extractAdvertisedDavFeatures(response.xhr)
+ this._extractAddressBookHomes(response.body)
+ this._extractCalendarHomes(response.body)
+ this._extractPrincipalCollectionSets(response.body)
+ this._createPublicCalendarHome()
- this._isConnected = true;
+ this._isConnected = true
- return this;
+ return this
}
// /**
@@ -190,131 +190,131 @@ export default class DavClient {
/**
* performs a principal property search based on a principal's displayname
*
- * @param {String} name
- * @returns {Promise}
+ * @param {string} name
+ * @return {Promise}
*/
async principalPropertySearchByDisplayname(name) {
return this.principalPropertySearch([
- { name: [NS.DAV, 'displayname'] }
- ], name);
+ { name: [NS.DAV, 'displayname'] },
+ ], name)
}
/**
* performs a principal property search based on a principal's displayname OR email address
*
- * @param {String} value
- * @returns {Promise}
+ * @param {string} value
+ * @return {Promise}
*/
async principalPropertySearchByDisplaynameOrEmail(value) {
return this.principalPropertySearch([
{ name: [NS.DAV, 'displayname'] },
- { name: [NS.SABREDAV, 'email-address'] }
- ], value, 'anyof');
+ { name: [NS.SABREDAV, 'email-address'] },
+ ], value, 'anyof')
}
/**
* Performs a principal property based on the address of a room
*
- * @param {String} address Address of the building the room is in
- * @returns {Promise}
+ * @param {string} address Address of the building the room is in
+ * @return {Promise}
*/
async principalPropertySearchByAddress(address) {
return this.principalPropertySearch([
- { name: [NS.NEXTCLOUD, 'room-building-address'] }
- ], address);
+ { name: [NS.NEXTCLOUD, 'room-building-address'] },
+ ], address)
}
/**
* Performs a principal property search based on the address and story of a room
*
- * @param {String} address Address of the building the room is in
- * @param {String} story Story inside the building the room is in
- * @returns {Promise<[]>}
+ * @param {string} address Address of the building the room is in
+ * @param {string} story Story inside the building the room is in
+ * @return {Promise<[]>}
*/
async principalPropertySearchByAddressAndStory(address, story) {
const [skeleton] = XMLUtility.getRootSkeleton(
- [NS.DAV, 'principal-property-search']);
+ [NS.DAV, 'principal-property-search'])
skeleton.children.push({
name: [NS.DAV, 'property-search'],
children: [{
name: [NS.DAV, 'prop'],
children: [{
- name: [NS.NEXTCLOUD, 'room-building-address']
- }]
+ name: [NS.NEXTCLOUD, 'room-building-address'],
+ }],
}, {
name: [NS.DAV, 'match'],
- value: address
- }]
- });
+ value: address,
+ }],
+ })
skeleton.children.push({
name: [NS.DAV, 'property-search'],
children: [{
name: [NS.DAV, 'prop'],
children: [{
- name: [NS.NEXTCLOUD, 'room-building-story']
- }]
+ name: [NS.NEXTCLOUD, 'room-building-story'],
+ }],
}, {
name: [NS.DAV, 'match'],
- value: story
- }]
- });
+ value: story,
+ }],
+ })
skeleton.children.push({
name: [NS.DAV, 'prop'],
children: Principal
.getPropFindList({ enableCalDAV: true })
- .map((propFindListItem) => ({ name: propFindListItem }))
- });
+ .map((propFindListItem) => ({ name: propFindListItem })),
+ })
// We are searching all principal collections, not just one
- skeleton.children.push({ name: [NS.DAV, 'apply-to-principal-collection-set'] });
+ skeleton.children.push({ name: [NS.DAV, 'apply-to-principal-collection-set'] })
- const xml = XMLUtility.serialize(skeleton);
+ const xml = XMLUtility.serialize(skeleton)
return this._request.report(this.rootUrl, { Depth: 0 }, xml).then((response) => {
- const result = [];
+ const result = []
Object.entries(response.body).forEach(([path, props]) => {
- const url = this._request.pathname(path);
- result.push(new Principal(null, this._request, url, props));
- });
+ const url = this._request.pathname(path)
+ result.push(new Principal(null, this._request, url, props))
+ })
- return result;
- });
+ return result
+ })
}
/**
* Performs a principal property search based on multiple advanced filters
*
- * @param {Object} query The destructuring query object
- * @param {String=} query.displayName The display name to filter by
- * @param {Number=} query.capacity The minimum required seating capacity
- * @param {String[]=} query.features The features to filter by
- * @param {String=} query.roomType The room type to filter by
+ * @param {object} query The destructuring query object
+ * @param {string=} query.displayName The display name to filter by
+ * @param {number=} query.capacity The minimum required seating capacity
+ * @param {string[]=} query.features The features to filter by
+ * @param {string=} query.roomType The room type to filter by
* @return {Promise}
*/
async advancedPrincipalPropertySearch(query) {
- const [skeleton] = XMLUtility.getRootSkeleton([NS.DAV, 'principal-property-search']);
+ const [skeleton] = XMLUtility.getRootSkeleton([NS.DAV, 'principal-property-search'])
// Every prop has to match
skeleton.attributes = [
- ['test', 'allof']
- ];
+ ['test', 'allof'],
+ ]
- const { displayName, capacity, features, roomType } = query;
+ const { displayName, capacity, features, roomType } = query
if (displayName) {
skeleton.children.push({
name: [NS.DAV, 'property-search'],
children: [{
name: [NS.DAV, 'prop'],
children: [
- { name: [NS.DAV, 'displayname'] }
- ]
+ { name: [NS.DAV, 'displayname'] },
+ ],
}, {
name: [NS.DAV, 'match'],
- value: displayName
- }]
- });
+ value: displayName,
+ }],
+ })
}
if (capacity) {
skeleton.children.push({
@@ -322,13 +322,13 @@ export default class DavClient {
children: [{
name: [NS.DAV, 'prop'],
children: [{
- name: [NS.NEXTCLOUD, 'room-seating-capacity']
- }]
+ name: [NS.NEXTCLOUD, 'room-seating-capacity'],
+ }],
}, {
name: [NS.DAV, 'match'],
- value: capacity
- }]
- });
+ value: capacity,
+ }],
+ })
}
if (features && features.length > 0) {
skeleton.children.push({
@@ -336,13 +336,13 @@ export default class DavClient {
children: [{
name: [NS.DAV, 'prop'],
children: [{
- name: [NS.NEXTCLOUD, 'room-features']
- }]
+ name: [NS.NEXTCLOUD, 'room-features'],
+ }],
}, {
name: [NS.DAV, 'match'],
- value: features.join(',')
- }]
- });
+ value: features.join(','),
+ }],
+ })
}
if (roomType) {
skeleton.children.push({
@@ -350,38 +350,38 @@ export default class DavClient {
children: [{
name: [NS.DAV, 'prop'],
children: [{
- name: [NS.NEXTCLOUD, 'room-type']
- }]
+ name: [NS.NEXTCLOUD, 'room-type'],
+ }],
}, {
name: [NS.DAV, 'match'],
- value: roomType
- }]
- });
+ value: roomType,
+ }],
+ })
}
// Do not perform search if no parameter is given
if (skeleton.children.length === 0) {
- return [];
+ return []
}
skeleton.children.push({
name: [NS.DAV, 'prop'],
children: Principal
.getPropFindList({ enableCalDAV: true })
- .map((propFindListItem) => ({ name: propFindListItem }))
- });
+ .map((propFindListItem) => ({ name: propFindListItem })),
+ })
// We are searching all principal collections, not just one
- skeleton.children.push({ name: [NS.DAV, 'apply-to-principal-collection-set'] });
+ skeleton.children.push({ name: [NS.DAV, 'apply-to-principal-collection-set'] })
- const xml = XMLUtility.serialize(skeleton);
- const response = await this._request.report(this.rootUrl, { Depth: 0 }, xml);
+ const xml = XMLUtility.serialize(skeleton)
+ const response = await this._request.report(this.rootUrl, { Depth: 0 }, xml)
return Object
.entries(response.body)
.map(([path, props]) => {
- const url = this._request.pathname(path);
- return new Principal(null, this._request, url, props);
- });
+ const url = this._request.pathname(path)
+ return new Principal(null, this._request, url, props)
+ })
}
/**
@@ -389,84 +389,84 @@ export default class DavClient {
* @see https://tools.ietf.org/html/rfc3744#section-9.4
*
* @param {Array} props
- * @param {String} match
- * @param {String} test 'anyof', 'allof' or none
- * @returns {Promise}
+ * @param {string} match
+ * @param {string} test 'anyof', 'allof' or none
+ * @return {Promise}
*/
async principalPropertySearch(props, match, test) {
const [skeleton, propSearch] = XMLUtility.getRootSkeleton(
[NS.DAV, 'principal-property-search'],
- [NS.DAV, 'property-search']
- );
+ [NS.DAV, 'property-search'],
+ )
if (test) {
skeleton.attributes = [
- ['test', test]
- ];
+ ['test', test],
+ ]
}
propSearch.push({
name: [NS.DAV, 'prop'],
- children: props
+ children: props,
}, {
name: [NS.DAV, 'match'],
- value: match
- });
+ value: match,
+ })
skeleton.children.push({
name: [NS.DAV, 'prop'],
children: Principal
.getPropFindList({ enableCalDAV: true })
- .map((propFindListItem) => ({ name: propFindListItem }))
- });
+ .map((propFindListItem) => ({ name: propFindListItem })),
+ })
// We are searching all principal collections, not just one
- skeleton.children.push({ name: [NS.DAV, 'apply-to-principal-collection-set'] });
+ skeleton.children.push({ name: [NS.DAV, 'apply-to-principal-collection-set'] })
- const xml = XMLUtility.serialize(skeleton);
+ const xml = XMLUtility.serialize(skeleton)
return this._request.report(this.rootUrl, { Depth: 0 }, xml).then((response) => {
- const result = [];
+ const result = []
Object.entries(response.body).forEach(([path, props]) => {
- const url = this._request.pathname(path);
- result.push(new Principal(null, this._request, url, props));
- });
+ const url = this._request.pathname(path)
+ result.push(new Principal(null, this._request, url, props))
+ })
- return result;
- });
+ return result
+ })
}
/**
* finds one principal at a given principalUrl
*
- * @param {String} principalUrl
- * @returns {Promise}
+ * @param {string} principalUrl
+ * @return {Promise}
*/
async findPrincipal(principalUrl) {
return this._request.propFind(principalUrl, Principal.getPropFindList()).then(({ body }) => {
- return new Principal(null, this._request, principalUrl, body);
+ return new Principal(null, this._request, principalUrl, body)
}).catch((err) => {
- console.debug(err);
- });
+ console.debug(err)
+ })
}
/**
* discovers the accounts principal uri solely based on rootURL
*
- * @returns {Promise}
+ * @return {Promise}
* @private
*/
async _discoverPrincipalUri() {
const response = await this._request.propFind(this.rootUrl, [
- [NS.DAV, 'current-user-principal']
- ], 0);
+ [NS.DAV, 'current-user-principal'],
+ ], 0)
if (!response.body['{DAV:}current-user-principal']) {
- throw new Error('Error retrieving current user principal');
+ throw new Error('Error retrieving current user principal')
}
if (response.body['{DAV:}current-user-principal'].type === 'unauthenticated') {
- throw new Error('Current user is not authenticated');
+ throw new Error('Current user is not authenticated')
}
- return this._request.pathname(response.body['{DAV:}current-user-principal'].href);
+ return this._request.pathname(response.body['{DAV:}current-user-principal'].href)
}
/**
@@ -476,20 +476,20 @@ export default class DavClient {
* a user will most commonly only have one calendar-home,
* the CalDAV standard allows multiple calendar-homes though
*
- * @param {Object} props
- * @returns void
+ * @param {object} props
+ * @return void
* @private
*/
async _extractCalendarHomes(props) {
- const calendarHomes = props[`{${NS.IETF_CALDAV}}calendar-home-set`];
+ const calendarHomes = props[`{${NS.IETF_CALDAV}}calendar-home-set`]
if (!calendarHomes) {
- return;
+ return
}
this.calendarHomes = calendarHomes.map((calendarHome) => {
- const url = this._request.pathname(calendarHome);
- return new CalendarHome(this, this._request, url, props);
- });
+ const url = this._request.pathname(calendarHome)
+ return new CalendarHome(this, this._request, url, props)
+ })
}
/**
@@ -499,58 +499,58 @@ export default class DavClient {
* a user will most commonly only have one address-book-home,
* the CardDAV standard allows multiple address-book-homes though
*
- * @param {Object} props
- * @returns void
+ * @param {object} props
+ * @return void
* @private
*/
async _extractAddressBookHomes(props) {
- const addressBookHomes = props[`{${NS.IETF_CARDDAV}}addressbook-home-set`];
+ const addressBookHomes = props[`{${NS.IETF_CARDDAV}}addressbook-home-set`]
if (!addressBookHomes) {
- return;
+ return
}
this.addressBookHomes = addressBookHomes.map((addressbookHome) => {
- const url = this._request.pathname(addressbookHome);
- return new AddressBookHome(this, this._request, url, props);
- });
+ const url = this._request.pathname(addressbookHome)
+ return new AddressBookHome(this, this._request, url, props)
+ })
}
/**
* extracts principalCollection Information from an existing props object
* returned from the server
*
- * @param {Object} props
- * @returns void
+ * @param {object} props
+ * @return void
* @private
*/
_extractPrincipalCollectionSets(props) {
- const principalCollectionSets = props[`{${NS.DAV}}principal-collection-set`];
+ const principalCollectionSets = props[`{${NS.DAV}}principal-collection-set`]
this.principalCollections = principalCollectionSets.map((principalCollection) => {
- return this._request.pathname(principalCollection);
- });
+ return this._request.pathname(principalCollection)
+ })
}
/**
* extracts the advertised features supported by the DAV server
*
* @param {XMLHttpRequest} xhr
- * @returns void
+ * @return void
* @private
*/
_extractAdvertisedDavFeatures(xhr) {
- const dav = xhr.getResponseHeader('DAV');
- this.advertisedFeatures.push(...dav.split(',').map((s) => s.trim()));
+ const dav = xhr.getResponseHeader('DAV')
+ this.advertisedFeatures.push(...dav.split(',').map((s) => s.trim()))
}
/**
* Creates a public calendar home
*
- * @returns void
+ * @return void
* @private
*/
_createPublicCalendarHome() {
- const url = this._request.pathname(this.rootUrl) + 'public-calendars/';
- this.publicCalendarHome = new CalendarHome(this, this._request, url, {});
+ const url = this._request.pathname(this.rootUrl) + 'public-calendars/'
+ this.publicCalendarHome = new CalendarHome(this, this._request, url, {})
}
}
diff --git a/src/models/addressBook.js b/src/models/addressBook.js
index 856118c7..a183ab19 100644
--- a/src/models/addressBook.js
+++ b/src/models/addressBook.js
@@ -21,16 +21,16 @@
*
*/
-import { davCollectionShareable } from './davCollectionShareable.js';
-import { DavCollection } from './davCollection.js';
-import * as NS from '../utility/namespaceUtility.js';
-import * as StringUtility from '../utility/stringUtility.js';
-import * as XMLUtility from '../utility/xmlUtility.js';
-import addressBookPropSet from '../propset/addressBookPropSet.js';
-import { VCard } from './vcard.js';
+import { davCollectionShareable } from './davCollectionShareable.js'
+import { DavCollection } from './davCollection.js'
+import * as NS from '../utility/namespaceUtility.js'
+import * as StringUtility from '../utility/stringUtility.js'
+import * as XMLUtility from '../utility/xmlUtility.js'
+import addressBookPropSet from '../propset/addressBookPropSet.js'
+import { VCard } from './vcard.js'
-import { debugFactory } from '../debug.js';
-const debug = debugFactory('AddressBook');
+import { debugFactory } from '../debug.js'
+const debug = debugFactory('AddressBook')
/**
* This class represents an address book collection as specified in
@@ -52,23 +52,23 @@ export class AddressBook extends davCollectionShareable(DavCollection) {
* @inheritDoc
*/
constructor(...args) {
- super(...args);
+ super(...args)
- super._registerObjectFactory('text/vcard', VCard);
- super._registerPropSetFactory(addressBookPropSet);
+ super._registerObjectFactory('text/vcard', VCard)
+ super._registerPropSetFactory(addressBookPropSet)
- super._exposeProperty('description', NS.IETF_CARDDAV, 'addressbook-description', true);
- super._exposeProperty('enabled', NS.OWNCLOUD, 'enabled', true);
- super._exposeProperty('readOnly', NS.OWNCLOUD, 'read-only');
+ super._exposeProperty('description', NS.IETF_CARDDAV, 'addressbook-description', true)
+ super._exposeProperty('enabled', NS.OWNCLOUD, 'enabled', true)
+ super._exposeProperty('readOnly', NS.OWNCLOUD, 'read-only')
}
/**
* finds all VCards in this address book
*
- * @returns {Promise}
+ * @return {Promise}
*/
findAllVCards() {
- return super.findAllByFilter((elm) => elm instanceof VCard);
+ return super.findAllByFilter((elm) => elm instanceof VCard)
}
/**
@@ -77,76 +77,76 @@ export class AddressBook extends davCollectionShareable(DavCollection) {
* Example use:
* findAllAndFilterBySimpleProperties(['EMAIL', 'UID', 'CATEGORIES', 'FN', 'TEL', 'NICKNAME', 'N'])
*
- * @param {String[]} props
- * @returns {Promise}
+ * @param {string[]} props
+ * @return {Promise}
*/
async findAllAndFilterBySimpleProperties(props) {
- const children = [];
+ const children = []
props.forEach((prop) => {
children.push({
name: [NS.IETF_CARDDAV, 'prop'],
- attributes: [['name', prop]]
- });
- });
+ attributes: [['name', prop]],
+ })
+ })
return this.addressbookQuery(null, [{
- name: [NS.DAV, 'getetag']
+ name: [NS.DAV, 'getetag'],
}, {
- name: [NS.DAV, 'getcontenttype']
+ name: [NS.DAV, 'getcontenttype'],
}, {
- name: [NS.DAV, 'resourcetype']
+ name: [NS.DAV, 'resourcetype'],
}, {
name: [NS.IETF_CARDDAV, 'address-data'],
- children: children
+ children,
}, {
- name: [NS.NEXTCLOUD, 'has-photo']
- }]);
+ name: [NS.NEXTCLOUD, 'has-photo'],
+ }])
}
/**
* creates a new VCard object in this address book
*
- * @param {String} data
- * @returns {Promise}
+ * @param {string} data
+ * @return {Promise}
*/
async createVCard(data) {
- debug('creating VCard object');
+ debug('creating VCard object')
- const name = StringUtility.uid('', 'vcf');
+ const name = StringUtility.uid('', 'vcf')
const headers = {
- 'Content-Type': 'text/vcard; charset=utf-8'
- };
+ 'Content-Type': 'text/vcard; charset=utf-8',
+ }
- return super.createObject(name, headers, data);
+ return super.createObject(name, headers, data)
}
/**
* sends an addressbook query as defined in
* https://tools.ietf.org/html/rfc6352#section-8.6
*
- * @param {Object[]} filter
- * @param {Object[]} prop
- * @param {Number} limit
- * @param {String} test Either anyof or allof
- * @returns {Promise}
+ * @param {object[]} filter
+ * @param {object[]} prop
+ * @param {number} limit
+ * @param {string} test Either anyof or allof
+ * @return {Promise}
*/
async addressbookQuery(filter, prop = null, limit = null, test = 'anyof') {
- debug('sending an addressbook-query request');
+ debug('sending an addressbook-query request')
const [skeleton] = XMLUtility.getRootSkeleton(
- [NS.IETF_CARDDAV, 'addressbook-query']
- );
+ [NS.IETF_CARDDAV, 'addressbook-query'],
+ )
if (!prop) {
skeleton.children.push({
name: [NS.DAV, 'prop'],
- children: this._propFindList.map((p) => ({ name: p }))
- });
+ children: this._propFindList.map((p) => ({ name: p })),
+ })
} else {
skeleton.children.push({
name: [NS.DAV, 'prop'],
- children: prop
- });
+ children: prop,
+ })
}
// According to the spec, every address-book query needs a filter,
@@ -155,10 +155,10 @@ export class AddressBook extends davCollectionShareable(DavCollection) {
skeleton.children.push({
name: [NS.IETF_CARDDAV, 'filter'],
attributes: [
- ['test', test]
+ ['test', test],
],
- children: filter
- });
+ children: filter,
+ })
}
if (limit) {
@@ -166,40 +166,40 @@ export class AddressBook extends davCollectionShareable(DavCollection) {
name: [NS.IETF_CARDDAV, 'limit'],
children: [{
name: [NS.IETF_CARDDAV, 'nresults'],
- value: limit
- }]
- });
+ value: limit,
+ }],
+ })
}
const headers = {
- Depth: '1'
- };
- const body = XMLUtility.serialize(skeleton);
- const response = await this._request.report(this.url, headers, body);
- return super._handleMultiStatusResponse(response, AddressBook._isRetrievalPartial(prop));
+ Depth: '1',
+ }
+ const body = XMLUtility.serialize(skeleton)
+ const response = await this._request.report(this.url, headers, body)
+ return super._handleMultiStatusResponse(response, AddressBook._isRetrievalPartial(prop))
}
/**
* sends an addressbook multiget query as defined in
* https://tools.ietf.org/html/rfc6352#section-8.7
*
- * @param {String[]} hrefs
- * @param {Object[]} prop
- * @returns {Promise}
+ * @param {string[]} hrefs
+ * @param {object[]} prop
+ * @return {Promise}
*/
async addressbookMultiget(hrefs = [], prop) {
- debug('sending an addressbook-multiget request');
+ debug('sending an addressbook-multiget request')
if (hrefs.length === 0) {
- return [];
+ return []
}
const headers = {
- Depth: '1'
- };
- const body = this._buildMultiGetBody(hrefs, prop);
- const response = await this._request.report(this.url, headers, body);
- return super._handleMultiStatusResponse(response, AddressBook._isRetrievalPartial(prop));
+ Depth: '1',
+ }
+ const body = this._buildMultiGetBody(hrefs, prop)
+ const response = await this._request.report(this.url, headers, body)
+ return super._handleMultiStatusResponse(response, AddressBook._isRetrievalPartial(prop))
}
/**
@@ -207,59 +207,59 @@ export class AddressBook extends davCollectionShareable(DavCollection) {
* https://tools.ietf.org/html/rfc6352#section-8.7
* and requests a download of the result
*
- * @param {String[]} hrefs
- * @param {Object[]} prop
- * @returns {Promise<{Object}>}
- * @property {String|Object} body
- * @property {Number} status
+ * @param {string[]} hrefs
+ * @param {object[]} prop
+ * @return {Promise<{Object}>}
+ * @property {string | object} body
+ * @property {number} status
* @property {XMLHttpRequest} xhr
*/
async addressbookMultigetExport(hrefs = [], prop) {
- debug('sending an addressbook-multiget request and request download');
+ debug('sending an addressbook-multiget request and request download')
if (hrefs.length === 0) {
- return '';
+ return ''
}
const headers = {
- Depth: '1'
- };
- const body = this._buildMultiGetBody(hrefs, prop);
- return this._request.report(this.url + '?export', headers, body);
+ Depth: '1',
+ }
+ const body = this._buildMultiGetBody(hrefs, prop)
+ return this._request.report(this.url + '?export', headers, body)
}
/**
*
- * @param {String[]} hrefs
- * @param {Object[]} prop
- * @returns String
+ * @param {string[]} hrefs
+ * @param {object[]} prop
+ * @return String
* @private
*/
_buildMultiGetBody(hrefs, prop) {
const [skeleton] = XMLUtility.getRootSkeleton(
- [NS.IETF_CARDDAV, 'addressbook-multiget']
- );
+ [NS.IETF_CARDDAV, 'addressbook-multiget'],
+ )
if (!prop) {
skeleton.children.push({
name: [NS.DAV, 'prop'],
- children: this._propFindList.map((p) => ({ name: p }))
- });
+ children: this._propFindList.map((p) => ({ name: p })),
+ })
} else {
skeleton.children.push({
name: [NS.DAV, 'prop'],
- children: prop
- });
+ children: prop,
+ })
}
hrefs.forEach((href) => {
skeleton.children.push({
name: [NS.DAV, 'href'],
- value: href
- });
- });
+ value: href,
+ })
+ })
- return XMLUtility.serialize(skeleton);
+ return XMLUtility.serialize(skeleton)
}
/**
@@ -272,31 +272,31 @@ export class AddressBook extends davCollectionShareable(DavCollection) {
[NS.IETF_CARDDAV, 'max-resource-size'],
[NS.CALENDARSERVER, 'getctag'],
[NS.OWNCLOUD, 'enabled'],
- [NS.OWNCLOUD, 'read-only']
- ]);
+ [NS.OWNCLOUD, 'read-only'],
+ ])
}
/**
* checks if the prop part of a report requested partial data
*
- * @param {Object[]} prop
- * @returns {boolean}
+ * @param {object[]} prop
+ * @return {boolean}
* @private
*/
static _isRetrievalPartial(prop) {
if (!prop) {
- return false;
+ return false
}
const addressBookDataProperty = prop.find((p) => {
- return p.name[0] === NS.IETF_CARDDAV && p.name[1] === 'address-data';
- });
+ return p.name[0] === NS.IETF_CARDDAV && p.name[1] === 'address-data'
+ })
if (!addressBookDataProperty) {
- return false;
+ return false
}
- return !!addressBookDataProperty.children;
+ return !!addressBookDataProperty.children
}
}
diff --git a/src/models/addressBookHome.js b/src/models/addressBookHome.js
index ee2fd11c..581f11b5 100644
--- a/src/models/addressBookHome.js
+++ b/src/models/addressBookHome.js
@@ -20,12 +20,12 @@
* License along with this library. If not, see .
*
*/
-import { DavCollection } from './davCollection.js';
-import * as NS from '../utility/namespaceUtility.js';
-import { AddressBook } from './addressBook.js';
+import { DavCollection } from './davCollection.js'
+import * as NS from '../utility/namespaceUtility.js'
+import { AddressBook } from './addressBook.js'
-import { debugFactory } from '../debug.js';
-const debug = debugFactory('AddressBookHome');
+import { debugFactory } from '../debug.js'
+const debug = debugFactory('AddressBookHome')
/**
* This class represents an address book home as specified in
@@ -41,43 +41,43 @@ export class AddressBookHome extends DavCollection {
* @inheritDoc
*/
constructor(...args) {
- super(...args);
+ super(...args)
- super._registerCollectionFactory('{' + NS.IETF_CARDDAV + '}addressbook', AddressBook);
+ super._registerCollectionFactory('{' + NS.IETF_CARDDAV + '}addressbook', AddressBook)
}
/**
* finds all address books in this address book home
*
- * @returns {Promise}
+ * @return {Promise}
*/
async findAllAddressBooks() {
- return super.findAllByFilter((elm) => elm instanceof AddressBook);
+ return super.findAllByFilter((elm) => elm instanceof AddressBook)
}
/**
- * creates a new address book collection
+ * creates a new address book collection
*
- * @param {String} displayname
- * @returns {Promise}
- */
+ * @param {string} displayname
+ * @return {Promise}
+ */
async createAddressBookCollection(displayname) {
- debug('creating an addressbook collection');
+ debug('creating an addressbook collection')
const props = [{
name: [NS.DAV, 'resourcetype'],
children: [{
- name: [NS.DAV, 'collection']
+ name: [NS.DAV, 'collection'],
}, {
- name: [NS.IETF_CARDDAV, 'addressbook']
- }]
+ name: [NS.IETF_CARDDAV, 'addressbook'],
+ }],
}, {
name: [NS.DAV, 'displayname'],
- value: displayname
- }];
+ value: displayname,
+ }]
- const name = super._getAvailableNameFromToken(displayname);
- return super.createCollection(name, props);
+ const name = super._getAvailableNameFromToken(displayname)
+ return super.createCollection(name, props)
}
}
diff --git a/src/models/calendar.js b/src/models/calendar.js
index 93d2ee6a..c37c561e 100644
--- a/src/models/calendar.js
+++ b/src/models/calendar.js
@@ -21,17 +21,17 @@
*
*/
-import { DavCollection } from './davCollection.js';
-import { davCollectionPublishable } from './davCollectionPublishable.js';
-import { davCollectionShareable } from './davCollectionShareable.js';
-import { VObject } from './vobject.js';
-import calendarPropSet from '../propset/calendarPropSet.js';
-import * as NS from '../utility/namespaceUtility.js';
-import * as StringUtility from '../utility/stringUtility.js';
-import * as XMLUtility from '../utility/xmlUtility.js';
-
-import { debugFactory } from '../debug.js';
-const debug = debugFactory('Calendar');
+import { DavCollection } from './davCollection.js'
+import { davCollectionPublishable } from './davCollectionPublishable.js'
+import { davCollectionShareable } from './davCollectionShareable.js'
+import { VObject } from './vobject.js'
+import calendarPropSet from '../propset/calendarPropSet.js'
+import * as NS from '../utility/namespaceUtility.js'
+import * as StringUtility from '../utility/stringUtility.js'
+import * as XMLUtility from '../utility/xmlUtility.js'
+
+import { debugFactory } from '../debug.js'
+const debug = debugFactory('Calendar')
/**
* This class represents an calendar collection as specified in
@@ -56,118 +56,119 @@ export class Calendar extends davCollectionPublishable(davCollectionShareable(Da
* @inheritDoc
*/
constructor(...args) {
- super(...args);
+ super(...args)
- super._registerObjectFactory('text/calendar', VObject);
- super._registerPropSetFactory(calendarPropSet);
+ super._registerObjectFactory('text/calendar', VObject)
+ super._registerPropSetFactory(calendarPropSet)
- super._exposeProperty('color', NS.APPLE, 'calendar-color', true);
- super._exposeProperty('enabled', NS.OWNCLOUD, 'calendar-enabled', true);
- super._exposeProperty('order', NS.APPLE, 'calendar-order', true);
- super._exposeProperty('timezone', NS.IETF_CALDAV, 'calendar-timezone', true);
- super._exposeProperty('components', NS.IETF_CALDAV, 'supported-calendar-component-set');
+ super._exposeProperty('color', NS.APPLE, 'calendar-color', true)
+ super._exposeProperty('enabled', NS.OWNCLOUD, 'calendar-enabled', true)
+ super._exposeProperty('order', NS.APPLE, 'calendar-order', true)
+ super._exposeProperty('timezone', NS.IETF_CALDAV, 'calendar-timezone', true)
+ super._exposeProperty('components', NS.IETF_CALDAV, 'supported-calendar-component-set')
}
/**
* finds all VObjects in this calendar
*
- * @returns {Promise}
+ * @return {Promise}
*/
async findAllVObjects() {
- return super.findAllByFilter((elm) => elm instanceof VObject);
+ return super.findAllByFilter((elm) => elm instanceof VObject)
}
/**
- * find all VObjects filtered by type
+ * find all VObjects filtered by type
*
- * @param {String} type
- * @returns {Promise}
- */
+ * @param {string} type
+ * @return {Promise}
+ */
async findByType(type) {
return this.calendarQuery([{
name: [NS.IETF_CALDAV, 'comp-filter'],
attributes: [
- ['name', 'VCALENDAR']
+ ['name', 'VCALENDAR'],
],
children: [{
name: [NS.IETF_CALDAV, 'comp-filter'],
attributes: [
- ['name', type]
- ]
- }]
- }]);
+ ['name', type],
+ ],
+ }],
+ }])
}
/**
- * find all VObjects in a time-range filtered by type
+ * find all VObjects in a time-range filtered by type
*
- * @param {number} type
- * @param {Date} from
- * @param {Date} to
- * @returns {Promise}
- */
+ * @param {number} type
+ * @param {Date} from
+ * @param {Date} to
+ * @return {Promise}
+ */
async findByTypeInTimeRange(type, from, to) {
return this.calendarQuery([{
name: [NS.IETF_CALDAV, 'comp-filter'],
attributes: [
- ['name', 'VCALENDAR']
+ ['name', 'VCALENDAR'],
],
children: [{
name: [NS.IETF_CALDAV, 'comp-filter'],
attributes: [
- ['name', type]
+ ['name', type],
],
children: [{
name: [NS.IETF_CALDAV, 'time-range'],
attributes: [
['start', Calendar._getICalendarDateTimeFromDateObject(from)],
- ['end', Calendar._getICalendarDateTimeFromDateObject(to)]
- ]
- }]
- }]
- }]);
+ ['end', Calendar._getICalendarDateTimeFromDateObject(to)],
+ ],
+ }],
+ }],
+ }])
}
/**
- * create a VObject inside this calendar
+ * create a VObject inside this calendar
*
- * @returns {Promise}
- */
+ * @param data
+ * @return {Promise}
+ */
async createVObject(data) {
- const name = StringUtility.uid('', 'ics');
+ const name = StringUtility.uid('', 'ics')
const headers = {
- 'Content-Type': 'text/calendar; charset=utf-8'
- };
+ 'Content-Type': 'text/calendar; charset=utf-8',
+ }
- return super.createObject(name, headers, data);
+ return super.createObject(name, headers, data)
}
/**
* sends a calendar query as defined in
* https://tools.ietf.org/html/rfc4791#section-7.8
*
- * @param {Object[]} filter
- * @param {Object[]} prop
- * @param {String} timezone
- * @returns {Promise}
+ * @param {object[]} filter
+ * @param {object[]} prop
+ * @param {string} timezone
+ * @return {Promise}
*/
async calendarQuery(filter, prop = null, timezone = null) {
- debug('sending an calendar-query request');
+ debug('sending an calendar-query request')
const [skeleton] = XMLUtility.getRootSkeleton(
- [NS.IETF_CALDAV, 'calendar-query']
- );
+ [NS.IETF_CALDAV, 'calendar-query'],
+ )
if (!prop) {
skeleton.children.push({
name: [NS.DAV, 'prop'],
- children: this._propFindList.map((p) => ({ name: p }))
- });
+ children: this._propFindList.map((p) => ({ name: p })),
+ })
} else {
skeleton.children.push({
name: [NS.DAV, 'prop'],
- children: prop
- });
+ children: prop,
+ })
}
// According to the spec, every calendar-query needs a filter,
@@ -175,70 +176,70 @@ export class Calendar extends davCollectionPublishable(davCollectionShareable(Da
if (filter) {
skeleton.children.push({
name: [NS.IETF_CALDAV, 'filter'],
- children: filter
- });
+ children: filter,
+ })
}
if (timezone) {
skeleton.children.push({
name: [NS.IETF_CALDAV, 'timezone'],
- value: timezone
- });
+ value: timezone,
+ })
}
const headers = {
- Depth: '1'
- };
+ Depth: '1',
+ }
- const body = XMLUtility.serialize(skeleton);
- const response = await this._request.report(this.url, headers, body);
- return super._handleMultiStatusResponse(response, Calendar._isRetrievalPartial(prop));
+ const body = XMLUtility.serialize(skeleton)
+ const response = await this._request.report(this.url, headers, body)
+ return super._handleMultiStatusResponse(response, Calendar._isRetrievalPartial(prop))
}
/**
* sends a calendar multiget query as defined in
* https://tools.ietf.org/html/rfc4791#section-7.9
*
- * @param {String[]} hrefs
- * @param {Object[]} prop
- * @returns {Promise}
+ * @param {string[]} hrefs
+ * @param {object[]} prop
+ * @return {Promise}
*/
async calendarMultiget(hrefs = [], prop) {
- debug('sending an calendar-multiget request');
+ debug('sending an calendar-multiget request')
if (hrefs.length === 0) {
- return [];
+ return []
}
const [skeleton] = XMLUtility.getRootSkeleton(
- [NS.IETF_CALDAV, 'calendar-multiget']
- );
+ [NS.IETF_CALDAV, 'calendar-multiget'],
+ )
if (!prop) {
skeleton.children.push({
name: [NS.DAV, 'prop'],
- children: this._propFindList.map((p) => ({ name: p }))
- });
+ children: this._propFindList.map((p) => ({ name: p })),
+ })
} else {
skeleton.children.push({
name: [NS.DAV, 'prop'],
- children: prop
- });
+ children: prop,
+ })
}
hrefs.forEach((href) => {
skeleton.children.push({
name: [NS.DAV, 'href'],
- value: href
- });
- });
+ value: href,
+ })
+ })
const headers = {
- Depth: '1'
- };
- const body = XMLUtility.serialize(skeleton);
- const response = await this._request.report(this.url, headers, body);
- return super._handleMultiStatusResponse(response, Calendar._isRetrievalPartial(prop));
+ Depth: '1',
+ }
+ const body = XMLUtility.serialize(skeleton)
+ const response = await this._request.report(this.url, headers, body)
+ return super._handleMultiStatusResponse(response, Calendar._isRetrievalPartial(prop))
}
/**
@@ -247,9 +248,10 @@ export class Calendar extends davCollectionPublishable(davCollectionShareable(Da
*
* @param {Date} from
* @param {Date} to
- * @returns {Promise}
+ * @return {Promise}
*/
async freeBusyQuery(from, to) {
+ /* eslint-disable no-tabs */
// debug('sending a free-busy-query request');
//
// const [skeleton] = XMLUtility.getRootSkeleton(
@@ -265,13 +267,14 @@ export class Calendar extends davCollectionPublishable(davCollectionShareable(Da
// };
// const body = XMLUtility.serialize(skeleton);
// const response = await this._request.report(this.url, headers, body);
+ /* eslint-enable no-tabs */
// TODO - finish implementation
}
/**
- * @inheritDoc
- */
+ * @inheritDoc
+ */
static getPropFindList() {
return super.getPropFindList().concat([
[NS.APPLE, 'calendar-order'],
@@ -293,38 +296,38 @@ export class Calendar extends davCollectionPublishable(davCollectionShareable(Da
[NS.OWNCLOUD, 'calendar-enabled'],
[NS.NEXTCLOUD, 'owner-displayname'],
[NS.NEXTCLOUD, 'trash-bin-retention-duration'],
- [NS.NEXTCLOUD, 'deleted-at']
- ]);
+ [NS.NEXTCLOUD, 'deleted-at'],
+ ])
}
/**
* checks if the prop part of a report requested partial data
*
- * @param {Object[]} prop
- * @returns {boolean}
+ * @param {object[]} prop
+ * @return {boolean}
* @private
*/
static _isRetrievalPartial(prop) {
if (!prop) {
- return false;
+ return false
}
const addressBookDataProperty = prop.find((p) => {
- return p.name[0] === NS.IETF_CALDAV && p.name[1] === 'calendar-data';
- });
+ return p.name[0] === NS.IETF_CALDAV && p.name[1] === 'calendar-data'
+ })
if (!addressBookDataProperty) {
- return false;
+ return false
}
- return !!addressBookDataProperty.children;
+ return !!addressBookDataProperty.children
}
/**
* creates an iCalendar formatted DATE-TIME string from a date object
*
* @param {Date} date
- * @return {String}
+ * @return {string}
* @private
*/
static _getICalendarDateTimeFromDateObject(date) {
@@ -336,8 +339,8 @@ export class Calendar extends davCollectionPublishable(davCollectionShareable(Da
('0' + date.getUTCHours()).slice(-2),
('0' + date.getUTCMinutes()).slice(-2),
('0' + date.getUTCSeconds()).slice(-2),
- 'Z'
- ].join('');
+ 'Z',
+ ].join('')
}
}
diff --git a/src/models/calendarHome.js b/src/models/calendarHome.js
index 1add67c9..2f55ef89 100644
--- a/src/models/calendarHome.js
+++ b/src/models/calendarHome.js
@@ -20,18 +20,18 @@
* License along with this library. If not, see .
*
*/
-import { DavCollection } from './davCollection.js';
-import { Calendar } from './calendar.js';
-import { Subscription } from './subscription.js';
-import ScheduleInbox from './scheduleInbox.js';
-import ScheduleOutbox from './scheduleOutbox.js';
-import * as NS from '../utility/namespaceUtility.js';
-import * as XMLUtility from '../utility/xmlUtility.js';
+import { DavCollection } from './davCollection.js'
+import { Calendar } from './calendar.js'
+import { Subscription } from './subscription.js'
+import ScheduleInbox from './scheduleInbox.js'
+import ScheduleOutbox from './scheduleOutbox.js'
+import * as NS from '../utility/namespaceUtility.js'
+import * as XMLUtility from '../utility/xmlUtility.js'
-import { debugFactory } from '../debug.js';
-import { CalendarTrashBin } from './calendarTrashBin.js';
-import { DeletedCalendar } from './deletedCalendar';
-const debug = debugFactory('CalendarHome');
+import { debugFactory } from '../debug.js'
+import { CalendarTrashBin } from './calendarTrashBin.js'
+import { DeletedCalendar } from './deletedCalendar.js'
+const debug = debugFactory('CalendarHome')
/**
* This class represents a calendar home as specified in
@@ -47,31 +47,31 @@ export class CalendarHome extends DavCollection {
* @inheritDoc
*/
constructor(...args) {
- super(...args);
+ super(...args)
- super._registerCollectionFactory('{' + NS.IETF_CALDAV + '}calendar', Calendar);
- super._registerCollectionFactory('{' + NS.NEXTCLOUD + '}deleted-calendar', DeletedCalendar);
- super._registerCollectionFactory('{' + NS.CALENDARSERVER + '}subscribed', Subscription);
- super._registerCollectionFactory('{' + NS.IETF_CALDAV + '}schedule-inbox', ScheduleInbox);
- super._registerCollectionFactory('{' + NS.IETF_CALDAV + '}schedule-outbox', ScheduleOutbox);
- super._registerCollectionFactory('{' + NS.NEXTCLOUD + '}trash-bin', CalendarTrashBin);
+ super._registerCollectionFactory('{' + NS.IETF_CALDAV + '}calendar', Calendar)
+ super._registerCollectionFactory('{' + NS.NEXTCLOUD + '}deleted-calendar', DeletedCalendar)
+ super._registerCollectionFactory('{' + NS.CALENDARSERVER + '}subscribed', Subscription)
+ super._registerCollectionFactory('{' + NS.IETF_CALDAV + '}schedule-inbox', ScheduleInbox)
+ super._registerCollectionFactory('{' + NS.IETF_CALDAV + '}schedule-outbox', ScheduleOutbox)
+ super._registerCollectionFactory('{' + NS.NEXTCLOUD + '}trash-bin', CalendarTrashBin)
}
/**
* Finds all CalDAV-specific collections in this calendar home
*
- * @returns {Promise<(Calendar|Subscription|ScheduleInbox|ScheduleOutbox|CalendarTrashBin|DeletedCalendar)[]>}
+ * @return {Promise<(Calendar|Subscription|ScheduleInbox|ScheduleOutbox|CalendarTrashBin|DeletedCalendar)[]>}
*/
async findAllCalDAVCollections() {
return super.findAllByFilter((elm) => elm instanceof Calendar || elm instanceof CalendarTrashBin
|| elm instanceof Subscription || elm instanceof ScheduleInbox || elm instanceof ScheduleOutbox
- || elm instanceof DeletedCalendar);
+ || elm instanceof DeletedCalendar)
}
/**
* Finds all CalDAV-specific collections in this calendar home, grouped by type
*
- * @returns {Promise<{
+ * @return {Promise<{
calendars: Calendar[],
deletedCalendars: DeletedCalendar[],
trashBins: CalendarTrashBin[],
@@ -81,7 +81,7 @@ export class CalendarHome extends DavCollection {
}>}
*/
async findAllCalDAVCollectionsGrouped() {
- const collections = await super.findAll();
+ const collections = await super.findAll()
return {
calendars: collections.filter(c => c instanceof Calendar && !(c instanceof ScheduleInbox) && !(c instanceof Subscription) && !(c instanceof DeletedCalendar)),
@@ -89,91 +89,91 @@ export class CalendarHome extends DavCollection {
trashBins: collections.filter(c => c instanceof CalendarTrashBin),
subscriptions: collections.filter(c => c instanceof Subscription),
scheduleInboxes: collections.filter(c => c instanceof ScheduleInbox),
- scheduleOutboxes: collections.filter(c => c instanceof ScheduleOutbox)
- };
+ scheduleOutboxes: collections.filter(c => c instanceof ScheduleOutbox),
+ }
}
/**
* finds all calendars in this calendar home
*
- * @returns {Promise}
+ * @return {Promise}
*/
async findAllCalendars() {
- return super.findAllByFilter((elm) => elm instanceof Calendar && !(elm instanceof ScheduleInbox) && !(elm instanceof Subscription) && !(elm instanceof DeletedCalendar));
+ return super.findAllByFilter((elm) => elm instanceof Calendar && !(elm instanceof ScheduleInbox) && !(elm instanceof Subscription) && !(elm instanceof DeletedCalendar))
}
/**
* Finds all deleted calendars in this calendar home
*
- * @returns {Promise}
+ * @return {Promise}
*/
async findAllDeletedCalendars() {
- return super.findAllByFilter((elm) => elm instanceof DeletedCalendar);
+ return super.findAllByFilter((elm) => elm instanceof DeletedCalendar)
}
/**
* finds all subscriptions in this calendar home
*
- * @returns {Promise}
+ * @return {Promise}
*/
async findAllSubscriptions() {
- return super.findAllByFilter((elm) => elm instanceof Subscription);
+ return super.findAllByFilter((elm) => elm instanceof Subscription)
}
/**
* finds all schedule inboxes in this calendar home
*
- * @returns {Promise}
+ * @return {Promise}
*/
async findAllScheduleInboxes() {
- return super.findAllByFilter((elm) => elm instanceof ScheduleInbox);
+ return super.findAllByFilter((elm) => elm instanceof ScheduleInbox)
}
/**
* finds all schedule outboxes in this calendar home
*
- * @returns {Promise}
+ * @return {Promise}
*/
async findAllScheduleOutboxes() {
- return super.findAllByFilter((elm) => elm instanceof ScheduleOutbox);
+ return super.findAllByFilter((elm) => elm instanceof ScheduleOutbox)
}
/**
- * creates a new calendar collection
+ * creates a new calendar collection
*
- * @param {String} displayname
- * @param {String} color
- * @param {String[]} supportedComponentSet
- * @param {Number} order
- * @param {String=} timezone
- * @returns {Promise}
- */
+ * @param {string} displayname
+ * @param {string} color
+ * @param {string[]} supportedComponentSet
+ * @param {number} order
+ * @param {string=} timezone
+ * @return {Promise}
+ */
async createCalendarCollection(displayname, color, supportedComponentSet = null, order = null, timezone = null) {
- debug('creating a calendar collection');
+ debug('creating a calendar collection')
const props = [{
name: [NS.DAV, 'resourcetype'],
children: [{
- name: [NS.DAV, 'collection']
+ name: [NS.DAV, 'collection'],
}, {
- name: [NS.IETF_CALDAV, 'calendar']
- }]
+ name: [NS.IETF_CALDAV, 'calendar'],
+ }],
}, {
name: [NS.DAV, 'displayname'],
- value: displayname
+ value: displayname,
}, {
name: [NS.APPLE, 'calendar-color'],
- value: color
+ value: color,
}, {
name: [NS.OWNCLOUD, 'calendar-enabled'],
- value: '1'
- }];
+ value: '1',
+ }]
if (timezone) {
props.push({
name: [NS.IETF_CALDAV, 'calendar-timezone'],
- value: timezone
- });
+ value: timezone,
+ })
}
if (supportedComponentSet) {
@@ -183,80 +183,80 @@ export class CalendarHome extends DavCollection {
return {
name: [NS.IETF_CALDAV, 'comp'],
attributes: [
- ['name', supportedComponent]
- ]
- };
- })
- });
+ ['name', supportedComponent],
+ ],
+ }
+ }),
+ })
}
if (order) {
props.push({
name: [NS.APPLE, 'calendar-order'],
- value: order
- });
+ value: order,
+ })
}
- const name = super._getAvailableNameFromToken(displayname);
- return super.createCollection(name, props);
+ const name = super._getAvailableNameFromToken(displayname)
+ return super.createCollection(name, props)
}
/**
* creates a new subscription
*
- * @param {String} displayname
- * @param {String} color
- * @param {String} source
- * @param {Number} order
- * @returns {Promise}
- */
+ * @param {string} displayname
+ * @param {string} color
+ * @param {string} source
+ * @param {number} order
+ * @return {Promise}
+ */
async createSubscribedCollection(displayname, color, source, order = null) {
- debug('creating a subscribed collection');
+ debug('creating a subscribed collection')
const props = [{
name: [NS.DAV, 'resourcetype'],
children: [{
- name: [NS.DAV, 'collection']
+ name: [NS.DAV, 'collection'],
}, {
- name: [NS.CALENDARSERVER, 'subscribed']
- }]
+ name: [NS.CALENDARSERVER, 'subscribed'],
+ }],
}, {
name: [NS.DAV, 'displayname'],
- value: displayname
+ value: displayname,
}, {
name: [NS.APPLE, 'calendar-color'],
- value: color
+ value: color,
}, {
name: [NS.OWNCLOUD, 'calendar-enabled'],
- value: '1'
+ value: '1',
}, {
name: [NS.CALENDARSERVER, 'source'],
children: [{
name: [NS.DAV, 'href'],
- value: source
- }]
- }];
+ value: source,
+ }],
+ }]
if (order) {
props.push({
name: [NS.APPLE, 'calendar-order'],
- value: order
- });
+ value: order,
+ })
}
- const name = super._getAvailableNameFromToken(displayname);
- return super.createCollection(name, props);
+ const name = super._getAvailableNameFromToken(displayname)
+ return super.createCollection(name, props)
}
/**
- * Search all calendars the user has access to
- * This method makes use of Nextcloud's custom
- * calendar Search API
- *
- * Documentation about that API can be found at: ...
- *
- * @returns {Promise}
- */
+ * Search all calendars the user has access to
+ * This method makes use of Nextcloud's custom
+ * calendar Search API
+ *
+ * Documentation about that API can be found at: ...
+ *
+ * @return {Promise}
+ */
async search() {
// TODO - implement me
}
@@ -264,15 +264,15 @@ export class CalendarHome extends DavCollection {
/**
* enables the birthday calendar for the Calendar Home that belongs to this user
*
- * @returns {Promise}
+ * @return {Promise}
*/
async enableBirthdayCalendar() {
const [skeleton] = XMLUtility.getRootSkeleton(
- [NS.NEXTCLOUD, 'enable-birthday-calendar']
- );
- const xmlBody = XMLUtility.serialize(skeleton);
+ [NS.NEXTCLOUD, 'enable-birthday-calendar'],
+ )
+ const xmlBody = XMLUtility.serialize(skeleton)
- await this._request.post(this.url, {}, xmlBody);
+ await this._request.post(this.url, {}, xmlBody)
}
}
diff --git a/src/models/calendarTrashBin.js b/src/models/calendarTrashBin.js
index f705a021..68ffe7ba 100644
--- a/src/models/calendarTrashBin.js
+++ b/src/models/calendarTrashBin.js
@@ -21,10 +21,10 @@
*
*/
-import { DavCollection } from './davCollection';
-import * as NS from '../utility/namespaceUtility.js';
-import { VObject } from './vobject.js';
-import * as XMLUtility from '../utility/xmlUtility';
+import { DavCollection } from './davCollection.js'
+import * as NS from '../utility/namespaceUtility.js'
+import { VObject } from './vobject.js'
+import * as XMLUtility from '../utility/xmlUtility.js'
export class CalendarTrashBin extends DavCollection {
@@ -32,52 +32,52 @@ export class CalendarTrashBin extends DavCollection {
* @inheritDoc
*/
constructor(...args) {
- super(...args);
+ super(...args)
- super._registerObjectFactory('text/calendar', VObject);
+ super._registerObjectFactory('text/calendar', VObject)
- super._exposeProperty('retentionDuration', NS.NEXTCLOUD, 'trash-bin-retention-duration');
+ super._exposeProperty('retentionDuration', NS.NEXTCLOUD, 'trash-bin-retention-duration')
}
async findDeletedObjects() {
const [skeleton] = XMLUtility.getRootSkeleton(
- [NS.IETF_CALDAV, 'calendar-query']
- );
+ [NS.IETF_CALDAV, 'calendar-query'],
+ )
skeleton.children.push({
name: [NS.DAV, 'prop'],
children: VObject.getPropFindList()
.map((p) => ({ name: p }))
.concat([
{ name: [NS.NEXTCLOUD, 'calendar-uri'] },
- { name: [NS.NEXTCLOUD, 'deleted-at'] }
- ])
- });
+ { name: [NS.NEXTCLOUD, 'deleted-at'] },
+ ]),
+ })
skeleton.children.push({
name: [NS.IETF_CALDAV, 'filter'],
children: [{
name: [NS.IETF_CALDAV, 'comp-filter'],
attributes: [
- ['name', 'VCALENDAR']
+ ['name', 'VCALENDAR'],
],
children: [{
name: [NS.IETF_CALDAV, 'comp-filter'],
attributes: [
- ['name', 'VEVENT']
+ ['name', 'VEVENT'],
],
- children: []
- }]
- }]
- });
+ children: [],
+ }],
+ }],
+ })
const headers = {
- Depth: '1'
- };
- const body = XMLUtility.serialize(skeleton);
- const response = await this._request.report(this._url + 'objects', headers, body);
- return super._handleMultiStatusResponse(response);
+ Depth: '1',
+ }
+ const body = XMLUtility.serialize(skeleton)
+ const response = await this._request.report(this._url + 'objects', headers, body)
+ return super._handleMultiStatusResponse(response)
}
async restore(uri) {
- await this._request.move(uri, this._url + 'restore/file');
+ await this._request.move(uri, this._url + 'restore/file')
}
}
diff --git a/src/models/davCollection.js b/src/models/davCollection.js
index 277c72bb..4dd115c4 100644
--- a/src/models/davCollection.js
+++ b/src/models/davCollection.js
@@ -20,30 +20,30 @@
* License along with this library. If not, see .
*
*/
-import * as NS from '../utility/namespaceUtility.js';
-import * as StringUtility from '../utility/stringUtility.js';
-import * as XMLUtility from '../utility/xmlUtility.js';
-import DAVEventListener from './davEventListener.js';
+import * as NS from '../utility/namespaceUtility.js'
+import * as StringUtility from '../utility/stringUtility.js'
+import * as XMLUtility from '../utility/xmlUtility.js'
+import DAVEventListener from './davEventListener.js'
-import { debugFactory } from '../debug.js';
-import davCollectionPropSet from '../propset/davCollectionPropSet.js';
-import { DavObject } from './davObject.js';
-const debug = debugFactory('DavCollection');
+import { debugFactory } from '../debug.js'
+import davCollectionPropSet from '../propset/davCollectionPropSet.js'
+import { DavObject } from './davObject.js'
+const debug = debugFactory('DavCollection')
export class DavCollection extends DAVEventListener {
/**
- * @param {Object} parent
+ * @param {object} parent
* @param {Request} request
- * @param {String} url
- * @param {Object} props
+ * @param {string} url
+ * @param {object} props
*/
constructor(parent, request, url, props) {
- super();
+ super()
// This is a collection, so always make sure to end with a /
if (url.slice(-1) !== '/') {
- url += '/';
+ url += '/'
}
Object.assign(this, {
@@ -61,57 +61,57 @@ export class DavCollection extends DAVEventListener {
// parsers / factories
_propFindList: [],
- _propSetFactory: []
+ _propSetFactory: [],
- });
+ })
- this._registerPropSetFactory(davCollectionPropSet);
+ this._registerPropSetFactory(davCollectionPropSet)
- this._exposeProperty('displayname', NS.DAV, 'displayname', true);
- this._exposeProperty('owner', NS.DAV, 'owner');
- this._exposeProperty('resourcetype', NS.DAV, 'resourcetype');
- this._exposeProperty('syncToken', NS.DAV, 'sync-token');
- this._exposeProperty('currentUserPrivilegeSet', NS.DAV, 'current-user-privilege-set');
+ this._exposeProperty('displayname', NS.DAV, 'displayname', true)
+ this._exposeProperty('owner', NS.DAV, 'owner')
+ this._exposeProperty('resourcetype', NS.DAV, 'resourcetype')
+ this._exposeProperty('syncToken', NS.DAV, 'sync-token')
+ this._exposeProperty('currentUserPrivilegeSet', NS.DAV, 'current-user-privilege-set')
Object.defineProperty(this, 'url', {
- get: () => this._url
- });
+ get: () => this._url,
+ })
- this._propFindList.push(...DavObject.getPropFindList());
- this._propFindList.push(...DavCollection.getPropFindList());
+ this._propFindList.push(...DavObject.getPropFindList())
+ this._propFindList.push(...DavCollection.getPropFindList())
}
/**
* finds all children of a collection
*
- * @returns {Promise}
+ * @return {Promise}
*/
async findAll() {
- const response = await this._request.propFind(this._url, this._propFindList, 1);
- return this._handleMultiStatusResponse(response, false);
+ const response = await this._request.propFind(this._url, this._propFindList, 1)
+ return this._handleMultiStatusResponse(response, false)
}
/**
* finds all children of a collection filtered by filter
*
* @param {Function} filter
- * @returns {Promise}
+ * @return {Promise}
*/
async findAllByFilter(filter) {
- const all = await this.findAll();
- return all.filter(filter);
+ const all = await this.findAll()
+ return all.filter(filter)
}
/**
* find one object by its uri
*
- * @param {String} uri
- * @returns {Promise}
+ * @param {string} uri
+ * @return {Promise}
*/
async find(uri) {
- const response = await this._request.propFind(this._url + uri, this._propFindList, 0);
- response.body = { [this._url + uri]: response.body };
- return this._handleMultiStatusResponse(response, false)[0];
+ const response = await this._request.propFind(this._url + uri, this._propFindList, 0)
+ response.body = { [this._url + uri]: response.body }
+ return this._handleMultiStatusResponse(response, false)[0]
}
/**
@@ -126,32 +126,32 @@ export class DavCollection extends DAVEventListener {
*
* @param {string} name
* @param {?Array} props
- * @returns {Promise}
+ * @return {Promise}
*/
async createCollection(name, props = null) {
- debug('creating a collection');
+ debug('creating a collection')
if (!props) {
props = [{
name: [NS.DAV, 'resourcetype'],
children: [{
- name: [NS.DAV, 'collection']
- }]
- }];
+ name: [NS.DAV, 'collection'],
+ }],
+ }]
}
const [skeleton, dPropChildren] = XMLUtility.getRootSkeleton(
[NS.DAV, 'mkcol'],
[NS.DAV, 'set'],
- [NS.DAV, 'prop']
- );
+ [NS.DAV, 'prop'],
+ )
- dPropChildren.push(...props);
+ dPropChildren.push(...props)
- const uri = this._getAvailableNameFromToken(name);
- const data = XMLUtility.serialize(skeleton);
- await this._request.mkCol(this.url + uri, {}, data);
- return this.find(uri + '/');
+ const uri = this._getAvailableNameFromToken(name)
+ const data = XMLUtility.serialize(skeleton)
+ await this._request.mkCol(this.url + uri, {}, data)
+ return this.find(uri + '/')
}
/**
@@ -162,70 +162,70 @@ export class DavCollection extends DAVEventListener {
* - AddressBook->createVCard
* - Calendar->createVObject
*
- * @param {String} name
- * @param {Object} headers
- * @param {String} data
- * @returns {Promise}
+ * @param {string} name
+ * @param {object} headers
+ * @param {string} data
+ * @return {Promise}
*/
async createObject(name, headers, data) {
- debug('creating an object');
+ debug('creating an object')
- await this._request.put(this.url + name, headers, data);
- return this.find(name);
+ await this._request.put(this.url + name, headers, data)
+ return this.find(name)
}
/**
* sends a PropPatch request to update the collections' properties
* The request is only made if properties actually changed
*
- * @returns {Promise}
+ * @return {Promise}
*/
async update() {
if (this._updatedProperties.length === 0) {
- return;
+ return
}
- const properties = {};
+ const properties = {}
this._updatedProperties.forEach((updatedProperty) => {
- properties[updatedProperty] = this._props[updatedProperty];
- });
- const propSet = this._propSetFactory.reduce((arr, p) => [...arr, ...p(properties)], []);
+ properties[updatedProperty] = this._props[updatedProperty]
+ })
+ const propSet = this._propSetFactory.reduce((arr, p) => [...arr, ...p(properties)], [])
const [skeleton, dPropSet] = XMLUtility.getRootSkeleton(
[NS.DAV, 'propertyupdate'],
[NS.DAV, 'set'],
- [NS.DAV, 'prop']);
+ [NS.DAV, 'prop'])
- dPropSet.push(...propSet);
+ dPropSet.push(...propSet)
- const body = XMLUtility.serialize(skeleton);
- await this._request.propPatch(this._url, {}, body);
+ const body = XMLUtility.serialize(skeleton)
+ await this._request.propPatch(this._url, {}, body)
}
/**
* deletes the DavCollection on the server
*
- * @param {Object} headers - additional HTTP headers to send
- * @returns {Promise}
+ * @param {object} headers - additional HTTP headers to send
+ * @return {Promise}
*/
async delete(headers = {}) {
- await this._request.delete(this._url, headers);
+ await this._request.delete(this._url, headers)
}
/**
*
- * @returns {boolean}
+ * @return {boolean}
*/
isReadable() {
- return this.currentUserPrivilegeSet.includes('{DAV:}read');
+ return this.currentUserPrivilegeSet.includes('{DAV:}read')
}
/**
*
- * @returns {boolean}
+ * @return {boolean}
*/
isWriteable() {
- return this.currentUserPrivilegeSet.includes('{DAV:}write');
+ return this.currentUserPrivilegeSet.includes('{DAV:}write')
}
/**
@@ -233,163 +233,163 @@ export class DavCollection extends DAVEventListener {
* @param {DavCollection} collection
*/
isSameCollectionTypeAs(collection) {
- const ownResourceType = this.resourcetype;
- const foreignResourceType = collection.resourcetype;
+ const ownResourceType = this.resourcetype
+ const foreignResourceType = collection.resourcetype
- const ownDiff = ownResourceType.find((r) => foreignResourceType.indexOf(r) === -1);
- const foreignDiff = foreignResourceType.find((r) => ownResourceType.indexOf(r) === -1);
+ const ownDiff = ownResourceType.find((r) => foreignResourceType.indexOf(r) === -1)
+ const foreignDiff = foreignResourceType.find((r) => ownResourceType.indexOf(r) === -1)
- return ownDiff === undefined && foreignDiff === undefined;
+ return ownDiff === undefined && foreignDiff === undefined
}
/**
* @protected
- * @param {String} identifier
+ * @param {string} identifier
* @param {Function} factory
- * @returns void
+ * @return void
*/
_registerCollectionFactory(identifier, factory) {
- this._collectionFactoryMapper[identifier] = factory;
+ this._collectionFactoryMapper[identifier] = factory
if (typeof factory.getPropFindList === 'function') {
- this._propFindList.push(...factory.getPropFindList());
+ this._propFindList.push(...factory.getPropFindList())
}
}
/**
* @protected
- * @param {String} identifier
+ * @param {string} identifier
* @param {Function} factory
- * @returns void
+ * @return void
*/
_registerObjectFactory(identifier, factory) {
- this._objectFactoryMapper[identifier] = factory;
+ this._objectFactoryMapper[identifier] = factory
if (typeof factory.getPropFindList === 'function') {
- this._propFindList.push(...factory.getPropFindList());
+ this._propFindList.push(...factory.getPropFindList())
}
}
/**
* @protected
* @param factory
- * @returns void
+ * @return void
*/
_registerPropSetFactory(factory) {
- this._propSetFactory.push(factory);
+ this._propSetFactory.push(factory)
}
/**
* @protected
- * @param {String} localName
- * @param {String} xmlNamespace
- * @param {String} xmlName
+ * @param {string} localName
+ * @param {string} xmlNamespace
+ * @param {string} xmlName
* @param {boolean} mutable
- * @returns void
+ * @return void
*/
_exposeProperty(localName, xmlNamespace, xmlName, mutable = false) {
if (mutable) {
Object.defineProperty(this, localName, {
get: () => this._props[`{${xmlNamespace}}${xmlName}`],
set: (val) => {
- this._props[`{${xmlNamespace}}${xmlName}`] = val;
+ this._props[`{${xmlNamespace}}${xmlName}`] = val
if (this._updatedProperties.indexOf(`{${xmlNamespace}}${xmlName}`) === -1) {
- this._updatedProperties.push(`{${xmlNamespace}}${xmlName}`);
+ this._updatedProperties.push(`{${xmlNamespace}}${xmlName}`)
}
- }
- });
+ },
+ })
} else {
Object.defineProperty(this, localName, {
- get: () => this._props[`{${xmlNamespace}}${xmlName}`]
- });
+ get: () => this._props[`{${xmlNamespace}}${xmlName}`],
+ })
}
}
/**
* @protected
- * @param {String} token
- * @returns {String}
+ * @param {string} token
+ * @return {string}
*/
_getAvailableNameFromToken(token) {
return StringUtility.uri(token, name => {
return this._childrenNames.indexOf(this._url + name) === -1
- && this._childrenNames.indexOf(this._url + name + '/') === -1;
- });
+ && this._childrenNames.indexOf(this._url + name + '/') === -1
+ })
}
/**
* get updated properties for this collection from server
* @protected
- * @returns {Object}
+ * @return {object}
*/
async _updatePropsFromServer() {
- const response = await this._request.propFind(this.url, this.constructor.getPropFindList());
- this._props = response.body;
+ const response = await this._request.propFind(this.url, this.constructor.getPropFindList())
+ this._props = response.body
}
/**
- * @param {Object} response
- * @param {Boolean} isPartial
- * @returns {DavObject[]|DavCollection[]}
+ * @param {object} response
+ * @param {boolean} isPartial
+ * @return {DavObject[]|DavCollection[]}
* @protected
*/
_handleMultiStatusResponse(response, isPartial = false) {
- const index = [];
- const children = [];
+ const index = []
+ const children = []
Object.entries(response.body).forEach(([path, props]) => {
// The DAV Server will always return a propStat
// block containing properties of the current url
// we are not interested, so let's filter it out
if (path === this._url || path + '/' === this.url) {
- return;
+ return
}
- index.push(path);
- const url = this._request.pathname(path);
+ index.push(path)
+ const url = this._request.pathname(path)
// empty resourcetype property => this is no collection
if (((!props['{DAV:}resourcetype']) || (props['{DAV:}resourcetype'].length === 0)) && props['{DAV:}getcontenttype']) {
- debug(`${path} was identified as a file`);
+ debug(`${path} was identified as a file`)
- const contentType = props['{DAV:}getcontenttype'].split(';')[0];
+ const contentType = props['{DAV:}getcontenttype'].split(';')[0]
if (!this._objectFactoryMapper[contentType]) {
- debug(`No constructor for content-type ${contentType} (${path}) registered, treating as generic object`);
- children.push(new DavObject(this, this._request, url, props));
- return;
+ debug(`No constructor for content-type ${contentType} (${path}) registered, treating as generic object`)
+ children.push(new DavObject(this, this._request, url, props))
+ return
}
- children.push(new this._objectFactoryMapper[contentType](this, this._request, url, props, isPartial));
+ children.push(new this._objectFactoryMapper[contentType](this, this._request, url, props, isPartial))
} else {
- debug(`${path} was identified as a collection`);
+ debug(`${path} was identified as a collection`)
// get first collection type other than DAV collection
const collectionType = props['{DAV:}resourcetype'].find((r) => {
- return r !== `{${NS.DAV}}collection`;
- });
+ return r !== `{${NS.DAV}}collection`
+ })
if (!collectionType) {
- debug(`Collection-type of ${path} was not specified, treating as generic collection`);
- children.push(new DavCollection(this, this._request, url, props));
- return;
+ debug(`Collection-type of ${path} was not specified, treating as generic collection`)
+ children.push(new DavCollection(this, this._request, url, props))
+ return
}
if (!this._collectionFactoryMapper[collectionType]) {
- debug(`No constructor for collection-type ${collectionType} (${path}) registered, treating as generic collection`);
- children.push(new DavCollection(this, this._request, url, props));
- return;
+ debug(`No constructor for collection-type ${collectionType} (${path}) registered, treating as generic collection`)
+ children.push(new DavCollection(this, this._request, url, props))
+ return
}
- children.push(new this._collectionFactoryMapper[collectionType](this, this._request, url, props));
+ children.push(new this._collectionFactoryMapper[collectionType](this, this._request, url, props))
}
- });
+ })
- this._childrenNames.push(...index);
- return children;
+ this._childrenNames.push(...index)
+ return children
}
/**
* A list of all property names that should be included
* in propfind requests that may include this collection
*
- * @returns {string[][]}
+ * @return {string[][]}
*/
static getPropFindList() {
return [
@@ -397,8 +397,8 @@ export class DavCollection extends DAVEventListener {
[NS.DAV, 'owner'],
[NS.DAV, 'resourcetype'],
[NS.DAV, 'sync-token'],
- [NS.DAV, 'current-user-privilege-set']
- ];
+ [NS.DAV, 'current-user-privilege-set'],
+ ]
}
}
diff --git a/src/models/davCollectionPublishable.js b/src/models/davCollectionPublishable.js
index 0155264a..8b4890b5 100644
--- a/src/models/davCollectionPublishable.js
+++ b/src/models/davCollectionPublishable.js
@@ -20,11 +20,11 @@
* License along with this library. If not, see .
*
*/
-import * as NS from '../utility/namespaceUtility.js';
-import * as XMLUtility from '../utility/xmlUtility.js';
+import * as NS from '../utility/namespaceUtility.js'
+import * as XMLUtility from '../utility/xmlUtility.js'
-import { debugFactory } from '../debug.js';
-const debug = debugFactory('DavCollectionPublishable');
+import { debugFactory } from '../debug.js'
+const debug = debugFactory('DavCollectionPublishable')
export function davCollectionPublishable(Base) {
return class extends Base {
@@ -33,43 +33,43 @@ export function davCollectionPublishable(Base) {
* @inheritDoc
*/
constructor(...args) {
- super(...args);
+ super(...args)
- super._exposeProperty('publishURL', NS.CALENDARSERVER, 'publish-url');
+ super._exposeProperty('publishURL', NS.CALENDARSERVER, 'publish-url')
}
/**
* publishes the DavCollection
*
- * @returns {Promise}
+ * @return {Promise}
*/
async publish() {
- debug(`Publishing ${this.url}`);
+ debug(`Publishing ${this.url}`)
const [skeleton] = XMLUtility.getRootSkeleton(
- [NS.CALENDARSERVER, 'publish-calendar']);
- const xml = XMLUtility.serialize(skeleton);
+ [NS.CALENDARSERVER, 'publish-calendar'])
+ const xml = XMLUtility.serialize(skeleton)
// TODO - ideally the server should return a 'pre-publish-url' as described in the standard
- await this._request.post(this._url, { 'Content-Type': 'application/xml; charset=utf-8' }, xml);
- await this._updatePropsFromServer();
+ await this._request.post(this._url, { 'Content-Type': 'application/xml; charset=utf-8' }, xml)
+ await this._updatePropsFromServer()
}
/**
* unpublishes the DavCollection
*
- * @returns {Promise}
+ * @return {Promise}
*/
async unpublish() {
- debug(`Unpublishing ${this.url}`);
+ debug(`Unpublishing ${this.url}`)
const [skeleton] = XMLUtility.getRootSkeleton(
- [NS.CALENDARSERVER, 'unpublish-calendar']);
- const xml = XMLUtility.serialize(skeleton);
+ [NS.CALENDARSERVER, 'unpublish-calendar'])
+ const xml = XMLUtility.serialize(skeleton)
- await this._request.post(this._url, { 'Content-Type': 'application/xml; charset=utf-8' }, xml);
- delete this._props['{http://calendarserver.org/ns/}publish-url'];
+ await this._request.post(this._url, { 'Content-Type': 'application/xml; charset=utf-8' }, xml)
+ delete this._props['{http://calendarserver.org/ns/}publish-url']
}
/**
@@ -77,9 +77,9 @@ export function davCollectionPublishable(Base) {
*/
static getPropFindList() {
return super.getPropFindList().concat([
- [NS.CALENDARSERVER, 'publish-url']
- ]);
+ [NS.CALENDARSERVER, 'publish-url'],
+ ])
}
- };
+ }
}
diff --git a/src/models/davCollectionShareable.js b/src/models/davCollectionShareable.js
index 2f145083..400a20d6 100644
--- a/src/models/davCollectionShareable.js
+++ b/src/models/davCollectionShareable.js
@@ -20,11 +20,11 @@
* License along with this library. If not, see .
*
*/
-import * as NS from '../utility/namespaceUtility.js';
-import * as XMLUtility from '../utility/xmlUtility.js';
+import * as NS from '../utility/namespaceUtility.js'
+import * as XMLUtility from '../utility/xmlUtility.js'
-import { debugFactory } from '../debug.js';
-const debug = debugFactory('DavCollectionShareable');
+import { debugFactory } from '../debug.js'
+const debug = debugFactory('DavCollectionShareable')
export function davCollectionShareable(Base) {
return class extends Base {
@@ -33,112 +33,112 @@ export function davCollectionShareable(Base) {
* @inheritDoc
*/
constructor(...args) {
- super(...args);
+ super(...args)
- super._exposeProperty('shares', NS.OWNCLOUD, 'invite');
- super._exposeProperty('allowedSharingModes', NS.CALENDARSERVER, 'allowed-sharing-modes');
+ super._exposeProperty('shares', NS.OWNCLOUD, 'invite')
+ super._exposeProperty('allowedSharingModes', NS.CALENDARSERVER, 'allowed-sharing-modes')
}
/**
* shares a DavCollection
*
- * @param {String} principalScheme
+ * @param {string} principalScheme
* @param {boolean} writeable
* @param {string} summary
- * @returns {Promise}
+ * @return {Promise}
*/
async share(principalScheme, writeable = false, summary = '') {
- debug(`Sharing ${this.url} with ${principalScheme}`);
+ debug(`Sharing ${this.url} with ${principalScheme}`)
const [skeleton, setProp] = XMLUtility.getRootSkeleton(
- [NS.OWNCLOUD, 'share'], [NS.OWNCLOUD, 'set']);
+ [NS.OWNCLOUD, 'share'], [NS.OWNCLOUD, 'set'])
setProp.push({
name: [NS.DAV, 'href'],
- value: principalScheme
- });
+ value: principalScheme,
+ })
if (writeable) {
setProp.push({
- name: [NS.OWNCLOUD, 'read-write']
- });
+ name: [NS.OWNCLOUD, 'read-write'],
+ })
}
if (summary !== '') {
setProp.push({
name: [NS.OWNCLOUD, 'summary'],
- value: summary
- });
+ value: summary,
+ })
}
- const xml = XMLUtility.serialize(skeleton);
+ const xml = XMLUtility.serialize(skeleton)
return this._request.post(this._url, { 'Content-Type': 'application/xml; charset=utf-8' }, xml).then(() => {
- const index = this.shares.findIndex((e) => e.href === principalScheme);
+ const index = this.shares.findIndex((e) => e.href === principalScheme)
if (index === -1) {
this.shares.push({
href: principalScheme,
access: [writeable ? '{http://owncloud.org/ns}read-write' : '{http://owncloud.org/ns}read'],
'common-name': null,
- 'invite-accepted': true
- });
+ 'invite-accepted': true,
+ })
} else {
this.shares[index].access
- = [writeable ? '{http://owncloud.org/ns}read-write' : '{http://owncloud.org/ns}read'];
+ = [writeable ? '{http://owncloud.org/ns}read-write' : '{http://owncloud.org/ns}read']
}
- });
+ })
}
/**
* unshares a DAVCollection
*
* @param {string} principalScheme
- * @returns {Promise}
+ * @return {Promise}
*/
async unshare(principalScheme) {
- debug(`Unsharing ${this.url} with ${principalScheme}`);
+ debug(`Unsharing ${this.url} with ${principalScheme}`)
const [skeleton, oSetChildren] = XMLUtility.getRootSkeleton(
- [NS.OWNCLOUD, 'share'], [NS.OWNCLOUD, 'remove']);
+ [NS.OWNCLOUD, 'share'], [NS.OWNCLOUD, 'remove'])
oSetChildren.push({
name: [NS.DAV, 'href'],
- value: principalScheme
- });
+ value: principalScheme,
+ })
- const xml = XMLUtility.serialize(skeleton);
+ const xml = XMLUtility.serialize(skeleton)
return this._request.post(this._url, { 'Content-Type': 'application/xml; charset=utf-8' }, xml).then(() => {
- const index = this.shares.findIndex((e) => e.href === principalScheme);
+ const index = this.shares.findIndex((e) => e.href === principalScheme)
if (index === -1) {
- return;
+ return
}
- this.shares.splice(index, 1);
- });
+ this.shares.splice(index, 1)
+ })
}
/**
* checks whether a collection is shareable
*
- * @returns {Boolean}
+ * @return {boolean}
*/
isShareable() {
if (!Array.isArray(this.allowedSharingModes)) {
- return false;
+ return false
}
- return this.allowedSharingModes.includes(`{${NS.CALENDARSERVER}}can-be-shared`);
+ return this.allowedSharingModes.includes(`{${NS.CALENDARSERVER}}can-be-shared`)
}
/**
* checks whether a collection is publishable
*
- * @returns {Boolean}
+ * @return {boolean}
*/
isPublishable() {
if (!Array.isArray(this.allowedSharingModes)) {
- return false;
+ return false
}
- return this.allowedSharingModes.includes(`{${NS.CALENDARSERVER}}can-be-published`);
+ return this.allowedSharingModes.includes(`{${NS.CALENDARSERVER}}can-be-published`)
}
/**
@@ -147,9 +147,9 @@ export function davCollectionShareable(Base) {
static getPropFindList() {
return super.getPropFindList().concat([
[NS.OWNCLOUD, 'invite'],
- [NS.CALENDARSERVER, 'allowed-sharing-modes']
- ]);
+ [NS.CALENDARSERVER, 'allowed-sharing-modes'],
+ ])
}
- };
+ }
}
diff --git a/src/models/davEvent.js b/src/models/davEvent.js
index 19272c7d..fd70c9c5 100644
--- a/src/models/davEvent.js
+++ b/src/models/davEvent.js
@@ -30,8 +30,8 @@ export default class DAVEvent {
*/
constructor(type, options = {}) {
Object.assign(this, {
- type
- }, options);
+ type,
+ }, options)
}
}
diff --git a/src/models/davEventListener.js b/src/models/davEventListener.js
index 26653011..f1bc50d9 100644
--- a/src/models/davEventListener.js
+++ b/src/models/davEventListener.js
@@ -24,38 +24,38 @@
export default class DAVEventListener {
constructor() {
- this._eventListeners = {};
+ this._eventListeners = {}
}
/**
* adds an event listener
*
* @param {string} type
- * @param {function} listener
+ * @param {Function} listener
* @param {object} options
*/
addEventListener(type, listener, options = null) {
- this._eventListeners[type] = this._eventListeners[type] || [];
- this._eventListeners[type].push({ listener, options });
+ this._eventListeners[type] = this._eventListeners[type] || []
+ this._eventListeners[type].push({ listener, options })
}
/**
* removes an event listener
*
* @param {string} type
- * @param {function} dListener
+ * @param {Function} dListener
*/
removeEventListener(type, dListener) {
if (!this._eventListeners[type]) {
- return;
+ return
}
const index = this._eventListeners[type]
- .findIndex(({ listener }) => listener === dListener);
+ .findIndex(({ listener }) => listener === dListener)
if (index === -1) {
- return;
+ return
}
- this._eventListeners[type].splice(index, 1);
+ this._eventListeners[type].splice(index, 1)
}
/**
@@ -66,26 +66,26 @@ export default class DAVEventListener {
*/
dispatchEvent(type, event) {
if (!this._eventListeners[type]) {
- return;
+ return
}
- const listenersToCall = [];
- const listenersToCallAndRemove = [];
+ const listenersToCall = []
+ const listenersToCallAndRemove = []
this._eventListeners[type].forEach(({ listener, options }) => {
if (options && options.once) {
- listenersToCallAndRemove.push(listener);
+ listenersToCallAndRemove.push(listener)
} else {
- listenersToCall.push(listener);
+ listenersToCall.push(listener)
}
- });
+ })
listenersToCallAndRemove.forEach(listener => {
- this.removeEventListener(type, listener);
- listener(event);
- });
+ this.removeEventListener(type, listener)
+ listener(event)
+ })
listenersToCall.forEach(listener => {
- listener(event);
- });
+ listener(event)
+ })
}
}
diff --git a/src/models/davObject.js b/src/models/davObject.js
index a74f38a4..f450c043 100644
--- a/src/models/davObject.js
+++ b/src/models/davObject.js
@@ -21,12 +21,12 @@
*
*/
-import DAVEventListener from './davEventListener.js';
-import NetworkRequestClientError from '../errors/networkRequestClientError.js';
-import * as NS from '../utility/namespaceUtility.js';
+import DAVEventListener from './davEventListener.js'
+import NetworkRequestClientError from '../errors/networkRequestClientError.js'
+import * as NS from '../utility/namespaceUtility.js'
-import { debugFactory } from '../debug.js';
-const debug = debugFactory('DavObject');
+import { debugFactory } from '../debug.js'
+const debug = debugFactory('DavObject')
/**
* @class
@@ -37,12 +37,12 @@ export class DavObject extends DAVEventListener {
/**
* @param {DavCollection} parent - The parent collection this DavObject is a child of
* @param {Request} request - The request object initialized by DavClient
- * @param {String} url - Full url of this DavObject
- * @param {Object} props - Properties including etag, content-type, etc.
+ * @param {string} url - Full url of this DavObject
+ * @param {object} props - Properties including etag, content-type, etc.
* @param {boolean} isPartial - Are we dealing with the complete or just partial addressbook / calendar data
*/
constructor(parent, request, url, props, isPartial = false) {
- super();
+ super()
Object.assign(this, {
// parameters
@@ -52,172 +52,175 @@ export class DavObject extends DAVEventListener {
_props: props,
// housekeeping
_isPartial: isPartial,
- _isDirty: false
- });
+ _isDirty: false,
+ })
- this._exposeProperty('etag', NS.DAV, 'getetag', true);
- this._exposeProperty('contenttype', NS.DAV, 'getcontenttype');
+ this._exposeProperty('etag', NS.DAV, 'getetag', true)
+ this._exposeProperty('contenttype', NS.DAV, 'getcontenttype')
Object.defineProperty(this, 'url', {
- get: () => this._url
- });
+ get: () => this._url,
+ })
}
/**
* gets unfiltered data for this object
*
* @param {boolean} forceReFetch Always refetch data, even if not partial
- * @returns {Promise}
+ * @return {Promise}
*/
async fetchCompleteData(forceReFetch = false) {
if (!forceReFetch && !this.isPartial()) {
- return;
+ return
}
- const request = await this._request.propFind(this._url, this.constructor.getPropFindList(), 0);
- this._props = request.body;
- this._isDirty = false;
- this._isPartial = false;
+ const request = await this._request.propFind(this._url, this.constructor.getPropFindList(), 0)
+ this._props = request.body
+ this._isDirty = false
+ this._isPartial = false
}
/**
* copies a DavObject to a different DavCollection
* @param {DavCollection} collection
- * @param {Boolean} overwrite
- * @returns {Promise} Promise that resolves to the copied DavObject
+ * @param {boolean} overwrite
+ * @param headers
+ * @return {Promise} Promise that resolves to the copied DavObject
*/
async copy(collection, overwrite = false, headers = {}) {
- debug(`copying ${this.url} from ${this._parent.url} to ${collection.url}`);
+ debug(`copying ${this.url} from ${this._parent.url} to ${collection.url}`)
if (this._parent === collection) {
- throw new Error('Copying an object to the collection it\'s already part of is not supported');
+ throw new Error('Copying an object to the collection it\'s already part of is not supported')
}
if (!this._parent.isSameCollectionTypeAs(collection)) {
- throw new Error('Copying an object to a collection of a different type is not supported');
+ throw new Error('Copying an object to a collection of a different type is not supported')
}
if (!collection.isWriteable()) {
- throw new Error('Can not copy object into read-only destination collection');
+ throw new Error('Can not copy object into read-only destination collection')
}
- const uri = this.url.split('/').splice(-1, 1)[0];
- const destination = collection.url + uri;
+ const uri = this.url.split('/').splice(-1, 1)[0]
+ const destination = collection.url + uri
- await this._request.copy(this.url, destination, 0, overwrite, headers);
- return collection.find(uri);
+ await this._request.copy(this.url, destination, 0, overwrite, headers)
+ return collection.find(uri)
}
/**
* moves a DavObject to a different DavCollection
* @param {DavCollection} collection
- * @param {Boolean} overwrite
- * @returns {Promise}
+ * @param {boolean} overwrite
+ * @param headers
+ * @return {Promise}
*/
async move(collection, overwrite = false, headers = {}) {
- debug(`moving ${this.url} from ${this._parent.url} to ${collection.url}`);
+ debug(`moving ${this.url} from ${this._parent.url} to ${collection.url}`)
if (this._parent === collection) {
- throw new Error('Moving an object to the collection it\'s already part of is not supported');
+ throw new Error('Moving an object to the collection it\'s already part of is not supported')
}
if (!this._parent.isSameCollectionTypeAs(collection)) {
- throw new Error('Moving an object to a collection of a different type is not supported');
+ throw new Error('Moving an object to a collection of a different type is not supported')
}
if (!collection.isWriteable()) {
- throw new Error('Can not move object into read-only destination collection');
+ throw new Error('Can not move object into read-only destination collection')
}
- const uri = this.url.split('/').splice(-1, 1)[0];
- const destination = collection.url + uri;
+ const uri = this.url.split('/').splice(-1, 1)[0]
+ const destination = collection.url + uri
- await this._request.move(this.url, destination, overwrite, headers);
- this._parent = collection;
- this._url = destination;
+ await this._request.move(this.url, destination, overwrite, headers)
+ this._parent = collection
+ this._url = destination
}
/**
* updates the DavObject on the server
- * @returns {Promise}
+ * @return {Promise}
*/
async update() {
// 1. Do not update filtered objects, because we would be loosing data on the server
// 2. No need to update if object was never modified
// 3. Do not update if called directly on DavObject, because there is no data prop
if (this.isPartial() || !this.isDirty() || !this.data) {
- return;
+ return
}
- const headers = {};
+ const headers = {}
// updating an object should use it's content-type
if (this.contenttype) {
- headers['Content-Type'] = `${this.contenttype}; charset=utf-8`;
+ headers['Content-Type'] = `${this.contenttype}; charset=utf-8`
}
if (this.etag) {
- headers['If-Match'] = this.etag;
+ headers['If-Match'] = this.etag
}
return this._request.put(this.url, headers, this.data).then((res) => {
- this._isDirty = false;
+ this._isDirty = false
// Don't overwrite content-type, it's set to text/html in the response ...
- this._props['{DAV:}getetag'] = res.xhr.getResponseHeader('etag');
+ this._props['{DAV:}getetag'] = res.xhr.getResponseHeader('etag')
}).catch((ex) => {
- this._isDirty = true;
+ this._isDirty = true
if (ex instanceof NetworkRequestClientError && ex.status === 412) {
- this._isPartial = true;
+ this._isPartial = true
}
- throw ex;
- });
+ throw ex
+ })
}
/**
* deletes the DavObject on the server
*
- * @returns {Promise}
+ * @param headers
+ * @return {Promise}
*/
async delete(headers = {}) {
- return this._request.delete(this.url, headers);
+ return this._request.delete(this.url, headers)
}
/**
* returns whether the data in this DavObject is the result of a partial retrieval
*
- * @returns {boolean}
+ * @return {boolean}
*/
isPartial() {
- return this._isPartial;
+ return this._isPartial
}
/**
* returns whether the data in this DavObject contains unsynced changes
*
- * @returns {boolean}
+ * @return {boolean}
*/
isDirty() {
- return this._isDirty;
+ return this._isDirty
}
/**
* @protected
- * @param {String} localName
- * @param {String} xmlNamespace
- * @param {String} xmlName
+ * @param {string} localName
+ * @param {string} xmlNamespace
+ * @param {string} xmlName
* @param {boolean} mutable
- * @returns void
+ * @return void
*/
_exposeProperty(localName, xmlNamespace, xmlName, mutable = false) {
if (mutable) {
Object.defineProperty(this, localName, {
get: () => this._props[`{${xmlNamespace}}${xmlName}`],
set: (val) => {
- this._isDirty = true;
- this._props[`{${xmlNamespace}}${xmlName}`] = val;
- }
- });
+ this._isDirty = true
+ this._props[`{${xmlNamespace}}${xmlName}`] = val
+ },
+ })
} else {
Object.defineProperty(this, localName, {
- get: () => this._props[`{${xmlNamespace}}${xmlName}`]
- });
+ get: () => this._props[`{${xmlNamespace}}${xmlName}`],
+ })
}
}
@@ -225,14 +228,14 @@ export class DavObject extends DAVEventListener {
* A list of all property names that should be included
* in propfind requests that may include this object
*
- * @returns {string[][]}
+ * @return {string[][]}
*/
static getPropFindList() {
return [
[NS.DAV, 'getcontenttype'],
[NS.DAV, 'getetag'],
- [NS.DAV, 'resourcetype']
- ];
+ [NS.DAV, 'resourcetype'],
+ ]
}
}
diff --git a/src/models/deletedCalendar.js b/src/models/deletedCalendar.js
index 6a002342..27d003a0 100644
--- a/src/models/deletedCalendar.js
+++ b/src/models/deletedCalendar.js
@@ -21,7 +21,7 @@
*
*/
-import { Calendar } from './calendar';
+import { Calendar } from './calendar.js'
/**
* This class represents a deleted calendar collection.
diff --git a/src/models/principal.js b/src/models/principal.js
index eca97441..6ab36fe5 100644
--- a/src/models/principal.js
+++ b/src/models/principal.js
@@ -22,11 +22,11 @@
*
*/
-import { DavObject } from './davObject.js';
-import * as NS from '../utility/namespaceUtility.js';
-import * as XMLUtility from '../utility/xmlUtility.js';
+import { DavObject } from './davObject.js'
+import * as NS from '../utility/namespaceUtility.js'
+import * as XMLUtility from '../utility/xmlUtility.js'
-import prinicipalPropSet from '../propset/principalPropSet.js';
+import prinicipalPropSet from '../propset/principalPropSet.js'
/**
* @class
@@ -42,138 +42,138 @@ export class Principal extends DavObject {
* @inheritDoc
*/
constructor(...args) {
- super(...args);
+ super(...args)
Object.assign(this, {
// house keeping
_updatedProperties: [],
// parsers / factories
- _propSetFactory: []
- });
+ _propSetFactory: [],
+ })
- this._registerPropSetFactory(prinicipalPropSet);
+ this._registerPropSetFactory(prinicipalPropSet)
- this._exposeProperty('displayname', NS.DAV, 'displayname');
- this._exposeProperty('calendarUserType', NS.IETF_CALDAV, 'calendar-user-type');
- this._exposeProperty('calendarUserAddressSet', NS.IETF_CALDAV, 'calendar-user-address-set');
- this._exposeProperty('principalUrl', NS.DAV, 'principal-URL');
- this._exposeProperty('email', NS.SABREDAV, 'email-address');
- this._exposeProperty('language', NS.NEXTCLOUD, 'language');
+ this._exposeProperty('displayname', NS.DAV, 'displayname')
+ this._exposeProperty('calendarUserType', NS.IETF_CALDAV, 'calendar-user-type')
+ this._exposeProperty('calendarUserAddressSet', NS.IETF_CALDAV, 'calendar-user-address-set')
+ this._exposeProperty('principalUrl', NS.DAV, 'principal-URL')
+ this._exposeProperty('email', NS.SABREDAV, 'email-address')
+ this._exposeProperty('language', NS.NEXTCLOUD, 'language')
- this._exposeProperty('calendarHomes', NS.IETF_CALDAV, 'calendar-home-set');
- this._exposeProperty('scheduleInbox', NS.IETF_CALDAV, 'schedule-inbox-URL');
- this._exposeProperty('scheduleOutbox', NS.IETF_CALDAV, 'schedule-outbox-URL');
- this._exposeProperty('scheduleDefaultCalendarUrl', NS.IETF_CALDAV, 'schedule-default-calendar-URL', true);
+ this._exposeProperty('calendarHomes', NS.IETF_CALDAV, 'calendar-home-set')
+ this._exposeProperty('scheduleInbox', NS.IETF_CALDAV, 'schedule-inbox-URL')
+ this._exposeProperty('scheduleOutbox', NS.IETF_CALDAV, 'schedule-outbox-URL')
+ this._exposeProperty('scheduleDefaultCalendarUrl', NS.IETF_CALDAV, 'schedule-default-calendar-URL', true)
- this._exposeProperty('addressBookHomes', NS.IETF_CARDDAV, 'addressbook-home-set');
+ this._exposeProperty('addressBookHomes', NS.IETF_CARDDAV, 'addressbook-home-set')
// Room and resource booking related
- this._exposeProperty('roomType', NS.NEXTCLOUD, 'room-type');
- this._exposeProperty('roomSeatingCapacity', NS.NEXTCLOUD, 'room-seating-capacity');
- this._exposeProperty('roomBuildingAddress', NS.NEXTCLOUD, 'room-building-address');
- this._exposeProperty('roomBuildingStory', NS.NEXTCLOUD, 'room-building-story');
- this._exposeProperty('roomBuildingRoomNumber', NS.NEXTCLOUD, 'room-building-room-number');
- this._exposeProperty('roomFeatures', NS.NEXTCLOUD, 'room-features');
+ this._exposeProperty('roomType', NS.NEXTCLOUD, 'room-type')
+ this._exposeProperty('roomSeatingCapacity', NS.NEXTCLOUD, 'room-seating-capacity')
+ this._exposeProperty('roomBuildingAddress', NS.NEXTCLOUD, 'room-building-address')
+ this._exposeProperty('roomBuildingStory', NS.NEXTCLOUD, 'room-building-story')
+ this._exposeProperty('roomBuildingRoomNumber', NS.NEXTCLOUD, 'room-building-room-number')
+ this._exposeProperty('roomFeatures', NS.NEXTCLOUD, 'room-features')
Object.defineProperties(this, {
principalScheme: {
get: () => {
- const baseUrl = this._request.pathname(this._request.baseUrl);
- let principalURI = this.url.slice(baseUrl.length);
+ const baseUrl = this._request.pathname(this._request.baseUrl)
+ let principalURI = this.url.slice(baseUrl.length)
if (principalURI.slice(-1) === '/') {
- principalURI = principalURI.slice(0, -1);
+ principalURI = principalURI.slice(0, -1)
}
- return 'principal:' + principalURI;
- }
+ return 'principal:' + principalURI
+ },
},
userId: {
get: () => {
if (this.calendarUserType !== 'INDIVIDUAL') {
- return null;
+ return null
}
- return this.url.split('/').splice(-2, 2)[this.url.endsWith('/') ? 0 : 1];
- }
+ return this.url.split('/').splice(-2, 2)[this.url.endsWith('/') ? 0 : 1]
+ },
},
groupId: {
get: () => {
if (this.calendarUserType !== 'GROUP') {
- return null;
+ return null
}
- return this.url.split('/').splice(-2, 2)[this.url.endsWith('/') ? 0 : 1];
- }
+ return this.url.split('/').splice(-2, 2)[this.url.endsWith('/') ? 0 : 1]
+ },
},
resourceId: {
get: () => {
if (this.calendarUserType !== 'RESOURCE') {
- return null;
+ return null
}
- return this.url.split('/').splice(-2, 2)[this.url.endsWith('/') ? 0 : 1];
- }
+ return this.url.split('/').splice(-2, 2)[this.url.endsWith('/') ? 0 : 1]
+ },
},
roomId: {
get: () => {
if (this.calendarUserType !== 'ROOM') {
- return null;
+ return null
}
- return this.url.split('/').splice(-2, 2)[this.url.endsWith('/') ? 0 : 1];
- }
+ return this.url.split('/').splice(-2, 2)[this.url.endsWith('/') ? 0 : 1]
+ },
},
roomAddress: {
get: () => {
const data = [
this.roomBuildingRoomNumber,
this.roomBuildingStory,
- this.roomBuildingAddress
- ];
+ this.roomBuildingAddress,
+ ]
return data
.filter(value => !!value)
- .join(', ');
- }
- }
- });
+ .join(', ')
+ },
+ },
+ })
}
/**
* Expose property to the outside and track changes if it's mutable
*
* @protected
- * @param {String} localName
- * @param {String} xmlNamespace
- * @param {String} xmlName
+ * @param {string} localName
+ * @param {string} xmlNamespace
+ * @param {string} xmlName
* @param {boolean} mutable
- * @returns void
+ * @return void
*/
_exposeProperty(localName, xmlNamespace, xmlName, mutable = false) {
if (mutable) {
Object.defineProperty(this, localName, {
get: () => this._props[`{${xmlNamespace}}${xmlName}`],
set: (val) => {
- this._props[`{${xmlNamespace}}${xmlName}`] = val;
+ this._props[`{${xmlNamespace}}${xmlName}`] = val
if (this._updatedProperties.indexOf(`{${xmlNamespace}}${xmlName}`) === -1) {
- this._updatedProperties.push(`{${xmlNamespace}}${xmlName}`);
+ this._updatedProperties.push(`{${xmlNamespace}}${xmlName}`)
}
- }
- });
+ },
+ })
} else {
Object.defineProperty(this, localName, {
- get: () => this._props[`{${xmlNamespace}}${xmlName}`]
- });
+ get: () => this._props[`{${xmlNamespace}}${xmlName}`],
+ })
}
}
/**
* @protected
* @param factory
- * @returns void
+ * @return void
*/
_registerPropSetFactory(factory) {
- this._propSetFactory.push(factory);
+ this._propSetFactory.push(factory)
}
/**
@@ -187,8 +187,8 @@ export class Principal extends DavObject {
[NS.DAV, 'principal-URL'],
[NS.DAV, 'alternate-URI-set'],
[NS.SABREDAV, 'email-address'],
- [NS.NEXTCLOUD, 'language']
- ];
+ [NS.NEXTCLOUD, 'language'],
+ ]
if (options.enableCalDAV) {
list.push(
@@ -211,44 +211,44 @@ export class Principal extends DavObject {
[NS.NEXTCLOUD, 'room-building-address'],
[NS.NEXTCLOUD, 'room-building-story'],
[NS.NEXTCLOUD, 'room-building-room-number'],
- [NS.NEXTCLOUD, 'room-features']
- );
+ [NS.NEXTCLOUD, 'room-features'],
+ )
}
if (options.enableCardDAV) {
list.push(
- [NS.IETF_CARDDAV, 'addressbook-home-set']
- );
+ [NS.IETF_CARDDAV, 'addressbook-home-set'],
+ )
}
- return list;
+ return list
}
/**
* Sends a PropPatch request to update the principal's properties.
* The request is only made if properties actually changed.
*
- * @returns {Promise}
+ * @return {Promise}
*/
async update() {
if (this._updatedProperties.length === 0) {
- return;
+ return
}
- const properties = {};
+ const properties = {}
this._updatedProperties.forEach((updatedProperty) => {
- properties[updatedProperty] = this._props[updatedProperty];
- });
- const propSet = this._propSetFactory.reduce((arr, p) => [...arr, ...p(properties)], []);
+ properties[updatedProperty] = this._props[updatedProperty]
+ })
+ const propSet = this._propSetFactory.reduce((arr, p) => [...arr, ...p(properties)], [])
const [skeleton, dPropSet] = XMLUtility.getRootSkeleton(
[NS.DAV, 'propertyupdate'],
[NS.DAV, 'set'],
- [NS.DAV, 'prop']);
+ [NS.DAV, 'prop'])
- dPropSet.push(...propSet);
+ dPropSet.push(...propSet)
- const body = XMLUtility.serialize(skeleton);
- await this._request.propPatch(this._url, {}, body);
+ const body = XMLUtility.serialize(skeleton)
+ await this._request.propPatch(this._url, {}, body)
}
}
diff --git a/src/models/scheduleInbox.js b/src/models/scheduleInbox.js
index 053dc876..cc826b87 100644
--- a/src/models/scheduleInbox.js
+++ b/src/models/scheduleInbox.js
@@ -21,9 +21,9 @@
*
*/
-import { Calendar } from './calendar.js';
-import * as NS from '../utility/namespaceUtility.js';
-import scheduleInboxPropSet from '../propset/scheduleInboxPropSet.js';
+import { Calendar } from './calendar.js'
+import * as NS from '../utility/namespaceUtility.js'
+import scheduleInboxPropSet from '../propset/scheduleInboxPropSet.js'
export default class ScheduleInbox extends Calendar {
@@ -31,12 +31,12 @@ export default class ScheduleInbox extends Calendar {
* @inheritDoc
*/
constructor(...args) {
- super(...args);
+ super(...args)
- super._registerPropSetFactory(scheduleInboxPropSet);
+ super._registerPropSetFactory(scheduleInboxPropSet)
// https://tools.ietf.org/html/rfc7953#section-7.2.4
- super._exposeProperty('availability', NS.IETF_CALDAV, 'calendar-availability', true);
+ super._exposeProperty('availability', NS.IETF_CALDAV, 'calendar-availability', true)
}
/**
@@ -44,8 +44,8 @@ export default class ScheduleInbox extends Calendar {
*/
static getPropFindList() {
return super.getPropFindList().concat([
- [NS.IETF_CALDAV, 'calendar-availability']
- ]);
+ [NS.IETF_CALDAV, 'calendar-availability'],
+ ])
}
}
diff --git a/src/models/scheduleOutbox.js b/src/models/scheduleOutbox.js
index 910624ab..b89eb901 100644
--- a/src/models/scheduleOutbox.js
+++ b/src/models/scheduleOutbox.js
@@ -21,8 +21,8 @@
*
*/
-import { DavCollection } from './davCollection.js';
-import * as NS from '../utility/namespaceUtility.js';
+import { DavCollection } from './davCollection.js'
+import * as NS from '../utility/namespaceUtility.js'
export default class ScheduleOutbox extends DavCollection {
@@ -31,35 +31,35 @@ export default class ScheduleOutbox extends DavCollection {
* The data is required to be a valid iTIP data.
* For an example, see https://tools.ietf.org/html/rfc6638#appendix-B.5
*
- * @param {String} data iTIP with VFREEBUSY component and METHOD:REQUEST
- * @returns {Promise}
+ * @param {string} data iTIP with VFREEBUSY component and METHOD:REQUEST
+ * @return {Promise}
*/
async freeBusyRequest(data) {
- const result = {};
+ const result = {}
const response = await this._request.post(this.url, {
- 'Content-Type': 'text/calendar; charset="utf-8"'
- }, data);
+ 'Content-Type': 'text/calendar; charset="utf-8"',
+ }, data)
- const domParser = new DOMParser();
- const document = domParser.parseFromString(response.body, 'application/xml');
+ const domParser = new DOMParser()
+ const document = domParser.parseFromString(response.body, 'application/xml')
- const responses = document.evaluate('/cl:schedule-response/cl:response', document, NS.resolve, XPathResult.ANY_TYPE, null);
- let responseNode;
+ const responses = document.evaluate('/cl:schedule-response/cl:response', document, NS.resolve, XPathResult.ANY_TYPE, null)
+ let responseNode
while ((responseNode = responses.iterateNext()) !== null) {
- const recipient = document.evaluate('string(cl:recipient/d:href)', responseNode, NS.resolve, XPathResult.ANY_TYPE, null).stringValue;
- const status = document.evaluate('string(cl:request-status)', responseNode, NS.resolve, XPathResult.ANY_TYPE, null).stringValue;
- const calendarData = document.evaluate('string(cl:calendar-data)', responseNode, NS.resolve, XPathResult.ANY_TYPE, null).stringValue;
- const success = /^2.\d(;.+)?$/.test(status);
+ const recipient = document.evaluate('string(cl:recipient/d:href)', responseNode, NS.resolve, XPathResult.ANY_TYPE, null).stringValue
+ const status = document.evaluate('string(cl:request-status)', responseNode, NS.resolve, XPathResult.ANY_TYPE, null).stringValue
+ const calendarData = document.evaluate('string(cl:calendar-data)', responseNode, NS.resolve, XPathResult.ANY_TYPE, null).stringValue
+ const success = /^2.\d(;.+)?$/.test(status)
result[recipient] = {
calendarData,
status,
- success
- };
+ success,
+ }
}
- return result;
+ return result
}
}
diff --git a/src/models/subscription.js b/src/models/subscription.js
index 7aa225cd..13f56be2 100644
--- a/src/models/subscription.js
+++ b/src/models/subscription.js
@@ -21,8 +21,8 @@
*
*/
-import { Calendar } from './calendar.js';
-import * as NS from '../utility/namespaceUtility.js';
+import { Calendar } from './calendar.js'
+import * as NS from '../utility/namespaceUtility.js'
/**
* This class represents a subscription collection
@@ -36,13 +36,13 @@ export class Subscription extends Calendar {
* @inheritDoc
*/
constructor(...args) {
- super(...args);
+ super(...args)
- super._exposeProperty('source', NS.CALENDARSERVER, 'source', true);
- super._exposeProperty('refreshRate', NS.APPLE, 'refreshrate', true);
- super._exposeProperty('stripTodos', NS.CALENDARSERVER, 'subscribed-strip-todos', true);
- super._exposeProperty('stripAlarms', NS.CALENDARSERVER, 'subscribed-strip-alarms', true);
- super._exposeProperty('stripAttachments', NS.CALENDARSERVER, 'subscribed-strip-attachments', true);
+ super._exposeProperty('source', NS.CALENDARSERVER, 'source', true)
+ super._exposeProperty('refreshRate', NS.APPLE, 'refreshrate', true)
+ super._exposeProperty('stripTodos', NS.CALENDARSERVER, 'subscribed-strip-todos', true)
+ super._exposeProperty('stripAlarms', NS.CALENDARSERVER, 'subscribed-strip-alarms', true)
+ super._exposeProperty('stripAttachments', NS.CALENDARSERVER, 'subscribed-strip-attachments', true)
}
/**
@@ -54,8 +54,8 @@ export class Subscription extends Calendar {
[NS.APPLE, 'refreshrate'],
[NS.CALENDARSERVER, 'subscribed-strip-todos'],
[NS.CALENDARSERVER, 'subscribed-strip-alarms'],
- [NS.CALENDARSERVER, 'subscribed-strip-attachments']
- ]);
+ [NS.CALENDARSERVER, 'subscribed-strip-attachments'],
+ ])
}
}
diff --git a/src/models/vcard.js b/src/models/vcard.js
index b1f0f024..a032d50f 100644
--- a/src/models/vcard.js
+++ b/src/models/vcard.js
@@ -21,8 +21,8 @@
*
*/
-import { DavObject } from './davObject.js';
-import * as NS from '../utility/namespaceUtility.js';
+import { DavObject } from './davObject.js'
+import * as NS from '../utility/namespaceUtility.js'
/**
* @class
@@ -38,10 +38,10 @@ export class VCard extends DavObject {
* @inheritDoc
*/
constructor(...args) {
- super(...args);
+ super(...args)
- super._exposeProperty('data', NS.IETF_CARDDAV, 'address-data', true);
- super._exposeProperty('hasphoto', NS.NEXTCLOUD, 'has-photo', false);
+ super._exposeProperty('data', NS.IETF_CARDDAV, 'address-data', true)
+ super._exposeProperty('hasphoto', NS.NEXTCLOUD, 'has-photo', false)
}
/**
@@ -49,8 +49,8 @@ export class VCard extends DavObject {
*/
static getPropFindList() {
return super.getPropFindList().concat([
- [NS.IETF_CARDDAV, 'address-data']
- ]);
+ [NS.IETF_CARDDAV, 'address-data'],
+ ])
}
}
diff --git a/src/models/vobject.js b/src/models/vobject.js
index b88b66ca..ec938ac3 100644
--- a/src/models/vobject.js
+++ b/src/models/vobject.js
@@ -21,8 +21,8 @@
*
*/
-import { DavObject } from './davObject.js';
-import * as NS from '../utility/namespaceUtility.js';
+import { DavObject } from './davObject.js'
+import * as NS from '../utility/namespaceUtility.js'
/**
* @class
@@ -38,9 +38,9 @@ export class VObject extends DavObject {
* @inheritDoc
*/
constructor(...args) {
- super(...args);
+ super(...args)
- super._exposeProperty('data', NS.IETF_CALDAV, 'calendar-data', true);
+ super._exposeProperty('data', NS.IETF_CALDAV, 'calendar-data', true)
}
/**
@@ -48,8 +48,8 @@ export class VObject extends DavObject {
*/
static getPropFindList() {
return super.getPropFindList().concat([
- [NS.IETF_CALDAV, 'calendar-data']
- ]);
+ [NS.IETF_CALDAV, 'calendar-data'],
+ ])
}
}
diff --git a/src/parser.js b/src/parser.js
index 37521651..f56495ac 100644
--- a/src/parser.js
+++ b/src/parser.js
@@ -33,23 +33,23 @@ export default class Parser {
constructor() {
/**
* Key Value Map of propertyName => parser
- * @type {Object}
+ * @type {object}
* @private
*/
- this._parser = {};
+ this._parser = {}
// initialize default parsers shipped with this lib
- this._registerDefaultParsers();
+ this._registerDefaultParsers()
}
/**
* checks if a parser exists for a given property name
*
- * @param {String} propertyName
- * @returns {boolean}
+ * @param {string} propertyName
+ * @return {boolean}
*/
canParse(propertyName) {
- return Object.prototype.hasOwnProperty.call(this._parser, propertyName);
+ return Object.prototype.hasOwnProperty.call(this._parser, propertyName)
}
/**
@@ -61,31 +61,31 @@ export default class Parser {
* @return {*}
*/
parse(document, node, resolver) {
- const propertyName = `{${node.namespaceURI}}${node.localName}`;
+ const propertyName = `{${node.namespaceURI}}${node.localName}`
if (!this.canParse(propertyName)) {
- throw new Error(`Unable to parse unknown property "${propertyName}"`);
+ throw new Error(`Unable to parse unknown property "${propertyName}"`)
}
- return this._parser[propertyName](document, node, resolver);
+ return this._parser[propertyName](document, node, resolver)
}
/**
* registers a parser for propertyName
*
- * @param {String} propertyName
+ * @param {string} propertyName
* @param {Function} parser
*/
registerParser(propertyName, parser) {
- this._parser[propertyName] = parser;
+ this._parser[propertyName] = parser
}
/**
* unregisters a parser for propertyName
*
- * @param {String} propertyName
+ * @param {string} propertyName
*/
unregisterParser(propertyName) {
- delete this._parser[propertyName];
+ delete this._parser[propertyName]
}
/**
@@ -95,119 +95,119 @@ export default class Parser {
*/
_registerDefaultParsers() {
// RFC 4918 - HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)
- this.registerParser('{DAV:}displayname', Parser.text);
- this.registerParser('{DAV:}creationdate', Parser.text);
- this.registerParser('{DAV:}getcontentlength', Parser.decInt);
- this.registerParser('{DAV:}getcontenttype', Parser.text);
- this.registerParser('{DAV:}getcontentlanguage', Parser.text);
- this.registerParser('{DAV:}getlastmodified', Parser.rfc1123Date);
- this.registerParser('{DAV:}getetag', Parser.text);
- this.registerParser('{DAV:}resourcetype', Parser.resourceType);
+ this.registerParser('{DAV:}displayname', Parser.text)
+ this.registerParser('{DAV:}creationdate', Parser.text)
+ this.registerParser('{DAV:}getcontentlength', Parser.decInt)
+ this.registerParser('{DAV:}getcontenttype', Parser.text)
+ this.registerParser('{DAV:}getcontentlanguage', Parser.text)
+ this.registerParser('{DAV:}getlastmodified', Parser.rfc1123Date)
+ this.registerParser('{DAV:}getetag', Parser.text)
+ this.registerParser('{DAV:}resourcetype', Parser.resourceType)
// RFC 3744 - Web Distributed Authoring and Versioning (WebDAV) Access Control Protocol
- this.registerParser('{DAV:}inherited-acl-set', Parser.hrefs);
- this.registerParser('{DAV:}group', Parser.href);
- this.registerParser('{DAV:}owner', Parser.href);
- this.registerParser('{DAV:}current-user-privilege-set', Parser.privileges);
- this.registerParser('{DAV:}principal-collection-set', Parser.hrefs);
- this.registerParser('{DAV:}principal-URL', Parser.href);
- this.registerParser('{DAV:}alternate-URI-set', Parser.hrefs);
- this.registerParser('{DAV:}group-member-set', Parser.hrefs);
- this.registerParser('{DAV:}group-membership', Parser.hrefs);
+ this.registerParser('{DAV:}inherited-acl-set', Parser.hrefs)
+ this.registerParser('{DAV:}group', Parser.href)
+ this.registerParser('{DAV:}owner', Parser.href)
+ this.registerParser('{DAV:}current-user-privilege-set', Parser.privileges)
+ this.registerParser('{DAV:}principal-collection-set', Parser.hrefs)
+ this.registerParser('{DAV:}principal-URL', Parser.href)
+ this.registerParser('{DAV:}alternate-URI-set', Parser.hrefs)
+ this.registerParser('{DAV:}group-member-set', Parser.hrefs)
+ this.registerParser('{DAV:}group-membership', Parser.hrefs)
// RFC 5397 - WebDAV Current Principal Extension
- this.registerParser('{DAV:}current-user-principal', Parser.currentUserPrincipal);
+ this.registerParser('{DAV:}current-user-principal', Parser.currentUserPrincipal)
// RFC 6578 - Collection Synchronization for Web Distributed Authoring and Versioning (WebDAV)
- this.registerParser('{DAV:}sync-token', Parser.text);
+ this.registerParser('{DAV:}sync-token', Parser.text)
// RFC 6352 - CardDAV: vCard Extensions to Web Distributed Authoring and Versioning (WebDAV)
- this.registerParser('{urn:ietf:params:xml:ns:carddav}address-data', Parser.text);
- this.registerParser('{urn:ietf:params:xml:ns:carddav}addressbook-description', Parser.text);
- this.registerParser('{urn:ietf:params:xml:ns:carddav}supported-address-data', Parser.addressDataTypes);
- this.registerParser('{urn:ietf:params:xml:ns:carddav}max-resource-size', Parser.decInt);
- this.registerParser('{urn:ietf:params:xml:ns:carddav}addressbook-home-set', Parser.hrefs);
- this.registerParser('{urn:ietf:params:xml:ns:carddav}principal-address', Parser.href);
- this.registerParser('{urn:ietf:params:xml:ns:carddav}supported-collation-set', Parser.supportedCardDAVCollations);
+ this.registerParser('{urn:ietf:params:xml:ns:carddav}address-data', Parser.text)
+ this.registerParser('{urn:ietf:params:xml:ns:carddav}addressbook-description', Parser.text)
+ this.registerParser('{urn:ietf:params:xml:ns:carddav}supported-address-data', Parser.addressDataTypes)
+ this.registerParser('{urn:ietf:params:xml:ns:carddav}max-resource-size', Parser.decInt)
+ this.registerParser('{urn:ietf:params:xml:ns:carddav}addressbook-home-set', Parser.hrefs)
+ this.registerParser('{urn:ietf:params:xml:ns:carddav}principal-address', Parser.href)
+ this.registerParser('{urn:ietf:params:xml:ns:carddav}supported-collation-set', Parser.supportedCardDAVCollations)
// RFC 4791 - Calendaring Extensions to WebDAV (CalDAV)
- this.registerParser('{urn:ietf:params:xml:ns:caldav}calendar-data', Parser.text);
- this.registerParser('{urn:ietf:params:xml:ns:caldav}calendar-home-set', Parser.hrefs);
- this.registerParser('{urn:ietf:params:xml:ns:caldav}calendar-description', Parser.text);
- this.registerParser('{urn:ietf:params:xml:ns:caldav}calendar-timezone', Parser.text);
- this.registerParser('{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set', Parser.calendarComps);
- this.registerParser('{urn:ietf:params:xml:ns:caldav}supported-calendar-data', Parser.calendarDatas);
- this.registerParser('{urn:ietf:params:xml:ns:caldav}max-resource-size', Parser.decInt);
- this.registerParser('{urn:ietf:params:xml:ns:caldav}min-date-time', Parser.iCalendarTimestamp);
- this.registerParser('{urn:ietf:params:xml:ns:caldav}max-date-time', Parser.iCalendarTimestamp);
- this.registerParser('{urn:ietf:params:xml:ns:caldav}max-instances', Parser.decInt);
- this.registerParser('{urn:ietf:params:xml:ns:caldav}max-attendees-per-instance', Parser.decInt);
- this.registerParser('{urn:ietf:params:xml:ns:caldav}supported-collation-set', Parser.supportedCalDAVCollations);
+ this.registerParser('{urn:ietf:params:xml:ns:caldav}calendar-data', Parser.text)
+ this.registerParser('{urn:ietf:params:xml:ns:caldav}calendar-home-set', Parser.hrefs)
+ this.registerParser('{urn:ietf:params:xml:ns:caldav}calendar-description', Parser.text)
+ this.registerParser('{urn:ietf:params:xml:ns:caldav}calendar-timezone', Parser.text)
+ this.registerParser('{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set', Parser.calendarComps)
+ this.registerParser('{urn:ietf:params:xml:ns:caldav}supported-calendar-data', Parser.calendarDatas)
+ this.registerParser('{urn:ietf:params:xml:ns:caldav}max-resource-size', Parser.decInt)
+ this.registerParser('{urn:ietf:params:xml:ns:caldav}min-date-time', Parser.iCalendarTimestamp)
+ this.registerParser('{urn:ietf:params:xml:ns:caldav}max-date-time', Parser.iCalendarTimestamp)
+ this.registerParser('{urn:ietf:params:xml:ns:caldav}max-instances', Parser.decInt)
+ this.registerParser('{urn:ietf:params:xml:ns:caldav}max-attendees-per-instance', Parser.decInt)
+ this.registerParser('{urn:ietf:params:xml:ns:caldav}supported-collation-set', Parser.supportedCalDAVCollations)
// RFC 6638 - Scheduling Extensions to CalDAV
- this.registerParser('{urn:ietf:params:xml:ns:caldav}schedule-outbox-URL', Parser.href);
- this.registerParser('{urn:ietf:params:xml:ns:caldav}schedule-inbox-URL', Parser.href);
- this.registerParser('{urn:ietf:params:xml:ns:caldav}calendar-user-address-set', Parser.hrefs);
- this.registerParser('{urn:ietf:params:xml:ns:caldav}calendar-user-type', Parser.text);
- this.registerParser('{urn:ietf:params:xml:ns:caldav}schedule-calendar-transp', Parser.scheduleCalendarTransp);
- this.registerParser('{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL', Parser.href);
- this.registerParser('{urn:ietf:params:xml:ns:caldav}schedule-tag', Parser.text);
+ this.registerParser('{urn:ietf:params:xml:ns:caldav}schedule-outbox-URL', Parser.href)
+ this.registerParser('{urn:ietf:params:xml:ns:caldav}schedule-inbox-URL', Parser.href)
+ this.registerParser('{urn:ietf:params:xml:ns:caldav}calendar-user-address-set', Parser.hrefs)
+ this.registerParser('{urn:ietf:params:xml:ns:caldav}calendar-user-type', Parser.text)
+ this.registerParser('{urn:ietf:params:xml:ns:caldav}schedule-calendar-transp', Parser.scheduleCalendarTransp)
+ this.registerParser('{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL', Parser.href)
+ this.registerParser('{urn:ietf:params:xml:ns:caldav}schedule-tag', Parser.text)
// RFC 7809 - Calendaring Extensions to WebDAV (CalDAV): Time Zones by Reference
- this.registerParser('{urn:ietf:params:xml:ns:caldav}timezone-service-set', Parser.hrefs);
- this.registerParser('{urn:ietf:params:xml:ns:caldav}calendar-timezone-id', Parser.text);
+ this.registerParser('{urn:ietf:params:xml:ns:caldav}timezone-service-set', Parser.hrefs)
+ this.registerParser('{urn:ietf:params:xml:ns:caldav}calendar-timezone-id', Parser.text)
// RFC 7953 - Calendar Availability
- this.registerParser('{urn:ietf:params:xml:ns:caldav}calendar-availability', Parser.text);
+ this.registerParser('{urn:ietf:params:xml:ns:caldav}calendar-availability', Parser.text)
// Apple
- this.registerParser('{http://apple.com/ns/ical/}calendar-order', Parser.decInt);
- this.registerParser('{http://apple.com/ns/ical/}calendar-color', Parser.color);
- this.registerParser('{http://calendarserver.org/ns/}source', Parser.href);
+ this.registerParser('{http://apple.com/ns/ical/}calendar-order', Parser.decInt)
+ this.registerParser('{http://apple.com/ns/ical/}calendar-color', Parser.color)
+ this.registerParser('{http://calendarserver.org/ns/}source', Parser.href)
// https://tools.ietf.org/html/draft-daboo-valarm-extensions-04#section-11.1
- this.registerParser('{urn:ietf:params:xml:ns:caldav}default-alarm-vevent-datetime', Parser.text);
- this.registerParser('{urn:ietf:params:xml:ns:caldav}default-alarm-vevent-date', Parser.text);
- this.registerParser('{urn:ietf:params:xml:ns:caldav}default-alarm-vtodo-datetime', Parser.text);
- this.registerParser('{urn:ietf:params:xml:ns:caldav}default-alarm-vtodo-date', Parser.text);
+ this.registerParser('{urn:ietf:params:xml:ns:caldav}default-alarm-vevent-datetime', Parser.text)
+ this.registerParser('{urn:ietf:params:xml:ns:caldav}default-alarm-vevent-date', Parser.text)
+ this.registerParser('{urn:ietf:params:xml:ns:caldav}default-alarm-vtodo-datetime', Parser.text)
+ this.registerParser('{urn:ietf:params:xml:ns:caldav}default-alarm-vtodo-date', Parser.text)
// https://github.com/apple/ccs-calendarserver/blob/master/doc/Extensions/caldav-ctag.txt
- this.registerParser('{http://calendarserver.org/ns/}getctag', Parser.text);
+ this.registerParser('{http://calendarserver.org/ns/}getctag', Parser.text)
// https://github.com/apple/ccs-calendarserver/blob/master/doc/Extensions/caldav-proxy.txt
- this.registerParser('{http://calendarserver.org/ns/}calendar-proxy-read-for', Parser.hrefs);
- this.registerParser('{http://calendarserver.org/ns/}calendar-proxy-write-for', Parser.hrefs);
+ this.registerParser('{http://calendarserver.org/ns/}calendar-proxy-read-for', Parser.hrefs)
+ this.registerParser('{http://calendarserver.org/ns/}calendar-proxy-write-for', Parser.hrefs)
// https://github.com/apple/ccs-calendarserver/blob/master/doc/Extensions/caldav-sharing.txt
- this.registerParser('{http://calendarserver.org/ns/}allowed-sharing-modes', Parser.allowedSharingModes);
- this.registerParser('{http://calendarserver.org/ns/}shared-url', Parser.href);
- this.registerParser('{http://sabredav.org/ns}owner-principal', Parser.href);
- this.registerParser('{http://sabredav.org/ns}read-only', Parser.bool);
- this.registerParser('{http://calendarserver.org/ns/}pre-publish-url', Parser.href);
- this.registerParser('{http://calendarserver.org/ns/}publish-url', Parser.href);
+ this.registerParser('{http://calendarserver.org/ns/}allowed-sharing-modes', Parser.allowedSharingModes)
+ this.registerParser('{http://calendarserver.org/ns/}shared-url', Parser.href)
+ this.registerParser('{http://sabredav.org/ns}owner-principal', Parser.href)
+ this.registerParser('{http://sabredav.org/ns}read-only', Parser.bool)
+ this.registerParser('{http://calendarserver.org/ns/}pre-publish-url', Parser.href)
+ this.registerParser('{http://calendarserver.org/ns/}publish-url', Parser.href)
// Nextcloud custom sharing
- this.registerParser('{http://owncloud.org/ns}invite', Parser.ocInvite);
+ this.registerParser('{http://owncloud.org/ns}invite', Parser.ocInvite)
// Nextcloud specific
- this.registerParser('{http://owncloud.org/ns}calendar-enabled', Parser.bool);
- this.registerParser('{http://owncloud.org/ns}enabled', Parser.bool);
- this.registerParser('{http://owncloud.org/ns}read-only', Parser.bool);
- this.registerParser('{http://nextcloud.com/ns}owner-displayname', Parser.text);
- this.registerParser('{http://nextcloud.com/ns}deleted-at', Parser.iso8601DateTime);
- this.registerParser('{http://nextcloud.com/ns}calendar-uri', Parser.text);
- this.registerParser('{http://nextcloud.com/ns}has-photo', Parser.bool);
- this.registerParser('{http://nextcloud.com/ns}trash-bin-retention-duration', Parser.decInt);
- this.registerParser('{http://nextcloud.com/ns}language', Parser.text);
- this.registerParser('{http://nextcloud.com/ns}room-type', Parser.text);
- this.registerParser('{http://nextcloud.com/ns}room-seating-capacity', Parser.decInt);
- this.registerParser('{http://nextcloud.com/ns}room-building-address', Parser.text);
- this.registerParser('{http://nextcloud.com/ns}room-building-story', Parser.text);
- this.registerParser('{http://nextcloud.com/ns}room-building-room-number', Parser.text);
- this.registerParser('{http://nextcloud.com/ns}room-features', Parser.text);
+ this.registerParser('{http://owncloud.org/ns}calendar-enabled', Parser.bool)
+ this.registerParser('{http://owncloud.org/ns}enabled', Parser.bool)
+ this.registerParser('{http://owncloud.org/ns}read-only', Parser.bool)
+ this.registerParser('{http://nextcloud.com/ns}owner-displayname', Parser.text)
+ this.registerParser('{http://nextcloud.com/ns}deleted-at', Parser.iso8601DateTime)
+ this.registerParser('{http://nextcloud.com/ns}calendar-uri', Parser.text)
+ this.registerParser('{http://nextcloud.com/ns}has-photo', Parser.bool)
+ this.registerParser('{http://nextcloud.com/ns}trash-bin-retention-duration', Parser.decInt)
+ this.registerParser('{http://nextcloud.com/ns}language', Parser.text)
+ this.registerParser('{http://nextcloud.com/ns}room-type', Parser.text)
+ this.registerParser('{http://nextcloud.com/ns}room-seating-capacity', Parser.decInt)
+ this.registerParser('{http://nextcloud.com/ns}room-building-address', Parser.text)
+ this.registerParser('{http://nextcloud.com/ns}room-building-story', Parser.text)
+ this.registerParser('{http://nextcloud.com/ns}room-building-room-number', Parser.text)
+ this.registerParser('{http://nextcloud.com/ns}room-features', Parser.text)
// Sabre/Dav specific
- this.registerParser('{http://sabredav.org/ns}email-address', Parser.text);
+ this.registerParser('{http://sabredav.org/ns}email-address', Parser.text)
}
/**
@@ -216,10 +216,10 @@ export default class Parser {
* @param {Document} document
* @param {Node} node
* @param {XPathNSResolver} resolver
- * @returns {String}
+ * @return {string}
*/
static text(document, node, resolver) {
- return document.evaluate('string(.)', node, resolver, XPathResult.ANY_TYPE, null).stringValue;
+ return document.evaluate('string(.)', node, resolver, XPathResult.ANY_TYPE, null).stringValue
}
/**
@@ -228,10 +228,10 @@ export default class Parser {
* @param {Document} document
* @param {Node} node
* @param {XPathNSResolver} resolver
- * @returns {Boolean}
+ * @return {boolean}
*/
static bool(document, node, resolver) {
- return Parser.text(document, node, resolver) === '1';
+ return Parser.text(document, node, resolver) === '1'
}
/**
@@ -240,10 +240,10 @@ export default class Parser {
* @param {Document} document
* @param {Node} node
* @param {XPathNSResolver} resolver
- * @returns {Number}
+ * @return {number}
*/
static decInt(document, node, resolver) {
- return parseInt(Parser.text(document, node, resolver), 10);
+ return parseInt(Parser.text(document, node, resolver), 10)
}
/**
@@ -252,13 +252,13 @@ export default class Parser {
* @param {Document} document
* @param {Node} node
* @param {XPathNSResolver} resolver
- * @returns {Date}
+ * @return {Date}
*/
static rfc1123Date(document, node, resolver) {
- const text = Parser.text(document, node, resolver);
+ const text = Parser.text(document, node, resolver)
// TODO this might not work in every browser
- return new Date(text);
+ return new Date(text)
}
/**
@@ -267,12 +267,12 @@ export default class Parser {
* @param {Document} document
* @param {Node} node
* @param {XPathNSResolver} resolver
- * @returns {Date}
+ * @return {Date}
*/
static iso8601DateTime(document, node, resolver) {
- const text = Parser.text(document, node, resolver);
+ const text = Parser.text(document, node, resolver)
- return new Date(text);
+ return new Date(text)
}
/**
@@ -281,23 +281,23 @@ export default class Parser {
* @param {Document} document
* @param {Node} node
* @param {XPathNSResolver} resolver
- * @returns {Date}
+ * @return {Date}
*/
static iCalendarTimestamp(document, node, resolver) {
- const text = Parser.text(document, node, resolver);
+ const text = Parser.text(document, node, resolver)
- const year = parseInt(text.slice(0, 4), 10);
- const month = parseInt(text.slice(4, 6), 10) - 1;
- const date = parseInt(text.slice(6, 8), 10);
+ const year = parseInt(text.slice(0, 4), 10)
+ const month = parseInt(text.slice(4, 6), 10) - 1
+ const date = parseInt(text.slice(6, 8), 10)
- const hour = parseInt(text.slice(9, 11), 10);
- const minute = parseInt(text.slice(11, 13), 10);
- const second = parseInt(text.slice(13, 15), 10);
+ const hour = parseInt(text.slice(9, 11), 10)
+ const minute = parseInt(text.slice(11, 13), 10)
+ const second = parseInt(text.slice(13, 15), 10)
- const dateObj = new Date();
- dateObj.setUTCFullYear(year, month, date);
- dateObj.setUTCHours(hour, minute, second, 0);
- return dateObj;
+ const dateObj = new Date()
+ dateObj.setUTCFullYear(year, month, date)
+ dateObj.setUTCHours(hour, minute, second, 0)
+ return dateObj
}
/**
@@ -306,21 +306,21 @@ export default class Parser {
* @param {Document} document
* @param {Node} node
* @param {XPathNSResolver} resolver
- * @returns {String[]}
+ * @return {string[]}
*/
static resourceType(document, node, resolver) {
- const result = [];
- const children = document.evaluate('*', node, resolver, XPathResult.ANY_TYPE, null);
- let childNode;
+ const result = []
+ const children = document.evaluate('*', node, resolver, XPathResult.ANY_TYPE, null)
+ let childNode
while ((childNode = children.iterateNext()) !== null) {
- const ns = document.evaluate('namespace-uri(.)', childNode, resolver, XPathResult.ANY_TYPE, null).stringValue;
- const local = document.evaluate('local-name(.)', childNode, resolver, XPathResult.ANY_TYPE, null).stringValue;
+ const ns = document.evaluate('namespace-uri(.)', childNode, resolver, XPathResult.ANY_TYPE, null).stringValue
+ const local = document.evaluate('local-name(.)', childNode, resolver, XPathResult.ANY_TYPE, null).stringValue
- result.push(`{${ns}}${local}`);
+ result.push(`{${ns}}${local}`)
}
- return result;
+ return result
}
/**
@@ -329,10 +329,10 @@ export default class Parser {
* @param {Document} document
* @param {Node} node
* @param {XPathNSResolver} resolver
- * @returns {String}
+ * @return {string}
*/
static href(document, node, resolver) {
- return document.evaluate('string(d:href)', node, resolver, XPathResult.ANY_TYPE, null).stringValue;
+ return document.evaluate('string(d:href)', node, resolver, XPathResult.ANY_TYPE, null).stringValue
}
/**
@@ -341,18 +341,18 @@ export default class Parser {
* @param {Document} document
* @param {Node} node
* @param {XPathNSResolver} resolver
- * @returns {String[]}
+ * @return {string[]}
*/
static hrefs(document, node, resolver) {
- const result = [];
- const hrefs = document.evaluate('d:href', node, resolver, XPathResult.ANY_TYPE, null);
- let hrefNode;
+ const result = []
+ const hrefs = document.evaluate('d:href', node, resolver, XPathResult.ANY_TYPE, null)
+ let hrefNode
while ((hrefNode = hrefs.iterateNext()) !== null) {
- result.push(document.evaluate('string(.)', hrefNode, resolver, XPathResult.ANY_TYPE, null).stringValue);
+ result.push(document.evaluate('string(.)', hrefNode, resolver, XPathResult.ANY_TYPE, null).stringValue)
}
- return result;
+ return result
}
/**
@@ -361,21 +361,21 @@ export default class Parser {
* @param {Document} document
* @param {Node} node
* @param {XPathNSResolver} resolver
- * @returns {String[]}
+ * @return {string[]}
*/
static privileges(document, node, resolver) {
- const result = [];
- const privileges = document.evaluate('d:privilege/*', node, resolver, XPathResult.ANY_TYPE, null);
- let privilegeNode;
+ const result = []
+ const privileges = document.evaluate('d:privilege/*', node, resolver, XPathResult.ANY_TYPE, null)
+ let privilegeNode
while ((privilegeNode = privileges.iterateNext()) !== null) {
- const ns = document.evaluate('namespace-uri(.)', privilegeNode, resolver, XPathResult.ANY_TYPE, null).stringValue;
- const local = document.evaluate('local-name(.)', privilegeNode, resolver, XPathResult.ANY_TYPE, null).stringValue;
+ const ns = document.evaluate('namespace-uri(.)', privilegeNode, resolver, XPathResult.ANY_TYPE, null).stringValue
+ const local = document.evaluate('local-name(.)', privilegeNode, resolver, XPathResult.ANY_TYPE, null).stringValue
- result.push(`{${ns}}${local}`);
+ result.push(`{${ns}}${local}`)
}
- return result;
+ return result
}
/**
@@ -384,24 +384,24 @@ export default class Parser {
* @param {Document} document
* @param {Node} node
* @param {XPathNSResolver} resolver
- * @returns {Object}
- * @property {String} type
- * @property {String} href
+ * @return {object}
+ * @property {string} type
+ * @property {string} href
*/
static currentUserPrincipal(document, node, resolver) {
const unauthenticatedCount
- = document.evaluate('count(d:unauthenticated)', node, resolver, XPathResult.ANY_TYPE, null).numberValue;
+ = document.evaluate('count(d:unauthenticated)', node, resolver, XPathResult.ANY_TYPE, null).numberValue
if (unauthenticatedCount !== 0) {
return {
type: 'unauthenticated',
- href: null
- };
+ href: null,
+ }
} else {
return {
type: 'href',
- href: Parser.href(...arguments)
- };
+ href: Parser.href(...arguments),
+ }
}
}
@@ -411,21 +411,21 @@ export default class Parser {
* @param {Document} document
* @param {Node} node
* @param {XPathNSResolver} resolver
- * @returns {*}
+ * @return {*}
*/
static addressDataTypes(document, node, resolver) {
- const result = [];
- const addressDatas = document.evaluate('cr:address-data-type', node, resolver, XPathResult.ANY_TYPE, null);
- let addressDataNode;
+ const result = []
+ const addressDatas = document.evaluate('cr:address-data-type', node, resolver, XPathResult.ANY_TYPE, null)
+ let addressDataNode
while ((addressDataNode = addressDatas.iterateNext()) !== null) {
result.push({
'content-type': document.evaluate('string(@content-type)', addressDataNode, resolver, XPathResult.ANY_TYPE, null).stringValue,
- version: document.evaluate('string(@version)', addressDataNode, resolver, XPathResult.ANY_TYPE, null).stringValue
- });
+ version: document.evaluate('string(@version)', addressDataNode, resolver, XPathResult.ANY_TYPE, null).stringValue,
+ })
}
- return result;
+ return result
}
/**
@@ -434,18 +434,18 @@ export default class Parser {
* @param {Document} document
* @param {Node} node
* @param {XPathNSResolver} resolver
- * @returns {*}
+ * @return {*}
*/
static supportedCardDAVCollations(document, node, resolver) {
- const result = [];
- const collations = document.evaluate('cr:supported-collation', node, resolver, XPathResult.ANY_TYPE, null);
- let collationNode;
+ const result = []
+ const collations = document.evaluate('cr:supported-collation', node, resolver, XPathResult.ANY_TYPE, null)
+ let collationNode
while ((collationNode = collations.iterateNext()) !== null) {
- result.push(document.evaluate('string(.)', collationNode, resolver, XPathResult.ANY_TYPE, null).stringValue);
+ result.push(document.evaluate('string(.)', collationNode, resolver, XPathResult.ANY_TYPE, null).stringValue)
}
- return result;
+ return result
}
/**
@@ -454,18 +454,18 @@ export default class Parser {
* @param {Document} document
* @param {Node} node
* @param {XPathNSResolver} resolver
- * @returns {*}
+ * @return {*}
*/
static supportedCalDAVCollations(document, node, resolver) {
- const result = [];
- const collations = document.evaluate('cl:supported-collation', node, resolver, XPathResult.ANY_TYPE, null);
- let collationNode;
+ const result = []
+ const collations = document.evaluate('cl:supported-collation', node, resolver, XPathResult.ANY_TYPE, null)
+ let collationNode
while ((collationNode = collations.iterateNext()) !== null) {
- result.push(document.evaluate('string(.)', collationNode, resolver, XPathResult.ANY_TYPE, null).stringValue);
+ result.push(document.evaluate('string(.)', collationNode, resolver, XPathResult.ANY_TYPE, null).stringValue)
}
- return result;
+ return result
}
/**
@@ -474,18 +474,18 @@ export default class Parser {
* @param {Document} document
* @param {Node} node
* @param {XPathNSResolver} resolver
- * @returns {String[]}
+ * @return {string[]}
*/
static calendarComps(document, node, resolver) {
- const result = [];
- const comps = document.evaluate('cl:comp', node, resolver, XPathResult.ANY_TYPE, null);
- let compNode;
+ const result = []
+ const comps = document.evaluate('cl:comp', node, resolver, XPathResult.ANY_TYPE, null)
+ let compNode
while ((compNode = comps.iterateNext()) !== null) {
- result.push(document.evaluate('string(@name)', compNode, resolver, XPathResult.ANY_TYPE, null).stringValue);
+ result.push(document.evaluate('string(@name)', compNode, resolver, XPathResult.ANY_TYPE, null).stringValue)
}
- return result;
+ return result
}
/**
@@ -494,21 +494,21 @@ export default class Parser {
* @param {Document} document
* @param {Node} node
* @param {XPathNSResolver} resolver
- * @returns {*}
+ * @return {*}
*/
static calendarDatas(document, node, resolver) {
- const result = [];
- const calendarDatas = document.evaluate('cl:calendar-data', node, resolver, XPathResult.ANY_TYPE, null);
- let calendarDataNode;
+ const result = []
+ const calendarDatas = document.evaluate('cl:calendar-data', node, resolver, XPathResult.ANY_TYPE, null)
+ let calendarDataNode
while ((calendarDataNode = calendarDatas.iterateNext()) !== null) {
result.push({
'content-type': document.evaluate('string(@content-type)', calendarDataNode, resolver, XPathResult.ANY_TYPE, null).stringValue,
- version: document.evaluate('string(@version)', calendarDataNode, resolver, XPathResult.ANY_TYPE, null).stringValue
- });
+ version: document.evaluate('string(@version)', calendarDataNode, resolver, XPathResult.ANY_TYPE, null).stringValue,
+ })
}
- return result;
+ return result
}
/**
@@ -517,13 +517,13 @@ export default class Parser {
* @param {Document} document
* @param {Node} node
* @param {XPathNSResolver} resolver
- * @returns {String}
+ * @return {string}
*/
static scheduleCalendarTransp(document, node, resolver) {
- const children = document.evaluate('cl:opaque | cl:transparent', node, resolver, XPathResult.ANY_TYPE, null);
- const childNode = children.iterateNext();
+ const children = document.evaluate('cl:opaque | cl:transparent', node, resolver, XPathResult.ANY_TYPE, null)
+ const childNode = children.iterateNext()
if (childNode) {
- return document.evaluate('local-name(.)', childNode, resolver, XPathResult.ANY_TYPE, null).stringValue;
+ return document.evaluate('local-name(.)', childNode, resolver, XPathResult.ANY_TYPE, null).stringValue
}
}
@@ -534,18 +534,18 @@ export default class Parser {
* @param {Document} document
* @param {Node} node
* @param {XPathNSResolver} resolver
- * @returns {String}
+ * @return {string}
*/
static color(document, node, resolver) {
- const text = Parser.text(document, node, resolver);
+ const text = Parser.text(document, node, resolver)
// some stupid clients store an alpha value in the rgb hash (like #rrggbbaa) *cough cough* Apple Calendar *cough cough*
// but some browsers can't parse that *cough cough* Safari 9 *cough cough*
// Safari 10 seems to support this though
if (text.length === 9) {
- return text.slice(0, 7);
+ return text.slice(0, 7)
}
- return text;
+ return text
}
/**
@@ -554,21 +554,21 @@ export default class Parser {
* @param {Document} document
* @param {Node} node
* @param {XPathNSResolver} resolver
- * @returns {String[]}
+ * @return {string[]}
*/
static allowedSharingModes(document, node, resolver) {
- const result = [];
- const children = document.evaluate('cs:can-be-shared | cs:can-be-published', node, resolver, XPathResult.ANY_TYPE, null);
- let childNode;
+ const result = []
+ const children = document.evaluate('cs:can-be-shared | cs:can-be-published', node, resolver, XPathResult.ANY_TYPE, null)
+ let childNode
while ((childNode = children.iterateNext()) !== null) {
- const ns = document.evaluate('namespace-uri(.)', childNode, resolver, XPathResult.ANY_TYPE, null).stringValue;
- const local = document.evaluate('local-name(.)', childNode, resolver, XPathResult.ANY_TYPE, null).stringValue;
+ const ns = document.evaluate('namespace-uri(.)', childNode, resolver, XPathResult.ANY_TYPE, null).stringValue
+ const local = document.evaluate('local-name(.)', childNode, resolver, XPathResult.ANY_TYPE, null).stringValue
- result.push(`{${ns}}${local}`);
+ result.push(`{${ns}}${local}`)
}
- return result;
+ return result
}
/**
@@ -577,23 +577,23 @@ export default class Parser {
* @param {Document} document
* @param {Node} node
* @param {XPathNSResolver} resolver
- * @returns {*}
+ * @return {*}
*/
static ocInvite(document, node, resolver) {
- const result = [];
- const users = document.evaluate('oc:user', node, resolver, XPathResult.ANY_TYPE, null);
- let userNode;
+ const result = []
+ const users = document.evaluate('oc:user', node, resolver, XPathResult.ANY_TYPE, null)
+ let userNode
while ((userNode = users.iterateNext()) !== null) {
result.push({
href: Parser.href(document, userNode, resolver),
'common-name': document.evaluate('string(oc:common-name)', userNode, resolver, XPathResult.ANY_TYPE, null).stringValue,
'invite-accepted': document.evaluate('count(oc:invite-accepted)', userNode, resolver, XPathResult.ANY_TYPE, null).numberValue === 1,
- access: Parser.ocAccess(document, userNode, resolver)
- });
+ access: Parser.ocAccess(document, userNode, resolver),
+ })
}
- return result;
+ return result
}
/**
@@ -602,21 +602,21 @@ export default class Parser {
* @param {Document} document
* @param {Node} node
* @param {XPathNSResolver} resolver
- * @returns {String[]}
+ * @return {string[]}
*/
static ocAccess(document, node, resolver) {
- const result = [];
- const privileges = document.evaluate('oc:access/*', node, resolver, XPathResult.ANY_TYPE, null);
- let privilegeNode;
+ const result = []
+ const privileges = document.evaluate('oc:access/*', node, resolver, XPathResult.ANY_TYPE, null)
+ let privilegeNode
while ((privilegeNode = privileges.iterateNext()) !== null) {
- const ns = document.evaluate('namespace-uri(.)', privilegeNode, resolver, XPathResult.ANY_TYPE, null).stringValue;
- const local = document.evaluate('local-name(.)', privilegeNode, resolver, XPathResult.ANY_TYPE, null).stringValue;
+ const ns = document.evaluate('namespace-uri(.)', privilegeNode, resolver, XPathResult.ANY_TYPE, null).stringValue
+ const local = document.evaluate('local-name(.)', privilegeNode, resolver, XPathResult.ANY_TYPE, null).stringValue
- result.push(`{${ns}}${local}`);
+ result.push(`{${ns}}${local}`)
}
- return result;
+ return result
}
}
diff --git a/src/propset/addressBookPropSet.js b/src/propset/addressBookPropSet.js
index 58658ecb..a4381ed3 100644
--- a/src/propset/addressBookPropSet.js
+++ b/src/propset/addressBookPropSet.js
@@ -21,7 +21,7 @@
*
*/
-import * as NS from '../utility/namespaceUtility.js';
+import * as NS from '../utility/namespaceUtility.js'
/**
*
@@ -29,32 +29,32 @@ import * as NS from '../utility/namespaceUtility.js';
* - {urn:ietf:params:xml:ns:carddav}addressbook-description
* - {http://owncloud.org/ns}enabled
*
- * @param {Object} props
- * @return {Object}
+ * @param {object} props
+ * @return {object}
*/
export default function addressBookPropSet(props) {
- const xmlified = [];
+ const xmlified = []
Object.entries(props).forEach(([key, value]) => {
switch (key) {
case '{urn:ietf:params:xml:ns:carddav}addressbook-description':
xmlified.push({
name: [NS.IETF_CARDDAV, 'addressbook-description'],
- value: value
- });
- break;
+ value,
+ })
+ break
case '{http://owncloud.org/ns}enabled':
xmlified.push({
name: [NS.OWNCLOUD, 'enabled'],
- value: value ? '1' : '0'
- });
- break;
+ value: value ? '1' : '0',
+ })
+ break
default:
- break;
+ break
}
- });
+ })
- return xmlified;
+ return xmlified
}
diff --git a/src/propset/calendarPropSet.js b/src/propset/calendarPropSet.js
index 5aaabfe4..dfd5f5db 100644
--- a/src/propset/calendarPropSet.js
+++ b/src/propset/calendarPropSet.js
@@ -21,7 +21,7 @@
*
*/
-import * as NS from '../utility/namespaceUtility.js';
+import * as NS from '../utility/namespaceUtility.js'
/**
*
@@ -33,63 +33,63 @@ import * as NS from '../utility/namespaceUtility.js';
* - {urn:ietf:params:xml:ns:caldav}calendar-timezone
* - {http://owncloud.org/ns}calendar-enabled
*
- * @param {Object} props
- * @return {Object}
+ * @param {object} props
+ * @return {object}
*/
export default function calendarPropSet(props) {
- const xmlified = [];
+ const xmlified = []
Object.entries(props).forEach(([key, value]) => {
switch (key) {
case '{http://apple.com/ns/ical/}calendar-order':
xmlified.push({
name: [NS.APPLE, 'calendar-order'],
- value: value.toString()
- });
- break;
+ value: value.toString(),
+ })
+ break
case '{http://apple.com/ns/ical/}calendar-color':
xmlified.push({
name: [NS.APPLE, 'calendar-color'],
- value: value
- });
- break;
+ value,
+ })
+ break
case '{http://calendarserver.org/ns/}source':
xmlified.push({
name: [NS.CALENDARSERVER, 'source'],
children: [{
name: [NS.DAV, 'href'],
- value: value
- }]
- });
- break;
+ value,
+ }],
+ })
+ break
case '{urn:ietf:params:xml:ns:caldav}calendar-description':
xmlified.push({
name: [NS.IETF_CALDAV, 'calendar-description'],
- value: value
- });
- break;
+ value,
+ })
+ break
case '{urn:ietf:params:xml:ns:caldav}calendar-timezone':
xmlified.push({
name: [NS.IETF_CALDAV, 'calendar-timezone'],
- value: value
- });
- break;
+ value,
+ })
+ break
case '{http://owncloud.org/ns}calendar-enabled':
xmlified.push({
name: [NS.OWNCLOUD, 'calendar-enabled'],
- value: value ? '1' : '0'
- });
- break;
+ value: value ? '1' : '0',
+ })
+ break
default:
- break;
+ break
}
- });
+ })
- return xmlified;
+ return xmlified
}
diff --git a/src/propset/davCollectionPropSet.js b/src/propset/davCollectionPropSet.js
index 46ccc1bf..68abd24c 100644
--- a/src/propset/davCollectionPropSet.js
+++ b/src/propset/davCollectionPropSet.js
@@ -21,32 +21,32 @@
*
*/
-import * as NS from '../utility/namespaceUtility.js';
+import * as NS from '../utility/namespaceUtility.js'
/**
*
* This function is capable of creating the propset xml structure for:
* - {DAV:}displayname
*
- * @param {Object} props
- * @return {Object}
+ * @param {object} props
+ * @return {object}
*/
export default function davCollectionPropSet(props) {
- const xmlified = [];
+ const xmlified = []
Object.entries(props).forEach(([key, value]) => {
switch (key) {
case '{DAV:}displayname':
xmlified.push({
name: [NS.DAV, 'displayname'],
- value: value
- });
- break;
+ value,
+ })
+ break
default:
- break;
+ break
}
- });
+ })
- return xmlified;
+ return xmlified
}
diff --git a/src/propset/principalPropSet.js b/src/propset/principalPropSet.js
index e712bfbf..ac6276e1 100644
--- a/src/propset/principalPropSet.js
+++ b/src/propset/principalPropSet.js
@@ -24,17 +24,17 @@
*
*/
-import * as NS from '../utility/namespaceUtility.js';
+import * as NS from '../utility/namespaceUtility.js'
/**
* This function is capable of creating the propset xml structure for:
* - '{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL':
*
- * @param {Object} props
- * @return {Object}
+ * @param {object} props
+ * @return {object}
*/
export default function prinicipalPropSet(props) {
- const xmlified = [];
+ const xmlified = []
Object.entries(props).forEach(([key, value]) => {
switch (key) {
@@ -44,13 +44,13 @@ export default function prinicipalPropSet(props) {
children: [
{
name: ['DAV:', 'href'],
- value
- }
- ]
- });
- break;
+ value,
+ },
+ ],
+ })
+ break
}
- });
+ })
- return xmlified;
+ return xmlified
}
diff --git a/src/propset/scheduleInboxPropSet.js b/src/propset/scheduleInboxPropSet.js
index c1cdf70c..fb7616b5 100644
--- a/src/propset/scheduleInboxPropSet.js
+++ b/src/propset/scheduleInboxPropSet.js
@@ -21,28 +21,28 @@
*
*/
-import * as NS from '../utility/namespaceUtility.js';
+import * as NS from '../utility/namespaceUtility.js'
/**
* This function is capable of creating the propset xml structure for:
* - {urn:ietf:params:xml:ns:caldav}calendar-availability
*
- * @param {Object} props
- * @return {Object}
+ * @param {object} props
+ * @return {object}
*/
export default function calendarPropSet(props) {
- const xmlified = [];
+ const xmlified = []
Object.entries(props).forEach(([key, value]) => {
switch (key) {
case '{urn:ietf:params:xml:ns:caldav}calendar-availability':
xmlified.push({
name: [NS.IETF_CALDAV, 'calendar-availability'],
- value: value.toString()
- });
- break;
+ value: value.toString(),
+ })
+ break
}
- });
+ })
- return xmlified;
+ return xmlified
}
diff --git a/src/request.js b/src/request.js
index 2dac9581..e5dc0284 100644
--- a/src/request.js
+++ b/src/request.js
@@ -21,14 +21,14 @@
*
*/
-import * as NS from './utility/namespaceUtility.js';
-import * as XMLUtility from './utility/xmlUtility.js';
+import * as NS from './utility/namespaceUtility.js'
+import * as XMLUtility from './utility/xmlUtility.js'
-import NetworkRequestAbortedError from './errors/networkRequestAbortedError.js';
-import NetworkRequestError from './errors/networkRequestError.js';
-import NetworkRequestServerError from './errors/networkRequestServerError.js';
-import NetworkRequestClientError from './errors/networkRequestClientError.js';
-import NetworkRequestHttpError from './errors/networkRequestHttpError.js';
+import NetworkRequestAbortedError from './errors/networkRequestAbortedError.js'
+import NetworkRequestError from './errors/networkRequestError.js'
+import NetworkRequestServerError from './errors/networkRequestServerError.js'
+import NetworkRequestClientError from './errors/networkRequestClientError.js'
+import NetworkRequestHttpError from './errors/networkRequestHttpError.js'
/**
* Request class is used to send any kind of request to the DAV server
@@ -39,235 +39,235 @@ export default class Request {
/**
* Creates a new Request object
*
- * @param {String} baseUrl - root url of DAV server, use OC.remote('dav')
+ * @param {string} baseUrl - root url of DAV server, use OC.remote('dav')
* @param {Parser} parser - instance of Parser class
* @param {Function} xhrProvider - Function that returns new XMLHttpRequest objects
*/
constructor(baseUrl, parser, xhrProvider = () => new XMLHttpRequest()) {
- this.baseUrl = baseUrl;
- this.parser = parser;
- this.xhrProvider = xhrProvider;
+ this.baseUrl = baseUrl
+ this.parser = parser
+ this.xhrProvider = xhrProvider
}
/**
* sends a GET request
*
- * @param {String} url - URL to do the request on
- * @param {Object} headers - additional HTTP headers to send
- * @param {String} body - request body
+ * @param {string} url - URL to do the request on
+ * @param {object} headers - additional HTTP headers to send
+ * @param {string} body - request body
* @param {Function} beforeRequestHandler - custom function to be called before the request is made
* @param {Function} afterRequestHandler - custom function to be called after the request was made
- * @returns {Promise<{Object}>}
- * @property {String|Object} body
- * @property {Number} status
+ * @return {Promise<{Object}>}
+ * @property {string | object} body
+ * @property {number} status
* @property {XMLHttpRequest} xhr
*/
async get(url, headers = {}, body = null, beforeRequestHandler = () => null, afterRequestHandler = () => null) {
- return this.request('GET', url, headers, body, beforeRequestHandler, afterRequestHandler);
+ return this.request('GET', url, headers, body, beforeRequestHandler, afterRequestHandler)
}
/**
* sends a PATCH request
*
- * @param {String} url - URL to do the request on
- * @param {Object} headers - additional HTTP headers to send
- * @param {String} body - request body
+ * @param {string} url - URL to do the request on
+ * @param {object} headers - additional HTTP headers to send
+ * @param {string} body - request body
* @param {Function} beforeRequestHandler - custom function to be called before the request is made
* @param {Function} afterRequestHandler - custom function to be called after the request was made
- * @returns {Promise<{Object}>}
- * @property {String|Object} body
- * @property {Number} status
+ * @return {Promise<{Object}>}
+ * @property {string | object} body
+ * @property {number} status
* @property {XMLHttpRequest} xhr
*/
async patch(url, headers, body, beforeRequestHandler = () => null, afterRequestHandler = () => null) {
- return this.request('PATCH', url, headers, body, beforeRequestHandler, afterRequestHandler);
+ return this.request('PATCH', url, headers, body, beforeRequestHandler, afterRequestHandler)
}
/**
* sends a POST request
*
- * @param {String} url - URL to do the request on
- * @param {Object} headers - additional HTTP headers to send
- * @param {String} body - request body
+ * @param {string} url - URL to do the request on
+ * @param {object} headers - additional HTTP headers to send
+ * @param {string} body - request body
* @param {Function} beforeRequestHandler - custom function to be called before the request is made
* @param {Function} afterRequestHandler - custom function to be called after the request was made
- * @returns {Promise<{Object}>}
- * @property {String|Object} body
- * @property {Number} status
+ * @return {Promise<{Object}>}
+ * @property {string | object} body
+ * @property {number} status
* @property {XMLHttpRequest} xhr
*/
async post(url, headers, body, beforeRequestHandler = () => null, afterRequestHandler = () => null) {
- return this.request('POST', url, headers, body, beforeRequestHandler, afterRequestHandler);
+ return this.request('POST', url, headers, body, beforeRequestHandler, afterRequestHandler)
}
/**
* sends a PUT request
*
- * @param {String} url - URL to do the request on
- * @param {Object} headers - additional HTTP headers to send
- * @param {String} body - request body
+ * @param {string} url - URL to do the request on
+ * @param {object} headers - additional HTTP headers to send
+ * @param {string} body - request body
* @param {Function} beforeRequestHandler - custom function to be called before the request is made
* @param {Function} afterRequestHandler - custom function to be called after the request was made
- * @returns {Promise<{Object}>}
- * @property {String|Object} body
- * @property {Number} status
+ * @return {Promise<{Object}>}
+ * @property {string | object} body
+ * @property {number} status
* @property {XMLHttpRequest} xhr
*/
async put(url, headers, body, beforeRequestHandler = () => null, afterRequestHandler = () => null) {
- return this.request('PUT', url, headers, body, beforeRequestHandler, afterRequestHandler);
+ return this.request('PUT', url, headers, body, beforeRequestHandler, afterRequestHandler)
}
/**
* sends a DELETE request
*
- * @param {String} url - URL to do the request on
- * @param {Object} headers - additional HTTP headers to send
- * @param {String} body - request body
+ * @param {string} url - URL to do the request on
+ * @param {object} headers - additional HTTP headers to send
+ * @param {string} body - request body
* @param {Function} beforeRequestHandler - custom function to be called before the request is made
* @param {Function} afterRequestHandler - custom function to be called after the request was made
- * @returns {Promise<{Object}>}
- * @property {String|Object} body
- * @property {Number} status
+ * @return {Promise<{Object}>}
+ * @property {string | object} body
+ * @property {number} status
* @property {XMLHttpRequest} xhr
*/
async delete(url, headers = {}, body = null, beforeRequestHandler = () => null, afterRequestHandler = () => null) {
- return this.request('DELETE', url, headers, body, beforeRequestHandler, afterRequestHandler);
+ return this.request('DELETE', url, headers, body, beforeRequestHandler, afterRequestHandler)
}
/**
* sends a COPY request
* https://tools.ietf.org/html/rfc4918#section-9.8
*
- * @param {String} url - URL to do the request on
- * @param {String} destination - place to copy the object/collection to
- * @param {Number|String} depth - 0 = copy collection without content, Infinity = copy collection with content
- * @param {Boolean} overwrite - whether or not to overwrite destination if existing
- * @param {Object} headers - additional HTTP headers to send
- * @param {String} body - request body
+ * @param {string} url - URL to do the request on
+ * @param {string} destination - place to copy the object/collection to
+ * @param {number | string} depth - 0 = copy collection without content, Infinity = copy collection with content
+ * @param {boolean} overwrite - whether or not to overwrite destination if existing
+ * @param {object} headers - additional HTTP headers to send
+ * @param {string} body - request body
* @param {Function} beforeRequestHandler - custom function to be called before the request is made
* @param {Function} afterRequestHandler - custom function to be called after the request was made
- * @returns {Promise<{Object}>}
- * @property {String|Object} body
- * @property {Number} status
+ * @return {Promise<{Object}>}
+ * @property {string | object} body
+ * @property {number} status
* @property {XMLHttpRequest} xhr
*/
async copy(url, destination, depth = 0, overwrite = false, headers = {}, body = null, beforeRequestHandler = () => null, afterRequestHandler = () => null) {
- headers['Destination'] = destination;
- headers['Depth'] = depth;
- headers['Overwrite'] = overwrite ? 'T' : 'F';
+ headers.Destination = destination
+ headers.Depth = depth
+ headers.Overwrite = overwrite ? 'T' : 'F'
- return this.request('COPY', url, headers, body, beforeRequestHandler, afterRequestHandler);
+ return this.request('COPY', url, headers, body, beforeRequestHandler, afterRequestHandler)
}
/**
* sends a MOVE request
* https://tools.ietf.org/html/rfc4918#section-9.9
*
- * @param {String} url - URL to do the request on
- * @param {String} destination - place to move the object/collection to
- * @param {Boolean} overwrite - whether or not to overwrite destination if existing
- * @param {Object} headers - additional HTTP headers to send
- * @param {String} body - request body
+ * @param {string} url - URL to do the request on
+ * @param {string} destination - place to move the object/collection to
+ * @param {boolean} overwrite - whether or not to overwrite destination if existing
+ * @param {object} headers - additional HTTP headers to send
+ * @param {string} body - request body
* @param {Function} beforeRequestHandler - custom function to be called before the request is made
* @param {Function} afterRequestHandler - custom function to be called after the request was made
- * @returns {Promise<{Object}>}
- * @property {String|Object} body
- * @property {Number} status
+ * @return {Promise<{Object}>}
+ * @property {string | object} body
+ * @property {number} status
* @property {XMLHttpRequest} xhr
*/
async move(url, destination, overwrite = false, headers = {}, body = null, beforeRequestHandler = () => null, afterRequestHandler = () => null) {
- headers['Destination'] = destination;
- headers['Depth'] = 'Infinity';
- headers['Overwrite'] = overwrite ? 'T' : 'F';
+ headers.Destination = destination
+ headers.Depth = 'Infinity'
+ headers.Overwrite = overwrite ? 'T' : 'F'
- return this.request('MOVE', url, headers, body, beforeRequestHandler, afterRequestHandler);
+ return this.request('MOVE', url, headers, body, beforeRequestHandler, afterRequestHandler)
}
/**
* sends a LOCK request
* https://tools.ietf.org/html/rfc4918#section-9.10
*
- * @param {String} url - URL to do the request on
- * @param {Object} headers - additional HTTP headers to send
- * @param {String} body - request body
+ * @param {string} url - URL to do the request on
+ * @param {object} headers - additional HTTP headers to send
+ * @param {string} body - request body
* @param {Function} beforeRequestHandler - custom function to be called before the request is made
* @param {Function} afterRequestHandler - custom function to be called after the request was made
- * @returns {Promise<{Object}>}
- * @property {String|Object} body
- * @property {Number} status
+ * @return {Promise<{Object}>}
+ * @property {string | object} body
+ * @property {number} status
* @property {XMLHttpRequest} xhr
*/
async lock(url, headers = {}, body = null, beforeRequestHandler = () => null, afterRequestHandler = () => null) {
// TODO - add parameters for Depth and Timeout
- return this.request('LOCK', url, headers, body, beforeRequestHandler, afterRequestHandler);
+ return this.request('LOCK', url, headers, body, beforeRequestHandler, afterRequestHandler)
}
/**
* sends an UNLOCK request
* https://tools.ietf.org/html/rfc4918#section-9.11
*
- * @param {String} url - URL to do the request on
- * @param {Object} headers - additional HTTP headers to send
- * @param {String} body - request body
+ * @param {string} url - URL to do the request on
+ * @param {object} headers - additional HTTP headers to send
+ * @param {string} body - request body
* @param {Function} beforeRequestHandler - custom function to be called before the request is made
* @param {Function} afterRequestHandler - custom function to be called after the request was made
- * @returns {Promise<{Object}>}
- * @property {String|Object} body
- * @property {Number} status
+ * @return {Promise<{Object}>}
+ * @property {string | object} body
+ * @property {number} status
* @property {XMLHttpRequest} xhr
*/
async unlock(url, headers = {}, body = null, beforeRequestHandler = () => null, afterRequestHandler = () => null) {
// TODO - add parameter for Lock-Token
- return this.request('UNLOCK', url, headers, body, beforeRequestHandler, afterRequestHandler);
+ return this.request('UNLOCK', url, headers, body, beforeRequestHandler, afterRequestHandler)
}
/**
* sends a PROPFIND request
* https://tools.ietf.org/html/rfc4918#section-9.1
*
- * @param {String} url - URL to do the request on
- * @param {String[][]} properties - list of properties to search for, formatted as [namespace, localName]
- * @param {Number|String} depth - Depth header to send
- * @param {Object} headers - additional HTTP headers to send
+ * @param {string} url - URL to do the request on
+ * @param {string[][]} properties - list of properties to search for, formatted as [namespace, localName]
+ * @param {number | string} depth - Depth header to send
+ * @param {object} headers - additional HTTP headers to send
* @param {Function} beforeRequestHandler - custom function to be called before the request is made
* @param {Function} afterRequestHandler - custom function to be called after the request was made
- * @returns {Promise<{Object}>}
- * @property {String|Object} body
- * @property {Number} status
+ * @return {Promise<{Object}>}
+ * @property {string | object} body
+ * @property {number} status
* @property {XMLHttpRequest} xhr
*/
async propFind(url, properties, depth = 0, headers = {}, beforeRequestHandler = () => null, afterRequestHandler = () => null) {
// adjust headers
- headers['Depth'] = depth;
+ headers.Depth = depth
// create request body
- const [skeleton, dPropChildren] = XMLUtility.getRootSkeleton([NS.DAV, 'propfind'], [NS.DAV, 'prop']);
- dPropChildren.push(...properties.map(p => ({ name: p })));
- const body = XMLUtility.serialize(skeleton);
+ const [skeleton, dPropChildren] = XMLUtility.getRootSkeleton([NS.DAV, 'propfind'], [NS.DAV, 'prop'])
+ dPropChildren.push(...properties.map(p => ({ name: p })))
+ const body = XMLUtility.serialize(skeleton)
- return this.request('PROPFIND', url, headers, body, beforeRequestHandler, afterRequestHandler);
+ return this.request('PROPFIND', url, headers, body, beforeRequestHandler, afterRequestHandler)
}
/**
* sends a PROPPATCH request
* https://tools.ietf.org/html/rfc4918#section-9.2
*
- * @param {String} url - URL to do the request on
- * @param {Object} headers - additional HTTP headers to send
- * @param {String} body - request body
+ * @param {string} url - URL to do the request on
+ * @param {object} headers - additional HTTP headers to send
+ * @param {string} body - request body
* @param {Function} beforeRequestHandler - custom function to be called before the request is made
* @param {Function} afterRequestHandler - custom function to be called after the request was made
- * @returns {Promise<{Object}>}
- * @property {String|Object} body
- * @property {Number} status
+ * @return {Promise<{Object}>}
+ * @property {string | object} body
+ * @property {number} status
* @property {XMLHttpRequest} xhr
*/
async propPatch(url, headers, body, beforeRequestHandler = () => null, afterRequestHandler = () => null) {
- return this.request('PROPPATCH', url, headers, body, beforeRequestHandler, afterRequestHandler);
+ return this.request('PROPPATCH', url, headers, body, beforeRequestHandler, afterRequestHandler)
}
/**
@@ -275,214 +275,216 @@ export default class Request {
* https://tools.ietf.org/html/rfc4918#section-9.3
* https://tools.ietf.org/html/rfc5689
*
- * @param {String} url - URL to do the request on
- * @param {Object} headers - additional HTTP headers to send
- * @param {String} body - request body
+ * @param {string} url - URL to do the request on
+ * @param {object} headers - additional HTTP headers to send
+ * @param {string} body - request body
* @param {Function} beforeRequestHandler - custom function to be called before the request is made
* @param {Function} afterRequestHandler - custom function to be called after the request was made
- * @returns {Promise<{Object}>}
- * @property {String|Object} body
- * @property {Number} status
+ * @return {Promise<{Object}>}
+ * @property {string | object} body
+ * @property {number} status
* @property {XMLHttpRequest} xhr
*/
async mkCol(url, headers, body, beforeRequestHandler = () => null, afterRequestHandler = () => null) {
- return this.request('MKCOL', url, headers, body, beforeRequestHandler, afterRequestHandler);
+ return this.request('MKCOL', url, headers, body, beforeRequestHandler, afterRequestHandler)
}
/**
* sends a REPORT request
* https://tools.ietf.org/html/rfc3253#section-3.6
*
- * @param {String} url - URL to do the request on
- * @param {Object} headers - additional HTTP headers to send
- * @param {String} body - request body
+ * @param {string} url - URL to do the request on
+ * @param {object} headers - additional HTTP headers to send
+ * @param {string} body - request body
* @param {Function} beforeRequestHandler - custom function to be called before the request is made
* @param {Function} afterRequestHandler - custom function to be called after the request was made
- * @returns {Promise<{Object}>}
- * @property {String|Object} body
- * @property {Number} status
+ * @return {Promise<{Object}>}
+ * @property {string | object} body
+ * @property {number} status
* @property {XMLHttpRequest} xhr
*/
async report(url, headers, body, beforeRequestHandler = () => null, afterRequestHandler = () => null) {
- return this.request('REPORT', url, headers, body, beforeRequestHandler, afterRequestHandler);
+ return this.request('REPORT', url, headers, body, beforeRequestHandler, afterRequestHandler)
}
/**
* sends generic request
*
- * @param {String} method - HTTP Method name
- * @param {String} url - URL to do the request on
- * @param {Object} headers - additional HTTP headers to send
- * @param {String} body - request body
+ * @param {string} method - HTTP Method name
+ * @param {string} url - URL to do the request on
+ * @param {object} headers - additional HTTP headers to send
+ * @param {string} body - request body
* @param {Function} beforeRequestHandler - custom function to be called before the request is made
* @param {Function} afterRequestHandler - custom function to be called after the request was made
- * @returns {Promise<{Object}>}
- * @property {String|Object} body
- * @property {Number} status
+ * @return {Promise<{Object}>}
+ * @property {string | object} body
+ * @property {number} status
* @property {XMLHttpRequest} xhr
*/
async request(method, url, headers, body, beforeRequestHandler = () => null, afterRequestHandler = () => null) {
- const xhr = this.xhrProvider();
- const assignHeaders = Object.assign({}, getDefaultHeaders(), headers);
+ const xhr = this.xhrProvider()
+ const assignHeaders = Object.assign({}, getDefaultHeaders(), headers)
- xhr.open(method, this.absoluteUrl(url), true);
+ xhr.open(method, this.absoluteUrl(url), true)
for (const header in assignHeaders) {
- xhr.setRequestHeader(header, assignHeaders[header]);
+ xhr.setRequestHeader(header, assignHeaders[header])
}
- beforeRequestHandler(xhr);
+ beforeRequestHandler(xhr)
if (body === null || body === undefined) {
- xhr.send();
+ xhr.send()
} else {
- xhr.send(body);
+ xhr.send(body)
}
return new Promise((resolve, reject) => {
xhr.onreadystatechange = () => {
if (xhr.readyState !== 4) {
- return;
+ return
}
- afterRequestHandler(xhr);
+ afterRequestHandler(xhr)
- let responseBody = xhr.response;
+ let responseBody = xhr.response
if (!wasRequestSuccessful(xhr.status)) {
if (xhr.status >= 400 && xhr.status < 500) {
reject(new NetworkRequestClientError({
body: responseBody,
status: xhr.status,
- xhr: xhr
- }));
- return;
+ xhr,
+ }))
+ return
}
if (xhr.status >= 500 && xhr.status < 600) {
reject(new NetworkRequestServerError({
body: responseBody,
status: xhr.status,
- xhr: xhr
- }));
- return;
+ xhr,
+ }))
+ return
}
reject(new NetworkRequestHttpError({
body: responseBody,
status: xhr.status,
- xhr: xhr
- }));
- return;
+ xhr,
+ }))
+ return
}
if (xhr.status === 207) {
- responseBody = this._parseMultiStatusResponse(responseBody);
- if (parseInt(assignHeaders['Depth'], 10) === 0 && method === 'PROPFIND') {
- responseBody = responseBody[Object.keys(responseBody)[0]];
+ responseBody = this._parseMultiStatusResponse(responseBody)
+ if (parseInt(assignHeaders.Depth, 10) === 0 && method === 'PROPFIND') {
+ responseBody = responseBody[Object.keys(responseBody)[0]]
}
}
resolve({
body: responseBody,
status: xhr.status,
- xhr: xhr
- });
- };
+ xhr,
+ })
+ }
xhr.onerror = () => reject(new NetworkRequestError({
body: null,
status: -1,
- xhr: xhr
- }));
+ xhr,
+ }))
xhr.onabort = () => reject(new NetworkRequestAbortedError({
body: null,
status: -1,
- xhr: xhr
- }));
- });
+ xhr,
+ }))
+ })
}
/**
* returns name of file / folder of a url
*
- * @params {String} url
- * @returns {String}
+ * @param url
+ * @params {string} url
+ * @return {string}
*/
filename(url) {
- let pathname = this.pathname(url);
+ let pathname = this.pathname(url)
if (pathname.slice(-1) === '/') {
- pathname = pathname.slice(0, -1);
+ pathname = pathname.slice(0, -1)
}
- const slashPos = pathname.lastIndexOf('/');
- return pathname.slice(slashPos);
+ const slashPos = pathname.lastIndexOf('/')
+ return pathname.slice(slashPos)
}
/**
* returns pathname for a URL
*
- * @params {String} url
- * @returns {String}
+ * @param url
+ * @params {string} url
+ * @return {string}
*/
pathname(url) {
- const urlObject = new URL(url, this.baseUrl);
- return urlObject.pathname;
+ const urlObject = new URL(url, this.baseUrl)
+ return urlObject.pathname
}
/**
* returns absolute url
*
- * @param {String} url
- * @returns {String}
+ * @param {string} url
+ * @return {string}
*/
absoluteUrl(url) {
- const urlObject = new URL(url, this.baseUrl);
- return urlObject.href;
+ const urlObject = new URL(url, this.baseUrl)
+ return urlObject.href
}
/**
* parses a multi status response (207), sorts them by path
* and drops all unsuccessful responses
*
- * @param {String} body
- * @returns {Object}
+ * @param {string} body
+ * @return {object}
* @private
*/
_parseMultiStatusResponse(body) {
- const result = {};
- const domParser = new DOMParser();
- const document = domParser.parseFromString(body, 'application/xml');
+ const result = {}
+ const domParser = new DOMParser()
+ const document = domParser.parseFromString(body, 'application/xml')
- const responses = document.evaluate('/d:multistatus/d:response', document, NS.resolve, XPathResult.ANY_TYPE, null);
- let responseNode;
+ const responses = document.evaluate('/d:multistatus/d:response', document, NS.resolve, XPathResult.ANY_TYPE, null)
+ let responseNode
while ((responseNode = responses.iterateNext()) !== null) {
- const href = document.evaluate('string(d:href)', responseNode, NS.resolve, XPathResult.ANY_TYPE, null).stringValue;
- const parsedProperties = {};
- const propStats = document.evaluate('d:propstat', responseNode, NS.resolve, XPathResult.ANY_TYPE, null);
- let propStatNode;
+ const href = document.evaluate('string(d:href)', responseNode, NS.resolve, XPathResult.ANY_TYPE, null).stringValue
+ const parsedProperties = {}
+ const propStats = document.evaluate('d:propstat', responseNode, NS.resolve, XPathResult.ANY_TYPE, null)
+ let propStatNode
while ((propStatNode = propStats.iterateNext()) !== null) {
- const status = document.evaluate('string(d:status)', propStatNode, NS.resolve, XPathResult.ANY_TYPE, null).stringValue;
+ const status = document.evaluate('string(d:status)', propStatNode, NS.resolve, XPathResult.ANY_TYPE, null).stringValue
if (!wasRequestSuccessful(getStatusCodeFromString(status))) {
- continue;
+ continue
}
- const props = document.evaluate('d:prop/*', propStatNode, NS.resolve, XPathResult.ANY_TYPE, null);
- let propNode;
+ const props = document.evaluate('d:prop/*', propStatNode, NS.resolve, XPathResult.ANY_TYPE, null)
+ let propNode
while ((propNode = props.iterateNext()) !== null) {
if (this.parser.canParse(`{${propNode.namespaceURI}}${propNode.localName}`)) {
parsedProperties[`{${propNode.namespaceURI}}${propNode.localName}`]
- = this.parser.parse(document, propNode, NS.resolve);
+ = this.parser.parse(document, propNode, NS.resolve)
}
}
}
- result[href] = parsedProperties;
+ result[href] = parsedProperties
}
- return result;
+ return result
}
}
@@ -490,31 +492,31 @@ export default class Request {
/**
* Check if response code is in the 2xx section
*
- * @param {Number} status
- * @returns {boolean}
+ * @param {number} status
+ * @return {boolean}
* @private
*/
function wasRequestSuccessful(status) {
- return status >= 200 && status < 300;
+ return status >= 200 && status < 300
}
/**
* Extract numeric status code from string like "HTTP/1.1 200 OK"
*
- * @param {String} status
- * @returns {Number}
+ * @param {string} status
+ * @return {number}
* @private
*/
function getStatusCodeFromString(status) {
- return parseInt(status.split(' ')[1], 10);
+ return parseInt(status.split(' ')[1], 10)
}
/**
* get object with default headers to include in every request
*
- * @returns {Object}
- * @property {String} depth
- * @property {String} Content-Type
+ * @return {object}
+ * @property {string} depth
+ * @property {string} Content-Type
* @private
*/
function getDefaultHeaders() {
@@ -525,6 +527,6 @@ function getDefaultHeaders() {
return {
Depth: '0',
- 'Content-Type': 'application/xml; charset=utf-8'
- };
+ 'Content-Type': 'application/xml; charset=utf-8',
+ }
}
diff --git a/src/utility/namespaceUtility.js b/src/utility/namespaceUtility.js
index a4099886..cec04f8b 100644
--- a/src/utility/namespaceUtility.js
+++ b/src/utility/namespaceUtility.js
@@ -21,14 +21,14 @@
*
*/
-export const DAV = 'DAV:';
-export const IETF_CALDAV = 'urn:ietf:params:xml:ns:caldav';
-export const IETF_CARDDAV = 'urn:ietf:params:xml:ns:carddav';
-export const OWNCLOUD = 'http://owncloud.org/ns';
-export const NEXTCLOUD = 'http://nextcloud.com/ns';
-export const APPLE = 'http://apple.com/ns/ical/';
-export const CALENDARSERVER = 'http://calendarserver.org/ns/';
-export const SABREDAV = 'http://sabredav.org/ns';
+export const DAV = 'DAV:'
+export const IETF_CALDAV = 'urn:ietf:params:xml:ns:caldav'
+export const IETF_CARDDAV = 'urn:ietf:params:xml:ns:carddav'
+export const OWNCLOUD = 'http://owncloud.org/ns'
+export const NEXTCLOUD = 'http://nextcloud.com/ns'
+export const APPLE = 'http://apple.com/ns/ical/'
+export const CALENDARSERVER = 'http://calendarserver.org/ns/'
+export const SABREDAV = 'http://sabredav.org/ns'
export const NS_MAP = {
d: DAV,
@@ -38,15 +38,15 @@ export const NS_MAP = {
nc: NEXTCLOUD,
aapl: APPLE,
cs: CALENDARSERVER,
- sd: SABREDAV
-};
+ sd: SABREDAV,
+}
/**
* maps namespace like DAV: to it's short equivalent
*
- * @param {String} short
- * @returns {String}
+ * @param {string} short
+ * @return {string}
*/
export function resolve(short) {
- return NS_MAP[short] || null;
+ return NS_MAP[short] || null
}
diff --git a/src/utility/stringUtility.js b/src/utility/stringUtility.js
index 2deaf86d..ffd4c5fa 100644
--- a/src/utility/stringUtility.js
+++ b/src/utility/stringUtility.js
@@ -24,9 +24,9 @@
// uuidv4 taken from https://stackoverflow.com/a/2117523
function uuidv4() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
- const r = Math.random() * 16 | 0; const v = c === 'x' ? r : (r & 0x3 | 0x8);
- return v.toString(16).toUpperCase();
- });
+ const r = Math.random() * 16 | 0; const v = c === 'x' ? r : (r & 0x3 | 0x8)
+ return v.toString(16).toUpperCase()
+ })
}
/**
@@ -34,20 +34,20 @@ function uuidv4() {
*
* @param {string} prefix
* @param {string} suffix
- * @returns {string}
+ * @return {string}
*/
export function uid(prefix, suffix) {
- prefix = prefix || '';
- suffix = suffix || '';
+ prefix = prefix || ''
+ suffix = suffix || ''
if (prefix !== '') {
- prefix += '-';
+ prefix += '-'
}
if (suffix !== '') {
- suffix = '.' + suffix;
+ suffix = '.' + suffix
}
- return prefix + uuidv4() + suffix;
+ return prefix + uuidv4() + suffix
}
/**
@@ -55,48 +55,48 @@ export function uid(prefix, suffix) {
*
* @param {string} start
* @param {Function} isAvailable
- * @returns {string}
+ * @return {string}
*/
export function uri(start, isAvailable) {
- start = start || '';
+ start = start || ''
let uri = start.toString().toLowerCase()
.replace(/\s+/g, '-') // Replace spaces with -
.replace(/[^\w-]+/g, '') // Remove all non-word chars
.replace(/--+/g, '-') // Replace multiple - with single -
.replace(/^-+/, '') // Trim - from start of text
- .replace(/-+$/, ''); // Trim - from end of text
+ .replace(/-+$/, '') // Trim - from end of text
if (uri === '') {
- uri = '-';
+ uri = '-'
}
if (isAvailable(uri)) {
- return uri;
+ return uri
}
if (uri.indexOf('-') === -1) {
- uri = uri + '-1';
+ uri = uri + '-1'
if (isAvailable(uri)) {
- return uri;
+ return uri
}
}
// === false because !undefined = true, possible infinite loop
do {
- const positionLastDash = uri.lastIndexOf('-');
- const firstPart = uri.slice(0, positionLastDash);
- let lastPart = uri.slice(positionLastDash + 1);
+ const positionLastDash = uri.lastIndexOf('-')
+ const firstPart = uri.slice(0, positionLastDash)
+ let lastPart = uri.slice(positionLastDash + 1)
if (lastPart.match(/^\d+$/)) {
- lastPart = parseInt(lastPart);
- lastPart++;
+ lastPart = parseInt(lastPart)
+ lastPart++
- uri = firstPart + '-' + lastPart;
+ uri = firstPart + '-' + lastPart
} else {
- uri = uri + '-1';
+ uri = uri + '-1'
}
- } while (isAvailable(uri) === false);
+ } while (isAvailable(uri) === false)
- return uri;
+ return uri
}
diff --git a/src/utility/xmlUtility.js b/src/utility/xmlUtility.js
index 904560f2..c6e688f8 100644
--- a/src/utility/xmlUtility.js
+++ b/src/utility/xmlUtility.js
@@ -21,92 +21,92 @@
*
*/
-const serializer = new XMLSerializer();
-let prefixMap = {};
+const serializer = new XMLSerializer()
+let prefixMap = {}
/**
* builds the root skeleton
*
* @params {...Array} array of namespace / name pairs
- * @returns {*[]}
+ * @return {*[]}
*/
export function getRootSkeleton() {
if (arguments.length === 0) {
- return [{}, null];
+ return [{}, null]
}
const skeleton = {
name: arguments[0],
- children: []
- };
+ children: [],
+ }
- let childrenWrapper = skeleton.children;
+ let childrenWrapper = skeleton.children
- const args = Array.prototype.slice.call(arguments, 1);
+ const args = Array.prototype.slice.call(arguments, 1)
args.forEach(function(argument) {
const level = {
name: argument,
- children: []
- };
- childrenWrapper.push(level);
- childrenWrapper = level.children;
- });
+ children: [],
+ }
+ childrenWrapper.push(level)
+ childrenWrapper = level.children
+ })
- return [skeleton, childrenWrapper];
+ return [skeleton, childrenWrapper]
}
/**
* serializes an simple xml representation into a string
*
- * @param {Object} json
- * @returns {string}
+ * @param {object} json
+ * @return {string}
*/
export function serialize(json) {
- json = json || {};
+ json = json || {}
if (typeof json !== 'object' || !Object.prototype.hasOwnProperty.call(json, 'name')) {
- return '';
+ return ''
}
- const root = document.implementation.createDocument('', '', null);
- xmlify(root, root, json);
+ const root = document.implementation.createDocument('', '', null)
+ xmlify(root, root, json)
- return serializer.serializeToString(root);
+ return serializer.serializeToString(root)
}
function xmlify(xmlDoc, parent, json) {
- const [ns, localName] = json.name;
- const element = xmlDoc.createElementNS(ns, getPrefixedNameForNamespace(ns, localName));
+ const [ns, localName] = json.name
+ const element = xmlDoc.createElementNS(ns, getPrefixedNameForNamespace(ns, localName))
- json.attributes = json.attributes || [];
+ json.attributes = json.attributes || []
json.attributes.forEach((attribute) => {
if (attribute.length === 2) {
- const [name, value] = attribute;
- element.setAttribute(name, value);
+ const [name, value] = attribute
+ element.setAttribute(name, value)
} else {
- const [namespace, localName, value] = attribute;
- element.setAttributeNS(namespace, localName, value);
+ const [namespace, localName, value] = attribute
+ element.setAttributeNS(namespace, localName, value)
}
- });
+ })
if (json.value) {
- element.textContent = json.value;
+ element.textContent = json.value
} else if (json.children) {
json.children.forEach((child) => {
- xmlify(xmlDoc, element, child);
- });
+ xmlify(xmlDoc, element, child)
+ })
}
- parent.appendChild(element);
+ parent.appendChild(element)
}
export function resetPrefixMap() {
- prefixMap = {};
+ prefixMap = {}
}
function getPrefixedNameForNamespace(ns, localName) {
if (!Object.prototype.hasOwnProperty.call(prefixMap, ns)) {
- prefixMap[ns] = 'x' + Object.keys(prefixMap).length;
+ prefixMap[ns] = 'x' + Object.keys(prefixMap).length
}
- return prefixMap[ns] + ':' + localName;
+ return prefixMap[ns] + ':' + localName
}
diff --git a/webpack.common.js b/webpack.common.js
index 8d5e2ef5..f70cefa5 100755
--- a/webpack.common.js
+++ b/webpack.common.js
@@ -12,12 +12,6 @@ module.exports = {
},
module: {
rules: [
- {
- enforce: 'pre',
- test: /\.js$/,
- exclude: /node_modules/,
- loader: 'eslint-loader'
- },
{
test: /\.js$/,
loader: 'babel-loader',