From e87f25d993e086a2c224759ca81de72c2f08e3f7 Mon Sep 17 00:00:00 2001 From: Ellen Kraffmiller Date: Thu, 20 Feb 2025 11:51:32 -0500 Subject: [PATCH 1/4] fix: convert html to markdown in CollectionInfo.tsx --- package-lock.json | 28 +++++++++++----------- package.json | 3 ++- src/sections/collection/CollectionInfo.tsx | 4 +++- 3 files changed, 19 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index 79195dbff..4b6561695 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@dnd-kit/sortable": "8.0.0", "@dnd-kit/utilities": "3.2.2", "@faker-js/faker": "7.6.0", - "@iqss/dataverse-client-javascript": "2.0.0-alpha.19", + "@iqss/dataverse-client-javascript": "2.0.0-pr265.700ed8c", "@iqss/dataverse-design-system": "*", "@istanbuljs/nyc-config-typescript": "1.0.2", "@tanstack/react-table": "8.9.2", @@ -45,6 +45,7 @@ "react-toastify": "11.0.2", "react-topbar-progress-indicator": "4.1.1", "sass": "1.58.1", + "turndown": "^7.2.0", "typescript": "5.7.2", "use-deep-compare": "1.2.1", "vite-plugin-istanbul": "4.0.1", @@ -3680,10 +3681,9 @@ }, "node_modules/@iqss/dataverse-client-javascript": { "name": "@IQSS/dataverse-client-javascript", - "version": "2.0.0-alpha.19", - "resolved": "https://npm.pkg.github.com/download/@IQSS/dataverse-client-javascript/2.0.0-alpha.19/eaf290441d10b92b5835e5820a1b0f6ad910985a", - "integrity": "sha512-Kb65bjMFR+Gadkqi2z+9Iz4zhHMrIa6pZzia+l8yoyEIdH9lLm1T4bPYx0ETaZde4zAsio6r39A15Fs1c6CqHw==", - "license": "MIT", + "version": "2.0.0-pr265.700ed8c", + "resolved": "https://npm.pkg.github.com/download/@IQSS/dataverse-client-javascript/2.0.0-pr265.700ed8c/2b100d803c7aff612eac31c3f8edecddcfc15d87", + "integrity": "sha512-lbcq4ZT8l9nDFneO01kavIcri99+j0RSjOGN6aLn3H3BmbwOiCHEmZoJYFT1Te/B4QXHGem2ypkLdTqrKHP4Yg==", "dependencies": { "@types/node": "^18.15.11", "@types/turndown": "^5.0.1", @@ -5368,6 +5368,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/@mixmark-io/domino": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@mixmark-io/domino/-/domino-2.2.0.tgz", + "integrity": "sha512-Y28PR25bHXUg88kCV7nivXrP2Nj2RueZ3/l/jdx6J9f8J4nsEGcgX0Qe6lt7Pa+J79+kPiJU3LguR6O/6zrLOw==" + }, "node_modules/@mrmlnc/readdir-enhanced": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", @@ -22026,11 +22031,6 @@ "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/domino": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/domino/-/domino-2.1.6.tgz", - "integrity": "sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ==" - }, "node_modules/dompurify": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.3.tgz", @@ -41972,11 +41972,11 @@ } }, "node_modules/turndown": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/turndown/-/turndown-7.1.2.tgz", - "integrity": "sha512-ntI9R7fcUKjqBP6QU8rBK2Ehyt8LAzt3UBT9JR9tgo6GtuKvyUzpayWmeMKJw1DPdXzktvtIT8m2mVXz+bL/Qg==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/turndown/-/turndown-7.2.0.tgz", + "integrity": "sha512-eCZGBN4nNNqM9Owkv9HAtWRYfLA4h909E/WGAWWBpmB275ehNhZyk87/Tpvjbp0jjNl9XwCsbe6bm6CqFsgD+A==", "dependencies": { - "domino": "^2.1.6" + "@mixmark-io/domino": "^2.2.0" } }, "node_modules/tweetnacl": { diff --git a/package.json b/package.json index 9e8567f95..b7ef62a4b 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "@dnd-kit/sortable": "8.0.0", "@dnd-kit/utilities": "3.2.2", "@faker-js/faker": "7.6.0", - "@iqss/dataverse-client-javascript": "2.0.0-alpha.19", + "@iqss/dataverse-client-javascript": "2.0.0-pr265.700ed8c", "@iqss/dataverse-design-system": "*", "@istanbuljs/nyc-config-typescript": "1.0.2", "@tanstack/react-table": "8.9.2", @@ -49,6 +49,7 @@ "react-toastify": "11.0.2", "react-topbar-progress-indicator": "4.1.1", "sass": "1.58.1", + "turndown": "^7.2.0", "typescript": "5.7.2", "use-deep-compare": "1.2.1", "vite-plugin-istanbul": "4.0.1", diff --git a/src/sections/collection/CollectionInfo.tsx b/src/sections/collection/CollectionInfo.tsx index 82c6ef0ae..57a4f325f 100644 --- a/src/sections/collection/CollectionInfo.tsx +++ b/src/sections/collection/CollectionInfo.tsx @@ -1,4 +1,5 @@ import { Collection } from '../../collection/domain/models/Collection' +import TurndownService from 'turndown' import styles from './Collection.module.scss' import { MarkdownComponent } from '../dataset/markdown/MarkdownComponent' import { Badge } from '@iqss/dataverse-design-system' @@ -7,6 +8,7 @@ import { DatasetLabelSemanticMeaning } from '../../dataset/domain/models/Dataset interface CollectionInfoProps { collection: Collection } +const turndownService = new TurndownService() export function CollectionInfo({ collection }: CollectionInfoProps) { return ( @@ -26,7 +28,7 @@ export function CollectionInfo({ collection }: CollectionInfoProps) { {collection.description && (
- +
)} From dceb73a79bf00b902c0b5b742ceb56f17393e28a Mon Sep 17 00:00:00 2001 From: Ellen Kraffmiller Date: Thu, 20 Feb 2025 12:08:35 -0500 Subject: [PATCH 2/4] feat: update CollectionInfo.spec.tsx to test markdown in description --- tests/component/sections/collection/CollectionInfo.spec.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/component/sections/collection/CollectionInfo.spec.tsx b/tests/component/sections/collection/CollectionInfo.spec.tsx index 08fb12bd3..809ff79d4 100644 --- a/tests/component/sections/collection/CollectionInfo.spec.tsx +++ b/tests/component/sections/collection/CollectionInfo.spec.tsx @@ -7,14 +7,15 @@ describe('CollectionInfo', () => { name: 'Collection Name', affiliation: 'Affiliation', isReleased: true, - description: 'Here is a description with [a link](https://dataverse.org)' + description: 'Here is a description with a link' }) cy.customMount() cy.findByRole('heading', { name: 'Collection Name' }).should('exist') cy.findByText('(Affiliation)').should('exist') - cy.findByText(/Here is a description with/).should('exist') + cy.findByText(/Here is a/).should('exist') cy.findByRole('link', { name: 'a link' }).should('exist') + cy.get('strong').contains('description').should('exist') cy.findByText('Unpublished').should('not.exist') }) From 2f670ad256d6f22b212edec62497137deafc89ea Mon Sep 17 00:00:00 2001 From: Ellen Kraffmiller Date: Mon, 24 Feb 2025 08:00:23 -0500 Subject: [PATCH 3/4] fix: packages.json library versions --- package-lock.json | 10 +++++----- package.json | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4b6561695..34beef45a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@dnd-kit/sortable": "8.0.0", "@dnd-kit/utilities": "3.2.2", "@faker-js/faker": "7.6.0", - "@iqss/dataverse-client-javascript": "2.0.0-pr265.700ed8c", + "@iqss/dataverse-client-javascript": "2.0.0-alpha.24", "@iqss/dataverse-design-system": "*", "@istanbuljs/nyc-config-typescript": "1.0.2", "@tanstack/react-table": "8.9.2", @@ -45,7 +45,7 @@ "react-toastify": "11.0.2", "react-topbar-progress-indicator": "4.1.1", "sass": "1.58.1", - "turndown": "^7.2.0", + "turndown": "7.2.0", "typescript": "5.7.2", "use-deep-compare": "1.2.1", "vite-plugin-istanbul": "4.0.1", @@ -3681,9 +3681,9 @@ }, "node_modules/@iqss/dataverse-client-javascript": { "name": "@IQSS/dataverse-client-javascript", - "version": "2.0.0-pr265.700ed8c", - "resolved": "https://npm.pkg.github.com/download/@IQSS/dataverse-client-javascript/2.0.0-pr265.700ed8c/2b100d803c7aff612eac31c3f8edecddcfc15d87", - "integrity": "sha512-lbcq4ZT8l9nDFneO01kavIcri99+j0RSjOGN6aLn3H3BmbwOiCHEmZoJYFT1Te/B4QXHGem2ypkLdTqrKHP4Yg==", + "version": "2.0.0-alpha.24", + "resolved": "https://npm.pkg.github.com/download/@IQSS/dataverse-client-javascript/2.0.0-alpha.24/7b25490120446b743ebf1cf320e93e51ba851974", + "integrity": "sha512-NwPAVp8zO7D4+Lb1Tjiem8uc6MFyVkSAIeraA/FUv6Q6qV/AQWJx8A+/0MsmwLMM6+z+6bCogQFIKFjPe4kZdg==", "dependencies": { "@types/node": "^18.15.11", "@types/turndown": "^5.0.1", diff --git a/package.json b/package.json index b7ef62a4b..21a506515 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "@dnd-kit/sortable": "8.0.0", "@dnd-kit/utilities": "3.2.2", "@faker-js/faker": "7.6.0", - "@iqss/dataverse-client-javascript": "2.0.0-pr265.700ed8c", + "@iqss/dataverse-client-javascript": "2.0.0-alpha.24", "@iqss/dataverse-design-system": "*", "@istanbuljs/nyc-config-typescript": "1.0.2", "@tanstack/react-table": "8.9.2", @@ -49,7 +49,7 @@ "react-toastify": "11.0.2", "react-topbar-progress-indicator": "4.1.1", "sass": "1.58.1", - "turndown": "^7.2.0", + "turndown": "7.2.0", "typescript": "5.7.2", "use-deep-compare": "1.2.1", "vite-plugin-istanbul": "4.0.1", From 34a5d3bc0d55add0a4b6fb6446efec51e05d4d1a Mon Sep 17 00:00:00 2001 From: Ellen Kraffmiller Date: Mon, 24 Feb 2025 14:15:18 -0500 Subject: [PATCH 4/4] fix: check for plain text files in filterByType test --- .../integration/files/FileJSDataverseRepository.spec.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/e2e-integration/integration/files/FileJSDataverseRepository.spec.ts b/tests/e2e-integration/integration/files/FileJSDataverseRepository.spec.ts index 1016d37b3..95a86ff00 100644 --- a/tests/e2e-integration/integration/files/FileJSDataverseRepository.spec.ts +++ b/tests/e2e-integration/integration/files/FileJSDataverseRepository.spec.ts @@ -481,10 +481,10 @@ describe('File JSDataverse Repository', () => { dataset.persistentId, dataset.version, new FilePaginationInfo(), - new FileCriteria().withFilterByType('text/tab-separated-values') + new FileCriteria().withFilterByType('text/plain') ) .then((files) => { - expect(files.length).to.equal(1) + expect(files.length).to.equal(2) }) })