@nx/angular 22.7.0-beta.7 → 22.7.0-beta.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/executors.json +62 -62
  2. package/generators.json +185 -185
  3. package/migrations.json +2412 -2412
  4. package/ng-package.json +19 -19
  5. package/package.json +10 -10
  6. package/project.json +2 -8
  7. package/src/builders/dev-server/schema.json +163 -163
  8. package/src/builders/webpack-browser/schema.json +567 -567
  9. package/src/builders/webpack-server/schema.json +303 -303
  10. package/src/executors/application/schema.json +732 -732
  11. package/src/executors/browser-esbuild/schema.json +548 -548
  12. package/src/executors/delegate-build/schema.json +31 -31
  13. package/src/executors/extract-i18n/schema.json +47 -47
  14. package/src/executors/module-federation-dev-server/schema.json +164 -164
  15. package/src/executors/module-federation-ssr-dev-server/schema.json +119 -119
  16. package/src/executors/ng-packagr-lite/schema.json +35 -35
  17. package/src/executors/package/schema.json +35 -35
  18. package/src/executors/unit-test/schema.json +305 -305
  19. package/src/generators/add-linting/schema.json +48 -48
  20. package/src/generators/application/schema.json +188 -188
  21. package/src/generators/component/schema.json +123 -123
  22. package/src/generators/component-story/schema.json +50 -50
  23. package/src/generators/component-test/schema.json +52 -52
  24. package/src/generators/convert-to-application-executor/schema.json +23 -23
  25. package/src/generators/convert-to-rspack/schema.json +27 -27
  26. package/src/generators/convert-to-with-mf/schema.json +30 -30
  27. package/src/generators/cypress-component-configuration/schema.json +43 -43
  28. package/src/generators/directive/schema.json +89 -89
  29. package/src/generators/federate-module/schema.json +80 -80
  30. package/src/generators/host/schema.json +189 -189
  31. package/src/generators/init/schema.json +31 -31
  32. package/src/generators/library/schema.json +189 -189
  33. package/src/generators/library-secondary-entry-point/schema.json +40 -40
  34. package/src/generators/move/schema.json +53 -53
  35. package/src/generators/ng-add/schema.json +62 -63
  36. package/src/generators/ngrx/schema.json +99 -99
  37. package/src/generators/ngrx-feature-store/schema.json +69 -69
  38. package/src/generators/ngrx-root-store/schema.json +68 -68
  39. package/src/generators/pipe/schema.json +75 -75
  40. package/src/generators/remote/schema.json +182 -182
  41. package/src/generators/scam/schema.json +120 -120
  42. package/src/generators/scam-directive/schema.json +82 -82
  43. package/src/generators/scam-pipe/schema.json +64 -64
  44. package/src/generators/scam-to-standalone/schema.json +29 -29
  45. package/src/generators/setup-mf/schema.json +90 -90
  46. package/src/generators/setup-ssr/schema.json +70 -70
  47. package/src/generators/setup-tailwind/schema.json +39 -39
  48. package/src/generators/stories/schema.json +53 -53
  49. package/src/generators/storybook-configuration/schema.json +80 -80
  50. package/src/generators/web-worker/schema.json +45 -45
@@ -1,323 +1,323 @@
1
1
  {
2
- "$schema": "http://json-schema.org/draft-07/schema",
3
- "title": "Schema for Nx Unit Test Executor",
4
- "description": "Run application unit tests. _Note: this is only supported in Angular versions >= 21.0.0_.",
5
- "outputCapture": "direct-nodejs",
6
- "type": "object",
7
- "properties": {
8
- "buildTarget": {
9
- "type": "string",
10
- "description": "Specifies the build target to use for the unit test build in the format `project:target[:configuration]`. This defaults to the `build` target of the current project with the `development` configuration. You can also pass a comma-separated list of configurations. Example: `project:target:production,staging`.",
11
- "pattern": "^[^:\\s]*:[^:\\s]*(:[^\\s]+)?$"
12
- },
13
- "tsConfig": {
14
- "type": "string",
15
- "description": "The path to the TypeScript configuration file, relative to the workspace root. Defaults to `tsconfig.spec.json` in the project root if it exists. If not specified and the default does not exist, the `tsConfig` from the specified `buildTarget` will be used."
16
- },
17
- "runner": {
18
- "type": "string",
19
- "description": "Specifies the test runner to use for test execution.",
20
- "default": "vitest",
21
- "enum": ["karma", "vitest"]
22
- },
23
- "runnerConfig": {
24
- "type": ["string", "boolean"],
25
- "description": "Specifies the configuration file for the selected test runner. If a string is provided, it will be used as the path to the configuration file. If `true`, the builder will search for a default configuration file (e.g., `vitest.config.ts` or `karma.conf.js`). If `false`, no external configuration file will be used.\\nFor Vitest, this enables advanced options and the use of custom plugins. Please note that while the file is loaded, the Angular team does not provide direct support for its specific contents or any third-party plugins used within it.",
26
- "default": false
27
- },
28
- "browsers": {
29
- "description": "Specifies the browsers to use for test execution. When not specified, tests are run in a Node.js environment using jsdom. For both Vitest and Karma, browser names ending with 'Headless' (e.g., 'ChromeHeadless') will enable headless mode.",
30
- "type": "array",
31
- "items": {
32
- "type": "string"
33
- },
34
- "minItems": 1
35
- },
36
- "browserViewport": {
37
- "description": "Specifies the browser viewport dimensions for browser-based tests in the format `widthxheight`.",
38
- "type": "string",
39
- "pattern": "^\\d+x\\d+$"
40
- },
41
- "headless": {
42
- "type": "boolean",
43
- "description": "Forces all configured browsers to run in headless mode. When using the Vitest runner, this option is ignored if no browsers are configured. The Karma runner does not support this option. _Note: this is only supported in Angular versions >= 21.2.0_."
44
- },
45
- "include": {
46
- "type": "array",
47
- "items": {
48
- "type": "string"
49
- },
50
- "default": ["**/*.spec.ts", "**/*.test.ts"],
51
- "description": "Specifies glob patterns of files to include for testing, relative to the project root. This option also has special handling for directory paths (includes all test files within) and file paths (includes the corresponding test file if one exists)."
52
- },
53
- "exclude": {
54
- "type": "array",
55
- "items": {
56
- "type": "string"
57
- },
58
- "description": "Specifies glob patterns of files to exclude from testing, relative to the project root."
59
- },
60
- "filter": {
61
- "type": "string",
62
- "description": "Specifies a regular expression pattern to match against test suite and test names. Only tests with a name matching the pattern will be executed. For example, `^App` will run only tests in suites beginning with 'App'."
63
- },
64
- "watch": {
65
- "type": "boolean",
66
- "description": "Enables watch mode, which re-runs tests when source files change. Defaults to `true` in TTY environments and `false` otherwise."
67
- },
68
- "debug": {
69
- "type": "boolean",
70
- "description": "Enables debugging mode for tests, allowing the use of the Node Inspector.",
71
- "default": false
72
- },
73
- "ui": {
74
- "type": "boolean",
75
- "description": "Enables the Vitest UI for interactive test execution. This option is only available for the Vitest runner."
76
- },
77
- "coverage": {
78
- "type": "boolean",
79
- "description": "Enables coverage reporting for tests.",
80
- "default": false
81
- },
82
- "coverageInclude": {
83
- "type": "array",
84
- "description": "Specifies glob patterns of files to include in the coverage report.",
85
- "items": {
86
- "type": "string"
87
- }
88
- },
89
- "coverageExclude": {
90
- "type": "array",
91
- "description": "Specifies glob patterns of files to exclude from the coverage report.",
92
- "items": {
93
- "type": "string"
94
- }
95
- },
96
- "coverageReporters": {
97
- "type": "array",
98
- "description": "Specifies the reporters to use for coverage results. Each reporter can be a string representing its name, or a tuple containing the name and an options object. Built-in reporters include 'html', 'lcov', 'lcovonly', 'text', 'text-summary', 'cobertura', 'json', and 'json-summary'.",
99
- "items": {
100
- "oneOf": [
101
- {
102
- "enum": [
103
- "html",
104
- "lcov",
105
- "lcovonly",
106
- "text",
107
- "text-summary",
108
- "cobertura",
109
- "json",
110
- "json-summary"
111
- ]
112
- },
113
- {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "title": "Schema for Nx Unit Test Executor",
4
+ "description": "Run application unit tests. _Note: this is only supported in Angular versions >= 21.0.0_.",
5
+ "outputCapture": "direct-nodejs",
6
+ "type": "object",
7
+ "properties": {
8
+ "buildTarget": {
9
+ "type": "string",
10
+ "description": "Specifies the build target to use for the unit test build in the format `project:target[:configuration]`. This defaults to the `build` target of the current project with the `development` configuration. You can also pass a comma-separated list of configurations. Example: `project:target:production,staging`.",
11
+ "pattern": "^[^:\\s]*:[^:\\s]*(:[^\\s]+)?$"
12
+ },
13
+ "tsConfig": {
14
+ "type": "string",
15
+ "description": "The path to the TypeScript configuration file, relative to the workspace root. Defaults to `tsconfig.spec.json` in the project root if it exists. If not specified and the default does not exist, the `tsConfig` from the specified `buildTarget` will be used."
16
+ },
17
+ "runner": {
18
+ "type": "string",
19
+ "description": "Specifies the test runner to use for test execution.",
20
+ "default": "vitest",
21
+ "enum": ["karma", "vitest"]
22
+ },
23
+ "runnerConfig": {
24
+ "type": ["string", "boolean"],
25
+ "description": "Specifies the configuration file for the selected test runner. If a string is provided, it will be used as the path to the configuration file. If `true`, the builder will search for a default configuration file (e.g., `vitest.config.ts` or `karma.conf.js`). If `false`, no external configuration file will be used.\\nFor Vitest, this enables advanced options and the use of custom plugins. Please note that while the file is loaded, the Angular team does not provide direct support for its specific contents or any third-party plugins used within it.",
26
+ "default": false
27
+ },
28
+ "browsers": {
29
+ "description": "Specifies the browsers to use for test execution. When not specified, tests are run in a Node.js environment using jsdom. For both Vitest and Karma, browser names ending with 'Headless' (e.g., 'ChromeHeadless') will enable headless mode.",
114
30
  "type": "array",
115
- "minItems": 1,
116
- "maxItems": 2,
117
- "items": [
118
- {
119
- "enum": [
120
- "html",
121
- "lcov",
122
- "lcovonly",
123
- "text",
124
- "text-summary",
125
- "cobertura",
126
- "json",
127
- "json-summary"
128
- ]
129
- },
130
- {
131
- "type": "object"
132
- }
133
- ]
134
- }
135
- ]
136
- }
137
- },
138
- "coverageThresholds": {
139
- "type": "object",
140
- "description": "Specifies minimum coverage thresholds that must be met. If thresholds are not met, the builder will exit with an error.",
141
- "properties": {
142
- "perFile": {
143
- "type": "boolean",
144
- "description": "When true, thresholds are enforced for each file individually."
31
+ "items": {
32
+ "type": "string"
33
+ },
34
+ "minItems": 1
145
35
  },
146
- "statements": {
147
- "type": "number",
148
- "description": "Minimum percentage of statements covered."
36
+ "browserViewport": {
37
+ "description": "Specifies the browser viewport dimensions for browser-based tests in the format `widthxheight`.",
38
+ "type": "string",
39
+ "pattern": "^\\d+x\\d+$"
149
40
  },
150
- "branches": {
151
- "type": "number",
152
- "description": "Minimum percentage of branches covered."
41
+ "headless": {
42
+ "type": "boolean",
43
+ "description": "Forces all configured browsers to run in headless mode. When using the Vitest runner, this option is ignored if no browsers are configured. The Karma runner does not support this option. _Note: this is only supported in Angular versions >= 21.2.0_."
153
44
  },
154
- "functions": {
155
- "type": "number",
156
- "description": "Minimum percentage of functions covered."
45
+ "include": {
46
+ "type": "array",
47
+ "items": {
48
+ "type": "string"
49
+ },
50
+ "default": ["**/*.spec.ts", "**/*.test.ts"],
51
+ "description": "Specifies glob patterns of files to include for testing, relative to the project root. This option also has special handling for directory paths (includes all test files within) and file paths (includes the corresponding test file if one exists)."
157
52
  },
158
- "lines": {
159
- "type": "number",
160
- "description": "Minimum percentage of lines covered."
161
- }
162
- },
163
- "additionalProperties": false
164
- },
165
- "coverageWatermarks": {
166
- "type": "object",
167
- "description": "Specifies coverage watermarks for the HTML reporter. These determine the color coding for high, medium, and low coverage.",
168
- "properties": {
169
- "statements": {
170
- "type": "array",
171
- "description": "The high and low watermarks for statements coverage. `[low, high]`",
172
- "items": { "type": "number" },
173
- "minItems": 2,
174
- "maxItems": 2
53
+ "exclude": {
54
+ "type": "array",
55
+ "items": {
56
+ "type": "string"
57
+ },
58
+ "description": "Specifies glob patterns of files to exclude from testing, relative to the project root."
175
59
  },
176
- "branches": {
177
- "type": "array",
178
- "description": "The high and low watermarks for branches coverage. `[low, high]`",
179
- "items": { "type": "number" },
180
- "minItems": 2,
181
- "maxItems": 2
60
+ "filter": {
61
+ "type": "string",
62
+ "description": "Specifies a regular expression pattern to match against test suite and test names. Only tests with a name matching the pattern will be executed. For example, `^App` will run only tests in suites beginning with 'App'."
182
63
  },
183
- "functions": {
184
- "type": "array",
185
- "description": "The high and low watermarks for functions coverage. `[low, high]`",
186
- "items": { "type": "number" },
187
- "minItems": 2,
188
- "maxItems": 2
64
+ "watch": {
65
+ "type": "boolean",
66
+ "description": "Enables watch mode, which re-runs tests when source files change. Defaults to `true` in TTY environments and `false` otherwise."
189
67
  },
190
- "lines": {
191
- "type": "array",
192
- "description": "The high and low watermarks for lines coverage. `[low, high]`",
193
- "items": { "type": "number" },
194
- "minItems": 2,
195
- "maxItems": 2
196
- }
197
- },
198
- "additionalProperties": false
199
- },
200
- "reporters": {
201
- "type": "array",
202
- "description": "Specifies the reporters to use during test execution. Each reporter can be a string representing its name, or a tuple containing the name and an options object. Built-in reporters include 'default', 'verbose', 'dots', 'json', 'junit', 'tap', 'tap-flat', and 'html'. You can also provide a path to a custom reporter.",
203
- "items": {
204
- "oneOf": [
205
- {
206
- "anyOf": [
207
- {
68
+ "debug": {
69
+ "type": "boolean",
70
+ "description": "Enables debugging mode for tests, allowing the use of the Node Inspector.",
71
+ "default": false
72
+ },
73
+ "ui": {
74
+ "type": "boolean",
75
+ "description": "Enables the Vitest UI for interactive test execution. This option is only available for the Vitest runner."
76
+ },
77
+ "coverage": {
78
+ "type": "boolean",
79
+ "description": "Enables coverage reporting for tests.",
80
+ "default": false
81
+ },
82
+ "coverageInclude": {
83
+ "type": "array",
84
+ "description": "Specifies glob patterns of files to include in the coverage report.",
85
+ "items": {
208
86
  "type": "string"
209
- },
210
- {
211
- "enum": [
212
- "default",
213
- "verbose",
214
- "dots",
215
- "json",
216
- "junit",
217
- "tap",
218
- "tap-flat",
219
- "html"
220
- ]
221
- }
222
- ]
223
- },
224
- {
87
+ }
88
+ },
89
+ "coverageExclude": {
225
90
  "type": "array",
226
- "minItems": 1,
227
- "maxItems": 2,
228
- "items": [
229
- {
230
- "anyOf": [
231
- {
232
- "type": "string"
233
- },
234
- {
235
- "enum": [
236
- "default",
237
- "verbose",
238
- "dots",
239
- "json",
240
- "junit",
241
- "tap",
242
- "tap-flat",
243
- "html"
244
- ]
245
- }
91
+ "description": "Specifies glob patterns of files to exclude from the coverage report.",
92
+ "items": {
93
+ "type": "string"
94
+ }
95
+ },
96
+ "coverageReporters": {
97
+ "type": "array",
98
+ "description": "Specifies the reporters to use for coverage results. Each reporter can be a string representing its name, or a tuple containing the name and an options object. Built-in reporters include 'html', 'lcov', 'lcovonly', 'text', 'text-summary', 'cobertura', 'json', and 'json-summary'.",
99
+ "items": {
100
+ "oneOf": [
101
+ {
102
+ "enum": [
103
+ "html",
104
+ "lcov",
105
+ "lcovonly",
106
+ "text",
107
+ "text-summary",
108
+ "cobertura",
109
+ "json",
110
+ "json-summary"
111
+ ]
112
+ },
113
+ {
114
+ "type": "array",
115
+ "minItems": 1,
116
+ "maxItems": 2,
117
+ "items": [
118
+ {
119
+ "enum": [
120
+ "html",
121
+ "lcov",
122
+ "lcovonly",
123
+ "text",
124
+ "text-summary",
125
+ "cobertura",
126
+ "json",
127
+ "json-summary"
128
+ ]
129
+ },
130
+ {
131
+ "type": "object"
132
+ }
133
+ ]
134
+ }
246
135
  ]
247
- },
248
- {
249
- "type": "object"
250
- }
251
- ]
252
- }
253
- ]
254
- }
255
- },
256
- "outputFile": {
257
- "type": "string",
258
- "description": "Specifies a file path for the test report, applying only to the first reporter. To configure output files for multiple reporters, use the tuple format `['reporter-name', { outputFile: '...' }]` within the `reporters` option. When not provided, output is written to the console."
259
- },
260
- "providersFile": {
261
- "type": "string",
262
- "description": "Specifies the path to a TypeScript file that provides an array of Angular providers for the test environment. The file must contain a default export of the provider array.",
263
- "minLength": 1
264
- },
265
- "setupFiles": {
266
- "type": "array",
267
- "items": {
268
- "type": "string"
269
- },
270
- "description": "A list of paths to global setup files that are executed before the test files. The application's polyfills and the Angular TestBed are always initialized before these files."
271
- },
272
- "progress": {
273
- "type": "boolean",
274
- "description": "Shows build progress information in the console. Defaults to the `progress` setting of the specified `buildTarget`."
275
- },
276
- "listTests": {
277
- "type": "boolean",
278
- "description": "Lists all discovered test files and exits the process without building or executing the tests.",
279
- "default": false
280
- },
281
- "dumpVirtualFiles": {
282
- "type": "boolean",
283
- "description": "Dumps build output files to the `.angular/cache` directory for debugging purposes.",
284
- "default": false,
285
- "visible": false
286
- },
287
- "plugins": {
288
- "description": "A list of ESBuild plugins.",
289
- "type": "array",
290
- "items": {
291
- "oneOf": [
292
- {
136
+ }
137
+ },
138
+ "coverageThresholds": {
293
139
  "type": "object",
140
+ "description": "Specifies minimum coverage thresholds that must be met. If thresholds are not met, the builder will exit with an error.",
294
141
  "properties": {
295
- "path": {
296
- "type": "string",
297
- "description": "The path to the plugin. Relative to the workspace root."
298
- },
299
- "options": {
300
- "type": "object",
301
- "description": "The options to provide to the plugin.",
302
- "properties": {},
303
- "additionalProperties": true
304
- }
142
+ "perFile": {
143
+ "type": "boolean",
144
+ "description": "When true, thresholds are enforced for each file individually."
145
+ },
146
+ "statements": {
147
+ "type": "number",
148
+ "description": "Minimum percentage of statements covered."
149
+ },
150
+ "branches": {
151
+ "type": "number",
152
+ "description": "Minimum percentage of branches covered."
153
+ },
154
+ "functions": {
155
+ "type": "number",
156
+ "description": "Minimum percentage of functions covered."
157
+ },
158
+ "lines": {
159
+ "type": "number",
160
+ "description": "Minimum percentage of lines covered."
161
+ }
305
162
  },
306
- "additionalProperties": false,
307
- "required": ["path"]
308
- },
309
- {
163
+ "additionalProperties": false
164
+ },
165
+ "coverageWatermarks": {
166
+ "type": "object",
167
+ "description": "Specifies coverage watermarks for the HTML reporter. These determine the color coding for high, medium, and low coverage.",
168
+ "properties": {
169
+ "statements": {
170
+ "type": "array",
171
+ "description": "The high and low watermarks for statements coverage. `[low, high]`",
172
+ "items": { "type": "number" },
173
+ "minItems": 2,
174
+ "maxItems": 2
175
+ },
176
+ "branches": {
177
+ "type": "array",
178
+ "description": "The high and low watermarks for branches coverage. `[low, high]`",
179
+ "items": { "type": "number" },
180
+ "minItems": 2,
181
+ "maxItems": 2
182
+ },
183
+ "functions": {
184
+ "type": "array",
185
+ "description": "The high and low watermarks for functions coverage. `[low, high]`",
186
+ "items": { "type": "number" },
187
+ "minItems": 2,
188
+ "maxItems": 2
189
+ },
190
+ "lines": {
191
+ "type": "array",
192
+ "description": "The high and low watermarks for lines coverage. `[low, high]`",
193
+ "items": { "type": "number" },
194
+ "minItems": 2,
195
+ "maxItems": 2
196
+ }
197
+ },
198
+ "additionalProperties": false
199
+ },
200
+ "reporters": {
201
+ "type": "array",
202
+ "description": "Specifies the reporters to use during test execution. Each reporter can be a string representing its name, or a tuple containing the name and an options object. Built-in reporters include 'default', 'verbose', 'dots', 'json', 'junit', 'tap', 'tap-flat', and 'html'. You can also provide a path to a custom reporter.",
203
+ "items": {
204
+ "oneOf": [
205
+ {
206
+ "anyOf": [
207
+ {
208
+ "type": "string"
209
+ },
210
+ {
211
+ "enum": [
212
+ "default",
213
+ "verbose",
214
+ "dots",
215
+ "json",
216
+ "junit",
217
+ "tap",
218
+ "tap-flat",
219
+ "html"
220
+ ]
221
+ }
222
+ ]
223
+ },
224
+ {
225
+ "type": "array",
226
+ "minItems": 1,
227
+ "maxItems": 2,
228
+ "items": [
229
+ {
230
+ "anyOf": [
231
+ {
232
+ "type": "string"
233
+ },
234
+ {
235
+ "enum": [
236
+ "default",
237
+ "verbose",
238
+ "dots",
239
+ "json",
240
+ "junit",
241
+ "tap",
242
+ "tap-flat",
243
+ "html"
244
+ ]
245
+ }
246
+ ]
247
+ },
248
+ {
249
+ "type": "object"
250
+ }
251
+ ]
252
+ }
253
+ ]
254
+ }
255
+ },
256
+ "outputFile": {
310
257
  "type": "string",
311
- "description": "The path to the plugin. Relative to the workspace root."
312
- }
313
- ]
314
- }
258
+ "description": "Specifies a file path for the test report, applying only to the first reporter. To configure output files for multiple reporters, use the tuple format `['reporter-name', { outputFile: '...' }]` within the `reporters` option. When not provided, output is written to the console."
259
+ },
260
+ "providersFile": {
261
+ "type": "string",
262
+ "description": "Specifies the path to a TypeScript file that provides an array of Angular providers for the test environment. The file must contain a default export of the provider array.",
263
+ "minLength": 1
264
+ },
265
+ "setupFiles": {
266
+ "type": "array",
267
+ "items": {
268
+ "type": "string"
269
+ },
270
+ "description": "A list of paths to global setup files that are executed before the test files. The application's polyfills and the Angular TestBed are always initialized before these files."
271
+ },
272
+ "progress": {
273
+ "type": "boolean",
274
+ "description": "Shows build progress information in the console. Defaults to the `progress` setting of the specified `buildTarget`."
275
+ },
276
+ "listTests": {
277
+ "type": "boolean",
278
+ "description": "Lists all discovered test files and exits the process without building or executing the tests.",
279
+ "default": false
280
+ },
281
+ "dumpVirtualFiles": {
282
+ "type": "boolean",
283
+ "description": "Dumps build output files to the `.angular/cache` directory for debugging purposes.",
284
+ "default": false,
285
+ "visible": false
286
+ },
287
+ "plugins": {
288
+ "description": "A list of ESBuild plugins.",
289
+ "type": "array",
290
+ "items": {
291
+ "oneOf": [
292
+ {
293
+ "type": "object",
294
+ "properties": {
295
+ "path": {
296
+ "type": "string",
297
+ "description": "The path to the plugin. Relative to the workspace root."
298
+ },
299
+ "options": {
300
+ "type": "object",
301
+ "description": "The options to provide to the plugin.",
302
+ "properties": {},
303
+ "additionalProperties": true
304
+ }
305
+ },
306
+ "additionalProperties": false,
307
+ "required": ["path"]
308
+ },
309
+ {
310
+ "type": "string",
311
+ "description": "The path to the plugin. Relative to the workspace root."
312
+ }
313
+ ]
314
+ }
315
+ },
316
+ "indexHtmlTransformer": {
317
+ "description": "Path to a file exposing a default function to transform the `index.html` file.",
318
+ "type": "string"
319
+ }
315
320
  },
316
- "indexHtmlTransformer": {
317
- "description": "Path to a file exposing a default function to transform the `index.html` file.",
318
- "type": "string"
319
- }
320
- },
321
- "additionalProperties": false,
322
- "required": []
321
+ "additionalProperties": false,
322
+ "required": []
323
323
  }