Skip to content

refactor(mix_winds): rename mix_tailwinds to mix_winds - #1011

Merged
leoafarias merged 1 commit into
mainfrom
chore/rename-mix-winds
Aug 8, 2026
Merged

refactor(mix_winds): rename mix_tailwinds to mix_winds#1011
leoafarias merged 1 commit into
mainfrom
chore/rename-mix-winds

Conversation

@leoafarias

Copy link
Copy Markdown
Member

Related issue

None.

Description

Publishes the package under the reserved mix_winds name instead of mix_tailwinds. This is a pure rename: packages/mix_tailwinds moves to packages/mix_winds, the library entrypoint becomes lib/mix_winds.dart, and every dependency name, import, path, workflow input, publish tag pattern, melos target, and document that referenced the old name is updated.

No public API symbol changed. The Tw* types (TwParser, TwConfig, TwScope, …) and the functional div / span / button API keep their names, because they still map Tailwind CSS utilities. Only the package name moves off the Tailwind trademark.

Changes

  • Moved packages/mix_tailwindspackages/mix_winds and lib/mix_tailwinds.dartlib/mix_winds.dart (plus test/tailwinds_test_helpers.darttest/winds_test_helpers.dart).
  • Set name: mix_winds and version: 0.1.0-alpha.0. The reserved name already holds a 0.0.1-dev.0 placeholder release and semver orders 0.0.1-alpha.1 below it, so the first real release under this name has to start above 0.0.1-dev.0. The pubspec records this as a comment so a later version bump doesn't regress under the placeholder.
  • Renamed the example package to mix_winds_example and repointed its path dependency.
  • Updated the publish.yml tag pattern to mix_winds-v*, the changelog.yml workflow inputs (update_mix_winds, mix_winds_version), and the test.yml showcase-tool working directory and npm cache path.
  • Renamed the melos target gen:tailwinds-registrygen:winds-registry and updated the workspace/category package lists.
  • Updated .gitignore showcase path exceptions, the root/mix/mix_protocol READMEs, AGENTS.md, llms.txt, and the skills/mix reference docs.
  • Renamed the npm package to mix-winds-visual-comparison and the showcase source protocol id to mix-winds-showcase-source-v1, plus the mixWinds* browser globals in the showcase host.
  • Added a migration note to the package README and a Breaking changelog entry.

Deliberately not renamed

  • References to Tailwind CSS itself: example/real_tailwind/ fixtures, example/web/tailwind-frame.*, tool/tailwind_parser_registry_snapshot.json, tool/tailwind_theme_snapshot.json, complex_tailwind_parity_test.dart, and prose describing parity goals.
  • Historical mix_tailwinds entries in already-released changelog sections (mix_winds 0.0.1-alpha.1, mix_protocol), which record what actually shipped under the old name.

Review Checklist

  • Testing: Full repository CI, package tests, Node showcase tests, analysis, formatting, and a web release build are covered below.
  • Breaking Changes: Consumers must rename the dependency and change package:mix_tailwinds/mix_tailwinds.dart imports to package:mix_winds/mix_winds.dart. No symbol renames.
  • Documentation Updates: README migration note, changelog entry, adaptation/comparison guides, agent guides, and skill references are updated.
  • Website Updates: Tracked separately in btwld/mix-docs#51, which cannot merge until mix_winds is published to pub.dev.

Validation

  • dart pub get (workspace) — resolved.
  • melos run gen:build — passed; the generated parser registry, compatibility ledger, and theme data are byte-identical after the rename.
  • melos run ci — passed across all Flutter and Dart packages, including mix_winds/example.
  • fvm flutter test in packages/mix_winds — 532/532 passed.
  • fvm dart analyze in packages/mix_winds — no issues.
  • melos run analyze — schema inventory and Dart analysis passed for all 11 packages. The aggregate DCM step still reports its pre-existing issues in mix_annotations and mix_generator; this branch has no diff in either package (git diff origin/main -- packages/mix_annotations packages/mix_generator is empty) and DCM is disabled in CI.
  • dart format --set-exit-if-changed over all 74 changed Dart files — 0 changed.
  • npm test in packages/mix_winds/tool/visual-comparison — 14/14 passed.
  • fvm flutter build web --release in packages/mix_winds/example — passed.

Follow-ups (not in this PR)

  1. Publish mix_winds 0.1.0-alpha.0 via the mix_winds-v* tag.
  2. Mark mix_tailwinds discontinued on pub.dev, pointing at mix_winds.
  3. Merge btwld/mix-docs#51 once step 1 lands — its mix_docs_preview package depends on the published mix_winds.

Additional Information (optional)

Left unmerged for human review.

The package is published under the reserved `mix_winds` name from now on.
This moves `packages/mix_tailwinds` to `packages/mix_winds`, renames the
library entrypoint to `lib/mix_winds.dart`, and updates every dependency
name, import, path, workflow input, publish tag pattern, melos target, and
document that referenced the old name.

No public API symbol changed. The `Tw*` types and the functional
`div`/`span`/`button` API keep their names because they still map Tailwind
CSS utilities; only the package name moves off the Tailwind trademark.

The reserved `mix_winds` name already holds a `0.0.1-dev.0` placeholder
release, and semver orders `0.0.1-alpha.1` below it, so the version starts
at `0.1.0-alpha.0` to supersede the placeholder.

References to Tailwind CSS itself (`real_tailwind/` fixtures, the Tailwind
snapshots, and prose describing parity goals) are deliberately unchanged,
as are the historical `mix_tailwinds` entries in released changelogs.
@leoafarias
leoafarias merged commit e3133c3 into main Aug 8, 2026
5 checks passed
@leoafarias
leoafarias deleted the chore/rename-mix-winds branch August 8, 2026 18:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant