infinity-it / tools
Installs: 63
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Language:JavaScript
Requires
- php: ^8.0
- ext-json: *
- laravel/framework: *
Requires (Dev)
This package is auto-updated.
Last update: 2025-07-04 12:51:10 UTC
README
Tools
1. Installation
composer require "infinity-it/tools"
2. required packages
-
package.json
{ "dependencies": { "tools": "file:vendor/infinity-it/tools" } }
-
run
npm i
3. usage
import { /* ... */} from 'tools'
4. Refresh Token
updates the token in all relevant locations (Axios headers, meta tags, and input fields), and optionally runs a callback with the new token and authentication data.
-
route
use \App\Http\Middleware\VerifyCsrfToken; Route::post('refreshToken', fn() => refreshToken())->withoutMiddleware(VerifyCsrfToken::class)->name('refreshToken');
-
js
- use:
import {csrf_update} from 'tools' import route from 'ziggy-js' csrf_update(route('refreshToken'), 'guard-name', /*callback(token, authData)*/null, axios)
- globally use:
axios.interceptors.response.use( response => response, async error => { const originalRequest = error.config if (error.response && error.response.status === 419 && !originalRequest._retry) { originalRequest._retry = true return new Promise((resolve, reject) => { csrf_update(route('refreshToken'), 'web', (token, authData) => { originalRequest.headers['X-CSRF-TOKEN'] = token axios(originalRequest) .then(resolve) .catch(reject) }, axios) }) } return Promise.reject(error) } )
- use:
5. app translate
- app.blade.php
<head> <script> window._locale = '{{ app()->getLocale() }}' window._translations = {!! cache('translations') !!}; </script> </head>
- app.js
import {__, trans} from 'tools'
- Provider
- Laravel 10 and below:
config/app.php
'providers' => [ ... /* * Package Service Providers... */ InfinityIt\Tools\Providers\TranslationServiceProvider::class, ... ]
- Laravel 11 and above :
bootstrap/providers.php
return [ ... InfinityIt\Tools\Providers\TranslationServiceProvider::class, ];
- Laravel 10 and below: