listpage_cli 0.0.187

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 (45) hide show
  1. package/bin/cli.js +219 -0
  2. package/package.json +25 -0
  3. package/templates/.gitattributes +14 -0
  4. package/templates/.github/workflows/ci.yml +27 -0
  5. package/templates/app-templates/backend-tempalte/.prettierrc +4 -0
  6. package/templates/app-templates/backend-tempalte/README.md +98 -0
  7. package/templates/app-templates/backend-tempalte/nest-cli.json +8 -0
  8. package/templates/app-templates/backend-tempalte/package.json.tmpl +41 -0
  9. package/templates/app-templates/backend-tempalte/src/app.controller.ts +12 -0
  10. package/templates/app-templates/backend-tempalte/src/app.module.ts +10 -0
  11. package/templates/app-templates/backend-tempalte/src/app.service.ts +8 -0
  12. package/templates/app-templates/backend-tempalte/src/main.ts +8 -0
  13. package/templates/app-templates/backend-tempalte/tsconfig.build.json +4 -0
  14. package/templates/app-templates/backend-tempalte/tsconfig.json +25 -0
  15. package/templates/app-templates/frontend-template/.prettierignore +4 -0
  16. package/templates/app-templates/frontend-template/.prettierrc +3 -0
  17. package/templates/app-templates/frontend-template/AGENTS.md +20 -0
  18. package/templates/app-templates/frontend-template/README.md +36 -0
  19. package/templates/app-templates/frontend-template/package.json.tmpl +36 -0
  20. package/templates/app-templates/frontend-template/public/favicon.png +0 -0
  21. package/templates/app-templates/frontend-template/rsbuild.config.ts +9 -0
  22. package/templates/app-templates/frontend-template/src/App.css +6 -0
  23. package/templates/app-templates/frontend-template/src/App.tsx +8 -0
  24. package/templates/app-templates/frontend-template/src/Layout.tsx +12 -0
  25. package/templates/app-templates/frontend-template/src/api/config.tsx +25 -0
  26. package/templates/app-templates/frontend-template/src/api/index.ts +0 -0
  27. package/templates/app-templates/frontend-template/src/env.d.ts +11 -0
  28. package/templates/app-templates/frontend-template/src/index.tsx +13 -0
  29. package/templates/app-templates/frontend-template/src/router/index.tsx +12 -0
  30. package/templates/app-templates/frontend-template/tsconfig.json +25 -0
  31. package/templates/common/config/rush/.npmrc-publish +26 -0
  32. package/templates/common/config/rush/.pnpmfile.cjs +38 -0
  33. package/templates/common/config/rush/artifactory.json +109 -0
  34. package/templates/common/config/rush/build-cache.json +160 -0
  35. package/templates/common/config/rush/cobuild.json +22 -0
  36. package/templates/common/config/rush/command-line.json +407 -0
  37. package/templates/common/config/rush/common-versions.json +77 -0
  38. package/templates/common/config/rush/custom-tips.json +29 -0
  39. package/templates/common/config/rush/experiments.json +121 -0
  40. package/templates/common/config/rush/pnpm-config.json +363 -0
  41. package/templates/common/config/rush/rush-plugins.json +29 -0
  42. package/templates/common/config/rush/subspaces.json +35 -0
  43. package/templates/common/config/rush/version-policies.json +102 -0
  44. package/templates/common/git-hooks/commit-msg.sample +25 -0
  45. package/templates/rush.json +444 -0
@@ -0,0 +1,407 @@
1
+ /**
2
+ * This configuration file defines custom commands for the "rush" command-line.
3
+ * More documentation is available on the Rush website: https://rushjs.io
4
+ */
5
+ {
6
+ "$schema": "https://developer.microsoft.com/json-schemas/rush/v5/command-line.schema.json",
7
+
8
+ /**
9
+ * Custom "commands" introduce new verbs for the command-line. To see the help for these
10
+ * example commands, try "rush --help", "rush my-bulk-command --help", or
11
+ * "rush my-global-command --help".
12
+ */
13
+ "commands": [
14
+ // {
15
+ // /**
16
+ // * (Required) Determines the type of custom command.
17
+ // * Rush's "bulk" commands are invoked separately for each project. By default, the command will run for
18
+ // * every project in the repo, according to the dependency graph (similar to how "rush build" works).
19
+ // * The set of projects can be restricted e.g. using the "--to" or "--from" parameters.
20
+ // */
21
+ // "commandKind": "bulk",
22
+ //
23
+ // /**
24
+ // * (Required) The name that will be typed as part of the command line. This is also the name
25
+ // * of the "scripts" hook in the project's package.json file (if "shellCommand" is not specified).
26
+ // *
27
+ // * The name should be comprised of lower case words separated by hyphens or colons. The name should include an
28
+ // * English verb (e.g. "deploy"). Use a hyphen to separate words (e.g. "upload-docs"). A group of related commands
29
+ // * can be prefixed with a colon (e.g. "docs:generate", "docs:deploy", "docs:serve", etc).
30
+ // *
31
+ // * Note that if the "rebuild" command is overridden here, it becomes separated from the "build" command
32
+ // * and will call the "rebuild" script instead of the "build" script.
33
+ // */
34
+ // "name": "my-bulk-command",
35
+ //
36
+ // /**
37
+ // * (Required) A short summary of the custom command to be shown when printing command line
38
+ // * help, e.g. "rush --help".
39
+ // */
40
+ // "summary": "Example bulk custom command",
41
+ //
42
+ // /**
43
+ // * A detailed description of the command to be shown when printing command line
44
+ // * help (e.g. "rush --help my-command").
45
+ // * If omitted, the "summary" text will be shown instead.
46
+ // *
47
+ // * Whenever you introduce commands/parameters, taking a little time to write meaningful
48
+ // * documentation can make a big difference for the developer experience in your repo.
49
+ // */
50
+ // "description": "This is an example custom command that runs separately for each project",
51
+ //
52
+ // /**
53
+ // * By default, Rush operations acquire a lock file which prevents multiple commands from executing simultaneously
54
+ // * in the same repo folder. (For example, it would be a mistake to run "rush install" and "rush build" at the
55
+ // * same time.) If your command makes sense to run concurrently with other operations,
56
+ // * set "safeForSimultaneousRushProcesses" to true to disable this protection.
57
+ // *
58
+ // * In particular, this is needed for custom scripts that invoke other Rush commands.
59
+ // */
60
+ // "safeForSimultaneousRushProcesses": false,
61
+ //
62
+ // /**
63
+ // * (Optional) If the `shellCommand` field is set for a bulk command, Rush will invoke it for each
64
+ // * selected project; otherwise, Rush will invoke the package.json `"scripts"` entry matching Rush command name.
65
+ // *
66
+ // * The string is the path to a script that will be invoked using the OS shell. The working directory will be
67
+ // * the folder that contains rush.json. If custom parameters are associated with this command, their
68
+ // * values will be appended to the end of this string.
69
+ // */
70
+ // // "shellCommand": "node common/scripts/my-bulk-command.js",
71
+ //
72
+ // /**
73
+ // * (Required) If true, then this command is safe to be run in parallel, i.e. executed
74
+ // * simultaneously for multiple projects. Similar to "rush build", regardless of parallelism
75
+ // * projects will not start processing until their dependencies have completed processing.
76
+ // */
77
+ // "enableParallelism": false,
78
+ //
79
+ // /**
80
+ // * Controls whether weighted operations can start when the total weight would exceed the limit
81
+ // * but is currently below the limit. This setting only applies when "enableParallelism" is true
82
+ // * and operations have a "weight" property configured in their rush-project.json "operationSettings".
83
+ // * Choose true (the default) to favor parallelism. Choose false to strictly stay under the limit.
84
+ // */
85
+ // "allowOversubscription": false,
86
+ //
87
+ // /**
88
+ // * Normally projects will be processed according to their dependency order: a given project will not start
89
+ // * processing the command until all of its dependencies have completed. This restriction doesn't apply for
90
+ // * certain operations, for example a "clean" task that deletes output files. In this case
91
+ // * you can set "ignoreDependencyOrder" to true to increase parallelism.
92
+ // */
93
+ // "ignoreDependencyOrder": false,
94
+ //
95
+ // /**
96
+ // * Normally Rush requires that each project's package.json has a "scripts" entry matching
97
+ // * the custom command name. To disable this check, set "ignoreMissingScript" to true;
98
+ // * projects with a missing definition will be skipped.
99
+ // */
100
+ // "ignoreMissingScript": false,
101
+ //
102
+ // /**
103
+ // * When invoking shell scripts, Rush uses a heuristic to distinguish errors from warnings:
104
+ // * - If the shell script returns a nonzero process exit code, Rush interprets this as "one or more errors".
105
+ // * Error output is displayed in red, and it prevents Rush from attempting to process any downstream projects.
106
+ // * - If the shell script returns a zero process exit code but writes something to its stderr stream,
107
+ // * Rush interprets this as "one or more warnings". Warning output is printed in yellow, but does NOT prevent
108
+ // * Rush from processing downstream projects.
109
+ // *
110
+ // * Thus, warnings do not interfere with local development, but they will cause a CI job to fail, because
111
+ // * the Rush process itself returns a nonzero exit code if there are any warnings or errors. This is by design.
112
+ // * In an active monorepo, we've found that if you allow any warnings in your main branch, it inadvertently
113
+ // * teaches developers to ignore warnings, which quickly leads to a situation where so many "expected" warnings
114
+ // * have accumulated that warnings no longer serve any useful purpose.
115
+ // *
116
+ // * Sometimes a poorly behaved task will write output to stderr even though its operation was successful.
117
+ // * In that case, it's strongly recommended to fix the task. However, as a workaround you can set
118
+ // * allowWarningsInSuccessfulBuild=true, which causes Rush to return a nonzero exit code for errors only.
119
+ // *
120
+ // * Note: The default value is false. In Rush 5.7.x and earlier, the default value was true.
121
+ // */
122
+ // "allowWarningsInSuccessfulBuild": false,
123
+ //
124
+ // /**
125
+ // * If true then this command will be incremental like the built-in "build" command
126
+ // */
127
+ // "incremental": false,
128
+ //
129
+ // /**
130
+ // * (EXPERIMENTAL) Normally Rush terminates after the command finishes. If this option is set to "true" Rush
131
+ // * will instead enter a loop where it watches the file system for changes to the selected projects. Whenever a
132
+ // * change is detected, the command will be invoked again for the changed project and any selected projects that
133
+ // * directly or indirectly depend on it.
134
+ // *
135
+ // * For details, refer to the website article "Using watch mode".
136
+ // */
137
+ // "watchForChanges": false,
138
+ //
139
+ // /**
140
+ // * (EXPERIMENTAL) Disable cache for this action. This may be useful if this command affects state outside of
141
+ // * projects' own folders.
142
+ // */
143
+ // "disableBuildCache": false
144
+ // },
145
+ //
146
+ // {
147
+ // /**
148
+ // * (Required) Determines the type of custom command.
149
+ // * Rush's "global" commands are invoked once for the entire repo.
150
+ // */
151
+ // "commandKind": "global",
152
+ //
153
+ // "name": "my-global-command",
154
+ // "summary": "Example global custom command",
155
+ // "description": "This is an example custom command that runs once for the entire repo",
156
+ //
157
+ // "safeForSimultaneousRushProcesses": false,
158
+ //
159
+ // /**
160
+ // * (Required) A script that will be invoked using the OS shell. The working directory will be
161
+ // * the folder that contains rush.json. If custom parameters are associated with this command, their
162
+ // * values will be appended to the end of this string.
163
+ // */
164
+ // "shellCommand": "node common/scripts/my-global-command.js",
165
+ //
166
+ // /**
167
+ // * If your "shellCommand" script depends on NPM packages, the recommended best practice is
168
+ // * to make it into a regular Rush project that builds using your normal toolchain. In cases where
169
+ // * the command needs to work without first having to run "rush build", the recommended practice
170
+ // * is to publish the project to an NPM registry and use common/scripts/install-run.js to launch it.
171
+ // *
172
+ // * Autoinstallers offer another possibility: They are folders under "common/autoinstallers" with
173
+ // * a package.json file and shrinkwrap file. Rush will automatically invoke the package manager to
174
+ // * install these dependencies before an associated command is invoked. Autoinstallers have the
175
+ // * advantage that they work even in a branch where "rush install" is broken, which makes them a
176
+ // * good solution for Git hook scripts. But they have the disadvantages of not being buildable
177
+ // * projects, and of increasing the overall installation footprint for your monorepo.
178
+ // *
179
+ // * The "autoinstallerName" setting must not contain a path and must be a valid NPM package name.
180
+ // * For example, the name "my-task" would map to "common/autoinstallers/my-task/package.json", and
181
+ // * the "common/autoinstallers/my-task/node_modules/.bin" folder would be added to the shell PATH when
182
+ // * invoking the "shellCommand".
183
+ // */
184
+ // // "autoinstallerName": "my-task"
185
+ // }
186
+ ],
187
+
188
+ /**
189
+ * Custom "parameters" introduce new parameters for specified Rush command-line commands.
190
+ * For example, you might define a "--production" parameter for the "rush build" command.
191
+ */
192
+ "parameters": [
193
+ // {
194
+ // /**
195
+ // * (Required) Determines the type of custom parameter.
196
+ // * A "flag" is a custom command-line parameter whose presence acts as an on/off switch.
197
+ // */
198
+ // "parameterKind": "flag",
199
+ //
200
+ // /**
201
+ // * (Required) The long name of the parameter. It must be lower-case and use dash delimiters.
202
+ // */
203
+ // "longName": "--my-flag",
204
+ //
205
+ // /**
206
+ // * An optional alternative short name for the parameter. It must be a dash followed by a single
207
+ // * lower-case or upper-case letter, which is case-sensitive.
208
+ // *
209
+ // * NOTE: The Rush developers recommend that automation scripts should always use the long name
210
+ // * to improve readability. The short name is only intended as a convenience for humans.
211
+ // * The alphabet letters run out quickly, and are difficult to memorize, so *only* use
212
+ // * a short name if you expect the parameter to be needed very often in everyday operations.
213
+ // */
214
+ // "shortName": "-m",
215
+ //
216
+ // /**
217
+ // * (Required) A long description to be shown in the command-line help.
218
+ // *
219
+ // * Whenever you introduce commands/parameters, taking a little time to write meaningful
220
+ // * documentation can make a big difference for the developer experience in your repo.
221
+ // */
222
+ // "description": "A custom flag parameter that is passed to the scripts that are invoked when building projects",
223
+ //
224
+ // /**
225
+ // * (Required) A list of custom commands and/or built-in Rush commands that this parameter may
226
+ // * be used with. The parameter will be appended to the shell command that Rush invokes.
227
+ // */
228
+ // "associatedCommands": ["build", "rebuild"]
229
+ // },
230
+ //
231
+ // {
232
+ // /**
233
+ // * (Required) Determines the type of custom parameter.
234
+ // * A "string" is a custom command-line parameter whose argument is a single text string.
235
+ // */
236
+ // "parameterKind": "string",
237
+ // "longName": "--my-string",
238
+ // "description": "A custom string parameter for the \"my-global-command\" custom command",
239
+ //
240
+ // "associatedCommands": ["my-global-command"],
241
+ //
242
+ // "argumentName": "SOME_TEXT",
243
+ //
244
+ // /**
245
+ // * If true, this parameter must be included with the command. The default is false.
246
+ // */
247
+ // "required": false
248
+ // },
249
+ //
250
+ // {
251
+ // /**
252
+ // * (Required) Determines the type of custom parameter.
253
+ // * A "choice" is a custom command-line parameter whose argument must be chosen from a list of
254
+ // * allowable alternatives (similar to an enum).
255
+ // */
256
+ // "parameterKind": "choice",
257
+ // "longName": "--my-choice",
258
+ // "description": "A custom choice parameter for the \"my-global-command\" custom command",
259
+ //
260
+ // "associatedCommands": ["my-global-command"],
261
+ // "required": false,
262
+ //
263
+ // /**
264
+ // * If a "defaultValue" is specified, then if the Rush command line is invoked without
265
+ // * this parameter, it will be automatically added with the "defaultValue" as the argument.
266
+ // * The value must be one of the defined alternatives.
267
+ // */
268
+ // "defaultValue": "vanilla",
269
+ //
270
+ // /**
271
+ // * (Required) A list of alternative argument values that can be chosen for this parameter.
272
+ // */
273
+ // "alternatives": [
274
+ // {
275
+ // /**
276
+ // * A token that is one of the alternatives that can be used with the choice parameter,
277
+ // * e.g. "vanilla" in "--flavor vanilla".
278
+ // */
279
+ // "name": "vanilla",
280
+ //
281
+ // /**
282
+ // * A detailed description for the alternative that can be shown in the command-line help.
283
+ // *
284
+ // * Whenever you introduce commands/parameters, taking a little time to write meaningful
285
+ // * documentation can make a big difference for the developer experience in your repo.
286
+ // */
287
+ // "description": "Use the vanilla flavor"
288
+ // },
289
+ //
290
+ // {
291
+ // "name": "chocolate",
292
+ // "description": "Use the chocolate flavor"
293
+ // },
294
+ //
295
+ // {
296
+ // "name": "strawberry",
297
+ // "description": "Use the strawberry flavor"
298
+ // }
299
+ // ]
300
+ // },
301
+ //
302
+ // {
303
+ // /**
304
+ // * (Required) Determines the type of custom parameter.
305
+ // * An "integer" is a custom command-line parameter whose value is an integer number.
306
+ // */
307
+ // "parameterKind": "integer",
308
+ // "longName": "--my-integer",
309
+ // "description": "A custom integer parameter for the \"my-global-command\" custom command",
310
+ //
311
+ // "associatedCommands": ["my-global-command"],
312
+ // "argumentName": "SOME_NUMBER",
313
+ // "required": false
314
+ // },
315
+ //
316
+ // {
317
+ // /**
318
+ // * (Required) Determines the type of custom parameter.
319
+ // * An "integerList" is a custom command-line parameter whose argument is an integer.
320
+ // * The parameter can be specified multiple times to build a list.
321
+ // *
322
+ // * For example, if the parameter name is "--my-integer-list", then the custom command
323
+ // * might be invoked as
324
+ // * `rush my-global-command --my-integer-list 1 --my-integer-list 2 --my-integer-list 3`
325
+ // * and the parsed array would be [1,2,3].
326
+ // */
327
+ // "parameterKind": "integerList",
328
+ // "longName": "--my-integer-list",
329
+ // "description": "A custom integer list parameter for the \"my-global-command\" custom command",
330
+ //
331
+ // "associatedCommands": ["my-global-command"],
332
+ // "argumentName": "SOME_NUMBER",
333
+ // "required": false
334
+ // },
335
+ //
336
+ // {
337
+ // /**
338
+ // * (Required) Determines the type of custom parameter.
339
+ // * An "stringList" is a custom command-line parameter whose argument is a text string.
340
+ // * The parameter can be specified multiple times to build a list.
341
+ // *
342
+ // * For example, if the parameter name is "--my-string-list", then the custom command
343
+ // * might be invoked as
344
+ // * `rush my-global-command --my-string-list A --my-string-list B --my-string-list C`
345
+ // * and the parsed array would be [A,B,C].
346
+ // */
347
+ // "parameterKind": "stringList",
348
+ // "longName": "--my-string-list",
349
+ // "description": "A custom string list parameter for the \"my-global-command\" custom command",
350
+ //
351
+ // "associatedCommands": ["my-global-command"],
352
+ // "argumentName": "SOME_TEXT",
353
+ // "required": false
354
+ // },
355
+ //
356
+ // {
357
+ // /**
358
+ // * (Required) Determines the type of custom parameter.
359
+ // * A "choice" is a custom command-line parameter whose argument must be chosen from a list of
360
+ // * allowable alternatives (similar to an enum).
361
+ // * The parameter can be specified multiple times to build a list.
362
+ // *
363
+ // * For example, if the parameter name is "--my-choice-list", then the custom command
364
+ // * might be invoked as
365
+ // * `rush my-global-command --my-string-list vanilla --my-string-list chocolate`
366
+ // * and the parsed array would be [vanilla,chocolate].
367
+ // */
368
+ // "parameterKind": "choiceList",
369
+ // "longName": "--my-choice-list",
370
+ // "description": "A custom choice list parameter for the \"my-global-command\" custom command",
371
+ //
372
+ // "associatedCommands": ["my-global-command"],
373
+ // "required": false,
374
+ //
375
+ // /**
376
+ // * (Required) A list of alternative argument values that can be chosen for this parameter.
377
+ // */
378
+ // "alternatives": [
379
+ // {
380
+ // /**
381
+ // * A token that is one of the alternatives that can be used with the choice parameter,
382
+ // * e.g. "vanilla" in "--flavor vanilla".
383
+ // */
384
+ // "name": "vanilla",
385
+ //
386
+ // /**
387
+ // * A detailed description for the alternative that can be shown in the command-line help.
388
+ // *
389
+ // * Whenever you introduce commands/parameters, taking a little time to write meaningful
390
+ // * documentation can make a big difference for the developer experience in your repo.
391
+ // */
392
+ // "description": "Use the vanilla flavor"
393
+ // },
394
+ //
395
+ // {
396
+ // "name": "chocolate",
397
+ // "description": "Use the chocolate flavor"
398
+ // },
399
+ //
400
+ // {
401
+ // "name": "strawberry",
402
+ // "description": "Use the strawberry flavor"
403
+ // }
404
+ // ]
405
+ // }
406
+ ]
407
+ }
@@ -0,0 +1,77 @@
1
+ /**
2
+ * This configuration file specifies NPM dependency version selections that affect all projects
3
+ * in a Rush repo. More documentation is available on the Rush website: https://rushjs.io
4
+ */
5
+ {
6
+ "$schema": "https://developer.microsoft.com/json-schemas/rush/v5/common-versions.schema.json",
7
+
8
+ /**
9
+ * A table that specifies a "preferred version" for a given NPM package. This feature is typically used
10
+ * to hold back an indirect dependency to a specific older version, or to reduce duplication of indirect dependencies.
11
+ *
12
+ * The "preferredVersions" value can be any SemVer range specifier (e.g. "~1.2.3"). Rush injects these values into
13
+ * the "dependencies" field of the top-level common/temp/package.json, which influences how the package manager
14
+ * will calculate versions. The specific effect depends on your package manager. Generally it will have no
15
+ * effect on an incompatible or already constrained SemVer range. If you are using PNPM, similar effects can be
16
+ * achieved using the pnpmfile.js hook. See the Rush documentation for more details.
17
+ *
18
+ * After modifying this field, it's recommended to run "rush update --full" so that the package manager
19
+ * will recalculate all version selections.
20
+ */
21
+ "preferredVersions": {
22
+ /**
23
+ * When someone asks for "^1.0.0" make sure they get "1.2.3" when working in this repo,
24
+ * instead of the latest version.
25
+ */
26
+ // "some-library": "1.2.3"
27
+ },
28
+
29
+ /**
30
+ * When set to true, for all projects in the repo, all dependencies will be automatically added as preferredVersions,
31
+ * except in cases where different projects specify different version ranges for a given dependency. For older
32
+ * package managers, this tended to reduce duplication of indirect dependencies. However, it can sometimes cause
33
+ * trouble for indirect dependencies with incompatible peerDependencies ranges.
34
+ *
35
+ * The default value is true. If you're encountering installation errors related to peer dependencies,
36
+ * it's recommended to set this to false.
37
+ *
38
+ * After modifying this field, it's recommended to run "rush update --full" so that the package manager
39
+ * will recalculate all version selections.
40
+ */
41
+ // "implicitlyPreferredVersions": false,
42
+
43
+ /**
44
+ * If you would like the version specifiers for your dependencies to be consistent, then
45
+ * uncomment this line. This is effectively similar to running "rush check" before any
46
+ * of the following commands:
47
+ *
48
+ * rush install, rush update, rush link, rush version, rush publish
49
+ *
50
+ * In some cases you may want this turned on, but need to allow certain packages to use a different
51
+ * version. In those cases, you will need to add an entry to the "allowedAlternativeVersions"
52
+ * section of the common-versions.json.
53
+ *
54
+ * In the case that subspaces is enabled, this setting will take effect at a subspace level.
55
+ */
56
+ // "ensureConsistentVersions": true,
57
+
58
+ /**
59
+ * The "rush check" command can be used to enforce that every project in the repo must specify
60
+ * the same SemVer range for a given dependency. However, sometimes exceptions are needed.
61
+ * The allowedAlternativeVersions table allows you to list other SemVer ranges that will be
62
+ * accepted by "rush check" for a given dependency.
63
+ *
64
+ * IMPORTANT: THIS TABLE IS FOR *ADDITIONAL* VERSION RANGES THAT ARE ALTERNATIVES TO THE
65
+ * USUAL VERSION (WHICH IS INFERRED BY LOOKING AT ALL PROJECTS IN THE REPO).
66
+ * This design avoids unnecessary churn in this file.
67
+ */
68
+ "allowedAlternativeVersions": {
69
+ /**
70
+ * For example, allow some projects to use an older TypeScript compiler
71
+ * (in addition to whatever "usual" version is being used by other projects in the repo):
72
+ */
73
+ // "typescript": [
74
+ // "~2.4.0"
75
+ // ]
76
+ }
77
+ }
@@ -0,0 +1,29 @@
1
+ /**
2
+ * This configuration file allows repo maintainers to configure extra details to be
3
+ * printed alongside certain Rush messages. More documentation is available on the
4
+ * Rush website: https://rushjs.io
5
+ */
6
+ {
7
+ "$schema": "https://developer.microsoft.com/json-schemas/rush/v5/custom-tips.schema.json",
8
+
9
+ /**
10
+ * Custom tips allow you to annotate Rush's console messages with advice tailored for
11
+ * your specific monorepo.
12
+ */
13
+ "customTips": [
14
+ // {
15
+ // /**
16
+ // * (REQUIRED) An identifier indicating a message that may be printed by Rush.
17
+ // * If that message is printed, then this custom tip will be shown.
18
+ // * The list of available tip identifiers can be found on this page:
19
+ // * https://rushjs.io/pages/maintainer/custom_tips/
20
+ // */
21
+ // "tipId": "TIP_RUSH_INCONSISTENT_VERSIONS",
22
+ //
23
+ // /**
24
+ // * (REQUIRED) The message text to be displayed for this tip.
25
+ // */
26
+ // "message": "For additional troubleshooting information, refer this wiki article:\n\nhttps://intranet.contoso.com/docs/pnpm-mismatch"
27
+ // }
28
+ ]
29
+ }
@@ -0,0 +1,121 @@
1
+ /**
2
+ * This configuration file allows repo maintainers to enable and disable experimental
3
+ * Rush features. More documentation is available on the Rush website: https://rushjs.io
4
+ */
5
+ {
6
+ "$schema": "https://developer.microsoft.com/json-schemas/rush/v5/experiments.schema.json",
7
+
8
+ /**
9
+ * By default, 'rush install' passes --no-prefer-frozen-lockfile to 'pnpm install'.
10
+ * Set this option to true to pass '--frozen-lockfile' instead for faster installs.
11
+ */
12
+ // "usePnpmFrozenLockfileForRushInstall": true,
13
+
14
+ /**
15
+ * By default, 'rush update' passes --no-prefer-frozen-lockfile to 'pnpm install'.
16
+ * Set this option to true to pass '--prefer-frozen-lockfile' instead to minimize shrinkwrap changes.
17
+ */
18
+ // "usePnpmPreferFrozenLockfileForRushUpdate": true,
19
+
20
+ /**
21
+ * By default, 'rush update' runs as a single operation.
22
+ * Set this option to true to instead update the lockfile with `--lockfile-only`, then perform a `--frozen-lockfile` install.
23
+ * Necessary when using the `afterAllResolved` hook in .pnpmfile.cjs.
24
+ */
25
+ // "usePnpmLockfileOnlyThenFrozenLockfileForRushUpdate": true,
26
+
27
+ /**
28
+ * If using the 'preventManualShrinkwrapChanges' option, restricts the hash to only include the layout of external dependencies.
29
+ * Used to allow links between workspace projects or the addition/removal of references to existing dependency versions to not
30
+ * cause hash changes.
31
+ */
32
+ // "omitImportersFromPreventManualShrinkwrapChanges": true,
33
+
34
+ /**
35
+ * If true, the chmod field in temporary project tar headers will not be normalized.
36
+ * This normalization can help ensure consistent tarball integrity across platforms.
37
+ */
38
+ // "noChmodFieldInTarHeaderNormalization": true,
39
+
40
+ /**
41
+ * If true, build caching will respect the allowWarningsInSuccessfulBuild flag and cache builds with warnings.
42
+ * This will not replay warnings from the cached build.
43
+ */
44
+ // "buildCacheWithAllowWarningsInSuccessfulBuild": true,
45
+
46
+ /**
47
+ * If true, build skipping will respect the allowWarningsInSuccessfulBuild flag and skip builds with warnings.
48
+ * This will not replay warnings from the skipped build.
49
+ */
50
+ // "buildSkipWithAllowWarningsInSuccessfulBuild": true,
51
+
52
+ /**
53
+ * If true, perform a clean install after when running `rush install` or `rush update` if the
54
+ * `.npmrc` file has changed since the last install.
55
+ */
56
+ // "cleanInstallAfterNpmrcChanges": true,
57
+
58
+ /**
59
+ * If true, print the outputs of shell commands defined in event hooks to the console.
60
+ */
61
+ // "printEventHooksOutputToConsole": true,
62
+
63
+ /**
64
+ * If true, Rush will not allow node_modules in the repo folder or in parent folders.
65
+ */
66
+ // "forbidPhantomResolvableNodeModulesFolders": true,
67
+
68
+ /**
69
+ * (UNDER DEVELOPMENT) For certain installation problems involving peer dependencies, PNPM cannot
70
+ * correctly satisfy versioning requirements without installing duplicate copies of a package inside the
71
+ * node_modules folder. This poses a problem for "workspace:*" dependencies, as they are normally
72
+ * installed by making a symlink to the local project source folder. PNPM's "injected dependencies"
73
+ * feature provides a model for copying the local project folder into node_modules, however copying
74
+ * must occur AFTER the dependency project is built and BEFORE the consuming project starts to build.
75
+ * The "pnpm-sync" tool manages this operation; see its documentation for details.
76
+ * Enable this experiment if you want "rush" and "rushx" commands to resync injected dependencies
77
+ * by invoking "pnpm-sync" during the build.
78
+ */
79
+ // "usePnpmSyncForInjectedDependencies": true,
80
+
81
+ /**
82
+ * If set to true, Rush will generate a `project-impact-graph.yaml` file in the repository root during `rush update`.
83
+ */
84
+ // "generateProjectImpactGraphDuringRushUpdate": true,
85
+
86
+ /**
87
+ * If true, when running in watch mode, Rush will check for phase scripts named `_phase:<name>:ipc` and run them instead
88
+ * of `_phase:<name>` if they exist. The created child process will be provided with an IPC channel and expected to persist
89
+ * across invocations.
90
+ */
91
+ // "useIPCScriptsInWatchMode": true,
92
+
93
+ /**
94
+ * (UNDER DEVELOPMENT) The Rush alerts feature provides a way to send announcements to engineers
95
+ * working in the monorepo, by printing directly in the user's shell window when they invoke Rush commands.
96
+ * This ensures that important notices will be seen by anyone doing active development, since people often
97
+ * ignore normal discussion group messages or don't know to subscribe.
98
+ */
99
+ // "rushAlerts": true,
100
+
101
+
102
+ /**
103
+ * When using cobuilds, this experiment allows uncacheable operations to benefit from cobuild orchestration without using the build cache.
104
+ */
105
+ // "allowCobuildWithoutCache": true,
106
+
107
+ /**
108
+ * By default, rush perform a full scan of the entire repository. For example, Rush runs `git status` to check for local file changes.
109
+ * When this toggle is enabled, Rush will only scan specific paths, significantly speeding up Git operations.
110
+ */
111
+ // "enableSubpathScan": true,
112
+
113
+ /**
114
+ * Rush has a policy that normally requires Rush projects to specify `workspace:*` in package.json when depending
115
+ * on other projects in the workspace, unless they are explicitly declared as `decoupledLocalDependencies`
116
+ * in rush.json. Enabling this experiment will remove that requirement for dependencies belonging to a different
117
+ * subspace. This is useful for large product groups who work in separate subspaces and generally prefer to consume
118
+ * each other's packages via the NPM registry.
119
+ */
120
+ // "exemptDecoupledDependenciesBetweenSubspaces": false
121
+ }