Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: update composer json dependencies, add basic scripts #10

Merged
merged 1 commit into from
Jul 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 17 additions & 31 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,10 @@ Depending on the packages you chose during the installation, you'll find the fol

- Please, configure the environment variables in the `.env` file at the application's root.


### RoadRunnerBridge

- The settings for RoadRunner are in a file `.rr.yaml` at the main folder of the app.
- Documentation: https://spiral.dev/docs/start-server

- Documentation: <https://spiral.dev/docs/start-server>

### CycleBridge

Expand All @@ -28,44 +26,36 @@ Depending on the packages you chose during the installation, you'll find the fol
- Cycle ORM configuration file: `app/config/cycle.php`
- Documentation: `https://spiral.dev/docs/basics-orm`


### LaravelValidator

- Read more about validation in the Spiral Framework: https://spiral.dev/docs/validation-factory
- Documentation: https://spiral.dev/docs/validation-laravel

- Read more about validation in the Spiral Framework: <https://spiral.dev/docs/validation-factory>
- Documentation: <https://spiral.dev/docs/validation-laravel>

### Views

- Read more about views in the Spiral Framework: https://spiral.dev/docs/views-configuration
- Documentation: https://spiral.dev/docs/views-plain

- Read more about views in the Spiral Framework: <https://spiral.dev/docs/views-configuration>
- Documentation: <https://spiral.dev/docs/views-plain>

### DataGridBridge

- Documentation: `https://spiral.dev/docs/component-data-grid`


### LeagueEvent

- Documentation: https://spiral.dev/docs/advanced-events

- Documentation: <https://spiral.dev/docs/advanced-events>

### Scheduler

- Documentation: https://spiral.dev/docs/advanced-scheduler

- Documentation: <https://spiral.dev/docs/advanced-scheduler>

### TemporalBridge

- Documentation: https://spiral.dev/docs/temporal-configuration

- Documentation: <https://spiral.dev/docs/temporal-configuration>

### SentryBridge

- Configure the `SENTRY_DSN` environment variable to enable Sentry error reporting.
- Documentation: https://spiral.dev/docs/basics-errors

- Documentation: <https://spiral.dev/docs/basics-errors>

## Usage

Expand Down Expand Up @@ -127,13 +117,12 @@ You should observe your current-date route within the displayed list:

Now, dive deeper into the fundamentals by reading some articles:

* [Routing](https://spiral.dev/docs/http-routing)
* [Annotated Routing](https://spiral.dev/docs/http-routing#attribute-based-routing)
* [Middleware](https://spiral.dev/docs/http-middleware)
* [Error Pages](https://spiral.dev/docs/http-errors)
* [Custom HTTP handler](https://spiral.dev/docs/cookbook-psr-15)
* [Scaffolding](https://spiral.dev/docs/basics-scaffolding)

- [Routing](https://spiral.dev/docs/http-routing)
- [Annotated Routing](https://spiral.dev/docs/http-routing#attribute-based-routing)
- [Middleware](https://spiral.dev/docs/http-middleware)
- [Error Pages](https://spiral.dev/docs/http-errors)
- [Custom HTTP handler](https://spiral.dev/docs/cookbook-psr-15)
- [Scaffolding](https://spiral.dev/docs/basics-scaffolding)

### RoadRunner Queue server

Expand All @@ -144,7 +133,6 @@ Before you can start the queue server, you need to configure it.
Firs of all, you need to configure the queue broker. All information about the queue broker configuration can be found
in the [RoadRunner documentation](https://roadrunner.dev/docs/queues-overview).


#### Spiral configuration

You can read more about the configuration options in
Expand All @@ -158,7 +146,6 @@ To start the queue server using RoadRunner, run the following command in your pr
./rr serve
```


### RoadRunner HTTP server

To start HTTP server using RoadRunner, run the following command in your project directory:
Expand All @@ -168,13 +155,12 @@ To start HTTP server using RoadRunner, run the following command in your project
```

Once the server is running, you can access your application in a web browser by going to the following
URL: http://127.0.0.1:8080.
URL: <http://127.0.0.1:8080>.

> **Note**:
> For more information on how to use RoadRunner with Spiral, please consult
> the [official documentation](https://spiral.dev/docs/start-server).


## Console commands

### Download or update RoadRunner
Expand Down Expand Up @@ -256,7 +242,7 @@ If you chose to install the default application skeleton, your project will have
- ExceptionHandlerInterceptor.php
```

#### Here's a brief explanation of the directories and files in this structure:
#### Here's a brief explanation of the directories and files in this structure

- **Endpoint**: This directory contains the entry points for your application, including HTTP endpoints (in the Web
subdirectory), command-line interfaces (in the Console subdirectory), and gRPC services (in the RPC subdirectory).
Expand Down
113 changes: 102 additions & 11 deletions app/composer.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,37 @@
{
"name": "spiral/app",
"description": "Spiral Application installer",
"name": "wayofdev/spiral-starter-tpl",
"description": "🚀 Pre-configured Spiral Framework Project Template. Includes PHPUnit, Pest PHP, PHPStan, PHP CS Fixer, and CI tools. Supports OpenAPI, DDD, Deptrac, Deployer, PHP 8.3, Docker, local SSL, and DNS. Enhance development with advanced features and maintain high code quality.",
"license": "MIT",
"type": "project",
"homepage": "https://spiral.dev",
"keywords": [
"php",
"spiral",
"spiral-framework",
"temporal",
"boilerplate",
"spiral-boilerplate",
"starter-template",
"starter-kit",
"spiral-application",
"starter-project",
"spiral-starter-template",
"spiral-starter-kit",
"spiral-api",
"spiral-ddd",
"ddd"
],
"authors": [
{
"name": "lotyp",
"email": "[email protected]",
"homepage": "https://wayof.dev"
}
],
"homepage": "https://wayof.dev",
"support": {
"issues": "https://github.com/spiral/app/issues",
"source": "https://github.com/spiral/app"
"issues": "https://github.com/wayofdev/spiral-starter-tpl/issues",
"source": "https://github.com/wayofdev/spiral-starter-tpl",
"security": "https://github.com/wayofdev/spiral-starter-tpl/blob/master/.github/SECURITY.md"
},
"require": {
"php": "^8.3",
Expand All @@ -31,9 +56,22 @@
"spiral/views": "^3.8"
},
"require-dev": {
"spiral/dumper": "^3.2.1",
"spiral/testing": "^2.3",
"vimeo/psalm": "^5.9"
"ergebnis/phpunit-slow-test-detector": "^2.15",
"fakerphp/faker": "^1.23",
"pestphp/pest": "^2.34",
"phpstan/extension-installer": "^1.3",
"phpstan/phpstan": "^1.11",
"phpstan/phpstan-deprecation-rules": "^1.2",
"phpstan/phpstan-phpunit": "^1.3",
"phpstan/phpstan-strict-rules": "^1.5",
"phpunit/phpunit": "^10.5",
"psalm/plugin-phpunit": "~0.19.0",
"rector/rector": "^1.1",
"roave/infection-static-analysis-plugin": "^1.35",
"spiral/dumper": "^3.3",
"spiral/testing": "^2.8",
"vimeo/psalm": "^5.23.1",
"wayofdev/cs-fixer-config": "^1.4"
},
"minimum-stability": "dev",
"prefer-stable": true,
Expand All @@ -49,12 +87,28 @@
},
"config": {
"allow-plugins": {
"ergebnis/composer-normalize": true,
"infection/extension-installer": true,
"pestphp/pest-plugin": true,
"php-http/discovery": true,
"phpstan/extension-installer": true,
"spiral/composer-publish-plugin": true
},
"audit": {
"abandoned": "report"
},
"optimize-autoloader": true,
"platform": {
"php": "8.3.7"
},
"preferred-install": "dist",
"sort-packages": true
},
"extra": {
"composer-normalize": {
"indent-size": 4,
"indent-style": "space"
},
"publish-cmd": "php app.php publish"
},
"scripts": {
Expand All @@ -64,10 +118,47 @@
"rr get-binary --quiet",
"composer dump-autoload"
],
"psalm:config": "psalm",
"cs:diff": "php-cs-fixer fix --dry-run -v --diff",
"cs:fix": "php-cs-fixer fix -v",
"infect": [
"Composer\\Config::disableProcessTimeout",
"@putenv XDEBUG_MODE=coverage",
"php -d memory_limit=2G vendor/bin/roave-infection-static-analysis-plugin --threads=2"
],
"infect:ci": [
"Composer\\Config::disableProcessTimeout",
"@putenv XDEBUG_MODE=coverage",
"php -d memory_limit=2G vendor/bin/roave-infection-static-analysis-plugin --threads=2 --ansi --logger-github --ignore-msi-with-no-mutations --only-covered"
],
"psalm": "psalm --show-info=true",
"psalm:baseline": "psalm --set-baseline=psalm-baseline.xml",
"psalm:ci": "psalm --output-format=github --shepherd --show-info=false --stats --threads=4",
"refactor": "rector process --config=rector.php",
"refactor:ci": "rector process --config=rector.php --dry-run --ansi",
"rr:download": "rr get-binary",
"rr:download-protoc": "rr download-protoc-binary",
"test": "vendor/bin/phpunit",
"test-coverage": "vendor/bin/phpunit --coverage"
"stan": "phpstan analyse --memory-limit=2G",
"stan:baseline": "phpstan analyse --generate-baseline --memory-limit=2G --allow-empty-baseline",
"stan:ci": "phpstan analyse --memory-limit=2G --error-format=github",
"test": [
"@putenv XDEBUG_MODE=coverage",
"@putenv DB_CONNECTION=memory",
"pest --color=always"
],
"test:arch": [
"@putenv XDEBUG_MODE=coverage",
"@putenv DB_CONNECTION=memory",
"pest --color=always --configuration pest.xml.dist"
],
"test:cc": [
"@putenv XDEBUG_MODE=coverage",
"@putenv DB_CONNECTION=memory",
"pest --coverage --coverage-clover=.build/phpunit/logs/clover.xml --color=always"
],
"test:pgsql": [
"@putenv XDEBUG_MODE=coverage",
"@putenv DB_CONNECTION=pgsql",
"pest --color=always"
]
}
}
Loading