Notes on Custom Fork
with Max Lynch now having left the Ionic Team, the
ionic-team/trapezeGitHub project now appears to be abandoned. this fork is not an attempt at permanently taking over project maintenance, it is simply an intermediate space that will hopefully as somewhere to collate and distribute bug fixes.some nominal functional improvements and possible new features may be implemented in this fork, but only insofar as my own personal usage of the included packages. other contributions are welcome, but due to limited time and resources on my part, I cannot guarantee regular and steady maintenance.
🤸♀️ Easy automated project configuration for iOS, Android, Capacitor, React Native, Flutter, and more 🤸♀️
because of the structure of this workspace, you will need to use something like Vercel's
gitpkg service to install packages directly from this repository.
for the @trapezedev/configure CLI tool from the main branch:
npm install https://gitpkg.now.sh/ZaLiTHkA/trapeze/packages/configure?main'for the @trapezedev/project API package from the main branch:
npm install 'https://gitpkg.now.sh/ZaLiTHkA/trapeze/packages/project?main'Trapeze is a mobile project configuration toolbox for native iOS and Android project management. From a simple YAML format, Trapeze makes it easy to automate the configuration of native mobile iOS and Android projects, and supports traditional native, Ionic, Capacitor, React Native, Flutter, and .NET MAUI. The long-term goal of Trapeze is to enable fully immutable native mobile projects.
Trapeze works by automating the modification of pbxproj, plist, XML, Gradle, JSON, resource, properties, and other files in iOS and Android app projects. It features a configuration-driven tool that takes a YAML file with iOS and Android project modifications and performs those modifications from the command line interactively.
For example, modifying your project is as easy as writing a configuration file:
platforms:
ios:
targets:
App:
bundleId: $BUNDLE_ID
version: $VERSION
android:
packageName: com.example.app
versionName: $VERSION_NAME
versionCode: $VERSION_CODEEach one of these variables can be supplied from the environment or interactively when running the command. There are many more configuration options available.
A Project API is also available for writing custom JavaScript/TypeScript project modification scripts for full control. The configuration tool uses this API under the hood.
See trapeze.dev for full documentation and to get started using Trapeze.
Note: this project was formerly known as capacitor-configure but has now been expanded to support other mobile frameworks and renamed to Trapeze as of June 2022
