forked from TypeScriptToLua/TypeScriptToLua
-
Notifications
You must be signed in to change notification settings - Fork 0
/
tsconfig-schema.json
114 lines (114 loc) · 5.02 KB
/
tsconfig-schema.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
{
"title": "tsconfig.json with TSTL",
"description": "JSON schema for the TypeScript compiler's configuration file with TSTL",
"$schema": "http://json-schema.org/draft-07/schema",
"allOf": [
{
"$ref": "https://json.schemastore.org/tsconfig"
}
],
"properties": {
"tstl": {
"description": "TypeScriptToLua compiler options.",
"type": "object",
"definitions": {
"//": {
"reference": "https://typescripttolua.github.io/docs/configuration#custom-options"
}
},
"properties": {
"buildMode": {
"description": "Use buildMode: \"library\" to build publishable library packages.",
"type": "string",
"default": "library",
"enum": ["default", "library"]
},
"extension": {
"description": "File extension for the resulting Lua files. Defaults to \".lua\"",
"type": "string"
},
"lua51AllowTryCatchInAsyncAwait": {
"description": "Disable the warning that try/catch is not allowed in async functions in Lua 5.1, in case you are using a patched 5.1 lua version that supports this.",
"type": "boolean",
"default": false
},
"luaBundle": {
"description": "The name of the lua file to bundle output lua to. Requires luaBundleEntry.",
"type": "string"
},
"luaBundleEntry": {
"description": "The entry *.ts file that will be executed when entering the luaBundle. Requires luaBundle.",
"type": "string"
},
"luaLibImport": {
"description": "Specifies how js standard features missing in lua are imported.",
"type": "string",
"default": "require",
"enum": ["none", "inline", "require", "require-minimal"]
},
"luaTarget": {
"description": "Specifies the Lua version you want to generate code for.",
"type": "string",
"default": "universal",
"enum": ["5.0", "universal", "5.1", "5.2", "5.3", "5.4", "JIT"]
},
"noImplicitGlobalVariables": {
"description": "Always declare all root-level variables as local, even if the file is not a module and they would be global in TypeScript.",
"type": "boolean",
"default": false
},
"noImplicitSelf": {
"description": "If true, treats all project files as if they were prefixed with\n/** @noSelfInFile **/.",
"type": "boolean",
"default": false
},
"noHeader": {
"description": "Specify if a header will be added to compiled files.",
"type": "boolean",
"default": false
},
"noResolvePaths": {
"description": "An array of import paths that should not be resolved but copied verbatim to output lua.",
"type": "array"
},
"sourceMapTraceback": {
"description": "Applies the source map to show source TS files and lines in error tracebacks.",
"default": false,
"type": "boolean"
},
"tstlVerbose": {
"description": "Give verbose tstl output, helpful when diagnosing tstl issues.",
"type": "boolean",
"default": false
},
"luaPlugins": {
"description": "List of TypeScriptToLua plugins.",
"type": "array",
"items": {
"description": "Describes TypeScriptToLua plugin",
"type": "object",
"required": ["name"],
"properties": {
"name": {
"description": "Path to the JS file, that contains the plugin code",
"type": "string"
},
"import": {
"type": "string"
}
}
}
},
"measurePerformance": {
"description": "Measure and report performance of the tstl compiler.",
"type": "boolean"
}
},
"dependencies": {
"luaBundle": ["luaBundleEntry"],
"luaBundleEntry": ["luaBundle"]
}
}
},
"allowTrailingCommas": true
}