diff --git a/RECIPES.md b/RECIPES.md index 8e83298d..1a6ebd6f 100644 --- a/RECIPES.md +++ b/RECIPES.md @@ -132,7 +132,10 @@ Additional recipes can be found on the [Contrib Recipes Repository](https://gith | [symfony/uid](https://packagist.org/packages/symfony/uid) | [6.2](symfony/uid/6.2) | `uid` | | [symfony/ux-autocomplete](https://packagist.org/packages/symfony/ux-autocomplete) | [2.6](symfony/ux-autocomplete/2.6) | `ux-autocomplete`, `uxautocomplete` | | [symfony/ux-live-component](https://packagist.org/packages/symfony/ux-live-component) | [2.6](symfony/ux-live-component/2.6) | `ux-live-component`, `uxlivecomponent` | +| [symfony/ux-react](https://packagist.org/packages/symfony/ux-react) | [2.9](symfony/ux-react/2.9) | `ux-react`, `uxreact` | +| [symfony/ux-svelte](https://packagist.org/packages/symfony/ux-svelte) | [2.9](symfony/ux-svelte/2.9) | `ux-svelte`, `uxsvelte` | | [symfony/ux-translator](https://packagist.org/packages/symfony/ux-translator) | [2.9](symfony/ux-translator/2.9) | `ux-translator`, `uxtranslator` | +| [symfony/ux-vue](https://packagist.org/packages/symfony/ux-vue) | [2.9](symfony/ux-vue/2.9) | `ux-vue`, `uxvue` | | [symfony/validator](https://packagist.org/packages/symfony/validator) | [5.3](symfony/validator/5.3) | `validation`, `validator` | | [symfony/vonage-notifier](https://packagist.org/packages/symfony/vonage-notifier) | [5.4](symfony/vonage-notifier/5.4) | `vonage-notifier`, `vonagenotifier` | | [symfony/web-profiler-bundle](https://packagist.org/packages/symfony/web-profiler-bundle) | [6.1](symfony/web-profiler-bundle/6.1) | `web-profiler-bundle`, `webprofilerbundle` | diff --git a/archived/symfony.ux-react/e970076b31d602ae6e2106cf91a82c7e1f7ddff2.json b/archived/symfony.ux-react/e970076b31d602ae6e2106cf91a82c7e1f7ddff2.json new file mode 100644 index 00000000..ce1ee752 --- /dev/null +++ b/archived/symfony.ux-react/e970076b31d602ae6e2106cf91a82c7e1f7ddff2.json @@ -0,0 +1,62 @@ +{ + "manifests": { + "symfony/ux-react": { + "manifest": { + "bundles": { + "Symfony\\UX\\React\\ReactBundle": [ + "all" + ] + }, + "copy-from-recipe": { + "assets/": "assets/" + }, + "conflict": { + "symfony/webpack-encore-bundle": "<2.0", + "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0" + }, + "add-lines": [ + { + "file": "webpack.config.js", + "content": "\n .enableReactPreset()", + "position": "after_target", + "target": ".splitEntryChunks()" + }, + { + "file": "assets/app.js", + "content": "import { registerReactControllerComponents } from '@symfony/ux-react';", + "position": "top", + "warn_if_missing": true + }, + { + "file": "assets/app.js", + "content": "registerReactControllerComponents(require.context('./react/controllers', true, /\\.(j|t)sx?$/));", + "position": "bottom", + "warn_if_missing": true, + "requires": "symfony/webpack-encore-bundle" + }, + { + "file": "assets/app.js", + "content": "registerReactControllerComponents();", + "position": "bottom", + "warn_if_missing": true, + "requires": "symfony/asset-mapper" + } + ] + }, + "files": { + "assets/react/controllers/Hello.jsx": { + "contents": [ + "import React from 'react';", + "", + "export default function (props) {", + " return
Hello {props.fullName}
;", + "}", + "" + ], + "executable": false + } + }, + "ref": "e970076b31d602ae6e2106cf91a82c7e1f7ddff2" + } + } +} diff --git a/archived/symfony.ux-react/fee05066d80fef87f20023aa637f96ca8cd415c7.json b/archived/symfony.ux-react/fee05066d80fef87f20023aa637f96ca8cd415c7.json new file mode 100644 index 00000000..c0cbf7ac --- /dev/null +++ b/archived/symfony.ux-react/fee05066d80fef87f20023aa637f96ca8cd415c7.json @@ -0,0 +1,15 @@ +{ + "manifests": { + "symfony/ux-react": { + "manifest": { + "bundles": { + "Symfony\\UX\\React\\ReactBundle": [ + "all" + ] + } + }, + "files": [], + "ref": "fee05066d80fef87f20023aa637f96ca8cd415c7" + } + } +} diff --git a/archived/symfony.ux-svelte/4a6ee82d817d4e9be8d4a861476a112011d701e1.json b/archived/symfony.ux-svelte/4a6ee82d817d4e9be8d4a861476a112011d701e1.json new file mode 100644 index 00000000..680a30aa --- /dev/null +++ b/archived/symfony.ux-svelte/4a6ee82d817d4e9be8d4a861476a112011d701e1.json @@ -0,0 +1,62 @@ +{ + "manifests": { + "symfony/ux-svelte": { + "manifest": { + "bundles": { + "Symfony\\UX\\Svelte\\SvelteBundle": [ + "all" + ] + }, + "copy-from-recipe": { + "assets/": "assets/" + }, + "conflict": { + "symfony/webpack-encore-bundle": "<2.0", + "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0" + }, + "add-lines": [ + { + "file": "webpack.config.js", + "content": "\n .enableSvelte()", + "position": "after_target", + "target": ".splitEntryChunks()" + }, + { + "file": "assets/app.js", + "content": "import { registerSvelteControllerComponents } from '@symfony/ux-svelte';", + "position": "top", + "warn_if_missing": true + }, + { + "file": "assets/app.js", + "content": "registerSvelteControllerComponents(require.context('./svelte/controllers', true, /\\.svelte$/));", + "position": "bottom", + "warn_if_missing": true, + "requires": "symfony/webpack-encore-bundle" + }, + { + "file": "assets/app.js", + "content": "registerSvelteControllerComponents();", + "position": "bottom", + "warn_if_missing": true, + "requires": "symfony/asset-mapper" + } + ] + }, + "files": { + "assets/svelte/controllers/Hello.svelte": { + "contents": [ + "", + "", + "
Hello {name}
", + "" + ], + "executable": false + } + }, + "ref": "4a6ee82d817d4e9be8d4a861476a112011d701e1" + } + } +} diff --git a/archived/symfony.ux-svelte/a02524c137fb9900bd0b16d1033654371ad5c14f.json b/archived/symfony.ux-svelte/a02524c137fb9900bd0b16d1033654371ad5c14f.json new file mode 100644 index 00000000..9000dd88 --- /dev/null +++ b/archived/symfony.ux-svelte/a02524c137fb9900bd0b16d1033654371ad5c14f.json @@ -0,0 +1,15 @@ +{ + "manifests": { + "symfony/ux-svelte": { + "manifest": { + "bundles": { + "Symfony\\UX\\Svelte\\SvelteBundle": [ + "all" + ] + } + }, + "files": [], + "ref": "a02524c137fb9900bd0b16d1033654371ad5c14f" + } + } +} diff --git a/archived/symfony.ux-vue/7a6b5e211acc7b10b7190e704b40f6d2bca01adf.json b/archived/symfony.ux-vue/7a6b5e211acc7b10b7190e704b40f6d2bca01adf.json new file mode 100644 index 00000000..d7a0e1ae --- /dev/null +++ b/archived/symfony.ux-vue/7a6b5e211acc7b10b7190e704b40f6d2bca01adf.json @@ -0,0 +1,66 @@ +{ + "manifests": { + "symfony/ux-vue": { + "manifest": { + "bundles": { + "Symfony\\UX\\Vue\\VueBundle": [ + "all" + ] + }, + "copy-from-recipe": { + "assets/": "assets/" + }, + "conflict": { + "symfony/webpack-encore-bundle": "<2.0", + "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0" + }, + "add-lines": [ + { + "file": "webpack.config.js", + "content": "\n .enableVueLoader()", + "position": "after_target", + "target": ".splitEntryChunks()" + }, + { + "file": "assets/app.js", + "content": "import { registerVueControllerComponents } from '@symfony/ux-vue';", + "position": "top", + "warn_if_missing": true + }, + { + "file": "assets/app.js", + "content": "registerVueControllerComponents(require.context('./vue/controllers', true, /\\.vue$/));", + "position": "bottom", + "warn_if_missing": true, + "requires": "symfony/webpack-encore-bundle" + }, + { + "file": "assets/app.js", + "content": "registerVueControllerComponents();", + "position": "bottom", + "warn_if_missing": true, + "requires": "symfony/asset-mapper" + } + ] + }, + "files": { + "assets/vue/controllers/Hello.vue": { + "contents": [ + "", + "", + "", + "" + ], + "executable": false + } + }, + "ref": "7a6b5e211acc7b10b7190e704b40f6d2bca01adf" + } + } +} diff --git a/archived/symfony.ux-vue/d8639af8055fb0b8bb5f393ff851cb7cdb905b30.json b/archived/symfony.ux-vue/d8639af8055fb0b8bb5f393ff851cb7cdb905b30.json new file mode 100644 index 00000000..ee43aaa5 --- /dev/null +++ b/archived/symfony.ux-vue/d8639af8055fb0b8bb5f393ff851cb7cdb905b30.json @@ -0,0 +1,15 @@ +{ + "manifests": { + "symfony/ux-vue": { + "manifest": { + "bundles": { + "Symfony\\UX\\Vue\\VueBundle": [ + "all" + ] + } + }, + "files": [], + "ref": "d8639af8055fb0b8bb5f393ff851cb7cdb905b30" + } + } +} diff --git a/index.json b/index.json index 13dd7f30..afc925f1 100644 --- a/index.json +++ b/index.json @@ -396,10 +396,16 @@ "ux": "symfony/webpack-encore-bundle", "ux-autocomplete": "symfony/ux-autocomplete", "ux-live-component": "symfony/ux-live-component", + "ux-react": "symfony/ux-react", + "ux-svelte": "symfony/ux-svelte", "ux-translator": "symfony/ux-translator", + "ux-vue": "symfony/ux-vue", "uxautocomplete": "symfony/ux-autocomplete", "uxlivecomponent": "symfony/ux-live-component", + "uxreact": "symfony/ux-react", + "uxsvelte": "symfony/ux-svelte", "uxtranslator": "symfony/ux-translator", + "uxvue": "symfony/ux-vue", "validation": "symfony/validator", "validator": "symfony/validator", "var-dumper": "symfony/var-dumper", @@ -899,10 +905,22 @@ "2.0", "2.6" ], + "symfony/ux-react": [ + "2.8", + "2.9" + ], + "symfony/ux-svelte": [ + "2.8", + "2.9" + ], "symfony/ux-translator": [ "2.8", "2.9" ], + "symfony/ux-vue": [ + "2.8", + "2.9" + ], "symfony/validator": [ "4.1", "4.3", @@ -1084,11 +1102,29 @@ "symfony/framework-bundle": "<6.2" } }, + "symfony/ux-react": { + "2.9": { + "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0", + "symfony/webpack-encore-bundle": "<2.0" + } + }, + "symfony/ux-svelte": { + "2.9": { + "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0", + "symfony/webpack-encore-bundle": "<2.0" + } + }, "symfony/ux-translator": { "2.9": { "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0" } }, + "symfony/ux-vue": { + "2.9": { + "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0", + "symfony/webpack-encore-bundle": "<2.0" + } + }, "symfony/validator": { "5.3": { "symfony/framework-bundle": "<5.3" diff --git a/symfony.ux-react.2.8.json b/symfony.ux-react.2.8.json new file mode 100644 index 00000000..c0cbf7ac --- /dev/null +++ b/symfony.ux-react.2.8.json @@ -0,0 +1,15 @@ +{ + "manifests": { + "symfony/ux-react": { + "manifest": { + "bundles": { + "Symfony\\UX\\React\\ReactBundle": [ + "all" + ] + } + }, + "files": [], + "ref": "fee05066d80fef87f20023aa637f96ca8cd415c7" + } + } +} diff --git a/symfony.ux-react.2.9.json b/symfony.ux-react.2.9.json new file mode 100644 index 00000000..ce1ee752 --- /dev/null +++ b/symfony.ux-react.2.9.json @@ -0,0 +1,62 @@ +{ + "manifests": { + "symfony/ux-react": { + "manifest": { + "bundles": { + "Symfony\\UX\\React\\ReactBundle": [ + "all" + ] + }, + "copy-from-recipe": { + "assets/": "assets/" + }, + "conflict": { + "symfony/webpack-encore-bundle": "<2.0", + "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0" + }, + "add-lines": [ + { + "file": "webpack.config.js", + "content": "\n .enableReactPreset()", + "position": "after_target", + "target": ".splitEntryChunks()" + }, + { + "file": "assets/app.js", + "content": "import { registerReactControllerComponents } from '@symfony/ux-react';", + "position": "top", + "warn_if_missing": true + }, + { + "file": "assets/app.js", + "content": "registerReactControllerComponents(require.context('./react/controllers', true, /\\.(j|t)sx?$/));", + "position": "bottom", + "warn_if_missing": true, + "requires": "symfony/webpack-encore-bundle" + }, + { + "file": "assets/app.js", + "content": "registerReactControllerComponents();", + "position": "bottom", + "warn_if_missing": true, + "requires": "symfony/asset-mapper" + } + ] + }, + "files": { + "assets/react/controllers/Hello.jsx": { + "contents": [ + "import React from 'react';", + "", + "export default function (props) {", + " return
Hello {props.fullName}
;", + "}", + "" + ], + "executable": false + } + }, + "ref": "e970076b31d602ae6e2106cf91a82c7e1f7ddff2" + } + } +} diff --git a/symfony.ux-svelte.2.8.json b/symfony.ux-svelte.2.8.json new file mode 100644 index 00000000..9000dd88 --- /dev/null +++ b/symfony.ux-svelte.2.8.json @@ -0,0 +1,15 @@ +{ + "manifests": { + "symfony/ux-svelte": { + "manifest": { + "bundles": { + "Symfony\\UX\\Svelte\\SvelteBundle": [ + "all" + ] + } + }, + "files": [], + "ref": "a02524c137fb9900bd0b16d1033654371ad5c14f" + } + } +} diff --git a/symfony.ux-svelte.2.9.json b/symfony.ux-svelte.2.9.json new file mode 100644 index 00000000..680a30aa --- /dev/null +++ b/symfony.ux-svelte.2.9.json @@ -0,0 +1,62 @@ +{ + "manifests": { + "symfony/ux-svelte": { + "manifest": { + "bundles": { + "Symfony\\UX\\Svelte\\SvelteBundle": [ + "all" + ] + }, + "copy-from-recipe": { + "assets/": "assets/" + }, + "conflict": { + "symfony/webpack-encore-bundle": "<2.0", + "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0" + }, + "add-lines": [ + { + "file": "webpack.config.js", + "content": "\n .enableSvelte()", + "position": "after_target", + "target": ".splitEntryChunks()" + }, + { + "file": "assets/app.js", + "content": "import { registerSvelteControllerComponents } from '@symfony/ux-svelte';", + "position": "top", + "warn_if_missing": true + }, + { + "file": "assets/app.js", + "content": "registerSvelteControllerComponents(require.context('./svelte/controllers', true, /\\.svelte$/));", + "position": "bottom", + "warn_if_missing": true, + "requires": "symfony/webpack-encore-bundle" + }, + { + "file": "assets/app.js", + "content": "registerSvelteControllerComponents();", + "position": "bottom", + "warn_if_missing": true, + "requires": "symfony/asset-mapper" + } + ] + }, + "files": { + "assets/svelte/controllers/Hello.svelte": { + "contents": [ + "", + "", + "
Hello {name}
", + "" + ], + "executable": false + } + }, + "ref": "4a6ee82d817d4e9be8d4a861476a112011d701e1" + } + } +} diff --git a/symfony.ux-vue.2.8.json b/symfony.ux-vue.2.8.json new file mode 100644 index 00000000..ee43aaa5 --- /dev/null +++ b/symfony.ux-vue.2.8.json @@ -0,0 +1,15 @@ +{ + "manifests": { + "symfony/ux-vue": { + "manifest": { + "bundles": { + "Symfony\\UX\\Vue\\VueBundle": [ + "all" + ] + } + }, + "files": [], + "ref": "d8639af8055fb0b8bb5f393ff851cb7cdb905b30" + } + } +} diff --git a/symfony.ux-vue.2.9.json b/symfony.ux-vue.2.9.json new file mode 100644 index 00000000..d7a0e1ae --- /dev/null +++ b/symfony.ux-vue.2.9.json @@ -0,0 +1,66 @@ +{ + "manifests": { + "symfony/ux-vue": { + "manifest": { + "bundles": { + "Symfony\\UX\\Vue\\VueBundle": [ + "all" + ] + }, + "copy-from-recipe": { + "assets/": "assets/" + }, + "conflict": { + "symfony/webpack-encore-bundle": "<2.0", + "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0" + }, + "add-lines": [ + { + "file": "webpack.config.js", + "content": "\n .enableVueLoader()", + "position": "after_target", + "target": ".splitEntryChunks()" + }, + { + "file": "assets/app.js", + "content": "import { registerVueControllerComponents } from '@symfony/ux-vue';", + "position": "top", + "warn_if_missing": true + }, + { + "file": "assets/app.js", + "content": "registerVueControllerComponents(require.context('./vue/controllers', true, /\\.vue$/));", + "position": "bottom", + "warn_if_missing": true, + "requires": "symfony/webpack-encore-bundle" + }, + { + "file": "assets/app.js", + "content": "registerVueControllerComponents();", + "position": "bottom", + "warn_if_missing": true, + "requires": "symfony/asset-mapper" + } + ] + }, + "files": { + "assets/vue/controllers/Hello.vue": { + "contents": [ + "", + "", + "", + "" + ], + "executable": false + } + }, + "ref": "7a6b5e211acc7b10b7190e704b40f6d2bca01adf" + } + } +}