@nx/web 16.0.0-beta.1
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.
- package/CHANGELOG.md +8 -0
- package/LICENSE +22 -0
- package/README.md +63 -0
- package/babel.d.ts +1 -0
- package/babel.js +7 -0
- package/babel.js.map +1 -0
- package/executors.json +46 -0
- package/generators.json +45 -0
- package/index.d.ts +3 -0
- package/index.js +10 -0
- package/index.js.map +1 -0
- package/migrations.json +90 -0
- package/package.json +47 -0
- package/src/executors/dev-server/compat.d.ts +2 -0
- package/src/executors/dev-server/compat.js +6 -0
- package/src/executors/dev-server/compat.js.map +1 -0
- package/src/executors/dev-server/dev-server.impl.d.ts +7 -0
- package/src/executors/dev-server/dev-server.impl.js +19 -0
- package/src/executors/dev-server/dev-server.impl.js.map +1 -0
- package/src/executors/dev-server/schema.json +81 -0
- package/src/executors/file-server/compat.d.ts +2 -0
- package/src/executors/file-server/compat.js +6 -0
- package/src/executors/file-server/compat.js.map +1 -0
- package/src/executors/file-server/file-server.impl.d.ts +8 -0
- package/src/executors/file-server/file-server.impl.js +181 -0
- package/src/executors/file-server/file-server.impl.js.map +1 -0
- package/src/executors/file-server/schema.d.ts +17 -0
- package/src/executors/file-server/schema.json +84 -0
- package/src/executors/rollup/compat.d.ts +2 -0
- package/src/executors/rollup/compat.js +6 -0
- package/src/executors/rollup/compat.js.map +1 -0
- package/src/executors/rollup/rollup.impl.d.ts +8 -0
- package/src/executors/rollup/rollup.impl.js +19 -0
- package/src/executors/rollup/rollup.impl.js.map +1 -0
- package/src/executors/rollup/schema.d.ts +29 -0
- package/src/executors/rollup/schema.json +153 -0
- package/src/executors/webpack/compat.d.ts +2 -0
- package/src/executors/webpack/compat.js +6 -0
- package/src/executors/webpack/compat.js.map +1 -0
- package/src/executors/webpack/schema.json +374 -0
- package/src/executors/webpack/webpack.impl.d.ts +7 -0
- package/src/executors/webpack/webpack.impl.js +19 -0
- package/src/executors/webpack/webpack.impl.js.map +1 -0
- package/src/generators/application/application.d.ts +5 -0
- package/src/generators/application/application.js +221 -0
- package/src/generators/application/application.js.map +1 -0
- package/src/generators/application/files/app-vite/.babelrc__tmpl__ +5 -0
- package/src/generators/application/files/app-vite/index.html__tmpl__ +16 -0
- package/src/generators/application/files/app-vite/public/favicon.ico +0 -0
- package/src/generators/application/files/app-vite/src/app/app.element.__style__ +416 -0
- package/src/generators/application/files/app-vite/src/app/app.element.spec.ts__tmpl__ +21 -0
- package/src/generators/application/files/app-vite/src/app/app.element.ts__tmpl__ +375 -0
- package/src/generators/application/files/app-vite/src/assets/.gitkeep +0 -0
- package/src/generators/application/files/app-vite/src/main.ts__tmpl__ +1 -0
- package/src/generators/application/files/app-vite/src/styles.__style__ +1 -0
- package/src/generators/application/files/app-vite/tsconfig.app.json +9 -0
- package/src/generators/application/files/app-vite/tsconfig.json__tmpl__ +27 -0
- package/src/generators/application/files/app-webpack/.babelrc__tmpl__ +5 -0
- package/src/generators/application/files/app-webpack/src/app/app.element.__style__ +416 -0
- package/src/generators/application/files/app-webpack/src/app/app.element.spec.ts__tmpl__ +21 -0
- package/src/generators/application/files/app-webpack/src/app/app.element.ts__tmpl__ +375 -0
- package/src/generators/application/files/app-webpack/src/assets/.gitkeep +0 -0
- package/src/generators/application/files/app-webpack/src/environments/environment.prod.ts__tmpl__ +3 -0
- package/src/generators/application/files/app-webpack/src/environments/environment.ts__tmpl__ +6 -0
- package/src/generators/application/files/app-webpack/src/favicon.ico +0 -0
- package/src/generators/application/files/app-webpack/src/index.html +14 -0
- package/src/generators/application/files/app-webpack/src/main.ts__tmpl__ +1 -0
- package/src/generators/application/files/app-webpack/src/styles.__style__ +1 -0
- package/src/generators/application/files/app-webpack/tsconfig.app.json +9 -0
- package/src/generators/application/files/app-webpack/tsconfig.json +10 -0
- package/src/generators/application/files/app-webpack/webpack.config.js__tmpl__ +8 -0
- package/src/generators/application/schema.d.ts +18 -0
- package/src/generators/application/schema.json +107 -0
- package/src/generators/init/init.d.ts +5 -0
- package/src/generators/init/init.js +57 -0
- package/src/generators/init/init.js.map +1 -0
- package/src/generators/init/schema.d.ts +8 -0
- package/src/generators/init/schema.json +45 -0
- package/src/generators/static-serve/schema.json +24 -0
- package/src/generators/static-serve/static-serve-configuration.d.ts +9 -0
- package/src/generators/static-serve/static-serve-configuration.js +72 -0
- package/src/generators/static-serve/static-serve-configuration.js.map +1 -0
- package/src/migrations/update-13-0-0/remove-deprecated-options-13-0-0.d.ts +2 -0
- package/src/migrations/update-13-0-0/remove-deprecated-options-13-0-0.js +34 -0
- package/src/migrations/update-13-0-0/remove-deprecated-options-13-0-0.js.map +1 -0
- package/src/migrations/update-13-0-0/remove-node-sass-13-0-0.d.ts +6 -0
- package/src/migrations/update-13-0-0/remove-node-sass-13-0-0.js +25 -0
- package/src/migrations/update-13-0-0/remove-node-sass-13-0-0.js.map +1 -0
- package/src/migrations/update-13-0-0/remove-webpack-5-packages-13-0-0.d.ts +2 -0
- package/src/migrations/update-13-0-0/remove-webpack-5-packages-13-0-0.js +33 -0
- package/src/migrations/update-13-0-0/remove-webpack-5-packages-13-0-0.js.map +1 -0
- package/src/migrations/update-13-3-0/rename-build-to-webpack.d.ts +2 -0
- package/src/migrations/update-13-3-0/rename-build-to-webpack.js +19 -0
- package/src/migrations/update-13-3-0/rename-build-to-webpack.js.map +1 -0
- package/src/migrations/update-13-3-0/rename-package-to-rollup.d.ts +2 -0
- package/src/migrations/update-13-3-0/rename-package-to-rollup.js +19 -0
- package/src/migrations/update-13-3-0/rename-package-to-rollup.js.map +1 -0
- package/src/migrations/update-13-8-0/add-postcss-config-option.d.ts +2 -0
- package/src/migrations/update-13-8-0/add-postcss-config-option.js +26 -0
- package/src/migrations/update-13-8-0/add-postcss-config-option.js.map +1 -0
- package/src/migrations/update-14-1-7/rollup-format-backwards-compatibility.d.ts +2 -0
- package/src/migrations/update-14-1-7/rollup-format-backwards-compatibility.js +23 -0
- package/src/migrations/update-14-1-7/rollup-format-backwards-compatibility.js.map +1 -0
- package/src/migrations/update-14-7-6/update-webpack-executor.d.ts +2 -0
- package/src/migrations/update-14-7-6/update-webpack-executor.js +27 -0
- package/src/migrations/update-14-7-6/update-webpack-executor.js.map +1 -0
- package/src/migrations/update-15-0-0/add-babel-inputs.d.ts +2 -0
- package/src/migrations/update-15-0-0/add-babel-inputs.js +13 -0
- package/src/migrations/update-15-0-0/add-babel-inputs.js.map +1 -0
- package/src/migrations/update-15-0-0/update-rollup-executor.d.ts +2 -0
- package/src/migrations/update-15-0-0/update-rollup-executor.js +38 -0
- package/src/migrations/update-15-0-0/update-rollup-executor.js.map +1 -0
- package/src/migrations/update-15-5-4/update-babel-preset.d.ts +2 -0
- package/src/migrations/update-15-5-4/update-babel-preset.js +37 -0
- package/src/migrations/update-15-5-4/update-babel-preset.js.map +1 -0
- package/src/migrations/update-15-9-1/add-dropped-dependencies.d.ts +2 -0
- package/src/migrations/update-15-9-1/add-dropped-dependencies.js +40 -0
- package/src/migrations/update-15-9-1/add-dropped-dependencies.js.map +1 -0
- package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.d.ts +2 -0
- package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.js +13 -0
- package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.js.map +1 -0
- package/src/plugins/webpack-nx-build-coordination-plugin.d.ts +1 -0
- package/src/plugins/webpack-nx-build-coordination-plugin.js +6 -0
- package/src/plugins/webpack-nx-build-coordination-plugin.js.map +1 -0
- package/src/utils/fs.d.ts +1 -0
- package/src/utils/fs.js +5 -0
- package/src/utils/fs.js.map +1 -0
- package/src/utils/normalize.d.ts +1 -0
- package/src/utils/normalize.js +5 -0
- package/src/utils/normalize.js.map +1 -0
- package/src/utils/versions.d.ts +4 -0
- package/src/utils/versions.js +8 -0
- package/src/utils/versions.js.map +1 -0
|
@@ -0,0 +1,374 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 2,
|
|
3
|
+
"outputCapture": "direct-nodejs",
|
|
4
|
+
"title": "Webpack Executor",
|
|
5
|
+
"description": "Builds web applications using webpack.",
|
|
6
|
+
"cli": "nx",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"properties": {
|
|
9
|
+
"crossOrigin": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"description": "The `crossorigin` attribute to use for generated javascript script tags. One of 'none' | 'anonymous' | 'use-credentials'."
|
|
12
|
+
},
|
|
13
|
+
"main": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"description": "The name of the main entry-point file.",
|
|
16
|
+
"x-completion-type": "file",
|
|
17
|
+
"x-completion-glob": "**/*@(.js|.ts|.tsx)"
|
|
18
|
+
},
|
|
19
|
+
"tsConfig": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"description": "The name of the Typescript configuration file.",
|
|
22
|
+
"x-completion-type": "file",
|
|
23
|
+
"x-completion-glob": "tsconfig.*.json"
|
|
24
|
+
},
|
|
25
|
+
"compiler": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"description": "The compiler to use.",
|
|
28
|
+
"enum": ["babel", "swc"],
|
|
29
|
+
"default": "babel",
|
|
30
|
+
"x-priority": "important"
|
|
31
|
+
},
|
|
32
|
+
"outputPath": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"description": "The output path of the generated files.",
|
|
35
|
+
"x-completion-type": "directory"
|
|
36
|
+
},
|
|
37
|
+
"deleteOutputPath": {
|
|
38
|
+
"type": "boolean",
|
|
39
|
+
"description": "Delete the output path before building.",
|
|
40
|
+
"default": true
|
|
41
|
+
},
|
|
42
|
+
"watch": {
|
|
43
|
+
"type": "boolean",
|
|
44
|
+
"description": "Enable re-building when files change.",
|
|
45
|
+
"default": false
|
|
46
|
+
},
|
|
47
|
+
"baseHref": {
|
|
48
|
+
"type": "string",
|
|
49
|
+
"description": "Base url for the application being built.",
|
|
50
|
+
"x-priority": "important"
|
|
51
|
+
},
|
|
52
|
+
"deployUrl": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"description": "URL where the application will be deployed.",
|
|
55
|
+
"x-priority": "important"
|
|
56
|
+
},
|
|
57
|
+
"vendorChunk": {
|
|
58
|
+
"type": "boolean",
|
|
59
|
+
"description": "Use a separate bundle containing only vendor libraries.",
|
|
60
|
+
"default": true
|
|
61
|
+
},
|
|
62
|
+
"commonChunk": {
|
|
63
|
+
"type": "boolean",
|
|
64
|
+
"description": "Use a separate bundle containing code used across multiple bundles.",
|
|
65
|
+
"default": true
|
|
66
|
+
},
|
|
67
|
+
"runtimeChunk": {
|
|
68
|
+
"type": "boolean",
|
|
69
|
+
"description": "Use a separate bundle containing the runtime.",
|
|
70
|
+
"default": true
|
|
71
|
+
},
|
|
72
|
+
"sourceMap": {
|
|
73
|
+
"description": "Output sourcemaps. Use 'hidden' for use with error reporting tools without generating sourcemap comment.",
|
|
74
|
+
"default": true,
|
|
75
|
+
"oneOf": [
|
|
76
|
+
{
|
|
77
|
+
"type": "boolean"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"type": "string"
|
|
81
|
+
}
|
|
82
|
+
]
|
|
83
|
+
},
|
|
84
|
+
"progress": {
|
|
85
|
+
"type": "boolean",
|
|
86
|
+
"description": "Log progress to the console while building.",
|
|
87
|
+
"default": false
|
|
88
|
+
},
|
|
89
|
+
"assets": {
|
|
90
|
+
"type": "array",
|
|
91
|
+
"description": "List of static application assets.",
|
|
92
|
+
"default": [],
|
|
93
|
+
"items": {
|
|
94
|
+
"$ref": "#/definitions/assetPattern"
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
"index": {
|
|
98
|
+
"type": "string",
|
|
99
|
+
"description": "HTML File which will be contain the application.",
|
|
100
|
+
"x-completion-type": "file",
|
|
101
|
+
"x-completion-glob": "**/*@(.html|.htm)"
|
|
102
|
+
},
|
|
103
|
+
"scripts": {
|
|
104
|
+
"type": "array",
|
|
105
|
+
"description": "External Scripts which will be included before the main application entry.",
|
|
106
|
+
"items": {
|
|
107
|
+
"$ref": "#/definitions/extraEntryPoint"
|
|
108
|
+
},
|
|
109
|
+
"default": []
|
|
110
|
+
},
|
|
111
|
+
"styles": {
|
|
112
|
+
"type": "array",
|
|
113
|
+
"description": "External Styles which will be included with the application",
|
|
114
|
+
"items": {
|
|
115
|
+
"$ref": "#/definitions/extraEntryPoint"
|
|
116
|
+
},
|
|
117
|
+
"default": []
|
|
118
|
+
},
|
|
119
|
+
"budgets": {
|
|
120
|
+
"description": "Budget thresholds to ensure parts of your application stay within boundaries which you set.",
|
|
121
|
+
"type": "array",
|
|
122
|
+
"items": {
|
|
123
|
+
"$ref": "#/definitions/budget"
|
|
124
|
+
},
|
|
125
|
+
"default": []
|
|
126
|
+
},
|
|
127
|
+
"namedChunks": {
|
|
128
|
+
"type": "boolean",
|
|
129
|
+
"description": "Names the produced bundles according to their entry file.",
|
|
130
|
+
"default": true
|
|
131
|
+
},
|
|
132
|
+
"outputHashing": {
|
|
133
|
+
"type": "string",
|
|
134
|
+
"description": "Define the output filename cache-busting hashing mode.",
|
|
135
|
+
"default": "none",
|
|
136
|
+
"enum": ["none", "all", "media", "bundles"]
|
|
137
|
+
},
|
|
138
|
+
"stylePreprocessorOptions": {
|
|
139
|
+
"description": "Options to pass to style preprocessors.",
|
|
140
|
+
"type": "object",
|
|
141
|
+
"properties": {
|
|
142
|
+
"includePaths": {
|
|
143
|
+
"description": "Paths to include. Paths will be resolved to project root.",
|
|
144
|
+
"type": "array",
|
|
145
|
+
"items": {
|
|
146
|
+
"type": "string"
|
|
147
|
+
},
|
|
148
|
+
"default": []
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
"additionalProperties": false
|
|
152
|
+
},
|
|
153
|
+
"optimization": {
|
|
154
|
+
"description": "Enables optimization of the build output.",
|
|
155
|
+
"oneOf": [
|
|
156
|
+
{
|
|
157
|
+
"type": "object",
|
|
158
|
+
"properties": {
|
|
159
|
+
"scripts": {
|
|
160
|
+
"type": "boolean",
|
|
161
|
+
"description": "Enables optimization of the scripts output.",
|
|
162
|
+
"default": true
|
|
163
|
+
},
|
|
164
|
+
"styles": {
|
|
165
|
+
"type": "boolean",
|
|
166
|
+
"description": "Enables optimization of the styles output.",
|
|
167
|
+
"default": true
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
"additionalProperties": false
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"type": "boolean"
|
|
174
|
+
}
|
|
175
|
+
]
|
|
176
|
+
},
|
|
177
|
+
"extractCss": {
|
|
178
|
+
"type": "boolean",
|
|
179
|
+
"description": "Extract CSS into a `.css` file.",
|
|
180
|
+
"default": true
|
|
181
|
+
},
|
|
182
|
+
"subresourceIntegrity": {
|
|
183
|
+
"type": "boolean",
|
|
184
|
+
"description": "Enables the use of subresource integrity validation.",
|
|
185
|
+
"default": false
|
|
186
|
+
},
|
|
187
|
+
"polyfills": {
|
|
188
|
+
"type": "string",
|
|
189
|
+
"description": "Polyfills to load before application",
|
|
190
|
+
"x-completion-type": "file",
|
|
191
|
+
"x-completion-glob": "**/*@(.js|.ts|.tsx)"
|
|
192
|
+
},
|
|
193
|
+
"verbose": {
|
|
194
|
+
"type": "boolean",
|
|
195
|
+
"description": "Emits verbose output",
|
|
196
|
+
"default": false
|
|
197
|
+
},
|
|
198
|
+
"statsJson": {
|
|
199
|
+
"type": "boolean",
|
|
200
|
+
"description": "Generates a 'stats.json' file which can be analyzed using tools such as: 'webpack-bundle-analyzer' or `<https://webpack.github.io/analyse>`.",
|
|
201
|
+
"default": false
|
|
202
|
+
},
|
|
203
|
+
"extractLicenses": {
|
|
204
|
+
"type": "boolean",
|
|
205
|
+
"description": "Extract all licenses in a separate file, in the case of production builds only.",
|
|
206
|
+
"default": false
|
|
207
|
+
},
|
|
208
|
+
"memoryLimit": {
|
|
209
|
+
"type": "number",
|
|
210
|
+
"description": "Memory limit for type checking service process in `MB`.",
|
|
211
|
+
"default": 2048
|
|
212
|
+
},
|
|
213
|
+
"maxWorkers": {
|
|
214
|
+
"type": "number",
|
|
215
|
+
"description": "Number of workers to use for type checking.",
|
|
216
|
+
"default": 2
|
|
217
|
+
},
|
|
218
|
+
"fileReplacements": {
|
|
219
|
+
"description": "Replace files with other files in the build.",
|
|
220
|
+
"type": "array",
|
|
221
|
+
"items": {
|
|
222
|
+
"type": "object",
|
|
223
|
+
"properties": {
|
|
224
|
+
"replace": {
|
|
225
|
+
"type": "string",
|
|
226
|
+
"description": "The file to be replaced.",
|
|
227
|
+
"x-completion-type": "file"
|
|
228
|
+
},
|
|
229
|
+
"with": {
|
|
230
|
+
"type": "string",
|
|
231
|
+
"description": "The file to replace with.",
|
|
232
|
+
"x-completion-type": "file"
|
|
233
|
+
}
|
|
234
|
+
},
|
|
235
|
+
"additionalProperties": false,
|
|
236
|
+
"required": ["replace", "with"]
|
|
237
|
+
},
|
|
238
|
+
"default": []
|
|
239
|
+
},
|
|
240
|
+
"buildLibsFromSource": {
|
|
241
|
+
"type": "boolean",
|
|
242
|
+
"description": "Read buildable libraries from source instead of building them separately.",
|
|
243
|
+
"default": true
|
|
244
|
+
},
|
|
245
|
+
"generateIndexHtml": {
|
|
246
|
+
"type": "boolean",
|
|
247
|
+
"description": "Generates `index.html` file to the output path. This can be turned off if using a webpack plugin to generate HTML such as `html-webpack-plugin`.",
|
|
248
|
+
"default": true
|
|
249
|
+
},
|
|
250
|
+
"postcssConfig": {
|
|
251
|
+
"type": "string",
|
|
252
|
+
"description": "Set a path to PostCSS config that applies to the app and all libs. Defaults to `undefined`, which auto-detects postcss.config.js files in each `app`/`lib` directory."
|
|
253
|
+
},
|
|
254
|
+
"webpackConfig": {
|
|
255
|
+
"type": "string",
|
|
256
|
+
"description": "Path to a function which takes a webpack config, some context and returns the resulting webpack config. See https://nx.dev/guides/customize-webpack",
|
|
257
|
+
"x-completion-type": "file",
|
|
258
|
+
"x-completion-glob": "webpack?(*)@(.js|.ts)",
|
|
259
|
+
"x-priority": "important"
|
|
260
|
+
}
|
|
261
|
+
},
|
|
262
|
+
"required": ["tsConfig", "main", "index"],
|
|
263
|
+
"definitions": {
|
|
264
|
+
"assetPattern": {
|
|
265
|
+
"oneOf": [
|
|
266
|
+
{
|
|
267
|
+
"type": "object",
|
|
268
|
+
"properties": {
|
|
269
|
+
"glob": {
|
|
270
|
+
"type": "string",
|
|
271
|
+
"description": "The pattern to match."
|
|
272
|
+
},
|
|
273
|
+
"input": {
|
|
274
|
+
"type": "string",
|
|
275
|
+
"description": "The input directory path in which to apply 'glob'. Defaults to the project root."
|
|
276
|
+
},
|
|
277
|
+
"ignore": {
|
|
278
|
+
"description": "An array of globs to ignore.",
|
|
279
|
+
"type": "array",
|
|
280
|
+
"items": {
|
|
281
|
+
"type": "string"
|
|
282
|
+
}
|
|
283
|
+
},
|
|
284
|
+
"output": {
|
|
285
|
+
"type": "string",
|
|
286
|
+
"description": "Absolute path within the output."
|
|
287
|
+
}
|
|
288
|
+
},
|
|
289
|
+
"additionalProperties": false,
|
|
290
|
+
"required": ["glob", "input", "output"]
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
"type": "string"
|
|
294
|
+
}
|
|
295
|
+
]
|
|
296
|
+
},
|
|
297
|
+
"budget": {
|
|
298
|
+
"type": "object",
|
|
299
|
+
"properties": {
|
|
300
|
+
"type": {
|
|
301
|
+
"type": "string",
|
|
302
|
+
"description": "The type of budget.",
|
|
303
|
+
"enum": ["all", "allScript", "any", "anyScript", "bundle", "initial"]
|
|
304
|
+
},
|
|
305
|
+
"name": {
|
|
306
|
+
"type": "string",
|
|
307
|
+
"description": "The name of the bundle."
|
|
308
|
+
},
|
|
309
|
+
"baseline": {
|
|
310
|
+
"type": "string",
|
|
311
|
+
"description": "The baseline size for comparison."
|
|
312
|
+
},
|
|
313
|
+
"maximumWarning": {
|
|
314
|
+
"type": "string",
|
|
315
|
+
"description": "The maximum threshold for warning relative to the baseline."
|
|
316
|
+
},
|
|
317
|
+
"maximumError": {
|
|
318
|
+
"type": "string",
|
|
319
|
+
"description": "The maximum threshold for error relative to the baseline."
|
|
320
|
+
},
|
|
321
|
+
"minimumWarning": {
|
|
322
|
+
"type": "string",
|
|
323
|
+
"description": "The minimum threshold for warning relative to the baseline."
|
|
324
|
+
},
|
|
325
|
+
"minimumError": {
|
|
326
|
+
"type": "string",
|
|
327
|
+
"description": "The minimum threshold for error relative to the baseline."
|
|
328
|
+
},
|
|
329
|
+
"warning": {
|
|
330
|
+
"type": "string",
|
|
331
|
+
"description": "The threshold for warning relative to the baseline (min & max)."
|
|
332
|
+
},
|
|
333
|
+
"error": {
|
|
334
|
+
"type": "string",
|
|
335
|
+
"description": "The threshold for error relative to the baseline (min & max)."
|
|
336
|
+
}
|
|
337
|
+
},
|
|
338
|
+
"additionalProperties": false,
|
|
339
|
+
"required": ["type"]
|
|
340
|
+
},
|
|
341
|
+
"extraEntryPoint": {
|
|
342
|
+
"oneOf": [
|
|
343
|
+
{
|
|
344
|
+
"type": "object",
|
|
345
|
+
"properties": {
|
|
346
|
+
"input": {
|
|
347
|
+
"type": "string",
|
|
348
|
+
"description": "The file to include.",
|
|
349
|
+
"x-completion-type": "file",
|
|
350
|
+
"x-completion-glob": "**/*@(.css|.scss|.less|.sass|.styl|.stylus)"
|
|
351
|
+
},
|
|
352
|
+
"bundleName": {
|
|
353
|
+
"type": "string",
|
|
354
|
+
"description": "The bundle name for this extra entry point."
|
|
355
|
+
},
|
|
356
|
+
"inject": {
|
|
357
|
+
"type": "boolean",
|
|
358
|
+
"description": "If the bundle will be referenced in the HTML file.",
|
|
359
|
+
"default": true
|
|
360
|
+
}
|
|
361
|
+
},
|
|
362
|
+
"additionalProperties": false,
|
|
363
|
+
"required": ["input"]
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
"type": "string",
|
|
367
|
+
"description": "The file to include.",
|
|
368
|
+
"x-completion-type": "file",
|
|
369
|
+
"x-completion-glob": "**/*@(.css|.scss|.less|.sass|.styl|.stylus)"
|
|
370
|
+
}
|
|
371
|
+
]
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.webpackExecutor = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
/**
|
|
6
|
+
* For backwards compat.
|
|
7
|
+
* TODO(v16): Remove in Nx 16.
|
|
8
|
+
*/
|
|
9
|
+
const devkit_1 = require("@nx/devkit");
|
|
10
|
+
function webpackExecutor(options, context) {
|
|
11
|
+
return tslib_1.__asyncGenerator(this, arguments, function* webpackExecutor_1() {
|
|
12
|
+
const { webpackExecutor: baseWebpackExecutor } = require('@nx/webpack');
|
|
13
|
+
devkit_1.logger.warn('"@nx/web:webpack" executor is deprecated. Use "@nx/webpack:webpack" instead in your project.json.');
|
|
14
|
+
yield tslib_1.__await(yield* tslib_1.__asyncDelegator(tslib_1.__asyncValues(baseWebpackExecutor(Object.assign(Object.assign({}, options), { target: 'web' }), context))));
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
exports.webpackExecutor = webpackExecutor;
|
|
18
|
+
exports.default = webpackExecutor;
|
|
19
|
+
//# sourceMappingURL=webpack.impl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webpack.impl.js","sourceRoot":"","sources":["../../../../../../packages/web/src/executors/webpack/webpack.impl.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAAqD;AAErD,SAAuB,eAAe,CAAC,OAAY,EAAE,OAAwB;;QAC3E,MAAM,EAAE,eAAe,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QACxE,eAAM,CAAC,IAAI,CACT,mGAAmG,CACpG,CAAC;QACF,sBAAA,KAAK,CAAC,CAAC,yBAAA,sBAAA,mBAAmB,iCAEnB,OAAO,KACV,MAAM,EAAE,KAAK,KAEf,OAAO,CACR,CAAA,CAAA,CAAA,CAAC;IACJ,CAAC;CAAA;AAZD,0CAYC;AAED,kBAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { GeneratorCallback, Tree } from '@nx/devkit';
|
|
2
|
+
import { Schema } from './schema';
|
|
3
|
+
export declare function applicationGenerator(host: Tree, schema: Schema): Promise<GeneratorCallback>;
|
|
4
|
+
export default applicationGenerator;
|
|
5
|
+
export declare const applicationSchematic: (generatorOptions: Schema) => (tree: any, context: any) => Promise<any>;
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.applicationSchematic = exports.applicationGenerator = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
const devkit_1 = require("@nx/devkit");
|
|
7
|
+
const versions_1 = require("@nx/js/src/utils/versions");
|
|
8
|
+
const js_1 = require("@nx/js");
|
|
9
|
+
const versions_2 = require("../../utils/versions");
|
|
10
|
+
const init_1 = require("../init/init");
|
|
11
|
+
function createApplicationFiles(tree, options) {
|
|
12
|
+
(0, devkit_1.generateFiles)(tree, (0, path_1.join)(__dirname, options.bundler === 'vite' ? './files/app-vite' : './files/app-webpack'), options.appProjectRoot, Object.assign(Object.assign(Object.assign({}, options), (0, devkit_1.names)(options.name)), { tmpl: '', offsetFromRoot: (0, devkit_1.offsetFromRoot)(options.appProjectRoot), rootTsConfigPath: (0, js_1.getRelativePathToRootTsConfig)(tree, options.appProjectRoot) }));
|
|
13
|
+
if (options.unitTestRunner === 'none') {
|
|
14
|
+
tree.delete((0, path_1.join)(options.appProjectRoot, './src/app/app.element.spec.ts'));
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function setupBundler(tree, options) {
|
|
18
|
+
var _a;
|
|
19
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
20
|
+
const main = (0, devkit_1.joinPathFragments)(options.appProjectRoot, 'src/main.ts');
|
|
21
|
+
const tsConfig = (0, devkit_1.joinPathFragments)(options.appProjectRoot, 'tsconfig.app.json');
|
|
22
|
+
const assets = [
|
|
23
|
+
(0, devkit_1.joinPathFragments)(options.appProjectRoot, 'src/favicon.ico'),
|
|
24
|
+
(0, devkit_1.joinPathFragments)(options.appProjectRoot, 'src/assets'),
|
|
25
|
+
];
|
|
26
|
+
if (options.bundler === 'webpack') {
|
|
27
|
+
const { webpackProjectGenerator } = (0, devkit_1.ensurePackage)('@nx/webpack', versions_2.nxVersion);
|
|
28
|
+
yield webpackProjectGenerator(tree, {
|
|
29
|
+
project: options.projectName,
|
|
30
|
+
main,
|
|
31
|
+
tsConfig,
|
|
32
|
+
compiler: (_a = options.compiler) !== null && _a !== void 0 ? _a : 'babel',
|
|
33
|
+
devServer: true,
|
|
34
|
+
isolatedConfig: true,
|
|
35
|
+
webpackConfig: (0, devkit_1.joinPathFragments)(options.appProjectRoot, 'webpack.config.js'),
|
|
36
|
+
skipFormat: true,
|
|
37
|
+
});
|
|
38
|
+
const project = (0, devkit_1.readProjectConfiguration)(tree, options.projectName);
|
|
39
|
+
const prodConfig = project.targets.build.configurations.production;
|
|
40
|
+
const buildOptions = project.targets.build.options;
|
|
41
|
+
buildOptions.assets = assets;
|
|
42
|
+
buildOptions.index = (0, devkit_1.joinPathFragments)(options.appProjectRoot, 'src/index.html');
|
|
43
|
+
buildOptions.baseHref = '/';
|
|
44
|
+
buildOptions.styles = [
|
|
45
|
+
(0, devkit_1.joinPathFragments)(options.appProjectRoot, `src/styles.${options.style}`),
|
|
46
|
+
];
|
|
47
|
+
// We can delete that, because this projest is an application
|
|
48
|
+
// and applications have a .babelrc file in their root dir.
|
|
49
|
+
// So Nx will find it and use it
|
|
50
|
+
delete buildOptions.babelUpwardRootMode;
|
|
51
|
+
buildOptions.scripts = [];
|
|
52
|
+
prodConfig.fileReplacements = [
|
|
53
|
+
{
|
|
54
|
+
replace: (0, devkit_1.joinPathFragments)(options.appProjectRoot, `src/environments/environment.ts`),
|
|
55
|
+
with: (0, devkit_1.joinPathFragments)(options.appProjectRoot, `src/environments/environment.prod.ts`),
|
|
56
|
+
},
|
|
57
|
+
];
|
|
58
|
+
prodConfig.optimization = true;
|
|
59
|
+
prodConfig.outputHashing = 'all';
|
|
60
|
+
prodConfig.sourceMap = false;
|
|
61
|
+
prodConfig.namedChunks = false;
|
|
62
|
+
prodConfig.extractLicenses = true;
|
|
63
|
+
prodConfig.vendorChunk = false;
|
|
64
|
+
(0, devkit_1.updateProjectConfiguration)(tree, options.projectName, project);
|
|
65
|
+
}
|
|
66
|
+
else if (options.bundler === 'none') {
|
|
67
|
+
// TODO(jack): Flush this out... no bundler should be possible for web but the experience isn't holistic due to missing features (e.g. writing index.html).
|
|
68
|
+
const project = (0, devkit_1.readProjectConfiguration)(tree, options.projectName);
|
|
69
|
+
project.targets.build = {
|
|
70
|
+
executor: `@nrwl/js:${options.compiler}`,
|
|
71
|
+
outputs: ['{options.outputPath}'],
|
|
72
|
+
options: {
|
|
73
|
+
main,
|
|
74
|
+
outputPath: (0, devkit_1.joinPathFragments)('dist', options.appProjectRoot),
|
|
75
|
+
tsConfig,
|
|
76
|
+
assets,
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
(0, devkit_1.updateProjectConfiguration)(tree, options.projectName, project);
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
throw new Error('Unsupported bundler type');
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
function addProject(tree, options) {
|
|
87
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
88
|
+
const targets = {};
|
|
89
|
+
(0, devkit_1.addProjectConfiguration)(tree, options.projectName, {
|
|
90
|
+
projectType: 'application',
|
|
91
|
+
root: options.appProjectRoot,
|
|
92
|
+
sourceRoot: (0, devkit_1.joinPathFragments)(options.appProjectRoot, 'src'),
|
|
93
|
+
tags: options.parsedTags,
|
|
94
|
+
targets,
|
|
95
|
+
}, options.standaloneConfig);
|
|
96
|
+
if (options.bundler !== 'vite') {
|
|
97
|
+
yield setupBundler(tree, options);
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
function setDefaults(tree, options) {
|
|
102
|
+
const nxJson = (0, devkit_1.readNxJson)(tree);
|
|
103
|
+
nxJson.generators = nxJson.generators || {};
|
|
104
|
+
nxJson.generators['@nrwl/web:application'] = Object.assign({ style: options.style, linter: options.linter, unitTestRunner: options.unitTestRunner, e2eTestRunner: options.e2eTestRunner }, nxJson.generators['@nrwl/web:application']);
|
|
105
|
+
(0, devkit_1.updateNxJson)(tree, nxJson);
|
|
106
|
+
}
|
|
107
|
+
function applicationGenerator(host, schema) {
|
|
108
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
109
|
+
const options = normalizeOptions(host, schema);
|
|
110
|
+
const tasks = [];
|
|
111
|
+
const webTask = yield (0, init_1.webInitGenerator)(host, Object.assign(Object.assign({}, options), { skipFormat: true,
|
|
112
|
+
// Vite does not use babel by default
|
|
113
|
+
skipBabelConfig: options.bundler === 'vite' }));
|
|
114
|
+
tasks.push(webTask);
|
|
115
|
+
createApplicationFiles(host, options);
|
|
116
|
+
yield addProject(host, options);
|
|
117
|
+
if (options.bundler === 'vite') {
|
|
118
|
+
const { viteConfigurationGenerator } = (0, devkit_1.ensurePackage)('@nx/vite', versions_2.nxVersion);
|
|
119
|
+
// We recommend users use `import.meta.env.MODE` and other variables in their code to differentiate between production and development.
|
|
120
|
+
// See: https://vitejs.dev/guide/env-and-mode.html
|
|
121
|
+
if (host.exists((0, devkit_1.joinPathFragments)(options.appProjectRoot, 'src/environments'))) {
|
|
122
|
+
host.delete((0, devkit_1.joinPathFragments)(options.appProjectRoot, 'src/environments'));
|
|
123
|
+
}
|
|
124
|
+
const viteTask = yield viteConfigurationGenerator(host, {
|
|
125
|
+
uiFramework: 'none',
|
|
126
|
+
project: options.projectName,
|
|
127
|
+
newProject: true,
|
|
128
|
+
includeVitest: options.unitTestRunner === 'vitest',
|
|
129
|
+
inSourceTests: options.inSourceTests,
|
|
130
|
+
skipFormat: true,
|
|
131
|
+
});
|
|
132
|
+
tasks.push(viteTask);
|
|
133
|
+
}
|
|
134
|
+
if (options.bundler !== 'vite' && options.unitTestRunner === 'vitest') {
|
|
135
|
+
const { vitestGenerator } = (0, devkit_1.ensurePackage)('@nx/vite', versions_2.nxVersion);
|
|
136
|
+
const vitestTask = yield vitestGenerator(host, {
|
|
137
|
+
uiFramework: 'none',
|
|
138
|
+
project: options.projectName,
|
|
139
|
+
coverageProvider: 'c8',
|
|
140
|
+
inSourceTests: options.inSourceTests,
|
|
141
|
+
skipFormat: true,
|
|
142
|
+
});
|
|
143
|
+
tasks.push(vitestTask);
|
|
144
|
+
}
|
|
145
|
+
if ((options.bundler === 'vite' || options.unitTestRunner === 'vitest') &&
|
|
146
|
+
options.inSourceTests) {
|
|
147
|
+
host.delete((0, devkit_1.joinPathFragments)(options.appProjectRoot, `src/app/app.element.spec.ts`));
|
|
148
|
+
}
|
|
149
|
+
if (options.linter === 'eslint') {
|
|
150
|
+
const { lintProjectGenerator } = yield (0, devkit_1.ensurePackage)('@nx/linter', versions_2.nxVersion);
|
|
151
|
+
const lintTask = yield lintProjectGenerator(host, {
|
|
152
|
+
linter: options.linter,
|
|
153
|
+
project: options.projectName,
|
|
154
|
+
tsConfigPaths: [
|
|
155
|
+
(0, devkit_1.joinPathFragments)(options.appProjectRoot, 'tsconfig.app.json'),
|
|
156
|
+
],
|
|
157
|
+
unitTestRunner: options.unitTestRunner,
|
|
158
|
+
eslintFilePatterns: [`${options.appProjectRoot}/**/*.ts`],
|
|
159
|
+
skipFormat: true,
|
|
160
|
+
setParserOptionsProject: options.setParserOptionsProject,
|
|
161
|
+
});
|
|
162
|
+
tasks.push(lintTask);
|
|
163
|
+
}
|
|
164
|
+
if (options.e2eTestRunner === 'cypress') {
|
|
165
|
+
const { cypressProjectGenerator } = yield (0, devkit_1.ensurePackage)('@nx/cypress', versions_2.nxVersion);
|
|
166
|
+
const cypressTask = yield cypressProjectGenerator(host, Object.assign(Object.assign({}, options), { name: `${options.name}-e2e`, directory: options.directory, project: options.projectName, skipFormat: true }));
|
|
167
|
+
tasks.push(cypressTask);
|
|
168
|
+
}
|
|
169
|
+
if (options.unitTestRunner === 'jest') {
|
|
170
|
+
const { jestProjectGenerator } = yield (0, devkit_1.ensurePackage)('@nx/jest', versions_2.nxVersion);
|
|
171
|
+
const jestTask = yield jestProjectGenerator(host, {
|
|
172
|
+
project: options.projectName,
|
|
173
|
+
skipSerializers: true,
|
|
174
|
+
setupFile: 'web-components',
|
|
175
|
+
compiler: options.compiler,
|
|
176
|
+
skipFormat: true,
|
|
177
|
+
});
|
|
178
|
+
tasks.push(jestTask);
|
|
179
|
+
}
|
|
180
|
+
if (options.compiler === 'swc') {
|
|
181
|
+
const installTask = (0, devkit_1.addDependenciesToPackageJson)(host, {}, { '@swc/core': versions_1.swcCoreVersion, 'swc-loader': versions_2.swcLoaderVersion });
|
|
182
|
+
tasks.push(installTask);
|
|
183
|
+
}
|
|
184
|
+
setDefaults(host, options);
|
|
185
|
+
if (!schema.skipFormat) {
|
|
186
|
+
yield (0, devkit_1.formatFiles)(host);
|
|
187
|
+
}
|
|
188
|
+
return (0, devkit_1.runTasksInSerial)(...tasks);
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
exports.applicationGenerator = applicationGenerator;
|
|
192
|
+
function normalizeOptions(host, options) {
|
|
193
|
+
var _a, _b, _c, _d;
|
|
194
|
+
const { layoutDirectory, projectDirectory } = (0, devkit_1.extractLayoutDirectory)(options.directory);
|
|
195
|
+
const appDirectory = projectDirectory
|
|
196
|
+
? `${(0, devkit_1.names)(projectDirectory).fileName}/${(0, devkit_1.names)(options.name).fileName}`
|
|
197
|
+
: (0, devkit_1.names)(options.name).fileName;
|
|
198
|
+
const { appsDir: defaultAppsDir, npmScope } = (0, devkit_1.getWorkspaceLayout)(host);
|
|
199
|
+
const appsDir = layoutDirectory !== null && layoutDirectory !== void 0 ? layoutDirectory : defaultAppsDir;
|
|
200
|
+
const appProjectName = appDirectory.replace(new RegExp('/', 'g'), '-');
|
|
201
|
+
const e2eProjectName = `${appProjectName}-e2e`;
|
|
202
|
+
const appProjectRoot = (0, devkit_1.joinPathFragments)(appsDir, appDirectory);
|
|
203
|
+
const e2eProjectRoot = (0, devkit_1.joinPathFragments)(appsDir, `${appDirectory}-e2e`);
|
|
204
|
+
const parsedTags = options.tags
|
|
205
|
+
? options.tags.split(',').map((s) => s.trim())
|
|
206
|
+
: [];
|
|
207
|
+
if (options.bundler === 'vite' && !options.unitTestRunner) {
|
|
208
|
+
options.unitTestRunner = 'vitest';
|
|
209
|
+
}
|
|
210
|
+
options.style = options.style || 'css';
|
|
211
|
+
options.linter = options.linter || 'eslint';
|
|
212
|
+
options.unitTestRunner = options.unitTestRunner || 'jest';
|
|
213
|
+
options.e2eTestRunner = options.e2eTestRunner || 'cypress';
|
|
214
|
+
return Object.assign(Object.assign({}, options), { prefix: (_b = (_a = options.prefix) !== null && _a !== void 0 ? _a : npmScope) !== null && _b !== void 0 ? _b : 'app', name: (0, devkit_1.names)(options.name).fileName, compiler: (_c = options.compiler) !== null && _c !== void 0 ? _c : 'babel', bundler: (_d = options.bundler) !== null && _d !== void 0 ? _d : 'webpack', projectName: appProjectName, appProjectRoot,
|
|
215
|
+
e2eProjectRoot,
|
|
216
|
+
e2eProjectName,
|
|
217
|
+
parsedTags });
|
|
218
|
+
}
|
|
219
|
+
exports.default = applicationGenerator;
|
|
220
|
+
exports.applicationSchematic = (0, devkit_1.convertNxGenerator)(applicationGenerator);
|
|
221
|
+
//# sourceMappingURL=application.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../../../packages/web/src/generators/application/application.ts"],"names":[],"mappings":"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"}
|