diff --git a/news/+catalogSupport.feature b/news/+catalogSupport.feature new file mode 100644 index 00000000..efe92cb5 --- /dev/null +++ b/news/+catalogSupport.feature @@ -0,0 +1 @@ +Catalog support for Volto 19 projects. @sneridagh diff --git a/templates/add-ons/frontend/hooks/post_gen_project.py b/templates/add-ons/frontend/hooks/post_gen_project.py index f33b128d..586f2561 100644 --- a/templates/add-ons/frontend/hooks/post_gen_project.py +++ b/templates/add-ons/frontend/hooks/post_gen_project.py @@ -43,6 +43,9 @@ def remove_conditional_files(context, output_dir): else: (output_dir / "jest-addon.config.js").unlink() + if context["volto_version"] < "19": + (output_dir / ".pnpmfile.cjs").unlink() + def main(): """Final fixes.""" diff --git a/templates/add-ons/frontend/{{ cookiecutter.__folder_name }}/.pnpmfile.cjs b/templates/add-ons/frontend/{{ cookiecutter.__folder_name }}/.pnpmfile.cjs new file mode 100644 index 00000000..7e9c7b25 --- /dev/null +++ b/templates/add-ons/frontend/{{ cookiecutter.__folder_name }}/.pnpmfile.cjs @@ -0,0 +1,23 @@ +/* eslint-disable */ +const fs = require('fs'); +const path = require('path'); + +const catalogPath = path.resolve(__dirname, 'core/catalog.json'); +let catalog = {}; +if (fs.existsSync(catalogPath)) { + const catalogData = fs.readFileSync(catalogPath, 'utf-8'); + catalog = JSON.parse(catalogData); +} else { + console.error('Catalog file does not exist at:', catalogPath); +} + +module.exports = { + hooks: { + updateConfig(config) { + if (config.catalogs) { + config.catalogs.default ??= catalog; + } + return config; + }, + }, +};