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 | "default": ""
|
84 | },
|
85 | "sourceMap": {
|
86 | "description": "Output source maps for scripts and styles. For more information, see https://angular.io/guide/workspace-config#source-map-configuration.",
|
87 | "default": false,
|
88 | "oneOf": [
|
89 | {
|
90 | "type": "object",
|
91 | "properties": {
|
92 | "scripts": {
|
93 | "type": "boolean",
|
94 | "description": "Output source maps for all scripts.",
|
95 | "default": true
|
96 | },
|
97 | "styles": {
|
98 | "type": "boolean",
|
99 | "description": "Output source maps for all styles.",
|
100 | "default": true
|
101 | },
|
102 | "hidden": {
|
103 | "type": "boolean",
|
104 | "description": "Output source maps used for error reporting tools.",
|
105 | "default": false
|
106 | },
|
107 | "vendor": {
|
108 | "type": "boolean",
|
109 | "description": "Resolve vendor packages source maps.",
|
110 | "default": false
|
111 | }
|
112 | },
|
113 | "additionalProperties": false
|
114 | },
|
115 | {
|
116 | "type": "boolean"
|
117 | }
|
118 | ]
|
119 | },
|
120 | "deployUrl": {
|
121 | "type": "string",
|
122 | "description": "URL where files will be deployed.",
|
123 | "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."
|
124 | },
|
125 | "verbose": {
|
126 | "type": "boolean",
|
127 | "description": "Adds more details to output logging.",
|
128 | "default": false
|
129 | },
|
130 | "progress": {
|
131 | "type": "boolean",
|
132 | "description": "Log progress to the console while building.",
|
133 | "default": true
|
134 | },
|
135 | "i18nMissingTranslation": {
|
136 | "type": "string",
|
137 | "description": "How to handle missing translations for i18n.",
|
138 | "enum": [
|
139 | "warning",
|
140 | "error",
|
141 | "ignore"
|
142 | ],
|
143 | "default": "warning"
|
144 | },
|
145 | "i18nDuplicateTranslation": {
|
146 | "type": "string",
|
147 | "description": "How to handle duplicate translations for i18n.",
|
148 | "enum": [
|
149 | "warning",
|
150 | "error",
|
151 | "ignore"
|
152 | ],
|
153 | "default": "warning"
|
154 | },
|
155 | "localize": {
|
156 | "description": "Translate the bundles in one or more locales.",
|
157 | "oneOf": [
|
158 | {
|
159 | "type": "boolean",
|
160 | "description": "Translate all locales."
|
161 | },
|
162 | {
|
163 | "type": "array",
|
164 | "description": "List of locales ID's to translate.",
|
165 | "minItems": 1,
|
166 | "items": {
|
167 | "type": "string",
|
168 | "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})+)?$"
|
169 | }
|
170 | }
|
171 | ]
|
172 | },
|
173 | "outputHashing": {
|
174 | "type": "string",
|
175 | "description": "Define the output filename cache-busting hashing mode.",
|
176 | "default": "none",
|
177 | "enum": [
|
178 | "none",
|
179 | "all",
|
180 | "media",
|
181 | "bundles"
|
182 | ]
|
183 | },
|
184 | "deleteOutputPath": {
|
185 | "type": "boolean",
|
186 | "description": "Delete the output path before building.",
|
187 | "default": true
|
188 | },
|
189 | "preserveSymlinks": {
|
190 | "type": "boolean",
|
191 | "description": "Do not use the real path when resolving modules. If unset then will default to `true` if NodeJS option --preserve-symlinks is set."
|
192 | },
|
193 | "extractLicenses": {
|
194 | "type": "boolean",
|
195 | "description": "Extract all licenses in a separate file, in the case of production builds only.",
|
196 | "default": true
|
197 | },
|
198 | "showCircularDependencies": {
|
199 | "type": "boolean",
|
200 | "description": "Show circular dependency warnings on builds.",
|
201 | "default": false,
|
202 | "x-deprecated": "The recommended method to detect circular dependencies in project code is to use either a lint rule or other external tooling."
|
203 | },
|
204 | "namedChunks": {
|
205 | "type": "boolean",
|
206 | "description": "Use file name for lazy loaded chunks.",
|
207 | "default": false
|
208 | },
|
209 | "bundleDependencies": {
|
210 | "description": "Which external dependencies to bundle into the bundle. By default, all of node_modules will be bundled.",
|
211 | "default": true,
|
212 | "oneOf": [
|
213 | {
|
214 | "type": "boolean"
|
215 | },
|
216 | {
|
217 | "type": "string",
|
218 | "enum": [
|
219 | "none",
|
220 | "all"
|
221 | ]
|
222 | }
|
223 | ]
|
224 | },
|
225 | "externalDependencies": {
|
226 | "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.",
|
227 | "type": "array",
|
228 | "items": {
|
229 | "type": "string"
|
230 | },
|
231 | "default": []
|
232 | },
|
233 | "statsJson": {
|
234 | "type": "boolean",
|
235 | "description": "Generates a 'stats.json' file which can be analyzed using tools such as 'webpack-bundle-analyzer'.",
|
236 | "default": false
|
237 | },
|
238 | "watch": {
|
239 | "type": "boolean",
|
240 | "description": "Run build when files change.",
|
241 | "default": false
|
242 | },
|
243 | "poll": {
|
244 | "type": "number",
|
245 | "description": "Enable and define the file watching poll time period in milliseconds."
|
246 | },
|
247 | "customWebpackConfig": {
|
248 | "description": "Custom webpack configuration",
|
249 | "default": false,
|
250 | "oneOf": [
|
251 | {
|
252 | "type": "object",
|
253 | "properties": {
|
254 | "path": {
|
255 | "type": "string",
|
256 | "description": "Path to the custom webpack configuration file"
|
257 | },
|
258 | "mergeRules": {
|
259 | "type": "object",
|
260 | "description": "Merge rules as described here: https://github.com/survivejs/webpack-merge#mergewithrules"
|
261 | },
|
262 | "replaceDuplicatePlugins": {
|
263 | "type": "boolean",
|
264 | "description": "Flag that indicates whether to replace duplicate webpack plugins or not"
|
265 | }
|
266 | }
|
267 | },
|
268 | {
|
269 | "type": "boolean"
|
270 | }
|
271 | ]
|
272 | },
|
273 | "indexTransform": {
|
274 | "type": "string",
|
275 | "description": "Path to the file with index.html transform function"
|
276 | }
|
277 | },
|
278 | "additionalProperties": false,
|
279 | "required": [
|
280 | "outputPath",
|
281 | "main",
|
282 | "tsConfig"
|
283 | ],
|
284 | "definitions": {
|
285 | "fileReplacement": {
|
286 | "oneOf": [
|
287 | {
|
288 | "type": "object",
|
289 | "properties": {
|
290 | "src": {
|
291 | "type": "string",
|
292 | "pattern": "\\.(([cm]?j|t)sx?|json)$"
|
293 | },
|
294 | "replaceWith": {
|
295 | "type": "string",
|
296 | "pattern": "\\.(([cm]?j|t)sx?|json)$"
|
297 | }
|
298 | },
|
299 | "additionalProperties": false,
|
300 | "required": [
|
301 | "src",
|
302 | "replaceWith"
|
303 | ]
|
304 | },
|
305 | {
|
306 | "type": "object",
|
307 | "properties": {
|
308 | "replace": {
|
309 | "type": "string",
|
310 | "pattern": "\\.(([cm]?j|t)sx?|json)$"
|
311 | },
|
312 | "with": {
|
313 | "type": "string",
|
314 | "pattern": "\\.(([cm]?j|t)sx?|json)$"
|
315 | }
|
316 | },
|
317 | "additionalProperties": false,
|
318 | "required": [
|
319 | "replace",
|
320 | "with"
|
321 | ]
|
322 | }
|
323 | ]
|
324 | }
|
325 | },
|
326 | "description": "Server target options"
|
327 | } |
\ | No newline at end of file |