fix(packages): cross-package broken imports + missing exports

Five unrelated packages each had a few imports pointing at the wrong
file or missing from their public surface. Grouped because none of
the individual fixes warrants its own commit and they all unblock
the same downstream consumer (apps/mana/apps/web type-check).

packages/help
  - HelpPage.svelte: `'../types.js'` and `'./content'` for
    HelpPageProps/HelpSection/SearchResult — neither path exists.
    Real homes are `../ui-types` (props) and `../search-types`
    (search shapes). Fix the imports.
  - HelpSearch.svelte: same `'../content'` typo for SearchResult →
    `'../search-types'`.
  - translations.ts: `'./types.js'` for HelpPageTranslations →
    `'./ui-types'`.
  - ui-types.ts: was importing SearchResult from `'./content'` but
    that module only exports content shapes. Split into two imports
    so HelpContent stays from content.ts and SearchResult comes from
    search-types.ts.

packages/feedback
  - FeedbackPage.svelte: imported `Feedback` and `CreateFeedbackInput`
    from `'./createFeedbackService'` but the service module only
    exports the service factory. Real homes are `'./feedback'`
    (Feedback) and `'./api'` (CreateFeedbackInput).
  - FeedbackForm.svelte: same `'./feedback'` typo for
    CreateFeedbackInput → `'./api'`.

packages/subscriptions
  - UsageCard / CostCard / pages/SubscriptionPage: all imported
    UsageData / CostItem from `'./plans'` but those types live in
    `'./usage'`. SubscriptionPage additionally had a relative-path
    bug — it's at `src/pages/`, not `src/`, so `./plans` resolved
    to `pages/plans` (nonexistent). Now imports `'../plans'` for
    plan types and `'../usage'` for usage/cost types.

packages/shared-ui
  - index.ts: re-exports the QuickInputItem family from
    `./quick-input` but had forgotten `HighlightPattern`. Added.
    Apps that build their own InputBar pattern config (e.g.
    mana/web/src/lib/quick-input/types.ts) need it as a public type.
  - PillNavigation.svelte: imported `SpotlightAction` and
    `ContentSearcher` from `./GlobalSpotlight.svelte` (a Svelte
    component file), which only re-exports the default. Both types
    live in `./types`. Move them to the existing types-import
    block; the GlobalSpotlight import becomes a plain default.

packages/shared-auth-ui
  - stores/createAuthStore.svelte.ts: imported AuthServiceAdapter /
    AuthResult / BaseUser from `'./types'` (nonexistent — the file
    is `'./store-types'`).

Net: -23 type errors. Zero behavior change.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-04-09 20:23:34 +02:00
parent 83eaf71e9f
commit ab24db36dd
12 changed files with 25 additions and 26 deletions

View file

@ -1,5 +1,5 @@
<script lang="ts">
import type { CreateFeedbackInput } from './feedback';
import type { CreateFeedbackInput } from './api';
interface Props {
onSubmit: (input: CreateFeedbackInput) => Promise<void>;

View file

@ -1,9 +1,7 @@
<script lang="ts">
import type {
FeedbackService,
Feedback,
CreateFeedbackInput,
} from './createFeedbackService';
import type { FeedbackService } from './createFeedbackService';
import type { Feedback } from './feedback';
import type { CreateFeedbackInput } from './api';
import FeedbackForm from './FeedbackForm.svelte';
import FeedbackList from './FeedbackList.svelte';

View file

@ -1,6 +1,6 @@
<script lang="ts">
import type { HelpSearchProps } from '../ui-types';
import type { SearchResult } from '../content';
import type { SearchResult } from '../search-types';
import { createSearcher } from '../search-engine';
let { content, translations, placeholder, onResultSelect }: HelpSearchProps = $props();

View file

@ -1,6 +1,6 @@
<script lang="ts">
import type { HelpPageProps, HelpSection } from '../types.js';
import type { SearchResult } from './content';
import type { HelpPageProps, HelpSection } from '../ui-types';
import type { SearchResult } from '../search-types';
import HelpSearch from '../components/HelpSearch.svelte';
import FAQSection from '../components/FAQSection.svelte';
import FeaturesOverview from '../components/FeaturesOverview.svelte';

View file

@ -3,7 +3,7 @@
* Apps can use these directly or override individual fields.
*/
import type { HelpPageTranslations } from './types.js';
import type { HelpPageTranslations } from './ui-types';
export const defaultTranslationsDE: HelpPageTranslations = {
title: 'Hilfe & Support',

View file

@ -2,7 +2,8 @@
* Component Props and Translation Types
*/
import type { HelpContent, SearchResult } from './content';
import type { HelpContent } from './content';
import type { SearchResult } from './search-types';
// ============================================================================
// Translation Types

View file

@ -15,7 +15,7 @@
* ```
*/
import type { AuthServiceAdapter, AuthResult, BaseUser } from './types';
import type { AuthServiceAdapter, AuthResult, BaseUser } from './store-types';
/**
* Create a Svelte 5 runes-based auth store

View file

@ -183,7 +183,13 @@ export {
createInputBarSettingsStore,
getInputBarSettingsStore,
} from './quick-input';
export type { QuickInputItem, QuickAction, CreatePreview, InputBarSettings } from './quick-input';
export type {
QuickInputItem,
QuickAction,
CreatePreview,
HighlightPattern,
InputBarSettings,
} from './quick-input';
// Pages
export { default as AppsPage } from './pages/AppsPage.svelte';

View file

@ -7,15 +7,14 @@
PillTabGroupConfig,
PillTagSelectorConfig,
PillAppItem,
SpotlightAction,
ContentSearcher,
} from './types';
import PillDropdown from './PillDropdown.svelte';
import PillTabGroup from './PillTabGroup.svelte';
import PillTagSelector from './PillTagSelector.svelte';
import AppDrawer from './AppDrawer.svelte';
import GlobalSpotlight, {
type SpotlightAction,
type ContentSearcher,
} from './GlobalSpotlight.svelte';
import GlobalSpotlight from './GlobalSpotlight.svelte';
import { createGlobalSpotlightState } from './useGlobalSpotlight.svelte';
// Phosphor Icons (via shared-icons)
import {

View file

@ -1,5 +1,5 @@
<script lang="ts">
import type { CostItem } from './plans';
import type { CostItem } from './usage';
interface Props {
costs: CostItem[];

View file

@ -1,5 +1,5 @@
<script lang="ts">
import type { UsageData } from './plans';
import type { UsageData } from './usage';
interface Props {
title?: string;

View file

@ -1,11 +1,6 @@
<script lang="ts">
import type {
SubscriptionPlan,
ManaPackage,
UsageData,
CostItem,
BillingCycle,
} from './plans';
import type { SubscriptionPlan, ManaPackage, BillingCycle } from '../plans';
import type { UsageData, CostItem } from '../usage';
import BillingToggle from '../BillingToggle.svelte';
import SubscriptionCard from '../SubscriptionCard.svelte';
import PackageCard from '../PackageCard.svelte';