Bump dependencies to latest, hold ESLint
This commit updates the project's npm dependencies to their
latest versions.
Updates to the following dependencies are on hold due to compatibility
issues:
- `@typescript-eslint/eslint-plugin`:
- Blocked by `@vue/eslint-config-airbnb-with-typescript`
(vuejs/eslint-config-airbnb#63).
- `@typescript-eslint/parser`:
- Blocked by `@vue/eslint-config-airbnb-with-typescript`
(vuejs/eslint-config-airbnb#63).
- `@vue/eslint-config-typescript`:
- Blocked by `@vue/eslint-config-airbnb-with-typescript`
(vuejs/eslint-config-airbnb#63).
- `eslint`:
- Blocked by `@vue/eslint-config-airbnb-with-typescript`
(vuejs/eslint-config-airbnb#65).
- Blocked by `@typescript-eslint/eslint-plugin` and
`@typescript-eslint/parser`
(typescript-eslint/typescript-eslint#8211).
These dependencies remain at their current major versions, and
their status is documented in the `package.json` to inform future
updates.
Other supporting changes:
- Moves `@types/markdown-it` to `devDependencies` which was incorrectly
included in `dependencies`.
- Fix error in `TreeView.spec` tests, revealed by the version bump.
- Update `markdown-it` import to match the new file.
This commit is contained in:
7727
package-lock.json
generated
7727
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
70
package.json
70
package.json
@@ -33,62 +33,66 @@
|
|||||||
"postuninstall": "electron-builder install-app-deps"
|
"postuninstall": "electron-builder install-app-deps"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@floating-ui/vue": "^1.0.2",
|
"@floating-ui/vue": "^1.0.6",
|
||||||
"@juggle/resize-observer": "^3.4.0",
|
"@juggle/resize-observer": "^3.4.0",
|
||||||
"@types/markdown-it": "^13.0.7",
|
"ace-builds": "^1.33.0",
|
||||||
"ace-builds": "^1.30.0",
|
|
||||||
"electron-log": "^5.1.2",
|
"electron-log": "^5.1.2",
|
||||||
"electron-progressbar": "^2.1.0",
|
"electron-progressbar": "^2.2.1",
|
||||||
"electron-updater": "^6.1.4",
|
"electron-updater": "^6.1.9",
|
||||||
"file-saver": "^2.0.5",
|
"file-saver": "^2.0.5",
|
||||||
"markdown-it": "^13.0.2",
|
"markdown-it": "^14.1.0",
|
||||||
"vue": "^3.3.7"
|
"vue": "^3.4.21"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@modyfi/vite-plugin-yaml": "^1.1.0",
|
"@modyfi/vite-plugin-yaml": "^1.1.0",
|
||||||
"@rushstack/eslint-patch": "^1.6.1",
|
"@rushstack/eslint-patch": "^1.10.2",
|
||||||
"@types/ace": "^0.0.49",
|
"@types/ace": "^0.0.52",
|
||||||
"@types/file-saver": "^2.0.5",
|
"@types/file-saver": "^2.0.7",
|
||||||
"@typescript-eslint/eslint-plugin": "^6.17.0",
|
"@types/markdown-it": "^14.0.1",
|
||||||
"@typescript-eslint/parser": "^6.17.0",
|
"@typescript-eslint/eslint-plugin": "6.21.0",
|
||||||
|
"@typescript-eslint/parser": "6.21.0",
|
||||||
"@vitejs/plugin-legacy": "^5.3.2",
|
"@vitejs/plugin-legacy": "^5.3.2",
|
||||||
"@vitejs/plugin-vue": "^5.0.4",
|
"@vitejs/plugin-vue": "^5.0.4",
|
||||||
"@vue/eslint-config-airbnb-with-typescript": "^8.0.0",
|
"@vue/eslint-config-airbnb-with-typescript": "^8.0.0",
|
||||||
"@vue/eslint-config-typescript": "^12.0.0",
|
"@vue/eslint-config-typescript": "12.0.0",
|
||||||
"@vue/test-utils": "^2.4.1",
|
"@vue/test-utils": "^2.4.5",
|
||||||
"autoprefixer": "^10.4.16",
|
"autoprefixer": "^10.4.19",
|
||||||
"cypress": "^13.3.1",
|
"cypress": "^13.7.3",
|
||||||
"electron": "^29.1.4",
|
"electron": "^29.3.0",
|
||||||
"electron-builder": "^24.13.3",
|
"electron-builder": "^24.13.3",
|
||||||
"electron-devtools-installer": "^3.2.0",
|
"electron-devtools-installer": "^3.2.0",
|
||||||
"electron-icon-builder": "^2.0.1",
|
"electron-icon-builder": "^2.0.1",
|
||||||
"electron-vite": "^2.1.0",
|
"electron-vite": "^2.1.0",
|
||||||
"eslint": "^8.56.0",
|
"eslint": "8.57.0",
|
||||||
"eslint-plugin-cypress": "^2.15.1",
|
"eslint-plugin-cypress": "^2.15.1",
|
||||||
"eslint-plugin-vue": "^9.19.2",
|
"eslint-plugin-vue": "^9.25.0",
|
||||||
"eslint-plugin-vuejs-accessibility": "^2.2.0",
|
"eslint-plugin-vuejs-accessibility": "^2.2.1",
|
||||||
"icon-gen": "^4.0.0",
|
"icon-gen": "^4.0.0",
|
||||||
"jsdom": "^22.1.0",
|
"jsdom": "^24.0.0",
|
||||||
"markdownlint-cli": "^0.37.0",
|
"markdownlint-cli": "^0.39.0",
|
||||||
"postcss": "^8.4.31",
|
"postcss": "^8.4.38",
|
||||||
"remark-cli": "^12.0.0",
|
"remark-cli": "^12.0.0",
|
||||||
"remark-lint-no-dead-urls": "^1.1.0",
|
"remark-lint-no-dead-urls": "^1.1.0",
|
||||||
"remark-preset-lint-consistent": "^5.1.2",
|
"remark-preset-lint-consistent": "^6.0.0",
|
||||||
"remark-validate-links": "^13.0.0",
|
"remark-validate-links": "^13.0.1",
|
||||||
"sass": "^1.69.3",
|
"sass": "^1.75.0",
|
||||||
"start-server-and-test": "^2.0.1",
|
"start-server-and-test": "^2.0.3",
|
||||||
"svgexport": "^0.4.2",
|
"svgexport": "^0.4.2",
|
||||||
"terser": "^5.21.0",
|
"terser": "^5.30.3",
|
||||||
"tslib": "^2.6.2",
|
"tslib": "^2.6.2",
|
||||||
"typescript": "^5.3.3",
|
"typescript": "^5.4.5",
|
||||||
"vite": "^5.1.6",
|
"vite": "^5.2.8",
|
||||||
"vitest": "^1.3.1",
|
"vitest": "^1.5.0",
|
||||||
"vue-tsc": "^1.8.19",
|
"vue-tsc": "^2.0.13",
|
||||||
"yaml-lint": "^1.7.0"
|
"yaml-lint": "^1.7.0"
|
||||||
},
|
},
|
||||||
"//devDependencies": {
|
"//devDependencies": {
|
||||||
"terser": "Used by `@vitejs/plugin-legacy` for minification",
|
"terser": "Used by `@vitejs/plugin-legacy` for minification",
|
||||||
"@rushstack/eslint-patch": "Needed by `@vue/eslint-config-typescript` and `@vue/eslint-config-airbnb-with-typescript`"
|
"@rushstack/eslint-patch": "Needed by `@vue/eslint-config-typescript` and `@vue/eslint-config-airbnb-with-typescript`",
|
||||||
|
"@typescript-eslint/eslint-plugin": "Cannot migrate to v7 because of `@vue/eslint-config-airbnb-with-typescript`, see https://github.com/vuejs/eslint-config-airbnb/issues/63",
|
||||||
|
"@typescript-eslint/parser": "Cannot migrate to v7 because of `@vue/eslint-config-airbnb-with-typescript`, see https://github.com/vuejs/eslint-config-airbnb/issues/63",
|
||||||
|
"@vue/eslint-config-typescript": "Cannot migrate to v13 because of `@vue/eslint-config-airbnb-with-typescript`, see https://github.com/vuejs/eslint-config-airbnb/issues/63",
|
||||||
|
"eslint": "Cannot migrate to v9 `@typescript-eslint/eslint-plugin` (≤ v7), `@typescript-eslint/parser` (≤ v7), `@vue/eslint-config-airbnb-with-typescript@` (≤ v8) requires `eslint` ≤ v8, see https://github.com/vuejs/eslint-config-airbnb/issues/65, https://github.com/typescript-eslint/typescript-eslint/issues/8211"
|
||||||
},
|
},
|
||||||
"homepage": "https://privacy.sexy",
|
"homepage": "https://privacy.sexy",
|
||||||
"repository": {
|
"repository": {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import MarkdownIt from 'markdown-it';
|
import MarkdownIt from 'markdown-it';
|
||||||
import type { MarkdownRenderer } from '../MarkdownRenderer';
|
import type { MarkdownRenderer } from '../MarkdownRenderer';
|
||||||
import type { RenderRule } from 'markdown-it/lib/renderer';
|
import type { RenderRule } from 'markdown-it/lib/renderer.mjs'; // eslint-disable-line import/extensions
|
||||||
|
|
||||||
export class MarkdownItHtmlRenderer implements MarkdownRenderer {
|
export class MarkdownItHtmlRenderer implements MarkdownRenderer {
|
||||||
public render(markdownContent: string): string {
|
public render(markdownContent: string): string {
|
||||||
|
|||||||
@@ -12,7 +12,9 @@ describe('TreeView', () => {
|
|||||||
it('renders all provided root nodes correctly', async () => {
|
it('renders all provided root nodes correctly', async () => {
|
||||||
// arrange
|
// arrange
|
||||||
const nodes = createSampleNodes();
|
const nodes = createSampleNodes();
|
||||||
const wrapper = createTreeViewWrapper(nodes);
|
const { wrapper } = mountWrapperComponent({
|
||||||
|
initialNodeData: nodes,
|
||||||
|
});
|
||||||
|
|
||||||
// act
|
// act
|
||||||
await waitForStableDom(wrapper.element);
|
await waitForStableDom(wrapper.element);
|
||||||
@@ -33,10 +35,12 @@ describe('TreeView', () => {
|
|||||||
const secondNodeLabel = 'Node 2';
|
const secondNodeLabel = 'Node 2';
|
||||||
const initialNodes: TreeInputNodeDataWithMetadata[] = [{ id: 'node1', data: { label: firstNodeLabel } }];
|
const initialNodes: TreeInputNodeDataWithMetadata[] = [{ id: 'node1', data: { label: firstNodeLabel } }];
|
||||||
const updatedNodes: TreeInputNodeDataWithMetadata[] = [{ id: 'node2', data: { label: secondNodeLabel } }];
|
const updatedNodes: TreeInputNodeDataWithMetadata[] = [{ id: 'node2', data: { label: secondNodeLabel } }];
|
||||||
const wrapper = createTreeViewWrapper(initialNodes);
|
const { wrapper, nodes } = mountWrapperComponent({
|
||||||
|
initialNodeData: initialNodes,
|
||||||
|
});
|
||||||
|
|
||||||
// act
|
// act
|
||||||
await wrapper.setProps({ nodes: updatedNodes });
|
nodes.value = updatedNodes;
|
||||||
await waitForStableDom(wrapper.element);
|
await waitForStableDom(wrapper.element);
|
||||||
|
|
||||||
// assert
|
// assert
|
||||||
@@ -45,15 +49,17 @@ describe('TreeView', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
function createTreeViewWrapper(initialNodeData: readonly TreeInputNodeDataWithMetadata[]) {
|
function mountWrapperComponent(options?: {
|
||||||
return mount(defineComponent({
|
readonly initialNodeData?: readonly TreeInputNodeDataWithMetadata[],
|
||||||
|
}) {
|
||||||
|
const nodes = shallowRef(options?.initialNodeData ?? createSampleNodes());
|
||||||
|
const wrapper = mount(defineComponent({
|
||||||
components: {
|
components: {
|
||||||
TreeView,
|
TreeView,
|
||||||
},
|
},
|
||||||
setup() {
|
setup() {
|
||||||
provideDependencies(new ApplicationContextStub());
|
provideDependencies(new ApplicationContextStub());
|
||||||
|
|
||||||
const nodes = shallowRef(initialNodeData);
|
|
||||||
const selectedLeafNodeIds = shallowRef<readonly string[]>([]);
|
const selectedLeafNodeIds = shallowRef<readonly string[]>([]);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
@@ -72,6 +78,10 @@ function createTreeViewWrapper(initialNodeData: readonly TreeInputNodeDataWithMe
|
|||||||
</TreeView>
|
</TreeView>
|
||||||
`,
|
`,
|
||||||
}));
|
}));
|
||||||
|
return {
|
||||||
|
wrapper,
|
||||||
|
nodes,
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
interface TreeInputMetadata {
|
interface TreeInputMetadata {
|
||||||
|
|||||||
Reference in New Issue
Block a user