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,363 @@
1
+ /**
2
+ * This configuration file provides settings specific to the PNPM package manager.
3
+ * More documentation is available on the Rush website: https://rushjs.io
4
+ *
5
+ * Rush normally looks for this file in `common/config/rush/pnpm-config.json`. However,
6
+ * if `subspacesEnabled` is true in subspaces.json, then Rush will instead first look
7
+ * for `common/config/subspaces/<name>/pnpm-config.json`. (If the file exists in both places,
8
+ * then the file under `common/config/rush` is ignored.)
9
+ */
10
+ {
11
+ "$schema": "https://developer.microsoft.com/json-schemas/rush/v5/pnpm-config.schema.json",
12
+
13
+ /**
14
+ * If true, then `rush install` and `rush update` will use the PNPM workspaces feature
15
+ * to perform the install, instead of the old model where Rush generated the symlinks
16
+ * for each projects's node_modules folder.
17
+ *
18
+ * When using workspaces, Rush will generate a `common/temp/pnpm-workspace.yaml` file referencing
19
+ * all local projects to install. Rush will also generate a `.pnpmfile.cjs` shim which implements
20
+ * Rush-specific features such as preferred versions. The user's `common/config/rush/.pnpmfile.cjs`
21
+ * is invoked by the shim.
22
+ *
23
+ * This option is strongly recommended. The default value is false.
24
+ */
25
+ "useWorkspaces": true,
26
+
27
+ /**
28
+ * This setting determines how PNPM chooses version numbers during `rush update`.
29
+ * For example, suppose `lib-x@3.0.0` depends on `"lib-y": "^1.2.3"` whose latest major
30
+ * releases are `1.8.9` and `2.3.4`. The resolution mode `lowest-direct` might choose
31
+ * `lib-y@1.2.3`, wheres `highest` will choose 1.8.9, and `time-based` will pick the
32
+ * highest compatible version at the time when `lib-x@3.0.0` itself was published (ensuring
33
+ * that the version could have been tested by the maintainer of "lib-x"). For local workspace
34
+ * projects, `time-based` instead works like `lowest-direct`, avoiding upgrades unless
35
+ * they are explicitly requested. Although `time-based` is the most robust option, it may be
36
+ * slightly slower with registries such as npmjs.com that have not implemented an optimization.
37
+ *
38
+ * IMPORTANT: Be aware that PNPM 8.0.0 initially defaulted to `lowest-direct` instead of
39
+ * `highest`, but PNPM reverted this decision in 8.6.12 because it caused confusion for users.
40
+ * Rush version 5.106.0 and newer avoids this confusion by consistently defaulting to
41
+ * `highest` when `resolutionMode` is not explicitly set in pnpm-config.json or .npmrc,
42
+ * regardless of your PNPM version.
43
+ *
44
+ * PNPM documentation: https://pnpm.io/npmrc#resolution-mode
45
+ *
46
+ * Possible values are: `highest`, `time-based`, and `lowest-direct`.
47
+ * The default is `highest`.
48
+ */
49
+ // "resolutionMode": "time-based",
50
+
51
+ /**
52
+ * This setting determines whether PNPM will automatically install (non-optional)
53
+ * missing peer dependencies instead of reporting an error. Doing so conveniently
54
+ * avoids the need to specify peer versions in package.json, but in a large monorepo
55
+ * this often creates worse problems. The reason is that peer dependency behavior
56
+ * is inherently complicated, and it is easier to troubleshoot consequences of an explicit
57
+ * version than an invisible heuristic. The original NPM RFC discussion pointed out
58
+ * some other problems with this feature: https://github.com/npm/rfcs/pull/43
59
+
60
+ * IMPORTANT: Without Rush, the setting defaults to true for PNPM 8 and newer; however,
61
+ * as of Rush version 5.109.0 the default is always false unless `autoInstallPeers`
62
+ * is specified in pnpm-config.json or .npmrc, regardless of your PNPM version.
63
+
64
+ * PNPM documentation: https://pnpm.io/npmrc#auto-install-peers
65
+
66
+ * The default value is false.
67
+ */
68
+ // "autoInstallPeers": false,
69
+
70
+ /**
71
+ * The minimum number of minutes that must pass after a version is published before pnpm will install it.
72
+ * This setting helps reduce the risk of installing compromised packages, as malicious releases are typically
73
+ * discovered and removed within a short time frame.
74
+ *
75
+ * For example, the following setting ensures that only packages released at least one day ago can be installed:
76
+ *
77
+ * "minimumReleaseAge": 1440
78
+ *
79
+ * (SUPPORTED ONLY IN PNPM 10.16.0 AND NEWER)
80
+ *
81
+ * PNPM documentation: https://pnpm.io/settings#minimumreleaseage
82
+ *
83
+ * The default value is 0 (disabled).
84
+ */
85
+ // "minimumReleaseAge": 1440,
86
+
87
+ /**
88
+ * An array of package names or patterns to exclude from the minimumReleaseAge check.
89
+ * This allows certain trusted packages to be installed immediately after publication.
90
+ * Patterns are supported using glob syntax (e.g., "@myorg/*" to exclude all packages from an organization).
91
+ *
92
+ * For example:
93
+ *
94
+ * "minimumReleaseAgeExclude": ["webpack", "react", "@myorg/*"]
95
+ *
96
+ * (SUPPORTED ONLY IN PNPM 10.16.0 AND NEWER)
97
+ *
98
+ * PNPM documentation: https://pnpm.io/settings#minimumreleaseageexclude
99
+ */
100
+ // "minimumReleaseAgeExclude": ["@myorg/*"],
101
+
102
+ /**
103
+ * If true, then Rush will add the `--strict-peer-dependencies` command-line parameter when
104
+ * invoking PNPM. This causes `rush update` to fail if there are unsatisfied peer dependencies,
105
+ * which is an invalid state that can cause build failures or incompatible dependency versions.
106
+ * (For historical reasons, JavaScript package managers generally do not treat this invalid
107
+ * state as an error.)
108
+ *
109
+ * PNPM documentation: https://pnpm.io/npmrc#strict-peer-dependencies
110
+ *
111
+ * The default value is false to avoid legacy compatibility issues.
112
+ * It is strongly recommended to set `strictPeerDependencies=true`.
113
+ */
114
+ // "strictPeerDependencies": true,
115
+
116
+ /**
117
+ * Environment variables that will be provided to PNPM.
118
+ */
119
+ // "environmentVariables": {
120
+ // "NODE_OPTIONS": {
121
+ // "value": "--max-old-space-size=4096",
122
+ // "override": false
123
+ // }
124
+ // },
125
+
126
+ /**
127
+ * Specifies the location of the PNPM store. There are two possible values:
128
+ *
129
+ * - `local` - use the `pnpm-store` folder in the current configured temp folder:
130
+ * `common/temp/pnpm-store` by default.
131
+ * - `global` - use PNPM's global store, which has the benefit of being shared
132
+ * across multiple repo folders, but the disadvantage of less isolation for builds
133
+ * (for example, bugs or incompatibilities when two repos use different releases of PNPM)
134
+ *
135
+ * In both cases, the store path can be overridden by the environment variable `RUSH_PNPM_STORE_PATH`.
136
+ *
137
+ * The default value is `local`.
138
+ */
139
+ // "pnpmStore": "global",
140
+
141
+ /**
142
+ * If true, then `rush install` will report an error if manual modifications
143
+ * were made to the PNPM shrinkwrap file without running `rush update` afterwards.
144
+ *
145
+ * This feature protects against accidental inconsistencies that may be introduced
146
+ * if the PNPM shrinkwrap file (`pnpm-lock.yaml`) is manually edited. When this
147
+ * feature is enabled, `rush update` will append a hash to the file as a YAML comment,
148
+ * and then `rush update` and `rush install` will validate the hash. Note that this
149
+ * does not prohibit manual modifications, but merely requires `rush update` be run
150
+ * afterwards, ensuring that PNPM can report or repair any potential inconsistencies.
151
+ *
152
+ * To temporarily disable this validation when invoking `rush install`, use the
153
+ * `--bypass-policy` command-line parameter.
154
+ *
155
+ * The default value is false.
156
+ */
157
+ // "preventManualShrinkwrapChanges": true,
158
+
159
+ /**
160
+ * When a project uses `workspace:` to depend on another Rush project, PNPM normally installs
161
+ * it by creating a symlink under `node_modules`. This generally works well, but in certain
162
+ * cases such as differing `peerDependencies` versions, symlinking may cause trouble
163
+ * such as incorrectly satisfied versions. For such cases, the dependency can be declared
164
+ * as "injected", causing PNPM to copy its built output into `node_modules` like a real
165
+ * install from a registry. Details here: https://rushjs.io/pages/advanced/injected_deps/
166
+ *
167
+ * When using Rush subspaces, these sorts of versioning problems are much more likely if
168
+ * `workspace:` refers to a project from a different subspace. This is because the symlink
169
+ * would point to a separate `node_modules` tree installed by a different PNPM lockfile.
170
+ * A comprehensive solution is to enable `alwaysInjectDependenciesFromOtherSubspaces`,
171
+ * which automatically treats all projects from other subspaces as injected dependencies
172
+ * without having to manually configure them.
173
+ *
174
+ * NOTE: Use carefully -- excessive file copying can slow down the `rush install` and
175
+ * `pnpm-sync` operations if too many dependencies become injected.
176
+ *
177
+ * The default value is false.
178
+ */
179
+ // "alwaysInjectDependenciesFromOtherSubspaces": false,
180
+
181
+ /**
182
+ * Defines the policies to be checked for the `pnpm-lock.yaml` file.
183
+ */
184
+ "pnpmLockfilePolicies": {
185
+
186
+ /**
187
+ * This policy will cause "rush update" to report an error if `pnpm-lock.yaml` contains
188
+ * any SHA1 integrity hashes.
189
+ *
190
+ * For each NPM dependency, `pnpm-lock.yaml` normally stores an `integrity` hash. Although
191
+ * its main purpose is to detect corrupted or truncated network requests, this hash can also
192
+ * serve as a security fingerprint to protect against attacks that would substitute a
193
+ * malicious tarball, for example if a misconfigured .npmrc caused a machine to accidentally
194
+ * download a matching package name+version from npmjs.com instead of the private NPM registry.
195
+ * NPM originally used a SHA1 hash; this was insecure because an attacker can too easily craft
196
+ * a tarball with a matching fingerprint. For this reason, NPM later deprecated SHA1 and
197
+ * instead adopted a cryptographically strong SHA512 hash. Nonetheless, SHA1 hashes can
198
+ * occasionally reappear during "rush update", for example due to missing metadata fallbacks
199
+ * (https://github.com/orgs/pnpm/discussions/6194) or an incompletely migrated private registry.
200
+ * The `disallowInsecureSha1` policy prevents this, avoiding potential security/compliance alerts.
201
+ */
202
+ // "disallowInsecureSha1": {
203
+ // /**
204
+ // * Enables the "disallowInsecureSha1" policy. The default value is false.
205
+ // */
206
+ // "enabled": true,
207
+ //
208
+ // /**
209
+ // * In rare cases, a private NPM registry may continue to serve SHA1 hashes for very old
210
+ // * package versions, perhaps due to a caching issue or database migration glitch. To avoid
211
+ // * having to disable the "disallowInsecureSha1" policy for the entire monorepo, the problematic
212
+ // * package versions can be individually ignored. The "exemptPackageVersions" key is the
213
+ // * package name, and the array value lists exact version numbers to be ignored.
214
+ // */
215
+ // "exemptPackageVersions": {
216
+ // "example1": ["1.0.0"],
217
+ // "example2": ["2.0.0", "2.0.1"]
218
+ // }
219
+ // }
220
+ },
221
+
222
+ /**
223
+ * The "globalOverrides" setting provides a simple mechanism for overriding version selections
224
+ * for all dependencies of all projects in the monorepo workspace. The settings are copied
225
+ * into the `pnpm.overrides` field of the `common/temp/package.json` file that is generated
226
+ * by Rush during installation.
227
+ *
228
+ * Order of precedence: `.pnpmfile.cjs` has the highest precedence, followed by
229
+ * `unsupportedPackageJsonSettings`, `globalPeerDependencyRules`, `globalPackageExtensions`,
230
+ * and `globalOverrides` has lowest precedence.
231
+ *
232
+ * PNPM documentation: https://pnpm.io/package_json#pnpmoverrides
233
+ */
234
+ "globalOverrides": {
235
+ // "example1": "^1.0.0",
236
+ // "example2": "npm:@company/example2@^1.0.0"
237
+ },
238
+
239
+ /**
240
+ * The `globalPeerDependencyRules` setting provides various settings for suppressing validation errors
241
+ * that are reported during installation with `strictPeerDependencies=true`. The settings are copied
242
+ * into the `pnpm.peerDependencyRules` field of the `common/temp/package.json` file that is generated
243
+ * by Rush during installation.
244
+ *
245
+ * Order of precedence: `.pnpmfile.cjs` has the highest precedence, followed by
246
+ * `unsupportedPackageJsonSettings`, `globalPeerDependencyRules`, `globalPackageExtensions`,
247
+ * and `globalOverrides` has lowest precedence.
248
+ *
249
+ * https://pnpm.io/package_json#pnpmpeerdependencyrules
250
+ */
251
+ "globalPeerDependencyRules": {
252
+ // "ignoreMissing": ["@eslint/*"],
253
+ // "allowedVersions": { "react": "17" },
254
+ // "allowAny": ["@babel/*"]
255
+ },
256
+
257
+ /**
258
+ * The `globalPackageExtension` setting provides a way to patch arbitrary package.json fields
259
+ * for any PNPM dependency of the monorepo. The settings are copied into the `pnpm.packageExtensions`
260
+ * field of the `common/temp/package.json` file that is generated by Rush during installation.
261
+ * The `globalPackageExtension` setting has similar capabilities as `.pnpmfile.cjs` but without
262
+ * the downsides of an executable script (nondeterminism, unreliable caching, performance concerns).
263
+ *
264
+ * Order of precedence: `.pnpmfile.cjs` has the highest precedence, followed by
265
+ * `unsupportedPackageJsonSettings`, `globalPeerDependencyRules`, `globalPackageExtensions`,
266
+ * and `globalOverrides` has lowest precedence.
267
+ *
268
+ * PNPM documentation: https://pnpm.io/package_json#pnpmpackageextensions
269
+ */
270
+ "globalPackageExtensions": {
271
+ // "fork-ts-checker-webpack-plugin": {
272
+ // "dependencies": {
273
+ // "@babel/core": "1"
274
+ // },
275
+ // "peerDependencies": {
276
+ // "eslint": ">= 6"
277
+ // },
278
+ // "peerDependenciesMeta": {
279
+ // "eslint": {
280
+ // "optional": true
281
+ // }
282
+ // }
283
+ // }
284
+ },
285
+
286
+ /**
287
+ * The `globalNeverBuiltDependencies` setting suppresses the `preinstall`, `install`, and `postinstall`
288
+ * lifecycle events for the specified NPM dependencies. This is useful for scripts with poor practices
289
+ * such as downloading large binaries without retries or attempting to invoke OS tools such as
290
+ * a C++ compiler. (PNPM's terminology refers to these lifecycle events as "building" a package;
291
+ * it has nothing to do with build system operations such as `rush build` or `rushx build`.)
292
+ * The settings are copied into the `pnpm.neverBuiltDependencies` field of the `common/temp/package.json`
293
+ * file that is generated by Rush during installation.
294
+ *
295
+ * PNPM documentation: https://pnpm.io/package_json#pnpmneverbuiltdependencies
296
+ */
297
+ "globalNeverBuiltDependencies": [
298
+ // "fsevents"
299
+ ],
300
+
301
+ /**
302
+ * The `globalIgnoredOptionalDependencies` setting suppresses the installation of optional NPM
303
+ * dependencies specified in the list. This is useful when certain optional dependencies are
304
+ * not needed in your environment, such as platform-specific packages or dependencies that
305
+ * fail during installation but are not critical to your project.
306
+ * These settings are copied into the `pnpm.overrides` field of the `common/temp/package.json`
307
+ * file that is generated by Rush during installation, instructing PNPM to ignore the specified
308
+ * optional dependencies.
309
+ *
310
+ * PNPM documentation: https://pnpm.io/package_json#pnpmignoredoptionaldependencies
311
+ */
312
+ "globalIgnoredOptionalDependencies": [
313
+ // "fsevents"
314
+ ],
315
+
316
+ /**
317
+ * The `globalAllowedDeprecatedVersions` setting suppresses installation warnings for package
318
+ * versions that the NPM registry reports as being deprecated. This is useful if the
319
+ * deprecated package is an indirect dependency of an external package that has not released a fix.
320
+ * The settings are copied into the `pnpm.allowedDeprecatedVersions` field of the `common/temp/package.json`
321
+ * file that is generated by Rush during installation.
322
+ *
323
+ * PNPM documentation: https://pnpm.io/package_json#pnpmalloweddeprecatedversions
324
+ *
325
+ * If you are working to eliminate a deprecated version, it's better to specify `allowedDeprecatedVersions`
326
+ * in the package.json file for individual Rush projects.
327
+ */
328
+ "globalAllowedDeprecatedVersions": {
329
+ // "request": "*"
330
+ },
331
+
332
+
333
+ /**
334
+ * (THIS FIELD IS MACHINE GENERATED) The "globalPatchedDependencies" field is updated automatically
335
+ * by the `rush-pnpm patch-commit` command. It is a dictionary, where the key is an NPM package name
336
+ * and exact version, and the value is a relative path to the associated patch file.
337
+ *
338
+ * PNPM documentation: https://pnpm.io/package_json#pnpmpatcheddependencies
339
+ */
340
+ "globalPatchedDependencies": { },
341
+
342
+ /**
343
+ * (USE AT YOUR OWN RISK) This is a free-form property bag that will be copied into
344
+ * the `common/temp/package.json` file that is generated by Rush during installation.
345
+ * This provides a way to experiment with new PNPM features. These settings will override
346
+ * any other Rush configuration associated with a given JSON field except for `.pnpmfile.cjs`.
347
+ *
348
+ * USAGE OF THIS SETTING IS NOT SUPPORTED BY THE RUSH MAINTAINERS AND MAY CAUSE RUSH
349
+ * TO MALFUNCTION. If you encounter a missing PNPM setting that you believe should
350
+ * be supported, please create a GitHub issue or PR. Note that Rush does not aim to
351
+ * support every possible PNPM setting, but rather to promote a battle-tested installation
352
+ * strategy that is known to provide a good experience for large teams with lots of projects.
353
+ */
354
+ "unsupportedPackageJsonSettings": {
355
+ // "dependencies": {
356
+ // "not-a-good-practice": "*"
357
+ // },
358
+ // "scripts": {
359
+ // "do-something": "echo Also not a good practice"
360
+ // },
361
+ // "pnpm": { "futurePnpmFeature": true }
362
+ }
363
+ }
@@ -0,0 +1,29 @@
1
+ /**
2
+ * This configuration file manages Rush's plugin feature.
3
+ */
4
+ {
5
+ "$schema": "https://developer.microsoft.com/json-schemas/rush/v5/rush-plugins.schema.json",
6
+ "plugins": [
7
+ /**
8
+ * Each item configures a plugin to be loaded by Rush.
9
+ */
10
+ // {
11
+ // /**
12
+ // * The name of the NPM package that provides the plugin.
13
+ // */
14
+ // "packageName": "@scope/my-rush-plugin",
15
+ // /**
16
+ // * The name of the plugin. This can be found in the "pluginName"
17
+ // * field of the "rush-plugin-manifest.json" file in the NPM package folder.
18
+ // */
19
+ // "pluginName": "my-plugin-name",
20
+ // /**
21
+ // * The name of a Rush autoinstaller that will be used for installation, which
22
+ // * can be created using "rush init-autoinstaller". Add the plugin's NPM package
23
+ // * to the package.json "dependencies" of your autoinstaller, then run
24
+ // * "rush update-autoinstaller".
25
+ // */
26
+ // "autoinstallerName": "rush-plugins"
27
+ // }
28
+ ]
29
+ }
@@ -0,0 +1,35 @@
1
+ /**
2
+ * This configuration file manages the experimental "subspaces" feature for Rush,
3
+ * which allows multiple PNPM lockfiles to be used in a single Rush workspace.
4
+ * For full documentation, please see https://rushjs.io
5
+ */
6
+ {
7
+ "$schema": "https://developer.microsoft.com/json-schemas/rush/v5/subspaces.schema.json",
8
+
9
+ /**
10
+ * Set this flag to "true" to enable usage of subspaces.
11
+ */
12
+ "subspacesEnabled": false,
13
+
14
+ /**
15
+ * (DEPRECATED) This is a temporary workaround for migrating from an earlier prototype
16
+ * of this feature: https://github.com/microsoft/rushstack/pull/3481
17
+ * It allows subspaces with only one project to store their config files in the project folder.
18
+ */
19
+ "splitWorkspaceCompatibility": false,
20
+
21
+ /**
22
+ * When a command such as "rush update" is invoked without the "--subspace" or "--to"
23
+ * parameters, Rush will install all subspaces. In a huge monorepo with numerous subspaces,
24
+ * this would be extremely slow. Set "preventSelectingAllSubspaces" to true to avoid this
25
+ * mistake by always requiring selection parameters for commands such as "rush update".
26
+ */
27
+ "preventSelectingAllSubspaces": false,
28
+
29
+ /**
30
+ * The list of subspace names, which should be lowercase alphanumeric words separated by
31
+ * hyphens, for example "my-subspace". The corresponding config files will have paths
32
+ * such as "common/config/subspaces/my-subspace/package-lock.yaml".
33
+ */
34
+ "subspaceNames": []
35
+ }
@@ -0,0 +1,102 @@
1
+ /**
2
+ * This is configuration file is used for advanced publishing configurations with Rush.
3
+ * More documentation is available on the Rush website: https://rushjs.io
4
+ */
5
+
6
+ /**
7
+ * A list of version policy definitions. A "version policy" is a custom package versioning
8
+ * strategy that affects "rush change", "rush version", and "rush publish". The strategy applies
9
+ * to a set of projects that are specified using the "versionPolicyName" field in rush.json.
10
+ */
11
+ [
12
+ // {
13
+ // /**
14
+ // * (Required) Indicates the kind of version policy being defined ("lockStepVersion" or "individualVersion").
15
+ // *
16
+ // * The "lockStepVersion" mode specifies that the projects will use "lock-step versioning". This
17
+ // * strategy is appropriate for a set of packages that act as selectable components of a
18
+ // * unified product. The entire set of packages are always published together, and always share
19
+ // * the same NPM version number. When the packages depend on other packages in the set, the
20
+ // * SemVer range is usually restricted to a single version.
21
+ // */
22
+ // "definitionName": "lockStepVersion",
23
+ //
24
+ // /**
25
+ // * (Required) The name that will be used for the "versionPolicyName" field in rush.json.
26
+ // * This name is also used command-line parameters such as "--version-policy"
27
+ // * and "--to-version-policy".
28
+ // */
29
+ // "policyName": "MyBigFramework",
30
+ //
31
+ // /**
32
+ // * (Required) The current version. All packages belonging to the set should have this version
33
+ // * in the current branch. When bumping versions, Rush uses this to determine the next version.
34
+ // * (The "version" field in package.json is NOT considered.)
35
+ // */
36
+ // "version": "1.0.0",
37
+ //
38
+ // /**
39
+ // * (Required) The type of bump that will be performed when publishing the next release.
40
+ // * When creating a release branch in Git, this field should be updated according to the
41
+ // * type of release.
42
+ // *
43
+ // * Valid values are: "prerelease", "preminor", "minor", "patch", "major"
44
+ // */
45
+ // "nextBump": "prerelease",
46
+ //
47
+ // /**
48
+ // * (Optional) If specified, all packages in the set share a common CHANGELOG.md file.
49
+ // * This file is stored with the specified "main" project, which must be a member of the set.
50
+ // *
51
+ // * If this field is omitted, then a separate CHANGELOG.md file will be maintained for each
52
+ // * package in the set.
53
+ // */
54
+ // "mainProject": "my-app",
55
+ //
56
+ // /**
57
+ // * (Optional) If enabled, the "rush change" command will prompt the user for their email address
58
+ // * and include it in the JSON change files. If an organization maintains multiple repos, tracking
59
+ // * this contact information may be useful for a service that automatically upgrades packages and
60
+ // * needs to notify engineers whose change may be responsible for a downstream build break. It might
61
+ // * also be useful for crediting contributors. Rush itself does not do anything with the collected
62
+ // * email addresses. The default value is "false".
63
+ // */
64
+ // // "includeEmailInChangeFile": true
65
+ // },
66
+ //
67
+ // {
68
+ // /**
69
+ // * (Required) Indicates the kind of version policy being defined ("lockStepVersion" or "individualVersion").
70
+ // *
71
+ // * The "individualVersion" mode specifies that the projects will use "individual versioning".
72
+ // * This is the typical NPM model where each package has an independent version number
73
+ // * and CHANGELOG.md file. Although a single CI definition is responsible for publishing the
74
+ // * packages, they otherwise don't have any special relationship. The version bumping will
75
+ // * depend on how developers answer the "rush change" questions for each package that
76
+ // * is changed.
77
+ // */
78
+ // "definitionName": "individualVersion",
79
+ //
80
+ // "policyName": "MyRandomLibraries",
81
+ //
82
+ // /**
83
+ // * (Optional) This can be used to enforce that all packages in the set must share a common
84
+ // * major version number, e.g. because they are from the same major release branch.
85
+ // * It can also be used to discourage people from accidentally making "MAJOR" SemVer changes
86
+ // * inappropriately. The minor/patch version parts will be bumped independently according
87
+ // * to the types of changes made to each project, according to the "rush change" command.
88
+ // */
89
+ // "lockedMajor": 3,
90
+ //
91
+ // /**
92
+ // * (Optional) When publishing is managed by Rush, by default the "rush change" command will
93
+ // * request changes for any projects that are modified by a pull request. These change entries
94
+ // * will produce a CHANGELOG.md file. If you author your CHANGELOG.md manually or announce updates
95
+ // * in some other way, set "exemptFromRushChange" to true to tell "rush change" to ignore the projects
96
+ // * belonging to this version policy.
97
+ // */
98
+ // "exemptFromRushChange": false,
99
+ //
100
+ // // "includeEmailInChangeFile": true
101
+ // }
102
+ ]
@@ -0,0 +1,25 @@
1
+ #!/bin/sh
2
+ #
3
+ # This is an example Git hook for use with Rush. To enable this hook, rename this file
4
+ # to "commit-msg" and then run "rush install", which will copy it from common/git-hooks
5
+ # to the .git/hooks folder.
6
+ #
7
+ # TO LEARN MORE ABOUT GIT HOOKS
8
+ #
9
+ # The Git documentation is here: https://git-scm.com/docs/githooks
10
+ # Some helpful resources: https://githooks.com
11
+ #
12
+ # ABOUT THIS EXAMPLE
13
+ #
14
+ # The commit-msg hook is called by "git commit" with one argument, the name of the file
15
+ # that has the commit message. The hook should exit with non-zero status after issuing
16
+ # an appropriate message if it wants to stop the commit. The hook is allowed to edit
17
+ # the commit message file.
18
+
19
+ # This example enforces that commit message should contain a minimum amount of
20
+ # description text.
21
+ if [ `cat $1 | wc -w` -lt 3 ]; then
22
+ echo ""
23
+ echo "Invalid commit message: The message must contain at least 3 words."
24
+ exit 1
25
+ fi