mirror of
https://github.com/crater-invoice/crater.git
synced 2025-10-27 11:41:09 -04:00
Compare commits
4 Commits
dark-label
...
upgrade-vi
| Author | SHA1 | Date | |
|---|---|---|---|
| e1baac7e3f | |||
| 05d5ce26fd | |||
| 393fe20010 | |||
| 57bdbd2897 |
9
.github/workflows/uffizzi-build.yml
vendored
9
.github/workflows/uffizzi-build.yml
vendored
@ -14,8 +14,6 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout git repo
|
- name: Checkout git repo
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
- name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v2
|
|
||||||
- name: Generate UUID image name
|
- name: Generate UUID image name
|
||||||
id: uuid
|
id: uuid
|
||||||
run: echo "UUID_TAG_APP=$(uuidgen)" >> $GITHUB_ENV
|
run: echo "UUID_TAG_APP=$(uuidgen)" >> $GITHUB_ENV
|
||||||
@ -33,11 +31,10 @@ jobs:
|
|||||||
tags: ${{ steps.meta.outputs.tags }}
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
labels: ${{ steps.meta.outputs.labels }}
|
labels: ${{ steps.meta.outputs.labels }}
|
||||||
file: ./uffizzi/Dockerfile
|
file: ./uffizzi/Dockerfile
|
||||||
cache-from: type=gha
|
|
||||||
cache-to: type=gha,mode=max
|
|
||||||
|
|
||||||
|
|
||||||
build-nginx:
|
build-nginx:
|
||||||
|
needs:
|
||||||
|
- build-application
|
||||||
name: Build and Push `nginx`
|
name: Build and Push `nginx`
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
if: ${{ github.event_name != 'pull_request' || github.event.action != 'closed' }}
|
if: ${{ github.event_name != 'pull_request' || github.event.action != 'closed' }}
|
||||||
@ -65,6 +62,8 @@ jobs:
|
|||||||
tags: ${{ steps.meta.outputs.tags }}
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
labels: ${{ steps.meta.outputs.labels }}
|
labels: ${{ steps.meta.outputs.labels }}
|
||||||
file: ./uffizzi/nginx/Dockerfile
|
file: ./uffizzi/nginx/Dockerfile
|
||||||
|
build-args: |
|
||||||
|
BASE_IMAGE=${{ needs.build-application.outputs.tags }}
|
||||||
cache-from: type=gha
|
cache-from: type=gha
|
||||||
cache-to: type=gha,mode=max
|
cache-to: type=gha,mode=max
|
||||||
|
|
||||||
|
|||||||
3
.gitignore
vendored
3
.gitignore
vendored
@ -16,4 +16,5 @@ Homestead.yaml
|
|||||||
.gitkeep
|
.gitkeep
|
||||||
/public/docs
|
/public/docs
|
||||||
/.scribe
|
/.scribe
|
||||||
!storage/fonts/.gitkeep
|
!storage/fonts/.gitkeep
|
||||||
|
.DS_Store
|
||||||
|
|||||||
@ -55,7 +55,7 @@ class CreateTemplateCommand extends Command
|
|||||||
copy(public_path("/build/img/PDF/{$type}1.png"), public_path("/build/img/PDF/{$templateName}.png"));
|
copy(public_path("/build/img/PDF/{$type}1.png"), public_path("/build/img/PDF/{$templateName}.png"));
|
||||||
copy(resource_path("/static/img/PDF/{$type}1.png"), resource_path("/static/img/PDF/{$templateName}.png"));
|
copy(resource_path("/static/img/PDF/{$type}1.png"), resource_path("/static/img/PDF/{$templateName}.png"));
|
||||||
|
|
||||||
$path = resource_path("app/pdf/{$type}/{$templateName}.blade.php");
|
$path = resource_path("views/app/pdf/{$type}/{$templateName}.blade.php");
|
||||||
$type = ucfirst($type);
|
$type = ucfirst($type);
|
||||||
$this->info("{$type} Template created successfully at ".$path);
|
$this->info("{$type} Template created successfully at ".$path);
|
||||||
|
|
||||||
|
|||||||
@ -17,7 +17,6 @@
|
|||||||
"fideloper/proxy": "^4.0",
|
"fideloper/proxy": "^4.0",
|
||||||
"fruitcake/laravel-cors": "^1.0",
|
"fruitcake/laravel-cors": "^1.0",
|
||||||
"guzzlehttp/guzzle": "^7.0.1",
|
"guzzlehttp/guzzle": "^7.0.1",
|
||||||
"innocenzi/laravel-vite": "^0.1.1",
|
|
||||||
"intervention/image": "^2.3",
|
"intervention/image": "^2.3",
|
||||||
"jasonmccreary/laravel-test-assertions": "^2.0",
|
"jasonmccreary/laravel-test-assertions": "^2.0",
|
||||||
"laravel/framework": "^8.0",
|
"laravel/framework": "^8.0",
|
||||||
|
|||||||
2709
composer.lock
generated
2709
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@ -27,6 +27,7 @@ return [
|
|||||||
'tokenizer',
|
'tokenizer',
|
||||||
'JSON',
|
'JSON',
|
||||||
'cURL',
|
'cURL',
|
||||||
|
'zip',
|
||||||
],
|
],
|
||||||
'apache' => [
|
'apache' => [
|
||||||
'mod_rewrite',
|
'mod_rewrite',
|
||||||
|
|||||||
@ -1,67 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
return [
|
|
||||||
/*
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| Entrypoints
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| The files in the configured directories will be considered
|
|
||||||
| entry points and will not be required in the configuration file.
|
|
||||||
| To disable the feature, set to false.
|
|
||||||
*/
|
|
||||||
'entrypoints' => [
|
|
||||||
'resources/scripts/main.js',
|
|
||||||
],
|
|
||||||
'ignore_patterns' => ["/\.d\.ts$/"],
|
|
||||||
|
|
||||||
/*
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| Aliases
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| These aliases will be added to the Vite configuration and used
|
|
||||||
| to generate a proper tsconfig.json file.
|
|
||||||
*/
|
|
||||||
'aliases' => [
|
|
||||||
'@' => 'resources',
|
|
||||||
],
|
|
||||||
|
|
||||||
/*
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| Static assets path
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| This option defines the directory that Vite considers as the
|
|
||||||
| public directory. Its content will be copied to the build directory
|
|
||||||
| at build-time.
|
|
||||||
| https://vitejs.dev/config/#publicdir
|
|
||||||
*/
|
|
||||||
'public_directory' => resource_path('static'),
|
|
||||||
|
|
||||||
/*
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| Ping timeout
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| The maximum duration, in seconds, that the ping to the development
|
|
||||||
| server should take while trying to determine whether to use the
|
|
||||||
| manifest or the server in a local environment.
|
|
||||||
*/
|
|
||||||
'ping_timeout' => .1,
|
|
||||||
|
|
||||||
/*
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| Build path
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| The directory, relative to /public, in which Vite will build
|
|
||||||
| the production files. This should match "build.outDir" in the Vite
|
|
||||||
| configuration file.
|
|
||||||
*/
|
|
||||||
'build_path' => 'build',
|
|
||||||
|
|
||||||
/*
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| Development URL
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| The URL at which the Vite development server runs.
|
|
||||||
| This is used to generate the script tags when developing.
|
|
||||||
*/
|
|
||||||
'dev_url' => 'http://localhost:3000',
|
|
||||||
];
|
|
||||||
15
package.json
15
package.json
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite --port=3000",
|
||||||
"build": "vite build",
|
"build": "vite build",
|
||||||
"serve": "vite preview",
|
"serve": "vite preview",
|
||||||
"test": "eslint ./resources/scripts --ext .js,.vue"
|
"test": "eslint ./resources/scripts --ext .js,.vue"
|
||||||
@ -18,13 +18,12 @@
|
|||||||
"eslint": "^7.27.0",
|
"eslint": "^7.27.0",
|
||||||
"eslint-config-prettier": "^8.3.0",
|
"eslint-config-prettier": "^8.3.0",
|
||||||
"eslint-plugin-vue": "^7.0.0-beta.4",
|
"eslint-plugin-vue": "^7.0.0-beta.4",
|
||||||
"laravel-vite": "^0.0.7",
|
|
||||||
"postcss": "^8.4.5",
|
"postcss": "^8.4.5",
|
||||||
"prettier": "^2.3.0",
|
"prettier": "^2.3.0",
|
||||||
"sass": "^1.32.12",
|
"sass": "^1.32.12",
|
||||||
"tailwind-scrollbar": "^1.3.1",
|
"tailwind-scrollbar": "^1.3.1",
|
||||||
"tailwindcss": "^3.0.6",
|
"tailwindcss": "^3.0.6",
|
||||||
"vite": "^2.6.1"
|
"vite": "^4.0.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@headlessui/vue": "^1.4.0",
|
"@headlessui/vue": "^1.4.0",
|
||||||
@ -32,10 +31,11 @@
|
|||||||
"@popperjs/core": "^2.9.2",
|
"@popperjs/core": "^2.9.2",
|
||||||
"@stripe/stripe-js": "^1.21.2",
|
"@stripe/stripe-js": "^1.21.2",
|
||||||
"@tailwindcss/line-clamp": "^0.3.0",
|
"@tailwindcss/line-clamp": "^0.3.0",
|
||||||
"@tiptap/core": "^2.0.0-beta.85",
|
"@tiptap/core": "^2.0.3",
|
||||||
"@tiptap/extension-text-align": "^2.0.0-beta.29",
|
"@tiptap/extension-text-align": "^2.0.3",
|
||||||
"@tiptap/starter-kit": "^2.0.0-beta.81",
|
"@tiptap/pm": "^2.0.3",
|
||||||
"@tiptap/vue-3": "^2.0.0-beta.38",
|
"@tiptap/starter-kit": "^2.0.3",
|
||||||
|
"@tiptap/vue-3": "^2.0.3",
|
||||||
"@vuelidate/components": "^1.1.12",
|
"@vuelidate/components": "^1.1.12",
|
||||||
"@vuelidate/core": "^2.0.0-alpha.32",
|
"@vuelidate/core": "^2.0.0-alpha.32",
|
||||||
"@vuelidate/validators": "^2.0.0-alpha.25",
|
"@vuelidate/validators": "^2.0.0-alpha.25",
|
||||||
@ -43,6 +43,7 @@
|
|||||||
"axios": "^0.19",
|
"axios": "^0.19",
|
||||||
"chart.js": "^2.7.3",
|
"chart.js": "^2.7.3",
|
||||||
"guid": "0.0.12",
|
"guid": "0.0.12",
|
||||||
|
"laravel-vite-plugin": "^0.7.4",
|
||||||
"lodash": "^4.17.13",
|
"lodash": "^4.17.13",
|
||||||
"maska": "^1.4.6",
|
"maska": "^1.4.6",
|
||||||
"mini-svg-data-uri": "^1.3.3",
|
"mini-svg-data-uri": "^1.3.3",
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
<link rel="stylesheet" href="/modules/styles/{{ $name }}">
|
<link rel="stylesheet" href="/modules/styles/{{ $name }}">
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|
||||||
@vite
|
@vite('resources/scripts/main.js')
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body
|
<body
|
||||||
@ -57,15 +57,15 @@
|
|||||||
|
|
||||||
window.login_page_description = "{{$login_page_description}}"
|
window.login_page_description = "{{$login_page_description}}"
|
||||||
|
|
||||||
@endif
|
@endif
|
||||||
@if(isset($copyright_text))
|
@if(isset($copyright_text))
|
||||||
|
|
||||||
window.copyright_text = "{{$copyright_text}}"
|
window.copyright_text = "{{$copyright_text}}"
|
||||||
|
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
window.Crater.start()
|
// window.Crater.start()
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
@ -11,7 +11,8 @@ RUN apt-get update && apt-get install -y \
|
|||||||
unzip \
|
unzip \
|
||||||
libzip-dev \
|
libzip-dev \
|
||||||
libmagickwand-dev \
|
libmagickwand-dev \
|
||||||
mariadb-client
|
mariadb-client \
|
||||||
|
npm
|
||||||
|
|
||||||
# Clear cache
|
# Clear cache
|
||||||
RUN apt-get clean && rm -rf /var/lib/apt/lists/*
|
RUN apt-get clean && rm -rf /var/lib/apt/lists/*
|
||||||
@ -45,4 +46,19 @@ RUN chmod -R 775 composer.json composer.lock \
|
|||||||
RUN chown -R $(whoami):$(whoami) /var/log/
|
RUN chown -R $(whoami):$(whoami) /var/log/
|
||||||
RUN chmod -R 775 /var/log
|
RUN chmod -R 775 /var/log
|
||||||
|
|
||||||
|
# Cleanup manually generated build files
|
||||||
|
RUN rm -rf /var/www/public/build
|
||||||
|
RUN npm config set user 0
|
||||||
|
RUN npm config set unsafe-perm true
|
||||||
|
# Frontend bulding
|
||||||
|
RUN sed -i 's/DB_CONNECTION=mysql/DB_CONNECTION=sqlite/g' /var/www/.env
|
||||||
|
RUN sed -i 's/DB_DATABASE=crater/DB_DATABASE=\/tmp\/crater.sqlite/g' /var/www/.env
|
||||||
|
RUN touch /tmp/crater.sqlite
|
||||||
|
RUN composer install --no-interaction --prefer-dist
|
||||||
|
RUN npm i -f
|
||||||
|
RUN npm install --save-dev sass
|
||||||
|
RUN export NODE_OPTIONS="--max-old-space-size=4096" && /usr/bin/npx vite build --target=es2020
|
||||||
|
RUN sed -i 's/DB_CONNECTION=sqlite/DB_CONNECTION=mysql/g' /var/www/.env
|
||||||
|
RUN sed -i 's/DB_DATABASE=\/tmp\/crater.sqlite/DB_DATABASE=crater/g' /var/www/.env
|
||||||
|
|
||||||
USER crater-user
|
USER crater-user
|
||||||
|
|||||||
@ -1,7 +1,9 @@
|
|||||||
|
ARG BASE_IMAGE
|
||||||
|
|
||||||
|
FROM $BASE_IMAGE as build
|
||||||
FROM nginx:1.17-alpine
|
FROM nginx:1.17-alpine
|
||||||
|
|
||||||
RUN rm /etc/nginx/conf.d/default.conf
|
RUN rm /etc/nginx/conf.d/default.conf
|
||||||
|
|
||||||
COPY ./ /var/www
|
COPY --from=build /var/www /var/www
|
||||||
COPY ./uffizzi/nginx/nginx /etc/nginx/conf.d/
|
COPY ./uffizzi/nginx/nginx /etc/nginx/conf.d/
|
||||||
|
|
||||||
|
|||||||
@ -1,17 +1,24 @@
|
|||||||
import { defineConfig } from 'laravel-vite'
|
import { defineConfig } from 'vite'
|
||||||
|
import laravel from 'laravel-vite-plugin'
|
||||||
import vue from '@vitejs/plugin-vue'
|
import vue from '@vitejs/plugin-vue'
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
server: {
|
server: {
|
||||||
watch: {
|
watch: {
|
||||||
ignored: ['**/.env/**'],
|
ignored: ['**/.env/**'],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
plugins: [
|
||||||
|
vue(),
|
||||||
|
laravel({
|
||||||
|
input: ['resources/scripts/main.js'],
|
||||||
|
valetTls: false,
|
||||||
|
}),
|
||||||
|
],
|
||||||
resolve: {
|
resolve: {
|
||||||
alias: {
|
alias: {
|
||||||
"vue-i18n": "vue-i18n/dist/vue-i18n.cjs.js"
|
'@': '/resources',
|
||||||
}
|
'vue-i18n': 'vue-i18n/dist/vue-i18n.cjs.js'
|
||||||
}
|
},
|
||||||
}).withPlugins(
|
},
|
||||||
vue
|
})
|
||||||
)
|
|
||||||
Reference in New Issue
Block a user