|
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