Skip to content

Commit

Permalink
feat(tools): implement prepare-initial-release generator (microsoft…
Browse files Browse the repository at this point in the history
…#28505)

* feat(tools): bootstrap release-package generator

* feat(tools): implement release-package generator

* feat(tools): implement AST construction of exports within suite on stable release

* refactor(tools): rename release-package to prepare-initial-release and add release cycle graph docs
  • Loading branch information
Hotell authored Jul 17, 2023
1 parent 0cfa8fd commit 3207513
Show file tree
Hide file tree
Showing 9 changed files with 931 additions and 4 deletions.
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@
"@nrwl/node": "15.9.4",
"@nrwl/workspace": "15.9.4",
"@octokit/rest": "18.12.0",
"@phenomnomnominal/tsquery": "6.1.2",
"@storybook/addon-a11y": "6.5.15",
"@storybook/addon-actions": "6.5.15",
"@storybook/addon-docs": "6.5.15",
Expand Down
85 changes: 85 additions & 0 deletions tools/generators/prepare-initial-release/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# prepare-initial-release

Workspace Generator which automates initial release process steps for `preview` and `stable` stages of core @fluentui (v9) packages.

### V9 Release process flow:

```mermaid
flowchart TB
subgraph IRP[1st release preparation for preview]
GP(nx prepare-initial-release --phase=preview)
RP(released to npm as v0.1.0)
GP--ci:npm publish-->RP
end
subgraph IRS[1st release preparation for stable]
GS(nx prepare-initial-release --phase=stable)
RS(released to npm as v9.0.0)
GS--ci:npm publish-->RS
end
subgraph KP[kickoff phase]
AA[bootstrap package]
AB[research]
AB[prototyping]
end
subgraph PP[preview phase]
BA[ongoing development]
BB[uses 0.x.x semver release pattern]
BC[released to npm as *-preview]
end
subgraph SP[stable phase]
CA[ongoing development]
CB[released as part of react-components suite]
CC[released to npm as stable 9.0.0]
end
KP-.->IRP-.->PP-.->IRS-.->SP
```

<!-- toc -->

- [Usage](#usage)
- [Examples](#examples)
- [Options](#options)
- [`project`](#project)
- [`phase`](#phase)

<!-- tocstop -->

## Usage

```sh
yarn nx workspace-generator prepare-initial-release ...
```

Show what will be generated without writing to disk:

```sh
yarn nx workspace-generator prepare-initial-release --dry-run
```

### Examples

```sh
yarn nx workspace-generator prepare-initial-release
```

## Options

#### `project`

Type: `string`

Library name to to be released.

#### `phase`

Type: `preview` | 'stable'

Phase of npm release life cycle for monorepo package
Loading

0 comments on commit 3207513

Please sign in to comment.