1 | {
|
2 | "$schema": "http://json-schema.org/draft-07/schema",
|
3 | "$id": "BuildCustomWebpackServerSchema",
|
4 | "title": "Custom webpack server schema 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 | "default": "tsconfig.app.json",
|
14 | "description": "The name of the TypeScript configuration file."
|
15 | },
|
16 | "inlineStyleLanguage": {
|
17 | "description": "The stylesheet language to use for the application's inline component styles.",
|
18 | "type": "string",
|
19 | "default": "css",
|
20 | "enum": [
|
21 | "css",
|
22 | "less",
|
23 | "sass",
|
24 | "scss"
|
25 | ]
|
26 | },
|
27 | "stylePreprocessorOptions": {
|
28 | "description": "Options to pass to style preprocessors",
|
29 | "type": "object",
|
30 | "properties": {
|
31 | "includePaths": {
|
32 | "description": "Paths to include. Paths will be resolved to workspace root.",
|
33 | "type": "array",
|
34 | "items": {
|
35 | "type": "string"
|
36 | },
|
37 | "default": []
|
38 | }
|
39 | },
|
40 | "additionalProperties": false
|
41 | },
|
42 | "optimization": {
|
43 | "description": "Enables optimization of the build output. Including minification of scripts and styles, tree-shaking and dead-code elimination. For more information, see https://angular.io/guide/workspace-config#optimization-configuration.",
|
44 | "x-user-analytics": 16,
|
45 | "default": true,
|
46 | "oneOf": [
|
47 | {
|
48 | "type": "object",
|
49 | "properties": {
|
50 | "scripts": {
|
51 | "type": "boolean",
|
52 | "description": "Enables optimization of the scripts output.",
|
53 | "default": true
|
54 | },
|
55 | "styles": {
|
56 | "type": "boolean",
|
57 | "description": "Enables optimization of the styles output.",
|
58 | "default": true
|
59 | }
|
60 | },
|
61 | "additionalProperties": false
|
62 | },
|
63 | {
|
64 | "type": "boolean"
|
65 | }
|
66 | ]
|
67 | },
|
68 | "fileReplacements": {
|
69 | "description": "Replace compilation source files with other compilation source files in the build.",
|
70 | "type": "array",
|
71 | "items": {
|
72 | "$ref": "#/definitions/fileReplacement"
|
73 | },
|
74 | "default": []
|
75 | },
|
76 | "outputPath": {
|
77 | "type": "string",
|
78 | "description": "Path where output will be placed."
|
79 | },
|
80 | "resourcesOutputPath": {
|
81 | "type": "string",
|
82 | "description": "The path where style resources will be placed, relative to outputPath."
|
83 | },
|
84 | "sourceMap": {
|
85 | "description": "Output source maps for scripts and styles. For more information, see https://angular.io/guide/workspace-config#source-map-configuration.",
|
86 | "default": false,
|
87 | "oneOf": [
|
88 | {
|
89 | "type": "object",
|
90 | "properties": {
|
91 | "scripts": {
|
92 | "type": "boolean",
|
93 | "description": "Output source maps for all scripts.",
|
94 | "default": true
|
95 | },
|
96 | "styles": {
|
97 | "type": "boolean",
|
98 | "description": "Output source maps for all styles.",
|
99 | "default": true
|
100 | },
|
101 | "hidden": {
|
102 | "type": "boolean",
|
103 | "description": "Output source maps used for error reporting tools.",
|
104 | "default": false
|
105 | },
|
106 | "vendor": {
|
107 | "type": "boolean",
|
108 | "description": "Resolve vendor packages source maps.",
|
109 | "default": false
|
110 | }
|
111 | },
|
112 | "additionalProperties": false
|
113 | },
|
114 | {
|
115 | "type": "boolean"
|
116 | }
|
117 | ]
|
118 | },
|
119 | "deployUrl": {
|
120 | "type": "string",
|
121 | "description": "URL where files will be deployed.",
|
122 | "x-deprecated": "Use \"baseHref\" browser builder option, \"APP_BASE_HREF\" DI token or a combination of both instead. For more information, see https://angular.io/guide/deployment#the-deploy-url."
|
123 | },
|
124 | "verbose": {
|
125 | "type": "boolean",
|
126 | "description": "Adds more details to output logging.",
|
127 | "default": false
|
128 | },
|
129 | "progress": {
|
130 | "type": "boolean",
|
131 | "description": "Log progress to the console while building.",
|
132 | "default": true
|
133 | },
|
134 | "i18nMissingTranslation": {
|
135 | "type": "string",
|
136 | "description": "How to handle missing translations for i18n.",
|
137 | "enum": [
|
138 | "warning",
|
139 | "error",
|
140 | "ignore"
|
141 | ],
|
142 | "default": "warning"
|
143 | },
|
144 | "i18nDuplicateTranslation": {
|
145 | "type": "string",
|
146 | "description": "How to handle duplicate translations for i18n.",
|
147 | "enum": [
|
148 | "warning",
|
149 | "error",
|
150 | "ignore"
|
151 | ],
|
152 | "default": "warning"
|
153 | },
|
154 | "localize": {
|
155 | "description": "Translate the bundles in one or more locales.",
|
156 | "oneOf": [
|
157 | {
|
158 | "type": "boolean",
|
159 | "description": "Translate all locales."
|
160 | },
|
161 | {
|
162 | "type": "array",
|
163 | "description": "List of locales ID's to translate.",
|
164 | "minItems": 1,
|
165 | "items": {
|
166 | "type": "string",
|
167 | "pattern": "^[a-zA-Z]{2,3}(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-[a-zA-Z]{5,8})?(-x(-[a-zA-Z0-9]{1,8})+)?$"
|
168 | }
|
169 | }
|
170 | ]
|
171 | },
|
172 | "outputHashing": {
|
173 | "type": "string",
|
174 | "description": "Define the output filename cache-busting hashing mode.",
|
175 | "default": "none",
|
176 | "enum": [
|
177 | "none",
|
178 | "all",
|
179 | "media",
|
180 | "bundles"
|
181 | ]
|
182 | },
|
183 | "deleteOutputPath": {
|
184 | "type": "boolean",
|
185 | "description": "Delete the output path before building.",
|
186 | "default": true
|
187 | },
|
188 | "preserveSymlinks": {
|
189 | "type": "boolean",
|
190 | "description": "Do not use the real path when resolving modules. If unset then will default to `true` if NodeJS option --preserve-symlinks is set."
|
191 | },
|
192 | "extractLicenses": {
|
193 | "type": "boolean",
|
194 | "description": "Extract all licenses in a separate file, in the case of production builds only.",
|
195 | "default": true
|
196 | },
|
197 | "namedChunks": {
|
198 | "type": "boolean",
|
199 | "description": "Use file name for lazy loaded chunks.",
|
200 | "default": false
|
201 | },
|
202 | "bundleDependencies": {
|
203 | "description": "Which external dependencies to bundle into the bundle. By default, all of node_modules will be bundled.",
|
204 | "default": true,
|
205 | "oneOf": [
|
206 | {
|
207 | "type": "boolean"
|
208 | },
|
209 | {
|
210 | "type": "string",
|
211 | "enum": [
|
212 | "none",
|
213 | "all"
|
214 | ]
|
215 | }
|
216 | ]
|
217 | },
|
218 | "externalDependencies": {
|
219 | "description": "Exclude the listed external dependencies from being bundled into the bundle. Instead, the created bundle relies on these dependencies to be available during runtime.",
|
220 | "type": "array",
|
221 | "items": {
|
222 | "type": "string"
|
223 | },
|
224 | "default": []
|
225 | },
|
226 | "statsJson": {
|
227 | "type": "boolean",
|
228 | "description": "Generates a 'stats.json' file which can be analyzed using tools such as 'webpack-bundle-analyzer'.",
|
229 | "default": false
|
230 | },
|
231 | "watch": {
|
232 | "type": "boolean",
|
233 | "description": "Run build when files change.",
|
234 | "default": false
|
235 | },
|
236 | "poll": {
|
237 | "type": "number",
|
238 | "description": "Enable and define the file watching poll time period in milliseconds."
|
239 | },
|
240 | "customWebpackConfig": {
|
241 | "description": "Custom webpack configuration",
|
242 | "default": false,
|
243 | "oneOf": [
|
244 | {
|
245 | "type": "object",
|
246 | "properties": {
|
247 | "path": {
|
248 | "type": "string",
|
249 | "description": "Path to the custom webpack configuration file"
|
250 | },
|
251 | "mergeRules": {
|
252 | "type": "object",
|
253 | "description": "Merge rules as described here: https://github.com/survivejs/webpack-merge#mergewithrules"
|
254 | },
|
255 | "replaceDuplicatePlugins": {
|
256 | "type": "boolean",
|
257 | "description": "Flag that indicates whether to replace duplicate webpack plugins or not"
|
258 | }
|
259 | }
|
260 | },
|
261 | {
|
262 | "type": "boolean"
|
263 | }
|
264 | ]
|
265 | },
|
266 | "indexTransform": {
|
267 | "type": "string",
|
268 | "description": "Path to the file with index.html transform function"
|
269 | }
|
270 | },
|
271 | "additionalProperties": false,
|
272 | "required": [
|
273 | "outputPath",
|
274 | "main",
|
275 | "tsConfig"
|
276 | ],
|
277 | "definitions": {
|
278 | "fileReplacement": {
|
279 | "oneOf": [
|
280 | {
|
281 | "type": "object",
|
282 | "properties": {
|
283 | "src": {
|
284 | "type": "string",
|
285 | "pattern": "\\.(([cm]?j|t)sx?|json)$"
|
286 | },
|
287 | "replaceWith": {
|
288 | "type": "string",
|
289 | "pattern": "\\.(([cm]?j|t)sx?|json)$"
|
290 | }
|
291 | },
|
292 | "additionalProperties": false,
|
293 | "required": [
|
294 | "src",
|
295 | "replaceWith"
|
296 | ]
|
297 | },
|
298 | {
|
299 | "type": "object",
|
300 | "properties": {
|
301 | "replace": {
|
302 | "type": "string",
|
303 | "pattern": "\\.(([cm]?j|t)sx?|json)$"
|
304 | },
|
305 | "with": {
|
306 | "type": "string",
|
307 | "pattern": "\\.(([cm]?j|t)sx?|json)$"
|
308 | }
|
309 | },
|
310 | "additionalProperties": false,
|
311 | "required": [
|
312 | "replace",
|
313 | "with"
|
314 | ]
|
315 | }
|
316 | ]
|
317 | }
|
318 | },
|
319 | "description": "Server target options"
|
320 | } |
\ | No newline at end of file |