diff --git a/apps/zbugs/src/avatar-url-with-size.tsx b/apps/zbugs/src/avatar-url-with-size.ts similarity index 100% rename from apps/zbugs/src/avatar-url-with-size.tsx rename to apps/zbugs/src/avatar-url-with-size.ts diff --git a/apps/zbugs/src/comment-query.ts b/apps/zbugs/src/comment-query.ts index 872ad5ef1b..16d0be9622 100644 --- a/apps/zbugs/src/comment-query.ts +++ b/apps/zbugs/src/comment-query.ts @@ -1,5 +1,5 @@ import type {Zero} from '@rocicorp/zero'; -import type {IssueRow, Schema} from '../schema.js'; +import type {IssueRow, Schema} from '../schema.ts'; export function commentQuery(z: Zero, displayed: IssueRow | undefined) { return z.query.comment diff --git a/apps/zbugs/src/components/avatar-image.tsx b/apps/zbugs/src/components/avatar-image.tsx index d597ca43f5..5182dfff8f 100644 --- a/apps/zbugs/src/components/avatar-image.tsx +++ b/apps/zbugs/src/components/avatar-image.tsx @@ -1,6 +1,6 @@ import {memo, type ImgHTMLAttributes} from 'react'; -import type {UserRow} from '../../schema.js'; -import {avatarURLWithSize} from '../avatar-url-with-size.js'; +import type {UserRow} from '../../schema.ts'; +import {avatarURLWithSize} from '../avatar-url-with-size.ts'; interface AvatarImageProps extends ImgHTMLAttributes { user: UserRow; diff --git a/apps/zbugs/src/components/button-with-login-check.tsx b/apps/zbugs/src/components/button-with-login-check.tsx index 1c2e5eb56a..63a6af7f1a 100644 --- a/apps/zbugs/src/components/button-with-login-check.tsx +++ b/apps/zbugs/src/components/button-with-login-check.tsx @@ -1,7 +1,7 @@ import {forwardRef, useCallback, useState, type ForwardedRef} from 'react'; -import {useLogin} from '../hooks/use-login.js'; -import {Button, type ButtonProps} from './button.jsx'; -import {NotLoggedInModal} from './not-logged-in-modal.js'; +import {useLogin} from '../hooks/use-login.tsx'; +import {Button, type ButtonProps} from './button.tsx'; +import {NotLoggedInModal} from './not-logged-in-modal.tsx'; interface Props extends ButtonProps { loginMessage: string; diff --git a/apps/zbugs/src/components/button.tsx b/apps/zbugs/src/components/button.tsx index af9c8214d0..9533a613c9 100644 --- a/apps/zbugs/src/components/button.tsx +++ b/apps/zbugs/src/components/button.tsx @@ -5,8 +5,8 @@ import { type ForwardedRef, type ReactNode, } from 'react'; -import {isPrimaryMouseButton} from '../is-primary-mouse-button.js'; -import {umami} from '../umami.js'; +import {isPrimaryMouseButton} from '../is-primary-mouse-button.ts'; +import {umami} from '../umami.ts'; export interface ButtonProps { onAction?: (() => void) | undefined; diff --git a/apps/zbugs/src/components/can-edit.tsx b/apps/zbugs/src/components/can-edit.tsx index 07b20f7dee..5a5816eaef 100644 --- a/apps/zbugs/src/components/can-edit.tsx +++ b/apps/zbugs/src/components/can-edit.tsx @@ -1,5 +1,5 @@ import {memo} from 'react'; -import {useCanEdit} from '../hooks/use-can-edit.js'; +import {useCanEdit} from '../hooks/use-can-edit.ts'; interface Props { children: React.ReactNode; diff --git a/apps/zbugs/src/components/combobox.tsx b/apps/zbugs/src/components/combobox.tsx index 93d4795c04..4cbbadd0f0 100644 --- a/apps/zbugs/src/components/combobox.tsx +++ b/apps/zbugs/src/components/combobox.tsx @@ -9,10 +9,10 @@ import { useState, } from 'react'; import DropdownArrow from '../assets/icons/dropdown-arrow.svg?react'; -import {useClickOutside} from '../hooks/use-click-outside.js'; -import {umami} from '../umami.js'; +import {useClickOutside} from '../hooks/use-click-outside.ts'; +import {umami} from '../umami.ts'; import styles from './combobox.module.css'; -import {fuzzySearch} from './fuzzySearch.js'; +import {fuzzySearch} from './fuzzy-search.ts'; type Item = { text: string; diff --git a/apps/zbugs/src/components/confirm.tsx b/apps/zbugs/src/components/confirm.tsx index 1c46b79afb..921d766c43 100644 --- a/apps/zbugs/src/components/confirm.tsx +++ b/apps/zbugs/src/components/confirm.tsx @@ -1,6 +1,6 @@ import {useCallback} from 'react'; -import {Button} from './button.js'; -import {Modal, ModalActions, ModalText} from './modal.jsx'; +import {Button} from './button.tsx'; +import {Modal, ModalActions, ModalText} from './modal.tsx'; interface Props { isOpen: boolean; diff --git a/apps/zbugs/src/components/emoji-panel.tsx b/apps/zbugs/src/components/emoji-panel.tsx index 3f2037ee02..45d70dc6f7 100644 --- a/apps/zbugs/src/components/emoji-panel.tsx +++ b/apps/zbugs/src/components/emoji-panel.tsx @@ -25,13 +25,13 @@ import { findEmojiForCreator, normalizeEmoji, type Emoji, -} from '../emoji-utils.js'; -import {useLogin} from '../hooks/use-login.js'; -import {useZero} from '../hooks/use-zero.js'; -import {ButtonWithLoginCheck} from './button-with-login-check.js'; -import {type ButtonProps} from './button.js'; -import {EmojiPicker} from './emoji-picker.js'; -import {EmojiPill} from './emoji-pill.js'; +} from '../emoji-utils.ts'; +import {useLogin} from '../hooks/use-login.tsx'; +import {useZero} from '../hooks/use-zero.ts'; +import {ButtonWithLoginCheck} from './button-with-login-check.tsx'; +import {type ButtonProps} from './button.tsx'; +import {EmojiPicker} from './emoji-picker.tsx'; +import {EmojiPill} from './emoji-pill.tsx'; const loginMessage = 'You need to be logged in to modify emoji reactions.'; diff --git a/apps/zbugs/src/components/emoji-picker.tsx b/apps/zbugs/src/components/emoji-picker.tsx index dcecc77e4f..82070939aa 100644 --- a/apps/zbugs/src/components/emoji-picker.tsx +++ b/apps/zbugs/src/components/emoji-picker.tsx @@ -7,9 +7,9 @@ import type { SkinToneChangeEvent, } from 'emoji-picker-element/shared.js'; import {createElement, memo, useRef, type RefCallback} from 'react'; -import {setUserPref, useUserPref} from '../hooks/use-user-pref.js'; -import {useZero} from '../hooks/use-zero.js'; -import {emojiDataSource} from './emoji-data-source.js'; +import {setUserPref, useUserPref} from '../hooks/use-user-pref.ts'; +import {useZero} from '../hooks/use-zero.ts'; +import {emojiDataSource} from './emoji-data-source.ts'; export const SKIN_TONE_PREF = 'emojiSkinTone'; diff --git a/apps/zbugs/src/components/emoji-pill.tsx b/apps/zbugs/src/components/emoji-pill.tsx index 930d4864b2..abc7b20f88 100644 --- a/apps/zbugs/src/components/emoji-pill.tsx +++ b/apps/zbugs/src/components/emoji-pill.tsx @@ -1,19 +1,19 @@ import classNames from 'classnames'; import {memo, useEffect, useState} from 'react'; import {useIntersectionObserver} from 'usehooks-ts'; -import type {Emoji} from '../emoji-utils.js'; +import type {Emoji} from '../emoji-utils.ts'; import { findEmojiForCreator, formatEmojiCreatorList, setSkinTone, -} from '../emoji-utils.js'; -import {useDocumentHasFocus} from '../hooks/use-document-has-focus.js'; -import {useNumericPref} from '../hooks/use-user-pref.js'; -import {useZero} from '../hooks/use-zero.js'; -import {AvatarImage} from './avatar-image.js'; -import {ButtonWithLoginCheck} from './button-with-login-check.js'; -import {SKIN_TONE_PREF} from './emoji-picker.js'; -import {Tooltip, TooltipContent, TooltipTrigger} from './tooltip.jsx'; +} from '../emoji-utils.ts'; +import {useDocumentHasFocus} from '../hooks/use-document-has-focus.ts'; +import {useNumericPref} from '../hooks/use-user-pref.ts'; +import {useZero} from '../hooks/use-zero.ts'; +import {AvatarImage} from './avatar-image.tsx'; +import {ButtonWithLoginCheck} from './button-with-login-check.tsx'; +import {SKIN_TONE_PREF} from './emoji-picker.tsx'; +import {Tooltip, TooltipContent, TooltipTrigger} from './tooltip.tsx'; const loginMessage = 'You need to be logged in to modify emoji reactions.'; diff --git a/apps/zbugs/src/components/filter.tsx b/apps/zbugs/src/components/filter.tsx index 29f58eace8..3866861853 100644 --- a/apps/zbugs/src/components/filter.tsx +++ b/apps/zbugs/src/components/filter.tsx @@ -2,10 +2,10 @@ import {useQuery} from '@rocicorp/zero/react'; import classNames from 'classnames'; import {memo, useMemo, useState} from 'react'; import labelIcon from '../assets/icons/label.svg'; -import {useZero} from '../hooks/use-zero.js'; -import {Button} from './button.js'; -import {Combobox} from './combobox.js'; -import {UserPicker} from './user-picker.js'; +import {useZero} from '../hooks/use-zero.ts'; +import {Button} from './button.tsx'; +import {Combobox} from './combobox.tsx'; +import {UserPicker} from './user-picker.tsx'; export type Selection = | {creator: string} diff --git a/apps/zbugs/src/components/fuzzySearch.tsx b/apps/zbugs/src/components/fuzzy-search.ts similarity index 100% rename from apps/zbugs/src/components/fuzzySearch.tsx rename to apps/zbugs/src/components/fuzzy-search.ts diff --git a/apps/zbugs/src/components/issue-link.tsx b/apps/zbugs/src/components/issue-link.tsx index 7867cccda6..16c4f1e29f 100644 --- a/apps/zbugs/src/components/issue-link.tsx +++ b/apps/zbugs/src/components/issue-link.tsx @@ -1,5 +1,5 @@ -import {links, type ListContext} from '../routes.js'; -import {Link, type Props as LinkProps} from './link.js'; +import {links, type ListContext} from '../routes.ts'; +import {Link, type Props as LinkProps} from './link.tsx'; export function IssueLink({ issue, diff --git a/apps/zbugs/src/components/label-picker.tsx b/apps/zbugs/src/components/label-picker.tsx index ef1b583afd..9f8caeb18d 100644 --- a/apps/zbugs/src/components/label-picker.tsx +++ b/apps/zbugs/src/components/label-picker.tsx @@ -1,9 +1,9 @@ import {useQuery} from '@rocicorp/zero/react'; import classNames from 'classnames'; import {useCallback, useRef, useState} from 'react'; -import {useClickOutside} from '../hooks/use-click-outside.js'; -import {useZero} from '../hooks/use-zero.js'; -import {Button} from './button.js'; +import {useClickOutside} from '../hooks/use-click-outside.ts'; +import {useZero} from '../hooks/use-zero.ts'; +import {Button} from './button.tsx'; import style from './label-picker.module.css'; const focusInput = (input: HTMLInputElement | null) => { diff --git a/apps/zbugs/src/components/link.tsx b/apps/zbugs/src/components/link.tsx index 338fef9ee4..652e4fe498 100644 --- a/apps/zbugs/src/components/link.tsx +++ b/apps/zbugs/src/components/link.tsx @@ -1,5 +1,5 @@ import {memo, type ReactNode} from 'react'; -import type {ZbugsHistoryState} from '../routes.js'; +import type {ZbugsHistoryState} from '../routes.ts'; export type Props = { children: ReactNode; diff --git a/apps/zbugs/src/components/login-provider.tsx b/apps/zbugs/src/components/login-provider.tsx index 865fab8fdb..0af3c7cc51 100644 --- a/apps/zbugs/src/components/login-provider.tsx +++ b/apps/zbugs/src/components/login-provider.tsx @@ -1,7 +1,7 @@ import {useCallback, useSyncExternalStore} from 'react'; -import {loginContext} from '../hooks/use-login.js'; -import {clearJwt} from '../jwt.js'; -import {authRef} from '../zero-setup.js'; +import {loginContext} from '../hooks/use-login.tsx'; +import {clearJwt} from '../jwt.ts'; +import {authRef} from '../zero-setup.ts'; export function LoginProvider({children}: {children: React.ReactNode}) { const loginState = useSyncExternalStore( diff --git a/apps/zbugs/src/components/modal.tsx b/apps/zbugs/src/components/modal.tsx index 73be62e9e8..c05fd4fe14 100644 --- a/apps/zbugs/src/components/modal.tsx +++ b/apps/zbugs/src/components/modal.tsx @@ -9,9 +9,9 @@ import React, { } from 'react'; import ReactDOM from 'react-dom'; import CloseIcon from '../assets/icons/close.svg?react'; -import {useKeypress} from '../hooks/use-keypress.js'; -import useLockBodyScroll from '../hooks/use-lock-body-scroll.js'; -import {Confirm} from './confirm.js'; +import {useKeypress} from '../hooks/use-keypress.ts'; +import useLockBodyScroll from '../hooks/use-lock-body-scroll.ts'; +import {Confirm} from './confirm.tsx'; interface Props { title?: string | undefined; diff --git a/apps/zbugs/src/components/nav.tsx b/apps/zbugs/src/components/nav.tsx index 63c15f965d..dd548894f7 100644 --- a/apps/zbugs/src/components/nav.tsx +++ b/apps/zbugs/src/components/nav.tsx @@ -6,19 +6,19 @@ import {navigate, useHistoryState} from 'wouter/use-browser-location'; import {useQuery} from 'zero-react/src/use-query.js'; import logoURL from '../assets/images/logo.svg'; import markURL from '../assets/images/mark.svg'; -import {useLogin} from '../hooks/use-login.js'; -import {useZero} from '../hooks/use-zero.js'; -import {IssueComposer} from '../pages/issue/issue-composer.js'; +import {useLogin} from '../hooks/use-login.tsx'; +import {useZero} from '../hooks/use-zero.ts'; +import {IssueComposer} from '../pages/issue/issue-composer.tsx'; import { links, routes, type ListContext, type ZbugsHistoryState, -} from '../routes.js'; -import {AvatarImage} from './avatar-image.js'; -import {ButtonWithLoginCheck} from './button-with-login-check.js'; -import {Button} from './button.js'; -import {Link} from './link.js'; +} from '../routes.ts'; +import {AvatarImage} from './avatar-image.tsx'; +import {ButtonWithLoginCheck} from './button-with-login-check.tsx'; +import {Button} from './button.tsx'; +import {Link} from './link.tsx'; export const Nav = memo(() => { const search = useSearch(); diff --git a/apps/zbugs/src/components/not-logged-in-modal.tsx b/apps/zbugs/src/components/not-logged-in-modal.tsx index 110218ad2d..033e7537b6 100644 --- a/apps/zbugs/src/components/not-logged-in-modal.tsx +++ b/apps/zbugs/src/components/not-logged-in-modal.tsx @@ -1,5 +1,5 @@ -import {links} from '../routes.js'; -import {Modal, ModalActions, ModalText} from './modal.js'; +import {links} from '../routes.ts'; +import {Modal, ModalActions, ModalText} from './modal.tsx'; export interface Props { onDismiss: () => void; diff --git a/apps/zbugs/src/components/user-picker.tsx b/apps/zbugs/src/components/user-picker.tsx index 2e9e244c1d..025d3ee031 100644 --- a/apps/zbugs/src/components/user-picker.tsx +++ b/apps/zbugs/src/components/user-picker.tsx @@ -1,11 +1,11 @@ import {type Row} from '@rocicorp/zero'; import {useQuery} from '@rocicorp/zero/react'; import {useEffect, useMemo, useState} from 'react'; -import {type Schema} from '../../schema.js'; +import {type Schema} from '../../schema.ts'; import avatarIcon from '../assets/icons/avatar-default.svg'; -import {avatarURLWithSize} from '../avatar-url-with-size.js'; -import {useZero} from '../hooks/use-zero.js'; -import {Combobox} from './combobox.js'; +import {avatarURLWithSize} from '../avatar-url-with-size.ts'; +import {useZero} from '../hooks/use-zero.ts'; +import {Combobox} from './combobox.tsx'; type Props = { onSelect?: ((user: User | undefined) => void) | undefined; diff --git a/apps/zbugs/src/emoji-utils.test.ts b/apps/zbugs/src/emoji-utils.test.ts index 1439ac5ba0..b7127c2392 100644 --- a/apps/zbugs/src/emoji-utils.test.ts +++ b/apps/zbugs/src/emoji-utils.test.ts @@ -1,7 +1,7 @@ import type {Writable} from 'shared/src/writable.js'; import {expect, test} from 'vitest'; -import type {Emoji} from './emoji-utils.js'; -import {formatEmojiCreatorList, formatEmojiTooltipText} from './emoji-utils.js'; +import type {Emoji} from './emoji-utils.ts'; +import {formatEmojiCreatorList, formatEmojiTooltipText} from './emoji-utils.ts'; function makeEmoji(userID: string, login: string): Emoji { return { diff --git a/apps/zbugs/src/emoji-utils.ts b/apps/zbugs/src/emoji-utils.ts index 19dd8c1bab..048c23efbd 100644 --- a/apps/zbugs/src/emoji-utils.ts +++ b/apps/zbugs/src/emoji-utils.ts @@ -1,6 +1,6 @@ import type {Row} from '@rocicorp/zero'; import {assert} from 'shared/src/asserts.js'; -import type {Schema} from '../schema.js'; +import type {Schema} from '../schema.ts'; export type Emoji = Row & { readonly creator: Row | undefined; diff --git a/apps/zbugs/src/hooks/use-can-edit.ts b/apps/zbugs/src/hooks/use-can-edit.ts index 32419dab63..c99546b985 100644 --- a/apps/zbugs/src/hooks/use-can-edit.ts +++ b/apps/zbugs/src/hooks/use-can-edit.ts @@ -1,6 +1,6 @@ import {useQuery} from '@rocicorp/zero/react'; -import {useLogin} from './use-login.js'; -import {useZero} from './use-zero.js'; +import {useLogin} from './use-login.tsx'; +import {useZero} from './use-zero.ts'; export function useCanEdit(ownerUserID: string | undefined): boolean { const login = useLogin(); diff --git a/apps/zbugs/src/hooks/use-document-has-focus.tsx b/apps/zbugs/src/hooks/use-document-has-focus.ts similarity index 100% rename from apps/zbugs/src/hooks/use-document-has-focus.tsx rename to apps/zbugs/src/hooks/use-document-has-focus.ts diff --git a/apps/zbugs/src/hooks/use-emoji-data-source-preload.ts b/apps/zbugs/src/hooks/use-emoji-data-source-preload.ts index 667f35822d..527037e5b4 100644 --- a/apps/zbugs/src/hooks/use-emoji-data-source-preload.ts +++ b/apps/zbugs/src/hooks/use-emoji-data-source-preload.ts @@ -1,6 +1,6 @@ import Database from 'emoji-picker-element/database.js'; import {useEffect} from 'react'; -import {emojiDataSource} from '../components/emoji-data-source.js'; +import {emojiDataSource} from '../components/emoji-data-source.ts'; export function useEmojiDataSourcePreload() { useEffect(() => { diff --git a/apps/zbugs/src/hooks/use-login.tsx b/apps/zbugs/src/hooks/use-login.tsx index 291bbd92b6..ecc02d5efc 100644 --- a/apps/zbugs/src/hooks/use-login.tsx +++ b/apps/zbugs/src/hooks/use-login.tsx @@ -1,5 +1,5 @@ import {createContext, useContext} from 'react'; -import {type LoginState} from '../zero-setup.js'; +import {type LoginState} from '../zero-setup.ts'; export type LoginContext = { logout: () => void; diff --git a/apps/zbugs/src/hooks/use-softnav.ts b/apps/zbugs/src/hooks/use-softnav.ts index 0029167845..470c8391e9 100644 --- a/apps/zbugs/src/hooks/use-softnav.ts +++ b/apps/zbugs/src/hooks/use-softnav.ts @@ -1,7 +1,7 @@ import {useEffect} from 'react'; import {navigate} from 'wouter/use-browser-location'; -import {isPrimaryMouseButton} from '../is-primary-mouse-button.js'; -import {umami} from '../umami.js'; +import {isPrimaryMouseButton} from '../is-primary-mouse-button.ts'; +import {umami} from '../umami.ts'; // Implements softnav for all links. // We do it this way rather than in the Link component so that links inside diff --git a/apps/zbugs/src/hooks/use-user-pref.ts b/apps/zbugs/src/hooks/use-user-pref.ts index bd57ab21c8..c98cb15a38 100644 --- a/apps/zbugs/src/hooks/use-user-pref.ts +++ b/apps/zbugs/src/hooks/use-user-pref.ts @@ -1,7 +1,7 @@ import type {Zero} from '@rocicorp/zero'; import {useQuery} from '@rocicorp/zero/react'; -import type {Schema} from '../../schema.js'; -import {useZero} from './use-zero.js'; +import type {Schema} from '../../schema.ts'; +import {useZero} from './use-zero.ts'; export function useUserPref(key: string): string | undefined { const z = useZero(); diff --git a/apps/zbugs/src/hooks/use-zero.ts b/apps/zbugs/src/hooks/use-zero.ts index 833a6d02bc..fe78137dfc 100644 --- a/apps/zbugs/src/hooks/use-zero.ts +++ b/apps/zbugs/src/hooks/use-zero.ts @@ -1,3 +1,3 @@ import {createUseZero} from '@rocicorp/zero/react'; -import type {Schema} from '../../schema.js'; +import type {Schema} from '../../schema.ts'; export const useZero = createUseZero(); diff --git a/apps/zbugs/src/main.tsx b/apps/zbugs/src/main.tsx index e3a0cf8bc2..aaea324175 100644 --- a/apps/zbugs/src/main.tsx +++ b/apps/zbugs/src/main.tsx @@ -1,12 +1,12 @@ -import './zero-setup.js'; +import './zero-setup.ts'; import {StrictMode} from 'react'; import {createRoot} from 'react-dom/client'; import 'react-toastify/dist/ReactToastify.css'; import {must} from 'shared/src/must.js'; -import {LoginProvider} from './components/login-provider.js'; +import {LoginProvider} from './components/login-provider.tsx'; import './index.css'; -import {Root} from './root.js'; +import {Root} from './root.tsx'; createRoot(must(document.getElementById('root'))).render( diff --git a/apps/zbugs/src/page-load-stats.ts b/apps/zbugs/src/page-load-stats.ts index 9472d5c8f2..09a4f1c9e6 100644 --- a/apps/zbugs/src/page-load-stats.ts +++ b/apps/zbugs/src/page-load-stats.ts @@ -1,4 +1,4 @@ -import {umami} from './umami.js'; +import {umami} from './umami.ts'; function assignLatencyToBucket(latencyMs: number): string { const buckets = [ diff --git a/apps/zbugs/src/pages/issue/comment-composer.tsx b/apps/zbugs/src/pages/issue/comment-composer.tsx index 1de1d4c692..c5d2b76b3e 100644 --- a/apps/zbugs/src/pages/issue/comment-composer.tsx +++ b/apps/zbugs/src/pages/issue/comment-composer.tsx @@ -1,10 +1,10 @@ import {nanoid} from 'nanoid'; import {useEffect, useState} from 'react'; -import {Button} from '../../components/button.js'; -import {useLogin} from '../../hooks/use-login.js'; -import {useZero} from '../../hooks/use-zero.js'; -import {isCtrlEnter} from './is-ctrl-enter.js'; -import {maxCommentLength} from '../../limits.js'; +import {Button} from '../../components/button.tsx'; +import {useLogin} from '../../hooks/use-login.tsx'; +import {useZero} from '../../hooks/use-zero.ts'; +import {maxCommentLength} from '../../limits.ts'; +import {isCtrlEnter} from './is-ctrl-enter.ts'; export function CommentComposer({ id, diff --git a/apps/zbugs/src/pages/issue/comment.tsx b/apps/zbugs/src/pages/issue/comment.tsx index 0f36a67ed5..e4a8103e2e 100644 --- a/apps/zbugs/src/pages/issue/comment.tsx +++ b/apps/zbugs/src/pages/issue/comment.tsx @@ -1,20 +1,20 @@ import type {Row} from '@rocicorp/zero'; import classNames from 'classnames'; import {memo, useState} from 'react'; -import {makePermalink} from '../../comment-permalink.js'; -import type {commentQuery} from '../../comment-query.js'; -import {AvatarImage} from '../../components/avatar-image.js'; -import {Button} from '../../components/button.js'; -import {CanEdit} from '../../components/can-edit.js'; -import {Confirm} from '../../components/confirm.js'; -import {EmojiPanel} from '../../components/emoji-panel.js'; -import {Link} from '../../components/link.js'; -import {Markdown} from '../../components/markdown.js'; -import {RelativeTime} from '../../components/relative-time.js'; -import {useHash} from '../../hooks/use-hash.js'; -import {useLogin} from '../../hooks/use-login.js'; -import {useZero} from '../../hooks/use-zero.js'; -import {CommentComposer} from './comment-composer.js'; +import {makePermalink} from '../../comment-permalink.ts'; +import type {commentQuery} from '../../comment-query.ts'; +import {AvatarImage} from '../../components/avatar-image.tsx'; +import {Button} from '../../components/button.tsx'; +import {CanEdit} from '../../components/can-edit.tsx'; +import {Confirm} from '../../components/confirm.tsx'; +import {EmojiPanel} from '../../components/emoji-panel.tsx'; +import {Link} from '../../components/link.tsx'; +import {Markdown} from '../../components/markdown.tsx'; +import {RelativeTime} from '../../components/relative-time.tsx'; +import {useHash} from '../../hooks/use-hash.ts'; +import {useLogin} from '../../hooks/use-login.tsx'; +import {useZero} from '../../hooks/use-zero.ts'; +import {CommentComposer} from './comment-composer.tsx'; import style from './comment.module.css'; type Props = { diff --git a/apps/zbugs/src/pages/issue/is-ctrl-enter.tsx b/apps/zbugs/src/pages/issue/is-ctrl-enter.ts similarity index 100% rename from apps/zbugs/src/pages/issue/is-ctrl-enter.tsx rename to apps/zbugs/src/pages/issue/is-ctrl-enter.ts diff --git a/apps/zbugs/src/pages/issue/issue-composer.tsx b/apps/zbugs/src/pages/issue/issue-composer.tsx index ded1ae669f..1f81942c0d 100644 --- a/apps/zbugs/src/pages/issue/issue-composer.tsx +++ b/apps/zbugs/src/pages/issue/issue-composer.tsx @@ -1,13 +1,13 @@ import {nanoid} from 'nanoid'; import {useCallback, useEffect, useState} from 'react'; -import {Button} from '../../components/button.js'; -import {Modal, ModalActions, ModalBody} from '../../components/modal.js'; -import {useZero} from '../../hooks/use-zero.js'; -import {isCtrlEnter} from './is-ctrl-enter.js'; +import {Button} from '../../components/button.tsx'; +import {Modal, ModalActions, ModalBody} from '../../components/modal.tsx'; +import {useZero} from '../../hooks/use-zero.ts'; import { MAX_ISSUE_DESCRIPTION_LENGTH, MAX_ISSUE_TITLE_LENGTH, -} from '../../limits.js'; +} from '../../limits.ts'; +import {isCtrlEnter} from './is-ctrl-enter.ts'; interface Props { /** If id is defined the issue created by the composer. */ diff --git a/apps/zbugs/src/pages/issue/issue-page.tsx b/apps/zbugs/src/pages/issue/issue-page.tsx index e938fbc483..54dc885dac 100644 --- a/apps/zbugs/src/pages/issue/issue-page.tsx +++ b/apps/zbugs/src/pages/issue/issue-page.tsx @@ -20,42 +20,42 @@ import {toast, ToastContainer} from 'react-toastify'; import {assert} from 'shared/src/asserts.js'; import {useParams} from 'wouter'; import {navigate, useHistoryState} from 'wouter/use-browser-location'; -import {must} from '../../../../../packages/shared/src/must.js'; -import {difference} from '../../../../../packages/shared/src/set-utils.js'; -import type {CommentRow, IssueRow, Schema, UserRow} from '../../../schema.js'; +import {must} from '../../../../../packages/shared/src/must.ts'; +import {difference} from '../../../../../packages/shared/src/set-utils.ts'; +import type {CommentRow, IssueRow, Schema, UserRow} from '../../../schema.ts'; import statusClosed from '../../assets/icons/issue-closed.svg'; import statusOpen from '../../assets/icons/issue-open.svg'; -import {commentQuery} from '../../comment-query.js'; -import {AvatarImage} from '../../components/avatar-image.js'; -import {Button} from '../../components/button.js'; -import {CanEdit} from '../../components/can-edit.js'; -import {Combobox} from '../../components/combobox.js'; -import {Confirm} from '../../components/confirm.js'; -import {EmojiPanel} from '../../components/emoji-panel.js'; -import {LabelPicker} from '../../components/label-picker.js'; -import {Link} from '../../components/link.js'; -import {Markdown} from '../../components/markdown.js'; -import {RelativeTime} from '../../components/relative-time.js'; -import {UserPicker} from '../../components/user-picker.js'; -import {type Emoji} from '../../emoji-utils.js'; -import {useCanEdit} from '../../hooks/use-can-edit.js'; -import {useDocumentHasFocus} from '../../hooks/use-document-has-focus.js'; -import {useEmojiDataSourcePreload} from '../../hooks/use-emoji-data-source-preload.js'; -import {useIsScrolling} from '../../hooks/use-is-scrolling.js'; -import {useKeypress} from '../../hooks/use-keypress.js'; -import {useLogin} from '../../hooks/use-login.js'; -import {useZero} from '../../hooks/use-zero.js'; +import {commentQuery} from '../../comment-query.ts'; +import {AvatarImage} from '../../components/avatar-image.tsx'; +import {Button} from '../../components/button.tsx'; +import {CanEdit} from '../../components/can-edit.tsx'; +import {Combobox} from '../../components/combobox.tsx'; +import {Confirm} from '../../components/confirm.tsx'; +import {EmojiPanel} from '../../components/emoji-panel.tsx'; +import {LabelPicker} from '../../components/label-picker.tsx'; +import {Link} from '../../components/link.tsx'; +import {Markdown} from '../../components/markdown.tsx'; +import {RelativeTime} from '../../components/relative-time.tsx'; +import {UserPicker} from '../../components/user-picker.tsx'; +import {type Emoji} from '../../emoji-utils.ts'; +import {useCanEdit} from '../../hooks/use-can-edit.ts'; +import {useDocumentHasFocus} from '../../hooks/use-document-has-focus.ts'; +import {useEmojiDataSourcePreload} from '../../hooks/use-emoji-data-source-preload.ts'; +import {useIsScrolling} from '../../hooks/use-is-scrolling.ts'; +import {useKeypress} from '../../hooks/use-keypress.ts'; +import {useLogin} from '../../hooks/use-login.tsx'; +import {useZero} from '../../hooks/use-zero.ts'; import { MAX_ISSUE_DESCRIPTION_LENGTH, MAX_ISSUE_TITLE_LENGTH, -} from '../../limits.js'; -import {LRUCache} from '../../lru-cache.js'; -import {recordPageLoad} from '../../page-load-stats.js'; -import {links, type ListContext, type ZbugsHistoryState} from '../../routes.js'; -import {preload} from '../../zero-setup.js'; -import {CommentComposer} from './comment-composer.js'; -import {Comment} from './comment.js'; -import {isCtrlEnter} from './is-ctrl-enter.js'; +} from '../../limits.ts'; +import {LRUCache} from '../../lru-cache.ts'; +import {recordPageLoad} from '../../page-load-stats.ts'; +import {links, type ListContext, type ZbugsHistoryState} from '../../routes.ts'; +import {preload} from '../../zero-setup.ts'; +import {CommentComposer} from './comment-composer.tsx'; +import {Comment} from './comment.tsx'; +import {isCtrlEnter} from './is-ctrl-enter.ts'; const emojiToastShowDuration = 3_000; diff --git a/apps/zbugs/src/pages/list/list-page.tsx b/apps/zbugs/src/pages/list/list-page.tsx index 0f56a5defa..33cf7ef0b3 100644 --- a/apps/zbugs/src/pages/list/list-page.tsx +++ b/apps/zbugs/src/pages/list/list-page.tsx @@ -14,20 +14,20 @@ import React, { import {useDebouncedCallback} from 'use-debounce'; import {useSearch} from 'wouter'; import {navigate} from 'wouter/use-browser-location'; -import {Button} from '../../components/button.js'; -import {Filter, type Selection} from '../../components/filter.js'; -import {IssueLink} from '../../components/issue-link.js'; -import {Link} from '../../components/link.js'; -import {RelativeTime} from '../../components/relative-time.js'; -import {useClickOutside} from '../../hooks/use-click-outside.js'; -import {useElementSize} from '../../hooks/use-element-size.js'; -import {useKeypress} from '../../hooks/use-keypress.js'; -import {useLogin} from '../../hooks/use-login.js'; -import {useZero} from '../../hooks/use-zero.js'; -import {recordPageLoad} from '../../page-load-stats.js'; -import {mark} from '../../perf-log.js'; -import type {ListContext} from '../../routes.js'; -import {preload} from '../../zero-setup.js'; +import {Button} from '../../components/button.tsx'; +import {Filter, type Selection} from '../../components/filter.tsx'; +import {IssueLink} from '../../components/issue-link.tsx'; +import {Link} from '../../components/link.tsx'; +import {RelativeTime} from '../../components/relative-time.tsx'; +import {useClickOutside} from '../../hooks/use-click-outside.ts'; +import {useElementSize} from '../../hooks/use-element-size.ts'; +import {useKeypress} from '../../hooks/use-keypress.ts'; +import {useLogin} from '../../hooks/use-login.tsx'; +import {useZero} from '../../hooks/use-zero.ts'; +import {recordPageLoad} from '../../page-load-stats.ts'; +import {mark} from '../../perf-log.ts'; +import type {ListContext} from '../../routes.ts'; +import {preload} from '../../zero-setup.ts'; let firstRowRendered = false; const itemSize = 56; diff --git a/apps/zbugs/src/root.tsx b/apps/zbugs/src/root.tsx index 8c95579ebe..b913c470c5 100644 --- a/apps/zbugs/src/root.tsx +++ b/apps/zbugs/src/root.tsx @@ -1,13 +1,13 @@ import {ZeroProvider} from '@rocicorp/zero/react'; import {useCallback, useState, useSyncExternalStore} from 'react'; import {Route, Switch} from 'wouter'; -import {Nav} from './components/nav.js'; -import {ErrorPage} from './pages/error/error-page.js'; -import {IssuePage} from './pages/issue/issue-page.js'; -import {ListPage} from './pages/list/list-page.js'; -import {routes} from './routes.js'; -import {zeroRef} from './zero-setup.js'; -import {useSoftNav} from './hooks/use-softnav.js'; +import {Nav} from './components/nav.tsx'; +import {useSoftNav} from './hooks/use-softnav.ts'; +import {ErrorPage} from './pages/error/error-page.tsx'; +import {IssuePage} from './pages/issue/issue-page.tsx'; +import {ListPage} from './pages/list/list-page.tsx'; +import {routes} from './routes.ts'; +import {zeroRef} from './zero-setup.ts'; export function Root() { const z = useSyncExternalStore( diff --git a/apps/zbugs/src/zero-setup.ts b/apps/zbugs/src/zero-setup.ts index 6ad0f98a1b..020330c40c 100644 --- a/apps/zbugs/src/zero-setup.ts +++ b/apps/zbugs/src/zero-setup.ts @@ -1,9 +1,9 @@ import {Zero} from '@rocicorp/zero'; -import {Atom} from './atom.js'; -import {type Schema, schema} from '../schema.js'; -import {clearJwt, getJwt, getRawJwt} from './jwt.js'; -import {mark} from './perf-log.js'; -import {INITIAL_COMMENT_LIMIT} from './pages/issue/issue-page.js'; +import {type Schema, schema} from '../schema.ts'; +import {Atom} from './atom.ts'; +import {clearJwt, getJwt, getRawJwt} from './jwt.ts'; +import {INITIAL_COMMENT_LIMIT} from './pages/issue/issue-page.tsx'; +import {mark} from './perf-log.ts'; export type LoginState = { encoded: string; diff --git a/apps/zbugs/vite.config.ts b/apps/zbugs/vite.config.ts index 1034eeff77..e078d44c38 100644 --- a/apps/zbugs/vite.config.ts +++ b/apps/zbugs/vite.config.ts @@ -3,7 +3,7 @@ import {makeDefine} from 'shared/src/build.js'; import {defineConfig, type ViteDevServer} from 'vite'; import svgr from 'vite-plugin-svgr'; import tsconfigPaths from 'vite-tsconfig-paths'; -import {fastify} from './api/index.js'; +import {fastify} from './api/index.ts'; async function configureServer(server: ViteDevServer) { await fastify.ready(); diff --git a/apps/zbugs/vitest.config.ts b/apps/zbugs/vitest.config.ts index 210c9615cc..4eb8ab6746 100644 --- a/apps/zbugs/vitest.config.ts +++ b/apps/zbugs/vitest.config.ts @@ -1,5 +1,5 @@ import {mergeConfig} from 'vitest/config'; -import config from '../../packages/shared/src/tool/vitest-config.js'; +import config from '../../packages/shared/src/tool/vitest-config.ts'; export default mergeConfig(config, { test: { diff --git a/packages/datadog/src/datadog-log-sink.test.ts b/packages/datadog/src/datadog-log-sink.test.ts index 50be182021..0bf86faee7 100644 --- a/packages/datadog/src/datadog-log-sink.test.ts +++ b/packages/datadog/src/datadog-log-sink.test.ts @@ -1,12 +1,12 @@ import {resolver} from '@rocicorp/resolver'; -import type {ReadonlyJSONObject} from '../../shared/src/json.js'; import {afterEach, beforeEach, expect, test, vi} from 'vitest'; +import type {ReadonlyJSONObject} from '../../shared/src/json.ts'; import { DatadogLogSink, FORCE_FLUSH_THRESHOLD, MAX_ENTRY_CHARS, MAX_LOG_ENTRIES_PER_FLUSH, -} from './datadog-log-sink.js'; +} from './datadog-log-sink.ts'; const originalFetch = globalThis.fetch; const fetch = vi.fn(); diff --git a/packages/datadog/src/mod.ts b/packages/datadog/src/mod.ts index a015bad1f2..31e01ba5d0 100644 --- a/packages/datadog/src/mod.ts +++ b/packages/datadog/src/mod.ts @@ -1,4 +1,4 @@ export { DatadogLogSink, type DatadogLogSinkOptions, -} from './datadog-log-sink.js'; +} from './datadog-log-sink.ts'; diff --git a/packages/datadog/vite.config.ts b/packages/datadog/vite.config.ts index 960efc6d6b..12508b30d0 100644 --- a/packages/datadog/vite.config.ts +++ b/packages/datadog/vite.config.ts @@ -1 +1 @@ -export {default} from '../shared/src/tool/vitest-config.js'; +export {default} from '../shared/src/tool/vitest-config.ts'; diff --git a/packages/replicache-perf/src/bencher-metric-format.ts b/packages/replicache-perf/src/bencher-metric-format.ts index e7df1fc081..1b757e4156 100644 --- a/packages/replicache-perf/src/bencher-metric-format.ts +++ b/packages/replicache-perf/src/bencher-metric-format.ts @@ -1,4 +1,4 @@ -import type {BenchmarkResult} from './benchmark.js'; +import type {BenchmarkResult} from './benchmark.ts'; export type BencherMetricsFormat = { [k: string]: { diff --git a/packages/replicache-perf/src/benchmarks/compare-utf8.ts b/packages/replicache-perf/src/benchmarks/compare-utf8.ts index 0a9b11c506..7dc535b8dd 100644 --- a/packages/replicache-perf/src/benchmarks/compare-utf8.ts +++ b/packages/replicache-perf/src/benchmarks/compare-utf8.ts @@ -1,6 +1,6 @@ import {compareUTF8} from 'compare-utf8'; -import type {Benchmark} from '../benchmark.js'; -import {makeRandomASCIIStrings, makeRandomStrings} from '../data.js'; +import type {Benchmark} from '../benchmark.ts'; +import {makeRandomASCIIStrings, makeRandomStrings} from '../data.ts'; const encoder = new TextEncoder(); diff --git a/packages/replicache-perf/src/benchmarks/hash.ts b/packages/replicache-perf/src/benchmarks/hash.ts index 47265f5649..abcd653a86 100644 --- a/packages/replicache-perf/src/benchmarks/hash.ts +++ b/packages/replicache-perf/src/benchmarks/hash.ts @@ -1,6 +1,6 @@ import {createSHA512} from 'hash-wasm'; -import type {Benchmark} from '../benchmark.js'; -import {makeRandomStrings} from '../data.js'; +import type {Benchmark} from '../benchmark.ts'; +import {makeRandomStrings} from '../data.ts'; const encoder = new TextEncoder(); diff --git a/packages/replicache-perf/src/benchmarks/idb.ts b/packages/replicache-perf/src/benchmarks/idb.ts index 797d7a4c75..1cad697b8d 100644 --- a/packages/replicache-perf/src/benchmarks/idb.ts +++ b/packages/replicache-perf/src/benchmarks/idb.ts @@ -2,8 +2,8 @@ import {deleteDB, type IDBPDatabase, openDB} from 'idb/with-async-ittr'; // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore Invalid module when using node16 module resolution. import xbytes from 'xbytes'; -import type {Bencher, Benchmark} from '../benchmark.js'; -import {randomData, type RandomDataType} from '../data.js'; +import type {Bencher, Benchmark} from '../benchmark.ts'; +import {randomData, type RandomDataType} from '../data.ts'; function benchmarkIDBReadGetAll(opts: { dataType: RandomDataType; diff --git a/packages/replicache-perf/src/benchmarks/map-loop.ts b/packages/replicache-perf/src/benchmarks/map-loop.ts index 5575ab7d31..41ece4e074 100644 --- a/packages/replicache-perf/src/benchmarks/map-loop.ts +++ b/packages/replicache-perf/src/benchmarks/map-loop.ts @@ -1,4 +1,4 @@ -import type {Benchmark} from '../benchmark.js'; +import type {Benchmark} from '../benchmark.ts'; export function benchmarks(): Array { return [forLoop(), forEach()]; diff --git a/packages/replicache-perf/src/benchmarks/replicache.ts b/packages/replicache-perf/src/benchmarks/replicache.ts index 468d67a4f5..5ca77d6c3c 100644 --- a/packages/replicache-perf/src/benchmarks/replicache.ts +++ b/packages/replicache-perf/src/benchmarks/replicache.ts @@ -1,6 +1,6 @@ import {resolver} from '@rocicorp/resolver'; -import {ReplicacheImpl} from '../../../replicache/src/impl.js'; -import {dropIDBStoreWithMemFallback} from '../../../replicache/src/kv/idb-store-with-mem-fallback.js'; +import {ReplicacheImpl} from '../../../replicache/src/impl.ts'; +import {dropIDBStoreWithMemFallback} from '../../../replicache/src/kv/idb-store-with-mem-fallback.ts'; import type { IndexDefinitions, JSONValue, @@ -9,18 +9,18 @@ import type { ReadTransaction, ReplicacheOptions, WriteTransaction, -} from '../../../replicache/src/mod.js'; -import {assert} from '../../../shared/src/asserts.js'; -import {deepEqual} from '../../../shared/src/json.js'; -import {randomUint64} from '../../../shared/src/random-uint64.js'; -import type {Writable} from '../../../shared/src/writable.js'; -import type {Bencher, Benchmark} from '../benchmark.js'; +} from '../../../replicache/src/mod.ts'; +import {assert} from '../../../shared/src/asserts.ts'; +import {deepEqual} from '../../../shared/src/json.ts'; +import {randomUint64} from '../../../shared/src/random-uint64.ts'; +import type {Writable} from '../../../shared/src/writable.ts'; +import type {Bencher, Benchmark} from '../benchmark.ts'; import { type TestDataObject, getTmcwData, jsonArrayTestData, jsonObjectTestData, -} from '../data.js'; +} from '../data.ts'; const valSize = 1024; diff --git a/packages/replicache-perf/src/benchmarks/storage.ts b/packages/replicache-perf/src/benchmarks/storage.ts index ac8ca7eced..a2a8acb630 100644 --- a/packages/replicache-perf/src/benchmarks/storage.ts +++ b/packages/replicache-perf/src/benchmarks/storage.ts @@ -1,5 +1,5 @@ -import type {Benchmark} from '../benchmark.js'; -import {randomString} from '../data.js'; +import type {Benchmark} from '../benchmark.ts'; +import {randomString} from '../data.ts'; export function benchmarks(): Benchmark[] { return [localStorageRead(), localStorageWrite()]; diff --git a/packages/replicache-perf/src/data.ts b/packages/replicache-perf/src/data.ts index f911b1d876..8da87b55fe 100644 --- a/packages/replicache-perf/src/data.ts +++ b/packages/replicache-perf/src/data.ts @@ -1,4 +1,4 @@ -import {getSizeOfValue} from '../../replicache/src/size-of-value.js'; +import {getSizeOfValue} from '../../replicache/src/size-of-value.ts'; export type RandomDataType = 'string' | 'object' | 'arraybuffer' | 'blob'; export type RandomDatum = string | Record | ArrayBuffer | Blob; diff --git a/packages/replicache-perf/src/format.ts b/packages/replicache-perf/src/format.ts index c86da85327..dfdfabf303 100644 --- a/packages/replicache-perf/src/format.ts +++ b/packages/replicache-perf/src/format.ts @@ -1,4 +1,4 @@ -import type {BenchmarkResult} from './benchmark.js'; +import type {BenchmarkResult} from './benchmark.ts'; export function formatAsReplicache(results: BenchmarkResult): string { const {name, runTimesStatistics: stats, sortedRunTimesMs: runs} = results; diff --git a/packages/replicache-perf/src/github-action-benchmark.ts b/packages/replicache-perf/src/github-action-benchmark.ts index c413d8611b..2225452470 100644 --- a/packages/replicache-perf/src/github-action-benchmark.ts +++ b/packages/replicache-perf/src/github-action-benchmark.ts @@ -1,5 +1,5 @@ -import type {BenchmarkResult} from './benchmark.js'; -import {formatAsReplicache, formatVariance} from './format.js'; +import type {BenchmarkResult} from './benchmark.ts'; +import {formatAsReplicache, formatVariance} from './format.ts'; // See https://github.com/benchmark-action/github-action-benchmark#examples export type Entry = { diff --git a/packages/replicache-perf/src/index.ts b/packages/replicache-perf/src/index.ts index 1c53db1157..d0c14a3016 100644 --- a/packages/replicache-perf/src/index.ts +++ b/packages/replicache-perf/src/index.ts @@ -1,5 +1,5 @@ -import * as m from './perf.js'; -import {benchmarks, runAll} from './perf.js'; +import * as m from './perf.ts'; +import {benchmarks, runAll} from './perf.ts'; // export all as globals for (const [n, v] of Object.entries(m)) { diff --git a/packages/replicache-perf/src/perf.ts b/packages/replicache-perf/src/perf.ts index 094a33e705..23444ce5dc 100644 --- a/packages/replicache-perf/src/perf.ts +++ b/packages/replicache-perf/src/perf.ts @@ -1,11 +1,11 @@ -import {type Benchmark, runBenchmark} from './benchmark.js'; -import {benchmarks as compareBenchmarks} from './benchmarks/compare-utf8.js'; -import {benchmarks as hashBenchmarks} from './benchmarks/hash.js'; -import {benchmarks as idbBenchmarks} from './benchmarks/idb.js'; -import {benchmarks as mapLoopBenchmarks} from './benchmarks/map-loop.js'; -import {benchmarks as replicacheBenchmarks} from './benchmarks/replicache.js'; -import {benchmarks as storageBenchmarks} from './benchmarks/storage.js'; -import {formatAsReplicache} from './format.js'; +import {type Benchmark, runBenchmark} from './benchmark.ts'; +import {benchmarks as compareBenchmarks} from './benchmarks/compare-utf8.ts'; +import {benchmarks as hashBenchmarks} from './benchmarks/hash.ts'; +import {benchmarks as idbBenchmarks} from './benchmarks/idb.ts'; +import {benchmarks as mapLoopBenchmarks} from './benchmarks/map-loop.ts'; +import {benchmarks as replicacheBenchmarks} from './benchmarks/replicache.ts'; +import {benchmarks as storageBenchmarks} from './benchmarks/storage.ts'; +import {formatAsReplicache} from './format.ts'; export const benchmarks = [ ...replicacheBenchmarks(), diff --git a/packages/replicache-perf/src/runner.ts b/packages/replicache-perf/src/runner.ts index 3574629ce5..fc0198940b 100644 --- a/packages/replicache-perf/src/runner.ts +++ b/packages/replicache-perf/src/runner.ts @@ -8,14 +8,14 @@ import process from 'node:process'; import {fileURLToPath} from 'node:url'; import * as playwright from 'playwright'; import {createServer} from 'vite'; -import {assert} from '../../shared/src/asserts.js'; +import {assert} from '../../shared/src/asserts.ts'; import {makeDefine} from '../../shared/src/build.js'; import { type BencherMetricsFormat, toBencherMetricFormat, -} from './bencher-metric-format.js'; -import {formatAsBenchmarkJS, formatAsReplicache} from './format.js'; -import {createGithubActionBenchmarkJSONEntries} from './github-action-benchmark.js'; +} from './bencher-metric-format.ts'; +import {formatAsBenchmarkJS, formatAsReplicache} from './format.ts'; +import {createGithubActionBenchmarkJSONEntries} from './github-action-benchmark.ts'; type Format = 'benchmarkJS' | 'json' | 'replicache' | 'bmf'; diff --git a/packages/replicache-perf/tool/convert-old-file-sizes.js b/packages/replicache-perf/tool/convert-old-file-sizes.js index 2f5e34c549..563088b5a8 100644 --- a/packages/replicache-perf/tool/convert-old-file-sizes.js +++ b/packages/replicache-perf/tool/convert-old-file-sizes.js @@ -9,7 +9,7 @@ const branch = 'main'; const testbed = 'localhost'; const projectSlug = 'replicache-bundle-size'; -const jsURL = 'https://rocicorp.github.io/mono/bundle-sizes/data.js'; +const jsURL = 'https://rocicorp.github.io/mono/bundle-sizes/data.ts'; const header = 'window.BENCHMARK_DATA = '; function benchesToBencher(benches) { diff --git a/packages/replicache/src/array-compare.test.ts b/packages/replicache/src/array-compare.test.ts index 8afd99dc64..e4eda343d4 100644 --- a/packages/replicache/src/array-compare.test.ts +++ b/packages/replicache/src/array-compare.test.ts @@ -1,5 +1,5 @@ import {expect, test} from 'vitest'; -import {arrayCompare} from './array-compare.js'; +import {arrayCompare} from './array-compare.ts'; test('array compare', () => { const t = (a: ArrayLike, b: ArrayLike, expected: number) => { diff --git a/packages/replicache/src/bg-interval.test.ts b/packages/replicache/src/bg-interval.test.ts index ca49b9add4..00300c53e0 100644 --- a/packages/replicache/src/bg-interval.test.ts +++ b/packages/replicache/src/bg-interval.test.ts @@ -2,8 +2,8 @@ import {LogContext} from '@rocicorp/logger'; import {resolver} from '@rocicorp/resolver'; import sinon, {type SinonFakeTimers, useFakeTimers} from 'sinon'; import {afterEach, beforeEach, expect, test} from 'vitest'; -import {TestLogSink} from '../../shared/src/logging-test-utils.js'; -import {initBgIntervalProcess} from './bg-interval.js'; +import {TestLogSink} from '../../shared/src/logging-test-utils.ts'; +import {initBgIntervalProcess} from './bg-interval.ts'; let clock: SinonFakeTimers; beforeEach(() => { diff --git a/packages/replicache/src/bg-interval.ts b/packages/replicache/src/bg-interval.ts index 93a025662b..418fd0e83c 100644 --- a/packages/replicache/src/bg-interval.ts +++ b/packages/replicache/src/bg-interval.ts @@ -1,6 +1,6 @@ import type {LogContext} from '@rocicorp/logger'; -import {AbortError} from '../../shared/src/abort-error.js'; -import {sleep} from '../../shared/src/sleep.js'; +import {AbortError} from '../../shared/src/abort-error.ts'; +import {sleep} from '../../shared/src/sleep.ts'; export function initBgIntervalProcess( processName: string, diff --git a/packages/replicache/src/binary-search.test.ts b/packages/replicache/src/binary-search.test.ts index 83356a4a1a..08b79f30df 100644 --- a/packages/replicache/src/binary-search.test.ts +++ b/packages/replicache/src/binary-search.test.ts @@ -1,5 +1,5 @@ import {expect, test} from 'vitest'; -import {binarySearch} from './binary-search.js'; +import {binarySearch} from './binary-search.ts'; test('binarySearch', () => { // expect(binarySearch(0, () => -1)).to.equal(0); diff --git a/packages/replicache/src/btree/diff.ts b/packages/replicache/src/btree/diff.ts index e174a1cd40..1cd51150fb 100644 --- a/packages/replicache/src/btree/diff.ts +++ b/packages/replicache/src/btree/diff.ts @@ -1,6 +1,6 @@ -import {asyncIterableToArray} from '../async-iterable-to-array.js'; -import type {InternalDiff} from './node.js'; -import type {BTreeRead} from './read.js'; +import {asyncIterableToArray} from '../async-iterable-to-array.ts'; +import type {InternalDiff} from './node.ts'; +import type {BTreeRead} from './read.ts'; export function diff( oldMap: BTreeRead, diff --git a/packages/replicache/src/btree/node.test.ts b/packages/replicache/src/btree/node.test.ts index f15773ceec..ad4998686d 100644 --- a/packages/replicache/src/btree/node.test.ts +++ b/packages/replicache/src/btree/node.test.ts @@ -1,21 +1,21 @@ import {beforeEach, describe, expect, test} from 'vitest'; -import {assert} from '../../../shared/src/asserts.js'; -import type {Enum} from '../../../shared/src/enum.js'; -import type {ReadonlyJSONValue} from '../../../shared/src/json.js'; -import {toRefs} from '../dag/chunk.js'; -import type {Read, Store, Write} from '../dag/store.js'; -import {TestStore} from '../dag/test-store.js'; -import {ChainBuilder} from '../db/test-helpers.js'; -import * as FormatVersion from '../format-version-enum.js'; -import {type FrozenJSONValue, deepFreeze} from '../frozen-json.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import type {Enum} from '../../../shared/src/enum.ts'; +import type {ReadonlyJSONValue} from '../../../shared/src/json.ts'; +import {toRefs} from '../dag/chunk.ts'; +import type {Read, Store, Write} from '../dag/store.ts'; +import {TestStore} from '../dag/test-store.ts'; +import {ChainBuilder} from '../db/test-helpers.ts'; +import * as FormatVersion from '../format-version-enum.ts'; +import {type FrozenJSONValue, deepFreeze} from '../frozen-json.ts'; import { type Hash, emptyHash, fakeHash, makeNewFakeHashFunction, -} from '../hash.js'; -import {getSizeOfEntry, getSizeOfValue} from '../size-of-value.js'; -import {withRead, withWrite} from '../with-transactions.js'; +} from '../hash.ts'; +import {getSizeOfEntry, getSizeOfValue} from '../size-of-value.ts'; +import {withRead, withWrite} from '../with-transactions.ts'; import { type DataNode, type Diff, @@ -28,9 +28,9 @@ import { parseBTreeNode, partition, toChunkData, -} from './node.js'; -import {BTreeRead, NODE_HEADER_SIZE} from './read.js'; -import {BTreeWrite} from './write.js'; +} from './node.ts'; +import {BTreeRead, NODE_HEADER_SIZE} from './read.ts'; +import {BTreeWrite} from './write.ts'; type FormatVersion = Enum; diff --git a/packages/replicache/src/btree/node.ts b/packages/replicache/src/btree/node.ts index efb48502d8..2b1d6df3f2 100644 --- a/packages/replicache/src/btree/node.ts +++ b/packages/replicache/src/btree/node.ts @@ -4,27 +4,27 @@ import { assertArray, assertNumber, assertString, -} from '../../../shared/src/asserts.js'; -import type {Enum} from '../../../shared/src/enum.js'; -import {joinIterables} from '../../../shared/src/iterables.js'; +} from '../../../shared/src/asserts.ts'; +import type {Enum} from '../../../shared/src/enum.ts'; +import {joinIterables} from '../../../shared/src/iterables.ts'; import { type JSONValue, type ReadonlyJSONValue, assertJSONValue, -} from '../../../shared/src/json.js'; -import {binarySearch as binarySearchWithFunc} from '../binary-search.js'; -import {skipBTreeNodeAsserts} from '../config.js'; -import type {IndexKey} from '../db/index.js'; -import * as FormatVersion from '../format-version-enum.js'; +} from '../../../shared/src/json.ts'; +import {binarySearch as binarySearchWithFunc} from '../binary-search.ts'; +import {skipBTreeNodeAsserts} from '../config.ts'; +import type {IndexKey} from '../db/index.ts'; +import * as FormatVersion from '../format-version-enum.ts'; import { type FrozenJSONValue, type FrozenTag, assertDeepFrozen, deepFreeze, -} from '../frozen-json.js'; -import {type Hash, emptyHash, newRandomHash} from '../hash.js'; -import type {BTreeRead} from './read.js'; -import type {BTreeWrite} from './write.js'; +} from '../frozen-json.ts'; +import {type Hash, emptyHash, newRandomHash} from '../hash.ts'; +import type {BTreeRead} from './read.ts'; +import type {BTreeWrite} from './write.ts'; type FormatVersion = Enum; diff --git a/packages/replicache/src/btree/read.ts b/packages/replicache/src/btree/read.ts index 8430daa2d1..930ee87bf4 100644 --- a/packages/replicache/src/btree/read.ts +++ b/packages/replicache/src/btree/read.ts @@ -1,10 +1,10 @@ -import type {Enum} from '../../../shared/src/enum.js'; -import {deepEqual} from '../../../shared/src/json.js'; -import type {Read} from '../dag/store.js'; -import * as FormatVersion from '../format-version-enum.js'; -import type {FrozenJSONValue} from '../frozen-json.js'; -import {type Hash, emptyHash} from '../hash.js'; -import {getSizeOfEntry} from '../size-of-value.js'; +import type {Enum} from '../../../shared/src/enum.ts'; +import {deepEqual} from '../../../shared/src/json.ts'; +import type {Read} from '../dag/store.ts'; +import * as FormatVersion from '../format-version-enum.ts'; +import type {FrozenJSONValue} from '../frozen-json.ts'; +import {type Hash, emptyHash} from '../hash.ts'; +import {getSizeOfEntry} from '../size-of-value.ts'; import { DataNodeImpl, type Entry, @@ -20,14 +20,14 @@ import { isDataNodeImpl, newNodeImpl, parseBTreeNode, -} from './node.js'; +} from './node.ts'; import { SPLICE_ADDED, SPLICE_AT, SPLICE_FROM, SPLICE_REMOVED, computeSplices, -} from './splice.js'; +} from './splice.ts'; type FormatVersion = Enum; diff --git a/packages/replicache/src/btree/splice.test.ts b/packages/replicache/src/btree/splice.test.ts index 34ec4c5226..48b4ca7f69 100644 --- a/packages/replicache/src/btree/splice.test.ts +++ b/packages/replicache/src/btree/splice.test.ts @@ -1,6 +1,6 @@ import {expect, test} from 'vitest'; -import type {ReadonlyJSONValue} from '../../../shared/src/json.js'; -import {computeSplices, type Splice} from './splice.js'; +import type {ReadonlyJSONValue} from '../../../shared/src/json.ts'; +import {computeSplices, type Splice} from './splice.ts'; type Entry = readonly [string, V]; diff --git a/packages/replicache/src/btree/splice.ts b/packages/replicache/src/btree/splice.ts index 68646a15d7..fcc78d1ee5 100644 --- a/packages/replicache/src/btree/splice.ts +++ b/packages/replicache/src/btree/splice.ts @@ -1,4 +1,4 @@ -import {deepEqual, type ReadonlyJSONValue} from '../../../shared/src/json.js'; +import {deepEqual, type ReadonlyJSONValue} from '../../../shared/src/json.ts'; export type Splice = [at: number, removed: number, added: number, from: number]; diff --git a/packages/replicache/src/btree/write.ts b/packages/replicache/src/btree/write.ts index b8f6176980..63ac54ca0a 100644 --- a/packages/replicache/src/btree/write.ts +++ b/packages/replicache/src/btree/write.ts @@ -1,13 +1,13 @@ import {Lock} from '@rocicorp/lock'; -import {assert} from '../../../shared/src/asserts.js'; -import type {Enum} from '../../../shared/src/enum.js'; -import type {ReadonlyJSONValue} from '../../../shared/src/json.js'; -import {type Chunk, type CreateChunk, toRefs} from '../dag/chunk.js'; -import type {Write} from '../dag/store.js'; -import * as FormatVersion from '../format-version-enum.js'; -import type {FrozenJSONValue} from '../frozen-json.js'; -import {type Hash, emptyHash, newRandomHash} from '../hash.js'; -import {getSizeOfEntry} from '../size-of-value.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import type {Enum} from '../../../shared/src/enum.ts'; +import type {ReadonlyJSONValue} from '../../../shared/src/json.ts'; +import {type Chunk, type CreateChunk, toRefs} from '../dag/chunk.ts'; +import type {Write} from '../dag/store.ts'; +import * as FormatVersion from '../format-version-enum.ts'; +import type {FrozenJSONValue} from '../frozen-json.ts'; +import {type Hash, emptyHash, newRandomHash} from '../hash.ts'; +import {getSizeOfEntry} from '../size-of-value.ts'; import { DataNodeImpl, type Entry, @@ -18,8 +18,8 @@ import { newNodeImpl, partition, toChunkData, -} from './node.js'; -import {BTreeRead} from './read.js'; +} from './node.ts'; +import {BTreeRead} from './read.ts'; type FormatVersion = Enum; diff --git a/packages/replicache/src/call-default-fetch.ts b/packages/replicache/src/call-default-fetch.ts index 9c6d012a8c..eba5d6567b 100644 --- a/packages/replicache/src/call-default-fetch.ts +++ b/packages/replicache/src/call-default-fetch.ts @@ -1,4 +1,4 @@ -import type {HTTPRequestInfo} from './http-request-info.js'; +import type {HTTPRequestInfo} from './http-request-info.ts'; /** * Helper function for {@link getDefaultPuller} and {@link getDefaultPusher}. diff --git a/packages/replicache/src/config.ts b/packages/replicache/src/config.ts index b19e9c1052..fd73c75701 100644 --- a/packages/replicache/src/config.ts +++ b/packages/replicache/src/config.ts @@ -1,4 +1,4 @@ -import {isProd} from '../../shared/src/config.js'; +import {isProd} from '../../shared/src/config.ts'; export { isProd as skipBTreeNodeAsserts, diff --git a/packages/replicache/src/connection-loop-delegates.ts b/packages/replicache/src/connection-loop-delegates.ts index b7316900d9..8e1dafde8f 100644 --- a/packages/replicache/src/connection-loop-delegates.ts +++ b/packages/replicache/src/connection-loop-delegates.ts @@ -1,5 +1,5 @@ -import type {ConnectionLoopDelegate} from './connection-loop.js'; -import type {ReplicacheImpl} from './replicache-impl.js'; +import type {ConnectionLoopDelegate} from './connection-loop.ts'; +import type {ReplicacheImpl} from './replicache-impl.ts'; class ConnectionLoopDelegateImpl { readonly rep: ReplicacheImpl; diff --git a/packages/replicache/src/connection-loop.test.ts b/packages/replicache/src/connection-loop.test.ts index d2ce948e99..f31fef0f63 100644 --- a/packages/replicache/src/connection-loop.test.ts +++ b/packages/replicache/src/connection-loop.test.ts @@ -1,16 +1,16 @@ import {LogContext} from '@rocicorp/logger'; import {type SinonFakeTimers, useFakeTimers} from 'sinon'; import {afterEach, beforeEach, describe, expect, test} from 'vitest'; -import {getDocumentVisibilityWatcher} from '../../shared/src/document-visible.js'; -import {promiseTrue} from '../../shared/src/resolved-promises.js'; -import {sleep} from '../../shared/src/sleep.js'; +import {getDocumentVisibilityWatcher} from '../../shared/src/document-visible.ts'; +import {promiseTrue} from '../../shared/src/resolved-promises.ts'; +import {sleep} from '../../shared/src/sleep.ts'; import { ConnectionLoop, type ConnectionLoopDelegate, DEBOUNCE_DELAY_MS, MAX_DELAY_MS, MIN_DELAY_MS, -} from './connection-loop.js'; +} from './connection-loop.ts'; let clock: SinonFakeTimers; beforeEach(() => { diff --git a/packages/replicache/src/connection-loop.ts b/packages/replicache/src/connection-loop.ts index d08406df83..1e3ba8f223 100644 --- a/packages/replicache/src/connection-loop.ts +++ b/packages/replicache/src/connection-loop.ts @@ -1,7 +1,7 @@ import type {LogContext} from '@rocicorp/logger'; import {resolver} from '@rocicorp/resolver'; -import type {DocumentVisibilityWatcher} from '../../shared/src/document-visible.js'; -import {sleep} from '../../shared/src/sleep.js'; +import type {DocumentVisibilityWatcher} from '../../shared/src/document-visible.ts'; +import {sleep} from '../../shared/src/sleep.ts'; export const DEBOUNCE_DELAY_MS = 10; diff --git a/packages/replicache/src/cookies.test.ts b/packages/replicache/src/cookies.test.ts index 814d7e2fd4..5e4b246860 100644 --- a/packages/replicache/src/cookies.test.ts +++ b/packages/replicache/src/cookies.test.ts @@ -1,5 +1,5 @@ import {expect, test} from 'vitest'; -import {compareCookies, type Cookie} from './cookies.js'; +import {compareCookies, type Cookie} from './cookies.ts'; test('compareCookies', () => { const t = (a: Cookie, b: Cookie, expected: number) => { diff --git a/packages/replicache/src/cookies.ts b/packages/replicache/src/cookies.ts index 532c63ac83..8ec82472bb 100644 --- a/packages/replicache/src/cookies.ts +++ b/packages/replicache/src/cookies.ts @@ -1,9 +1,9 @@ import { assertJSONObject, type ReadonlyJSONValue, -} from '../../shared/src/json.js'; -import {stringCompare} from '../../shared/src/string-compare.js'; -import type {FrozenJSONValue} from './frozen-json.js'; +} from '../../shared/src/json.ts'; +import {stringCompare} from '../../shared/src/string-compare.ts'; +import type {FrozenJSONValue} from './frozen-json.ts'; /** * A cookie is a value that is used to determine the order of snapshots. It diff --git a/packages/replicache/src/dag/chunk.test.ts b/packages/replicache/src/dag/chunk.test.ts index 1ae073d5bf..dc527371f7 100644 --- a/packages/replicache/src/dag/chunk.test.ts +++ b/packages/replicache/src/dag/chunk.test.ts @@ -1,8 +1,8 @@ import {expect, test} from 'vitest'; -import type {ReadonlyJSONValue} from '../../../shared/src/json.js'; -import {deepFreeze} from '../frozen-json.js'; -import {fakeHash, type Hash, makeNewFakeHashFunction} from '../hash.js'; -import {Chunk, createChunk, type Refs, toRefs} from './chunk.js'; +import type {ReadonlyJSONValue} from '../../../shared/src/json.ts'; +import {deepFreeze} from '../frozen-json.ts'; +import {fakeHash, type Hash, makeNewFakeHashFunction} from '../hash.ts'; +import {Chunk, createChunk, type Refs, toRefs} from './chunk.ts'; test('round trip', () => { const chunkHasher = makeNewFakeHashFunction(); diff --git a/packages/replicache/src/dag/chunk.ts b/packages/replicache/src/dag/chunk.ts index 0e2154c839..57759709ea 100644 --- a/packages/replicache/src/dag/chunk.ts +++ b/packages/replicache/src/dag/chunk.ts @@ -1,6 +1,6 @@ -import {assert, assertString} from '../../../shared/src/asserts.js'; -import {assertDeepFrozen} from '../frozen-json.js'; -import type {Hash} from '../hash.js'; +import {assert, assertString} from '../../../shared/src/asserts.ts'; +import {assertDeepFrozen} from '../frozen-json.ts'; +import type {Hash} from '../hash.ts'; // By using declare we tell the type system that there is a unique symbol. // However, there is no such symbol but the type system does not care. diff --git a/packages/replicache/src/dag/gc.test.ts b/packages/replicache/src/dag/gc.test.ts index bfe51ae57a..59b312c9c3 100644 --- a/packages/replicache/src/dag/gc.test.ts +++ b/packages/replicache/src/dag/gc.test.ts @@ -1,6 +1,6 @@ import {expect, test} from 'vitest'; -import {fakeHash, type Hash} from '../hash.js'; -import {computeRefCountUpdates, type RefCountUpdatesDelegate} from './gc.js'; +import {fakeHash, type Hash} from '../hash.ts'; +import {computeRefCountUpdates, type RefCountUpdatesDelegate} from './gc.ts'; function createGraph(args: { graph: Record; diff --git a/packages/replicache/src/dag/gc.ts b/packages/replicache/src/dag/gc.ts index b37f352f1d..ecef730035 100644 --- a/packages/replicache/src/dag/gc.ts +++ b/packages/replicache/src/dag/gc.ts @@ -1,7 +1,7 @@ -import {assert, assertNumber} from '../../../shared/src/asserts.js'; -import type {MaybePromise} from '../../../shared/src/types.js'; -import {skipGCAsserts} from '../config.js'; -import {type Hash, emptyHash} from '../hash.js'; +import {assert, assertNumber} from '../../../shared/src/asserts.ts'; +import type {MaybePromise} from '../../../shared/src/types.ts'; +import {skipGCAsserts} from '../config.ts'; +import {type Hash, emptyHash} from '../hash.ts'; export type HeadChange = { new: Hash | undefined; diff --git a/packages/replicache/src/dag/key.test.ts b/packages/replicache/src/dag/key.test.ts index 4caa9a4c3b..d7b46296a1 100644 --- a/packages/replicache/src/dag/key.test.ts +++ b/packages/replicache/src/dag/key.test.ts @@ -1,6 +1,6 @@ import {expect, test} from 'vitest'; -import {fakeHash} from '../hash.js'; -import * as KeyType from './key-type-enum.js'; +import {fakeHash} from '../hash.ts'; +import * as KeyType from './key-type-enum.ts'; import { chunkDataKey, chunkMetaKey, @@ -8,7 +8,7 @@ import { headKey, type Key, parse, -} from './key.js'; +} from './key.ts'; test('toString', () => { const hashEmptyString = fakeHash(''); diff --git a/packages/replicache/src/dag/key.ts b/packages/replicache/src/dag/key.ts index 3839966543..6f3d4de04f 100644 --- a/packages/replicache/src/dag/key.ts +++ b/packages/replicache/src/dag/key.ts @@ -1,5 +1,5 @@ -import {type Hash, parse as parseHash} from '../hash.js'; -import * as KeyType from './key-type-enum.js'; +import {type Hash, parse as parseHash} from '../hash.ts'; +import * as KeyType from './key-type-enum.ts'; export function chunkDataKey(hash: Hash): string { return `c/${hash}/d`; diff --git a/packages/replicache/src/dag/lazy-store.test.ts b/packages/replicache/src/dag/lazy-store.test.ts index ec231ae211..3604062795 100644 --- a/packages/replicache/src/dag/lazy-store.test.ts +++ b/packages/replicache/src/dag/lazy-store.test.ts @@ -1,14 +1,14 @@ import {expect, test} from 'vitest'; -import {deepFreeze} from '../frozen-json.js'; -import {assertHash, fakeHash, makeNewFakeHashFunction} from '../hash.js'; +import {deepFreeze} from '../frozen-json.ts'; +import {assertHash, fakeHash, makeNewFakeHashFunction} from '../hash.ts'; import { withRead, withWrite, withWriteNoImplicitCommit, -} from '../with-transactions.js'; -import {asRefs, toRefs, type Chunk} from './chunk.js'; -import {TestLazyStore} from './test-lazy-store.js'; -import {TestStore} from './test-store.js'; +} from '../with-transactions.ts'; +import {asRefs, toRefs, type Chunk} from './chunk.ts'; +import {TestLazyStore} from './test-lazy-store.ts'; +import {TestStore} from './test-store.ts'; const DEFAULT_VALUE_SIZE = 100; function getSizeOfChunkForTest(chunk: Chunk): number { diff --git a/packages/replicache/src/dag/lazy-store.ts b/packages/replicache/src/dag/lazy-store.ts index 33f664f84e..de4a803ebc 100644 --- a/packages/replicache/src/dag/lazy-store.ts +++ b/packages/replicache/src/dag/lazy-store.ts @@ -1,16 +1,16 @@ import {RWLock} from '@rocicorp/lock'; -import {joinIterables} from '../../../shared/src/iterables.js'; -import {promiseVoid} from '../../../shared/src/resolved-promises.js'; -import type {MaybePromise} from '../../../shared/src/types.js'; -import type {Hash} from '../hash.js'; -import {getSizeOfValue} from '../size-of-value.js'; -import {Chunk, type ChunkHasher, type Refs, createChunk} from './chunk.js'; +import {joinIterables} from '../../../shared/src/iterables.ts'; +import {promiseVoid} from '../../../shared/src/resolved-promises.ts'; +import type {MaybePromise} from '../../../shared/src/types.ts'; +import type {Hash} from '../hash.ts'; +import {getSizeOfValue} from '../size-of-value.ts'; +import {Chunk, type ChunkHasher, type Refs, createChunk} from './chunk.ts'; import { type HeadChange, type RefCountUpdatesDelegate, computeRefCountUpdates, -} from './gc.js'; -import {type Read, type Store, type Write, mustGetChunk} from './store.js'; +} from './gc.ts'; +import {type Read, type Store, type Write, mustGetChunk} from './store.ts'; /** * Dag Store which lazily loads values from a source store and then caches diff --git a/packages/replicache/src/dag/store-impl.test.ts b/packages/replicache/src/dag/store-impl.test.ts index 65829982c0..126f7b7425 100644 --- a/packages/replicache/src/dag/store-impl.test.ts +++ b/packages/replicache/src/dag/store-impl.test.ts @@ -1,26 +1,26 @@ import {describe, expect, test} from 'vitest'; -import {assert} from '../../../shared/src/asserts.js'; -import type {ReadonlyJSONValue} from '../../../shared/src/json.js'; -import {deepFreeze} from '../frozen-json.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import type {ReadonlyJSONValue} from '../../../shared/src/json.ts'; +import {deepFreeze} from '../frozen-json.ts'; import { assertHash, fakeHash, type Hash, makeNewFakeHashFunction, -} from '../hash.js'; -import type {Read, Store} from '../kv/store.js'; -import {TestMemStore} from '../kv/test-mem-store.js'; +} from '../hash.ts'; +import type {Read, Store} from '../kv/store.ts'; +import {TestMemStore} from '../kv/test-mem-store.ts'; import { using, withRead, withWrite, withWriteNoImplicitCommit, -} from '../with-transactions.js'; -import {Chunk, createChunk, type Refs, toRefs} from './chunk.js'; -import {chunkDataKey, chunkMetaKey, chunkRefCountKey, headKey} from './key.js'; -import {ReadImpl, StoreImpl, WriteImpl} from './store-impl.js'; -import {ChunkNotFoundError} from './store.js'; -import {TestStore} from './test-store.js'; +} from '../with-transactions.ts'; +import {Chunk, createChunk, type Refs, toRefs} from './chunk.ts'; +import {chunkDataKey, chunkMetaKey, chunkRefCountKey, headKey} from './key.ts'; +import {ReadImpl, StoreImpl, WriteImpl} from './store-impl.ts'; +import {ChunkNotFoundError} from './store.ts'; +import {TestStore} from './test-store.ts'; describe('read', () => { test('has chunk', async () => { diff --git a/packages/replicache/src/dag/store-impl.ts b/packages/replicache/src/dag/store-impl.ts index f3a3a23c8b..09eec01c7c 100644 --- a/packages/replicache/src/dag/store-impl.ts +++ b/packages/replicache/src/dag/store-impl.ts @@ -1,21 +1,21 @@ -import {assertNumber} from '../../../shared/src/asserts.js'; -import type {ReadonlyJSONValue} from '../../../shared/src/json.js'; -import {type Hash, assertHash} from '../hash.js'; +import {assertNumber} from '../../../shared/src/asserts.ts'; +import type {ReadonlyJSONValue} from '../../../shared/src/json.ts'; +import {type Hash, assertHash} from '../hash.ts'; import type { Read as KVRead, Store as KVStore, Write as KVWrite, -} from '../kv/store.js'; +} from '../kv/store.ts'; import { Chunk, type ChunkHasher, type Refs, assertRefs, createChunk, -} from './chunk.js'; -import {type RefCountUpdatesDelegate, computeRefCountUpdates} from './gc.js'; -import {chunkDataKey, chunkMetaKey, chunkRefCountKey, headKey} from './key.js'; -import {type Read, type Store, type Write, mustGetChunk} from './store.js'; +} from './chunk.ts'; +import {type RefCountUpdatesDelegate, computeRefCountUpdates} from './gc.ts'; +import {chunkDataKey, chunkMetaKey, chunkRefCountKey, headKey} from './key.ts'; +import {type Read, type Store, type Write, mustGetChunk} from './store.ts'; export class StoreImpl implements Store { readonly #kv: KVStore; diff --git a/packages/replicache/src/dag/store.ts b/packages/replicache/src/dag/store.ts index a148322ec6..b93278609a 100644 --- a/packages/replicache/src/dag/store.ts +++ b/packages/replicache/src/dag/store.ts @@ -1,7 +1,7 @@ -import {assert} from '../../../shared/src/asserts.js'; -import type {Hash} from '../hash.js'; -import type {Release} from '../with-transactions.js'; -import type {Chunk, Refs} from './chunk.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import type {Hash} from '../hash.ts'; +import type {Release} from '../with-transactions.ts'; +import type {Chunk, Refs} from './chunk.ts'; export interface Store { read(): Promise; diff --git a/packages/replicache/src/dag/test-lazy-store.ts b/packages/replicache/src/dag/test-lazy-store.ts index 9cc93fa907..6989f7fa19 100644 --- a/packages/replicache/src/dag/test-lazy-store.ts +++ b/packages/replicache/src/dag/test-lazy-store.ts @@ -1,6 +1,6 @@ -import type {Hash} from '../hash.js'; -import type {Chunk} from './chunk.js'; -import {LazyStore} from './lazy-store.js'; +import type {Hash} from '../hash.ts'; +import type {Chunk} from './chunk.ts'; +import {LazyStore} from './lazy-store.ts'; export class TestLazyStore extends LazyStore { getRefCountsSnapshot(): Record { diff --git a/packages/replicache/src/dag/test-store.ts b/packages/replicache/src/dag/test-store.ts index fa041f6866..8fccc458c5 100644 --- a/packages/replicache/src/dag/test-store.ts +++ b/packages/replicache/src/dag/test-store.ts @@ -1,21 +1,21 @@ -import {assertArray, assertString} from '../../../shared/src/asserts.js'; -import {stringCompare} from '../../../shared/src/string-compare.js'; -import type {Hash} from '../hash.js'; +import {assertArray, assertString} from '../../../shared/src/asserts.ts'; +import {stringCompare} from '../../../shared/src/string-compare.ts'; +import type {Hash} from '../hash.ts'; import { assertHash, makeNewFakeHashFunction, parse as parseHash, -} from '../hash.js'; -import {TestMemStore} from '../kv/test-mem-store.js'; +} from '../hash.ts'; +import {TestMemStore} from '../kv/test-mem-store.ts'; import { Chunk, type ChunkHasher, type Refs, toRefs as chunkToRefs, -} from './chunk.js'; -import * as KeyType from './key-type-enum.js'; -import {chunkMetaKey, parse as parseKey} from './key.js'; -import {StoreImpl} from './store-impl.js'; +} from './chunk.ts'; +import * as KeyType from './key-type-enum.ts'; +import {chunkMetaKey, parse as parseKey} from './key.ts'; +import {StoreImpl} from './store-impl.ts'; export class TestStore extends StoreImpl { readonly kvStore: TestMemStore; diff --git a/packages/replicache/src/dag/visitor.test.ts b/packages/replicache/src/dag/visitor.test.ts index e222de18fc..7790463861 100644 --- a/packages/replicache/src/dag/visitor.test.ts +++ b/packages/replicache/src/dag/visitor.test.ts @@ -1,9 +1,9 @@ import {expect, test} from 'vitest'; -import {assert} from '../../../shared/src/asserts.js'; -import {type Hash, fakeHash} from '../hash.js'; -import {Chunk, toRefs} from './chunk.js'; -import type {MustGetChunk} from './store.js'; -import {Visitor} from './visitor.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import {type Hash, fakeHash} from '../hash.ts'; +import {Chunk, toRefs} from './chunk.ts'; +import type {MustGetChunk} from './store.ts'; +import {Visitor} from './visitor.ts'; test('Ensure only visited once', async () => { const c1 = new Chunk(fakeHash('1'), 'data1', []); diff --git a/packages/replicache/src/dag/visitor.ts b/packages/replicache/src/dag/visitor.ts index b27f207b25..f25b72c7bb 100644 --- a/packages/replicache/src/dag/visitor.ts +++ b/packages/replicache/src/dag/visitor.ts @@ -1,6 +1,6 @@ -import type {Hash} from '../hash.js'; -import type {Chunk} from './chunk.js'; -import type {MustGetChunk} from './store.js'; +import type {Hash} from '../hash.ts'; +import type {Chunk} from './chunk.ts'; +import type {MustGetChunk} from './store.ts'; /** * A visitor walks the DAG starting at a given root and visits each chunk. diff --git a/packages/replicache/src/db/commit.test.ts b/packages/replicache/src/db/commit.test.ts index bff60fe367..86c2f31e47 100644 --- a/packages/replicache/src/db/commit.test.ts +++ b/packages/replicache/src/db/commit.test.ts @@ -1,12 +1,12 @@ import {describe, expect, test} from 'vitest'; -import {assert} from '../../../shared/src/asserts.js'; -import type {Enum} from '../../../shared/src/enum.js'; -import {Chunk, type Refs, toRefs} from '../dag/chunk.js'; -import {TestStore} from '../dag/test-store.js'; -import * as FormatVersion from '../format-version-enum.js'; -import {deepFreeze} from '../frozen-json.js'; -import {type Hash, fakeHash, makeNewFakeHashFunction} from '../hash.js'; -import {withRead} from '../with-transactions.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import type {Enum} from '../../../shared/src/enum.ts'; +import {Chunk, type Refs, toRefs} from '../dag/chunk.ts'; +import {TestStore} from '../dag/test-store.ts'; +import * as FormatVersion from '../format-version-enum.ts'; +import {deepFreeze} from '../frozen-json.ts'; +import {type Hash, fakeHash, makeNewFakeHashFunction} from '../hash.ts'; +import {withRead} from '../with-transactions.ts'; import { type ChunkIndexDefinition, Commit, @@ -22,9 +22,9 @@ import { localMutations, localMutationsGreaterThan, makeCommitData, -} from './commit.js'; -import * as MetaType from './meta-type-enum.js'; -import {ChainBuilder} from './test-helpers.js'; +} from './commit.ts'; +import * as MetaType from './meta-type-enum.ts'; +import {ChainBuilder} from './test-helpers.ts'; type FormatVersion = Enum; diff --git a/packages/replicache/src/db/commit.ts b/packages/replicache/src/db/commit.ts index ebb4ac2c53..3c92f1b41a 100644 --- a/packages/replicache/src/db/commit.ts +++ b/packages/replicache/src/db/commit.ts @@ -6,22 +6,22 @@ import { assertObject, assertString, unreachable, -} from '../../../shared/src/asserts.js'; -import {assertJSONValue} from '../../../shared/src/json.js'; -import {skipCommitDataAsserts} from '../config.js'; -import {type FrozenCookie, compareCookies} from '../cookies.js'; -import {type Chunk, type CreateChunk, type Refs, toRefs} from '../dag/chunk.js'; -import {type MustGetChunk, type Read, mustGetHeadHash} from '../dag/store.js'; +} from '../../../shared/src/asserts.ts'; +import {assertJSONValue} from '../../../shared/src/json.ts'; +import {skipCommitDataAsserts} from '../config.ts'; +import {type FrozenCookie, compareCookies} from '../cookies.ts'; +import {type Chunk, type CreateChunk, type Refs, toRefs} from '../dag/chunk.ts'; +import {type MustGetChunk, type Read, mustGetHeadHash} from '../dag/store.ts'; import { type FrozenJSONValue, type FrozenTag, assertDeepFrozen, deepFreeze, -} from '../frozen-json.js'; -import {type Hash, assertHash} from '../hash.js'; -import type {IndexDefinition} from '../index-defs.js'; -import type {ClientID} from '../sync/ids.js'; -import * as MetaType from './meta-type-enum.js'; +} from '../frozen-json.ts'; +import {type Hash, assertHash} from '../hash.ts'; +import type {IndexDefinition} from '../index-defs.ts'; +import type {ClientID} from '../sync/ids.ts'; +import * as MetaType from './meta-type-enum.ts'; export const DEFAULT_HEAD_NAME = 'main'; diff --git a/packages/replicache/src/db/index.test.ts b/packages/replicache/src/db/index.test.ts index d50f9b0969..fcb132fecf 100644 --- a/packages/replicache/src/db/index.test.ts +++ b/packages/replicache/src/db/index.test.ts @@ -1,15 +1,15 @@ import {LogContext} from '@rocicorp/logger'; import {expect, test} from 'vitest'; -import type {Enum} from '../../../shared/src/enum.js'; -import type {JSONValue} from '../../../shared/src/json.js'; -import {stringCompare} from '../../../shared/src/string-compare.js'; -import {asyncIterableToArray} from '../async-iterable-to-array.js'; -import {BTreeWrite} from '../btree/write.js'; -import {TestStore} from '../dag/test-store.js'; -import * as FormatVersion from '../format-version-enum.js'; -import {deepFreeze} from '../frozen-json.js'; -import {withWrite} from '../with-transactions.js'; -import * as IndexOperation from './index-operation-enum.js'; +import type {Enum} from '../../../shared/src/enum.ts'; +import type {JSONValue} from '../../../shared/src/json.ts'; +import {stringCompare} from '../../../shared/src/string-compare.ts'; +import {asyncIterableToArray} from '../async-iterable-to-array.ts'; +import {BTreeWrite} from '../btree/write.ts'; +import {TestStore} from '../dag/test-store.ts'; +import * as FormatVersion from '../format-version-enum.ts'; +import {deepFreeze} from '../frozen-json.ts'; +import {withWrite} from '../with-transactions.ts'; +import * as IndexOperation from './index-operation-enum.ts'; import { type IndexKey, KEY_SEPARATOR, @@ -20,7 +20,7 @@ import { evaluateJSONPointer, getIndexKeys, indexValue, -} from './index.js'; +} from './index.ts'; type IndexOperation = Enum; diff --git a/packages/replicache/src/db/index.ts b/packages/replicache/src/db/index.ts index 1035ec3387..8289e0e55f 100644 --- a/packages/replicache/src/db/index.ts +++ b/packages/replicache/src/db/index.ts @@ -1,11 +1,11 @@ import type {LogContext} from '@rocicorp/logger'; -import type {Enum} from '../../../shared/src/enum.js'; -import type {BTreeRead} from '../btree/read.js'; -import type {BTreeWrite} from '../btree/write.js'; -import type {FrozenJSONObject, FrozenJSONValue} from '../frozen-json.js'; -import type {Hash} from '../hash.js'; -import type {IndexRecord} from './commit.js'; -import * as IndexOperation from './index-operation-enum.js'; +import type {Enum} from '../../../shared/src/enum.ts'; +import type {BTreeRead} from '../btree/read.ts'; +import type {BTreeWrite} from '../btree/write.ts'; +import type {FrozenJSONObject, FrozenJSONValue} from '../frozen-json.ts'; +import type {Hash} from '../hash.ts'; +import type {IndexRecord} from './commit.ts'; +import * as IndexOperation from './index-operation-enum.ts'; type IndexOperation = Enum; diff --git a/packages/replicache/src/db/read.test.ts b/packages/replicache/src/db/read.test.ts index bd67e19f6d..4e0e1cc149 100644 --- a/packages/replicache/src/db/read.test.ts +++ b/packages/replicache/src/db/read.test.ts @@ -1,13 +1,13 @@ import {LogContext} from '@rocicorp/logger'; import {describe, expect, test} from 'vitest'; -import type {Enum} from '../../../shared/src/enum.js'; -import {mustGetHeadHash} from '../dag/store.js'; -import {TestStore} from '../dag/test-store.js'; -import * as FormatVersion from '../format-version-enum.js'; -import {DEFAULT_HEAD_NAME} from './commit.js'; -import {readFromDefaultHead} from './read.js'; -import {initDB} from './test-helpers.js'; -import {newWriteLocal} from './write.js'; +import type {Enum} from '../../../shared/src/enum.ts'; +import {mustGetHeadHash} from '../dag/store.ts'; +import {TestStore} from '../dag/test-store.ts'; +import * as FormatVersion from '../format-version-enum.ts'; +import {DEFAULT_HEAD_NAME} from './commit.ts'; +import {readFromDefaultHead} from './read.ts'; +import {initDB} from './test-helpers.ts'; +import {newWriteLocal} from './write.ts'; type FormatVersion = Enum; diff --git a/packages/replicache/src/db/read.ts b/packages/replicache/src/db/read.ts index 9266e53760..c1ae851c41 100644 --- a/packages/replicache/src/db/read.ts +++ b/packages/replicache/src/db/read.ts @@ -1,17 +1,17 @@ -import type {Enum} from '../../../shared/src/enum.js'; -import {BTreeRead} from '../btree/read.js'; -import type {Read as DagRead} from '../dag/store.js'; -import * as FormatVersion from '../format-version-enum.js'; -import type {FrozenJSONValue} from '../frozen-json.js'; -import type {Hash} from '../hash.js'; +import type {Enum} from '../../../shared/src/enum.ts'; +import {BTreeRead} from '../btree/read.ts'; +import type {Read as DagRead} from '../dag/store.ts'; +import * as FormatVersion from '../format-version-enum.ts'; +import type {FrozenJSONValue} from '../frozen-json.ts'; +import type {Hash} from '../hash.ts'; import { Commit, DEFAULT_HEAD_NAME, type Meta, commitFromHash, commitFromHead, -} from './commit.js'; -import {IndexRead} from './index.js'; +} from './commit.ts'; +import {IndexRead} from './index.ts'; type FormatVersion = Enum; diff --git a/packages/replicache/src/db/rebase.test.ts b/packages/replicache/src/db/rebase.test.ts index 62023ebd8c..78e823023f 100644 --- a/packages/replicache/src/db/rebase.test.ts +++ b/packages/replicache/src/db/rebase.test.ts @@ -1,16 +1,16 @@ import {LogContext} from '@rocicorp/logger'; import sinon from 'sinon'; import {afterEach, describe, expect, test} from 'vitest'; -import {assert} from '../../../shared/src/asserts.js'; -import type {Enum} from '../../../shared/src/enum.js'; -import {BTreeRead} from '../btree/read.js'; -import type {Read} from '../dag/store.js'; -import {TestStore} from '../dag/test-store.js'; -import * as FormatVersion from '../format-version-enum.js'; -import type {Hash} from '../hash.js'; -import {SYNC_HEAD_NAME} from '../sync/sync-head-name.js'; -import type {WriteTransaction} from '../transactions.js'; -import {withRead, withWriteNoImplicitCommit} from '../with-transactions.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import type {Enum} from '../../../shared/src/enum.ts'; +import {BTreeRead} from '../btree/read.ts'; +import type {Read} from '../dag/store.ts'; +import {TestStore} from '../dag/test-store.ts'; +import * as FormatVersion from '../format-version-enum.ts'; +import type {Hash} from '../hash.ts'; +import {SYNC_HEAD_NAME} from '../sync/sync-head-name.ts'; +import type {WriteTransaction} from '../transactions.ts'; +import {withRead, withWriteNoImplicitCommit} from '../with-transactions.ts'; import { Commit, type LocalMeta, @@ -21,9 +21,9 @@ import { commitFromHead, commitIsLocal, commitIsLocalDD31, -} from './commit.js'; -import {rebaseMutationAndCommit, rebaseMutationAndPutCommit} from './rebase.js'; -import {ChainBuilder} from './test-helpers.js'; +} from './commit.ts'; +import {rebaseMutationAndCommit, rebaseMutationAndPutCommit} from './rebase.ts'; +import {ChainBuilder} from './test-helpers.ts'; type FormatVersion = Enum; diff --git a/packages/replicache/src/db/rebase.ts b/packages/replicache/src/db/rebase.ts index fce3cc697c..b23eb9e35c 100644 --- a/packages/replicache/src/db/rebase.ts +++ b/packages/replicache/src/db/rebase.ts @@ -1,12 +1,12 @@ import type {LogContext} from '@rocicorp/logger'; -import {assert} from '../../../shared/src/asserts.js'; -import type {Enum} from '../../../shared/src/enum.js'; -import type {Write as DagWrite} from '../dag/store.js'; -import * as FormatVersion from '../format-version-enum.js'; -import type {Hash} from '../hash.js'; -import type {ClientID} from '../sync/ids.js'; -import {WriteTransactionImpl} from '../transactions.js'; -import type {MutatorDefs} from '../types.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import type {Enum} from '../../../shared/src/enum.ts'; +import type {Write as DagWrite} from '../dag/store.ts'; +import * as FormatVersion from '../format-version-enum.ts'; +import type {Hash} from '../hash.ts'; +import type {ClientID} from '../sync/ids.ts'; +import {WriteTransactionImpl} from '../transactions.ts'; +import type {MutatorDefs} from '../types.ts'; import { Commit, type LocalMeta, @@ -15,8 +15,8 @@ import { assertLocalMetaDD31, commitFromHash, isLocalMetaDD31, -} from './commit.js'; -import {Write, newWriteLocal} from './write.js'; +} from './commit.ts'; +import {Write, newWriteLocal} from './write.ts'; type FormatVersion = Enum; diff --git a/packages/replicache/src/db/scan.test.ts b/packages/replicache/src/db/scan.test.ts index 0d6c4496ad..399c76f654 100644 --- a/packages/replicache/src/db/scan.test.ts +++ b/packages/replicache/src/db/scan.test.ts @@ -1,13 +1,13 @@ import {expect, test} from 'vitest'; -import type {Enum} from '../../../shared/src/enum.js'; -import {BTreeWrite} from '../btree/write.js'; -import type {Write} from '../dag/store.js'; -import {TestStore} from '../dag/test-store.js'; -import * as FormatVersion from '../format-version-enum.js'; -import {fromKeyForIndexScanInternal} from '../scan-iterator.js'; -import {withWrite} from '../with-transactions.js'; -import {decodeIndexKey} from './index.js'; -import type {ScanItem} from './scan.js'; +import type {Enum} from '../../../shared/src/enum.ts'; +import {BTreeWrite} from '../btree/write.ts'; +import type {Write} from '../dag/store.ts'; +import {TestStore} from '../dag/test-store.ts'; +import * as FormatVersion from '../format-version-enum.ts'; +import {fromKeyForIndexScanInternal} from '../scan-iterator.ts'; +import {withWrite} from '../with-transactions.ts'; +import {decodeIndexKey} from './index.ts'; +import type {ScanItem} from './scan.ts'; type FormatVersion = Enum; diff --git a/packages/replicache/src/db/scan.ts b/packages/replicache/src/db/scan.ts index f783d77d99..c87863c207 100644 --- a/packages/replicache/src/db/scan.ts +++ b/packages/replicache/src/db/scan.ts @@ -1,4 +1,4 @@ -import type {ReadonlyJSONValue} from '../../../shared/src/json.js'; +import type {ReadonlyJSONValue} from '../../../shared/src/json.ts'; // TODO(arv): Unify with src/scan-options.ts diff --git a/packages/replicache/src/db/test-helpers.ts b/packages/replicache/src/db/test-helpers.ts index 1b812845e4..280c271b4a 100644 --- a/packages/replicache/src/db/test-helpers.ts +++ b/packages/replicache/src/db/test-helpers.ts @@ -1,29 +1,29 @@ import {LogContext} from '@rocicorp/logger'; import {expect} from 'vitest'; -import {assert, assertNotUndefined} from '../../../shared/src/asserts.js'; -import type {Enum} from '../../../shared/src/enum.js'; -import type {JSONValue} from '../../../shared/src/json.js'; -import {emptyDataNode} from '../btree/node.js'; -import {BTreeWrite} from '../btree/write.js'; -import type {Cookie} from '../cookies.js'; -import type {Chunk} from '../dag/chunk.js'; +import {assert, assertNotUndefined} from '../../../shared/src/asserts.ts'; +import type {Enum} from '../../../shared/src/enum.ts'; +import type {JSONValue} from '../../../shared/src/json.ts'; +import {emptyDataNode} from '../btree/node.ts'; +import {BTreeWrite} from '../btree/write.ts'; +import type {Cookie} from '../cookies.ts'; +import type {Chunk} from '../dag/chunk.ts'; import { type Write as DagWrite, type Store, mustGetHeadHash, -} from '../dag/store.js'; -import {Visitor} from '../dag/visitor.js'; -import * as FormatVersion from '../format-version-enum.js'; -import {deepFreeze} from '../frozen-json.js'; -import {type Hash, emptyHash} from '../hash.js'; -import type {IndexDefinitions} from '../index-defs.js'; -import type {ClientID} from '../sync/ids.js'; -import {addSyncSnapshot} from '../sync/test-helpers.js'; +} from '../dag/store.ts'; +import {Visitor} from '../dag/visitor.ts'; +import * as FormatVersion from '../format-version-enum.ts'; +import {deepFreeze} from '../frozen-json.ts'; +import {type Hash, emptyHash} from '../hash.ts'; +import type {IndexDefinitions} from '../index-defs.ts'; +import type {ClientID} from '../sync/ids.ts'; +import {addSyncSnapshot} from '../sync/test-helpers.ts'; import { withRead, withWrite, withWriteNoImplicitCommit, -} from '../with-transactions.js'; +} from '../with-transactions.ts'; import { Commit, DEFAULT_HEAD_NAME, @@ -35,10 +35,10 @@ import { assertSnapshotCommitDD31, commitFromHead, toChunkIndexDefinition, -} from './commit.js'; -import {IndexWrite} from './index.js'; -import * as MetaType from './meta-type-enum.js'; -import {Write, newWriteLocal, newWriteSnapshotDD31} from './write.js'; +} from './commit.ts'; +import {IndexWrite} from './index.ts'; +import * as MetaType from './meta-type-enum.ts'; +import {Write, newWriteLocal, newWriteSnapshotDD31} from './write.ts'; type FormatVersion = Enum; diff --git a/packages/replicache/src/db/write.test.ts b/packages/replicache/src/db/write.test.ts index 48bd9ebc3c..90bf6bb265 100644 --- a/packages/replicache/src/db/write.test.ts +++ b/packages/replicache/src/db/write.test.ts @@ -1,17 +1,17 @@ import {LogContext} from '@rocicorp/logger'; import {describe, expect, test} from 'vitest'; -import {assertNotUndefined} from '../../../shared/src/asserts.js'; -import type {Enum} from '../../../shared/src/enum.js'; -import {asyncIterableToArray} from '../async-iterable-to-array.js'; -import {BTreeRead} from '../btree/read.js'; -import {mustGetHeadHash} from '../dag/store.js'; -import {TestStore} from '../dag/test-store.js'; -import * as FormatVersion from '../format-version-enum.js'; -import {withRead, withWriteNoImplicitCommit} from '../with-transactions.js'; -import {DEFAULT_HEAD_NAME, commitFromHead} from './commit.js'; -import {readIndexesForRead} from './read.js'; -import {initDB} from './test-helpers.js'; -import {newWriteLocal} from './write.js'; +import {assertNotUndefined} from '../../../shared/src/asserts.ts'; +import type {Enum} from '../../../shared/src/enum.ts'; +import {asyncIterableToArray} from '../async-iterable-to-array.ts'; +import {BTreeRead} from '../btree/read.ts'; +import {mustGetHeadHash} from '../dag/store.ts'; +import {TestStore} from '../dag/test-store.ts'; +import * as FormatVersion from '../format-version-enum.ts'; +import {withRead, withWriteNoImplicitCommit} from '../with-transactions.ts'; +import {DEFAULT_HEAD_NAME, commitFromHead} from './commit.ts'; +import {readIndexesForRead} from './read.ts'; +import {initDB} from './test-helpers.ts'; +import {newWriteLocal} from './write.ts'; type FormatVersion = Enum; diff --git a/packages/replicache/src/db/write.ts b/packages/replicache/src/db/write.ts index bd57466f17..9c8b979ce0 100644 --- a/packages/replicache/src/db/write.ts +++ b/packages/replicache/src/db/write.ts @@ -1,19 +1,19 @@ import type {LogContext} from '@rocicorp/logger'; -import {assert} from '../../../shared/src/asserts.js'; -import type {Enum} from '../../../shared/src/enum.js'; -import {diff} from '../btree/diff.js'; -import type {InternalDiff} from '../btree/node.js'; -import {BTreeRead, allEntriesAsDiff} from '../btree/read.js'; -import {BTreeWrite} from '../btree/write.js'; -import type {FrozenCookie} from '../cookies.js'; -import type {Write as DagWrite} from '../dag/store.js'; -import * as FormatVersion from '../format-version-enum.js'; -import type {FrozenJSONValue} from '../frozen-json.js'; -import {type Hash, emptyHash} from '../hash.js'; -import {lazy} from '../lazy.js'; -import type {DiffComputationConfig} from '../sync/diff.js'; -import {DiffsMap} from '../sync/diff.js'; -import type {ClientID} from '../sync/ids.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import type {Enum} from '../../../shared/src/enum.ts'; +import {diff} from '../btree/diff.ts'; +import type {InternalDiff} from '../btree/node.ts'; +import {BTreeRead, allEntriesAsDiff} from '../btree/read.ts'; +import {BTreeWrite} from '../btree/write.ts'; +import type {FrozenCookie} from '../cookies.ts'; +import type {Write as DagWrite} from '../dag/store.ts'; +import * as FormatVersion from '../format-version-enum.ts'; +import type {FrozenJSONValue} from '../frozen-json.ts'; +import {type Hash, emptyHash} from '../hash.ts'; +import {lazy} from '../lazy.ts'; +import type {DiffComputationConfig} from '../sync/diff.ts'; +import {DiffsMap} from '../sync/diff.ts'; +import type {ClientID} from '../sync/ids.ts'; import { Commit, type Meta as CommitMeta, @@ -24,11 +24,11 @@ import { newLocalDD31 as commitNewLocalDD31, newSnapshotDD31 as commitNewSnapshotDD31, getMutationID, -} from './commit.js'; -import * as IndexOperation from './index-operation-enum.js'; -import {IndexRead, IndexWrite, indexValue} from './index.js'; -import * as MetaType from './meta-type-enum.js'; -import {Read, readIndexesForRead} from './read.js'; +} from './commit.ts'; +import * as IndexOperation from './index-operation-enum.ts'; +import {IndexRead, IndexWrite, indexValue} from './index.ts'; +import * as MetaType from './meta-type-enum.ts'; +import {Read, readIndexesForRead} from './read.ts'; type FormatVersion = Enum; diff --git a/packages/replicache/src/error-responses.ts b/packages/replicache/src/error-responses.ts index e19d982a8c..0ef1fe6baf 100644 --- a/packages/replicache/src/error-responses.ts +++ b/packages/replicache/src/error-responses.ts @@ -1,4 +1,4 @@ -import {assert} from '../../shared/src/asserts.js'; +import {assert} from '../../shared/src/asserts.ts'; function isError(obj: unknown, type: string): boolean { return ( diff --git a/packages/replicache/src/filter-async-iterable.test.ts b/packages/replicache/src/filter-async-iterable.test.ts index d8380d09d8..228bca1648 100644 --- a/packages/replicache/src/filter-async-iterable.test.ts +++ b/packages/replicache/src/filter-async-iterable.test.ts @@ -1,7 +1,7 @@ import {expect, test} from 'vitest'; -import {asyncIterableToArray} from './async-iterable-to-array.js'; -import {filterAsyncIterable} from './filter-async-iterable.js'; -import {makeAsyncIterable} from './merge-async-iterables.test.js'; +import {asyncIterableToArray} from './async-iterable-to-array.ts'; +import {filterAsyncIterable} from './filter-async-iterable.ts'; +import {makeAsyncIterable} from './merge-async-iterables.test.ts'; test('filterAsyncIterable', async () => { const t = async ( diff --git a/packages/replicache/src/filter-async-iterable.ts b/packages/replicache/src/filter-async-iterable.ts index 3345b3cd31..68759b0ee6 100644 --- a/packages/replicache/src/filter-async-iterable.ts +++ b/packages/replicache/src/filter-async-iterable.ts @@ -1,4 +1,4 @@ -import type {IterableUnion} from './iterable-union.js'; +import type {IterableUnion} from './iterable-union.ts'; /** * Filters an async iterable. diff --git a/packages/replicache/src/format-version.ts b/packages/replicache/src/format-version.ts index ddd77d3c5f..e827434e31 100644 --- a/packages/replicache/src/format-version.ts +++ b/packages/replicache/src/format-version.ts @@ -1,5 +1,5 @@ -import type {Enum} from '../../shared/src/enum.js'; -import * as FormatVersion from './format-version-enum.js'; +import type {Enum} from '../../shared/src/enum.ts'; +import * as FormatVersion from './format-version-enum.ts'; type FormatVersion = Enum; diff --git a/packages/replicache/src/frozen-json.test.ts b/packages/replicache/src/frozen-json.test.ts index 38f8340044..2722eac2ce 100644 --- a/packages/replicache/src/frozen-json.test.ts +++ b/packages/replicache/src/frozen-json.test.ts @@ -1,10 +1,10 @@ import {expect, test} from 'vitest'; -import type {ReadonlyJSONValue} from '../../shared/src/json.js'; +import type {ReadonlyJSONValue} from '../../shared/src/json.ts'; import { deepFreeze, deepFreezeAllowUndefined, isDeepFrozen, -} from './frozen-json.js'; +} from './frozen-json.ts'; test('deepFreeze', () => { expect(deepFreeze(null)).equal(null); diff --git a/packages/replicache/src/frozen-json.ts b/packages/replicache/src/frozen-json.ts index 3624774420..fe94bcefb3 100644 --- a/packages/replicache/src/frozen-json.ts +++ b/packages/replicache/src/frozen-json.ts @@ -1,12 +1,12 @@ -import {throwInvalidType} from '../../shared/src/asserts.js'; -import {skipAssertJSONValue} from '../../shared/src/config.js'; -import {hasOwn} from '../../shared/src/has-own.js'; +import {throwInvalidType} from '../../shared/src/asserts.ts'; +import {skipAssertJSONValue} from '../../shared/src/config.ts'; +import {hasOwn} from '../../shared/src/has-own.ts'; import type { ReadonlyJSONObject, ReadonlyJSONValue, -} from '../../shared/src/json.js'; -import {skipFreeze, skipFrozenAsserts} from './config.js'; -import type {Cookie, FrozenCookie} from './cookies.js'; +} from '../../shared/src/json.ts'; +import {skipFreeze, skipFrozenAsserts} from './config.ts'; +import type {Cookie, FrozenCookie} from './cookies.ts'; declare const frozenJSONTag: unique symbol; diff --git a/packages/replicache/src/get-default-puller.ts b/packages/replicache/src/get-default-puller.ts index 7de05d5288..e3c5fe4644 100644 --- a/packages/replicache/src/get-default-puller.ts +++ b/packages/replicache/src/get-default-puller.ts @@ -2,22 +2,22 @@ import { assertNumber, assertObject, assertString, -} from '../../shared/src/asserts.js'; -import {callDefaultFetch} from './call-default-fetch.js'; -import {assertCookie} from './cookies.js'; +} from '../../shared/src/asserts.ts'; +import {callDefaultFetch} from './call-default-fetch.ts'; +import {assertCookie} from './cookies.ts'; import { isClientStateNotFoundResponse, isVersionNotSupportedResponse, -} from './error-responses.js'; -import {assertHTTPRequestInfo} from './http-request-info.js'; -import {assertPatchOperations} from './patch-operation.js'; +} from './error-responses.ts'; +import {assertHTTPRequestInfo} from './http-request-info.ts'; +import {assertPatchOperations} from './patch-operation.ts'; import type { PullResponseV1, Puller, PullerResult, PullerResultV1, -} from './puller.js'; -import type {PullRequest} from './sync/pull.js'; +} from './puller.ts'; +import type {PullRequest} from './sync/pull.ts'; /** * This creates a default puller which uses HTTP POST to send the pull request. diff --git a/packages/replicache/src/get-default-pusher.ts b/packages/replicache/src/get-default-pusher.ts index 4ee30b6973..03d53d2e0e 100644 --- a/packages/replicache/src/get-default-pusher.ts +++ b/packages/replicache/src/get-default-pusher.ts @@ -1,10 +1,10 @@ -import {callDefaultFetch} from './call-default-fetch.js'; +import {callDefaultFetch} from './call-default-fetch.ts'; import { isClientStateNotFoundResponse, isVersionNotSupportedResponse, -} from './error-responses.js'; -import type {Pusher, PusherResult} from './pusher.js'; -import type {PushRequest} from './sync/push.js'; +} from './error-responses.ts'; +import type {Pusher, PusherResult} from './pusher.ts'; +import type {PushRequest} from './sync/push.ts'; /** * This creates a default pusher which uses HTTP POST to send the push request. diff --git a/packages/replicache/src/hash.test.ts b/packages/replicache/src/hash.test.ts index 2e34fa6927..165af817ee 100644 --- a/packages/replicache/src/hash.test.ts +++ b/packages/replicache/src/hash.test.ts @@ -1,5 +1,5 @@ import {expect, test} from 'vitest'; -import * as valita from '../../shared/src/valita.js'; +import * as valita from '../../shared/src/valita.ts'; import { type Hash, STRING_LENGTH, @@ -10,7 +10,7 @@ import { makeNewFakeHashFunction, newRandomHash, parse, -} from './hash.js'; +} from './hash.ts'; const emptyUUID = '00000000-0000-4000-8000-000000000000'; diff --git a/packages/replicache/src/hash.ts b/packages/replicache/src/hash.ts index 22b0286861..62a5ce1709 100644 --- a/packages/replicache/src/hash.ts +++ b/packages/replicache/src/hash.ts @@ -1,6 +1,6 @@ -import {assert} from '../../shared/src/asserts.js'; -import {randomUint64} from '../../shared/src/random-uint64.js'; -import * as valita from '../../shared/src/valita.js'; +import {assert} from '../../shared/src/asserts.ts'; +import {randomUint64} from '../../shared/src/random-uint64.ts'; +import * as valita from '../../shared/src/valita.ts'; export const STRING_LENGTH = 22; diff --git a/packages/replicache/src/http-request-info.ts b/packages/replicache/src/http-request-info.ts index ea8a79d78e..e074808e28 100644 --- a/packages/replicache/src/http-request-info.ts +++ b/packages/replicache/src/http-request-info.ts @@ -2,7 +2,7 @@ import { assertNumber, assertObject, assertString, -} from '../../shared/src/asserts.js'; +} from '../../shared/src/asserts.ts'; export function assertHTTPRequestInfo( v: unknown, diff --git a/packages/replicache/src/impl.ts b/packages/replicache/src/impl.ts index 14bae5455e..6b598339bd 100644 --- a/packages/replicache/src/impl.ts +++ b/packages/replicache/src/impl.ts @@ -1,3 +1,3 @@ -export type {PatchOperationInternal} from './patch-operation.js'; -export {ReplicacheImpl, type ReplicacheImplOptions} from './replicache-impl.js'; -export type {PokeInternal} from './types.js'; +export type {PatchOperationInternal} from './patch-operation.ts'; +export {ReplicacheImpl, type ReplicacheImplOptions} from './replicache-impl.ts'; +export type {PokeInternal} from './types.ts'; diff --git a/packages/replicache/src/index-defs.test.ts b/packages/replicache/src/index-defs.test.ts index b53cf11bf7..00114e70cd 100644 --- a/packages/replicache/src/index-defs.test.ts +++ b/packages/replicache/src/index-defs.test.ts @@ -4,7 +4,7 @@ import { indexDefinitionEqual, type IndexDefinitions, indexDefinitionsEqual, -} from './index-defs.js'; +} from './index-defs.ts'; test('indexDefinitionsEqual', () => { const t = (a: IndexDefinition, b: IndexDefinition = a) => { diff --git a/packages/replicache/src/index-defs.ts b/packages/replicache/src/index-defs.ts index 1a6d79f2d9..d942bdc566 100644 --- a/packages/replicache/src/index-defs.ts +++ b/packages/replicache/src/index-defs.ts @@ -1,4 +1,4 @@ -import * as valita from '../../shared/src/valita.js'; +import * as valita from '../../shared/src/valita.ts'; /** * The definition of a single index. diff --git a/packages/replicache/src/kv/idb-store-with-mem-fallback.test.ts b/packages/replicache/src/kv/idb-store-with-mem-fallback.test.ts index 81508f6e26..ac9f235b63 100644 --- a/packages/replicache/src/kv/idb-store-with-mem-fallback.test.ts +++ b/packages/replicache/src/kv/idb-store-with-mem-fallback.test.ts @@ -1,17 +1,17 @@ import {LogContext} from '@rocicorp/logger'; import * as sinon from 'sinon'; import {afterEach, expect, test} from 'vitest'; -import {assert} from '../../../shared/src/asserts.js'; +import {assert} from '../../../shared/src/asserts.ts'; import { withRead, withWrite, withWriteNoImplicitCommit, -} from '../with-transactions.js'; +} from '../with-transactions.ts'; import { IDBStoreWithMemFallback, newIDBStoreWithMemFallback, -} from './idb-store-with-mem-fallback.js'; -import {IDBStore} from './idb-store.js'; +} from './idb-store-with-mem-fallback.ts'; +import {IDBStore} from './idb-store.ts'; afterEach(() => { sinon.restore(); diff --git a/packages/replicache/src/kv/idb-store-with-mem-fallback.ts b/packages/replicache/src/kv/idb-store-with-mem-fallback.ts index a62df609ac..74c036febe 100644 --- a/packages/replicache/src/kv/idb-store-with-mem-fallback.ts +++ b/packages/replicache/src/kv/idb-store-with-mem-fallback.ts @@ -1,9 +1,9 @@ import type {LogContext} from '@rocicorp/logger'; -import {navigator} from '../../../shared/src/navigator.js'; -import {promiseVoid} from '../../../shared/src/resolved-promises.js'; -import {IDBStore} from './idb-store.js'; -import {MemStore, dropMemStore} from './mem-store.js'; -import type {Read, Store, Write} from './store.js'; +import {navigator} from '../../../shared/src/navigator.ts'; +import {promiseVoid} from '../../../shared/src/resolved-promises.ts'; +import {IDBStore} from './idb-store.ts'; +import {MemStore, dropMemStore} from './mem-store.ts'; +import type {Read, Store, Write} from './store.ts'; /** * This store uses an {@link IDBStore} by default. If the {@link IDBStore} fails diff --git a/packages/replicache/src/kv/idb-store.test.ts b/packages/replicache/src/kv/idb-store.test.ts index 354fe60bea..2e86cc2811 100644 --- a/packages/replicache/src/kv/idb-store.test.ts +++ b/packages/replicache/src/kv/idb-store.test.ts @@ -1,9 +1,9 @@ import * as sinon from 'sinon'; import {afterEach, beforeEach, describe, expect, test} from 'vitest'; -import {withRead, withWrite} from '../with-transactions.js'; -import {dropIDBStoreWithMemFallback} from './idb-store-with-mem-fallback.js'; -import {IDBNotFoundError, IDBStore} from './idb-store.js'; -import {runAll} from './store-test-util.js'; +import {withRead, withWrite} from '../with-transactions.ts'; +import {dropIDBStoreWithMemFallback} from './idb-store-with-mem-fallback.ts'; +import {IDBNotFoundError, IDBStore} from './idb-store.ts'; +import {runAll} from './store-test-util.ts'; async function newRandomIDBStore() { const name = `test-idbstore-${Math.random()}`; diff --git a/packages/replicache/src/kv/idb-store.ts b/packages/replicache/src/kv/idb-store.ts index 3d91111a39..e0060723a6 100644 --- a/packages/replicache/src/kv/idb-store.ts +++ b/packages/replicache/src/kv/idb-store.ts @@ -1,13 +1,13 @@ import {resolver} from '@rocicorp/resolver'; -import {assertNotNull} from '../../../shared/src/asserts.js'; -import {promiseVoid} from '../../../shared/src/resolved-promises.js'; +import {assertNotNull} from '../../../shared/src/asserts.ts'; +import {mustGetBrowserGlobal} from '../../../shared/src/browser-env.ts'; +import {promiseVoid} from '../../../shared/src/resolved-promises.ts'; import { type FrozenJSONValue, deepFreezeAllowUndefined, -} from '../frozen-json.js'; -import type {Read, Store, Write} from './store.js'; -import {WriteImplBase, deleteSentinel} from './write-impl-base.js'; -import {mustGetBrowserGlobal} from '../../../shared/src/browser-env.js'; +} from '../frozen-json.ts'; +import type {Read, Store, Write} from './store.ts'; +import {WriteImplBase, deleteSentinel} from './write-impl-base.ts'; const RELAXED = {durability: 'relaxed'} as const; const OBJECT_STORE = 'chunks'; diff --git a/packages/replicache/src/kv/mem-store.test.ts b/packages/replicache/src/kv/mem-store.test.ts index 111eba8007..0618b76434 100644 --- a/packages/replicache/src/kv/mem-store.test.ts +++ b/packages/replicache/src/kv/mem-store.test.ts @@ -1,8 +1,8 @@ import {resolver} from '@rocicorp/resolver'; import {beforeEach, expect, test} from 'vitest'; -import {withRead, withWrite} from '../with-transactions.js'; -import {MemStore, clearAllNamedMemStoresForTesting} from './mem-store.js'; -import {runAll} from './store-test-util.js'; +import {withRead, withWrite} from '../with-transactions.ts'; +import {MemStore, clearAllNamedMemStoresForTesting} from './mem-store.ts'; +import {runAll} from './store-test-util.ts'; runAll('NamedMemStore', () => new MemStore('test')); diff --git a/packages/replicache/src/kv/mem-store.ts b/packages/replicache/src/kv/mem-store.ts index 4259916c11..700533ece3 100644 --- a/packages/replicache/src/kv/mem-store.ts +++ b/packages/replicache/src/kv/mem-store.ts @@ -1,9 +1,9 @@ import {RWLock} from '@rocicorp/lock'; -import {promiseVoid} from '../../../shared/src/resolved-promises.js'; -import type {FrozenJSONValue} from '../frozen-json.js'; -import {ReadImpl} from './read-impl.js'; -import type {Read, Store, Write} from './store.js'; -import {WriteImpl} from './write-impl.js'; +import {promiseVoid} from '../../../shared/src/resolved-promises.ts'; +import type {FrozenJSONValue} from '../frozen-json.ts'; +import {ReadImpl} from './read-impl.ts'; +import type {Read, Store, Write} from './store.ts'; +import {WriteImpl} from './write-impl.ts'; type StorageMap = Map; diff --git a/packages/replicache/src/kv/read-impl.ts b/packages/replicache/src/kv/read-impl.ts index 94bd98efd0..47fbd6b4c1 100644 --- a/packages/replicache/src/kv/read-impl.ts +++ b/packages/replicache/src/kv/read-impl.ts @@ -1,5 +1,5 @@ -import type {FrozenJSONValue} from '../frozen-json.js'; -import type {Read} from './store.js'; +import type {FrozenJSONValue} from '../frozen-json.ts'; +import type {Read} from './store.ts'; export class ReadImpl implements Read { readonly #map: Map; diff --git a/packages/replicache/src/kv/store-test-util.ts b/packages/replicache/src/kv/store-test-util.ts index 936b6a4997..d6ea2ca967 100644 --- a/packages/replicache/src/kv/store-test-util.ts +++ b/packages/replicache/src/kv/store-test-util.ts @@ -1,12 +1,12 @@ import {expect, test} from 'vitest'; -import type {ReadonlyJSONValue} from '../../../shared/src/json.js'; -import type {FrozenJSONValue} from '../frozen-json.js'; +import type {ReadonlyJSONValue} from '../../../shared/src/json.ts'; +import type {FrozenJSONValue} from '../frozen-json.ts'; import { withRead, withWrite, withWriteNoImplicitCommit, -} from '../with-transactions.js'; -import type {Read, Store, Write} from './store.js'; +} from '../with-transactions.ts'; +import type {Read, Store, Write} from './store.ts'; class TestStore implements Store { readonly #store: Store; diff --git a/packages/replicache/src/kv/store.ts b/packages/replicache/src/kv/store.ts index 8561508fe7..724b902905 100644 --- a/packages/replicache/src/kv/store.ts +++ b/packages/replicache/src/kv/store.ts @@ -1,4 +1,4 @@ -import type {ReadonlyJSONValue} from '../../../shared/src/json.js'; +import type {ReadonlyJSONValue} from '../../../shared/src/json.ts'; /** * Store defines a transactional key/value store that Replicache stores all data diff --git a/packages/replicache/src/kv/test-mem-store.test.ts b/packages/replicache/src/kv/test-mem-store.test.ts index 37f584f15f..3d7fdad978 100644 --- a/packages/replicache/src/kv/test-mem-store.test.ts +++ b/packages/replicache/src/kv/test-mem-store.test.ts @@ -1,4 +1,4 @@ -import {runAll} from './store-test-util.js'; -import {TestMemStore} from './test-mem-store.js'; +import {runAll} from './store-test-util.ts'; +import {TestMemStore} from './test-mem-store.ts'; runAll('TestMemStore', () => new TestMemStore()); diff --git a/packages/replicache/src/kv/test-mem-store.ts b/packages/replicache/src/kv/test-mem-store.ts index fe6da38eca..0fdc49ac68 100644 --- a/packages/replicache/src/kv/test-mem-store.ts +++ b/packages/replicache/src/kv/test-mem-store.ts @@ -1,10 +1,10 @@ import {RWLock} from '@rocicorp/lock'; -import {promiseVoid} from '../../../shared/src/resolved-promises.js'; -import type {FrozenJSONValue} from '../frozen-json.js'; -import {stringCompare} from '../../../shared/src/string-compare.js'; -import {ReadImpl} from './read-impl.js'; -import type {Read, Store, Write} from './store.js'; -import {WriteImpl} from './write-impl.js'; +import {promiseVoid} from '../../../shared/src/resolved-promises.ts'; +import {stringCompare} from '../../../shared/src/string-compare.ts'; +import type {FrozenJSONValue} from '../frozen-json.ts'; +import {ReadImpl} from './read-impl.ts'; +import type {Read, Store, Write} from './store.ts'; +import {WriteImpl} from './write-impl.ts'; export class TestMemStore implements Store { readonly #map: Map = new Map(); diff --git a/packages/replicache/src/kv/write-impl-base.ts b/packages/replicache/src/kv/write-impl-base.ts index 9487bb7d30..671e374269 100644 --- a/packages/replicache/src/kv/write-impl-base.ts +++ b/packages/replicache/src/kv/write-impl-base.ts @@ -1,15 +1,15 @@ -import type {ReadonlyJSONValue} from '../../../shared/src/json.js'; +import type {ReadonlyJSONValue} from '../../../shared/src/json.ts'; import { promiseFalse, promiseTrue, promiseVoid, -} from '../../../shared/src/resolved-promises.js'; +} from '../../../shared/src/resolved-promises.ts'; import { type FrozenJSONValue, deepFreeze, deepFreezeAllowUndefined, -} from '../frozen-json.js'; -import type {Read} from './store.js'; +} from '../frozen-json.ts'; +import type {Read} from './store.ts'; export const deleteSentinel = Symbol(); type DeleteSentinel = typeof deleteSentinel; diff --git a/packages/replicache/src/kv/write-impl.ts b/packages/replicache/src/kv/write-impl.ts index 4b13c1fce3..cb9387421b 100644 --- a/packages/replicache/src/kv/write-impl.ts +++ b/packages/replicache/src/kv/write-impl.ts @@ -1,8 +1,8 @@ -import {promiseVoid} from '../../../shared/src/resolved-promises.js'; -import type {FrozenJSONValue} from '../frozen-json.js'; -import {ReadImpl} from './read-impl.js'; -import type {Write} from './store.js'; -import {deleteSentinel, WriteImplBase} from './write-impl-base.js'; +import {promiseVoid} from '../../../shared/src/resolved-promises.ts'; +import type {FrozenJSONValue} from '../frozen-json.ts'; +import {ReadImpl} from './read-impl.ts'; +import type {Write} from './store.ts'; +import {deleteSentinel, WriteImplBase} from './write-impl-base.ts'; export class WriteImpl extends WriteImplBase implements Write { readonly #map: Map; diff --git a/packages/replicache/src/merge-async-iterables.test.ts b/packages/replicache/src/merge-async-iterables.test.ts index e0f1644784..25fd18a069 100644 --- a/packages/replicache/src/merge-async-iterables.test.ts +++ b/packages/replicache/src/merge-async-iterables.test.ts @@ -1,7 +1,7 @@ import {expect, test} from 'vitest'; -import {stringCompare} from '../../shared/src/string-compare.js'; -import {asyncIterableToArray} from './async-iterable-to-array.js'; -import {mergeAsyncIterables} from './merge-async-iterables.js'; +import {stringCompare} from '../../shared/src/string-compare.ts'; +import {asyncIterableToArray} from './async-iterable-to-array.ts'; +import {mergeAsyncIterables} from './merge-async-iterables.ts'; export async function* makeAsyncIterable( values: Iterable, diff --git a/packages/replicache/src/merge-async-iterables.ts b/packages/replicache/src/merge-async-iterables.ts index 34a3171325..babe17406a 100644 --- a/packages/replicache/src/merge-async-iterables.ts +++ b/packages/replicache/src/merge-async-iterables.ts @@ -1,4 +1,4 @@ -import {getIterator, type IterableUnion} from './iterable-union.js'; +import {getIterator, type IterableUnion} from './iterable-union.ts'; /** * Merges an iterable on to another iterable. diff --git a/packages/replicache/src/mod.ts b/packages/replicache/src/mod.ts index 37dcdb3624..8165edb660 100644 --- a/packages/replicache/src/mod.ts +++ b/packages/replicache/src/mod.ts @@ -5,8 +5,8 @@ export type { JSONValue, ReadonlyJSONObject, ReadonlyJSONValue, -} from '../../shared/src/json.js'; -export type {MaybePromise} from '../../shared/src/types.js'; +} from '../../shared/src/json.ts'; +export type {MaybePromise} from '../../shared/src/types.ts'; export type { Diff as ExperimentalDiff, DiffOperation as ExperimentalDiffOperation, @@ -15,20 +15,20 @@ export type { DiffOperationDel as ExperimentalDiffOperationDel, IndexDiff as ExperimentalIndexDiff, NoIndexDiff as ExperimentalNoIndexDiff, -} from './btree/node.js'; -export type {Cookie} from './cookies.js'; -export type {IndexKey} from './db/index.js'; +} from './btree/node.ts'; +export type {Cookie} from './cookies.ts'; +export type {IndexKey} from './db/index.ts'; export type { ClientStateNotFoundResponse, VersionNotSupportedResponse, -} from './error-responses.js'; -export {filterAsyncIterable} from './filter-async-iterable.js'; -export {getDefaultPuller} from './get-default-puller.js'; -export {getDefaultPusher} from './get-default-pusher.js'; -export type {HTTPRequestInfo} from './http-request-info.js'; -export type {IndexDefinition, IndexDefinitions} from './index-defs.js'; -export type {IterableUnion} from './iterable-union.js'; -export {IDBNotFoundError} from './kv/idb-store.js'; +} from './error-responses.ts'; +export {filterAsyncIterable} from './filter-async-iterable.ts'; +export {getDefaultPuller} from './get-default-puller.ts'; +export {getDefaultPusher} from './get-default-pusher.ts'; +export type {HTTPRequestInfo} from './http-request-info.ts'; +export type {IndexDefinition, IndexDefinitions} from './index-defs.ts'; +export type {IterableUnion} from './iterable-union.ts'; +export {IDBNotFoundError} from './kv/idb-store.ts'; export type { CreateStore as CreateKVStore, DropStore as DropKVStore, @@ -36,35 +36,35 @@ export type { Store as KVStore, StoreProvider as KVStoreProvider, Write as KVWrite, -} from './kv/store.js'; -export {mergeAsyncIterables} from './merge-async-iterables.js'; -export type {PatchOperation} from './patch-operation.js'; -export type {PendingMutation} from './pending-mutations.js'; +} from './kv/store.ts'; +export {mergeAsyncIterables} from './merge-async-iterables.ts'; +export type {PatchOperation} from './patch-operation.ts'; +export type {PendingMutation} from './pending-mutations.ts'; export { deleteAllReplicacheData, dropAllDatabases, dropDatabase, type DropDatabaseOptions, -} from './persist/collect-idb-databases.js'; -export type {Puller, PullerResult, PullResponse} from './puller.js'; -export type {Pusher, PusherResult, PushError, PushResponse} from './pusher.js'; -export type {ReplicacheOptions} from './replicache-options.js'; -export {makeIDBName, Replicache} from './replicache.js'; -export {makeScanResult} from './scan-iterator.js'; +} from './persist/collect-idb-databases.ts'; +export type {Puller, PullerResult, PullResponse} from './puller.ts'; +export type {Pusher, PusherResult, PushError, PushResponse} from './pusher.ts'; +export type {ReplicacheOptions} from './replicache-options.ts'; +export {makeIDBName, Replicache} from './replicache.ts'; +export {makeScanResult} from './scan-iterator.ts'; export type { AsyncIterableIteratorToArray, GetIndexScanIterator, GetScanIterator, ScanResult, -} from './scan-iterator.js'; -export {isScanIndexOptions} from './scan-options.js'; +} from './scan-iterator.ts'; +export {isScanIndexOptions} from './scan-options.ts'; export type { KeyTypeForScanOptions, ScanIndexOptions, ScanNoIndexOptions, ScanOptionIndexedStartKey, ScanOptions, -} from './scan-options.js'; +} from './scan-options.ts'; export type { WatchCallbackForOptions as ExperimentalWatchCallbackForOptions, WatchIndexCallback as ExperimentalWatchIndexCallback, @@ -73,13 +73,13 @@ export type { WatchNoIndexOptions as ExperimentalWatchNoIndexOptions, WatchOptions as ExperimentalWatchOptions, SubscribeOptions, -} from './subscriptions.js'; -export type {ClientGroupID, ClientID} from './sync/ids.js'; -export {PullError} from './sync/pull-error.js'; -export type {PullRequest} from './sync/pull.js'; -export type {Mutation, PushRequest} from './sync/push.js'; -export {TEST_LICENSE_KEY} from './test-license-key.js'; -export {TransactionClosedError} from './transaction-closed-error.js'; +} from './subscriptions.ts'; +export type {ClientGroupID, ClientID} from './sync/ids.ts'; +export {PullError} from './sync/pull-error.ts'; +export type {PullRequest} from './sync/pull.ts'; +export type {Mutation, PushRequest} from './sync/push.ts'; +export {TEST_LICENSE_KEY} from './test-license-key.ts'; +export {TransactionClosedError} from './transaction-closed-error.ts'; export type { CreateIndexDefinition, DeepReadonly, @@ -89,7 +89,7 @@ export type { TransactionLocation, TransactionReason, WriteTransaction, -} from './transactions.js'; +} from './transactions.ts'; export type { MakeMutator, MakeMutators, @@ -98,5 +98,5 @@ export type { Poke, RequestOptions, UpdateNeededReason, -} from './types.js'; -export {version} from './version.js'; +} from './types.ts'; +export {version} from './version.ts'; diff --git a/packages/replicache/src/mutation-recovery-test-helper.ts b/packages/replicache/src/mutation-recovery-test-helper.ts index e51192e8c4..f94ee8ff0c 100644 --- a/packages/replicache/src/mutation-recovery-test-helper.ts +++ b/packages/replicache/src/mutation-recovery-test-helper.ts @@ -1,23 +1,23 @@ import {LogContext} from '@rocicorp/logger'; -import {assert} from '../../shared/src/asserts.js'; -import type {Enum} from '../../shared/src/enum.js'; -import type {ReadonlyJSONObject} from '../../shared/src/json.js'; -import {LazyStore} from './dag/lazy-store.js'; -import {StoreImpl} from './dag/store-impl.js'; -import type {Store} from './dag/store.js'; -import {type LocalMetaDD31, assertLocalMetaDD31} from './db/commit.js'; -import {ChainBuilder} from './db/test-helpers.js'; -import * as FormatVersion from './format-version-enum.js'; -import {assertHash, newRandomHash} from './hash.js'; -import {IDBStore} from './kv/idb-store.js'; -import {initClientWithClientID} from './persist/clients-test-helpers.js'; -import {IDBDatabasesStore} from './persist/idb-databases-store.js'; -import {persistDD31} from './persist/persist.js'; -import {makeIDBNameForTesting} from './replicache.js'; -import type {ClientGroupID, ClientID} from './sync/ids.js'; -import {PUSH_VERSION_DD31} from './sync/push.js'; -import {closeablesToClose, dbsToDrop} from './test-util.js'; -import type {MutatorDefs} from './types.js'; +import {assert} from '../../shared/src/asserts.ts'; +import type {Enum} from '../../shared/src/enum.ts'; +import type {ReadonlyJSONObject} from '../../shared/src/json.ts'; +import {LazyStore} from './dag/lazy-store.ts'; +import {StoreImpl} from './dag/store-impl.ts'; +import type {Store} from './dag/store.ts'; +import {type LocalMetaDD31, assertLocalMetaDD31} from './db/commit.ts'; +import {ChainBuilder} from './db/test-helpers.ts'; +import * as FormatVersion from './format-version-enum.ts'; +import {assertHash, newRandomHash} from './hash.ts'; +import {IDBStore} from './kv/idb-store.ts'; +import {initClientWithClientID} from './persist/clients-test-helpers.ts'; +import {IDBDatabasesStore} from './persist/idb-databases-store.ts'; +import {persistDD31} from './persist/persist.ts'; +import {makeIDBNameForTesting} from './replicache.ts'; +import type {ClientGroupID, ClientID} from './sync/ids.ts'; +import {PUSH_VERSION_DD31} from './sync/push.ts'; +import {closeablesToClose, dbsToDrop} from './test-util.ts'; +import type {MutatorDefs} from './types.ts'; type FormatVersion = Enum; diff --git a/packages/replicache/src/mutation-recovery.ts b/packages/replicache/src/mutation-recovery.ts index 46029878f6..3e0f13547d 100644 --- a/packages/replicache/src/mutation-recovery.ts +++ b/packages/replicache/src/mutation-recovery.ts @@ -1,40 +1,40 @@ import type {LogContext} from '@rocicorp/logger'; -import {assert, assertNotUndefined} from '../../shared/src/asserts.js'; -import type {Enum} from '../../shared/src/enum.js'; -import type {MaybePromise} from '../../shared/src/types.js'; -import {throwChunkHasher} from './dag/chunk.js'; -import {LazyStore} from './dag/lazy-store.js'; -import {StoreImpl} from './dag/store-impl.js'; -import type {Store} from './dag/store.js'; -import {DEFAULT_HEAD_NAME} from './db/commit.js'; +import {assert, assertNotUndefined} from '../../shared/src/asserts.ts'; +import type {Enum} from '../../shared/src/enum.ts'; +import type {MaybePromise} from '../../shared/src/types.ts'; +import {throwChunkHasher} from './dag/chunk.ts'; +import {LazyStore} from './dag/lazy-store.ts'; +import {StoreImpl} from './dag/store-impl.ts'; +import type {Store} from './dag/store.ts'; +import {DEFAULT_HEAD_NAME} from './db/commit.ts'; import { type ClientStateNotFoundResponse, type VersionNotSupportedResponse, isClientStateNotFoundResponse, isVersionNotSupportedResponse, -} from './error-responses.js'; -import * as FormatVersion from './format-version-enum.js'; -import {parseReplicacheFormatVersion as parseFormatVersion} from './format-version.js'; -import {assertHash, newRandomHash} from './hash.js'; -import type {HTTPRequestInfo} from './http-request-info.js'; -import type {CreateStore} from './kv/store.js'; +} from './error-responses.ts'; +import * as FormatVersion from './format-version-enum.ts'; +import {parseReplicacheFormatVersion as parseFormatVersion} from './format-version.ts'; +import {assertHash, newRandomHash} from './hash.ts'; +import type {HTTPRequestInfo} from './http-request-info.ts'; +import type {CreateStore} from './kv/store.ts'; import { type ClientGroup, type ClientGroupMap, getClientGroups, disableClientGroup as persistDisableClientGroup, setClientGroups, -} from './persist/client-groups.js'; +} from './persist/client-groups.ts'; import type { IDBDatabasesStore, IndexedDBDatabase, -} from './persist/idb-databases-store.js'; -import type {PullResponseOKV1, PullResponseV1, Puller} from './puller.js'; -import type {PushResponse, Pusher} from './pusher.js'; -import type {ClientGroupID, ClientID} from './sync/ids.js'; -import {beginPullV1} from './sync/pull.js'; -import {PUSH_VERSION_DD31, push} from './sync/push.js'; -import {withRead, withWrite} from './with-transactions.js'; +} from './persist/idb-databases-store.ts'; +import type {PullResponseOKV1, PullResponseV1, Puller} from './puller.ts'; +import type {PushResponse, Pusher} from './pusher.ts'; +import type {ClientGroupID, ClientID} from './sync/ids.ts'; +import {beginPullV1} from './sync/pull.ts'; +import {PUSH_VERSION_DD31, push} from './sync/push.ts'; +import {withRead, withWrite} from './with-transactions.ts'; type FormatVersion = Enum; diff --git a/packages/replicache/src/new-client-channel.test.ts b/packages/replicache/src/new-client-channel.test.ts index d275f44686..8d565e1a63 100644 --- a/packages/replicache/src/new-client-channel.test.ts +++ b/packages/replicache/src/new-client-channel.test.ts @@ -1,16 +1,16 @@ import {resolver} from '@rocicorp/resolver'; import {describe, expect, test} from 'vitest'; -import {sleep} from '../../shared/src/sleep.js'; -import {BroadcastChannel} from './broadcast-channel.js'; -import {TestStore} from './dag/test-store.js'; -import {fakeHash} from './hash.js'; +import {sleep} from '../../shared/src/sleep.ts'; +import {BroadcastChannel} from './broadcast-channel.ts'; +import {TestStore} from './dag/test-store.ts'; +import {fakeHash} from './hash.ts'; import { initNewClientChannel, makeChannelNameV0ForTesting, makeChannelNameV1ForTesting, -} from './new-client-channel.js'; -import {setClientGroup} from './persist/client-groups.js'; -import {withWriteNoImplicitCommit} from './with-transactions.js'; +} from './new-client-channel.ts'; +import {setClientGroup} from './persist/client-groups.ts'; +import {withWriteNoImplicitCommit} from './with-transactions.ts'; function getChannelMessagePromise( replicacheName: string, diff --git a/packages/replicache/src/new-client-channel.ts b/packages/replicache/src/new-client-channel.ts index 135e138d06..351721e79b 100644 --- a/packages/replicache/src/new-client-channel.ts +++ b/packages/replicache/src/new-client-channel.ts @@ -1,7 +1,7 @@ -import {BroadcastChannel} from './broadcast-channel.js'; -import type {Read, Store} from './dag/store.js'; -import {getClientGroup} from './persist/client-groups.js'; -import {withRead} from './with-transactions.js'; +import {BroadcastChannel} from './broadcast-channel.ts'; +import type {Read, Store} from './dag/store.ts'; +import {getClientGroup} from './persist/client-groups.ts'; +import {withRead} from './with-transactions.ts'; // Older clients (<= replicache@13.0.1), listened on this channel name // and *asserted* that the messages received were an array containing exactly diff --git a/packages/replicache/src/on-persist-channel.test.ts b/packages/replicache/src/on-persist-channel.test.ts index 8179ce7135..ff6c0baf79 100644 --- a/packages/replicache/src/on-persist-channel.test.ts +++ b/packages/replicache/src/on-persist-channel.test.ts @@ -1,7 +1,7 @@ import {resolver} from '@rocicorp/resolver'; import {afterEach, describe, expect, test} from 'vitest'; -import {BroadcastChannel} from './broadcast-channel.js'; -import {initOnPersistChannel, type PersistInfo} from './on-persist-channel.js'; +import {BroadcastChannel} from './broadcast-channel.ts'; +import {initOnPersistChannel, type PersistInfo} from './on-persist-channel.ts'; describe('initOnPersistChannel', () => { let channel: BroadcastChannel | undefined; diff --git a/packages/replicache/src/on-persist-channel.ts b/packages/replicache/src/on-persist-channel.ts index ffa1f45fae..b74964c62c 100644 --- a/packages/replicache/src/on-persist-channel.ts +++ b/packages/replicache/src/on-persist-channel.ts @@ -1,6 +1,6 @@ -import {assertObject, assertString} from '../../shared/src/asserts.js'; -import {BroadcastChannel} from './broadcast-channel.js'; -import type {ClientGroupID, ClientID} from './sync/ids.js'; +import {assertObject, assertString} from '../../shared/src/asserts.ts'; +import {BroadcastChannel} from './broadcast-channel.ts'; +import type {ClientGroupID, ClientID} from './sync/ids.ts'; function makeChannelName(replicacheName: string): string { return `replicache-on-persist:${replicacheName}`; diff --git a/packages/replicache/src/patch-operation.ts b/packages/replicache/src/patch-operation.ts index 9fb8f20ab5..25eb96926c 100644 --- a/packages/replicache/src/patch-operation.ts +++ b/packages/replicache/src/patch-operation.ts @@ -2,13 +2,13 @@ import { assertArray, assertObject, assertString, -} from '../../shared/src/asserts.js'; +} from '../../shared/src/asserts.ts'; import { type ReadonlyJSONObject, type ReadonlyJSONValue, assertJSONObject, assertJSONValue, -} from '../../shared/src/json.js'; +} from '../../shared/src/json.ts'; export type PatchOperationInternal = | { diff --git a/packages/replicache/src/peek-iterator.test.ts b/packages/replicache/src/peek-iterator.test.ts index 0d03b6756f..587436cfe1 100644 --- a/packages/replicache/src/peek-iterator.test.ts +++ b/packages/replicache/src/peek-iterator.test.ts @@ -1,5 +1,5 @@ import {expect, test} from 'vitest'; -import {PeekIterator} from './peek-iterator.js'; +import {PeekIterator} from './peek-iterator.ts'; test('PeekIterator', () => { const c = new PeekIterator('abc'[Symbol.iterator]()); diff --git a/packages/replicache/src/pending-mutation.test.ts b/packages/replicache/src/pending-mutation.test.ts index 9eb7fde30c..fcd32d188c 100644 --- a/packages/replicache/src/pending-mutation.test.ts +++ b/packages/replicache/src/pending-mutation.test.ts @@ -1,20 +1,20 @@ import {expect, test} from 'vitest'; -import type {JSONValue} from '../../shared/src/json.js'; +import type {JSONValue} from '../../shared/src/json.ts'; import { initReplicacheTesting, makePullResponseV1, replicacheForTesting, tickAFewTimes, -} from './test-util.js'; -import type {WriteTransaction} from './transactions.js'; +} from './test-util.ts'; +import type {WriteTransaction} from './transactions.ts'; // fetch-mock has invalid d.ts file so we removed that on npm install. // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-expect-error import fetchMock from 'fetch-mock/esm/client'; -import {TestStore} from './dag/test-store.js'; -import {ChainBuilder} from './db/test-helpers.js'; -import {pendingMutationsForAPI} from './pending-mutations.js'; -import {withRead} from './with-transactions.js'; +import {TestStore} from './dag/test-store.ts'; +import {ChainBuilder} from './db/test-helpers.ts'; +import {pendingMutationsForAPI} from './pending-mutations.ts'; +import {withRead} from './with-transactions.ts'; initReplicacheTesting(); diff --git a/packages/replicache/src/pending-mutations.ts b/packages/replicache/src/pending-mutations.ts index 27967bf8f1..47616823e8 100644 --- a/packages/replicache/src/pending-mutations.ts +++ b/packages/replicache/src/pending-mutations.ts @@ -1,7 +1,7 @@ -import type {ReadonlyJSONValue} from '../../shared/src/json.js'; -import {mustGetHeadHash, type Read} from './dag/store.js'; -import {DEFAULT_HEAD_NAME, localMutationsDD31} from './db/commit.js'; -import type {ClientID} from './sync/ids.js'; +import type {ReadonlyJSONValue} from '../../shared/src/json.ts'; +import {mustGetHeadHash, type Read} from './dag/store.ts'; +import {DEFAULT_HEAD_NAME, localMutationsDD31} from './db/commit.ts'; +import type {ClientID} from './sync/ids.ts'; export type PendingMutation = { readonly name: string; diff --git a/packages/replicache/src/persist/client-gc.test.ts b/packages/replicache/src/persist/client-gc.test.ts index 18970a4154..6c1beefcc9 100644 --- a/packages/replicache/src/persist/client-gc.test.ts +++ b/packages/replicache/src/persist/client-gc.test.ts @@ -1,19 +1,19 @@ import {LogContext} from '@rocicorp/logger'; import {type SinonFakeTimers, useFakeTimers} from 'sinon'; import {afterEach, beforeEach, expect, test} from 'vitest'; -import {assertNotUndefined} from '../../../shared/src/asserts.js'; -import type {Read} from '../dag/store.js'; -import {TestStore} from '../dag/test-store.js'; -import {newRandomHash} from '../hash.js'; -import {withRead, withWrite} from '../with-transactions.js'; +import {assertNotUndefined} from '../../../shared/src/asserts.ts'; +import type {Read} from '../dag/store.ts'; +import {TestStore} from '../dag/test-store.ts'; +import {newRandomHash} from '../hash.ts'; +import {withRead, withWrite} from '../with-transactions.ts'; import { CLIENT_MAX_INACTIVE_TIME, GC_INTERVAL, getLatestGCUpdate, initClientGC, -} from './client-gc.js'; -import {makeClientV4, setClientsForTesting} from './clients-test-helpers.js'; -import {type ClientMap, getClients, setClient} from './clients.js'; +} from './client-gc.ts'; +import {makeClientV4, setClientsForTesting} from './clients-test-helpers.ts'; +import {type ClientMap, getClients, setClient} from './clients.ts'; let clock: SinonFakeTimers; const START_TIME = 0; diff --git a/packages/replicache/src/persist/client-gc.ts b/packages/replicache/src/persist/client-gc.ts index 499cd62c75..645090bbd7 100644 --- a/packages/replicache/src/persist/client-gc.ts +++ b/packages/replicache/src/persist/client-gc.ts @@ -1,9 +1,9 @@ import type {LogContext} from '@rocicorp/logger'; -import {initBgIntervalProcess} from '../bg-interval.js'; -import type {Store} from '../dag/store.js'; -import type {ClientID} from '../sync/ids.js'; -import {withWrite} from '../with-transactions.js'; -import {type ClientMap, getClients, setClients} from './clients.js'; +import {initBgIntervalProcess} from '../bg-interval.ts'; +import type {Store} from '../dag/store.ts'; +import type {ClientID} from '../sync/ids.ts'; +import {withWrite} from '../with-transactions.ts'; +import {type ClientMap, getClients, setClients} from './clients.ts'; /** * The maximum time a client can be inactive before it is garbage collected. diff --git a/packages/replicache/src/persist/client-group-gc.test.ts b/packages/replicache/src/persist/client-group-gc.test.ts index 31a57812fe..0be0fe8442 100644 --- a/packages/replicache/src/persist/client-group-gc.test.ts +++ b/packages/replicache/src/persist/client-group-gc.test.ts @@ -1,20 +1,20 @@ import {LogContext} from '@rocicorp/logger'; import {type SinonFakeTimers, useFakeTimers} from 'sinon'; import {afterEach, beforeEach, expect, test} from 'vitest'; -import {assertNotUndefined} from '../../../shared/src/asserts.js'; -import type {Read} from '../dag/store.js'; -import {TestStore} from '../dag/test-store.js'; -import {fakeHash} from '../hash.js'; -import {withRead, withWriteNoImplicitCommit} from '../with-transactions.js'; -import {getLatestGCUpdate, initClientGroupGC} from './client-group-gc.js'; +import {assertNotUndefined} from '../../../shared/src/asserts.ts'; +import type {Read} from '../dag/store.ts'; +import {TestStore} from '../dag/test-store.ts'; +import {fakeHash} from '../hash.ts'; +import {withRead, withWriteNoImplicitCommit} from '../with-transactions.ts'; +import {getLatestGCUpdate, initClientGroupGC} from './client-group-gc.ts'; import { type ClientGroup, type ClientGroupMap, getClientGroups, setClientGroup, setClientGroups, -} from './client-groups.js'; -import {makeClientV6, setClientsForTesting} from './clients-test-helpers.js'; +} from './client-groups.ts'; +import {makeClientV6, setClientsForTesting} from './clients-test-helpers.ts'; let clock: SinonFakeTimers; const START_TIME = 0; diff --git a/packages/replicache/src/persist/client-group-gc.ts b/packages/replicache/src/persist/client-group-gc.ts index 4c87d97dcd..8f3b2043bb 100644 --- a/packages/replicache/src/persist/client-group-gc.ts +++ b/packages/replicache/src/persist/client-group-gc.ts @@ -1,14 +1,14 @@ import type {LogContext} from '@rocicorp/logger'; -import {initBgIntervalProcess} from '../bg-interval.js'; -import type {Store} from '../dag/store.js'; -import {withWrite} from '../with-transactions.js'; +import {initBgIntervalProcess} from '../bg-interval.ts'; +import type {Store} from '../dag/store.ts'; +import {withWrite} from '../with-transactions.ts'; import { type ClientGroupMap, clientGroupHasPendingMutations, getClientGroups, setClientGroups, -} from './client-groups.js'; -import {assertClientV6, getClients} from './clients.js'; +} from './client-groups.ts'; +import {assertClientV6, getClients} from './clients.ts'; const GC_INTERVAL_MS = 5 * 60 * 1000; // 5 minutes diff --git a/packages/replicache/src/persist/client-groups.test.ts b/packages/replicache/src/persist/client-groups.test.ts index c3c6b3e839..828b0276f6 100644 --- a/packages/replicache/src/persist/client-groups.test.ts +++ b/packages/replicache/src/persist/client-groups.test.ts @@ -1,9 +1,9 @@ import {expect, test} from 'vitest'; -import type {Read, Store, Write} from '../dag/store.js'; -import {TestStore} from '../dag/test-store.js'; -import {type Hash, assertHash, fakeHash} from '../hash.js'; -import type {ClientGroupID} from '../sync/ids.js'; -import {withRead, withWriteNoImplicitCommit} from '../with-transactions.js'; +import type {Read, Store, Write} from '../dag/store.ts'; +import {TestStore} from '../dag/test-store.ts'; +import {type Hash, assertHash, fakeHash} from '../hash.ts'; +import type {ClientGroupID} from '../sync/ids.ts'; +import {withRead, withWriteNoImplicitCommit} from '../with-transactions.ts'; import { type ClientGroup, type ClientGroupMap, @@ -15,7 +15,7 @@ import { mutatorNamesEqual, setClientGroup, setClientGroups, -} from './client-groups.js'; +} from './client-groups.ts'; const headClientGroup1Hash = fakeHash('b1'); const headClientGroup2Hash = fakeHash('b2'); diff --git a/packages/replicache/src/persist/client-groups.ts b/packages/replicache/src/persist/client-groups.ts index 48d568d9d2..e2f729f265 100644 --- a/packages/replicache/src/persist/client-groups.ts +++ b/packages/replicache/src/persist/client-groups.ts @@ -1,11 +1,11 @@ -import {assert, assertObject} from '../../../shared/src/asserts.js'; -import * as valita from '../../../shared/src/valita.js'; -import {toRefs} from '../dag/chunk.js'; -import type {Read, Write} from '../dag/store.js'; -import {deepFreeze, type FrozenJSONValue} from '../frozen-json.js'; -import {type Hash, hashSchema} from '../hash.js'; -import {indexDefinitionsEqual, indexDefinitionsSchema} from '../index-defs.js'; -import type {ClientGroupID} from '../sync/ids.js'; +import {assert, assertObject} from '../../../shared/src/asserts.ts'; +import * as valita from '../../../shared/src/valita.ts'; +import {toRefs} from '../dag/chunk.ts'; +import type {Read, Write} from '../dag/store.ts'; +import {deepFreeze, type FrozenJSONValue} from '../frozen-json.ts'; +import {type Hash, hashSchema} from '../hash.ts'; +import {indexDefinitionsEqual, indexDefinitionsSchema} from '../index-defs.ts'; +import type {ClientGroupID} from '../sync/ids.ts'; export type ClientGroupMap = ReadonlyMap; diff --git a/packages/replicache/src/persist/clients-test-helpers.ts b/packages/replicache/src/persist/clients-test-helpers.ts index ab1787e4c6..b207131d6a 100644 --- a/packages/replicache/src/persist/clients-test-helpers.ts +++ b/packages/replicache/src/persist/clients-test-helpers.ts @@ -1,11 +1,11 @@ import {LogContext} from '@rocicorp/logger'; -import {assert} from '../../../shared/src/asserts.js'; -import type {Enum} from '../../../shared/src/enum.js'; -import type {Store} from '../dag/store.js'; -import * as FormatVersion from '../format-version-enum.js'; -import type {IndexDefinitions} from '../index-defs.js'; -import type {ClientID} from '../sync/ids.js'; -import {withWrite} from '../with-transactions.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import type {Enum} from '../../../shared/src/enum.ts'; +import type {Store} from '../dag/store.ts'; +import * as FormatVersion from '../format-version-enum.ts'; +import type {IndexDefinitions} from '../index-defs.ts'; +import type {ClientID} from '../sync/ids.ts'; +import {withWrite} from '../with-transactions.ts'; import { type ClientMap, type ClientMapDD31, @@ -15,7 +15,7 @@ import { getClients, initClientV6, setClients, -} from './clients.js'; +} from './clients.ts'; type FormatVersion = Enum; diff --git a/packages/replicache/src/persist/clients.test.ts b/packages/replicache/src/persist/clients.test.ts index 25b08a3856..dd2b33e3e1 100644 --- a/packages/replicache/src/persist/clients.test.ts +++ b/packages/replicache/src/persist/clients.test.ts @@ -1,30 +1,30 @@ import {LogContext} from '@rocicorp/logger'; import {type SinonFakeTimers, useFakeTimers} from 'sinon'; import {afterEach, beforeEach, describe, expect, test} from 'vitest'; -import {assert, assertNotUndefined} from '../../../shared/src/asserts.js'; -import {BTreeRead} from '../btree/read.js'; -import type {Read, Write} from '../dag/store.js'; -import {TestStore} from '../dag/test-store.js'; +import {assert, assertNotUndefined} from '../../../shared/src/asserts.ts'; +import {BTreeRead} from '../btree/read.ts'; +import type {Read, Write} from '../dag/store.ts'; +import {TestStore} from '../dag/test-store.ts'; import { Commit, type SnapshotMetaDD31, commitFromHash, commitIsSnapshot, fromChunk, -} from '../db/commit.js'; -import {ChainBuilder} from '../db/test-helpers.js'; -import * as FormatVersion from '../format-version-enum.js'; -import {deepFreeze} from '../frozen-json.js'; -import {assertHash, fakeHash, newRandomHash} from '../hash.js'; -import type {IndexDefinitions} from '../index-defs.js'; -import type {ClientGroupID, ClientID} from '../sync/ids.js'; -import {withRead, withWriteNoImplicitCommit} from '../with-transactions.js'; +} from '../db/commit.ts'; +import {ChainBuilder} from '../db/test-helpers.ts'; +import * as FormatVersion from '../format-version-enum.ts'; +import {deepFreeze} from '../frozen-json.ts'; +import {assertHash, fakeHash, newRandomHash} from '../hash.ts'; +import type {IndexDefinitions} from '../index-defs.ts'; +import type {ClientGroupID, ClientID} from '../sync/ids.ts'; +import {withRead, withWriteNoImplicitCommit} from '../with-transactions.ts'; import { type ClientGroup, getClientGroup, setClientGroup, -} from './client-groups.js'; -import {makeClientV6, setClientsForTesting} from './clients-test-helpers.js'; +} from './client-groups.ts'; +import {makeClientV6, setClientsForTesting} from './clients-test-helpers.ts'; import { CLIENTS_HEAD_NAME, type ClientV5, @@ -40,8 +40,8 @@ import { getClients, initClientV6, setClient, -} from './clients.js'; -import {makeClientID} from './make-client-id.js'; +} from './clients.ts'; +import {makeClientID} from './make-client-id.ts'; let clock: SinonFakeTimers; beforeEach(() => { diff --git a/packages/replicache/src/persist/clients.ts b/packages/replicache/src/persist/clients.ts index 550fa0fdb7..bb4ebbf1ff 100644 --- a/packages/replicache/src/persist/clients.ts +++ b/packages/replicache/src/persist/clients.ts @@ -1,13 +1,13 @@ import type {LogContext} from '@rocicorp/logger'; -import {assert, assertObject} from '../../../shared/src/asserts.js'; -import type {Enum} from '../../../shared/src/enum.js'; -import {hasOwn} from '../../../shared/src/has-own.js'; -import * as valita from '../../../shared/src/valita.js'; -import {emptyDataNode} from '../btree/node.js'; -import {BTreeRead} from '../btree/read.js'; -import {type FrozenCookie, compareCookies} from '../cookies.js'; -import {type Refs, toRefs} from '../dag/chunk.js'; -import type {Read, Store, Write} from '../dag/store.js'; +import {assert, assertObject} from '../../../shared/src/asserts.ts'; +import type {Enum} from '../../../shared/src/enum.ts'; +import {hasOwn} from '../../../shared/src/has-own.ts'; +import * as valita from '../../../shared/src/valita.ts'; +import {emptyDataNode} from '../btree/node.ts'; +import {BTreeRead} from '../btree/read.ts'; +import {type FrozenCookie, compareCookies} from '../cookies.ts'; +import {type Refs, toRefs} from '../dag/chunk.ts'; +import type {Read, Store, Write} from '../dag/store.ts'; import { type ChunkIndexDefinition, Commit, @@ -19,26 +19,26 @@ import { getRefs, newSnapshotCommitDataDD31, toChunkIndexDefinition, -} from '../db/commit.js'; -import {createIndexBTree} from '../db/write.js'; -import * as FormatVersion from '../format-version-enum.js'; -import {type FrozenJSONValue, deepFreeze} from '../frozen-json.js'; -import {type Hash, hashSchema} from '../hash.js'; -import {type IndexDefinitions, indexDefinitionsEqual} from '../index-defs.js'; +} from '../db/commit.ts'; +import {createIndexBTree} from '../db/write.ts'; +import * as FormatVersion from '../format-version-enum.ts'; +import {type FrozenJSONValue, deepFreeze} from '../frozen-json.ts'; +import {type Hash, hashSchema} from '../hash.ts'; +import {type IndexDefinitions, indexDefinitionsEqual} from '../index-defs.ts'; import { type ClientGroupID, type ClientID, clientGroupIDSchema, -} from '../sync/ids.js'; -import {withWriteNoImplicitCommit} from '../with-transactions.js'; +} from '../sync/ids.ts'; +import {withWriteNoImplicitCommit} from '../with-transactions.ts'; import { type ClientGroup, getClientGroup, getClientGroups, mutatorNamesEqual, setClientGroup, -} from './client-groups.js'; -import {makeClientID} from './make-client-id.js'; +} from './client-groups.ts'; +import {makeClientID} from './make-client-id.ts'; type FormatVersion = Enum; diff --git a/packages/replicache/src/persist/collect-idb-databases.test.ts b/packages/replicache/src/persist/collect-idb-databases.test.ts index 0ee420e686..b9410340c5 100644 --- a/packages/replicache/src/persist/collect-idb-databases.test.ts +++ b/packages/replicache/src/persist/collect-idb-databases.test.ts @@ -1,33 +1,33 @@ import {LogContext} from '@rocicorp/logger'; import {type SinonFakeTimers, useFakeTimers} from 'sinon'; import {afterEach, beforeEach, describe, expect, test} from 'vitest'; -import {assertNotUndefined} from '../../../shared/src/asserts.js'; -import type {Store} from '../dag/store.js'; -import {TestStore} from '../dag/test-store.js'; -import * as FormatVersion from '../format-version-enum.js'; -import {fakeHash} from '../hash.js'; -import {IDBStore} from '../kv/idb-store.js'; -import {hasMemStore} from '../kv/mem-store.js'; -import {TestMemStore} from '../kv/test-mem-store.js'; -import {getKVStoreProvider} from '../replicache.js'; -import {withWrite, withWriteNoImplicitCommit} from '../with-transactions.js'; -import {type ClientGroupMap, setClientGroups} from './client-groups.js'; -import {makeClientGroupMap} from './client-groups.test.js'; +import {assertNotUndefined} from '../../../shared/src/asserts.ts'; +import type {Store} from '../dag/store.ts'; +import {TestStore} from '../dag/test-store.ts'; +import * as FormatVersion from '../format-version-enum.ts'; +import {fakeHash} from '../hash.ts'; +import {IDBStore} from '../kv/idb-store.ts'; +import {hasMemStore} from '../kv/mem-store.ts'; +import {TestMemStore} from '../kv/test-mem-store.ts'; +import {getKVStoreProvider} from '../replicache.ts'; +import {withWrite, withWriteNoImplicitCommit} from '../with-transactions.ts'; +import {makeClientGroupMap} from './client-groups.test.ts'; +import {type ClientGroupMap, setClientGroups} from './client-groups.ts'; import { makeClientMapDD31, setClientsForTesting, -} from './clients-test-helpers.js'; -import type {ClientMap} from './clients.js'; +} from './clients-test-helpers.ts'; +import type {ClientMap} from './clients.ts'; import { collectIDBDatabases, dropAllDatabases, dropDatabase, -} from './collect-idb-databases.js'; +} from './collect-idb-databases.ts'; import { IDBDatabasesStore, type IndexedDBDatabase, type IndexedDBName, -} from './idb-databases-store.js'; +} from './idb-databases-store.ts'; describe('collectIDBDatabases', () => { let clock: SinonFakeTimers; diff --git a/packages/replicache/src/persist/collect-idb-databases.ts b/packages/replicache/src/persist/collect-idb-databases.ts index d76b8b81e9..2c520ec241 100644 --- a/packages/replicache/src/persist/collect-idb-databases.ts +++ b/packages/replicache/src/persist/collect-idb-databases.ts @@ -1,22 +1,22 @@ import type {LogContext, LogLevel, LogSink} from '@rocicorp/logger'; -import {assert} from '../../../shared/src/asserts.js'; -import {initBgIntervalProcess} from '../bg-interval.js'; -import {StoreImpl} from '../dag/store-impl.js'; -import type {Store} from '../dag/store.js'; -import * as FormatVersion from '../format-version-enum.js'; -import {assertHash, newRandomHash} from '../hash.js'; -import {IDBStore} from '../kv/idb-store.js'; -import type {DropStore, StoreProvider} from '../kv/store.js'; -import {createLogContext} from '../log-options.js'; -import {getKVStoreProvider} from '../replicache.js'; -import {withRead} from '../with-transactions.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import {initBgIntervalProcess} from '../bg-interval.ts'; +import {StoreImpl} from '../dag/store-impl.ts'; +import type {Store} from '../dag/store.ts'; +import * as FormatVersion from '../format-version-enum.ts'; +import {assertHash, newRandomHash} from '../hash.ts'; +import {IDBStore} from '../kv/idb-store.ts'; +import type {DropStore, StoreProvider} from '../kv/store.ts'; +import {createLogContext} from '../log-options.ts'; +import {getKVStoreProvider} from '../replicache.ts'; +import {withRead} from '../with-transactions.ts'; import { clientGroupHasPendingMutations, getClientGroups, -} from './client-groups.js'; -import {type ClientMap, getClients} from './clients.js'; -import type {IndexedDBDatabase} from './idb-databases-store.js'; -import {IDBDatabasesStore} from './idb-databases-store.js'; +} from './client-groups.ts'; +import {type ClientMap, getClients} from './clients.ts'; +import type {IndexedDBDatabase} from './idb-databases-store.ts'; +import {IDBDatabasesStore} from './idb-databases-store.ts'; /** * How frequently to try to collect diff --git a/packages/replicache/src/persist/gather-mem-only-visitor.test.ts b/packages/replicache/src/persist/gather-mem-only-visitor.test.ts index 4d34da734a..8753263fc4 100644 --- a/packages/replicache/src/persist/gather-mem-only-visitor.test.ts +++ b/packages/replicache/src/persist/gather-mem-only-visitor.test.ts @@ -1,16 +1,16 @@ import {describe, expect, test} from 'vitest'; -import {assert} from '../../../shared/src/asserts.js'; -import type {Enum} from '../../../shared/src/enum.js'; -import {LazyStore} from '../dag/lazy-store.js'; -import {TestLazyStore} from '../dag/test-lazy-store.js'; -import {TestStore} from '../dag/test-store.js'; -import {DEFAULT_HEAD_NAME} from '../db/commit.js'; -import * as MetaType from '../db/meta-type-enum.js'; -import {ChainBuilder} from '../db/test-helpers.js'; -import * as FormatVersion from '../format-version-enum.js'; -import {assertHash, fakeHash, makeNewFakeHashFunction} from '../hash.js'; -import {withRead, withWriteNoImplicitCommit} from '../with-transactions.js'; -import {GatherMemoryOnlyVisitor} from './gather-mem-only-visitor.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import type {Enum} from '../../../shared/src/enum.ts'; +import {LazyStore} from '../dag/lazy-store.ts'; +import {TestLazyStore} from '../dag/test-lazy-store.ts'; +import {TestStore} from '../dag/test-store.ts'; +import {DEFAULT_HEAD_NAME} from '../db/commit.ts'; +import * as MetaType from '../db/meta-type-enum.ts'; +import {ChainBuilder} from '../db/test-helpers.ts'; +import * as FormatVersion from '../format-version-enum.ts'; +import {assertHash, fakeHash, makeNewFakeHashFunction} from '../hash.ts'; +import {withRead, withWriteNoImplicitCommit} from '../with-transactions.ts'; +import {GatherMemoryOnlyVisitor} from './gather-mem-only-visitor.ts'; type FormatVersion = Enum; diff --git a/packages/replicache/src/persist/gather-mem-only-visitor.ts b/packages/replicache/src/persist/gather-mem-only-visitor.ts index fbd5f75efa..de23db8d0d 100644 --- a/packages/replicache/src/persist/gather-mem-only-visitor.ts +++ b/packages/replicache/src/persist/gather-mem-only-visitor.ts @@ -1,8 +1,8 @@ -import {promiseVoid} from '../../../shared/src/resolved-promises.js'; -import type {Chunk} from '../dag/chunk.js'; -import type {LazyRead} from '../dag/lazy-store.js'; -import {Visitor} from '../dag/visitor.js'; -import type {Hash} from '../hash.js'; +import {promiseVoid} from '../../../shared/src/resolved-promises.ts'; +import type {Chunk} from '../dag/chunk.ts'; +import type {LazyRead} from '../dag/lazy-store.ts'; +import {Visitor} from '../dag/visitor.ts'; +import type {Hash} from '../hash.ts'; export class GatherMemoryOnlyVisitor extends Visitor { readonly #gatheredChunks: Map = new Map(); diff --git a/packages/replicache/src/persist/gather-not-cached-visitor.test.ts b/packages/replicache/src/persist/gather-not-cached-visitor.test.ts index 6e4deefcb9..59e3c2d5ae 100644 --- a/packages/replicache/src/persist/gather-not-cached-visitor.test.ts +++ b/packages/replicache/src/persist/gather-not-cached-visitor.test.ts @@ -1,11 +1,11 @@ import {describe, expect, test} from 'vitest'; -import {LazyStore} from '../dag/lazy-store.js'; -import {TestStore} from '../dag/test-store.js'; -import * as MetaType from '../db/meta-type-enum.js'; -import {ChainBuilder} from '../db/test-helpers.js'; -import {assertHash, fakeHash, makeNewFakeHashFunction} from '../hash.js'; -import {withRead, withWriteNoImplicitCommit} from '../with-transactions.js'; -import {GatherNotCachedVisitor} from './gather-not-cached-visitor.js'; +import {LazyStore} from '../dag/lazy-store.ts'; +import {TestStore} from '../dag/test-store.ts'; +import * as MetaType from '../db/meta-type-enum.ts'; +import {ChainBuilder} from '../db/test-helpers.ts'; +import {assertHash, fakeHash, makeNewFakeHashFunction} from '../hash.ts'; +import {withRead, withWriteNoImplicitCommit} from '../with-transactions.ts'; +import {GatherNotCachedVisitor} from './gather-not-cached-visitor.ts'; describe('GatherNotCachedVisitor', () => { test('when gatherSizeLimit not exceeded, if none cached gathers all, if all cached gathers none', async () => { diff --git a/packages/replicache/src/persist/gather-not-cached-visitor.ts b/packages/replicache/src/persist/gather-not-cached-visitor.ts index 7e8061bdb7..a99e5aa7a0 100644 --- a/packages/replicache/src/persist/gather-not-cached-visitor.ts +++ b/packages/replicache/src/persist/gather-not-cached-visitor.ts @@ -1,10 +1,10 @@ -import {promiseVoid} from '../../../shared/src/resolved-promises.js'; -import type {Chunk} from '../dag/chunk.js'; -import type {LazyStore} from '../dag/lazy-store.js'; -import type {Read} from '../dag/store.js'; -import {Visitor} from '../dag/visitor.js'; -import type {Hash} from '../hash.js'; -import {getSizeOfValue} from '../size-of-value.js'; +import {promiseVoid} from '../../../shared/src/resolved-promises.ts'; +import type {Chunk} from '../dag/chunk.ts'; +import type {LazyStore} from '../dag/lazy-store.ts'; +import type {Read} from '../dag/store.ts'; +import {Visitor} from '../dag/visitor.ts'; +import type {Hash} from '../hash.ts'; +import {getSizeOfValue} from '../size-of-value.ts'; export type ChunkWithSize = {chunk: Chunk; size: number}; diff --git a/packages/replicache/src/persist/heartbeat.test.ts b/packages/replicache/src/persist/heartbeat.test.ts index ea19af2196..a340ce803c 100644 --- a/packages/replicache/src/persist/heartbeat.test.ts +++ b/packages/replicache/src/persist/heartbeat.test.ts @@ -3,26 +3,26 @@ import {resolver} from '@rocicorp/resolver'; import * as sinon from 'sinon'; import {type SinonFakeTimers, useFakeTimers} from 'sinon'; import {afterEach, beforeEach, expect, test} from 'vitest'; -import {assert, assertNotUndefined} from '../../../shared/src/asserts.js'; -import {StoreImpl} from '../dag/store-impl.js'; -import type {Read} from '../dag/store.js'; -import {TestStore} from '../dag/test-store.js'; -import {assertHash, fakeHash, newRandomHash} from '../hash.js'; -import {dropIDBStoreWithMemFallback} from '../kv/idb-store-with-mem-fallback.js'; -import {IDBNotFoundError, IDBStore} from '../kv/idb-store.js'; -import {withRead} from '../with-transactions.js'; -import {makeClientV5, setClientsForTesting} from './clients-test-helpers.js'; +import {assert, assertNotUndefined} from '../../../shared/src/asserts.ts'; +import {StoreImpl} from '../dag/store-impl.ts'; +import type {Read} from '../dag/store.ts'; +import {TestStore} from '../dag/test-store.ts'; +import {assertHash, fakeHash, newRandomHash} from '../hash.ts'; +import {dropIDBStoreWithMemFallback} from '../kv/idb-store-with-mem-fallback.ts'; +import {IDBNotFoundError, IDBStore} from '../kv/idb-store.ts'; +import {withRead} from '../with-transactions.ts'; +import {makeClientV5, setClientsForTesting} from './clients-test-helpers.ts'; import { type ClientMap, ClientStateNotFoundError, getClients, -} from './clients.js'; +} from './clients.ts'; import { HEARTBEAT_INTERVAL, latestHeartbeatUpdate, startHeartbeats, writeHeartbeat, -} from './heartbeat.js'; +} from './heartbeat.ts'; let clock: SinonFakeTimers; const START_TIME = 100000; diff --git a/packages/replicache/src/persist/heartbeat.ts b/packages/replicache/src/persist/heartbeat.ts index 1e127a535f..d5011516a7 100644 --- a/packages/replicache/src/persist/heartbeat.ts +++ b/packages/replicache/src/persist/heartbeat.ts @@ -1,14 +1,14 @@ import type {LogContext} from '@rocicorp/logger'; -import {initBgIntervalProcess} from '../bg-interval.js'; -import type {Store} from '../dag/store.js'; -import type {ClientID} from '../sync/ids.js'; -import {withWrite} from '../with-transactions.js'; +import {initBgIntervalProcess} from '../bg-interval.ts'; +import type {Store} from '../dag/store.ts'; +import type {ClientID} from '../sync/ids.ts'; +import {withWrite} from '../with-transactions.ts'; import { type ClientMap, ClientStateNotFoundError, getClients, setClients, -} from './clients.js'; +} from './clients.ts'; export const HEARTBEAT_INTERVAL = 60 * 1000; diff --git a/packages/replicache/src/persist/idb-databases-store-db-name.ts b/packages/replicache/src/persist/idb-databases-store-db-name.ts index a3900f6fb8..19872e7c99 100644 --- a/packages/replicache/src/persist/idb-databases-store-db-name.ts +++ b/packages/replicache/src/persist/idb-databases-store-db-name.ts @@ -1,5 +1,5 @@ -import {randomUint64} from '../../../shared/src/random-uint64.js'; -import {dropIDBStoreWithMemFallback} from '../kv/idb-store-with-mem-fallback.js'; +import {randomUint64} from '../../../shared/src/random-uint64.ts'; +import {dropIDBStoreWithMemFallback} from '../kv/idb-store-with-mem-fallback.ts'; const IDB_DATABASES_VERSION = 0; const IDB_DATABASES_DB_NAME = 'replicache-dbs-v' + IDB_DATABASES_VERSION; diff --git a/packages/replicache/src/persist/idb-databases-store.test.ts b/packages/replicache/src/persist/idb-databases-store.test.ts index 8e35f2a921..d71067ff62 100644 --- a/packages/replicache/src/persist/idb-databases-store.test.ts +++ b/packages/replicache/src/persist/idb-databases-store.test.ts @@ -1,10 +1,10 @@ import * as sinon from 'sinon'; import {afterEach, expect, test} from 'vitest'; -import {TestMemStore} from '../kv/test-mem-store.js'; +import {TestMemStore} from '../kv/test-mem-store.ts'; import { IDBDatabasesStore, type IndexedDBDatabase, -} from './idb-databases-store.js'; +} from './idb-databases-store.ts'; afterEach(() => { sinon.restore(); diff --git a/packages/replicache/src/persist/idb-databases-store.ts b/packages/replicache/src/persist/idb-databases-store.ts index 74a0e4a8fa..2ab06c6f50 100644 --- a/packages/replicache/src/persist/idb-databases-store.ts +++ b/packages/replicache/src/persist/idb-databases-store.ts @@ -3,12 +3,12 @@ import { assertNumber, assertObject, assertString, -} from '../../../shared/src/asserts.js'; -import {deepFreeze} from '../frozen-json.js'; -import type {CreateStore, Read, Store} from '../kv/store.js'; -import {withRead, withWrite} from '../with-transactions.js'; -import {getIDBDatabasesDBName} from './idb-databases-store-db-name.js'; -import {makeClientID} from './make-client-id.js'; +} from '../../../shared/src/asserts.ts'; +import {deepFreeze} from '../frozen-json.ts'; +import type {CreateStore, Read, Store} from '../kv/store.ts'; +import {withRead, withWrite} from '../with-transactions.ts'; +import {getIDBDatabasesDBName} from './idb-databases-store-db-name.ts'; +import {makeClientID} from './make-client-id.ts'; const DBS_KEY = 'dbs'; const PROFILE_ID_KEY = 'profileId'; diff --git a/packages/replicache/src/persist/make-client-id.ts b/packages/replicache/src/persist/make-client-id.ts index 221148a050..3e91bfb4a4 100644 --- a/packages/replicache/src/persist/make-client-id.ts +++ b/packages/replicache/src/persist/make-client-id.ts @@ -1,4 +1,4 @@ -import {randomUint64} from '../../../shared/src/random-uint64.js'; +import {randomUint64} from '../../../shared/src/random-uint64.ts'; /** * Returns a random 18 character string encoded in base32 suitable as a client diff --git a/packages/replicache/src/persist/persist.test.ts b/packages/replicache/src/persist/persist.test.ts index 56197bf19e..063dcb49e3 100644 --- a/packages/replicache/src/persist/persist.test.ts +++ b/packages/replicache/src/persist/persist.test.ts @@ -5,13 +5,13 @@ import { assert, assertNotNull, assertNotUndefined, -} from '../../../shared/src/asserts.js'; -import type {Enum} from '../../../shared/src/enum.js'; -import type {JSONValue} from '../../../shared/src/json.js'; -import {promiseVoid} from '../../../shared/src/resolved-promises.js'; -import {BTreeRead} from '../btree/read.js'; -import {LazyStore, LazyWrite} from '../dag/lazy-store.js'; -import {TestStore} from '../dag/test-store.js'; +} from '../../../shared/src/asserts.ts'; +import type {Enum} from '../../../shared/src/enum.ts'; +import type {JSONValue} from '../../../shared/src/json.ts'; +import {promiseVoid} from '../../../shared/src/resolved-promises.ts'; +import {BTreeRead} from '../btree/read.ts'; +import {LazyStore, LazyWrite} from '../dag/lazy-store.ts'; +import {TestStore} from '../dag/test-store.ts'; import { Commit, DEFAULT_HEAD_NAME, @@ -20,24 +20,24 @@ import { assertSnapshotCommitDD31, baseSnapshotFromHash, commitFromHash, -} from '../db/commit.js'; +} from '../db/commit.ts'; import { ChainBuilder, createMutatorName, getChunkSnapshot, -} from '../db/test-helpers.js'; -import * as FormatVersion from '../format-version-enum.js'; -import {type Hash, assertHash, makeNewFakeHashFunction} from '../hash.js'; -import type {ClientGroupID, ClientID} from '../sync/ids.js'; -import type {WriteTransaction} from '../transactions.js'; -import type {MutatorDefs} from '../types.js'; -import {withRead, withWriteNoImplicitCommit} from '../with-transactions.js'; +} from '../db/test-helpers.ts'; +import * as FormatVersion from '../format-version-enum.ts'; +import {type Hash, assertHash, makeNewFakeHashFunction} from '../hash.ts'; +import type {ClientGroupID, ClientID} from '../sync/ids.ts'; +import type {WriteTransaction} from '../transactions.ts'; +import type {MutatorDefs} from '../types.ts'; +import {withRead, withWriteNoImplicitCommit} from '../with-transactions.ts'; import { CLIENT_GROUPS_HEAD_NAME, type ClientGroup, getClientGroup, setClientGroup, -} from './client-groups.js'; +} from './client-groups.ts'; import { CLIENTS_HEAD_NAME, type Client, @@ -48,10 +48,10 @@ import { getClients, initClientV6, setClients, -} from './clients.js'; -import {makeClientID} from './make-client-id.js'; -import {persistDD31} from './persist.js'; -import * as PersistedExpectation from './persisted-expectation-enum.js'; +} from './clients.ts'; +import {makeClientID} from './make-client-id.ts'; +import {persistDD31} from './persist.ts'; +import * as PersistedExpectation from './persisted-expectation-enum.ts'; type FormatVersion = Enum; type PersistedExpectation = Enum; diff --git a/packages/replicache/src/persist/persist.ts b/packages/replicache/src/persist/persist.ts index 9279a80bfb..7220fe7682 100644 --- a/packages/replicache/src/persist/persist.ts +++ b/packages/replicache/src/persist/persist.ts @@ -1,9 +1,9 @@ import type {LogContext} from '@rocicorp/logger'; -import {assert} from '../../../shared/src/asserts.js'; -import type {Enum} from '../../../shared/src/enum.js'; -import type {Chunk} from '../dag/chunk.js'; -import type {LazyStore} from '../dag/lazy-store.js'; -import type {Read, Store, Write} from '../dag/store.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import type {Enum} from '../../../shared/src/enum.ts'; +import type {Chunk} from '../dag/chunk.ts'; +import type {LazyStore} from '../dag/lazy-store.ts'; +import type {Read, Store, Write} from '../dag/store.ts'; import { Commit, DEFAULT_HEAD_NAME, @@ -16,26 +16,26 @@ import { compareCookiesForSnapshots, localMutationsDD31, localMutationsGreaterThan, -} from '../db/commit.js'; -import {rebaseMutationAndPutCommit} from '../db/rebase.js'; -import * as FormatVersion from '../format-version-enum.js'; -import type {Hash} from '../hash.js'; -import type {ClientGroupID, ClientID} from '../sync/ids.js'; -import type {MutatorDefs} from '../types.js'; -import {withRead, withWrite} from '../with-transactions.js'; +} from '../db/commit.ts'; +import {rebaseMutationAndPutCommit} from '../db/rebase.ts'; +import * as FormatVersion from '../format-version-enum.ts'; +import type {Hash} from '../hash.ts'; +import type {ClientGroupID, ClientID} from '../sync/ids.ts'; +import type {MutatorDefs} from '../types.ts'; +import {withRead, withWrite} from '../with-transactions.ts'; import { type ClientGroup, getClientGroup, setClientGroup, -} from './client-groups.js'; +} from './client-groups.ts'; import { assertClientV6, assertHasClientState, getClientGroupIDForClient, mustGetClient, setClient, -} from './clients.js'; -import {GatherMemoryOnlyVisitor} from './gather-mem-only-visitor.js'; +} from './clients.ts'; +import {GatherMemoryOnlyVisitor} from './gather-mem-only-visitor.ts'; type FormatVersion = Enum; diff --git a/packages/replicache/src/persist/refresh.test.ts b/packages/replicache/src/persist/refresh.test.ts index 6287f65052..6b2edfb5ca 100644 --- a/packages/replicache/src/persist/refresh.test.ts +++ b/packages/replicache/src/persist/refresh.test.ts @@ -1,13 +1,13 @@ import {LogContext} from '@rocicorp/logger'; import {describe, expect, test} from 'vitest'; -import {assert, assertNotUndefined} from '../../../shared/src/asserts.js'; -import type {JSONValue, ReadonlyJSONValue} from '../../../shared/src/json.js'; -import type {Entry} from '../btree/node.js'; -import {BTreeWrite} from '../btree/write.js'; -import type {Cookie} from '../cookies.js'; -import {LazyStore} from '../dag/lazy-store.js'; -import type {Store} from '../dag/store.js'; -import {TestStore} from '../dag/test-store.js'; +import {assert, assertNotUndefined} from '../../../shared/src/asserts.ts'; +import type {JSONValue, ReadonlyJSONValue} from '../../../shared/src/json.ts'; +import type {Entry} from '../btree/node.ts'; +import {BTreeWrite} from '../btree/write.ts'; +import type {Cookie} from '../cookies.ts'; +import {LazyStore} from '../dag/lazy-store.ts'; +import type {Store} from '../dag/store.ts'; +import {TestStore} from '../dag/test-store.ts'; import { Commit, DEFAULT_HEAD_NAME, @@ -17,33 +17,33 @@ import { baseSnapshotHashFromHash, newLocalDD31, newSnapshotDD31, -} from '../db/commit.js'; -import {ChainBuilder} from '../db/test-helpers.js'; -import * as FormatVersion from '../format-version-enum.js'; -import {deepFreeze} from '../frozen-json.js'; +} from '../db/commit.ts'; +import {ChainBuilder} from '../db/test-helpers.ts'; +import * as FormatVersion from '../format-version-enum.ts'; +import {deepFreeze} from '../frozen-json.ts'; import { type Hash, assertHash, fakeHash, makeNewFakeHashFunction, -} from '../hash.js'; +} from '../hash.ts'; import { type ClientGroupMap, setClientGroup, setClientGroups, -} from '../persist/client-groups.js'; +} from '../persist/client-groups.ts'; import { type ClientV6, assertClientV6, getClient, setClient, -} from '../persist/clients.js'; -import type {ClientID} from '../sync/ids.js'; -import {addData, testSubscriptionsManagerOptions} from '../test-util.js'; -import type {WriteTransaction} from '../transactions.js'; -import type {MutatorDefs} from '../types.js'; -import {withRead, withWriteNoImplicitCommit} from '../with-transactions.js'; -import {refresh} from './refresh.js'; +} from '../persist/clients.ts'; +import type {ClientID} from '../sync/ids.ts'; +import {addData, testSubscriptionsManagerOptions} from '../test-util.ts'; +import type {WriteTransaction} from '../transactions.ts'; +import type {MutatorDefs} from '../types.ts'; +import {withRead, withWriteNoImplicitCommit} from '../with-transactions.ts'; +import {refresh} from './refresh.ts'; async function makeChain( store: Store, diff --git a/packages/replicache/src/persist/refresh.ts b/packages/replicache/src/persist/refresh.ts index 8780336e5d..3e93cbc0f7 100644 --- a/packages/replicache/src/persist/refresh.ts +++ b/packages/replicache/src/persist/refresh.ts @@ -1,8 +1,8 @@ import type {LogContext} from '@rocicorp/logger'; -import type {Enum} from '../../../shared/src/enum.js'; -import {sleep} from '../../../shared/src/sleep.js'; -import type {LazyStore} from '../dag/lazy-store.js'; -import type {Store} from '../dag/store.js'; +import type {Enum} from '../../../shared/src/enum.ts'; +import {sleep} from '../../../shared/src/sleep.ts'; +import type {LazyStore} from '../dag/lazy-store.ts'; +import type {Store} from '../dag/store.ts'; import { Commit, DEFAULT_HEAD_NAME, @@ -15,18 +15,18 @@ import { commitFromHead, compareCookiesForSnapshots, localMutationsGreaterThan, -} from '../db/commit.js'; -import {rebaseMutationAndPutCommit} from '../db/rebase.js'; -import * as FormatVersion from '../format-version-enum.js'; -import type {Hash} from '../hash.js'; +} from '../db/commit.ts'; +import {rebaseMutationAndPutCommit} from '../db/rebase.ts'; +import * as FormatVersion from '../format-version-enum.ts'; +import type {Hash} from '../hash.ts'; import { type DiffComputationConfig, DiffsMap, diffCommits, -} from '../sync/diff.js'; -import type {ClientID} from '../sync/ids.js'; -import type {MutatorDefs} from '../types.js'; -import {withRead, withWrite} from '../with-transactions.js'; +} from '../sync/diff.ts'; +import type {ClientID} from '../sync/ids.ts'; +import type {MutatorDefs} from '../types.ts'; +import {withRead, withWrite} from '../with-transactions.ts'; import { ClientStateNotFoundError, type ClientV6, @@ -34,11 +34,11 @@ import { getClientGroupForClient, mustGetClient, setClient, -} from './clients.js'; +} from './clients.ts'; import { type ChunkWithSize, GatherNotCachedVisitor, -} from './gather-not-cached-visitor.js'; +} from './gather-not-cached-visitor.ts'; type FormatVersion = Enum; diff --git a/packages/replicache/src/process-scheduler.test.ts b/packages/replicache/src/process-scheduler.test.ts index 33d2a1204a..0ed0acb1d4 100644 --- a/packages/replicache/src/process-scheduler.test.ts +++ b/packages/replicache/src/process-scheduler.test.ts @@ -1,9 +1,9 @@ import {resolver, type Resolver} from '@rocicorp/resolver'; import sinon, {type SinonFakeTimers, useFakeTimers} from 'sinon'; import {afterEach, beforeEach, describe, expect, test} from 'vitest'; -import {AbortError} from '../../shared/src/abort-error.js'; -import {ProcessScheduler} from './process-scheduler.js'; -import {expectPromiseToReject} from './test-util.js'; +import {AbortError} from '../../shared/src/abort-error.ts'; +import {ProcessScheduler} from './process-scheduler.ts'; +import {expectPromiseToReject} from './test-util.ts'; describe('ProcessScheduler', () => { let clock: SinonFakeTimers; diff --git a/packages/replicache/src/process-scheduler.ts b/packages/replicache/src/process-scheduler.ts index 589b7b7709..ebe61d4f30 100644 --- a/packages/replicache/src/process-scheduler.ts +++ b/packages/replicache/src/process-scheduler.ts @@ -1,8 +1,8 @@ import {type Resolver, resolver} from '@rocicorp/resolver'; -import {AbortError} from '../../shared/src/abort-error.js'; -import {assert} from '../../shared/src/asserts.js'; -import {sleep} from '../../shared/src/sleep.js'; -import {requestIdle as defaultRequestIdle} from './request-idle.js'; +import {AbortError} from '../../shared/src/abort-error.ts'; +import {assert} from '../../shared/src/asserts.ts'; +import {sleep} from '../../shared/src/sleep.ts'; +import {requestIdle as defaultRequestIdle} from './request-idle.ts'; export class ProcessScheduler { readonly #process: () => Promise; diff --git a/packages/replicache/src/puller.ts b/packages/replicache/src/puller.ts index 9e3cc9b8d5..d23d5fa6ab 100644 --- a/packages/replicache/src/puller.ts +++ b/packages/replicache/src/puller.ts @@ -1,15 +1,15 @@ -import type {Cookie} from './cookies.js'; +import type {Cookie} from './cookies.ts'; import type { ClientStateNotFoundResponse, VersionNotSupportedResponse, -} from './error-responses.js'; -import type {HTTPRequestInfo} from './http-request-info.js'; +} from './error-responses.ts'; +import type {HTTPRequestInfo} from './http-request-info.ts'; import type { PatchOperation, PatchOperationInternal, -} from './patch-operation.js'; -import type {ClientID} from './sync/ids.js'; -import type {PullRequest} from './sync/pull.js'; +} from './patch-operation.ts'; +import type {ClientID} from './sync/ids.ts'; +import type {PullRequest} from './sync/pull.ts'; // TODO(arv): Does it really make sense to call this httpRequestInfo? It is // really the response status code and error message! diff --git a/packages/replicache/src/pusher.ts b/packages/replicache/src/pusher.ts index 837b1866fa..ef1dd5e7af 100644 --- a/packages/replicache/src/pusher.ts +++ b/packages/replicache/src/pusher.ts @@ -1,15 +1,15 @@ -import {assertObject} from '../../shared/src/asserts.js'; +import {assertObject} from '../../shared/src/asserts.ts'; import { assertVersionNotSupportedResponse, type ClientStateNotFoundResponse, isClientStateNotFoundResponse, type VersionNotSupportedResponse, -} from './error-responses.js'; +} from './error-responses.ts'; import { assertHTTPRequestInfo, type HTTPRequestInfo, -} from './http-request-info.js'; -import type {PushRequest} from './sync/push.js'; +} from './http-request-info.ts'; +import type {PushRequest} from './sync/push.ts'; export type PusherResult = { response?: PushResponse | undefined; diff --git a/packages/replicache/src/replicache-collect-idb-databases.test.ts b/packages/replicache/src/replicache-collect-idb-databases.test.ts index d03aa272fd..ae1ed59849 100644 --- a/packages/replicache/src/replicache-collect-idb-databases.test.ts +++ b/packages/replicache/src/replicache-collect-idb-databases.test.ts @@ -1,10 +1,10 @@ import {expect, test} from 'vitest'; -import {sleep} from '../../shared/src/sleep.js'; +import {sleep} from '../../shared/src/sleep.ts'; import { clock, initReplicacheTesting, replicacheForTesting, -} from './test-util.js'; +} from './test-util.ts'; initReplicacheTesting(); diff --git a/packages/replicache/src/replicache-impl.ts b/packages/replicache/src/replicache-impl.ts index 14db876bcb..d030de07f5 100644 --- a/packages/replicache/src/replicache-impl.ts +++ b/packages/replicache/src/replicache-impl.ts @@ -1,89 +1,89 @@ import {Lock} from '@rocicorp/lock'; import {consoleLogSink, LogContext} from '@rocicorp/logger'; import {resolver} from '@rocicorp/resolver'; -import {AbortError} from '../../shared/src/abort-error.js'; -import {assert} from '../../shared/src/asserts.js'; -import {getBrowserGlobal} from '../../shared/src/browser-env.js'; -import {getDocumentVisibilityWatcher} from '../../shared/src/document-visible.js'; -import type {JSONValue, ReadonlyJSONValue} from '../../shared/src/json.js'; -import type {MaybePromise} from '../../shared/src/types.js'; -import {PullDelegate, PushDelegate} from './connection-loop-delegates.js'; -import {ConnectionLoop, MAX_DELAY_MS, MIN_DELAY_MS} from './connection-loop.js'; -import {assertCookie, type Cookie} from './cookies.js'; -import {LazyStore} from './dag/lazy-store.js'; -import {StoreImpl} from './dag/store-impl.js'; -import {ChunkNotFoundError, mustGetHeadHash, type Store} from './dag/store.js'; +import {AbortError} from '../../shared/src/abort-error.ts'; +import {assert} from '../../shared/src/asserts.ts'; +import {getBrowserGlobal} from '../../shared/src/browser-env.ts'; +import {getDocumentVisibilityWatcher} from '../../shared/src/document-visible.ts'; +import type {JSONValue, ReadonlyJSONValue} from '../../shared/src/json.ts'; +import type {MaybePromise} from '../../shared/src/types.ts'; +import {PullDelegate, PushDelegate} from './connection-loop-delegates.ts'; +import {ConnectionLoop, MAX_DELAY_MS, MIN_DELAY_MS} from './connection-loop.ts'; +import {assertCookie, type Cookie} from './cookies.ts'; +import {LazyStore} from './dag/lazy-store.ts'; +import {StoreImpl} from './dag/store-impl.ts'; +import {ChunkNotFoundError, mustGetHeadHash, type Store} from './dag/store.ts'; import { baseSnapshotFromHash, DEFAULT_HEAD_NAME, isLocalMetaDD31, type LocalMeta, -} from './db/commit.js'; -import {readFromDefaultHead} from './db/read.js'; -import {rebaseMutationAndCommit} from './db/rebase.js'; -import {newWriteLocal} from './db/write.js'; +} from './db/commit.ts'; +import {readFromDefaultHead} from './db/read.ts'; +import {rebaseMutationAndCommit} from './db/rebase.ts'; +import {newWriteLocal} from './db/write.ts'; import { isClientStateNotFoundResponse, isVersionNotSupportedResponse, type VersionNotSupportedResponse, -} from './error-responses.js'; -import * as FormatVersion from './format-version-enum.js'; -import {deepFreeze} from './frozen-json.js'; -import {getDefaultPuller, isDefaultPuller} from './get-default-puller.js'; -import {getDefaultPusher, isDefaultPusher} from './get-default-pusher.js'; -import {assertHash, emptyHash, type Hash, newRandomHash} from './hash.js'; -import type {HTTPRequestInfo} from './http-request-info.js'; -import type {IndexDefinitions} from './index-defs.js'; -import type {StoreProvider} from './kv/store.js'; -import {createLogContext} from './log-options.js'; -import {MutationRecovery} from './mutation-recovery.js'; -import {initNewClientChannel} from './new-client-channel.js'; +} from './error-responses.ts'; +import * as FormatVersion from './format-version-enum.ts'; +import {deepFreeze} from './frozen-json.ts'; +import {getDefaultPuller, isDefaultPuller} from './get-default-puller.ts'; +import {getDefaultPusher, isDefaultPusher} from './get-default-pusher.ts'; +import {assertHash, emptyHash, type Hash, newRandomHash} from './hash.ts'; +import type {HTTPRequestInfo} from './http-request-info.ts'; +import type {IndexDefinitions} from './index-defs.ts'; +import type {StoreProvider} from './kv/store.ts'; +import {createLogContext} from './log-options.ts'; +import {MutationRecovery} from './mutation-recovery.ts'; +import {initNewClientChannel} from './new-client-channel.ts'; import { initOnPersistChannel, type OnPersist, type PersistInfo, -} from './on-persist-channel.js'; +} from './on-persist-channel.ts'; import { type PendingMutation, pendingMutationsForAPI, -} from './pending-mutations.js'; +} from './pending-mutations.ts'; import { CLIENT_MAX_INACTIVE_TIME, GC_INTERVAL, initClientGC, -} from './persist/client-gc.js'; -import {initClientGroupGC} from './persist/client-group-gc.js'; -import {disableClientGroup} from './persist/client-groups.js'; +} from './persist/client-gc.ts'; +import {initClientGroupGC} from './persist/client-group-gc.ts'; +import {disableClientGroup} from './persist/client-groups.ts'; import { ClientStateNotFoundError, initClientV6, hasClientState as persistHasClientState, -} from './persist/clients.js'; +} from './persist/clients.ts'; import { COLLECT_IDB_INTERVAL, initCollectIDBDatabases, INITIAL_COLLECT_IDB_DELAY, SDD_IDB_MAX_AGE, -} from './persist/collect-idb-databases.js'; -import {HEARTBEAT_INTERVAL, startHeartbeats} from './persist/heartbeat.js'; +} from './persist/collect-idb-databases.ts'; +import {HEARTBEAT_INTERVAL, startHeartbeats} from './persist/heartbeat.ts'; import { IDBDatabasesStore, type IndexedDBDatabase, -} from './persist/idb-databases-store.js'; -import {makeClientID} from './persist/make-client-id.js'; -import {persistDD31} from './persist/persist.js'; -import {refresh} from './persist/refresh.js'; -import {ProcessScheduler} from './process-scheduler.js'; -import type {Puller} from './puller.js'; -import {type Pusher, PushError} from './pusher.js'; -import type {ReplicacheOptions} from './replicache-options.js'; +} from './persist/idb-databases-store.ts'; +import {makeClientID} from './persist/make-client-id.ts'; +import {persistDD31} from './persist/persist.ts'; +import {refresh} from './persist/refresh.ts'; +import {ProcessScheduler} from './process-scheduler.ts'; +import type {Puller} from './puller.ts'; +import {type Pusher, PushError} from './pusher.ts'; +import type {ReplicacheOptions} from './replicache-options.ts'; import { getKVStoreProvider, httpStatusUnauthorized, makeIDBName, ReportError, -} from './replicache.js'; -import {setIntervalWithSignal} from './set-interval-with-signal.js'; +} from './replicache.ts'; +import {setIntervalWithSignal} from './set-interval-with-signal.ts'; import { type SubscribeOptions, SubscriptionImpl, @@ -94,17 +94,17 @@ import { type WatchNoIndexCallback, type WatchOptions, WatchSubscription, -} from './subscriptions.js'; -import * as HandlePullResponseResultEnum from './sync/handle-pull-response-result-type-enum.js'; -import type {ClientGroupID, ClientID} from './sync/ids.js'; -import {PullError} from './sync/pull-error.js'; -import {beginPullV1, handlePullResponseV1, maybeEndPull} from './sync/pull.js'; -import {push, PUSH_VERSION_DD31} from './sync/push.js'; -import {newRequestID} from './sync/request-id.js'; -import {SYNC_HEAD_NAME} from './sync/sync-head-name.js'; -import {throwIfClosed} from './transaction-closed-error.js'; -import type {ReadTransaction, WriteTransaction} from './transactions.js'; -import {ReadTransactionImpl, WriteTransactionImpl} from './transactions.js'; +} from './subscriptions.ts'; +import * as HandlePullResponseResultEnum from './sync/handle-pull-response-result-type-enum.ts'; +import type {ClientGroupID, ClientID} from './sync/ids.ts'; +import {PullError} from './sync/pull-error.ts'; +import {beginPullV1, handlePullResponseV1, maybeEndPull} from './sync/pull.ts'; +import {push, PUSH_VERSION_DD31} from './sync/push.ts'; +import {newRequestID} from './sync/request-id.ts'; +import {SYNC_HEAD_NAME} from './sync/sync-head-name.ts'; +import {throwIfClosed} from './transaction-closed-error.ts'; +import type {ReadTransaction, WriteTransaction} from './transactions.ts'; +import {ReadTransactionImpl, WriteTransactionImpl} from './transactions.ts'; import type { BeginPullResult, MakeMutator, @@ -115,13 +115,13 @@ import type { QueryInternal, RequestOptions, UpdateNeededReason, -} from './types.js'; -import {version} from './version.js'; +} from './types.ts'; +import {version} from './version.ts'; import { withRead, withWrite, withWriteNoImplicitCommit, -} from './with-transactions.js'; +} from './with-transactions.ts'; declare const TESTING: boolean; diff --git a/packages/replicache/src/replicache-mutation-recovery-dd31.test.ts b/packages/replicache/src/replicache-mutation-recovery-dd31.test.ts index e573b08b3b..5f0f922808 100644 --- a/packages/replicache/src/replicache-mutation-recovery-dd31.test.ts +++ b/packages/replicache/src/replicache-mutation-recovery-dd31.test.ts @@ -1,41 +1,41 @@ import sinon from 'sinon'; import {describe, expect, test} from 'vitest'; -import {assert} from '../../shared/src/asserts.js'; -import type {Enum} from '../../shared/src/enum.js'; -import {type JSONObject, assertJSONObject} from '../../shared/src/json.js'; -import {randomUint64} from '../../shared/src/random-uint64.js'; -import {LazyStore} from './dag/lazy-store.js'; -import {StoreImpl} from './dag/store-impl.js'; -import * as FormatVersion from './format-version-enum.js'; +import {assert} from '../../shared/src/asserts.ts'; +import type {Enum} from '../../shared/src/enum.ts'; +import {type JSONObject, assertJSONObject} from '../../shared/src/json.ts'; +import {randomUint64} from '../../shared/src/random-uint64.ts'; +import {LazyStore} from './dag/lazy-store.ts'; +import {StoreImpl} from './dag/store-impl.ts'; +import * as FormatVersion from './format-version-enum.ts'; import { createAndPersistClientWithPendingLocalDD31, createPerdag, createPushRequestBodyDD31, persistSnapshotDD31, -} from './mutation-recovery-test-helper.js'; +} from './mutation-recovery-test-helper.ts'; import { disableClientGroup, getClientGroup, getClientGroups, -} from './persist/client-groups.js'; -import {assertClientV6, getClient, getClients} from './persist/clients.js'; -import type {PullResponseV1} from './puller.js'; -import type {PushResponse} from './pusher.js'; -import type {ClientID} from './sync/ids.js'; -import {PULL_VERSION_DD31, type PullRequestV1} from './sync/pull.js'; +} from './persist/client-groups.ts'; +import {assertClientV6, getClient, getClients} from './persist/clients.ts'; +import type {PullResponseV1} from './puller.ts'; +import type {PushResponse} from './pusher.ts'; +import type {ClientID} from './sync/ids.ts'; +import {PULL_VERSION_DD31, type PullRequestV1} from './sync/pull.ts'; import { PUSH_VERSION_DD31, type PushRequestV1, assertPushRequestV1, -} from './sync/push.js'; +} from './sync/push.ts'; import { clock, disableAllBackgroundProcesses, initReplicacheTesting, replicacheForTesting, tickAFewTimes, -} from './test-util.js'; -import {withRead, withWriteNoImplicitCommit} from './with-transactions.js'; +} from './test-util.ts'; +import {withRead, withWriteNoImplicitCommit} from './with-transactions.ts'; // fetch-mock has invalid d.ts file so we removed that on npm install. // eslint-disable-next-line @typescript-eslint/ban-ts-comment diff --git a/packages/replicache/src/replicache-on-update-needed.test.ts b/packages/replicache/src/replicache-on-update-needed.test.ts index f6ff72382e..d9d78937d5 100644 --- a/packages/replicache/src/replicache-on-update-needed.test.ts +++ b/packages/replicache/src/replicache-on-update-needed.test.ts @@ -3,7 +3,7 @@ import { initReplicacheTesting, replicacheForTesting, tickAFewTimes, -} from './test-util.js'; +} from './test-util.ts'; initReplicacheTesting(); diff --git a/packages/replicache/src/replicache-options.ts b/packages/replicache/src/replicache-options.ts index 7ed08910ec..9437c7f129 100644 --- a/packages/replicache/src/replicache-options.ts +++ b/packages/replicache/src/replicache-options.ts @@ -1,9 +1,9 @@ import type {LogLevel, LogSink} from '@rocicorp/logger'; -import type {IndexDefinitions} from './index-defs.js'; -import type {StoreProvider} from './kv/store.js'; -import type {Puller} from './puller.js'; -import type {Pusher} from './pusher.js'; -import type {MutatorDefs, RequestOptions} from './types.js'; +import type {IndexDefinitions} from './index-defs.ts'; +import type {StoreProvider} from './kv/store.ts'; +import type {Puller} from './puller.ts'; +import type {Pusher} from './pusher.ts'; +import type {MutatorDefs, RequestOptions} from './types.ts'; /** * The options passed to {@link Replicache}. diff --git a/packages/replicache/src/replicache-persist.test.ts b/packages/replicache/src/replicache-persist.test.ts index dfe4dd2fb5..dab5d7990c 100644 --- a/packages/replicache/src/replicache-persist.test.ts +++ b/packages/replicache/src/replicache-persist.test.ts @@ -10,33 +10,33 @@ import { replicacheForTesting, ReplicacheTest, tickAFewTimes, -} from './test-util.js'; +} from './test-util.ts'; // fetch-mock has invalid d.ts file so we removed that on npm install. // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-expect-error import fetchMock from 'fetch-mock/esm/client'; -import {assert, assertNotUndefined} from '../../shared/src/asserts.js'; -import {sleep} from '../../shared/src/sleep.js'; -import {StoreImpl} from './dag/store-impl.js'; -import type {Store} from './dag/store.js'; -import {assertHash, newRandomHash} from './hash.js'; -import {dropIDBStoreWithMemFallback} from './kv/idb-store-with-mem-fallback.js'; -import {IDBNotFoundError, IDBStore} from './kv/idb-store.js'; +import {assert, assertNotUndefined} from '../../shared/src/asserts.ts'; +import {sleep} from '../../shared/src/sleep.ts'; +import {StoreImpl} from './dag/store-impl.ts'; +import type {Store} from './dag/store.ts'; +import {assertHash, newRandomHash} from './hash.ts'; +import {dropIDBStoreWithMemFallback} from './kv/idb-store-with-mem-fallback.ts'; +import {IDBNotFoundError, IDBStore} from './kv/idb-store.ts'; import { type ClientGroup, deleteClientGroup, getClientGroup, -} from './persist/client-groups.js'; -import {deleteClientForTesting} from './persist/clients-test-helpers.js'; +} from './persist/client-groups.ts'; +import {deleteClientForTesting} from './persist/clients-test-helpers.ts'; import { assertClientV6, ClientStateNotFoundError, getClient, -} from './persist/clients.js'; -import type {WriteTransaction} from './transactions.js'; -import type {MutatorDefs} from './types.js'; -import {withRead, withWriteNoImplicitCommit} from './with-transactions.js'; +} from './persist/clients.ts'; +import type {WriteTransaction} from './transactions.ts'; +import type {MutatorDefs} from './types.ts'; +import {withRead, withWriteNoImplicitCommit} from './with-transactions.ts'; initReplicacheTesting(); diff --git a/packages/replicache/src/replicache-poke.test.ts b/packages/replicache/src/replicache-poke.test.ts index 787304a650..4f0a9c36ff 100644 --- a/packages/replicache/src/replicache-poke.test.ts +++ b/packages/replicache/src/replicache-poke.test.ts @@ -1,15 +1,15 @@ import * as sinon from 'sinon'; import {expect, test} from 'vitest'; -import type {VersionNotSupportedResponse} from './error-responses.js'; +import type {VersionNotSupportedResponse} from './error-responses.ts'; import { addData, disableAllBackgroundProcesses, initReplicacheTesting, makePullResponseV1, replicacheForTesting, -} from './test-util.js'; -import type {WriteTransaction} from './transactions.js'; -import type {Poke, UpdateNeededReason} from './types.js'; +} from './test-util.ts'; +import type {WriteTransaction} from './transactions.ts'; +import type {Poke, UpdateNeededReason} from './types.ts'; initReplicacheTesting(); diff --git a/packages/replicache/src/replicache-pull.test.ts b/packages/replicache/src/replicache-pull.test.ts index 72da278934..668ce4de9d 100644 --- a/packages/replicache/src/replicache-pull.test.ts +++ b/packages/replicache/src/replicache-pull.test.ts @@ -1,11 +1,11 @@ import {resolver} from '@rocicorp/resolver'; import * as sinon from 'sinon'; import {expect, test} from 'vitest'; -import type {VersionNotSupportedResponse} from './error-responses.js'; -import {getDefaultPuller} from './get-default-puller.js'; -import {type Hash, emptyHash} from './hash.js'; -import type {Puller} from './puller.js'; -import {httpStatusUnauthorized} from './replicache.js'; +import type {VersionNotSupportedResponse} from './error-responses.ts'; +import {getDefaultPuller} from './get-default-puller.ts'; +import {type Hash, emptyHash} from './hash.ts'; +import type {Puller} from './puller.ts'; +import {httpStatusUnauthorized} from './replicache.ts'; import { disableAllBackgroundProcesses, expectConsoleLogContextStub, @@ -15,9 +15,9 @@ import { requestIDLogContextRegex, tickAFewTimes, waitForSync, -} from './test-util.js'; -import type {WriteTransaction} from './transactions.js'; -import type {UpdateNeededReason} from './types.js'; +} from './test-util.ts'; +import type {WriteTransaction} from './transactions.ts'; +import type {UpdateNeededReason} from './types.ts'; // fetch-mock has invalid d.ts file so we removed that on npm install. // eslint-disable-next-line @typescript-eslint/ban-ts-comment diff --git a/packages/replicache/src/replicache-push.test.ts b/packages/replicache/src/replicache-push.test.ts index 1bccb7fe58..6eb378d4fb 100644 --- a/packages/replicache/src/replicache-push.test.ts +++ b/packages/replicache/src/replicache-push.test.ts @@ -1,21 +1,21 @@ import * as sinon from 'sinon'; import {expect, test} from 'vitest'; -import type {VersionNotSupportedResponse} from './error-responses.js'; -import type {Pusher} from './pusher.js'; +import type {VersionNotSupportedResponse} from './error-responses.ts'; +import type {Pusher} from './pusher.ts'; import { disableAllBackgroundProcesses, initReplicacheTesting, replicacheForTesting, tickAFewTimes, -} from './test-util.js'; -import type {WriteTransaction} from './transactions.js'; +} from './test-util.ts'; +import type {WriteTransaction} from './transactions.ts'; // fetch-mock has invalid d.ts file so we removed that on npm install. // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-expect-error import fetchMock from 'fetch-mock/esm/client'; -import {getDefaultPusher} from './get-default-pusher.js'; -import type {UpdateNeededReason} from './types.js'; +import {getDefaultPusher} from './get-default-pusher.ts'; +import type {UpdateNeededReason} from './types.ts'; initReplicacheTesting(); diff --git a/packages/replicache/src/replicache-subscribe.test.ts b/packages/replicache/src/replicache-subscribe.test.ts index 2a76633b14..c302740ae9 100644 --- a/packages/replicache/src/replicache-subscribe.test.ts +++ b/packages/replicache/src/replicache-subscribe.test.ts @@ -1,12 +1,12 @@ import {resolver} from '@rocicorp/resolver'; import * as sinon from 'sinon'; -import type {JSONValue, ReadonlyJSONValue} from '../../shared/src/json.js'; -import {TestLogSink} from '../../shared/src/logging-test-utils.js'; -import {sleep} from '../../shared/src/sleep.js'; -import type {IndexKey} from './db/index.js'; -import type {IndexDefinitions} from './index-defs.js'; -import type {PatchOperation} from './patch-operation.js'; -import type {ScanOptions} from './scan-options.js'; +import type {JSONValue, ReadonlyJSONValue} from '../../shared/src/json.ts'; +import {TestLogSink} from '../../shared/src/logging-test-utils.ts'; +import {sleep} from '../../shared/src/sleep.ts'; +import type {IndexKey} from './db/index.ts'; +import type {IndexDefinitions} from './index-defs.ts'; +import type {PatchOperation} from './patch-operation.ts'; +import type {ScanOptions} from './scan-options.ts'; import { clock, disableAllBackgroundProcesses, @@ -15,8 +15,8 @@ import { replicacheForTesting, tickAFewTimes, tickUntil, -} from './test-util.js'; -import type {ReadTransaction, WriteTransaction} from './transactions.js'; +} from './test-util.ts'; +import type {ReadTransaction, WriteTransaction} from './transactions.ts'; // fetch-mock has invalid d.ts file so we removed that on npm install. // eslint-disable-next-line @typescript-eslint/ban-ts-comment diff --git a/packages/replicache/src/replicache-types.test.ts b/packages/replicache/src/replicache-types.test.ts index 44c8fc478e..dd0ee9d631 100644 --- a/packages/replicache/src/replicache-types.test.ts +++ b/packages/replicache/src/replicache-types.test.ts @@ -1,11 +1,11 @@ /* eslint-disable require-await */ import {test} from 'vitest'; -import {assert} from '../../shared/src/asserts.js'; -import type {ReadonlyJSONObject} from '../../shared/src/json.js'; -import type {IndexKey} from './db/index.js'; -import {Replicache} from './replicache.js'; -import type {DeepReadonly, WriteTransaction} from './transactions.js'; +import {assert} from '../../shared/src/asserts.ts'; +import type {ReadonlyJSONObject} from '../../shared/src/json.ts'; +import type {IndexKey} from './db/index.ts'; +import {Replicache} from './replicache.ts'; +import type {DeepReadonly, WriteTransaction} from './transactions.ts'; function use(..._args: unknown[]) { // do nothing diff --git a/packages/replicache/src/replicache.test.ts b/packages/replicache/src/replicache.test.ts index 017de46ea3..1710882161 100644 --- a/packages/replicache/src/replicache.test.ts +++ b/packages/replicache/src/replicache.test.ts @@ -2,20 +2,20 @@ import type {Context, LogLevel} from '@rocicorp/logger'; import {resolver} from '@rocicorp/resolver'; import * as sinon from 'sinon'; import {describe, expect, test} from 'vitest'; -import {assert, unreachable} from '../../shared/src/asserts.js'; -import type {JSONValue, ReadonlyJSONValue} from '../../shared/src/json.js'; -import {promiseVoid} from '../../shared/src/resolved-promises.js'; -import {sleep} from '../../shared/src/sleep.js'; -import {asyncIterableToArray} from './async-iterable-to-array.js'; -import {Write} from './db/write.js'; -import {TestMemStore} from './kv/test-mem-store.js'; -import type {PatchOperation} from './patch-operation.js'; -import {getClientGroup} from './persist/client-groups.js'; -import {deleteClientForTesting} from './persist/clients-test-helpers.js'; -import type {ReplicacheOptions} from './replicache-options.js'; -import {Replicache, httpStatusUnauthorized} from './replicache.js'; -import type {ScanOptions} from './scan-options.js'; -import type {ClientID} from './sync/ids.js'; +import {assert, unreachable} from '../../shared/src/asserts.ts'; +import type {JSONValue, ReadonlyJSONValue} from '../../shared/src/json.ts'; +import {promiseVoid} from '../../shared/src/resolved-promises.ts'; +import {sleep} from '../../shared/src/sleep.ts'; +import {asyncIterableToArray} from './async-iterable-to-array.ts'; +import {Write} from './db/write.ts'; +import {TestMemStore} from './kv/test-mem-store.ts'; +import type {PatchOperation} from './patch-operation.ts'; +import {getClientGroup} from './persist/client-groups.ts'; +import {deleteClientForTesting} from './persist/clients-test-helpers.ts'; +import type {ReplicacheOptions} from './replicache-options.ts'; +import {Replicache, httpStatusUnauthorized} from './replicache.ts'; +import type {ScanOptions} from './scan-options.ts'; +import type {ClientID} from './sync/ids.ts'; import { MemStoreWithCounters, ReplicacheTest, @@ -31,11 +31,11 @@ import { requestIDLogContextRegex, tickAFewTimes, tickUntil, -} from './test-util.js'; -import {TransactionClosedError} from './transaction-closed-error.js'; -import type {ReadTransaction, WriteTransaction} from './transactions.js'; -import type {MutatorDefs, Poke} from './types.js'; -import {withRead} from './with-transactions.js'; +} from './test-util.ts'; +import {TransactionClosedError} from './transaction-closed-error.ts'; +import type {ReadTransaction, WriteTransaction} from './transactions.ts'; +import type {MutatorDefs, Poke} from './types.ts'; +import {withRead} from './with-transactions.ts'; // fetch-mock has invalid d.ts file so we removed that on npm install. // eslint-disable-next-line @typescript-eslint/ban-ts-comment diff --git a/packages/replicache/src/replicache.ts b/packages/replicache/src/replicache.ts index 0ffe89c6e4..44320a6de9 100644 --- a/packages/replicache/src/replicache.ts +++ b/packages/replicache/src/replicache.ts @@ -1,31 +1,31 @@ import type {LogContext} from '@rocicorp/logger'; -import type {MaybePromise} from '../../shared/src/types.js'; -import * as FormatVersion from './format-version-enum.js'; +import type {MaybePromise} from '../../shared/src/types.ts'; +import * as FormatVersion from './format-version-enum.ts'; import { dropIDBStoreWithMemFallback, newIDBStoreWithMemFallback, -} from './kv/idb-store-with-mem-fallback.js'; -import {MemStore, dropMemStore} from './kv/mem-store.js'; -import type {StoreProvider} from './kv/store.js'; -import type {PendingMutation} from './pending-mutations.js'; -import type {Puller} from './puller.js'; -import type {Pusher} from './pusher.js'; -import {ReplicacheImpl} from './replicache-impl.js'; -import type {ReplicacheOptions} from './replicache-options.js'; +} from './kv/idb-store-with-mem-fallback.ts'; +import {MemStore, dropMemStore} from './kv/mem-store.ts'; +import type {StoreProvider} from './kv/store.ts'; +import type {PendingMutation} from './pending-mutations.ts'; +import type {Puller} from './puller.ts'; +import type {Pusher} from './pusher.ts'; +import {ReplicacheImpl} from './replicache-impl.ts'; +import type {ReplicacheOptions} from './replicache-options.ts'; import type { SubscribeOptions, WatchCallbackForOptions, WatchNoIndexCallback, WatchOptions, -} from './subscriptions.js'; -import type {ReadTransaction} from './transactions.js'; +} from './subscriptions.ts'; +import type {ReadTransaction} from './transactions.ts'; import type { MakeMutators, MutatorDefs, Poke, RequestOptions, UpdateNeededReason, -} from './types.js'; +} from './types.ts'; type MakeImpl = ( options: ReplicacheOptions, diff --git a/packages/replicache/src/scan-iterator.test.ts b/packages/replicache/src/scan-iterator.test.ts index 587c6bcc46..bf47c7ac9c 100644 --- a/packages/replicache/src/scan-iterator.test.ts +++ b/packages/replicache/src/scan-iterator.test.ts @@ -1,15 +1,15 @@ import {expect, test} from 'vitest'; -import type {ReadonlyJSONValue} from '../../shared/src/json.js'; -import {asyncIterableToArray} from './async-iterable-to-array.js'; -import type {IndexKey} from './db/index.js'; +import type {ReadonlyJSONValue} from '../../shared/src/json.ts'; +import {asyncIterableToArray} from './async-iterable-to-array.ts'; +import type {IndexKey} from './db/index.ts'; import { type Entry, type GetIndexScanIterator, type GetScanIterator, fromKeyForIndexScan, makeScanResult, -} from './scan-iterator.js'; -import type {ScanIndexOptions, ScanOptions} from './scan-options.js'; +} from './scan-iterator.ts'; +import type {ScanIndexOptions, ScanOptions} from './scan-options.ts'; test('makeScanResult', async () => { function getTestScanAsyncIterator( diff --git a/packages/replicache/src/scan-iterator.ts b/packages/replicache/src/scan-iterator.ts index c1902c3b2d..d399841efe 100644 --- a/packages/replicache/src/scan-iterator.ts +++ b/packages/replicache/src/scan-iterator.ts @@ -1,8 +1,8 @@ import {greaterThan} from 'compare-utf8'; -import type {ReadonlyJSONValue} from '../../shared/src/json.js'; -import {asyncIterableToArray} from './async-iterable-to-array.js'; -import {type IndexKey, encodeIndexScanKey} from './db/index.js'; -import type {IterableUnion} from './iterable-union.js'; +import type {ReadonlyJSONValue} from '../../shared/src/json.ts'; +import {asyncIterableToArray} from './async-iterable-to-array.ts'; +import {type IndexKey, encodeIndexScanKey} from './db/index.ts'; +import type {IterableUnion} from './iterable-union.ts'; import { type KeyTypeForScanOptions, type ScanIndexOptions, @@ -10,9 +10,9 @@ import { type ScanOptions, isScanIndexOptions, normalizeScanOptionIndexedStartKey, -} from './scan-options.js'; -import {type Closed, throwIfClosed} from './transaction-closed-error.js'; -import {type EntryForOptions, fromKeyForNonIndexScan} from './transactions.js'; +} from './scan-options.ts'; +import {type Closed, throwIfClosed} from './transaction-closed-error.ts'; +import {type EntryForOptions, fromKeyForNonIndexScan} from './transactions.ts'; type ScanKey = string | IndexKey; diff --git a/packages/replicache/src/scan-options.ts b/packages/replicache/src/scan-options.ts index c9e963dd36..d561439412 100644 --- a/packages/replicache/src/scan-options.ts +++ b/packages/replicache/src/scan-options.ts @@ -1,5 +1,5 @@ -import type {IndexKey} from './db/index.js'; -import type {ScanOptions as DbScanOptions} from './db/scan.js'; +import type {IndexKey} from './db/index.ts'; +import type {ScanOptions as DbScanOptions} from './db/scan.ts'; /** * Options for {@link ReadTransaction.scan | scan} diff --git a/packages/replicache/src/size-of-value.test.ts b/packages/replicache/src/size-of-value.test.ts index 6c2d27d19e..ab2300d541 100644 --- a/packages/replicache/src/size-of-value.test.ts +++ b/packages/replicache/src/size-of-value.test.ts @@ -1,5 +1,5 @@ import {expect, test} from 'vitest'; -import {getSizeOfEntry, getSizeOfValue} from './size-of-value.js'; +import {getSizeOfEntry, getSizeOfValue} from './size-of-value.ts'; test('getSizeOfValue', () => { expect(getSizeOfValue(null)).to.equal(1); diff --git a/packages/replicache/src/size-of-value.ts b/packages/replicache/src/size-of-value.ts index 6db8c640ea..f5dceb03bb 100644 --- a/packages/replicache/src/size-of-value.ts +++ b/packages/replicache/src/size-of-value.ts @@ -1,5 +1,5 @@ -import {hasOwn} from '../../shared/src/has-own.js'; -import type {ReadonlyJSONObject} from '../../shared/src/json.js'; +import {hasOwn} from '../../shared/src/has-own.ts'; +import type {ReadonlyJSONObject} from '../../shared/src/json.ts'; const SIZE_TAG = 1; const SIZE_INT32 = 4; diff --git a/packages/replicache/src/subscriptions.test.ts b/packages/replicache/src/subscriptions.test.ts index 4e9001dcc9..5c17045401 100644 --- a/packages/replicache/src/subscriptions.test.ts +++ b/packages/replicache/src/subscriptions.test.ts @@ -2,7 +2,7 @@ import {expect, test} from 'vitest'; import { SubscriptionImplForTesting, scanInfoMatchesKey, -} from './subscriptions.js'; +} from './subscriptions.ts'; test('scanInfoMatchesKey', () => { expect(scanInfoMatchesKey({options: {}}, '', 'a')).to.be.true; diff --git a/packages/replicache/src/subscriptions.ts b/packages/replicache/src/subscriptions.ts index 56cec1abbe..d39b06ac1d 100644 --- a/packages/replicache/src/subscriptions.ts +++ b/packages/replicache/src/subscriptions.ts @@ -1,9 +1,9 @@ import type {LogContext} from '@rocicorp/logger'; import {compareUTF8, greaterThan, lessThan, lessThanEq} from 'compare-utf8'; -import {assert} from '../../shared/src/asserts.js'; -import type {Enum} from '../../shared/src/enum.js'; -import {deepEqual} from '../../shared/src/json.js'; -import {binarySearch} from './binary-search.js'; +import {assert} from '../../shared/src/asserts.ts'; +import type {Enum} from '../../shared/src/enum.ts'; +import {deepEqual} from '../../shared/src/json.ts'; +import {binarySearch} from './binary-search.ts'; import type { Diff, DiffOperation, @@ -11,17 +11,17 @@ import type { InternalDiff, InternalDiffOperation, NoIndexDiff, -} from './btree/node.js'; -import type {IndexKey} from './db/index.js'; -import {decodeIndexKey} from './db/index.js'; -import type {ScanOptions} from './db/scan.js'; -import * as InvokeKind from './invoke-kind-enum.js'; -import type {DiffComputationConfig, DiffsMap} from './sync/diff.js'; +} from './btree/node.ts'; +import type {IndexKey} from './db/index.ts'; +import {decodeIndexKey} from './db/index.ts'; +import type {ScanOptions} from './db/scan.ts'; +import * as InvokeKind from './invoke-kind-enum.ts'; +import type {DiffComputationConfig, DiffsMap} from './sync/diff.ts'; import { type ReadTransaction, SubscriptionTransactionWrapper, -} from './transactions.js'; -import type {QueryInternal} from './types.js'; +} from './transactions.ts'; +import type {QueryInternal} from './types.ts'; type InvokeKind = Enum; diff --git a/packages/replicache/src/sync/diff.test.ts b/packages/replicache/src/sync/diff.test.ts index f62e8f8000..311fbbb306 100644 --- a/packages/replicache/src/sync/diff.test.ts +++ b/packages/replicache/src/sync/diff.test.ts @@ -1,12 +1,12 @@ import {expect, test} from 'vitest'; -import type {InternalDiff} from '../btree/node.js'; -import {TestStore} from '../dag/test-store.js'; -import {ChainBuilder} from '../db/test-helpers.js'; -import * as FormatVersion from '../format-version-enum.js'; -import type {IndexDefinitions} from '../index-defs.js'; -import {testSubscriptionsManagerOptions} from '../test-util.js'; -import {withRead} from '../with-transactions.js'; -import {diff} from './diff.js'; +import type {InternalDiff} from '../btree/node.ts'; +import {TestStore} from '../dag/test-store.ts'; +import {ChainBuilder} from '../db/test-helpers.ts'; +import * as FormatVersion from '../format-version-enum.ts'; +import type {IndexDefinitions} from '../index-defs.ts'; +import {testSubscriptionsManagerOptions} from '../test-util.ts'; +import {withRead} from '../with-transactions.ts'; +import {diff} from './diff.ts'; type DiffsRecord = Record; diff --git a/packages/replicache/src/sync/diff.ts b/packages/replicache/src/sync/diff.ts index 172668d89e..1dbeafc7f3 100644 --- a/packages/replicache/src/sync/diff.ts +++ b/packages/replicache/src/sync/diff.ts @@ -1,13 +1,13 @@ -import {assert} from '../../../shared/src/asserts.js'; -import type {Enum} from '../../../shared/src/enum.js'; -import {diff as btreeDiff} from '../btree/diff.js'; -import type {InternalDiff} from '../btree/node.js'; -import {allEntriesAsDiff, BTreeRead} from '../btree/read.js'; -import type {Read} from '../dag/store.js'; -import {Commit, commitFromHash, type Meta} from '../db/commit.js'; -import {readIndexesForRead} from '../db/read.js'; -import * as FormatVersion from '../format-version-enum.js'; -import type {Hash} from '../hash.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import type {Enum} from '../../../shared/src/enum.ts'; +import {diff as btreeDiff} from '../btree/diff.ts'; +import type {InternalDiff} from '../btree/node.ts'; +import {allEntriesAsDiff, BTreeRead} from '../btree/read.ts'; +import type {Read} from '../dag/store.ts'; +import {Commit, commitFromHash, type Meta} from '../db/commit.ts'; +import {readIndexesForRead} from '../db/read.ts'; +import * as FormatVersion from '../format-version-enum.ts'; +import type {Hash} from '../hash.ts'; type FormatVersion = Enum; diff --git a/packages/replicache/src/sync/ids.ts b/packages/replicache/src/sync/ids.ts index c18c766ef6..ea7016f38d 100644 --- a/packages/replicache/src/sync/ids.ts +++ b/packages/replicache/src/sync/ids.ts @@ -1,4 +1,4 @@ -import * as valita from '../../../shared/src/valita.js'; +import * as valita from '../../../shared/src/valita.ts'; /** * The ID describing a group of clients. All clients in the same group share a diff --git a/packages/replicache/src/sync/patch.test.ts b/packages/replicache/src/sync/patch.test.ts index 5bbd28a3c3..a5ff224f75 100644 --- a/packages/replicache/src/sync/patch.test.ts +++ b/packages/replicache/src/sync/patch.test.ts @@ -1,19 +1,19 @@ import {LogContext} from '@rocicorp/logger'; import {describe, expect, test} from 'vitest'; -import {assert} from '../../../shared/src/asserts.js'; -import type {Enum} from '../../../shared/src/enum.js'; -import type {JSONValue} from '../../../shared/src/json.js'; -import {TestStore} from '../dag/test-store.js'; -import {ChainBuilder} from '../db/test-helpers.js'; -import {newWriteSnapshotDD31} from '../db/write.js'; -import * as FormatVersion from '../format-version-enum.js'; -import {deepFreeze} from '../frozen-json.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import type {Enum} from '../../../shared/src/enum.ts'; +import type {JSONValue} from '../../../shared/src/json.ts'; +import {TestStore} from '../dag/test-store.ts'; +import {ChainBuilder} from '../db/test-helpers.ts'; +import {newWriteSnapshotDD31} from '../db/write.ts'; +import * as FormatVersion from '../format-version-enum.ts'; +import {deepFreeze} from '../frozen-json.ts'; import { type PatchOperationInternal, assertPatchOperations, -} from '../patch-operation.js'; -import {withWriteNoImplicitCommit} from '../with-transactions.js'; -import {apply} from './patch.js'; +} from '../patch-operation.ts'; +import {withWriteNoImplicitCommit} from '../with-transactions.ts'; +import {apply} from './patch.ts'; type FormatVersion = Enum; diff --git a/packages/replicache/src/sync/patch.ts b/packages/replicache/src/sync/patch.ts index aa7a74a8f3..1157659f1d 100644 --- a/packages/replicache/src/sync/patch.ts +++ b/packages/replicache/src/sync/patch.ts @@ -1,16 +1,16 @@ import type {LogContext} from '@rocicorp/logger'; -import {assertObject} from '../../../shared/src/asserts.js'; +import {assertObject} from '../../../shared/src/asserts.ts'; import type { ReadonlyJSONObject, ReadonlyJSONValue, -} from '../../../shared/src/json.js'; -import type {Write} from '../db/write.js'; +} from '../../../shared/src/json.ts'; +import type {Write} from '../db/write.ts'; import { type FrozenJSONObject, type FrozenJSONValue, deepFreeze, -} from '../frozen-json.js'; -import type {PatchOperationInternal} from '../patch-operation.js'; +} from '../frozen-json.ts'; +import type {PatchOperationInternal} from '../patch-operation.ts'; export async function apply( lc: LogContext, diff --git a/packages/replicache/src/sync/pull.test.ts b/packages/replicache/src/sync/pull.test.ts index abefdeb02e..5de72e57f1 100644 --- a/packages/replicache/src/sync/pull.test.ts +++ b/packages/replicache/src/sync/pull.test.ts @@ -4,14 +4,14 @@ import { assert, assertObject, assertString, -} from '../../../shared/src/asserts.js'; -import type {Enum} from '../../../shared/src/enum.js'; -import type {ReadonlyJSONValue} from '../../../shared/src/json.js'; -import {stringCompare} from '../../../shared/src/string-compare.js'; -import {asyncIterableToArray} from '../async-iterable-to-array.js'; -import {BTreeRead} from '../btree/read.js'; -import type {Cookie, FrozenCookie} from '../cookies.js'; -import {TestStore} from '../dag/test-store.js'; +} from '../../../shared/src/asserts.ts'; +import type {Enum} from '../../../shared/src/enum.ts'; +import type {ReadonlyJSONValue} from '../../../shared/src/json.ts'; +import {stringCompare} from '../../../shared/src/string-compare.ts'; +import {asyncIterableToArray} from '../async-iterable-to-array.ts'; +import {BTreeRead} from '../btree/read.ts'; +import type {Cookie, FrozenCookie} from '../cookies.ts'; +import {TestStore} from '../dag/test-store.ts'; import { DEFAULT_HEAD_NAME, assertSnapshotCommitDD31, @@ -19,36 +19,36 @@ import { commitFromHead, commitIsLocal, snapshotMetaParts, -} from '../db/commit.js'; -import {encodeIndexKey} from '../db/index.js'; -import {readFromDefaultHead, readFromHead} from '../db/read.js'; -import {ChainBuilder} from '../db/test-helpers.js'; -import {newWriteLocal, newWriteSnapshotDD31} from '../db/write.js'; +} from '../db/commit.ts'; +import {encodeIndexKey} from '../db/index.ts'; +import {readFromDefaultHead, readFromHead} from '../db/read.ts'; +import {ChainBuilder} from '../db/test-helpers.ts'; +import {newWriteLocal, newWriteSnapshotDD31} from '../db/write.ts'; import { isClientStateNotFoundResponse, isVersionNotSupportedResponse, -} from '../error-responses.js'; -import * as FormatVersion from '../format-version-enum.js'; -import {type FrozenJSONValue, deepFreeze} from '../frozen-json.js'; -import {assertPullResponseV1} from '../get-default-puller.js'; -import {assertHash, emptyHash, fakeHash} from '../hash.js'; -import type {HTTPRequestInfo} from '../http-request-info.js'; -import type {IndexDefinitions} from '../index-defs.js'; -import type {PatchOperation} from '../patch-operation.js'; +} from '../error-responses.ts'; +import * as FormatVersion from '../format-version-enum.ts'; +import {type FrozenJSONValue, deepFreeze} from '../frozen-json.ts'; +import {assertPullResponseV1} from '../get-default-puller.ts'; +import {assertHash, emptyHash, fakeHash} from '../hash.ts'; +import type {HTTPRequestInfo} from '../http-request-info.ts'; +import type {IndexDefinitions} from '../index-defs.ts'; +import type {PatchOperation} from '../patch-operation.ts'; import type { PullResponseOKV1, PullResponseV1, Puller, PullerResultV1, -} from '../puller.js'; -import {testSubscriptionsManagerOptions} from '../test-util.js'; +} from '../puller.ts'; +import {testSubscriptionsManagerOptions} from '../test-util.ts'; import { withRead, withWrite, withWriteNoImplicitCommit, -} from '../with-transactions.js'; -import type {DiffsMap} from './diff.js'; -import * as HandlePullResponseResultEnum from './handle-pull-response-result-type-enum.js'; +} from '../with-transactions.ts'; +import type {DiffsMap} from './diff.ts'; +import * as HandlePullResponseResultEnum from './handle-pull-response-result-type-enum.ts'; import { type BeginPullResponseV1, PULL_VERSION_DD31, @@ -57,8 +57,8 @@ import { handlePullResponseV1, isPullRequestV1, maybeEndPull, -} from './pull.js'; -import {SYNC_HEAD_NAME} from './sync-head-name.js'; +} from './pull.ts'; +import {SYNC_HEAD_NAME} from './sync-head-name.ts'; type FormatVersion = Enum; type HandlePullResponseResultEnum = Enum; diff --git a/packages/replicache/src/sync/pull.ts b/packages/replicache/src/sync/pull.ts index bbda4f3174..acfad3d124 100644 --- a/packages/replicache/src/sync/pull.ts +++ b/packages/replicache/src/sync/pull.ts @@ -1,10 +1,10 @@ import type {LogContext} from '@rocicorp/logger'; -import {assert} from '../../../shared/src/asserts.js'; -import {deepEqual} from '../../../shared/src/json.js'; -import {diff} from '../btree/diff.js'; -import {BTreeRead} from '../btree/read.js'; -import {compareCookies, type Cookie} from '../cookies.js'; -import type {Store} from '../dag/store.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import {deepEqual} from '../../../shared/src/json.ts'; +import {diff} from '../btree/diff.ts'; +import {BTreeRead} from '../btree/read.ts'; +import {compareCookies, type Cookie} from '../cookies.ts'; +import type {Store} from '../dag/store.ts'; import { assertSnapshotMetaDD31, baseSnapshotFromHash, @@ -15,34 +15,34 @@ import { type LocalMeta, localMutations as localMutations_1, snapshotMetaParts, -} from '../db/commit.js'; -import {newWriteSnapshotDD31} from '../db/write.js'; -import {isErrorResponse} from '../error-responses.js'; -import * as FormatVersion from '../format-version-enum.js'; -import {deepFreeze, type FrozenJSONValue} from '../frozen-json.js'; -import {assertPullerResultV1} from '../get-default-puller.js'; -import {emptyHash, type Hash} from '../hash.js'; -import type {HTTPRequestInfo} from '../http-request-info.js'; +} from '../db/commit.ts'; +import {newWriteSnapshotDD31} from '../db/write.ts'; +import {isErrorResponse} from '../error-responses.ts'; +import * as FormatVersion from '../format-version-enum.ts'; +import {deepFreeze, type FrozenJSONValue} from '../frozen-json.ts'; +import {assertPullerResultV1} from '../get-default-puller.ts'; +import {emptyHash, type Hash} from '../hash.ts'; +import type {HTTPRequestInfo} from '../http-request-info.ts'; import type { Puller, PullerResult, PullerResultV1, PullResponseOKV1Internal, PullResponseV1, -} from '../puller.js'; -import {ReportError} from '../replicache.js'; -import {toError} from '../to-error.js'; -import {withRead, withWriteNoImplicitCommit} from '../with-transactions.js'; +} from '../puller.ts'; +import {ReportError} from '../replicache.ts'; +import {toError} from '../to-error.ts'; +import {withRead, withWriteNoImplicitCommit} from '../with-transactions.ts'; import { addDiffsForIndexes, type DiffComputationConfig, DiffsMap, -} from './diff.js'; -import * as HandlePullResponseResultType from './handle-pull-response-result-type-enum.js'; -import type {ClientGroupID, ClientID} from './ids.js'; -import * as patch from './patch.js'; -import {PullError} from './pull-error.js'; -import {SYNC_HEAD_NAME} from './sync-head-name.js'; +} from './diff.ts'; +import * as HandlePullResponseResultType from './handle-pull-response-result-type-enum.ts'; +import type {ClientGroupID, ClientID} from './ids.ts'; +import * as patch from './patch.ts'; +import {PullError} from './pull-error.ts'; +import {SYNC_HEAD_NAME} from './sync-head-name.ts'; type FormatVersion = (typeof FormatVersion)[keyof typeof FormatVersion]; diff --git a/packages/replicache/src/sync/push.test.ts b/packages/replicache/src/sync/push.test.ts index ae66f4b650..a1c9b0bd6f 100644 --- a/packages/replicache/src/sync/push.test.ts +++ b/packages/replicache/src/sync/push.test.ts @@ -1,21 +1,21 @@ import {LogContext} from '@rocicorp/logger'; import {expect, test} from 'vitest'; -import {TestStore} from '../dag/test-store.js'; -import {DEFAULT_HEAD_NAME} from '../db/commit.js'; -import {readFromDefaultHead} from '../db/read.js'; -import {ChainBuilder} from '../db/test-helpers.js'; -import * as FormatVersion from '../format-version-enum.js'; -import {deepFreeze} from '../frozen-json.js'; -import type {Pusher, PusherResult} from '../pusher.js'; -import {withRead, withWrite} from '../with-transactions.js'; -import type {ClientGroupID} from './ids.js'; +import {TestStore} from '../dag/test-store.ts'; +import {DEFAULT_HEAD_NAME} from '../db/commit.ts'; +import {readFromDefaultHead} from '../db/read.ts'; +import {ChainBuilder} from '../db/test-helpers.ts'; +import * as FormatVersion from '../format-version-enum.ts'; +import {deepFreeze} from '../frozen-json.ts'; +import type {Pusher, PusherResult} from '../pusher.ts'; +import {withRead, withWrite} from '../with-transactions.ts'; +import type {ClientGroupID} from './ids.ts'; import { PUSH_VERSION_DD31, type PushRequest, type PushRequestV1, push, -} from './push.js'; -import {SYNC_HEAD_NAME} from './sync-head-name.js'; +} from './push.ts'; +import {SYNC_HEAD_NAME} from './sync-head-name.ts'; type FakePusherArgs = { expPush: boolean; diff --git a/packages/replicache/src/sync/push.ts b/packages/replicache/src/sync/push.ts index 836e21d057..99a1c69949 100644 --- a/packages/replicache/src/sync/push.ts +++ b/packages/replicache/src/sync/push.ts @@ -1,31 +1,31 @@ import type {LogContext} from '@rocicorp/logger'; -import {assert} from '../../../shared/src/asserts.js'; -import {jsonSchema} from '../../../shared/src/json-schema.js'; -import type {ReadonlyJSONValue} from '../../../shared/src/json.js'; -import * as valita from '../../../shared/src/valita.js'; -import type {Store} from '../dag/store.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import {jsonSchema} from '../../../shared/src/json-schema.ts'; +import type {ReadonlyJSONValue} from '../../../shared/src/json.ts'; +import * as valita from '../../../shared/src/valita.ts'; +import type {Store} from '../dag/store.ts'; import { DEFAULT_HEAD_NAME, type LocalMetaDD31, commitIsLocalDD31, localMutations, -} from '../db/commit.js'; -import type {FrozenJSONValue} from '../frozen-json.js'; +} from '../db/commit.ts'; +import type {FrozenJSONValue} from '../frozen-json.ts'; import { PushError, type Pusher, type PusherResult, assertPusherResult, -} from '../pusher.js'; -import {ReportError} from '../replicache.js'; -import {toError} from '../to-error.js'; -import {withRead} from '../with-transactions.js'; +} from '../pusher.ts'; +import {ReportError} from '../replicache.ts'; +import {toError} from '../to-error.ts'; +import {withRead} from '../with-transactions.ts'; import { type ClientGroupID, type ClientID, clientGroupIDSchema, clientIDSchema, -} from './ids.js'; +} from './ids.ts'; export const PUSH_VERSION_SDD = 0; export const PUSH_VERSION_DD31 = 1; diff --git a/packages/replicache/src/sync/request-id.test.ts b/packages/replicache/src/sync/request-id.test.ts index 2b669da3ca..8ed322a01f 100644 --- a/packages/replicache/src/sync/request-id.test.ts +++ b/packages/replicache/src/sync/request-id.test.ts @@ -1,5 +1,5 @@ import {expect, test} from 'vitest'; -import {newRequestID} from './request-id.js'; +import {newRequestID} from './request-id.ts'; test('newRequestID()', () => { { diff --git a/packages/replicache/src/sync/request-id.ts b/packages/replicache/src/sync/request-id.ts index ba717eaaa6..f1b8422f1f 100644 --- a/packages/replicache/src/sync/request-id.ts +++ b/packages/replicache/src/sync/request-id.ts @@ -1,5 +1,5 @@ -import {getNonCryptoRandomValues} from '../../../shared/src/random-values.js'; -import type {ClientID} from './ids.js'; +import {getNonCryptoRandomValues} from '../../../shared/src/random-values.ts'; +import type {ClientID} from './ids.ts'; let sessionID = ''; function getSessionID() { diff --git a/packages/replicache/src/sync/test-helpers.ts b/packages/replicache/src/sync/test-helpers.ts index 121117ee8d..b8e9052842 100644 --- a/packages/replicache/src/sync/test-helpers.ts +++ b/packages/replicache/src/sync/test-helpers.ts @@ -1,18 +1,18 @@ import {expect} from 'vitest'; -import {assert} from '../../../shared/src/asserts.js'; -import type {Store} from '../dag/store.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import type {Store} from '../dag/store.ts'; import { Commit, type SnapshotMeta, commitFromHead, commitIsSnapshot, -} from '../db/commit.js'; -import type {Chain} from '../db/test-helpers.js'; -import {newWriteSnapshotDD31} from '../db/write.js'; -import * as FormatVersion from '../format-version-enum.js'; -import {withRead, withWriteNoImplicitCommit} from '../with-transactions.js'; -import type {ClientID} from './ids.js'; -import {SYNC_HEAD_NAME} from './sync-head-name.js'; +} from '../db/commit.ts'; +import type {Chain} from '../db/test-helpers.ts'; +import {newWriteSnapshotDD31} from '../db/write.ts'; +import * as FormatVersion from '../format-version-enum.ts'; +import {withRead, withWriteNoImplicitCommit} from '../with-transactions.ts'; +import type {ClientID} from './ids.ts'; +import {SYNC_HEAD_NAME} from './sync-head-name.ts'; type FormatVersion = (typeof FormatVersion)[keyof typeof FormatVersion]; diff --git a/packages/replicache/src/test-util.ts b/packages/replicache/src/test-util.ts index 764238a487..5c9b3e6962 100644 --- a/packages/replicache/src/test-util.ts +++ b/packages/replicache/src/test-util.ts @@ -2,32 +2,32 @@ import {resolver} from '@rocicorp/resolver'; import * as sinon from 'sinon'; import {type SinonFakeTimers, useFakeTimers} from 'sinon'; import {afterEach, beforeEach, expect} from 'vitest'; -import type {JSONValue} from '../../shared/src/json.js'; -import {must} from '../../shared/src/must.js'; -import {randomUint64} from '../../shared/src/random-uint64.js'; -import type {Cookie} from './cookies.js'; -import type {Store} from './dag/store.js'; -import type {Hash} from './hash.js'; -import {dropIDBStoreWithMemFallback} from './kv/idb-store-with-mem-fallback.js'; -import {MemStore} from './kv/mem-store.js'; -import type {Store as KVStore} from './kv/store.js'; -import type {PatchOperation} from './patch-operation.js'; +import type {JSONValue} from '../../shared/src/json.ts'; +import {must} from '../../shared/src/must.ts'; +import {randomUint64} from '../../shared/src/random-uint64.ts'; +import type {Cookie} from './cookies.ts'; +import type {Store} from './dag/store.ts'; +import type {Hash} from './hash.ts'; +import {dropIDBStoreWithMemFallback} from './kv/idb-store-with-mem-fallback.ts'; +import {MemStore} from './kv/mem-store.ts'; +import type {Store as KVStore} from './kv/store.ts'; +import type {PatchOperation} from './patch-operation.ts'; import { setupForTest as setupIDBDatabasesStoreForTest, teardownForTest as teardownIDBDatabasesStoreForTest, -} from './persist/idb-databases-store-db-name.js'; -import type {PullResponseV1} from './puller.js'; -import {ReplicacheImpl, type ReplicacheImplOptions} from './replicache-impl.js'; -import type {ReplicacheOptions} from './replicache-options.js'; +} from './persist/idb-databases-store-db-name.ts'; +import type {PullResponseV1} from './puller.ts'; +import {ReplicacheImpl, type ReplicacheImplOptions} from './replicache-impl.ts'; +import type {ReplicacheOptions} from './replicache-options.ts'; import { Replicache, restoreMakeImplForTest, setMakeImplForTest, -} from './replicache.js'; -import type {DiffComputationConfig} from './sync/diff.js'; -import type {ClientID} from './sync/ids.js'; -import type {WriteTransaction} from './transactions.js'; -import type {BeginPullResult, MutatorDefs} from './types.js'; +} from './replicache.ts'; +import type {DiffComputationConfig} from './sync/diff.ts'; +import type {ClientID} from './sync/ids.ts'; +import type {WriteTransaction} from './transactions.ts'; +import type {BeginPullResult, MutatorDefs} from './types.ts'; // fetch-mock has invalid d.ts file so we removed that on npm install. // eslint-disable-next-line @typescript-eslint/ban-ts-comment diff --git a/packages/replicache/src/transactions.ts b/packages/replicache/src/transactions.ts index 129a651e0d..93ad3a221a 100644 --- a/packages/replicache/src/transactions.ts +++ b/packages/replicache/src/transactions.ts @@ -1,13 +1,13 @@ import type {LogContext} from '@rocicorp/logger'; import {greaterThan} from 'compare-utf8'; -import type {JSONValue, ReadonlyJSONValue} from '../../shared/src/json.js'; -import {type IndexKey, decodeIndexKey} from './db/index.js'; -import type {Read} from './db/read.js'; -import type {Write} from './db/write.js'; -import {deepFreeze} from './frozen-json.js'; -import type {IndexDefinition} from './index-defs.js'; -import type {ScanResult} from './scan-iterator.js'; -import {ScanResultImpl, fromKeyForIndexScanInternal} from './scan-iterator.js'; +import type {JSONValue, ReadonlyJSONValue} from '../../shared/src/json.ts'; +import {type IndexKey, decodeIndexKey} from './db/index.ts'; +import type {Read} from './db/read.ts'; +import type {Write} from './db/write.ts'; +import {deepFreeze} from './frozen-json.ts'; +import type {IndexDefinition} from './index-defs.ts'; +import type {ScanResult} from './scan-iterator.ts'; +import {ScanResultImpl, fromKeyForIndexScanInternal} from './scan-iterator.ts'; import { type KeyTypeForScanOptions, type ScanIndexOptions, @@ -15,10 +15,10 @@ import { type ScanOptions, isScanIndexOptions, toDbScanOptions, -} from './scan-options.js'; -import type {ScanSubscriptionInfo} from './subscriptions.js'; -import type {ClientID} from './sync/ids.js'; -import {rejectIfClosed, throwIfClosed} from './transaction-closed-error.js'; +} from './scan-options.ts'; +import type {ScanSubscriptionInfo} from './subscriptions.ts'; +import type {ClientID} from './sync/ids.ts'; +import {rejectIfClosed, throwIfClosed} from './transaction-closed-error.ts'; export type TransactionEnvironment = 'client' | 'server'; export type TransactionLocation = TransactionEnvironment; diff --git a/packages/replicache/src/types.ts b/packages/replicache/src/types.ts index f07b41046a..11aa630525 100644 --- a/packages/replicache/src/types.ts +++ b/packages/replicache/src/types.ts @@ -1,8 +1,8 @@ -import type {MaybePromise} from '../../shared/src/types.js'; -import type {Hash} from './hash.js'; -import type {ReadonlyJSONValue, WriteTransaction} from './mod.js'; -import type {PullResponseV1, PullResponseV1Internal} from './puller.js'; -import type {ReadTransactionImpl} from './transactions.js'; +import type {MaybePromise} from '../../shared/src/types.ts'; +import type {Hash} from './hash.ts'; +import type {ReadonlyJSONValue, WriteTransaction} from './mod.ts'; +import type {PullResponseV1, PullResponseV1Internal} from './puller.ts'; +import type {ReadTransactionImpl} from './transactions.ts'; export type BeginPullResult = { requestID: string; diff --git a/packages/replicache/src/version.test.ts b/packages/replicache/src/version.test.ts index 31baebad01..01ccd1da49 100644 --- a/packages/replicache/src/version.test.ts +++ b/packages/replicache/src/version.test.ts @@ -1,5 +1,5 @@ import {expect, test} from 'vitest'; -import {version} from './version.js'; +import {version} from './version.ts'; test('version', async () => { expect(version).is.string; diff --git a/packages/replicache/src/watch.test.ts b/packages/replicache/src/watch.test.ts index a8eb5d8a13..30a4ba1b17 100644 --- a/packages/replicache/src/watch.test.ts +++ b/packages/replicache/src/watch.test.ts @@ -1,14 +1,14 @@ import * as sinon from 'sinon'; import {describe, expect, test} from 'vitest'; -import type {JSONValue} from '../../shared/src/json.js'; -import {Queue} from '../../shared/src/queue.js'; +import type {JSONValue} from '../../shared/src/json.ts'; +import {Queue} from '../../shared/src/queue.ts'; import { disableAllBackgroundProcesses, initReplicacheTesting, replicacheForTesting, tickAFewTimes, -} from './test-util.js'; -import type {WriteTransaction} from './transactions.js'; +} from './test-util.ts'; +import type {WriteTransaction} from './transactions.ts'; initReplicacheTesting(); diff --git a/packages/replicache/src/worker-test.ts b/packages/replicache/src/worker-test.ts index d37028cf1a..b329001168 100644 --- a/packages/replicache/src/worker-test.ts +++ b/packages/replicache/src/worker-test.ts @@ -1,10 +1,10 @@ // This test file is loaded by worker.test.ts -import {assert} from '../../shared/src/asserts.js'; -import {deepEqual, type JSONValue} from '../../shared/src/json.js'; -import {asyncIterableToArray} from './async-iterable-to-array.js'; -import {Replicache} from './replicache.js'; -import type {ReadTransaction, WriteTransaction} from './transactions.js'; +import {assert} from '../../shared/src/asserts.ts'; +import {deepEqual, type JSONValue} from '../../shared/src/json.ts'; +import {asyncIterableToArray} from './async-iterable-to-array.ts'; +import {Replicache} from './replicache.ts'; +import type {ReadTransaction, WriteTransaction} from './transactions.ts'; onmessage = async (e: MessageEvent) => { const {name} = e.data; diff --git a/packages/replicache/src/worker.test.ts b/packages/replicache/src/worker.test.ts index 8e2e1c89c0..c619464a2f 100644 --- a/packages/replicache/src/worker.test.ts +++ b/packages/replicache/src/worker.test.ts @@ -1,6 +1,6 @@ import {afterEach, expect, test} from 'vitest'; -import {sleep} from '../../shared/src/sleep.js'; -import {closeAllReps, dbsToDrop, deleteAllDatabases} from './test-util.js'; +import {sleep} from '../../shared/src/sleep.ts'; +import {closeAllReps, dbsToDrop, deleteAllDatabases} from './test-util.ts'; afterEach(async () => { await closeAllReps(); diff --git a/packages/replicache/vitest.config.ts b/packages/replicache/vitest.config.ts index 960efc6d6b..12508b30d0 100644 --- a/packages/replicache/vitest.config.ts +++ b/packages/replicache/vitest.config.ts @@ -1 +1 @@ -export {default} from '../shared/src/tool/vitest-config.js'; +export {default} from '../shared/src/tool/vitest-config.ts'; diff --git a/packages/shared/src/arrays.test.ts b/packages/shared/src/arrays.test.ts index 5fd8ad44c6..6cd02d5c43 100644 --- a/packages/shared/src/arrays.test.ts +++ b/packages/shared/src/arrays.test.ts @@ -1,5 +1,5 @@ import {describe, expect, test} from 'vitest'; -import {defined} from './arrays.js'; +import {defined} from './arrays.ts'; describe('shared/arrays', () => { type Case = { diff --git a/packages/shared/src/base62.test.ts b/packages/shared/src/base62.test.ts index fb9720d02e..b9bcc4b20d 100644 --- a/packages/shared/src/base62.test.ts +++ b/packages/shared/src/base62.test.ts @@ -1,5 +1,5 @@ import {expect, test} from 'vitest'; -import {encode} from './base62.js'; +import {encode} from './base62.ts'; test('it should encode base62', () => { expect(encode(0n)).toBe('0'); diff --git a/packages/shared/src/btree-set.test.ts b/packages/shared/src/btree-set.test.ts index 210dcb8dbe..a90e27b574 100644 --- a/packages/shared/src/btree-set.test.ts +++ b/packages/shared/src/btree-set.test.ts @@ -1,7 +1,7 @@ import {compareUTF8} from 'compare-utf8'; import fc, {assert, property} from 'fast-check'; import {expect, suite, test} from 'vitest'; -import {BTreeSet} from './btree-set.js'; +import {BTreeSet} from './btree-set.ts'; test('delete', () => { const t = new BTreeSet((a, b) => a - b); diff --git a/packages/shared/src/btree-set.ts b/packages/shared/src/btree-set.ts index 19c5ca30c5..c84041840d 100644 --- a/packages/shared/src/btree-set.ts +++ b/packages/shared/src/btree-set.ts @@ -1,4 +1,4 @@ -import {assert} from './asserts.js'; +import {assert} from './asserts.ts'; const MAX_NODE_SIZE = 32; diff --git a/packages/shared/src/buffer-sizer.test.ts b/packages/shared/src/buffer-sizer.test.ts index f7869725e0..63a8e1329a 100644 --- a/packages/shared/src/buffer-sizer.test.ts +++ b/packages/shared/src/buffer-sizer.test.ts @@ -1,6 +1,6 @@ import {LogContext} from '@rocicorp/logger'; import {describe, expect, test} from 'vitest'; -import {BufferSizer} from './buffer-sizer.js'; +import {BufferSizer} from './buffer-sizer.ts'; type Case = { name: string; diff --git a/packages/shared/src/buffer-sizer.ts b/packages/shared/src/buffer-sizer.ts index 8e9ea073dd..4db03cd931 100644 --- a/packages/shared/src/buffer-sizer.ts +++ b/packages/shared/src/buffer-sizer.ts @@ -1,5 +1,5 @@ import type {LogContext} from '@rocicorp/logger'; -import {assert} from './asserts.js'; +import {assert} from './asserts.ts'; export class BufferSizer { #bufferSizeMs: number; diff --git a/packages/shared/src/deep-clone.test.ts b/packages/shared/src/deep-clone.test.ts index 4bad2a8b0f..85027e5458 100644 --- a/packages/shared/src/deep-clone.test.ts +++ b/packages/shared/src/deep-clone.test.ts @@ -1,6 +1,6 @@ import {expect, test} from 'vitest'; -import {deepClone} from './deep-clone.js'; -import type {JSONValue, ReadonlyJSONValue} from './json.js'; +import {deepClone} from './deep-clone.ts'; +import type {JSONValue, ReadonlyJSONValue} from './json.ts'; test('deepClone', () => { const t = (v: ReadonlyJSONValue) => { diff --git a/packages/shared/src/deep-clone.ts b/packages/shared/src/deep-clone.ts index 2ba014cabb..453d329113 100644 --- a/packages/shared/src/deep-clone.ts +++ b/packages/shared/src/deep-clone.ts @@ -1,5 +1,5 @@ -import {hasOwn} from './has-own.js'; -import type {JSONValue, ReadonlyJSONValue} from './json.js'; +import {hasOwn} from './has-own.ts'; +import type {JSONValue, ReadonlyJSONValue} from './json.ts'; export function deepClone(value: ReadonlyJSONValue): JSONValue { const seen: Array = []; diff --git a/packages/shared/src/document-visible.test.ts b/packages/shared/src/document-visible.test.ts index f2c861b21e..e057995ff2 100644 --- a/packages/shared/src/document-visible.test.ts +++ b/packages/shared/src/document-visible.test.ts @@ -1,5 +1,5 @@ import {afterEach, beforeEach, expect, test, vi} from 'vitest'; -import {getDocumentVisibilityWatcher} from './document-visible.js'; +import {getDocumentVisibilityWatcher} from './document-visible.ts'; beforeEach(() => { vi.useFakeTimers(); diff --git a/packages/shared/src/events/connection-seconds.ts b/packages/shared/src/events/connection-seconds.ts index 10c7ea79f3..0ef355d8f6 100644 --- a/packages/shared/src/events/connection-seconds.ts +++ b/packages/shared/src/events/connection-seconds.ts @@ -1,4 +1,4 @@ -import * as v from '../valita.js'; +import * as v from '../valita.ts'; // Increment when making non-backwards compatible changes to the schema. const SCHEMA_VERSION = 2; diff --git a/packages/shared/src/float-to-ordered-string.test.ts b/packages/shared/src/float-to-ordered-string.test.ts index b5bc19edc5..adc0a8b6ae 100644 --- a/packages/shared/src/float-to-ordered-string.test.ts +++ b/packages/shared/src/float-to-ordered-string.test.ts @@ -3,7 +3,7 @@ import {expect, test} from 'vitest'; import { decodeFloat64AsString, encodeFloat64AsString, -} from './float-to-ordered-string.js'; +} from './float-to-ordered-string.ts'; const cases = [ [-0, '1y2p0ij32e8e7'], diff --git a/packages/shared/src/float-to-ordered-string.ts b/packages/shared/src/float-to-ordered-string.ts index f4754076bf..633af9fa09 100644 --- a/packages/shared/src/float-to-ordered-string.ts +++ b/packages/shared/src/float-to-ordered-string.ts @@ -1,5 +1,5 @@ -import {assert} from './asserts.js'; -import {parseBigInt} from './parse-big-int.js'; +import {assert} from './asserts.ts'; +import {parseBigInt} from './parse-big-int.ts'; const view = new DataView(new ArrayBuffer(8)); diff --git a/packages/shared/src/headers.test.ts b/packages/shared/src/headers.test.ts index a0d375f6e7..443d6b60b8 100644 --- a/packages/shared/src/headers.test.ts +++ b/packages/shared/src/headers.test.ts @@ -1,5 +1,5 @@ -import {test, expect} from 'vitest'; -import {decodeHeaderValue, encodeHeaderValue} from './headers.js'; +import {expect, test} from 'vitest'; +import {decodeHeaderValue, encodeHeaderValue} from './headers.ts'; function testEncodeDecodeHeaderValue(value: string, expected: string): void { const encoded = encodeHeaderValue(value); diff --git a/packages/shared/src/iterables.test.ts b/packages/shared/src/iterables.test.ts index 4477e60f85..14f8e46061 100644 --- a/packages/shared/src/iterables.test.ts +++ b/packages/shared/src/iterables.test.ts @@ -1,6 +1,6 @@ -import {describe, expect, test} from 'vitest'; -import {mergeIterables, wrapIterable} from './iterables.js'; import fc from 'fast-check'; +import {describe, expect, test} from 'vitest'; +import {mergeIterables, wrapIterable} from './iterables.ts'; function* range(start = 0, end = Infinity, step = 1) { for (let i = start; i < end; i += step) { diff --git a/packages/shared/src/iterables.ts b/packages/shared/src/iterables.ts index e2560dff87..a6b097bb4e 100644 --- a/packages/shared/src/iterables.ts +++ b/packages/shared/src/iterables.ts @@ -1,4 +1,4 @@ -import {assert} from './asserts.js'; +import {assert} from './asserts.ts'; export function* joinIterables(...iters: Iterable[]) { for (const iter of iters) { diff --git a/packages/shared/src/json-schema.test.ts b/packages/shared/src/json-schema.test.ts index 4be597c5d2..28c92ccce1 100644 --- a/packages/shared/src/json-schema.test.ts +++ b/packages/shared/src/json-schema.test.ts @@ -1,8 +1,8 @@ import {expect, test} from 'vitest'; -import {assert} from './asserts.js'; -import {jsonObjectSchema, jsonSchema} from './json-schema.js'; -import * as v from './valita.js'; -import {parse} from './valita.js'; +import {assert} from './asserts.ts'; +import {jsonObjectSchema, jsonSchema} from './json-schema.ts'; +import * as v from './valita.ts'; +import {parse} from './valita.ts'; test('json schema', () => { const t = (s: v.Type, v: unknown, message?: string) => { diff --git a/packages/shared/src/json-schema.ts b/packages/shared/src/json-schema.ts index 27f9bcfab1..b4358416ca 100644 --- a/packages/shared/src/json-schema.ts +++ b/packages/shared/src/json-schema.ts @@ -1,8 +1,8 @@ import * as valita from '@badrap/valita'; -import {skipAssertJSONValue} from './config.js'; -import type {ReadonlyJSONObject, ReadonlyJSONValue} from './json.js'; -import {isJSONObject, isJSONValue} from './json.js'; -import * as v from './valita.js'; +import {skipAssertJSONValue} from './config.ts'; +import type {ReadonlyJSONObject, ReadonlyJSONValue} from './json.ts'; +import {isJSONObject, isJSONValue} from './json.ts'; +import * as v from './valita.ts'; const path: (string | number)[] = []; diff --git a/packages/shared/src/json.test.ts b/packages/shared/src/json.test.ts index 4d1c90a8e5..0a984036a9 100644 --- a/packages/shared/src/json.test.ts +++ b/packages/shared/src/json.test.ts @@ -4,7 +4,7 @@ import { assertJSONValue, deepEqual, isJSONValue, -} from './json.js'; +} from './json.ts'; test('JSON deep equal', () => { const t = ( diff --git a/packages/shared/src/json.ts b/packages/shared/src/json.ts index 2ae835d662..639439efcb 100644 --- a/packages/shared/src/json.ts +++ b/packages/shared/src/json.ts @@ -1,6 +1,6 @@ -import {assertObject, throwInvalidType} from './asserts.js'; -import {skipAssertJSONValue} from './config.js'; -import {hasOwn} from './has-own.js'; +import {assertObject, throwInvalidType} from './asserts.ts'; +import {skipAssertJSONValue} from './config.ts'; +import {hasOwn} from './has-own.ts'; /** The values that can be represented in JSON */ export type JSONValue = diff --git a/packages/shared/src/mirror/is-supported-semver-range.test.ts b/packages/shared/src/mirror/is-supported-semver-range.test.ts index b2c9ab2dc1..f3055d766b 100644 --- a/packages/shared/src/mirror/is-supported-semver-range.test.ts +++ b/packages/shared/src/mirror/is-supported-semver-range.test.ts @@ -1,6 +1,6 @@ import {Range} from 'semver'; import {expect, test} from 'vitest'; -import {isSupportedSemverRange} from './is-supported-semver-range.js'; +import {isSupportedSemverRange} from './is-supported-semver-range.ts'; test('isSupportedSemverRange', () => { const t = (range: string, expected: boolean) => diff --git a/packages/shared/src/options.test.ts b/packages/shared/src/options.test.ts index 3d3e66def4..20b70550a6 100644 --- a/packages/shared/src/options.test.ts +++ b/packages/shared/src/options.test.ts @@ -9,8 +9,8 @@ import { parseOptionsAdvanced, type Config, type Options, -} from './options.js'; -import * as v from './valita.js'; +} from './options.ts'; +import * as v from './valita.ts'; const options = { port: { diff --git a/packages/shared/src/options.ts b/packages/shared/src/options.ts index df61f6a88c..06ef37a422 100644 --- a/packages/shared/src/options.ts +++ b/packages/shared/src/options.ts @@ -6,9 +6,9 @@ import commandLineUsage from 'command-line-usage'; import {createDefu} from 'defu'; import {toKebabCase, toSnakeCase} from 'kasi'; import {stripVTControlCharacters as stripAnsi} from 'node:util'; -import {assert} from './asserts.js'; -import {must} from './must.js'; -import * as v from './valita.js'; +import {assert} from './asserts.ts'; +import {must} from './must.ts'; +import * as v from './valita.ts'; type Primitive = number | string | boolean; type Value = Primitive | Array; diff --git a/packages/shared/src/parse-big-int.test.ts b/packages/shared/src/parse-big-int.test.ts index aa06d6bca0..22b063fe9d 100644 --- a/packages/shared/src/parse-big-int.test.ts +++ b/packages/shared/src/parse-big-int.test.ts @@ -1,6 +1,6 @@ import fc from 'fast-check'; import {expect, test} from 'vitest'; -import {parseBigInt} from './parse-big-int.js'; +import {parseBigInt} from './parse-big-int.ts'; const cases = [ ['0', 10, 0n], diff --git a/packages/shared/src/queue.test.ts b/packages/shared/src/queue.test.ts index 0848cbcbde..9e418daea5 100644 --- a/packages/shared/src/queue.test.ts +++ b/packages/shared/src/queue.test.ts @@ -1,6 +1,6 @@ import {resolver} from '@rocicorp/resolver'; import {describe, expect, test} from 'vitest'; -import {Queue} from './queue.js'; +import {Queue} from './queue.ts'; describe('Queue', () => { test('dequeues enqueued value', async () => { diff --git a/packages/shared/src/queue.ts b/packages/shared/src/queue.ts index ccadee52ea..2288df08c5 100644 --- a/packages/shared/src/queue.ts +++ b/packages/shared/src/queue.ts @@ -1,5 +1,5 @@ import {resolver, type Resolver} from '@rocicorp/resolver'; -import {assert} from './asserts.js'; +import {assert} from './asserts.ts'; /** * A Queue allows the consumers to await (possibly future) values, diff --git a/packages/shared/src/set-util.test.ts b/packages/shared/src/set-util.test.ts index de5e63cebd..e113ccf89b 100644 --- a/packages/shared/src/set-util.test.ts +++ b/packages/shared/src/set-util.test.ts @@ -5,7 +5,7 @@ import { intersection, symmetricDifferences, union, -} from './set-utils.js'; +} from './set-utils.ts'; describe('Set', () => { test('equals', () => { diff --git a/packages/shared/src/sleep.test.ts b/packages/shared/src/sleep.test.ts index 692c65636e..d551a90181 100644 --- a/packages/shared/src/sleep.test.ts +++ b/packages/shared/src/sleep.test.ts @@ -1,7 +1,7 @@ import {type SinonFakeTimers, useFakeTimers} from 'sinon'; import {afterEach, beforeEach, expect, test} from 'vitest'; -import {AbortError} from './abort-error.js'; -import {sleep, sleepWithAbort} from './sleep.js'; +import {AbortError} from './abort-error.ts'; +import {sleep, sleepWithAbort} from './sleep.ts'; let clock: SinonFakeTimers; beforeEach(() => { diff --git a/packages/shared/src/sleep.ts b/packages/shared/src/sleep.ts index a37eaee8f8..fa3be5e437 100644 --- a/packages/shared/src/sleep.ts +++ b/packages/shared/src/sleep.ts @@ -1,5 +1,5 @@ import {resolver} from '@rocicorp/resolver'; -import {AbortError} from './abort-error.js'; +import {AbortError} from './abort-error.ts'; const promiseVoid = Promise.resolve(); const promiseNever = new Promise(() => undefined); diff --git a/packages/shared/src/sorted-entries.ts b/packages/shared/src/sorted-entries.ts index 8936a6cd59..328e86ee58 100644 --- a/packages/shared/src/sorted-entries.ts +++ b/packages/shared/src/sorted-entries.ts @@ -1,4 +1,4 @@ -import {stringCompare} from './string-compare.js'; +import {stringCompare} from './string-compare.ts'; // eslint-disable-next-line @typescript-eslint/no-explicit-any export function sortedEntries>( diff --git a/packages/shared/src/tool/get-external-from-package-json.js b/packages/shared/src/tool/get-external-from-package-json.js index d3483aeabe..64a9326e32 100644 --- a/packages/shared/src/tool/get-external-from-package-json.js +++ b/packages/shared/src/tool/get-external-from-package-json.js @@ -3,9 +3,9 @@ /* eslint-env es2022 */ import {readFile} from 'node:fs/promises'; -import {packageUp} from 'package-up'; import {resolve as resolvePath} from 'node:path'; import {fileURLToPath} from 'node:url'; +import {packageUp} from 'package-up'; import {isInternalPackage} from './internal-packages.js'; /** diff --git a/packages/shared/src/valita.test.ts b/packages/shared/src/valita.test.ts index 838d998eb4..b6c257b890 100644 --- a/packages/shared/src/valita.test.ts +++ b/packages/shared/src/valita.test.ts @@ -1,7 +1,7 @@ import {expect, test} from 'vitest'; -import {assert} from './asserts.js'; -import * as v from './valita.js'; -import {parse} from './valita.js'; +import {assert} from './asserts.ts'; +import * as v from './valita.ts'; +import {parse} from './valita.ts'; const t = (s: v.Type, val: unknown, message?: string) => { const r1 = v.test(val, s); diff --git a/packages/zero-advanced/src/mod.ts b/packages/zero-advanced/src/mod.ts index 7ae96a0739..463a0728d4 100644 --- a/packages/zero-advanced/src/mod.ts +++ b/packages/zero-advanced/src/mod.ts @@ -1,8 +1,8 @@ -export type {Change} from '../../zql/src/ivm/change.js'; -export type {Input, Output} from '../../zql/src/ivm/operator.js'; -export {applyChange} from '../../zql/src/ivm/view-apply-change.js'; -export type {Entry, Format, View, ViewFactory} from '../../zql/src/ivm/view.js'; -export type {AdvancedQuery} from '../../zql/src/query/query-internal.js'; -export type {Query, HumanReadable} from '../../zql/src/query/query.js'; -export type {TableSchema} from '../../zero-schema/src/table-schema.js'; -export type {ZeroAdvancedOptions} from '../../zero-client/src/client/options.js'; +export type {ZeroAdvancedOptions} from '../../zero-client/src/client/options.ts'; +export type {TableSchema} from '../../zero-schema/src/table-schema.ts'; +export type {Change} from '../../zql/src/ivm/change.ts'; +export type {Input, Output} from '../../zql/src/ivm/operator.ts'; +export {applyChange} from '../../zql/src/ivm/view-apply-change.ts'; +export type {Entry, Format, View, ViewFactory} from '../../zql/src/ivm/view.ts'; +export type {AdvancedQuery} from '../../zql/src/query/query-internal.ts'; +export type {HumanReadable, Query} from '../../zql/src/query/query.ts'; diff --git a/packages/zero-cache/bench/bench.ts b/packages/zero-cache/bench/bench.ts index d277ac7cec..876d76b86a 100644 --- a/packages/zero-cache/bench/bench.ts +++ b/packages/zero-cache/bench/bench.ts @@ -1,4 +1,4 @@ import 'dotenv/config'; -import {bench} from './benchmark.js'; +import {bench} from './benchmark.ts'; bench({dbFile: '/tmp/bench/zbugs-sync-replica.db'}); diff --git a/packages/zero-cache/bench/benchmark.ts b/packages/zero-cache/bench/benchmark.ts index 2772d300c6..08917349e2 100644 --- a/packages/zero-cache/bench/benchmark.ts +++ b/packages/zero-cache/bench/benchmark.ts @@ -1,15 +1,15 @@ // create a zql query -import {assert} from '../../shared/src/asserts.js'; -import {createSilentLogContext} from '../../shared/src/logging-test-utils.js'; -import {MemoryStorage} from '../../zql/src/ivm/memory-storage.js'; -import type {Source} from '../../zql/src/ivm/source.js'; -import {newQuery, type QueryDelegate} from '../../zql/src/query/query-impl.js'; -import {Database} from '../../zqlite/src/db.js'; -import {TableSource} from '../../zqlite/src/table-source.js'; -import {computeZqlSpecs} from '../src/db/lite-tables.js'; -import {mapLiteDataTypeToZqlSchemaValue} from '../src/types/lite.js'; -import {schema} from './schema.js'; +import {assert} from '../../shared/src/asserts.ts'; +import {createSilentLogContext} from '../../shared/src/logging-test-utils.ts'; +import {MemoryStorage} from '../../zql/src/ivm/memory-storage.ts'; +import type {Source} from '../../zql/src/ivm/source.ts'; +import {newQuery, type QueryDelegate} from '../../zql/src/query/query-impl.ts'; +import {Database} from '../../zqlite/src/db.ts'; +import {TableSource} from '../../zqlite/src/table-source.ts'; +import {computeZqlSpecs} from '../src/db/lite-tables.ts'; +import {mapLiteDataTypeToZqlSchemaValue} from '../src/types/lite.ts'; +import {schema} from './schema.ts'; type Options = { dbFile: string; diff --git a/packages/zero-cache/bench/double.ts b/packages/zero-cache/bench/double.ts index dc5b8af387..8b4071815a 100644 --- a/packages/zero-cache/bench/double.ts +++ b/packages/zero-cache/bench/double.ts @@ -1,6 +1,6 @@ import 'dotenv/config'; -import {createSilentLogContext} from '../../shared/src/logging-test-utils.js'; -import {Database} from '../../zqlite/src/db.js'; +import {createSilentLogContext} from '../../shared/src/logging-test-utils.ts'; +import {Database} from '../../zqlite/src/db.ts'; type Options = { dbFile: string; diff --git a/packages/zero-cache/bench/schema.ts b/packages/zero-cache/bench/schema.ts index dc41787f46..b5c5a1ad94 100644 --- a/packages/zero-cache/bench/schema.ts +++ b/packages/zero-cache/bench/schema.ts @@ -1,10 +1,10 @@ -import {relationships} from '../../zero-schema/src/builder/relationship-builder.js'; -import {createSchema} from '../../zero-schema/src/builder/schema-builder.js'; +import {relationships} from '../../zero-schema/src/builder/relationship-builder.ts'; +import {createSchema} from '../../zero-schema/src/builder/schema-builder.ts'; import { number, string, table, -} from '../../zero-schema/src/builder/table-builder.js'; +} from '../../zero-schema/src/builder/table-builder.ts'; const member = table('member') .columns({ diff --git a/packages/zero-cache/bench/wal-bench.ts b/packages/zero-cache/bench/wal-bench.ts index f7ca8b1db9..2fec5e0808 100644 --- a/packages/zero-cache/bench/wal-bench.ts +++ b/packages/zero-cache/bench/wal-bench.ts @@ -1,5 +1,5 @@ import 'dotenv/config'; -import {walBenchmark} from './wal-benchmark.js'; +import {walBenchmark} from './wal-benchmark.ts'; walBenchmark({ dbFile: '/tmp/bench/zbugs-sync-replica.db', diff --git a/packages/zero-cache/bench/wal-benchmark.ts b/packages/zero-cache/bench/wal-benchmark.ts index 6e71d16b84..c62e6f928a 100644 --- a/packages/zero-cache/bench/wal-benchmark.ts +++ b/packages/zero-cache/bench/wal-benchmark.ts @@ -1,8 +1,8 @@ import {statSync} from 'fs'; -import {createSilentLogContext} from '../../shared/src/logging-test-utils.js'; -import {randInt} from '../../shared/src/rand.js'; -import {Database, Statement} from '../../zqlite/src/db.js'; -import {bench} from './benchmark.js'; +import {createSilentLogContext} from '../../shared/src/logging-test-utils.ts'; +import {randInt} from '../../shared/src/rand.ts'; +import {Database, Statement} from '../../zqlite/src/db.ts'; +import {bench} from './benchmark.ts'; const lc = createSilentLogContext(); diff --git a/packages/zero-cache/bench/wal2-bench.ts b/packages/zero-cache/bench/wal2-bench.ts index 6deb99bae0..59fd1810ef 100644 --- a/packages/zero-cache/bench/wal2-bench.ts +++ b/packages/zero-cache/bench/wal2-bench.ts @@ -1,5 +1,5 @@ import 'dotenv/config'; -import {walBenchmark} from './wal-benchmark.js'; +import {walBenchmark} from './wal-benchmark.ts'; walBenchmark({ dbFile: '/tmp/bench/zbugs-sync-replica.db', diff --git a/packages/zero-cache/src/auth/jwt.test.ts b/packages/zero-cache/src/auth/jwt.test.ts index 0e3fdf92dd..3b27b1447b 100644 --- a/packages/zero-cache/src/auth/jwt.test.ts +++ b/packages/zero-cache/src/auth/jwt.test.ts @@ -1,8 +1,8 @@ -import {describe, expect, test} from 'vitest'; -import type {AuthConfig} from '../config/zero-config.js'; -import {verifyToken} from './jwt.js'; import {exportJWK, generateKeyPair, SignJWT, type JWTPayload} from 'jose'; -import {must} from '../../../shared/src/must.js'; +import {describe, expect, test} from 'vitest'; +import {must} from '../../../shared/src/must.ts'; +import type {AuthConfig} from '../config/zero-config.ts'; +import {verifyToken} from './jwt.ts'; async function generateJwkKeys() { const {publicKey, privateKey} = await generateKeyPair('PS256'); diff --git a/packages/zero-cache/src/auth/jwt.ts b/packages/zero-cache/src/auth/jwt.ts index c6b8911b0e..51df0edd92 100644 --- a/packages/zero-cache/src/auth/jwt.ts +++ b/packages/zero-cache/src/auth/jwt.ts @@ -6,7 +6,7 @@ import { type JWTPayload, type KeyLike, } from 'jose'; -import type {AuthConfig} from '../config/zero-config.js'; +import type {AuthConfig} from '../config/zero-config.ts'; export function authIsConfigured(config: AuthConfig) { return ( diff --git a/packages/zero-cache/src/auth/load-schema.ts b/packages/zero-cache/src/auth/load-schema.ts index baffb46850..dd9c190ac9 100644 --- a/packages/zero-cache/src/auth/load-schema.ts +++ b/packages/zero-cache/src/auth/load-schema.ts @@ -1,9 +1,9 @@ -import path from 'node:path'; -import {type PermissionsConfig} from '../../../zero-schema/src/compiled-permissions.js'; -import type {Schema} from '../../../zero-schema/src/builder/schema-builder.js'; import {readFile} from 'node:fs/promises'; -import type {ZeroConfig} from '../config/zero-config.js'; -import {parseSchema} from '../../../zero-schema/src/schema-config.js'; +import path from 'node:path'; +import type {Schema} from '../../../zero-schema/src/builder/schema-builder.ts'; +import {type PermissionsConfig} from '../../../zero-schema/src/compiled-permissions.ts'; +import {parseSchema} from '../../../zero-schema/src/schema-config.ts'; +import type {ZeroConfig} from '../config/zero-config.ts'; let loadedSchema: | Promise<{ diff --git a/packages/zero-cache/src/auth/read-authorizer.query.test.ts b/packages/zero-cache/src/auth/read-authorizer.query.test.ts index c7b498a723..1db7e11ff9 100644 --- a/packages/zero-cache/src/auth/read-authorizer.query.test.ts +++ b/packages/zero-cache/src/auth/read-authorizer.query.test.ts @@ -1,47 +1,47 @@ /* eslint-disable @typescript-eslint/naming-convention */ /* eslint-disable arrow-body-style */ import {beforeEach, describe, expect, test} from 'vitest'; -import {assert} from '../../../shared/src/asserts.js'; -import {createSilentLogContext} from '../../../shared/src/logging-test-utils.js'; -import {must} from '../../../shared/src/must.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import {createSilentLogContext} from '../../../shared/src/logging-test-utils.ts'; +import {must} from '../../../shared/src/must.ts'; import type { DeleteOp, InsertOp, UpdateOp, -} from '../../../zero-protocol/src/push.js'; -import {definePermissions} from '../../../zero-schema/src/permissions.js'; -import type {ValueType} from '../../../zero-schema/src/table-schema.js'; +} from '../../../zero-protocol/src/push.ts'; +import {relationships} from '../../../zero-schema/src/builder/relationship-builder.ts'; +import { + createSchema, + type Schema as ZeroSchema, +} from '../../../zero-schema/src/builder/schema-builder.ts'; +import { + boolean, + number, + string, + table, +} from '../../../zero-schema/src/builder/table-builder.ts'; +import {definePermissions} from '../../../zero-schema/src/permissions.ts'; +import type {ValueType} from '../../../zero-schema/src/table-schema.ts'; import { bindStaticParameters, buildPipeline, -} from '../../../zql/src/builder/builder.js'; -import {Catch} from '../../../zql/src/ivm/catch.js'; -import type {Node} from '../../../zql/src/ivm/data.js'; -import {MemoryStorage} from '../../../zql/src/ivm/memory-storage.js'; -import type {Source} from '../../../zql/src/ivm/source.js'; -import type {ExpressionBuilder} from '../../../zql/src/query/expression.js'; +} from '../../../zql/src/builder/builder.ts'; +import {Catch} from '../../../zql/src/ivm/catch.ts'; +import type {Node} from '../../../zql/src/ivm/data.ts'; +import {MemoryStorage} from '../../../zql/src/ivm/memory-storage.ts'; +import type {Source} from '../../../zql/src/ivm/source.ts'; +import type {ExpressionBuilder} from '../../../zql/src/query/expression.ts'; import { completedAstSymbol, newQuery, QueryImpl, type QueryDelegate, -} from '../../../zql/src/query/query-impl.js'; -import type {Query, Row} from '../../../zql/src/query/query.js'; -import {Database} from '../../../zqlite/src/db.js'; -import {TableSource} from '../../../zqlite/src/table-source.js'; -import {transformQuery} from './read-authorizer.js'; -import {WriteAuthorizerImpl} from './write-authorizer.js'; -import { - boolean, - number, - string, - table, -} from '../../../zero-schema/src/builder/table-builder.js'; -import {relationships} from '../../../zero-schema/src/builder/relationship-builder.js'; -import { - createSchema, - type Schema as ZeroSchema, -} from '../../../zero-schema/src/builder/schema-builder.js'; +} from '../../../zql/src/query/query-impl.ts'; +import type {Query, Row} from '../../../zql/src/query/query.ts'; +import {Database} from '../../../zqlite/src/db.ts'; +import {TableSource} from '../../../zqlite/src/table-source.ts'; +import {transformQuery} from './read-authorizer.ts'; +import {WriteAuthorizerImpl} from './write-authorizer.ts'; const user = table('user') .columns({ diff --git a/packages/zero-cache/src/auth/read-authorizer.test.ts b/packages/zero-cache/src/auth/read-authorizer.test.ts index 59dd5fb163..bcb4df06e8 100644 --- a/packages/zero-cache/src/auth/read-authorizer.test.ts +++ b/packages/zero-cache/src/auth/read-authorizer.test.ts @@ -1,19 +1,19 @@ import {describe, expect, test} from 'vitest'; -import {definePermissions} from '../../../zero-schema/src/permissions.js'; -import type {ExpressionBuilder} from '../../../zql/src/query/expression.js'; +import {must} from '../../../shared/src/must.ts'; +import {relationships} from '../../../zero-schema/src/builder/relationship-builder.ts'; +import type {Schema as ZeroSchema} from '../../../zero-schema/src/builder/schema-builder.ts'; +import {createSchema} from '../../../zero-schema/src/builder/schema-builder.ts'; +import {string, table} from '../../../zero-schema/src/builder/table-builder.ts'; +import {definePermissions} from '../../../zero-schema/src/permissions.ts'; +import type {ExpressionBuilder} from '../../../zql/src/query/expression.ts'; import { astForTestingSymbol, newQuery, QueryImpl, type QueryDelegate, -} from '../../../zql/src/query/query-impl.js'; -import type {Query} from '../../../zql/src/query/query.js'; -import {transformQuery} from './read-authorizer.js'; -import {must} from '../../../shared/src/must.js'; -import {string, table} from '../../../zero-schema/src/builder/table-builder.js'; -import {relationships} from '../../../zero-schema/src/builder/relationship-builder.js'; -import {createSchema} from '../../../zero-schema/src/builder/schema-builder.js'; -import type {Schema as ZeroSchema} from '../../../zero-schema/src/builder/schema-builder.js'; +} from '../../../zql/src/query/query-impl.ts'; +import type {Query} from '../../../zql/src/query/query.ts'; +import {transformQuery} from './read-authorizer.ts'; const mockDelegate = {} as QueryDelegate; diff --git a/packages/zero-cache/src/auth/read-authorizer.ts b/packages/zero-cache/src/auth/read-authorizer.ts index ef80261ae0..3eefa2a2e5 100644 --- a/packages/zero-cache/src/auth/read-authorizer.ts +++ b/packages/zero-cache/src/auth/read-authorizer.ts @@ -1,10 +1,10 @@ import type {JWTPayload} from 'jose'; -import {hashOfAST} from '../../../zero-protocol/src/ast-hash.js'; -import type {AST, Condition} from '../../../zero-protocol/src/ast.js'; -import type {PermissionsConfig} from '../../../zero-schema/src/compiled-permissions.js'; -import {bindStaticParameters} from '../../../zql/src/builder/builder.js'; -import {dnf} from '../../../zql/src/query/dnf.js'; -import type {JSONValue} from '../../../shared/src/json.js'; +import type {JSONValue} from '../../../shared/src/json.ts'; +import {hashOfAST} from '../../../zero-protocol/src/ast-hash.ts'; +import type {AST, Condition} from '../../../zero-protocol/src/ast.ts'; +import type {PermissionsConfig} from '../../../zero-schema/src/compiled-permissions.ts'; +import {bindStaticParameters} from '../../../zql/src/builder/builder.ts'; +import {dnf} from '../../../zql/src/query/dnf.ts'; export type TransformedAndHashed = | { diff --git a/packages/zero-cache/src/auth/write-authorizer.test.ts b/packages/zero-cache/src/auth/write-authorizer.test.ts index 6481dbd092..bd1fd1be66 100644 --- a/packages/zero-cache/src/auth/write-authorizer.test.ts +++ b/packages/zero-cache/src/auth/write-authorizer.test.ts @@ -1,15 +1,15 @@ import {beforeEach, describe, expect, test} from 'vitest'; -import {createSilentLogContext} from '../../../shared/src/logging-test-utils.js'; -import {Database} from '../../../zqlite/src/db.js'; -import {WriteAuthorizerImpl} from './write-authorizer.js'; -import type {Rule} from '../../../zero-schema/src/compiled-permissions.js'; +import {createSilentLogContext} from '../../../shared/src/logging-test-utils.ts'; import type { DeleteOp, InsertOp, UpdateOp, -} from '../../../zero-protocol/src/push.js'; -import {createSchema} from '../../../zero-schema/src/builder/schema-builder.js'; -import {string, table} from '../../../zero-schema/src/builder/table-builder.js'; +} from '../../../zero-protocol/src/push.ts'; +import {createSchema} from '../../../zero-schema/src/builder/schema-builder.ts'; +import {string, table} from '../../../zero-schema/src/builder/table-builder.ts'; +import type {Rule} from '../../../zero-schema/src/compiled-permissions.ts'; +import {Database} from '../../../zqlite/src/db.ts'; +import {WriteAuthorizerImpl} from './write-authorizer.ts'; const lc = createSilentLogContext(); diff --git a/packages/zero-cache/src/auth/write-authorizer.ts b/packages/zero-cache/src/auth/write-authorizer.ts index 4d3642dddf..fdcba80434 100644 --- a/packages/zero-cache/src/auth/write-authorizer.ts +++ b/packages/zero-cache/src/auth/write-authorizer.ts @@ -4,47 +4,47 @@ import type {JWTPayload} from 'jose'; import {tmpdir} from 'node:os'; import path from 'node:path'; import {pid} from 'node:process'; -import {assert} from '../../../shared/src/asserts.js'; -import type {JSONValue} from '../../../shared/src/json.js'; -import {randInt} from '../../../shared/src/rand.js'; -import * as v from '../../../shared/src/valita.js'; -import type {Condition} from '../../../zero-protocol/src/ast.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import type {JSONValue} from '../../../shared/src/json.ts'; +import {randInt} from '../../../shared/src/rand.ts'; +import * as v from '../../../shared/src/valita.ts'; +import type {Condition} from '../../../zero-protocol/src/ast.ts'; import type { CRUDOp, DeleteOp, InsertOp, UpdateOp, UpsertOp, -} from '../../../zero-protocol/src/mod.js'; +} from '../../../zero-protocol/src/mod.ts'; import { primaryKeyValueSchema, type PrimaryKeyValue, -} from '../../../zero-protocol/src/primary-key.js'; -import type {Schema} from '../../../zero-schema/src/builder/schema-builder.js'; +} from '../../../zero-protocol/src/primary-key.ts'; +import type {Schema} from '../../../zero-schema/src/builder/schema-builder.ts'; import type { PermissionsConfig, Policy, -} from '../../../zero-schema/src/compiled-permissions.js'; -import type {BuilderDelegate} from '../../../zql/src/builder/builder.js'; +} from '../../../zero-schema/src/compiled-permissions.ts'; +import type {BuilderDelegate} from '../../../zql/src/builder/builder.ts'; import { bindStaticParameters, buildPipeline, -} from '../../../zql/src/builder/builder.js'; -import {AuthQuery, authQuery} from '../../../zql/src/query/auth-query.js'; -import {dnf} from '../../../zql/src/query/dnf.js'; -import type {Query} from '../../../zql/src/query/query.js'; -import {Database} from '../../../zqlite/src/db.js'; -import {compile, sql} from '../../../zqlite/src/internal/sql.js'; +} from '../../../zql/src/builder/builder.ts'; +import {AuthQuery, authQuery} from '../../../zql/src/query/auth-query.ts'; +import {dnf} from '../../../zql/src/query/dnf.ts'; +import type {Query} from '../../../zql/src/query/query.ts'; +import {Database} from '../../../zqlite/src/db.ts'; +import {compile, sql} from '../../../zqlite/src/internal/sql.ts'; import { fromSQLiteTypes, TableSource, -} from '../../../zqlite/src/table-source.js'; -import type {ZeroConfig} from '../config/zero-config.js'; -import {computeZqlSpecs} from '../db/lite-tables.js'; -import type {LiteAndZqlSpec} from '../db/specs.js'; -import {StatementRunner} from '../db/statements.js'; -import {DatabaseStorage} from '../services/view-syncer/database-storage.js'; -import {mapLiteDataTypeToZqlSchemaValue} from '../types/lite.js'; +} from '../../../zqlite/src/table-source.ts'; +import type {ZeroConfig} from '../config/zero-config.ts'; +import {computeZqlSpecs} from '../db/lite-tables.ts'; +import type {LiteAndZqlSpec} from '../db/specs.ts'; +import {StatementRunner} from '../db/statements.ts'; +import {DatabaseStorage} from '../services/view-syncer/database-storage.ts'; +import {mapLiteDataTypeToZqlSchemaValue} from '../types/lite.ts'; type Phase = 'preMutation' | 'postMutation'; diff --git a/packages/zero-cache/src/config/zero-config.test.ts b/packages/zero-cache/src/config/zero-config.test.ts index fc3398a493..4606d9c9d5 100644 --- a/packages/zero-cache/src/config/zero-config.test.ts +++ b/packages/zero-cache/src/config/zero-config.test.ts @@ -1,7 +1,7 @@ import {stripVTControlCharacters as stripAnsi} from 'node:util'; import {expect, test, vi} from 'vitest'; -import {parseOptions} from '../../../shared/src/options.js'; -import {zeroOptions} from './zero-config.js'; +import {parseOptions} from '../../../shared/src/options.ts'; +import {zeroOptions} from './zero-config.ts'; class ExitAfterUsage extends Error {} const exit = () => { diff --git a/packages/zero-cache/src/config/zero-config.ts b/packages/zero-cache/src/config/zero-config.ts index d678634c50..2bf5f27cb5 100644 --- a/packages/zero-cache/src/config/zero-config.ts +++ b/packages/zero-cache/src/config/zero-config.ts @@ -2,10 +2,10 @@ * These types represent the _compiled_ config whereas `define-config` types represent the _source_ config. */ -import {parseOptions, type Config} from '../../../shared/src/options.js'; -import * as v from '../../../shared/src/valita.js'; -import {runtimeDebugFlags} from '../../../zqlite/src/runtime-debug.js'; -import {singleProcessMode} from '../types/processes.js'; +import {parseOptions, type Config} from '../../../shared/src/options.ts'; +import * as v from '../../../shared/src/valita.ts'; +import {runtimeDebugFlags} from '../../../zqlite/src/runtime-debug.ts'; +import {singleProcessMode} from '../types/processes.ts'; /** * Configures the view of the upstream database replicated to this zero-cache. diff --git a/packages/zero-cache/src/db/begin-concurrent.test.ts b/packages/zero-cache/src/db/begin-concurrent.test.ts index 5ff53b44c8..1607c44909 100644 --- a/packages/zero-cache/src/db/begin-concurrent.test.ts +++ b/packages/zero-cache/src/db/begin-concurrent.test.ts @@ -1,6 +1,6 @@ import {afterEach, beforeEach, describe, expect, test} from 'vitest'; -import {createSilentLogContext} from '../../../shared/src/logging-test-utils.js'; -import {DbFile} from '../test/lite.js'; +import {createSilentLogContext} from '../../../shared/src/logging-test-utils.ts'; +import {DbFile} from '../test/lite.ts'; describe('db/begin-concurrent', () => { let dbFile: DbFile; diff --git a/packages/zero-cache/src/db/create.pg-test.ts b/packages/zero-cache/src/db/create.pg-test.ts index fc56b3ffe2..4c3b249737 100644 --- a/packages/zero-cache/src/db/create.pg-test.ts +++ b/packages/zero-cache/src/db/create.pg-test.ts @@ -1,15 +1,15 @@ import type postgres from 'postgres'; import {afterAll, afterEach, beforeEach, describe, expect, test} from 'vitest'; -import {createSilentLogContext} from '../../../shared/src/logging-test-utils.js'; -import {Database} from '../../../zqlite/src/db.js'; -import {getPublicationInfo} from '../services/change-source/pg/schema/published.js'; -import {testDBs} from '../test/db.js'; -import {createTableStatement} from './create.js'; -import {listTables} from './lite-tables.js'; -import {mapPostgresToLite} from './pg-to-lite.js'; -import * as PostgresTypeClass from './postgres-type-class-enum.js'; -import {stripCommentsAndWhitespace} from './query-test-util.js'; -import {type LiteTableSpec, type TableSpec} from './specs.js'; +import {createSilentLogContext} from '../../../shared/src/logging-test-utils.ts'; +import {Database} from '../../../zqlite/src/db.ts'; +import {getPublicationInfo} from '../services/change-source/pg/schema/published.ts'; +import {testDBs} from '../test/db.ts'; +import {createTableStatement} from './create.ts'; +import {listTables} from './lite-tables.ts'; +import {mapPostgresToLite} from './pg-to-lite.ts'; +import * as PostgresTypeClass from './postgres-type-class-enum.ts'; +import {stripCommentsAndWhitespace} from './query-test-util.ts'; +import {type LiteTableSpec, type TableSpec} from './specs.ts'; describe('tables/create', () => { type Case = { diff --git a/packages/zero-cache/src/db/create.ts b/packages/zero-cache/src/db/create.ts index d2746cc447..760ee2c03a 100644 --- a/packages/zero-cache/src/db/create.ts +++ b/packages/zero-cache/src/db/create.ts @@ -1,10 +1,10 @@ -import {id, idList} from '../types/sql.js'; +import {id, idList} from '../types/sql.ts'; import type { ColumnSpec, LiteIndexSpec, LiteTableSpec, TableSpec, -} from './specs.js'; +} from './specs.ts'; export function columnDef(spec: ColumnSpec) { const parts = [id(spec.dataType)]; diff --git a/packages/zero-cache/src/db/lite-tables.test.ts b/packages/zero-cache/src/db/lite-tables.test.ts index c9106f0521..b195d82b01 100644 --- a/packages/zero-cache/src/db/lite-tables.test.ts +++ b/packages/zero-cache/src/db/lite-tables.test.ts @@ -1,8 +1,8 @@ import {describe, expect, test} from 'vitest'; -import {createSilentLogContext} from '../../../shared/src/logging-test-utils.js'; -import {Database} from '../../../zqlite/src/db.js'; -import {computeZqlSpecs, listIndexes, listTables} from './lite-tables.js'; -import type {LiteIndexSpec, LiteTableSpec} from './specs.js'; +import {createSilentLogContext} from '../../../shared/src/logging-test-utils.ts'; +import {Database} from '../../../zqlite/src/db.ts'; +import {computeZqlSpecs, listIndexes, listTables} from './lite-tables.ts'; +import type {LiteIndexSpec, LiteTableSpec} from './specs.ts'; describe('lite/tables', () => { type Case = { diff --git a/packages/zero-cache/src/db/lite-tables.ts b/packages/zero-cache/src/db/lite-tables.ts index 965fb22e44..57979bf9a3 100644 --- a/packages/zero-cache/src/db/lite-tables.ts +++ b/packages/zero-cache/src/db/lite-tables.ts @@ -1,21 +1,21 @@ import type {LogContext} from '@rocicorp/logger'; -import {must} from '../../../shared/src/must.js'; -import {difference} from '../../../shared/src/set-utils.js'; -import * as v from '../../../shared/src/valita.js'; -import {primaryKeySchema} from '../../../zero-protocol/src/primary-key.js'; -import type {Database} from '../../../zqlite/src/db.js'; +import {must} from '../../../shared/src/must.ts'; +import {difference} from '../../../shared/src/set-utils.ts'; +import * as v from '../../../shared/src/valita.ts'; +import {primaryKeySchema} from '../../../zero-protocol/src/primary-key.ts'; +import type {Database} from '../../../zqlite/src/db.ts'; import { dataTypeToZqlValueType, mapLiteDataTypeToZqlSchemaValue, nullableUpstream, -} from '../types/lite.js'; +} from '../types/lite.ts'; import type { LiteAndZqlSpec, LiteIndexSpec, LiteTableSpec, MutableLiteIndexSpec, MutableLiteTableSpec, -} from './specs.js'; +} from './specs.ts'; type ColumnInfo = { table: string; diff --git a/packages/zero-cache/src/db/migration-lite.test.ts b/packages/zero-cache/src/db/migration-lite.test.ts index 08632a2666..20507725ba 100644 --- a/packages/zero-cache/src/db/migration-lite.test.ts +++ b/packages/zero-cache/src/db/migration-lite.test.ts @@ -1,15 +1,15 @@ import type {LogContext} from '@rocicorp/logger'; import {afterEach, beforeEach, describe, expect, test} from 'vitest'; -import {createSilentLogContext} from '../../../shared/src/logging-test-utils.js'; -import type {Database as Db} from '../../../zqlite/src/db.js'; -import {DbFile} from '../test/lite.js'; +import {createSilentLogContext} from '../../../shared/src/logging-test-utils.ts'; +import type {Database as Db} from '../../../zqlite/src/db.ts'; +import {DbFile} from '../test/lite.ts'; import { type IncrementalMigrationMap, type Migration, type VersionHistory, getVersionHistory, runSchemaMigrations, -} from './migration-lite.js'; +} from './migration-lite.ts'; describe('db/migration-lite', () => { const debugName = 'debug-name'; diff --git a/packages/zero-cache/src/db/migration-lite.ts b/packages/zero-cache/src/db/migration-lite.ts index 4fe1464d83..39aecbf445 100644 --- a/packages/zero-cache/src/db/migration-lite.ts +++ b/packages/zero-cache/src/db/migration-lite.ts @@ -1,9 +1,9 @@ import type {LogContext} from '@rocicorp/logger'; -import {assert} from '../../../shared/src/asserts.js'; -import {randInt} from '../../../shared/src/rand.js'; -import * as v from '../../../shared/src/valita.js'; -import type {Database as Db} from '../../../zqlite/src/db.js'; -import {Database} from '../../../zqlite/src/db.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import {randInt} from '../../../shared/src/rand.ts'; +import * as v from '../../../shared/src/valita.ts'; +import type {Database as Db} from '../../../zqlite/src/db.ts'; +import {Database} from '../../../zqlite/src/db.ts'; type Operations = (log: LogContext, tx: Db) => Promise | void; diff --git a/packages/zero-cache/src/db/migration.pg-test.ts b/packages/zero-cache/src/db/migration.pg-test.ts index 602188ea65..960635a18f 100644 --- a/packages/zero-cache/src/db/migration.pg-test.ts +++ b/packages/zero-cache/src/db/migration.pg-test.ts @@ -1,16 +1,16 @@ import type {LogContext} from '@rocicorp/logger'; import type postgres from 'postgres'; import {afterEach, beforeEach, describe, expect, test} from 'vitest'; -import {createSilentLogContext} from '../../../shared/src/logging-test-utils.js'; -import {testDBs} from '../test/db.js'; -import type {PostgresDB} from '../types/pg.js'; +import {createSilentLogContext} from '../../../shared/src/logging-test-utils.ts'; +import {testDBs} from '../test/db.ts'; +import type {PostgresDB} from '../types/pg.ts'; import { type IncrementalMigrationMap, type Migration, type VersionHistory, getVersionHistory, runSchemaMigrations, -} from './migration.js'; +} from './migration.ts'; describe('db/migration', () => { const schemaName = '_zero'; diff --git a/packages/zero-cache/src/db/migration.ts b/packages/zero-cache/src/db/migration.ts index 651e0187ec..d86c44a6fa 100644 --- a/packages/zero-cache/src/db/migration.ts +++ b/packages/zero-cache/src/db/migration.ts @@ -1,9 +1,9 @@ import type {LogContext} from '@rocicorp/logger'; import type postgres from 'postgres'; -import {assert} from '../../../shared/src/asserts.js'; -import {randInt} from '../../../shared/src/rand.js'; -import * as v from '../../../shared/src/valita.js'; -import type {PostgresDB, PostgresTransaction} from '../types/pg.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import {randInt} from '../../../shared/src/rand.ts'; +import * as v from '../../../shared/src/valita.ts'; +import type {PostgresDB, PostgresTransaction} from '../types/pg.ts'; type Operations = (log: LogContext, tx: PostgresTransaction) => Promise; diff --git a/packages/zero-cache/src/db/pg-to-lite.test.ts b/packages/zero-cache/src/db/pg-to-lite.test.ts index 119bd5b468..b90d897add 100644 --- a/packages/zero-cache/src/db/pg-to-lite.test.ts +++ b/packages/zero-cache/src/db/pg-to-lite.test.ts @@ -1,7 +1,7 @@ import {expect, test} from 'vitest'; -import {mapPostgresToLite, mapPostgresToLiteColumn} from './pg-to-lite.js'; -import * as PostgresTypeClass from './postgres-type-class-enum.js'; -import {type ColumnSpec} from './specs.js'; +import {mapPostgresToLite, mapPostgresToLiteColumn} from './pg-to-lite.ts'; +import * as PostgresTypeClass from './postgres-type-class-enum.ts'; +import {type ColumnSpec} from './specs.ts'; test('postgres to lite table spec', () => { expect( diff --git a/packages/zero-cache/src/db/pg-to-lite.ts b/packages/zero-cache/src/db/pg-to-lite.ts index 61346d38a6..7cf4b83a16 100644 --- a/packages/zero-cache/src/db/pg-to-lite.ts +++ b/packages/zero-cache/src/db/pg-to-lite.ts @@ -1,20 +1,20 @@ import type {LogContext} from '@rocicorp/logger'; -import {ZERO_VERSION_COLUMN_NAME} from '../services/replicator/schema/replication-state.js'; +import {ZERO_VERSION_COLUMN_NAME} from '../services/replicator/schema/replication-state.ts'; import { dataTypeToZqlValueType, liteTypeString, upstreamDataType, type LiteTypeString, -} from '../types/lite.js'; -import {liteTableName} from '../types/names.js'; -import * as PostgresTypeClass from './postgres-type-class-enum.js'; +} from '../types/lite.ts'; +import {liteTableName} from '../types/names.ts'; +import * as PostgresTypeClass from './postgres-type-class-enum.ts'; import { type ColumnSpec, type IndexSpec, type LiteIndexSpec, type LiteTableSpec, type TableSpec, -} from './specs.js'; +} from './specs.ts'; export const ZERO_VERSION_COLUMN_SPEC: ColumnSpec = { pos: Number.MAX_SAFE_INTEGER, // i.e. last diff --git a/packages/zero-cache/src/db/queries.pg-test.ts b/packages/zero-cache/src/db/queries.pg-test.ts index c89d345143..16d0a6334b 100644 --- a/packages/zero-cache/src/db/queries.pg-test.ts +++ b/packages/zero-cache/src/db/queries.pg-test.ts @@ -1,9 +1,9 @@ import pg from 'pg'; import {afterEach, beforeEach, describe, expect, test} from 'vitest'; -import {testDBs} from '../test/db.js'; -import type {PostgresDB} from '../types/pg.js'; -import type {RowKey} from '../types/row-key.js'; -import {lookupRowsWithKeys} from './queries.js'; +import {testDBs} from '../test/db.ts'; +import type {PostgresDB} from '../types/pg.ts'; +import type {RowKey} from '../types/row-key.ts'; +import {lookupRowsWithKeys} from './queries.ts'; const { types: {builtins}, diff --git a/packages/zero-cache/src/db/queries.ts b/packages/zero-cache/src/db/queries.ts index 518e278906..a90d8a4704 100644 --- a/packages/zero-cache/src/db/queries.ts +++ b/packages/zero-cache/src/db/queries.ts @@ -1,7 +1,7 @@ import {compareUTF8} from 'compare-utf8'; import type postgres from 'postgres'; -import {type PostgresDB, typeNameByOID} from '../types/pg.js'; -import type {RowKey, RowKeyType} from '../types/row-key.js'; +import {type PostgresDB, typeNameByOID} from '../types/pg.ts'; +import type {RowKey, RowKeyType} from '../types/row-key.ts'; /** * Efficient lookup of multiple rows from a table from row keys. diff --git a/packages/zero-cache/src/db/short-lived-client.pg-test.ts b/packages/zero-cache/src/db/short-lived-client.pg-test.ts index abc1af8c5f..7e44dd74e1 100644 --- a/packages/zero-cache/src/db/short-lived-client.pg-test.ts +++ b/packages/zero-cache/src/db/short-lived-client.pg-test.ts @@ -1,10 +1,10 @@ import {LogContext} from '@rocicorp/logger'; import {afterAll, beforeAll, describe, expect, test} from 'vitest'; -import {TestLogSink} from '../../../shared/src/logging-test-utils.js'; -import {sleep} from '../../../shared/src/sleep.js'; -import {getConnectionURI, testDBs} from '../test/db.js'; -import type {PostgresDB} from '../types/pg.js'; -import {ShortLivedClient} from './short-lived-client.js'; +import {TestLogSink} from '../../../shared/src/logging-test-utils.ts'; +import {sleep} from '../../../shared/src/sleep.ts'; +import {getConnectionURI, testDBs} from '../test/db.ts'; +import type {PostgresDB} from '../types/pg.ts'; +import {ShortLivedClient} from './short-lived-client.ts'; describe('short-lived-client', () => { let db: PostgresDB; diff --git a/packages/zero-cache/src/db/short-lived-client.ts b/packages/zero-cache/src/db/short-lived-client.ts index c020c71441..a3d84a1898 100644 --- a/packages/zero-cache/src/db/short-lived-client.ts +++ b/packages/zero-cache/src/db/short-lived-client.ts @@ -1,5 +1,5 @@ import type {LogContext} from '@rocicorp/logger'; -import {pgClient, type PostgresDB} from '../types/pg.js'; +import {pgClient, type PostgresDB} from '../types/pg.ts'; /** * Manages on-demand short-lived connections to a DB, shutting down after diff --git a/packages/zero-cache/src/db/specs-type-test.ts b/packages/zero-cache/src/db/specs-type-test.ts index d578ef0b52..2b30d38009 100644 --- a/packages/zero-cache/src/db/specs-type-test.ts +++ b/packages/zero-cache/src/db/specs-type-test.ts @@ -1,7 +1,7 @@ -import type {Enum} from '../../../shared/src/enum.js'; -import type * as v from '../../../shared/src/valita.js'; -import * as PostgresTypeClass from './postgres-type-class-enum.js'; -import type {pgTypeClassSchema} from './specs.js'; +import type {Enum} from '../../../shared/src/enum.ts'; +import type * as v from '../../../shared/src/valita.ts'; +import * as PostgresTypeClass from './postgres-type-class-enum.ts'; +import type {pgTypeClassSchema} from './specs.ts'; type PostgresTypeClass = Enum; diff --git a/packages/zero-cache/src/db/specs.ts b/packages/zero-cache/src/db/specs.ts index 0d3f3d8f41..ed71c7fa51 100644 --- a/packages/zero-cache/src/db/specs.ts +++ b/packages/zero-cache/src/db/specs.ts @@ -1,9 +1,9 @@ -import type {DeepReadonly} from '../../../shared/src/json.js'; -import * as v from '../../../shared/src/valita.js'; -import type {PrimaryKey} from '../../../zero-protocol/src/primary-key.js'; -import type {SchemaValue} from '../../../zero-schema/src/table-schema.js'; -import * as PostgresReplicaIdentity from './postgres-replica-identity-enum.js'; -import * as PostgresTypeClass from './postgres-type-class-enum.js'; +import type {DeepReadonly} from '../../../shared/src/json.ts'; +import * as v from '../../../shared/src/valita.ts'; +import type {PrimaryKey} from '../../../zero-protocol/src/primary-key.ts'; +import type {SchemaValue} from '../../../zero-schema/src/table-schema.ts'; +import * as PostgresReplicaIdentity from './postgres-replica-identity-enum.ts'; +import * as PostgresTypeClass from './postgres-type-class-enum.ts'; export const pgTypeClassSchema = v.union( v.literal(PostgresTypeClass.Base), diff --git a/packages/zero-cache/src/db/statements.test.ts b/packages/zero-cache/src/db/statements.test.ts index 1e7b8072d2..2708136dec 100644 --- a/packages/zero-cache/src/db/statements.test.ts +++ b/packages/zero-cache/src/db/statements.test.ts @@ -1,8 +1,8 @@ -import {createSilentLogContext} from '../../../shared/src/logging-test-utils.js'; import {beforeEach, describe, expect, test} from 'vitest'; -import {Database} from '../../../zqlite/src/db.js'; -import {expectTables} from '../test/lite.js'; -import {StatementRunner} from './statements.js'; +import {createSilentLogContext} from '../../../shared/src/logging-test-utils.ts'; +import {Database} from '../../../zqlite/src/db.ts'; +import {expectTables} from '../test/lite.ts'; +import {StatementRunner} from './statements.ts'; describe('db/statements', () => { let db: StatementRunner; diff --git a/packages/zero-cache/src/db/statements.ts b/packages/zero-cache/src/db/statements.ts index 51cdd5138d..9fc34fd221 100644 --- a/packages/zero-cache/src/db/statements.ts +++ b/packages/zero-cache/src/db/statements.ts @@ -1,6 +1,6 @@ import type {RunResult} from '@rocicorp/zero-sqlite3'; -import {Database} from '../../../zqlite/src/db.js'; -import {StatementCache} from '../../../zqlite/src/internal/statement-cache.js'; +import {Database} from '../../../zqlite/src/db.ts'; +import {StatementCache} from '../../../zqlite/src/internal/statement-cache.ts'; /** * A stateless wrapper around a {@link StatementCache} that facilitates single-line diff --git a/packages/zero-cache/src/db/transaction-pool.pg-test.ts b/packages/zero-cache/src/db/transaction-pool.pg-test.ts index d7c1a6be17..c7fee35fda 100644 --- a/packages/zero-cache/src/db/transaction-pool.pg-test.ts +++ b/packages/zero-cache/src/db/transaction-pool.pg-test.ts @@ -2,13 +2,13 @@ import {PG_UNIQUE_VIOLATION} from '@drdgvhbh/postgres-error-codes'; import type {LogContext} from '@rocicorp/logger'; import postgres from 'postgres'; import {afterEach, beforeEach, describe, expect, test} from 'vitest'; -import type {Enum} from '../../../shared/src/enum.js'; -import {createSilentLogContext} from '../../../shared/src/logging-test-utils.js'; -import {Queue} from '../../../shared/src/queue.js'; -import {sleep} from '../../../shared/src/sleep.js'; -import {expectTables, testDBs} from '../test/db.js'; -import type {PostgresDB} from '../types/pg.js'; -import * as Mode from './mode-enum.js'; +import type {Enum} from '../../../shared/src/enum.ts'; +import {createSilentLogContext} from '../../../shared/src/logging-test-utils.ts'; +import {Queue} from '../../../shared/src/queue.ts'; +import {sleep} from '../../../shared/src/sleep.ts'; +import {expectTables, testDBs} from '../test/db.ts'; +import type {PostgresDB} from '../types/pg.ts'; +import * as Mode from './mode-enum.ts'; import { importSnapshot, sharedSnapshot, @@ -16,7 +16,7 @@ import { TIMEOUT_TASKS, TransactionPool, type Task, -} from './transaction-pool.js'; +} from './transaction-pool.ts'; type Mode = Enum; diff --git a/packages/zero-cache/src/db/transaction-pool.ts b/packages/zero-cache/src/db/transaction-pool.ts index 0db7fde8c9..60d5ec3b13 100644 --- a/packages/zero-cache/src/db/transaction-pool.ts +++ b/packages/zero-cache/src/db/transaction-pool.ts @@ -1,11 +1,11 @@ import type {LogContext} from '@rocicorp/logger'; import {type Resolver, resolver} from '@rocicorp/resolver'; import type postgres from 'postgres'; -import {assert} from '../../../shared/src/asserts.js'; -import type {Enum} from '../../../shared/src/enum.js'; -import {Queue} from '../../../shared/src/queue.js'; -import type {PostgresDB, PostgresTransaction} from '../types/pg.js'; -import * as Mode from './mode-enum.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import type {Enum} from '../../../shared/src/enum.ts'; +import {Queue} from '../../../shared/src/queue.ts'; +import type {PostgresDB, PostgresTransaction} from '../types/pg.ts'; +import * as Mode from './mode-enum.ts'; type Mode = Enum; diff --git a/packages/zero-cache/src/db/wal-checkpoint.test.ts b/packages/zero-cache/src/db/wal-checkpoint.test.ts index 83e4f5ee49..4e4faa08cd 100644 --- a/packages/zero-cache/src/db/wal-checkpoint.test.ts +++ b/packages/zero-cache/src/db/wal-checkpoint.test.ts @@ -1,8 +1,8 @@ import {resolver} from '@rocicorp/resolver'; import {afterEach, beforeEach, describe, expect, test} from 'vitest'; import {Worker} from 'worker_threads'; -import {createSilentLogContext} from '../../../shared/src/logging-test-utils.js'; -import {DbFile} from '../test/lite.js'; +import {createSilentLogContext} from '../../../shared/src/logging-test-utils.ts'; +import {DbFile} from '../test/lite.ts'; describe('db/wal-checkpoint', () => { let dbFile: DbFile; diff --git a/packages/zero-cache/src/integration/integration.pg-test.ts b/packages/zero-cache/src/integration/integration.pg-test.ts index d191e9cbc5..827b4b5fc3 100644 --- a/packages/zero-cache/src/integration/integration.pg-test.ts +++ b/packages/zero-cache/src/integration/integration.pg-test.ts @@ -11,18 +11,18 @@ import { vi, } from 'vitest'; import WebSocket from 'ws'; -import {assert} from '../../../shared/src/asserts.js'; -import {Queue} from '../../../shared/src/queue.js'; -import {randInt} from '../../../shared/src/rand.js'; -import type {AST} from '../../../zero-protocol/src/ast.js'; -import type {ChangeDesiredQueriesMessage} from '../../../zero-protocol/src/change-desired-queries.js'; -import type {InitConnectionMessage} from '../../../zero-protocol/src/connect.js'; -import type {PokeStartMessage} from '../../../zero-protocol/src/poke.js'; -import {PROTOCOL_VERSION} from '../../../zero-protocol/src/protocol-version.js'; -import {getConnectionURI, testDBs} from '../test/db.js'; -import {DbFile} from '../test/lite.js'; -import type {PostgresDB} from '../types/pg.js'; -import {childWorker, type Worker} from '../types/processes.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import {Queue} from '../../../shared/src/queue.ts'; +import {randInt} from '../../../shared/src/rand.ts'; +import type {AST} from '../../../zero-protocol/src/ast.ts'; +import type {ChangeDesiredQueriesMessage} from '../../../zero-protocol/src/change-desired-queries.ts'; +import type {InitConnectionMessage} from '../../../zero-protocol/src/connect.ts'; +import type {PokeStartMessage} from '../../../zero-protocol/src/poke.ts'; +import {PROTOCOL_VERSION} from '../../../zero-protocol/src/protocol-version.ts'; +import {getConnectionURI, testDBs} from '../test/db.ts'; +import {DbFile} from '../test/lite.ts'; +import type {PostgresDB} from '../types/pg.ts'; +import {childWorker, type Worker} from '../types/processes.ts'; // Adjust to debug. const LOG_LEVEL: LogLevel = 'error'; diff --git a/packages/zero-cache/src/scripts/run-query.ts b/packages/zero-cache/src/scripts/run-query.ts index fb4308ba6e..b01378ba6c 100644 --- a/packages/zero-cache/src/scripts/run-query.ts +++ b/packages/zero-cache/src/scripts/run-query.ts @@ -1,21 +1,21 @@ /* eslint-disable no-console */ import 'dotenv/config'; -import {getDebugConfig} from '../config/zero-config.js'; -import {getSchema} from '../auth/load-schema.js'; -import {must} from '../../../shared/src/must.js'; -import {Database} from '../../../zqlite/src/db.js'; -import {createSilentLogContext} from '../../../shared/src/logging-test-utils.js'; -import {type QueryDelegate} from '../../../zql/src/query/query-impl.js'; -import {TableSource} from '../../../zqlite/src/table-source.js'; -import {MemoryStorage} from '../../../zql/src/ivm/memory-storage.js'; -import type {AST} from '../../../zero-protocol/src/ast.js'; -import {buildPipeline} from '../../../zql/src/builder/builder.js'; -import {Catch} from '../../../zql/src/ivm/catch.js'; +import {createSilentLogContext} from '../../../shared/src/logging-test-utils.ts'; +import {must} from '../../../shared/src/must.ts'; +import type {AST} from '../../../zero-protocol/src/ast.ts'; +import {buildPipeline} from '../../../zql/src/builder/builder.ts'; +import {Catch} from '../../../zql/src/ivm/catch.ts'; +import {MemoryStorage} from '../../../zql/src/ivm/memory-storage.ts'; +import {type QueryDelegate} from '../../../zql/src/query/query-impl.ts'; +import {Database} from '../../../zqlite/src/db.ts'; import { runtimeDebugFlags, runtimeDebugStats, -} from '../../../zqlite/src/runtime-debug.js'; +} from '../../../zqlite/src/runtime-debug.ts'; +import {TableSource} from '../../../zqlite/src/table-source.ts'; +import {getSchema} from '../auth/load-schema.ts'; +import {getDebugConfig} from '../config/zero-config.ts'; const config = getDebugConfig(); const schemaAndPermissions = await getSchema(config); diff --git a/packages/zero-cache/src/scripts/transform-query.ts b/packages/zero-cache/src/scripts/transform-query.ts index 6b15695739..fe9736e33f 100644 --- a/packages/zero-cache/src/scripts/transform-query.ts +++ b/packages/zero-cache/src/scripts/transform-query.ts @@ -1,12 +1,12 @@ /* eslint-disable no-console */ import 'dotenv/config'; -import {getDebugConfig} from '../config/zero-config.js'; -import {getSchema} from '../auth/load-schema.js'; -import {transformAndHashQuery} from '../auth/read-authorizer.js'; -import {must} from '../../../shared/src/must.js'; -import {pgClient} from '../types/pg.js'; import {consoleLogSink, LogContext} from '@rocicorp/logger'; +import {must} from '../../../shared/src/must.ts'; +import {getSchema} from '../auth/load-schema.ts'; +import {transformAndHashQuery} from '../auth/read-authorizer.ts'; +import {getDebugConfig} from '../config/zero-config.ts'; +import {pgClient} from '../types/pg.ts'; const config = getDebugConfig(); const schema = await getSchema(config); diff --git a/packages/zero-cache/src/server/change-streamer.ts b/packages/zero-cache/src/server/change-streamer.ts index 4c3d340aad..f3cdf0ef21 100644 --- a/packages/zero-cache/src/server/change-streamer.ts +++ b/packages/zero-cache/src/server/change-streamer.ts @@ -1,21 +1,21 @@ -import {assert} from '../../../shared/src/asserts.js'; -import {must} from '../../../shared/src/must.js'; -import {DatabaseInitError} from '../../../zqlite/src/db.js'; -import {getZeroConfig} from '../config/zero-config.js'; -import {deleteLiteDB} from '../db/delete-lite-db.js'; -import {initializeChangeSource} from '../services/change-source/pg/change-source.js'; -import {ChangeStreamerHttpServer} from '../services/change-streamer/change-streamer-http.js'; -import {initializeStreamer} from '../services/change-streamer/change-streamer-service.js'; -import type {ChangeStreamerService} from '../services/change-streamer/change-streamer.js'; -import {AutoResetSignal} from '../services/change-streamer/schema/tables.js'; -import {exitAfter, runUntilKilled} from '../services/life-cycle.js'; -import {pgClient} from '../types/pg.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import {must} from '../../../shared/src/must.ts'; +import {DatabaseInitError} from '../../../zqlite/src/db.ts'; +import {getZeroConfig} from '../config/zero-config.ts'; +import {deleteLiteDB} from '../db/delete-lite-db.ts'; +import {initializeChangeSource} from '../services/change-source/pg/change-source.ts'; +import {ChangeStreamerHttpServer} from '../services/change-streamer/change-streamer-http.ts'; +import {initializeStreamer} from '../services/change-streamer/change-streamer-service.ts'; +import type {ChangeStreamerService} from '../services/change-streamer/change-streamer.ts'; +import {AutoResetSignal} from '../services/change-streamer/schema/tables.ts'; +import {exitAfter, runUntilKilled} from '../services/life-cycle.ts'; +import {pgClient} from '../types/pg.ts'; import { parentWorker, singleProcessMode, type Worker, -} from '../types/processes.js'; -import {createLogContext} from './logging.js'; +} from '../types/processes.ts'; +import {createLogContext} from './logging.ts'; export default async function runWorker( parent: Worker, diff --git a/packages/zero-cache/src/server/logging.ts b/packages/zero-cache/src/server/logging.ts index 9d0521d8e1..42e79fb19f 100644 --- a/packages/zero-cache/src/server/logging.ts +++ b/packages/zero-cache/src/server/logging.ts @@ -6,8 +6,8 @@ import { type LogSink, } from '@rocicorp/logger'; import {pid} from 'node:process'; -import {type LogConfig, type ZeroConfig} from '../config/zero-config.js'; -import {stringify} from '../types/bigint-json.js'; +import {type LogConfig, type ZeroConfig} from '../config/zero-config.ts'; +import {stringify} from '../types/bigint-json.ts'; function createLogSink(config: LogConfig) { return config.format === 'json' ? consoleJsonLogSink : consoleLogSink; diff --git a/packages/zero-cache/src/server/main.ts b/packages/zero-cache/src/server/main.ts index 5aa31bcc12..5707797a09 100644 --- a/packages/zero-cache/src/server/main.ts +++ b/packages/zero-cache/src/server/main.ts @@ -1,38 +1,38 @@ import {resolver} from '@rocicorp/resolver'; import {availableParallelism} from 'node:os'; import path from 'node:path'; -import {must} from '../../../shared/src/must.js'; -import {getZeroConfig} from '../config/zero-config.js'; -import {getSubscriberContext} from '../services/change-streamer/change-streamer-http.js'; -import {SyncDispatcher} from '../services/dispatcher/sync-dispatcher.js'; -import {installWebSocketHandoff} from '../services/dispatcher/websocket-handoff.js'; +import {must} from '../../../shared/src/must.ts'; +import {getZeroConfig} from '../config/zero-config.ts'; +import {getSubscriberContext} from '../services/change-streamer/change-streamer-http.ts'; +import {SyncDispatcher} from '../services/dispatcher/sync-dispatcher.ts'; +import {installWebSocketHandoff} from '../services/dispatcher/websocket-handoff.ts'; import { exitAfter, ProcessManager, runUntilKilled, type WorkerType, -} from '../services/life-cycle.js'; +} from '../services/life-cycle.ts'; import { restoreReplica, startReplicaBackupProcess, -} from '../services/litestream/commands.js'; -import type {Service} from '../services/service.js'; -import {initViewSyncerSchema} from '../services/view-syncer/schema/init.js'; -import {pgClient} from '../types/pg.js'; +} from '../services/litestream/commands.ts'; +import type {Service} from '../services/service.ts'; +import {initViewSyncerSchema} from '../services/view-syncer/schema/init.ts'; +import {pgClient} from '../types/pg.ts'; import { childWorker, parentWorker, singleProcessMode, type Worker, -} from '../types/processes.js'; -import {orTimeout} from '../types/timeout.js'; +} from '../types/processes.ts'; +import {orTimeout} from '../types/timeout.ts'; import { createNotifierFrom, handleSubscriptionsFrom, type ReplicaFileMode, subscribeTo, -} from '../workers/replicator.js'; -import {createLogContext} from './logging.js'; +} from '../workers/replicator.ts'; +import {createLogContext} from './logging.ts'; export default async function runWorker( parent: Worker | null, diff --git a/packages/zero-cache/src/server/multi/config.test.ts b/packages/zero-cache/src/server/multi/config.test.ts index 12a0ab0169..57434683de 100644 --- a/packages/zero-cache/src/server/multi/config.test.ts +++ b/packages/zero-cache/src/server/multi/config.test.ts @@ -1,7 +1,7 @@ import {stripVTControlCharacters as stripAnsi} from 'node:util'; import {expect, test, vi} from 'vitest'; -import {parseOptions} from '../../../../shared/src/options.js'; -import {getMultiZeroConfig, multiConfigSchema} from './config.js'; +import {parseOptions} from '../../../../shared/src/options.ts'; +import {getMultiZeroConfig, multiConfigSchema} from './config.ts'; test('parse options', () => { expect( diff --git a/packages/zero-cache/src/server/multi/config.ts b/packages/zero-cache/src/server/multi/config.ts index ccc08ce5ff..eb5f5f79e9 100644 --- a/packages/zero-cache/src/server/multi/config.ts +++ b/packages/zero-cache/src/server/multi/config.ts @@ -2,9 +2,9 @@ import { envSchema, parseOptionsAdvanced, type Config, -} from '../../../../shared/src/options.js'; -import * as v from '../../../../shared/src/valita.js'; -import {zeroOptions} from '../../config/zero-config.js'; +} from '../../../../shared/src/options.ts'; +import * as v from '../../../../shared/src/valita.ts'; +import {zeroOptions} from '../../config/zero-config.ts'; const ENV_VAR_PREFIX = 'ZERO_'; diff --git a/packages/zero-cache/src/server/multi/main.ts b/packages/zero-cache/src/server/multi/main.ts index fe327bad3b..4137bc0768 100644 --- a/packages/zero-cache/src/server/multi/main.ts +++ b/packages/zero-cache/src/server/multi/main.ts @@ -1,22 +1,22 @@ import 'dotenv/config'; // Imports ENV variables from .env -import {assert} from '../../../../shared/src/asserts.js'; +import {assert} from '../../../../shared/src/asserts.ts'; import { exitAfter, ProcessManager, runUntilKilled, -} from '../../services/life-cycle.js'; -import type {Service} from '../../services/service.js'; +} from '../../services/life-cycle.ts'; +import type {Service} from '../../services/service.ts'; import { childWorker, parentWorker, singleProcessMode, type Worker, -} from '../../types/processes.js'; -import {orTimeout} from '../../types/timeout.js'; -import {createLogContext} from '../logging.js'; -import {getMultiZeroConfig} from './config.js'; -import {getTaskID} from './runtime.js'; -import {TenantDispatcher} from './tenant-dispatcher.js'; +} from '../../types/processes.ts'; +import {orTimeout} from '../../types/timeout.ts'; +import {createLogContext} from '../logging.ts'; +import {getMultiZeroConfig} from './config.ts'; +import {getTaskID} from './runtime.ts'; +import {TenantDispatcher} from './tenant-dispatcher.ts'; export default async function runWorker( parent: Worker | null, diff --git a/packages/zero-cache/src/server/multi/runtime.ts b/packages/zero-cache/src/server/multi/runtime.ts index e094422676..63ffef563d 100644 --- a/packages/zero-cache/src/server/multi/runtime.ts +++ b/packages/zero-cache/src/server/multi/runtime.ts @@ -1,6 +1,6 @@ import type {LogContext} from '@rocicorp/logger'; import {nanoid} from 'nanoid'; -import * as v from '../../../../shared/src/valita.js'; +import * as v from '../../../../shared/src/valita.ts'; // https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-metadata-endpoint-v4-response.html const containerMetadataSchema = v.object({['TaskARN']: v.string()}); diff --git a/packages/zero-cache/src/server/multi/tenant-dispatcher.ts b/packages/zero-cache/src/server/multi/tenant-dispatcher.ts index a24b3db531..363b1a0701 100644 --- a/packages/zero-cache/src/server/multi/tenant-dispatcher.ts +++ b/packages/zero-cache/src/server/multi/tenant-dispatcher.ts @@ -1,8 +1,8 @@ import type {LogContext} from '@rocicorp/logger'; -import {installWebSocketHandoff} from '../../services/dispatcher/websocket-handoff.js'; -import {HttpService, type Options} from '../../services/http-service.js'; -import type {IncomingMessageSubset} from '../../types/http.js'; -import type {Worker} from '../../types/processes.js'; +import {installWebSocketHandoff} from '../../services/dispatcher/websocket-handoff.ts'; +import {HttpService, type Options} from '../../services/http-service.ts'; +import type {IncomingMessageSubset} from '../../types/http.ts'; +import type {Worker} from '../../types/processes.ts'; type Tenant = { id: string; diff --git a/packages/zero-cache/src/server/replicator.ts b/packages/zero-cache/src/server/replicator.ts index 5d56285ac6..f1ee2e41d1 100644 --- a/packages/zero-cache/src/server/replicator.ts +++ b/packages/zero-cache/src/server/replicator.ts @@ -1,25 +1,25 @@ import {pid} from 'node:process'; -import {assert} from '../../../shared/src/asserts.js'; -import {must} from '../../../shared/src/must.js'; -import * as v from '../../../shared/src/valita.js'; -import {getZeroConfig} from '../config/zero-config.js'; -import {ChangeStreamerHttpClient} from '../services/change-streamer/change-streamer-http.js'; -import {exitAfter, runUntilKilled} from '../services/life-cycle.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import {must} from '../../../shared/src/must.ts'; +import * as v from '../../../shared/src/valita.ts'; +import {getZeroConfig} from '../config/zero-config.ts'; +import {ChangeStreamerHttpClient} from '../services/change-streamer/change-streamer-http.ts'; +import {exitAfter, runUntilKilled} from '../services/life-cycle.ts'; import { ReplicatorService, type ReplicatorMode, -} from '../services/replicator/replicator.js'; +} from '../services/replicator/replicator.ts'; import { parentWorker, singleProcessMode, type Worker, -} from '../types/processes.js'; +} from '../types/processes.ts'; import { replicaFileModeSchema, setUpMessageHandlers, setupReplica, -} from '../workers/replicator.js'; -import {createLogContext} from './logging.js'; +} from '../workers/replicator.ts'; +import {createLogContext} from './logging.ts'; export default async function runWorker( parent: Worker, diff --git a/packages/zero-cache/src/server/syncer.ts b/packages/zero-cache/src/server/syncer.ts index 699aaf8b1a..bcbdd9783d 100644 --- a/packages/zero-cache/src/server/syncer.ts +++ b/packages/zero-cache/src/server/syncer.ts @@ -8,32 +8,32 @@ import { import {tmpdir} from 'node:os'; import path from 'node:path'; import {pid} from 'node:process'; -import {NoopSpanExporter} from '../../../otel/src/noop-span-exporter.js'; -import {version} from '../../../otel/src/version.js'; -import {assert} from '../../../shared/src/asserts.js'; -import {must} from '../../../shared/src/must.js'; -import {randInt} from '../../../shared/src/rand.js'; -import * as v from '../../../shared/src/valita.js'; -import {getSchema} from '../auth/load-schema.js'; -import {getZeroConfig} from '../config/zero-config.js'; -import {exitAfter, runUntilKilled} from '../services/life-cycle.js'; -import {MutagenService} from '../services/mutagen/mutagen.js'; -import type {ReplicaState} from '../services/replicator/replicator.js'; -import {DatabaseStorage} from '../services/view-syncer/database-storage.js'; -import {DrainCoordinator} from '../services/view-syncer/drain-coordinator.js'; -import {PipelineDriver} from '../services/view-syncer/pipeline-driver.js'; -import {Snapshotter} from '../services/view-syncer/snapshotter.js'; -import {ViewSyncerService} from '../services/view-syncer/view-syncer.js'; -import {pgClient} from '../types/pg.js'; +import {NoopSpanExporter} from '../../../otel/src/noop-span-exporter.ts'; +import {version} from '../../../otel/src/version.ts'; +import {assert} from '../../../shared/src/asserts.ts'; +import {must} from '../../../shared/src/must.ts'; +import {randInt} from '../../../shared/src/rand.ts'; +import * as v from '../../../shared/src/valita.ts'; +import {getSchema} from '../auth/load-schema.ts'; +import {getZeroConfig} from '../config/zero-config.ts'; +import {exitAfter, runUntilKilled} from '../services/life-cycle.ts'; +import {MutagenService} from '../services/mutagen/mutagen.ts'; +import type {ReplicaState} from '../services/replicator/replicator.ts'; +import {DatabaseStorage} from '../services/view-syncer/database-storage.ts'; +import {DrainCoordinator} from '../services/view-syncer/drain-coordinator.ts'; +import {PipelineDriver} from '../services/view-syncer/pipeline-driver.ts'; +import {Snapshotter} from '../services/view-syncer/snapshotter.ts'; +import {ViewSyncerService} from '../services/view-syncer/view-syncer.ts'; +import {pgClient} from '../types/pg.ts'; import { parentWorker, singleProcessMode, type Worker, -} from '../types/processes.js'; -import {Subscription} from '../types/subscription.js'; -import {replicaFileModeSchema, replicaFileName} from '../workers/replicator.js'; -import {Syncer} from '../workers/syncer.js'; -import {createLogContext} from './logging.js'; +} from '../types/processes.ts'; +import {Subscription} from '../types/subscription.ts'; +import {replicaFileModeSchema, replicaFileName} from '../workers/replicator.ts'; +import {Syncer} from '../workers/syncer.ts'; +import {createLogContext} from './logging.ts'; function randomID() { return randInt(1, Number.MAX_SAFE_INTEGER).toString(36); diff --git a/packages/zero-cache/src/services/change-source/pg/change-source.end-to-mid.pg-test.ts b/packages/zero-cache/src/services/change-source/pg/change-source.end-to-mid.pg-test.ts index 967e921a7e..32bd017851 100644 --- a/packages/zero-cache/src/services/change-source/pg/change-source.end-to-mid.pg-test.ts +++ b/packages/zero-cache/src/services/change-source/pg/change-source.end-to-mid.pg-test.ts @@ -1,20 +1,20 @@ import {LogContext} from '@rocicorp/logger'; import {afterAll, beforeAll, describe, expect, test} from 'vitest'; -import {createSilentLogContext} from '../../../../../shared/src/logging-test-utils.js'; -import {Queue} from '../../../../../shared/src/queue.js'; -import type {Database} from '../../../../../zqlite/src/db.js'; -import {listIndexes, listTables} from '../../../db/lite-tables.js'; -import type {LiteIndexSpec, LiteTableSpec} from '../../../db/specs.js'; -import {getConnectionURI, testDBs} from '../../../test/db.js'; -import {DbFile, expectMatchingObjectsInTables} from '../../../test/lite.js'; -import type {JSONValue} from '../../../types/bigint-json.js'; -import type {PostgresDB} from '../../../types/pg.js'; -import type {Source} from '../../../types/streams.js'; -import type {MessageProcessor} from '../../replicator/incremental-sync.js'; -import {createMessageProcessor} from '../../replicator/test-utils.js'; -import type {DataChange} from '../protocol/current/data.js'; -import type {ChangeStreamMessage} from '../protocol/current/downstream.js'; -import {initializeChangeSource} from './change-source.js'; +import {createSilentLogContext} from '../../../../../shared/src/logging-test-utils.ts'; +import {Queue} from '../../../../../shared/src/queue.ts'; +import type {Database} from '../../../../../zqlite/src/db.ts'; +import {listIndexes, listTables} from '../../../db/lite-tables.ts'; +import type {LiteIndexSpec, LiteTableSpec} from '../../../db/specs.ts'; +import {getConnectionURI, testDBs} from '../../../test/db.ts'; +import {DbFile, expectMatchingObjectsInTables} from '../../../test/lite.ts'; +import type {JSONValue} from '../../../types/bigint-json.ts'; +import type {PostgresDB} from '../../../types/pg.ts'; +import type {Source} from '../../../types/streams.ts'; +import type {MessageProcessor} from '../../replicator/incremental-sync.ts'; +import {createMessageProcessor} from '../../replicator/test-utils.ts'; +import type {DataChange} from '../protocol/current/data.ts'; +import type {ChangeStreamMessage} from '../protocol/current/downstream.ts'; +import {initializeChangeSource} from './change-source.ts'; const SHARD_ID = 'change_source_end_to_mid_test_id'; diff --git a/packages/zero-cache/src/services/change-source/pg/change-source.pg-test.ts b/packages/zero-cache/src/services/change-source/pg/change-source.pg-test.ts index 3c2f9525ef..80d8cec73b 100644 --- a/packages/zero-cache/src/services/change-source/pg/change-source.pg-test.ts +++ b/packages/zero-cache/src/services/change-source/pg/change-source.pg-test.ts @@ -2,36 +2,36 @@ import {PG_OBJECT_IN_USE} from '@drdgvhbh/postgres-error-codes'; import {LogContext} from '@rocicorp/logger'; import {DatabaseError} from 'pg-protocol'; import {afterEach, beforeEach, describe, expect, test} from 'vitest'; -import {AbortError} from '../../../../../shared/src/abort-error.js'; -import {TestLogSink} from '../../../../../shared/src/logging-test-utils.js'; -import {Queue} from '../../../../../shared/src/queue.js'; -import {promiseVoid} from '../../../../../shared/src/resolved-promises.js'; -import {sleep} from '../../../../../shared/src/sleep.js'; -import {Default, Index} from '../../../db/postgres-replica-identity-enum.js'; -import {StatementRunner} from '../../../db/statements.js'; +import {AbortError} from '../../../../../shared/src/abort-error.ts'; +import {TestLogSink} from '../../../../../shared/src/logging-test-utils.ts'; +import {Queue} from '../../../../../shared/src/queue.ts'; +import {promiseVoid} from '../../../../../shared/src/resolved-promises.ts'; +import {sleep} from '../../../../../shared/src/sleep.ts'; +import {Default, Index} from '../../../db/postgres-replica-identity-enum.ts'; +import {StatementRunner} from '../../../db/statements.ts'; import { dropReplicationSlots, getConnectionURI, testDBs, -} from '../../../test/db.js'; -import {DbFile} from '../../../test/lite.js'; -import {versionFromLexi, versionToLexi} from '../../../types/lexi-version.js'; -import type {PostgresDB} from '../../../types/pg.js'; -import type {Source} from '../../../types/streams.js'; +} from '../../../test/db.ts'; +import {DbFile} from '../../../test/lite.ts'; +import {versionFromLexi, versionToLexi} from '../../../types/lexi-version.ts'; +import type {PostgresDB} from '../../../types/pg.ts'; +import type {Source} from '../../../types/streams.ts'; import type { ChangeSource, ChangeStream, -} from '../../change-streamer/change-streamer-service.js'; -import {getSubscriptionState} from '../../replicator/schema/replication-state.js'; +} from '../../change-streamer/change-streamer-service.ts'; +import {getSubscriptionState} from '../../replicator/schema/replication-state.ts'; import type { Begin, ChangeStreamMessage, Commit, -} from '../protocol/current/downstream.js'; -import {initializeChangeSource} from './change-source.js'; -import {replicationSlot} from './initial-sync.js'; -import {fromLexiVersion} from './lsn.js'; -import {dropEventTriggerStatements} from './schema/ddl-test-utils.js'; +} from '../protocol/current/downstream.ts'; +import {initializeChangeSource} from './change-source.ts'; +import {replicationSlot} from './initial-sync.ts'; +import {fromLexiVersion} from './lsn.ts'; +import {dropEventTriggerStatements} from './schema/ddl-test-utils.ts'; const SHARD_ID = 'change_source_test_id'; diff --git a/packages/zero-cache/src/services/change-source/pg/change-source.test.ts b/packages/zero-cache/src/services/change-source/pg/change-source.test.ts index 7f55f42d95..5d1f1607fe 100644 --- a/packages/zero-cache/src/services/change-source/pg/change-source.test.ts +++ b/packages/zero-cache/src/services/change-source/pg/change-source.test.ts @@ -1,6 +1,6 @@ import type {LogicalReplicationService} from 'pg-logical-replication'; import {afterEach, beforeEach, expect, test, vi} from 'vitest'; -import {Acker} from './change-source.js'; +import {Acker} from './change-source.ts'; beforeEach(() => { vi.useFakeTimers(); diff --git a/packages/zero-cache/src/services/change-source/pg/change-source.ts b/packages/zero-cache/src/services/change-source/pg/change-source.ts index cda61be726..a6381b5481 100644 --- a/packages/zero-cache/src/services/change-source/pg/change-source.ts +++ b/packages/zero-cache/src/services/change-source/pg/change-source.ts @@ -13,67 +13,67 @@ import { import type { MessageMessage, MessageRelation, -} from 'pg-logical-replication/dist/output-plugins/pgoutput/pgoutput.types.js'; +} from 'pg-logical-replication/dist/output-plugins/pgoutput/pgoutput.types.ts'; import {DatabaseError} from 'pg-protocol'; -import {AbortError} from '../../../../../shared/src/abort-error.js'; -import {assert} from '../../../../../shared/src/asserts.js'; -import {deepEqual} from '../../../../../shared/src/json.js'; -import {must} from '../../../../../shared/src/must.js'; +import {AbortError} from '../../../../../shared/src/abort-error.ts'; +import {assert} from '../../../../../shared/src/asserts.ts'; +import {deepEqual} from '../../../../../shared/src/json.ts'; +import {must} from '../../../../../shared/src/must.ts'; import { intersection, symmetricDifferences, -} from '../../../../../shared/src/set-utils.js'; -import {sleep} from '../../../../../shared/src/sleep.js'; -import * as v from '../../../../../shared/src/valita.js'; -import {Database} from '../../../../../zqlite/src/db.js'; -import {ShortLivedClient} from '../../../db/short-lived-client.js'; +} from '../../../../../shared/src/set-utils.ts'; +import {sleep} from '../../../../../shared/src/sleep.ts'; +import * as v from '../../../../../shared/src/valita.ts'; +import {Database} from '../../../../../zqlite/src/db.ts'; +import {ShortLivedClient} from '../../../db/short-lived-client.ts'; import type { ColumnSpec, PublishedTableSpec, TableSpec, -} from '../../../db/specs.js'; -import {StatementRunner} from '../../../db/statements.js'; -import {stringify} from '../../../types/bigint-json.js'; -import {oneAfter, type LexiVersion} from '../../../types/lexi-version.js'; +} from '../../../db/specs.ts'; +import {StatementRunner} from '../../../db/statements.ts'; +import {stringify} from '../../../types/bigint-json.ts'; +import {oneAfter, type LexiVersion} from '../../../types/lexi-version.ts'; import { pgClient, registerPostgresTypeParsers, type PostgresDB, -} from '../../../types/pg.js'; -import {Subscription} from '../../../types/subscription.js'; +} from '../../../types/pg.ts'; +import {Subscription} from '../../../types/subscription.ts'; import type { ChangeSource, ChangeStream, -} from '../../change-streamer/change-streamer-service.js'; +} from '../../change-streamer/change-streamer-service.ts'; import { AutoResetSignal, type ReplicationConfig, -} from '../../change-streamer/schema/tables.js'; -import {getSubscriptionState} from '../../replicator/schema/replication-state.js'; +} from '../../change-streamer/schema/tables.ts'; +import {getSubscriptionState} from '../../replicator/schema/replication-state.ts'; import type { DataChange, Identifier, MessageDelete, -} from '../protocol/current/data.js'; +} from '../protocol/current/data.ts'; import type { ChangeStreamData, ChangeStreamMessage, Data, -} from '../protocol/current/downstream.js'; -import {replicationSlot, type InitialSyncOptions} from './initial-sync.js'; -import {fromLexiVersion, toLexiVersion, type LSN} from './lsn.js'; -import {replicationEventSchema, type DdlUpdateEvent} from './schema/ddl.js'; -import {updateShardSchema} from './schema/init.js'; -import {getPublicationInfo, type PublishedSchema} from './schema/published.js'; +} from '../protocol/current/downstream.ts'; +import {replicationSlot, type InitialSyncOptions} from './initial-sync.ts'; +import {fromLexiVersion, toLexiVersion, type LSN} from './lsn.ts'; +import {replicationEventSchema, type DdlUpdateEvent} from './schema/ddl.ts'; +import {updateShardSchema} from './schema/init.ts'; +import {getPublicationInfo, type PublishedSchema} from './schema/published.ts'; import { getInternalShardConfig, INTERNAL_PUBLICATION_PREFIX, replicaIdentitiesForTablesWithoutPrimaryKeys, type InternalShardConfig, -} from './schema/shard.js'; -import {validate} from './schema/validation.js'; -import type {ShardConfig} from './shard-config.js'; -import {initSyncSchema} from './sync-schema.js'; +} from './schema/shard.ts'; +import {validate} from './schema/validation.ts'; +import type {ShardConfig} from './shard-config.ts'; +import {initSyncSchema} from './sync-schema.ts'; // BigInt support from LogicalReplicationService. registerPostgresTypeParsers(); diff --git a/packages/zero-cache/src/services/change-source/pg/initial-sync.pg-test.ts b/packages/zero-cache/src/services/change-source/pg/initial-sync.pg-test.ts index 55aa56cbe2..c3e75e14a6 100644 --- a/packages/zero-cache/src/services/change-source/pg/initial-sync.pg-test.ts +++ b/packages/zero-cache/src/services/change-source/pg/initial-sync.pg-test.ts @@ -1,25 +1,25 @@ import {afterEach, beforeEach, describe, expect, test} from 'vitest'; -import {createSilentLogContext} from '../../../../../shared/src/logging-test-utils.js'; -import {Database} from '../../../../../zqlite/src/db.js'; -import {listIndexes, listTables} from '../../../db/lite-tables.js'; -import {mapPostgresToLiteIndex} from '../../../db/pg-to-lite.js'; +import {createSilentLogContext} from '../../../../../shared/src/logging-test-utils.ts'; +import {Database} from '../../../../../zqlite/src/db.ts'; +import {listIndexes, listTables} from '../../../db/lite-tables.ts'; +import {mapPostgresToLiteIndex} from '../../../db/pg-to-lite.ts'; import type { IndexSpec, LiteTableSpec, PublishedTableSpec, -} from '../../../db/specs.js'; -import {getConnectionURI, initDB, testDBs} from '../../../test/db.js'; +} from '../../../db/specs.ts'; +import {getConnectionURI, initDB, testDBs} from '../../../test/db.ts'; import { expectMatchingObjectsInTables, expectTables, initDB as initLiteDB, -} from '../../../test/lite.js'; -import type {PostgresDB} from '../../../types/pg.js'; -import {initialSync, replicationSlot} from './initial-sync.js'; -import {fromLexiVersion} from './lsn.js'; -import {initShardSchema} from './schema/init.js'; -import {getPublicationInfo} from './schema/published.js'; -import {UnsupportedTableSchemaError} from './schema/validation.js'; +} from '../../../test/lite.ts'; +import type {PostgresDB} from '../../../types/pg.ts'; +import {initialSync, replicationSlot} from './initial-sync.ts'; +import {fromLexiVersion} from './lsn.ts'; +import {initShardSchema} from './schema/init.ts'; +import {getPublicationInfo} from './schema/published.ts'; +import {UnsupportedTableSchemaError} from './schema/validation.ts'; const SHARD_ID = 'initial_sync_test_id'; diff --git a/packages/zero-cache/src/services/change-source/pg/initial-sync.ts b/packages/zero-cache/src/services/change-source/pg/initial-sync.ts index 4b4fd2e32c..72f2ba865c 100644 --- a/packages/zero-cache/src/services/change-source/pg/initial-sync.ts +++ b/packages/zero-cache/src/services/change-source/pg/initial-sync.ts @@ -1,37 +1,37 @@ import {PG_INSUFFICIENT_PRIVILEGE} from '@drdgvhbh/postgres-error-codes'; import type {LogContext} from '@rocicorp/logger'; import postgres from 'postgres'; -import {Database} from '../../../../../zqlite/src/db.js'; +import {Database} from '../../../../../zqlite/src/db.ts'; import { createIndexStatement, createTableStatement, -} from '../../../db/create.js'; -import * as Mode from '../../../db/mode-enum.js'; +} from '../../../db/create.ts'; +import * as Mode from '../../../db/mode-enum.ts'; import { mapPostgresToLite, mapPostgresToLiteIndex, -} from '../../../db/pg-to-lite.js'; -import type {IndexSpec, PublishedTableSpec} from '../../../db/specs.js'; -import {importSnapshot, TransactionPool} from '../../../db/transaction-pool.js'; -import type {LexiVersion} from '../../../types/lexi-version.js'; -import {liteValues} from '../../../types/lite.js'; -import {liteTableName} from '../../../types/names.js'; -import {pgClient, type PostgresDB} from '../../../types/pg.js'; -import {id} from '../../../types/sql.js'; -import {initChangeLog} from '../../replicator/schema/change-log.js'; +} from '../../../db/pg-to-lite.ts'; +import type {IndexSpec, PublishedTableSpec} from '../../../db/specs.ts'; +import {importSnapshot, TransactionPool} from '../../../db/transaction-pool.ts'; +import type {LexiVersion} from '../../../types/lexi-version.ts'; +import {liteValues} from '../../../types/lite.ts'; +import {liteTableName} from '../../../types/names.ts'; +import {pgClient, type PostgresDB} from '../../../types/pg.ts'; +import {id} from '../../../types/sql.ts'; +import {initChangeLog} from '../../replicator/schema/change-log.ts'; import { initReplicationState, ZERO_VERSION_COLUMN_NAME, -} from '../../replicator/schema/replication-state.js'; -import {toLexiVersion} from './lsn.js'; -import {initShardSchema} from './schema/init.js'; -import {getPublicationInfo, type PublicationInfo} from './schema/published.js'; +} from '../../replicator/schema/replication-state.ts'; +import {toLexiVersion} from './lsn.ts'; +import {initShardSchema} from './schema/init.ts'; +import {getPublicationInfo, type PublicationInfo} from './schema/published.ts'; import { getInternalShardConfig, setInitialSchema, validatePublications, -} from './schema/shard.js'; -import type {ShardConfig} from './shard-config.js'; +} from './schema/shard.ts'; +import type {ShardConfig} from './shard-config.ts'; export type InitialSyncOptions = { tableCopyWorkers: number; diff --git a/packages/zero-cache/src/services/change-source/pg/lsn.test.ts b/packages/zero-cache/src/services/change-source/pg/lsn.test.ts index 404c75807f..6737da5629 100644 --- a/packages/zero-cache/src/services/change-source/pg/lsn.test.ts +++ b/packages/zero-cache/src/services/change-source/pg/lsn.test.ts @@ -2,8 +2,8 @@ import {describe, expect, test} from 'vitest'; import { versionFromLexi, type LexiVersion, -} from '../../../types/lexi-version.js'; -import {fromLexiVersion, toLexiVersion, type LSN} from './lsn.js'; +} from '../../../types/lexi-version.ts'; +import {fromLexiVersion, toLexiVersion, type LSN} from './lsn.ts'; describe('lsn to/from LexiVersion', () => { type Case = [LSN, LexiVersion, bigint]; diff --git a/packages/zero-cache/src/services/change-source/pg/lsn.ts b/packages/zero-cache/src/services/change-source/pg/lsn.ts index f3c80dbde4..acd8e36fc5 100644 --- a/packages/zero-cache/src/services/change-source/pg/lsn.ts +++ b/packages/zero-cache/src/services/change-source/pg/lsn.ts @@ -1,10 +1,10 @@ -import {assert} from '../../../../../shared/src/asserts.js'; +import {assert} from '../../../../../shared/src/asserts.ts'; import { versionFromLexi, versionToLexi, type LexiVersion, -} from '../../../types/lexi-version.js'; -import type {Change} from '../protocol/current/data.js'; +} from '../../../types/lexi-version.ts'; +import type {Change} from '../protocol/current/data.ts'; /** * Parsing and conversion utilities for the pg_lsn Type, which represents diff --git a/packages/zero-cache/src/services/change-source/pg/schema/ddl-test-utils.ts b/packages/zero-cache/src/services/change-source/pg/schema/ddl-test-utils.ts index 442e2f9caa..e20e6c7276 100644 --- a/packages/zero-cache/src/services/change-source/pg/schema/ddl-test-utils.ts +++ b/packages/zero-cache/src/services/change-source/pg/schema/ddl-test-utils.ts @@ -1,4 +1,4 @@ -import {append, TAGS} from './ddl.js'; +import {append, TAGS} from './ddl.ts'; export function dropEventTriggerStatements(shardID: string) { const sharded = append(shardID); diff --git a/packages/zero-cache/src/services/change-source/pg/schema/ddl.pg-test.ts b/packages/zero-cache/src/services/change-source/pg/schema/ddl.pg-test.ts index e76553146a..8e6f2aa92c 100644 --- a/packages/zero-cache/src/services/change-source/pg/schema/ddl.pg-test.ts +++ b/packages/zero-cache/src/services/change-source/pg/schema/ddl.pg-test.ts @@ -5,14 +5,14 @@ import { } from 'pg-logical-replication'; import type postgres from 'postgres'; import {afterEach, beforeEach, describe, expect, test} from 'vitest'; -import {Queue} from '../../../../../../shared/src/queue.js'; -import {getConnectionURI, testDBs} from '../../../../test/db.js'; -import type {PostgresDB} from '../../../../types/pg.js'; +import {Queue} from '../../../../../../shared/src/queue.ts'; +import {getConnectionURI, testDBs} from '../../../../test/db.ts'; +import type {PostgresDB} from '../../../../types/pg.ts'; import { createEventTriggerStatements, type DdlStartEvent, type DdlUpdateEvent, -} from './ddl.js'; +} from './ddl.ts'; const SLOT_NAME = 'ddl_test_slot'; diff --git a/packages/zero-cache/src/services/change-source/pg/schema/ddl.ts b/packages/zero-cache/src/services/change-source/pg/schema/ddl.ts index e45c71b42c..fc4269f437 100644 --- a/packages/zero-cache/src/services/change-source/pg/schema/ddl.ts +++ b/packages/zero-cache/src/services/change-source/pg/schema/ddl.ts @@ -1,11 +1,11 @@ import {literal as lit} from 'pg-format'; -import * as v from '../../../../../../shared/src/valita.js'; -import {id} from '../../../../types/sql.js'; +import * as v from '../../../../../../shared/src/valita.ts'; +import {id} from '../../../../types/sql.ts'; import { indexDefinitionsQuery, publishedSchema, publishedTableQuery, -} from './published.js'; +} from './published.ts'; // Sent in the 'version' tag of "ddlStart" and "ddlUpdate" event messages. // This is used to ensure that the message constructed in the upstream diff --git a/packages/zero-cache/src/services/change-source/pg/schema/init.pg-test.ts b/packages/zero-cache/src/services/change-source/pg/schema/init.pg-test.ts index 1e40e935ec..09bb839581 100644 --- a/packages/zero-cache/src/services/change-source/pg/schema/init.pg-test.ts +++ b/packages/zero-cache/src/services/change-source/pg/schema/init.pg-test.ts @@ -1,13 +1,13 @@ import {LogContext} from '@rocicorp/logger'; import {afterEach, beforeEach, describe, test} from 'vitest'; -import {createSilentLogContext} from '../../../../../../shared/src/logging-test-utils.js'; +import {createSilentLogContext} from '../../../../../../shared/src/logging-test-utils.ts'; import { createVersionHistoryTable, type VersionHistory, -} from '../../../../db/migration.js'; -import {expectTablesToMatch, initDB, testDBs} from '../../../../test/db.js'; -import type {PostgresDB} from '../../../../types/pg.js'; -import {initShardSchema, updateShardSchema} from './init.js'; +} from '../../../../db/migration.ts'; +import {expectTablesToMatch, initDB, testDBs} from '../../../../test/db.ts'; +import type {PostgresDB} from '../../../../types/pg.ts'; +import {initShardSchema, updateShardSchema} from './init.ts'; const SHARD_ID = 'shard_schema_test_id'; diff --git a/packages/zero-cache/src/services/change-source/pg/schema/init.ts b/packages/zero-cache/src/services/change-source/pg/schema/init.ts index 8240149681..d7e05fd229 100644 --- a/packages/zero-cache/src/services/change-source/pg/schema/init.ts +++ b/packages/zero-cache/src/services/change-source/pg/schema/init.ts @@ -4,15 +4,15 @@ import { runSchemaMigrations, type IncrementalMigrationMap, type Migration, -} from '../../../../db/migration.js'; -import type {PostgresDB} from '../../../../types/pg.js'; -import {AutoResetSignal} from '../../../change-streamer/schema/tables.js'; -import type {ShardConfig} from '../shard-config.js'; +} from '../../../../db/migration.ts'; +import type {PostgresDB} from '../../../../types/pg.ts'; +import {AutoResetSignal} from '../../../change-streamer/schema/tables.ts'; +import type {ShardConfig} from '../shard-config.ts'; import { dropShard, setupTablesAndReplication, unescapedSchema, -} from './shard.js'; +} from './shard.ts'; /** * Initializes a shard for initial sync. diff --git a/packages/zero-cache/src/services/change-source/pg/schema/published.pg-test.ts b/packages/zero-cache/src/services/change-source/pg/schema/published.pg-test.ts index 051194885b..42f984f6f0 100644 --- a/packages/zero-cache/src/services/change-source/pg/schema/published.pg-test.ts +++ b/packages/zero-cache/src/services/change-source/pg/schema/published.pg-test.ts @@ -1,9 +1,9 @@ import type postgres from 'postgres'; import {afterEach, beforeEach, describe, expect, test} from 'vitest'; -import {assert} from '../../../../../../shared/src/asserts.js'; -import * as PostgresTypeClass from '../../../../db/postgres-type-class-enum.js'; -import {testDBs} from '../../../../test/db.js'; -import {type PublicationInfo, getPublicationInfo} from './published.js'; +import {assert} from '../../../../../../shared/src/asserts.ts'; +import * as PostgresTypeClass from '../../../../db/postgres-type-class-enum.ts'; +import {testDBs} from '../../../../test/db.ts'; +import {type PublicationInfo, getPublicationInfo} from './published.ts'; describe('tables/published', () => { type Case = { diff --git a/packages/zero-cache/src/services/change-source/pg/schema/published.ts b/packages/zero-cache/src/services/change-source/pg/schema/published.ts index 5d13b876f2..37bd48a2e6 100644 --- a/packages/zero-cache/src/services/change-source/pg/schema/published.ts +++ b/packages/zero-cache/src/services/change-source/pg/schema/published.ts @@ -1,8 +1,8 @@ import {literal} from 'pg-format'; import type postgres from 'postgres'; -import {equals} from '../../../../../../shared/src/set-utils.js'; -import * as v from '../../../../../../shared/src/valita.js'; -import {publishedIndexSpec, publishedTableSpec} from '../../../../db/specs.js'; +import {equals} from '../../../../../../shared/src/set-utils.ts'; +import * as v from '../../../../../../shared/src/valita.ts'; +import {publishedIndexSpec, publishedTableSpec} from '../../../../db/specs.ts'; export function publishedTableQuery(publications: string[]) { return ` diff --git a/packages/zero-cache/src/services/change-source/pg/schema/shard.pg-test.ts b/packages/zero-cache/src/services/change-source/pg/schema/shard.pg-test.ts index d78cae2bea..bd9d0e1925 100644 --- a/packages/zero-cache/src/services/change-source/pg/schema/shard.pg-test.ts +++ b/packages/zero-cache/src/services/change-source/pg/schema/shard.pg-test.ts @@ -1,11 +1,11 @@ import {LogContext} from '@rocicorp/logger'; import {afterEach, beforeEach, describe, expect, test} from 'vitest'; -import {TestLogSink} from '../../../../../../shared/src/logging-test-utils.js'; -import {Index} from '../../../../db/postgres-replica-identity-enum.js'; -import {expectTables, initDB, testDBs} from '../../../../test/db.js'; -import type {PostgresDB} from '../../../../types/pg.js'; -import {getPublicationInfo} from './published.js'; -import {setupTablesAndReplication, validatePublications} from './shard.js'; +import {TestLogSink} from '../../../../../../shared/src/logging-test-utils.ts'; +import {Index} from '../../../../db/postgres-replica-identity-enum.ts'; +import {expectTables, initDB, testDBs} from '../../../../test/db.ts'; +import type {PostgresDB} from '../../../../types/pg.ts'; +import {getPublicationInfo} from './published.ts'; +import {setupTablesAndReplication, validatePublications} from './shard.ts'; describe('change-source/pg', () => { let logSink: TestLogSink; diff --git a/packages/zero-cache/src/services/change-source/pg/schema/shard.ts b/packages/zero-cache/src/services/change-source/pg/schema/shard.ts index da66823bba..6d94f0d718 100644 --- a/packages/zero-cache/src/services/change-source/pg/schema/shard.ts +++ b/packages/zero-cache/src/services/change-source/pg/schema/shard.ts @@ -2,20 +2,20 @@ import {PG_INSUFFICIENT_PRIVILEGE} from '@drdgvhbh/postgres-error-codes'; import type {LogContext} from '@rocicorp/logger'; import {literal} from 'pg-format'; import postgres from 'postgres'; -import {assert} from '../../../../../../shared/src/asserts.js'; -import * as v from '../../../../../../shared/src/valita.js'; -import {Default} from '../../../../db/postgres-replica-identity-enum.js'; -import type {PostgresDB, PostgresTransaction} from '../../../../types/pg.js'; -import {id} from '../../../../types/sql.js'; -import type {ShardConfig} from '../shard-config.js'; -import {createEventTriggerStatements} from './ddl.js'; +import {assert} from '../../../../../../shared/src/asserts.ts'; +import * as v from '../../../../../../shared/src/valita.ts'; +import {Default} from '../../../../db/postgres-replica-identity-enum.ts'; +import type {PostgresDB, PostgresTransaction} from '../../../../types/pg.ts'; +import {id} from '../../../../types/sql.ts'; +import type {ShardConfig} from '../shard-config.ts'; +import {createEventTriggerStatements} from './ddl.ts'; import { getPublicationInfo, publishedSchema, type PublicationInfo, type PublishedSchema, -} from './published.js'; -import {validate} from './validation.js'; +} from './published.ts'; +import {validate} from './validation.ts'; // Creates a function that appends `_SHARD_ID` to the input. export function append(shardID: string) { diff --git a/packages/zero-cache/src/services/change-source/pg/schema/validation.pg-test.ts b/packages/zero-cache/src/services/change-source/pg/schema/validation.pg-test.ts index 05c17e873b..2331071501 100644 --- a/packages/zero-cache/src/services/change-source/pg/schema/validation.pg-test.ts +++ b/packages/zero-cache/src/services/change-source/pg/schema/validation.pg-test.ts @@ -1,9 +1,9 @@ import {afterEach, beforeEach, describe, expect, test} from 'vitest'; -import {createSilentLogContext} from '../../../../../../shared/src/logging-test-utils.js'; -import {initDB, testDBs} from '../../../../test/db.js'; -import type {PostgresDB} from '../../../../types/pg.js'; -import {getPublicationInfo} from './published.js'; -import {UnsupportedTableSchemaError, validate} from './validation.js'; +import {createSilentLogContext} from '../../../../../../shared/src/logging-test-utils.ts'; +import {initDB, testDBs} from '../../../../test/db.ts'; +import type {PostgresDB} from '../../../../types/pg.ts'; +import {getPublicationInfo} from './published.ts'; +import {UnsupportedTableSchemaError, validate} from './validation.ts'; describe('change-source/pg', () => { const lc = createSilentLogContext(); diff --git a/packages/zero-cache/src/services/change-source/pg/schema/validation.ts b/packages/zero-cache/src/services/change-source/pg/schema/validation.ts index 7cb51503ff..ea30d84b60 100644 --- a/packages/zero-cache/src/services/change-source/pg/schema/validation.ts +++ b/packages/zero-cache/src/services/change-source/pg/schema/validation.ts @@ -2,11 +2,11 @@ import type {LogContext} from '@rocicorp/logger'; import { mapPostgresToLite, warnIfDataTypeSupported, -} from '../../../../db/pg-to-lite.js'; -import {Default} from '../../../../db/postgres-replica-identity-enum.js'; -import type {PublishedTableSpec} from '../../../../db/specs.js'; -import {ZERO_VERSION_COLUMN_NAME} from '../../../replicator/schema/replication-state.js'; -import {unescapedSchema} from './shard.js'; +} from '../../../../db/pg-to-lite.ts'; +import {Default} from '../../../../db/postgres-replica-identity-enum.ts'; +import type {PublishedTableSpec} from '../../../../db/specs.ts'; +import {ZERO_VERSION_COLUMN_NAME} from '../../../replicator/schema/replication-state.ts'; +import {unescapedSchema} from './shard.ts'; const ALLOWED_IDENTIFIER_CHARS = /^[A-Za-z_]+[A-Za-z0-9_-]*$/; diff --git a/packages/zero-cache/src/services/change-source/pg/sync-schema.pg-test.ts b/packages/zero-cache/src/services/change-source/pg/sync-schema.pg-test.ts index 468646d5b6..e3cc7204f6 100644 --- a/packages/zero-cache/src/services/change-source/pg/sync-schema.pg-test.ts +++ b/packages/zero-cache/src/services/change-source/pg/sync-schema.pg-test.ts @@ -1,20 +1,20 @@ import {afterEach, beforeEach, describe, expect, test} from 'vitest'; -import {createSilentLogContext} from '../../../../../shared/src/logging-test-utils.js'; +import {createSilentLogContext} from '../../../../../shared/src/logging-test-utils.ts'; import { expectTables, getConnectionURI, initDB, testDBs, -} from '../../../test/db.js'; +} from '../../../test/db.ts'; import { DbFile, expectTables as expectLiteTables, expectMatchingObjectsInTables, initDB as initLiteDB, -} from '../../../test/lite.js'; -import type {PostgresDB} from '../../../types/pg.js'; -import {replicationSlot} from './initial-sync.js'; -import {initSyncSchema} from './sync-schema.js'; +} from '../../../test/lite.ts'; +import type {PostgresDB} from '../../../types/pg.ts'; +import {replicationSlot} from './initial-sync.ts'; +import {initSyncSchema} from './sync-schema.ts'; const SHARD_ID = 'sync_schema_test_id'; diff --git a/packages/zero-cache/src/services/change-source/pg/sync-schema.ts b/packages/zero-cache/src/services/change-source/pg/sync-schema.ts index cc1c794aa6..a1f8f867b7 100644 --- a/packages/zero-cache/src/services/change-source/pg/sync-schema.ts +++ b/packages/zero-cache/src/services/change-source/pg/sync-schema.ts @@ -4,10 +4,10 @@ import { runSchemaMigrations, type IncrementalMigrationMap, type Migration, -} from '../../../db/migration-lite.js'; -import {AutoResetSignal} from '../../change-streamer/schema/tables.js'; -import {initialSync, type InitialSyncOptions} from './initial-sync.js'; -import type {ShardConfig} from './shard-config.js'; +} from '../../../db/migration-lite.ts'; +import {AutoResetSignal} from '../../change-streamer/schema/tables.ts'; +import {initialSync, type InitialSyncOptions} from './initial-sync.ts'; +import type {ShardConfig} from './shard-config.ts'; export async function initSyncSchema( log: LogContext, diff --git a/packages/zero-cache/src/services/change-source/protocol/current/control.ts b/packages/zero-cache/src/services/change-source/protocol/current/control.ts index d8a2717fb7..5815787ed5 100644 --- a/packages/zero-cache/src/services/change-source/protocol/current/control.ts +++ b/packages/zero-cache/src/services/change-source/protocol/current/control.ts @@ -3,7 +3,7 @@ * ChangeSource and ChangeStreamer. These are not forwarded to subscribers * of the ChangeStreamer. */ -import * as v from '../../../../../../shared/src/valita.js'; +import * as v from '../../../../../../shared/src/valita.ts'; /** * Indicates that replication cannot continue and that the replica must be resynced diff --git a/packages/zero-cache/src/services/change-source/protocol/current/data.ts b/packages/zero-cache/src/services/change-source/protocol/current/data.ts index ac05305993..8fcb24cd1e 100644 --- a/packages/zero-cache/src/services/change-source/protocol/current/data.ts +++ b/packages/zero-cache/src/services/change-source/protocol/current/data.ts @@ -4,13 +4,13 @@ * stored in the Change DB for catchup of old subscribers. */ -import * as v from '../../../../../../shared/src/valita.js'; -import {columnSpec, indexSpec, tableSpec} from '../../../../db/specs.js'; +import * as v from '../../../../../../shared/src/valita.ts'; +import {columnSpec, indexSpec, tableSpec} from '../../../../db/specs.ts'; import { jsonValueSchema, type JSONObject, -} from '../../../../types/bigint-json.js'; -import type {Satisfies} from '../../../../types/satisfies.js'; +} from '../../../../types/bigint-json.ts'; +import type {Satisfies} from '../../../../types/satisfies.ts'; export const beginSchema = v.object({ tag: v.literal('begin'), diff --git a/packages/zero-cache/src/services/change-source/protocol/current/downstream.ts b/packages/zero-cache/src/services/change-source/protocol/current/downstream.ts index aca6cf2c9e..21d9219946 100644 --- a/packages/zero-cache/src/services/change-source/protocol/current/downstream.ts +++ b/packages/zero-cache/src/services/change-source/protocol/current/downstream.ts @@ -1,12 +1,12 @@ -import * as v from '../../../../../../shared/src/valita.js'; -import {resetRequiredSchema} from './control.js'; +import * as v from '../../../../../../shared/src/valita.ts'; +import {resetRequiredSchema} from './control.ts'; import { beginSchema, commitSchema, dataChangeSchema, rollbackSchema, -} from './data.js'; -import {statusMessageSchema} from './status.js'; +} from './data.ts'; +import {statusMessageSchema} from './status.ts'; const begin = v.tuple([ v.literal('begin'), diff --git a/packages/zero-cache/src/services/change-source/protocol/current/mod.ts b/packages/zero-cache/src/services/change-source/protocol/current/mod.ts index 9f7b01ffd9..4a9289a235 100644 --- a/packages/zero-cache/src/services/change-source/protocol/current/mod.ts +++ b/packages/zero-cache/src/services/change-source/protocol/current/mod.ts @@ -1,6 +1,6 @@ -export * from './control.js'; -export * from './data.js'; -export * from './downstream.js'; -export * from './path.js'; -export * from './status.js'; -export * from './upstream.js'; +export * from './control.ts'; +export * from './data.ts'; +export * from './downstream.ts'; +export * from './path.ts'; +export * from './status.ts'; +export * from './upstream.ts'; diff --git a/packages/zero-cache/src/services/change-source/protocol/current/status.ts b/packages/zero-cache/src/services/change-source/protocol/current/status.ts index 3bbccbca54..58a4b85851 100644 --- a/packages/zero-cache/src/services/change-source/protocol/current/status.ts +++ b/packages/zero-cache/src/services/change-source/protocol/current/status.ts @@ -1,4 +1,4 @@ -import * as v from '../../../../../../shared/src/valita.js'; +import * as v from '../../../../../../shared/src/valita.ts'; /** * The StatusMessage payload itself is unspecified. The `zero-cache` will diff --git a/packages/zero-cache/src/services/change-source/protocol/current/upstream.ts b/packages/zero-cache/src/services/change-source/protocol/current/upstream.ts index d495aac2fa..97296d603b 100644 --- a/packages/zero-cache/src/services/change-source/protocol/current/upstream.ts +++ b/packages/zero-cache/src/services/change-source/protocol/current/upstream.ts @@ -1,5 +1,5 @@ -import * as v from '../../../../../../shared/src/valita.js'; -import {statusMessageSchema} from './status.js'; +import * as v from '../../../../../../shared/src/valita.ts'; +import {statusMessageSchema} from './status.ts'; /** At the moment, the only upstream messages are status messages. */ export const changeSourceUpstreamSchema = statusMessageSchema; diff --git a/packages/zero-cache/src/services/change-source/protocol/mod.ts b/packages/zero-cache/src/services/change-source/protocol/mod.ts index 4808455ed9..5e0f2e9790 100644 --- a/packages/zero-cache/src/services/change-source/protocol/mod.ts +++ b/packages/zero-cache/src/services/change-source/protocol/mod.ts @@ -1,4 +1,4 @@ // Types are externally exported under stable versions. Code within // zero-cache, on the contrary, should reference the files in // current/* so that it is versioned with the latest version. -export * as v0 from './current/mod.js'; +export * as v0 from './current/mod.ts'; diff --git a/packages/zero-cache/src/services/change-source/protocol/version.test.ts b/packages/zero-cache/src/services/change-source/protocol/version.test.ts index 798eb46bd2..6fef0f01c9 100644 --- a/packages/zero-cache/src/services/change-source/protocol/version.test.ts +++ b/packages/zero-cache/src/services/change-source/protocol/version.test.ts @@ -1,9 +1,9 @@ import {expect, test} from 'vitest'; -import {h64} from '../../../../../shared/src/hash.js'; -import {changeStreamMessageSchema} from './current/downstream.js'; -import {CHANGE_SOURCE_PATH} from './current/path.js'; -import {changeSourceUpstreamSchema} from './current/upstream.js'; -import {v0} from './mod.js'; +import {h64} from '../../../../../shared/src/hash.ts'; +import {changeStreamMessageSchema} from './current/downstream.ts'; +import {CHANGE_SOURCE_PATH} from './current/path.ts'; +import {changeSourceUpstreamSchema} from './current/upstream.ts'; +import {v0} from './mod.ts'; function t( module: { diff --git a/packages/zero-cache/src/services/change-streamer/change-streamer-http.test.ts b/packages/zero-cache/src/services/change-streamer/change-streamer-http.test.ts index b88f86e994..41cc66748d 100644 --- a/packages/zero-cache/src/services/change-streamer/change-streamer-http.test.ts +++ b/packages/zero-cache/src/services/change-streamer/change-streamer-http.test.ts @@ -10,19 +10,19 @@ import { vi, } from 'vitest'; import WebSocket from 'ws'; -import {createSilentLogContext} from '../../../../shared/src/logging-test-utils.js'; -import {inProcChannel} from '../../types/processes.js'; -import type {Source} from '../../types/streams.js'; -import {Subscription} from '../../types/subscription.js'; -import {installWebSocketHandoff} from '../dispatcher/websocket-handoff.js'; -import {HttpService} from '../http-service.js'; -import {ReplicationMessages} from '../replicator/test-utils.js'; +import {createSilentLogContext} from '../../../../shared/src/logging-test-utils.ts'; +import {inProcChannel} from '../../types/processes.ts'; +import type {Source} from '../../types/streams.ts'; +import {Subscription} from '../../types/subscription.ts'; +import {installWebSocketHandoff} from '../dispatcher/websocket-handoff.ts'; +import {HttpService} from '../http-service.ts'; +import {ReplicationMessages} from '../replicator/test-utils.ts'; import { ChangeStreamerHttpClient, ChangeStreamerHttpServer, getSubscriberContext, -} from './change-streamer-http.js'; -import type {Downstream, SubscriberContext} from './change-streamer.js'; +} from './change-streamer-http.ts'; +import type {Downstream, SubscriberContext} from './change-streamer.ts'; describe('change-streamer/http', () => { let lc: LogContext; diff --git a/packages/zero-cache/src/services/change-streamer/change-streamer-http.ts b/packages/zero-cache/src/services/change-streamer/change-streamer-http.ts index 38a480dacd..baaff852b0 100644 --- a/packages/zero-cache/src/services/change-streamer/change-streamer-http.ts +++ b/packages/zero-cache/src/services/change-streamer/change-streamer-http.ts @@ -2,18 +2,18 @@ import websocket from '@fastify/websocket'; import {LogContext} from '@rocicorp/logger'; import {IncomingMessage} from 'node:http'; import WebSocket from 'ws'; -import {type Worker} from '../../types/processes.js'; -import {streamIn, streamOut, type Source} from '../../types/streams.js'; -import {URLParams} from '../../types/url-params.js'; -import {closeWithProtocolError} from '../../types/ws.js'; -import {installWebSocketReceiver} from '../dispatcher/websocket-handoff.js'; -import {HttpService, type Options} from '../http-service.js'; +import {type Worker} from '../../types/processes.ts'; +import {streamIn, streamOut, type Source} from '../../types/streams.ts'; +import {URLParams} from '../../types/url-params.ts'; +import {closeWithProtocolError} from '../../types/ws.ts'; +import {installWebSocketReceiver} from '../dispatcher/websocket-handoff.ts'; +import {HttpService, type Options} from '../http-service.ts'; import { downstreamSchema, type ChangeStreamer, type Downstream, type SubscriberContext, -} from './change-streamer.js'; +} from './change-streamer.ts'; const DIRECT_PATH_PATTERN = '/replication/:version/changes'; const TENANT_PATH_PATTERN = '/:tenant' + DIRECT_PATH_PATTERN; diff --git a/packages/zero-cache/src/services/change-streamer/change-streamer-service.pg-test.ts b/packages/zero-cache/src/services/change-streamer/change-streamer-service.pg-test.ts index c3785aa37f..3bbc933956 100644 --- a/packages/zero-cache/src/services/change-streamer/change-streamer-service.pg-test.ts +++ b/packages/zero-cache/src/services/change-streamer/change-streamer-service.pg-test.ts @@ -9,35 +9,35 @@ import { vi, type Mock, } from 'vitest'; -import {AbortError} from '../../../../shared/src/abort-error.js'; -import {assert} from '../../../../shared/src/asserts.js'; -import {createSilentLogContext} from '../../../../shared/src/logging-test-utils.js'; -import {Queue} from '../../../../shared/src/queue.js'; -import {Database} from '../../../../zqlite/src/db.js'; -import {StatementRunner} from '../../db/statements.js'; -import {testDBs} from '../../test/db.js'; -import type {PostgresDB} from '../../types/pg.js'; -import type {Source} from '../../types/streams.js'; -import {Subscription} from '../../types/subscription.js'; -import {type ChangeStreamMessage} from '../change-source/protocol/current/downstream.js'; -import type {StatusMessage} from '../change-source/protocol/current/status.js'; +import {AbortError} from '../../../../shared/src/abort-error.ts'; +import {assert} from '../../../../shared/src/asserts.ts'; +import {createSilentLogContext} from '../../../../shared/src/logging-test-utils.ts'; +import {Queue} from '../../../../shared/src/queue.ts'; +import {Database} from '../../../../zqlite/src/db.ts'; +import {StatementRunner} from '../../db/statements.ts'; +import {testDBs} from '../../test/db.ts'; +import type {PostgresDB} from '../../types/pg.ts'; +import type {Source} from '../../types/streams.ts'; +import {Subscription} from '../../types/subscription.ts'; +import {type ChangeStreamMessage} from '../change-source/protocol/current/downstream.ts'; +import type {StatusMessage} from '../change-source/protocol/current/status.ts'; import { getSubscriptionState, initReplicationState, -} from '../replicator/schema/replication-state.js'; -import {ReplicationMessages} from '../replicator/test-utils.js'; -import {initializeStreamer} from './change-streamer-service.js'; +} from '../replicator/schema/replication-state.ts'; +import {ReplicationMessages} from '../replicator/test-utils.ts'; +import {initializeStreamer} from './change-streamer-service.ts'; import { type ChangeStreamerService, type Downstream, -} from './change-streamer.js'; -import * as ErrorType from './error-type-enum.js'; +} from './change-streamer.ts'; +import * as ErrorType from './error-type-enum.ts'; import { AutoResetSignal, ensureReplicationConfig, type ChangeLogEntry, type ReplicationConfig, -} from './schema/tables.js'; +} from './schema/tables.ts'; describe('change-streamer/service', () => { let lc: LogContext; diff --git a/packages/zero-cache/src/services/change-streamer/change-streamer-service.ts b/packages/zero-cache/src/services/change-streamer/change-streamer-service.ts index 2e38e4ea4e..a9f8b95218 100644 --- a/packages/zero-cache/src/services/change-streamer/change-streamer-service.ts +++ b/packages/zero-cache/src/services/change-streamer/change-streamer-service.ts @@ -1,42 +1,42 @@ import {LogContext} from '@rocicorp/logger'; import {resolver} from '@rocicorp/resolver'; -import {unreachable} from '../../../../shared/src/asserts.js'; +import {unreachable} from '../../../../shared/src/asserts.ts'; import { min, type AtLeastOne, type LexiVersion, -} from '../../types/lexi-version.js'; -import type {PostgresDB} from '../../types/pg.js'; -import type {Sink, Source} from '../../types/streams.js'; -import {Subscription} from '../../types/subscription.js'; -import {orTimeout} from '../../types/timeout.js'; +} from '../../types/lexi-version.ts'; +import type {PostgresDB} from '../../types/pg.ts'; +import type {Sink, Source} from '../../types/streams.ts'; +import {Subscription} from '../../types/subscription.ts'; +import {orTimeout} from '../../types/timeout.ts'; import { type ChangeStreamControl, type ChangeStreamData, type ChangeStreamMessage, -} from '../change-source/protocol/current/downstream.js'; -import type {ChangeSourceUpstream} from '../change-source/protocol/current/upstream.js'; +} from '../change-source/protocol/current/downstream.ts'; +import type {ChangeSourceUpstream} from '../change-source/protocol/current/upstream.ts'; import { DEFAULT_MAX_RETRY_DELAY_MS, RunningState, UnrecoverableError, -} from '../running-state.js'; +} from '../running-state.ts'; import { type ChangeStreamerService, type Downstream, type SubscriberContext, -} from './change-streamer.js'; -import * as ErrorType from './error-type-enum.js'; -import {Forwarder} from './forwarder.js'; -import {initChangeStreamerSchema} from './schema/init.js'; +} from './change-streamer.ts'; +import * as ErrorType from './error-type-enum.ts'; +import {Forwarder} from './forwarder.ts'; +import {initChangeStreamerSchema} from './schema/init.ts'; import { AutoResetSignal, ensureReplicationConfig, markResetRequired, type ReplicationConfig, -} from './schema/tables.js'; -import {Storer} from './storer.js'; -import {Subscriber} from './subscriber.js'; +} from './schema/tables.ts'; +import {Storer} from './storer.ts'; +import {Subscriber} from './subscriber.ts'; /** * Performs initialization and schema migrations to initialize a ChangeStreamerImpl. diff --git a/packages/zero-cache/src/services/change-streamer/change-streamer.ts b/packages/zero-cache/src/services/change-streamer/change-streamer.ts index fd8fa22419..729b2c5c4e 100644 --- a/packages/zero-cache/src/services/change-streamer/change-streamer.ts +++ b/packages/zero-cache/src/services/change-streamer/change-streamer.ts @@ -1,9 +1,9 @@ -import * as v from '../../../../shared/src/valita.js'; -import type {Source} from '../../types/streams.js'; -import {type Change} from '../change-source/protocol/current/data.js'; -import {changeStreamDataSchema} from '../change-source/protocol/current/downstream.js'; -import type {ReplicatorMode} from '../replicator/replicator.js'; -import type {Service} from '../service.js'; +import * as v from '../../../../shared/src/valita.ts'; +import type {Source} from '../../types/streams.ts'; +import {type Change} from '../change-source/protocol/current/data.ts'; +import {changeStreamDataSchema} from '../change-source/protocol/current/downstream.ts'; +import type {ReplicatorMode} from '../replicator/replicator.ts'; +import type {Service} from '../service.ts'; /** * The ChangeStreamer is the component between replicators ("subscribers") diff --git a/packages/zero-cache/src/services/change-streamer/forwarder.test.ts b/packages/zero-cache/src/services/change-streamer/forwarder.test.ts index 794d8ae35f..3e488565f1 100644 --- a/packages/zero-cache/src/services/change-streamer/forwarder.test.ts +++ b/packages/zero-cache/src/services/change-streamer/forwarder.test.ts @@ -1,7 +1,7 @@ import {describe, expect, test} from 'vitest'; -import {ReplicationMessages} from '../replicator/test-utils.js'; -import {Forwarder} from './forwarder.js'; -import {createSubscriber} from './test-utils.js'; +import {ReplicationMessages} from '../replicator/test-utils.ts'; +import {Forwarder} from './forwarder.ts'; +import {createSubscriber} from './test-utils.ts'; describe('change-streamer/forwarder', () => { const messages = new ReplicationMessages({issues: 'id'}); diff --git a/packages/zero-cache/src/services/change-streamer/forwarder.ts b/packages/zero-cache/src/services/change-streamer/forwarder.ts index 229715afcc..e44b1b18ed 100644 --- a/packages/zero-cache/src/services/change-streamer/forwarder.ts +++ b/packages/zero-cache/src/services/change-streamer/forwarder.ts @@ -1,6 +1,6 @@ -import {joinIterables, wrapIterable} from '../../../../shared/src/iterables.js'; -import type {WatermarkedChange} from './change-streamer-service.js'; -import {Subscriber} from './subscriber.js'; +import {joinIterables, wrapIterable} from '../../../../shared/src/iterables.ts'; +import type {WatermarkedChange} from './change-streamer-service.ts'; +import {Subscriber} from './subscriber.ts'; export class Forwarder { readonly #active = new Set(); diff --git a/packages/zero-cache/src/services/change-streamer/schema/init.ts b/packages/zero-cache/src/services/change-streamer/schema/init.ts index 78119367db..cdb3814075 100644 --- a/packages/zero-cache/src/services/change-streamer/schema/init.ts +++ b/packages/zero-cache/src/services/change-streamer/schema/init.ts @@ -3,9 +3,9 @@ import { runSchemaMigrations, type IncrementalMigrationMap, type Migration, -} from '../../../db/migration.js'; -import type {PostgresDB, PostgresTransaction} from '../../../types/pg.js'; -import {PG_SCHEMA, setupCDCTables} from './tables.js'; +} from '../../../db/migration.ts'; +import type {PostgresDB, PostgresTransaction} from '../../../types/pg.ts'; +import {PG_SCHEMA, setupCDCTables} from './tables.ts'; const setupMigration: Migration = { migrateSchema: setupCDCTables, diff --git a/packages/zero-cache/src/services/change-streamer/schema/tables.pg-test.ts b/packages/zero-cache/src/services/change-streamer/schema/tables.pg-test.ts index 62ac1eff1d..cd207719c9 100644 --- a/packages/zero-cache/src/services/change-streamer/schema/tables.pg-test.ts +++ b/packages/zero-cache/src/services/change-streamer/schema/tables.pg-test.ts @@ -1,15 +1,15 @@ import {afterEach, beforeEach, describe, expect, test} from 'vitest'; -import {createSilentLogContext} from '../../../../../shared/src/logging-test-utils.js'; -import {Database} from '../../../../../zqlite/src/db.js'; -import {expectTables, testDBs} from '../../../test/db.js'; -import type {PostgresDB} from '../../../types/pg.js'; -import {initReplicationState} from '../../replicator/schema/replication-state.js'; +import {createSilentLogContext} from '../../../../../shared/src/logging-test-utils.ts'; +import {Database} from '../../../../../zqlite/src/db.ts'; +import {expectTables, testDBs} from '../../../test/db.ts'; +import type {PostgresDB} from '../../../types/pg.ts'; +import {initReplicationState} from '../../replicator/schema/replication-state.ts'; import { AutoResetSignal, ensureReplicationConfig, markResetRequired, setupCDCTables, -} from './tables.js'; +} from './tables.ts'; describe('change-streamer/schema/tables', () => { const lc = createSilentLogContext(); diff --git a/packages/zero-cache/src/services/change-streamer/schema/tables.ts b/packages/zero-cache/src/services/change-streamer/schema/tables.ts index 14e4529f91..b102f96a72 100644 --- a/packages/zero-cache/src/services/change-streamer/schema/tables.ts +++ b/packages/zero-cache/src/services/change-streamer/schema/tables.ts @@ -1,9 +1,9 @@ import {LogContext} from '@rocicorp/logger'; import postgres from 'postgres'; -import {AbortError} from '../../../../../shared/src/abort-error.js'; -import {equals} from '../../../../../shared/src/set-utils.js'; -import type {PostgresDB} from '../../../types/pg.js'; -import type {Change} from '../../change-source/protocol/current/data.js'; +import {AbortError} from '../../../../../shared/src/abort-error.ts'; +import {equals} from '../../../../../shared/src/set-utils.ts'; +import type {PostgresDB} from '../../../types/pg.ts'; +import type {Change} from '../../change-source/protocol/current/data.ts'; export const PG_SCHEMA = 'cdc'; diff --git a/packages/zero-cache/src/services/change-streamer/storer.pg-test.ts b/packages/zero-cache/src/services/change-streamer/storer.pg-test.ts index 5ba013ce4b..31bfc1ebfb 100644 --- a/packages/zero-cache/src/services/change-streamer/storer.pg-test.ts +++ b/packages/zero-cache/src/services/change-streamer/storer.pg-test.ts @@ -1,18 +1,18 @@ import {afterEach, beforeEach, describe, expect, test} from 'vitest'; -import {createSilentLogContext} from '../../../../shared/src/logging-test-utils.js'; -import {Queue} from '../../../../shared/src/queue.js'; -import {sleep} from '../../../../shared/src/sleep.js'; -import {testDBs} from '../../test/db.js'; -import type {PostgresDB} from '../../types/pg.js'; -import {Subscription} from '../../types/subscription.js'; -import {type Commit} from '../change-source/protocol/current/downstream.js'; -import type {StatusMessage} from '../change-source/protocol/current/status.js'; -import {ReplicationMessages} from '../replicator/test-utils.js'; -import {type Downstream} from './change-streamer.js'; -import * as ErrorType from './error-type-enum.js'; -import {setupCDCTables} from './schema/tables.js'; -import {Storer} from './storer.js'; -import {createSubscriber} from './test-utils.js'; +import {createSilentLogContext} from '../../../../shared/src/logging-test-utils.ts'; +import {Queue} from '../../../../shared/src/queue.ts'; +import {sleep} from '../../../../shared/src/sleep.ts'; +import {testDBs} from '../../test/db.ts'; +import type {PostgresDB} from '../../types/pg.ts'; +import {Subscription} from '../../types/subscription.ts'; +import {type Commit} from '../change-source/protocol/current/downstream.ts'; +import type {StatusMessage} from '../change-source/protocol/current/status.ts'; +import {ReplicationMessages} from '../replicator/test-utils.ts'; +import {type Downstream} from './change-streamer.ts'; +import * as ErrorType from './error-type-enum.ts'; +import {setupCDCTables} from './schema/tables.ts'; +import {Storer} from './storer.ts'; +import {createSubscriber} from './test-utils.ts'; describe('change-streamer/storer', () => { const lc = createSilentLogContext(); diff --git a/packages/zero-cache/src/services/change-streamer/storer.ts b/packages/zero-cache/src/services/change-streamer/storer.ts index 8c0e57048a..25533b9d68 100644 --- a/packages/zero-cache/src/services/change-streamer/storer.ts +++ b/packages/zero-cache/src/services/change-streamer/storer.ts @@ -1,19 +1,19 @@ import {LogContext} from '@rocicorp/logger'; import {resolver} from '@rocicorp/resolver'; -import {assert} from '../../../../shared/src/asserts.js'; -import {Queue} from '../../../../shared/src/queue.js'; -import {promiseVoid} from '../../../../shared/src/resolved-promises.js'; -import * as Mode from '../../db/mode-enum.js'; -import {TransactionPool} from '../../db/transaction-pool.js'; -import type {JSONValue} from '../../types/bigint-json.js'; -import type {PostgresDB} from '../../types/pg.js'; -import {type Commit} from '../change-source/protocol/current/downstream.js'; -import type {StatusMessage} from '../change-source/protocol/current/status.js'; -import type {Service} from '../service.js'; -import type {WatermarkedChange} from './change-streamer-service.js'; -import {type ChangeEntry} from './change-streamer.js'; -import * as ErrorType from './error-type-enum.js'; -import {Subscriber} from './subscriber.js'; +import {assert} from '../../../../shared/src/asserts.ts'; +import {Queue} from '../../../../shared/src/queue.ts'; +import {promiseVoid} from '../../../../shared/src/resolved-promises.ts'; +import * as Mode from '../../db/mode-enum.ts'; +import {TransactionPool} from '../../db/transaction-pool.ts'; +import type {JSONValue} from '../../types/bigint-json.ts'; +import type {PostgresDB} from '../../types/pg.ts'; +import {type Commit} from '../change-source/protocol/current/downstream.ts'; +import type {StatusMessage} from '../change-source/protocol/current/status.ts'; +import type {Service} from '../service.ts'; +import type {WatermarkedChange} from './change-streamer-service.ts'; +import {type ChangeEntry} from './change-streamer.ts'; +import * as ErrorType from './error-type-enum.ts'; +import {Subscriber} from './subscriber.ts'; type QueueEntry = | ['change', WatermarkedChange] diff --git a/packages/zero-cache/src/services/change-streamer/subscriber.test.ts b/packages/zero-cache/src/services/change-streamer/subscriber.test.ts index a09916da08..ee687bb0b2 100644 --- a/packages/zero-cache/src/services/change-streamer/subscriber.test.ts +++ b/packages/zero-cache/src/services/change-streamer/subscriber.test.ts @@ -1,6 +1,6 @@ import {describe, expect, test} from 'vitest'; -import {ReplicationMessages} from '../replicator/test-utils.js'; -import {createSubscriber} from './test-utils.js'; +import {ReplicationMessages} from '../replicator/test-utils.ts'; +import {createSubscriber} from './test-utils.ts'; describe('change-streamer/subscriber', () => { const messages = new ReplicationMessages({issues: 'id'}); diff --git a/packages/zero-cache/src/services/change-streamer/subscriber.ts b/packages/zero-cache/src/services/change-streamer/subscriber.ts index 8aefc132a4..0a5528debc 100644 --- a/packages/zero-cache/src/services/change-streamer/subscriber.ts +++ b/packages/zero-cache/src/services/change-streamer/subscriber.ts @@ -1,10 +1,10 @@ -import {assert} from '../../../../shared/src/asserts.js'; -import type {Enum} from '../../../../shared/src/enum.js'; -import {max} from '../../types/lexi-version.js'; -import {Subscription} from '../../types/subscription.js'; -import type {WatermarkedChange} from './change-streamer-service.js'; -import {type Downstream} from './change-streamer.js'; -import * as ErrorType from './error-type-enum.js'; +import {assert} from '../../../../shared/src/asserts.ts'; +import type {Enum} from '../../../../shared/src/enum.ts'; +import {max} from '../../types/lexi-version.ts'; +import {Subscription} from '../../types/subscription.ts'; +import type {WatermarkedChange} from './change-streamer-service.ts'; +import {type Downstream} from './change-streamer.ts'; +import * as ErrorType from './error-type-enum.ts'; type ErrorType = Enum; diff --git a/packages/zero-cache/src/services/change-streamer/test-utils.ts b/packages/zero-cache/src/services/change-streamer/test-utils.ts index c5313bf640..ddd440f637 100644 --- a/packages/zero-cache/src/services/change-streamer/test-utils.ts +++ b/packages/zero-cache/src/services/change-streamer/test-utils.ts @@ -1,6 +1,6 @@ -import {Subscription} from '../../types/subscription.js'; -import type {Downstream} from './change-streamer.js'; -import {Subscriber} from './subscriber.js'; +import {Subscription} from '../../types/subscription.ts'; +import type {Downstream} from './change-streamer.ts'; +import {Subscriber} from './subscriber.ts'; let nextID = 1; diff --git a/packages/zero-cache/src/services/dispatcher/connect-params.ts b/packages/zero-cache/src/services/dispatcher/connect-params.ts index fc037013ee..2a08f6d037 100644 --- a/packages/zero-cache/src/services/dispatcher/connect-params.ts +++ b/packages/zero-cache/src/services/dispatcher/connect-params.ts @@ -1,10 +1,10 @@ import type {IncomingHttpHeaders} from 'node:http2'; -import {must} from '../../../../shared/src/must.js'; +import {must} from '../../../../shared/src/must.ts'; import { decodeSecProtocols, type InitConnectionMessage, -} from '../../../../zero-protocol/src/connect.js'; -import {URLParams} from '../../types/url-params.js'; +} from '../../../../zero-protocol/src/connect.ts'; +import {URLParams} from '../../types/url-params.ts'; export type ConnectParams = { readonly protocolVersion: number; diff --git a/packages/zero-cache/src/services/dispatcher/sync-dispatcher.test.ts b/packages/zero-cache/src/services/dispatcher/sync-dispatcher.test.ts index 3b59a68293..f50dcb4ced 100644 --- a/packages/zero-cache/src/services/dispatcher/sync-dispatcher.test.ts +++ b/packages/zero-cache/src/services/dispatcher/sync-dispatcher.test.ts @@ -1,5 +1,5 @@ import {expect, test} from 'vitest'; -import {parseSyncPath} from './sync-dispatcher.js'; +import {parseSyncPath} from './sync-dispatcher.ts'; test.each([ ['/sync/v1/connect', {version: '1'}], diff --git a/packages/zero-cache/src/services/dispatcher/sync-dispatcher.ts b/packages/zero-cache/src/services/dispatcher/sync-dispatcher.ts index 1cb189a602..bea8bf71e8 100644 --- a/packages/zero-cache/src/services/dispatcher/sync-dispatcher.ts +++ b/packages/zero-cache/src/services/dispatcher/sync-dispatcher.ts @@ -1,11 +1,11 @@ import {LogContext} from '@rocicorp/logger'; import UrlPattern from 'url-pattern'; -import {h32} from '../../../../shared/src/hash.js'; -import type {IncomingMessageSubset} from '../../types/http.js'; -import type {Worker} from '../../types/processes.js'; -import {HttpService, type Options} from '../http-service.js'; -import {getConnectParams} from './connect-params.js'; -import {installWebSocketHandoff} from './websocket-handoff.js'; +import {h32} from '../../../../shared/src/hash.ts'; +import type {IncomingMessageSubset} from '../../types/http.ts'; +import type {Worker} from '../../types/processes.ts'; +import {HttpService, type Options} from '../http-service.ts'; +import {getConnectParams} from './connect-params.ts'; +import {installWebSocketHandoff} from './websocket-handoff.ts'; // The server allows the client to use any /:base/ path to facilitate // servicing requests on the same domain as the application. diff --git a/packages/zero-cache/src/services/dispatcher/websocket-handoff.test.ts b/packages/zero-cache/src/services/dispatcher/websocket-handoff.test.ts index 19be267a03..29eae28378 100644 --- a/packages/zero-cache/src/services/dispatcher/websocket-handoff.test.ts +++ b/packages/zero-cache/src/services/dispatcher/websocket-handoff.test.ts @@ -2,13 +2,13 @@ import {resolver} from '@rocicorp/resolver'; import {Server} from 'node:http'; import {afterAll, afterEach, beforeAll, describe, expect, test} from 'vitest'; import {WebSocket, WebSocketServer, type RawData} from 'ws'; -import {createSilentLogContext} from '../../../../shared/src/logging-test-utils.js'; -import {randInt} from '../../../../shared/src/rand.js'; -import {inProcChannel} from '../../types/processes.js'; +import {createSilentLogContext} from '../../../../shared/src/logging-test-utils.ts'; +import {randInt} from '../../../../shared/src/rand.ts'; +import {inProcChannel} from '../../types/processes.ts'; import { installWebSocketHandoff, installWebSocketReceiver, -} from './websocket-handoff.js'; +} from './websocket-handoff.ts'; describe('dispatcher/websocket-handoff', () => { let port: number; diff --git a/packages/zero-cache/src/services/dispatcher/websocket-handoff.ts b/packages/zero-cache/src/services/dispatcher/websocket-handoff.ts index ea41d4d07a..4ef62f5307 100644 --- a/packages/zero-cache/src/services/dispatcher/websocket-handoff.ts +++ b/packages/zero-cache/src/services/dispatcher/websocket-handoff.ts @@ -5,14 +5,14 @@ import {WebSocketServer, type WebSocket} from 'ws'; import { serializableSubset, type IncomingMessageSubset, -} from '../../types/http.js'; +} from '../../types/http.ts'; import { MESSAGE_TYPES, type Receiver, type Sender, type Worker, -} from '../../types/processes.js'; -import {closeWithProtocolError} from '../../types/ws.js'; +} from '../../types/processes.ts'; +import {closeWithProtocolError} from '../../types/ws.ts'; export type WebSocketHandoff

= (message: IncomingMessageSubset) => { payload: P; diff --git a/packages/zero-cache/src/services/http-service.ts b/packages/zero-cache/src/services/http-service.ts index 57a71a7c43..5b6ba42adb 100644 --- a/packages/zero-cache/src/services/http-service.ts +++ b/packages/zero-cache/src/services/http-service.ts @@ -1,8 +1,8 @@ import {LogContext} from '@rocicorp/logger'; import Fastify, {type FastifyInstance} from 'fastify'; -import {HeartbeatMonitor} from './life-cycle.js'; -import {RunningState} from './running-state.js'; -import type {Service} from './service.js'; +import {HeartbeatMonitor} from './life-cycle.ts'; +import {RunningState} from './running-state.ts'; +import type {Service} from './service.ts'; export type Options = { port: number; diff --git a/packages/zero-cache/src/services/life-cycle.test.ts b/packages/zero-cache/src/services/life-cycle.test.ts index 54da5a9954..283802c68b 100644 --- a/packages/zero-cache/src/services/life-cycle.test.ts +++ b/packages/zero-cache/src/services/life-cycle.test.ts @@ -1,15 +1,15 @@ import {resolver} from '@rocicorp/resolver'; import EventEmitter from 'node:events'; import {beforeEach, describe, expect, test} from 'vitest'; -import {createSilentLogContext} from '../../../shared/src/logging-test-utils.js'; -import {promiseVoid} from '../../../shared/src/resolved-promises.js'; +import {createSilentLogContext} from '../../../shared/src/logging-test-utils.ts'; +import {promiseVoid} from '../../../shared/src/resolved-promises.ts'; import { ProcessManager, runUntilKilled, type WorkerType, -} from '../services/life-cycle.js'; -import type {SingletonService} from '../services/service.js'; -import {inProcChannel} from '../types/processes.js'; +} from '../services/life-cycle.ts'; +import type {SingletonService} from '../services/service.ts'; +import {inProcChannel} from '../types/processes.ts'; describe('shutdown', () => { const lc = createSilentLogContext(); diff --git a/packages/zero-cache/src/services/life-cycle.ts b/packages/zero-cache/src/services/life-cycle.ts index b9ef37fd59..084b861f75 100644 --- a/packages/zero-cache/src/services/life-cycle.ts +++ b/packages/zero-cache/src/services/life-cycle.ts @@ -6,9 +6,9 @@ import { singleProcessMode, type Subprocess, type Worker, -} from '../types/processes.js'; -import {RunningState} from './running-state.js'; -import type {SingletonService} from './service.js'; +} from '../types/processes.ts'; +import {RunningState} from './running-state.ts'; +import type {SingletonService} from './service.ts'; /** * * `user-facing` workers serve external requests and are the first to diff --git a/packages/zero-cache/src/services/limiter/sliding-window-limiter.test.ts b/packages/zero-cache/src/services/limiter/sliding-window-limiter.test.ts index b368f5b262..6a0a883578 100644 --- a/packages/zero-cache/src/services/limiter/sliding-window-limiter.test.ts +++ b/packages/zero-cache/src/services/limiter/sliding-window-limiter.test.ts @@ -1,5 +1,5 @@ import {afterEach, beforeEach, expect, test, vi} from 'vitest'; -import {SlidingWindowLimiter} from './sliding-window-limiter.js'; +import {SlidingWindowLimiter} from './sliding-window-limiter.ts'; beforeEach(() => { vi.useFakeTimers(); diff --git a/packages/zero-cache/src/services/limiter/sliding-window-limiter.ts b/packages/zero-cache/src/services/limiter/sliding-window-limiter.ts index ae9b13ccbf..186ac77e4a 100644 --- a/packages/zero-cache/src/services/limiter/sliding-window-limiter.ts +++ b/packages/zero-cache/src/services/limiter/sliding-window-limiter.ts @@ -1,4 +1,4 @@ -import {assert} from '../../../../shared/src/asserts.js'; +import {assert} from '../../../../shared/src/asserts.ts'; type Window = { start: number; diff --git a/packages/zero-cache/src/services/litestream/commands.ts b/packages/zero-cache/src/services/litestream/commands.ts index 70225666b6..922fe17381 100644 --- a/packages/zero-cache/src/services/litestream/commands.ts +++ b/packages/zero-cache/src/services/litestream/commands.ts @@ -2,9 +2,9 @@ import type {LogContext, LogLevel} from '@rocicorp/logger'; import {resolver} from '@rocicorp/resolver'; import {ChildProcess, spawn} from 'node:child_process'; import {existsSync} from 'node:fs'; -import {must} from '../../../../shared/src/must.js'; -import {sleep} from '../../../../shared/src/sleep.js'; -import type {ZeroConfig} from '../../config/zero-config.js'; +import {must} from '../../../../shared/src/must.ts'; +import {sleep} from '../../../../shared/src/sleep.ts'; +import type {ZeroConfig} from '../../config/zero-config.ts'; type ZeroLitestreamConfig = Pick< ZeroConfig, diff --git a/packages/zero-cache/src/services/mutagen/mutagen.authz.pg-test.ts b/packages/zero-cache/src/services/mutagen/mutagen.authz.pg-test.ts index 4f05ca40c6..3de63693a8 100644 --- a/packages/zero-cache/src/services/mutagen/mutagen.authz.pg-test.ts +++ b/packages/zero-cache/src/services/mutagen/mutagen.authz.pg-test.ts @@ -1,30 +1,30 @@ import {afterEach, beforeEach, describe, expect, test} from 'vitest'; -import {createSilentLogContext} from '../../../../shared/src/logging-test-utils.js'; -import * as MutationType from '../../../../zero-protocol/src/mutation-type-enum.js'; -import { - ANYONE_CAN, - definePermissions, - NOBODY_CAN, -} from '../../../../zero-schema/src/permissions.js'; -import {ExpressionBuilder} from '../../../../zql/src/query/expression.js'; -import type {Row} from '../../../../zql/src/query/query.js'; -import {Database} from '../../../../zqlite/src/db.js'; -import {WriteAuthorizerImpl} from '../../auth/write-authorizer.js'; -import {testDBs} from '../../test/db.js'; -import type {PostgresDB} from '../../types/pg.js'; -import {zeroSchema} from './mutagen-test-shared.js'; -import {processMutation} from './mutagen.js'; +import {createSilentLogContext} from '../../../../shared/src/logging-test-utils.ts'; +import * as MutationType from '../../../../zero-protocol/src/mutation-type-enum.ts'; import { createSchema, type Schema as ZeroSchema, -} from '../../../../zero-schema/src/builder/schema-builder.js'; +} from '../../../../zero-schema/src/builder/schema-builder.ts'; import { boolean, json, number, string, table, -} from '../../../../zero-schema/src/builder/table-builder.js'; +} from '../../../../zero-schema/src/builder/table-builder.ts'; +import { + ANYONE_CAN, + definePermissions, + NOBODY_CAN, +} from '../../../../zero-schema/src/permissions.ts'; +import {ExpressionBuilder} from '../../../../zql/src/query/expression.ts'; +import type {Row} from '../../../../zql/src/query/query.ts'; +import {Database} from '../../../../zqlite/src/db.ts'; +import {WriteAuthorizerImpl} from '../../auth/write-authorizer.ts'; +import {testDBs} from '../../test/db.ts'; +import type {PostgresDB} from '../../types/pg.ts'; +import {zeroSchema} from './mutagen-test-shared.ts'; +import {processMutation} from './mutagen.ts'; const SHARD_ID = '0'; const CG_ID = 'abc'; diff --git a/packages/zero-cache/src/services/mutagen/mutagen.pg-test.ts b/packages/zero-cache/src/services/mutagen/mutagen.pg-test.ts index dba84eecf4..d9caa571d4 100644 --- a/packages/zero-cache/src/services/mutagen/mutagen.pg-test.ts +++ b/packages/zero-cache/src/services/mutagen/mutagen.pg-test.ts @@ -1,20 +1,20 @@ import {LogContext} from '@rocicorp/logger'; import {resolver} from '@rocicorp/resolver'; import {afterEach, beforeEach, describe, expect, test} from 'vitest'; -import {createSilentLogContext} from '../../../../shared/src/logging-test-utils.js'; -import * as ErrorKind from '../../../../zero-protocol/src/error-kind-enum.js'; +import {createSilentLogContext} from '../../../../shared/src/logging-test-utils.ts'; +import * as ErrorKind from '../../../../zero-protocol/src/error-kind-enum.ts'; import { type CRUDMutation, type CRUDOp, type UpsertOp, -} from '../../../../zero-protocol/src/mod.js'; -import * as MutationType from '../../../../zero-protocol/src/mutation-type-enum.js'; -import type {WriteAuthorizer} from '../../auth/write-authorizer.js'; -import * as Mode from '../../db/mode-enum.js'; -import {expectTables, testDBs} from '../../test/db.js'; -import type {PostgresDB} from '../../types/pg.js'; -import {zeroSchema} from './mutagen-test-shared.js'; -import {processMutation} from './mutagen.js'; +} from '../../../../zero-protocol/src/mod.ts'; +import * as MutationType from '../../../../zero-protocol/src/mutation-type-enum.ts'; +import type {WriteAuthorizer} from '../../auth/write-authorizer.ts'; +import * as Mode from '../../db/mode-enum.ts'; +import {expectTables, testDBs} from '../../test/db.ts'; +import type {PostgresDB} from '../../types/pg.ts'; +import {zeroSchema} from './mutagen-test-shared.ts'; +import {processMutation} from './mutagen.ts'; const SHARD_ID = '0'; diff --git a/packages/zero-cache/src/services/mutagen/mutagen.ts b/packages/zero-cache/src/services/mutagen/mutagen.ts index cd0bfa3747..007d97a1d0 100644 --- a/packages/zero-cache/src/services/mutagen/mutagen.ts +++ b/packages/zero-cache/src/services/mutagen/mutagen.ts @@ -3,14 +3,14 @@ import type {LogContext} from '@rocicorp/logger'; import {resolver} from '@rocicorp/resolver'; import type {JWTPayload} from 'jose'; import postgres from 'postgres'; -import {assert, unreachable} from '../../../../shared/src/asserts.js'; -import * as v from '../../../../shared/src/valita.js'; -import * as ErrorKind from '../../../../zero-protocol/src/error-kind-enum.js'; -import * as MutationType from '../../../../zero-protocol/src/mutation-type-enum.js'; +import {assert, unreachable} from '../../../../shared/src/asserts.ts'; +import * as v from '../../../../shared/src/valita.ts'; +import * as ErrorKind from '../../../../zero-protocol/src/error-kind-enum.ts'; +import * as MutationType from '../../../../zero-protocol/src/mutation-type-enum.ts'; import { primaryKeyValueSchema, type PrimaryKeyValue, -} from '../../../../zero-protocol/src/primary-key.js'; +} from '../../../../zero-protocol/src/primary-key.ts'; import { type CRUDMutation, type DeleteOp, @@ -18,22 +18,22 @@ import { type Mutation, type UpdateOp, type UpsertOp, -} from '../../../../zero-protocol/src/push.js'; -import type {PermissionsConfig} from '../../../../zero-schema/src/compiled-permissions.js'; -import type {Schema} from '../../../../zero-schema/src/builder/schema-builder.js'; -import {Database} from '../../../../zqlite/src/db.js'; +} from '../../../../zero-protocol/src/push.ts'; +import type {Schema} from '../../../../zero-schema/src/builder/schema-builder.ts'; +import type {PermissionsConfig} from '../../../../zero-schema/src/compiled-permissions.ts'; +import {Database} from '../../../../zqlite/src/db.ts'; import { WriteAuthorizerImpl, type WriteAuthorizer, -} from '../../auth/write-authorizer.js'; -import {type ZeroConfig} from '../../config/zero-config.js'; -import * as Mode from '../../db/mode-enum.js'; -import {ErrorForClient} from '../../types/error-for-client.js'; -import type {PostgresDB, PostgresTransaction} from '../../types/pg.js'; -import {throwErrorForClientIfSchemaVersionNotSupported} from '../../types/schema-versions.js'; -import {unescapedSchema as schema} from '../change-source/pg/schema/shard.js'; -import {SlidingWindowLimiter} from '../limiter/sliding-window-limiter.js'; -import type {Service} from '../service.js'; +} from '../../auth/write-authorizer.ts'; +import {type ZeroConfig} from '../../config/zero-config.ts'; +import * as Mode from '../../db/mode-enum.ts'; +import {ErrorForClient} from '../../types/error-for-client.ts'; +import type {PostgresDB, PostgresTransaction} from '../../types/pg.ts'; +import {throwErrorForClientIfSchemaVersionNotSupported} from '../../types/schema-versions.ts'; +import {unescapedSchema as schema} from '../change-source/pg/schema/shard.ts'; +import {SlidingWindowLimiter} from '../limiter/sliding-window-limiter.ts'; +import type {Service} from '../service.ts'; // An error encountered processing a mutation. // Returned back to application for display to user. diff --git a/packages/zero-cache/src/services/replicator/incremental-sync.message-processor.test.ts b/packages/zero-cache/src/services/replicator/incremental-sync.message-processor.test.ts index 7561ba438d..5b8ea6382e 100644 --- a/packages/zero-cache/src/services/replicator/incremental-sync.message-processor.test.ts +++ b/packages/zero-cache/src/services/replicator/incremental-sync.message-processor.test.ts @@ -1,16 +1,16 @@ import {LogContext} from '@rocicorp/logger'; import {beforeEach, describe, expect, test} from 'vitest'; -import {createSilentLogContext} from '../../../../shared/src/logging-test-utils.js'; -import {Database} from '../../../../zqlite/src/db.js'; -import {StatementRunner} from '../../db/statements.js'; -import {expectTables} from '../../test/lite.js'; -import type {ChangeStreamData} from '../change-source/protocol/current/downstream.js'; -import {initChangeLog} from './schema/change-log.js'; +import {createSilentLogContext} from '../../../../shared/src/logging-test-utils.ts'; +import {Database} from '../../../../zqlite/src/db.ts'; +import {StatementRunner} from '../../db/statements.ts'; +import {expectTables} from '../../test/lite.ts'; +import type {ChangeStreamData} from '../change-source/protocol/current/downstream.ts'; +import {initChangeLog} from './schema/change-log.ts'; import { getSubscriptionState, initReplicationState, -} from './schema/replication-state.js'; -import {createMessageProcessor, ReplicationMessages} from './test-utils.js'; +} from './schema/replication-state.ts'; +import {createMessageProcessor, ReplicationMessages} from './test-utils.ts'; describe('replicator/message-processor', () => { let lc: LogContext; diff --git a/packages/zero-cache/src/services/replicator/incremental-sync.pg-test.ts b/packages/zero-cache/src/services/replicator/incremental-sync.pg-test.ts index 123f861741..621f5ac8fd 100644 --- a/packages/zero-cache/src/services/replicator/incremental-sync.pg-test.ts +++ b/packages/zero-cache/src/services/replicator/incremental-sync.pg-test.ts @@ -9,23 +9,23 @@ import { test, vi, } from 'vitest'; -import {createSilentLogContext} from '../../../../shared/src/logging-test-utils.js'; -import {Database} from '../../../../zqlite/src/db.js'; -import {listIndexes, listTables} from '../../db/lite-tables.js'; -import type {LiteIndexSpec, LiteTableSpec} from '../../db/specs.js'; -import {testDBs} from '../../test/db.js'; -import {expectTables, initDB} from '../../test/lite.js'; -import type {JSONObject} from '../../types/bigint-json.js'; -import type {PostgresDB} from '../../types/pg.js'; -import {Subscription} from '../../types/subscription.js'; +import {createSilentLogContext} from '../../../../shared/src/logging-test-utils.ts'; +import {Database} from '../../../../zqlite/src/db.ts'; +import {listIndexes, listTables} from '../../db/lite-tables.ts'; +import type {LiteIndexSpec, LiteTableSpec} from '../../db/specs.ts'; +import {testDBs} from '../../test/db.ts'; +import {expectTables, initDB} from '../../test/lite.ts'; +import type {JSONObject} from '../../types/bigint-json.ts'; +import type {PostgresDB} from '../../types/pg.ts'; +import {Subscription} from '../../types/subscription.ts'; import type { Downstream, SubscriberContext, -} from '../change-streamer/change-streamer.js'; -import {IncrementalSyncer} from './incremental-sync.js'; -import {initChangeLog} from './schema/change-log.js'; -import {initReplicationState} from './schema/replication-state.js'; -import {ReplicationMessages} from './test-utils.js'; +} from '../change-streamer/change-streamer.ts'; +import {IncrementalSyncer} from './incremental-sync.ts'; +import {initChangeLog} from './schema/change-log.ts'; +import {initReplicationState} from './schema/replication-state.ts'; +import {ReplicationMessages} from './test-utils.ts'; const REPLICA_ID = 'incremental_sync_test_id'; diff --git a/packages/zero-cache/src/services/replicator/incremental-sync.ts b/packages/zero-cache/src/services/replicator/incremental-sync.ts index c4ba17f398..a4cbbc0d17 100644 --- a/packages/zero-cache/src/services/replicator/incremental-sync.ts +++ b/packages/zero-cache/src/services/replicator/incremental-sync.ts @@ -1,28 +1,28 @@ import type {LogContext} from '@rocicorp/logger'; import {SqliteError} from '@rocicorp/zero-sqlite3'; -import {AbortError} from '../../../../shared/src/abort-error.js'; -import {assert, unreachable} from '../../../../shared/src/asserts.js'; -import {must} from '../../../../shared/src/must.js'; -import {Database} from '../../../../zqlite/src/db.js'; +import {AbortError} from '../../../../shared/src/abort-error.ts'; +import {assert, unreachable} from '../../../../shared/src/asserts.ts'; +import {must} from '../../../../shared/src/must.ts'; +import {Database} from '../../../../zqlite/src/db.ts'; import { columnDef, createIndexStatement, createTableStatement, -} from '../../db/create.js'; -import {listIndexes, listTables} from '../../db/lite-tables.js'; +} from '../../db/create.ts'; +import {listIndexes, listTables} from '../../db/lite-tables.ts'; import { mapPostgresToLite, mapPostgresToLiteColumn, mapPostgresToLiteIndex, -} from '../../db/pg-to-lite.js'; -import type {LiteTableSpec} from '../../db/specs.js'; -import {StatementRunner} from '../../db/statements.js'; -import {stringify} from '../../types/bigint-json.js'; -import type {LexiVersion} from '../../types/lexi-version.js'; -import {liteRow} from '../../types/lite.js'; -import {liteTableName} from '../../types/names.js'; -import {id} from '../../types/sql.js'; -import type {Source} from '../../types/streams.js'; +} from '../../db/pg-to-lite.ts'; +import type {LiteTableSpec} from '../../db/specs.ts'; +import {StatementRunner} from '../../db/statements.ts'; +import {stringify} from '../../types/bigint-json.ts'; +import type {LexiVersion} from '../../types/lexi-version.ts'; +import {liteRow} from '../../types/lite.ts'; +import {liteTableName} from '../../types/names.ts'; +import {id} from '../../types/sql.ts'; +import type {Source} from '../../types/streams.ts'; import type { Change, ColumnAdd, @@ -38,26 +38,26 @@ import type { TableCreate, TableDrop, TableRename, -} from '../change-source/protocol/current/data.js'; -import type {ChangeStreamData} from '../change-source/protocol/current/downstream.js'; +} from '../change-source/protocol/current/data.ts'; +import type {ChangeStreamData} from '../change-source/protocol/current/downstream.ts'; import type { ChangeStreamer, Downstream, -} from '../change-streamer/change-streamer.js'; -import {RunningState} from '../running-state.js'; -import {Notifier} from './notifier.js'; -import type {ReplicaState, ReplicatorMode} from './replicator.js'; +} from '../change-streamer/change-streamer.ts'; +import {RunningState} from '../running-state.ts'; +import {Notifier} from './notifier.ts'; +import type {ReplicaState, ReplicatorMode} from './replicator.ts'; import { logDeleteOp, logResetOp, logSetOp, logTruncateOp, -} from './schema/change-log.js'; +} from './schema/change-log.ts'; import { ZERO_VERSION_COLUMN_NAME, getSubscriptionState, updateReplicationWatermark, -} from './schema/replication-state.js'; +} from './schema/replication-state.ts'; type TransactionMode = 'IMMEDIATE' | 'CONCURRENT'; diff --git a/packages/zero-cache/src/services/replicator/notifier.test.ts b/packages/zero-cache/src/services/replicator/notifier.test.ts index eccd5f9c40..b1ce64014a 100644 --- a/packages/zero-cache/src/services/replicator/notifier.test.ts +++ b/packages/zero-cache/src/services/replicator/notifier.test.ts @@ -1,7 +1,7 @@ import {beforeEach, describe, expect, test} from 'vitest'; -import type {Source} from '../../types/streams.js'; -import {Notifier} from './notifier.js'; -import type {ReplicaState} from './replicator.js'; +import type {Source} from '../../types/streams.ts'; +import {Notifier} from './notifier.ts'; +import type {ReplicaState} from './replicator.ts'; describe('replicator/notifier', () => { let notifier: Notifier; diff --git a/packages/zero-cache/src/services/replicator/notifier.ts b/packages/zero-cache/src/services/replicator/notifier.ts index 8af2391339..4b9c858b3c 100644 --- a/packages/zero-cache/src/services/replicator/notifier.ts +++ b/packages/zero-cache/src/services/replicator/notifier.ts @@ -3,8 +3,8 @@ import { type PendingResult, type Result, Subscription, -} from '../../types/subscription.js'; -import type {ReplicaState, ReplicaStateNotifier} from './replicator.js'; +} from '../../types/subscription.ts'; +import type {ReplicaState, ReplicaStateNotifier} from './replicator.ts'; /** * Handles the semantics of {@link ReplicatorVersionNotifier.subscribe()} diff --git a/packages/zero-cache/src/services/replicator/registry.ts b/packages/zero-cache/src/services/replicator/registry.ts index c61d39c40c..b5ea78d7fc 100644 --- a/packages/zero-cache/src/services/replicator/registry.ts +++ b/packages/zero-cache/src/services/replicator/registry.ts @@ -1,4 +1,4 @@ -import type {Replicator} from './replicator.js'; +import type {Replicator} from './replicator.ts'; export interface ReplicatorRegistry { /** diff --git a/packages/zero-cache/src/services/replicator/replicator.ts b/packages/zero-cache/src/services/replicator/replicator.ts index 024fe2c8d6..22754ce8a2 100644 --- a/packages/zero-cache/src/services/replicator/replicator.ts +++ b/packages/zero-cache/src/services/replicator/replicator.ts @@ -1,11 +1,11 @@ import type {LogContext} from '@rocicorp/logger'; -import type {ReadonlyJSONObject} from '../../../../shared/src/json.js'; -import {promiseVoid} from '../../../../shared/src/resolved-promises.js'; -import {Database} from '../../../../zqlite/src/db.js'; -import type {Source} from '../../types/streams.js'; -import type {ChangeStreamer} from '../change-streamer/change-streamer.js'; -import type {Service} from '../service.js'; -import {IncrementalSyncer} from './incremental-sync.js'; +import type {ReadonlyJSONObject} from '../../../../shared/src/json.ts'; +import {promiseVoid} from '../../../../shared/src/resolved-promises.ts'; +import {Database} from '../../../../zqlite/src/db.ts'; +import type {Source} from '../../types/streams.ts'; +import type {ChangeStreamer} from '../change-streamer/change-streamer.ts'; +import type {Service} from '../service.ts'; +import {IncrementalSyncer} from './incremental-sync.ts'; /** See {@link ReplicaStateNotifier.subscribe()}. */ export type ReplicaState = { diff --git a/packages/zero-cache/src/services/replicator/schema/change-log.test.ts b/packages/zero-cache/src/services/replicator/schema/change-log.test.ts index 3d30d88df3..ab073b9f20 100644 --- a/packages/zero-cache/src/services/replicator/schema/change-log.test.ts +++ b/packages/zero-cache/src/services/replicator/schema/change-log.test.ts @@ -1,15 +1,15 @@ import {beforeEach, describe, test} from 'vitest'; -import {createSilentLogContext} from '../../../../../shared/src/logging-test-utils.js'; -import {Database} from '../../../../../zqlite/src/db.js'; -import {StatementRunner} from '../../../db/statements.js'; -import {expectTables} from '../../../test/lite.js'; +import {createSilentLogContext} from '../../../../../shared/src/logging-test-utils.ts'; +import {Database} from '../../../../../zqlite/src/db.ts'; +import {StatementRunner} from '../../../db/statements.ts'; +import {expectTables} from '../../../test/lite.ts'; import { initChangeLog, logDeleteOp, logResetOp, logSetOp, logTruncateOp, -} from './change-log.js'; +} from './change-log.ts'; describe('replicator/schema/change-log', () => { let db: StatementRunner; diff --git a/packages/zero-cache/src/services/replicator/schema/change-log.ts b/packages/zero-cache/src/services/replicator/schema/change-log.ts index ca6dfaf687..7aa3812f8d 100644 --- a/packages/zero-cache/src/services/replicator/schema/change-log.ts +++ b/packages/zero-cache/src/services/replicator/schema/change-log.ts @@ -1,14 +1,14 @@ -import * as v from '../../../../../shared/src/valita.js'; -import type {Database} from '../../../../../zqlite/src/db.js'; -import {StatementRunner} from '../../../db/statements.js'; +import * as v from '../../../../../shared/src/valita.ts'; +import type {Database} from '../../../../../zqlite/src/db.ts'; +import {StatementRunner} from '../../../db/statements.ts'; import { jsonObjectSchema, parse, stringify, -} from '../../../types/bigint-json.js'; -import type {LexiVersion} from '../../../types/lexi-version.js'; -import type {LiteRowKey} from '../../../types/lite.js'; -import {normalizedKeyOrder} from '../../../types/row-key.js'; +} from '../../../types/bigint-json.ts'; +import type {LexiVersion} from '../../../types/lexi-version.ts'; +import type {LiteRowKey} from '../../../types/lite.ts'; +import {normalizedKeyOrder} from '../../../types/row-key.ts'; /** * The Change Log tracks the last operation (set or delete) for each row in the diff --git a/packages/zero-cache/src/services/replicator/schema/replication-state.test.ts b/packages/zero-cache/src/services/replicator/schema/replication-state.test.ts index eb527dadda..ff742d9a34 100644 --- a/packages/zero-cache/src/services/replicator/schema/replication-state.test.ts +++ b/packages/zero-cache/src/services/replicator/schema/replication-state.test.ts @@ -1,14 +1,14 @@ import {beforeEach, describe, expect, test} from 'vitest'; -import {createSilentLogContext} from '../../../../../shared/src/logging-test-utils.js'; -import {Database} from '../../../../../zqlite/src/db.js'; -import {StatementRunner} from '../../../db/statements.js'; -import {expectTables} from '../../../test/lite.js'; +import {createSilentLogContext} from '../../../../../shared/src/logging-test-utils.ts'; +import {Database} from '../../../../../zqlite/src/db.ts'; +import {StatementRunner} from '../../../db/statements.ts'; +import {expectTables} from '../../../test/lite.ts'; import { getReplicationState, getSubscriptionState, initReplicationState, updateReplicationWatermark, -} from './replication-state.js'; +} from './replication-state.ts'; describe('replicator/schema/replication-state', () => { let db: StatementRunner; diff --git a/packages/zero-cache/src/services/replicator/schema/replication-state.ts b/packages/zero-cache/src/services/replicator/schema/replication-state.ts index 2f6e06f0d5..33817a98e7 100644 --- a/packages/zero-cache/src/services/replicator/schema/replication-state.ts +++ b/packages/zero-cache/src/services/replicator/schema/replication-state.ts @@ -5,9 +5,9 @@ * after the logical replication handoff when initial data synchronization has completed. */ -import * as v from '../../../../../shared/src/valita.js'; -import {Database} from '../../../../../zqlite/src/db.js'; -import {StatementRunner} from '../../../db/statements.js'; +import * as v from '../../../../../shared/src/valita.ts'; +import {Database} from '../../../../../zqlite/src/db.ts'; +import {StatementRunner} from '../../../db/statements.ts'; export const ZERO_VERSION_COLUMN_NAME = '_0_version'; diff --git a/packages/zero-cache/src/services/replicator/test-utils.ts b/packages/zero-cache/src/services/replicator/test-utils.ts index 41e2012c0a..73bd9e92ae 100644 --- a/packages/zero-cache/src/services/replicator/test-utils.ts +++ b/packages/zero-cache/src/services/replicator/test-utils.ts @@ -1,9 +1,9 @@ import {LogContext} from '@rocicorp/logger'; -import {assert} from '../../../../shared/src/asserts.js'; -import {Database} from '../../../../zqlite/src/db.js'; -import type {ColumnSpec, IndexSpec, TableSpec} from '../../db/specs.js'; -import {StatementRunner} from '../../db/statements.js'; -import type {RowKey, RowValue} from '../../types/row-key.js'; +import {assert} from '../../../../shared/src/asserts.ts'; +import {Database} from '../../../../zqlite/src/db.ts'; +import type {ColumnSpec, IndexSpec, TableSpec} from '../../db/specs.ts'; +import {StatementRunner} from '../../db/statements.ts'; +import type {RowKey, RowValue} from '../../types/row-key.ts'; import type { ColumnAdd, ColumnDrop, @@ -22,8 +22,8 @@ import type { TableCreate, TableDrop, TableRename, -} from '../change-source/protocol/current/data.js'; -import {MessageProcessor} from './incremental-sync.js'; +} from '../change-source/protocol/current/data.ts'; +import {MessageProcessor} from './incremental-sync.ts'; export interface FakeReplicator { processTransaction(finalWatermark: string, ...msgs: DataChange[]): void; diff --git a/packages/zero-cache/src/services/runner.test.ts b/packages/zero-cache/src/services/runner.test.ts index b07fc266cb..cc7d2cacc6 100644 --- a/packages/zero-cache/src/services/runner.test.ts +++ b/packages/zero-cache/src/services/runner.test.ts @@ -1,9 +1,9 @@ import {resolver} from '@rocicorp/resolver'; -import {createSilentLogContext} from '../../../shared/src/logging-test-utils.js'; -import {sleep} from '../../../shared/src/sleep.js'; import {describe, expect, test} from 'vitest'; -import {ServiceRunner} from './runner.js'; -import type {Service} from './service.js'; +import {createSilentLogContext} from '../../../shared/src/logging-test-utils.ts'; +import {sleep} from '../../../shared/src/sleep.ts'; +import {ServiceRunner} from './runner.ts'; +import type {Service} from './service.ts'; describe('services/runner', () => { class TestService implements Service { diff --git a/packages/zero-cache/src/services/runner.ts b/packages/zero-cache/src/services/runner.ts index e6a863e45d..95924ce85c 100644 --- a/packages/zero-cache/src/services/runner.ts +++ b/packages/zero-cache/src/services/runner.ts @@ -1,5 +1,5 @@ import {LogContext} from '@rocicorp/logger'; -import type {Service} from './service.js'; +import type {Service} from './service.ts'; /** * Manages the creation and lifecycle of objects that implement diff --git a/packages/zero-cache/src/services/running-state.test.ts b/packages/zero-cache/src/services/running-state.test.ts index a52d75c884..445ec954f9 100644 --- a/packages/zero-cache/src/services/running-state.test.ts +++ b/packages/zero-cache/src/services/running-state.test.ts @@ -1,7 +1,7 @@ import {expect, test, vi} from 'vitest'; -import {AbortError} from '../../../shared/src/abort-error.js'; -import {createSilentLogContext} from '../../../shared/src/logging-test-utils.js'; -import {RunningState} from './running-state.js'; +import {AbortError} from '../../../shared/src/abort-error.ts'; +import {createSilentLogContext} from '../../../shared/src/logging-test-utils.ts'; +import {RunningState} from './running-state.ts'; const lc = createSilentLogContext(); diff --git a/packages/zero-cache/src/services/running-state.ts b/packages/zero-cache/src/services/running-state.ts index 5594d4e9dc..ab94287a1a 100644 --- a/packages/zero-cache/src/services/running-state.ts +++ b/packages/zero-cache/src/services/running-state.ts @@ -1,7 +1,7 @@ import {LogContext} from '@rocicorp/logger'; import {resolver} from '@rocicorp/resolver'; -import {AbortError} from '../../../shared/src/abort-error.js'; -import {sleepWithAbort} from '../../../shared/src/sleep.js'; +import {AbortError} from '../../../shared/src/abort-error.ts'; +import {sleepWithAbort} from '../../../shared/src/sleep.ts'; const DEFAULT_INITIAL_RETRY_DELAY_MS = 100; export const DEFAULT_MAX_RETRY_DELAY_MS = 10000; diff --git a/packages/zero-cache/src/services/view-syncer/client-handler.test.ts b/packages/zero-cache/src/services/view-syncer/client-handler.test.ts index 9159f43995..ec4632d3d0 100644 --- a/packages/zero-cache/src/services/view-syncer/client-handler.test.ts +++ b/packages/zero-cache/src/services/view-syncer/client-handler.test.ts @@ -1,16 +1,16 @@ import {describe, expect, test} from 'vitest'; -import {createSilentLogContext} from '../../../../shared/src/logging-test-utils.js'; -import * as ErrorKind from '../../../../zero-protocol/src/error-kind-enum.js'; +import {createSilentLogContext} from '../../../../shared/src/logging-test-utils.ts'; +import * as ErrorKind from '../../../../zero-protocol/src/error-kind-enum.ts'; import { type Downstream, type PokeEndMessage, type PokePartMessage, type PokeStartMessage, -} from '../../../../zero-protocol/src/mod.js'; -import type {JSONObject} from '../../types/bigint-json.js'; -import {ErrorForClient} from '../../types/error-for-client.js'; -import {Subscription} from '../../types/subscription.js'; -import {ClientHandler, ensureSafeJSON, type Patch} from './client-handler.js'; +} from '../../../../zero-protocol/src/mod.ts'; +import type {JSONObject} from '../../types/bigint-json.ts'; +import {ErrorForClient} from '../../types/error-for-client.ts'; +import {Subscription} from '../../types/subscription.ts'; +import {ClientHandler, ensureSafeJSON, type Patch} from './client-handler.ts'; const SHARD_ID = 'xyz'; diff --git a/packages/zero-cache/src/services/view-syncer/client-handler.ts b/packages/zero-cache/src/services/view-syncer/client-handler.ts index 759a420a7a..81b38a8143 100644 --- a/packages/zero-cache/src/services/view-syncer/client-handler.ts +++ b/packages/zero-cache/src/services/view-syncer/client-handler.ts @@ -1,27 +1,27 @@ import type {LogContext} from '@rocicorp/logger'; -import {unreachable} from '../../../../shared/src/asserts.js'; +import {unreachable} from '../../../../shared/src/asserts.ts'; import { assertJSONValue, type JSONObject as SafeJSONObject, -} from '../../../../shared/src/json.js'; -import * as v from '../../../../shared/src/valita.js'; -import type {AST} from '../../../../zero-protocol/src/ast.js'; -import {rowSchema} from '../../../../zero-protocol/src/data.js'; +} from '../../../../shared/src/json.ts'; +import * as v from '../../../../shared/src/valita.ts'; +import type {AST} from '../../../../zero-protocol/src/ast.ts'; +import {rowSchema} from '../../../../zero-protocol/src/data.ts'; import type { Downstream, PokePartBody, PokeStartBody, RowPatchOp, -} from '../../../../zero-protocol/src/mod.js'; -import {primaryKeyValueRecordSchema} from '../../../../zero-protocol/src/primary-key.js'; -import type {JSONObject} from '../../types/bigint-json.js'; -import {getLogLevel} from '../../types/error-for-client.js'; +} from '../../../../zero-protocol/src/mod.ts'; +import {primaryKeyValueRecordSchema} from '../../../../zero-protocol/src/primary-key.ts'; +import type {JSONObject} from '../../types/bigint-json.ts'; +import {getLogLevel} from '../../types/error-for-client.ts'; import { getErrorForClientIfSchemaVersionNotSupported, type SchemaVersions, -} from '../../types/schema-versions.js'; -import type {Subscription} from '../../types/subscription.js'; -import {unescapedSchema as schema} from '../change-source/pg/schema/shard.js'; +} from '../../types/schema-versions.ts'; +import type {Subscription} from '../../types/subscription.ts'; +import {unescapedSchema as schema} from '../change-source/pg/schema/shard.ts'; import { type ClientPatch, cmpVersions, @@ -33,7 +33,7 @@ import { type RowID, versionToCookie, versionToNullableCookie, -} from './schema/types.js'; +} from './schema/types.ts'; export type PutRowPatch = { type: 'row'; diff --git a/packages/zero-cache/src/services/view-syncer/cvr-store.pg-test.ts b/packages/zero-cache/src/services/view-syncer/cvr-store.pg-test.ts index bd2dbceed8..3721a76d48 100644 --- a/packages/zero-cache/src/services/view-syncer/cvr-store.pg-test.ts +++ b/packages/zero-cache/src/services/view-syncer/cvr-store.pg-test.ts @@ -7,21 +7,21 @@ import { vi, type Mock, } from 'vitest'; -import {CustomKeyMap} from '../../../../shared/src/custom-key-map.js'; -import {createSilentLogContext} from '../../../../shared/src/logging-test-utils.js'; -import {sleep} from '../../../../shared/src/sleep.js'; -import {testDBs} from '../../test/db.js'; -import {versionToLexi} from '../../types/lexi-version.js'; -import type {PostgresDB} from '../../types/pg.js'; -import {rowIDString, type RowID} from '../../types/row-key.js'; -import {CVRStore, OwnershipError} from './cvr-store.js'; +import {CustomKeyMap} from '../../../../shared/src/custom-key-map.ts'; +import {createSilentLogContext} from '../../../../shared/src/logging-test-utils.ts'; +import {sleep} from '../../../../shared/src/sleep.ts'; +import {testDBs} from '../../test/db.ts'; +import {versionToLexi} from '../../types/lexi-version.ts'; +import type {PostgresDB} from '../../types/pg.ts'; +import {rowIDString, type RowID} from '../../types/row-key.ts'; +import {CVRStore, OwnershipError} from './cvr-store.ts'; import { CVRQueryDrivenUpdater, type CVRSnapshot, type RowUpdate, -} from './cvr.js'; -import {setupCVRTables, type RowsRow} from './schema/cvr.js'; -import type {CVRVersion} from './schema/types.js'; +} from './cvr.ts'; +import {setupCVRTables, type RowsRow} from './schema/cvr.ts'; +import type {CVRVersion} from './schema/types.ts'; describe('view-syncer/cvr-store', () => { const lc = createSilentLogContext(); diff --git a/packages/zero-cache/src/services/view-syncer/cvr-store.ts b/packages/zero-cache/src/services/view-syncer/cvr-store.ts index 21fd158636..99b5f0ac7a 100644 --- a/packages/zero-cache/src/services/view-syncer/cvr-store.ts +++ b/packages/zero-cache/src/services/view-syncer/cvr-store.ts @@ -2,28 +2,28 @@ import {trace} from '@opentelemetry/api'; import type {LogContext} from '@rocicorp/logger'; import {resolver, type Resolver} from '@rocicorp/resolver'; import type {MaybeRow, PendingQuery, Row} from 'postgres'; -import {startAsyncSpan} from '../../../../otel/src/span.js'; -import {version} from '../../../../otel/src/version.js'; -import {assert} from '../../../../shared/src/asserts.js'; -import {CustomKeyMap} from '../../../../shared/src/custom-key-map.js'; -import {CustomKeySet} from '../../../../shared/src/custom-key-set.js'; +import {startAsyncSpan} from '../../../../otel/src/span.ts'; +import {version} from '../../../../otel/src/version.ts'; +import {assert} from '../../../../shared/src/asserts.ts'; +import {CustomKeyMap} from '../../../../shared/src/custom-key-map.ts'; +import {CustomKeySet} from '../../../../shared/src/custom-key-set.ts'; import { deepEqual, type ReadonlyJSONValue, -} from '../../../../shared/src/json.js'; -import {must} from '../../../../shared/src/must.js'; -import {promiseVoid} from '../../../../shared/src/resolved-promises.js'; -import {sleep} from '../../../../shared/src/sleep.js'; -import {astSchema} from '../../../../zero-protocol/src/ast.js'; -import * as ErrorKind from '../../../../zero-protocol/src/error-kind-enum.js'; -import * as Mode from '../../db/mode-enum.js'; -import {TransactionPool} from '../../db/transaction-pool.js'; -import type {JSONValue} from '../../types/bigint-json.js'; -import {ErrorForClient, ErrorWithLevel} from '../../types/error-for-client.js'; -import type {PostgresDB, PostgresTransaction} from '../../types/pg.js'; -import {rowIDString} from '../../types/row-key.js'; -import type {Patch, PatchToVersion} from './client-handler.js'; -import type {CVR, CVRSnapshot} from './cvr.js'; +} from '../../../../shared/src/json.ts'; +import {must} from '../../../../shared/src/must.ts'; +import {promiseVoid} from '../../../../shared/src/resolved-promises.ts'; +import {sleep} from '../../../../shared/src/sleep.ts'; +import {astSchema} from '../../../../zero-protocol/src/ast.ts'; +import * as ErrorKind from '../../../../zero-protocol/src/error-kind-enum.ts'; +import * as Mode from '../../db/mode-enum.ts'; +import {TransactionPool} from '../../db/transaction-pool.ts'; +import type {JSONValue} from '../../types/bigint-json.ts'; +import {ErrorForClient, ErrorWithLevel} from '../../types/error-for-client.ts'; +import type {PostgresDB, PostgresTransaction} from '../../types/pg.ts'; +import {rowIDString} from '../../types/row-key.ts'; +import type {Patch, PatchToVersion} from './client-handler.ts'; +import type {CVR, CVRSnapshot} from './cvr.ts'; import { type ClientsRow, type DesiresRow, @@ -32,7 +32,7 @@ import { rowRecordToRowsRow, type RowsRow, rowsRowToRowRecord, -} from './schema/cvr.js'; +} from './schema/cvr.ts'; import { type ClientQueryRecord, type ClientRecord, @@ -48,7 +48,7 @@ import { versionFromString, versionString, versionToNullableCookie, -} from './schema/types.js'; +} from './schema/types.ts'; type NotNull = T extends null ? never : T; diff --git a/packages/zero-cache/src/services/view-syncer/cvr.pg-test.ts b/packages/zero-cache/src/services/view-syncer/cvr.pg-test.ts index 12e6f39518..72c1d340eb 100644 --- a/packages/zero-cache/src/services/view-syncer/cvr.pg-test.ts +++ b/packages/zero-cache/src/services/view-syncer/cvr.pg-test.ts @@ -1,20 +1,20 @@ import {afterEach, beforeEach, describe, expect, test} from 'vitest'; -import {unreachable} from '../../../../shared/src/asserts.js'; -import {createSilentLogContext} from '../../../../shared/src/logging-test-utils.js'; -import {testDBs} from '../../test/db.js'; -import type {PostgresDB} from '../../types/pg.js'; -import type {PatchToVersion} from './client-handler.js'; +import {unreachable} from '../../../../shared/src/asserts.ts'; +import {createSilentLogContext} from '../../../../shared/src/logging-test-utils.ts'; +import {testDBs} from '../../test/db.ts'; +import type {PostgresDB} from '../../types/pg.ts'; +import type {PatchToVersion} from './client-handler.ts'; import { ConcurrentModificationException, CVRStore, OwnershipError, -} from './cvr-store.js'; +} from './cvr-store.ts'; import { CVRConfigDrivenUpdater, CVRQueryDrivenUpdater, type CVRSnapshot, CVRUpdater, -} from './cvr.js'; +} from './cvr.ts'; import { type ClientsRow, compareClientsRows, @@ -28,8 +28,8 @@ import { type RowsRow, type RowsVersionRow, setupCVRTables, -} from './schema/cvr.js'; -import type {CVRVersion, RowID} from './schema/types.js'; +} from './schema/cvr.ts'; +import type {CVRVersion, RowID} from './schema/types.ts'; const SHARD_ID = 'jkl'; diff --git a/packages/zero-cache/src/services/view-syncer/cvr.ts b/packages/zero-cache/src/services/view-syncer/cvr.ts index 330d005979..46c5797181 100644 --- a/packages/zero-cache/src/services/view-syncer/cvr.ts +++ b/packages/zero-cache/src/services/view-syncer/cvr.ts @@ -1,20 +1,20 @@ import type {LogContext} from '@rocicorp/logger'; import {compareUTF8} from 'compare-utf8'; -import {assert} from '../../../../shared/src/asserts.js'; -import {CustomKeyMap} from '../../../../shared/src/custom-key-map.js'; +import {assert} from '../../../../shared/src/asserts.ts'; +import {CustomKeyMap} from '../../../../shared/src/custom-key-map.ts'; import { difference, intersection, union, -} from '../../../../shared/src/set-utils.js'; -import type {AST} from '../../../../zero-protocol/src/ast.js'; -import {stringify, type JSONObject} from '../../types/bigint-json.js'; -import type {LexiVersion} from '../../types/lexi-version.js'; -import {rowIDString} from '../../types/row-key.js'; -import {unescapedSchema as schema} from '../change-source/pg/schema/shard.js'; -import type {Patch, PatchToVersion} from './client-handler.js'; -import type {CVRFlushStats, CVRStore} from './cvr-store.js'; -import {KeyColumns} from './key-columns.js'; +} from '../../../../shared/src/set-utils.ts'; +import type {AST} from '../../../../zero-protocol/src/ast.ts'; +import {stringify, type JSONObject} from '../../types/bigint-json.ts'; +import type {LexiVersion} from '../../types/lexi-version.ts'; +import {rowIDString} from '../../types/row-key.ts'; +import {unescapedSchema as schema} from '../change-source/pg/schema/shard.ts'; +import type {Patch, PatchToVersion} from './client-handler.ts'; +import type {CVRFlushStats, CVRStore} from './cvr-store.ts'; +import {KeyColumns} from './key-columns.ts'; import { cmpVersions, oneAfter, @@ -26,7 +26,7 @@ import { type QueryRecord, type RowID, type RowRecord, -} from './schema/types.js'; +} from './schema/types.ts'; export type RowUpdate = { version?: string; // Undefined for an unref. diff --git a/packages/zero-cache/src/services/view-syncer/database-storage.test.ts b/packages/zero-cache/src/services/view-syncer/database-storage.test.ts index 00a33f6378..6adc43f19a 100644 --- a/packages/zero-cache/src/services/view-syncer/database-storage.test.ts +++ b/packages/zero-cache/src/services/view-syncer/database-storage.test.ts @@ -1,8 +1,8 @@ -import {Database} from '../../../../zqlite/src/db.js'; import {afterEach} from 'node:test'; import {beforeEach, describe, expect, test} from 'vitest'; -import {CREATE_STORAGE_TABLE, DatabaseStorage} from './database-storage.js'; -import {createSilentLogContext} from '../../../../shared/src/logging-test-utils.js'; +import {createSilentLogContext} from '../../../../shared/src/logging-test-utils.ts'; +import {Database} from '../../../../zqlite/src/db.ts'; +import {CREATE_STORAGE_TABLE, DatabaseStorage} from './database-storage.ts'; describe('view-syncer/database-storage', () => { let db: Database; diff --git a/packages/zero-cache/src/services/view-syncer/database-storage.ts b/packages/zero-cache/src/services/view-syncer/database-storage.ts index c8c97fdcf2..6af4238733 100644 --- a/packages/zero-cache/src/services/view-syncer/database-storage.ts +++ b/packages/zero-cache/src/services/view-syncer/database-storage.ts @@ -1,8 +1,8 @@ import {LogContext} from '@rocicorp/logger'; -import type {JSONValue} from '../../../../shared/src/json.js'; -import type {Storage} from '../../../../zql/src/ivm/operator.js'; -import type {Stream} from '../../../../zql/src/ivm/stream.js'; -import {Database, Statement} from '../../../../zqlite/src/db.js'; +import type {JSONValue} from '../../../../shared/src/json.ts'; +import type {Storage} from '../../../../zql/src/ivm/operator.ts'; +import type {Stream} from '../../../../zql/src/ivm/stream.ts'; +import {Database, Statement} from '../../../../zqlite/src/db.ts'; export interface ClientGroupStorage { /** Creates a {@link Storage} instance for a single operator. */ diff --git a/packages/zero-cache/src/services/view-syncer/drain-coordinator.ts b/packages/zero-cache/src/services/view-syncer/drain-coordinator.ts index 90da2fd4b0..50c76e5153 100644 --- a/packages/zero-cache/src/services/view-syncer/drain-coordinator.ts +++ b/packages/zero-cache/src/services/view-syncer/drain-coordinator.ts @@ -1,5 +1,5 @@ import {resolver} from '@rocicorp/resolver'; -import {assert} from '../../../../shared/src/asserts.js'; +import {assert} from '../../../../shared/src/asserts.ts'; // The target (additional) utilization to impose on the server // that receives the drained connections. diff --git a/packages/zero-cache/src/services/view-syncer/key-columns.test.ts b/packages/zero-cache/src/services/view-syncer/key-columns.test.ts index 84a2fef499..f16295c1bc 100644 --- a/packages/zero-cache/src/services/view-syncer/key-columns.test.ts +++ b/packages/zero-cache/src/services/view-syncer/key-columns.test.ts @@ -1,6 +1,6 @@ import {describe, expect, test} from 'vitest'; -import {KeyColumns} from './key-columns.js'; -import type {RowID, RowRecord} from './schema/types.js'; +import {KeyColumns} from './key-columns.ts'; +import type {RowID, RowRecord} from './schema/types.ts'; describe('key columns', () => { function rowRecord(rowID: RowID): RowRecord { diff --git a/packages/zero-cache/src/services/view-syncer/key-columns.ts b/packages/zero-cache/src/services/view-syncer/key-columns.ts index edc3dbf4c6..5222e41767 100644 --- a/packages/zero-cache/src/services/view-syncer/key-columns.ts +++ b/packages/zero-cache/src/services/view-syncer/key-columns.ts @@ -1,8 +1,8 @@ -import {deepEqual} from '../../../../shared/src/json.js'; -import * as ErrorKind from '../../../../zero-protocol/src/error-kind-enum.js'; -import type {JSONObject} from '../../types/bigint-json.js'; -import {ErrorForClient} from '../../types/error-for-client.js'; -import type {RowID, RowRecord} from './schema/types.js'; +import {deepEqual} from '../../../../shared/src/json.ts'; +import * as ErrorKind from '../../../../zero-protocol/src/error-kind-enum.ts'; +import type {JSONObject} from '../../types/bigint-json.ts'; +import {ErrorForClient} from '../../types/error-for-client.ts'; +import type {RowID, RowRecord} from './schema/types.ts'; /** * KeyColumns track the key columns used to reference rows in the CVR. diff --git a/packages/zero-cache/src/services/view-syncer/pipeline-driver.test.ts b/packages/zero-cache/src/services/view-syncer/pipeline-driver.test.ts index 3a92948cbb..1152457c74 100644 --- a/packages/zero-cache/src/services/view-syncer/pipeline-driver.test.ts +++ b/packages/zero-cache/src/services/view-syncer/pipeline-driver.test.ts @@ -1,20 +1,20 @@ import {LogContext} from '@rocicorp/logger'; import {afterEach, beforeEach, describe, expect, test} from 'vitest'; -import {createSilentLogContext} from '../../../../shared/src/logging-test-utils.js'; -import type {AST} from '../../../../zero-protocol/src/ast.js'; -import type {Database as DB} from '../../../../zqlite/src/db.js'; -import {Database} from '../../../../zqlite/src/db.js'; -import {DbFile} from '../../test/lite.js'; -import {initChangeLog} from '../replicator/schema/change-log.js'; -import {initReplicationState} from '../replicator/schema/replication-state.js'; +import {createSilentLogContext} from '../../../../shared/src/logging-test-utils.ts'; +import type {AST} from '../../../../zero-protocol/src/ast.ts'; +import type {Database as DB} from '../../../../zqlite/src/db.ts'; +import {Database} from '../../../../zqlite/src/db.ts'; +import {DbFile} from '../../test/lite.ts'; +import {initChangeLog} from '../replicator/schema/change-log.ts'; +import {initReplicationState} from '../replicator/schema/replication-state.ts'; import { fakeReplicator, ReplicationMessages, type FakeReplicator, -} from '../replicator/test-utils.js'; -import {CREATE_STORAGE_TABLE, DatabaseStorage} from './database-storage.js'; -import {PipelineDriver} from './pipeline-driver.js'; -import {ResetPipelinesSignal, Snapshotter} from './snapshotter.js'; +} from '../replicator/test-utils.ts'; +import {CREATE_STORAGE_TABLE, DatabaseStorage} from './database-storage.ts'; +import {PipelineDriver} from './pipeline-driver.ts'; +import {ResetPipelinesSignal, Snapshotter} from './snapshotter.ts'; describe('view-syncer/pipeline-driver', () => { let dbFile: DbFile; diff --git a/packages/zero-cache/src/services/view-syncer/pipeline-driver.ts b/packages/zero-cache/src/services/view-syncer/pipeline-driver.ts index 075130de66..1d62e09e24 100644 --- a/packages/zero-cache/src/services/view-syncer/pipeline-driver.ts +++ b/packages/zero-cache/src/services/view-syncer/pipeline-driver.ts @@ -1,26 +1,26 @@ import {LogContext} from '@rocicorp/logger'; -import {assert, unreachable} from '../../../../shared/src/asserts.js'; -import {must} from '../../../../shared/src/must.js'; -import type {AST} from '../../../../zero-protocol/src/ast.js'; -import type {Row} from '../../../../zero-protocol/src/data.js'; -import {buildPipeline} from '../../../../zql/src/builder/builder.js'; -import type {Change} from '../../../../zql/src/ivm/change.js'; -import type {Node} from '../../../../zql/src/ivm/data.js'; -import type {Input, Storage} from '../../../../zql/src/ivm/operator.js'; -import type {SourceSchema} from '../../../../zql/src/ivm/schema.js'; -import type {Source, SourceChange} from '../../../../zql/src/ivm/source.js'; +import {assert, unreachable} from '../../../../shared/src/asserts.ts'; +import {must} from '../../../../shared/src/must.ts'; +import type {AST} from '../../../../zero-protocol/src/ast.ts'; +import type {Row} from '../../../../zero-protocol/src/data.ts'; +import {buildPipeline} from '../../../../zql/src/builder/builder.ts'; +import type {Change} from '../../../../zql/src/ivm/change.ts'; +import type {Node} from '../../../../zql/src/ivm/data.ts'; +import type {Input, Storage} from '../../../../zql/src/ivm/operator.ts'; +import type {SourceSchema} from '../../../../zql/src/ivm/schema.ts'; +import type {Source, SourceChange} from '../../../../zql/src/ivm/source.ts'; import { runtimeDebugFlags, runtimeDebugStats, -} from '../../../../zqlite/src/runtime-debug.js'; -import {TableSource} from '../../../../zqlite/src/table-source.js'; -import {computeZqlSpecs} from '../../db/lite-tables.js'; -import type {LiteAndZqlSpec} from '../../db/specs.js'; -import type {RowKey} from '../../types/row-key.js'; -import type {SchemaVersions} from '../../types/schema-versions.js'; -import {getSubscriptionState} from '../replicator/schema/replication-state.js'; -import type {ClientGroupStorage} from './database-storage.js'; -import {type SnapshotDiff, Snapshotter} from './snapshotter.js'; +} from '../../../../zqlite/src/runtime-debug.ts'; +import {TableSource} from '../../../../zqlite/src/table-source.ts'; +import {computeZqlSpecs} from '../../db/lite-tables.ts'; +import type {LiteAndZqlSpec} from '../../db/specs.ts'; +import type {RowKey} from '../../types/row-key.ts'; +import type {SchemaVersions} from '../../types/schema-versions.ts'; +import {getSubscriptionState} from '../replicator/schema/replication-state.ts'; +import type {ClientGroupStorage} from './database-storage.ts'; +import {type SnapshotDiff, Snapshotter} from './snapshotter.ts'; export type RowAdd = { readonly type: 'add'; diff --git a/packages/zero-cache/src/services/view-syncer/schema/cvr.ts b/packages/zero-cache/src/services/view-syncer/schema/cvr.ts index 9e57991deb..9c3f68262c 100644 --- a/packages/zero-cache/src/services/view-syncer/schema/cvr.ts +++ b/packages/zero-cache/src/services/view-syncer/schema/cvr.ts @@ -1,18 +1,18 @@ import type {LogContext} from '@rocicorp/logger'; import type postgres from 'postgres'; -import {stringCompare} from '../../../../../shared/src/string-compare.js'; +import {stringCompare} from '../../../../../shared/src/string-compare.ts'; import { type JSONObject, type JSONValue, stringify, -} from '../../../types/bigint-json.js'; -import {normalizedKeyOrder, type RowKey} from '../../../types/row-key.js'; +} from '../../../types/bigint-json.ts'; +import {normalizedKeyOrder, type RowKey} from '../../../types/row-key.ts'; import { type RowID, type RowRecord, versionFromString, versionString, -} from './types.js'; +} from './types.ts'; export const PG_SCHEMA = 'cvr'; diff --git a/packages/zero-cache/src/services/view-syncer/schema/init.ts b/packages/zero-cache/src/services/view-syncer/schema/init.ts index 57523298df..c94f996e7b 100644 --- a/packages/zero-cache/src/services/view-syncer/schema/init.ts +++ b/packages/zero-cache/src/services/view-syncer/schema/init.ts @@ -4,13 +4,13 @@ import { runSchemaMigrations, type IncrementalMigrationMap, type Migration, -} from '../../../db/migration.js'; -import type {PostgresDB} from '../../../types/pg.js'; +} from '../../../db/migration.ts'; +import type {PostgresDB} from '../../../types/pg.ts'; import { CREATE_CVR_ROWS_VERSION_TABLE, PG_SCHEMA, setupCVRTables, -} from './cvr.js'; +} from './cvr.ts'; const setupMigration: Migration = { migrateSchema: setupCVRTables, diff --git a/packages/zero-cache/src/services/view-syncer/schema/types.test.ts b/packages/zero-cache/src/services/view-syncer/schema/types.test.ts index 1498e231c6..04a3ecc10a 100644 --- a/packages/zero-cache/src/services/view-syncer/schema/types.test.ts +++ b/packages/zero-cache/src/services/view-syncer/schema/types.test.ts @@ -5,7 +5,7 @@ import { cookieToVersion, oneAfter, versionToNullableCookie, -} from './types.js'; +} from './types.ts'; describe('view-syncer/schema/types', () => { test('version comparison', () => { diff --git a/packages/zero-cache/src/services/view-syncer/schema/types.ts b/packages/zero-cache/src/services/view-syncer/schema/types.ts index 7307ffb074..87599191d1 100644 --- a/packages/zero-cache/src/services/view-syncer/schema/types.ts +++ b/packages/zero-cache/src/services/view-syncer/schema/types.ts @@ -1,7 +1,7 @@ -import * as v from '../../../../../shared/src/valita.js'; -import {astSchema} from '../../../../../zero-protocol/src/ast.js'; -import {jsonValueSchema} from '../../../types/bigint-json.js'; -import {versionFromLexi, versionToLexi} from '../../../types/lexi-version.js'; +import * as v from '../../../../../shared/src/valita.ts'; +import {astSchema} from '../../../../../zero-protocol/src/ast.ts'; +import {jsonValueSchema} from '../../../types/bigint-json.ts'; +import {versionFromLexi, versionToLexi} from '../../../types/lexi-version.ts'; export const cvrVersionSchema = v.object({ /** diff --git a/packages/zero-cache/src/services/view-syncer/snapshotter.test.ts b/packages/zero-cache/src/services/view-syncer/snapshotter.test.ts index c385d681d9..60f6ab6dd8 100644 --- a/packages/zero-cache/src/services/view-syncer/snapshotter.test.ts +++ b/packages/zero-cache/src/services/view-syncer/snapshotter.test.ts @@ -1,21 +1,21 @@ import {LogContext} from '@rocicorp/logger'; import {afterEach, beforeEach, describe, expect, test} from 'vitest'; -import {createSilentLogContext} from '../../../../shared/src/logging-test-utils.js'; -import {computeZqlSpecs} from '../../db/lite-tables.js'; -import type {LiteAndZqlSpec} from '../../db/specs.js'; -import {DbFile, expectTables} from '../../test/lite.js'; -import {initChangeLog} from '../replicator/schema/change-log.js'; -import {initReplicationState} from '../replicator/schema/replication-state.js'; +import {createSilentLogContext} from '../../../../shared/src/logging-test-utils.ts'; +import {computeZqlSpecs} from '../../db/lite-tables.ts'; +import type {LiteAndZqlSpec} from '../../db/specs.ts'; +import {DbFile, expectTables} from '../../test/lite.ts'; +import {initChangeLog} from '../replicator/schema/change-log.ts'; +import {initReplicationState} from '../replicator/schema/replication-state.ts'; import { fakeReplicator, ReplicationMessages, type FakeReplicator, -} from '../replicator/test-utils.js'; +} from '../replicator/test-utils.ts'; import { InvalidDiffError, ResetPipelinesSignal, Snapshotter, -} from './snapshotter.js'; +} from './snapshotter.ts'; describe('view-syncer/snapshotter', () => { let lc: LogContext; diff --git a/packages/zero-cache/src/services/view-syncer/snapshotter.ts b/packages/zero-cache/src/services/view-syncer/snapshotter.ts index 9cabea5076..0d946ecca2 100644 --- a/packages/zero-cache/src/services/view-syncer/snapshotter.ts +++ b/packages/zero-cache/src/services/view-syncer/snapshotter.ts @@ -1,29 +1,29 @@ import {LogContext} from '@rocicorp/logger'; -import {assert} from '../../../../shared/src/asserts.js'; -import {must} from '../../../../shared/src/must.js'; -import * as v from '../../../../shared/src/valita.js'; -import {Database} from '../../../../zqlite/src/db.js'; -import {fromSQLiteTypes} from '../../../../zqlite/src/table-source.js'; -import type {LiteAndZqlSpec, LiteTableSpecWithKeys} from '../../db/specs.js'; -import {StatementRunner} from '../../db/statements.js'; -import {type JSONValue} from '../../types/bigint-json.js'; +import {assert} from '../../../../shared/src/asserts.ts'; +import {must} from '../../../../shared/src/must.ts'; +import * as v from '../../../../shared/src/valita.ts'; +import {Database} from '../../../../zqlite/src/db.ts'; +import {fromSQLiteTypes} from '../../../../zqlite/src/table-source.ts'; +import type {LiteAndZqlSpec, LiteTableSpecWithKeys} from '../../db/specs.ts'; +import {StatementRunner} from '../../db/statements.ts'; +import {type JSONValue} from '../../types/bigint-json.ts'; import { normalizedKeyOrder, type RowKey, type RowValue, -} from '../../types/row-key.js'; -import {type SchemaVersions} from '../../types/schema-versions.js'; -import {id} from '../../types/sql.js'; +} from '../../types/row-key.ts'; +import {type SchemaVersions} from '../../types/schema-versions.ts'; +import {id} from '../../types/sql.ts'; import { RESET_OP, changeLogEntrySchema as schema, SET_OP, TRUNCATE_OP, -} from '../replicator/schema/change-log.js'; +} from '../replicator/schema/change-log.ts'; import { getReplicationState, ZERO_VERSION_COLUMN_NAME as ROW_VERSION, -} from '../replicator/schema/replication-state.js'; +} from '../replicator/schema/replication-state.ts'; /** * A `Snapshotter` manages the progression of database snapshots for a diff --git a/packages/zero-cache/src/services/view-syncer/view-syncer.pg-test.ts b/packages/zero-cache/src/services/view-syncer/view-syncer.pg-test.ts index 4a503d051c..4d8d7bf172 100644 --- a/packages/zero-cache/src/services/view-syncer/view-syncer.pg-test.ts +++ b/packages/zero-cache/src/services/view-syncer/view-syncer.pg-test.ts @@ -1,57 +1,57 @@ import {afterEach, beforeEach, describe, expect, test} from 'vitest'; -import {createSilentLogContext} from '../../../../shared/src/logging-test-utils.js'; -import {Queue} from '../../../../shared/src/queue.js'; -import {sleep} from '../../../../shared/src/sleep.js'; -import type {AST} from '../../../../zero-protocol/src/ast.js'; -import * as ErrorKind from '../../../../zero-protocol/src/error-kind-enum.js'; +import {createSilentLogContext} from '../../../../shared/src/logging-test-utils.ts'; +import {Queue} from '../../../../shared/src/queue.ts'; +import {sleep} from '../../../../shared/src/sleep.ts'; +import type {AST} from '../../../../zero-protocol/src/ast.ts'; +import * as ErrorKind from '../../../../zero-protocol/src/error-kind-enum.ts'; import { type Downstream, type ErrorBody, type PokePartBody, type PokeStartBody, type QueriesPatch, -} from '../../../../zero-protocol/src/mod.js'; -import type {PermissionsConfig} from '../../../../zero-schema/src/compiled-permissions.js'; -import {definePermissions} from '../../../../zero-schema/src/permissions.js'; -import type {ExpressionBuilder} from '../../../../zql/src/query/expression.js'; -import {Database} from '../../../../zqlite/src/db.js'; -import {StatementRunner} from '../../db/statements.js'; -import {testDBs} from '../../test/db.js'; -import {DbFile} from '../../test/lite.js'; -import {ErrorForClient} from '../../types/error-for-client.js'; -import type {PostgresDB} from '../../types/pg.js'; -import {Subscription} from '../../types/subscription.js'; -import type {ReplicaState} from '../replicator/replicator.js'; -import {initChangeLog} from '../replicator/schema/change-log.js'; +} from '../../../../zero-protocol/src/mod.ts'; +import {relationships} from '../../../../zero-schema/src/builder/relationship-builder.ts'; +import {createSchema} from '../../../../zero-schema/src/builder/schema-builder.ts'; +import { + json, + number, + string, + table, +} from '../../../../zero-schema/src/builder/table-builder.ts'; +import type {PermissionsConfig} from '../../../../zero-schema/src/compiled-permissions.ts'; +import {definePermissions} from '../../../../zero-schema/src/permissions.ts'; +import type {ExpressionBuilder} from '../../../../zql/src/query/expression.ts'; +import {Database} from '../../../../zqlite/src/db.ts'; +import {StatementRunner} from '../../db/statements.ts'; +import {testDBs} from '../../test/db.ts'; +import {DbFile} from '../../test/lite.ts'; +import {ErrorForClient} from '../../types/error-for-client.ts'; +import type {PostgresDB} from '../../types/pg.ts'; +import {Subscription} from '../../types/subscription.ts'; +import type {ReplicaState} from '../replicator/replicator.ts'; +import {initChangeLog} from '../replicator/schema/change-log.ts'; import { initReplicationState, updateReplicationWatermark, -} from '../replicator/schema/replication-state.js'; +} from '../replicator/schema/replication-state.ts'; import { fakeReplicator, type FakeReplicator, ReplicationMessages, -} from '../replicator/test-utils.js'; -import {CVRStore} from './cvr-store.js'; -import {CVRQueryDrivenUpdater} from './cvr.js'; +} from '../replicator/test-utils.ts'; +import {CVRStore} from './cvr-store.ts'; +import {CVRQueryDrivenUpdater} from './cvr.ts'; import { type ClientGroupStorage, CREATE_STORAGE_TABLE, DatabaseStorage, -} from './database-storage.js'; -import {DrainCoordinator} from './drain-coordinator.js'; -import {PipelineDriver} from './pipeline-driver.js'; -import {initViewSyncerSchema} from './schema/init.js'; -import {Snapshotter} from './snapshotter.js'; -import {pickToken, type SyncContext, ViewSyncerService} from './view-syncer.js'; -import {createSchema} from '../../../../zero-schema/src/builder/schema-builder.js'; -import { - json, - number, - string, - table, -} from '../../../../zero-schema/src/builder/table-builder.js'; -import {relationships} from '../../../../zero-schema/src/builder/relationship-builder.js'; +} from './database-storage.ts'; +import {DrainCoordinator} from './drain-coordinator.ts'; +import {PipelineDriver} from './pipeline-driver.ts'; +import {initViewSyncerSchema} from './schema/init.ts'; +import {Snapshotter} from './snapshotter.ts'; +import {pickToken, type SyncContext, ViewSyncerService} from './view-syncer.ts'; const SHARD_ID = 'ABC'; diff --git a/packages/zero-cache/src/services/view-syncer/view-syncer.ts b/packages/zero-cache/src/services/view-syncer/view-syncer.ts index 344299bdfa..2f0fd58011 100644 --- a/packages/zero-cache/src/services/view-syncer/view-syncer.ts +++ b/packages/zero-cache/src/services/view-syncer/view-syncer.ts @@ -8,46 +8,46 @@ import { manualSpan, startAsyncSpan, startSpan, -} from '../../../../otel/src/span.js'; -import {version} from '../../../../otel/src/version.js'; -import {assert, unreachable} from '../../../../shared/src/asserts.js'; -import {CustomKeyMap} from '../../../../shared/src/custom-key-map.js'; -import {must} from '../../../../shared/src/must.js'; -import {randInt} from '../../../../shared/src/rand.js'; -import type {AST} from '../../../../zero-protocol/src/ast.js'; -import * as ErrorKind from '../../../../zero-protocol/src/error-kind-enum.js'; +} from '../../../../otel/src/span.ts'; +import {version} from '../../../../otel/src/version.ts'; +import {assert, unreachable} from '../../../../shared/src/asserts.ts'; +import {CustomKeyMap} from '../../../../shared/src/custom-key-map.ts'; +import {must} from '../../../../shared/src/must.ts'; +import {randInt} from '../../../../shared/src/rand.ts'; +import type {AST} from '../../../../zero-protocol/src/ast.ts'; +import * as ErrorKind from '../../../../zero-protocol/src/error-kind-enum.ts'; import { type ChangeDesiredQueriesBody, type ChangeDesiredQueriesMessage, type Downstream, type InitConnectionMessage, -} from '../../../../zero-protocol/src/mod.js'; -import type {PermissionsConfig} from '../../../../zero-schema/src/compiled-permissions.js'; -import {transformAndHashQuery} from '../../auth/read-authorizer.js'; -import {stringify} from '../../types/bigint-json.js'; -import {ErrorForClient, getLogLevel} from '../../types/error-for-client.js'; -import type {PostgresDB} from '../../types/pg.js'; -import {rowIDString, type RowKey} from '../../types/row-key.js'; -import type {Source} from '../../types/streams.js'; -import {Subscription} from '../../types/subscription.js'; -import type {ReplicaState} from '../replicator/replicator.js'; -import {ZERO_VERSION_COLUMN_NAME} from '../replicator/schema/replication-state.js'; -import type {ActivityBasedService} from '../service.js'; +} from '../../../../zero-protocol/src/mod.ts'; +import type {PermissionsConfig} from '../../../../zero-schema/src/compiled-permissions.ts'; +import {transformAndHashQuery} from '../../auth/read-authorizer.ts'; +import {stringify} from '../../types/bigint-json.ts'; +import {ErrorForClient, getLogLevel} from '../../types/error-for-client.ts'; +import type {PostgresDB} from '../../types/pg.ts'; +import {rowIDString, type RowKey} from '../../types/row-key.ts'; +import type {Source} from '../../types/streams.ts'; +import {Subscription} from '../../types/subscription.ts'; +import type {ReplicaState} from '../replicator/replicator.ts'; +import {ZERO_VERSION_COLUMN_NAME} from '../replicator/schema/replication-state.ts'; +import type {ActivityBasedService} from '../service.ts'; import { ClientHandler, type PatchToVersion, type PokeHandler, type RowPatch, -} from './client-handler.js'; -import {CVRStore} from './cvr-store.js'; +} from './client-handler.ts'; +import {CVRStore} from './cvr-store.ts'; import { CVRConfigDrivenUpdater, CVRQueryDrivenUpdater, type CVRSnapshot, type RowUpdate, -} from './cvr.js'; -import type {DrainCoordinator} from './drain-coordinator.js'; -import {PipelineDriver, type RowChange} from './pipeline-driver.js'; +} from './cvr.ts'; +import type {DrainCoordinator} from './drain-coordinator.ts'; +import {PipelineDriver, type RowChange} from './pipeline-driver.ts'; import { cmpVersions, EMPTY_CVR_VERSION, @@ -57,8 +57,8 @@ import { type CVRVersion, type NullableCVRVersion, type RowID, -} from './schema/types.js'; -import {ResetPipelinesSignal} from './snapshotter.js'; +} from './schema/types.ts'; +import {ResetPipelinesSignal} from './snapshotter.ts'; export type TokenData = { readonly raw: string; diff --git a/packages/zero-cache/src/test/db.ts b/packages/zero-cache/src/test/db.ts index a415c3bf54..2a65181968 100644 --- a/packages/zero-cache/src/test/db.ts +++ b/packages/zero-cache/src/test/db.ts @@ -1,9 +1,9 @@ /* eslint-disable no-console */ import postgres from 'postgres'; import {afterAll, expect, inject} from 'vitest'; -import {assert} from '../../../shared/src/asserts.js'; -import {sleep} from '../../../shared/src/sleep.js'; -import {type PostgresDB, postgresTypeConfig} from '../types/pg.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import {sleep} from '../../../shared/src/sleep.ts'; +import {type PostgresDB, postgresTypeConfig} from '../types/pg.ts'; declare module 'vitest' { export interface ProvidedContext { diff --git a/packages/zero-cache/src/test/lite.ts b/packages/zero-cache/src/test/lite.ts index ebbfb1bc13..b99b59a1a6 100644 --- a/packages/zero-cache/src/test/lite.ts +++ b/packages/zero-cache/src/test/lite.ts @@ -1,10 +1,10 @@ import {LogContext} from '@rocicorp/logger'; import {tmpdir} from 'node:os'; import {expect} from 'vitest'; -import {randInt} from '../../../shared/src/rand.js'; -import {Database} from '../../../zqlite/src/db.js'; -import {deleteLiteDB} from '../db/delete-lite-db.js'; -import {id} from '../types/sql.js'; +import {randInt} from '../../../shared/src/rand.ts'; +import {Database} from '../../../zqlite/src/db.ts'; +import {deleteLiteDB} from '../db/delete-lite-db.ts'; +import {id} from '../types/sql.ts'; export class DbFile { readonly path; diff --git a/packages/zero-cache/src/types/big-time.test.ts b/packages/zero-cache/src/types/big-time.test.ts index 56873e3739..9b982b93ea 100644 --- a/packages/zero-cache/src/types/big-time.test.ts +++ b/packages/zero-cache/src/types/big-time.test.ts @@ -1,5 +1,5 @@ import {describe, expect, test} from 'vitest'; -import {epochMicrosToTimestampTz} from './big-time.js'; +import {epochMicrosToTimestampTz} from './big-time.ts'; describe('types/bigtime', () => { type Case = { diff --git a/packages/zero-cache/src/types/bigint-json.test.ts b/packages/zero-cache/src/types/bigint-json.test.ts index 720ea044da..3ba5a9e1e5 100644 --- a/packages/zero-cache/src/types/bigint-json.test.ts +++ b/packages/zero-cache/src/types/bigint-json.test.ts @@ -1,5 +1,5 @@ import {describe, expect, test} from 'vitest'; -import {parse, stringify} from './bigint-json.js'; +import {parse, stringify} from './bigint-json.ts'; describe('types/json', () => { type Case = { diff --git a/packages/zero-cache/src/types/bigint-json.ts b/packages/zero-cache/src/types/bigint-json.ts index d816022d36..2e6a140301 100644 --- a/packages/zero-cache/src/types/bigint-json.ts +++ b/packages/zero-cache/src/types/bigint-json.ts @@ -7,7 +7,7 @@ import { parse as customParse, stringify as customStringify, } from 'json-custom-numbers'; -import * as v from '../../../shared/src/valita.js'; +import * as v from '../../../shared/src/valita.ts'; function numberParser(_: unknown, v: string) { const n = +v; diff --git a/packages/zero-cache/src/types/error-for-client.ts b/packages/zero-cache/src/types/error-for-client.ts index 623858f617..b17215be22 100644 --- a/packages/zero-cache/src/types/error-for-client.ts +++ b/packages/zero-cache/src/types/error-for-client.ts @@ -1,5 +1,5 @@ import type {LogLevel} from '@rocicorp/logger'; -import type {ErrorBody} from '../../../zero-protocol/src/error.js'; +import type {ErrorBody} from '../../../zero-protocol/src/error.ts'; export class ErrorWithLevel extends Error { readonly logLevel: LogLevel; diff --git a/packages/zero-cache/src/types/lexi-version.test.ts b/packages/zero-cache/src/types/lexi-version.test.ts index 83ad29be02..6fb7365e3c 100644 --- a/packages/zero-cache/src/types/lexi-version.test.ts +++ b/packages/zero-cache/src/types/lexi-version.test.ts @@ -7,7 +7,7 @@ import { versionToLexi, type AtLeastOne, type LexiVersion, -} from './lexi-version.js'; +} from './lexi-version.ts'; test('LexiVersion encoding', () => { type Case = [number | bigint, string]; diff --git a/packages/zero-cache/src/types/lexi-version.ts b/packages/zero-cache/src/types/lexi-version.ts index f28e90f7f2..552c759b67 100644 --- a/packages/zero-cache/src/types/lexi-version.ts +++ b/packages/zero-cache/src/types/lexi-version.ts @@ -1,5 +1,5 @@ -import {assert} from '../../../shared/src/asserts.js'; -import {parseBigInt} from '../../../shared/src/parse-big-int.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import {parseBigInt} from '../../../shared/src/parse-big-int.ts'; /** * A LexiVersion is a lexicographically sortable representation of diff --git a/packages/zero-cache/src/types/lite.test.ts b/packages/zero-cache/src/types/lite.test.ts index db271c68e9..1e7f92983c 100644 --- a/packages/zero-cache/src/types/lite.test.ts +++ b/packages/zero-cache/src/types/lite.test.ts @@ -1,5 +1,5 @@ import {describe, expect, test} from 'vitest'; -import {liteRow, liteValue, liteValues} from './lite.js'; +import {liteRow, liteValue, liteValues} from './lite.ts'; describe('types/lite', () => { test.each([ diff --git a/packages/zero-cache/src/types/lite.ts b/packages/zero-cache/src/types/lite.ts index faee14ba44..12de81bfcd 100644 --- a/packages/zero-cache/src/types/lite.ts +++ b/packages/zero-cache/src/types/lite.ts @@ -1,12 +1,12 @@ -import {assert} from '../../../shared/src/asserts.js'; +import {assert} from '../../../shared/src/asserts.ts'; import type { SchemaValue, ValueType, -} from '../../../zero-schema/src/table-schema.js'; -import type {LiteTableSpec} from '../db/specs.js'; -import {stringify, type JSONValue} from './bigint-json.js'; -import type {PostgresValueType} from './pg.js'; -import type {RowValue} from './row-key.js'; +} from '../../../zero-schema/src/table-schema.ts'; +import type {LiteTableSpec} from '../db/specs.ts'; +import {stringify, type JSONValue} from './bigint-json.ts'; +import type {PostgresValueType} from './pg.ts'; +import type {RowValue} from './row-key.ts'; /** Javascript value types supported by better-sqlite3. */ export type LiteValueType = number | bigint | string | null | Uint8Array; diff --git a/packages/zero-cache/src/types/names.test.ts b/packages/zero-cache/src/types/names.test.ts index 4e60810d0d..50028712b0 100644 --- a/packages/zero-cache/src/types/names.test.ts +++ b/packages/zero-cache/src/types/names.test.ts @@ -1,5 +1,5 @@ import {describe, expect, test} from 'vitest'; -import {liteTableName} from './names.js'; +import {liteTableName} from './names.ts'; describe('tables/names', () => { ( diff --git a/packages/zero-cache/src/types/pg.pg-test.ts b/packages/zero-cache/src/types/pg.pg-test.ts index f458674dec..14246edfdd 100644 --- a/packages/zero-cache/src/types/pg.pg-test.ts +++ b/packages/zero-cache/src/types/pg.pg-test.ts @@ -1,8 +1,8 @@ import pg from 'pg'; import type postgres from 'postgres'; import {afterEach, beforeEach, describe, expect, test} from 'vitest'; -import {testDBs} from '../test/db.js'; -import {timestampToFpMillis, typeNameByOID} from './pg.js'; +import {testDBs} from '../test/db.ts'; +import {timestampToFpMillis, typeNameByOID} from './pg.ts'; describe('types/pg-types', () => { test('typeNameByIOD', () => { diff --git a/packages/zero-cache/src/types/pg.ts b/packages/zero-cache/src/types/pg.ts index f234707494..c9360283f1 100644 --- a/packages/zero-cache/src/types/pg.ts +++ b/packages/zero-cache/src/types/pg.ts @@ -4,8 +4,8 @@ import {LogContext} from '@rocicorp/logger'; import pg from 'pg'; import postgres, {type Notice, type PostgresType} from 'postgres'; import array from 'postgres-array'; -import {randInt} from '../../../shared/src/rand.js'; -import {BigIntJSON, type JSONValue} from './bigint-json.js'; +import {randInt} from '../../../shared/src/rand.ts'; +import {BigIntJSON, type JSONValue} from './bigint-json.ts'; const { types: {builtins, setTypeParser}, diff --git a/packages/zero-cache/src/types/processes.test.ts b/packages/zero-cache/src/types/processes.test.ts index 39c4ad0ff5..03a26f11d5 100644 --- a/packages/zero-cache/src/types/processes.test.ts +++ b/packages/zero-cache/src/types/processes.test.ts @@ -1,6 +1,6 @@ import type {SendHandle} from 'child_process'; import {describe, expect, test, vi} from 'vitest'; -import {inProcChannel} from './processes.js'; +import {inProcChannel} from './processes.ts'; describe('types/processes', () => { test('in-proc channel', () => { diff --git a/packages/zero-cache/src/types/row-key.test.ts b/packages/zero-cache/src/types/row-key.test.ts index e0c8924181..0a8d8d7b73 100644 --- a/packages/zero-cache/src/types/row-key.test.ts +++ b/packages/zero-cache/src/types/row-key.test.ts @@ -5,7 +5,7 @@ import { rowIDHash, rowIDString, rowKeyString, -} from './row-key.js'; +} from './row-key.ts'; describe('types/row-key', () => { type Case = { diff --git a/packages/zero-cache/src/types/row-key.ts b/packages/zero-cache/src/types/row-key.ts index 68cf19d0df..a40d30d2de 100644 --- a/packages/zero-cache/src/types/row-key.ts +++ b/packages/zero-cache/src/types/row-key.ts @@ -1,6 +1,6 @@ -import {assert} from '../../../shared/src/asserts.js'; -import {h128} from '../../../shared/src/hash.js'; -import {stringify, type JSONValue} from './bigint-json.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import {h128} from '../../../shared/src/hash.ts'; +import {stringify, type JSONValue} from './bigint-json.ts'; export type ColumnType = {readonly typeOid: number}; export type RowKeyType = Readonly>; diff --git a/packages/zero-cache/src/types/schema-versions.ts b/packages/zero-cache/src/types/schema-versions.ts index d760350630..345238626e 100644 --- a/packages/zero-cache/src/types/schema-versions.ts +++ b/packages/zero-cache/src/types/schema-versions.ts @@ -1,5 +1,5 @@ -import * as ErrorKind from '../../../zero-protocol/src/error-kind-enum.js'; -import {ErrorForClient} from './error-for-client.js'; +import * as ErrorKind from '../../../zero-protocol/src/error-kind-enum.ts'; +import {ErrorForClient} from './error-for-client.ts'; export type SchemaVersions = { readonly minSupportedVersion: number; diff --git a/packages/zero-cache/src/types/sql.test.ts b/packages/zero-cache/src/types/sql.test.ts index 54088cf2dd..a05d2578e3 100644 --- a/packages/zero-cache/src/types/sql.test.ts +++ b/packages/zero-cache/src/types/sql.test.ts @@ -1,5 +1,5 @@ import {describe, expect, test} from 'vitest'; -import {id, idList} from './sql.js'; +import {id, idList} from './sql.ts'; describe('types/sql', () => { type Case = { diff --git a/packages/zero-cache/src/types/streams.test.ts b/packages/zero-cache/src/types/streams.test.ts index 8641731cb8..57f7cb66d2 100644 --- a/packages/zero-cache/src/types/streams.test.ts +++ b/packages/zero-cache/src/types/streams.test.ts @@ -4,13 +4,13 @@ import {resolver} from '@rocicorp/resolver'; import Fastify, {type FastifyInstance} from 'fastify'; import {afterEach, beforeEach, describe, expect, test} from 'vitest'; import WebSocket from 'ws'; -import {createSilentLogContext} from '../../../shared/src/logging-test-utils.js'; -import {Queue} from '../../../shared/src/queue.js'; -import {randInt} from '../../../shared/src/rand.js'; -import {sleep} from '../../../shared/src/sleep.js'; -import * as v from '../../../shared/src/valita.js'; -import {type Source, streamIn, streamOut} from './streams.js'; -import {Subscription} from './subscription.js'; +import {createSilentLogContext} from '../../../shared/src/logging-test-utils.ts'; +import {Queue} from '../../../shared/src/queue.ts'; +import {randInt} from '../../../shared/src/rand.ts'; +import {sleep} from '../../../shared/src/sleep.ts'; +import * as v from '../../../shared/src/valita.ts'; +import {type Source, streamIn, streamOut} from './streams.ts'; +import {Subscription} from './subscription.ts'; const messageSchema = v.object({ from: v.number(), diff --git a/packages/zero-cache/src/types/streams.ts b/packages/zero-cache/src/types/streams.ts index 19522ae508..1cb87e263f 100644 --- a/packages/zero-cache/src/types/streams.ts +++ b/packages/zero-cache/src/types/streams.ts @@ -1,10 +1,10 @@ import type {LogContext} from '@rocicorp/logger'; import {resolver} from '@rocicorp/resolver'; import type {CloseEvent, ErrorEvent, MessageEvent, WebSocket} from 'ws'; -import {Queue} from '../../../shared/src/queue.js'; -import * as v from '../../../shared/src/valita.js'; -import {BigIntJSON, type JSONValue} from './bigint-json.js'; -import {Subscription} from './subscription.js'; +import {Queue} from '../../../shared/src/queue.ts'; +import * as v from '../../../shared/src/valita.ts'; +import {BigIntJSON, type JSONValue} from './bigint-json.ts'; +import {Subscription} from './subscription.ts'; export type Source = AsyncIterable & { /** diff --git a/packages/zero-cache/src/types/subscription.test.ts b/packages/zero-cache/src/types/subscription.test.ts index 8452428088..6e7ac83f71 100644 --- a/packages/zero-cache/src/types/subscription.test.ts +++ b/packages/zero-cache/src/types/subscription.test.ts @@ -1,7 +1,7 @@ -import {assert} from '../../../shared/src/asserts.js'; -import {sleep} from '../../../shared/src/sleep.js'; import {describe, expect, test, vi} from 'vitest'; -import {type Result, Subscription} from './subscription.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import {sleep} from '../../../shared/src/sleep.ts'; +import {type Result, Subscription} from './subscription.ts'; describe('types/subscription', () => { test('cancel', async () => { diff --git a/packages/zero-cache/src/types/subscription.ts b/packages/zero-cache/src/types/subscription.ts index c37ef48e3f..664b351808 100644 --- a/packages/zero-cache/src/types/subscription.ts +++ b/packages/zero-cache/src/types/subscription.ts @@ -1,5 +1,5 @@ import {resolver, type Resolver} from '@rocicorp/resolver'; -import type {Sink, Source} from './streams.js'; +import type {Sink, Source} from './streams.ts'; /** * A Subscription abstracts a continuous, logically infinite stream of messages intended diff --git a/packages/zero-cache/src/types/timeout.test.ts b/packages/zero-cache/src/types/timeout.test.ts index 8639de539d..fa616ad53d 100644 --- a/packages/zero-cache/src/types/timeout.test.ts +++ b/packages/zero-cache/src/types/timeout.test.ts @@ -1,6 +1,6 @@ import {resolver} from '@rocicorp/resolver'; import {describe, expect, test} from 'vitest'; -import {orTimeout, orTimeoutWith} from './timeout.js'; +import {orTimeout, orTimeoutWith} from './timeout.ts'; describe('timeout', () => { test('resolved', async () => { diff --git a/packages/zero-cache/src/types/timeout.ts b/packages/zero-cache/src/types/timeout.ts index 477bd6c707..05ea57a1a0 100644 --- a/packages/zero-cache/src/types/timeout.ts +++ b/packages/zero-cache/src/types/timeout.ts @@ -1,4 +1,4 @@ -import {sleepWithAbort} from '../../../shared/src/sleep.js'; +import {sleepWithAbort} from '../../../shared/src/sleep.ts'; /** * Resolves to the the string `"timed-out"` if `timeoutMs` elapses before diff --git a/packages/zero-cache/src/types/ws.test.ts b/packages/zero-cache/src/types/ws.test.ts index 26a16fa38a..07773ddc40 100644 --- a/packages/zero-cache/src/types/ws.test.ts +++ b/packages/zero-cache/src/types/ws.test.ts @@ -1,9 +1,9 @@ import {resolver} from '@rocicorp/resolver'; import {afterAll, beforeAll, describe, expect, test} from 'vitest'; import WebSocket, {WebSocketServer} from 'ws'; -import {createSilentLogContext} from '../../../shared/src/logging-test-utils.js'; -import {randInt} from '../../../shared/src/rand.js'; -import {closeWithProtocolError} from './ws.js'; +import {createSilentLogContext} from '../../../shared/src/logging-test-utils.ts'; +import {randInt} from '../../../shared/src/rand.ts'; +import {closeWithProtocolError} from './ws.ts'; describe('types/ws', () => { let port: number; diff --git a/packages/zero-cache/src/workers/connection.ts b/packages/zero-cache/src/workers/connection.ts index b2ccce9842..0f5aa9b1a8 100644 --- a/packages/zero-cache/src/workers/connection.ts +++ b/packages/zero-cache/src/workers/connection.ts @@ -4,31 +4,31 @@ import type {LogContext} from '@rocicorp/logger'; import type {JWTPayload} from 'jose'; import type {CloseEvent, Data, ErrorEvent} from 'ws'; import WebSocket from 'ws'; -import {startAsyncSpan, startSpan} from '../../../otel/src/span.js'; -import {version} from '../../../otel/src/version.js'; -import {unreachable} from '../../../shared/src/asserts.js'; -import * as valita from '../../../shared/src/valita.js'; -import * as ErrorKind from '../../../zero-protocol/src/error-kind-enum.js'; -import {type ErrorBody} from '../../../zero-protocol/src/error.js'; +import {startAsyncSpan, startSpan} from '../../../otel/src/span.ts'; +import {version} from '../../../otel/src/version.ts'; +import {unreachable} from '../../../shared/src/asserts.ts'; +import * as valita from '../../../shared/src/valita.ts'; +import * as ErrorKind from '../../../zero-protocol/src/error-kind-enum.ts'; +import {type ErrorBody} from '../../../zero-protocol/src/error.ts'; import { type ConnectedMessage, type Downstream, type PongMessage, upstreamSchema, -} from '../../../zero-protocol/src/mod.js'; +} from '../../../zero-protocol/src/mod.ts'; import { MIN_SERVER_SUPPORTED_PROTOCOL_VERSION, PROTOCOL_VERSION, -} from '../../../zero-protocol/src/protocol-version.js'; -import type {ConnectParams} from '../services/dispatcher/connect-params.js'; -import type {Mutagen} from '../services/mutagen/mutagen.js'; +} from '../../../zero-protocol/src/protocol-version.ts'; +import type {ConnectParams} from '../services/dispatcher/connect-params.ts'; +import type {Mutagen} from '../services/mutagen/mutagen.ts'; import type { SyncContext, TokenData, ViewSyncer, -} from '../services/view-syncer/view-syncer.js'; -import {findErrorForClient, getLogLevel} from '../types/error-for-client.js'; -import type {Source} from '../types/streams.js'; +} from '../services/view-syncer/view-syncer.ts'; +import {findErrorForClient, getLogLevel} from '../types/error-for-client.ts'; +import type {Source} from '../types/streams.ts'; const tracer = trace.getTracer('syncer-ws-server', version); diff --git a/packages/zero-cache/src/workers/replicator.test.ts b/packages/zero-cache/src/workers/replicator.test.ts index e535e076a1..8317e47146 100644 --- a/packages/zero-cache/src/workers/replicator.test.ts +++ b/packages/zero-cache/src/workers/replicator.test.ts @@ -1,13 +1,13 @@ -import {createSilentLogContext} from '../../../shared/src/logging-test-utils.js'; import {describe, expect, test, vi} from 'vitest'; -import type {ReplicaState} from '../services/replicator/replicator.js'; -import {Subscription} from '../types/subscription.js'; -import {inProcChannel} from '../types/processes.js'; +import {createSilentLogContext} from '../../../shared/src/logging-test-utils.ts'; +import type {ReplicaState} from '../services/replicator/replicator.ts'; +import {inProcChannel} from '../types/processes.ts'; +import {Subscription} from '../types/subscription.ts'; import { createNotifierFrom, setUpMessageHandlers, subscribeTo, -} from './replicator.js'; +} from './replicator.ts'; const lc = createSilentLogContext(); diff --git a/packages/zero-cache/src/workers/replicator.ts b/packages/zero-cache/src/workers/replicator.ts index f208385744..a98eeb7f39 100644 --- a/packages/zero-cache/src/workers/replicator.ts +++ b/packages/zero-cache/src/workers/replicator.ts @@ -1,14 +1,14 @@ import {LogContext} from '@rocicorp/logger'; -import * as v from '../../../shared/src/valita.js'; -import {Database} from '../../../zqlite/src/db.js'; -import {deleteLiteDB} from '../db/delete-lite-db.js'; -import {Notifier} from '../services/replicator/notifier.js'; +import * as v from '../../../shared/src/valita.ts'; +import {Database} from '../../../zqlite/src/db.ts'; +import {deleteLiteDB} from '../db/delete-lite-db.ts'; +import {Notifier} from '../services/replicator/notifier.ts'; import type { ReplicaState, ReplicaStateNotifier, Replicator, -} from '../services/replicator/replicator.js'; -import type {Worker} from '../types/processes.js'; +} from '../services/replicator/replicator.ts'; +import type {Worker} from '../types/processes.ts'; export const replicaFileModeSchema = v.union( v.literal('serving'), diff --git a/packages/zero-cache/src/workers/syncer.ts b/packages/zero-cache/src/workers/syncer.ts index fa79c72fa6..ba06575901 100644 --- a/packages/zero-cache/src/workers/syncer.ts +++ b/packages/zero-cache/src/workers/syncer.ts @@ -4,26 +4,26 @@ import {type JWTPayload} from 'jose'; import {pid} from 'process'; import {MessagePort} from 'worker_threads'; import {WebSocketServer, type WebSocket} from 'ws'; -import {promiseVoid} from '../../../shared/src/resolved-promises.js'; -import * as ErrorKind from '../../../zero-protocol/src/error-kind-enum.js'; -import {verifyToken} from '../auth/jwt.js'; -import {type AuthConfig, type ZeroConfig} from '../config/zero-config.js'; -import type {ConnectParams} from '../services/dispatcher/connect-params.js'; -import {installWebSocketReceiver} from '../services/dispatcher/websocket-handoff.js'; -import type {Mutagen} from '../services/mutagen/mutagen.js'; -import type {ReplicaState} from '../services/replicator/replicator.js'; -import {ServiceRunner} from '../services/runner.js'; +import {promiseVoid} from '../../../shared/src/resolved-promises.ts'; +import * as ErrorKind from '../../../zero-protocol/src/error-kind-enum.ts'; +import {verifyToken} from '../auth/jwt.ts'; +import {type AuthConfig, type ZeroConfig} from '../config/zero-config.ts'; +import type {ConnectParams} from '../services/dispatcher/connect-params.ts'; +import {installWebSocketReceiver} from '../services/dispatcher/websocket-handoff.ts'; +import type {Mutagen} from '../services/mutagen/mutagen.ts'; +import type {ReplicaState} from '../services/replicator/replicator.ts'; +import {ServiceRunner} from '../services/runner.ts'; import type { ActivityBasedService, Service, SingletonService, -} from '../services/service.js'; -import {DrainCoordinator} from '../services/view-syncer/drain-coordinator.js'; -import type {ViewSyncer} from '../services/view-syncer/view-syncer.js'; -import type {Worker} from '../types/processes.js'; -import {Subscription} from '../types/subscription.js'; -import {Connection, sendError} from './connection.js'; -import {createNotifierFrom, subscribeTo} from './replicator.js'; +} from '../services/service.ts'; +import {DrainCoordinator} from '../services/view-syncer/drain-coordinator.ts'; +import type {ViewSyncer} from '../services/view-syncer/view-syncer.ts'; +import type {Worker} from '../types/processes.ts'; +import {Subscription} from '../types/subscription.ts'; +import {Connection, sendError} from './connection.ts'; +import {createNotifierFrom, subscribeTo} from './replicator.ts'; export type SyncerWorkerData = { replicatorPort: MessagePort; diff --git a/packages/zero-cache/tool/replace-node-util.test.ts b/packages/zero-cache/tool/replace-node-util.test.ts index 813f28a7df..f4ea84990c 100644 --- a/packages/zero-cache/tool/replace-node-util.test.ts +++ b/packages/zero-cache/tool/replace-node-util.test.ts @@ -1,6 +1,6 @@ import * as esbuild from 'esbuild'; import {expect, test} from 'vitest'; -import {replaceNodeUtil} from './replace-node-util.js'; +import {replaceNodeUtil} from './replace-node-util.ts'; async function compile(contents: string) { const res = await esbuild.build({ diff --git a/packages/zero-cache/vitest.config.ts b/packages/zero-cache/vitest.config.ts index 3775ccb727..b36167aac0 100644 --- a/packages/zero-cache/vitest.config.ts +++ b/packages/zero-cache/vitest.config.ts @@ -1,5 +1,5 @@ import {defineConfig} from 'vitest/config'; -import config from '../shared/src/tool/vitest-config.js'; +import config from '../shared/src/tool/vitest-config.ts'; const {define, esbuild} = config; diff --git a/packages/zero-client/src/client/connect-checks.ts b/packages/zero-client/src/client/connect-checks.ts index 462d5f71a1..5f6497baf2 100644 --- a/packages/zero-client/src/client/connect-checks.ts +++ b/packages/zero-client/src/client/connect-checks.ts @@ -1,9 +1,9 @@ import type {LogContext} from '@rocicorp/logger'; import {resolver} from '@rocicorp/resolver'; -import {navigator} from '../../../shared/src/navigator.js'; -import {sleep} from '../../../shared/src/sleep.js'; -import {PROTOCOL_VERSION} from '../../../zero-protocol/src/protocol-version.js'; -import {nanoid} from '../util/nanoid.js'; +import {navigator} from '../../../shared/src/navigator.ts'; +import {sleep} from '../../../shared/src/sleep.ts'; +import {PROTOCOL_VERSION} from '../../../zero-protocol/src/protocol-version.ts'; +import {nanoid} from '../util/nanoid.ts'; import { type HTTPString, type WSString, @@ -11,7 +11,7 @@ import { assertHTTPString, assertWSString, toWSString, -} from './http-string.js'; +} from './http-string.ts'; type CheckResult = {success: boolean; detail: string}; type Check = (l: LogContext) => Promise; diff --git a/packages/zero-client/src/client/context.test.ts b/packages/zero-client/src/client/context.test.ts index e92c42d786..79d6ad6fb5 100644 --- a/packages/zero-client/src/client/context.test.ts +++ b/packages/zero-client/src/client/context.test.ts @@ -1,14 +1,14 @@ import {expect, test} from 'vitest'; -import type {ExperimentalNoIndexDiff} from '../../../replicache/src/mod.js'; -import {assert} from '../../../shared/src/asserts.js'; -import {Catch} from '../../../zql/src/ivm/catch.js'; -import {Join} from '../../../zql/src/ivm/join.js'; -import {MemorySource} from '../../../zql/src/ivm/memory-source.js'; -import {MemoryStorage} from '../../../zql/src/ivm/memory-storage.js'; -import {type AddQuery, ZeroContext} from './context.js'; -import {ENTITIES_KEY_PREFIX} from './keys.js'; -import {createSchema} from '../../../zero-schema/src/builder/schema-builder.js'; -import {string, table} from '../../../zero-schema/src/builder/table-builder.js'; +import type {ExperimentalNoIndexDiff} from '../../../replicache/src/mod.ts'; +import {assert} from '../../../shared/src/asserts.ts'; +import {createSchema} from '../../../zero-schema/src/builder/schema-builder.ts'; +import {string, table} from '../../../zero-schema/src/builder/table-builder.ts'; +import {Catch} from '../../../zql/src/ivm/catch.ts'; +import {Join} from '../../../zql/src/ivm/join.ts'; +import {MemorySource} from '../../../zql/src/ivm/memory-source.ts'; +import {MemoryStorage} from '../../../zql/src/ivm/memory-storage.ts'; +import {type AddQuery, ZeroContext} from './context.ts'; +import {ENTITIES_KEY_PREFIX} from './keys.ts'; const testBatchViewUpdates = (applyViewUpdates: () => void) => applyViewUpdates(); diff --git a/packages/zero-client/src/client/context.ts b/packages/zero-client/src/client/context.ts index 20dd6bd6d5..dbe56993d2 100644 --- a/packages/zero-client/src/client/context.ts +++ b/packages/zero-client/src/client/context.ts @@ -1,18 +1,18 @@ -import type {ExperimentalNoIndexDiff} from '../../../replicache/src/mod.js'; -import {assert, unreachable} from '../../../shared/src/asserts.js'; -import type {AST} from '../../../zero-protocol/src/ast.js'; -import type {Row} from '../../../zero-protocol/src/data.js'; -import type {TableSchema} from '../../../zero-schema/src/table-schema.js'; -import {MemorySource} from '../../../zql/src/ivm/memory-source.js'; -import {MemoryStorage} from '../../../zql/src/ivm/memory-storage.js'; -import type {Storage} from '../../../zql/src/ivm/operator.js'; -import type {Source} from '../../../zql/src/ivm/source.js'; +import type {ExperimentalNoIndexDiff} from '../../../replicache/src/mod.ts'; +import {assert, unreachable} from '../../../shared/src/asserts.ts'; +import type {AST} from '../../../zero-protocol/src/ast.ts'; +import type {Row} from '../../../zero-protocol/src/data.ts'; +import type {TableSchema} from '../../../zero-schema/src/table-schema.ts'; +import {MemorySource} from '../../../zql/src/ivm/memory-source.ts'; +import {MemoryStorage} from '../../../zql/src/ivm/memory-storage.ts'; +import type {Storage} from '../../../zql/src/ivm/operator.ts'; +import type {Source} from '../../../zql/src/ivm/source.ts'; import type { CommitListener, GotCallback, QueryDelegate, -} from '../../../zql/src/query/query-impl.js'; -import {ENTITIES_KEY_PREFIX} from './keys.js'; +} from '../../../zql/src/query/query-impl.ts'; +import {ENTITIES_KEY_PREFIX} from './keys.ts'; export type AddQuery = ( ast: AST, diff --git a/packages/zero-client/src/client/crud.ts b/packages/zero-client/src/client/crud.ts index 24663dfbb2..1f5afcf4d2 100644 --- a/packages/zero-client/src/client/crud.ts +++ b/packages/zero-client/src/client/crud.ts @@ -1,24 +1,24 @@ -import {promiseVoid} from '../../../shared/src/resolved-promises.js'; -import type {MaybePromise} from '../../../shared/src/types.js'; -import type {Expand} from '../../../shared/src/expand.js'; +import type {Expand} from '../../../shared/src/expand.ts'; +import {promiseVoid} from '../../../shared/src/resolved-promises.ts'; +import type {MaybePromise} from '../../../shared/src/types.ts'; import { CRUD_MUTATION_NAME, - type InsertOp, type CRUDMutationArg, type CRUDOp, type CRUDOpKind, type DeleteOp, - type UpsertOp, + type InsertOp, type UpdateOp, -} from '../../../zero-protocol/src/push.js'; + type UpsertOp, +} from '../../../zero-protocol/src/push.ts'; +import type {Schema} from '../../../zero-schema/src/mod.ts'; import type { SchemaValueToTSType, TableSchema, -} from '../../../zero-schema/src/table-schema.js'; -import {toPrimaryKeyString} from './keys.js'; -import type {MutatorDefs, WriteTransaction} from './replicache-types.js'; -import type {Schema} from '../../../zero-schema/src/mod.js'; -import type {ReadonlyJSONObject} from '../mod.js'; +} from '../../../zero-schema/src/table-schema.ts'; +import type {ReadonlyJSONObject} from '../mod.ts'; +import {toPrimaryKeyString} from './keys.ts'; +import type {MutatorDefs, WriteTransaction} from './replicache-types.ts'; export type InsertValue = Expand< PrimaryKeyFields & { diff --git a/packages/zero-client/src/client/enable-analytics.test.ts b/packages/zero-client/src/client/enable-analytics.test.ts index 4eef7006c6..5ded4d55a4 100644 --- a/packages/zero-client/src/client/enable-analytics.test.ts +++ b/packages/zero-client/src/client/enable-analytics.test.ts @@ -1,5 +1,5 @@ import {expect, suite, test} from 'vitest'; -import {shouldEnableAnalytics} from './enable-analytics.js'; +import {shouldEnableAnalytics} from './enable-analytics.ts'; suite('when server indicates testing or local dev', () => { const cases: (string | null)[] = [ diff --git a/packages/zero-client/src/client/http-string.test.ts b/packages/zero-client/src/client/http-string.test.ts index f801f906cd..8d6fdf97af 100644 --- a/packages/zero-client/src/client/http-string.test.ts +++ b/packages/zero-client/src/client/http-string.test.ts @@ -5,7 +5,7 @@ import { assertWSString, toHTTPString, toWSString, -} from './http-string.js'; +} from './http-string.ts'; test('toWSString', () => { expect(toWSString('http://example.com')).equal('ws://example.com'); diff --git a/packages/zero-client/src/client/http-string.ts b/packages/zero-client/src/client/http-string.ts index 4312e450f2..c6972546b7 100644 --- a/packages/zero-client/src/client/http-string.ts +++ b/packages/zero-client/src/client/http-string.ts @@ -1,4 +1,4 @@ -import {assert} from '../../../shared/src/asserts.js'; +import {assert} from '../../../shared/src/asserts.ts'; export type HTTPString = `http${'' | 's'}://${string}`; diff --git a/packages/zero-client/src/client/keys.test.ts b/packages/zero-client/src/client/keys.test.ts index 497d7da2c6..9f3cf3a46b 100644 --- a/packages/zero-client/src/client/keys.test.ts +++ b/packages/zero-client/src/client/keys.test.ts @@ -3,8 +3,8 @@ import {expect, test} from 'vitest'; import type { PrimaryKey, PrimaryKeyValueRecord, -} from '../../../zero-protocol/src/primary-key.js'; -import {toPrimaryKeyString as toPrimaryKeyStringImpl} from './keys.js'; +} from '../../../zero-protocol/src/primary-key.ts'; +import {toPrimaryKeyString as toPrimaryKeyStringImpl} from './keys.ts'; test('toPrimaryKeyString', () => { function toPrimaryKeyString( diff --git a/packages/zero-client/src/client/keys.ts b/packages/zero-client/src/client/keys.ts index dd1c6a74b2..436cd5459d 100644 --- a/packages/zero-client/src/client/keys.ts +++ b/packages/zero-client/src/client/keys.ts @@ -1,8 +1,8 @@ -import {h128} from '../../../shared/src/hash.js'; -import * as v from '../../../shared/src/valita.js'; -import type {CompoundKey} from '../../../zero-protocol/src/ast.js'; -import type {Row} from '../../../zero-protocol/src/data.js'; -import {primaryKeyValueSchema} from '../../../zero-protocol/src/primary-key.js'; +import {h128} from '../../../shared/src/hash.ts'; +import * as v from '../../../shared/src/valita.ts'; +import type {CompoundKey} from '../../../zero-protocol/src/ast.ts'; +import type {Row} from '../../../zero-protocol/src/data.ts'; +import {primaryKeyValueSchema} from '../../../zero-protocol/src/primary-key.ts'; export const CLIENTS_KEY_PREFIX = 'c/'; export const DESIRED_QUERIES_KEY_PREFIX = 'd/'; diff --git a/packages/zero-client/src/client/log-options.test.ts b/packages/zero-client/src/client/log-options.test.ts index 75803a6caf..cf25827ef5 100644 --- a/packages/zero-client/src/client/log-options.test.ts +++ b/packages/zero-client/src/client/log-options.test.ts @@ -1,10 +1,10 @@ import {consoleLogSink, type LogSink} from '@rocicorp/logger'; -import type {DatadogLogSinkOptions} from '../../../datadog/src/mod.js'; -import {TestLogSink} from '../../../shared/src/logging-test-utils.js'; import * as sinon from 'sinon'; import {afterEach, beforeEach, expect, suite, test} from 'vitest'; -import {createLogOptions} from './log-options.js'; -import type {HTTPString} from './http-string.js'; +import type {DatadogLogSinkOptions} from '../../../datadog/src/mod.ts'; +import {TestLogSink} from '../../../shared/src/logging-test-utils.ts'; +import type {HTTPString} from './http-string.ts'; +import {createLogOptions} from './log-options.ts'; let consoleLogSinkSpy: sinon.SinonSpiedInstance; let datadogLogSinkSpy: sinon.SinonSpiedInstance; diff --git a/packages/zero-client/src/client/log-options.ts b/packages/zero-client/src/client/log-options.ts index c7aaff380d..54668da583 100644 --- a/packages/zero-client/src/client/log-options.ts +++ b/packages/zero-client/src/client/log-options.ts @@ -8,9 +8,9 @@ import { import { DatadogLogSink, type DatadogLogSinkOptions, -} from '../../../datadog/src/mod.js'; -import {version} from './version.js'; -import {appendPath, type HTTPString} from './http-string.js'; +} from '../../../datadog/src/mod.ts'; +import {appendPath, type HTTPString} from './http-string.ts'; +import {version} from './version.ts'; class LevelFilterLogSink implements LogSink { readonly #wrappedLogSink: LogSink; diff --git a/packages/zero-client/src/client/metrics.test.ts b/packages/zero-client/src/client/metrics.test.ts index b5aa8ae64d..60ebf3cfe7 100644 --- a/packages/zero-client/src/client/metrics.test.ts +++ b/packages/zero-client/src/client/metrics.test.ts @@ -1,7 +1,7 @@ import {LogContext} from '@rocicorp/logger'; import sinon from 'sinon'; import {afterEach, expect, test} from 'vitest'; -import * as ErrorKind from '../../../zero-protocol/src/error-kind-enum.js'; +import * as ErrorKind from '../../../zero-protocol/src/error-kind-enum.ts'; import { DID_NOT_CONNECT_VALUE, type DisconnectReason, @@ -11,7 +11,7 @@ import { REPORT_INTERVAL_MS, type Series, State, -} from './metrics.js'; +} from './metrics.ts'; afterEach(() => { sinon.restore(); diff --git a/packages/zero-client/src/client/metrics.ts b/packages/zero-client/src/client/metrics.ts index ac48fc8b80..7dbcf099b6 100644 --- a/packages/zero-client/src/client/metrics.ts +++ b/packages/zero-client/src/client/metrics.ts @@ -1,7 +1,7 @@ import type {LogContext} from '@rocicorp/logger'; -import type {MaybePromise} from '../../../shared/src/types.js'; -import * as ServerErrorKind from '../../../zero-protocol/src/error-kind-enum.js'; -import * as MetricName from './metric-name-enum.js'; +import type {MaybePromise} from '../../../shared/src/types.ts'; +import * as ServerErrorKind from '../../../zero-protocol/src/error-kind-enum.ts'; +import * as MetricName from './metric-name-enum.ts'; type ServerErrorKind = (typeof ServerErrorKind)[keyof typeof ServerErrorKind]; diff --git a/packages/zero-client/src/client/options.ts b/packages/zero-client/src/client/options.ts index 18bfd6a4bf..49323d2c26 100644 --- a/packages/zero-client/src/client/options.ts +++ b/packages/zero-client/src/client/options.ts @@ -1,7 +1,7 @@ import type {LogLevel} from '@rocicorp/logger'; -import type {KVStoreProvider} from '../../../replicache/src/mod.js'; -import type {MaybePromise} from '../../../shared/src/types.js'; -import type {Schema} from '../../../zero-schema/src/mod.js'; +import type {KVStoreProvider} from '../../../replicache/src/mod.ts'; +import type {MaybePromise} from '../../../shared/src/types.ts'; +import type {Schema} from '../../../zero-schema/src/mod.ts'; /** * Configuration for [[Zero]]. diff --git a/packages/zero-client/src/client/query-manager.test.ts b/packages/zero-client/src/client/query-manager.test.ts index 584e0e4b04..1eb24de386 100644 --- a/packages/zero-client/src/client/query-manager.test.ts +++ b/packages/zero-client/src/client/query-manager.test.ts @@ -9,11 +9,11 @@ import { type ScanNoIndexOptions, type ScanOptions, type ScanResult, -} from '../../../replicache/src/mod.js'; -import type {AST} from '../../../zero-protocol/src/ast.js'; -import type {ChangeDesiredQueriesMessage} from '../../../zero-protocol/src/mod.js'; -import {toGotQueriesKey} from './keys.js'; -import {QueryManager} from './query-manager.js'; +} from '../../../replicache/src/mod.ts'; +import type {AST} from '../../../zero-protocol/src/ast.ts'; +import type {ChangeDesiredQueriesMessage} from '../../../zero-protocol/src/mod.ts'; +import {toGotQueriesKey} from './keys.ts'; +import {QueryManager} from './query-manager.ts'; function createExperimentalWatchMock() { return vi.fn(); diff --git a/packages/zero-client/src/client/query-manager.ts b/packages/zero-client/src/client/query-manager.ts index 09fa29f399..21a2908f18 100644 --- a/packages/zero-client/src/client/query-manager.ts +++ b/packages/zero-client/src/client/query-manager.ts @@ -1,16 +1,16 @@ -import type {ClientID} from '../../../replicache/src/mod.js'; -import type {ReplicacheImpl} from '../../../replicache/src/replicache-impl.js'; -import {assert} from '../../../shared/src/asserts.js'; -import {must} from '../../../shared/src/must.js'; -import {hashOfAST} from '../../../zero-protocol/src/ast-hash.js'; -import {normalizeAST, type AST} from '../../../zero-protocol/src/ast.js'; +import type {ClientID} from '../../../replicache/src/mod.ts'; +import type {ReplicacheImpl} from '../../../replicache/src/replicache-impl.ts'; +import {assert} from '../../../shared/src/asserts.ts'; +import {must} from '../../../shared/src/must.ts'; +import {hashOfAST} from '../../../zero-protocol/src/ast-hash.ts'; +import {normalizeAST, type AST} from '../../../zero-protocol/src/ast.ts'; import type { ChangeDesiredQueriesMessage, QueriesPatchOp, -} from '../../../zero-protocol/src/mod.js'; -import type {GotCallback} from '../../../zql/src/query/query-impl.js'; -import type {ReadTransaction} from '../mod.js'; -import {desiredQueriesPrefixForClient, GOT_QUERIES_KEY_PREFIX} from './keys.js'; +} from '../../../zero-protocol/src/mod.ts'; +import type {GotCallback} from '../../../zql/src/query/query-impl.ts'; +import type {ReadTransaction} from '../mod.ts'; +import {desiredQueriesPrefixForClient, GOT_QUERIES_KEY_PREFIX} from './keys.ts'; type QueryHash = string; diff --git a/packages/zero-client/src/client/reload-error-handler.test.ts b/packages/zero-client/src/client/reload-error-handler.test.ts index 3fc29e6a6e..a5cd6f4cc2 100644 --- a/packages/zero-client/src/client/reload-error-handler.test.ts +++ b/packages/zero-client/src/client/reload-error-handler.test.ts @@ -1,7 +1,7 @@ import {LogContext} from '@rocicorp/logger'; import sinon from 'sinon'; import {afterEach, beforeEach, describe, expect, test, vi} from 'vitest'; -import {TestLogSink} from '../../../shared/src/logging-test-utils.js'; +import {TestLogSink} from '../../../shared/src/logging-test-utils.ts'; import { FALLBACK_RELOAD_INTERVAL_MS, MAX_RELOAD_INTERVAL_MS, @@ -11,8 +11,8 @@ import { reportReloadReason, resetBackoff, type BackoffState, -} from './reload-error-handler.js'; -import {storageMock} from './test-utils.js'; +} from './reload-error-handler.ts'; +import {storageMock} from './test-utils.ts'; describe('reloadWithReason', () => { let sessionStorageDescriptor: PropertyDescriptor; diff --git a/packages/zero-client/src/client/reload-error-handler.ts b/packages/zero-client/src/client/reload-error-handler.ts index 43f1e58dc6..3b64176747 100644 --- a/packages/zero-client/src/client/reload-error-handler.ts +++ b/packages/zero-client/src/client/reload-error-handler.ts @@ -1,5 +1,5 @@ import {LogContext} from '@rocicorp/logger'; -import * as v from '../../../shared/src/valita.js'; +import * as v from '../../../shared/src/valita.ts'; export const RELOAD_REASON_STORAGE_KEY = '_zeroReloadReason'; export const RELOAD_BACKOFF_STATE_KEY = '_zeroReloadBackoffState'; diff --git a/packages/zero-client/src/client/replicache-types.ts b/packages/zero-client/src/client/replicache-types.ts index 17cd1be6eb..7b934559aa 100644 --- a/packages/zero-client/src/client/replicache-types.ts +++ b/packages/zero-client/src/client/replicache-types.ts @@ -3,7 +3,7 @@ import type { ReadonlyJSONObject, ReadTransaction as ReplicacheReadTransaction, WriteTransaction as ReplicacheWriteTransaction, -} from '../../../replicache/src/mod.js'; +} from '../../../replicache/src/mod.ts'; /** * `AuthData` must include a `userID` which is unique stable identifier diff --git a/packages/zero-client/src/client/server-error.ts b/packages/zero-client/src/client/server-error.ts index a567826b8b..825e972bd6 100644 --- a/packages/zero-client/src/client/server-error.ts +++ b/packages/zero-client/src/client/server-error.ts @@ -1,8 +1,8 @@ -import * as ErrorKind from '../../../zero-protocol/src/error-kind-enum.js'; +import * as ErrorKind from '../../../zero-protocol/src/error-kind-enum.ts'; import { type BackoffBody, type ErrorBody, -} from '../../../zero-protocol/src/error.js'; +} from '../../../zero-protocol/src/error.ts'; type ErrorKind = (typeof ErrorKind)[keyof typeof ErrorKind]; diff --git a/packages/zero-client/src/client/server-option.test.ts b/packages/zero-client/src/client/server-option.test.ts index 40dfcb7efd..c8a2cedb28 100644 --- a/packages/zero-client/src/client/server-option.test.ts +++ b/packages/zero-client/src/client/server-option.test.ts @@ -1,5 +1,5 @@ import {expect, test} from 'vitest'; -import {getServer} from './server-option.js'; +import {getServer} from './server-option.ts'; test('getServer', () => { expect(getServer(null)).equal(null); diff --git a/packages/zero-client/src/client/server-option.ts b/packages/zero-client/src/client/server-option.ts index bc2ef90b8f..00fe63d105 100644 --- a/packages/zero-client/src/client/server-option.ts +++ b/packages/zero-client/src/client/server-option.ts @@ -1,5 +1,5 @@ -import {getBrowserGlobal} from '../../../shared/src/browser-env.js'; -import type {HTTPString} from './http-string.js'; +import {getBrowserGlobal} from '../../../shared/src/browser-env.ts'; +import type {HTTPString} from './http-string.ts'; function validateServerParam(paramName: string, server: string): HTTPString { const expectedProtocol = 'http'; diff --git a/packages/zero-client/src/client/test-utils.ts b/packages/zero-client/src/client/test-utils.ts index ab48bd11f7..b8ab79a0cb 100644 --- a/packages/zero-client/src/client/test-utils.ts +++ b/packages/zero-client/src/client/test-utils.ts @@ -1,10 +1,10 @@ import type {LogLevel} from '@rocicorp/logger'; import {resolver} from '@rocicorp/resolver'; import type {SinonFakeTimers} from 'sinon'; -import {assert} from '../../../shared/src/asserts.js'; -import type {Enum} from '../../../shared/src/enum.js'; -import {TestLogSink} from '../../../shared/src/logging-test-utils.js'; -import * as ErrorKind from '../../../zero-protocol/src/error-kind-enum.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import type {Enum} from '../../../shared/src/enum.ts'; +import {TestLogSink} from '../../../shared/src/logging-test-utils.ts'; +import * as ErrorKind from '../../../zero-protocol/src/error-kind-enum.ts'; import { type ConnectedMessage, type Downstream, @@ -19,18 +19,18 @@ import { type PullResponseBody, type PullResponseMessage, upstreamSchema, -} from '../../../zero-protocol/src/mod.js'; -import type {Schema} from '../../../zero-schema/src/mod.js'; -import * as ConnectionState from './connection-state-enum.js'; -import type {LogOptions} from './log-options.js'; -import type {ZeroOptions} from './options.js'; +} from '../../../zero-protocol/src/mod.ts'; +import type {Schema} from '../../../zero-schema/src/mod.ts'; +import * as ConnectionState from './connection-state-enum.ts'; +import type {LogOptions} from './log-options.ts'; +import type {ZeroOptions} from './options.ts'; import { type TestingContext, Zero, createLogOptionsSymbol, exposedToTestingSymbol, onSetConnectionStateSymbol, -} from './zero.js'; +} from './zero.ts'; type ConnectionState = Enum; type ErrorKind = Enum; diff --git a/packages/zero-client/src/client/version.test.ts b/packages/zero-client/src/client/version.test.ts index dcab5e29a9..7ee34a06c6 100644 --- a/packages/zero-client/src/client/version.test.ts +++ b/packages/zero-client/src/client/version.test.ts @@ -1,5 +1,5 @@ import {expect, test} from 'vitest'; -import {version} from './version.js'; +import {version} from './version.ts'; test('version basics', () => { expect(version).to.match(/^\d+\.\d+\.\d+(\+[a-f0-9]+)?$/); diff --git a/packages/zero-client/src/client/worker-test.ts b/packages/zero-client/src/client/worker-test.ts index 62d3799a45..842319a468 100644 --- a/packages/zero-client/src/client/worker-test.ts +++ b/packages/zero-client/src/client/worker-test.ts @@ -1,16 +1,16 @@ // This test file is loaded by worker.test.ts import sinon from 'sinon'; -import {assert} from '../../../shared/src/asserts.js'; -import {deepEqual} from '../../../shared/src/json.js'; -import {sleep} from '../../../shared/src/sleep.js'; -import {MockSocket, zeroForTest} from './test-utils.js'; -import {createSchema} from '../../../zero-schema/src/builder/schema-builder.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import {deepEqual} from '../../../shared/src/json.ts'; +import {sleep} from '../../../shared/src/sleep.ts'; +import {createSchema} from '../../../zero-schema/src/builder/schema-builder.ts'; import { + number, string, table, - number, -} from '../../../zero-schema/src/builder/table-builder.js'; +} from '../../../zero-schema/src/builder/table-builder.ts'; +import {MockSocket, zeroForTest} from './test-utils.ts'; onmessage = async (e: MessageEvent) => { const {userID} = e.data; diff --git a/packages/zero-client/src/client/worker.test.ts b/packages/zero-client/src/client/worker.test.ts index a416d78c6f..39da3a5ba3 100644 --- a/packages/zero-client/src/client/worker.test.ts +++ b/packages/zero-client/src/client/worker.test.ts @@ -1,5 +1,5 @@ -import {sleep} from '../../../shared/src/sleep.js'; import {expect, test} from 'vitest'; +import {sleep} from '../../../shared/src/sleep.ts'; test('worker test', async () => { const url = new URL('./worker-test.ts', import.meta.url); diff --git a/packages/zero-client/src/client/zero-poke-handler.test.ts b/packages/zero-client/src/client/zero-poke-handler.test.ts index df83294799..e295c4a167 100644 --- a/packages/zero-client/src/client/zero-poke-handler.test.ts +++ b/packages/zero-client/src/client/zero-poke-handler.test.ts @@ -9,10 +9,10 @@ import { test, vi, } from 'vitest'; -import type {AST} from '../../../zero-protocol/src/ast.js'; -import {PokeHandler, mergePokes} from './zero-poke-handler.js'; -import {createSchema} from '../../../zero-schema/src/builder/schema-builder.js'; -import {string, table} from '../../../zero-schema/src/builder/table-builder.js'; +import type {AST} from '../../../zero-protocol/src/ast.ts'; +import {createSchema} from '../../../zero-schema/src/builder/schema-builder.ts'; +import {string, table} from '../../../zero-schema/src/builder/table-builder.ts'; +import {PokeHandler, mergePokes} from './zero-poke-handler.ts'; let rafStub: MockInstance<(cb: FrameRequestCallback) => number>; // The FrameRequestCallback in PokeHandler does not use diff --git a/packages/zero-client/src/client/zero-poke-handler.ts b/packages/zero-client/src/client/zero-poke-handler.ts index c54dd7c329..2ca5c10b93 100644 --- a/packages/zero-client/src/client/zero-poke-handler.ts +++ b/packages/zero-client/src/client/zero-poke-handler.ts @@ -3,9 +3,9 @@ import type {LogContext} from '@rocicorp/logger'; import type { PatchOperationInternal, PokeInternal, -} from '../../../replicache/src/impl.js'; -import type {ClientID, PatchOperation} from '../../../replicache/src/mod.js'; -import {getBrowserGlobalMethod} from '../../../shared/src/browser-env.js'; +} from '../../../replicache/src/impl.ts'; +import type {ClientID, PatchOperation} from '../../../replicache/src/mod.ts'; +import {getBrowserGlobalMethod} from '../../../shared/src/browser-env.ts'; import type { ClientsPatchOp, PokeEndBody, @@ -13,14 +13,14 @@ import type { PokeStartBody, QueriesPatchOp, RowPatchOp, -} from '../../../zero-protocol/src/mod.js'; +} from '../../../zero-protocol/src/mod.ts'; +import type {Schema} from '../../../zero-schema/src/builder/schema-builder.ts'; import { toClientsKey, toDesiredQueriesKey, toGotQueriesKey, toPrimaryKeyString, -} from './keys.js'; -import type {Schema} from '../../../zero-schema/src/builder/schema-builder.js'; +} from './keys.ts'; type PokeAccumulator = { readonly pokeStart: PokeStartBody; diff --git a/packages/zero-client/src/client/zero-rate.test.ts b/packages/zero-client/src/client/zero-rate.test.ts index 208b10875a..cfa0bebfb9 100644 --- a/packages/zero-client/src/client/zero-rate.test.ts +++ b/packages/zero-client/src/client/zero-rate.test.ts @@ -1,11 +1,11 @@ import * as sinon from 'sinon'; import {afterEach, beforeEach, expect, test} from 'vitest'; -import type {PushRequest} from '../../../replicache/src/sync/push.js'; -import * as ErrorKind from '../../../zero-protocol/src/error-kind-enum.js'; -import type {Mutation} from '../../../zero-protocol/src/push.js'; -import {createSchema, number, string, table} from '../mod.js'; -import * as ConnectionState from './connection-state-enum.js'; -import {MockSocket, tickAFewTimes, zeroForTest} from './test-utils.js'; +import type {PushRequest} from '../../../replicache/src/sync/push.ts'; +import * as ErrorKind from '../../../zero-protocol/src/error-kind-enum.ts'; +import type {Mutation} from '../../../zero-protocol/src/push.ts'; +import {createSchema, number, string, table} from '../mod.ts'; +import * as ConnectionState from './connection-state-enum.ts'; +import {MockSocket, tickAFewTimes, zeroForTest} from './test-utils.ts'; let clock: sinon.SinonFakeTimers; const startTime = 1678829450000; diff --git a/packages/zero-client/src/client/zero.bench.ts b/packages/zero-client/src/client/zero.bench.ts index ab3baf200d..f7f91f68c8 100644 --- a/packages/zero-client/src/client/zero.bench.ts +++ b/packages/zero-client/src/client/zero.bench.ts @@ -1,7 +1,7 @@ import {resolver} from '@rocicorp/resolver'; import {bench, describe, expect} from 'vitest'; -import type {Row} from '../../../zql/src/query/query.js'; -import {getInternalReplicacheImplForTesting, Zero} from './zero.js'; +import type {Row} from '../../../zql/src/query/query.ts'; +import {getInternalReplicacheImplForTesting, Zero} from './zero.ts'; const user = { name: 'user', diff --git a/packages/zero-client/src/client/zero.json.test.ts b/packages/zero-client/src/client/zero.json.test.ts index c437cb6e61..6b7c1c88f7 100644 --- a/packages/zero-client/src/client/zero.json.test.ts +++ b/packages/zero-client/src/client/zero.json.test.ts @@ -1,6 +1,6 @@ import {expect, test} from 'vitest'; -import {zeroForTest} from './test-utils.js'; -import {createSchema, json, string, table} from '../mod.js'; +import {createSchema, json, string, table} from '../mod.ts'; +import {zeroForTest} from './test-utils.ts'; test('we can create rows with json columns and query those rows', async () => { const z = zeroForTest({ diff --git a/packages/zero-client/src/client/zero.test.ts b/packages/zero-client/src/client/zero.test.ts index 6ee90a402d..e5e8764bdd 100644 --- a/packages/zero-client/src/client/zero.test.ts +++ b/packages/zero-client/src/client/zero.test.ts @@ -2,36 +2,36 @@ import {LogContext} from '@rocicorp/logger'; import {resolver} from '@rocicorp/resolver'; import * as sinon from 'sinon'; import {afterEach, beforeEach, expect, suite, test} from 'vitest'; -import type {ReplicacheImpl} from '../../../replicache/src/replicache-impl.js'; -import type {PullRequest} from '../../../replicache/src/sync/pull.js'; -import type {PushRequest} from '../../../replicache/src/sync/push.js'; -import {assert} from '../../../shared/src/asserts.js'; -import {TestLogSink} from '../../../shared/src/logging-test-utils.js'; -import * as valita from '../../../shared/src/valita.js'; -import type {AST} from '../../../zero-protocol/src/ast.js'; -import * as ErrorKind from '../../../zero-protocol/src/error-kind-enum.js'; +import type {ReplicacheImpl} from '../../../replicache/src/replicache-impl.ts'; +import type {PullRequest} from '../../../replicache/src/sync/pull.ts'; +import type {PushRequest} from '../../../replicache/src/sync/push.ts'; +import {assert} from '../../../shared/src/asserts.ts'; +import {TestLogSink} from '../../../shared/src/logging-test-utils.ts'; +import * as valita from '../../../shared/src/valita.ts'; +import type {AST} from '../../../zero-protocol/src/ast.ts'; +import * as ErrorKind from '../../../zero-protocol/src/error-kind-enum.ts'; import { changeDesiredQueriesMessageSchema, decodeSecProtocols, encodeSecProtocols, initConnectionMessageSchema, type QueriesPatchOp, -} from '../../../zero-protocol/src/mod.js'; -import * as MutationType from '../../../zero-protocol/src/mutation-type-enum.js'; -import {PROTOCOL_VERSION} from '../../../zero-protocol/src/protocol-version.js'; +} from '../../../zero-protocol/src/mod.ts'; +import * as MutationType from '../../../zero-protocol/src/mutation-type-enum.ts'; +import {PROTOCOL_VERSION} from '../../../zero-protocol/src/protocol-version.ts'; import { type Mutation, pushMessageSchema, -} from '../../../zero-protocol/src/push.js'; -import type {NullableVersion} from '../../../zero-protocol/src/version.js'; -import {createSchema, type Schema} from '../../../zero-schema/src/mod.js'; -import {number, string, table} from '../mod.js'; -import * as ConnectionState from './connection-state-enum.js'; -import type {WSString} from './http-string.js'; -import type {UpdateNeededReason, ZeroOptions} from './options.js'; -import type {QueryManager} from './query-manager.js'; -import {RELOAD_REASON_STORAGE_KEY} from './reload-error-handler.js'; -import {ServerError} from './server-error.js'; +} from '../../../zero-protocol/src/push.ts'; +import type {NullableVersion} from '../../../zero-protocol/src/version.ts'; +import {createSchema, type Schema} from '../../../zero-schema/src/mod.ts'; +import {number, string, table} from '../mod.ts'; +import * as ConnectionState from './connection-state-enum.ts'; +import type {WSString} from './http-string.ts'; +import type {UpdateNeededReason, ZeroOptions} from './options.ts'; +import type {QueryManager} from './query-manager.ts'; +import {RELOAD_REASON_STORAGE_KEY} from './reload-error-handler.ts'; +import {ServerError} from './server-error.ts'; import { MockSocket, storageMock, @@ -39,7 +39,7 @@ import { tickAFewTimes, waitForUpstreamMessage, zeroForTest, -} from './test-utils.js'; // Why use fakes when we can use the real thing! +} from './test-utils.ts'; // Why use fakes when we can use the real thing! import { CONNECT_TIMEOUT_MS, createSocket, @@ -48,7 +48,7 @@ import { PING_TIMEOUT_MS, PULL_TIMEOUT_MS, RUN_LOOP_INTERVAL_MS, -} from './zero.js'; +} from './zero.ts'; let realSetTimeout: typeof setTimeout; let clock: sinon.SinonFakeTimers; diff --git a/packages/zero-client/src/client/zero.ts b/packages/zero-client/src/client/zero.ts index 3841108161..30fb6b7d24 100644 --- a/packages/zero-client/src/client/zero.ts +++ b/packages/zero-client/src/client/zero.ts @@ -3,7 +3,7 @@ import {type Resolver, resolver} from '@rocicorp/resolver'; import { ReplicacheImpl, type ReplicacheImplOptions, -} from '../../../replicache/src/impl.js'; +} from '../../../replicache/src/impl.ts'; import { type ClientGroupID, type ClientID, @@ -18,20 +18,20 @@ import { type ReplicacheOptions, type UpdateNeededReason as ReplicacheUpdateNeededReason, dropDatabase, -} from '../../../replicache/src/mod.js'; -import {assert, unreachable} from '../../../shared/src/asserts.js'; +} from '../../../replicache/src/mod.ts'; +import {assert, unreachable} from '../../../shared/src/asserts.ts'; import { getBrowserGlobal, mustGetBrowserGlobal, -} from '../../../shared/src/browser-env.js'; -import {getDocumentVisibilityWatcher} from '../../../shared/src/document-visible.js'; -import type {Enum} from '../../../shared/src/enum.js'; -import {must} from '../../../shared/src/must.js'; -import {navigator} from '../../../shared/src/navigator.js'; -import {sleep, sleepWithAbort} from '../../../shared/src/sleep.js'; -import * as valita from '../../../shared/src/valita.js'; -import type {ChangeDesiredQueriesMessage} from '../../../zero-protocol/src/change-desired-queries.js'; -import * as ErrorKind from '../../../zero-protocol/src/error-kind-enum.js'; +} from '../../../shared/src/browser-env.ts'; +import {getDocumentVisibilityWatcher} from '../../../shared/src/document-visible.ts'; +import type {Enum} from '../../../shared/src/enum.ts'; +import {must} from '../../../shared/src/must.ts'; +import {navigator} from '../../../shared/src/navigator.ts'; +import {sleep, sleepWithAbort} from '../../../shared/src/sleep.ts'; +import * as valita from '../../../shared/src/valita.ts'; +import type {ChangeDesiredQueriesMessage} from '../../../zero-protocol/src/change-desired-queries.ts'; +import * as ErrorKind from '../../../zero-protocol/src/error-kind-enum.ts'; import { type CRUDMutation, type CRUDMutationArg, @@ -50,37 +50,37 @@ import { downstreamSchema, encodeSecProtocols, nullableVersionSchema, -} from '../../../zero-protocol/src/mod.js'; -import * as MutationType from '../../../zero-protocol/src/mutation-type-enum.js'; -import {PROTOCOL_VERSION} from '../../../zero-protocol/src/protocol-version.js'; +} from '../../../zero-protocol/src/mod.ts'; +import * as MutationType from '../../../zero-protocol/src/mutation-type-enum.ts'; +import {PROTOCOL_VERSION} from '../../../zero-protocol/src/protocol-version.ts'; import type { PullRequestMessage, PullResponseBody, PullResponseMessage, -} from '../../../zero-protocol/src/pull.js'; -import type {Schema} from '../../../zero-schema/src/mod.js'; -import {newQuery} from '../../../zql/src/query/query-impl.js'; -import type {Query} from '../../../zql/src/query/query.js'; -import {nanoid} from '../util/nanoid.js'; -import {send} from '../util/socket.js'; -import * as ConnectionState from './connection-state-enum.js'; -import {ZeroContext} from './context.js'; +} from '../../../zero-protocol/src/pull.ts'; +import type {Schema} from '../../../zero-schema/src/mod.ts'; +import {newQuery} from '../../../zql/src/query/query-impl.ts'; +import type {Query} from '../../../zql/src/query/query.ts'; +import {nanoid} from '../util/nanoid.ts'; +import {send} from '../util/socket.ts'; +import * as ConnectionState from './connection-state-enum.ts'; +import {ZeroContext} from './context.ts'; import { type BatchMutator, type DBMutator, type WithCRUD, makeCRUDMutate, makeCRUDMutator, -} from './crud.js'; -import {shouldEnableAnalytics} from './enable-analytics.js'; +} from './crud.ts'; +import {shouldEnableAnalytics} from './enable-analytics.ts'; import { type HTTPString, type WSString, appendPath, toWSString, -} from './http-string.js'; -import {ENTITIES_KEY_PREFIX} from './keys.js'; -import {type LogOptions, createLogOptions} from './log-options.js'; +} from './http-string.ts'; +import {ENTITIES_KEY_PREFIX} from './keys.ts'; +import {type LogOptions, createLogOptions} from './log-options.ts'; import { DID_NOT_CONNECT_VALUE, type DisconnectReason, @@ -88,29 +88,29 @@ import { REPORT_INTERVAL_MS, type Series, getLastConnectErrorValue, -} from './metrics.js'; +} from './metrics.ts'; import type { UpdateNeededReason, ZeroAdvancedOptions, ZeroOptions, -} from './options.js'; -import * as PingResult from './ping-result-enum.js'; -import {QueryManager} from './query-manager.js'; +} from './options.ts'; +import * as PingResult from './ping-result-enum.ts'; +import {QueryManager} from './query-manager.ts'; import { reloadScheduled, reloadWithReason, reportReloadReason, resetBackoff, -} from './reload-error-handler.js'; +} from './reload-error-handler.ts'; import { ServerError, isAuthError, isBackoffError, isServerError, -} from './server-error.js'; -import {getServer} from './server-option.js'; -import {version} from './version.js'; -import {PokeHandler} from './zero-poke-handler.js'; +} from './server-error.ts'; +import {getServer} from './server-option.ts'; +import {version} from './version.ts'; +import {PokeHandler} from './zero-poke-handler.ts'; type ConnectionState = Enum; type PingResult = Enum; diff --git a/packages/zero-client/src/mod.ts b/packages/zero-client/src/mod.ts index 5128f84bbb..0568a6f143 100644 --- a/packages/zero-client/src/mod.ts +++ b/packages/zero-client/src/mod.ts @@ -5,7 +5,7 @@ export { IDBNotFoundError, makeIDBName, TransactionClosedError, -} from '../../replicache/src/mod.js'; +} from '../../replicache/src/mod.ts'; export type { AsyncIterableIteratorToArray, ClientGroupID, @@ -56,7 +56,7 @@ export type { UpdateNeededReason, VersionNotSupportedResponse, WriteTransaction, -} from '../../replicache/src/mod.js'; +} from '../../replicache/src/mod.ts'; export type { AST, Bound, @@ -80,12 +80,12 @@ export type { SimpleCondition, SimpleOperator, ValuePosition, -} from '../../zero-protocol/src/ast.js'; -export {relationships} from '../../zero-schema/src/builder/relationship-builder.js'; +} from '../../zero-protocol/src/ast.ts'; +export {relationships} from '../../zero-schema/src/builder/relationship-builder.ts'; export { createSchema, type Schema, -} from '../../zero-schema/src/builder/schema-builder.js'; +} from '../../zero-schema/src/builder/schema-builder.ts'; export { boolean, enumeration, @@ -93,38 +93,38 @@ export { number, string, table, - type TableBuilderWithColumns, type ColumnBuilder, -} from '../../zero-schema/src/builder/table-builder.js'; + type TableBuilderWithColumns, +} from '../../zero-schema/src/builder/table-builder.ts'; export type { AssetPermissions as CompiledAssetPermissions, PermissionsConfig as CompiledPermissionsConfig, Policy as CompiledPermissionsPolicy, Rule as CompiledPermissionsRule, -} from '../../zero-schema/src/compiled-permissions.js'; +} from '../../zero-schema/src/compiled-permissions.ts'; export { ANYONE_CAN, definePermissions, NOBODY_CAN, -} from '../../zero-schema/src/permissions.js'; +} from '../../zero-schema/src/permissions.ts'; export type { AssetPermissions, PermissionRule, PermissionsConfig, -} from '../../zero-schema/src/permissions.js'; -export {type TableSchema} from '../../zero-schema/src/table-schema.js'; +} from '../../zero-schema/src/permissions.ts'; +export {type TableSchema} from '../../zero-schema/src/table-schema.ts'; export type { EnumSchemaValue, SchemaValue, SchemaValueWithCustomType, ValueType, -} from '../../zero-schema/src/table-schema.js'; -export {escapeLike} from '../../zql/src/query/escape-like.js'; +} from '../../zero-schema/src/table-schema.ts'; +export {escapeLike} from '../../zql/src/query/escape-like.ts'; export type { ExpressionBuilder, ExpressionFactory, -} from '../../zql/src/query/expression.js'; -export type {Query, Row} from '../../zql/src/query/query.js'; -export type {TypedView, ResultType} from '../../zql/src/query/typed-view.js'; -export type {ZeroOptions} from './client/options.js'; -export {Zero} from './client/zero.js'; +} from '../../zql/src/query/expression.ts'; +export type {Query, Row} from '../../zql/src/query/query.ts'; +export type {ResultType, TypedView} from '../../zql/src/query/typed-view.ts'; +export type {ZeroOptions} from './client/options.ts'; +export {Zero} from './client/zero.ts'; diff --git a/packages/zero-client/src/types/client-mutation.ts b/packages/zero-client/src/types/client-mutation.ts index 30187b58bb..5accc7559e 100644 --- a/packages/zero-client/src/types/client-mutation.ts +++ b/packages/zero-client/src/types/client-mutation.ts @@ -1,5 +1,5 @@ -import type {Mutation} from '../../../zero-protocol/src/mod.js'; -import type {ClientID} from './client-state.js'; +import type {Mutation} from '../../../zero-protocol/src/mod.ts'; +import type {ClientID} from './client-state.ts'; export type ClientMutation = Mutation & { clientID: ClientID; diff --git a/packages/zero-client/src/types/client-state.ts b/packages/zero-client/src/types/client-state.ts index dfe23c3100..7c71d457e0 100644 --- a/packages/zero-client/src/types/client-state.ts +++ b/packages/zero-client/src/types/client-state.ts @@ -1,4 +1,4 @@ -import type {Mutation} from '../../../zero-protocol/src/mod.js'; +import type {Mutation} from '../../../zero-protocol/src/mod.ts'; export type ClientID = string; diff --git a/packages/zero-client/src/util/nanoid.ts b/packages/zero-client/src/util/nanoid.ts index a9e9da4edc..13e544c27c 100644 --- a/packages/zero-client/src/util/nanoid.ts +++ b/packages/zero-client/src/util/nanoid.ts @@ -4,7 +4,7 @@ // Also we changed the random number generator to use Math.random() for compat // with React Native. -import {getNonCryptoRandomValues} from '../../../shared/src/random-values.js'; +import {getNonCryptoRandomValues} from '../../../shared/src/random-values.ts'; export function nanoid(size = 21): string { // Use our custom getRandomValues function to fill a Uint8Array with random values. diff --git a/packages/zero-client/src/util/peek-iterator.test.ts b/packages/zero-client/src/util/peek-iterator.test.ts index 7928fd4c2a..9d9ac85352 100644 --- a/packages/zero-client/src/util/peek-iterator.test.ts +++ b/packages/zero-client/src/util/peek-iterator.test.ts @@ -1,5 +1,5 @@ import {expect, test} from 'vitest'; -import {PeekIterator} from '../util/peek-iterator.js'; +import {PeekIterator} from '../util/peek-iterator.ts'; test('PeekIterator', () => { const c = new PeekIterator('abc'[Symbol.iterator]()); diff --git a/packages/zero-client/src/util/socket.ts b/packages/zero-client/src/util/socket.ts index e4fc57843d..9854892f14 100644 --- a/packages/zero-client/src/util/socket.ts +++ b/packages/zero-client/src/util/socket.ts @@ -1,4 +1,4 @@ -import type {Upstream} from '../../../zero-protocol/src/up.js'; +import type {Upstream} from '../../../zero-protocol/src/up.ts'; export function send(ws: WebSocket, data: Upstream) { ws.send(JSON.stringify(data)); diff --git a/packages/zero-client/vitest.config.ts b/packages/zero-client/vitest.config.ts index 960efc6d6b..12508b30d0 100644 --- a/packages/zero-client/vitest.config.ts +++ b/packages/zero-client/vitest.config.ts @@ -1 +1 @@ -export {default} from '../shared/src/tool/vitest-config.js'; +export {default} from '../shared/src/tool/vitest-config.ts'; diff --git a/packages/zero-protocol/src/ast-hash.ts b/packages/zero-protocol/src/ast-hash.ts index 3bd3485457..5ceb01b7b1 100644 --- a/packages/zero-protocol/src/ast-hash.ts +++ b/packages/zero-protocol/src/ast-hash.ts @@ -1,5 +1,5 @@ -import {h64} from '../../shared/src/hash.js'; -import {normalizeAST, type AST} from './ast.js'; +import {h64} from '../../shared/src/hash.ts'; +import {normalizeAST, type AST} from './ast.ts'; const hashCache = new WeakMap(); diff --git a/packages/zero-protocol/src/ast-type-test.ts b/packages/zero-protocol/src/ast-type-test.ts index 60c473504c..2d1eef5da1 100644 --- a/packages/zero-protocol/src/ast-type-test.ts +++ b/packages/zero-protocol/src/ast-type-test.ts @@ -1,4 +1,4 @@ -import type * as v from '../../shared/src/valita.js'; +import type * as v from '../../shared/src/valita.ts'; import type { AST, Condition, @@ -21,7 +21,7 @@ import type { orderOpsSchema, orderingSchema, simpleOperatorSchema, -} from './ast.js'; +} from './ast.ts'; type MakeAllFieldsRequired = { [K in keyof T]-?: MakeAllFieldsRequired; diff --git a/packages/zero-protocol/src/ast.test.ts b/packages/zero-protocol/src/ast.test.ts index 15945dc3bb..a97430d871 100644 --- a/packages/zero-protocol/src/ast.test.ts +++ b/packages/zero-protocol/src/ast.test.ts @@ -1,8 +1,8 @@ import {expect, test} from 'vitest'; -import {h64} from '../../shared/src/hash.js'; -import type {AST} from './ast.js'; -import {astSchema, normalizeAST} from './ast.js'; -import {PROTOCOL_VERSION} from './protocol-version.js'; +import {h64} from '../../shared/src/hash.ts'; +import type {AST} from './ast.ts'; +import {astSchema, normalizeAST} from './ast.ts'; +import {PROTOCOL_VERSION} from './protocol-version.ts'; test('fields are placed into correct positions', () => { function normalizeAndStringify(ast: AST) { diff --git a/packages/zero-protocol/src/ast.ts b/packages/zero-protocol/src/ast.ts index b702492f40..58a22e859c 100644 --- a/packages/zero-protocol/src/ast.ts +++ b/packages/zero-protocol/src/ast.ts @@ -7,11 +7,11 @@ */ import {compareUTF8} from 'compare-utf8'; -import {defined} from '../../shared/src/arrays.js'; -import {assert} from '../../shared/src/asserts.js'; -import {must} from '../../shared/src/must.js'; -import * as v from '../../shared/src/valita.js'; -import {rowSchema, type Row} from './data.js'; +import {defined} from '../../shared/src/arrays.ts'; +import {assert} from '../../shared/src/asserts.ts'; +import {must} from '../../shared/src/must.ts'; +import * as v from '../../shared/src/valita.ts'; +import {rowSchema, type Row} from './data.ts'; export const selectorSchema = v.string(); export const toStaticParam = Symbol(); diff --git a/packages/zero-protocol/src/change-desired-queries.ts b/packages/zero-protocol/src/change-desired-queries.ts index 481bc1b4ca..95cfae18f9 100644 --- a/packages/zero-protocol/src/change-desired-queries.ts +++ b/packages/zero-protocol/src/change-desired-queries.ts @@ -1,5 +1,5 @@ -import * as v from '../../shared/src/valita.js'; -import {queriesPatchSchema} from './queries-patch.js'; +import * as v from '../../shared/src/valita.ts'; +import {queriesPatchSchema} from './queries-patch.ts'; const changeDesiredQueriesBodySchema = v.object({ desiredQueriesPatch: queriesPatchSchema, diff --git a/packages/zero-protocol/src/clients-patch.ts b/packages/zero-protocol/src/clients-patch.ts index e9b3943814..3cc379aeb0 100644 --- a/packages/zero-protocol/src/clients-patch.ts +++ b/packages/zero-protocol/src/clients-patch.ts @@ -1,4 +1,4 @@ -import * as v from '../../shared/src/valita.js'; +import * as v from '../../shared/src/valita.ts'; const putOpSchema = v.object({ op: v.literal('put'), diff --git a/packages/zero-protocol/src/connect.test.ts b/packages/zero-protocol/src/connect.test.ts index c345ad2bd2..ab1a016b11 100644 --- a/packages/zero-protocol/src/connect.test.ts +++ b/packages/zero-protocol/src/connect.test.ts @@ -1,6 +1,6 @@ -import {expect, test} from 'vitest'; import fc from 'fast-check'; -import {decodeSecProtocols, encodeSecProtocols} from './connect.js'; +import {expect, test} from 'vitest'; +import {decodeSecProtocols, encodeSecProtocols} from './connect.ts'; test('encode/decodeSecProtocols round-trip', () => { fc.assert( diff --git a/packages/zero-protocol/src/connect.ts b/packages/zero-protocol/src/connect.ts index c9e0e21d39..30ba66fd65 100644 --- a/packages/zero-protocol/src/connect.ts +++ b/packages/zero-protocol/src/connect.ts @@ -1,5 +1,5 @@ -import * as v from '../../shared/src/valita.js'; -import {queriesPatchSchema} from './queries-patch.js'; +import * as v from '../../shared/src/valita.ts'; +import {queriesPatchSchema} from './queries-patch.ts'; /** * After opening a websocket the client waits for a `connected` message diff --git a/packages/zero-protocol/src/data.ts b/packages/zero-protocol/src/data.ts index 2201f7e86a..b6990c1c4e 100644 --- a/packages/zero-protocol/src/data.ts +++ b/packages/zero-protocol/src/data.ts @@ -1,5 +1,5 @@ -import {jsonSchema} from '../../shared/src/json-schema.js'; -import * as v from '../../shared/src/valita.js'; +import {jsonSchema} from '../../shared/src/json-schema.ts'; +import * as v from '../../shared/src/valita.ts'; export const valueSchema = v.union(jsonSchema, v.undefined()); diff --git a/packages/zero-protocol/src/delete-clients.ts b/packages/zero-protocol/src/delete-clients.ts index 0292c9fe1a..778a2a473b 100644 --- a/packages/zero-protocol/src/delete-clients.ts +++ b/packages/zero-protocol/src/delete-clients.ts @@ -1,4 +1,4 @@ -import * as v from '../../shared/src/valita.js'; +import * as v from '../../shared/src/valita.ts'; const deleteClientsBodySchema = v.object({ clientIDs: v.array(v.string()), diff --git a/packages/zero-protocol/src/down.ts b/packages/zero-protocol/src/down.ts index d9e3ebe7b9..d87d0c4551 100644 --- a/packages/zero-protocol/src/down.ts +++ b/packages/zero-protocol/src/down.ts @@ -1,14 +1,14 @@ -import * as v from '../../shared/src/valita.js'; -import {connectedMessageSchema} from './connect.js'; -import {errorMessageSchema} from './error.js'; +import * as v from '../../shared/src/valita.ts'; +import {connectedMessageSchema} from './connect.ts'; +import {errorMessageSchema} from './error.ts'; import { pokeEndMessageSchema, pokePartMessageSchema, pokeStartMessageSchema, -} from './poke.js'; -import {pongMessageSchema} from './pong.js'; -import {pullResponseMessageSchema} from './pull.js'; -import {warmMessageSchema} from './warm.js'; +} from './poke.ts'; +import {pongMessageSchema} from './pong.ts'; +import {pullResponseMessageSchema} from './pull.ts'; +import {warmMessageSchema} from './warm.ts'; export const downstreamSchema = v.union( connectedMessageSchema, diff --git a/packages/zero-protocol/src/error-type-test.ts b/packages/zero-protocol/src/error-type-test.ts index 1901683895..059884e9f6 100644 --- a/packages/zero-protocol/src/error-type-test.ts +++ b/packages/zero-protocol/src/error-type-test.ts @@ -1,7 +1,7 @@ -import type {Enum} from '../../shared/src/enum.js'; -import type * as v from '../../shared/src/valita.js'; -import * as ErrorKind from './error-kind-enum.js'; -import type {errorBodySchema} from './error.js'; +import type {Enum} from '../../shared/src/enum.ts'; +import type * as v from '../../shared/src/valita.ts'; +import * as ErrorKind from './error-kind-enum.ts'; +import type {errorBodySchema} from './error.ts'; type ErrorKind = Enum; diff --git a/packages/zero-protocol/src/error.ts b/packages/zero-protocol/src/error.ts index 4dca36b132..0d7769e43b 100644 --- a/packages/zero-protocol/src/error.ts +++ b/packages/zero-protocol/src/error.ts @@ -1,5 +1,5 @@ -import * as v from '../../shared/src/valita.js'; -import * as ErrorKind from './error-kind-enum.js'; +import * as v from '../../shared/src/valita.ts'; +import * as ErrorKind from './error-kind-enum.ts'; const basicErrorKindSchema = v.union( v.literal(ErrorKind.AuthInvalidated), diff --git a/packages/zero-protocol/src/mod.ts b/packages/zero-protocol/src/mod.ts index 7abda1f285..33040bd3a6 100644 --- a/packages/zero-protocol/src/mod.ts +++ b/packages/zero-protocol/src/mod.ts @@ -1,15 +1,15 @@ // TODO: Remove this file -export * from './change-desired-queries.js'; -export * from './clients-patch.js'; -export * from './connect.js'; -export * from './down.js'; -export * from './error.js'; -export * from './ping.js'; -export * from './poke.js'; -export * from './pong.js'; -export * from './pull.js'; -export * from './push.js'; -export * from './queries-patch.js'; -export * from './row-patch.js'; -export * from './up.js'; -export * from './version.js'; +export * from './change-desired-queries.ts'; +export * from './clients-patch.ts'; +export * from './connect.ts'; +export * from './down.ts'; +export * from './error.ts'; +export * from './ping.ts'; +export * from './poke.ts'; +export * from './pong.ts'; +export * from './pull.ts'; +export * from './push.ts'; +export * from './queries-patch.ts'; +export * from './row-patch.ts'; +export * from './up.ts'; +export * from './version.ts'; diff --git a/packages/zero-protocol/src/ping.ts b/packages/zero-protocol/src/ping.ts index c5dfe9ac47..c40dc6a3a6 100644 --- a/packages/zero-protocol/src/ping.ts +++ b/packages/zero-protocol/src/ping.ts @@ -1,4 +1,4 @@ -import * as v from '../../shared/src/valita.js'; +import * as v from '../../shared/src/valita.ts'; export const pingBodySchema = v.object({}); export const pingMessageSchema = v.tuple([v.literal('ping'), pingBodySchema]); diff --git a/packages/zero-protocol/src/poke.ts b/packages/zero-protocol/src/poke.ts index 92f79c33ae..3916bb66c9 100644 --- a/packages/zero-protocol/src/poke.ts +++ b/packages/zero-protocol/src/poke.ts @@ -1,8 +1,8 @@ -import * as v from '../../shared/src/valita.js'; -import {clientsPatchSchema} from './clients-patch.js'; -import {queriesPatchSchema} from './queries-patch.js'; -import {rowsPatchSchema} from './row-patch.js'; -import {nullableVersionSchema, versionSchema} from './version.js'; +import * as v from '../../shared/src/valita.ts'; +import {clientsPatchSchema} from './clients-patch.ts'; +import {queriesPatchSchema} from './queries-patch.ts'; +import {rowsPatchSchema} from './row-patch.ts'; +import {nullableVersionSchema, versionSchema} from './version.ts'; /** * Pokes use a multi-part format. Pokes send entity data to the client and can diff --git a/packages/zero-protocol/src/pong.ts b/packages/zero-protocol/src/pong.ts index 1ab0b27d18..796a828556 100644 --- a/packages/zero-protocol/src/pong.ts +++ b/packages/zero-protocol/src/pong.ts @@ -1,4 +1,4 @@ -import * as v from '../../shared/src/valita.js'; +import * as v from '../../shared/src/valita.ts'; export const pongBodySchema = v.object({}); export const pongMessageSchema = v.tuple([v.literal('pong'), pongBodySchema]); diff --git a/packages/zero-protocol/src/primary-key.ts b/packages/zero-protocol/src/primary-key.ts index 34b4ccb7ba..45aaa19abf 100644 --- a/packages/zero-protocol/src/primary-key.ts +++ b/packages/zero-protocol/src/primary-key.ts @@ -1,4 +1,4 @@ -import * as v from '../../shared/src/valita.js'; +import * as v from '../../shared/src/valita.ts'; export const primaryKeySchema = v.readonly( v.tuple([v.string()]).concat(v.array(v.string())), diff --git a/packages/zero-protocol/src/protocol-version.ts b/packages/zero-protocol/src/protocol-version.ts index 13d1461a5e..82e7f556f5 100644 --- a/packages/zero-protocol/src/protocol-version.ts +++ b/packages/zero-protocol/src/protocol-version.ts @@ -1,4 +1,4 @@ -import {assert} from '../../shared/src/asserts.js'; +import {assert} from '../../shared/src/asserts.ts'; /** * The current `PROTOCOL_VERSION` of the code. diff --git a/packages/zero-protocol/src/pull.ts b/packages/zero-protocol/src/pull.ts index 67f2633b2f..f5f23c01bb 100644 --- a/packages/zero-protocol/src/pull.ts +++ b/packages/zero-protocol/src/pull.ts @@ -1,5 +1,5 @@ -import * as v from '../../shared/src/valita.js'; -import {nullableVersionSchema, versionSchema} from './version.js'; +import * as v from '../../shared/src/valita.ts'; +import {nullableVersionSchema, versionSchema} from './version.ts'; export const pullRequestBodySchema = v.object({ clientGroupID: v.string(), diff --git a/packages/zero-protocol/src/push.ts b/packages/zero-protocol/src/push.ts index 636651b048..2f8b1f1cba 100644 --- a/packages/zero-protocol/src/push.ts +++ b/packages/zero-protocol/src/push.ts @@ -1,8 +1,8 @@ -import {jsonSchema} from '../../shared/src/json-schema.js'; -import * as v from '../../shared/src/valita.js'; -import {rowSchema} from './data.js'; -import * as MutationType from './mutation-type-enum.js'; -import {primaryKeySchema, primaryKeyValueRecordSchema} from './primary-key.js'; +import {jsonSchema} from '../../shared/src/json-schema.ts'; +import * as v from '../../shared/src/valita.ts'; +import {rowSchema} from './data.ts'; +import * as MutationType from './mutation-type-enum.ts'; +import {primaryKeySchema, primaryKeyValueRecordSchema} from './primary-key.ts'; export const CRUD_MUTATION_NAME = '_zero_crud'; diff --git a/packages/zero-protocol/src/queries-patch.ts b/packages/zero-protocol/src/queries-patch.ts index 9641afb1df..ba3d20f372 100644 --- a/packages/zero-protocol/src/queries-patch.ts +++ b/packages/zero-protocol/src/queries-patch.ts @@ -1,5 +1,5 @@ -import * as v from '../../shared/src/valita.js'; -import {astSchema} from './ast.js'; +import * as v from '../../shared/src/valita.ts'; +import {astSchema} from './ast.ts'; const putOpSchema = v.object({ op: v.literal('put'), diff --git a/packages/zero-protocol/src/row-patch.ts b/packages/zero-protocol/src/row-patch.ts index f85cb5d1a4..f6c91ea1d8 100644 --- a/packages/zero-protocol/src/row-patch.ts +++ b/packages/zero-protocol/src/row-patch.ts @@ -1,7 +1,7 @@ -import {jsonObjectSchema} from '../../shared/src/json-schema.js'; -import * as v from '../../shared/src/valita.js'; -import {rowSchema} from './data.js'; -import {primaryKeyValueRecordSchema} from './primary-key.js'; +import {jsonObjectSchema} from '../../shared/src/json-schema.ts'; +import * as v from '../../shared/src/valita.ts'; +import {rowSchema} from './data.ts'; +import {primaryKeyValueRecordSchema} from './primary-key.ts'; const putOpSchema = v.object({ op: v.literal('put'), diff --git a/packages/zero-protocol/src/up.ts b/packages/zero-protocol/src/up.ts index 492a63e4e7..7f692846b5 100644 --- a/packages/zero-protocol/src/up.ts +++ b/packages/zero-protocol/src/up.ts @@ -1,10 +1,10 @@ -import * as v from '../../shared/src/valita.js'; -import {pingMessageSchema} from './ping.js'; -import {deleteClientsMessageSchema} from './delete-clients.js'; -import {initConnectionMessageSchema} from './connect.js'; -import {pullRequestMessageSchema} from './pull.js'; -import {pushMessageSchema} from './push.js'; -import {changeDesiredQueriesMessageSchema} from './change-desired-queries.js'; +import * as v from '../../shared/src/valita.ts'; +import {changeDesiredQueriesMessageSchema} from './change-desired-queries.ts'; +import {initConnectionMessageSchema} from './connect.ts'; +import {deleteClientsMessageSchema} from './delete-clients.ts'; +import {pingMessageSchema} from './ping.ts'; +import {pullRequestMessageSchema} from './pull.ts'; +import {pushMessageSchema} from './push.ts'; export const upstreamSchema = v.union( initConnectionMessageSchema, diff --git a/packages/zero-protocol/src/version.ts b/packages/zero-protocol/src/version.ts index 87c5198c6d..cd0167f317 100644 --- a/packages/zero-protocol/src/version.ts +++ b/packages/zero-protocol/src/version.ts @@ -1,4 +1,4 @@ -import * as v from '../../shared/src/valita.js'; +import * as v from '../../shared/src/valita.ts'; export const versionSchema = v.string(); export const nullableVersionSchema = v.union(versionSchema, v.null()); diff --git a/packages/zero-protocol/src/warm.ts b/packages/zero-protocol/src/warm.ts index 291ef2a053..0565fb49b3 100644 --- a/packages/zero-protocol/src/warm.ts +++ b/packages/zero-protocol/src/warm.ts @@ -1,4 +1,4 @@ -import * as v from '../../shared/src/valita.js'; +import * as v from '../../shared/src/valita.ts'; export const warmBodySchema = v.object({ payload: v.string(), diff --git a/packages/zero-react/src/mod.ts b/packages/zero-react/src/mod.ts index 9488a311c8..ae47a5512f 100644 --- a/packages/zero-react/src/mod.ts +++ b/packages/zero-react/src/mod.ts @@ -1,16 +1,16 @@ -export type {Expand} from '../../shared/src/expand.js'; -export type {PrimaryKey} from '../../zero-protocol/src/primary-key.js'; -export type {Schema} from '../../zero-schema/src/builder/schema-builder.js'; +export type {Expand} from '../../shared/src/expand.ts'; +export type {PrimaryKey} from '../../zero-protocol/src/primary-key.ts'; +export type {Schema} from '../../zero-schema/src/builder/schema-builder.ts'; export type { RelationshipsSchema, SchemaValue, TableSchema, -} from '../../zero-schema/src/table-schema.js'; -export type {HumanReadable} from '../../zql/src/query/query.js'; -export type {ResultType} from '../../zql/src/query/typed-view.js'; +} from '../../zero-schema/src/table-schema.ts'; +export type {HumanReadable} from '../../zql/src/query/query.ts'; +export type {ResultType} from '../../zql/src/query/typed-view.ts'; export { useQuery, type QueryResult, type QueryResultDetails, -} from './use-query.jsx'; -export {createUseZero, useZero, ZeroProvider} from './use-zero.jsx'; +} from './use-query.tsx'; +export {createUseZero, useZero, ZeroProvider} from './use-zero.tsx'; diff --git a/packages/zero-react/src/use-query.test.ts b/packages/zero-react/src/use-query.test.ts index fcc51888cb..8e6d40fdfc 100644 --- a/packages/zero-react/src/use-query.test.ts +++ b/packages/zero-react/src/use-query.test.ts @@ -1,8 +1,8 @@ import {beforeEach, describe, expect, test, vi} from 'vitest'; -import type {Schema} from '../../zero-schema/src/mod.js'; -import type {AdvancedQuery} from '../../zql/src/query/query-internal.js'; -import type {ResultType} from '../../zql/src/query/typed-view.js'; -import {getAllViewsSizeForTesting, ViewStore} from './use-query.js'; +import type {Schema} from '../../zero-schema/src/mod.ts'; +import type {AdvancedQuery} from '../../zql/src/query/query-internal.ts'; +import type {ResultType} from '../../zql/src/query/typed-view.ts'; +import {getAllViewsSizeForTesting, ViewStore} from './use-query.tsx'; function newMockQuery( query: string, diff --git a/packages/zero-react/src/use-query.tsx b/packages/zero-react/src/use-query.tsx index 642fb5e644..14cf2cd72b 100644 --- a/packages/zero-react/src/use-query.tsx +++ b/packages/zero-react/src/use-query.tsx @@ -1,16 +1,16 @@ import {useSyncExternalStore} from 'react'; -import {deepClone} from '../../shared/src/deep-clone.js'; -import type {Immutable} from '../../shared/src/immutable.js'; +import {deepClone} from '../../shared/src/deep-clone.ts'; +import type {Immutable} from '../../shared/src/immutable.ts'; import type { Query, ReadonlyJSONValue, Schema, TypedView, -} from '../../zero-client/src/mod.js'; -import type {AdvancedQuery} from '../../zql/src/query/query-internal.js'; -import type {HumanReadable} from '../../zql/src/query/query.js'; -import type {ResultType} from '../../zql/src/query/typed-view.js'; -import {useZero} from './use-zero.js'; +} from '../../zero-client/src/mod.ts'; +import type {AdvancedQuery} from '../../zql/src/query/query-internal.ts'; +import type {HumanReadable} from '../../zql/src/query/query.ts'; +import type {ResultType} from '../../zql/src/query/typed-view.ts'; +import {useZero} from './use-zero.tsx'; export type QueryResultDetails = Readonly<{ type: ResultType; diff --git a/packages/zero-react/src/use-zero.tsx b/packages/zero-react/src/use-zero.tsx index 6758614029..6e03916daa 100644 --- a/packages/zero-react/src/use-zero.tsx +++ b/packages/zero-react/src/use-zero.tsx @@ -1,6 +1,6 @@ import {createContext, useContext} from 'react'; -import type {Zero} from '../../zero-client/src/mod.js'; -import type {Schema} from '../../zero-schema/src/mod.js'; +import type {Zero} from '../../zero-client/src/mod.ts'; +import type {Schema} from '../../zero-schema/src/mod.ts'; // eslint-disable-next-line @typescript-eslint/naming-convention const ZeroContext = createContext(undefined); diff --git a/packages/zero-react/vitest.config.ts b/packages/zero-react/vitest.config.ts index 960efc6d6b..12508b30d0 100644 --- a/packages/zero-react/vitest.config.ts +++ b/packages/zero-react/vitest.config.ts @@ -1 +1 @@ -export {default} from '../shared/src/tool/vitest-config.js'; +export {default} from '../shared/src/tool/vitest-config.ts'; diff --git a/packages/zero-schema/src/build-schema-options.ts b/packages/zero-schema/src/build-schema-options.ts index 785fbdbcb1..b5688bff48 100644 --- a/packages/zero-schema/src/build-schema-options.ts +++ b/packages/zero-schema/src/build-schema-options.ts @@ -1,4 +1,4 @@ -import * as v from '../../shared/src/valita.js'; +import * as v from '../../shared/src/valita.ts'; export const ZERO_BUILD_SCHEMA_ENV_VAR_PREFIX = 'ZERO_'; diff --git a/packages/zero-schema/src/build-schema.ts b/packages/zero-schema/src/build-schema.ts index 495c7964cf..ecc11178f6 100644 --- a/packages/zero-schema/src/build-schema.ts +++ b/packages/zero-schema/src/build-schema.ts @@ -1,13 +1,13 @@ +import {writeFile} from 'node:fs/promises'; import path from 'node:path'; import {fileURLToPath} from 'node:url'; import {tsImport} from 'tsx/esm/api'; -import {writeFile} from 'node:fs/promises'; -import {parseOptions} from '../../shared/src/options.js'; -import {stringifySchema} from './schema-config.js'; +import {parseOptions} from '../../shared/src/options.ts'; import { buildSchemaOptions, ZERO_BUILD_SCHEMA_ENV_VAR_PREFIX, -} from './build-schema-options.js'; +} from './build-schema-options.ts'; +import {stringifySchema} from './schema-config.ts'; async function main() { const config = parseOptions( @@ -25,7 +25,7 @@ async function main() { // tsImport doesn't expect to receive slashes in the Windows format when running // on Windows. They need to be converted to *nix format. - relativePath = relativePath.replace(/\\/g, "/"); + relativePath = relativePath.replace(/\\/g, '/'); try { const module = await tsImport(relativePath, import.meta.url); diff --git a/packages/zero-schema/src/builder/relationship-builder.ts b/packages/zero-schema/src/builder/relationship-builder.ts index 155620def9..08f75e2f4d 100644 --- a/packages/zero-schema/src/builder/relationship-builder.ts +++ b/packages/zero-schema/src/builder/relationship-builder.ts @@ -1,6 +1,6 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ -import type {Relationship, TableSchema} from '../table-schema.js'; -import type {TableBuilderWithColumns} from './table-builder.js'; +import type {Relationship, TableSchema} from '../table-schema.ts'; +import type {TableBuilderWithColumns} from './table-builder.ts'; type ConnectArg = { readonly sourceField: TSourceField; diff --git a/packages/zero-schema/src/builder/schema-builder.test.ts b/packages/zero-schema/src/builder/schema-builder.test.ts index 0fa9d628ed..036bbea68a 100644 --- a/packages/zero-schema/src/builder/schema-builder.test.ts +++ b/packages/zero-schema/src/builder/schema-builder.test.ts @@ -1,8 +1,8 @@ import {expectTypeOf, test} from 'vitest'; -import type {Query} from '../../../zql/src/query/query.js'; -import {relationships} from './relationship-builder.js'; -import {createSchema} from './schema-builder.js'; -import {number, string, table} from './table-builder.js'; +import type {Query} from '../../../zql/src/query/query.ts'; +import {relationships} from './relationship-builder.ts'; +import {createSchema} from './schema-builder.ts'; +import {number, string, table} from './table-builder.ts'; const mockQuery = { select() { diff --git a/packages/zero-schema/src/builder/schema-builder.ts b/packages/zero-schema/src/builder/schema-builder.ts index 3939c85603..2a21802006 100644 --- a/packages/zero-schema/src/builder/schema-builder.ts +++ b/packages/zero-schema/src/builder/schema-builder.ts @@ -3,9 +3,9 @@ import type { Relationship, RelationshipsSchema, TableSchema, -} from '../table-schema.js'; -import type {Relationships} from './relationship-builder.js'; -import {type TableBuilderWithColumns} from './table-builder.js'; +} from '../table-schema.ts'; +import type {Relationships} from './relationship-builder.ts'; +import {type TableBuilderWithColumns} from './table-builder.ts'; export type Schema = { readonly version: number; diff --git a/packages/zero-schema/src/builder/table-builder.ts b/packages/zero-schema/src/builder/table-builder.ts index 780ddd189b..9d9d6b5d44 100644 --- a/packages/zero-schema/src/builder/table-builder.ts +++ b/packages/zero-schema/src/builder/table-builder.ts @@ -1,6 +1,6 @@ -import type {ReadonlyJSONValue} from '../../../shared/src/json.js'; -import type {PrimaryKey} from '../../../zero-protocol/src/primary-key.js'; -import type {SchemaValue, TableSchema} from '../table-schema.js'; +import type {ReadonlyJSONValue} from '../../../shared/src/json.ts'; +import type {PrimaryKey} from '../../../zero-protocol/src/primary-key.ts'; +import type {SchemaValue, TableSchema} from '../table-schema.ts'; /* eslint-disable @typescript-eslint/no-explicit-any */ export function table(name: TName) { diff --git a/packages/zero-schema/src/compiled-permissions.ts b/packages/zero-schema/src/compiled-permissions.ts index e4eca57b45..9ef747b26f 100644 --- a/packages/zero-schema/src/compiled-permissions.ts +++ b/packages/zero-schema/src/compiled-permissions.ts @@ -1,5 +1,5 @@ -import * as v from '../../shared/src/valita.js'; -import {conditionSchema} from '../../zero-protocol/src/ast.js'; +import * as v from '../../shared/src/valita.ts'; +import {conditionSchema} from '../../zero-protocol/src/ast.ts'; const ruleSchema = v.tuple([v.literal('allow'), conditionSchema]); export type Rule = v.Infer; diff --git a/packages/zero-schema/src/mod.ts b/packages/zero-schema/src/mod.ts index d1d1891157..dc6391599c 100644 --- a/packages/zero-schema/src/mod.ts +++ b/packages/zero-schema/src/mod.ts @@ -1,4 +1,4 @@ -export {authQuery} from '../../zql/src/query/auth-query.js'; -export {type TableSchema} from './table-schema.js'; -export {createSchema, type Schema} from './builder/schema-builder.js'; -export {definePermissions} from './permissions.js'; +export {authQuery} from '../../zql/src/query/auth-query.ts'; +export {createSchema, type Schema} from './builder/schema-builder.ts'; +export {definePermissions} from './permissions.ts'; +export {type TableSchema} from './table-schema.ts'; diff --git a/packages/zero-schema/src/permissions.test.ts b/packages/zero-schema/src/permissions.test.ts index 118540f594..cb9a175633 100644 --- a/packages/zero-schema/src/permissions.test.ts +++ b/packages/zero-schema/src/permissions.test.ts @@ -1,9 +1,9 @@ import {expect, test} from 'vitest'; -import {createSchema} from './builder/schema-builder.js'; -import {definePermissions} from './permissions.js'; -import type {ExpressionBuilder} from '../../zql/src/query/expression.js'; -import {table, column} from './builder/table-builder.js'; -import type {Schema as ZeroSchema} from './builder/schema-builder.js'; +import type {ExpressionBuilder} from '../../zql/src/query/expression.ts'; +import type {Schema as ZeroSchema} from './builder/schema-builder.ts'; +import {createSchema} from './builder/schema-builder.ts'; +import {column, table} from './builder/table-builder.ts'; +import {definePermissions} from './permissions.ts'; const {string} = column; diff --git a/packages/zero-schema/src/permissions.ts b/packages/zero-schema/src/permissions.ts index c02face9f1..09cd0728e6 100644 --- a/packages/zero-schema/src/permissions.ts +++ b/packages/zero-schema/src/permissions.ts @@ -1,18 +1,18 @@ -import {assert} from '../../shared/src/asserts.js'; +import {assert} from '../../shared/src/asserts.ts'; import { toStaticParam, type Condition, type Parameter, -} from '../../zero-protocol/src/ast.js'; -import {AuthQuery} from '../../zql/src/query/auth-query.js'; -import type {ExpressionBuilder} from '../../zql/src/query/expression.js'; -import {staticParam} from '../../zql/src/query/query-impl.js'; -import type {Query} from '../../zql/src/query/query.js'; +} from '../../zero-protocol/src/ast.ts'; +import {AuthQuery} from '../../zql/src/query/auth-query.ts'; +import type {ExpressionBuilder} from '../../zql/src/query/expression.ts'; +import {staticParam} from '../../zql/src/query/query-impl.ts'; +import type {Query} from '../../zql/src/query/query.ts'; import type { AssetPermissions as CompiledAssetPermissions, PermissionsConfig as CompiledPermissionsConfig, -} from './compiled-permissions.js'; -import type {Schema} from './mod.js'; +} from './compiled-permissions.ts'; +import type {Schema} from './mod.ts'; export const ANYONE_CAN = undefined; export const NOBODY_CAN = []; diff --git a/packages/zero-schema/src/schema-config.test.ts b/packages/zero-schema/src/schema-config.test.ts index f9b1d7894e..a430117456 100644 --- a/packages/zero-schema/src/schema-config.test.ts +++ b/packages/zero-schema/src/schema-config.test.ts @@ -1,9 +1,9 @@ import {expect, test} from 'vitest'; -import {createSchema} from './builder/schema-builder.js'; -import {parseSchema, stringifySchema} from './schema-config.js'; -import {definePermissions} from './permissions.js'; -import {string, table} from './builder/table-builder.js'; -import {relationships} from './builder/relationship-builder.js'; +import {relationships} from './builder/relationship-builder.ts'; +import {createSchema} from './builder/schema-builder.ts'; +import {string, table} from './builder/table-builder.ts'; +import {definePermissions} from './permissions.ts'; +import {parseSchema, stringifySchema} from './schema-config.ts'; test('round trip', async () => { const circular = table('circular') diff --git a/packages/zero-schema/src/schema-config.ts b/packages/zero-schema/src/schema-config.ts index 7dccbe5802..912eb01eeb 100644 --- a/packages/zero-schema/src/schema-config.ts +++ b/packages/zero-schema/src/schema-config.ts @@ -1,12 +1,12 @@ -import * as v from '../../shared/src/valita.js'; -import {compoundKeySchema} from '../../zero-protocol/src/ast.js'; -import {primaryKeySchema} from '../../zero-protocol/src/primary-key.js'; +import * as v from '../../shared/src/valita.ts'; +import {compoundKeySchema} from '../../zero-protocol/src/ast.ts'; +import {primaryKeySchema} from '../../zero-protocol/src/primary-key.ts'; +import type {Schema} from './builder/schema-builder.ts'; import { permissionsConfigSchema, type PermissionsConfig, -} from './compiled-permissions.js'; -import type {Schema} from './builder/schema-builder.js'; -import type {Relationship, TableSchema, ValueType} from './table-schema.js'; +} from './compiled-permissions.ts'; +import type {Relationship, TableSchema, ValueType} from './table-schema.ts'; export type SchemaConfig = { schema: Schema; diff --git a/packages/zero-schema/src/schema-type-test.ts b/packages/zero-schema/src/schema-type-test.ts index d607ea964f..9c27a30994 100644 --- a/packages/zero-schema/src/schema-type-test.ts +++ b/packages/zero-schema/src/schema-type-test.ts @@ -1,11 +1,11 @@ -import type * as v from '../../shared/src/valita.js'; +import type * as v from '../../shared/src/valita.ts'; +import type {Schema} from './builder/schema-builder.ts'; import type { relationshipSchema, schemaSchema, schemaValueSchema, -} from './schema-config.js'; -import type {Schema} from './builder/schema-builder.js'; -import type {Relationship, SchemaValue} from './table-schema.js'; +} from './schema-config.ts'; +import type {Relationship, SchemaValue} from './table-schema.ts'; type MakeAllFieldsRequired = { [K in keyof T]-?: MakeAllFieldsRequired; diff --git a/packages/zero-schema/src/schema.test.ts b/packages/zero-schema/src/schema.test.ts index bb9cdb89cd..8ac469eaf3 100644 --- a/packages/zero-schema/src/schema.test.ts +++ b/packages/zero-schema/src/schema.test.ts @@ -1,7 +1,7 @@ import {expect, expectTypeOf, test} from 'vitest'; -import {createSchema} from './mod.js'; -import {number, string, table} from './builder/table-builder.js'; -import {relationships} from './builder/relationship-builder.js'; +import {relationships} from './builder/relationship-builder.ts'; +import {number, string, table} from './builder/table-builder.ts'; +import {createSchema} from './mod.ts'; test('Key name does not matter', () => { const schema = createSchema(1, { diff --git a/packages/zero-schema/src/table-schema.test.ts b/packages/zero-schema/src/table-schema.test.ts index 2a39d4839b..8e09ec9823 100644 --- a/packages/zero-schema/src/table-schema.test.ts +++ b/packages/zero-schema/src/table-schema.test.ts @@ -1,10 +1,10 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable @typescript-eslint/ban-types */ import {expectTypeOf, test} from 'vitest'; -import type {Relationship, TableSchema} from './table-schema.js'; -import {number, string, table} from './builder/table-builder.js'; -import {relationships} from './builder/relationship-builder.js'; -import {createSchema} from './mod.js'; +import {relationships} from './builder/relationship-builder.ts'; +import {number, string, table} from './builder/table-builder.ts'; +import {createSchema} from './mod.ts'; +import type {Relationship, TableSchema} from './table-schema.ts'; test('relationship schema types', () => { const issueLabel = table('issueLabel') diff --git a/packages/zero-schema/src/table-schema.ts b/packages/zero-schema/src/table-schema.ts index d7503a3956..413e38b897 100644 --- a/packages/zero-schema/src/table-schema.ts +++ b/packages/zero-schema/src/table-schema.ts @@ -1,4 +1,4 @@ -import type {PrimaryKey} from '../../zero-protocol/src/primary-key.js'; +import type {PrimaryKey} from '../../zero-protocol/src/primary-key.ts'; export type ValueType = 'string' | 'number' | 'boolean' | 'null' | 'json'; diff --git a/packages/zero-solid/src/create-zero.ts b/packages/zero-solid/src/create-zero.ts index 531890cf59..dbdd6275ef 100644 --- a/packages/zero-solid/src/create-zero.ts +++ b/packages/zero-solid/src/create-zero.ts @@ -1,7 +1,7 @@ import {batch} from 'solid-js'; -import {Zero, type ZeroOptions} from '../../zero-client/src/mod.js'; -import type {ZeroAdvancedOptions} from '../../zero-advanced/src/mod.js'; -import type {Schema} from '../../zero-schema/src/mod.js'; +import type {ZeroAdvancedOptions} from '../../zero-advanced/src/mod.ts'; +import {Zero, type ZeroOptions} from '../../zero-client/src/mod.ts'; +import type {Schema} from '../../zero-schema/src/mod.ts'; export function createZero(options: ZeroOptions): Zero { const opts: ZeroAdvancedOptions = { diff --git a/packages/zero-solid/src/mod.ts b/packages/zero-solid/src/mod.ts index bc494b3d20..1466d19193 100644 --- a/packages/zero-solid/src/mod.ts +++ b/packages/zero-solid/src/mod.ts @@ -1,2 +1,2 @@ -export {createZero} from './create-zero.js'; -export {useQuery} from './use-query.js'; +export {createZero} from './create-zero.ts'; +export {useQuery} from './use-query.ts'; diff --git a/packages/zero-solid/src/solid-view.test.ts b/packages/zero-solid/src/solid-view.test.ts index f1ce4409dd..35e48f3b95 100644 --- a/packages/zero-solid/src/solid-view.test.ts +++ b/packages/zero-solid/src/solid-view.test.ts @@ -1,10 +1,10 @@ import {resolver} from '@rocicorp/resolver'; import {expect, test, vi} from 'vitest'; -import {number, string, table} from '../../zero-client/src/mod.js'; -import {createSchema} from '../../zero-schema/src/mod.js'; -import {MemorySource} from '../../zql/src/ivm/memory-source.js'; -import type {HumanReadable, Query} from '../../zql/src/query/query.js'; -import {SolidView, solidViewFactory} from './solid-view.js'; +import {number, string, table} from '../../zero-client/src/mod.ts'; +import {createSchema} from '../../zero-schema/src/mod.ts'; +import {MemorySource} from '../../zql/src/ivm/memory-source.ts'; +import type {HumanReadable, Query} from '../../zql/src/query/query.ts'; +import {SolidView, solidViewFactory} from './solid-view.ts'; test('basics', () => { const ms = new MemorySource( diff --git a/packages/zero-solid/src/solid-view.ts b/packages/zero-solid/src/solid-view.ts index e156b1f9f2..5fa26a0ff7 100644 --- a/packages/zero-solid/src/solid-view.ts +++ b/packages/zero-solid/src/solid-view.ts @@ -14,9 +14,9 @@ import { type Output, type Query, type ViewFactory, -} from '../../zero-advanced/src/mod.js'; -import type {Schema} from '../../zero-schema/src/mod.js'; -import type {ResultType} from '../../zql/src/query/typed-view.js'; +} from '../../zero-advanced/src/mod.ts'; +import type {Schema} from '../../zero-schema/src/mod.ts'; +import type {ResultType} from '../../zql/src/query/typed-view.ts'; export type QueryResultDetails = { readonly type: ResultType; diff --git a/packages/zero-solid/src/use-query.test.ts b/packages/zero-solid/src/use-query.test.ts index 627760dcd1..b81431bdb7 100644 --- a/packages/zero-solid/src/use-query.test.ts +++ b/packages/zero-solid/src/use-query.test.ts @@ -1,13 +1,13 @@ import {testEffect} from '@solidjs/testing-library'; import {createEffect, createSignal} from 'solid-js'; import {expect, test} from 'vitest'; -import {must} from '../../shared/src/must.js'; -import {number, string, table} from '../../zero-client/src/mod.js'; -import {createSchema} from '../../zero-schema/src/mod.js'; -import {MemorySource} from '../../zql/src/ivm/memory-source.js'; -import {newQuery} from '../../zql/src/query/query-impl.js'; -import {QueryDelegateImpl} from '../../zql/src/query/test/query-delegate.js'; -import {useQuery} from './use-query.js'; +import {must} from '../../shared/src/must.ts'; +import {number, string, table} from '../../zero-client/src/mod.ts'; +import {createSchema} from '../../zero-schema/src/mod.ts'; +import {MemorySource} from '../../zql/src/ivm/memory-source.ts'; +import {newQuery} from '../../zql/src/query/query-impl.ts'; +import {QueryDelegateImpl} from '../../zql/src/query/test/query-delegate.ts'; +import {useQuery} from './use-query.ts'; function setupTestEnvironment() { const schema = createSchema(1, { diff --git a/packages/zero-solid/src/use-query.ts b/packages/zero-solid/src/use-query.ts index 495d1fa370..3fc1a28177 100644 --- a/packages/zero-solid/src/use-query.ts +++ b/packages/zero-solid/src/use-query.ts @@ -3,9 +3,9 @@ import type { AdvancedQuery, HumanReadable, Query, -} from '../../zero-advanced/src/mod.js'; -import {solidViewFactory, type QueryResultDetails} from './solid-view.js'; -import type {Schema} from '../../zero-schema/src/mod.js'; +} from '../../zero-advanced/src/mod.ts'; +import type {Schema} from '../../zero-schema/src/mod.ts'; +import {solidViewFactory, type QueryResultDetails} from './solid-view.ts'; export type QueryResult = readonly [ Accessor>, diff --git a/packages/zero-solid/vitest.config.ts b/packages/zero-solid/vitest.config.ts index 960efc6d6b..12508b30d0 100644 --- a/packages/zero-solid/vitest.config.ts +++ b/packages/zero-solid/vitest.config.ts @@ -1 +1 @@ -export {default} from '../shared/src/tool/vitest-config.js'; +export {default} from '../shared/src/tool/vitest-config.ts'; diff --git a/packages/zero/src/advanced.ts b/packages/zero/src/advanced.ts index 7e1f36a439..3a492e63bf 100644 --- a/packages/zero/src/advanced.ts +++ b/packages/zero/src/advanced.ts @@ -1 +1 @@ -export * from '../../zero-advanced/src/mod.js'; +export * from '../../zero-advanced/src/mod.ts'; diff --git a/packages/zero/src/build-schema.ts b/packages/zero/src/build-schema.ts index 2a42a4a6f5..3c1ef046fe 100644 --- a/packages/zero/src/build-schema.ts +++ b/packages/zero/src/build-schema.ts @@ -1,2 +1,2 @@ #!/usr/bin/env node -import '../../zero-schema/src/build-schema.js'; +import '../../zero-schema/src/build-schema.ts'; diff --git a/packages/zero/src/change-protocol.ts b/packages/zero/src/change-protocol.ts index 9915fa2f35..a088caa81c 100644 --- a/packages/zero/src/change-protocol.ts +++ b/packages/zero/src/change-protocol.ts @@ -1 +1 @@ -export * from '../../zero-cache/src/services/change-source/protocol/mod.js'; +export * from '../../zero-cache/src/services/change-source/protocol/mod.ts'; diff --git a/packages/zero/src/cli.ts b/packages/zero/src/cli.ts index e42bc41239..ae4397edf9 100755 --- a/packages/zero/src/cli.ts +++ b/packages/zero/src/cli.ts @@ -1,3 +1,3 @@ #!/usr/bin/env node -import './server/multi/main.js'; +import './server/multi/main.ts'; diff --git a/packages/zero/src/react.ts b/packages/zero/src/react.ts index d979b9968a..c35575f846 100644 --- a/packages/zero/src/react.ts +++ b/packages/zero/src/react.ts @@ -1 +1 @@ -export * from '../../zero-react/src/mod.js'; +export * from '../../zero-react/src/mod.ts'; diff --git a/packages/zero/src/server/change-streamer.ts b/packages/zero/src/server/change-streamer.ts index 986e103251..e8d0c92d24 100644 --- a/packages/zero/src/server/change-streamer.ts +++ b/packages/zero/src/server/change-streamer.ts @@ -1 +1 @@ -import '../../../zero-cache/src/server/change-streamer.js'; +import '../../../zero-cache/src/server/change-streamer.ts'; diff --git a/packages/zero/src/server/main.ts b/packages/zero/src/server/main.ts index 1e4620ba1d..ee1db1f038 100644 --- a/packages/zero/src/server/main.ts +++ b/packages/zero/src/server/main.ts @@ -1 +1 @@ -import '../../../zero-cache/src/server/main.js'; +import '../../../zero-cache/src/server/main.ts'; diff --git a/packages/zero/src/server/multi/main.ts b/packages/zero/src/server/multi/main.ts index 7f9990ff55..71dba4836d 100644 --- a/packages/zero/src/server/multi/main.ts +++ b/packages/zero/src/server/multi/main.ts @@ -1 +1 @@ -import '../../../../zero-cache/src/server/multi/main.js'; +import '../../../../zero-cache/src/server/multi/main.ts'; diff --git a/packages/zero/src/server/replicator.ts b/packages/zero/src/server/replicator.ts index 04547bbf5b..00df30080e 100644 --- a/packages/zero/src/server/replicator.ts +++ b/packages/zero/src/server/replicator.ts @@ -1 +1 @@ -import '../../../zero-cache/src/server/replicator.js'; +import '../../../zero-cache/src/server/replicator.ts'; diff --git a/packages/zero/src/server/syncer.ts b/packages/zero/src/server/syncer.ts index 8379310903..34f4704e66 100644 --- a/packages/zero/src/server/syncer.ts +++ b/packages/zero/src/server/syncer.ts @@ -1 +1 @@ -import '../../../zero-cache/src/server/syncer.js'; +import '../../../zero-cache/src/server/syncer.ts'; diff --git a/packages/zero/src/solid.ts b/packages/zero/src/solid.ts index a187daae62..a636606d14 100644 --- a/packages/zero/src/solid.ts +++ b/packages/zero/src/solid.ts @@ -1 +1 @@ -export * from '../../zero-solid/src/mod.js'; +export * from '../../zero-solid/src/mod.ts'; diff --git a/packages/zero/src/zero-cache-dev.test.ts b/packages/zero/src/zero-cache-dev.test.ts index 0e603fe340..f222a7dd90 100644 --- a/packages/zero/src/zero-cache-dev.test.ts +++ b/packages/zero/src/zero-cache-dev.test.ts @@ -1,13 +1,13 @@ import {expect, test} from 'vitest'; -import { - buildSchemaOptions, - ZERO_BUILD_SCHEMA_ENV_VAR_PREFIX, -} from '../../zero-schema/src/build-schema-options.js'; +import type {Group} from '../../shared/src/options.ts'; import { ZERO_ENV_VAR_PREFIX, zeroOptions, -} from '../../zero-cache/src/config/zero-config.js'; -import type {Group} from '../../shared/src/options.js'; +} from '../../zero-cache/src/config/zero-config.ts'; +import { + buildSchemaOptions, + ZERO_BUILD_SCHEMA_ENV_VAR_PREFIX, +} from '../../zero-schema/src/build-schema-options.ts'; test('zeroOptions and buildSchemaOptions are compatible', () => { expect(ZERO_BUILD_SCHEMA_ENV_VAR_PREFIX).toEqual(ZERO_ENV_VAR_PREFIX); diff --git a/packages/zero/src/zero-cache-dev.ts b/packages/zero/src/zero-cache-dev.ts index 05986694fe..5a4c79cf0b 100644 --- a/packages/zero/src/zero-cache-dev.ts +++ b/packages/zero/src/zero-cache-dev.ts @@ -6,12 +6,12 @@ import chalk from 'chalk'; import {watch} from 'chokidar'; import 'dotenv/config'; import {spawn, type ChildProcess} from 'node:child_process'; -import {parseOptionsAdvanced} from '../../shared/src/options.js'; +import {parseOptionsAdvanced} from '../../shared/src/options.ts'; import { ZERO_ENV_VAR_PREFIX, zeroOptions, -} from '../../zero-cache/src/config/zero-config.js'; -import {buildSchemaOptions} from '../../zero-schema/src/build-schema-options.js'; +} from '../../zero-cache/src/config/zero-config.ts'; +import {buildSchemaOptions} from '../../zero-schema/src/build-schema-options.ts'; const buildSchemaScript = 'zero-build-schema'; const zeroCacheScript = 'zero-cache'; diff --git a/packages/zero/src/zero.ts b/packages/zero/src/zero.ts index c88724b5ba..346a273d29 100644 --- a/packages/zero/src/zero.ts +++ b/packages/zero/src/zero.ts @@ -1 +1 @@ -export * from '../../zero-client/src/mod.js'; +export * from '../../zero-client/src/mod.ts'; diff --git a/packages/zql/src/builder/builder.test.ts b/packages/zql/src/builder/builder.test.ts index ff383b05d5..c50ccd393c 100644 --- a/packages/zql/src/builder/builder.test.ts +++ b/packages/zql/src/builder/builder.test.ts @@ -1,14 +1,14 @@ import {expect, test} from 'vitest'; -import type {AST, Disjunction} from '../../../zero-protocol/src/ast.js'; -import {Catch} from '../ivm/catch.js'; -import {MemoryStorage} from '../ivm/memory-storage.js'; -import type {Source} from '../ivm/source.js'; -import {createSource} from '../ivm/test/source-factory.js'; +import type {AST, Disjunction} from '../../../zero-protocol/src/ast.ts'; +import {Catch} from '../ivm/catch.ts'; +import {MemoryStorage} from '../ivm/memory-storage.ts'; +import type {Source} from '../ivm/source.ts'; +import {createSource} from '../ivm/test/source-factory.ts'; import { bindStaticParameters, buildPipeline, groupSubqueryConditions, -} from './builder.js'; +} from './builder.ts'; export function testSources() { const users = createSource( diff --git a/packages/zql/src/builder/builder.ts b/packages/zql/src/builder/builder.ts index 82f70f5280..fb3df51f53 100644 --- a/packages/zql/src/builder/builder.ts +++ b/packages/zql/src/builder/builder.ts @@ -1,6 +1,6 @@ -import {assert} from '../../../shared/src/asserts.js'; -import type {JSONValue} from '../../../shared/src/json.js'; -import {must} from '../../../shared/src/must.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import type {JSONValue} from '../../../shared/src/json.ts'; +import {must} from '../../../shared/src/must.ts'; import type { AST, ColumnReference, @@ -15,19 +15,19 @@ import type { Parameter, SimpleCondition, ValuePosition, -} from '../../../zero-protocol/src/ast.js'; -import type {Row} from '../../../zero-protocol/src/data.js'; -import type {PrimaryKey} from '../../../zero-protocol/src/primary-key.js'; -import {Exists} from '../ivm/exists.js'; -import {FanIn} from '../ivm/fan-in.js'; -import {FanOut} from '../ivm/fan-out.js'; -import {Filter} from '../ivm/filter.js'; -import {Join} from '../ivm/join.js'; -import type {Input, Storage} from '../ivm/operator.js'; -import {Skip} from '../ivm/skip.js'; -import type {Source} from '../ivm/source.js'; -import {Take} from '../ivm/take.js'; -import {createPredicate, type NoSubqueryCondition} from './filter.js'; +} from '../../../zero-protocol/src/ast.ts'; +import type {Row} from '../../../zero-protocol/src/data.ts'; +import type {PrimaryKey} from '../../../zero-protocol/src/primary-key.ts'; +import {Exists} from '../ivm/exists.ts'; +import {FanIn} from '../ivm/fan-in.ts'; +import {FanOut} from '../ivm/fan-out.ts'; +import {Filter} from '../ivm/filter.ts'; +import {Join} from '../ivm/join.ts'; +import type {Input, Storage} from '../ivm/operator.ts'; +import {Skip} from '../ivm/skip.ts'; +import type {Source} from '../ivm/source.ts'; +import {Take} from '../ivm/take.ts'; +import {createPredicate, type NoSubqueryCondition} from './filter.ts'; export type StaticQueryParameters = { authData: Record; diff --git a/packages/zql/src/builder/filter.test.ts b/packages/zql/src/builder/filter.test.ts index e463f545b8..3dd8883e45 100644 --- a/packages/zql/src/builder/filter.test.ts +++ b/packages/zql/src/builder/filter.test.ts @@ -3,9 +3,9 @@ import {expect, test} from 'vitest'; import type { SimpleCondition, SimpleOperator, -} from '../../../zero-protocol/src/ast.js'; -import {createPredicate} from './filter.js'; -import {cases} from './like.test.js'; +} from '../../../zero-protocol/src/ast.ts'; +import {createPredicate} from './filter.ts'; +import {cases} from './like.test.ts'; test('basics', () => { // nulls and undefined are false in all conditions except IS NULL and IS NOT NULL diff --git a/packages/zql/src/builder/filter.ts b/packages/zql/src/builder/filter.ts index dd20d0348c..bcfbbcb14c 100644 --- a/packages/zql/src/builder/filter.ts +++ b/packages/zql/src/builder/filter.ts @@ -1,11 +1,11 @@ -import {assert, unreachable} from '../../../shared/src/asserts.js'; +import {assert, unreachable} from '../../../shared/src/asserts.ts'; import type { Condition, SimpleCondition, SimpleOperator, -} from '../../../zero-protocol/src/ast.js'; -import type {Row, Value} from '../../../zero-protocol/src/data.js'; -import {getLikePredicate} from './like.js'; +} from '../../../zero-protocol/src/ast.ts'; +import type {Row, Value} from '../../../zero-protocol/src/data.ts'; +import {getLikePredicate} from './like.ts'; export type NonNullValue = Exclude; export type SimplePredicate = (rhs: Value) => boolean; diff --git a/packages/zql/src/builder/like.test.ts b/packages/zql/src/builder/like.test.ts index acb23301f7..5265adef63 100644 --- a/packages/zql/src/builder/like.test.ts +++ b/packages/zql/src/builder/like.test.ts @@ -1,5 +1,5 @@ import {expect, test} from 'vitest'; -import {getLikePredicate} from './like.js'; +import {getLikePredicate} from './like.ts'; export const cases: { pattern: string; diff --git a/packages/zql/src/builder/like.ts b/packages/zql/src/builder/like.ts index 1d9008408b..4ee5d4ce57 100644 --- a/packages/zql/src/builder/like.ts +++ b/packages/zql/src/builder/like.ts @@ -1,5 +1,5 @@ -import {assertString} from '../../../shared/src/asserts.js'; -import type {NonNullValue, SimplePredicateNoNull} from './filter.js'; +import {assertString} from '../../../shared/src/asserts.ts'; +import type {NonNullValue, SimplePredicateNoNull} from './filter.ts'; export function getLikePredicate( pattern: NonNullValue, diff --git a/packages/zql/src/ivm/array-view.test.ts b/packages/zql/src/ivm/array-view.test.ts index 0e7bf95636..8e426cf972 100644 --- a/packages/zql/src/ivm/array-view.test.ts +++ b/packages/zql/src/ivm/array-view.test.ts @@ -1,15 +1,15 @@ import {expect, test} from 'vitest'; -import {assertArray, unreachable} from '../../../shared/src/asserts.js'; -import type {ReadonlyJSONValue} from '../../../shared/src/json.js'; -import {stringCompare} from '../../../shared/src/string-compare.js'; -import {ArrayView} from './array-view.js'; -import type {Change} from './change.js'; -import {Join} from './join.js'; -import {MemoryStorage} from './memory-storage.js'; -import type {Input} from './operator.js'; -import type {SourceSchema} from './schema.js'; -import {Take} from './take.js'; -import {createSource} from './test/source-factory.js'; +import {assertArray, unreachable} from '../../../shared/src/asserts.ts'; +import type {ReadonlyJSONValue} from '../../../shared/src/json.ts'; +import {stringCompare} from '../../../shared/src/string-compare.ts'; +import {ArrayView} from './array-view.ts'; +import type {Change} from './change.ts'; +import {Join} from './join.ts'; +import {MemoryStorage} from './memory-storage.ts'; +import type {Input} from './operator.ts'; +import type {SourceSchema} from './schema.ts'; +import {Take} from './take.ts'; +import {createSource} from './test/source-factory.ts'; test('basics', () => { const ms = createSource('table', {a: {type: 'number'}, b: {type: 'string'}}, [ diff --git a/packages/zql/src/ivm/array-view.ts b/packages/zql/src/ivm/array-view.ts index 8f9163a39d..a6da0c5775 100644 --- a/packages/zql/src/ivm/array-view.ts +++ b/packages/zql/src/ivm/array-view.ts @@ -1,11 +1,11 @@ -import {assert} from '../../../shared/src/asserts.js'; -import type {Immutable} from '../../../shared/src/immutable.js'; -import type {Listener, TypedView} from '../query/typed-view.js'; -import type {Change} from './change.js'; -import type {Input, Output} from './operator.js'; -import type {SourceSchema} from './schema.js'; -import {applyChange} from './view-apply-change.js'; -import type {Entry, Format, View} from './view.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import type {Immutable} from '../../../shared/src/immutable.ts'; +import type {Listener, TypedView} from '../query/typed-view.ts'; +import type {Change} from './change.ts'; +import type {Input, Output} from './operator.ts'; +import type {SourceSchema} from './schema.ts'; +import {applyChange} from './view-apply-change.ts'; +import type {Entry, Format, View} from './view.ts'; /** * Implements a materialized view of the output of an operator. diff --git a/packages/zql/src/ivm/catch.ts b/packages/zql/src/ivm/catch.ts index bde6a2b6b3..c8b7424199 100644 --- a/packages/zql/src/ivm/catch.ts +++ b/packages/zql/src/ivm/catch.ts @@ -1,8 +1,8 @@ -import {unreachable} from '../../../shared/src/asserts.js'; -import type {Row} from '../../../zero-protocol/src/data.js'; -import type {AddChange, Change, RemoveChange} from './change.js'; -import type {Node} from './data.js'; -import type {FetchRequest, Input, Output} from './operator.js'; +import {unreachable} from '../../../shared/src/asserts.ts'; +import type {Row} from '../../../zero-protocol/src/data.ts'; +import type {AddChange, Change, RemoveChange} from './change.ts'; +import type {Node} from './data.ts'; +import type {FetchRequest, Input, Output} from './operator.ts'; export type CaughtChildChange = { type: 'child'; diff --git a/packages/zql/src/ivm/change.ts b/packages/zql/src/ivm/change.ts index 4e75b02792..8f450cbc5f 100644 --- a/packages/zql/src/ivm/change.ts +++ b/packages/zql/src/ivm/change.ts @@ -1,5 +1,5 @@ -import type {Row} from '../../../zero-protocol/src/data.js'; -import type {Node} from './data.js'; +import type {Row} from '../../../zero-protocol/src/data.ts'; +import type {Node} from './data.ts'; export type Change = AddChange | RemoveChange | ChildChange | EditChange; export type ChangeType = Change['type']; diff --git a/packages/zql/src/ivm/constraint.ts b/packages/zql/src/ivm/constraint.ts index 52bf171df9..0130084a99 100644 --- a/packages/zql/src/ivm/constraint.ts +++ b/packages/zql/src/ivm/constraint.ts @@ -1,8 +1,8 @@ -import {assert} from '../../../shared/src/asserts.js'; -import {stringCompare} from '../../../shared/src/string-compare.js'; -import type {Row, Value} from '../../../zero-protocol/src/data.js'; -import type {PrimaryKey} from '../../../zero-protocol/src/primary-key.js'; -import {valuesEqual} from './data.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import {stringCompare} from '../../../shared/src/string-compare.ts'; +import type {Row, Value} from '../../../zero-protocol/src/data.ts'; +import type {PrimaryKey} from '../../../zero-protocol/src/primary-key.ts'; +import {valuesEqual} from './data.ts'; export type Constraint = { readonly [key: string]: Value; diff --git a/packages/zql/src/ivm/data.test.ts b/packages/zql/src/ivm/data.test.ts index 1a0a6f438b..638655bc85 100644 --- a/packages/zql/src/ivm/data.test.ts +++ b/packages/zql/src/ivm/data.test.ts @@ -1,14 +1,14 @@ import {compareUTF8} from 'compare-utf8'; import fc from 'fast-check'; import {expect, test} from 'vitest'; -import type {Ordering} from '../../../zero-protocol/src/ast.js'; -import type {Row} from '../../../zero-protocol/src/data.js'; +import type {Ordering} from '../../../zero-protocol/src/ast.ts'; +import type {Row} from '../../../zero-protocol/src/data.ts'; import { compareValues, makeComparator, normalizeUndefined, valuesEqual, -} from './data.js'; +} from './data.ts'; test('normalizeUndefined', () => { fc.assert( diff --git a/packages/zql/src/ivm/data.ts b/packages/zql/src/ivm/data.ts index 66ff7fee68..e1fb0233a4 100644 --- a/packages/zql/src/ivm/data.ts +++ b/packages/zql/src/ivm/data.ts @@ -3,10 +3,10 @@ import { assertBoolean, assertNumber, assertString, -} from '../../../shared/src/asserts.js'; -import type {Ordering} from '../../../zero-protocol/src/ast.js'; -import type {Row, Value} from '../../../zero-protocol/src/data.js'; -import type {Stream} from './stream.js'; +} from '../../../shared/src/asserts.ts'; +import type {Ordering} from '../../../zero-protocol/src/ast.ts'; +import type {Row, Value} from '../../../zero-protocol/src/data.ts'; +import type {Stream} from './stream.ts'; /** * A row flowing through the pipeline, plus its relationships. diff --git a/packages/zql/src/ivm/destroy.test.ts b/packages/zql/src/ivm/destroy.test.ts index 7d5c86cb56..d9b5b7130b 100644 --- a/packages/zql/src/ivm/destroy.test.ts +++ b/packages/zql/src/ivm/destroy.test.ts @@ -1,10 +1,10 @@ import {expect, test} from 'vitest'; -import {Snitch} from './snitch.js'; -import {Filter} from './filter.js'; -import {FanOut} from './fan-out.js'; -import {FanIn} from './fan-in.js'; -import {Catch} from './catch.js'; -import {createSource} from './test/source-factory.js'; +import {Catch} from './catch.ts'; +import {FanIn} from './fan-in.ts'; +import {FanOut} from './fan-out.ts'; +import {Filter} from './filter.ts'; +import {Snitch} from './snitch.ts'; +import {createSource} from './test/source-factory.ts'; test('destroy source connections', () => { const ms = createSource('table', {a: {type: 'string'}, b: {type: 'string'}}, [ diff --git a/packages/zql/src/ivm/exists.fetch.test.ts b/packages/zql/src/ivm/exists.fetch.test.ts index 05885a00f5..961ae2e7bc 100644 --- a/packages/zql/src/ivm/exists.fetch.test.ts +++ b/packages/zql/src/ivm/exists.fetch.test.ts @@ -1,17 +1,17 @@ import {expect, suite, test} from 'vitest'; -import {unreachable} from '../../../shared/src/asserts.js'; -import type {JSONValue} from '../../../shared/src/json.js'; -import type {CompoundKey, Ordering} from '../../../zero-protocol/src/ast.js'; -import type {Row} from '../../../zero-protocol/src/data.js'; -import type {PrimaryKey} from '../../../zero-protocol/src/primary-key.js'; -import type {SchemaValue} from '../../../zero-schema/src/table-schema.js'; -import {Catch} from './catch.js'; -import type {Node} from './data.js'; -import {Exists} from './exists.js'; -import {Join} from './join.js'; -import {MemoryStorage} from './memory-storage.js'; -import {Snitch, type SnitchMessage} from './snitch.js'; -import {createSource} from './test/source-factory.js'; +import {unreachable} from '../../../shared/src/asserts.ts'; +import type {JSONValue} from '../../../shared/src/json.ts'; +import type {CompoundKey, Ordering} from '../../../zero-protocol/src/ast.ts'; +import type {Row} from '../../../zero-protocol/src/data.ts'; +import type {PrimaryKey} from '../../../zero-protocol/src/primary-key.ts'; +import type {SchemaValue} from '../../../zero-schema/src/table-schema.ts'; +import {Catch} from './catch.ts'; +import type {Node} from './data.ts'; +import {Exists} from './exists.ts'; +import {Join} from './join.ts'; +import {MemoryStorage} from './memory-storage.ts'; +import {Snitch, type SnitchMessage} from './snitch.ts'; +import {createSource} from './test/source-factory.ts'; const base = { columns: [ diff --git a/packages/zql/src/ivm/exists.push.test.ts b/packages/zql/src/ivm/exists.push.test.ts index b6ad13a6f7..f14adc5593 100644 --- a/packages/zql/src/ivm/exists.push.test.ts +++ b/packages/zql/src/ivm/exists.push.test.ts @@ -1,14 +1,14 @@ import {expect, suite, test} from 'vitest'; -import {Exists} from './exists.js'; -import type {Input, Storage} from './operator.js'; +import {Exists} from './exists.ts'; +import type {Input, Storage} from './operator.ts'; +import {Take} from './take.ts'; import { runJoinTest, type Joins, type SourceContents, type Sources, -} from './test/join-push-tests.js'; -import type {Format} from './view.js'; -import {Take} from './take.js'; +} from './test/join-push-tests.ts'; +import type {Format} from './view.ts'; const sources: Sources = { issue: { diff --git a/packages/zql/src/ivm/exists.ts b/packages/zql/src/ivm/exists.ts index 144e725710..fbaaf1b844 100644 --- a/packages/zql/src/ivm/exists.ts +++ b/packages/zql/src/ivm/exists.ts @@ -1,10 +1,10 @@ -import {areEqual} from '../../../shared/src/arrays.js'; -import {assert, unreachable} from '../../../shared/src/asserts.js'; -import {must} from '../../../shared/src/must.js'; -import type {CompoundKey} from '../../../zero-protocol/src/ast.js'; -import type {Row} from '../../../zero-protocol/src/data.js'; -import {rowForChange, type Change} from './change.js'; -import {normalizeUndefined, type NormalizedValue} from './data.js'; +import {areEqual} from '../../../shared/src/arrays.ts'; +import {assert, unreachable} from '../../../shared/src/asserts.ts'; +import {must} from '../../../shared/src/must.ts'; +import type {CompoundKey} from '../../../zero-protocol/src/ast.ts'; +import type {Row} from '../../../zero-protocol/src/data.ts'; +import {rowForChange, type Change} from './change.ts'; +import {normalizeUndefined, type NormalizedValue} from './data.ts'; import { throwOutput, type FetchRequest, @@ -12,9 +12,9 @@ import { type Operator, type Output, type Storage, -} from './operator.js'; -import type {SourceSchema} from './schema.js'; -import {first} from './stream.js'; +} from './operator.ts'; +import type {SourceSchema} from './schema.ts'; +import {first} from './stream.ts'; type SizeStorageKey = `row/${string}/${string}`; type CacheStorageKey = `row/${string}`; diff --git a/packages/zql/src/ivm/fan-in.ts b/packages/zql/src/ivm/fan-in.ts index 9fe0eff7f6..7d0bc9833a 100644 --- a/packages/zql/src/ivm/fan-in.ts +++ b/packages/zql/src/ivm/fan-in.ts @@ -1,18 +1,18 @@ -import {assert} from '../../../shared/src/asserts.js'; -import {mergeIterables} from '../../../shared/src/iterables.js'; -import {must} from '../../../shared/src/must.js'; -import type {Change} from './change.js'; -import type {Node} from './data.js'; -import type {FanOut} from './fan-out.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import {mergeIterables} from '../../../shared/src/iterables.ts'; +import {must} from '../../../shared/src/must.ts'; +import type {Change} from './change.ts'; +import type {Node} from './data.ts'; +import type {FanOut} from './fan-out.ts'; import { throwOutput, type FetchRequest, type Input, type Operator, type Output, -} from './operator.js'; -import type {SourceSchema} from './schema.js'; -import type {Stream} from './stream.js'; +} from './operator.ts'; +import type {SourceSchema} from './schema.ts'; +import type {Stream} from './stream.ts'; /** * The FanIn operator merges multiple streams into one. diff --git a/packages/zql/src/ivm/fan-out-fan-in.test.ts b/packages/zql/src/ivm/fan-out-fan-in.test.ts index 9052bbd9d4..cab213022d 100644 --- a/packages/zql/src/ivm/fan-out-fan-in.test.ts +++ b/packages/zql/src/ivm/fan-out-fan-in.test.ts @@ -1,9 +1,9 @@ import {expect, test, vi} from 'vitest'; -import {FanOut} from './fan-out.js'; -import {Catch} from './catch.js'; -import {Filter} from './filter.js'; -import {FanIn} from './fan-in.js'; -import {createSource} from './test/source-factory.js'; +import {Catch} from './catch.ts'; +import {FanIn} from './fan-in.ts'; +import {FanOut} from './fan-out.ts'; +import {Filter} from './filter.ts'; +import {createSource} from './test/source-factory.ts'; test('fan-out pushes along all paths', () => { const s = createSource('table', {a: {type: 'number'}, b: {type: 'string'}}, [ diff --git a/packages/zql/src/ivm/fan-out.ts b/packages/zql/src/ivm/fan-out.ts index fb48dd2ad3..ef1152a30c 100644 --- a/packages/zql/src/ivm/fan-out.ts +++ b/packages/zql/src/ivm/fan-out.ts @@ -1,5 +1,5 @@ -import type {Change} from './change.js'; -import type {FetchRequest, Input, Operator, Output} from './operator.js'; +import type {Change} from './change.ts'; +import type {FetchRequest, Input, Operator, Output} from './operator.ts'; /** * Forks a stream into multiple streams. diff --git a/packages/zql/src/ivm/filter-push.ts b/packages/zql/src/ivm/filter-push.ts index 44ff032063..7b6b164b82 100644 --- a/packages/zql/src/ivm/filter-push.ts +++ b/packages/zql/src/ivm/filter-push.ts @@ -1,8 +1,8 @@ -import {unreachable} from '../../../shared/src/asserts.js'; -import type {Change} from './change.js'; -import {maybeSplitAndPushEditChange} from './maybe-split-and-push-edit-change.js'; -import type {Output} from './operator.js'; -import type {Row} from '../../../zero-protocol/src/data.js'; +import {unreachable} from '../../../shared/src/asserts.ts'; +import type {Row} from '../../../zero-protocol/src/data.ts'; +import type {Change} from './change.ts'; +import {maybeSplitAndPushEditChange} from './maybe-split-and-push-edit-change.ts'; +import type {Output} from './operator.ts'; export function filterPush( change: Change, diff --git a/packages/zql/src/ivm/filter.test.ts b/packages/zql/src/ivm/filter.test.ts index 51dbd47c0e..420152883f 100644 --- a/packages/zql/src/ivm/filter.test.ts +++ b/packages/zql/src/ivm/filter.test.ts @@ -1,7 +1,7 @@ import {expect, test} from 'vitest'; -import {Catch} from './catch.js'; -import {Filter} from './filter.js'; -import {createSource} from './test/source-factory.js'; +import {Catch} from './catch.ts'; +import {Filter} from './filter.ts'; +import {createSource} from './test/source-factory.ts'; test('basics', () => { const ms = createSource('table', {a: {type: 'number'}, b: {type: 'string'}}, [ diff --git a/packages/zql/src/ivm/filter.ts b/packages/zql/src/ivm/filter.ts index a5b76af877..755fb38397 100644 --- a/packages/zql/src/ivm/filter.ts +++ b/packages/zql/src/ivm/filter.ts @@ -1,16 +1,16 @@ -import type {Row} from '../../../zero-protocol/src/data.js'; -import type {Change} from './change.js'; -import type {Node} from './data.js'; -import {filterPush} from './filter-push.js'; +import type {Row} from '../../../zero-protocol/src/data.ts'; +import type {Change} from './change.ts'; +import type {Node} from './data.ts'; +import {filterPush} from './filter-push.ts'; import { throwOutput, type FetchRequest, type Input, type Operator, type Output, -} from './operator.js'; -import type {SourceSchema} from './schema.js'; -import type {Stream} from './stream.js'; +} from './operator.ts'; +import type {SourceSchema} from './schema.ts'; +import type {Stream} from './stream.ts'; /** * The Filter operator filters data through a predicate. It is stateless. diff --git a/packages/zql/src/ivm/join.fetch.test.ts b/packages/zql/src/ivm/join.fetch.test.ts index aee96941be..36ba67ce3d 100644 --- a/packages/zql/src/ivm/join.fetch.test.ts +++ b/packages/zql/src/ivm/join.fetch.test.ts @@ -1,18 +1,18 @@ import {expect, suite, test} from 'vitest'; -import {assert} from '../../../shared/src/asserts.js'; -import type {JSONValue} from '../../../shared/src/json.js'; -import type {CompoundKey, Ordering} from '../../../zero-protocol/src/ast.js'; -import type {Row} from '../../../zero-protocol/src/data.js'; -import type {PrimaryKey} from '../../../zero-protocol/src/primary-key.js'; -import type {SchemaValue} from '../../../zero-schema/src/table-schema.js'; -import {Catch} from './catch.js'; -import {SetOfConstraint} from './constraint.js'; -import type {Node} from './data.js'; -import {Join, makeStorageKey, makeStorageKeyPrefix} from './join.js'; -import {MemoryStorage} from './memory-storage.js'; -import type {SourceSchema} from './schema.js'; -import {Snitch, type SnitchMessage} from './snitch.js'; -import {createSource} from './test/source-factory.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import type {JSONValue} from '../../../shared/src/json.ts'; +import type {CompoundKey, Ordering} from '../../../zero-protocol/src/ast.ts'; +import type {Row} from '../../../zero-protocol/src/data.ts'; +import type {PrimaryKey} from '../../../zero-protocol/src/primary-key.ts'; +import type {SchemaValue} from '../../../zero-schema/src/table-schema.ts'; +import {Catch} from './catch.ts'; +import {SetOfConstraint} from './constraint.ts'; +import type {Node} from './data.ts'; +import {Join, makeStorageKey, makeStorageKeyPrefix} from './join.ts'; +import {MemoryStorage} from './memory-storage.ts'; +import type {SourceSchema} from './schema.ts'; +import {Snitch, type SnitchMessage} from './snitch.ts'; +import {createSource} from './test/source-factory.ts'; suite('fetch one:many', () => { const base = { diff --git a/packages/zql/src/ivm/join.push.test.ts b/packages/zql/src/ivm/join.push.test.ts index c8478a6540..3266805c5d 100644 --- a/packages/zql/src/ivm/join.push.test.ts +++ b/packages/zql/src/ivm/join.push.test.ts @@ -4,8 +4,8 @@ import { type Joins, type SourceContents, type Sources, -} from './test/join-push-tests.js'; -import type {Format} from './view.js'; +} from './test/join-push-tests.ts'; +import type {Format} from './view.ts'; suite('push one:many', () => { const sources: Sources = { diff --git a/packages/zql/src/ivm/join.sibling.test.ts b/packages/zql/src/ivm/join.sibling.test.ts index ddf2028f65..2fa9455228 100644 --- a/packages/zql/src/ivm/join.sibling.test.ts +++ b/packages/zql/src/ivm/join.sibling.test.ts @@ -1,17 +1,17 @@ import {expect, suite, test} from 'vitest'; -import {assert} from '../../../shared/src/asserts.js'; -import type {JSONValue} from '../../../shared/src/json.js'; -import type {CompoundKey, Ordering} from '../../../zero-protocol/src/ast.js'; -import type {Row} from '../../../zero-protocol/src/data.js'; -import type {PrimaryKey} from '../../../zero-protocol/src/primary-key.js'; -import type {SchemaValue} from '../../../zero-schema/src/table-schema.js'; -import {Catch, type CaughtChange} from './catch.js'; -import {Join} from './join.js'; -import {MemoryStorage} from './memory-storage.js'; -import type {Input} from './operator.js'; -import {Snitch, type SnitchMessage} from './snitch.js'; -import type {SourceChange} from './source.js'; -import {createSource} from './test/source-factory.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import type {JSONValue} from '../../../shared/src/json.ts'; +import type {CompoundKey, Ordering} from '../../../zero-protocol/src/ast.ts'; +import type {Row} from '../../../zero-protocol/src/data.ts'; +import type {PrimaryKey} from '../../../zero-protocol/src/primary-key.ts'; +import type {SchemaValue} from '../../../zero-schema/src/table-schema.ts'; +import {Catch, type CaughtChange} from './catch.ts'; +import {Join} from './join.ts'; +import {MemoryStorage} from './memory-storage.ts'; +import type {Input} from './operator.ts'; +import {Snitch, type SnitchMessage} from './snitch.ts'; +import type {SourceChange} from './source.ts'; +import {createSource} from './test/source-factory.ts'; suite('sibling relationships tests with issues, comments, and owners', () => { const base = { diff --git a/packages/zql/src/ivm/join.ts b/packages/zql/src/ivm/join.ts index f92107b2c1..49a92d1da8 100644 --- a/packages/zql/src/ivm/join.ts +++ b/packages/zql/src/ivm/join.ts @@ -1,18 +1,18 @@ -import {assert, unreachable} from '../../../shared/src/asserts.js'; -import type {CompoundKey, System} from '../../../zero-protocol/src/ast.js'; -import type {Row, Value} from '../../../zero-protocol/src/data.js'; -import type {PrimaryKey} from '../../../zero-protocol/src/primary-key.js'; -import type {Change, ChildChange} from './change.js'; -import {valuesEqual, type Node} from './data.js'; +import {assert, unreachable} from '../../../shared/src/asserts.ts'; +import type {CompoundKey, System} from '../../../zero-protocol/src/ast.ts'; +import type {Row, Value} from '../../../zero-protocol/src/data.ts'; +import type {PrimaryKey} from '../../../zero-protocol/src/primary-key.ts'; +import type {Change, ChildChange} from './change.ts'; +import {valuesEqual, type Node} from './data.ts'; import { throwOutput, type FetchRequest, type Input, type Output, type Storage, -} from './operator.js'; -import type {SourceSchema} from './schema.js'; -import {take, type Stream} from './stream.js'; +} from './operator.ts'; +import type {SourceSchema} from './schema.ts'; +import {take, type Stream} from './stream.ts'; type Args = { parent: Input; diff --git a/packages/zql/src/ivm/maybe-split-and-push-edit-change.ts b/packages/zql/src/ivm/maybe-split-and-push-edit-change.ts index be7bd43e34..20a93f84b1 100644 --- a/packages/zql/src/ivm/maybe-split-and-push-edit-change.ts +++ b/packages/zql/src/ivm/maybe-split-and-push-edit-change.ts @@ -1,6 +1,6 @@ -import type {Row} from '../../../zero-protocol/src/data.js'; -import type {EditChange} from './change.js'; -import type {Output} from './operator.js'; +import type {Row} from '../../../zero-protocol/src/data.ts'; +import type {EditChange} from './change.ts'; +import type {Output} from './operator.ts'; /** * This takes an {@linkcode EditChange} and a predicate that determines if a row diff --git a/packages/zql/src/ivm/memory-source.test.ts b/packages/zql/src/ivm/memory-source.test.ts index ea44cd1e3b..44b3b16821 100644 --- a/packages/zql/src/ivm/memory-source.test.ts +++ b/packages/zql/src/ivm/memory-source.test.ts @@ -1,16 +1,16 @@ import {describe, expect, test} from 'vitest'; -import type {Ordering} from '../../../zero-protocol/src/ast.js'; -import type {Row} from '../../../zero-protocol/src/data.js'; -import {Catch} from './catch.js'; -import type {Change} from './change.js'; -import {compareRowsTest} from './data.test.js'; +import type {Ordering} from '../../../zero-protocol/src/ast.ts'; +import type {Row} from '../../../zero-protocol/src/data.ts'; +import {Catch} from './catch.ts'; +import type {Change} from './change.ts'; +import {compareRowsTest} from './data.test.ts'; import { generateWithOverlayInner, MemorySource, overlaysForConstraintForTest, overlaysForStartAtForTest, -} from './memory-source.js'; -import {createSource} from './test/source-factory.js'; +} from './memory-source.ts'; +import {createSource} from './test/source-factory.ts'; test('schema', () => { compareRowsTest((order: Ordering) => { diff --git a/packages/zql/src/ivm/memory-source.ts b/packages/zql/src/ivm/memory-source.ts index b8d896b38d..6ff5ac84a4 100644 --- a/packages/zql/src/ivm/memory-source.ts +++ b/packages/zql/src/ivm/memory-source.ts @@ -1,41 +1,41 @@ -import {assert, unreachable} from '../../../shared/src/asserts.js'; -import {BTreeSet} from '../../../shared/src/btree-set.js'; -import {hasOwn} from '../../../shared/src/has-own.js'; +import {assert, unreachable} from '../../../shared/src/asserts.ts'; +import {BTreeSet} from '../../../shared/src/btree-set.ts'; +import {hasOwn} from '../../../shared/src/has-own.ts'; import type { Condition, Ordering, OrderPart, -} from '../../../zero-protocol/src/ast.js'; -import type {Row, Value} from '../../../zero-protocol/src/data.js'; -import type {PrimaryKey} from '../../../zero-protocol/src/primary-key.js'; -import type {SchemaValue} from '../../../zero-schema/src/table-schema.js'; -import {assertOrderingIncludesPK} from '../builder/builder.js'; +} from '../../../zero-protocol/src/ast.ts'; +import type {Row, Value} from '../../../zero-protocol/src/data.ts'; +import type {PrimaryKey} from '../../../zero-protocol/src/primary-key.ts'; +import type {SchemaValue} from '../../../zero-schema/src/table-schema.ts'; +import {assertOrderingIncludesPK} from '../builder/builder.ts'; import { createPredicate, transformFilters, type NoSubqueryCondition, -} from '../builder/filter.js'; +} from '../builder/filter.ts'; import { constraintMatchesPrimaryKey, constraintMatchesRow, type Constraint, -} from './constraint.js'; +} from './constraint.ts'; import { compareValues, makeComparator, type Comparator, type Node, -} from './data.js'; -import {filterPush} from './filter-push.js'; +} from './data.ts'; +import {filterPush} from './filter-push.ts'; import { type FetchRequest, type Input, type Output, type Start, -} from './operator.js'; -import type {SourceSchema} from './schema.js'; -import type {Source, SourceChange, SourceInput} from './source.js'; -import type {Stream} from './stream.js'; +} from './operator.ts'; +import type {SourceSchema} from './schema.ts'; +import type {Source, SourceChange, SourceInput} from './source.ts'; +import type {Stream} from './stream.ts'; export type Overlay = { outputIndex: number; diff --git a/packages/zql/src/ivm/memory-storage.test.ts b/packages/zql/src/ivm/memory-storage.test.ts index 56776c00ec..7b40701a0c 100644 --- a/packages/zql/src/ivm/memory-storage.test.ts +++ b/packages/zql/src/ivm/memory-storage.test.ts @@ -1,5 +1,5 @@ import {expect, test} from 'vitest'; -import {MemoryStorage} from './memory-storage.js'; +import {MemoryStorage} from './memory-storage.ts'; test('basics', () => { const ms = new MemoryStorage(); diff --git a/packages/zql/src/ivm/memory-storage.ts b/packages/zql/src/ivm/memory-storage.ts index 83c47a0a1d..353ad4ea11 100644 --- a/packages/zql/src/ivm/memory-storage.ts +++ b/packages/zql/src/ivm/memory-storage.ts @@ -1,8 +1,8 @@ import {compareUTF8} from 'compare-utf8'; -import {BTreeSet} from '../../../shared/src/btree-set.js'; -import type {JSONValue} from '../../../shared/src/json.js'; -import type {Storage} from './operator.js'; -import type {Stream} from './stream.js'; +import {BTreeSet} from '../../../shared/src/btree-set.ts'; +import type {JSONValue} from '../../../shared/src/json.ts'; +import type {Storage} from './operator.ts'; +import type {Stream} from './stream.ts'; type Entry = [key: string, value: JSONValue]; diff --git a/packages/zql/src/ivm/operator.ts b/packages/zql/src/ivm/operator.ts index d4d9d569d0..3e23e6b58a 100644 --- a/packages/zql/src/ivm/operator.ts +++ b/packages/zql/src/ivm/operator.ts @@ -1,10 +1,10 @@ -import type {JSONValue} from '../../../shared/src/json.js'; -import type {Row} from '../../../zero-protocol/src/data.js'; -import type {Change} from './change.js'; -import type {Constraint} from './constraint.js'; -import {type Node} from './data.js'; -import type {SourceSchema} from './schema.js'; -import type {Stream} from './stream.js'; +import type {JSONValue} from '../../../shared/src/json.ts'; +import type {Row} from '../../../zero-protocol/src/data.ts'; +import type {Change} from './change.ts'; +import type {Constraint} from './constraint.ts'; +import {type Node} from './data.ts'; +import type {SourceSchema} from './schema.ts'; +import type {Stream} from './stream.ts'; /** * Input to an operator. diff --git a/packages/zql/src/ivm/schema.ts b/packages/zql/src/ivm/schema.ts index f0dff2a694..bde3cb031f 100644 --- a/packages/zql/src/ivm/schema.ts +++ b/packages/zql/src/ivm/schema.ts @@ -1,7 +1,7 @@ -import type {Ordering, System} from '../../../zero-protocol/src/ast.js'; -import type {Row} from '../../../zero-protocol/src/data.js'; -import type {PrimaryKey} from '../../../zero-protocol/src/primary-key.js'; -import type {SchemaValue} from '../../../zero-schema/src/table-schema.js'; +import type {Ordering, System} from '../../../zero-protocol/src/ast.ts'; +import type {Row} from '../../../zero-protocol/src/data.ts'; +import type {PrimaryKey} from '../../../zero-protocol/src/primary-key.ts'; +import type {SchemaValue} from '../../../zero-schema/src/table-schema.ts'; /** * Information about the nodes output by an operator. diff --git a/packages/zql/src/ivm/skip.test.ts b/packages/zql/src/ivm/skip.test.ts index 8171b9881d..dc5213f095 100644 --- a/packages/zql/src/ivm/skip.test.ts +++ b/packages/zql/src/ivm/skip.test.ts @@ -1,9 +1,9 @@ import {expect, suite, test} from 'vitest'; -import {Catch} from './catch.js'; -import {type Bound, Skip} from './skip.js'; -import type {SourceChange} from './source.js'; -import {createSource} from './test/source-factory.js'; -import type {FetchRequest} from './operator.js'; +import {Catch} from './catch.ts'; +import type {FetchRequest} from './operator.ts'; +import {type Bound, Skip} from './skip.ts'; +import type {SourceChange} from './source.ts'; +import {createSource} from './test/source-factory.ts'; suite('fetch', () => { function t(c: {skipBound: Bound; fetchRequest: FetchRequest}) { diff --git a/packages/zql/src/ivm/skip.ts b/packages/zql/src/ivm/skip.ts index 304efc502d..65f15c4127 100644 --- a/packages/zql/src/ivm/skip.ts +++ b/packages/zql/src/ivm/skip.ts @@ -1,7 +1,7 @@ -import type {Row} from '../../../zero-protocol/src/data.js'; -import type {AddChange, Change, ChildChange, RemoveChange} from './change.js'; -import type {Comparator, Node} from './data.js'; -import {maybeSplitAndPushEditChange} from './maybe-split-and-push-edit-change.js'; +import type {Row} from '../../../zero-protocol/src/data.ts'; +import type {AddChange, Change, ChildChange, RemoveChange} from './change.ts'; +import type {Comparator, Node} from './data.ts'; +import {maybeSplitAndPushEditChange} from './maybe-split-and-push-edit-change.ts'; import { throwOutput, type FetchRequest, @@ -9,9 +9,9 @@ import { type Operator, type Output, type Start, -} from './operator.js'; -import type {SourceSchema} from './schema.js'; -import type {Stream} from './stream.js'; +} from './operator.ts'; +import type {SourceSchema} from './schema.ts'; +import type {Stream} from './stream.ts'; export type Bound = { row: Row; diff --git a/packages/zql/src/ivm/snitch.ts b/packages/zql/src/ivm/snitch.ts index dcdbeee640..c6644788a2 100644 --- a/packages/zql/src/ivm/snitch.ts +++ b/packages/zql/src/ivm/snitch.ts @@ -1,15 +1,15 @@ -import {unreachable} from '../../../shared/src/asserts.js'; -import type {Row} from '../../../zero-protocol/src/data.js'; -import type {Change} from './change.js'; -import type {Node} from './data.js'; +import {unreachable} from '../../../shared/src/asserts.ts'; +import type {Row} from '../../../zero-protocol/src/data.ts'; +import type {Change} from './change.ts'; +import type {Node} from './data.ts'; import { type FetchRequest, type Input, type Operator, type Output, -} from './operator.js'; -import type {SourceSchema} from './schema.js'; -import type {Stream} from './stream.js'; +} from './operator.ts'; +import type {SourceSchema} from './schema.ts'; +import type {Stream} from './stream.ts'; /** * Snitch is an Operator that records all messages it receives. Useful for diff --git a/packages/zql/src/ivm/source.test.ts b/packages/zql/src/ivm/source.test.ts index 3fabd00101..15b687c597 100644 --- a/packages/zql/src/ivm/source.test.ts +++ b/packages/zql/src/ivm/source.test.ts @@ -2,15 +2,15 @@ import {expect, suite, test} from 'vitest'; import type { Condition, SimpleOperator, -} from '../../../zero-protocol/src/ast.js'; -import type {Row} from '../../../zero-protocol/src/data.js'; -import type {SchemaValue} from '../../../zero-schema/src/table-schema.js'; -import {Catch, expandNode} from './catch.js'; -import type {Constraint} from './constraint.js'; -import type {Node} from './data.js'; -import type {FetchRequest, Input, Output, Start} from './operator.js'; -import type {SourceChange} from './source.js'; -import {createSource} from './test/source-factory.js'; +} from '../../../zero-protocol/src/ast.ts'; +import type {Row} from '../../../zero-protocol/src/data.ts'; +import type {SchemaValue} from '../../../zero-schema/src/table-schema.ts'; +import {Catch, expandNode} from './catch.ts'; +import type {Constraint} from './constraint.ts'; +import type {Node} from './data.ts'; +import type {FetchRequest, Input, Output, Start} from './operator.ts'; +import type {SourceChange} from './source.ts'; +import {createSource} from './test/source-factory.ts'; function asNodes(rows: Row[]) { return rows.map(row => ({ diff --git a/packages/zql/src/ivm/source.ts b/packages/zql/src/ivm/source.ts index 471d8f62d0..689caef385 100644 --- a/packages/zql/src/ivm/source.ts +++ b/packages/zql/src/ivm/source.ts @@ -1,6 +1,6 @@ -import type {Condition, Ordering} from '../../../zero-protocol/src/ast.js'; -import type {Row} from '../../../zero-protocol/src/data.js'; -import type {Input} from './operator.js'; +import type {Condition, Ordering} from '../../../zero-protocol/src/ast.ts'; +import type {Row} from '../../../zero-protocol/src/data.ts'; +import type {Input} from './operator.ts'; export type SourceChangeAdd = { type: 'add'; diff --git a/packages/zql/src/ivm/stream.test.ts b/packages/zql/src/ivm/stream.test.ts index 370370584d..08dff124b5 100644 --- a/packages/zql/src/ivm/stream.test.ts +++ b/packages/zql/src/ivm/stream.test.ts @@ -1,5 +1,5 @@ import {describe, expect, test} from 'vitest'; -import {first, type Stream, take} from './stream.js'; +import {first, type Stream, take} from './stream.ts'; describe('take', () => { test('take the first n elements from the stream', () => { diff --git a/packages/zql/src/ivm/take.fetch.test.ts b/packages/zql/src/ivm/take.fetch.test.ts index e588fd19cd..c1e05c1e25 100644 --- a/packages/zql/src/ivm/take.fetch.test.ts +++ b/packages/zql/src/ivm/take.fetch.test.ts @@ -1,18 +1,18 @@ import {expect, suite, test} from 'vitest'; -import {assert} from '../../../shared/src/asserts.js'; -import type {JSONValue} from '../../../shared/src/json.js'; -import type {Ordering} from '../../../zero-protocol/src/ast.js'; -import type {Row, Value} from '../../../zero-protocol/src/data.js'; -import type {PrimaryKey} from '../../../zero-protocol/src/primary-key.js'; -import type {SchemaValue} from '../../../zero-schema/src/table-schema.js'; -import {Catch} from './catch.js'; -import type {Node} from './data.js'; -import {MemoryStorage} from './memory-storage.js'; -import {Snitch, type SnitchMessage} from './snitch.js'; -import {Take, type PartitionKey} from './take.js'; -import {createSource} from './test/source-factory.js'; -import type {FetchRequest} from './operator.js'; -import type {Stream} from './stream.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import type {JSONValue} from '../../../shared/src/json.ts'; +import type {Ordering} from '../../../zero-protocol/src/ast.ts'; +import type {Row, Value} from '../../../zero-protocol/src/data.ts'; +import type {PrimaryKey} from '../../../zero-protocol/src/primary-key.ts'; +import type {SchemaValue} from '../../../zero-schema/src/table-schema.ts'; +import {Catch} from './catch.ts'; +import type {Node} from './data.ts'; +import {MemoryStorage} from './memory-storage.ts'; +import type {FetchRequest} from './operator.ts'; +import {Snitch, type SnitchMessage} from './snitch.ts'; +import type {Stream} from './stream.ts'; +import {Take, type PartitionKey} from './take.ts'; +import {createSource} from './test/source-factory.ts'; suite('take with no partition', () => { const base = { diff --git a/packages/zql/src/ivm/take.push-child.test.ts b/packages/zql/src/ivm/take.push-child.test.ts index df964b71c3..8bfc2995b1 100644 --- a/packages/zql/src/ivm/take.push-child.test.ts +++ b/packages/zql/src/ivm/take.push-child.test.ts @@ -1,13 +1,13 @@ import {expect, test} from 'vitest'; -import type {Input, Storage} from './operator.js'; -import {Take} from './take.js'; +import type {Input, Storage} from './operator.ts'; +import {Take} from './take.ts'; import { runJoinTest, type Joins, type SourceContents, type Sources, -} from './test/join-push-tests.js'; -import type {Format} from './view.js'; +} from './test/join-push-tests.ts'; +import type {Format} from './view.ts'; const sources: Sources = { issue: { diff --git a/packages/zql/src/ivm/take.push.test.ts b/packages/zql/src/ivm/take.push.test.ts index 6e503285fd..cb2207c595 100644 --- a/packages/zql/src/ivm/take.push.test.ts +++ b/packages/zql/src/ivm/take.push.test.ts @@ -1,16 +1,16 @@ import {describe, expect, suite, test} from 'vitest'; -import {assert} from '../../../shared/src/asserts.js'; -import type {JSONValue} from '../../../shared/src/json.js'; -import type {Ordering} from '../../../zero-protocol/src/ast.js'; -import type {Row, Value} from '../../../zero-protocol/src/data.js'; -import type {PrimaryKey} from '../../../zero-protocol/src/primary-key.js'; -import type {SchemaValue} from '../../../zero-schema/src/table-schema.js'; -import {Catch, type CaughtChange} from './catch.js'; -import {MemoryStorage} from './memory-storage.js'; -import {Snitch, type SnitchMessage} from './snitch.js'; -import type {SourceChange} from './source.js'; -import {Take, type PartitionKey} from './take.js'; -import {createSource} from './test/source-factory.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import type {JSONValue} from '../../../shared/src/json.ts'; +import type {Ordering} from '../../../zero-protocol/src/ast.ts'; +import type {Row, Value} from '../../../zero-protocol/src/data.ts'; +import type {PrimaryKey} from '../../../zero-protocol/src/primary-key.ts'; +import type {SchemaValue} from '../../../zero-schema/src/table-schema.ts'; +import {Catch, type CaughtChange} from './catch.ts'; +import {MemoryStorage} from './memory-storage.ts'; +import {Snitch, type SnitchMessage} from './snitch.ts'; +import type {SourceChange} from './source.ts'; +import {Take, type PartitionKey} from './take.ts'; +import {createSource} from './test/source-factory.ts'; suite('take with no partition', () => { const base = { diff --git a/packages/zql/src/ivm/take.ts b/packages/zql/src/ivm/take.ts index d83604baf5..87d27cbe87 100644 --- a/packages/zql/src/ivm/take.ts +++ b/packages/zql/src/ivm/take.ts @@ -1,17 +1,17 @@ -import {assert, unreachable} from '../../../shared/src/asserts.js'; -import {hasOwn} from '../../../shared/src/has-own.js'; -import {must} from '../../../shared/src/must.js'; -import type {Row, Value} from '../../../zero-protocol/src/data.js'; -import type {PrimaryKey} from '../../../zero-protocol/src/primary-key.js'; -import {assertOrderingIncludesPK} from '../builder/builder.js'; +import {assert, unreachable} from '../../../shared/src/asserts.ts'; +import {hasOwn} from '../../../shared/src/has-own.ts'; +import {must} from '../../../shared/src/must.ts'; +import type {Row, Value} from '../../../zero-protocol/src/data.ts'; +import type {PrimaryKey} from '../../../zero-protocol/src/primary-key.ts'; +import {assertOrderingIncludesPK} from '../builder/builder.ts'; import { rowForChange, type Change, type EditChange, type RemoveChange, -} from './change.js'; -import type {Constraint} from './constraint.js'; -import {compareValues, type Comparator, type Node} from './data.js'; +} from './change.ts'; +import type {Constraint} from './constraint.ts'; +import {compareValues, type Comparator, type Node} from './data.ts'; import { throwOutput, type FetchRequest, @@ -19,9 +19,9 @@ import { type Operator, type Output, type Storage, -} from './operator.js'; -import type {SourceSchema} from './schema.js'; -import {first, take, type Stream} from './stream.js'; +} from './operator.ts'; +import type {SourceSchema} from './schema.ts'; +import {first, take, type Stream} from './stream.ts'; const MAX_BOUND_KEY = 'maxBound'; diff --git a/packages/zql/src/ivm/test/join-push-tests.ts b/packages/zql/src/ivm/test/join-push-tests.ts index aa71b30b2b..f00741818f 100644 --- a/packages/zql/src/ivm/test/join-push-tests.ts +++ b/packages/zql/src/ivm/test/join-push-tests.ts @@ -1,19 +1,19 @@ import {expect} from 'vitest'; -import type {JSONObject} from '../../../../shared/src/json.js'; -import {must} from '../../../../shared/src/must.js'; -import type {CompoundKey, Ordering} from '../../../../zero-protocol/src/ast.js'; -import type {Row} from '../../../../zero-protocol/src/data.js'; -import type {PrimaryKey} from '../../../../zero-protocol/src/primary-key.js'; -import type {SchemaValue} from '../../../../zero-schema/src/table-schema.js'; -import {ArrayView} from '../array-view.js'; -import {Catch} from '../catch.js'; -import {Join} from '../join.js'; -import {MemoryStorage} from '../memory-storage.js'; -import type {Input, Operator, Storage} from '../operator.js'; -import {Snitch, type SnitchMessage} from '../snitch.js'; -import type {Source, SourceChange} from '../source.js'; -import type {Format} from '../view.js'; -import {createSource} from './source-factory.js'; +import type {JSONObject} from '../../../../shared/src/json.ts'; +import {must} from '../../../../shared/src/must.ts'; +import type {CompoundKey, Ordering} from '../../../../zero-protocol/src/ast.ts'; +import type {Row} from '../../../../zero-protocol/src/data.ts'; +import type {PrimaryKey} from '../../../../zero-protocol/src/primary-key.ts'; +import type {SchemaValue} from '../../../../zero-schema/src/table-schema.ts'; +import {ArrayView} from '../array-view.ts'; +import {Catch} from '../catch.ts'; +import {Join} from '../join.ts'; +import {MemoryStorage} from '../memory-storage.ts'; +import type {Input, Operator, Storage} from '../operator.ts'; +import {Snitch, type SnitchMessage} from '../snitch.ts'; +import type {Source, SourceChange} from '../source.ts'; +import type {Format} from '../view.ts'; +import {createSource} from './source-factory.ts'; function makeSource( rows: readonly Row[], diff --git a/packages/zql/src/ivm/test/source-factory.ts b/packages/zql/src/ivm/test/source-factory.ts index 290f5c00f8..edafa20ab0 100644 --- a/packages/zql/src/ivm/test/source-factory.ts +++ b/packages/zql/src/ivm/test/source-factory.ts @@ -1,7 +1,7 @@ -import type {PrimaryKey} from '../../../../zero-protocol/src/primary-key.js'; -import type {SchemaValue} from '../../../../zero-schema/src/table-schema.js'; -import {MemorySource} from '../memory-source.js'; -import type {Source} from '../source.js'; +import type {PrimaryKey} from '../../../../zero-protocol/src/primary-key.ts'; +import type {SchemaValue} from '../../../../zero-schema/src/table-schema.ts'; +import {MemorySource} from '../memory-source.ts'; +import type {Source} from '../source.ts'; export type SourceFactory = ( tableName: string, diff --git a/packages/zql/src/ivm/view-apply-change.ts b/packages/zql/src/ivm/view-apply-change.ts index dfcab72371..1ac0657b67 100644 --- a/packages/zql/src/ivm/view-apply-change.ts +++ b/packages/zql/src/ivm/view-apply-change.ts @@ -4,13 +4,13 @@ import { assertObject, assertUndefined, unreachable, -} from '../../../shared/src/asserts.js'; -import {must} from '../../../shared/src/must.js'; -import type {Row} from '../../../zero-protocol/src/data.js'; -import type {Change} from './change.js'; -import type {Comparator, Node} from './data.js'; -import type {SourceSchema} from './schema.js'; -import type {Entry, EntryList, Format} from './view.js'; +} from '../../../shared/src/asserts.ts'; +import {must} from '../../../shared/src/must.ts'; +import type {Row} from '../../../zero-protocol/src/data.ts'; +import type {Change} from './change.ts'; +import type {Comparator, Node} from './data.ts'; +import type {SourceSchema} from './schema.ts'; +import type {Entry, EntryList, Format} from './view.ts'; export function applyChange( parentEntry: Entry, diff --git a/packages/zql/src/ivm/view.ts b/packages/zql/src/ivm/view.ts index 62b5581dd7..af43263f55 100644 --- a/packages/zql/src/ivm/view.ts +++ b/packages/zql/src/ivm/view.ts @@ -1,7 +1,7 @@ -import type {Value} from '../../../zero-protocol/src/data.js'; -import type {Schema} from '../../../zero-schema/src/builder/schema-builder.js'; -import type {Query} from '../query/query.js'; -import type {Input} from './operator.js'; +import type {Value} from '../../../zero-protocol/src/data.ts'; +import type {Schema} from '../../../zero-schema/src/builder/schema-builder.ts'; +import type {Query} from '../query/query.ts'; +import type {Input} from './operator.ts'; export type View = EntryList | Entry | undefined; export type EntryList = readonly Entry[]; diff --git a/packages/zql/src/query/auth-query.ts b/packages/zql/src/query/auth-query.ts index 26fb19240f..16bfc170d5 100644 --- a/packages/zql/src/query/auth-query.ts +++ b/packages/zql/src/query/auth-query.ts @@ -1,10 +1,10 @@ -import type {AST} from '../../../zero-protocol/src/ast.js'; -import type {Schema} from '../../../zero-schema/src/builder/schema-builder.js'; -import type {Format} from '../ivm/view.js'; -import {ExpressionBuilder} from './expression.js'; -import {AbstractQuery} from './query-impl.js'; -import type {HumanReadable, PullRow, Query} from './query.js'; -import type {TypedView} from './typed-view.js'; +import type {AST} from '../../../zero-protocol/src/ast.ts'; +import type {Schema} from '../../../zero-schema/src/builder/schema-builder.ts'; +import type {Format} from '../ivm/view.ts'; +import {ExpressionBuilder} from './expression.ts'; +import {AbstractQuery} from './query-impl.ts'; +import type {HumanReadable, PullRow, Query} from './query.ts'; +import type {TypedView} from './typed-view.ts'; export function authQuery< TSchema extends Schema, diff --git a/packages/zql/src/query/dnf.test.ts b/packages/zql/src/query/dnf.test.ts index 24e9c39018..8d153fe558 100644 --- a/packages/zql/src/query/dnf.test.ts +++ b/packages/zql/src/query/dnf.test.ts @@ -3,9 +3,9 @@ import { type Condition, type Conjunction, type Disjunction, -} from '../../../zero-protocol/src/ast.js'; -import {dnf, unwrap} from './dnf.js'; -import {parse, stringify} from './expression-test-util.js'; +} from '../../../zero-protocol/src/ast.ts'; +import {dnf, unwrap} from './dnf.ts'; +import {parse, stringify} from './expression-test-util.ts'; function simple(value: number | string): Condition { return { diff --git a/packages/zql/src/query/dnf.ts b/packages/zql/src/query/dnf.ts index 6999d5aacd..b44caa65b7 100644 --- a/packages/zql/src/query/dnf.ts +++ b/packages/zql/src/query/dnf.ts @@ -1,6 +1,6 @@ -import {unreachable} from '../../../shared/src/asserts.js'; -import type {Condition, Disjunction} from '../../../zero-protocol/src/ast.js'; -import {flatten, TRUE} from './expression.js'; +import {unreachable} from '../../../shared/src/asserts.ts'; +import type {Condition, Disjunction} from '../../../zero-protocol/src/ast.ts'; +import {flatten, TRUE} from './expression.ts'; /** * DNF (Disjunctive Normal Form) is a way to represent a boolean expression as a diff --git a/packages/zql/src/query/escape-like.test.ts b/packages/zql/src/query/escape-like.test.ts index 9dacb91e09..bfe0abad1d 100644 --- a/packages/zql/src/query/escape-like.test.ts +++ b/packages/zql/src/query/escape-like.test.ts @@ -1,5 +1,5 @@ import {expect, test} from 'vitest'; -import {escapeLike} from './escape-like.js'; +import {escapeLike} from './escape-like.ts'; test('basics', () => { const cases: { diff --git a/packages/zql/src/query/expression-parser.test.ts b/packages/zql/src/query/expression-parser.test.ts index d4766c59b3..9d2122a41b 100644 --- a/packages/zql/src/query/expression-parser.test.ts +++ b/packages/zql/src/query/expression-parser.test.ts @@ -1,5 +1,5 @@ import {expect, test} from 'vitest'; -import {parse, stringify} from './expression-test-util.js'; +import {parse, stringify} from './expression-test-util.ts'; test('parse', () => { expect(parse('A & B')).toMatchInlineSnapshot(` diff --git a/packages/zql/src/query/expression-test-util.ts b/packages/zql/src/query/expression-test-util.ts index 6b49a4bd92..fb71d58a21 100644 --- a/packages/zql/src/query/expression-test-util.ts +++ b/packages/zql/src/query/expression-test-util.ts @@ -3,7 +3,7 @@ import type { CorrelatedSubquery, SimpleOperator, ValuePosition, -} from '../../../zero-protocol/src/ast.js'; +} from '../../../zero-protocol/src/ast.ts'; // This was written by ChatGPT with some improvements. It is only used for tests diff --git a/packages/zql/src/query/expression.test.ts b/packages/zql/src/query/expression.test.ts index bb8bc1ceea..3d44c47e3d 100644 --- a/packages/zql/src/query/expression.test.ts +++ b/packages/zql/src/query/expression.test.ts @@ -1,13 +1,13 @@ import fc from 'fast-check'; import {describe, expect, test} from 'vitest'; -import {assert} from '../../../shared/src/asserts.js'; +import {assert} from '../../../shared/src/asserts.ts'; import { type Condition, type SimpleCondition, -} from '../../../zero-protocol/src/ast.js'; -import {dnf} from './dnf.js'; -import {parse, stringify} from './expression-test-util.js'; -import {and, not, or} from './expression.js'; +} from '../../../zero-protocol/src/ast.ts'; +import {dnf} from './dnf.ts'; +import {parse, stringify} from './expression-test-util.ts'; +import {and, not, or} from './expression.ts'; type TestCondition = | { diff --git a/packages/zql/src/query/expression.ts b/packages/zql/src/query/expression.ts index b01a2469a0..ba73ac30e4 100644 --- a/packages/zql/src/query/expression.ts +++ b/packages/zql/src/query/expression.ts @@ -1,21 +1,21 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ -import {must} from '../../../shared/src/must.js'; +import {must} from '../../../shared/src/must.ts'; import { toStaticParam, type Condition, type LiteralValue, type Parameter, -} from '../../../zero-protocol/src/ast.js'; -import type {Schema} from '../../../zero-schema/src/builder/schema-builder.js'; -import type {Operator} from './query.js'; +} from '../../../zero-protocol/src/ast.ts'; +import type {Schema} from '../../../zero-schema/src/builder/schema-builder.ts'; import type { AvailableRelationships, DestTableName, GetFilterType, NoJsonSelector, + Operator, PullTableSchema, Query, -} from './query.js'; +} from './query.ts'; export type ParameterReference = { [toStaticParam](): Parameter; diff --git a/packages/zql/src/query/query-impl.ast.test.ts b/packages/zql/src/query/query-impl.ast.test.ts index effa786d96..9a5a3cafa3 100644 --- a/packages/zql/src/query/query-impl.ast.test.ts +++ b/packages/zql/src/query/query-impl.ast.test.ts @@ -1,14 +1,14 @@ import {describe, expect, test} from 'vitest'; -import type {ExpressionFactory} from './expression.js'; +import type {Schema} from '../../../zero-schema/src/builder/schema-builder.ts'; +import type {ExpressionFactory} from './expression.ts'; import { astForTestingSymbol, newQuery, QueryImpl, type QueryDelegate, -} from './query-impl.js'; -import type {Query} from './query.js'; -import {schema} from './test/test-schemas.js'; -import type {Schema} from '../../../zero-schema/src/builder/schema-builder.js'; +} from './query-impl.ts'; +import type {Query} from './query.ts'; +import {schema} from './test/test-schemas.ts'; const mockDelegate = {} as QueryDelegate; diff --git a/packages/zql/src/query/query-impl.query-kitchen-sink.test.ts b/packages/zql/src/query/query-impl.query-kitchen-sink.test.ts index 2ee87f3a8c..8e0f64f0ce 100644 --- a/packages/zql/src/query/query-impl.query-kitchen-sink.test.ts +++ b/packages/zql/src/query/query-impl.query-kitchen-sink.test.ts @@ -1,8 +1,8 @@ import {describe, expect, test} from 'vitest'; -import {must} from '../../../shared/src/must.js'; -import {newQuery, type QueryDelegate} from './query-impl.js'; -import {QueryDelegateImpl} from './test/query-delegate.js'; -import {schema} from './test/test-schemas.js'; +import {must} from '../../../shared/src/must.ts'; +import {newQuery, type QueryDelegate} from './query-impl.ts'; +import {QueryDelegateImpl} from './test/query-delegate.ts'; +import {schema} from './test/test-schemas.ts'; function addData(queryDelegate: QueryDelegate) { const userSource = must(queryDelegate.getSource('user')); diff --git a/packages/zql/src/query/query-impl.query.test.ts b/packages/zql/src/query/query-impl.query.test.ts index c8fb4a6d3e..5381851a03 100644 --- a/packages/zql/src/query/query-impl.query.test.ts +++ b/packages/zql/src/query/query-impl.query.test.ts @@ -1,17 +1,17 @@ import {describe, expect, test} from 'vitest'; -import {deepClone} from '../../../shared/src/deep-clone.js'; -import {must} from '../../../shared/src/must.js'; -import {newQuery, type QueryDelegate, QueryImpl} from './query-impl.js'; -import type {AdvancedQuery} from './query-internal.js'; -import {QueryDelegateImpl} from './test/query-delegate.js'; -import {schema} from './test/test-schemas.js'; -import {number, table} from '../../../zero-schema/src/builder/table-builder.js'; -import {relationships} from '../../../zero-schema/src/builder/relationship-builder.js'; +import {deepClone} from '../../../shared/src/deep-clone.ts'; +import {must} from '../../../shared/src/must.ts'; +import {relationships} from '../../../zero-schema/src/builder/relationship-builder.ts'; import { createSchema, type Schema, -} from '../../../zero-schema/src/builder/schema-builder.js'; -import {createSource} from '../ivm/test/source-factory.js'; +} from '../../../zero-schema/src/builder/schema-builder.ts'; +import {number, table} from '../../../zero-schema/src/builder/table-builder.ts'; +import {createSource} from '../ivm/test/source-factory.ts'; +import {newQuery, type QueryDelegate, QueryImpl} from './query-impl.ts'; +import type {AdvancedQuery} from './query-internal.ts'; +import {QueryDelegateImpl} from './test/query-delegate.ts'; +import {schema} from './test/test-schemas.ts'; /** * Some basic manual tests to get us started. diff --git a/packages/zql/src/query/query-impl.ts b/packages/zql/src/query/query-impl.ts index ec8f80520b..361390f32b 100644 --- a/packages/zql/src/query/query-impl.ts +++ b/packages/zql/src/query/query-impl.ts @@ -1,9 +1,9 @@ /* eslint-disable @typescript-eslint/naming-convention */ /* eslint-disable @typescript-eslint/no-explicit-any */ import {resolver} from '@rocicorp/resolver'; -import {assert} from '../../../shared/src/asserts.js'; -import type {Writable} from '../../../shared/src/writable.js'; -import {hashOfAST} from '../../../zero-protocol/src/ast-hash.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import type {Writable} from '../../../shared/src/writable.ts'; +import {hashOfAST} from '../../../zero-protocol/src/ast-hash.ts'; import type { AST, CompoundKey, @@ -11,34 +11,34 @@ import type { Ordering, Parameter, System, -} from '../../../zero-protocol/src/ast.js'; -import type {Row as IVMRow} from '../../../zero-protocol/src/data.js'; +} from '../../../zero-protocol/src/ast.ts'; +import type {Row as IVMRow} from '../../../zero-protocol/src/data.ts'; +import type {Schema} from '../../../zero-schema/src/builder/schema-builder.ts'; import { isOneHop, isTwoHop, type TableSchema, -} from '../../../zero-schema/src/table-schema.js'; -import {buildPipeline, type BuilderDelegate} from '../builder/builder.js'; -import {ArrayView} from '../ivm/array-view.js'; -import type {Input} from '../ivm/operator.js'; -import type {Format, ViewFactory} from '../ivm/view.js'; -import {dnf} from './dnf.js'; +} from '../../../zero-schema/src/table-schema.ts'; +import {buildPipeline, type BuilderDelegate} from '../builder/builder.ts'; +import {ArrayView} from '../ivm/array-view.ts'; +import type {Input} from '../ivm/operator.ts'; +import type {Format, ViewFactory} from '../ivm/view.ts'; +import {dnf} from './dnf.ts'; import { and, cmp, ExpressionBuilder, type ExpressionFactory, -} from './expression.js'; -import type {AdvancedQuery} from './query-internal.js'; +} from './expression.ts'; +import type {AdvancedQuery} from './query-internal.ts'; import type { GetFilterType, HumanReadable, Operator, PullRow, Query, -} from './query.js'; -import type {TypedView} from './typed-view.js'; -import type {Schema} from '../../../zero-schema/src/builder/schema-builder.js'; +} from './query.ts'; +import type {TypedView} from './typed-view.ts'; type AnyQuery = Query; diff --git a/packages/zql/src/query/query-internal.ts b/packages/zql/src/query/query-internal.ts index 2088cb54d3..f8d78c0847 100644 --- a/packages/zql/src/query/query-internal.ts +++ b/packages/zql/src/query/query-internal.ts @@ -1,7 +1,7 @@ -import type {Schema} from '../../../zero-schema/src/builder/schema-builder.js'; -import type {Format, ViewFactory} from '../ivm/view.js'; -import type {HumanReadable, PullRow, Query} from './query.js'; -import type {TypedView} from './typed-view.js'; +import type {Schema} from '../../../zero-schema/src/builder/schema-builder.ts'; +import type {Format, ViewFactory} from '../ivm/view.ts'; +import type {HumanReadable, PullRow, Query} from './query.ts'; +import type {TypedView} from './typed-view.ts'; export interface AdvancedQuery< TSchema extends Schema, diff --git a/packages/zql/src/query/query.test.ts b/packages/zql/src/query/query.test.ts index d04662cb1e..6375d20a7f 100644 --- a/packages/zql/src/query/query.test.ts +++ b/packages/zql/src/query/query.test.ts @@ -1,15 +1,10 @@ /* eslint-disable @typescript-eslint/ban-types */ import {describe, expectTypeOf, test} from 'vitest'; -import type {ReadonlyJSONValue} from '../../../shared/src/json.js'; -import { - type Opaque, - type TableSchema, -} from '../../../zero-schema/src/table-schema.js'; -import type {ExpressionFactory} from './expression.js'; -import {staticParam} from './query-impl.js'; -import type {AdvancedQuery} from './query-internal.js'; -import {type Query, type Row} from './query.js'; -import {toStaticParam} from '../../../zero-protocol/src/ast.js'; +import type {ReadonlyJSONValue} from '../../../shared/src/json.ts'; +import {toStaticParam} from '../../../zero-protocol/src/ast.ts'; +import {relationships} from '../../../zero-schema/src/builder/relationship-builder.ts'; +import type {Schema as ZeroSchema} from '../../../zero-schema/src/builder/schema-builder.ts'; +import {createSchema} from '../../../zero-schema/src/builder/schema-builder.ts'; import { boolean, enumeration, @@ -17,10 +12,15 @@ import { number, string, table, -} from '../../../zero-schema/src/builder/table-builder.js'; -import {relationships} from '../../../zero-schema/src/builder/relationship-builder.js'; -import {createSchema} from '../../../zero-schema/src/builder/schema-builder.js'; -import type {Schema as ZeroSchema} from '../../../zero-schema/src/builder/schema-builder.js'; +} from '../../../zero-schema/src/builder/table-builder.ts'; +import { + type Opaque, + type TableSchema, +} from '../../../zero-schema/src/table-schema.ts'; +import type {ExpressionFactory} from './expression.ts'; +import {staticParam} from './query-impl.ts'; +import type {AdvancedQuery} from './query-internal.ts'; +import {type Query, type Row} from './query.ts'; const mockQuery = { select() { diff --git a/packages/zql/src/query/query.ts b/packages/zql/src/query/query.ts index 2e05c1fc34..f820ae0937 100644 --- a/packages/zql/src/query/query.ts +++ b/packages/zql/src/query/query.ts @@ -1,13 +1,13 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ -import type {Expand, ExpandRecursive} from '../../../shared/src/expand.js'; -import type {Schema as ZeroSchema} from '../../../zero-schema/src/builder/schema-builder.js'; +import type {Expand, ExpandRecursive} from '../../../shared/src/expand.ts'; +import type {Schema as ZeroSchema} from '../../../zero-schema/src/builder/schema-builder.ts'; import type { LastInTuple, SchemaValueToTSType, TableSchema, -} from '../../../zero-schema/src/table-schema.js'; -import type {ExpressionFactory, ParameterReference} from './expression.js'; -import type {TypedView} from './typed-view.js'; +} from '../../../zero-schema/src/table-schema.ts'; +import type {ExpressionFactory, ParameterReference} from './expression.ts'; +import type {TypedView} from './typed-view.ts'; type Selector = keyof E['columns']; export type NoJsonSelector = Exclude< diff --git a/packages/zql/src/query/test/query-delegate.ts b/packages/zql/src/query/test/query-delegate.ts index dc8a1b4d9b..6f74f0457d 100644 --- a/packages/zql/src/query/test/query-delegate.ts +++ b/packages/zql/src/query/test/query-delegate.ts @@ -1,12 +1,12 @@ -import type {AST} from '../../../../zero-protocol/src/ast.js'; -import {MemoryStorage} from '../../ivm/memory-storage.js'; -import {createSource} from '../../ivm/test/source-factory.js'; -import type {Source} from '../../ivm/source.js'; +import type {AST} from '../../../../zero-protocol/src/ast.ts'; +import {MemoryStorage} from '../../ivm/memory-storage.ts'; +import type {Source} from '../../ivm/source.ts'; +import {createSource} from '../../ivm/test/source-factory.ts'; import type { CommitListener, GotCallback, QueryDelegate, -} from '../query-impl.js'; +} from '../query-impl.ts'; import { commentSchema, issueLabelSchema, @@ -14,7 +14,7 @@ import { labelSchema, revisionSchema, userSchema, -} from './test-schemas.js'; +} from './test-schemas.ts'; export class QueryDelegateImpl implements QueryDelegate { readonly #sources: Record = makeSources(); diff --git a/packages/zql/src/query/test/test-schemas.ts b/packages/zql/src/query/test/test-schemas.ts index 4fc1d7d921..b592dff4d6 100644 --- a/packages/zql/src/query/test/test-schemas.ts +++ b/packages/zql/src/query/test/test-schemas.ts @@ -1,12 +1,12 @@ +import {relationships} from '../../../../zero-schema/src/builder/relationship-builder.ts'; +import {createSchema} from '../../../../zero-schema/src/builder/schema-builder.ts'; import { boolean, json, number, string, table, -} from '../../../../zero-schema/src/builder/table-builder.js'; -import {relationships} from '../../../../zero-schema/src/builder/relationship-builder.js'; -import {createSchema} from '../../../../zero-schema/src/builder/schema-builder.js'; +} from '../../../../zero-schema/src/builder/table-builder.ts'; const issue = table('issue') .columns({ diff --git a/packages/zql/src/query/typed-view.ts b/packages/zql/src/query/typed-view.ts index 331c81d9cd..9b6bd439fe 100644 --- a/packages/zql/src/query/typed-view.ts +++ b/packages/zql/src/query/typed-view.ts @@ -1,4 +1,4 @@ -import type {Immutable} from '../../../shared/src/immutable.js'; +import type {Immutable} from '../../../shared/src/immutable.ts'; export type ResultType = 'unknown' | 'complete'; diff --git a/packages/zql/tool/build.js b/packages/zql/tool/build.js index 98decafa58..a45cd04073 100644 --- a/packages/zql/tool/build.js +++ b/packages/zql/tool/build.js @@ -4,8 +4,8 @@ import * as esbuild from 'esbuild'; import * as fs from 'node:fs'; import * as path from 'node:path'; import {fileURLToPath} from 'node:url'; -import {makeDefine, sharedOptions} from '../../shared/src/build.js'; -import {getExternalFromPackageJSON} from '../../shared/src/tool/get-external-from-package-json.js'; +import {makeDefine, sharedOptions} from '../../shared/src/build.ts'; +import {getExternalFromPackageJSON} from '../../shared/src/tool/get-external-from-package-json.ts'; /** @param {string[]} parts */ function basePath(...parts) { diff --git a/packages/zql/vitest.config.ts b/packages/zql/vitest.config.ts index e6fbbb7abe..88d28f5fca 100644 --- a/packages/zql/vitest.config.ts +++ b/packages/zql/vitest.config.ts @@ -1,5 +1,5 @@ import {defineConfig, mergeConfig} from 'vitest/config'; -import config from '../shared/src/tool/vitest-config.js'; +import config from '../shared/src/tool/vitest-config.ts'; export default mergeConfig( config, diff --git a/packages/zqlite-zql-test/src/setup.ts b/packages/zqlite-zql-test/src/setup.ts index d29ae69d76..b11538c7ae 100644 --- a/packages/zqlite-zql-test/src/setup.ts +++ b/packages/zqlite-zql-test/src/setup.ts @@ -1,5 +1,5 @@ import {afterAll, beforeAll} from 'vitest'; -import {createSource} from '../../zqlite/src/test/source-factory.js'; +import {createSource} from '../../zqlite/src/test/source-factory.ts'; beforeAll(() => { // eslint-disable-next-line @typescript-eslint/no-explicit-any diff --git a/packages/zqlite-zql-test/vitest.config.ts b/packages/zqlite-zql-test/vitest.config.ts index 3460bcae61..ee01e983e9 100644 --- a/packages/zqlite-zql-test/vitest.config.ts +++ b/packages/zqlite-zql-test/vitest.config.ts @@ -1,5 +1,5 @@ import {defineConfig} from 'vitest/config'; -import config from '../shared/src/tool/vitest-config.js'; +import config from '../shared/src/tool/vitest-config.ts'; const {define, esbuild} = config; diff --git a/packages/zqlite/src/db.test.ts b/packages/zqlite/src/db.test.ts index 2e4e922455..d632a548ec 100644 --- a/packages/zqlite/src/db.test.ts +++ b/packages/zqlite/src/db.test.ts @@ -1,7 +1,7 @@ import {LogContext} from '@rocicorp/logger'; import {expect, test, vi} from 'vitest'; -import {TestLogSink} from '../../shared/src/logging-test-utils.js'; -import {Database} from './db.js'; +import {TestLogSink} from '../../shared/src/logging-test-utils.ts'; +import {Database} from './db.ts'; test('slow queries are logged', () => { vi.useFakeTimers(); diff --git a/packages/zqlite/src/db.ts b/packages/zqlite/src/db.ts index 0f3556b0b2..e1cbb3d588 100644 --- a/packages/zqlite/src/db.ts +++ b/packages/zqlite/src/db.ts @@ -5,8 +5,8 @@ import SQLite3Database, { type RunResult, type Statement as SQLite3Statement, } from '@rocicorp/zero-sqlite3'; -import {manualSpan} from '../../otel/src/span.js'; -import {version} from '../../otel/src/version.js'; +import {manualSpan} from '../../otel/src/span.ts'; +import {version} from '../../otel/src/version.ts'; const tracer = trace.getTracer('view-syncer', version); diff --git a/packages/zqlite/src/internal/sql.test.ts b/packages/zqlite/src/internal/sql.test.ts index 929f5ffa4c..cf7be52528 100644 --- a/packages/zqlite/src/internal/sql.test.ts +++ b/packages/zqlite/src/internal/sql.test.ts @@ -1,5 +1,5 @@ import {expect, test} from 'vitest'; -import {compile, sql} from './sql.js'; +import {compile, sql} from './sql.ts'; test('can do empty slots', () => { const str = compile(sql`INSERT INTO foo (id, name) VALUES (?, ?)`); diff --git a/packages/zqlite/src/internal/statement-cache.test.ts b/packages/zqlite/src/internal/statement-cache.test.ts index 3a7711c316..e3bad367ea 100644 --- a/packages/zqlite/src/internal/statement-cache.test.ts +++ b/packages/zqlite/src/internal/statement-cache.test.ts @@ -1,7 +1,7 @@ -import {createSilentLogContext} from '../../../shared/src/logging-test-utils.js'; import {expect, test} from 'vitest'; -import {Database} from '../db.js'; -import {type CachedStatement, StatementCache} from './statement-cache.js'; +import {createSilentLogContext} from '../../../shared/src/logging-test-utils.ts'; +import {Database} from '../db.ts'; +import {type CachedStatement, StatementCache} from './statement-cache.ts'; test('Same sql results in same statement instance. The same instance is not outstanding twice.', () => { const db = new Database(createSilentLogContext(), ':memory:'); diff --git a/packages/zqlite/src/internal/statement-cache.ts b/packages/zqlite/src/internal/statement-cache.ts index 890e302921..2ac2131466 100644 --- a/packages/zqlite/src/internal/statement-cache.ts +++ b/packages/zqlite/src/internal/statement-cache.ts @@ -1,5 +1,5 @@ -import type {Database, Statement} from '../db.js'; -import {assert} from '../../../shared/src/asserts.js'; +import {assert} from '../../../shared/src/asserts.ts'; +import type {Database, Statement} from '../db.ts'; export type CachedStatementMap = Map; export type CachedStatement = { diff --git a/packages/zqlite/src/options.ts b/packages/zqlite/src/options.ts index 9a0398083f..a7cf07993b 100644 --- a/packages/zqlite/src/options.ts +++ b/packages/zqlite/src/options.ts @@ -1,5 +1,5 @@ -import type {Schema} from '../../zero-schema/src/mod.js'; -import type {Database} from './db.js'; +import type {Schema} from '../../zero-schema/src/mod.ts'; +import type {Database} from './db.ts'; /** * Configuration for [[ZqlLiteZero]]. diff --git a/packages/zqlite/src/query.test.ts b/packages/zqlite/src/query.test.ts index c1a8669b60..ba0e0c9f6a 100644 --- a/packages/zqlite/src/query.test.ts +++ b/packages/zqlite/src/query.test.ts @@ -1,12 +1,12 @@ import {beforeEach, expect, expectTypeOf, test} from 'vitest'; -import {createSilentLogContext} from '../../shared/src/logging-test-utils.js'; -import {must} from '../../shared/src/must.js'; -import {MemoryStorage} from '../../zql/src/ivm/memory-storage.js'; -import type {Source} from '../../zql/src/ivm/source.js'; -import {newQuery, type QueryDelegate} from '../../zql/src/query/query-impl.js'; -import {schema} from '../../zql/src/query/test/test-schemas.js'; -import {Database} from './db.js'; -import {TableSource, toSQLiteTypeName} from './table-source.js'; +import {createSilentLogContext} from '../../shared/src/logging-test-utils.ts'; +import {must} from '../../shared/src/must.ts'; +import {MemoryStorage} from '../../zql/src/ivm/memory-storage.ts'; +import type {Source} from '../../zql/src/ivm/source.ts'; +import {newQuery, type QueryDelegate} from '../../zql/src/query/query-impl.ts'; +import {schema} from '../../zql/src/query/test/test-schemas.ts'; +import {Database} from './db.ts'; +import {TableSource, toSQLiteTypeName} from './table-source.ts'; let queryDelegate: QueryDelegate; beforeEach(() => { diff --git a/packages/zqlite/src/table-source.test.ts b/packages/zqlite/src/table-source.test.ts index df4567c841..be70b6f502 100644 --- a/packages/zqlite/src/table-source.test.ts +++ b/packages/zqlite/src/table-source.test.ts @@ -1,19 +1,19 @@ import {describe, expect, test} from 'vitest'; -import type {JSONValue} from '../../shared/src/json.js'; -import {createSilentLogContext} from '../../shared/src/logging-test-utils.js'; -import type {Ordering} from '../../zero-protocol/src/ast.js'; -import type {Row, Value} from '../../zero-protocol/src/data.js'; -import type {PrimaryKey} from '../../zero-protocol/src/primary-key.js'; -import {Catch} from '../../zql/src/ivm/catch.js'; -import type {Change} from '../../zql/src/ivm/change.js'; -import {makeComparator} from '../../zql/src/ivm/data.js'; -import {Database} from './db.js'; -import {format} from './internal/sql.js'; +import type {JSONValue} from '../../shared/src/json.ts'; +import {createSilentLogContext} from '../../shared/src/logging-test-utils.ts'; +import type {Ordering} from '../../zero-protocol/src/ast.ts'; +import type {Row, Value} from '../../zero-protocol/src/data.ts'; +import type {PrimaryKey} from '../../zero-protocol/src/primary-key.ts'; +import {Catch} from '../../zql/src/ivm/catch.ts'; +import type {Change} from '../../zql/src/ivm/change.ts'; +import {makeComparator} from '../../zql/src/ivm/data.ts'; +import {Database} from './db.ts'; +import {format} from './internal/sql.ts'; import { filtersToSQL, TableSource, UnsupportedValueError, -} from './table-source.js'; +} from './table-source.ts'; const columns = { id: {type: 'string'}, diff --git a/packages/zqlite/src/table-source.ts b/packages/zqlite/src/table-source.ts index 0f43ba8274..2b8dfef758 100644 --- a/packages/zqlite/src/table-source.ts +++ b/packages/zqlite/src/table-source.ts @@ -1,54 +1,54 @@ import type {SQLQuery} from '@databases/sql'; -import {assert, unreachable} from '../../shared/src/asserts.js'; -import {must} from '../../shared/src/must.js'; -import {difference} from '../../shared/src/set-utils.js'; -import type {Writable} from '../../shared/src/writable.js'; +import {assert, unreachable} from '../../shared/src/asserts.ts'; +import {must} from '../../shared/src/must.ts'; +import {difference} from '../../shared/src/set-utils.ts'; +import type {Writable} from '../../shared/src/writable.ts'; import type { Condition, Ordering, SimpleCondition, ValuePosition, -} from '../../zero-protocol/src/ast.js'; -import type {Row, Value} from '../../zero-protocol/src/data.js'; -import type {PrimaryKey} from '../../zero-protocol/src/primary-key.js'; +} from '../../zero-protocol/src/ast.ts'; +import type {Row, Value} from '../../zero-protocol/src/data.ts'; +import type {PrimaryKey} from '../../zero-protocol/src/primary-key.ts'; import type { SchemaValue, ValueType, -} from '../../zero-schema/src/table-schema.js'; +} from '../../zero-schema/src/table-schema.ts'; import { createPredicate, transformFilters, type NoSubqueryCondition, -} from '../../zql/src/builder/filter.js'; -import type {Change} from '../../zql/src/ivm/change.js'; +} from '../../zql/src/builder/filter.ts'; +import type {Change} from '../../zql/src/ivm/change.ts'; import { makeComparator, type Comparator, type Node, -} from '../../zql/src/ivm/data.js'; -import {filterPush} from '../../zql/src/ivm/filter-push.js'; +} from '../../zql/src/ivm/data.ts'; +import {filterPush} from '../../zql/src/ivm/filter-push.ts'; import { generateWithOverlay, generateWithStart, type Overlay, -} from '../../zql/src/ivm/memory-source.js'; +} from '../../zql/src/ivm/memory-source.ts'; import type { FetchRequest, Input, Output, Start, -} from '../../zql/src/ivm/operator.js'; -import type {SourceSchema} from '../../zql/src/ivm/schema.js'; +} from '../../zql/src/ivm/operator.ts'; +import type {SourceSchema} from '../../zql/src/ivm/schema.ts'; import type { Source, SourceChange, SourceInput, -} from '../../zql/src/ivm/source.js'; -import type {Stream} from '../../zql/src/ivm/stream.js'; -import {Database, Statement} from './db.js'; -import {compile, format, sql} from './internal/sql.js'; -import {StatementCache} from './internal/statement-cache.js'; -import {runtimeDebugFlags, runtimeDebugStats} from './runtime-debug.js'; +} from '../../zql/src/ivm/source.ts'; +import type {Stream} from '../../zql/src/ivm/stream.ts'; +import {Database, Statement} from './db.ts'; +import {compile, format, sql} from './internal/sql.ts'; +import {StatementCache} from './internal/statement-cache.ts'; +import {runtimeDebugFlags, runtimeDebugStats} from './runtime-debug.ts'; type Connection = { input: Input; diff --git a/packages/zqlite/src/test/source-factory.ts b/packages/zqlite/src/test/source-factory.ts index 201ba6700d..f27d310b20 100644 --- a/packages/zqlite/src/test/source-factory.ts +++ b/packages/zqlite/src/test/source-factory.ts @@ -1,11 +1,11 @@ -import {Database} from '../db.js'; -import type {SchemaValue} from '../../../zero-schema/src/table-schema.js'; -import type {Source} from '../../../zql/src/ivm/source.js'; -import type {SourceFactory} from '../../../zql/src/ivm/test/source-factory.js'; -import {createSilentLogContext} from '../../../shared/src/logging-test-utils.js'; -import {compile, sql} from '../internal/sql.js'; -import {TableSource} from '../table-source.js'; -import type {PrimaryKey} from '../../../zero-protocol/src/primary-key.js'; +import {createSilentLogContext} from '../../../shared/src/logging-test-utils.ts'; +import type {PrimaryKey} from '../../../zero-protocol/src/primary-key.ts'; +import type {SchemaValue} from '../../../zero-schema/src/table-schema.ts'; +import type {Source} from '../../../zql/src/ivm/source.ts'; +import type {SourceFactory} from '../../../zql/src/ivm/test/source-factory.ts'; +import {Database} from '../db.ts'; +import {compile, sql} from '../internal/sql.ts'; +import {TableSource} from '../table-source.ts'; export const createSource: SourceFactory = ( tableName: string, diff --git a/packages/zqlite/vitest.config.ts b/packages/zqlite/vitest.config.ts index 0cafc06390..5d3d470876 100644 --- a/packages/zqlite/vitest.config.ts +++ b/packages/zqlite/vitest.config.ts @@ -1,5 +1,5 @@ import {configDefaults, defineConfig} from 'vitest/config'; -import config from '../shared/src/tool/vitest-config.js'; +import config from '../shared/src/tool/vitest-config.ts'; const {define, esbuild} = config;