♻️ CLI & GUI for continuous migration of config data across environments
 
 
Go to file
Boaz Poolman 02d5c20616 Merge branch 'master' of github.com:pluginpal/strapi-plugin-config-sync 2024-11-06 19:58:32 +01:00
.github fix: actually build the plugin during the publish workflow 2024-11-06 14:58:06 +01:00
admin/src fix: console warnings 2024-11-06 19:58:20 +01:00
bin refactor: use pack-up for bundling 2024-11-06 11:59:15 +01:00
playground fix: add yalc as dependency to the playground also 2024-10-12 17:14:26 +02:00
server fix: shrink bundle size 2024-11-06 12:38:28 +01:00
.editorconfig chore: Miscellaneous 2021-10-13 17:31:16 +02:00
.eslintignore chore: Integration tests 2021-12-31 13:28:04 +01:00
.eslintrc refactor: migrate design-system components for Strapi 5 2024-05-31 08:26:15 +02:00
.gitattributes Initial commit 2021-03-19 19:04:22 +01:00
.gitignore refactor: use pack-up for bundling 2024-11-06 11:59:15 +01:00
CODE_OF_CONDUCT.md chore: Miscellaneous 2021-10-13 17:31:16 +02:00
CONTRIBUTING.md docs: update contributing docs 2024-10-12 16:46:48 +02:00
LICENSE.md Package init 2021-03-20 00:57:12 +01:00
README.md docs: update the README to refer to the docs website 2024-10-05 14:01:01 +02:00
codecov.yml chore: Miscellaneous 2021-10-13 17:31:16 +02:00
jest.config.js chore: Miscellaneous 2021-10-13 17:31:16 +02:00
package.json chore: Bump version to 3.0.1 2024-11-06 14:00:06 +00:00
packup.config.ts refactor: use pack-up for bundling 2024-11-06 11:59:15 +01:00
yarn.lock fix: add @strapi/strapi as a devDependency 2024-11-06 14:30:59 +01:00

README.md

Strapi config-sync plugin

This plugin is a multi-purpose tool to manage your Strapi database records through JSON files. Mostly used to version controlconfig data for automated deployment, automated tests and data sharing for collaboration purposes.

Read the documentation

NPM Version Monthly download on NPM CI build status codecov.io

Features

  • CLI - config-sync CLI for syncing the config from the command line
  • GUI - Settings page for syncing the config in Strapi admin
  • Partial sync - Import or export only specific portions of config
  • Custom types - Include your custom collection types in the sync process
  • Import on bootstrap - Easy automated deployment with importOnBootstrap
  • Exclusion - Exclude single config entries or all entries of a given type
  • Diff viewer - A git-style diff viewer to inspect the config changes

Getting started

Read the Getting Started tutorial or follow the steps below:

# using yarn
yarn add strapi-plugin-config-sync

# using npm
npm install strapi-plugin-config-sync --save

Add the export path to the watchIgnoreFiles list in the config/admin.js file. This way your app won't reload when you export the config in development.

config/admin.js:
module.exports = ({ env }) => ({
  // ...
  watchIgnoreFiles: [
    '**/config/sync/**',
  ],
});

After successful installation you have to rebuild the admin UI so it'll include this plugin. To rebuild and restart Strapi run:

# using yarn
yarn build
yarn develop

# using npm
npm run build
npm run develop

The Config Sync plugin should now appear in the Settings section of your Strapi app.

To start tracking your config changes you have to make the first export. This will dump all your configuration data to the /config/sync directory. You can export either through the CLI or Strapi admin panel

Enjoy 🎉

📓 Documentation

See our dedicated repository for all of PluginPal's documentation, or view the Config Sync documentation live:

🤝 Contributing

Feel free to fork and make a pull request of this plugin. All the input is welcome!

Show your support

Give a star if this project helped you.

🌎 Community support

📝 Resources