A plugin that greatly simplifies server/client JS and TS development (as well as production) on the alt:V platform.
(extended and improved version of the previous esbuild dev plugin)
- Write your scripts in JS/TS with enabled 5-million-polygon cars and mlo without client crashes
- Hot reload without server restart or client reconnect (using alt:V resource restart)
- Full client and server support
- Restart console command for client and server ("res" by default)
- Improved top-level exception output during development
- Direct support for alt:V enums, even in JS code (documentation)
- Enhanced alt.log value formatting (documentation)
Docs web page: https://xxshady.github.io/altv-esbuild
Example resource can be found here
npm i altv-esbuild
Example of the build server code:
import esbuild from "esbuild"
import { altvEsbuild } from "altv-esbuild"
esbuild.build({
entryPoints: ["src/main.js"],
outfile: "dist/bundle.js",
bundle: true,
watch: dev,
plugins: [
altvEsbuild({
mode: "server", // use "server" for server code, and "client" for client code
dev: true, // see docs for more info
}),
],
external: [
// none of the following is required, the plugin handles all alt:V modules automatically
// "alt-server",
// "alt-client",
// "alt-shared",
// "natives"
]
})
You can use esbuild source-maps like this: sourcemap: "inline"
Enable source-maps in server.cfg and here you go.
Here its a bit complicated. If you use vscode Source maps navigator extension can help you jump to your source code.
All contributions are greatly appreciated. If there are any questions or you would like to discuss a feature, you can always open issue.