Based on Common Changelog.
Added the following commands:
npx crowdbotics/modules publish
: Allows user to publish modules to a private catalog inside Crowdbotics platform.npx crowdbotics/modules list
: Enables user to list all modules available in the Crowdbotics platform.npx crowdbotics/modules get
: Enables user to get a specific module from the Crowdbotics platform.npx crowdbotics/modules feedback
: Allows user to send feedback to Crowdbotics team.npx crowdbotics/modules logout
: Allows user to logout.
- Commands that do not require to be executed inside s GitHub repository no longer fail.
Added the following commands that are still in development:
npx crowdbotics/modules login
: Enables user login with email and password to access the Crowdbotics environment.npx crowdbotics/modules config
: Facilitates the management of configuration values within the Crowdbotics scripts.npx crowdbotics/modules info
: Displays essential information about the currently authenticated user.
- Run
pipenv install -e ./modules/${<module-directory-here>}
when installing Python modules.
- All commands now use the closest
.git
directory to compute relative paths. There is no longer a requirement to be in the root directory before issuing a command such asnpx crowdbotics/modules demo
oradd
/remove
/commit
. - Use
django-admin startapp <app-name>
behind the scenes on thenpx crowdbotics/modules create
command with--type django
. This ensures that the generated files match what Django itself generates for new Django apps. - New module
react-native-styling-patterns
showcasing various responsive design techniques withreact-native
andreact-native-web
. Companion to the docs.
- Added name validations and sanitizing on the
npx crowdbotics/modules create
command--name
argument. - Tooling: Added new
--source
argument to thenpx crowdbotics/modules commit
command. With this argument you can now specify sources other than the demo app.
- Multiple bug fixes on the following modules:
react-native-live-camera-filters
,react-native-youtube-player
,social-feed
,profile
,firebase-push-notifications
,react-native-chat
,react-native-audio-player
,django-inventory-management
- Moved the React Native scaffold and it's tooling over to github.com/crowdbotics/react-native-scaffold.
Added a check that builds the Android app and iOS app for every PR. This pipeline runs in CircleCI, it has three basic steps. First the modules repo is cloned and its dependencies are installed, in the same job a scaffold will be generated with the current modules code. Then both Android and iOS jobs will run simultaneously, each running a dev build of the scaffold. If the builds finish succesfully we can assume there are no major dependency issues.
- Added config.yml file that defines pipeline for CircleCI
- Bumped Python version from '3.8.13' to '3.8.17'.
- Read cookiecutter context from .crowdbotics.json when the user's version is not 1.1.0.
- Prevent changing existing manifests with
yarn run manifest
.
Introduced upgrade utility for scaffold users - available via npx crowdbotics/modules
.
Starts an upgrade process that gives the user the option to upgrade their app to any of the scaffold released versions. Validates that the user is currently in a supported version for the option picked.
The script iterates over all scaffold files included in the target release and brings that file onto the user app repository. It is smart enough to not override any file that the user customized since scaffolding their app. For those files where it wasn't possible to override the user's given a diff file and the new version file. With the diff file (and the instructions included in it) the user can then see what customization he did against the original version so that he can then decide which to keep in the new version of the file. See [scaffold-upgrade.md]](/docs/scaffold-upgrade.md).
New helper scripts for maintainers:
yarn run semver
- checks whether the scaffold .crowdbotics.json version increased and that the scaffold package.json version matches it. This script runs automatically on the semver Github Action whenever a Pull Request makes changes to scaffold.yarn run manifest
- produces a manifest file based on the latest version added to the config. Useful for when making changes to the scaffold where you would need to generate a new manifest.
- Bumped package.json "engines.node" version to
>16
. - Bumped .nvmrc Node.js version to 18.16.0 (LTS).
- Bumped .python-version Python's version to 3.8.13.
- Bumped .ruby-version Ruby's version to 3.2.2
- Removed
/dist/raw
directory and added it to .gitignore. This directory didn't have to be tracked since it's an intermediary build directory that is not ready for consumption. - Replaced all Node's
rmdirSync
deprecated calls withrm
call with{ recursive: true }
option.
First release.