Skip to content

← All changelogs

@typestyles/next

packages/next/CHANGELOG.md

0.4.0

Minor Changes

  • #75 8bf64b0 Thanks @dbanksdesign! - Add shared convention entry discovery: discoverDefaultExtractModules and DEFAULT_EXTRACT_MODULE_CANDIDATES (including styles/typestyles-entry.ts and styles/typestyles.ts after the src/… paths).

    @typestyles/vite re-exports these from @typestyles/build-runner and resolves optional extract.modules using the same list.

    @typestyles/next depends on @typestyles/build-runner, aligns buildTypestylesForNext with that discovery, defaults cssOutFile to app/typestyles.css and manifest output unless overridden, adds withTypestyles for production config when a convention file exists, and re-exports the discovery helpers.

    withTypestyles now passes root through to extraction internals so webpack resolution uses the same project root as convention discovery.

    Breaking (Next): BuildTypestylesForNextOptions no longer requires modules or cssOutFile; pass them explicitly when you need non-default behavior.

Patch Changes

  • #86 fd16bad Thanks @dbanksdesign! - Fix silent-wrong-output correctness issues (P0.1): refresh the unitless CSS property set, prefix scopeId onto semantic class names, add dev-mode class-name collision warnings, and wire useTypestyles to subscribeRegisteredCss via useSyncExternalStore.

  • #87 ffeb2ef Thanks @dbanksdesign! - Credibility sweep (P0.2): fix docs site GitHub org links, correct landing page samples, unify package licenses to Apache-2.0, remove broken @typestyles/open-props/css export and unused open-props dependency.

  • #75 8bf64b0 Thanks @dbanksdesign! - Ensure withTypestyles({ root }) uses the same root for downstream webpack module resolution as it does for convention discovery.

  • #92 d8149d6 Thanks @dbanksdesign! - Add verifyTypestylesBuild() to @typestyles/build-runner for CI checks that extracted CSS and optional manifest exist and contain expected output. Re-export from @typestyles/next/build and document on the zero-runtime page.

  • Updated dependencies [8bf64b0, d8149d6]:

0.3.0

Minor Changes

  • #49: Add ESLint configuration across all packages, examples, and docs. Create shared eslint.base.js config with TypeScript rules and add lint scripts to all package.json files. Update CI workflow to run lint via turbo.

Patch Changes

  • #73: typestyles: Extend global.fontFace / FontFaceProps: src may be a string or an array of fragments (joined into one CSS src); optional @font-face descriptors sizeAdjust, ascentOverride, descentOverride, and lineGapOverride; dedupe keys use normalized src (including array vs equivalent comma-separated string). Export FontFaceSrc. When the same rule dedupe key is registered again with different CSS, the later rule is skipped and non-production builds warn on the mismatch (re-registration with identical CSS stays silent). Tests cover multi-src font faces, metric overrides, and global dedupe warnings.

    @typestyles/next: README examples use styles.component and default variant calls; add Fonts and local files guidance for Next extraction (public/fonts/, root-relative URLs) versus Vite asset URLs.

  • #34: withTypestylesExtract now sets NEXT_PUBLIC_TYPESTYLES_RUNTIME_DISABLED via next.config env so client bundles disable runtime style injection under Turbopack as well as webpack (webpack DefinePlugin alone does not run for Turbopack). Core sheet reads this env flag alongside __TYPESTYLES_RUNTIME_DISABLED__.

    README: build-time CSS / Turbopack notes; clarify getTypestylesMetadata and fix the previous generateMetadata example. Add @typestyles/next tests for withTypestylesExtract.

    TypeScript: module augmentation + client.d.ts declaration for useServerInsertedHTML (aligned @types/react / @types/react-dom); add typecheck script; restore webpack + typestyles devDependencies and server.d.ts / ./build exports. buildTypestylesForNext now uses collectStylesFromModules from typestyles/build (no separate @typestyles/build package).

  • #50: Add lint-staged for prettier formatting on pre-commit hook and format entire codebase

  • #60: @typestyles/vite: When extract.modules is set and mode is omitted, default mode is now 'build': vite dev keeps runtime injection and HMR; vite build emits the CSS asset and disables client injection (same as explicit mode: 'build'). Pass mode: 'runtime' to keep the previous “extract config present but runtime-only” behavior. Vitest: plugin tests extended; runtime/build parity moved to build-parity.test.ts with skipIf when build-runner dist is missing.

    @typestyles/next: README documents applying withTypestylesExtract only in production so development keeps client runtime injection.

    Docs (vite-plugin, zero-runtime, getting-started) and roadmap.md describe dev-runtime / prod-extraction; examples/vite-app, examples/typewind, and examples/next-app (next.config.mjs) follow the recommended wiring.

0.2.0

Minor Changes

  • #15: Add @typestyles/next package for Next.js SSR integration
  • #17: Fix changesets dep bump