-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
tars-config.js
303 lines (260 loc) · 7.62 KB
/
tars-config.js
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
'use strict';
module.exports = {
/////////////////////
// MUTABLE OPTIONS ////////////////////////////////
// YOU CAN CHANGE THIS OPTIONS ALL THE TIME //
// //
// You need to restart builder to apply options. //
///////////////////////////////////////////////////
/**
* Postprocessors for TARS
* @type {Array}
* Example:
*
* postcss: [
* {
* name: 'postcss-short',
* options: {
* deny: ['text']
* }
* }
* ]
*/
postcss: [],
svg: {
active: true,
// symbols, sprite
workflow: 'sprite',
symbolsConfig: {
// separate-file, separate-file-with-link, inject
loadingType: 'inject',
usePolyfillForExternalSymbols: true,
pathToExternalSymbolsFile: ''
}
},
css: {
// concat, manual
workflow: 'concat'
},
js: {
// concat, modular
workflow: 'concat',
// Only webpack is available right now
bundler: 'webpack',
/**
* Use linting of js-files
* @type {Boolean}
*/
lint: true,
/**
* Use babel for ES6(ES7-ESNext) syntax support
* @type {Boolean}
*/
useBabel: true,
/**
* Remove console.log and debugger from js code in release mode
* @type {Boolean}
*/
removeConsoleLog: true,
// Special config for webpack
webpack: {
useHMR: false,
/**
* Automatically loaded modules.
* Module (value) is loaded when the identifier (key) is used as free variable in a module.
* The identifier is filled with the exports of the loaded module.
* Example: {$: "jquery"} or {React: 'react'}
* @type {Object}
*/
providePlugin: {}
},
/**
* Path-strings to js-files, which have to be included before modules' js-files
* Example: ['./markup/controller/** /*.js']
* @type {Array}
*/
jsPathsToConcatBeforeModulesJs: [],
/**
* Lint additional js before modules
* @type {Boolean}
*/
lintJsCodeBeforeModules: false,
/**
* Path-strings to js-files, which have to be included before modules' js-files
* @type {Array}
*/
jsPathsToConcatAfterModulesJs: [],
/**
* Lint additional js after modules
* @type {Boolean}
*/
lintJsCodeAfterModules: false
},
/**
* Write sourcemaps
* @type {Object}
*
* active – is sourcemaps active
* inline – use inline sourcemaps or in separate file
*/
sourcemaps: {
js: {
active: true,
inline: true
},
css: {
active: true,
inline: true
}
},
/**
* Config for Notify module
* @type {Object}
*/
notifyConfig: {
/**
* Do you need to use notify?
* @type {Boolean}
*/
useNotify: true,
/**
* Title for notifier
* @type {String}
*/
title: 'TARS notification',
/**
* Sounds notifactions
* String (name of system sound) or undefined, if you don't need to hear any sounds
* @type {Object}
*/
sounds: {
/**
* Sound after successfull finishing of task
* @type {String, undefined}
* For example 'Glass' in OS X
*/
onSuccess: undefined,
/**
* Sound after failed finishing of task
* @type {String, undefined}
* For example 'Glass' in OS X
*/
onError: undefined
},
/**
* Label for timestamp of task finishing time
* @type {String}
*/
taskFinishedText: 'Task finished at: '
},
/**
* Minify result html in build version
* If is set to false, compiled html will be prettified
* @type {Boolean}
*/
minifyHtml: false,
/**
* TARS will generate relative path from current page
* to static files in case of true value
* @type {Boolean}
*/
generateStaticPath: true,
/**
* Path to dev version of project
* Could be like '../../../dev/' or absolute path
* If you change the value do not forget to change the 'baseDir' in the file 'plugins-config.json' and .gitignore
* The slash after the name should stand
* @type {String}
*/
devPath: './dev/',
/**
* Path to build version of project
* Could be like '../../../builds/' or absolute path
* The slash after the name should stand
* @type {String}
*/
buildPath: './builds/',
/**
* Use build versioning
* Build version is a date ot building
* @type {Boolean}
*/
useBuildVersioning: true,
/**
* Use archiver for your build
* @type {Boolean}
*/
useArchiver: true,
/**
* Set ulimit. Topical for Linux-family OS and OSX.
* @type {Number}
*/
ulimit: 4096,
//////////////////////////////////////////////
//////////////////////////////////////////////
////////////////////////////////////////////////////////
// YOU CAN CHANGE THIS OPTIONS AND USE REINIT //
// //
// Options for technologies, which you'd like to use. //
////////////////////////////////////////////////////////
/**
* Templater
* Available 'pug', 'jade' and 'handlebars'
* @type {String}
*/
templater: 'handlebars',
/**
* Css-preprocessor
* Available 'scss', 'less' or 'stylus'
* .sass extension is supported if cssPreprocessor is 'scss'
* @type {String}
*/
cssPreprocessor: 'scss',
/**
* What kind of size of images are you going to use.
* 96 — 1 dppx (regular)
* 192 — 2 dppx (retina)
* 288 — 3 dppx (nexus 5, for example)
* 384 - 4 dppx (nexus 6, for example)
* Example if using for all displays: usePpi: [96, 192, 288, 384]
* You can change with options not only on init or reinit,
* but at with time you have to create new directories
* and delete unused.
* @type {Array}
*/
useImagesForDisplayWithDpi: [96],
////////////////////////////////////////////////
////////////////////////////////////////////////
////////////////////////////////////////////////////////
// You have to change with options after manually //
// renaming static and img folder //
// //
// Do not rename these dirs before reinit //
////////////////////////////////////////////////////////
/**
* File structure settings
* @type {Object}
*/
fs: {
/**
* Name of folder with static files, such *.css, *.js and so on
* 'static' by default
* @type {String}
*/
staticFolderName: 'static',
/**
* Name of folder with images
* 'img' by default
* @type {String}
*/
imagesFolderName: 'img',
/**
* Name of folder with modules
* 'modules' by default
* @type {String}
*/
componentsFolderName: 'components'
}
////////////////////////////////////////////////////
////////////////////////////////////////////////////
};