1 | {
|
---|
2 | "$schema": "http://json-schema.org/draft-07/schema",
|
---|
3 | "$id": "BuildAngularWebpackServerSchema",
|
---|
4 | "title": "Universal Target",
|
---|
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": ["css", "less", "sass", "scss"]
|
---|
21 | },
|
---|
22 | "stylePreprocessorOptions": {
|
---|
23 | "description": "Options to pass to style preprocessors",
|
---|
24 | "type": "object",
|
---|
25 | "properties": {
|
---|
26 | "includePaths": {
|
---|
27 | "description": "Paths to include. Paths will be resolved to workspace root.",
|
---|
28 | "type": "array",
|
---|
29 | "items": {
|
---|
30 | "type": "string"
|
---|
31 | },
|
---|
32 | "default": []
|
---|
33 | }
|
---|
34 | },
|
---|
35 | "additionalProperties": false
|
---|
36 | },
|
---|
37 | "optimization": {
|
---|
38 | "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.",
|
---|
39 | "x-user-analytics": 16,
|
---|
40 | "default": true,
|
---|
41 | "oneOf": [
|
---|
42 | {
|
---|
43 | "type": "object",
|
---|
44 | "properties": {
|
---|
45 | "scripts": {
|
---|
46 | "type": "boolean",
|
---|
47 | "description": "Enables optimization of the scripts output.",
|
---|
48 | "default": true
|
---|
49 | },
|
---|
50 | "styles": {
|
---|
51 | "type": "boolean",
|
---|
52 | "description": "Enables optimization of the styles output.",
|
---|
53 | "default": true
|
---|
54 | }
|
---|
55 | },
|
---|
56 | "additionalProperties": false
|
---|
57 | },
|
---|
58 | {
|
---|
59 | "type": "boolean"
|
---|
60 | }
|
---|
61 | ]
|
---|
62 | },
|
---|
63 | "fileReplacements": {
|
---|
64 | "description": "Replace compilation source files with other compilation source files in the build.",
|
---|
65 | "type": "array",
|
---|
66 | "items": {
|
---|
67 | "$ref": "#/definitions/fileReplacement"
|
---|
68 | },
|
---|
69 | "default": []
|
---|
70 | },
|
---|
71 | "outputPath": {
|
---|
72 | "type": "string",
|
---|
73 | "description": "Path where output will be placed."
|
---|
74 | },
|
---|
75 | "resourcesOutputPath": {
|
---|
76 | "type": "string",
|
---|
77 | "description": "The path where style resources will be placed, relative to outputPath.",
|
---|
78 | "default": ""
|
---|
79 | },
|
---|
80 | "sourceMap": {
|
---|
81 | "description": "Output source maps for scripts and styles. For more information, see https://angular.io/guide/workspace-config#source-map-configuration.",
|
---|
82 | "default": false,
|
---|
83 | "oneOf": [
|
---|
84 | {
|
---|
85 | "type": "object",
|
---|
86 | "properties": {
|
---|
87 | "scripts": {
|
---|
88 | "type": "boolean",
|
---|
89 | "description": "Output source maps for all scripts.",
|
---|
90 | "default": true
|
---|
91 | },
|
---|
92 | "styles": {
|
---|
93 | "type": "boolean",
|
---|
94 | "description": "Output source maps for all styles.",
|
---|
95 | "default": true
|
---|
96 | },
|
---|
97 | "hidden": {
|
---|
98 | "type": "boolean",
|
---|
99 | "description": "Output source maps used for error reporting tools.",
|
---|
100 | "default": false
|
---|
101 | },
|
---|
102 | "vendor": {
|
---|
103 | "type": "boolean",
|
---|
104 | "description": "Resolve vendor packages source maps.",
|
---|
105 | "default": false
|
---|
106 | }
|
---|
107 | },
|
---|
108 | "additionalProperties": false
|
---|
109 | },
|
---|
110 | {
|
---|
111 | "type": "boolean"
|
---|
112 | }
|
---|
113 | ]
|
---|
114 | },
|
---|
115 | "deployUrl": {
|
---|
116 | "type": "string",
|
---|
117 | "description": "URL where files will be deployed."
|
---|
118 | },
|
---|
119 | "verbose": {
|
---|
120 | "type": "boolean",
|
---|
121 | "description": "Adds more details to output logging.",
|
---|
122 | "default": false
|
---|
123 | },
|
---|
124 | "progress": {
|
---|
125 | "type": "boolean",
|
---|
126 | "description": "Log progress to the console while building.",
|
---|
127 | "default": true
|
---|
128 | },
|
---|
129 | "i18nMissingTranslation": {
|
---|
130 | "type": "string",
|
---|
131 | "description": "How to handle missing translations for i18n.",
|
---|
132 | "enum": ["warning", "error", "ignore"],
|
---|
133 | "default": "warning"
|
---|
134 | },
|
---|
135 | "localize": {
|
---|
136 | "description": "Translate the bundles in one or more locales.",
|
---|
137 | "oneOf": [
|
---|
138 | {
|
---|
139 | "type": "boolean",
|
---|
140 | "description": "Translate all locales."
|
---|
141 | },
|
---|
142 | {
|
---|
143 | "type": "array",
|
---|
144 | "description": "List of locales ID's to translate.",
|
---|
145 | "minItems": 1,
|
---|
146 | "items": {
|
---|
147 | "type": "string",
|
---|
148 | "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})+)?$"
|
---|
149 | }
|
---|
150 | }
|
---|
151 | ]
|
---|
152 | },
|
---|
153 | "outputHashing": {
|
---|
154 | "type": "string",
|
---|
155 | "description": "Define the output filename cache-busting hashing mode.",
|
---|
156 | "default": "none",
|
---|
157 | "enum": ["none", "all", "media", "bundles"]
|
---|
158 | },
|
---|
159 | "deleteOutputPath": {
|
---|
160 | "type": "boolean",
|
---|
161 | "description": "Delete the output path before building.",
|
---|
162 | "default": true
|
---|
163 | },
|
---|
164 | "preserveSymlinks": {
|
---|
165 | "type": "boolean",
|
---|
166 | "description": "Do not use the real path when resolving modules. If unset then will default to `true` if NodeJS option --preserve-symlinks is set."
|
---|
167 | },
|
---|
168 | "extractLicenses": {
|
---|
169 | "type": "boolean",
|
---|
170 | "description": "Extract all licenses in a separate file, in the case of production builds only.",
|
---|
171 | "default": true
|
---|
172 | },
|
---|
173 | "showCircularDependencies": {
|
---|
174 | "type": "boolean",
|
---|
175 | "description": "Show circular dependency warnings on builds.",
|
---|
176 | "default": false,
|
---|
177 | "x-deprecated": "The recommended method to detect circular dependencies in project code is to use either a lint rule or other external tooling."
|
---|
178 | },
|
---|
179 | "namedChunks": {
|
---|
180 | "type": "boolean",
|
---|
181 | "description": "Use file name for lazy loaded chunks.",
|
---|
182 | "default": false
|
---|
183 | },
|
---|
184 | "bundleDependencies": {
|
---|
185 | "description": "Which external dependencies to bundle into the bundle. By default, all of node_modules will be bundled.",
|
---|
186 | "default": true,
|
---|
187 | "oneOf": [
|
---|
188 | {
|
---|
189 | "type": "boolean"
|
---|
190 | },
|
---|
191 | {
|
---|
192 | "type": "string",
|
---|
193 | "enum": ["none", "all"]
|
---|
194 | }
|
---|
195 | ]
|
---|
196 | },
|
---|
197 | "externalDependencies": {
|
---|
198 | "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.",
|
---|
199 | "type": "array",
|
---|
200 | "items": {
|
---|
201 | "type": "string"
|
---|
202 | },
|
---|
203 | "default": []
|
---|
204 | },
|
---|
205 | "statsJson": {
|
---|
206 | "type": "boolean",
|
---|
207 | "description": "Generates a 'stats.json' file which can be analyzed using tools such as 'webpack-bundle-analyzer'.",
|
---|
208 | "default": false
|
---|
209 | },
|
---|
210 | "watch": {
|
---|
211 | "type": "boolean",
|
---|
212 | "description": "Run build when files change.",
|
---|
213 | "default": false
|
---|
214 | },
|
---|
215 | "poll": {
|
---|
216 | "type": "number",
|
---|
217 | "description": "Enable and define the file watching poll time period in milliseconds."
|
---|
218 | }
|
---|
219 | },
|
---|
220 | "additionalProperties": false,
|
---|
221 | "required": ["outputPath", "main", "tsConfig"],
|
---|
222 | "definitions": {
|
---|
223 | "fileReplacement": {
|
---|
224 | "oneOf": [
|
---|
225 | {
|
---|
226 | "type": "object",
|
---|
227 | "properties": {
|
---|
228 | "src": {
|
---|
229 | "type": "string",
|
---|
230 | "pattern": "\\.(([cm]?j|t)sx?|json)$"
|
---|
231 | },
|
---|
232 | "replaceWith": {
|
---|
233 | "type": "string",
|
---|
234 | "pattern": "\\.(([cm]?j|t)sx?|json)$"
|
---|
235 | }
|
---|
236 | },
|
---|
237 | "additionalProperties": false,
|
---|
238 | "required": ["src", "replaceWith"]
|
---|
239 | },
|
---|
240 | {
|
---|
241 | "type": "object",
|
---|
242 | "properties": {
|
---|
243 | "replace": {
|
---|
244 | "type": "string",
|
---|
245 | "pattern": "\\.(([cm]?j|t)sx?|json)$"
|
---|
246 | },
|
---|
247 | "with": {
|
---|
248 | "type": "string",
|
---|
249 | "pattern": "\\.(([cm]?j|t)sx?|json)$"
|
---|
250 | }
|
---|
251 | },
|
---|
252 | "additionalProperties": false,
|
---|
253 | "required": ["replace", "with"]
|
---|
254 | }
|
---|
255 | ]
|
---|
256 | }
|
---|
257 | }
|
---|
258 | }
|
---|