trapeze

The mobile project configuration toolbox. Manage native iOS, Android, Ionic/Capacitor, React Native, and Flutter apps through a simple YAML format.

OTHER License

Downloads
7K
Stars
322
Committers
14
trapeze - v6.0.0

Published by mlynch almost 2 years ago

Added support for inserting variable assignments into gradle files #120.

Breaking changes

The signature for the insertProperties method on GradleFile has been modified to add a third argument before the exact argument. The new signature is

async insertProperties(pathObject: any, toInject: any[], type: AndroidGradleInjectType = AndroidGradleInjectType.Method, exact: boolean = false): Promise<void>
trapeze - v5.0.9

Published by mlynch almost 2 years ago

Added support for copying files from URLs for the ios and android copy operations, and the android res operation.

trapeze - v5.0.8

Published by mlynch almost 2 years ago

Fixed an issue for @trapezedev/configure on iOS where null would be set instead of an integer if setBuild is passed a null value. #118

trapeze - 5.0.7

Published by mlynch about 2 years ago

Tweaked variable substitution to fix usage in strings with periods. #112

trapeze - v5.0.0

Published by mlynch about 2 years ago

Support for JSON values in variables

In #90 support for JSON values for variables was added. This makes it possible to supply complex values as variables. These values then recursively resolve any variables they depend on, enabling support for using variables inside of other variables:

vars:
    KEYCHAIN_GROUPS:
      default:
        [
          '$BUNDLE_ID',
          'com.blah',
        ]

platforms:
  ios:
    targets:
      App:
        entitlements:
          - keychain-access-groups: $KEYCHAIN_GROUPS

Breaking Changes

There are two improvements that required breaking changes:

XML and Manifest Operations

To resolve the merge issues in #87, when using merge in XML, a matching root node must now be supplied.

Before:

 android:
    xml:
      - file: app/src/main/res/values/strings.xml
        target: resources
        merge: |
          <string name="app_name">$PRODUCT_NAME</string>
          <string name="title_activity_main">$PRODUCT_NAME</string>
          <string name="package_name">$ANDROID_PACKAGE_NAME</string>
          <string name="custom_url_scheme">$ANDROID_PACKAGE_NAME</string>

In 5.0.0:

 android:
    xml:
      - file: app/src/main/res/values/strings.xml
        target: /resources
        merge: |
          <resources>
            <string name="app_name">$PRODUCT_NAME</string>
            <string name="title_activity_main">$PRODUCT_NAME</string>
            <string name="package_name">$ANDROID_PACKAGE_NAME</string>
            <string name="custom_url_scheme">$ANDROID_PACKAGE_NAME</string>
          </resources>

This will then merge the two matching trees. This also resolves the merge issues in #87

Multiple Operations

An improvement was made to operations to have them apply to one open instance of a file, meaning multiple operations will now transform a single file multiple times. Previously, the file was loaded from disk for each operation which meant multiple operations would not stack. This fixed other issues specified in #87.

Thus, if your operations expected to run against a fresh copy of the file each time, this may break your configuration.

trapeze - 4.0.1

Published by mlynch over 2 years ago

Added exact flag to Gradle operations to support targeting exact nodes per #69.

trapeze - 4.0.0

Published by mlynch over 2 years ago

Refactoring and added new --diff feature to see changes to each file before committing.

Breaking Changes

@trapezedev/configure

The infoPlist operation for ios was removed. This was just an alias for plist Use the plist operation

@trapezedev/project

JsonFile.getData() was renamed to getDocument() to be more consistent with the other file wrappers.

VFS types have been made more concrete and data stored in the VFS must now be either a string or extend VFSStorable.

trapeze - 3.0.6

Published by mlynch over 2 years ago

What's Changed

  • Added new XML operations to iOS and updated docs"

  • Updated dependencies []:

Full Changelog: https://github.com/ionic-team/trapeze/compare/@capacitor/[email protected]...@trapezedev/[email protected]

trapeze - Trapeze 3.0.2

Published by mlynch over 2 years ago

First release under Trapeze

@trapezedev/project

3.0.2

Patch Changes

  • Added support for generating Info.plist if not exists

  • Updated dependencies []:

3.0.1

Patch Changes

3.0.0

Major Changes

  • Releasing first version of Trapeze

@trapezedev/configure

3.0.2

Patch Changes

  • Added support for generating Info.plist if not exists

  • Updated dependencies []:

3.0.1

Patch Changes

3.0.0

Major Changes

  • Releasing first version of Trapeze
trapeze - @capacitor/[email protected]

Published by mlynch over 2 years ago

trapeze - v1.0.28

Published by mlynch almost 3 years ago

  • Fixed indentation of plist files to be more like Xcode

Full Changelog: https://github.com/ionic-team/capacitor-configure/compare/v1.0.27...v1.0.28

trapeze - v1.0.27

Published by mlynch almost 3 years ago

What's Changed

Full Changelog: https://github.com/ionic-team/capacitor-configure/compare/v1.0.26...v1.0.27

trapeze - v1.0.24

Published by mlynch almost 3 years ago

Made two tweaks to plist merging in #33 and #32. This makes sure arrays of dicts are properly merged instead of duplicating entries when run multiple times.

@capacitor/configure: infoPlist operation

Additionally, the infoPlist operation in the configure yaml script has been renamed to plist and now places entries one level deeper. There is also a new replace option that specifies whether configuration values should replace or merge with existing. Default is false:

        plist:
          replace: true
          entries:
            - NSFaceIDUsageDescription: Use Face ID to authenticate yourself and login
            - CFBundleURLTypes:
                - CFBundleURLSchemes:
                    - msauth.$(PRODUCT_BUNDLE_IDENTIFIER)
                    - msauth.$(PRODUCT_BUNDLE_IDENTIFIER)-intunemam
                    - msauth.com.microsoft.intunemam