Skip to content

Commit 0fc6bda

Browse files
authored
Merge pull request #2376 from microsoft/octogonz/rush-graduate-experimental
[rush] Remove the "experimental" label from "rush deploy" and "rush version"
2 parents 9d77271 + 161e3c0 commit 0fc6bda

File tree

6 files changed

+56
-43
lines changed

6 files changed

+56
-43
lines changed

apps/rush-lib/src/cli/actions/DeployAction.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ export class DeployAction extends BaseRushAction {
2424
super({
2525
actionName: 'deploy',
2626
summary:
27-
'(EXPERIMENTAL) Prepares a deployment by copying a subset of Rush projects and their dependencies' +
27+
'Prepares a deployment by copying a subset of Rush projects and their dependencies' +
2828
' to a target folder',
2929
documentation:
30-
'(EXPERIMENTAL) After building the repo, "rush deploy" can be used to prepare a deployment by copying' +
30+
'After building the repo, "rush deploy" can be used to prepare a deployment by copying' +
3131
' a subset of Rush projects and their dependencies to a target folder, which can then be uploaded to' +
3232
' a production server. The "rush deploy" behavior is specified by a scenario config file that must' +
3333
' be created first, using the "rush init-deploy" command.',

apps/rush-lib/src/cli/actions/InitDeployAction.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ export class InitDeployAction extends BaseRushAction {
2121
public constructor(parser: RushCommandLineParser) {
2222
super({
2323
actionName: 'init-deploy',
24-
summary: '(EXPERIMENTAL) Creates a deployment scenario config file for use with "rush deploy".',
24+
summary: 'Creates a deployment scenario config file for use with "rush deploy".',
2525
documentation:
26-
'(EXPERIMENTAL) Use this command to initialize a new scenario config file for use with "rush deploy".' +
26+
'Use this command to initialize a new scenario config file for use with "rush deploy".' +
2727
' The default filename is common/config/rush/deploy.json. However, if you need to manage multiple' +
2828
' deployments with different settings, you can use use "--scenario" to create additional config files.',
2929
parser

apps/rush-lib/src/cli/actions/ScanAction.ts

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,18 @@ export class ScanAction extends BaseConfiglessRushAction {
1515
public constructor(parser: RushCommandLineParser) {
1616
super({
1717
actionName: 'scan',
18-
summary: 'Scan the current project folder and display a report of imported packages.',
18+
summary:
19+
'When migrating projects into a Rush repo, this command is helpful for detecting' +
20+
' undeclared dependencies.',
1921
documentation:
20-
`The NPM system allows a project to import dependencies without explicitly` +
21-
` listing them in its package.json file. This is a dangerous practice, because` +
22-
` there is no guarantee you will get a compatible version. The "rush scan" command` +
23-
` reports a list of packages that are imported by your code, which you can` +
24-
` compare against your package.json file to find mistakes. It searches the "./src"` +
25-
` and "./lib" folders for typical import syntaxes such as "import __ from '__'",` +
26-
` "require('__')", "System.import('__'), etc. The results are only approximate,` +
27-
` but generally pretty accurate.`,
22+
`The Node.js module system allows a project to import NPM packages without explicitly` +
23+
` declaring them as dependencies in the package.json file. Such "phantom dependencies"` +
24+
` can cause problems. Rush and PNPM use symlinks specifically to protect against phantom dependencies.` +
25+
` These protections may cause runtime errors for existing projects when they are first migrated into` +
26+
` a Rush monorepo. The "rush scan" command is a handy tool for fixing these errors. It scans the "./src"` +
27+
` and "./lib" folders for import syntaxes such as "import __ from '__'", "require('__')",` +
28+
` and "System.import('__'). It prints a report of the referenced packages. This heuristic is` +
29+
` not perfect, but it can save a lot of time when migrating projects.`,
2830
safeForSimultaneousRushProcesses: true,
2931
parser
3032
});

apps/rush-lib/src/cli/actions/VersionAction.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,8 @@ export class VersionAction extends BaseRushAction {
3636
public constructor(parser: RushCommandLineParser) {
3737
super({
3838
actionName: 'version',
39-
summary: '(EXPERIMENTAL) Manage package versions in the repo.',
40-
documentation:
41-
'(EXPERIMENTAL) use this "rush version" command to ensure version policies and bump versions.',
39+
summary: 'Manage package versions in the repo.',
40+
documentation: 'use this "rush version" command to ensure version policies and bump versions.',
4241
parser
4342
});
4443
}

apps/rush-lib/src/cli/test/__snapshots__/CommandLineHelp.test.ts.snap

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,12 @@ Positional arguments:
2323
check Checks each project's package.json files and ensures
2424
that all dependencies are of the same version
2525
throughout the repository.
26-
deploy (EXPERIMENTAL) Prepares a deployment by copying a
27-
subset of Rush projects and their dependencies to a
28-
target folder
26+
deploy Prepares a deployment by copying a subset of Rush
27+
projects and their dependencies to a target folder
2928
init Initializes a new repository to be managed by Rush
3029
init-autoinstaller Initializes a new autoinstaller
31-
init-deploy (EXPERIMENTAL) Creates a deployment scenario config
32-
file for use with \\"rush deploy\\".
30+
init-deploy Creates a deployment scenario config file for use
31+
with \\"rush deploy\\".
3332
install Install package dependencies for all projects in the
3433
repo according to the shrinkwrap file
3534
link Create node_modules symlinks for all projects
@@ -38,16 +37,17 @@ Positional arguments:
3837
requests generated by \\"rush change\\".
3938
purge For diagnostic purposes, use this command to delete
4039
caches and other temporary files used by Rush
41-
scan Scan the current project folder and display a report
42-
of imported packages.
40+
scan When migrating projects into a Rush repo, this
41+
command is helpful for detecting undeclared
42+
dependencies.
4343
unlink Delete node_modules symlinks for all projects in the
4444
repo
4545
update Install package dependencies for all projects in the
4646
repo, and create or update the shrinkwrap file as
4747
needed
4848
update-autoinstaller
4949
Updates autoinstaller package dependenices
50-
version (EXPERIMENTAL) Manage package versions in the repo.
50+
version Manage package versions in the repo.
5151
import-strings Imports translated strings into each project.
5252
upload Uploads the built files to the server
5353
build Build all projects that haven't been built, or have
@@ -241,11 +241,11 @@ exports[`CommandLineHelp prints the help for each action: deploy 1`] = `
241241
[-t PATH] [--create-archive ARCHIVE_PATH]
242242
243243
244-
(EXPERIMENTAL) After building the repo, \\"rush deploy\\" can be used to prepare
245-
a deployment by copying a subset of Rush projects and their dependencies to a
246-
target folder, which can then be uploaded to a production server. The \\"rush
247-
deploy\\" behavior is specified by a scenario config file that must be created
248-
first, using the \\"rush init-deploy\\" command.
244+
After building the repo, \\"rush deploy\\" can be used to prepare a deployment by
245+
copying a subset of Rush projects and their dependencies to a target folder,
246+
which can then be uploaded to a production server. The \\"rush deploy\\" behavior
247+
is specified by a scenario config file that must be created first, using the
248+
\\"rush init-deploy\\" command.
249249
250250
Optional arguments:
251251
-h, --help Show this help message and exit.
@@ -372,10 +372,10 @@ Optional arguments:
372372
exports[`CommandLineHelp prints the help for each action: init-deploy 1`] = `
373373
"usage: rush init-deploy [-h] -p PROJECT_NAME [-s SCENARIO]
374374
375-
(EXPERIMENTAL) Use this command to initialize a new scenario config file for
376-
use with \\"rush deploy\\". The default filename is common/config/rush/deploy.
377-
json. However, if you need to manage multiple deployments with different
378-
settings, you can use use \\"--scenario\\" to create additional config files.
375+
Use this command to initialize a new scenario config file for use with \\"rush
376+
deploy\\". The default filename is common/config/rush/deploy.json. However, if
377+
you need to manage multiple deployments with different settings, you can use
378+
use \\"--scenario\\" to create additional config files.
379379
380380
Optional arguments:
381381
-h, --help Show this help message and exit.
@@ -657,14 +657,16 @@ Optional arguments:
657657
exports[`CommandLineHelp prints the help for each action: scan 1`] = `
658658
"usage: rush scan [-h]
659659
660-
The NPM system allows a project to import dependencies without explicitly
661-
listing them in its package.json file. This is a dangerous practice, because
662-
there is no guarantee you will get a compatible version. The \\"rush scan\\"
663-
command reports a list of packages that are imported by your code, which you
664-
can compare against your package.json file to find mistakes. It searches the
665-
\\"./src\\" and \\"./lib\\" folders for typical import syntaxes such as \\"import __
666-
from '__'\\", \\"require('__')\\", \\"System.import('__'), etc. The results are only
667-
approximate, but generally pretty accurate.
660+
The Node.js module system allows a project to import NPM packages without
661+
explicitly declaring them as dependencies in the package.json file. Such
662+
\\"phantom dependencies\\" can cause problems. Rush and PNPM use symlinks
663+
specifically to protect against phantom dependencies. These protections may
664+
cause runtime errors for existing projects when they are first migrated into
665+
a Rush monorepo. The \\"rush scan\\" command is a handy tool for fixing these
666+
errors. It scans the \\"./src\\" and \\"./lib\\" folders for import syntaxes such as
667+
\\"import __ from '__'\\", \\"require('__')\\", and \\"System.import('__'). It prints a
668+
report of the referenced packages. This heuristic is not perfect, but it can
669+
save a lot of time when migrating projects.
668670
669671
Optional arguments:
670672
-h, --help Show this help message and exit.
@@ -800,8 +802,7 @@ exports[`CommandLineHelp prints the help for each action: version 1`] = `
800802
[--override-bump BUMPTYPE] [--override-prerelease-id ID]
801803
802804
803-
(EXPERIMENTAL) use this \\"rush version\\" command to ensure version policies and
804-
bump versions.
805+
use this \\"rush version\\" command to ensure version policies and bump versions.
805806
806807
Optional arguments:
807808
-h, --help Show this help message and exit.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"changes": [
3+
{
4+
"packageName": "@microsoft/rush",
5+
"comment": "Remove the \"experimental\" label from some Rush commands that are now stable.",
6+
"type": "none"
7+
}
8+
],
9+
"packageName": "@microsoft/rush",
10+
"email": "[email protected]"
11+
}

0 commit comments

Comments
 (0)