Skip to content

Commit a106380

Browse files
committed
Merge branch 'main' of https://github.com/microsoft/rushstack into user/danade/MergeMain
2 parents 5d96f7a + 2f3aca6 commit a106380

File tree

659 files changed

+24366
-5029
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

659 files changed

+24366
-5029
lines changed

.devcontainer/devcontainer.json

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
2+
// README at: https://github.com/devcontainers/templates/tree/main/src/typescript-node
3+
{
4+
"name": "Node.js & TypeScript",
5+
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
6+
"image": "mcr.microsoft.com/devcontainers/typescript-node:0-16",
7+
"features": {
8+
"ghcr.io/devcontainers/features/github-cli:1": {},
9+
"ghcr.io/devcontainers/features/rust:1": {},
10+
"devwasm.azurecr.io/dev-wasm/dev-wasm-feature/rust-wasi:0": {}
11+
},
12+
13+
// Features to add to the dev container. More info: https://containers.dev/features.
14+
// "features": {},
15+
16+
// Use 'forwardPorts' to make a list of ports inside the container available locally.
17+
// "forwardPorts": [],
18+
19+
// Use 'postCreateCommand' to run commands after the container is created.
20+
"onCreateCommand": "/bin/bash ./.devcontainer/setup.sh",
21+
22+
// Configure tool-specific properties.
23+
"customizations": {
24+
"vscode": {
25+
"extensions": [
26+
"rust-lang.rust-analyzer",
27+
"bungcip.better-toml",
28+
"ms-vscode.cpptools",
29+
"GitHub.copilot",
30+
"dustypomerleau.rust-syntax",
31+
"serayuzgur.crates",
32+
"esbenp.prettier-vscode",
33+
"dbaeumer.vscode-eslint",
34+
"mutantdino.resourcemonitor",
35+
"DavidAnson.vscode-markdownlint"
36+
]
37+
}
38+
}
39+
40+
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
41+
// "remoteUser": "root"
42+
}

.devcontainer/setup.sh

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/usr/bin/env bash
2+
3+
echo "🚀 Setting up Rushstack codespace..."
4+
5+
# Set local git config
6+
echo "🔑 Setting up local git config..."
7+
git config --local user.email ${GITHUB_USER}@users.noreply.github.com
8+
git config --local user.name "$(git config --system user.name)"
9+
10+
# Install Rush and Heft Dependencies
11+
echo "📦 Installing Rush, Heft, & Prettier dependencies..."
12+
npm install -g @microsoft/rush @rushstack/heft prettier
13+
14+
# Install Rush Dependencies
15+
echo "📦 Installing monorepo dependencies..."
16+
rush install
17+
18+
echo "🚀 Codespace setup complete! "
19+
echo "🙏 Thank you for contributing to Rushstack! "

.github/CODEOWNERS

+21-14
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,24 @@
1-
.github/CODEOWNERS @iclanton @octogonz @patmill @apostolisms
2-
common/config/**/* @iclanton @octogonz @patmill @apostolisms
1+
.github/CODEOWNERS @iclanton @octogonz @apostolisms @D4N14L @dmichon-msft @patmill
2+
common/autoinstallers/**/* @iclanton @octogonz @apostolisms @D4N14L @dmichon-msft @patmill
3+
common/config/**/* @iclanton @octogonz @apostolisms @D4N14L @dmichon-msft @patmill
34

4-
common/reviews/**/* @iclanton @octogonz @apostolisms
5+
common/reviews/**/* @iclanton @octogonz @apostolisms @D4N14L @dmichon-msft
56

6-
apps/**/* @iclanton @octogonz @apostolisms @halfnibble @sachinjoseph @D4N14L
7-
build-tests/**/* @iclanton @octogonz @apostolisms @halfnibble @sachinjoseph @D4N14L
8-
core-build/**/* @iclanton @octogonz @apostolisms @halfnibble @sachinjoseph @D4N14L
9-
libraries/**/* @iclanton @octogonz @apostolisms @halfnibble @sachinjoseph @D4N14L
10-
stack/**/* @iclanton @octogonz @apostolisms @halfnibble @sachinjoseph @D4N14L
11-
webpack/**/* @iclanton @octogonz @apostolisms @halfnibble @sachinjoseph @D4N14L
12-
rush.json @iclanton @octogonz @apostolisms @halfnibble @sachinjoseph @D4N14L
13-
.gitattributes @iclanton @octogonz @apostolisms @halfnibble @sachinjoseph @D4N14L
14-
.gitignore @iclanton @octogonz @apostolisms @halfnibble @sachinjoseph @D4N14L
15-
README.md @iclanton @octogonz @apostolisms @halfnibble @sachinjoseph @D4N14L
7+
apps/**/* @iclanton @octogonz @apostolisms @D4N14L @dmichon-msft
8+
build-tests/**/* @iclanton @octogonz @apostolisms @D4N14L @dmichon-msft
9+
build-tests-samples/**/* @iclanton @octogonz @apostolisms @D4N14L @dmichon-msft
10+
eslint/**/* @iclanton @octogonz @apostolisms @D4N14L @dmichon-msft
11+
heft-plugins/**/* @iclanton @octogonz @apostolisms @D4N14L @dmichon-msft
12+
libraries/**/* @iclanton @octogonz @apostolisms @D4N14L @dmichon-msft
13+
repo-scripts/**/* @iclanton @octogonz @apostolisms @D4N14L @dmichon-msft
14+
rigs/**/* @iclanton @octogonz @apostolisms @D4N14L @dmichon-msft
15+
rush-plugins/**/* @iclanton @octogonz @apostolisms @D4N14L @dmichon-msft
16+
stack/**/* @iclanton @octogonz @apostolisms @D4N14L @dmichon-msft
17+
tutorials/**/* @iclanton @octogonz @apostolisms @D4N14L @dmichon-msft
18+
webpack/**/* @iclanton @octogonz @apostolisms @D4N14L @dmichon-msft @TheLarkInn
19+
rush.json @iclanton @octogonz @apostolisms @D4N14L @dmichon-msft
20+
.gitattributes @iclanton @octogonz @apostolisms @D4N14L @dmichon-msft
21+
.gitignore @iclanton @octogonz @apostolisms @D4N14L @dmichon-msft
22+
README.md @iclanton @octogonz @apostolisms @D4N14L @dmichon-msft
1623

17-
libraries/load-themed-styles/**/* @iclanton @octogonz @dzearing @apostolisms
24+
libraries/load-themed-styles/**/* @iclanton @octogonz @apostolisms @D4N14L @dmichon-msft @dzearing
+86
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
################################################################################
2+
# When pull requests are merged to the main branch, evaluate the pull request
3+
# body and file a documentation ticket against the rushstack-websites repo
4+
# with a corresponding documentation task.
5+
#
6+
# The pull request body must contain non-comment, non-whitespace text below
7+
# the "Impacted documentation" header in the PR template to file a
8+
# documentation ticket.
9+
################################################################################
10+
name: File Doc Tickets
11+
12+
on:
13+
pull_request:
14+
branches:
15+
- main
16+
types:
17+
- closed
18+
19+
jobs:
20+
file-tickets:
21+
name: File Tickets
22+
if: ${{ github.event.pull_request.merged }}
23+
runs-on: ubuntu-latest
24+
steps:
25+
- name: Use nodejs
26+
uses: actions/setup-node@v3
27+
with:
28+
node-version: 16
29+
- name: Parse PR body
30+
run: |
31+
cat <<-"EOF" > event.json
32+
${{ toJson(github.event) }}
33+
EOF
34+
35+
cat <<-"EOF" | node
36+
const fs = require('fs');
37+
38+
const EVENT_FILE = 'event.json';
39+
const RESULT_FILE = 'issue.md';
40+
const DELIMITER = '## Impacted documentation';
41+
42+
const event = JSON.parse(fs.readFileSync(EVENT_FILE, 'utf8'));
43+
const strippedBody = (event.pull_request.body || '').replace(/<!-+(.|\r|\n)+?-+>/g, '');
44+
const delimIndex = strippedBody.indexOf(DELIMITER);
45+
46+
if (delimIndex < 0) {
47+
console.log('No documentation tasks detected -- skipping doc ticket.');
48+
process.exit(0);
49+
}
50+
51+
const delimBody = strippedBody.substring(delimIndex + DELIMITER.length).trim();
52+
53+
if (delimBody.length === 0) {
54+
console.log('No documentation tasks detected -- skipping doc ticket.');
55+
process.exit(0);
56+
}
57+
58+
const quotedBody = delimBody.split('\n').map(line => `> ${line}`).join('\n');
59+
fs.writeFileSync(RESULT_FILE, [
60+
'### Summary',
61+
'',
62+
'Follow up on documentation tasks from ' + event.pull_request.html_url + '.',
63+
'',
64+
'### Details',
65+
'',
66+
'This ticket was generated automatically. Suggested documentation updates:',
67+
'',
68+
quotedBody,
69+
''
70+
].join('\n'), 'utf8');
71+
72+
EOF
73+
74+
if [ -f issue.md ]; then
75+
echo "FILE_TICKET=1" >> $GITHUB_ENV
76+
fi
77+
- name: File ticket
78+
if: ${{ env.FILE_TICKET == '1' }}
79+
uses: peter-evans/create-issue-from-file@af31b99c72f9e91877aea8a2d96fd613beafac84 # @v4 (locked)
80+
with:
81+
repository: microsoft/rushstack-websites
82+
token: '${{ secrets.RUSHSTACK_WEBSITES_TOKEN }}'
83+
title: '[doc] ${{ github.event.pull_request.title }}'
84+
content-filepath: ./issue.md
85+
labels: |
86+
automated

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ lib-amd
8383
lib-es6
8484
lib-esnext
8585
lib-commonjs
86+
lib-shim
8687
dist
8788
*.scss.ts
8889
*.sass.ts

README.md

+3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
The home for various projects maintained by the Rush Stack community, whose mission is to develop reusable tooling
1111
for large scale TypeScript monorepos.
1212

13+
[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=69618902&machine=standardLinux32gb&devcontainer_path=.devcontainer%2Fdevcontainer.json&location=WestUs2)
1314

1415
## Documentation Links
1516

@@ -90,6 +91,7 @@ These GitHub repositories provide supplementary resources for Rush Stack:
9091
| [/webpack/loader-raw-script](./webpack/loader-raw-script/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Floader-raw-script.svg)](https://badge.fury.io/js/%40rushstack%2Floader-raw-script) | [changelog](./webpack/loader-raw-script/CHANGELOG.md) | [@rushstack/loader-raw-script](https://www.npmjs.com/package/@rushstack/loader-raw-script) |
9192
| [/webpack/preserve-dynamic-require-plugin](./webpack/preserve-dynamic-require-plugin/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Fwebpack-preserve-dynamic-require-plugin.svg)](https://badge.fury.io/js/%40rushstack%2Fwebpack-preserve-dynamic-require-plugin) | [changelog](./webpack/preserve-dynamic-require-plugin/CHANGELOG.md) | [@rushstack/webpack-preserve-dynamic-require-plugin](https://www.npmjs.com/package/@rushstack/webpack-preserve-dynamic-require-plugin) |
9293
| [/webpack/set-webpack-public-path-plugin](./webpack/set-webpack-public-path-plugin/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Fset-webpack-public-path-plugin.svg)](https://badge.fury.io/js/%40rushstack%2Fset-webpack-public-path-plugin) | [changelog](./webpack/set-webpack-public-path-plugin/CHANGELOG.md) | [@rushstack/set-webpack-public-path-plugin](https://www.npmjs.com/package/@rushstack/set-webpack-public-path-plugin) |
94+
| [/webpack/webpack-embedded-dependencies-plugin](./webpack/webpack-embedded-dependencies-plugin/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Fwebpack-embedded-dependencies-plugin.svg)](https://badge.fury.io/js/%40rushstack%2Fwebpack-embedded-dependencies-plugin) | [changelog](./webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md) | [@rushstack/webpack-embedded-dependencies-plugin](https://www.npmjs.com/package/@rushstack/webpack-embedded-dependencies-plugin) |
9395
| [/webpack/webpack-plugin-utilities](./webpack/webpack-plugin-utilities/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Fwebpack-plugin-utilities.svg)](https://badge.fury.io/js/%40rushstack%2Fwebpack-plugin-utilities) | [changelog](./webpack/webpack-plugin-utilities/CHANGELOG.md) | [@rushstack/webpack-plugin-utilities](https://www.npmjs.com/package/@rushstack/webpack-plugin-utilities) |
9496
| [/webpack/webpack4-localization-plugin](./webpack/webpack4-localization-plugin/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Fwebpack4-localization-plugin.svg)](https://badge.fury.io/js/%40rushstack%2Fwebpack4-localization-plugin) | [changelog](./webpack/webpack4-localization-plugin/CHANGELOG.md) | [@rushstack/webpack4-localization-plugin](https://www.npmjs.com/package/@rushstack/webpack4-localization-plugin) |
9597
| [/webpack/webpack4-module-minifier-plugin](./webpack/webpack4-module-minifier-plugin/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Fwebpack4-module-minifier-plugin.svg)](https://badge.fury.io/js/%40rushstack%2Fwebpack4-module-minifier-plugin) | [changelog](./webpack/webpack4-module-minifier-plugin/CHANGELOG.md) | [@rushstack/webpack4-module-minifier-plugin](https://www.npmjs.com/package/@rushstack/webpack4-module-minifier-plugin) |
@@ -153,6 +155,7 @@ These GitHub repositories provide supplementary resources for Rush Stack:
153155
| [/build-tests/rush-project-change-analyzer-test](./build-tests/rush-project-change-analyzer-test/) | This is an example project that uses rush-lib's ProjectChangeAnalyzer to |
154156
| [/build-tests/set-webpack-public-path-plugin-webpack4-test](./build-tests/set-webpack-public-path-plugin-webpack4-test/) | Building this project tests the set-webpack-public-path-plugin using Webpack 4 |
155157
| [/build-tests/ts-command-line-test](./build-tests/ts-command-line-test/) | Building this project is a regression test for ts-command-line |
158+
| [/libraries/rush-themed-ui](./libraries/rush-themed-ui/) | Rush Component Library: a set of themed components for rush projects |
156159
| [/libraries/rushell](./libraries/rushell/) | Execute shell commands using a consistent syntax on every platform |
157160
| [/repo-scripts/doc-plugin-rush-stack](./repo-scripts/doc-plugin-rush-stack/) | API Documenter plugin used with the rushstack.io website |
158161
| [/repo-scripts/generate-api-docs](./repo-scripts/generate-api-docs/) | Used to generate API docs for the rushstack.io website |

0 commit comments

Comments
 (0)