@nx/remix 23.3.0 → 24.0.0-beta.0

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 (157) hide show
  1. package/README.md +10 -7
  2. package/dist/generators.d.ts +1 -13
  3. package/dist/generators.js +3 -28
  4. package/dist/plugin.d.ts +1 -1
  5. package/dist/plugin.js +1 -2
  6. package/dist/plugins/component-testing/index.d.ts +1 -0
  7. package/dist/plugins/component-testing/index.js +1 -0
  8. package/dist/readme-template.md +10 -4
  9. package/dist/src/generators/convert-to-inferred/convert-to-inferred.js +2 -0
  10. package/dist/src/migrations/update-24-0-0/convert-to-inferred.d.ts +2 -0
  11. package/dist/src/migrations/update-24-0-0/convert-to-inferred.js +26 -0
  12. package/dist/src/migrations/update-24-0-0/migrate-to-react-router.md +50 -0
  13. package/dist/src/plugins/plugin.d.ts +5 -3
  14. package/dist/src/plugins/plugin.js +8 -7
  15. package/dist/src/utils/create-watch-paths.d.ts +1 -0
  16. package/dist/src/utils/create-watch-paths.js +1 -0
  17. package/dist/src/utils/deprecation.d.ts +2 -4
  18. package/dist/src/utils/deprecation.js +11 -13
  19. package/dist/src/utils/versions.d.ts +1 -19
  20. package/dist/src/utils/versions.js +1 -28
  21. package/generators.json +2 -79
  22. package/migrations.json +10 -0
  23. package/package.json +8 -19
  24. package/readme-template.md +10 -4
  25. package/dist/src/executors/build/build.impl.d.ts +0 -5
  26. package/dist/src/executors/build/build.impl.js +0 -121
  27. package/dist/src/executors/build/schema.d.ts +0 -8
  28. package/dist/src/executors/build/schema.json +0 -47
  29. package/dist/src/executors/serve/schema.d.ts +0 -9
  30. package/dist/src/executors/serve/schema.json +0 -43
  31. package/dist/src/executors/serve/serve.impl.d.ts +0 -6
  32. package/dist/src/executors/serve/serve.impl.js +0 -79
  33. package/dist/src/generators/action/action.impl.d.ts +0 -3
  34. package/dist/src/generators/action/action.impl.js +0 -37
  35. package/dist/src/generators/action/schema.d.ts +0 -3
  36. package/dist/src/generators/action/schema.json +0 -18
  37. package/dist/src/generators/application/application.impl.d.ts +0 -5
  38. package/dist/src/generators/application/application.impl.js +0 -239
  39. package/dist/src/generators/application/files/common/app/entry.client.tsx__tmpl__ +0 -18
  40. package/dist/src/generators/application/files/common/app/entry.server.tsx__tmpl__ +0 -139
  41. package/dist/src/generators/application/files/common/app/root.tsx__tmpl__ +0 -47
  42. package/dist/src/generators/application/files/common/app/routes/_index.tsx__tmpl__ +0 -9
  43. package/dist/src/generators/application/files/common/public/favicon.ico +0 -0
  44. package/dist/src/generators/application/files/common/tests/routes/_index.spec.tsx__tmpl__ +0 -17
  45. package/dist/src/generators/application/files/common/tsconfig.app.json__tmpl__ +0 -25
  46. package/dist/src/generators/application/files/common/tsconfig.json__tmpl__ +0 -27
  47. package/dist/src/generators/application/files/common/vite.config.mts__tmpl__ +0 -25
  48. package/dist/src/generators/application/files/non-root/.gitignore__tmpl__ +0 -4
  49. package/dist/src/generators/application/files/non-root/package.json__tmpl__ +0 -20
  50. package/dist/src/generators/application/files/nx-welcome/claimed/app/nx-welcome.tsx__tmpl__ +0 -868
  51. package/dist/src/generators/application/files/nx-welcome/not-configured/app/nx-welcome.tsx__tmpl__ +0 -868
  52. package/dist/src/generators/application/files/nx-welcome/unclaimed/app/nx-welcome.tsx__tmpl__ +0 -866
  53. package/dist/src/generators/application/files/ts-solution/package.json__tmpl__ +0 -20
  54. package/dist/src/generators/application/files/ts-solution/tsconfig.app.json__tmpl__ +0 -41
  55. package/dist/src/generators/application/files/ts-solution/tsconfig.json__tmpl__ +0 -10
  56. package/dist/src/generators/application/lib/add-e2e.d.ts +0 -3
  57. package/dist/src/generators/application/lib/add-e2e.js +0 -117
  58. package/dist/src/generators/application/lib/ignore-vite-temp-files.d.ts +0 -2
  59. package/dist/src/generators/application/lib/ignore-vite-temp-files.js +0 -50
  60. package/dist/src/generators/application/lib/index.d.ts +0 -4
  61. package/dist/src/generators/application/lib/index.js +0 -7
  62. package/dist/src/generators/application/lib/normalize-options.d.ts +0 -12
  63. package/dist/src/generators/application/lib/normalize-options.js +0 -40
  64. package/dist/src/generators/application/lib/update-unit-test-config.d.ts +0 -2
  65. package/dist/src/generators/application/lib/update-unit-test-config.js +0 -57
  66. package/dist/src/generators/application/schema.d.ts +0 -18
  67. package/dist/src/generators/application/schema.json +0 -70
  68. package/dist/src/generators/cypress-component-configuration/cypress-component-configuration.impl.d.ts +0 -5
  69. package/dist/src/generators/cypress-component-configuration/cypress-component-configuration.impl.js +0 -35
  70. package/dist/src/generators/cypress-component-configuration/files/cypress.config.ts__tmpl__ +0 -6
  71. package/dist/src/generators/cypress-component-configuration/schema.d.ts +0 -6
  72. package/dist/src/generators/cypress-component-configuration/schema.json +0 -41
  73. package/dist/src/generators/error-boundary/error-boundary.impl.d.ts +0 -3
  74. package/dist/src/generators/error-boundary/error-boundary.impl.js +0 -14
  75. package/dist/src/generators/error-boundary/lib/add-v2-error-boundary.d.ts +0 -3
  76. package/dist/src/generators/error-boundary/lib/add-v2-error-boundary.js +0 -37
  77. package/dist/src/generators/error-boundary/lib/index.d.ts +0 -2
  78. package/dist/src/generators/error-boundary/lib/index.js +0 -5
  79. package/dist/src/generators/error-boundary/lib/normalize-options.d.ts +0 -3
  80. package/dist/src/generators/error-boundary/lib/normalize-options.js +0 -13
  81. package/dist/src/generators/error-boundary/schema.d.ts +0 -4
  82. package/dist/src/generators/error-boundary/schema.json +0 -26
  83. package/dist/src/generators/init/init.d.ts +0 -5
  84. package/dist/src/generators/init/init.js +0 -67
  85. package/dist/src/generators/init/schema.d.ts +0 -7
  86. package/dist/src/generators/init/schema.json +0 -33
  87. package/dist/src/generators/library/lib/add-tsconfig-entry-points.d.ts +0 -3
  88. package/dist/src/generators/library/lib/add-tsconfig-entry-points.js +0 -20
  89. package/dist/src/generators/library/lib/add-unit-testing.d.ts +0 -3
  90. package/dist/src/generators/library/lib/add-unit-testing.js +0 -31
  91. package/dist/src/generators/library/lib/index.d.ts +0 -4
  92. package/dist/src/generators/library/lib/index.js +0 -7
  93. package/dist/src/generators/library/lib/normalize-options.d.ts +0 -8
  94. package/dist/src/generators/library/lib/normalize-options.js +0 -31
  95. package/dist/src/generators/library/lib/update-buildable-config.d.ts +0 -3
  96. package/dist/src/generators/library/lib/update-buildable-config.js +0 -23
  97. package/dist/src/generators/library/library.impl.d.ts +0 -6
  98. package/dist/src/generators/library/library.impl.js +0 -78
  99. package/dist/src/generators/library/schema.d.ts +0 -19
  100. package/dist/src/generators/library/schema.json +0 -89
  101. package/dist/src/generators/loader/loader.impl.d.ts +0 -3
  102. package/dist/src/generators/loader/loader.impl.js +0 -37
  103. package/dist/src/generators/loader/schema.d.ts +0 -3
  104. package/dist/src/generators/loader/schema.json +0 -18
  105. package/dist/src/generators/meta/lib/v2.impl.d.ts +0 -3
  106. package/dist/src/generators/meta/lib/v2.impl.js +0 -24
  107. package/dist/src/generators/meta/meta.impl.d.ts +0 -3
  108. package/dist/src/generators/meta/meta.impl.js +0 -9
  109. package/dist/src/generators/meta/schema.d.ts +0 -3
  110. package/dist/src/generators/meta/schema.json +0 -18
  111. package/dist/src/generators/preset/lib/normalize-options.d.ts +0 -10
  112. package/dist/src/generators/preset/lib/normalize-options.js +0 -19
  113. package/dist/src/generators/preset/preset.impl.d.ts +0 -3
  114. package/dist/src/generators/preset/preset.impl.js +0 -34
  115. package/dist/src/generators/preset/schema.d.ts +0 -4
  116. package/dist/src/generators/preset/schema.json +0 -14
  117. package/dist/src/generators/resource-route/resource-route.impl.d.ts +0 -3
  118. package/dist/src/generators/resource-route/resource-route.impl.js +0 -37
  119. package/dist/src/generators/resource-route/schema.d.ts +0 -6
  120. package/dist/src/generators/resource-route/schema.json +0 -44
  121. package/dist/src/generators/route/route.impl.d.ts +0 -3
  122. package/dist/src/generators/route/route.impl.js +0 -62
  123. package/dist/src/generators/route/schema.d.ts +0 -8
  124. package/dist/src/generators/route/schema.json +0 -55
  125. package/dist/src/generators/setup/schema.json +0 -14
  126. package/dist/src/generators/setup/setup.impl.d.ts +0 -2
  127. package/dist/src/generators/setup/setup.impl.js +0 -38
  128. package/dist/src/generators/storybook-configuration/files/vite.config.mts__tpl__ +0 -15
  129. package/dist/src/generators/storybook-configuration/schema.d.ts +0 -14
  130. package/dist/src/generators/storybook-configuration/schema.json +0 -78
  131. package/dist/src/generators/storybook-configuration/storybook-configuration.impl.d.ts +0 -4
  132. package/dist/src/generators/storybook-configuration/storybook-configuration.impl.js +0 -33
  133. package/dist/src/generators/style/schema.d.ts +0 -3
  134. package/dist/src/generators/style/schema.json +0 -25
  135. package/dist/src/generators/style/style.impl.d.ts +0 -3
  136. package/dist/src/generators/style/style.impl.js +0 -55
  137. package/dist/src/generators/utils/update-dependencies.d.ts +0 -2
  138. package/dist/src/generators/utils/update-dependencies.js +0 -32
  139. package/dist/src/utils/assert-and-pin-remix-typescript.d.ts +0 -21
  140. package/dist/src/utils/assert-and-pin-remix-typescript.js +0 -36
  141. package/dist/src/utils/get-default-export-name.d.ts +0 -2
  142. package/dist/src/utils/get-default-export-name.js +0 -7
  143. package/dist/src/utils/get-default-export.d.ts +0 -2
  144. package/dist/src/utils/get-default-export.js +0 -14
  145. package/dist/src/utils/insert-import.d.ts +0 -4
  146. package/dist/src/utils/insert-import.js +0 -53
  147. package/dist/src/utils/insert-statement-after-imports.d.ts +0 -5
  148. package/dist/src/utils/insert-statement-after-imports.js +0 -27
  149. package/dist/src/utils/insert-statement-in-default-function.d.ts +0 -2
  150. package/dist/src/utils/insert-statement-in-default-function.js +0 -22
  151. package/dist/src/utils/remix-config.d.ts +0 -6
  152. package/dist/src/utils/remix-config.js +0 -75
  153. package/dist/src/utils/remix-route-utils.d.ts +0 -4
  154. package/dist/src/utils/remix-route-utils.js +0 -26
  155. package/dist/src/utils/testing-config-utils.d.ts +0 -5
  156. package/dist/src/utils/testing-config-utils.js +0 -83
  157. package/executors.json +0 -14
@@ -1,866 +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
- /* oxlint-disable jsx-a11y/prefer-tag-over-role -- the icons below
9
- are inline SVGs, which have no tag to swap the role for. */
10
- export function NxWelcome({ title }: { title: string }) {
11
- return (
12
- <>
13
- <style
14
- dangerouslySetInnerHTML={{
15
- __html: `
16
- html {
17
- -webkit-text-size-adjust: 100%;
18
- font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
19
- 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif,
20
- 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',
21
- 'Noto Color Emoji';
22
- line-height: 1.5;
23
- tab-size: 4;
24
- scroll-behavior: smooth;
25
- }
26
- body {
27
- font-family: inherit;
28
- line-height: inherit;
29
- margin: 0;
30
- }
31
- h1,
32
- h2,
33
- p,
34
- pre {
35
- margin: 0;
36
- }
37
- *,
38
- ::before,
39
- ::after {
40
- box-sizing: border-box;
41
- border-width: 0;
42
- border-style: solid;
43
- border-color: currentColor;
44
- }
45
- h1,
46
- h2 {
47
- font-size: inherit;
48
- font-weight: inherit;
49
- }
50
- a {
51
- color: inherit;
52
- text-decoration: inherit;
53
- }
54
- pre {
55
- font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
56
- 'Liberation Mono', 'Courier New', monospace;
57
- }
58
- svg {
59
- display: block;
60
- vertical-align: middle;
61
- shape-rendering: auto;
62
- text-rendering: optimizeLegibility;
63
- }
64
- pre {
65
- background-color: rgba(55, 65, 81, 1);
66
- border-radius: 0.25rem;
67
- color: rgba(229, 231, 235, 1);
68
- font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
69
- 'Liberation Mono', 'Courier New', monospace;
70
- overflow: auto;
71
- padding: 0.5rem 0.75rem;
72
- }
73
-
74
- .shadow {
75
- box-shadow: 0 0 #0000, 0 0 #0000, 0 10px 15px -3px rgba(0, 0, 0, 0.1),
76
- 0 4px 6px -2px rgba(0, 0, 0, 0.05);
77
- }
78
- .rounded {
79
- border-radius: 1.5rem;
80
- }
81
- .wrapper {
82
- width: 100%;
83
- }
84
- .container {
85
- margin-left: auto;
86
- margin-right: auto;
87
- max-width: 768px;
88
- padding-bottom: 3rem;
89
- padding-left: 1rem;
90
- padding-right: 1rem;
91
- color: rgba(55, 65, 81, 1);
92
- width: 100%;
93
- }
94
- #welcome {
95
- margin-top: 2.5rem;
96
- }
97
- #welcome h1 {
98
- font-size: 3rem;
99
- font-weight: 500;
100
- letter-spacing: -0.025em;
101
- line-height: 1;
102
- }
103
- #welcome span {
104
- display: block;
105
- font-size: 1.875rem;
106
- font-weight: 300;
107
- line-height: 2.25rem;
108
- margin-bottom: 0.5rem;
109
- }
110
- #hero {
111
- align-items: center;
112
- background-color: hsla(214, 62%, 21%, 1);
113
- border: none;
114
- box-sizing: border-box;
115
- color: rgba(55, 65, 81, 1);
116
- display: grid;
117
- grid-template-columns: 1fr;
118
- margin-top: 3.5rem;
119
- }
120
- #hero .text-container {
121
- color: rgba(255, 255, 255, 1);
122
- padding: 3rem 2rem;
123
- }
124
- #hero .text-container h2 {
125
- font-size: 1.5rem;
126
- line-height: 2rem;
127
- position: relative;
128
- }
129
- #hero .text-container h2 svg {
130
- color: hsla(162, 47%, 50%, 1);
131
- height: 2rem;
132
- left: -0.25rem;
133
- position: absolute;
134
- top: 0;
135
- width: 2rem;
136
- }
137
- #hero .text-container h2 span {
138
- margin-left: 2.5rem;
139
- }
140
- #hero .text-container a {
141
- background-color: rgba(255, 255, 255, 1);
142
- border-radius: 0.75rem;
143
- color: rgba(55, 65, 81, 1);
144
- display: inline-block;
145
- margin-top: 1.5rem;
146
- padding: 1rem 2rem;
147
- text-decoration: inherit;
148
- }
149
- #hero .logo-container {
150
- display: none;
151
- justify-content: center;
152
- padding-left: 2rem;
153
- padding-right: 2rem;
154
- }
155
- #hero .logo-container svg {
156
- color: rgba(255, 255, 255, 1);
157
- width: 66.666667%;
158
- }
159
- #middle-content {
160
- align-items: flex-start;
161
- display: grid;
162
- grid-template-columns: 1fr;
163
- margin-top: 3.5rem;
164
- }
165
-
166
- #middle-content #middle-content-container {
167
- display: flex;
168
- flex-direction: column;
169
- gap: 2rem;
170
- }
171
- #learning-materials {
172
- padding: 2.5rem 2rem;
173
- }
174
- #learning-materials h2 {
175
- font-weight: 500;
176
- font-size: 1.25rem;
177
- letter-spacing: -0.025em;
178
- line-height: 1.75rem;
179
- padding-left: 1rem;
180
- padding-right: 1rem;
181
- }
182
- .list-item-link {
183
- align-items: center;
184
- border-radius: 0.75rem;
185
- display: flex;
186
- margin-top: 1rem;
187
- padding: 1rem;
188
- transition-property: background-color, border-color, color, fill, stroke,
189
- opacity, box-shadow, transform, filter, backdrop-filter,
190
- -webkit-backdrop-filter;
191
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
192
- transition-duration: 150ms;
193
- width: 100%;
194
- }
195
- .list-item-link svg:first-child {
196
- margin-right: 1rem;
197
- height: 1.5rem;
198
- transition-property: background-color, border-color, color, fill, stroke,
199
- opacity, box-shadow, transform, filter, backdrop-filter,
200
- -webkit-backdrop-filter;
201
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
202
- transition-duration: 150ms;
203
- width: 1.5rem;
204
- }
205
- .list-item-link > span {
206
- flex-grow: 1;
207
- font-weight: 400;
208
- transition-property: background-color, border-color, color, fill, stroke,
209
- opacity, box-shadow, transform, filter, backdrop-filter,
210
- -webkit-backdrop-filter;
211
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
212
- }
213
- .list-item-link > span > span {
214
- color: rgba(107, 114, 128, 1);
215
- display: block;
216
- flex-grow: 1;
217
- font-size: 0.75rem;
218
- font-weight: 300;
219
- line-height: 1rem;
220
- transition-property: background-color, border-color, color, fill, stroke,
221
- opacity, box-shadow, transform, filter, backdrop-filter,
222
- -webkit-backdrop-filter;
223
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
224
- }
225
- .list-item-link svg:last-child {
226
- height: 1rem;
227
- transition-property: all;
228
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
229
- transition-duration: 150ms;
230
- width: 1rem;
231
- }
232
- .list-item-link:hover {
233
- color: rgba(255, 255, 255, 1);
234
- background-color: hsla(162, 55%, 33%, 1);
235
- }
236
- .list-item-link:hover > span {}
237
- .list-item-link:hover > span > span {
238
- color: rgba(243, 244, 246, 1);
239
- }
240
- .list-item-link:hover svg:last-child {
241
- transform: translateX(0.25rem);
242
- }
243
- #other-links {}
244
- .button-pill {
245
- padding: 1.5rem 2rem;
246
- margin-bottom: 2rem;
247
- transition-duration: 300ms;
248
- transition-property: background-color, border-color, color, fill, stroke,
249
- opacity, box-shadow, transform, filter, backdrop-filter,
250
- -webkit-backdrop-filter;
251
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
252
- align-items: center;
253
- display: flex;
254
- }
255
- .button-pill svg {
256
- transition-property: background-color, border-color, color, fill, stroke,
257
- opacity, box-shadow, transform, filter, backdrop-filter,
258
- -webkit-backdrop-filter;
259
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
260
- transition-duration: 150ms;
261
- flex-shrink: 0;
262
- width: 3rem;
263
- }
264
- .button-pill > span {
265
- letter-spacing: -0.025em;
266
- font-weight: 400;
267
- font-size: 1.125rem;
268
- line-height: 1.75rem;
269
- padding-left: 1rem;
270
- padding-right: 1rem;
271
- }
272
- .button-pill span span {
273
- display: block;
274
- font-size: 0.875rem;
275
- font-weight: 300;
276
- line-height: 1.25rem;
277
- }
278
- .button-pill:hover svg,
279
- .button-pill:hover {
280
- color: rgba(255, 255, 255, 1) !important;
281
- }
282
- #nx-console:hover {
283
- background-color: rgba(0, 122, 204, 1);
284
- }
285
- #nx-console svg {
286
- color: rgba(0, 122, 204, 1);
287
- }
288
- #nx-console-jetbrains {
289
- margin-top: 2rem;
290
- }
291
- #nx-console-jetbrains:hover {
292
- background-color: rgba(255, 49, 140, 1);
293
- }
294
- #nx-console-jetbrains svg {
295
- color: rgba(255, 49, 140, 1);
296
- }
297
- #nx-repo:hover {
298
- background-color: rgba(24, 23, 23, 1);
299
- }
300
- #nx-repo svg {
301
- color: rgba(24, 23, 23, 1);
302
- }
303
- #nx-cloud {
304
- margin-bottom: 2rem;
305
- margin-top: 2rem;
306
- padding: 2.5rem 2rem;
307
- }
308
- #nx-cloud > div {
309
- align-items: center;
310
- display: flex;
311
- }
312
- #nx-cloud > div svg {
313
- border-radius: 0.375rem;
314
- flex-shrink: 0;
315
- width: 3rem;
316
- }
317
- #nx-cloud > div h2 {
318
- font-size: 1.125rem;
319
- font-weight: 400;
320
- letter-spacing: -0.025em;
321
- line-height: 1.75rem;
322
- padding-left: 1rem;
323
- padding-right: 1rem;
324
- }
325
- #nx-cloud > div h2 span {
326
- display: block;
327
- font-size: 0.875rem;
328
- font-weight: 300;
329
- line-height: 1.25rem;
330
- }
331
- #nx-cloud p {
332
- font-size: 1rem;
333
- line-height: 1.5rem;
334
- margin-top: 1rem;
335
- }
336
- #nx-cloud pre {
337
- margin-top: 1rem;
338
- }
339
- #nx-cloud a {
340
- border-radius: 0.75rem;
341
- color: white;
342
- background-color: hsla(214, 62%, 21%, 1);
343
- display: inline-block;
344
- margin-top: 1.5rem;
345
- padding: 0.5rem 1rem;
346
- text-align:left;
347
- text-decoration: inherit;
348
- }
349
-
350
- #commands {
351
- padding: 2.5rem 2rem;
352
- margin-top: 3.5rem;
353
- }
354
- #commands h2 {
355
- font-size: 1.25rem;
356
- font-weight: 400;
357
- letter-spacing: -0.025em;
358
- line-height: 1.75rem;
359
- padding-left: 1rem;
360
- padding-right: 1rem;
361
- }
362
- #commands p {
363
- font-size: 1rem;
364
- font-weight: 300;
365
- line-height: 1.5rem;
366
- margin-top: 1rem;
367
- padding-left: 1rem;
368
- padding-right: 1rem;
369
- }
370
- details {
371
- align-items: center;
372
- display: flex;
373
- margin-top: 1rem;
374
- padding-left: 1rem;
375
- padding-right: 1rem;
376
- width: 100%;
377
- }
378
- details pre > span {
379
- color: rgba(181, 181, 181, 1);
380
- display: block;
381
- }
382
- summary {
383
- border-radius: 0.5rem;
384
- display: flex;
385
- font-weight: 400;
386
- padding: 0.5rem;
387
- cursor: pointer;
388
- transition-property: background-color, border-color, color, fill, stroke,
389
- opacity, box-shadow, transform, filter, backdrop-filter,
390
- -webkit-backdrop-filter;
391
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
392
- transition-duration: 150ms;
393
- }
394
- summary:hover {
395
- background-color: rgba(243, 244, 246, 1);
396
- }
397
- summary svg {
398
- height: 1.5rem;
399
- margin-right: 1rem;
400
- width: 1.5rem;
401
- }
402
- #love {
403
- color: rgba(107, 114, 128, 1);
404
- font-size: 0.875rem;
405
- line-height: 1.25rem;
406
- margin-top: 3.5rem;
407
- opacity: 0.6;
408
- text-align: center;
409
- }
410
- #love svg {
411
- color: rgba(252, 165, 165, 1);
412
- width: 1.25rem;
413
- height: 1.25rem;
414
- display: inline;
415
- margin-top: -0.25rem;
416
- }
417
- @media screen and (min-width: 768px) {
418
- #hero {
419
- grid-template-columns: repeat(2, minmax(0, 1fr));
420
- }
421
- #hero .logo-container {
422
- display: flex;
423
- }
424
- #middle-content {
425
- grid-template-columns: repeat(2, minmax(0, 1fr));
426
- gap: 4rem;
427
- }
428
- }
429
- `,
430
- }}
431
- />
432
- <div className="wrapper">
433
- <div className="container">
434
- <div id="welcome">
435
- <h1>
436
- <span> Hello there, </span>
437
- Welcome {title} 👋
438
- </h1>
439
- </div>
440
-
441
- <div id="hero" className="rounded">
442
- <div className="text-container">
443
- <h2>
444
- <svg
445
- fill="none"
446
- stroke="currentColor"
447
- viewBox="0 0 24 24"
448
- xmlns="http://www.w3.org/2000/svg"
449
- >
450
- <path
451
- strokeLinecap="round"
452
- strokeLinejoin="round"
453
- strokeWidth="2"
454
- 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"
455
- />
456
- </svg>
457
- <span>You&apos;re up and running</span>
458
- </h2>
459
- <a href="#commands"> What&apos;s next? </a>
460
- </div>
461
- <div className="logo-container">
462
- <svg
463
- fill="currentColor"
464
- role="img"
465
- viewBox="0 0 24 24"
466
- xmlns="http://www.w3.org/2000/svg"
467
- >
468
- <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" />
469
- </svg>
470
- </div>
471
- </div>
472
-
473
- <div id="middle-content">
474
- <div id="middle-content-container">
475
- <div id="learning-materials" className="rounded shadow">
476
- <h2>Learning materials</h2>
477
- <a
478
- href="https://nx.dev/getting-started/intro?utm_source=nx-project"
479
- target="_blank"
480
- rel="noreferrer"
481
- className="list-item-link"
482
- >
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="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"
494
- />
495
- </svg>
496
- <span>
497
- Documentation
498
- <span> Everything is in there </span>
499
- </span>
500
- <svg
501
- fill="none"
502
- stroke="currentColor"
503
- viewBox="0 0 24 24"
504
- xmlns="http://www.w3.org/2000/svg"
505
- >
506
- <path
507
- strokeLinecap="round"
508
- strokeLinejoin="round"
509
- strokeWidth="2"
510
- d="M9 5l7 7-7 7"
511
- />
512
- </svg>
513
- </a>
514
- <a
515
- href="https://nx.dev/blog/?utm_source=nx-project"
516
- target="_blank"
517
- rel="noreferrer"
518
- className="list-item-link"
519
- >
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="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"
531
- />
532
- </svg>
533
- <span>
534
- Blog
535
- <span> Changelog, features & events </span>
536
- </span>
537
- <svg
538
- fill="none"
539
- stroke="currentColor"
540
- viewBox="0 0 24 24"
541
- xmlns="http://www.w3.org/2000/svg"
542
- >
543
- <path
544
- strokeLinecap="round"
545
- strokeLinejoin="round"
546
- strokeWidth="2"
547
- d="M9 5l7 7-7 7"
548
- />
549
- </svg>
550
- </a>
551
- <a
552
- href="https://www.youtube.com/@NxDevtools/videos?utm_source=nx-project&sub_confirmation=1"
553
- target="_blank"
554
- rel="noreferrer"
555
- className="list-item-link"
556
- >
557
- <svg
558
- role="img"
559
- viewBox="0 0 24 24"
560
- fill="currentColor"
561
- xmlns="http://www.w3.org/2000/svg"
562
- >
563
- <title>YouTube</title>
564
- <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" />
565
- </svg>
566
- <span>
567
- YouTube channel
568
- <span> Nx Show, talks & tutorials </span>
569
- </span>
570
- <svg
571
- fill="none"
572
- stroke="currentColor"
573
- viewBox="0 0 24 24"
574
- xmlns="http://www.w3.org/2000/svg"
575
- >
576
- <path
577
- strokeLinecap="round"
578
- strokeLinejoin="round"
579
- strokeWidth="2"
580
- d="M9 5l7 7-7 7"
581
- />
582
- </svg>
583
- </a>
584
- <a
585
- href="https://nx.dev/recipes/react/remix#remix-with-nx"
586
- target="_blank"
587
- rel="noreferrer"
588
- className="list-item-link"
589
- >
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="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"
601
- />
602
- </svg>
603
- <span>
604
- Interactive tutorials
605
- <span> Create an app, step-by-step </span>
606
- </span>
607
- <svg
608
- fill="none"
609
- stroke="currentColor"
610
- viewBox="0 0 24 24"
611
- xmlns="http://www.w3.org/2000/svg"
612
- >
613
- <path
614
- strokeLinecap="round"
615
- strokeLinejoin="round"
616
- strokeWidth="2"
617
- d="M9 5l7 7-7 7"
618
- />
619
- </svg>
620
- </a>
621
- </div>
622
- <a
623
- id="nx-repo"
624
- className="button-pill rounded shadow"
625
- href="https://github.com/nrwl/nx?utm_source=nx-project"
626
- target="_blank"
627
- rel="noreferrer"
628
- >
629
- <svg
630
- fill="currentColor"
631
- role="img"
632
- viewBox="0 0 24 24"
633
- xmlns="http://www.w3.org/2000/svg"
634
- >
635
- <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" />
636
- </svg>
637
- <span>
638
- Nx is open source
639
- <span> Love Nx? Give us a star! </span>
640
- </span>
641
- </a>
642
- </div>
643
- <div id="other-links">
644
- <a
645
- id="nx-console"
646
- className="button-pill rounded shadow"
647
- href="https://marketplace.visualstudio.com/items?itemName=nrwl.angular-console&utm_source=nx-project"
648
- target="_blank"
649
- rel="noreferrer"
650
- >
651
- <svg
652
- fill="currentColor"
653
- role="img"
654
- viewBox="0 0 24 24"
655
- xmlns="http://www.w3.org/2000/svg"
656
- >
657
- <title>Visual Studio Code</title>
658
- <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" />
659
- </svg>
660
- <span>
661
- Install Nx Console for VSCode
662
- <span>The official VSCode extension for Nx.</span>
663
- </span>
664
- </a>
665
- <a
666
- id="nx-console-jetbrains"
667
- className="button-pill rounded shadow"
668
- href="https://plugins.jetbrains.com/plugin/21060-nx-console"
669
- target="_blank"
670
- rel="noreferrer"
671
- >
672
- <svg
673
- height="48"
674
- width="48"
675
- viewBox="20 20 60 60"
676
- xmlns="http://www.w3.org/2000/svg"
677
- >
678
- <path d="m22.5 22.5h60v60h-60z" />
679
- <g fill="#fff">
680
- <path d="m29.03 71.25h22.5v3.75h-22.5z" />
681
- <path d="m28.09 38 1.67-1.58a1.88 1.88 0 0 0 1.47.87c.64 0 1.06-.44 1.06-1.31v-5.98h2.58v6a3.48 3.48 0 0 1 -.87 2.6 3.56 3.56 0 0 1 -2.57.95 3.84 3.84 0 0 1 -3.34-1.55z" />
682
- <path d="m36 30h7.53v2.19h-5v1.44h4.49v2h-4.42v1.49h5v2.21h-7.6z" />
683
- <path d="m47.23 32.29h-2.8v-2.29h8.21v2.27h-2.81v7.1h-2.6z" />
684
- <path d="m29.13 43.08h4.42a3.53 3.53 0 0 1 2.55.83 2.09 2.09 0 0 1 .6 1.53 2.16 2.16 0 0 1 -1.44 2.09 2.27 2.27 0 0 1 1.86 2.29c0 1.61-1.31 2.59-3.55 2.59h-4.44zm5 2.89c0-.52-.42-.8-1.18-.8h-1.29v1.64h1.24c.79 0 1.25-.26 1.25-.81zm-.9 2.66h-1.57v1.73h1.62c.8 0 1.24-.31 1.24-.86 0-.5-.4-.87-1.27-.87z" />
685
- <path d="m38 43.08h4.1a4.19 4.19 0 0 1 3 1 2.93 2.93 0 0 1 .9 2.19 3 3 0 0 1 -1.93 2.89l2.24 3.27h-3l-1.88-2.84h-.87v2.84h-2.56zm4 4.5c.87 0 1.39-.43 1.39-1.11 0-.75-.54-1.12-1.4-1.12h-1.44v2.26z" />
686
- <path d="m49.59 43h2.5l4 9.44h-2.79l-.67-1.69h-3.63l-.67 1.69h-2.71zm2.27 5.73-1-2.65-1.06 2.65z" />
687
- <path d="m56.46 43.05h2.6v9.37h-2.6z" />
688
- <path d="m60.06 43.05h2.42l3.37 5v-5h2.57v9.37h-2.26l-3.53-5.14v5.14h-2.57z" />
689
- <path d="m68.86 51 1.45-1.73a4.84 4.84 0 0 0 3 1.13c.71 0 1.08-.24 1.08-.65 0-.4-.31-.6-1.59-.91-2-.46-3.53-1-3.53-2.93 0-1.74 1.37-3 3.62-3a5.89 5.89 0 0 1 3.86 1.25l-1.26 1.84a4.63 4.63 0 0 0 -2.62-.92c-.63 0-.94.25-.94.6 0 .42.32.61 1.63.91 2.14.46 3.44 1.16 3.44 2.91 0 1.91-1.51 3-3.79 3a6.58 6.58 0 0 1 -4.35-1.5z" />
690
- </g>
691
- </svg>
692
- <span>
693
- Install Nx Console for JetBrains
694
- <span>
695
- Available for WebStorm, Intellij IDEA Ultimate and more!
696
- </span>
697
- </span>
698
- </a>
699
- <div id="nx-cloud" className="rounded shadow">
700
- <div>
701
- <svg
702
- id="nx-cloud-logo"
703
- role="img"
704
- xmlns="http://www.w3.org/2000/svg"
705
- stroke="currentColor"
706
- fill="transparent"
707
- viewBox="0 0 24 24"
708
- >
709
- <path
710
- strokeWidth="2"
711
- d="M23 3.75V6.5c-3.036 0-5.5 2.464-5.5 5.5s-2.464 5.5-5.5 5.5-5.5 2.464-5.5 5.5H3.75C2.232 23 1 21.768 1 20.25V3.75C1 2.232 2.232 1 3.75 1h16.5C21.768 1 23 2.232 23 3.75Z"
712
- />
713
- <path
714
- strokeWidth="2"
715
- d="M23 6v14.1667C23 21.7307 21.7307 23 20.1667 23H6c0-3.128 2.53867-5.6667 5.6667-5.6667 3.128 0 5.6666-2.5386 5.6666-5.6666C17.3333 8.53867 19.872 6 23 6Z"
716
- />
717
- </svg>
718
- <h2>
719
- Nx Cloud
720
- <span>Enable faster CI & better DX</span>
721
- </h2>
722
- </div>
723
- <p>
724
- Your Nx Cloud remote cache setup is almost complete.
725
- </p>
726
-
727
- <a
728
- href="<%= connectCloudUrl %>"
729
- target="_blank"
730
- rel="noreferrer"
731
- >
732
- Click here to finish
733
- </a>
734
- </div>
735
- </div>
736
- </div>
737
-
738
- <div id="commands" className="rounded shadow">
739
- <h2>Next steps</h2>
740
- <p>Here are some things you can do with Nx:</p>
741
- <details>
742
- <summary>
743
- <svg
744
- fill="none"
745
- stroke="currentColor"
746
- viewBox="0 0 24 24"
747
- xmlns="http://www.w3.org/2000/svg"
748
- >
749
- <path
750
- strokeLinecap="round"
751
- strokeLinejoin="round"
752
- strokeWidth="2"
753
- 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"
754
- />
755
- </svg>
756
- Build, test and lint your app
757
- </summary>
758
- <pre><% if ( rootProject ) { %>
759
- <span># Build</span>
760
- nx build
761
- <span># Test</span>
762
- nx test
763
- <span># Lint</span>
764
- nx lint
765
- <span># Run them together!</span>
766
- nx run-many -t build test lint
767
- <% } else { %>
768
- <span># Build</span>
769
- nx build {title}
770
- <span># Test</span>
771
- nx test {title}
772
- <span># Lint</span>
773
- nx lint {title}
774
- <span># Run them together!</span>
775
- nx run-many -p {title} -t build test lint
776
- <% } %>
777
- </pre>
778
- </details>
779
-
780
- <details>
781
- <summary>
782
- <svg
783
- fill="none"
784
- stroke="currentColor"
785
- viewBox="0 0 24 24"
786
- xmlns="http://www.w3.org/2000/svg"
787
- >
788
- <path
789
- strokeLinecap="round"
790
- strokeLinejoin="round"
791
- strokeWidth="2"
792
- 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"
793
- />
794
- </svg>
795
- View project details
796
- </summary>
797
- <pre>nx show project {title}</pre>
798
- </details>
799
- <details>
800
- <summary>
801
- <svg
802
- fill="none"
803
- stroke="currentColor"
804
- viewBox="0 0 24 24"
805
- xmlns="http://www.w3.org/2000/svg"
806
- >
807
- <path
808
- strokeLinecap="round"
809
- strokeLinejoin="round"
810
- strokeWidth="2"
811
- 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"
812
- />
813
- </svg>
814
- View interactive project graph
815
- </summary>
816
- <pre>nx graph</pre>
817
- </details>
818
- <details>
819
- <summary>
820
- <svg
821
- fill="none"
822
- stroke="currentColor"
823
- viewBox="0 0 24 24"
824
- xmlns="http://www.w3.org/2000/svg"
825
- >
826
- <path
827
- strokeLinecap="round"
828
- strokeLinejoin="round"
829
- strokeWidth="2"
830
- 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"
831
- />
832
- </svg>
833
- Add UI library
834
- </summary>
835
- <pre>
836
- <span># Generate UI lib</span>
837
- nx g @nx/react:lib ui
838
- <span># Add a component</span>
839
- nx g @nx/react:component ui/src/lib/button
840
- </pre>
841
- </details>
842
- </div>
843
-
844
- <p id="love">
845
- Carefully crafted with
846
- <svg
847
- fill="currentColor"
848
- stroke="none"
849
- viewBox="0 0 24 24"
850
- xmlns="http://www.w3.org/2000/svg"
851
- >
852
- <path
853
- strokeLinecap="round"
854
- strokeLinejoin="round"
855
- strokeWidth="2"
856
- 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"
857
- />
858
- </svg>
859
- </p>
860
- </div>
861
- </div>
862
- </>
863
- );
864
- }
865
-
866
- export default NxWelcome;