Skip to content

Commit 4e2c843

Browse files
committed
Preview release
0 parents  commit 4e2c843

File tree

263 files changed

+28089
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

263 files changed

+28089
-0
lines changed

.gitattributes

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Ignore all test and documentation with "export-ignore".
2+
/.gitattributes export-ignore
3+
/.gitignore export-ignore
4+
/.github export-ignore
5+
/phpunit.xml.dist export-ignore
6+
/tests export-ignore
7+
/workbench export-ignore
8+
/art export-ignore
9+
/docs export-ignore
10+
/test export-ignore
11+
/storage export-ignore
12+
/bootstrap export-ignore
13+
/apps export-ignore
14+
/vendor export-ignore

.github/FUNDING.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# These are supported funding model platforms
2+
3+
github: [aarondfrancis]
4+
patreon: # Replace with a single Patreon username
5+
open_collective: # Replace with a single Open Collective username
6+
ko_fi: # Replace with a single Ko-fi username
7+
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8+
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9+
liberapay: # Replace with a single Liberapay username
10+
issuehunt: # Replace with a single IssueHunt username
11+
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
12+
polar: # Replace with a single Polar username
13+
buy_me_a_coffee: # Replace with a single Buy Me a Coffee username
14+
thanks_dev: # Replace with a single thanks.dev username
15+
custom: ['https://aaronfrancis.com/backstage']

.github/workflows/style.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Fix Code Styling
2+
3+
on: [ push ]
4+
5+
jobs:
6+
lint:
7+
runs-on: ubuntu-latest
8+
9+
permissions:
10+
contents: write
11+
12+
steps:
13+
- name: Checkout code
14+
uses: actions/checkout@v4
15+
with:
16+
ref: ${{ github.head_ref }}
17+
18+
- name: Setup PHP
19+
uses: shivammathur/setup-php@v2
20+
with:
21+
php-version: "8.3"
22+
extensions: json, dom, curl, libxml, mbstring
23+
coverage: none
24+
25+
- name: Install Pint
26+
run: composer global require laravel/pint
27+
28+
- name: Run Pint
29+
run: pint
30+
31+
- name: Commit linted files
32+
uses: stefanzweifel/git-auto-commit-action@v5
33+
with:
34+
commit_message: "Fix code styling [ci skip]"

.github/workflows/tests-base.yml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: Test Fusion Library
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
types: [ opened, synchronize, reopened ]
9+
10+
jobs:
11+
test:
12+
runs-on: ubuntu-latest
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
php: [ 8.3 ]
17+
laravel: [ 11.* ]
18+
dependency-version: [ prefer-lowest, prefer-stable ]
19+
20+
name: "P:${{ matrix.php }}, L:${{ matrix.laravel }}, V: ${{ matrix.dependency-version }}"
21+
22+
steps:
23+
- name: Checkout Code
24+
uses: actions/checkout@v4
25+
26+
- name: Cache Composer Dependencies
27+
uses: actions/cache@v4
28+
with:
29+
path: ~/.composer/cache/files
30+
key: composer-${{ matrix.laravel }}-${{ matrix.php }}-${{ hashFiles('composer.json') }}
31+
32+
- name: Setup PHP
33+
uses: shivammathur/setup-php@v2
34+
with:
35+
php-version: ${{ matrix.php }}
36+
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, imagick
37+
coverage: none
38+
39+
- name: Install PHP Dependencies
40+
run: |
41+
composer self-update
42+
composer require "laravel/framework:${{ matrix.laravel }}" --no-interaction --no-update
43+
composer update --${{ matrix.dependency-version }} --prefer-dist --no-interaction
44+
45+
- name: Setup Node.js
46+
uses: actions/setup-node@v3
47+
with:
48+
node-version: '20'
49+
cache: 'npm'
50+
cache-dependency-path: 'packages/vue/package.json'
51+
52+
- name: Install Node Dependencies
53+
run: npm install
54+
working-directory: packages/vue
55+
56+
- name: Run npm tests
57+
run: npm run test
58+
working-directory: packages/vue
59+
60+
- name: Run PHP Tests
61+
run: vendor/bin/phpunit

.github/workflows/tests-vue.yml

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
name: Vue App Tests
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
types: [ opened, synchronize, reopened ]
9+
10+
jobs:
11+
test:
12+
runs-on: ubuntu-latest
13+
env:
14+
APP_URL: "http://127.0.0.1:8000"
15+
strategy:
16+
fail-fast: false
17+
matrix:
18+
php: [ 8.3 ]
19+
laravel: [ 11.* ]
20+
dependency-version: [ prefer-stable ]
21+
22+
name: "P:${{ matrix.php }}, L:${{ matrix.laravel }}, V: ${{ matrix.dependency-version }}"
23+
24+
steps:
25+
- name: Checkout Code
26+
uses: actions/checkout@v4
27+
28+
- name: Cache Composer Dependencies
29+
uses: actions/cache@v4
30+
with:
31+
path: ~/.cache/composer
32+
key: composer-app-vue-${{ matrix.laravel }}-${{ matrix.php }}-${{ hashFiles('apps/vue/composer.json') }}
33+
34+
- name: Setup PHP
35+
uses: shivammathur/setup-php@v2
36+
with:
37+
php-version: ${{ matrix.php }}
38+
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, imagick
39+
40+
- name: Setup Node.js
41+
uses: actions/setup-node@v4
42+
with:
43+
node-version: '20'
44+
cache: 'npm'
45+
cache-dependency-path: 'apps/vue/package-lock.json'
46+
47+
- name: Install PHP Dependencies
48+
working-directory: apps/vue
49+
run: |
50+
composer self-update
51+
composer update --${{ matrix.dependency-version }} --prefer-dist --no-interaction
52+
php artisan --version
53+
54+
- name: Copy Environment File
55+
working-directory: apps/vue
56+
run: |
57+
cp .env.example .env
58+
php artisan key:generate
59+
60+
- name: Install Node Dependencies
61+
working-directory: apps/vue
62+
run: npm ci
63+
64+
# Install Rollup's Linux-specific optional dependency explicitly
65+
# This is needed due to an npm bug with optional dependencies:
66+
# https://github.com/npm/cli/issues/4828
67+
- name: Install Rollup Linux Dependencies
68+
working-directory: packages/vue
69+
run: npm install @rollup/rollup-linux-x64-gnu
70+
71+
- name: Install Rollup Linux Dependencies
72+
working-directory: apps/vue
73+
run: npm install @rollup/rollup-linux-x64-gnu
74+
75+
- name: Build Assets
76+
working-directory: apps/vue
77+
run: npm run build
78+
79+
- name: Install Playwright Browsers
80+
working-directory: apps/vue
81+
run: npx playwright install --with-deps
82+
83+
- name: Run Laravel Server
84+
working-directory: apps/vue
85+
run: php artisan serve --no-reload &
86+
87+
- name: Run Playwright tests
88+
working-directory: apps/vue
89+
run: npx playwright test
90+
91+
- uses: actions/upload-artifact@v4
92+
if: ${{ !cancelled() }}
93+
with:
94+
name: playwright-report
95+
path: apps/vue/playwright/reports/
96+
retention-days: 30

.gitignore

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
.idea
2+
.phpunit.result.cache
3+
build
4+
composer.lock
5+
coverage
6+
phpunit.xml
7+
phpstan.neon
8+
vendor
9+
node_modules
10+
tests/Screenshots
11+
12+
docs/*.blade.php
13+
docs/**/*.blade.php
14+
.phpunit.cache/test-results
15+
apps/fusionphp-fusion-dev-main.zip

CHANGELOG.md

Whitespace-only changes.

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2024 Aaron Francis
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

0 commit comments

Comments
 (0)