Upgrade to support unify config - OfficeDev/TeamsFx GitHub Wiki
We will update the configuration files so that your project is compatible with the latest Teams Toolkit features, including a consistent configuration file schema and a single Teams app manifest template across local and remote environments.
Important Notes: If you collaborate on this project with your co-workers, please ensure your team members update the Teams Toolkit extension to the latest version after committing the changes with this upgrade.
Why upgrade
Teams Toolkit continues to improve your Teams application development experience. We are upgrading the Teams app project structure so that you can:
- Use a consistent schema to manage configuration settings for local and remote environments.
- Use a single Teams application manifest template across local and remote environments.
Know about the changes we made
After the project upgrade, the new file structure will consist:
localSettings.json
will be updated toconfig.local.json
to ensure consistency between local and remote environment configuration settings.manifest.local.template.json
andmanifest.remote.template.json
will be merged into a single manifest template file namedmanifest.template.json
to make managing manifest template files easy.
Your existing localSettings.json
, manifest.local.template.json
, and manifest.remote.template.json
files will be backed up in .backup
folder.
Know what you need to do
Since Teams Toolkit will use manifest.remote.template.json
as a single manifest template file after the upgrade, if you have customized the manifest.local.template.json
, you will need to update the manifest.template.json
to include your change.
Depending on how different the local and remote manifests are, there are two options you can do to make your project work as before.
- If the two manifest files only have config value difference, i.e., the keys are the same while values are different. You can add the different config value to
.fx/configs/config.local.json
. Teams Toolkit supports placeholder inmanifest.template.json
and{{config.manifest.xx}}
is customized placeholder whose value is resolved fromconfig.{env}.json
. - If the two manifest files’ structure are different, i.e., there are additional keys in previous local manifest than remote manifest file. We recommend you use different Git branches to manage it.
Know about how to restore your project
If anything went wrong after the upgrade process, you could restore your old project configuration files by:
- Copy the .backup/.fx folder to your project root path.
- Copy the .backup/templates folder to your project root path.
- Delete
config.local.json
andmanifest.template.json
if needed.