forked from SchemaStore/schemastore
-
Notifications
You must be signed in to change notification settings - Fork 0
/
compilerdefaults.json
321 lines (321 loc) · 10.9 KB
/
compilerdefaults.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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
{
"$schema": "http://json-schema.org/draft-04/schema",
"definitions": {
"less": {
"description": "Specify options for the compiler.",
"type": "object",
"properties": {
"autoPrefix": {
"description": "LESS only. Support for AutoPrefixer by adding a browser string. An empty string means this feature is disabled. Example: 'last 2 versions, > 5%'. See more at https://github.com/ai/browserslist.",
"type": "string",
"default": ""
},
"cssComb": {
"description": "LESS only. CSScomb helps you sort and categorize CSS properties in your code to improve maintenance of your stylesheets. You can specify a relative path to a local .json file as well.",
"default": "none",
"oneOf": [
{
"enum": ["csscomb", "zen", "yandex", "none"]
},
{
"type": "string",
"pattern": ".+\\.json$"
}
]
},
"ieCompat": {
"description": "LESS only. Currently only used for the data-uri function to ensure that images aren't created that are too large for the browser to handle.",
"type": "boolean",
"default": true
},
"math": {
"description": "LESS only. Specifies which mode Less will use to process the math in your CSS.",
"default": "none",
"enum": [
"always",
"parens-division",
"parens",
"strict",
"strict-legacy"
]
},
"sourceMap": {
"description": "Generates a base64 encoded source map at the bottom of the output.",
"type": "boolean",
"default": false
},
"strictMath": {
"description": "(DEPRECATED: Use 'math' instead) LESS only. Without this option on Less will try and process all maths in your CSS.",
"type": "boolean",
"default": false
},
"strictUnits": {
"description": "LESS only. Without this option, less attempts to guess at the output unit when it does maths.",
"type": "boolean",
"default": false
},
"relativeUrls": {
"description": "LESS only. This option allows you to re-write URL's in imported files so that the URL is always relative to the base imported file.",
"type": "boolean",
"default": true
},
"rootPath": {
"description": "LESS only. Allows you to add a path to every generated import and URL in your CSS. This does not affect less import statements that are processed, just ones that are left in the output css.",
"type": "string"
},
"sourceMapRoot": {
"description": "LESS only. Base path, will be emitted in source-map as is.",
"type": "string"
},
"sourceMapBasePath": {
"description": "Scss only. This is the opposite of the rootpath option, it specifies a path which should be removed from the output paths.",
"type": "string"
}
}
},
"sass": {
"description": "Specify options for the compiler.",
"type": "object",
"properties": {
"includePath": {
"description": "Scss only. Path to look for imported files",
"type": "string"
},
"indentType": {
"description": "Scss only. Indent type for output CSS.",
"enum": ["space", "tab"],
"default": "space"
},
"indentWidth": {
"description": "Scss only. Number of spaces or tabs.",
"type": "integer",
"maximum": 10,
"default": 2
},
"lineFeed": {
"description": "Scss only. Linefeed style (cr | crlf | lf | lfcr).",
"enum": ["cr", "crlf", "lf", "lfcr"],
"default": "crlf"
},
"outputStyle": {
"description": "Scss only. Determines the output format of the final CSS style.",
"enum": ["nested", "expanded", "compact", "compressed"],
"default": "nested"
},
"precision": {
"description": "Scss only. Used to determine how many digits after the decimal will be allowed. For instance, if you had a decimal number of 1.23456789 and a precision of 5, the result will be 1.23457 in the final CSS.",
"type": "integer",
"default": 5
},
"relativeUrls": {
"description": "Scss only. This option allows you to re-write URL's to make them relative to the output file. This doesn't work for imported .scss files.",
"type": "boolean",
"default": true
},
"sourceMap": {
"description": "Generates a base64 encoded source map at the bottom of the output.",
"type": "boolean",
"default": false
},
"sourceMapRoot": {
"description": "Scss only. Base path, will be emitted in source-map as is.",
"type": "string"
}
}
},
"coffeeScript": {
"description": "Specify options for the compiler.",
"type": "object",
"properties": {
"bare": {
"description": "CoffeeScript only. Compile the JavaScript without the top-level function safety wrapper.",
"type": "boolean",
"default": false
},
"runtimeMode": {
"description": "CoffeeScript only. Specify how the Iced runtime is included in the output JavaScript file.",
"enum": ["node", "inline", "none", "window"],
"default": "node"
},
"sourceMap": {
"description": "Generates a source map file.",
"type": "boolean",
"default": false
}
}
},
"stylus": {
"description": "Specify options for the compiler.",
"type": "object",
"properties": {
"sourceMap": {
"description": "Generates a base64 encoded source map at the bottom of the output.",
"type": "boolean",
"default": false
}
}
},
"handlebars": {
"description": "Specify options for the compiler.",
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"noBOM": {
"description": "Removes the BOM (Byte Order Mark) from the beginning of the templates.",
"type": "boolean",
"default": false
},
"namespace": {
"description": "Template namespace",
"type": "string",
"default": ""
},
"root": {
"description": "Template root. Base value that will be stripped from template names.",
"type": "string",
"default": ""
},
"knownHelpers": {
"description": "List of known helpers for a more optimized output (comma separated)",
"type": "string",
"default": ""
},
"knownHelpersOnly": {
"description": "Compile with known helpers only",
"type": "boolean",
"default": false
},
"commonjs": {
"description": "Path to the Handlebars module to export CommonJS style",
"type": "string",
"default": ""
},
"amd": {
"description": "Exports amd style (require.js), this option has priority to commonjs.",
"type": "boolean",
"default": false
}
}
},
"baseMinify": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"gzip": {
"description": "Produce a .gz file after minification.",
"type": "boolean",
"default": false
},
"indentSize": {
"description": "For the multi-line output feature, how many spaces to use when indenting a block (see outputMode).",
"type": "integer",
"default": 2
},
"outputMode": {
"description": "SingleLine minifies everything to a single line. MultipleLines breaks the minified code into multiple lines for easier reading.",
"enum": ["multipleLines", "singleLine", "none"],
"default": "singleLine"
}
}
},
"cssMinify": {
"type": "object",
"properties": {
"colorNames": {
"description": "CSS only. If no color names are to be used, set this value to 'hex'. If a set of colors recognized by all major browser is okay to use (W3C-strict validation is not required), set this value to 'major'.",
"enum": ["hex", "major", "noSwap", "strict"],
"default": "strict"
},
"commentMode": {
"description": "CSS only. How to treat comments in the code. The default is 'none', which will strip all comments except 'important' comments. 'all' will leave all comments, and 'hacks' will only leave certain known comment-based hacks.",
"enum": ["none", "all", "hacks", "important"],
"default": "important"
},
"termSemicolons": {
"description": "Forces all rules to be terminated with semicolons if set to true.",
"type": "boolean",
"default": false
}
}
},
"javascriptMinify": {
"type": "object",
"properties": {
"evalTreatment": {
"description": "JavaScript only.",
"enum": ["ignore", "makeAllSafe", "makeImmediateSafe"],
"default": "ignore"
},
"preserveImportantComments": {
"description": "JavaScript only.",
"type": "boolean",
"default": true
},
"renameLocals": {
"description": "JavaScript only. Controls if local variables should be shortened.",
"type": "boolean",
"default": true
},
"termSemicolons": {
"description": "Forces all rules to be terminated with semicolons if set to true.",
"type": "boolean",
"default": true
}
}
}
},
"description": "Schema for bundleconfig.json files",
"id": "https://json.schemastore.org/compilerdefaults.json",
"properties": {
"compilers": {
"type": "object",
"properties": {
"less": {
"$ref": "#/definitions/less"
},
"sass": {
"$ref": "#/definitions/sass"
},
"stylus": {
"$ref": "#/definitions/stylus"
},
"coffeescript": {
"$ref": "#/definitions/coffeeScript"
},
"handlebars": {
"$ref": "#/definitions/handlebars"
}
}
},
"minifiers": {
"type": "object",
"properties": {
"css": {
"allOf": [
{
"$ref": "#/definitions/baseMinify"
},
{
"$ref": "#/definitions/cssMinify"
}
]
},
"javascript": {
"allOf": [
{
"$ref": "#/definitions/baseMinify"
},
{
"$ref": "#/definitions/javascriptMinify"
}
]
}
}
}
},
"type": "object"
}