Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
7f1a458
Generate SDK - with JSON:API support
tomasvanrijsse Nov 15, 2025
aabc4b9
add tests
tomasvanrijsse Nov 15, 2025
b1e23e4
simplified service provider
tomasvanrijsse Nov 15, 2025
5505638
Response class
tomasvanrijsse Nov 15, 2025
1e081c3
pagination
tomasvanrijsse Nov 15, 2025
0b140d9
fixes
tomasvanrijsse Nov 17, 2025
4e96dee
tests
tomasvanrijsse Nov 17, 2025
4e976c2
fix phpstan
tomasvanrijsse Nov 17, 2025
68392bf
fix phpstan errors
tomasvanrijsse Nov 17, 2025
e4b7be9
run generate and pint
tomasvanrijsse Nov 17, 2025
af8f00d
remove put requests
tomasvanrijsse Nov 17, 2025
0dbd2cb
clean up before generate
tomasvanrijsse Nov 17, 2025
6f33139
request postfix
tomasvanrijsse Nov 17, 2025
7f1f4a8
ignore PUT requests
tomasvanrijsse Nov 17, 2025
ee11001
add saloon-sdk-generator to composer require-dev
tomasvanrijsse Nov 17, 2025
afb3d5f
generate the connector
tomasvanrijsse Nov 17, 2025
8c32bc8
wip automated tests
tomasvanrijsse Nov 17, 2025
86e3c40
add github workflow
tomasvanrijsse Nov 17, 2025
460fb4d
move generated tests to separate directory
tomasvanrijsse Nov 18, 2025
0af5297
wip: dev setup + notes
tomasvanrijsse Nov 20, 2025
5aae182
delete fixtures
tomasvanrijsse Nov 20, 2025
53a3051
add fluent filters
tomasvanrijsse Nov 20, 2025
1bc215a
remove timestamp from tests
tomasvanrijsse Nov 20, 2025
919d6a9
add Id postfix to parameters
tomasvanrijsse Nov 21, 2025
287323d
merge concerns and foundation
tomasvanrijsse Nov 21, 2025
c83850c
fluent filters testing
tomasvanrijsse Nov 21, 2025
795accd
add inline mock data to tests
tomasvanrijsse Nov 21, 2025
5a12291
add request body validation for mutation requests
tomasvanrijsse Nov 21, 2025
70cd2ca
move generators to separate directory
tomasvanrijsse Nov 21, 2025
29729bf
test generator code clean up
tomasvanrijsse Nov 22, 2025
149dacc
consistent stub naming
tomasvanrijsse Nov 22, 2025
23b27c3
remove unused traits from base test generator
tomasvanrijsse Nov 22, 2025
ec94bbe
clean up singular test generator
tomasvanrijsse Nov 22, 2025
06ec401
use ApiSpecification and DTO's for tests
tomasvanrijsse Nov 22, 2025
6ee301a
hydration wip
tomasvanrijsse Nov 22, 2025
a30c927
remove redundant customizations
tomasvanrijsse Nov 22, 2025
e467e82
use generatedCode for DTOs tests
tomasvanrijsse Nov 22, 2025
d924894
add DTO support to requests
tomasvanrijsse Nov 22, 2025
1a13bed
add DTO hydration tests
tomasvanrijsse Nov 22, 2025
b56da25
fix type for fields hasSomeID field
tomasvanrijsse Nov 22, 2025
8912618
skip tests for endpoints without DTO
tomasvanrijsse Nov 22, 2025
22905d9
deduplicate test data generation
tomasvanrijsse Nov 22, 2025
bd6efb7
reuse DtoClassName helper
tomasvanrijsse Nov 22, 2025
17c4aa3
cleanup
tomasvanrijsse Nov 22, 2025
0c6fe25
remove comment
tomasvanrijsse Nov 22, 2025
95d5835
recognize more fields as dateTime fields for DTOs
tomasvanrijsse Nov 22, 2025
5129608
exceptions instead of unused fallbacks
tomasvanrijsse Nov 23, 2025
5ac7e4d
remove duplicated code in mutationsRequestTestGenerator
tomasvanrijsse Nov 23, 2025
aa8daea
use fork with hooks
tomasvanrijsse Nov 23, 2025
bcec33b
skip tests for Endpoint without DTO
tomasvanrijsse Nov 23, 2025
9983a7f
remove schema dependency
tomasvanrijsse Nov 23, 2025
ca2f964
ignore sdk-generator in tests
tomasvanrijsse Nov 23, 2025
940873a
ignore other tools in pest workflow
tomasvanrijsse Nov 23, 2025
7a82ef9
fix correct Model param in docblock
tomasvanrijsse Nov 23, 2025
36becc8
require php 8.2
tomasvanrijsse Nov 23, 2025
20b7827
remove hydration from requests without valid DTO
tomasvanrijsse Nov 23, 2025
1d0dfdf
add saloon laravel plugin
tomasvanrijsse Nov 23, 2025
377ced0
drop lowest compatibility
tomasvanrijsse Nov 23, 2025
f0b6881
remove unused filters from resources
tomasvanrijsse Nov 23, 2025
1af0ebf
remove support for resources
tomasvanrijsse Nov 24, 2025
eb4fdc2
use requests instead of resources in tests
tomasvanrijsse Nov 24, 2025
e335ab7
pipeline fix
tomasvanrijsse Nov 24, 2025
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
25 changes: 25 additions & 0 deletions .claude/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"permissions": {
"allow": [
"Edit(file_path:tests/Pest.php)",
"Edit(file_path:tests/TestCase.php)",
"Edit(file_path:generator/**)",
"Write(file_path:tests/Pest.php)",
"Write(file_path:tests/TestCase.php)",
"Write(file_path:generator/**)"
],
"deny": [
"Edit(file_path:src/TimaticConnector.php)",
"Edit(file_path:src/Dto/**)",
"Edit(file_path:src/Requests/**)",
"Edit(file_path:src/Resource/**)",
"Edit(file_path:tests/*Test.php)",
"Write(file_path:src/TimaticConnector.php)",
"Write(file_path:src/Dto/**)",
"Write(file_path:src/Requests/**)",
"Write(file_path:src/Resource/**)",
"Write(file_path:tests/*Test.php)"
],
"ask": []
}
}
31 changes: 31 additions & 0 deletions .github/workflows/code-style.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Code Style

on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
workflow_dispatch:

jobs:
pint:
runs-on: ubuntu-latest

name: Laravel Pint

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.3
extensions: dom, curl, libxml, mbstring, zip
coverage: none

- name: Install dependencies
run: composer install --prefer-dist --no-interaction

- name: Run Laravel Pint
run: ./vendor/bin/pint --test
31 changes: 31 additions & 0 deletions .github/workflows/static-analysis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Static Analysis

on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
workflow_dispatch:

jobs:
larastan:
runs-on: ubuntu-latest

name: Larastan

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.3
extensions: dom, curl, libxml, mbstring, zip
coverage: none

- name: Install dependencies
run: composer install --prefer-dist --no-interaction

- name: Run Larastan
run: ./vendor/bin/phpstan analyse --memory-limit=2G
45 changes: 45 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Tests

on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
workflow_dispatch:

jobs:
tests:
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
php: [8.2, 8.3, 8.4]
laravel: [10.*, 11.*, 12.*]

name: PHP ${{ matrix.php }} - Laravel ${{ matrix.laravel }}

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv
coverage: none

- name: Setup problem matchers
run: |
echo "::add-matcher::${{ runner.tool_cache }}/php.json"
echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"

- name: Install dependencies
run: |
composer remove "crescat-io/saloon-sdk-generator" "larastan/larastan" "laravel/boost" "laravel/pint" --dev --no-interaction
composer require "laravel/framework:${{ matrix.laravel }}" " saloonphp/laravel-plugin" --no-interaction --no-update
composer update --prefer-dist --no-interaction

- name: Run Pest tests
run: ./vendor/bin/pest
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
/vendor/
/.idea/
composer.lock
.phpunit.result.cache
.DS_Store
openapi.json
.claude/settings.local.json
Loading