TSCord template v2.3
This is the changelog, you can see the migration guide from the v2.2
here.
This update mainly focus on 3 things:
- developer experience
- refactoring and cleaning the codebase
- keeping the dependencies and ecosystem up to date
Warning
If you want to see the changes coming alongside this PR, check commit per commit because we've ran the new code formater and it has changed by default the style of nearly all the files.
Features
- HMR (Hot Module Replacement) on commands and events files (#131)
- Logs auto-archiving and retention policies (#143)
- Linting and formatting through an eslint config using
antfu/eslint-config
as base (#128) - Lint stage in github actions workflows
- Environment variables validation (#130)
- Created wrapper
@Service
decorator for@singleton
, which can take akeepInstanceAfterHmr
parameter in order to keep the instance state between HMR reloads (e.g:Store
service) - Created wrappers
@Injectable
and@AutoInjectable
of respectively@injectable
and@autoInjectable
to uniformize names and import source (@/decorators
instead oftsyringe
) - Type
discordx
client config in thesrc/client.ts
file (6f83ffb)
Refactor
- Switching back from
swc
totsc
in order to improve stability at the cost of little speed deperdition (#135) - Renamed all internal path aliases from
@<module_name>
to@/<module_name>
(e.g:@services
->@/services
) - Remove useless
botOnline
api middleware HTTP request (8060043) - Remove useless websocket client and all related events by switching them to REST endpoints for the dashboard (8db5d31)
- Remove all
eval
from the code, for security concerns (60baa42) - Remove undesired
typesafe-i18n
logs at startup (c570dde)
Bug fixes
isJSONEncodable isn't a function at startup
(65338ea)- Plugins can't import intents from client config (add934f - @Mr-Artemus)
Chores
- Update to node v20.11 (LTS)
- Update dependencies