Skip to content

Commit

Permalink
Don't destructure objects when importing to make them ESM-compatible
Browse files Browse the repository at this point in the history
The types for these libraries seem to be wrong, as they don't have named exports.

Refs #1750
  • Loading branch information
thewilkybarkid committed Jun 13, 2024
1 parent e162744 commit 1dc7540
Show file tree
Hide file tree
Showing 18 changed files with 77 additions and 53 deletions.
6 changes: 3 additions & 3 deletions src/author-invite-flow/author-invite.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import type * as TE from 'fp-ts/lib/TaskEither.js'
import { flow, pipe } from 'fp-ts/lib/function.js'
import type { LanguageCode } from 'iso-639-1'
import { type Orcid, Eq as eqOrcid } from 'orcid-id-ts'
import { getLangDir } from 'rtl-detect'
import rtlDetect from 'rtl-detect'
import { P, match } from 'ts-pattern'
import type { Uuid } from 'uuid-ts'
import { type GetAuthorInviteEnv, getAuthorInvite } from '../author-invite.js'
Expand Down Expand Up @@ -116,7 +116,7 @@ function startPage({ inviteId, review, user }: { inviteId: Uuid; review: Prerevi
<header>
<h2 id="prereview-title">
${review.structured ? 'Structured ' : ''}PREreview of
<cite lang="${review.preprint.language}" dir="${getLangDir(review.preprint.language)}"
<cite lang="${review.preprint.language}" dir="${rtlDetect.getLangDir(review.preprint.language)}"
>${review.preprint.title}</cite
>
</h2>
Expand Down Expand Up @@ -168,7 +168,7 @@ function startPage({ inviteId, review, user }: { inviteId: Uuid; review: Prerevi
</dl>
</header>
<div ${review.language ? html`lang="${review.language}" dir="${getLangDir(review.language)}"` : ''}>
<div ${review.language ? html`lang="${review.language}" dir="${rtlDetect.getLangDir(review.language)}"` : ''}>
${fixHeadingLevels(1, review.text)}
</div>
Expand Down
6 changes: 3 additions & 3 deletions src/author-invite-flow/decline-page/decline-page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import * as RNEA from 'fp-ts/lib/ReadonlyNonEmptyArray.js'
import { flow, pipe } from 'fp-ts/lib/function.js'
import { Status } from 'hyper-ts'
import type { Orcid } from 'orcid-id-ts'
import { getLangDir } from 'rtl-detect'
import rtlDetect from 'rtl-detect'
import { match } from 'ts-pattern'
import type { Uuid } from 'uuid-ts'
import { getClubName } from '../../club-details.js'
Expand All @@ -26,7 +26,7 @@ export const declinePage = ({ inviteId, review }: { inviteId: Uuid; review: Prer
<header>
<h2 id="prereview-title">
${review.structured ? 'Structured ' : ''}PREreview of
<cite lang="${review.preprint.language}" dir="${getLangDir(review.preprint.language)}"
<cite lang="${review.preprint.language}" dir="${rtlDetect.getLangDir(review.preprint.language)}"
>${review.preprint.title}</cite
>
</h2>
Expand Down Expand Up @@ -80,7 +80,7 @@ export const declinePage = ({ inviteId, review }: { inviteId: Uuid; review: Prer
</dl>
</header>
<div ${review.language ? html`lang="${review.language}" dir="${getLangDir(review.language)}"` : ''}>
<div ${review.language ? html`lang="${review.language}" dir="${rtlDetect.getLangDir(review.language)}"` : ''}>
${fixHeadingLevels(1, review.text)}
</div>
Expand Down
6 changes: 4 additions & 2 deletions src/club-profile-page/club-profile-page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { format } from 'fp-ts-routing'
import * as RA from 'fp-ts/lib/ReadonlyArray.js'
import * as RNEA from 'fp-ts/lib/ReadonlyNonEmptyArray.js'
import { flow, pipe } from 'fp-ts/lib/function.js'
import { getLangDir } from 'rtl-detect'
import rtlDetect from 'rtl-detect'
import { match } from 'ts-pattern'
import type { Club } from '../club-details.js'
import { type Html, html, plainText, rawHtml } from '../html.js'
Expand Down Expand Up @@ -67,7 +67,9 @@ export function createPage({ club, id, prereviews }: { club: Club; id: ClubId; p
formatList('en'),
)}
reviewed
<cite dir="${getLangDir(prereview.preprint.language)}" lang="${prereview.preprint.language}"
<cite
dir="${rtlDetect.getLangDir(prereview.preprint.language)}"
lang="${prereview.preprint.language}"
>${prereview.preprint.title}</cite
>
</a>
Expand Down
18 changes: 13 additions & 5 deletions src/home-page/home-page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { format } from 'fp-ts-routing'
import * as RA from 'fp-ts/lib/ReadonlyArray.js'
import * as RNEA from 'fp-ts/lib/ReadonlyNonEmptyArray.js'
import { flow, pipe } from 'fp-ts/lib/function.js'
import { getLangDir } from 'rtl-detect'
import rtlDetect from 'rtl-detect'
import { match } from 'ts-pattern'
import { getClubName } from '../club-details.js'
import { type Html, html, plainText, rawHtml } from '../html.js'
Expand Down Expand Up @@ -118,7 +118,9 @@ export const createPage = ({
<article aria-labelledby="request-${index}-title">
<h3 id="request-${index}-title" class="visually-hidden">
Review request for
<cite dir="${getLangDir(request.preprint.language)}" lang="${request.preprint.language}"
<cite
dir="${rtlDetect.getLangDir(request.preprint.language)}"
lang="${request.preprint.language}"
>${request.preprint.title}</cite
>
</h3>
Expand All @@ -129,7 +131,9 @@ export const createPage = ({
})}"
>
A review was requested for
<cite dir="${getLangDir(request.preprint.language)}" lang="${request.preprint.language}"
<cite
dir="${rtlDetect.getLangDir(request.preprint.language)}"
lang="${request.preprint.language}"
>${request.preprint.title}</cite
>
</a>
Expand Down Expand Up @@ -222,15 +226,19 @@ export const createPage = ({
<article aria-labelledby="prereview-${prereview.id}-title">
<h3 id="prereview-${prereview.id}-title" class="visually-hidden">
PREreview of
<cite dir="${getLangDir(prereview.preprint.language)}" lang="${prereview.preprint.language}"
<cite
dir="${rtlDetect.getLangDir(prereview.preprint.language)}"
lang="${prereview.preprint.language}"
>${prereview.preprint.title}</cite
>
</h3>
<a href="${format(reviewMatch.formatter, { id: prereview.id })}">
${formatList('en')(prereview.reviewers)}
${prereview.club ? html`of the <b>${getClubName(prereview.club)}</b>` : ''} reviewed
<cite dir="${getLangDir(prereview.preprint.language)}" lang="${prereview.preprint.language}"
<cite
dir="${rtlDetect.getLangDir(prereview.preprint.language)}"
lang="${prereview.preprint.language}"
>${prereview.preprint.title}</cite
>
</a>
Expand Down
8 changes: 6 additions & 2 deletions src/legacy-routes/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import * as O from 'fp-ts/lib/Option.js'
import * as RTE from 'fp-ts/lib/ReaderTaskEither.js'
import type * as TE from 'fp-ts/lib/TaskEither.js'
import { constant, flow, pipe, tuple } from 'fp-ts/lib/function.js'
import { NotFound } from 'http-errors'
import httpErrors from 'http-errors'
import type { ResponseEnded, StatusOpen } from 'hyper-ts'
import { route } from 'hyper-ts-routing'
import * as RM from 'hyper-ts/lib/ReaderMiddleware.js'
Expand Down Expand Up @@ -384,7 +384,11 @@ const legacyRouter: P.Parser<RM.ReaderMiddleware<LegacyEnv, StatusOpen, Response
concatAll(P.getParserMonoid()),
)

export const legacyRoutes = pipe(route(legacyRouter, constant(new NotFound())), RM.fromMiddleware, RM.iflatten)
export const legacyRoutes = pipe(
route(legacyRouter, constant(new httpErrors.NotFound())),
RM.fromMiddleware,
RM.iflatten,
)

const showRemovedPermanentlyMessage = pipe(
RM.of({}),
Expand Down
6 changes: 3 additions & 3 deletions src/middleware.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { pipe } from 'fp-ts/lib/function.js'
import { NotFound, ServiceUnavailable } from 'http-errors'
import httpErrors from 'http-errors'
import { type ResponseEnded, Status, type StatusOpen } from 'hyper-ts'
import * as M from 'hyper-ts/lib/Middleware.js'
import { handleError } from './http-error.js'
Expand All @@ -22,8 +22,8 @@ export const movedPermanently: <E = never>(
M.ichain(() => M.end()),
)

export const notFound = handleError(new NotFound())
export const notFound = handleError(new httpErrors.NotFound())

export const serviceUnavailable = handleError(new ServiceUnavailable())
export const serviceUnavailable = handleError(new httpErrors.ServiceUnavailable())

export const getMethod = M.gets(c => c.getMethod())
4 changes: 2 additions & 2 deletions src/my-prereviews-page/list-of-prereviews.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { format } from 'fp-ts-routing'
import * as RNEA from 'fp-ts/lib/ReadonlyNonEmptyArray.js'
import type { ReadonlyNonEmptyArray } from 'fp-ts/lib/ReadonlyNonEmptyArray.js'
import { flow, pipe } from 'fp-ts/lib/function.js'
import { getLangDir } from 'rtl-detect'
import rtlDetect from 'rtl-detect'
import { match } from 'ts-pattern'
import { type Html, html, plainText, rawHtml } from '../html.js'
import { PageResponse } from '../response.js'
Expand Down Expand Up @@ -58,7 +58,7 @@ export const toResponse = ({ prereviews, user }: ListOfPrereviews) =>
formatList('en'),
)}
reviewed
<cite dir="${getLangDir(prereview.preprint.language)}" lang="${prereview.preprint.language}"
<cite dir="${rtlDetect.getLangDir(prereview.preprint.language)}" lang="${prereview.preprint.language}"
>${prereview.preprint.title}</cite
>
</a>
Expand Down
14 changes: 9 additions & 5 deletions src/preprint-reviews-page/preprint-reviews.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import type { ReadonlyNonEmptyArray } from 'fp-ts/lib/ReadonlyNonEmptyArray.js'
import * as RNEA from 'fp-ts/lib/ReadonlyNonEmptyArray.js'
import { flow, pipe } from 'fp-ts/lib/function.js'
import type { Orcid } from 'orcid-id-ts'
import { getLangDir } from 'rtl-detect'
import rtlDetect from 'rtl-detect'
import { get } from 'spectacles-ts'
import textClipper from 'text-clipper'
import { match, P as p } from 'ts-pattern'
Expand Down Expand Up @@ -46,13 +46,17 @@ export const createPage = ({
}
`,
h1: html`PREreviews of
<cite lang="${preprint.title.language}" dir="${getLangDir(preprint.title.language)}"
<cite lang="${preprint.title.language}" dir="${rtlDetect.getLangDir(preprint.title.language)}"
>${preprint.title.text}</cite
>`,
aside: html`
<article aria-labelledby="preprint-title">
<header>
<h2 lang="${preprint.title.language}" dir="${getLangDir(preprint.title.language)}" id="preprint-title">
<h2
lang="${preprint.title.language}"
dir="${rtlDetect.getLangDir(preprint.title.language)}"
id="preprint-title"
>
${preprint.title.text}
</h2>
Expand Down Expand Up @@ -123,7 +127,7 @@ export const createPage = ({
? html`
<h3>Abstract</h3>
<div lang="${preprint.abstract.language}" dir="${getLangDir(preprint.abstract.language)}">
<div lang="${preprint.abstract.language}" dir="${rtlDetect.getLangDir(preprint.abstract.language)}">
${fixHeadingLevels(3, preprint.abstract.text)}
</div>
`
Expand Down Expand Up @@ -185,7 +189,7 @@ function showReview(review: Prereview) {
</div>
</header>
<div ${review.language ? html`lang="${review.language}" dir="${getLangDir(review.language)}"` : ''}>
<div ${review.language ? html`lang="${review.language}" dir="${rtlDetect.getLangDir(review.language)}"` : ''}>
${fixHeadingLevels(
3,
rawHtml(textClipper(review.text.toString(), 300, { html: true, maxLines: 5, stripTags: ['a'] })),
Expand Down
6 changes: 4 additions & 2 deletions src/profile-page/render-list-of-prereviews.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { format } from 'fp-ts-routing'
import * as RA from 'fp-ts/lib/ReadonlyArray.js'
import * as RNEA from 'fp-ts/lib/ReadonlyNonEmptyArray.js'
import { flow, pipe } from 'fp-ts/lib/function.js'
import { getLangDir } from 'rtl-detect'
import rtlDetect from 'rtl-detect'
import { match } from 'ts-pattern'
import { getClubName } from '../club-details.js'
import { type Html, html, rawHtml } from '../html.js'
Expand Down Expand Up @@ -36,7 +36,9 @@ export function renderListOfPrereviews(prereviews: Prereviews, name: NonEmptyStr
formatList('en'),
)}
${prereview.club ? html`of the <b>${getClubName(prereview.club)}</b>` : ''} reviewed
<cite dir="${getLangDir(prereview.preprint.language)}" lang="${prereview.preprint.language}"
<cite
dir="${rtlDetect.getLangDir(prereview.preprint.language)}"
lang="${prereview.preprint.language}"
>${prereview.preprint.title}</cite
>
</a>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { format } from 'fp-ts-routing'
import { getLangDir } from 'rtl-detect'
import rtlDetect from 'rtl-detect'
import { html, plainText } from '../../html.js'
import type { PreprintTitle } from '../../preprint.js'
import { StreamlinePageResponse } from '../../response.js'
Expand All @@ -17,9 +17,9 @@ export const requestReviewPage = ({ preprint, user }: { preprint: PreprintTitle;
<p>
You can request a PREreview of
<cite dir="${getLangDir(preprint.language)}" lang="${preprint.language}">${preprint.title}</cite>. A PREreview
is a review of a preprint and can vary from a few sentences to a lengthy report, similar to a journal-organized
peer-review report.
<cite dir="${rtlDetect.getLangDir(preprint.language)}" lang="${preprint.language}">${preprint.title}</cite>. A
PREreview is a review of a preprint and can vary from a few sentences to a lengthy report, similar to a
journal-organized peer-review report.
</p>
${user
Expand Down
6 changes: 3 additions & 3 deletions src/review-page/review-page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { format } from 'fp-ts-routing'
import * as RNEA from 'fp-ts/lib/ReadonlyNonEmptyArray.js'
import { flow, pipe } from 'fp-ts/lib/function.js'
import type { Orcid } from 'orcid-id-ts'
import { getLangDir } from 'rtl-detect'
import rtlDetect from 'rtl-detect'
import { match } from 'ts-pattern'
import { getClubName } from '../club-details.js'
import { type Html, fixHeadingLevels, html, plainText, rawHtml } from '../html.js'
Expand Down Expand Up @@ -34,7 +34,7 @@ export const createPage = ({ id, review }: { id: number; review: Prereview }) =>
<header>
<h1>
${review.structured ? 'Structured ' : ''}PREreview of
<cite lang="${review.preprint.language}" dir="${getLangDir(review.preprint.language)}"
<cite lang="${review.preprint.language}" dir="${rtlDetect.getLangDir(review.preprint.language)}"
>${review.preprint.title}</cite
>
</h1>
Expand Down Expand Up @@ -86,7 +86,7 @@ export const createPage = ({ id, review }: { id: number; review: Prereview }) =>
</dl>
</header>
<div ${review.language ? html`lang="${review.language}" dir="${getLangDir(review.language)}"` : ''}>
<div ${review.language ? html`lang="${review.language}" dir="${rtlDetect.getLangDir(review.language)}"` : ''}>
${fixHeadingLevels(1, review.text)}
</div>
Expand Down
6 changes: 3 additions & 3 deletions src/review-requests-page/review-requests-page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { snd } from 'fp-ts/lib/ReadonlyTuple.js'
import { flow, pipe } from 'fp-ts/lib/function.js'
import { isString } from 'fp-ts/lib/string.js'
import iso6391, { type LanguageCode } from 'iso-639-1'
import { getLangDir } from 'rtl-detect'
import rtlDetect from 'rtl-detect'
import { match } from 'ts-pattern'
import { type Html, html, plainText, rawHtml } from '../html.js'
import { PageResponse } from '../response.js'
Expand All @@ -33,7 +33,7 @@ export const createPage = ({ currentPage, totalPages, language, field, reviewReq
<article aria-labelledby="request-${index}-title">
<h2 id="request-${index}-title" class="visually-hidden">
Review request for
<cite dir="${getLangDir(request.preprint.language)}" lang="${request.preprint.language}"
<cite dir="${rtlDetect.getLangDir(request.preprint.language)}" lang="${request.preprint.language}"
>${request.preprint.title}</cite
>
</h2>
Expand All @@ -44,7 +44,7 @@ export const createPage = ({ currentPage, totalPages, language, field, reviewReq
})}"
>
A review was requested for
<cite dir="${getLangDir(request.preprint.language)}" lang="${request.preprint.language}"
<cite dir="${rtlDetect.getLangDir(request.preprint.language)}" lang="${request.preprint.language}"
>${request.preprint.title}</cite
>
</a>
Expand Down
6 changes: 4 additions & 2 deletions src/reviews-page/reviews-page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { snd } from 'fp-ts/lib/ReadonlyTuple.js'
import { flow, pipe } from 'fp-ts/lib/function.js'
import { isString } from 'fp-ts/lib/string.js'
import iso6391, { type LanguageCode } from 'iso-639-1'
import { getLangDir } from 'rtl-detect'
import rtlDetect from 'rtl-detect'
import { match } from 'ts-pattern'
import { getClubName } from '../club-details.js'
import { type Html, html, plainText, rawHtml } from '../html.js'
Expand Down Expand Up @@ -41,7 +41,9 @@ export const createPage = (
<a href="${format(reviewMatch.formatter, { id: prereview.id })}">
${formatList('en')(prereview.reviewers)}
${prereview.club ? html`of the <b>${getClubName(prereview.club)}</b>` : ''} reviewed
<cite dir="${getLangDir(prereview.preprint.language)}" lang="${prereview.preprint.language}"
<cite
dir="${rtlDetect.getLangDir(prereview.preprint.language)}"
lang="${prereview.preprint.language}"
>${prereview.preprint.title}</cite
>
</a>
Expand Down
4 changes: 2 additions & 2 deletions src/router.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import * as RA from 'fp-ts/lib/ReadonlyArray.js'
import * as T from 'fp-ts/lib/Task.js'
import { constVoid, constant, flow, pipe } from 'fp-ts/lib/function.js'
import { isString } from 'fp-ts/lib/string.js'
import { NotFound } from 'http-errors'
import httpErrors from 'http-errors'
import type { ResponseEnded, StatusOpen } from 'hyper-ts'
import { route } from 'hyper-ts-routing'
import type { SessionEnv } from 'hyper-ts-session'
Expand Down Expand Up @@ -1969,4 +1969,4 @@ const router: P.Parser<RM.ReaderMiddleware<RouterEnv, StatusOpen, ResponseEnded,
concatAll(P.getParserMonoid()),
)

export const routes = pipe(route(router, constant(new NotFound())), RM.fromMiddleware, RM.iflatten)
export const routes = pipe(route(router, constant(new httpErrors.NotFound())), RM.fromMiddleware, RM.iflatten)
6 changes: 4 additions & 2 deletions src/write-review/publish-page/publish-form.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import * as RA from 'fp-ts/lib/ReadonlyArray.js'
import * as RNEA from 'fp-ts/lib/ReadonlyNonEmptyArray.js'
import { flow, pipe } from 'fp-ts/lib/function.js'
import type { Orcid } from 'orcid-id-ts'
import { getLangDir } from 'rtl-detect'
import rtlDetect from 'rtl-detect'
import { get } from 'spectacles-ts'
import { P, match } from 'ts-pattern'
import { type Html, fixHeadingLevels, html, plainText, rawHtml } from '../../html.js'
Expand Down Expand Up @@ -49,7 +49,9 @@ export function publishForm(preprint: PreprintTitle, review: CompletedForm, user
<div>
<dt>Title</dt>
<dd>
<cite lang="${preprint.language}" dir="${getLangDir(preprint.language)}">${preprint.title}</cite>
<cite lang="${preprint.language}" dir="${rtlDetect.getLangDir(preprint.language)}"
>${preprint.title}</cite
>
</dd>
</div>
<div>
Expand Down
Loading

0 comments on commit 1dc7540

Please sign in to comment.