@typestyles/next
packages/next/CHANGELOG.md
0.4.0
Minor Changes
#75
8bf64b0Thanks @dbanksdesign! - Add shared convention entry discovery:discoverDefaultExtractModulesandDEFAULT_EXTRACT_MODULE_CANDIDATES(includingstyles/typestyles-entry.tsandstyles/typestyles.tsafter thesrc/…paths).@typestyles/vite re-exports these from
@typestyles/build-runnerand resolves optionalextract.modulesusing the same list.@typestyles/next depends on
@typestyles/build-runner, alignsbuildTypestylesForNextwith that discovery, defaultscssOutFiletoapp/typestyles.cssand manifest output unless overridden, addswithTypestylesfor production config when a convention file exists, and re-exports the discovery helpers.withTypestylesnow passesrootthrough to extraction internals so webpack resolution uses the same project root as convention discovery.Breaking (Next):
BuildTypestylesForNextOptionsno longer requiresmodulesorcssOutFile; pass them explicitly when you need non-default behavior.
Patch Changes
#86
fd16badThanks @dbanksdesign! - Fix silent-wrong-output correctness issues (P0.1): refresh the unitless CSS property set, prefixscopeIdonto semantic class names, add dev-mode class-name collision warnings, and wireuseTypestylestosubscribeRegisteredCssviauseSyncExternalStore.#87
ffeb2efThanks @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/cssexport and unusedopen-propsdependency.#75
8bf64b0Thanks @dbanksdesign! - EnsurewithTypestyles({ root })uses the samerootfor downstream webpack module resolution as it does for convention discovery.#92
d8149d6Thanks @dbanksdesign! - AddverifyTypestylesBuild()to@typestyles/build-runnerfor CI checks that extracted CSS and optional manifest exist and contain expected output. Re-export from@typestyles/next/buildand document on the zero-runtime page.Updated dependencies [
8bf64b0,d8149d6]:- @typestyles/build-runner@0.4.0
0.3.0
Minor Changes
- #49: Add ESLint configuration across all packages, examples, and docs. Create shared
eslint.base.jsconfig 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:srcmay be a string or an array of fragments (joined into one CSSsrc); optional@font-facedescriptorssizeAdjust,ascentOverride,descentOverride, andlineGapOverride; dedupe keys use normalizedsrc(including array vs equivalent comma-separated string). ExportFontFaceSrc. 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-srcfont faces, metric overrides, and global dedupe warnings.@typestyles/next: README examples use
styles.componentand default variant calls; add Fonts and local files guidance for Next extraction (public/fonts/, root-relative URLs) versus Vite asset URLs.#34:
withTypestylesExtractnow setsNEXT_PUBLIC_TYPESTYLES_RUNTIME_DISABLEDvianext.configenvso client bundles disable runtime style injection under Turbopack as well as webpack (webpackDefinePluginalone does not run for Turbopack). Coresheetreads this env flag alongside__TYPESTYLES_RUNTIME_DISABLED__.README: build-time CSS / Turbopack notes; clarify
getTypestylesMetadataand fix the previousgenerateMetadataexample. Add@typestyles/nexttests forwithTypestylesExtract.TypeScript: module augmentation +
client.d.tsdeclaration foruseServerInsertedHTML(aligned@types/react/@types/react-dom); addtypecheckscript; restorewebpack+typestylesdevDependencies andserver.d.ts/./buildexports.buildTypestylesForNextnow usescollectStylesFromModulesfromtypestyles/build(no separate@typestyles/buildpackage).#50: Add lint-staged for prettier formatting on pre-commit hook and format entire codebase
#60: @typestyles/vite: When
extract.modulesis set andmodeis omitted, defaultmodeis now'build':vite devkeeps runtime injection and HMR;vite buildemits the CSS asset and disables client injection (same as explicitmode: 'build'). Passmode: 'runtime'to keep the previous “extract config present but runtime-only” behavior. Vitest: plugin tests extended; runtime/build parity moved tobuild-parity.test.tswithskipIfwhenbuild-runnerdist is missing.@typestyles/next: README documents applying
withTypestylesExtractonly in production so development keeps client runtime injection.Docs (
vite-plugin,zero-runtime,getting-started) androadmap.mddescribe dev-runtime / prod-extraction;examples/vite-app,examples/typewind, andexamples/next-app(next.config.mjs) follow the recommended wiring.