Skip to main content

Configuration

Flamework allows you to configure both transformer behavior and runtime behavior using configuration files, in tsconfig.json and flamework.json respectively.

Runtime Configuration

Flamework allows you to configure runtime behavior through a flamework.json file.

profiling

  • Defaults to true in studio, otherwise false

This option enables microprofiler tags and memory categories for Flamework's built in lifecycle events.

logLevel

  • Defaults to none
  • Valid values: none, verbose

This allows you to configure the logging level for Flamework.

disableDependencyWarnings

  • Defaults to false

This setting disables warnings emitted by Flamework when you use the Dependency macro prior to Flamework.ignite()

Transformer Configuration

These settings control the behavior of Flamework's transformer and are configured under rbxts-transformer-flamework's configuration in tsconfig.json

noSemanticDiagnostics

  • Defaults to false

This setting allows you to disable Flamework's TypeScript type checking which can improve compile times. This can result in instability as Flamework's behavior is undefined when there are outstanding type errors.

obfuscation

  • Defaults to false

This setting enables Flamework's obfuscation which will shorten and randomize internal IDs, networking names and similar.

idGenerationMode

  • Defaults to obfuscated when obfuscation is enabled, otherwise defaults to full
  • Valid values: full, obfuscated, short, tiny

You most likely do not need to change this.

There are 4 options and this will change how Flamework's identifiers are generated. You should only use full in packages (which means you also should not use obfuscation in packages.)

full

These are mostly unique IDs without any randomization.

  • Game projects: server/services/myService@MyService
  • Packages: @rbxts/my-package:server/services/myService@MyService

obfuscated

These IDs have no debug information but can include package names.

  • Game projects: aZx
  • Packages: @rbxts/my-package:aZx

short / tiny

These IDs are similar to obfuscated, except they contain some debug information. The random text is used to guarantee uniqueness.

Short and tiny are similar except tiny will not include the file name (the myService@)

  • Game projects (short): myService@MyService{aZx}
  • Game projects (tiny): MyService{aZx}
  • Packages (short): @rbxts/my-package:myService@MyService{aZx}
  • Packages (tiny): @rbxts/my-package:MyService{aZx}

hashPrefix

Defaults to package name

This changes the prefix used for IDs generated by packages.