|
1 | 1 | { |
| 2 | + "title": "tsconfig.json with TSTL", |
| 3 | + "description": "JSON schema for the TypeScript compiler's configuration file with TSTL", |
2 | 4 | "$schema": "http://json-schema.org/draft-07/schema", |
| 5 | + "allOf": [ |
| 6 | + { |
| 7 | + "$ref": "https://json.schemastore.org/tsconfig" |
| 8 | + } |
| 9 | + ], |
3 | 10 | "properties": { |
4 | | - "compilerOptions": { |
5 | | - "properties": { |
6 | | - "plugins": { |
7 | | - "items": { |
8 | | - "properties": { |
9 | | - "transform": { "type": "string" }, |
10 | | - "import": { "type": "string" }, |
11 | | - "after": { "type": "boolean" }, |
12 | | - "afterDeclarations": { "type": "boolean" }, |
13 | | - "type": { |
14 | | - "oneOf": [ |
15 | | - { "const": "program" }, |
16 | | - { "const": "config" }, |
17 | | - { "const": "checker" }, |
18 | | - { "const": "raw" }, |
19 | | - { "const": "compilerOptions" } |
20 | | - ] |
21 | | - } |
22 | | - } |
23 | | - } |
24 | | - } |
25 | | - } |
26 | | - }, |
27 | 11 | "tstl": { |
28 | | - "description": "TypeScriptToLua options.", |
| 12 | + "description": "TypeScriptToLua compiler options.", |
29 | 13 | "type": "object", |
| 14 | + "definitions": { |
| 15 | + "//": { |
| 16 | + "reference": "https://typescripttolua.github.io/docs/configuration#custom-options" |
| 17 | + } |
| 18 | + }, |
30 | 19 | "properties": { |
| 20 | + "buildMode": { |
| 21 | + "description": "Use buildMode: \"library\" to build publishable library packages.", |
| 22 | + "type": "string", |
| 23 | + "default": "library", |
| 24 | + "enum": ["default", "library"] |
| 25 | + }, |
31 | 26 | "luaBundle": { |
32 | 27 | "description": "The name of the lua file to bundle output lua to. Requires luaBundleEntry.", |
33 | 28 | "type": "string" |
|
39 | 34 | "luaLibImport": { |
40 | 35 | "description": "Specifies how js standard features missing in lua are imported.", |
41 | 36 | "type": "string", |
| 37 | + "default": "require", |
42 | 38 | "enum": ["none", "always", "inline", "require"] |
43 | 39 | }, |
44 | 40 | "luaTarget": { |
45 | | - "description": "Specify Lua target version.", |
| 41 | + "description": "Specifies the Lua version you want to generate code for.", |
46 | 42 | "type": "string", |
| 43 | + "default": "universal", |
47 | 44 | "enum": ["5.1", "5.2", "5.3", "JIT"] |
48 | 45 | }, |
49 | 46 | "noImplicitSelf": { |
50 | | - "description": "If \"this\" is implicitly considered an any type, do not generate a self parameter.", |
51 | | - "type": "boolean" |
| 47 | + "description": "If true, treats all project files as if they were prefixed with\n/** @noSelfInFile **/.", |
| 48 | + "type": "boolean", |
| 49 | + "default": false |
52 | 50 | }, |
53 | 51 | "noHeader": { |
54 | 52 | "description": "Specify if a header will be added to compiled files.", |
55 | | - "type": "boolean" |
| 53 | + "type": "boolean", |
| 54 | + "default": false |
56 | 55 | }, |
57 | 56 | "sourceMapTraceback": { |
58 | 57 | "description": "Applies the source map to show source TS files and lines in error tracebacks.", |
| 58 | + "default": false, |
59 | 59 | "type": "boolean" |
60 | 60 | }, |
61 | 61 | "luaPlugins": { |
62 | 62 | "description": "List of TypeScriptToLua plugins.", |
63 | 63 | "type": "array", |
64 | 64 | "items": { |
| 65 | + "description": "Describes TypeScriptToLua plugin", |
65 | 66 | "type": "object", |
66 | 67 | "required": ["name"], |
67 | 68 | "properties": { |
68 | | - "name": { "type": "string" }, |
69 | | - "import": { "type": "string" } |
| 69 | + "name": { |
| 70 | + "description": "Path to the JS file, that contains the plugin code", |
| 71 | + "type": "string" |
| 72 | + }, |
| 73 | + "import": { |
| 74 | + "type": "string" |
| 75 | + } |
70 | 76 | } |
71 | 77 | } |
72 | 78 | } |
|
0 commit comments