UNPKG

7.35 kBJSONView Raw
1{
2 "$schema": "http://json-schema.org/draft-07/schema",
3 "title": "Karma Target",
4 "description": "Karma target options for Build Facade.",
5 "type": "object",
6 "properties": {
7 "main": {
8 "type": "string",
9 "description": "The name of the main entry-point file."
10 },
11 "tsConfig": {
12 "type": "string",
13 "description": "The name of the TypeScript configuration file."
14 },
15 "karmaConfig": {
16 "type": "string",
17 "description": "The name of the Karma configuration file."
18 },
19 "polyfills": {
20 "type": "string",
21 "description": "The name of the polyfills file."
22 },
23 "assets": {
24 "type": "array",
25 "description": "List of static application assets.",
26 "default": [],
27 "items": {
28 "$ref": "#/definitions/assetPattern"
29 }
30 },
31 "scripts": {
32 "description": "Global scripts to be included in the build.",
33 "type": "array",
34 "default": [],
35 "items": {
36 "$ref": "#/definitions/extraEntryPoint"
37 }
38 },
39 "styles": {
40 "description": "Global styles to be included in the build.",
41 "type": "array",
42 "default": [],
43 "items": {
44 "$ref": "#/definitions/extraEntryPoint"
45 }
46 },
47 "inlineStyleLanguage": {
48 "description": "The stylesheet language to use for the application's inline component styles.",
49 "type": "string",
50 "default": "css",
51 "enum": ["css", "less", "sass", "scss"]
52 },
53 "stylePreprocessorOptions": {
54 "description": "Options to pass to style preprocessors",
55 "type": "object",
56 "properties": {
57 "includePaths": {
58 "description": "Paths to include. Paths will be resolved to workspace root.",
59 "type": "array",
60 "items": {
61 "type": "string"
62 },
63 "default": []
64 }
65 },
66 "additionalProperties": false
67 },
68 "include": {
69 "type": "array",
70 "items": {
71 "type": "string"
72 },
73 "description": "Globs of files to include, relative to workspace or project root. \nThere are 2 special cases:\n - when a path to directory is provided, all spec files ending \".spec.@(ts|tsx)\" will be included\n - when a path to a file is provided, and a matching spec file exists it will be included instead"
74 },
75 "sourceMap": {
76 "description": "Output source maps for scripts and styles. For more information, see https://angular.io/guide/workspace-config#source-map-configuration.",
77 "default": true,
78 "oneOf": [
79 {
80 "type": "object",
81 "properties": {
82 "scripts": {
83 "type": "boolean",
84 "description": "Output source maps for all scripts.",
85 "default": true
86 },
87 "styles": {
88 "type": "boolean",
89 "description": "Output source maps for all styles.",
90 "default": true
91 },
92 "vendor": {
93 "type": "boolean",
94 "description": "Resolve vendor packages source maps.",
95 "default": false
96 }
97 },
98 "additionalProperties": false
99 },
100 {
101 "type": "boolean"
102 }
103 ]
104 },
105 "progress": {
106 "type": "boolean",
107 "description": "Log progress to the console while building.",
108 "default": true
109 },
110 "watch": {
111 "type": "boolean",
112 "description": "Run build when files change."
113 },
114 "poll": {
115 "type": "number",
116 "description": "Enable and define the file watching poll time period in milliseconds."
117 },
118 "preserveSymlinks": {
119 "type": "boolean",
120 "description": "Do not use the real path when resolving modules. If unset then will default to `true` if NodeJS option --preserve-symlinks is set."
121 },
122 "browsers": {
123 "type": "string",
124 "description": "Override which browsers tests are run against."
125 },
126 "codeCoverage": {
127 "type": "boolean",
128 "description": "Output a code coverage report.",
129 "default": false
130 },
131 "codeCoverageExclude": {
132 "type": "array",
133 "description": "Globs to exclude from code coverage.",
134 "items": {
135 "type": "string"
136 },
137 "default": []
138 },
139 "fileReplacements": {
140 "description": "Replace compilation source files with other compilation source files in the build.",
141 "type": "array",
142 "items": {
143 "oneOf": [
144 {
145 "type": "object",
146 "properties": {
147 "src": {
148 "type": "string"
149 },
150 "replaceWith": {
151 "type": "string"
152 }
153 },
154 "additionalProperties": false,
155 "required": ["src", "replaceWith"]
156 },
157 {
158 "type": "object",
159 "properties": {
160 "replace": {
161 "type": "string"
162 },
163 "with": {
164 "type": "string"
165 }
166 },
167 "additionalProperties": false,
168 "required": ["replace", "with"]
169 }
170 ]
171 },
172 "default": []
173 },
174 "reporters": {
175 "type": "array",
176 "description": "Karma reporters to use. Directly passed to the karma runner.",
177 "items": {
178 "type": "string"
179 }
180 },
181 "webWorkerTsConfig": {
182 "type": "string",
183 "description": "TypeScript configuration for Web Worker modules."
184 }
185 },
186 "additionalProperties": false,
187 "required": ["main", "tsConfig", "karmaConfig"],
188 "definitions": {
189 "assetPattern": {
190 "oneOf": [
191 {
192 "type": "object",
193 "properties": {
194 "glob": {
195 "type": "string",
196 "description": "The pattern to match."
197 },
198 "input": {
199 "type": "string",
200 "description": "The input directory path in which to apply 'glob'. Defaults to the project root."
201 },
202 "output": {
203 "type": "string",
204 "description": "Absolute path within the output."
205 },
206 "ignore": {
207 "description": "An array of globs to ignore.",
208 "type": "array",
209 "items": {
210 "type": "string"
211 }
212 }
213 },
214 "additionalProperties": false,
215 "required": ["glob", "input", "output"]
216 },
217 {
218 "type": "string"
219 }
220 ]
221 },
222 "extraEntryPoint": {
223 "oneOf": [
224 {
225 "type": "object",
226 "properties": {
227 "input": {
228 "type": "string",
229 "description": "The file to include."
230 },
231 "bundleName": {
232 "type": "string",
233 "pattern": "^[\\w\\-.]*$",
234 "description": "The bundle name for this extra entry point."
235 },
236 "inject": {
237 "type": "boolean",
238 "description": "If the bundle will be referenced in the HTML file.",
239 "default": true
240 }
241 },
242 "additionalProperties": false,
243 "required": ["input"]
244 },
245 {
246 "type": "string",
247 "description": "The file to include."
248 }
249 ]
250 }
251 }
252}