Skip to content

v1.0.0-beta.1

Pre-release
Pre-release

Choose a tag to compare

@janvennemann janvennemann released this 15 Jun 16:41
· 3 commits to develop since this release
afd42ad

Alloy DevKit 1.0.0-beta.1

First beta of the 1.0.0 prerelease line. It syncs alloy-devkit with upstream Alloy v3.0.0, adds the Alloy ESM compiler work consumed by the Titanium Vite integration, and migrates the monorepo tooling to pnpm.

Published under the npm beta dist-tag; latest stays at 0.2.7.

Packages

  • alloy-compiler@1.0.0-beta.1
  • alloy-utils@1.0.0-beta.1

Breaking Changes

  • Minimum Node.js version is now 20.18.1.
  • Widget modules must now be authored as ESM; generated widget dependencies are emitted as static ESM imports.
  • Generated controller output changes for production builds, including retainLines: false, ES module trimming, and collection-binding null-safety.
  • Babel transforms now receive a filename, so downstream .babelrc / babel.config.js discovery can affect compile output.
  • Default supported Backbone runtime now includes 1.6.0.
  • Vendored moment is updated to 2.30.x.
  • Legacy jsonlint and xmldom dependencies are replaced with @prantlf/jsonlint and @xmldom/xmldom.
  • chmodr is removed, and dependency ranges are aligned with Alloy v3.

Alloy ESM compiler

  • Emit static Alloy ESM imports for generated controller, model, and collection dependencies instead of runtime require(...).
  • Transform literal Alloy.createController() / createModel() / createCollection() / createWidget() calls into static ESM imports.
  • Support Alloy widget ESM imports.
  • Support standalone ESM model imports.

Highlights

  • Synced compiler and utility internals with Alloy v3.0.0 across parsers, AST transforms, source maps, compiler utilities, component compilation, builtins, and shared constants.
  • Added parser pass-through coverage for Ti.UI.ActivityIndicator, Column, MaskedImage, Notification, ProgressBar, RefreshControl, Row, SearchBar, Shortcut, and ShortcutItem.
  • Added widget library source map generation.
  • Added end-to-end smoke snapshot coverage for the test-app fixture compile.

Fixes

  • Normalized generated module imports.
  • Restored platform filtering in Alloy.Abstract._ItemContainer.
  • Fixed widget sourcemap emission when sourcemaps are disabled.
  • Fixed the Ti.UI.OptionBar parser import path.
  • Avoided implicit-global assignment in Alloy.Abstract.Option.js under strict mode.

Maintenance

  • Migrated the monorepo to pnpm and publish via pnpm --recursive publish (replacing Lerna).
  • Rebranded package metadata and attribution to TiDev.
  • Removed obsolete parser files no longer present upstream.
  • Documented intentional devkit divergences from upstream in docs/DEVKIT_DELTAS.md.