Configuration File
Your project's configuration lives in a purplet.config.ts
file. All values are optional. The complete list of options, with defaults, is shown here:
- TypeScript
- JavaScript
import { Config } from 'purplet';
const config: Config = {
alias: {
$features: 'src/features',
$lib: 'src/lib',
},
allowedMentions: {
repliedUser: true,
parse: ['users'],
},
lang: 'en-US',
paths: {
build: 'dist',
features: 'src/features',
translations: 'locales',
},
vite: () => ({}),
};
export default config;
/** @type {import('purplet').Config} */
const config = {
alias: {
$features: 'src/features',
$lib: 'src/lib',
},
allowedMentions: {
repliedUser: true,
parse: ['users'],
},
lang: 'en-US',
paths: {
build: 'dist',
features: 'src/features',
translations: 'locales',
},
vite: () => ({}),
};
export default config
alias
An object containing zero or more aliases used to replace values in import statements. These aliases are automatically passed to Vite and TypeScript. Built-in, $lib
and $features
aliases are provided.
For example, you can add aliases to a components and utils folder:
const config = {
alias: {
$utils: 'src/utils',
},
};
allowedMentions
This sets a bot-wide default for the allowed_mentions
field, passed to functions that send a message. By default, it is an object that only allows user mentions and replies to cause pings.
lang
The primary language that your project is written in. This is only needed if you plan to translate your bot.
paths
Defines various paths related to your application that Purplet uses:
build
: Path to where built JavaScript files are saved. The bot entry is alwaysindex.js
inside of this folder.features
: The directory to search and watch for exportedFeature
objects.translations
: The directory that translation files are stored.
vite
A Vite config object, or a function that returns one. You can pass Vite and Rollup plugins via the plugins option to customize your build in advanced ways.