Happy Easter everyone, I have fantastic news. After seven preview versions (and even a skipped version - 2.6) the Microsoft Teams Apps Yeoman generator 2.7.0 is now available for you to use! Just like tons of others do; there’s been over 6.000 downloads of the generator, it’s generating a handful of new Teams projects every day and it’s done from all parts of the world! Join the movement!

YoTeams 2.7.0

As usual it is just a simple npm command to install:

npm install generator-teams --global

What’s new?

Version 2.7.0 contains quite a few updates, changes, additions and fixes. For all the details please study the CHANGELOG. But here is a summary of the more important updates.

Support for Microsoft Bot Framework 4 - this is one of the more substantial changes. The default scaffolded bot looks very different, using the new Bot Framework 4 and the sample bot created contains some examples for you to build on. Note that the middleware for Microsoft Teams is still in beta.
Message Extensions middleware - as the time of publishing this there’s no support in the Microsoft Teams Bot middleware for message extensions and to make the code easier to read and extend a dedicated middleware is used to manage message extensions. This middleware is available as a standalone npm package. The automatic configuring of the Message Extensions are handled by the express-msteams-host package, and see it’s documentation for all the details.
Microsoft Teams schema 1.3 - the default schema is now 1.3, but also the devPreview schema is supported for validation.
Restructuring of artefacts - from this version and forward each artefact will be scaffolded into its own folder in order to make them easier to manage and find in a larger Microsoft Teams Apps project.
Dynamic generation of the manifest - the manifest file created by the generator will now have placeholders for things such as the host name, bot id’s and connector id’s and more. The value of these placeholders are either defined in the .env file or in the application settings and will be replaced when building; gulp build, gulp serve or in the case of the manifest gulp manifest.
Improved generated code - all code is now properly linted and linting support is also added to the generated project. This also resulted in that the default casing of files and class names has changed to support the linting.
Test support - when scaffolding a project you now have the option of specifying to include test framework and sample tests (for now only Tabs) using Jest and Enzyme. Huge thanks to Çağdaş Davulcu for helping out with this task.
Bug fixes - yes, we found a few bugs and squashed them!

What about updating?

Since this is a generator, it generates the skeleton code for your Teams Apps, there’s no way to upgrade an already scaffolded project using the generator. If you want the latest and greatest, you should create a new project. Then migrate over your existing customizations. Remember to copy over the application id from your old manifest to the new one.

What’s next?

All very nice updates and new features! And now we’re looking forward and are already planning the next version! What do you want to see?

We’ve updated the Github repo with a set of Issue templates to support feature suggestions as well as a project board where we start to manage the features.

Also, if you want to be part of the communication, planning and writing some awesome software - join us on Gitter.