{"id":24780400,"url":"https://github.com/webgriffe/webgriffesyliustablerateshippingplugin","last_synced_at":"2025-09-07T01:32:29.809Z","repository":{"id":42373070,"uuid":"148757095","full_name":"webgriffe/WebgriffeSyliusTableRateShippingPlugin","owner":"webgriffe","description":"Sylius plugin which allows to define shipping rates using weight/rate tables.","archived":false,"fork":false,"pushed_at":"2024-10-15T14:56:07.000Z","size":224,"stargazers_count":13,"open_issues_count":3,"forks_count":10,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-09-03T11:24:59.072Z","etag":null,"topics":["shipping-rates","sylius"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/webgriffe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-09-14T08:10:24.000Z","updated_at":"2024-10-15T14:57:29.000Z","dependencies_parsed_at":"2025-01-29T10:30:33.918Z","dependency_job_id":"3f95f16c-a1d3-4df3-9ca8-a033385947b3","html_url":"https://github.com/webgriffe/WebgriffeSyliusTableRateShippingPlugin","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/webgriffe/WebgriffeSyliusTableRateShippingPlugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webgriffe%2FWebgriffeSyliusTableRateShippingPlugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webgriffe%2FWebgriffeSyliusTableRateShippingPlugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webgriffe%2FWebgriffeSyliusTableRateShippingPlugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webgriffe%2FWebgriffeSyliusTableRateShippingPlugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/webgriffe","download_url":"https://codeload.github.com/webgriffe/WebgriffeSyliusTableRateShippingPlugin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webgriffe%2FWebgriffeSyliusTableRateShippingPlugin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273986612,"owners_count":25202704,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-06T02:00:13.247Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["shipping-rates","sylius"],"created_at":"2025-01-29T10:30:21.350Z","updated_at":"2025-09-07T01:32:29.782Z","avatar_url":"https://github.com/webgriffe.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://sylius.com\" target=\"_blank\"\u003e\n        \u003cimg src=\"https://demo.sylius.com/assets/shop/img/logo.png\" /\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eTable Rate Shipping Plugin\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\u003ca href=\"https://sylius.com/plugins/\" target=\"_blank\"\u003e\u003cimg src=\"https://sylius.com/assets/badge-approved-by-sylius.png\" width=\"200\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003eThis plugin allows to define shipping rates using weight tables.\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003ca href=\"https://github.com/webgriffe/WebgriffeSyliusTableRateShippingPlugin/actions\"\u003e\u003cimg src=\"https://github.com/webgriffe/WebgriffeSyliusTableRateShippingPlugin/workflows/Build/badge.svg\" alt=\"Build Status\" /\u003e\u003c/a\u003e\u003c/p\u003e\n\n## Installation\n\n1. Run `composer require --no-scripts webgriffe/sylius-table-rate-shipping-plugin`.\n\n2. Add the plugin to the `config/bundles.php` file:\n\n   ```php\n   Webgriffe\\SyliusTableRateShippingPlugin\\WebgriffeSyliusTableRateShippingPlugin::class =\u003e ['all' =\u003e true],\n   ```\n\n3. Add the plugin's config to by creating the file `config/packages/webgriffe_sylius_table_rate_shipping_plugin.yaml` with the following content:\n\n   ```yaml\n   imports:\n       - { resource: \"@WebgriffeSyliusTableRateShippingPlugin/Resources/config/config.yml\" }\n   ```\n\n4. Add the plugin's routing by creating the file `config/routes/webgriffe_sylius_table_rate_shipping_plugin.yaml` with the following content:\n\n   ```yaml\n   webgriffe_sylius_table_rate_shipping_plugin_shop:\n     resource: \"@WebgriffeSyliusTableRateShippingPlugin/Resources/config/shop_routing.yml\"\n     prefix: /{_locale}\n     requirements:\n       _locale: ^[A-Za-z]{2,4}(_([A-Za-z]{4}|[0-9]{3}))?(_([A-Za-z]{2}|[0-9]{3}))?$\n   \n   webgriffe_sylius_table_rate_shipping_plugin_admin:\n     resource: \"@WebgriffeSyliusTableRateShippingPlugin/Resources/config/admin_routing.yml\"\n     prefix: /%sylius_admin.path_name%\n   \n   ```\n\n5. Finish the installation by updating the database schema and installing assets:\n\n   ```bash\n   bin/console cache:clear\n   bin/console doctrine:migrations:diff\n   bin/console doctrine:migrations:migrate\n   bin/console assets:install\n   bin/console sylius:theme:assets:install\n   ```\n\n## Contributing\n\nTo contribute you need to:\n\n1. Clone this repository into you development environment and go to the plugin's root directory,\n\n2. Then, from the plugin's root directory, run the following commands:\n\n   ```bash\n   composer install\n   ```\n\n3. Copy `tests/Application/.env` in `tests/Application/.env.local` and set configuration specific for your development environment.\n\n4. Then, from the plugin's root directory, run the following commands:\n\n   ```bash\n   (cd tests/Application \u0026\u0026 yarn install)\n   (cd tests/Application \u0026\u0026 yarn build)\n   (cd tests/Application \u0026\u0026 bin/console assets:install public)\n   (cd tests/Application \u0026\u0026 bin/console doctrine:database:create)\n   (cd tests/Application \u0026\u0026 bin/console doctrine:schema:create)\n   (cd tests/Application \u0026\u0026 bin/console sylius:fixtures:load)\n   (cd tests/Application \u0026\u0026 symfony server:start -d) # Requires Symfony CLI (https://symfony.com/download)\n   ```\n\n5. Now at http://localhost:8080/ you have a full Sylius testing application which runs the plugin\n\n### Testing\n\nAfter your changes you must ensure that the tests are still passing.\n\nFirst setup your test database:\n\n    ```bash\n    (cd tests/Application \u0026\u0026 bin/console -e test doctrine:database:create)\n    (cd tests/Application \u0026\u0026 bin/console -e test doctrine:schema:create)\n    ```\n\nThis plugin's test application already comes with a test configuration that uses SQLite as test database.\nIf you don't want this you can create a `tests/Application/.env.test.local` with a different `DATABASE_URL`.\n\nThe current CI suite runs the following tests:\n\n* Easy Coding Standard\n\n  ```bash\n  vendor/bin/ecs check src/ tests/Behat/\n  ```\n\n* PHPStan\n\n  ```bash\n  vendor/bin/phpstan analyse -c phpstan.neon -l max src/\n  ```\n\n* PHPUnit\n\n  ```bash\n  vendor/bin/phpunit\n  ```\n\n* PHPSpec\n\n  ```bash\n  vendor/bin/phpspec run\n  ```\n\n* Behat (without Javascript)\n\n  ```bash\n  vendor/bin/behat --tags=\"~@javascript\"\n  ```\n\n* Behat (only Javascript)\n\n  ```bash\n  vendor/bin/behat --tags=\"@javascript\"\n  ```\n\nTo run them all with a single command run:\n\n```bash\ncomposer suite\n```\n\nTo run Behat's Javascript scenarios you need to setup Selenium and Chromedriver. Do the following:\n\n1. Start Headless Chrome:\n\n      ```bash\n      google-chrome-stable --enable-automation --disable-background-networking --no-default-browser-check --no-first-run --disable-popup-blocking --disable-default-apps --allow-insecure-localhost --disable-translate --disable-extensions --no-sandbox --enable-features=Metal --headless --remote-debugging-port=9222 --window-size=2880,1800 --proxy-server='direct://' --proxy-bypass-list='*' http://127.0.0.1\n      ```\n\n2. Install SSL certificates (only once needed) and run test application's webserver on `127.0.0.1:8080`:\n\n      ```bash\n      symfony server:ca:install\n      APP_ENV=test symfony server:start --port=8080 --dir=tests/Application/public --daemon\n      ```\n\nLicense\n-------\nThis library is under the MIT license. See the complete license in the LICENSE file.\n\nCredits\n-------\nDeveloped by [Webgriffe®](http://www.webgriffe.com/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebgriffe%2Fwebgriffesyliustablerateshippingplugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebgriffe%2Fwebgriffesyliustablerateshippingplugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebgriffe%2Fwebgriffesyliustablerateshippingplugin/lists"}