@typestyles/build-runner
packages/build-runner/CHANGELOG.md
0.5.2
Patch Changes
- #128
41155b0Thanks @dbanksdesign! - FixrunTypestylesBuilddropping CSS from a component reached only through a plain bare import (import './some-lib';, no binding at all) of a package marked"sideEffects": false. This is a separate esbuild behavior from the tree-shaking-of-declarations bug fixed previously (treeShaking: false, in the prior patch) — it happens earlier, driven directly by thesideEffects/@__PURE__annotations, and drops the import before the module is ever considered for bundling, regardless of thetreeShakingsetting. A real extraction entry is exactly this shape: several side-effect-only imports, any one of which may point at a (correctly) tree-shakeable component library. The extraction bundle now also setsignoreAnnotations: trueso no import in the extraction graph is dropped based on these annotations.
0.5.1
Patch Changes
- #126
de79e3aThanks @dbanksdesign! - FixrunTypestylesBuilddropping CSS from components reached only through an unread namespace/barrel import. Style registration calls (styles.component,styles.class,createTypeStyles) are side-effect-only — the CSS they register is the point, independent of whether the returned classname function is ever read. esbuild's default tree shaking didn't know that, so a consumer's extraction entry that imports a tree-shakeable component library viaimport * as lib from '...'(never destructuring/reading a named export) could have that library's internal registration calls silently eliminated as "unused," especially for libraries marked"sideEffects": false. The extraction bundle now setstreeShaking: falseso every registration in the graph survives, matching real runtime behavior.
0.5.0
Minor Changes
#97
468375cThanks @dbanksdesign! - Add shared convention entry discovery across Rollup, esbuild, and webpack plugins; ship@typestyles/esbuildand@typestyles/webpack; extend discovery to.jsentry files; add Vue, Svelte, esbuild, and Parcel examples with build verification.#100
f5b9c6dThanks @dbanksdesign! - Per-route critical CSS for Next.js App Router (P2.15):buildTypestylesForNextemits route-scoped stylesheets and manifest v2 with aroutesmap;getRouteCssreads them at request time instead of the fullgetRegisteredCss()buffer.
Patch Changes
- #98
e17b8a0Thanks @dbanksdesign! - Add npm landing-page READMEs for every published package, an examples index with contributor guidance, and doc-to-example cross-links (P2.13).
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.#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.
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
- #50: Add lint-staged for prettier formatting on pre-commit hook and format entire codebase
0.2.0
Minor Changes
- #25: Updating bundler integrations and adding examples