workflow_launcher/node_modules/config-file-ts/README.md

47 lines
1.3 KiB
Markdown
Raw Normal View History

2024-03-12 07:57:14 -04:00
## config-file-ts
*Just use TypeScript for configuration files.*
####
TypeScript is more syntactically **flexible** than JSON. Comments are allowed. Keys needn't be quoted.
Arrays can have trailing commas.
TypeScript allows a little **programming** in config files. Share variables, use utility functions, etc.
TypeScript **types** provide free error checking, and free IDE support for getting config files right.
### Fast
Parsing TypeScript config files is plenty quick. config-file-ts caches the TypeScript output.
Assuming TypeScript is in your environment, config-file-ts adds about 5kb to your program, or 1.5kb minified.
### How to use
```bash
$ yarn add config-file-ts
```
In the config file, export default. ```my.config.ts```:
```ts
export default {
entry: "my stuff" // comments are welcome now
};
````
Feel free to add types and scripting. ```my.config.ts```:
```ts
import os from "os"; // use installed libraries in the config
import { MyConfig } from "./MyProgram";
export default {
entry: `${os.userInfo().username}'s stuff` // use scripting in the config file
} as MyConfig; // typecheck the config file
````
Read the config file in your program. ```MyProgram.ts```:
```ts
export interface MyConfig {
entry?: string;
}
const config = loadTsConfig<MyConfig>("my.config.ts");
```