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 | }
|