Arno Kaimbacher
c4f4eff0d9
All checks were successful
CI Pipeline / japa-tests (push) Successful in 59s
- typescript and prettier updates - FileUpload component with dark mode and dragable uploads - comment FontFamily in tailwind.config.js
280 lines
8.4 KiB
TypeScript
280 lines
8.4 KiB
TypeScript
/**
|
|
* Config source: https://git.io/JfefZ
|
|
*
|
|
* Feel free to let us know via PR, if you find something broken in this config
|
|
* file.
|
|
*/
|
|
|
|
import proxyAddr from 'proxy-addr';
|
|
import Env from '@ioc:Adonis/Core/Env';
|
|
import Application from '@ioc:Adonis/Core/Application';
|
|
import type { ServerConfig } from '@ioc:Adonis/Core/Server';
|
|
import type { LoggerConfig } from '@ioc:Adonis/Core/Logger';
|
|
import type { ProfilerConfig } from '@ioc:Adonis/Core/Profiler';
|
|
import type { ValidatorConfig } from '@ioc:Adonis/Core/Validator';
|
|
import type { AssetsManagerConfig } from '@ioc:Adonis/Core/AssetsManager';
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Application secret key
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| The secret to encrypt and sign different values in your application.
|
|
| Make sure to keep the `APP_KEY` as an environment variable and secure.
|
|
|
|
|
| Note: Changing the application key for an existing app will make all
|
|
| the cookies invalid and also the existing encrypted data will not
|
|
| be decrypted.
|
|
|
|
|
*/
|
|
export const appKey: string = Env.get('APP_KEY');
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Http server configuration
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| The configuration for the HTTP(s) server. Make sure to go through all
|
|
| the config properties to make keep server secure.
|
|
|
|
|
*/
|
|
export const http: ServerConfig = {
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Allow method spoofing
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Method spoofing enables defining custom HTTP methods using a query string
|
|
| `_method`. This is usually required when you are making traditional
|
|
| form requests and wants to use HTTP verbs like `PUT`, `DELETE` and
|
|
| so on.
|
|
|
|
|
*/
|
|
allowMethodSpoofing: false,
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Subdomain offset
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
subdomainOffset: 2,
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Request Ids
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Setting this value to `true` will generate a unique request id for each
|
|
| HTTP request and set it as `x-request-id` header.
|
|
|
|
|
*/
|
|
generateRequestId: false,
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Trusting proxy servers
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Define the proxy servers that AdonisJs must trust for reading `X-Forwarded`
|
|
| headers.
|
|
|
|
|
*/
|
|
trustProxy: proxyAddr.compile('loopback'),
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Generating Etag
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Whether or not to generate an etag for every response.
|
|
|
|
|
*/
|
|
etag: false,
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| JSONP Callback
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
jsonpCallbackName: 'callback',
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Cookie settings
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
cookie: {
|
|
domain: '',
|
|
path: '/',
|
|
maxAge: '2h',
|
|
httpOnly: true,
|
|
secure: false,
|
|
sameSite: false,
|
|
},
|
|
};
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Logger
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
export const logger: LoggerConfig = {
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Application name
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| The name of the application you want to add to the log. It is recommended
|
|
| to always have app name in every log line.
|
|
|
|
|
| The `APP_NAME` environment variable is automatically set by AdonisJS by
|
|
| reading the `name` property from the `package.json` file.
|
|
|
|
|
*/
|
|
name: Env.get('APP_NAME'),
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Toggle logger
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Enable or disable logger application wide
|
|
|
|
|
*/
|
|
enabled: true,
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Logging level
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| The level from which you want the logger to flush logs. It is recommended
|
|
| to make use of the environment variable, so that you can define log levels
|
|
| at deployment level and not code level.
|
|
|
|
|
*/
|
|
level: Env.get('LOG_LEVEL', 'info'),
|
|
redact: {
|
|
paths: ['password', '*.password'],
|
|
},
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Pretty print
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| It is highly advised NOT to use `prettyPrint` in production, since it
|
|
| can have huge impact on performance.
|
|
|
|
|
*/
|
|
prettyPrint: Env.get('NODE_ENV') === 'development',
|
|
};
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Profiler
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
export const profiler: ProfilerConfig = {
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Toggle profiler
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Enable or disable profiler
|
|
|
|
|
*/
|
|
enabled: true,
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Blacklist actions/row labels
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Define an array of actions or row labels that you want to disable from
|
|
| getting profiled.
|
|
|
|
|
*/
|
|
blacklist: [],
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Whitelist actions/row labels
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Define an array of actions or row labels that you want to whitelist for
|
|
| the profiler. When whitelist is defined, then `blacklist` is ignored.
|
|
|
|
|
*/
|
|
whitelist: [],
|
|
};
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Validator
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Configure the global configuration for the validator. Here's the reference
|
|
| to the default config https://git.io/JT0WE
|
|
|
|
|
*/
|
|
export const validator: ValidatorConfig = {};
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Assets
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Configure the asset manager you are using to compile the frontend assets
|
|
|
|
|
*/
|
|
export const assets: AssetsManagerConfig = {
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Driver
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Currently we only support webpack encore and may introduce more drivers
|
|
| in the future
|
|
|
|
|
*/
|
|
driver: Env.get('ASSETS_DRIVER'),
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Public path
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Directory to search for the "manifest.json" and the "entrypoints.json"
|
|
| files
|
|
|
|
|
*/
|
|
publicPath: Application.publicPath('assets'),
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Script tag
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Define attributes for the entryPointScripts tags
|
|
|
|
|
*/
|
|
script: {
|
|
attributes: {
|
|
defer: true,
|
|
},
|
|
},
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Style tag
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Define attributes for the entryPointStyles tags
|
|
|
|
|
*/
|
|
style: {
|
|
attributes: {},
|
|
},
|
|
};
|