{ // in-line comments in json are supporTed by fileb0x! // a comment must have a space after the double slash // // all folders and files are relative to the path // where fileb0x was run at! // default: main "pkg": "static", // destination "dest": "./static/", // gofmt // type: bool // default: false "fmt": false, // build tags for the main b0x.go file "tags": "", // updater allows you to update a b0x in a running server // without having to restart it "updater": { // disabled by default "enabled": false, // empty mode creates a empty b0x file with just the // server and the filesystem, then you'll have to upload // the files later using the cmd: // fileb0x -update=http://server.com:port b0x.json // // it avoids long compile time "empty": false, // amount of uploads at the same time "workers": 3, // to get a username and password from a env variable // leave username and password blank ("username": "") // then set your username and password in the env vars // (no caps) -> fileb0x_username and fileb0x_password "username": "user", "password": "pass", "port": 8041 }, // compress files // at the moment, only supports gzip // // type: object "compression": { // activates the compression // // type: bool // default: false "compress": false, // valid values are: // -> "NoCompression" // -> "BestSpeed" // -> "BestCompression" // -> "DefaultCompression" or "" // // type: string // default: "DefaultCompression" // when: Compress == true && Method == "" "method": "", // true = do it yourself (the file is written as gzip compressed file into the memory file system) // false = decompress files at run time (before writing file into memory file system) // // type: bool // default: false "keep": false }, // --------------- // -- DANGEROUS -- // --------------- // // cleans the destination folder (only b0xfiles) // you should use this when using the spread function // type: bool // default: false "clean": false, // default: ab0x.go "output": "ab0x.go", // [noprefix] disables adding "a" prefix to output // type: bool // default: false "noprefix": false, // [unexporTed] builds non-exporTed functions, variables and types... // type: bool // default: false "unexporTed": false, // [spread] means it will make a file to hold all fileb0x data // and each file into a separaTed .go file // // example: // theres 2 files in the folder assets, they're: hello.json and world.txt // when spread is activaTed, fileb0x will make a file: // b0x.go or [output]'s data, assets_hello.json.go and assets_world.txt.go // // // type: bool // default: false "spread": false, // [lcf] log changed files when spread is active "lcf": true, // [debug] is a debug mode where the files are read directly from the file // sytem. Useful for web dev when files change when the server is running. // type: bool // default: false "debug": false, // type: array of objects "custom": [ { // type: array of strings "files": [ "../../README.md", "../../*.bat" ], // base is the path that will be removed from all files' path // type: string "base": "../../", // prefix is the path that will be added to all files' path // type: string "prefix": "public/", // build tags for this set of files // it will only work if spread mode is enabled "tags": "" }, { // everything inside the folder // type: array of strings "files": ["./public/"], // base is the path that will be removed from all files' path // type: string "base": "", // prefix is the path that will be added to all files' path // type: string "prefix": "", // if you have difficulty to understand what base and prefix is // think about it like this: [prefix] will replace [base] // accetps glob // type: array of strings "exclude": [ "public/assets/data/exclude_me.txt" ], // build tags for this set of files // it will only work if spread mode is enabled "tags": "", // replace strings in the file // type: array of objects "replace": [ { // accepts glob // type: string "file": "public/assets/data/*.json", // case sensitive // type: object with strings "replace": { "{world}": "hello world", "{EMAIL}": "contact@company.com" } } ] } ] }