v1.0.0-beta.1
Pre-release
Pre-release
·
3 commits
to develop
since this release
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.1alloy-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.jsdiscovery can affect compile output. - Default supported Backbone runtime now includes
1.6.0. - Vendored
momentis updated to2.30.x. - Legacy
jsonlintandxmldomdependencies are replaced with@prantlf/jsonlintand@xmldom/xmldom. chmodris 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, andShortcutItem. - Added widget library source map generation.
- Added end-to-end smoke snapshot coverage for the
test-appfixture 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.OptionBarparser import path. - Avoided implicit-global assignment in
Alloy.Abstract.Option.jsunder 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.