@nrwl/react 15.6.3 → 15.7.0-alpha.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.
Files changed (35) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/README.md +1 -1
  3. package/migrations.json +6 -0
  4. package/package.json +5 -5
  5. package/plugins/with-react.d.ts +5 -6
  6. package/plugins/with-react.js +4 -1
  7. package/plugins/with-react.js.map +1 -1
  8. package/src/executors/module-federation-dev-server/module-federation-dev-server.impl.d.ts +0 -1
  9. package/src/generators/application/files/{base-vite → nx-welcome}/src/app/nx-welcome.tsx +1 -1
  10. package/src/generators/application/files/style-css-module/src/app/__fileName__.tsx__tmpl__ +9 -0
  11. package/src/generators/application/files/style-global-css/src/app/__fileName__.tsx__tmpl__ +9 -0
  12. package/src/generators/application/files/style-none/src/app/__fileName__.tsx__tmpl__ +9 -0
  13. package/src/generators/application/files/style-styled-jsx/src/app/__fileName__.tsx__tmpl__ +2 -1
  14. package/src/generators/application/files/style-styled-module/src/app/__fileName__.tsx__tmpl__ +9 -0
  15. package/src/generators/application/lib/add-project.js +2 -1
  16. package/src/generators/application/lib/add-project.js.map +1 -1
  17. package/src/generators/application/lib/create-application-files.js +3 -0
  18. package/src/generators/application/lib/create-application-files.js.map +1 -1
  19. package/src/generators/application/lib/normalize-options.js +2 -1
  20. package/src/generators/application/lib/normalize-options.js.map +1 -1
  21. package/src/generators/application/schema.json +3 -1
  22. package/src/generators/host/files/common/src/app/__fileName__.tsx__tmpl__ +4 -0
  23. package/src/generators/host/schema.d.ts +1 -0
  24. package/src/generators/host/schema.json +8 -1
  25. package/src/generators/library/library.js +1 -1
  26. package/src/generators/library/library.js.map +1 -1
  27. package/src/generators/library/schema.json +3 -1
  28. package/src/generators/remote/schema.json +3 -1
  29. package/src/generators/setup-ssr/setup-ssr.js +1 -0
  30. package/src/generators/setup-ssr/setup-ssr.js.map +1 -1
  31. package/src/generators/storybook-configuration/schema.json +3 -1
  32. package/src/migrations/update-15-6-3/webpack-config-setup.d.ts +2 -0
  33. package/src/migrations/update-15-6-3/webpack-config-setup.js +108 -0
  34. package/src/migrations/update-15-6-3/webpack-config-setup.js.map +1 -0
  35. package/src/generators/application/files/base-webpack/src/app/nx-welcome.tsx +0 -820
@@ -1,820 +0,0 @@
1
- /*
2
- * * * * * * * * * * * * * * * * * * * * * * * * * * * *
3
- This is a starter component and can be deleted.
4
- * * * * * * * * * * * * * * * * * * * * * * * * * * * *
5
- Delete this file and get started with your project!
6
- * * * * * * * * * * * * * * * * * * * * * * * * * * * *
7
- */
8
- export function NxWelcome({ title }: { title: string }) {
9
- return (
10
- <>
11
- <style
12
- dangerouslySetInnerHTML={{
13
- __html: `
14
- html {
15
- -webkit-text-size-adjust: 100%;
16
- font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
17
- 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif,
18
- 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',
19
- 'Noto Color Emoji';
20
- line-height: 1.5;
21
- tab-size: 4;
22
- scroll-behavior: smooth;
23
- }
24
- body {
25
- font-family: inherit;
26
- line-height: inherit;
27
- margin: 0;
28
- }
29
- h1,
30
- h2,
31
- p,
32
- pre {
33
- margin: 0;
34
- }
35
- *,
36
- ::before,
37
- ::after {
38
- box-sizing: border-box;
39
- border-width: 0;
40
- border-style: solid;
41
- border-color: currentColor;
42
- }
43
- h1,
44
- h2 {
45
- font-size: inherit;
46
- font-weight: inherit;
47
- }
48
- a {
49
- color: inherit;
50
- text-decoration: inherit;
51
- }
52
- pre {
53
- font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
54
- 'Liberation Mono', 'Courier New', monospace;
55
- }
56
- svg {
57
- display: block;
58
- vertical-align: middle;
59
- shape-rendering: auto;
60
- text-rendering: optimizeLegibility;
61
- }
62
- pre {
63
- background-color: rgba(55, 65, 81, 1);
64
- border-radius: 0.25rem;
65
- color: rgba(229, 231, 235, 1);
66
- font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
67
- 'Liberation Mono', 'Courier New', monospace;
68
- overflow: scroll;
69
- padding: 0.5rem 0.75rem;
70
- }
71
-
72
- .shadow {
73
- box-shadow: 0 0 #0000, 0 0 #0000, 0 10px 15px -3px rgba(0, 0, 0, 0.1),
74
- 0 4px 6px -2px rgba(0, 0, 0, 0.05);
75
- }
76
- .rounded {
77
- border-radius: 1.5rem;
78
- }
79
- .wrapper {
80
- width: 100%;
81
- }
82
- .container {
83
- margin-left: auto;
84
- margin-right: auto;
85
- max-width: 768px;
86
- padding-bottom: 3rem;
87
- padding-left: 1rem;
88
- padding-right: 1rem;
89
- color: rgba(55, 65, 81, 1);
90
- width: 100%;
91
- }
92
- #welcome {
93
- margin-top: 2.5rem;
94
- }
95
- #welcome h1 {
96
- font-size: 3rem;
97
- font-weight: 500;
98
- letter-spacing: -0.025em;
99
- line-height: 1;
100
- }
101
- #welcome span {
102
- display: block;
103
- font-size: 1.875rem;
104
- font-weight: 300;
105
- line-height: 2.25rem;
106
- margin-bottom: 0.5rem;
107
- }
108
- #hero {
109
- align-items: center;
110
- background-color: hsla(214, 62%, 21%, 1);
111
- border: none;
112
- box-sizing: border-box;
113
- color: rgba(55, 65, 81, 1);
114
- display: grid;
115
- grid-template-columns: 1fr;
116
- margin-top: 3.5rem;
117
- }
118
- #hero .text-container {
119
- color: rgba(255, 255, 255, 1);
120
- padding: 3rem 2rem;
121
- }
122
- #hero .text-container h2 {
123
- font-size: 1.5rem;
124
- line-height: 2rem;
125
- position: relative;
126
- }
127
- #hero .text-container h2 svg {
128
- color: hsla(162, 47%, 50%, 1);
129
- height: 2rem;
130
- left: -0.25rem;
131
- position: absolute;
132
- top: 0;
133
- width: 2rem;
134
- }
135
- #hero .text-container h2 span {
136
- margin-left: 2.5rem;
137
- }
138
- #hero .text-container a {
139
- background-color: rgba(255, 255, 255, 1);
140
- border-radius: 0.75rem;
141
- color: rgba(55, 65, 81, 1);
142
- display: inline-block;
143
- margin-top: 1.5rem;
144
- padding: 1rem 2rem;
145
- text-decoration: inherit;
146
- }
147
- #hero .logo-container {
148
- display: none;
149
- justify-content: center;
150
- padding-left: 2rem;
151
- padding-right: 2rem;
152
- }
153
- #hero .logo-container svg {
154
- color: rgba(255, 255, 255, 1);
155
- width: 66.666667%;
156
- }
157
- #middle-content {
158
- align-items: flex-start;
159
- display: grid;
160
- gap: 4rem;
161
- grid-template-columns: 1fr;
162
- margin-top: 3.5rem;
163
- }
164
- #learning-materials {
165
- padding: 2.5rem 2rem;
166
- }
167
- #learning-materials h2 {
168
- font-weight: 500;
169
- font-size: 1.25rem;
170
- letter-spacing: -0.025em;
171
- line-height: 1.75rem;
172
- padding-left: 1rem;
173
- padding-right: 1rem;
174
- }
175
- .list-item-link {
176
- align-items: center;
177
- border-radius: 0.75rem;
178
- display: flex;
179
- margin-top: 1rem;
180
- padding: 1rem;
181
- transition-property: background-color, border-color, color, fill, stroke,
182
- opacity, box-shadow, transform, filter, backdrop-filter,
183
- -webkit-backdrop-filter;
184
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
185
- transition-duration: 150ms;
186
- width: 100%;
187
- }
188
- .list-item-link svg:first-child {
189
- margin-right: 1rem;
190
- height: 1.5rem;
191
- transition-property: background-color, border-color, color, fill, stroke,
192
- opacity, box-shadow, transform, filter, backdrop-filter,
193
- -webkit-backdrop-filter;
194
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
195
- transition-duration: 150ms;
196
- width: 1.5rem;
197
- }
198
- .list-item-link > span {
199
- flex-grow: 1;
200
- font-weight: 400;
201
- transition-property: background-color, border-color, color, fill, stroke,
202
- opacity, box-shadow, transform, filter, backdrop-filter,
203
- -webkit-backdrop-filter;
204
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
205
- transition-duration: 150ms;
206
- }
207
- .list-item-link > span > span {
208
- color: rgba(107, 114, 128, 1);
209
- display: block;
210
- flex-grow: 1;
211
- font-size: 0.75rem;
212
- font-weight: 300;
213
- line-height: 1rem;
214
- transition-property: background-color, border-color, color, fill, stroke,
215
- opacity, box-shadow, transform, filter, backdrop-filter,
216
- -webkit-backdrop-filter;
217
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
218
- transition-duration: 150ms;
219
- }
220
- .list-item-link svg:last-child {
221
- height: 1rem;
222
- transition-property: all;
223
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
224
- transition-duration: 150ms;
225
- width: 1rem;
226
- }
227
- .list-item-link:hover {
228
- color: rgba(255, 255, 255, 1);
229
- background-color: hsla(162, 47%, 50%, 1);
230
- }
231
- .list-item-link:hover > span {}
232
- .list-item-link:hover > span > span {
233
- color: rgba(243, 244, 246, 1);
234
- }
235
- .list-item-link:hover svg:last-child {
236
- transform: translateX(0.25rem);
237
- }
238
- #other-links {}
239
- .button-pill {
240
- padding: 1.5rem 2rem;
241
- transition-duration: 300ms;
242
- transition-property: background-color, border-color, color, fill, stroke,
243
- opacity, box-shadow, transform, filter, backdrop-filter,
244
- -webkit-backdrop-filter;
245
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
246
- align-items: center;
247
- display: flex;
248
- }
249
- .button-pill svg {
250
- transition-property: background-color, border-color, color, fill, stroke,
251
- opacity, box-shadow, transform, filter, backdrop-filter,
252
- -webkit-backdrop-filter;
253
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
254
- transition-duration: 150ms;
255
- flex-shrink: 0;
256
- width: 3rem;
257
- }
258
- .button-pill > span {
259
- letter-spacing: -0.025em;
260
- font-weight: 400;
261
- font-size: 1.125rem;
262
- line-height: 1.75rem;
263
- padding-left: 1rem;
264
- padding-right: 1rem;
265
- }
266
- .button-pill span span {
267
- display: block;
268
- font-size: 0.875rem;
269
- font-weight: 300;
270
- line-height: 1.25rem;
271
- }
272
- .button-pill:hover svg,
273
- .button-pill:hover {
274
- color: rgba(255, 255, 255, 1) !important;
275
- }
276
- #nx-console:hover {
277
- background-color: rgba(0, 122, 204, 1);
278
- }
279
- #nx-console svg {
280
- color: rgba(0, 122, 204, 1);
281
- }
282
- #nx-repo:hover {
283
- background-color: rgba(24, 23, 23, 1);
284
- }
285
- #nx-repo svg {
286
- color: rgba(24, 23, 23, 1);
287
- }
288
- #nx-cloud {
289
- margin-bottom: 2rem;
290
- margin-top: 2rem;
291
- padding: 2.5rem 2rem;
292
- }
293
- #nx-cloud > div {
294
- align-items: center;
295
- display: flex;
296
- }
297
- #nx-cloud > div svg {
298
- border-radius: 0.375rem;
299
- flex-shrink: 0;
300
- width: 3rem;
301
- }
302
- #nx-cloud > div h2 {
303
- font-size: 1.125rem;
304
- font-weight: 400;
305
- letter-spacing: -0.025em;
306
- line-height: 1.75rem;
307
- padding-left: 1rem;
308
- padding-right: 1rem;
309
- }
310
- #nx-cloud > div h2 span {
311
- display: block;
312
- font-size: 0.875rem;
313
- font-weight: 300;
314
- line-height: 1.25rem;
315
- }
316
- #nx-cloud p {
317
- font-size: 1rem;
318
- line-height: 1.5rem;
319
- margin-top: 1rem;
320
- }
321
- #nx-cloud pre {
322
- margin-top: 1rem;
323
- }
324
- #nx-cloud a {
325
- color: rgba(107, 114, 128, 1);
326
- display: block;
327
- font-size: 0.875rem;
328
- line-height: 1.25rem;
329
- margin-top: 1.5rem;
330
- text-align: right;
331
- }
332
- #nx-cloud a:hover {
333
- text-decoration: underline;
334
- }
335
- #commands {
336
- padding: 2.5rem 2rem;
337
- margin-top: 3.5rem;
338
- }
339
- #commands h2 {
340
- font-size: 1.25rem;
341
- font-weight: 400;
342
- letter-spacing: -0.025em;
343
- line-height: 1.75rem;
344
- padding-left: 1rem;
345
- padding-right: 1rem;
346
- }
347
- #commands p {
348
- font-size: 1rem;
349
- font-weight: 300;
350
- line-height: 1.5rem;
351
- margin-top: 1rem;
352
- padding-left: 1rem;
353
- padding-right: 1rem;
354
- }
355
- details {
356
- align-items: center;
357
- display: flex;
358
- margin-top: 1rem;
359
- padding-left: 1rem;
360
- padding-right: 1rem;
361
- width: 100%;
362
- }
363
- details pre > span {
364
- color: rgba(181, 181, 181, 1);
365
- display: block;
366
- }
367
- summary {
368
- border-radius: 0.5rem;
369
- display: flex;
370
- font-weight: 400;
371
- padding: 0.5rem;
372
- cursor: pointer;
373
- transition-property: background-color, border-color, color, fill, stroke,
374
- opacity, box-shadow, transform, filter, backdrop-filter,
375
- -webkit-backdrop-filter;
376
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
377
- transition-duration: 150ms;
378
- }
379
- summary:hover {
380
- background-color: rgba(243, 244, 246, 1);
381
- }
382
- summary svg {
383
- height: 1.5rem;
384
- margin-right: 1rem;
385
- width: 1.5rem;
386
- }
387
- #love {
388
- color: rgba(107, 114, 128, 1);
389
- font-size: 0.875rem;
390
- line-height: 1.25rem;
391
- margin-top: 3.5rem;
392
- opacity: 0.6;
393
- text-align: center;
394
- }
395
- #love svg {
396
- color: rgba(252, 165, 165, 1);
397
- width: 1.25rem;
398
- height: 1.25rem;
399
- display: inline;
400
- margin-top: -0.25rem;
401
- }
402
- @media screen and (min-width: 768px) {
403
- #hero {
404
- grid-template-columns: repeat(2, minmax(0, 1fr));
405
- }
406
- #hero .logo-container {
407
- display: flex;
408
- }
409
- #middle-content {
410
- grid-template-columns: repeat(2, minmax(0, 1fr));
411
- }
412
- }
413
- `,
414
- }}
415
- />
416
- <div className="wrapper">
417
- <div className="container">
418
- <div id="welcome">
419
- <h1>
420
- <span> Hello there, </span>
421
- Welcome {title} 👋
422
- </h1>
423
- </div>
424
-
425
- <div id="hero" className="rounded">
426
- <div className="text-container">
427
- <h2>
428
- <svg
429
- fill="none"
430
- stroke="currentColor"
431
- viewBox="0 0 24 24"
432
- xmlns="http://www.w3.org/2000/svg"
433
- >
434
- <path
435
- strokeLinecap="round"
436
- strokeLinejoin="round"
437
- strokeWidth="2"
438
- d="M9 12l2 2 4-4M7.835 4.697a3.42 3.42 0 001.946-.806 3.42 3.42 0 014.438 0 3.42 3.42 0 001.946.806 3.42 3.42 0 013.138 3.138 3.42 3.42 0 00.806 1.946 3.42 3.42 0 010 4.438 3.42 3.42 0 00-.806 1.946 3.42 3.42 0 01-3.138 3.138 3.42 3.42 0 00-1.946.806 3.42 3.42 0 01-4.438 0 3.42 3.42 0 00-1.946-.806 3.42 3.42 0 01-3.138-3.138 3.42 3.42 0 00-.806-1.946 3.42 3.42 0 010-4.438 3.42 3.42 0 00.806-1.946 3.42 3.42 0 013.138-3.138z"
439
- />
440
- </svg>
441
- <span>You&apos;re up and running</span>
442
- </h2>
443
- <a href="#commands"> What&apos;s next? </a>
444
- </div>
445
- <div className="logo-container">
446
- <svg
447
- fill="currentColor"
448
- role="img"
449
- viewBox="0 0 24 24"
450
- xmlns="http://www.w3.org/2000/svg"
451
- >
452
- <path d="M11.987 14.138l-3.132 4.923-5.193-8.427-.012 8.822H0V4.544h3.691l5.247 8.833.005-3.998 3.044 4.759zm.601-5.761c.024-.048 0-3.784.008-3.833h-3.65c.002.059-.005 3.776-.003 3.833h3.645zm5.634 4.134a2.061 2.061 0 0 0-1.969 1.336 1.963 1.963 0 0 1 2.343-.739c.396.161.917.422 1.33.283a2.1 2.1 0 0 0-1.704-.88zm3.39 1.061c-.375-.13-.8-.277-1.109-.681-.06-.08-.116-.17-.176-.265a2.143 2.143 0 0 0-.533-.642c-.294-.216-.68-.322-1.18-.322a2.482 2.482 0 0 0-2.294 1.536 2.325 2.325 0 0 1 4.002.388.75.75 0 0 0 .836.334c.493-.105.46.36 1.203.518v-.133c-.003-.446-.246-.55-.75-.733zm2.024 1.266a.723.723 0 0 0 .347-.638c-.01-2.957-2.41-5.487-5.37-5.487a5.364 5.364 0 0 0-4.487 2.418c-.01-.026-1.522-2.39-1.538-2.418H8.943l3.463 5.423-3.379 5.32h3.54l1.54-2.366 1.568 2.366h3.541l-3.21-5.052a.7.7 0 0 1-.084-.32 2.69 2.69 0 0 1 2.69-2.691h.001c1.488 0 1.736.89 2.057 1.308.634.826 1.9.464 1.9 1.541a.707.707 0 0 0 1.066.596zm.35.133c-.173.372-.56.338-.755.639-.176.271.114.412.114.412s.337.156.538-.311c.104-.231.14-.488.103-.74z" />
453
- </svg>
454
- </div>
455
- </div>
456
-
457
- <div id="middle-content">
458
- <div id="learning-materials" className="rounded shadow">
459
- <h2>Learning materials</h2>
460
- <a
461
- href="https://nx.dev/getting-started/intro?utm_source=nx-project"
462
- target="_blank"
463
- rel="noreferrer"
464
- className="list-item-link"
465
- >
466
- <svg
467
- fill="none"
468
- stroke="currentColor"
469
- viewBox="0 0 24 24"
470
- xmlns="http://www.w3.org/2000/svg"
471
- >
472
- <path
473
- strokeLinecap="round"
474
- strokeLinejoin="round"
475
- strokeWidth="2"
476
- d="M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253"
477
- />
478
- </svg>
479
- <span>
480
- Documentation
481
- <span> Everything is in there </span>
482
- </span>
483
- <svg
484
- fill="none"
485
- stroke="currentColor"
486
- viewBox="0 0 24 24"
487
- xmlns="http://www.w3.org/2000/svg"
488
- >
489
- <path
490
- strokeLinecap="round"
491
- strokeLinejoin="round"
492
- strokeWidth="2"
493
- d="M9 5l7 7-7 7"
494
- />
495
- </svg>
496
- </a>
497
- <a
498
- href="https://blog.nrwl.io/?utm_source=nx-project"
499
- target="_blank"
500
- rel="noreferrer"
501
- className="list-item-link"
502
- >
503
- <svg
504
- fill="none"
505
- stroke="currentColor"
506
- viewBox="0 0 24 24"
507
- xmlns="http://www.w3.org/2000/svg"
508
- >
509
- <path
510
- strokeLinecap="round"
511
- strokeLinejoin="round"
512
- strokeWidth="2"
513
- d="M19 20H5a2 2 0 01-2-2V6a2 2 0 012-2h10a2 2 0 012 2v1m2 13a2 2 0 01-2-2V7m2 13a2 2 0 002-2V9a2 2 0 00-2-2h-2m-4-3H9M7 16h6M7 8h6v4H7V8z"
514
- />
515
- </svg>
516
- <span>
517
- Blog
518
- <span> Changelog, features & events </span>
519
- </span>
520
- <svg
521
- fill="none"
522
- stroke="currentColor"
523
- viewBox="0 0 24 24"
524
- xmlns="http://www.w3.org/2000/svg"
525
- >
526
- <path
527
- strokeLinecap="round"
528
- strokeLinejoin="round"
529
- strokeWidth="2"
530
- d="M9 5l7 7-7 7"
531
- />
532
- </svg>
533
- </a>
534
- <a
535
- href="https://www.youtube.com/c/Nrwl_io/videos?utm_source=nx-project&sub_confirmation=1"
536
- target="_blank"
537
- rel="noreferrer"
538
- className="list-item-link"
539
- >
540
- <svg
541
- role="img"
542
- viewBox="0 0 24 24"
543
- fill="currentColor"
544
- xmlns="http://www.w3.org/2000/svg"
545
- >
546
- <title>YouTube</title>
547
- <path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z" />
548
- </svg>
549
- <span>
550
- YouTube channel
551
- <span> Nx Show, talks & tutorials </span>
552
- </span>
553
- <svg
554
- fill="none"
555
- stroke="currentColor"
556
- viewBox="0 0 24 24"
557
- xmlns="http://www.w3.org/2000/svg"
558
- >
559
- <path
560
- strokeLinecap="round"
561
- strokeLinejoin="round"
562
- strokeWidth="2"
563
- d="M9 5l7 7-7 7"
564
- />
565
- </svg>
566
- </a>
567
- <a
568
- href="https://nx.dev/react-tutorial/1-code-generation?utm_source=nx-project"
569
- target="_blank"
570
- rel="noreferrer"
571
- className="list-item-link"
572
- >
573
- <svg
574
- fill="none"
575
- stroke="currentColor"
576
- viewBox="0 0 24 24"
577
- xmlns="http://www.w3.org/2000/svg"
578
- >
579
- <path
580
- strokeLinecap="round"
581
- strokeLinejoin="round"
582
- strokeWidth="2"
583
- d="M15 15l-2 5L9 9l11 4-5 2zm0 0l5 5M7.188 2.239l.777 2.897M5.136 7.965l-2.898-.777M13.95 4.05l-2.122 2.122m-5.657 5.656l-2.12 2.122"
584
- />
585
- </svg>
586
- <span>
587
- Interactive tutorials
588
- <span> Create an app, step-by-step </span>
589
- </span>
590
- <svg
591
- fill="none"
592
- stroke="currentColor"
593
- viewBox="0 0 24 24"
594
- xmlns="http://www.w3.org/2000/svg"
595
- >
596
- <path
597
- strokeLinecap="round"
598
- strokeLinejoin="round"
599
- strokeWidth="2"
600
- d="M9 5l7 7-7 7"
601
- />
602
- </svg>
603
- </a>
604
- <a
605
- href="https://nxplaybook.com/?utm_source=nx-project"
606
- target="_blank"
607
- rel="noreferrer"
608
- className="list-item-link"
609
- >
610
- <svg
611
- fill="none"
612
- stroke="currentColor"
613
- viewBox="0 0 24 24"
614
- xmlns="http://www.w3.org/2000/svg"
615
- >
616
- <path d="M12 14l9-5-9-5-9 5 9 5z" />
617
- <path d="M12 14l6.16-3.422a12.083 12.083 0 01.665 6.479A11.952 11.952 0 0012 20.055a11.952 11.952 0 00-6.824-2.998 12.078 12.078 0 01.665-6.479L12 14z" />
618
- <path
619
- strokeLinecap="round"
620
- strokeLinejoin="round"
621
- strokeWidth="2"
622
- d="M12 14l9-5-9-5-9 5 9 5zm0 0l6.16-3.422a12.083 12.083 0 01.665 6.479A11.952 11.952 0 0012 20.055a11.952 11.952 0 00-6.824-2.998 12.078 12.078 0 01.665-6.479L12 14zm-4 6v-7.5l4-2.222"
623
- />
624
- </svg>
625
- <span>
626
- Video courses
627
- <span> Nx custom courses </span>
628
- </span>
629
- <svg
630
- fill="none"
631
- stroke="currentColor"
632
- viewBox="0 0 24 24"
633
- xmlns="http://www.w3.org/2000/svg"
634
- >
635
- <path
636
- strokeLinecap="round"
637
- strokeLinejoin="round"
638
- strokeWidth="2"
639
- d="M9 5l7 7-7 7"
640
- />
641
- </svg>
642
- </a>
643
- </div>
644
- <div id="other-links">
645
- <a
646
- id="nx-console"
647
- className="button-pill rounded shadow"
648
- href="https://marketplace.visualstudio.com/items?itemName=nrwl.angular-console&utm_source=nx-project"
649
- target="_blank"
650
- rel="noreferrer"
651
- >
652
- <svg
653
- fill="currentColor"
654
- role="img"
655
- viewBox="0 0 24 24"
656
- xmlns="http://www.w3.org/2000/svg"
657
- >
658
- <title>Visual Studio Code</title>
659
- <path d="M23.15 2.587L18.21.21a1.494 1.494 0 0 0-1.705.29l-9.46 8.63-4.12-3.128a.999.999 0 0 0-1.276.057L.327 7.261A1 1 0 0 0 .326 8.74L3.899 12 .326 15.26a1 1 0 0 0 .001 1.479L1.65 17.94a.999.999 0 0 0 1.276.057l4.12-3.128 9.46 8.63a1.492 1.492 0 0 0 1.704.29l4.942-2.377A1.5 1.5 0 0 0 24 20.06V3.939a1.5 1.5 0 0 0-.85-1.352zm-5.146 14.861L10.826 12l7.178-5.448v10.896z" />
660
- </svg>
661
- <span>
662
- Install Nx Console
663
- <span>Plugin for VSCode</span>
664
- </span>
665
- </a>
666
- <div id="nx-cloud" className="rounded shadow">
667
- <div>
668
- <svg
669
- viewBox="0 0 120 120"
670
- fill="none"
671
- xmlns="http://www.w3.org/2000/svg"
672
- >
673
- <path
674
- d="M120 15V30C103.44 30 90 43.44 90 60C90 76.56 76.56 90 60 90C43.44 90 30 103.44 30 120H15C6.72 120 0 113.28 0 105V15C0 6.72 6.72 0 15 0H105C113.28 0 120 6.72 120 15Z"
675
- fill="#0E2039"
676
- />
677
- <path
678
- d="M120 30V105C120 113.28 113.28 120 105 120H30C30 103.44 43.44 90 60 90C76.56 90 90 76.56 90 60C90 43.44 103.44 30 120 30Z"
679
- fill="white"
680
- />
681
- </svg>
682
- <h2>
683
- NxCloud
684
- <span>Enable faster CI & better DX</span>
685
- </h2>
686
- </div>
687
- <p>
688
- You can activate distributed tasks executions and caching by
689
- running:
690
- </p>
691
- <pre>nx connect-to-nx-cloud</pre>
692
- <a
693
- href="https://nx.app/?utm_source=nx-project"
694
- target="_blank"
695
- rel="noreferrer"
696
- >
697
- {' '}
698
- What is Nx Cloud?{' '}
699
- </a>
700
- </div>
701
- <a
702
- id="nx-repo"
703
- className="button-pill rounded shadow"
704
- href="https://github.com/nrwl/nx?utm_source=nx-project"
705
- target="_blank"
706
- rel="noreferrer"
707
- >
708
- <svg
709
- fill="currentColor"
710
- role="img"
711
- viewBox="0 0 24 24"
712
- xmlns="http://www.w3.org/2000/svg"
713
- >
714
- <path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12" />
715
- </svg>
716
- <span>
717
- Nx is open source
718
- <span> Love Nx? Give us a star! </span>
719
- </span>
720
- </a>
721
- </div>
722
- </div>
723
-
724
- <div id="commands" className="rounded shadow">
725
- <h2>Next steps</h2>
726
- <p>Here are some things you can do with Nx:</p>
727
- <details>
728
- <summary>
729
- <svg
730
- fill="none"
731
- stroke="currentColor"
732
- viewBox="0 0 24 24"
733
- xmlns="http://www.w3.org/2000/svg"
734
- >
735
- <path
736
- strokeLinecap="round"
737
- strokeLinejoin="round"
738
- strokeWidth="2"
739
- d="M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"
740
- />
741
- </svg>
742
- Add UI library
743
- </summary>
744
- <pre>
745
- <span># Generate UI lib</span>
746
- nx g @nrwl/react:lib ui
747
- <span># Add a component</span>
748
- nx g @nrwl/react:component button --project ui
749
- </pre>
750
- </details>
751
- <details>
752
- <summary>
753
- <svg
754
- fill="none"
755
- stroke="currentColor"
756
- viewBox="0 0 24 24"
757
- xmlns="http://www.w3.org/2000/svg"
758
- >
759
- <path
760
- strokeLinecap="round"
761
- strokeLinejoin="round"
762
- strokeWidth="2"
763
- d="M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"
764
- />
765
- </svg>
766
- View interactive project graph
767
- </summary>
768
- <pre>nx graph</pre>
769
- </details>
770
- <details>
771
- <summary>
772
- <svg
773
- fill="none"
774
- stroke="currentColor"
775
- viewBox="0 0 24 24"
776
- xmlns="http://www.w3.org/2000/svg"
777
- >
778
- <path
779
- strokeLinecap="round"
780
- strokeLinejoin="round"
781
- strokeWidth="2"
782
- d="M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"
783
- />
784
- </svg>
785
- Run affected commands
786
- </summary>
787
- <pre>
788
- <span># see what&apos;s been affected by changes</span>
789
- nx affected:graph
790
- <span># run tests for current changes</span>
791
- nx affected:test
792
- <span># run e2e tests for current changes</span>
793
- nx affected:e2e
794
- </pre>
795
- </details>
796
- </div>
797
-
798
- <p id="love">
799
- Carefully crafted with
800
- <svg
801
- fill="currentColor"
802
- stroke="none"
803
- viewBox="0 0 24 24"
804
- xmlns="http://www.w3.org/2000/svg"
805
- >
806
- <path
807
- strokeLinecap="round"
808
- strokeLinejoin="round"
809
- strokeWidth="2"
810
- d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"
811
- />
812
- </svg>
813
- </p>
814
- </div>
815
- </div>
816
- </>
817
- );
818
- }
819
-
820
- export default NxWelcome;