Skip to content

v0.28.1 - Code Quality Improvements (2026-03-21)

What Changed?

This release focuses on code quality improvements across the flamewright, afterglow, and gaslets modules. GAS global exports are consolidated into a single location in flamewright/index.ts, and several lint violations are resolved. No new features are introduced and all existing behavior is preserved.


What's New

Main Feature: Consolidated GAS Global Exports

What it does: Previously, each module registered its own exports to globalThis using globalThis as any scattered across multiple files. These are now consolidated into a single typed GASGlobalThis interface in flamewright/index.ts.

How to use it: No change required. All previously available globals (FlameWright, getTypeOf, ensure, etc.) remain accessible in GAS environments.


Added

  • Nothing added.

Changed

  • flamewright/index.ts: GAS global exports for FlameWright, getTypeOf, getValuePreviewOf, ensure, assert, explain, guessFlameType, and guessFlameGuard are now registered here via a typed GASGlobalThis interface
  • rollup.config.js: visualizer plugin no longer auto-opens the browser in CI environments (process.env.CI !== "true")

Fixed

  • flamewright/flame.elements.ts: Replaced unsafe isNaN() with Number.isNaN() in isNumber and isValidDate
  • flamewright/flame.factory.ts: Replaced unsafe isNaN() with Number.isNaN() in isInRange
  • flamewright/flame.gaslets.ts: Marked placeholder isXXX parameter as intentionally unused (_value)
  • flamewright/flame.torch.ts: Marked placeholder isDataFrame parameter as intentionally unused (_value)
  • flamewright/flameworks.ts: Removed globalThis as any self-registration block (moved to index.ts)
  • flamewright/flamewright.ts: Removed globalThis as any self-registration block (moved to index.ts)
  • flamewright/flameguards.ts: Removed unused imports (FlameGaslets, FlameTorch)
  • flamewright/flame.torch.ts: Removed unused Flame type import
  • afterglow/afterglow.ts: Removed unused imports (getLogger, getOrCreateLogger, clearLoggers)
  • gaslets/book.ts: Removed unused catch (e) variable binding
  • gaslets/drive.ts: Removed unused catch (e) variable bindings; added biome-ignore suppression for placeholder classes FolderArtisan and FileArtisan

Is It Safe to Upgrade?

  • Breaking Changes: No
  • Backward Compatible: Yes

All public APIs and GAS global exports remain unchanged.


Release Details

  • Date: 2026-03-21
  • Version: v0.28.1
  • gaslamp: (unchanged)
  • pilotlamp: (unchanged)
  • Files Changed: 11
  • Commits:
    • 14dc081 fix(bundle): skip visualizer auto-open in CI environments
    • 074c39b refactor(flamewright): remove globalThis exports from flameworks.ts
    • 1384968 refactor(flamewright): remove globalThis export from flamewright.ts
    • 6724587 refactor(flamewright): consolidate GAS globalThis exports into index.ts
    • 00e0ca1 refactor(afterglow): remove unused imports from afterglow.ts
    • c3a063e refactor(flamewright): remove unused Flame import from flame.torch.ts
    • 16dc56f refactor(flamewright): remove unused FlameGaslets and FlameTorch imports from flameguards.ts
    • 0b265f2 fix(flamewright): replace isNaN with Number.isNaN in flame.elements.ts
    • fbccb93 fix(flamewright): replace isNaN with Number.isNaN in flame.factory.ts
    • 6a31b42 fix(flamewright): suppress unused placeholder isXXX in flame.gaslets.ts
    • 609471d fix(flamewright): rename unused parameter to _value in flame.torch.ts
    • 013fcc5 fix(flamewright): suppress unused placeholder FlameNumbers in flame.ts
    • 29e1757 fix(gaslets): remove unused catch variable in book.ts
    • 6fecaf6 fix(gaslets): suppress unused placeholders and remove unused catch variables in drive.ts

Known Issues

  • noExplicitAny lint violations remain in afterglow/index.ts, flamewright/flameforge.ts, gaslets/drive.ts, gaslets/sheet-dataframe.ts, gears/index.ts, and torch/expression.ts — deferred for a future release.
  • noShadowRestrictedNames violations remain in multiple files — deferred for a future release.

Next Steps

  • Resolve remaining noExplicitAny and noShadowRestrictedNames lint violations
  • Continue project-wide code quality overhaul