diff --git a/.gitignore b/.gitignore
index cef9653198..ef55fa41c6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -22,3 +22,4 @@ node_modules
reposense-report/
docs/_site/
+bin/
diff --git a/build.gradle b/build.gradle
index cd12100862..789f245400 100644
--- a/build.gradle
+++ b/build.gradle
@@ -282,6 +282,7 @@ def syncFrontendPublic = tasks.register('syncFrontendPublic', Sync) {
preserve {
include 'index.html'
include 'favicon.ico'
+ include 'title.md'
}
}
diff --git a/docs/_markbind/layouts/ug-sitenav.md b/docs/_markbind/layouts/ug-sitenav.md
index aef7cbef49..5acddb1015 100644
--- a/docs/_markbind/layouts/ug-sitenav.md
+++ b/docs/_markbind/layouts/ug-sitenav.md
@@ -7,7 +7,7 @@
{name: "Appendices"},
{level: 2, name: "CLI syntax reference", link: "ug/cli.html"},
{level: 2, name: "Config files format", link: "ug/configFiles.html"},
- {level: 2, name: "Advanced syntax: `author-config.csv`", link: "ug/authorConfigSyntax.html"},
+ {level: 2, name: "Advanced syntax: `author-config.csv`", link: "ug/authorConfigSyntax.html"},
{level: 2, name: "Using `@@author` tags", link: "ug/usingAuthorTags.html"},
{level: 2, name: "RepoSense with Netlify", link: "ug/withNetlify.html"},
{level: 2, name: "RepoSense with GitHub Actions", link: "ug/withGithubActions.html"},
diff --git a/docs/about.md b/docs/about.md
index 2946256f1f..1f1f2668ac 100644
--- a/docs/about.md
+++ b/docs/about.md
@@ -30,7 +30,7 @@ Contributor [2023 January - 2024 January]
### [Gokul Rajiv](https://github.com/gok99)
-**Role**: Senior Developer [2024 January - ]
+**Role**: Senior Developer [2024 January - ]
Contributor [2022 January - 2024 January]
diff --git a/docs/images/title-example.png b/docs/images/title-example.png
new file mode 100644
index 0000000000..a5aa8c908c
Binary files /dev/null and b/docs/images/title-example.png differ
diff --git a/docs/ug/authorConfigSyntax.md b/docs/ug/authorConfigSyntax.md
index c498f5e276..999820ce63 100644
--- a/docs/ug/authorConfigSyntax.md
+++ b/docs/ug/authorConfigSyntax.md
@@ -9,7 +9,7 @@
-Given below are the advanced syntax available for `author-config.csv`.
+Given below are the advanced syntax available for `author-config.csv`.
## Multiple `Repository's Location` per author
diff --git a/docs/ug/cli.md b/docs/ug/cli.md
index 55bbbb84a0..db0cbe5243 100644
--- a/docs/ug/cli.md
+++ b/docs/ug/cli.md
@@ -31,8 +31,7 @@ The section below provides explanations for each of the flags.
**`--assets ASSETS_DIRECTORY`**: Specifies where to place assets for report generation.
-* Parameter: `ASSETS_DIRECTORY` The directory containing the assets files. A `favicon.ico` file can be placed here to customize the favicon of the dashboard,
-while a `title.md` file can be placed to customize the header of the report using [Markdown syntax](https://www.markdownguide.org/basic-syntax/).
+* Parameter: `ASSETS_DIRECTORY` The directory containing the assets files. A `favicon.ico` file can be placed here to customize the favicon of the dashboard, while a `title.md` file can be placed to customize the [title](https://reposense.org/ug/customizingReports.html#add-a-title) of the report using [Markdown syntax](https://www.markdownguide.org/basic-syntax/).
* Alias: `-a`
* Example: `--assets ./assets` or `-a ./assets`
diff --git a/docs/ug/customizingReports.md b/docs/ug/customizingReports.md
index 24808775bd..da6ad7f49e 100644
--- a/docs/ug/customizingReports.md
+++ b/docs/ug/customizingReports.md
@@ -59,3 +59,17 @@ In both instances, it is **necessary to commit any changes** for them to be dete
3\. Add a git `.mailmap` file at the top-level of the repository, specifying mapped authors/commiters and/or e-mail addresses as per [gitmailmap documentation](https://git-scm.com/docs/gitmailmap). Any mappings specified here will be applied by git before all other RepoSense configurations. Configuration via `.mailmap` is particularly useful if you want the mapping to apply for all git commands as well instead of just for RepoSense.
+
+
+
+### Add a title
+
+A title component can be added by creating a file titled `title.md` in the assets directory. You can specify the assets directory according to the reference below:
+{{ embed("Appendix: **CLI syntax reference → `assets` flag**", "cli.md#section-assets") }}
+
+The title can render a combination of Markdown/HTML and plaintext ([example](https://github.com/reposense/RepoSense/blob/master/docs/ug/title.md)), and will appear on the top of the left panel as shown below:
+![Title Component Example](../images/title-example.png)
+
+Do note that the width of the title is bound by the width of the left panel.
+
+For more information on how to use Markdown, see the [Markdown Guide](https://www.markdownguide.org/).
diff --git a/docs/ug/title.md b/docs/ug/title.md
new file mode 100644
index 0000000000..4872c78a76
--- /dev/null
+++ b/docs/ug/title.md
@@ -0,0 +1,9 @@
+# RepoSense
+
+RepoSense is a powerful tool for analyzing repositories. It provides valuable insights into your codebase, helping you understand the development patterns, identify areas for improvement, and track the contributions of individual team members.
+
+## Features
+
+- Repository analysis: Gain a comprehensive overview of your codebase, including commit statistics, file changes, and code ownership.
+- Contribution tracking: Easily track the contributions made by each team member, including the number of commits, lines of code added/removed, and more.
+- Visualization: Visualize your repository's history and changes over time through interactive graphs and charts.
diff --git a/docs/ug/usingReports.md b/docs/ug/usingReports.md
index 7c19e8ba8c..ebe587bd2c 100644
--- a/docs/ug/usingReports.md
+++ b/docs/ug/usingReports.md
@@ -144,7 +144,7 @@ The `Code panel` allows users to see the code attributed to a specific author. C
* Clicking the file title toggles the file content.
* Clicking the first icon beside the file title opens the history view of the file on the remote repository.
* Clicking the second icon beside the file title opens the blame view of the file on the remote repository.
-* When using the code panel for a specific author, code attributed to the author is highlighted in green.
+* When using the code panel for a specific author, code attributed to the author is highlighted in green.
* When using the `merge group` option with `group by repos`, the code panel will consist of multiple authors' contributions. Code attributed to these authors can be differentiated by the highlight colors of the code. The color legend is shown at the top of each file and consists only those authors that edited a particular file.
* Non-trivial code segments that the selected author has not written are hidden by default, but you can toggle them by clicking on the %%:fas-plus-circle:%% icon.
diff --git a/frontend/.stylelintrc.json b/frontend/.stylelintrc.json
index 7014b2f332..609ece1430 100644
--- a/frontend/.stylelintrc.json
+++ b/frontend/.stylelintrc.json
@@ -1,43 +1,60 @@
{
"plugins": [
+ "@stylistic/stylelint-plugin",
"stylelint-order"
],
"extends": [
- "stylelint-config-recommended-scss",
+ "stylelint-config-standard",
+ "stylelint-config-standard-scss",
"stylelint-config-recommended-vue"
],
"rules": {
+ "declaration-no-important": true,
+ "declaration-block-single-line-max-declarations": 1,
+ "no-invalid-double-slash-comments": true,
+ "function-no-unknown": null,
+ "no-descending-specificity": null,
+ "selector-type-no-unknown": null,
+ "at-rule-no-unknown": null,
+ "no-duplicate-selectors": null,
+ "length-zero-no-unit": true,
+ "value-keyword-case": "lower",
+ "selector-type-case": "lower",
"color-no-invalid-hex": true,
"string-no-newline": true,
"unit-no-unknown": true,
"property-no-unknown": true,
"block-no-empty": true,
"comment-no-empty": true,
- "no-extra-semicolons": true,
- "no-invalid-double-slash-comments": true,
- "declaration-no-important": true,
- "declaration-block-single-line-max-declarations": 1,
- "number-leading-zero": "never",
- "number-no-trailing-zeros": null,
- "string-quotes": "single",
- "length-zero-no-unit": true,
- "value-keyword-case": "lower",
- "property-case": "lower",
- "declaration-colon-space-after": "always",
- "selector-type-case": "lower",
- "selector-list-comma-newline-after": "always",
- "no-eol-whitespace": true,
+ "shorthand-property-no-redundant-values": null,
+ "declaration-empty-line-before": null,
+ "selector-class-pattern": null,
+ "color-function-notation": null,
+ "alpha-value-notation": null,
+ "comment-empty-line-before": null,
+ "property-no-vendor-prefix": null,
+ "selector-pseudo-element-colon-notation": null,
+ "at-rule-empty-line-before": null,
+ "font-family-name-quotes": null,
+ "color-hex-length": null,
+ "@stylistic/no-extra-semicolons": true,
+ "@stylistic/number-leading-zero": "never",
+ "@stylistic/number-no-trailing-zeros": null,
+ "@stylistic/property-case": "lower",
+ "@stylistic/string-quotes": "single",
+ "@stylistic/declaration-colon-space-after": "always",
+ "@stylistic/selector-list-comma-newline-after": "always",
+ "@stylistic/no-eol-whitespace": true,
+ "@stylistic/indentation": 2,
+ "@stylistic/block-opening-brace-space-before": "always",
+ "@stylistic/declaration-colon-space-before": "never",
"order/properties-alphabetical-order": true,
- "indentation": 2,
- "scss/at-import-partial-extension": null,
- "function-no-unknown": null,
- "scss/at-import-no-partial-leading-underscore": null,
- "no-descending-specificity": null,
"scss/no-global-function-names": null,
- "selector-type-no-unknown": null,
- "at-rule-no-unknown": null,
- "no-duplicate-selectors": null,
- "block-opening-brace-space-before": "always",
- "declaration-colon-space-before": "never"
+ "scss/at-import-no-partial-leading-underscore": null,
+ "scss/at-import-partial-extension": null,
+ "scss/load-no-partial-leading-underscore": null,
+ "scss/double-slash-comment-empty-line-before": null,
+ "scss/double-slash-comment-whitespace-inside": null,
+ "scss/dollar-variable-pattern": null
}
}
diff --git a/frontend/cypress/config/repo-config.csv b/frontend/cypress/config/repo-config.csv
index 2766cf6f7d..ac97718da5 100644
--- a/frontend/cypress/config/repo-config.csv
+++ b/frontend/cypress/config/repo-config.csv
@@ -5,3 +5,6 @@ https://github.com/reposense/testrepo-Empty2.git,master,,,,,,,
https://github.com/reposense/testrepo-Empty3.git,master,,,,,,,
https://github.com/reposense/testrepo-Empty4.git,master,,,,,,,
https://github.com/reposense/testrepo-Empty5.git,master,,,,,,,
+https://github.com/reposense/publish-RepoSense.git,master,,,,,,,
+https://github.com/reposense/repoSense-action.git,main,,,,,,,
+https://github.com/reposense/RepoSense-auth-helper.git,master,,,,,,,
diff --git a/frontend/cypress/tests/chartView/chartView_mergeGroup.cy.js b/frontend/cypress/tests/chartView/chartView_mergeGroup.cy.js
index 9f363d802a..9c3a9bc460 100644
--- a/frontend/cypress/tests/chartView/chartView_mergeGroup.cy.js
+++ b/frontend/cypress/tests/chartView/chartView_mergeGroup.cy.js
@@ -8,18 +8,18 @@ describe('merge group', () => {
.check()
.should('be.checked');
- // after checking merge group, only one merged repo group will show
+ // after checking merge group, only four merged repo groups will show
cy.get('#summary-charts').find('.summary-chart')
- .should('have.length', 1);
+ .should('have.length', 4);
cy.get('#summary label.merge-group > input:visible')
.should('be.visible')
.uncheck()
.should('not.be.checked');
- // after un-checking merge group, all 5 summary charts will show
+ // after un-checking merge group, all 14 summary charts will show
cy.get('#summary-charts').find('.summary-chart')
- .should('have.length', 5);
+ .should('have.length', 14);
});
it('check and uncheck merge group when group by authors', () => {
@@ -31,9 +31,9 @@ describe('merge group', () => {
.check()
.should('be.checked');
- // after checking merge group, 5 merged author groups will show
+ // after checking merge group, 14 merged author groups will show
cy.get('#summary-charts').find('.summary-chart')
- .should('have.length', 5);
+ .should('have.length', 14);
cy.get('#summary label.merge-group > input:visible')
.first()
@@ -41,9 +41,9 @@ describe('merge group', () => {
.uncheck()
.should('not.be.checked');
- // after un-checking merge group, all 5 summary charts will show
+ // after un-checking merge group, all 14 summary charts will show
cy.get('#summary-charts').find('.summary-chart')
- .should('have.length', 5);
+ .should('have.length', 14);
});
it('merge group option should be disabled when group by none', () => {
@@ -56,26 +56,22 @@ describe('merge group', () => {
});
it('should have the correct number of merge group contribution bars and correct length', () => {
- // Assumption: The number of merge group contribution bars is 3 and the width of the third bar is 50%.
cy.get('#summary label.merge-group > input:visible')
.should('be.visible')
.check()
.should('be.checked');
- // get the three chart bars and assert they have the correct initial widths
+ // get the chart bars and assert they have the correct initial widths
+ const expectedWidths = [100, 100, 100, 15, 100, 100, 90, 30, 15];
cy.get('.stacked-bar__contrib--bar')
- .should('have.length', 3)
+ .should('have.length', expectedWidths.length)
.then(($bars) => {
// calculate the percentage of the width relative to the parent container
const parentWidth = $bars.eq(0).parent().width();
- const width1 = (parseFloat(window.getComputedStyle($bars[0]).width) / parentWidth) * 100;
- const width2 = (parseFloat(window.getComputedStyle($bars[1]).width) / parentWidth) * 100;
- const width3 = (parseFloat(window.getComputedStyle($bars[2]).width) / parentWidth) * 100;
-
- // assert that the widths are close enough to 100% and 50%
- expect(width1).to.be.closeTo(100, 1);
- expect(width2).to.be.closeTo(100, 1);
- expect(width3).to.be.closeTo(50, 1);
+ expectedWidths.forEach((expectedWidth, index) => {
+ const width = (parseFloat(window.getComputedStyle($bars[index]).width) / parentWidth) * 100;
+ expect(width).to.be.closeTo(expectedWidth, 1);
+ });
});
});
diff --git a/frontend/cypress/tests/chartView/chartView_scrollToActiveRepo.cy.js b/frontend/cypress/tests/chartView/chartView_scrollToActiveRepo.cy.js
new file mode 100644
index 0000000000..aa7d3a887a
--- /dev/null
+++ b/frontend/cypress/tests/chartView/chartView_scrollToActiveRepo.cy.js
@@ -0,0 +1,62 @@
+describe('scroll to active repo', () => {
+ // need to set scrollBehavior to false because the default behavior is to scroll the element into view
+ it('selecting a visible repo should not scroll', { scrollBehavior: false }, () => {
+ // close the error message box
+ cy.get('.error-message-box')
+ .should('be.visible');
+
+ cy.get('#summary-wrapper > #summary > .error-message-box > .error-message-box__close-button')
+ .click();
+
+ cy.get('.error-message-box')
+ .should('not.be.visible');
+
+ cy.get('.icon-button.fa-code')
+ .should('exist')
+ .first();
+
+ let scrollTopOriginal = 0;
+ cy.get('#summary-wrapper')
+ .first()
+ .then(($el) => {
+ scrollTopOriginal = $el.prop('scrollTop');
+ });
+
+ cy.get('.icon-button.fa-code')
+ .should('exist')
+ .first()
+ .click();
+
+ cy.get('#summary-wrapper')
+ .first()
+ .then(($el) => {
+ const scrollTop = $el.prop('scrollTop');
+ expect(scrollTop).to.equal(scrollTopOriginal);
+ });
+ });
+
+ it('selecting a non-visible repo should scroll', () => {
+ cy.get('.icon-button.fa-code')
+ .should('exist')
+ .last()
+ .click();
+
+ cy.get('#summary-wrapper')
+ .first()
+ .then(($el) => {
+ const scrollTop = $el.prop('scrollTop');
+ expect(scrollTop).to.not.equal(0);
+ });
+
+ cy.url()
+ .should('contain', 'tabAuthor=Yong%20Hao%20TENG')
+ .should('contain', 'tabRepo=reposense%2Fpublish-RepoSense%5Bmaster%5D');
+
+ cy.reload();
+
+ cy.get('.icon-button.fa-code')
+ .should('exist')
+ .last()
+ .should('be.visible');
+ });
+});
diff --git a/frontend/cypress/tests/chartView/chartView_toolBar_searchBox.cy.js b/frontend/cypress/tests/chartView/chartView_toolBar_searchBox.cy.js
index 8fb9352fb6..51afc43787 100644
--- a/frontend/cypress/tests/chartView/chartView_toolBar_searchBox.cy.js
+++ b/frontend/cypress/tests/chartView/chartView_toolBar_searchBox.cy.js
@@ -18,7 +18,7 @@ describe('search bar', () => {
it('unique author shows one result', () => {
cy.get('#app #tab-resize .tab-close').click();
cy.get('#summary-wrapper input[type=text]')
- .type('Yong Hao TENG')
+ .type('Metta')
.type('{enter}');
cy.get('#summary-wrapper form.summary-picker')
diff --git a/frontend/cypress/tests/codeView/codeView_codeHighlighting.cy.js b/frontend/cypress/tests/codeView/codeView_codeHighlighting.cy.js
new file mode 100644
index 0000000000..adbd9c338c
--- /dev/null
+++ b/frontend/cypress/tests/codeView/codeView_codeHighlighting.cy.js
@@ -0,0 +1,67 @@
+// Assumes: RepoSense repo from 03/05/2018 to current date
+describe('code highlighting works properly', () => {
+ it('should highlight code when there is a single author', () => {
+ // open the code panel
+ cy.get('.icon-button.fa-code')
+ .should('exist')
+ .first()
+ .click();
+
+ cy.get('#tab-authorship .files', { timeout: 90000 })
+ .should('be.visible');
+
+ cy.get('.hljs-comment').contains('* Represents a Git Author.')
+ .parent() // .line-content
+ .parent() // .code
+ .should('have.css', 'background-color', 'rgb(230, 255, 237)'); // #e6ffed
+ });
+
+ it('should highlight code when multiple authors are merged in a repo group', () => {
+ cy.get('div.mui-select.grouping > select:visible')
+ .select('groupByRepos');
+
+ cy.get('#summary label.merge-group > input:visible')
+ .should('be.visible')
+ .check()
+ .should('be.checked');
+
+ // open the code panel
+ cy.get('.icon-button.fa-code')
+ .should('exist')
+ .first()
+ .click();
+
+ cy.get('#tab-authorship .files', { timeout: 90000 })
+ .should('be.visible');
+
+ cy.get('.hljs-comment').contains('* MUI Colors module') // eugenepeh
+ .parent() // .line-content
+ .parent() // .code
+ .should('have.css', 'background-color', 'rgba(30, 144, 255, 0.19)') // #1e90ff, transparencyValue 30
+ .then((firstAuthorColor) => {
+ // eslint-disable-next-line quotes
+ cy.get('.line-content').contains("'red': (") // jamessspanggg
+ .parent() // .code
+ // #f08080, transparencyValue 30
+ .should('have.css', 'background-color', 'rgba(240, 128, 128, 0.19)')
+ .and('not.eq', firstAuthorColor);
+ });
+ });
+
+ it('should not highlight non-attributed lines', () => {
+ // open the code panel
+ cy.get('.icon-button.fa-code')
+ .should('exist')
+ .first()
+ .click();
+
+ cy.get('#tab-authorship .files', { timeout: 90000 })
+ .should('be.visible');
+
+ cy.get('.hljs-title').contains('Author')
+ .parent() // .hljs-class
+ .parent() // .line-content
+ .parent() // .code
+ .should('have.css', 'background-color', 'rgb(255, 255, 255)'); // #ffffff
+ });
+});
diff --git a/frontend/cypress/tests/codeView/codeView_switchAuthorship.cy.js b/frontend/cypress/tests/codeView/codeView_switchAuthorship.cy.js
index d9667eee02..214ef84c40 100644
--- a/frontend/cypress/tests/codeView/codeView_switchAuthorship.cy.js
+++ b/frontend/cypress/tests/codeView/codeView_switchAuthorship.cy.js
@@ -24,7 +24,7 @@ describe('switch authorship', () => {
// switch authorship view
cy.get('.icon-button.fa-code')
.should('exist')
- .last()
+ .eq(4)
.click();
// check default controls
diff --git a/frontend/cypress/tests/zoomView/zoomView_switchZoom.cy.js b/frontend/cypress/tests/zoomView/zoomView_switchZoom.cy.js
index 2ffa7eb383..dba07ecbc6 100644
--- a/frontend/cypress/tests/zoomView/zoomView_switchZoom.cy.js
+++ b/frontend/cypress/tests/zoomView/zoomView_switchZoom.cy.js
@@ -24,7 +24,7 @@ describe('switch zoom', () => {
// switch zoom view
cy.get('.icon-button.fa-list-ul')
.should('exist')
- .last()
+ .eq(4)
.click();
cy.get('#tabs-wrapper').scrollTo('top');
diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index 74fb262810..72036f06a3 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -9,7 +9,7 @@
"version": "1.0.0",
"license": "ISC",
"dependencies": {
- "@fontsource/titillium-web": "^4.5.3",
+ "@fontsource/titillium-web": "^5.0.0",
"@fortawesome/fontawesome-svg-core": "^6.5.1",
"@fortawesome/free-brands-svg-icons": "^6.5.1",
"@fortawesome/free-solid-svg-icons": "^6.5.1",
@@ -21,9 +21,10 @@
"highlight.js": "^10.5.0",
"jszip": "^3.5.0",
"markdown-it": "^14.1.0",
- "minimatch": "^5.0.1",
+ "minimatch": "^9.0.0",
"muicss": "^0.10.3",
"normalize.css": "^8.0.1",
+ "postcss": "^8.4.38",
"pug-lint-vue": "^0.4.0",
"seedrandom": "^3.0.5",
"vue": "~3.4.0",
@@ -36,8 +37,9 @@
},
"devDependencies": {
"@babel/eslint-parser": "^7.24.1",
- "@typescript-eslint/eslint-plugin": "^6.0.0",
- "@typescript-eslint/parser": "^6.0.0",
+ "@stylistic/stylelint-plugin": "^2.1.0",
+ "@typescript-eslint/eslint-plugin": "^5.5.0",
+ "@typescript-eslint/parser": "^5.5.0",
"@vue/cli-plugin-babel": "^5.0.4",
"@vue/cli-plugin-eslint": "^5.0.4",
"@vue/cli-plugin-typescript": "^5.0.4",
@@ -48,18 +50,18 @@
"eslint-config-airbnb-base": "^15.0.0",
"eslint-config-airbnb-typescript": "^17.1.0",
"eslint-plugin-import": "^2.29.1",
- "eslint-plugin-vue": "^8.4.1",
+ "eslint-plugin-vue": "^8.4.3",
"postcss-html": "^1.6.0",
"pug": "^3.0.2",
"pug-plain-loader": "^1.1.0",
"sass": "^1.71.0",
- "sass-loader": "^13.3.3",
- "stylelint": "^14.7.1",
- "stylelint-config-recommended-scss": "^6.0.0",
+ "sass-loader": "^14.0.0",
+ "stylelint": "^16.1.0",
"stylelint-config-recommended-vue": "^1.5.0",
- "stylelint-order": "^5.0.0",
- "stylelint-scss": "^4.7.0",
- "stylelint-webpack-plugin": "^3.2.0",
+ "stylelint-config-standard": "^36.0.0",
+ "stylelint-config-standard-scss": "^13.0.0",
+ "stylelint-order": "^6.0.4",
+ "stylelint-webpack-plugin": "^5.0.0",
"typescript": "^4.9.5"
}
},
@@ -147,9 +149,8 @@
},
"node_modules/@babel/eslint-parser": {
"version": "7.24.1",
- "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.24.1.tgz",
- "integrity": "sha512-d5guuzMlPeDfZIbpQ8+g1NaCNuAGBBGNECh0HVqz1sjOeVLh2CEaifuOysCH18URW6R7pqXINvf5PaR/dC6jLQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1",
"eslint-visitor-keys": "^2.1.0",
@@ -1665,20 +1666,100 @@
"node": ">=6.9.0"
}
},
- "node_modules/@csstools/selector-specificity": {
- "version": "2.1.0",
+ "node_modules/@csstools/css-parser-algorithms": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.6.1.tgz",
+ "integrity": "sha512-ubEkAaTfVZa+WwGhs5jbo5Xfqpeaybr/RvWzvFxRs4jfq16wH8l8Ty/QEEpINxll4xhuGfdMbipRyz5QZh9+FA==",
"dev": true,
- "license": "CC0-1.0",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"engines": {
"node": "^14 || ^16 || >=18"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
+ "peerDependencies": {
+ "@csstools/css-tokenizer": "^2.2.4"
+ }
+ },
+ "node_modules/@csstools/css-tokenizer": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.4.tgz",
+ "integrity": "sha512-PuWRAewQLbDhGeTvFuq2oClaSCKPIBmHyIobCV39JHRYN0byDcUWJl5baPeNUcqrjtdMNqFooE0FGl31I3JOqw==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ }
+ },
+ "node_modules/@csstools/media-query-list-parser": {
+ "version": "2.1.9",
+ "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.9.tgz",
+ "integrity": "sha512-qqGuFfbn4rUmyOB0u8CVISIp5FfJ5GAR3mBrZ9/TKndHakdnm6pY0L/fbLcpPnrzwCyyTEZl1nUcXAYHEWneTA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ },
+ "peerDependencies": {
+ "@csstools/css-parser-algorithms": "^2.6.1",
+ "@csstools/css-tokenizer": "^2.2.4"
+ }
+ },
+ "node_modules/@csstools/selector-specificity": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.3.tgz",
+ "integrity": "sha512-KEPNw4+WW5AVEIyzC80rTbWEUatTW2lXpN8+8ILC8PiPeWPjwUzrPZDIOZ2wwqDmeqOYTdSGyL3+vE5GC3FB3Q==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "engines": {
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
- "postcss": "^8.4",
- "postcss-selector-parser": "^6.0.10"
+ "postcss-selector-parser": "^6.0.13"
+ }
+ },
+ "node_modules/@dual-bundle/import-meta-resolve": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz",
+ "integrity": "sha512-ZKXyJeFAzcpKM2kk8ipoGIPUqx9BX52omTGnfwjJvxOCaZTM2wtDK7zN0aIgPRbT9XYAlha0HtmZ+XKteuh0Gw==",
+ "dev": true,
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/@eslint-community/eslint-utils": {
@@ -1790,23 +1871,22 @@
}
},
"node_modules/@fontsource/titillium-web": {
- "version": "4.5.9",
- "license": "MIT"
+ "version": "5.0.19",
+ "resolved": "https://registry.npmjs.org/@fontsource/titillium-web/-/titillium-web-5.0.19.tgz",
+ "integrity": "sha512-ktxZrkQUjHD+cKhCgm9YZU6vfHJAguFTidb832BFra21dniFpWiEpkot18VkYyuSnxoGUjrC9aLOB1Dc14N4vg=="
},
"node_modules/@fortawesome/fontawesome-common-types": {
"version": "6.5.1",
- "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.1.tgz",
- "integrity": "sha512-GkWzv+L6d2bI5f/Vk6ikJ9xtl7dfXtoRu3YGE6nq0p/FFqA1ebMOAWg3XgRyb0I6LYyYkiAo+3/KrwuBp8xG7A==",
"hasInstallScript": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/@fortawesome/fontawesome-svg-core": {
"version": "6.5.1",
- "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.5.1.tgz",
- "integrity": "sha512-MfRCYlQPXoLlpem+egxjfkEuP9UQswTrlCOsknus/NcMoblTH2g0jPrapbcIb04KGA7E2GZxbAccGZfWoYgsrQ==",
"hasInstallScript": true,
+ "license": "MIT",
"dependencies": {
"@fortawesome/fontawesome-common-types": "6.5.1"
},
@@ -1816,9 +1896,8 @@
},
"node_modules/@fortawesome/free-brands-svg-icons": {
"version": "6.5.1",
- "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.5.1.tgz",
- "integrity": "sha512-093l7DAkx0aEtBq66Sf19MgoZewv1zeY9/4C7vSKPO4qMwEsW/2VYTUTpBtLwfb9T2R73tXaRDPmE4UqLCYHfg==",
"hasInstallScript": true,
+ "license": "(CC-BY-4.0 AND MIT)",
"dependencies": {
"@fortawesome/fontawesome-common-types": "6.5.1"
},
@@ -1828,9 +1907,8 @@
},
"node_modules/@fortawesome/free-solid-svg-icons": {
"version": "6.5.1",
- "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.5.1.tgz",
- "integrity": "sha512-S1PPfU3mIJa59biTtXJz1oI0+KAXW6bkAb31XKhxdxtuXDiUIFsih4JR1v5BbxY7hVHsD1RKq+jRkVRaf773NQ==",
"hasInstallScript": true,
+ "license": "(CC-BY-4.0 AND MIT)",
"dependencies": {
"@fortawesome/fontawesome-common-types": "6.5.1"
},
@@ -1840,8 +1918,7 @@
},
"node_modules/@fortawesome/vue-fontawesome": {
"version": "3.0.6",
- "resolved": "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-3.0.6.tgz",
- "integrity": "sha512-akrL7lTroyNpPkoHtvK2UpsMzJr6jXdHaQ0YdcwqDsB8jdwlpNHZYijpOUd9KJsARr+VB3WXY4EyObepqJ4ytQ==",
+ "license": "MIT",
"peerDependencies": {
"@fortawesome/fontawesome-svg-core": "~1 || ~6",
"vue": ">= 3.0.0 < 4"
@@ -1910,6 +1987,105 @@
"dev": true,
"license": "BSD-3-Clause"
},
+ "node_modules/@jest/schemas": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
+ "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
+ "dev": true,
+ "dependencies": {
+ "@sinclair/typebox": "^0.27.8"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/types/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==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@jest/types/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,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/@jest/types/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/@jest/types/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/@jest/types/node_modules/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,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/types/node_modules/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,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/@jridgewell/gen-mapping": {
"version": "0.1.1",
"dev": true,
@@ -2047,6 +2223,12 @@
"dev": true,
"license": "BSD-3-Clause"
},
+ "node_modules/@sinclair/typebox": {
+ "version": "0.27.8",
+ "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
+ "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
+ "dev": true
+ },
"node_modules/@soda/friendly-errors-webpack-plugin": {
"version": "1.8.1",
"dev": true,
@@ -2130,6 +2312,28 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/@stylistic/stylelint-plugin": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@stylistic/stylelint-plugin/-/stylelint-plugin-2.1.1.tgz",
+ "integrity": "sha512-xqHTmQZN7EbnFDW7jw0rAsdFNO4IRqvXhrh3qhUlIwF/x09Zm7kgs/ADktHxsTJYcw346PpGihsB0t4pZhpeHw==",
+ "dev": true,
+ "dependencies": {
+ "@csstools/css-parser-algorithms": "^2.5.0",
+ "@csstools/css-tokenizer": "^2.2.3",
+ "@csstools/media-query-list-parser": "^2.1.7",
+ "is-plain-object": "^5.0.0",
+ "postcss-selector-parser": "^6.0.15",
+ "postcss-value-parser": "^4.2.0",
+ "style-search": "^0.1.0",
+ "stylelint": "^16.2.1"
+ },
+ "engines": {
+ "node": "^18.12 || >=20.9"
+ },
+ "peerDependencies": {
+ "stylelint": "^16.0.2"
+ }
+ },
"node_modules/@trysound/sax": {
"version": "0.2.0",
"dev": true,
@@ -2237,6 +2441,30 @@
"@types/node": "*"
}
},
+ "node_modules/@types/istanbul-lib-coverage": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz",
+ "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==",
+ "dev": true
+ },
+ "node_modules/@types/istanbul-lib-report": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz",
+ "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==",
+ "dev": true,
+ "dependencies": {
+ "@types/istanbul-lib-coverage": "*"
+ }
+ },
+ "node_modules/@types/istanbul-reports": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz",
+ "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/istanbul-lib-report": "*"
+ }
+ },
"node_modules/@types/json-schema": {
"version": "7.0.15",
"license": "MIT"
@@ -2307,13 +2535,13 @@
},
"node_modules/@types/seedrandom": {
"version": "3.0.8",
- "resolved": "https://registry.npmjs.org/@types/seedrandom/-/seedrandom-3.0.8.tgz",
- "integrity": "sha512-TY1eezMU2zH2ozQoAFAQFOPpvP15g+ZgSfTZt31AUUH/Rxtnz3H+A/Sv1Snw2/amp//omibc+AEkTaA8KUeOLQ=="
+ "license": "MIT"
},
"node_modules/@types/semver": {
"version": "7.5.8",
- "dev": true,
- "license": "MIT"
+ "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
+ "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==",
+ "dev": true
},
"node_modules/@types/serve-index": {
"version": "1.9.1",
@@ -2353,33 +2581,48 @@
"@types/node": "*"
}
},
+ "node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
+ "dev": true,
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/@types/yargs-parser": {
+ "version": "21.0.3",
+ "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz",
+ "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==",
+ "dev": true
+ },
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "6.21.0",
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz",
+ "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==",
"dev": true,
- "license": "MIT",
"dependencies": {
- "@eslint-community/regexpp": "^4.5.1",
- "@typescript-eslint/scope-manager": "6.21.0",
- "@typescript-eslint/type-utils": "6.21.0",
- "@typescript-eslint/utils": "6.21.0",
- "@typescript-eslint/visitor-keys": "6.21.0",
+ "@eslint-community/regexpp": "^4.4.0",
+ "@typescript-eslint/scope-manager": "5.62.0",
+ "@typescript-eslint/type-utils": "5.62.0",
+ "@typescript-eslint/utils": "5.62.0",
"debug": "^4.3.4",
"graphemer": "^1.4.0",
- "ignore": "^5.2.4",
- "natural-compare": "^1.4.0",
- "semver": "^7.5.4",
- "ts-api-utils": "^1.0.1"
+ "ignore": "^5.2.0",
+ "natural-compare-lite": "^1.4.0",
+ "semver": "^7.3.7",
+ "tsutils": "^3.21.0"
},
"engines": {
- "node": "^16.0.0 || >=18.0.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha",
- "eslint": "^7.0.0 || ^8.0.0"
+ "@typescript-eslint/parser": "^5.0.0",
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
},
"peerDependenciesMeta": {
"typescript": {
@@ -2418,25 +2661,25 @@
"license": "ISC"
},
"node_modules/@typescript-eslint/parser": {
- "version": "6.21.0",
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz",
+ "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==",
"dev": true,
- "license": "BSD-2-Clause",
"dependencies": {
- "@typescript-eslint/scope-manager": "6.21.0",
- "@typescript-eslint/types": "6.21.0",
- "@typescript-eslint/typescript-estree": "6.21.0",
- "@typescript-eslint/visitor-keys": "6.21.0",
+ "@typescript-eslint/scope-manager": "5.62.0",
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/typescript-estree": "5.62.0",
"debug": "^4.3.4"
},
"engines": {
- "node": "^16.0.0 || >=18.0.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0"
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
},
"peerDependenciesMeta": {
"typescript": {
@@ -2445,15 +2688,16 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "6.21.0",
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz",
+ "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==",
"dev": true,
- "license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "6.21.0",
- "@typescript-eslint/visitor-keys": "6.21.0"
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/visitor-keys": "5.62.0"
},
"engines": {
- "node": "^16.0.0 || >=18.0.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"type": "opencollective",
@@ -2461,24 +2705,25 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "6.21.0",
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz",
+ "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==",
"dev": true,
- "license": "MIT",
"dependencies": {
- "@typescript-eslint/typescript-estree": "6.21.0",
- "@typescript-eslint/utils": "6.21.0",
+ "@typescript-eslint/typescript-estree": "5.62.0",
+ "@typescript-eslint/utils": "5.62.0",
"debug": "^4.3.4",
- "ts-api-utils": "^1.0.1"
+ "tsutils": "^3.21.0"
},
"engines": {
- "node": "^16.0.0 || >=18.0.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0"
+ "eslint": "*"
},
"peerDependenciesMeta": {
"typescript": {
@@ -2487,11 +2732,12 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "6.21.0",
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz",
+ "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==",
"dev": true,
- "license": "MIT",
"engines": {
- "node": "^16.0.0 || >=18.0.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"type": "opencollective",
@@ -2499,21 +2745,21 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "6.21.0",
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz",
+ "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==",
"dev": true,
- "license": "BSD-2-Clause",
"dependencies": {
- "@typescript-eslint/types": "6.21.0",
- "@typescript-eslint/visitor-keys": "6.21.0",
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/visitor-keys": "5.62.0",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
- "minimatch": "9.0.3",
- "semver": "^7.5.4",
- "ts-api-utils": "^1.0.1"
+ "semver": "^7.3.7",
+ "tsutils": "^3.21.0"
},
"engines": {
- "node": "^16.0.0 || >=18.0.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"type": "opencollective",
@@ -2527,8 +2773,9 @@
},
"node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": {
"version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
- "license": "ISC",
"dependencies": {
"yallist": "^4.0.0"
},
@@ -2536,24 +2783,11 @@
"node": ">=10"
}
},
- "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
- "version": "9.0.3",
- "dev": true,
- "license": "ISC",
- "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.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
"dev": true,
- "license": "ISC",
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -2566,37 +2800,41 @@
},
"node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": {
"version": "4.0.0",
- "dev": true,
- "license": "ISC"
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
},
"node_modules/@typescript-eslint/utils": {
- "version": "6.21.0",
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz",
+ "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==",
"dev": true,
- "license": "MIT",
"dependencies": {
- "@eslint-community/eslint-utils": "^4.4.0",
- "@types/json-schema": "^7.0.12",
- "@types/semver": "^7.5.0",
- "@typescript-eslint/scope-manager": "6.21.0",
- "@typescript-eslint/types": "6.21.0",
- "@typescript-eslint/typescript-estree": "6.21.0",
- "semver": "^7.5.4"
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@types/json-schema": "^7.0.9",
+ "@types/semver": "^7.3.12",
+ "@typescript-eslint/scope-manager": "5.62.0",
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/typescript-estree": "5.62.0",
+ "eslint-scope": "^5.1.1",
+ "semver": "^7.3.7"
},
"engines": {
- "node": "^16.0.0 || >=18.0.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0"
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
"node_modules/@typescript-eslint/utils/node_modules/lru-cache": {
"version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
- "license": "ISC",
"dependencies": {
"yallist": "^4.0.0"
},
@@ -2606,8 +2844,9 @@
},
"node_modules/@typescript-eslint/utils/node_modules/semver": {
"version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
"dev": true,
- "license": "ISC",
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -2620,19 +2859,21 @@
},
"node_modules/@typescript-eslint/utils/node_modules/yallist": {
"version": "4.0.0",
- "dev": true,
- "license": "ISC"
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "6.21.0",
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz",
+ "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==",
"dev": true,
- "license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "6.21.0",
- "eslint-visitor-keys": "^3.4.1"
+ "@typescript-eslint/types": "5.62.0",
+ "eslint-visitor-keys": "^3.3.0"
},
"engines": {
- "node": "^16.0.0 || >=18.0.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"type": "opencollective",
@@ -2641,8 +2882,9 @@
},
"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,
- "license": "Apache-2.0",
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
@@ -3192,8 +3434,7 @@
},
"node_modules/@vue/compiler-core": {
"version": "3.4.21",
- "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.21.tgz",
- "integrity": "sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==",
+ "license": "MIT",
"dependencies": {
"@babel/parser": "^7.23.9",
"@vue/shared": "3.4.21",
@@ -3204,8 +3445,7 @@
},
"node_modules/@vue/compiler-dom": {
"version": "3.4.21",
- "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.21.tgz",
- "integrity": "sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==",
+ "license": "MIT",
"dependencies": {
"@vue/compiler-core": "3.4.21",
"@vue/shared": "3.4.21"
@@ -3228,8 +3468,7 @@
},
"node_modules/@vue/compiler-ssr": {
"version": "3.4.21",
- "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.21.tgz",
- "integrity": "sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==",
+ "license": "MIT",
"dependencies": {
"@vue/compiler-dom": "3.4.21",
"@vue/shared": "3.4.21"
@@ -3295,8 +3534,7 @@
},
"node_modules/@vue/devtools-api": {
"version": "6.6.1",
- "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.1.tgz",
- "integrity": "sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA=="
+ "license": "MIT"
},
"node_modules/@vue/eslint-config-typescript": {
"version": "10.0.0",
@@ -3315,239 +3553,16 @@
"eslint-plugin-vue": "^8.0.1"
}
},
- "node_modules/@vue/eslint-config-typescript/node_modules/@typescript-eslint/eslint-plugin": {
- "version": "5.62.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@eslint-community/regexpp": "^4.4.0",
- "@typescript-eslint/scope-manager": "5.62.0",
- "@typescript-eslint/type-utils": "5.62.0",
- "@typescript-eslint/utils": "5.62.0",
- "debug": "^4.3.4",
- "graphemer": "^1.4.0",
- "ignore": "^5.2.0",
- "natural-compare-lite": "^1.4.0",
- "semver": "^7.3.7",
- "tsutils": "^3.21.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "@typescript-eslint/parser": "^5.0.0",
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@vue/eslint-config-typescript/node_modules/@typescript-eslint/parser": {
- "version": "5.62.0",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "@typescript-eslint/scope-manager": "5.62.0",
- "@typescript-eslint/types": "5.62.0",
- "@typescript-eslint/typescript-estree": "5.62.0",
- "debug": "^4.3.4"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@vue/eslint-config-typescript/node_modules/@typescript-eslint/scope-manager": {
- "version": "5.62.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/types": "5.62.0",
- "@typescript-eslint/visitor-keys": "5.62.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@vue/eslint-config-typescript/node_modules/@typescript-eslint/type-utils": {
- "version": "5.62.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/typescript-estree": "5.62.0",
- "@typescript-eslint/utils": "5.62.0",
- "debug": "^4.3.4",
- "tsutils": "^3.21.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "*"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@vue/eslint-config-typescript/node_modules/@typescript-eslint/types": {
- "version": "5.62.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@vue/eslint-config-typescript/node_modules/@typescript-eslint/typescript-estree": {
- "version": "5.62.0",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "@typescript-eslint/types": "5.62.0",
- "@typescript-eslint/visitor-keys": "5.62.0",
- "debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "semver": "^7.3.7",
- "tsutils": "^3.21.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@vue/eslint-config-typescript/node_modules/@typescript-eslint/utils": {
- "version": "5.62.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.2.0",
- "@types/json-schema": "^7.0.9",
- "@types/semver": "^7.3.12",
- "@typescript-eslint/scope-manager": "5.62.0",
- "@typescript-eslint/types": "5.62.0",
- "@typescript-eslint/typescript-estree": "5.62.0",
- "eslint-scope": "^5.1.1",
- "semver": "^7.3.7"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
- }
- },
- "node_modules/@vue/eslint-config-typescript/node_modules/@typescript-eslint/visitor-keys": {
- "version": "5.62.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/types": "5.62.0",
- "eslint-visitor-keys": "^3.3.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@vue/eslint-config-typescript/node_modules/eslint-visitor-keys": {
- "version": "3.4.3",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/@vue/eslint-config-typescript/node_modules/lru-cache": {
- "version": "6.0.0",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@vue/eslint-config-typescript/node_modules/semver": {
- "version": "7.6.0",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@vue/eslint-config-typescript/node_modules/yallist": {
- "version": "4.0.0",
- "dev": true,
- "license": "ISC"
- },
"node_modules/@vue/reactivity": {
"version": "3.4.21",
- "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.21.tgz",
- "integrity": "sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==",
+ "license": "MIT",
"dependencies": {
"@vue/shared": "3.4.21"
}
},
"node_modules/@vue/runtime-core": {
"version": "3.4.21",
- "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.21.tgz",
- "integrity": "sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==",
+ "license": "MIT",
"dependencies": {
"@vue/reactivity": "3.4.21",
"@vue/shared": "3.4.21"
@@ -3555,8 +3570,7 @@
},
"node_modules/@vue/runtime-dom": {
"version": "3.4.21",
- "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.21.tgz",
- "integrity": "sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==",
+ "license": "MIT",
"dependencies": {
"@vue/runtime-core": "3.4.21",
"@vue/shared": "3.4.21",
@@ -3565,8 +3579,7 @@
},
"node_modules/@vue/server-renderer": {
"version": "3.4.21",
- "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.21.tgz",
- "integrity": "sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==",
+ "license": "MIT",
"dependencies": {
"@vue/compiler-ssr": "3.4.21",
"@vue/shared": "3.4.21"
@@ -3577,8 +3590,7 @@
},
"node_modules/@vue/shared": {
"version": "3.4.21",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.21.tgz",
- "integrity": "sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g=="
+ "license": "MIT"
},
"node_modules/@vue/vue-loader-v15": {
"name": "vue-loader",
@@ -4067,14 +4079,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/arrify": {
- "version": "1.0.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/asap": {
"version": "2.0.6",
"dev": true,
@@ -4356,9 +4360,8 @@
},
"node_modules/body-parser": {
"version": "1.20.2",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz",
- "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"bytes": "3.1.2",
"content-type": "~1.0.5",
@@ -4380,36 +4383,32 @@
},
"node_modules/body-parser/node_modules/bytes": {
"version": "3.1.2",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
- "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/body-parser/node_modules/debug": {
"version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ms": "2.0.0"
}
},
"node_modules/body-parser/node_modules/depd": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
- "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/body-parser/node_modules/iconv-lite": {
"version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3"
},
@@ -4419,9 +4418,8 @@
},
"node_modules/body-parser/node_modules/ms": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/bonjour-service": {
"version": "1.1.0",
@@ -4562,30 +4560,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/camelcase-keys": {
- "version": "6.2.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "camelcase": "^5.3.1",
- "map-obj": "^4.0.0",
- "quick-lru": "^4.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/camelcase-keys/node_modules/camelcase": {
- "version": "5.3.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/caniuse-api": {
"version": "3.0.0",
"dev": true,
@@ -5061,9 +5035,8 @@
},
"node_modules/content-type": {
"version": "1.0.5",
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
- "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
@@ -5075,9 +5048,8 @@
},
"node_modules/cookie": {
"version": "0.6.0",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
- "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
@@ -5129,9 +5101,8 @@
},
"node_modules/core-js": {
"version": "3.36.1",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.1.tgz",
- "integrity": "sha512-BTvUrwxVBezj5SZ3f10ImnX2oRByMxql3EimVqMysepbC9EeMUOpLwdy6Eoili2x6E4kf+ZUB5k/+Jv55alPfA==",
"hasInstallScript": true,
+ "license": "MIT",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/core-js"
@@ -5193,11 +5164,12 @@
}
},
"node_modules/css-functions-list": {
- "version": "3.1.0",
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.1.tgz",
+ "integrity": "sha512-Nj5YcaGgBtuUmn1D7oHqPW0c9iui7xsTsj5lIX8ZgevdfhmjFfKB3r8moHJtNJnctnYXJyYX5I1pp90HM4TPgQ==",
"dev": true,
- "license": "MIT",
"engines": {
- "node": ">=12.22"
+ "node": ">=12 || >=16"
}
},
"node_modules/css-loader": {
@@ -5466,66 +5438,34 @@
}
},
"node_modules/csso": {
- "version": "4.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "css-tree": "^1.1.2"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/csstype": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
- "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
- },
- "node_modules/debug": {
- "version": "4.3.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/decamelize": {
- "version": "1.2.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/decamelize-keys": {
- "version": "1.1.1",
+ "version": "4.2.0",
"dev": true,
"license": "MIT",
"dependencies": {
- "decamelize": "^1.1.0",
- "map-obj": "^1.0.0"
+ "css-tree": "^1.1.2"
},
"engines": {
- "node": ">=0.10.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=8.0.0"
}
},
- "node_modules/decamelize-keys/node_modules/map-obj": {
- "version": "1.0.1",
+ "node_modules/csstype": {
+ "version": "3.1.3",
+ "license": "MIT"
+ },
+ "node_modules/debug": {
+ "version": "4.3.4",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
}
},
"node_modules/deep-is": {
@@ -5888,6 +5828,15 @@
"url": "https://github.com/fb55/entities?sponsor=1"
}
},
+ "node_modules/env-paths": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
+ "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/error-ex": {
"version": "1.3.2",
"dev": true,
@@ -6773,9 +6722,8 @@
},
"node_modules/express": {
"version": "4.19.2",
- "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz",
- "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"accepts": "~1.3.8",
"array-flatten": "1.1.1",
@@ -6863,9 +6811,10 @@
"license": "MIT"
},
"node_modules/fast-glob": {
- "version": "3.2.12",
+ "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,
- "license": "MIT",
"dependencies": {
"@nodelib/fs.stat": "^2.0.2",
"@nodelib/fs.walk": "^1.2.3",
@@ -7035,14 +6984,13 @@
}
},
"node_modules/flatted": {
- "version": "3.2.7",
- "dev": true,
- "license": "ISC"
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz",
+ "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
+ "dev": true
},
"node_modules/follow-redirects": {
"version": "1.15.6",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
- "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
"dev": true,
"funding": [
{
@@ -7050,6 +6998,7 @@
"url": "https://github.com/sponsors/RubenVerborgh"
}
],
+ "license": "MIT",
"engines": {
"node": ">=4.0"
},
@@ -7553,14 +7502,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/hard-rejection": {
- "version": "2.1.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/has-bigints": {
"version": "1.0.2",
"dev": true,
@@ -7649,33 +7590,6 @@
"node": "*"
}
},
- "node_modules/hosted-git-info": {
- "version": "4.1.0",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/hosted-git-info/node_modules/lru-cache": {
- "version": "6.0.0",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/hosted-git-info/node_modules/yallist": {
- "version": "4.0.0",
- "dev": true,
- "license": "ISC"
- },
"node_modules/hpack.js": {
"version": "2.1.6",
"dev": true,
@@ -7713,9 +7627,10 @@
}
},
"node_modules/html-tags": {
- "version": "3.2.0",
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz",
+ "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==",
"dev": true,
- "license": "MIT",
"engines": {
"node": ">=8"
},
@@ -7902,9 +7817,10 @@
"license": "BSD-3-Clause"
},
"node_modules/ignore": {
- "version": "5.2.4",
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
+ "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
"dev": true,
- "license": "MIT",
"engines": {
"node": ">= 4"
}
@@ -7933,14 +7849,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/import-lazy": {
- "version": "4.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/imurmurhash": {
"version": "0.1.4",
"dev": true,
@@ -7949,14 +7857,6 @@
"node": ">=0.8.19"
}
},
- "node_modules/indent-string": {
- "version": "4.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/inflight": {
"version": "1.0.6",
"license": "ISC",
@@ -8216,14 +8116,6 @@
"node": ">=8"
}
},
- "node_modules/is-plain-obj": {
- "version": "1.1.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/is-plain-object": {
"version": "5.0.0",
"dev": true,
@@ -8370,6 +8262,108 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/jest-util": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz",
+ "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==",
+ "dev": true,
+ "dependencies": {
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "graceful-fs": "^4.2.9",
+ "picomatch": "^2.2.3"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-util/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==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-util/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,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-util/node_modules/ci-info": {
+ "version": "3.9.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
+ "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/sibiraj-s"
+ }
+ ],
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-util/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/jest-util/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/jest-util/node_modules/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,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-util/node_modules/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,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/jest-worker": {
"version": "27.5.1",
"license": "MIT",
@@ -8452,6 +8446,12 @@
"node": ">=4"
}
},
+ "node_modules/json-buffer": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
+ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
+ "dev": true
+ },
"node_modules/json-parse-better-errors": {
"version": "1.0.2",
"dev": true,
@@ -8511,6 +8511,15 @@
"setimmediate": "^1.0.5"
}
},
+ "node_modules/keyv": {
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
+ "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
+ "dev": true,
+ "dependencies": {
+ "json-buffer": "3.0.1"
+ }
+ },
"node_modules/kind-of": {
"version": "6.0.3",
"dev": true,
@@ -8528,9 +8537,10 @@
}
},
"node_modules/known-css-properties": {
- "version": "0.26.0",
- "dev": true,
- "license": "MIT"
+ "version": "0.30.0",
+ "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.30.0.tgz",
+ "integrity": "sha512-VSWXYUnsPu9+WYKkfmJyLKtIvaRJi1kXUqVmBACORXZQxT5oZDsoZ2vQP+bQFDnWtpI/4eq3MLoRMjI2fnLzTQ==",
+ "dev": true
},
"node_modules/launch-editor": {
"version": "2.6.0",
@@ -8917,21 +8927,9 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/map-obj": {
- "version": "4.3.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/markdown-it": {
"version": "14.1.0",
- "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz",
- "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==",
+ "license": "MIT",
"dependencies": {
"argparse": "^2.0.1",
"entities": "^4.4.0",
@@ -8964,9 +8962,8 @@
},
"node_modules/media-typer": {
"version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
@@ -8983,25 +8980,12 @@
}
},
"node_modules/meow": {
- "version": "9.0.0",
+ "version": "13.2.0",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz",
+ "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/minimist": "^1.2.0",
- "camelcase-keys": "^6.2.2",
- "decamelize": "^1.2.0",
- "decamelize-keys": "^1.1.0",
- "hard-rejection": "^2.1.0",
- "minimist-options": "4.1.0",
- "normalize-package-data": "^3.0.0",
- "read-pkg-up": "^7.0.1",
- "redent": "^3.0.0",
- "trim-newlines": "^3.0.0",
- "type-fest": "^0.18.0",
- "yargs-parser": "^20.2.3"
- },
"engines": {
- "node": ">=10"
+ "node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -9088,14 +9072,6 @@
"node": ">=6"
}
},
- "node_modules/min-indent": {
- "version": "1.0.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/mini-css-extract-plugin": {
"version": "2.7.2",
"dev": true,
@@ -9169,13 +9145,17 @@
"license": "ISC"
},
"node_modules/minimatch": {
- "version": "5.1.6",
- "license": "ISC",
+ "version": "9.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
+ "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
"dependencies": {
"brace-expansion": "^2.0.1"
},
"engines": {
- "node": ">=10"
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/minimist": {
@@ -9186,19 +9166,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/minimist-options": {
- "version": "4.1.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "arrify": "^1.0.1",
- "is-plain-obj": "^1.1.0",
- "kind-of": "^6.0.3"
- },
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/minipass": {
"version": "3.3.6",
"dev": true,
@@ -9341,56 +9308,12 @@
"dev": true,
"license": "(BSD-3-Clause OR GPL-2.0)",
"engines": {
- "node": ">= 6.13.0"
- }
- },
- "node_modules/node-releases": {
- "version": "2.0.8",
- "license": "MIT"
- },
- "node_modules/normalize-package-data": {
- "version": "3.0.3",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "hosted-git-info": "^4.0.1",
- "is-core-module": "^2.5.0",
- "semver": "^7.3.4",
- "validate-npm-package-license": "^3.0.1"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/normalize-package-data/node_modules/lru-cache": {
- "version": "6.0.0",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/normalize-package-data/node_modules/semver": {
- "version": "7.6.0",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
+ "node": ">= 6.13.0"
}
},
- "node_modules/normalize-package-data/node_modules/yallist": {
- "version": "4.0.0",
- "dev": true,
- "license": "ISC"
+ "node_modules/node-releases": {
+ "version": "2.0.8",
+ "license": "MIT"
},
"node_modules/normalize-path": {
"version": "3.0.0",
@@ -10016,8 +9939,6 @@
},
"node_modules/postcss": {
"version": "8.4.38",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
- "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
"funding": [
{
"type": "opencollective",
@@ -10032,6 +9953,7 @@
"url": "https://github.com/sponsors/ai"
}
],
+ "license": "MIT",
"dependencies": {
"nanoid": "^3.3.7",
"picocolors": "^1.0.0",
@@ -10131,9 +10053,8 @@
},
"node_modules/postcss-html": {
"version": "1.6.0",
- "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-1.6.0.tgz",
- "integrity": "sha512-OWgQ9/Pe23MnNJC0PL4uZp8k0EDaUvqpJFSiwFxOLClAhmD7UEisyhO3x5hVsD4xFrjReVTXydlrMes45dJ71w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"htmlparser2": "^8.0.0",
"js-tokens": "^8.0.0",
@@ -10217,8 +10138,9 @@
},
"node_modules/postcss-media-query-parser": {
"version": "0.2.3",
- "dev": true,
- "license": "MIT"
+ "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz",
+ "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==",
+ "dev": true
},
"node_modules/postcss-merge-longhand": {
"version": "5.1.7",
@@ -10557,7 +10479,9 @@
}
},
"node_modules/postcss-scss": {
- "version": "4.0.6",
+ "version": "4.0.9",
+ "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz",
+ "integrity": "sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==",
"dev": true,
"funding": [
{
@@ -10567,20 +10491,24 @@
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/postcss-scss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
}
],
- "license": "MIT",
"engines": {
"node": ">=12.0"
},
"peerDependencies": {
- "postcss": "^8.4.19"
+ "postcss": "^8.4.29"
}
},
"node_modules/postcss-selector-parser": {
- "version": "6.0.15",
+ "version": "6.0.16",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz",
+ "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==",
"dev": true,
- "license": "MIT",
"dependencies": {
"cssesc": "^3.0.0",
"util-deprecate": "^1.0.2"
@@ -10590,11 +10518,12 @@
}
},
"node_modules/postcss-sorting": {
- "version": "7.0.1",
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-8.0.2.tgz",
+ "integrity": "sha512-M9dkSrmU00t/jK7rF6BZSZauA5MAaBW4i5EnJXspMwt4iqTh/L9j6fgMnbElEOfyRyfLfVbIHj/R52zHzAPe1Q==",
"dev": true,
- "license": "MIT",
"peerDependencies": {
- "postcss": "^8.3.9"
+ "postcss": "^8.4.20"
}
},
"node_modules/postcss-svgo": {
@@ -11147,9 +11076,8 @@
},
"node_modules/qs": {
"version": "6.11.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
- "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"side-channel": "^1.0.4"
},
@@ -11179,14 +11107,6 @@
],
"license": "MIT"
},
- "node_modules/quick-lru": {
- "version": "4.0.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/randombytes": {
"version": "2.1.0",
"license": "MIT",
@@ -11204,9 +11124,8 @@
},
"node_modules/raw-body": {
"version": "2.5.2",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
- "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"bytes": "3.1.2",
"http-errors": "2.0.0",
@@ -11219,18 +11138,16 @@
},
"node_modules/raw-body/node_modules/bytes": {
"version": "3.1.2",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
- "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/raw-body/node_modules/iconv-lite": {
"version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3"
},
@@ -11405,18 +11322,6 @@
"node": ">=8.10.0"
}
},
- "node_modules/redent": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "indent-string": "^4.0.0",
- "strip-indent": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/regenerate": {
"version": "1.4.2",
"dev": true,
@@ -11753,9 +11658,8 @@
},
"node_modules/sass": {
"version": "1.72.0",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.72.0.tgz",
- "integrity": "sha512-Gpczt3WA56Ly0Mn8Sl21Vj94s1axi9hDIzDFn9Ph9x3C3p4nNyvsqJoQyVXKou6cBlfFWEgRW4rT8Tb4i3XnVA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"chokidar": ">=3.0.0 <4.0.0",
"immutable": "^4.0.0",
@@ -11769,29 +11673,29 @@
}
},
"node_modules/sass-loader": {
- "version": "13.3.3",
- "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.3.3.tgz",
- "integrity": "sha512-mt5YN2F1MOZr3d/wBRcZxeFgwgkH44wVc2zohO2YF6JiOMkiXe4BYRZpSu2sO1g71mo/j16txzUhsKZlqjVGzA==",
+ "version": "14.2.1",
+ "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-14.2.1.tgz",
+ "integrity": "sha512-G0VcnMYU18a4N7VoNDegg2OuMjYtxnqzQWARVWCIVSZwJeiL9kg8QMsuIZOplsJgTzZLF6jGxI3AClj8I9nRdQ==",
"dev": true,
"dependencies": {
"neo-async": "^2.6.2"
},
"engines": {
- "node": ">= 14.15.0"
+ "node": ">= 18.12.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/webpack"
},
"peerDependencies": {
- "fibers": ">= 3.1.0",
+ "@rspack/core": "0.x || 1.x",
"node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0",
"sass": "^1.3.0",
"sass-embedded": "*",
"webpack": "^5.0.0"
},
"peerDependenciesMeta": {
- "fibers": {
+ "@rspack/core": {
"optional": true
},
"node-sass": {
@@ -11802,6 +11706,9 @@
},
"sass-embedded": {
"optional": true
+ },
+ "webpack": {
+ "optional": true
}
}
},
@@ -12170,8 +12077,7 @@
},
"node_modules/source-map-js": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
- "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
+ "license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
}
@@ -12379,17 +12285,6 @@
"node": ">=6"
}
},
- "node_modules/strip-indent": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "min-indent": "^1.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/strip-json-comments": {
"version": "3.1.1",
"dev": true,
@@ -12422,54 +12317,56 @@
}
},
"node_modules/stylelint": {
- "version": "14.16.1",
+ "version": "16.3.1",
+ "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.3.1.tgz",
+ "integrity": "sha512-/JOwQnBvxEKOT2RtNgGpBVXnCSMBgKOL2k7w0K52htwCyJls4+cHvc4YZgXlVoAZS9QJd2DgYAiRnja96pTgxw==",
"dev": true,
- "license": "MIT",
"dependencies": {
- "@csstools/selector-specificity": "^2.0.2",
+ "@csstools/css-parser-algorithms": "^2.6.1",
+ "@csstools/css-tokenizer": "^2.2.4",
+ "@csstools/media-query-list-parser": "^2.1.9",
+ "@csstools/selector-specificity": "^3.0.2",
+ "@dual-bundle/import-meta-resolve": "^4.0.0",
"balanced-match": "^2.0.0",
"colord": "^2.9.3",
- "cosmiconfig": "^7.1.0",
- "css-functions-list": "^3.1.0",
+ "cosmiconfig": "^9.0.0",
+ "css-functions-list": "^3.2.1",
+ "css-tree": "^2.3.1",
"debug": "^4.3.4",
- "fast-glob": "^3.2.12",
+ "fast-glob": "^3.3.2",
"fastest-levenshtein": "^1.0.16",
- "file-entry-cache": "^6.0.1",
+ "file-entry-cache": "^8.0.0",
"global-modules": "^2.0.0",
"globby": "^11.1.0",
"globjoin": "^0.1.4",
- "html-tags": "^3.2.0",
- "ignore": "^5.2.1",
- "import-lazy": "^4.0.0",
+ "html-tags": "^3.3.1",
+ "ignore": "^5.3.1",
"imurmurhash": "^0.1.4",
"is-plain-object": "^5.0.0",
- "known-css-properties": "^0.26.0",
+ "known-css-properties": "^0.30.0",
"mathml-tag-names": "^2.1.3",
- "meow": "^9.0.0",
+ "meow": "^13.2.0",
"micromatch": "^4.0.5",
"normalize-path": "^3.0.0",
"picocolors": "^1.0.0",
- "postcss": "^8.4.19",
- "postcss-media-query-parser": "^0.2.3",
+ "postcss": "^8.4.38",
"postcss-resolve-nested-selector": "^0.1.1",
- "postcss-safe-parser": "^6.0.0",
- "postcss-selector-parser": "^6.0.11",
+ "postcss-safe-parser": "^7.0.0",
+ "postcss-selector-parser": "^6.0.16",
"postcss-value-parser": "^4.2.0",
"resolve-from": "^5.0.0",
"string-width": "^4.2.3",
- "strip-ansi": "^6.0.1",
- "style-search": "^0.1.0",
- "supports-hyperlinks": "^2.3.0",
+ "strip-ansi": "^7.1.0",
+ "supports-hyperlinks": "^3.0.0",
"svg-tags": "^1.0.0",
"table": "^6.8.1",
- "v8-compile-cache": "^2.3.0",
- "write-file-atomic": "^4.0.2"
+ "write-file-atomic": "^5.0.1"
},
"bin": {
- "stylelint": "bin/stylelint.js"
+ "stylelint": "bin/stylelint.mjs"
},
"engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ "node": ">=18.12.0"
},
"funding": {
"type": "opencollective",
@@ -12492,31 +12389,44 @@
}
},
"node_modules/stylelint-config-recommended": {
- "version": "7.0.0",
+ "version": "14.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-14.0.0.tgz",
+ "integrity": "sha512-jSkx290CglS8StmrLp2TxAppIajzIBZKYm3IxT89Kg6fGlxbPiTiyH9PS5YUuVAFwaJLl1ikiXX0QWjI0jmgZQ==",
"dev": true,
- "license": "MIT",
+ "engines": {
+ "node": ">=18.12.0"
+ },
"peerDependencies": {
- "stylelint": "^14.4.0"
+ "stylelint": "^16.0.0"
}
},
"node_modules/stylelint-config-recommended-scss": {
- "version": "6.0.0",
+ "version": "14.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-14.0.0.tgz",
+ "integrity": "sha512-HDvpoOAQ1RpF+sPbDOT2Q2/YrBDEJDnUymmVmZ7mMCeNiFSdhRdyGEimBkz06wsN+HaFwUh249gDR+I9JR7Onw==",
"dev": true,
- "license": "MIT",
"dependencies": {
- "postcss-scss": "^4.0.2",
- "stylelint-config-recommended": "^7.0.0",
- "stylelint-scss": "^4.0.0"
+ "postcss-scss": "^4.0.9",
+ "stylelint-config-recommended": "^14.0.0",
+ "stylelint-scss": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=18.12.0"
},
"peerDependencies": {
- "stylelint": "^14.4.0"
+ "postcss": "^8.3.3",
+ "stylelint": "^16.0.2"
+ },
+ "peerDependenciesMeta": {
+ "postcss": {
+ "optional": true
+ }
}
},
"node_modules/stylelint-config-recommended-vue": {
"version": "1.5.0",
- "resolved": "https://registry.npmjs.org/stylelint-config-recommended-vue/-/stylelint-config-recommended-vue-1.5.0.tgz",
- "integrity": "sha512-65TAK/clUqkNtkZLcuytoxU0URQYlml+30Nhop7sRkCZ/mtWdXt7T+spPSB3KMKlb+82aEVJ4OrcstyDBdbosg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"semver": "^7.3.5",
"stylelint-config-html": ">=1.0.0",
@@ -12563,60 +12473,110 @@
"dev": true,
"license": "ISC"
},
+ "node_modules/stylelint-config-standard": {
+ "version": "36.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-36.0.0.tgz",
+ "integrity": "sha512-3Kjyq4d62bYFp/Aq8PMKDwlgUyPU4nacXsjDLWJdNPRUgpuxALu1KnlAHIj36cdtxViVhXexZij65yM0uNIHug==",
+ "dev": true,
+ "dependencies": {
+ "stylelint-config-recommended": "^14.0.0"
+ },
+ "engines": {
+ "node": ">=18.12.0"
+ },
+ "peerDependencies": {
+ "stylelint": "^16.1.0"
+ }
+ },
+ "node_modules/stylelint-config-standard-scss": {
+ "version": "13.1.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-13.1.0.tgz",
+ "integrity": "sha512-Eo5w7/XvwGHWkeGLtdm2FZLOMYoZl1omP2/jgFCXyl2x5yNz7/8vv4Tj6slHvMSSUNTaGoam/GAZ0ZhukvalfA==",
+ "dev": true,
+ "dependencies": {
+ "stylelint-config-recommended-scss": "^14.0.0",
+ "stylelint-config-standard": "^36.0.0"
+ },
+ "engines": {
+ "node": ">=18.12.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.3.3",
+ "stylelint": "^16.3.1"
+ },
+ "peerDependenciesMeta": {
+ "postcss": {
+ "optional": true
+ }
+ }
+ },
"node_modules/stylelint-order": {
- "version": "5.0.0",
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-6.0.4.tgz",
+ "integrity": "sha512-0UuKo4+s1hgQ/uAxlYU4h0o0HS4NiQDud0NAUNI0aa8FJdmYHA5ZZTFHiV5FpmE3071e9pZx5j0QpVJW5zOCUA==",
"dev": true,
- "license": "MIT",
"dependencies": {
- "postcss": "^8.3.11",
- "postcss-sorting": "^7.0.1"
+ "postcss": "^8.4.32",
+ "postcss-sorting": "^8.0.2"
},
"peerDependencies": {
- "stylelint": "^14.0.0"
+ "stylelint": "^14.0.0 || ^15.0.0 || ^16.0.1"
}
},
"node_modules/stylelint-scss": {
- "version": "4.7.0",
- "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-4.7.0.tgz",
- "integrity": "sha512-TSUgIeS0H3jqDZnby1UO1Qv3poi1N8wUYIJY6D1tuUq2MN3lwp/rITVo0wD+1SWTmRm0tNmGO0b7nKInnqF6Hg==",
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.2.1.tgz",
+ "integrity": "sha512-ZoGLbVb1keZYRVGQlhB8G6sZOoNqw61whzzzGFWp05N12ErqLFfBv3JPrXiMLZaW98sBS7K/vUQhRnvUj4vwdw==",
"dev": true,
"dependencies": {
+ "known-css-properties": "^0.29.0",
"postcss-media-query-parser": "^0.2.3",
"postcss-resolve-nested-selector": "^0.1.1",
- "postcss-selector-parser": "^6.0.11",
+ "postcss-selector-parser": "^6.0.15",
"postcss-value-parser": "^4.2.0"
},
+ "engines": {
+ "node": ">=18.12.0"
+ },
"peerDependencies": {
- "stylelint": "^14.5.1 || ^15.0.0"
+ "stylelint": "^16.0.2"
}
},
+ "node_modules/stylelint-scss/node_modules/known-css-properties": {
+ "version": "0.29.0",
+ "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.29.0.tgz",
+ "integrity": "sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==",
+ "dev": true
+ },
"node_modules/stylelint-webpack-plugin": {
- "version": "3.3.0",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-webpack-plugin/-/stylelint-webpack-plugin-5.0.0.tgz",
+ "integrity": "sha512-f56OmfvIYfZpL5+TKg3LZ+Ehzoar5GAwytUtsdti+W6WhR3UpQC36vmXHsKxx9ibj7dKXCIKea6w0U+LdVSBmg==",
"dev": true,
- "license": "MIT",
"dependencies": {
"globby": "^11.1.0",
- "jest-worker": "^28.1.0",
+ "jest-worker": "^29.7.0",
"micromatch": "^4.0.5",
"normalize-path": "^3.0.0",
- "schema-utils": "^4.0.0"
+ "schema-utils": "^4.2.0"
},
"engines": {
- "node": ">= 12.13.0"
+ "node": ">= 18.12.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/webpack"
},
"peerDependencies": {
- "stylelint": "^13.0.0 || ^14.0.0",
+ "stylelint": "^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0",
"webpack": "^5.0.0"
}
},
"node_modules/stylelint-webpack-plugin/node_modules/ajv": {
"version": "8.12.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
+ "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
"dev": true,
- "license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.1",
"json-schema-traverse": "^1.0.0",
@@ -12630,8 +12590,9 @@
},
"node_modules/stylelint-webpack-plugin/node_modules/ajv-keywords": {
"version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
+ "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
"dev": true,
- "license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.3"
},
@@ -12641,39 +12602,44 @@
},
"node_modules/stylelint-webpack-plugin/node_modules/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,
- "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/stylelint-webpack-plugin/node_modules/jest-worker": {
- "version": "28.1.3",
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz",
+ "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==",
"dev": true,
- "license": "MIT",
"dependencies": {
"@types/node": "*",
+ "jest-util": "^29.7.0",
"merge-stream": "^2.0.0",
"supports-color": "^8.0.0"
},
"engines": {
- "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
"node_modules/stylelint-webpack-plugin/node_modules/json-schema-traverse": {
"version": "1.0.0",
- "dev": true,
- "license": "MIT"
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
},
"node_modules/stylelint-webpack-plugin/node_modules/schema-utils": {
- "version": "4.0.0",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz",
+ "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==",
"dev": true,
- "license": "MIT",
"dependencies": {
"@types/json-schema": "^7.0.9",
- "ajv": "^8.8.0",
+ "ajv": "^8.9.0",
"ajv-formats": "^2.1.1",
- "ajv-keywords": "^5.0.0"
+ "ajv-keywords": "^5.1.0"
},
"engines": {
"node": ">= 12.13.0"
@@ -12685,8 +12651,9 @@
},
"node_modules/stylelint-webpack-plugin/node_modules/supports-color": {
"version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
"dev": true,
- "license": "MIT",
"dependencies": {
"has-flag": "^4.0.0"
},
@@ -12697,24 +12664,117 @@
"url": "https://github.com/chalk/supports-color?sponsor=1"
}
},
+ "node_modules/stylelint/node_modules/ansi-regex": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+ "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
"node_modules/stylelint/node_modules/balanced-match": {
"version": "2.0.0",
"dev": true,
"license": "MIT"
},
"node_modules/stylelint/node_modules/cosmiconfig": {
- "version": "7.1.0",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz",
+ "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==",
"dev": true,
- "license": "MIT",
"dependencies": {
- "@types/parse-json": "^4.0.0",
- "import-fresh": "^3.2.1",
- "parse-json": "^5.0.0",
- "path-type": "^4.0.0",
- "yaml": "^1.10.0"
+ "env-paths": "^2.2.1",
+ "import-fresh": "^3.3.0",
+ "js-yaml": "^4.1.0",
+ "parse-json": "^5.2.0"
},
"engines": {
- "node": ">=10"
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/d-fischer"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.9.5"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/stylelint/node_modules/css-tree": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz",
+ "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==",
+ "dev": true,
+ "dependencies": {
+ "mdn-data": "2.0.30",
+ "source-map-js": "^1.0.1"
+ },
+ "engines": {
+ "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
+ }
+ },
+ "node_modules/stylelint/node_modules/file-entry-cache": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
+ "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==",
+ "dev": true,
+ "dependencies": {
+ "flat-cache": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/stylelint/node_modules/flat-cache": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz",
+ "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==",
+ "dev": true,
+ "dependencies": {
+ "flatted": "^3.2.9",
+ "keyv": "^4.5.4"
+ },
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/stylelint/node_modules/mdn-data": {
+ "version": "2.0.30",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
+ "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
+ "dev": true
+ },
+ "node_modules/stylelint/node_modules/postcss-safe-parser": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.0.tgz",
+ "integrity": "sha512-ovehqRNVCpuFzbXoTb4qLtyzK3xn3t/CUBxOs8LsnQjQrShaB4lKiHoVqY8ANaC0hBMHq5QVWk77rwGklFUDrg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "engines": {
+ "node": ">=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
"node_modules/stylelint/node_modules/resolve-from": {
@@ -12725,6 +12785,21 @@
"node": ">=8"
}
},
+ "node_modules/stylelint/node_modules/strip-ansi": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+ "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
"node_modules/supports-color": {
"version": "5.5.0",
"dev": true,
@@ -12737,29 +12812,32 @@
}
},
"node_modules/supports-hyperlinks": {
- "version": "2.3.0",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz",
+ "integrity": "sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==",
"dev": true,
- "license": "MIT",
"dependencies": {
"has-flag": "^4.0.0",
"supports-color": "^7.0.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=14.18"
}
},
"node_modules/supports-hyperlinks/node_modules/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,
- "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/supports-hyperlinks/node_modules/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,
- "license": "MIT",
"dependencies": {
"has-flag": "^4.0.0"
},
@@ -13108,25 +13186,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/trim-newlines": {
- "version": "3.0.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ts-api-utils": {
- "version": "1.3.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=16"
- },
- "peerDependencies": {
- "typescript": ">=4.2.0"
- }
- },
"node_modules/ts-loader": {
"version": "9.4.2",
"dev": true,
@@ -13296,22 +13355,10 @@
"node": ">= 0.8.0"
}
},
- "node_modules/type-fest": {
- "version": "0.18.1",
- "dev": true,
- "license": "(MIT OR CC0-1.0)",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/type-is": {
"version": "1.6.18",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
- "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"media-typer": "0.3.0",
"mime-types": "~2.1.24"
@@ -13403,8 +13450,7 @@
},
"node_modules/uc.micro": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
- "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A=="
+ "license": "MIT"
},
"node_modules/unbox-primitive": {
"version": "1.0.2",
@@ -13520,11 +13566,6 @@
"node": ">= 0.4.0"
}
},
- "node_modules/v8-compile-cache": {
- "version": "2.3.0",
- "dev": true,
- "license": "MIT"
- },
"node_modules/validate-npm-package-license": {
"version": "3.0.4",
"dev": true,
@@ -13552,8 +13593,7 @@
},
"node_modules/vue": {
"version": "3.4.21",
- "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.21.tgz",
- "integrity": "sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==",
+ "license": "MIT",
"dependencies": {
"@vue/compiler-dom": "3.4.21",
"@vue/compiler-sfc": "3.4.21",
@@ -13664,8 +13704,7 @@
},
"node_modules/vue-loader": {
"version": "17.4.2",
- "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-17.4.2.tgz",
- "integrity": "sha512-yTKOA4R/VN4jqjw4y5HrynFL8AK0Z3/Jt7eOJXEitsm0GMRHDBjCfCiuTiLP7OESvsZYo2pATCWhDqxC5ZrM6w==",
+ "license": "MIT",
"dependencies": {
"chalk": "^4.1.0",
"hash-sum": "^2.0.0",
@@ -13743,8 +13782,7 @@
},
"node_modules/vue-loading-overlay": {
"version": "6.0.4",
- "resolved": "https://registry.npmjs.org/vue-loading-overlay/-/vue-loading-overlay-6.0.4.tgz",
- "integrity": "sha512-DmMqLjQULk4bJ6C1IyDQzasgxb03KLrcj6nitlMIJkh6np0rQkWpgdu0upS3lJcrF9q+dmrhnU+A8I5pz41bqw==",
+ "license": "MIT",
"engines": {
"node": ">=12.13.0"
},
@@ -13758,8 +13796,7 @@
},
"node_modules/vue-router": {
"version": "4.3.0",
- "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.3.0.tgz",
- "integrity": "sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==",
+ "license": "MIT",
"dependencies": {
"@vue/devtools-api": "^6.5.1"
},
@@ -13999,9 +14036,8 @@
},
"node_modules/webpack-dev-middleware": {
"version": "5.3.4",
- "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz",
- "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"colorette": "^2.0.10",
"memfs": "^3.4.3",
@@ -14395,15 +14431,28 @@
"license": "ISC"
},
"node_modules/write-file-atomic": {
- "version": "4.0.2",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz",
+ "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==",
"dev": true,
- "license": "ISC",
"dependencies": {
"imurmurhash": "^0.1.4",
- "signal-exit": "^3.0.7"
+ "signal-exit": "^4.0.1"
},
"engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/write-file-atomic/node_modules/signal-exit": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+ "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+ "dev": true,
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/ws": {
@@ -14595,8 +14644,7 @@
},
"node_modules/zod": {
"version": "3.22.4",
- "resolved": "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz",
- "integrity": "sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==",
+ "license": "MIT",
"funding": {
"url": "https://github.com/sponsors/colinhacks"
}
diff --git a/frontend/package.json b/frontend/package.json
index 5e785d9722..94cfbc33d1 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -14,7 +14,7 @@
},
"main": "index.js",
"dependencies": {
- "@fontsource/titillium-web": "^4.5.3",
+ "@fontsource/titillium-web": "^5.0.0",
"@fortawesome/fontawesome-svg-core": "^6.5.1",
"@fortawesome/free-brands-svg-icons": "^6.5.1",
"@fortawesome/free-solid-svg-icons": "^6.5.1",
@@ -26,7 +26,7 @@
"highlight.js": "^10.5.0",
"jszip": "^3.5.0",
"markdown-it": "^14.1.0",
- "minimatch": "^5.0.1",
+ "minimatch": "^9.0.0",
"muicss": "^0.10.3",
"normalize.css": "^8.0.1",
"postcss": "^8.4.38",
@@ -42,8 +42,9 @@
},
"devDependencies": {
"@babel/eslint-parser": "^7.24.1",
- "@typescript-eslint/eslint-plugin": "^6.0.0",
- "@typescript-eslint/parser": "^6.0.0",
+ "@stylistic/stylelint-plugin": "^2.1.0",
+ "@typescript-eslint/eslint-plugin": "^5.5.0",
+ "@typescript-eslint/parser": "^5.5.0",
"@vue/cli-plugin-babel": "^5.0.4",
"@vue/cli-plugin-eslint": "^5.0.4",
"@vue/cli-plugin-typescript": "^5.0.4",
@@ -54,18 +55,18 @@
"eslint-config-airbnb-base": "^15.0.0",
"eslint-config-airbnb-typescript": "^17.1.0",
"eslint-plugin-import": "^2.29.1",
- "eslint-plugin-vue": "^8.4.1",
+ "eslint-plugin-vue": "^8.4.3",
"postcss-html": "^1.6.0",
"pug": "^3.0.2",
"pug-plain-loader": "^1.1.0",
"sass": "^1.71.0",
- "sass-loader": "^13.3.3",
- "stylelint": "^14.7.1",
- "stylelint-config-recommended-scss": "^6.0.0",
+ "sass-loader": "^14.0.0",
+ "stylelint": "^16.1.0",
"stylelint-config-recommended-vue": "^1.5.0",
- "stylelint-order": "^5.0.0",
- "stylelint-scss": "^4.7.0",
- "stylelint-webpack-plugin": "^3.2.0",
+ "stylelint-config-standard": "^36.0.0",
+ "stylelint-config-standard-scss": "^13.0.0",
+ "stylelint-order": "^6.0.4",
+ "stylelint-webpack-plugin": "^5.0.0",
"typescript": "^4.9.5"
},
"bugs": {
diff --git a/frontend/public/title.md b/frontend/public/title.md
new file mode 100644
index 0000000000..b10a80835c
--- /dev/null
+++ b/frontend/public/title.md
@@ -0,0 +1,3 @@
+# RepoSense
+
+RepoSense is a powerful tool for analyzing repositories. It provides valuable insights into your codebase, helping you understand the development patterns, identify areas for improvement, and track the contributions of individual team members.
diff --git a/frontend/src/components/c-file-type-checkboxes.vue b/frontend/src/components/c-file-type-checkboxes.vue
new file mode 100644
index 0000000000..263d4bcdf9
--- /dev/null
+++ b/frontend/src/components/c-file-type-checkboxes.vue
@@ -0,0 +1,120 @@
+
+.checkboxes.mui-form--inline(v-if="fileTypes.length > 0")
+ label.all-checkbox
+ input.mui-checkbox--fileType#all(type="checkbox", v-model="isAllChecked", value="all")
+ span(v-if="allCheckboxLabel", v-bind:title="getTitle(allCheckboxLabel)")
+ span {{ getLabel(allCheckboxLabel) }}
+ span(v-else) All
+ label(
+ v-for="fileType, index in fileTypes",
+ v-bind:key="fileType",
+ v-bind:style="{\
+ 'background-color': fileTypeColors[fileType],\
+ 'color': getFontColor(fileTypeColors[fileType])\
+ }"
+ )
+ input.mui-checkbox--fileType(type="checkbox", v-bind:value="fileType",
+ v-model="localSelectedFileTypes", v-bind:id="fileType")
+ span(v-if="fileTypeCheckboxLabels", v-bind:title="getTitle(fileTypeCheckboxLabels[index])")
+ span {{ getLabel(fileTypeCheckboxLabels[index]) }}
+ span(v-else) {{ this.fileTypes[index] }}
+
+
+
+
+
diff --git a/frontend/src/components/c-summary-charts.vue b/frontend/src/components/c-summary-charts.vue
index e017ec6045..34f676bb88 100644
--- a/frontend/src/components/c-summary-charts.vue
+++ b/frontend/src/components/c-summary-charts.vue
@@ -27,11 +27,13 @@
)
| [{{ getGroupTotalContribution(repo) }} lines]
span.tooltip-text(
- v-if="filterGroupSelection === 'groupByRepos' && !isChartGroupWidgetMode"
- )(v-bind:ref="`summary-charts-${i}-total-contribution`") Total contribution of group
+ v-if="filterGroupSelection === 'groupByRepos' && !isChartGroupWidgetMode",
+ v-bind:ref="`summary-charts-${i}-total-contribution`"
+ ) Total contribution of group
span.tooltip-text(
- v-else-if="filterGroupSelection === 'groupByAuthors' && !isChartGroupWidgetMode"
- )(v-bind:ref="`summary-charts-${i}-total-contribution`") Total contribution of author
+ v-else-if="filterGroupSelection === 'groupByAuthors' && !isChartGroupWidgetMode",
+ v-bind:ref="`summary-charts-${i}-total-contribution`"
+ ) Total contribution of author
a(
v-if="!isGroupMerged(getGroupName(repo)) && !isChartGroupWidgetMode",
v-on:click="handleMergeGroup(getGroupName(repo))"
@@ -153,7 +155,8 @@
.summary-chart(
v-for="(user, j) in getRepo(repo)",
v-bind:style="isChartGroupWidgetMode && j === getRepo(repo).length - 1 ? {'marginBottom': 0} : {}",
- v-bind:ref="'summary-chart-' + j"
+ v-bind:ref="'summary-chart-' + j",
+ v-bind:id="user.name === activeUser && user.repoName === activeRepo ? 'selectedChart' : null"
)
.summary-chart__title(
v-if="!isGroupMerged(getGroupName(repo))",
@@ -428,6 +431,15 @@ export default defineComponent({
this.removeSelectedTab();
}
},
+
+ // watching so highlighted only when summary charts are rendered
+ filteredRepos() {
+ this.$nextTick(() => {
+ if (this.activeRepo !== null && this.activeUser !== null) {
+ this.scrollToActiveRepo();
+ }
+ });
+ },
},
created(): void {
this.retrieveSelectedTabHash();
@@ -829,6 +841,8 @@ export default defineComponent({
this.activeTabType = tabType;
window.encodeHash();
+
+ this.$nextTick(() => this.scrollToActiveRepo());
},
removeSelectedTab(): void {
@@ -881,6 +895,13 @@ export default defineComponent({
return totalContribution / totalCommits;
},
+
+ scrollToActiveRepo(): void {
+ const chart = document.getElementById('selectedChart');
+ if (chart) {
+ chart.scrollIntoView({ block: 'nearest' });
+ }
+ },
},
});
diff --git a/frontend/src/views/c-authorship.vue b/frontend/src/views/c-authorship.vue
index 82a7f05a33..5cdbcdd5d1 100644
--- a/frontend/src/views/c-authorship.vue
+++ b/frontend/src/views/c-authorship.vue
@@ -61,27 +61,15 @@
v-model="filterType",
v-on:change="indicateCheckBoxes"
)
- .checkboxes.mui-form--inline(v-if="info.files.length > 0")
- label(style='background-color: #000000; color: #ffffff')
- input.mui-checkbox--fileType#all(type="checkbox", v-model="isSelectAllChecked")
- span(v-bind:title="getTotalFileBlankLineInfo()")
- span All
- span {{ totalLineCount }}
- span ({{ totalLineCount - totalBlankLineCount }})
- template(v-for="fileType in Object.keys(fileTypeLinesObj)", v-bind:key="fileType")
- label(
- v-bind:style="{\
- 'background-color': fileTypeColors[fileType],\
- 'color': getFontColor(fileTypeColors[fileType])\
- }"
- )
- input.mui-checkbox--fileType(type="checkbox",
- v-bind:id="fileType", v-bind:value="fileType",
- v-on:change="indicateCheckBoxes", v-model="selectedFileTypes")
- span(v-bind:title="getFileTypeBlankLineInfo(fileType)")
- span {{ fileType }} {{ fileTypeLinesObj[fileType] }}
- span ({{ fileTypeLinesObj[fileType] - fileTypeBlankLinesObj[fileType] }})
- br
+ c-file-type-checkboxes(
+ v-bind:file-types="fileTypes",
+ v-bind:file-type-colors="fileTypeColors",
+ v-model:selected-file-types="selectedFileTypes",
+ @update:selected-file-types="indicateCheckBoxes",
+ v-bind:all-checkbox-label="allCheckboxLabel",
+ v-bind:file-type-checkbox-labels="checkboxLabels"
+ )
+ .checkboxes.mui-form--inline
label.binary-fileType(v-if="binaryFilesCount > 0")
input.mui-checkbox--fileType(type="checkbox", v-model="isBinaryChecked")
span(
@@ -109,9 +97,10 @@