mirror of
https://github.com/hcengineering/platform.git
synced 2026-09-06 01:37:42 +02:00
+1








98652c6476
* Add bump-changes * Add utility tests * Add utility tests * Bump to new version of esbuild and typescript * v0.7.3 * use platform rig 0.7.10 * upgrade: memory engine optimized; change name to (was recommended by Copilot and Onnikov, TODO: CHANGE CLIENT TOO!!!) Signed-off-by: Leonid Kaganov <lleo@lleo.me> * Fix rate limits bug * Bump versions * Fix lock file * Fix bug in queue cleanup * Add more tests for queue * Add api-test tests * Initial commit * Improve hierarchy + tests Add tests for hierarchy and few performance/memory optimizations. * Add more hierarchy tests * Move from Huly platform repository * Add docker tests setup * Fix test to be executed only once * Add connection tests * Fix package include source files * More tests * Create README.md * Fix pnpm lock * Fix packages publish * Remove broken tests * feat: adjust hulylake client for storage adapter Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * Fix export * Fix publish * Fix message update (#114) Signed-off-by: Kristina Fefelova <kristin.fefelova@gmail.com> * Bump version Signed-off-by: Kristina Fefelova <kristin.fefelova@gmail.com> * Bump versions Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * Fix lang store (#115) Signed-off-by: Kristina Fefelova <kristin.fefelova@gmail.com> * update hulylake client Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * Bump version Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * Add hulylake storage adapter Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * Bump version Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * fix validation issues Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * fix: do not fail on deseralization error and add logs Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * bump version -> 0.1.14 Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * fix collaboration test Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * Update prettier and new update-deps script Prettier + svelte support * fix unstable ydoc tests Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * Add tx ordering middleware * Fix ordering tests * Fix Kafka close of admin * Add tests for measurement and understand overhead * Fix not updated lock file * Fix update-deps * Fix update-deps * Use latest platform-rig * Fix deps * Add rush check to CI * Use latest versions * Bump versions * Fix lock file * validate json patch Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * bump version -> 0.1.15 Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * fix merge unit tests Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * Script to sync eslint deps * Fix deps * Fix tests * Fix platform-rig detection * Update to latest platform-rig * Update to latest platform rig and core * Bump typescript * Bump typescript * Rollback eslint plugins * Fix lock file * Bump platform-rig * Update to latest platform-rig * update to latest platform-rig * Allow to compile svelte files * Add ui-test component for checking compile * Fix log levels rename compile ui -> compile ui-esbuild * Fix build * Bump esbuild svelte version * Chore: use fixed versions in update-deps Signed-off-by: Alexey Zinoviev <alexey.zinoviev@xored.com> * Chore: commit changes Signed-off-by: Alexey Zinoviev <alexey.zinoviev@xored.com> * Update deps * Add tests for session manager * Fix txOrdering implementation * Bump ordering * Prevent metrics zero values in measure + Fix format svelte files * Revert update-deps script logic * v0.7.19 * update to latest platform-rig * Update deps * Fix pnpm * Session counters * Fix pnpm lock * Add storage client Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * Bump versions Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * fix versions Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * Bump core * Fix pnpm * Get rid of communication dependency * Add copilot memory file * Use proper name for instructions file * Fix instructions * Use domain instead of test name in gauges * Update instructions file * fix front service upload Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * remove incorrect test Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * Move packages to huly.core * Move packages to core, since they are not utils * Add global user profile Signed-off-by: Alexey Zinoviev <alexey.zinoviev@xored.com> * Fix lock file Signed-off-by: Alexey Zinoviev <alexey.zinoviev@xored.com> * Add support for memory limit check * Bump version * Fix pnpm * report more accurate upload progress Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * fic validation issues Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * Fix deps Signed-off-by: Kristina Fefelova <kristin.fefelova@gmail.com> * Move LowLevelStorage to server * Fix linting * Revert "Fix linting" This reverts commit54631d353e. * Revert "Move LowLevelStorage to server" This reverts commitaafb8f6f12. * feature: add regorus engine with permit file Signed-off-by: Leonid Kaganov <lleo@lleo.me> * Fix one second counters for memory usage * Fix kafka test * use fresh core * Version bump * fix: key parameter added Signed-off-by: Leonid Kaganov <lleo@lleo.me> * Fix readme and few author mistakes * Export domain schemas * Bump version * Tests (#117) Signed-off-by: Kristina Fefelova <kristin.fefelova@gmail.com> * Bump version Signed-off-by: Kristina Fefelova <kristin.fefelova@gmail.com> * feat: compact compact worker (#4) Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * bump version -> 0.1.16 Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * Add TypeIdentifier Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com> * Add change logs Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com> * rename send -> try_send Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * Bump Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com> * Fix pnpm lock Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com> * Add identifier middleware, bump core Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com> * Add subsciption methods to account client Signed-off-by: Alexey Zinoviev <alexey.zinoviev@xored.com> * Fix lock file Signed-off-by: Alexey Zinoviev <alexey.zinoviev@xored.com> * Fix reaction notification (#118) Signed-off-by: Kristina Fefelova <kristin.fefelova@gmail.com> * Bump version Signed-off-by: Kristina Fefelova <kristin.fefelova@gmail.com> * Improve find methods schemas to convert to valid types Signed-off-by: Nikolay Marchuk <nikolay.marchuk@hardcoreeng.com> * Add change description Signed-off-by: Nikolay Marchuk <nikolay.marchuk@hardcoreeng.com> * Do not transcode while recording Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * Open telemetry support Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * use proper content type in multipart upload Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * Bump versions Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * fix build (#26) Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * Fix peers (#120) Signed-off-by: Kristina Fefelova <kristin.fefelova@gmail.com> * Bump version Signed-off-by: Kristina Fefelova <kristin.fefelova@gmail.com> * Add ActivityCollaborativeChange Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com> * Update pnpm Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com> * Allow to suspend errors on with * Fix pnpm cache * update versions * v0.7.17 for all * v0.7.11 * v0.7.14 * remove arc from worker Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * bump version -> 0.1.17 Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * Rank for attributes Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com> * Update pnpm Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com> * Fix one second counters * Fix withContext and allow pass options * Fix formatting * Use updated deps * Bump versions * Update deps * Update deps to platform.core * add support for textColor mark Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * add support for textStyle mark Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * Bump versions Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * Bump versions again Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * Fix Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com> * Rework on second timers * fix merge of large blobs feched from s3 Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * bump version -> 0.1.18 Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * New subscription methods in account-client * Update lock file Signed-off-by: Alexey Zinoviev <alexey.zinoviev@xored.com> * Send error on find for wrong domain * Suspend connect custom errors events in traces * Bump client * Bump core * update deps * Fix lock file * Sorting for TypeIdentifier Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com> * Bump version Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com> * add workspace usage info Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * Bump versions Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * Improve pg security perfomance Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com> * Fix identifier middleware Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com> * Update TxAccessLevel interface Signed-off-by: Alexey Zinoviev <alexey.zinoviev@xored.com> * Allow guest to update its identities Signed-off-by: Alexey Zinoviev <alexey.zinoviev@xored.com> * Add password login locked platform status Signed-off-by: Alexey Zinoviev <alexey.zinoviev@xored.com> * Fix Uptrace normalizeMarkdown errors Signed-off-by: Artem Savchenko <armisav@gmail.com> * Add change log Signed-off-by: Artem Savchenko <armisav@gmail.com> * Add txMatch to permission Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com> * update pnpm lock Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com> * Bump Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com> * Fix permission middleware Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com> * Fix enum sorting Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com> * Enable formatting check Signed-off-by: Andrey Sobolev <haiodo@gmail.com> * Enable formatting check * Add change Signed-off-by: Andrey Sobolev <haiodo@gmail.com> * Fix Uptrace NaN error Signed-off-by: Artem Savchenko <armisav@gmail.com> * feature: removed actors, improved performance Signed-off-by: Leonid Kaganov <lleo@lleo.me> * feature: ping from server to clients added Signed-off-by: Leonid Kaganov <lleo@lleo.me> * feature: ping from server to clients added Signed-off-by: Leonid Kaganov <lleo@lleo.me> * Compress kafka messages and fix exception in findAll Signed-off-by: Artem Savchenko <armisav@gmail.com> * Bump versions Signed-off-by: Artem Savchenko <armisav@gmail.com> * Bump versions Signed-off-by: Artem Savchenko <armisav@gmail.com> * Rush change Signed-off-by: Artem Savchenko <armisav@gmail.com> * Fix compression param Signed-off-by: Artem Savchenko <armisav@gmail.com> * Trigger change Signed-off-by: Artem Savchenko <armisav@gmail.com> * Clean up Signed-off-by: Artem Savchenko <armisav@gmail.com> * Trigger change Signed-off-by: Artem Savchenko <armisav@gmail.com> * Bump markdown version Signed-off-by: Artem Savchenko <armisav@gmail.com> * Enable sub projects * Fix wrong double symbol scripts * Include foundation packages * Add support for custom exclude filters Add support for custom exclude filters - by Andrey Sobolev - haiodo@gmail.com Signed-off-by: Andrey Sobolev <haiodo@gmail.com> * Bump Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com> * Fix Uptrace filter is not a function error Signed-off-by: Artem Savchenko <armisav@gmail.com> * Sync versions Signed-off-by: Andrey Sobolev <haiodo@gmail.com> --------- Signed-off-by: Leonid Kaganov <lleo@lleo.me> Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> Signed-off-by: Kristina Fefelova <kristin.fefelova@gmail.com> Signed-off-by: Alexey Zinoviev <alexey.zinoviev@xored.com> Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com> Signed-off-by: Nikolay Marchuk <nikolay.marchuk@hardcoreeng.com> Signed-off-by: Artem Savchenko <armisav@gmail.com> Signed-off-by: Andrey Sobolev <haiodo@gmail.com> Co-authored-by: Leonid Kaganov <lleo@lleo.me> Co-authored-by: Alexander Onnikov <Alexander.Onnikov@xored.com> Co-authored-by: Alexander Onnikov <Alexander.Onnikov@gmail.com> Co-authored-by: Kristina <kristin.fefelova@gmail.com> Co-authored-by: Alexey Zinoviev <alexey.zinoviev@xored.com> Co-authored-by: Denis Bykhov <bykhov.denis@gmail.com> Co-authored-by: Nikolay Marchuk <nikolay.marchuk@hardcoreeng.com> Co-authored-by: Alexander Onnikov <aonnikov@hardcoreeng.com> Co-authored-by: Artem Savchenko <armisav@gmail.com>
332 lines
16 KiB
JSON
332 lines
16 KiB
JSON
/**
|
|
* This configuration file provides settings specific to the PNPM package manager.
|
|
* More documentation is available on the Rush website: https://rushjs.io
|
|
*
|
|
* Rush normally looks for this file in `common/config/rush/pnpm-config.json`. However,
|
|
* if `subspacesEnabled` is true in subspaces.json, then Rush will instead first look
|
|
* for `common/config/subspaces/<name>/pnpm-config.json`. (If the file exists in both places,
|
|
* then the file under `common/config/rush` is ignored.)
|
|
*/
|
|
{
|
|
"$schema": "https://developer.microsoft.com/json-schemas/rush/v5/pnpm-config.schema.json",
|
|
|
|
/**
|
|
* If true, then `rush install` and `rush update` will use the PNPM workspaces feature
|
|
* to perform the install, instead of the old model where Rush generated the symlinks
|
|
* for each projects's node_modules folder.
|
|
*
|
|
* When using workspaces, Rush will generate a `common/temp/pnpm-workspace.yaml` file referencing
|
|
* all local projects to install. Rush will also generate a `.pnpmfile.cjs` shim which implements
|
|
* Rush-specific features such as preferred versions. The user's `common/config/rush/.pnpmfile.cjs`
|
|
* is invoked by the shim.
|
|
*
|
|
* This option is strongly recommended. The default value is false.
|
|
*/
|
|
"useWorkspaces": true,
|
|
|
|
/**
|
|
* This setting determines how PNPM chooses version numbers during `rush update`.
|
|
* For example, suppose `lib-x@3.0.0` depends on `"lib-y": "^1.2.3"` whose latest major
|
|
* releases are `1.8.9` and `2.3.4`. The resolution mode `lowest-direct` might choose
|
|
* `lib-y@1.2.3`, wheres `highest` will choose 1.8.9, and `time-based` will pick the
|
|
* highest compatible version at the time when `lib-x@3.0.0` itself was published (ensuring
|
|
* that the version could have been tested by the maintainer of "lib-x"). For local workspace
|
|
* projects, `time-based` instead works like `lowest-direct`, avoiding upgrades unless
|
|
* they are explicitly requested. Although `time-based` is the most robust option, it may be
|
|
* slightly slower with registries such as npmjs.com that have not implemented an optimization.
|
|
*
|
|
* IMPORTANT: Be aware that PNPM 8.0.0 initially defaulted to `lowest-direct` instead of
|
|
* `highest`, but PNPM reverted this decision in 8.6.12 because it caused confusion for users.
|
|
* Rush version 5.106.0 and newer avoids this confusion by consistently defaulting to
|
|
* `highest` when `resolutionMode` is not explicitly set in pnpm-config.json or .npmrc,
|
|
* regardless of your PNPM version.
|
|
*
|
|
* PNPM documentation: https://pnpm.io/npmrc#resolution-mode
|
|
*
|
|
* Possible values are: `highest`, `time-based`, and `lowest-direct`.
|
|
* The default is `highest`.
|
|
*/
|
|
// "resolutionMode": "time-based",
|
|
|
|
/**
|
|
* This setting determines whether PNPM will automatically install (non-optional)
|
|
* missing peer dependencies instead of reporting an error. Doing so conveniently
|
|
* avoids the need to specify peer versions in package.json, but in a large monorepo
|
|
* this often creates worse problems. The reason is that peer dependency behavior
|
|
* is inherently complicated, and it is easier to troubleshoot consequences of an explicit
|
|
* version than an invisible heuristic. The original NPM RFC discussion pointed out
|
|
* some other problems with this feature: https://github.com/npm/rfcs/pull/43
|
|
|
|
* IMPORTANT: Without Rush, the setting defaults to true for PNPM 8 and newer; however,
|
|
* as of Rush version 5.109.0 the default is always false unless `autoInstallPeers`
|
|
* is specified in pnpm-config.json or .npmrc, regardless of your PNPM version.
|
|
|
|
* PNPM documentation: https://pnpm.io/npmrc#auto-install-peers
|
|
|
|
* The default value is false.
|
|
*/
|
|
// "autoInstallPeers": false,
|
|
|
|
/**
|
|
* If true, then Rush will add the `--strict-peer-dependencies` command-line parameter when
|
|
* invoking PNPM. This causes `rush update` to fail if there are unsatisfied peer dependencies,
|
|
* which is an invalid state that can cause build failures or incompatible dependency versions.
|
|
* (For historical reasons, JavaScript package managers generally do not treat this invalid
|
|
* state as an error.)
|
|
*
|
|
* PNPM documentation: https://pnpm.io/npmrc#strict-peer-dependencies
|
|
*
|
|
* The default value is false to avoid legacy compatibility issues.
|
|
* It is strongly recommended to set `strictPeerDependencies=true`.
|
|
*/
|
|
// "strictPeerDependencies": true,
|
|
|
|
/**
|
|
* Environment variables that will be provided to PNPM.
|
|
*/
|
|
// "environmentVariables": {
|
|
// "NODE_OPTIONS": {
|
|
// "value": "--max-old-space-size=4096",
|
|
// "override": false
|
|
// }
|
|
// },
|
|
|
|
/**
|
|
* Specifies the location of the PNPM store. There are two possible values:
|
|
*
|
|
* - `local` - use the `pnpm-store` folder in the current configured temp folder:
|
|
* `common/temp/pnpm-store` by default.
|
|
* - `global` - use PNPM's global store, which has the benefit of being shared
|
|
* across multiple repo folders, but the disadvantage of less isolation for builds
|
|
* (for example, bugs or incompatibilities when two repos use different releases of PNPM)
|
|
*
|
|
* In both cases, the store path can be overridden by the environment variable `RUSH_PNPM_STORE_PATH`.
|
|
*
|
|
* The default value is `local`.
|
|
*/
|
|
// "pnpmStore": "global",
|
|
|
|
/**
|
|
* If true, then `rush install` will report an error if manual modifications
|
|
* were made to the PNPM shrinkwrap file without running `rush update` afterwards.
|
|
*
|
|
* This feature protects against accidental inconsistencies that may be introduced
|
|
* if the PNPM shrinkwrap file (`pnpm-lock.yaml`) is manually edited. When this
|
|
* feature is enabled, `rush update` will append a hash to the file as a YAML comment,
|
|
* and then `rush update` and `rush install` will validate the hash. Note that this
|
|
* does not prohibit manual modifications, but merely requires `rush update` be run
|
|
* afterwards, ensuring that PNPM can report or repair any potential inconsistencies.
|
|
*
|
|
* To temporarily disable this validation when invoking `rush install`, use the
|
|
* `--bypass-policy` command-line parameter.
|
|
*
|
|
* The default value is false.
|
|
*/
|
|
// "preventManualShrinkwrapChanges": true,
|
|
|
|
/**
|
|
* When a project uses `workspace:` to depend on another Rush project, PNPM normally installs
|
|
* it by creating a symlink under `node_modules`. This generally works well, but in certain
|
|
* cases such as differing `peerDependencies` versions, symlinking may cause trouble
|
|
* such as incorrectly satisfied versions. For such cases, the dependency can be declared
|
|
* as "injected", causing PNPM to copy its built output into `node_modules` like a real
|
|
* install from a registry. Details here: https://rushjs.io/pages/advanced/injected_deps/
|
|
*
|
|
* When using Rush subspaces, these sorts of versioning problems are much more likely if
|
|
* `workspace:` refers to a project from a different subspace. This is because the symlink
|
|
* would point to a separate `node_modules` tree installed by a different PNPM lockfile.
|
|
* A comprehensive solution is to enable `alwaysInjectDependenciesFromOtherSubspaces`,
|
|
* which automatically treats all projects from other subspaces as injected dependencies
|
|
* without having to manually configure them.
|
|
*
|
|
* NOTE: Use carefully -- excessive file copying can slow down the `rush install` and
|
|
* `pnpm-sync` operations if too many dependencies become injected.
|
|
*
|
|
* The default value is false.
|
|
*/
|
|
// "alwaysInjectDependenciesFromOtherSubspaces": false,
|
|
|
|
/**
|
|
* Defines the policies to be checked for the `pnpm-lock.yaml` file.
|
|
*/
|
|
"pnpmLockfilePolicies": {
|
|
|
|
/**
|
|
* This policy will cause "rush update" to report an error if `pnpm-lock.yaml` contains
|
|
* any SHA1 integrity hashes.
|
|
*
|
|
* For each NPM dependency, `pnpm-lock.yaml` normally stores an `integrity` hash. Although
|
|
* its main purpose is to detect corrupted or truncated network requests, this hash can also
|
|
* serve as a security fingerprint to protect against attacks that would substitute a
|
|
* malicious tarball, for example if a misconfigured .npmrc caused a machine to accidentally
|
|
* download a matching package name+version from npmjs.com instead of the private NPM registry.
|
|
* NPM originally used a SHA1 hash; this was insecure because an attacker can too easily craft
|
|
* a tarball with a matching fingerprint. For this reason, NPM later deprecated SHA1 and
|
|
* instead adopted a cryptographically strong SHA512 hash. Nonetheless, SHA1 hashes can
|
|
* occasionally reappear during "rush update", for example due to missing metadata fallbacks
|
|
* (https://github.com/orgs/pnpm/discussions/6194) or an incompletely migrated private registry.
|
|
* The `disallowInsecureSha1` policy prevents this, avoiding potential security/compliance alerts.
|
|
*/
|
|
// "disallowInsecureSha1": {
|
|
// /**
|
|
// * Enables the "disallowInsecureSha1" policy. The default value is false.
|
|
// */
|
|
// "enabled": true,
|
|
//
|
|
// /**
|
|
// * In rare cases, a private NPM registry may continue to serve SHA1 hashes for very old
|
|
// * package versions, perhaps due to a caching issue or database migration glitch. To avoid
|
|
// * having to disable the "disallowInsecureSha1" policy for the entire monorepo, the problematic
|
|
// * package versions can be individually ignored. The "exemptPackageVersions" key is the
|
|
// * package name, and the array value lists exact version numbers to be ignored.
|
|
// */
|
|
// "exemptPackageVersions": {
|
|
// "example1": ["1.0.0"],
|
|
// "example2": ["2.0.0", "2.0.1"]
|
|
// }
|
|
// }
|
|
},
|
|
|
|
/**
|
|
* The "globalOverrides" setting provides a simple mechanism for overriding version selections
|
|
* for all dependencies of all projects in the monorepo workspace. The settings are copied
|
|
* into the `pnpm.overrides` field of the `common/temp/package.json` file that is generated
|
|
* by Rush during installation.
|
|
*
|
|
* Order of precedence: `.pnpmfile.cjs` has the highest precedence, followed by
|
|
* `unsupportedPackageJsonSettings`, `globalPeerDependencyRules`, `globalPackageExtensions`,
|
|
* and `globalOverrides` has lowest precedence.
|
|
*
|
|
* PNPM documentation: https://pnpm.io/package_json#pnpmoverrides
|
|
*/
|
|
"globalOverrides": {
|
|
// "example1": "^1.0.0",
|
|
// "example2": "npm:@company/example2@^1.0.0"
|
|
},
|
|
|
|
/**
|
|
* The `globalPeerDependencyRules` setting provides various settings for suppressing validation errors
|
|
* that are reported during installation with `strictPeerDependencies=true`. The settings are copied
|
|
* into the `pnpm.peerDependencyRules` field of the `common/temp/package.json` file that is generated
|
|
* by Rush during installation.
|
|
*
|
|
* Order of precedence: `.pnpmfile.cjs` has the highest precedence, followed by
|
|
* `unsupportedPackageJsonSettings`, `globalPeerDependencyRules`, `globalPackageExtensions`,
|
|
* and `globalOverrides` has lowest precedence.
|
|
*
|
|
* https://pnpm.io/package_json#pnpmpeerdependencyrules
|
|
*/
|
|
"globalPeerDependencyRules": {
|
|
// "ignoreMissing": ["@eslint/*"],
|
|
// "allowedVersions": { "react": "17" },
|
|
// "allowAny": ["@babel/*"]
|
|
},
|
|
|
|
/**
|
|
* The `globalPackageExtension` setting provides a way to patch arbitrary package.json fields
|
|
* for any PNPM dependency of the monorepo. The settings are copied into the `pnpm.packageExtensions`
|
|
* field of the `common/temp/package.json` file that is generated by Rush during installation.
|
|
* The `globalPackageExtension` setting has similar capabilities as `.pnpmfile.cjs` but without
|
|
* the downsides of an executable script (nondeterminism, unreliable caching, performance concerns).
|
|
*
|
|
* Order of precedence: `.pnpmfile.cjs` has the highest precedence, followed by
|
|
* `unsupportedPackageJsonSettings`, `globalPeerDependencyRules`, `globalPackageExtensions`,
|
|
* and `globalOverrides` has lowest precedence.
|
|
*
|
|
* PNPM documentation: https://pnpm.io/package_json#pnpmpackageextensions
|
|
*/
|
|
"globalPackageExtensions": {
|
|
// "fork-ts-checker-webpack-plugin": {
|
|
// "dependencies": {
|
|
// "@babel/core": "1"
|
|
// },
|
|
// "peerDependencies": {
|
|
// "eslint": ">= 6"
|
|
// },
|
|
// "peerDependenciesMeta": {
|
|
// "eslint": {
|
|
// "optional": true
|
|
// }
|
|
// }
|
|
// }
|
|
},
|
|
|
|
/**
|
|
* The `globalNeverBuiltDependencies` setting suppresses the `preinstall`, `install`, and `postinstall`
|
|
* lifecycle events for the specified NPM dependencies. This is useful for scripts with poor practices
|
|
* such as downloading large binaries without retries or attempting to invoke OS tools such as
|
|
* a C++ compiler. (PNPM's terminology refers to these lifecycle events as "building" a package;
|
|
* it has nothing to do with build system operations such as `rush build` or `rushx build`.)
|
|
* The settings are copied into the `pnpm.neverBuiltDependencies` field of the `common/temp/package.json`
|
|
* file that is generated by Rush during installation.
|
|
*
|
|
* PNPM documentation: https://pnpm.io/package_json#pnpmneverbuiltdependencies
|
|
*/
|
|
"globalNeverBuiltDependencies": [
|
|
// "fsevents"
|
|
],
|
|
|
|
/**
|
|
* The `globalIgnoredOptionalDependencies` setting suppresses the installation of optional NPM
|
|
* dependencies specified in the list. This is useful when certain optional dependencies are
|
|
* not needed in your environment, such as platform-specific packages or dependencies that
|
|
* fail during installation but are not critical to your project.
|
|
* These settings are copied into the `pnpm.overrides` field of the `common/temp/package.json`
|
|
* file that is generated by Rush during installation, instructing PNPM to ignore the specified
|
|
* optional dependencies.
|
|
*
|
|
* PNPM documentation: https://pnpm.io/package_json#pnpmignoredoptionaldependencies
|
|
*/
|
|
"globalIgnoredOptionalDependencies": [
|
|
// "fsevents"
|
|
],
|
|
|
|
/**
|
|
* The `globalAllowedDeprecatedVersions` setting suppresses installation warnings for package
|
|
* versions that the NPM registry reports as being deprecated. This is useful if the
|
|
* deprecated package is an indirect dependency of an external package that has not released a fix.
|
|
* The settings are copied into the `pnpm.allowedDeprecatedVersions` field of the `common/temp/package.json`
|
|
* file that is generated by Rush during installation.
|
|
*
|
|
* PNPM documentation: https://pnpm.io/package_json#pnpmalloweddeprecatedversions
|
|
*
|
|
* If you are working to eliminate a deprecated version, it's better to specify `allowedDeprecatedVersions`
|
|
* in the package.json file for individual Rush projects.
|
|
*/
|
|
"globalAllowedDeprecatedVersions": {
|
|
// "request": "*"
|
|
},
|
|
|
|
|
|
/**
|
|
* (THIS FIELD IS MACHINE GENERATED) The "globalPatchedDependencies" field is updated automatically
|
|
* by the `rush-pnpm patch-commit` command. It is a dictionary, where the key is an NPM package name
|
|
* and exact version, and the value is a relative path to the associated patch file.
|
|
*
|
|
* PNPM documentation: https://pnpm.io/package_json#pnpmpatcheddependencies
|
|
*/
|
|
"globalPatchedDependencies": { },
|
|
|
|
/**
|
|
* (USE AT YOUR OWN RISK) This is a free-form property bag that will be copied into
|
|
* the `common/temp/package.json` file that is generated by Rush during installation.
|
|
* This provides a way to experiment with new PNPM features. These settings will override
|
|
* any other Rush configuration associated with a given JSON field except for `.pnpmfile.cjs`.
|
|
*
|
|
* USAGE OF THIS SETTING IS NOT SUPPORTED BY THE RUSH MAINTAINERS AND MAY CAUSE RUSH
|
|
* TO MALFUNCTION. If you encounter a missing PNPM setting that you believe should
|
|
* be supported, please create a GitHub issue or PR. Note that Rush does not aim to
|
|
* support every possible PNPM setting, but rather to promote a battle-tested installation
|
|
* strategy that is known to provide a good experience for large teams with lots of projects.
|
|
*/
|
|
"unsupportedPackageJsonSettings": {
|
|
// "dependencies": {
|
|
// "not-a-good-practice": "*"
|
|
// },
|
|
// "scripts": {
|
|
// "do-something": "echo Also not a good practice"
|
|
// },
|
|
// "pnpm": { "futurePnpmFeature": true }
|
|
}
|
|
}
|