diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 70ec96b9db..a950a2dfce 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -927,4 +927,4 @@ jobs: uses: actions/upload-artifact@v4 with: name: TraceX-Linux - path: ./qms-desktop-package/deploy/TraceX-linux-*.zip \ No newline at end of file + path: ./qms-desktop-package/deploy/TraceX-linux-*.zip diff --git a/common/config/rush/.npmrc b/common/config/rush/.npmrc index 05fbfbb884..4bb3c57a4e 100644 --- a/common/config/rush/.npmrc +++ b/common/config/rush/.npmrc @@ -4,20 +4,30 @@ # # NOTE: The "rush publish" command uses .npmrc-publish instead. # -# Before invoking the package manager, Rush will copy this file to the folder where installation -# is performed. The copied file will omit any config lines that reference environment variables +# Before invoking the package manager, Rush will generate an .npmrc in the folder where installation +# is performed. This generated file will omit any config lines that reference environment variables # that are undefined in that session; this avoids problems that would otherwise result due to # a missing variable being replaced by an empty string. # +# If "subspacesEnabled" is true in subspaces.json, the generated file will merge settings from +# "common/config/rush/.npmrc" and "common/config/subspaces//.npmrc", with the latter taking +# precedence. +# # * * * SECURITY WARNING * * * # # It is NOT recommended to store authentication tokens in a text file on a lab machine, because -# other unrelated processes may be able to read the file. Also, the file may persist indefinitely, +# other unrelated processes may be able to read that file. Also, the file may persist indefinitely, # for example if the machine loses power. A safer practice is to pass the token via an # environment variable, which can be referenced from .npmrc using ${} expansion. For example: # # //registry.npmjs.org/:_authToken=${NPM_AUTH_TOKEN} # -registry=https://registry.npmjs.org/ -@hcengineering:registry=https://npm.pkg.github.com +# Explicitly specify the NPM registry that "rush install" and "rush update" will use by default: +registry=https://registry.npmjs.org/ + +# Optionally provide an authentication token for the above registry URL (if it is a private registry): +//registry.npmjs.org/:_authToken=${NPM_TOKEN} + +# Change this to "true" if your registry requires authentication for read-only operations: +always-auth=false diff --git a/common/config/rush/.npmrc-publish b/common/config/rush/.npmrc-publish index 7ab44c18d6..951a4918cf 100644 --- a/common/config/rush/.npmrc-publish +++ b/common/config/rush/.npmrc-publish @@ -18,3 +18,12 @@ # # //registry.npmjs.org/:_authToken=${NPM_AUTH_TOKEN} # + +# Explicitly specify the NPM registry that "rush publish" will use by default: +registry=https://registry.npmjs.org/ + +# Optionally provide an authentication token for the above registry URL (if it is a private registry): +//registry.npmjs.org/:_authToken=${NPM_TOKEN} + +# Change this to "true" if your registry requires authentication for read-only operations: +always-auth=false diff --git a/common/config/rush/artifactory.json b/common/config/rush/artifactory.json index 268065478a..685fda23c0 100644 --- a/common/config/rush/artifactory.json +++ b/common/config/rush/artifactory.json @@ -65,13 +65,11 @@ * "This monorepo consumes packages from an Artifactory private NPM registry." */ // "introduction": "", - /** * Overrides the message that normally says: * "Please contact the repository maintainers for help with setting up an Artifactory user account." */ // "obtainAnAccount": "", - /** * Overrides the message that normally says: * "Please open this URL in your web browser:" @@ -79,26 +77,22 @@ * The "artifactoryWebsiteUrl" string is printed after this message. */ // "visitWebsite": "", - /** * Overrides the message that normally says: * "Your user name appears in the upper-right corner of the JFrog website." */ // "locateUserName": "", - /** * Overrides the message that normally says: * "Click 'Edit Profile' on the JFrog website. Click the 'Generate API Key' * button if you haven't already done so previously." */ // "locateApiKey": "" - /** * Overrides the message that normally prompts: * "What is your Artifactory user name?" */ // "userNamePrompt": "" - /** * Overrides the message that normally prompts: * "What is your Artifactory API key?" diff --git a/common/config/rush/cobuild.json b/common/config/rush/cobuild.json new file mode 100644 index 0000000000..a47fad18d5 --- /dev/null +++ b/common/config/rush/cobuild.json @@ -0,0 +1,22 @@ +/** + * This configuration file manages Rush's cobuild feature. + * More documentation is available on the Rush website: https://rushjs.io + */ + { + "$schema": "https://developer.microsoft.com/json-schemas/rush/v5/cobuild.schema.json", + + /** + * (Required) EXPERIMENTAL - Set this to true to enable the cobuild feature. + * RUSH_COBUILD_CONTEXT_ID should always be specified as an environment variable with an non-empty string, + * otherwise the cobuild feature will be disabled. + */ + "cobuildFeatureEnabled": false, + + /** + * (Required) Choose where cobuild lock will be acquired. + * + * The lock provider is registered by the rush plugins. + * For example, @rushstack/rush-redis-cobuild-plugin registers the "redis" lock provider. + */ + "cobuildLockProvider": "redis" +} diff --git a/common/config/rush/custom-tips.json b/common/config/rush/custom-tips.json new file mode 100644 index 0000000000..31e540d6ad --- /dev/null +++ b/common/config/rush/custom-tips.json @@ -0,0 +1,29 @@ +/** + * This configuration file allows repo maintainers to configure extra details to be + * printed alongside certain Rush messages. More documentation is available on the + * Rush website: https://rushjs.io + */ +{ + "$schema": "https://developer.microsoft.com/json-schemas/rush/v5/custom-tips.schema.json", + + /** + * Custom tips allow you to annotate Rush's console messages with advice tailored for + * your specific monorepo. + */ + "customTips": [ + // { + // /** + // * (REQUIRED) An identifier indicating a message that may be printed by Rush. + // * If that message is printed, then this custom tip will be shown. + // * The list of available tip identifiers can be found on this page: + // * https://rushjs.io/pages/maintainer/custom_tips/ + // */ + // "tipId": "TIP_RUSH_INCONSISTENT_VERSIONS", + // + // /** + // * (REQUIRED) The message text to be displayed for this tip. + // */ + // "message": "For additional troubleshooting information, refer this wiki article:\n\nhttps://intranet.contoso.com/docs/pnpm-mismatch" + // } + ] +} diff --git a/common/config/rush/experiments.json b/common/config/rush/experiments.json index d5d905013f..a3433db121 100644 --- a/common/config/rush/experiments.json +++ b/common/config/rush/experiments.json @@ -3,7 +3,7 @@ * Rush features. More documentation is available on the Rush website: https://rushjs.io */ { - "$schema": "https://developer.microsoft.com/json-schemas/rush/v5/experiments.schema.json", + "$schema": "https://developer.microsoft.com/json-schemas/rush/v5/experiments.schema.json" /** * By default, 'rush install' passes --no-prefer-frozen-lockfile to 'pnpm install'. @@ -17,6 +17,13 @@ */ // "usePnpmPreferFrozenLockfileForRushUpdate": true, + /** + * By default, 'rush update' runs as a single operation. + * Set this option to true to instead update the lockfile with `--lockfile-only`, then perform a `--frozen-lockfile` install. + * Necessary when using the `afterAllResolved` hook in .pnpmfile.cjs. + */ + // "usePnpmLockfileOnlyThenFrozenLockfileForRushUpdate": true, + /** * If using the 'preventManualShrinkwrapChanges' option, restricts the hash to only include the layout of external dependencies. * Used to allow links between workspace projects or the addition/removal of references to existing dependency versions to not @@ -34,7 +41,13 @@ * If true, build caching will respect the allowWarningsInSuccessfulBuild flag and cache builds with warnings. * This will not replay warnings from the cached build. */ - "buildCacheWithAllowWarningsInSuccessfulBuild": true, + // "buildCacheWithAllowWarningsInSuccessfulBuild": true, + + /** + * If true, build skipping will respect the allowWarningsInSuccessfulBuild flag and skip builds with warnings. + * This will not replay warnings from the skipped build. + */ + // "buildSkipWithAllowWarningsInSuccessfulBuild": true, /** * If true, perform a clean install after when running `rush install` or `rush update` if the @@ -50,5 +63,58 @@ /** * If true, Rush will not allow node_modules in the repo folder or in parent folders. */ - // "forbidPhantomResolvableNodeModulesFolders": true + // "forbidPhantomResolvableNodeModulesFolders": true, + + /** + * (UNDER DEVELOPMENT) For certain installation problems involving peer dependencies, PNPM cannot + * correctly satisfy versioning requirements without installing duplicate copies of a package inside the + * node_modules folder. This poses a problem for "workspace:*" dependencies, as they are normally + * installed by making a symlink to the local project source folder. PNPM's "injected dependencies" + * feature provides a model for copying the local project folder into node_modules, however copying + * must occur AFTER the dependency project is built and BEFORE the consuming project starts to build. + * The "pnpm-sync" tool manages this operation; see its documentation for details. + * Enable this experiment if you want "rush" and "rushx" commands to resync injected dependencies + * by invoking "pnpm-sync" during the build. + */ + // "usePnpmSyncForInjectedDependencies": true, + + /** + * If set to true, Rush will generate a `project-impact-graph.yaml` file in the repository root during `rush update`. + */ + // "generateProjectImpactGraphDuringRushUpdate": true, + + /** + * If true, when running in watch mode, Rush will check for phase scripts named `_phase::ipc` and run them instead + * of `_phase:` if they exist. The created child process will be provided with an IPC channel and expected to persist + * across invocations. + */ + // "useIPCScriptsInWatchMode": true, + + /** + * (UNDER DEVELOPMENT) The Rush alerts feature provides a way to send announcements to engineers + * working in the monorepo, by printing directly in the user's shell window when they invoke Rush commands. + * This ensures that important notices will be seen by anyone doing active development, since people often + * ignore normal discussion group messages or don't know to subscribe. + */ + // "rushAlerts": true, + + /** + * When using cobuilds, this experiment allows uncacheable operations to benefit from cobuild orchestration without using the build cache. + */ + // "allowCobuildWithoutCache": true, + + /** + * By default, rush perform a full scan of the entire repository. For example, Rush runs `git status` to check for local file changes. + * When this toggle is enabled, Rush will only scan specific paths, significantly speeding up Git operations. + */ + // "enableSubpathScan": true, + + /** + * Rush has a policy that normally requires Rush projects to specify `workspace:*` in package.json when depending + * on other projects in the workspace, unless they are explicitly declared as `decoupledLocalDependencies` + * in rush.json. Enabling this experiment will remove that requirement for dependencies belonging to a different + * subspace. This is useful for large product groups who work in separate subspaces and generally prefer to consume + * each other's packages via the NPM registry. + */ + // "exemptDecoupledDependenciesBetweenSubspaces": false } diff --git a/common/config/rush/pnpm-config.json b/common/config/rush/pnpm-config.json new file mode 100644 index 0000000000..09324842f6 --- /dev/null +++ b/common/config/rush/pnpm-config.json @@ -0,0 +1,329 @@ +/** + * 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//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": false, + + /** + * 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": false, + + /** + * 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 } + } +} diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json new file mode 100644 index 0000000000..5cf866a708 --- /dev/null +++ b/common/config/rush/repo-state.json @@ -0,0 +1,2 @@ +// DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. +{} diff --git a/common/config/rush/subspaces.json b/common/config/rush/subspaces.json new file mode 100644 index 0000000000..d3c3ae8c51 --- /dev/null +++ b/common/config/rush/subspaces.json @@ -0,0 +1,35 @@ +/** + * This configuration file manages the experimental "subspaces" feature for Rush, + * which allows multiple PNPM lockfiles to be used in a single Rush workspace. + * For full documentation, please see https://rushjs.io + */ +{ + "$schema": "https://developer.microsoft.com/json-schemas/rush/v5/subspaces.schema.json", + + /** + * Set this flag to "true" to enable usage of subspaces. + */ + "subspacesEnabled": false, + + /** + * (DEPRECATED) This is a temporary workaround for migrating from an earlier prototype + * of this feature: https://github.com/microsoft/rushstack/pull/3481 + * It allows subspaces with only one project to store their config files in the project folder. + */ + "splitWorkspaceCompatibility": false, + + /** + * When a command such as "rush update" is invoked without the "--subspace" or "--to" + * parameters, Rush will install all subspaces. In a huge monorepo with numerous subspaces, + * this would be extremely slow. Set "preventSelectingAllSubspaces" to true to avoid this + * mistake by always requiring selection parameters for commands such as "rush update". + */ + "preventSelectingAllSubspaces": false, + + /** + * The list of subspace names, which should be lowercase alphanumeric words separated by + * hyphens, for example "my-subspace". The corresponding config files will have paths + * such as "common/config/subspaces/my-subspace/package-lock.yaml". + */ + "subspaceNames": [] +} diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index 6da276b059..e9b9022bfb 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -20,30 +20,30 @@ // * SemVer range is usually restricted to a single version. // */ // "definitionName": "lockStepVersion", - // + // // /** // * (Required) The name that will be used for the "versionPolicyName" field in rush.json. // * This name is also used command-line parameters such as "--version-policy" // * and "--to-version-policy". // */ // "policyName": "MyBigFramework", - // + // // /** // * (Required) The current version. All packages belonging to the set should have this version // * in the current branch. When bumping versions, Rush uses this to determine the next version. // * (The "version" field in package.json is NOT considered.) // */ // "version": "1.0.0", - // + // // /** // * (Required) The type of bump that will be performed when publishing the next release. // * When creating a release branch in Git, this field should be updated according to the // * type of release. // * - // * Valid values are: "prerelease", "minor", "patch", "major" + // * Valid values are: "prerelease", "preminor", "minor", "patch", "major" // */ // "nextBump": "prerelease", - // + // // /** // * (Optional) If specified, all packages in the set share a common CHANGELOG.md file. // * This file is stored with the specified "main" project, which must be a member of the set. @@ -52,7 +52,7 @@ // * package in the set. // */ // "mainProject": "my-app", - // + // // /** // * (Optional) If enabled, the "rush change" command will prompt the user for their email address // * and include it in the JSON change files. If an organization maintains multiple repos, tracking @@ -63,7 +63,7 @@ // */ // // "includeEmailInChangeFile": true // }, - // + // // { // /** // * (Required) Indicates the kind of version policy being defined ("lockStepVersion" or "individualVersion"). @@ -76,9 +76,9 @@ // * is changed. // */ // "definitionName": "individualVersion", - // + // // "policyName": "MyRandomLibraries", - // + // // /** // * (Optional) This can be used to enforce that all packages in the set must share a common // * major version number, e.g. because they are from the same major release branch. @@ -87,7 +87,7 @@ // * to the types of changes made to each project, according to the "rush change" command. // */ // "lockedMajor": 3, - // + // // /** // * (Optional) When publishing is managed by Rush, by default the "rush change" command will // * request changes for any projects that are modified by a pull request. These change entries @@ -96,7 +96,7 @@ // * belonging to this version policy. // */ // "exemptFromRushChange": false, - // + // // // "includeEmailInChangeFile": true // } ] diff --git a/packages/account-client/package.json b/packages/account-client/package.json index 4b011ae1a8..bc3c6b72b5 100644 --- a/packages/account-client/package.json +++ b/packages/account-client/package.json @@ -45,7 +45,7 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" }, "exports": { ".": { diff --git a/packages/analytics-providers/package.json b/packages/analytics-providers/package.json index 4f71a822fe..b8e3ff3fb9 100644 --- a/packages/analytics-providers/package.json +++ b/packages/analytics-providers/package.json @@ -52,7 +52,7 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" }, "exports": { ".": { diff --git a/packages/analytics-service/package.json b/packages/analytics-service/package.json index 0e9795cb6a..0dd58651e5 100644 --- a/packages/analytics-service/package.json +++ b/packages/analytics-service/package.json @@ -47,6 +47,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/packages/analytics/package.json b/packages/analytics/package.json index c789ca3578..ef7ed9beda 100644 --- a/packages/analytics/package.json +++ b/packages/analytics/package.json @@ -42,7 +42,7 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" }, "exports": { ".": { diff --git a/packages/api-client/package.json b/packages/api-client/package.json index 03b4f471d2..7169daa05d 100644 --- a/packages/api-client/package.json +++ b/packages/api-client/package.json @@ -62,7 +62,7 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" }, "optionalDependencies": { "ws": "^8.18.2" diff --git a/packages/billing-client/package.json b/packages/billing-client/package.json index 84b5f2d229..11ea787959 100644 --- a/packages/billing-client/package.json +++ b/packages/billing-client/package.json @@ -45,7 +45,7 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" }, "exports": { ".": { diff --git a/packages/collaborator-client/package.json b/packages/collaborator-client/package.json index 536b66ed3b..f8a6ea1693 100644 --- a/packages/collaborator-client/package.json +++ b/packages/collaborator-client/package.json @@ -44,7 +44,7 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" }, "exports": { ".": { diff --git a/packages/core/package.json b/packages/core/package.json index 46a5a62c9f..dca0881af8 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -46,7 +46,7 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" }, "exports": { ".": { diff --git a/packages/hls/package.json b/packages/hls/package.json index 0e2de14508..189e722f20 100644 --- a/packages/hls/package.json +++ b/packages/hls/package.json @@ -48,6 +48,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/packages/importer/package.json b/packages/importer/package.json index 0046b1de62..6e6ab06937 100644 --- a/packages/importer/package.json +++ b/packages/importer/package.json @@ -68,6 +68,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/packages/integration-client/package.json b/packages/integration-client/package.json index 786a20bb06..140fa83125 100644 --- a/packages/integration-client/package.json +++ b/packages/integration-client/package.json @@ -50,7 +50,7 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" }, "exports": { ".": { diff --git a/packages/kvs-client/package.json b/packages/kvs-client/package.json index b8cd145301..75b746329b 100644 --- a/packages/kvs-client/package.json +++ b/packages/kvs-client/package.json @@ -46,7 +46,7 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" }, "exports": { ".": { diff --git a/packages/measurements-otlp/package.json b/packages/measurements-otlp/package.json index 8ffa1ad9d2..79f67f2ae7 100644 --- a/packages/measurements-otlp/package.json +++ b/packages/measurements-otlp/package.json @@ -56,6 +56,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/packages/measurements/package.json b/packages/measurements/package.json index 56430b1497..9f78a24bd3 100644 --- a/packages/measurements/package.json +++ b/packages/measurements/package.json @@ -37,10 +37,9 @@ "ts-jest": "^29.1.1", "@types/jest": "^29.5.5" }, - "dependencies": {}, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" }, "exports": { ".": { diff --git a/packages/platform/package.json b/packages/platform/package.json index 761ecba1f7..02979f282b 100644 --- a/packages/platform/package.json +++ b/packages/platform/package.json @@ -41,7 +41,7 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" }, "exports": { ".": { diff --git a/packages/presentation/package.json b/packages/presentation/package.json index 7b9eabb4ca..62bd5e93cc 100644 --- a/packages/presentation/package.json +++ b/packages/presentation/package.json @@ -69,6 +69,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/packages/query/package.json b/packages/query/package.json index 63597eddb8..e2ba01e6f3 100644 --- a/packages/query/package.json +++ b/packages/query/package.json @@ -45,6 +45,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/packages/rank/package.json b/packages/rank/package.json index 484dfd0c19..071d93c1b8 100644 --- a/packages/rank/package.json +++ b/packages/rank/package.json @@ -42,6 +42,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/packages/retry/package.json b/packages/retry/package.json index 0dd36ddcc2..ee1c3d904a 100644 --- a/packages/retry/package.json +++ b/packages/retry/package.json @@ -32,6 +32,5 @@ "jest": "^29.7.0", "ts-jest": "^29.1.1", "@types/jest": "^29.5.5" - }, - "dependencies": {} + } } diff --git a/packages/text-core/package.json b/packages/text-core/package.json index 603d55534d..a97d00fb6f 100644 --- a/packages/text-core/package.json +++ b/packages/text-core/package.json @@ -44,7 +44,7 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" }, "exports": { ".": { diff --git a/packages/text-html/package.json b/packages/text-html/package.json index ad9476c63b..607baebcd5 100644 --- a/packages/text-html/package.json +++ b/packages/text-html/package.json @@ -42,7 +42,7 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" }, "exports": { ".": { diff --git a/packages/text-markdown/package.json b/packages/text-markdown/package.json index c28d8b4870..7fefc70f35 100644 --- a/packages/text-markdown/package.json +++ b/packages/text-markdown/package.json @@ -45,7 +45,7 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" }, "exports": { ".": { diff --git a/packages/text-ydoc/package.json b/packages/text-ydoc/package.json index d91b8aa17a..4f476f5423 100644 --- a/packages/text-ydoc/package.json +++ b/packages/text-ydoc/package.json @@ -46,6 +46,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/packages/text/package.json b/packages/text/package.json index e2e0a0fdc0..52f61e0605 100644 --- a/packages/text/package.json +++ b/packages/text/package.json @@ -81,7 +81,7 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" }, "exports": { ".": { diff --git a/packages/theme/package.json b/packages/theme/package.json index 1c56ff2b90..168635d0ef 100644 --- a/packages/theme/package.json +++ b/packages/theme/package.json @@ -42,6 +42,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/packages/ui/package.json b/packages/ui/package.json index 1afa72703c..bb8fc15c03 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -58,6 +58,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/achievement/package.json b/plugins/achievement/package.json index 4bd97879f0..7216f31f20 100644 --- a/plugins/achievement/package.json +++ b/plugins/achievement/package.json @@ -43,6 +43,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/activity/package.json b/plugins/activity/package.json index 39bc8049f3..bd43ca7a76 100644 --- a/plugins/activity/package.json +++ b/plugins/activity/package.json @@ -46,6 +46,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/attachment-resources/package.json b/plugins/attachment-resources/package.json index faba0935d5..af74a12989 100644 --- a/plugins/attachment-resources/package.json +++ b/plugins/attachment-resources/package.json @@ -62,6 +62,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/attachment/package.json b/plugins/attachment/package.json index a5364d0a59..c2b2c3f49a 100644 --- a/plugins/attachment/package.json +++ b/plugins/attachment/package.json @@ -45,6 +45,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/billing/package.json b/plugins/billing/package.json index 4c8f8b7994..60cadd196e 100644 --- a/plugins/billing/package.json +++ b/plugins/billing/package.json @@ -43,6 +43,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/bitrix-resources/package.json b/plugins/bitrix-resources/package.json index 733a6de47a..5cc7004ab6 100644 --- a/plugins/bitrix-resources/package.json +++ b/plugins/bitrix-resources/package.json @@ -63,6 +63,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/bitrix/package.json b/plugins/bitrix/package.json index 92ae8d77f0..bf72d2a58b 100644 --- a/plugins/bitrix/package.json +++ b/plugins/bitrix/package.json @@ -53,6 +53,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/board/package.json b/plugins/board/package.json index 729d676549..8161891583 100644 --- a/plugins/board/package.json +++ b/plugins/board/package.json @@ -48,6 +48,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/calendar/package.json b/plugins/calendar/package.json index 17564f071d..f0e95e09da 100644 --- a/plugins/calendar/package.json +++ b/plugins/calendar/package.json @@ -47,7 +47,7 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" }, "exports": { ".": { diff --git a/plugins/card/package.json b/plugins/card/package.json index 47f902f1bf..9b15a11e3b 100644 --- a/plugins/card/package.json +++ b/plugins/card/package.json @@ -45,6 +45,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/chat-assets/package.json b/plugins/chat-assets/package.json index c21aecb3da..5da8a5ced1 100644 --- a/plugins/chat-assets/package.json +++ b/plugins/chat-assets/package.json @@ -38,6 +38,6 @@ }, "repository": "https://github.com/hcenginneing/anticrm", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/chat/package.json b/plugins/chat/package.json index bd428bb5de..8f7726ed82 100644 --- a/plugins/chat/package.json +++ b/plugins/chat/package.json @@ -43,6 +43,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/chunter/package.json b/plugins/chunter/package.json index 8566bf80e0..265aeac4eb 100644 --- a/plugins/chunter/package.json +++ b/plugins/chunter/package.json @@ -49,6 +49,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/client-resources/package.json b/plugins/client-resources/package.json index f8874e7d3d..cfc88623e8 100644 --- a/plugins/client-resources/package.json +++ b/plugins/client-resources/package.json @@ -49,7 +49,7 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" }, "exports": { ".": { diff --git a/plugins/client/package.json b/plugins/client/package.json index 2626c653dc..345f99d8c2 100644 --- a/plugins/client/package.json +++ b/plugins/client/package.json @@ -42,7 +42,7 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" }, "exports": { ".": { diff --git a/plugins/contact/package.json b/plugins/contact/package.json index 502e30c8f5..703bb73909 100644 --- a/plugins/contact/package.json +++ b/plugins/contact/package.json @@ -54,6 +54,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/document/package.json b/plugins/document/package.json index 75fdfa44d8..4fbd047a2f 100644 --- a/plugins/document/package.json +++ b/plugins/document/package.json @@ -47,6 +47,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/drive/package.json b/plugins/drive/package.json index d401b88c9c..49671dfde3 100644 --- a/plugins/drive/package.json +++ b/plugins/drive/package.json @@ -44,6 +44,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/emoji/package.json b/plugins/emoji/package.json index 492aeed122..30a93718b1 100644 --- a/plugins/emoji/package.json +++ b/plugins/emoji/package.json @@ -46,6 +46,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/gmail/package.json b/plugins/gmail/package.json index 13b2f42c53..7d6c87d6ef 100644 --- a/plugins/gmail/package.json +++ b/plugins/gmail/package.json @@ -46,6 +46,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/hr/package.json b/plugins/hr/package.json index 8ba82b840d..30d0357e7f 100644 --- a/plugins/hr/package.json +++ b/plugins/hr/package.json @@ -45,6 +45,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/inventory/package.json b/plugins/inventory/package.json index 27d765582b..c528fb6183 100644 --- a/plugins/inventory/package.json +++ b/plugins/inventory/package.json @@ -42,6 +42,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/login/package.json b/plugins/login/package.json index bb28b6b31d..7c2f171be5 100644 --- a/plugins/login/package.json +++ b/plugins/login/package.json @@ -44,6 +44,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/love/package.json b/plugins/love/package.json index ec228e7315..3ca8317598 100644 --- a/plugins/love/package.json +++ b/plugins/love/package.json @@ -51,7 +51,7 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" }, "exports": { ".": { diff --git a/plugins/mail/package.json b/plugins/mail/package.json index c81bb17c7e..fab6661d38 100644 --- a/plugins/mail/package.json +++ b/plugins/mail/package.json @@ -43,6 +43,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/media/package.json b/plugins/media/package.json index 659226c431..84b73ab147 100644 --- a/plugins/media/package.json +++ b/plugins/media/package.json @@ -46,6 +46,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/notification/package.json b/plugins/notification/package.json index 98864b2d28..0673f509c3 100644 --- a/plugins/notification/package.json +++ b/plugins/notification/package.json @@ -50,6 +50,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/preference/package.json b/plugins/preference/package.json index 7c7737ea42..9bdfcdf808 100644 --- a/plugins/preference/package.json +++ b/plugins/preference/package.json @@ -43,6 +43,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/presence/package.json b/plugins/presence/package.json index 425e4716d8..138d42191f 100644 --- a/plugins/presence/package.json +++ b/plugins/presence/package.json @@ -44,6 +44,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/recorder/package.json b/plugins/recorder/package.json index 2a2f8a7a1c..331e12c490 100644 --- a/plugins/recorder/package.json +++ b/plugins/recorder/package.json @@ -45,6 +45,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/recruit/package.json b/plugins/recruit/package.json index c210ca58ac..22c5f8e075 100644 --- a/plugins/recruit/package.json +++ b/plugins/recruit/package.json @@ -49,6 +49,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/request/package.json b/plugins/request/package.json index b28b87efdb..895eb5c88a 100644 --- a/plugins/request/package.json +++ b/plugins/request/package.json @@ -45,6 +45,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/setting/package.json b/plugins/setting/package.json index 7387dd265f..de924fec94 100644 --- a/plugins/setting/package.json +++ b/plugins/setting/package.json @@ -45,6 +45,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/support-resources/package.json b/plugins/support-resources/package.json index 2a9ff39b8b..777333c7a3 100644 --- a/plugins/support-resources/package.json +++ b/plugins/support-resources/package.json @@ -45,6 +45,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/support/package.json b/plugins/support/package.json index f6b429fbc7..0b78c60c54 100644 --- a/plugins/support/package.json +++ b/plugins/support/package.json @@ -42,6 +42,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/survey-assets/package.json b/plugins/survey-assets/package.json index c5c7c2af16..3c50bc3e87 100644 --- a/plugins/survey-assets/package.json +++ b/plugins/survey-assets/package.json @@ -38,6 +38,6 @@ }, "repository": "https://github.com/hcenginneing/anticrm", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/survey/package.json b/plugins/survey/package.json index da98db0a86..5e144e942f 100644 --- a/plugins/survey/package.json +++ b/plugins/survey/package.json @@ -44,6 +44,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/tags/package.json b/plugins/tags/package.json index 04005b207d..21fe8e6b73 100644 --- a/plugins/tags/package.json +++ b/plugins/tags/package.json @@ -45,6 +45,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/task/package.json b/plugins/task/package.json index e209ef62bb..b7bd5047ac 100644 --- a/plugins/task/package.json +++ b/plugins/task/package.json @@ -47,6 +47,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/telegram/package.json b/plugins/telegram/package.json index 76bf331949..dfd0a67ad9 100644 --- a/plugins/telegram/package.json +++ b/plugins/telegram/package.json @@ -48,6 +48,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/templates/package.json b/plugins/templates/package.json index d433d062fb..a27a3e2a2c 100644 --- a/plugins/templates/package.json +++ b/plugins/templates/package.json @@ -43,6 +43,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/test-management/package.json b/plugins/test-management/package.json index 82cd985117..4d57bbce4f 100644 --- a/plugins/test-management/package.json +++ b/plugins/test-management/package.json @@ -51,6 +51,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/time/package.json b/plugins/time/package.json index bd2908c265..0eb702d3f5 100644 --- a/plugins/time/package.json +++ b/plugins/time/package.json @@ -47,6 +47,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/tracker/package.json b/plugins/tracker/package.json index df2c0eb75d..cb449ed39a 100644 --- a/plugins/tracker/package.json +++ b/plugins/tracker/package.json @@ -52,6 +52,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/uploader/package.json b/plugins/uploader/package.json index 824e90b1f4..417d601038 100644 --- a/plugins/uploader/package.json +++ b/plugins/uploader/package.json @@ -43,6 +43,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/view/package.json b/plugins/view/package.json index d357b615c7..92c4e51646 100644 --- a/plugins/view/package.json +++ b/plugins/view/package.json @@ -44,6 +44,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/plugins/workbench/package.json b/plugins/workbench/package.json index 948303a6fe..c7279a5986 100644 --- a/plugins/workbench/package.json +++ b/plugins/workbench/package.json @@ -46,6 +46,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/rush.json b/rush.json index 42a4cdaed0..eb3c826f4b 100644 --- a/rush.json +++ b/rush.json @@ -31,88 +31,6 @@ // "npmVersion": "4.5.0", // "yarnVersion": "1.9.4", - /** - * Options that are only used when the PNPM package manager is selected - */ - "pnpmOptions": { - /** - * 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 - * (e.g. bugs or incompatibilities when two repos use different releases of PNPM) - * - * RUSH_PNPM_STORE_PATH will override the directory that will be used as the store - * - * In all cases, the store path will be overridden by the environment variable RUSH_PNPM_STORE_PATH. - * - * The default value is "local". - */ - // "pnpmStore": "local", - - /** - * If true, then Rush will add the "--strict-peer-dependencies" option when invoking PNPM. - * This causes "rush install" 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.) - * - * The default value is false to avoid legacy compatibility issues. - * It is strongly recommended to set strictPeerDependencies=true. - */ - "strictPeerDependencies": false - - /** - * Configures the strategy used to select versions during installation. - * - * This feature requires PNPM version 3.1 or newer. It corresponds to the "--resolution-strategy" command-line - * option for PNPM. Possible values are "fast" and "fewer-dependencies". PNPM's default is "fast", but this may - * be incompatible with certain packages, for example the "@types" packages from DefinitelyTyped. Rush's default - * is "fewer-dependencies", which causes PNPM to avoid installing a newer version if an already installed version - * can be reused; this is more similar to NPM's algorithm. - * - * After modifying this field, it's recommended to run "rush update --full" so that the package manager - * will recalculate all version selections. - */ - // "resolutionStrategy": "fast", - - /** - * 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, - - /** - * If true, then `rush install` will use the PNPM workspaces feature to perform the - * install. - * - * This feature uses PNPM to perform the entire monorepo install. When using workspaces, Rush will - * generate a "pnpm-workspace.yaml" file referencing all local projects to install. Rush will - * also generate a "pnpmfile.js" which is used to provide preferred versions support. When install - * is run, this pnpmfile will be used to replace dependency version ranges with a smaller subset - * of the original range. If the preferred version is not fully a subset of the original version - * range, it will be left as-is. After this, the pnpmfile.js provided in the repository (if one - * exists) will be called to further modify package dependencies. - * - * This option is experimental. The default value is false. - */ - // "useWorkspaces": true - }, - /** * Older releases of the Node.js engine may be missing features required by your system. * Other releases may have bugs. In particular, the "latest" version will not be a @@ -124,7 +42,7 @@ * LTS schedule: https://nodejs.org/en/about/releases/ * LTS versions: https://nodejs.org/en/download/releases/ */ - "nodeSupportedVersionRange": ">=20.0.0 <23.0.0", + "nodeSupportedVersionRange": ">=20.0.0 <25.0.0", /** * Odd-numbered major versions of Node.js are experimental. Even-numbered releases @@ -137,7 +55,7 @@ * pre-LTS versions in preparation for supporting the first LTS version, you can use this setting * to disable Rush's warning. */ - // "suppressNodeLtsWarning": false, + "suppressNodeLtsWarning": true, /** * If you would like the version specifiers for your dependencies to be consistent, then @@ -150,7 +68,7 @@ * version. In those cases, you will need to add an entry to the "allowedAlternativeVersions" * section of the common-versions.json. */ - // "ensureConsistentVersions": true, + "ensureConsistentVersions": false, /** * Large monorepos can become intimidating for newcomers if project folder paths don't follow diff --git a/server/elastic/package.json b/server/elastic/package.json index 5757f0f657..e1da536b49 100644 --- a/server/elastic/package.json +++ b/server/elastic/package.json @@ -47,6 +47,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } } diff --git a/server/rpc/package.json b/server/rpc/package.json index c016b97d7a..a30e6202a2 100644 --- a/server/rpc/package.json +++ b/server/rpc/package.json @@ -44,7 +44,7 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" }, "exports": { ".": { diff --git a/server/token/package.json b/server/token/package.json index 8b217d9c4e..4795acbb4c 100644 --- a/server/token/package.json +++ b/server/token/package.json @@ -46,6 +46,6 @@ }, "repository": "https://github.com/hcengineering/platform", "publishConfig": { - "registry": "https://npm.pkg.github.com" + "access": "public" } }